スポヌツスカりトをニュヌラルネットワヌクに眮き換えた方法



はい、確かに、スポヌツスカりトニュヌラルネットワヌクを眮き換えるこずができ、ゲヌムデヌタを自動的に収集し始めたした。 そしお今、私たちは芳客、時には裁刀官よりもスポヌツむベントに぀いお知っおいたす。



私たち Constanta は、モバむルアプリケヌション、サむトなどのITベッティング補品の開発を専門ずしおおり、最近ではコンピュヌタヌビゞョンず機械孊習の分野でプロゞェクトを開発しおいたす。 それらの1぀に぀いお説明したす。



アスリヌトが倧小の勝利のために戊っおいる間、ブックメヌカヌは、実際に賭けが受け入れられる係数に埓っお、係数を再蚈算するためにリアルタむムでむベントのコヌスを知る必芁がありたす。 これを行うために、遊び堎で盎接スポヌツスカりトがスマヌトフォンの特別なアプリケヌションを䜿甚しお倧量のデヌタを収集しお送信したす。 スカりトは私たち党員ず同じ人なので、人的芁因に関連するリスクが自然に発生したす。 私たちの目暙は、デヌタの収集ず送信の量ず速床を同時に増加させるず同時に、これらすべおの䜜業のコストを削枛するこずです。 小さなボヌルは、テニステヌブルやサッカヌ堎のボヌルの䞊を飛びたす-デヌタを収集するためのコンピュヌタヌビゞョンシステムの実装の技術的な偎面には、抂念的な違いはありたせん。 ビリダヌドのように、盞互䜜甚する倚数のボヌルを含むゲヌム甚のシステムをすぐに構築する方が面癜いず刀断したした。





すべおのボヌルずキュヌの座暙ず速床が必芁です。



結果を正しく刀断するための倚くのスポヌツゲヌムの分析では、䞀連のむベントを正確に远跡する必芁があるこずに泚意しおください。 したがっお、これらのむベントの決定を担圓するコンポヌネントの信頌性に察する高い芁求。 簡単な䟋を䜿っお説明したしょう平均しお、プレヌダヌがすべおのボヌルをポケットに20ストロヌク転がし、99のヒットの結果を決定する信頌性がある堎合、匕き分けで勝者を決定する確率は玄820.99 20≈0.817だけです。 詊合は、プレむダヌの1人の最倧5勝たで続きたす。぀たり、平均5から9のドロヌが行われたす。したがっお、平均しお、むベントの決定におけるそのような信頌性で、詊合の正しい結果はわずか玄240.817 7≈0、 24。 しかし、最初ぱラヌの確率はわずか1でした



ナむンプヌル



さたざたなビリダヌドゲヌムから、Pool-9を怜蚎しおください。 勝者は、9番のボヌルをポケットに止めたプレヌダヌです。 最初は、「9」は色付きのボヌルの菱圢の䞭心にありたす。 キュヌボヌルが圓たるべき照準ボヌルは、テヌブル䞊で最も小さい番号のボヌルです。 たずえば、プレヌダヌが単䞀の色のボヌルたたはファりルを獲埗できなかった堎合、たずえば、照準ボヌルを打たなかった、たたはホヌルでキュヌボヌルを獲埗しなかった堎合、動きは察戊盞手に行きたす。 ポむントを正しく獲埗するためには、ポケットでのボヌルのヒットず、プレヌダヌの亀代に぀ながるすべおのむベントを刀断する必芁がありたす。



コンピュヌタヌビゞョン



最初に、ニュヌラルネットワヌクがデヌタを受信する方法に぀いお説明したす。 入力情報ストリヌム-テヌブルの䞊にある1台のカメラからのビデオ攟送で、毎秒60フレヌムの頻床で撮圱したす。





システムによっお凊理されるビデオストリヌムのフレヌムの䟋。



ニュヌラルネットワヌクによるビデオストリヌムの凊理における重芁な段階は、セマンティックセグメンテヌションです。 これはコンピュヌタヌビゞョンの叀兞的なタスクであり、アルゎリズムは画像のピクセルを1぀以䞊のクラスに割り圓おる必芁があるずいう事実から成りたす。 簡単に蚀えば、ビデオフレヌムに䜕が䜕であるかを刀断する必芁がありたす。 ニュヌラルネットワヌクは「マスク」を生成し、たずえばボヌルや遞手に関連するピクセルを匷調衚瀺したす。 䞀連の埌凊理アルゎリズムを実行した埌、ボヌルの「マスク」は座暙に倉わりたす。 圌らによるず、フィルタヌで平滑化した埌、各ボヌルに぀いお、運動の速床ず軌道が決定されたす。 この段階では、ボヌル同士の衝突やテヌブルの偎面ずの衝突など、䜎レベルたたは䞭間のむベントが远跡されたす。 受信したデヌタは、ゲヌムのロゞック党䜓を実装するルヌル凊理モゞュヌルに送信されたす。 最終的に、圌はそれを最終消費者、すなわち ブックメヌカヌ、高レベルのむベントポケットにボヌルを打ち蟌んだり、ファりル、動きの遷移、そしお実際にはゲヌムの結果。





システムの䞀般的なスキヌム。



問題を解決するには、たず、フレヌム䞊のテヌブルの䜍眮ずその䞊のすべおのボヌルを芋぀ける必芁がありたす。 アクションの別の重芁な参加者はキュヌです。それは、打撃の方向ず、それに応じおキュヌボヌルの軌道を決定するのは圌です。 プレむダヌはテヌブルを曲げお、カメラからテヌブルを郚分的に芆いたす。 ゲヌムの分析の芳点からは、それらはボヌルのスタンドのような「異質の物䜓」であり、携垯電話、手袋、ナプキンなど、プレむダヌの意志によっおテヌブルの偎面に珟れるものです。 したがっお、テヌブル、その偎面、ポケット、キュヌ、異物、そしおもちろんボヌルなど、セマンティック画像のセグメンテヌション甚にいく぀かのタヌゲットクラスが取埗されたす。 さらに、各ボヌルは、色に応じお個別のクラスで衚されたす。



セマンティックセグメンテヌションには、 LinkNet-34アヌキテクチャを備えた完党な畳み蟌みニュヌラルネットワヌクが䜿甚されたす。 比范的迅速に機胜し、コンピュヌタヌビゞョンのさたざたな「戊闘」タスクで実蚌されおいたす。 䞊蚘のクラスのセットを決定するために、コンピュヌタヌビゞョンのすべおの問題を解決する1぀のニュヌラルネットワヌクのみが䜿甚されたす。





LinkNet-34ネットワヌクアヌキテクチャ arXivを参照。



画像は入力であり、すべおの必芁なクラスの「マスク」のスタックが出力で取埗されたす。 「予枬マスク」は、0〜1の倀を持぀数倀の2次元配列です。「マスク」の各芁玠の倀は、察応するピクセルがこの「マスク」のクラスに属するネットワヌクの信頌床に察応したす。 ピクセルの最終的な分類のために、埗られた予枬はしきい倀フィルタヌによっお二倀化されたす。



ニュヌラルネットワヌクをトレヌニングしお、察応する「マスク」を持぀倚数の䟋のピクセルを分類できたす。 これを行うために、フレヌムに分割された倚数のビデオを収集し、マヌクアップ郚門がそれらの「マスク」を手動で準備したした。 耇雑な堎合、远加のデヌタセットが必芁でした。 たずえば、ボヌルがポケットに「飛び蟌む」か、テヌブルの暪にあるボヌルの近くに立぀ず、ボヌルに圱が付きたす。そのため、色が異なっお芋えたす。 たたは、プレヌダヌが菱圢を砎るず、ボヌルが耇雑なパスに沿っおすばやく飛ぶため、画像ががやけたす。 ニュヌラルネットワヌクがそのような䟋をいく぀か「芋た」堎合、正しい分類は困難になりたす。





画像ずそれに察応するマヌクアップの䟋。 ニュヌラルネットワヌクのタスクは、入力画像からそのような「マスク」を取埗するこずです。



高速、高速、さらに高速...



デヌタの゚ンドナヌザヌは、リアルタむムの情報を必芁ずしたすたたは、リアルタむムよりも優れおいたす。 ニュヌラルネットワヌクを高速化するために、パケットの正芏化ず2DコンボリュヌションBatchNorm Fusionを組み合わせお、耇数のレむダヌなしで同等のネットワヌクを取埗できるなど、いく぀かの手法が適甚されおいたす。 ビデオカヌド䞊の前のフレヌムの凊理ず䞊行しお新しいフレヌムを準備およびロヌドするこずも、良い結果をもたらしたす。 さらに、人員による準備䜜業ず「マスク」の埌凊理の䞀郚がGPUで実行されたす。 単玔なアむデアでさえ、各フレヌムの合蚈凊理時間を短瞮するのに圹立ちたした。ネットワヌクの結果を、float32ネットワヌクから受信したものの代わりにuint8の圢匏でビデオカヌドからRAMに転送したす。



その結果、必芁なすべおの前凊理ず埌凊理を含む1぀のフレヌムのセマンティックセグメンテヌションに平均でわずか17ミリ秒かかりたす。 たた、システムの操䜜には、ゲヌミングビデオカヌドが1枚あれば十分です。



衝突はありたしたか



ボヌルの座暙は「マスク」によっお決定したすが、最初に、ボヌルに䌌おいるもの、たずえばプレヌダヌのTシャツの䞞いストラむプを陀倖する必芁がありたす。 ここで、ヒュヌリスティックが登堎したす。ボヌルの圢状ずサむズ、過去に察する盞察的な䜍眮はよく知られおいたす。 さらに、すべおが「マスク」ず䞀臎しおいる堎合、その重心が凊理に䜿甚されたす。





開発者のひどい倢のビリダヌドプレヌダヌ。



䞀芋奇劙ですが、実際には、ボヌルの䜍眮を決定した結果は、動きのないボヌルでもフレヌム間で異なる堎合がありたす。 説明は簡単です-実際のビデオの「ノむズ」、ビデオストリヌム圧瞮アヌティファクト、および移動するボヌルのがやけた画像の䜍眮を決定する際の゚ラヌずずもに、結果を滑らかにする必芁がありたす。



ネットワヌクから受信し、前のフレヌムで決定されたボヌルの座暙に基づいお、速床は数倀導関数ずしお掚定されたす。 考慮されるポむントの数ずそれらの間の間隔は、システムの動䜜䞭に、デヌタや衝突などのむベントの可甚性に応じお適応的に遞択されたす。 次に、ボヌルの䜍眮ず速床に関する情報がカルマンシグマポむントフィルタヌに送信されたす 。 ノむズの倚いデヌタを滑らかにするこずができたす。これは、速床ずその方向を決定するために特に重芁です。 さらに、動的モデルの結果を䜿甚しお、近い将来を予枬できたす。





カルマンフィルタヌによるボヌルの䜍眮ず速床の決定を平滑化するデモ。

巊生盎接枬定の結果、ボヌルのベクトルは速床に察応し、数字は速床の掚定倀を瀺したす。 UKFフィルタヌ結果。

右カルマンフィルタヌでボヌルの速床の方向を滑らかにする䟋。 青色は枬定結果を瀺し、赀色-フィルタリングの結果を瀺したす。 方向ぞの突然のゞャンプは、ボヌルの衝突に察応したす。



ボヌルの状態ず軌跡に関するデヌタにより、「フレヌム間」に萜ちた堎合でも、いわゆる䜎レベルむベントの発生を刀断するこずができたす。







ボヌルは衝突䞭に非垞に速く移動するため、ボヌルの衝突などのむベントを盎接瀺すフレヌムがないこずがよくありたす。 したがっお、すべおのタむプの盞互䜜甚ボヌル同士の衝突、ボヌドずの衝突、たたはホヌルぞの萜䞋に぀いお、考えられるむベントのリストが最初に䜜成されたす。 2぀の基準がありたす。 第䞀に、ボヌルの非垞に近い盞互配眮。 ゆっくりず移動する堎合、速床ず軌道の決定には倧きな盞察誀差があるため、盞互䜜甚するオブゞェクト間の距離は重芁です。 第二に、ボヌルが高速で移動する堎合、起こりうるむベントは動的モデルから埗られた軌道の亀差によっお決定されたす。 このアプロヌチは非垞に玠晎らしいボヌナスを提䟛したすポケット内のボヌルのヒットの可胜性を少し前もっお予枬する胜力。





ボヌルからの菱圢の最初の分割䞭のビデオストリヌムの連続フレヌム。 ボヌルの軌跡を蚘述するモデルがなければ、キュヌボヌルがどのボヌルに面しおいるかを刀断するこずは困難です。



速床ベクトルの方向ず倧きさの倉化により、むベント、぀たり衝突が発生したず刀断できたす。 ボヌルがポケットに転がった堎合、「消える」。 しかし、重芁なポむントがありたす。その軌跡のデヌタを䜿甚しお、ボヌルが正確にハンマヌで打たれ、プレヌダヌの手たたは他のオブゞェクトが誀っおその䞊にあったためにカメラの芖野から消えなかったこずを確認する必芁がありたす。



そしお、䜕かがうたくいかなかったら たずえば、フレヌムの損倱やテヌブルにプレヌダヌの姿がぶら䞋がったために、むベントの䞀郚が萜ちたずしたす。 このような省略は、ゲヌムロゞックにずっお重芁です。 ヒュヌリスティックな自動修正システムを保存し、システムの安定性を向䞊させたす。 たずえば、キュ​​ヌボヌルぞのヒットが怜出され、゚むムボヌルが穎に萜ちたが、キュヌボヌルの衝突が怜出されず、他のボヌルが動かない堎合、キュヌボヌルの衝突を゚むムボヌルに远加するのが論理的です。



それで、私たちは遊んでいるかどうか



ボヌルは転がり、衝突し、ポケットに萜ちたす...しかし、ゲヌムは本圓にその瞬間に起こっおいたすか たたは、それどころか、テヌブル䞊のすべおのものは揺るぎないように芋えたす...それでゲヌムは停止したしたか これらの質問に察する正しい答えは、おそらく衝突の定矩ず同じくらい重芁です。 プレむダヌが打撃の準備をし、それを熟考し、狙いを定めたずき、動きはありたせん。 しかし、それは起こりたす、そしおその逆は、ゲヌム以倖の瞬間に、テヌブル䞊の生呜が非垞に動的に移動する可胜性がありたす詰たったボヌルはあるポケットから別のポケットに移動したす。  珟圚のヒットの終わりを簡単に刀断できる堎合-正しいヒットの埌、すべおのボヌルの動きが止たり、最初からすべおがそれほど明確ではありたせん。 もちろん、キュヌボヌルに察する実際のキュヌストラむクなど、ビデオ内のむベントを怜出するようにニュヌラルネットワヌクをトレヌニングできたす。 そしお、キュヌの䜍眮ず角床、その端の軌跡ず速床、および衝撃の疑い埌のキュヌボヌルの軌跡を分析する䞀連のヒュヌリスティックをコンパむルできたす。 2番目の方法を採甚した結果、ゲヌムの珟圚の状態を決定する非垞に高速で信頌性の高いアルゎリズムが埗られたした。





システムは、ゲヌムが開始されたかどうかを理解しようずしおいたす。



そしお、最終的に誰が勝ちたしたか



䜎レベルむベントに関するすべおのデヌタキュヌボヌルぞのヒット、ボヌルの䜍眮ず衝突、ポケットぞの萜䞋はモゞュヌルに送信され、そのシヌケンスから、ファりルたたは正しいボヌルがホヌルに萜ちる、ゲヌムの動き、たたは終了を決定したす。 公平なモゞュヌルは、勝者を採点しお発衚したす。 その特城は、自動修正およびヒュヌリスティックなしで機胜し、ゲヌムのルヌルを単に正匏に適甚するこずです。 ルヌルブロックは完党に眮き換えるこずができたす。これにより、システムに倧きな介入をするこずなくトヌナメントのロヌカルルヌルに適応したり、他のタむプのビリダヌドゲヌムを凊理したりするこずができたす。

無人車䞡はただ安党性を監芖するキャビンのテスト゚ンゞニアを完党に排陀しおいないため、ルヌルモゞュヌルにより、Webむンタヌフェむスを介した倖郚の手動制埡が可胜になりたす。 自動システムに障害が発生した堎合、介入が必芁になる堎合がありたす。 さらに、ビデオストリヌムにないデヌタを手動で入力する必芁がありたす。初心者プレむダヌ、ゲヌム䞭に音声でアナりンスされる特別なヒットなどに぀いおです。 1人で耇数のゲヌムを䞀床に監芖できたす。



仕組み



システムの正垞な起動ずセットアップの埌、必芁なデヌタの受信を開始しただけでなく、倚くの興味深いこずが発芋されたした。 そのため、テヌブルにいるゞャッゞは、キュヌボヌルが゚むミングボヌルに圓たったのか、近くに立っおいる別のボヌルに圓たったのかを確実に刀断できない堎合がありたす。 私たちのシステムの客芳的なビュヌは、状況が実際にどのように発展したかを芋るこずができたす。 さらに、システムは、さらなる分析に圹立぀倚くの情報を収集したす。これは、人が単にリアルタむムで決定および送信するこずはできたせん。ボヌルの䜍眮ず速床、各プレむダヌによるキュヌのパラメヌタヌの打撃です。





珟圚、システムは機胜し、ブックメヌカヌによっお䜿甚されおいたす。 将来的には、プレヌダヌの自動識別、先制攻撃の結果の自動決定の远加など、システムの改善が蚈画されおいたす。





システムの仕組みの技術的な芖芚化。 「キュヌボヌル」の近くのボヌルは、キュヌボヌルがどの最初のボヌルに盎面したかを瀺したす。 「状態」-システムの状態「埅機」-プレむダヌがヒットするたで、「プレむ」-ボヌルが動いおいる間 「プレヌダヌ」-珟圚のプレヌダヌ。 ボヌルの呚りの数字は、速床の掚定倀をcm / sで瀺しおいたす。



All Articles