[AI開発] ディープラーニングに基づくビデオマルチターゲットトラッキングの実装

[AI開発] ディープラーニングに基づくビデオマルチターゲットトラッキングの実装

複数のターゲットを追跡するには、次の 2 つの方法があります。

オプション1

初期化フレームの追跡に基づいて、ビデオの最初のフレームでターゲットを選択し、追跡アルゴリズムに渡してターゲット追跡を実現します。この方法では、基本的に最初のフレームで選択したターゲットのみを追跡できます。後続のフレームに新しいオブジェクトが表示された場合、アルゴリズムはそれらを追跡できません。この方法の利点は、比較的高速であることです。欠点は明らかです。新しく出現するターゲットを追跡できないのです。

オプション2

ターゲット検出追跡に基づいて、まずビデオの各フレームで対象となるすべてのターゲット オブジェクトが検出され、次に前のフレームで検出されたターゲットと関連付けられて追跡効果が得られます。この方法の利点は、ビデオ全体の任意の時点で表示される新しいターゲットを追跡できることです。もちろん、この方法を使用するには、前提条件として優れた「ターゲット検出」アルゴリズムが必要です。

この記事では、主に Tracking By Detecting の追跡方法であるオプション 2 の実装原理について説明します。この記事にはソースコードへのリンクがありません。「ターゲット検出」アルゴリズムのソースコードについては、前回の記事を参照してください。「軌道追跡」アルゴリズムのソースコード実装に関しては、非常にシンプルです。この記事を読めば誰でも書けると思います。Python 実装は 200 行未満です。

検出による追跡

ステップ 1:ターゲット検出アルゴリズムを使用して、各フレーム内の対象ターゲットを検出し、対応する情報 (位置座標、分類、信頼性) を取得します。検出されたターゲットの数は M であると仮定します。

ステップ 2:何らかの方法で、ステップ 1 の検出結果を前のフレームの検出ターゲットに関連付けます (前のフレームの検出ターゲットの数は N であると仮定します)。つまり、M*N 個のペアの中で最も類似したペアを見つけることです。

ステップ 2 の「特定の方法」についてですが、実際にはターゲットの関連付けを実現する方法は多数あります。たとえば、一般的な方法は、2 つのフレーム内の 2 つのターゲット間のユークリッド距離 (平面上の 2 点間の直線距離) を計算することです。距離が最短のターゲットを同じターゲットと見なし、ハンガリアン アルゴリズムを使用して最も一致するペアを見つけます。もちろん、私が使用した IOU のように、他の判定条件を追加することもできます。これは、2 つのターゲット ボックス (位置ボックスとサイズ ボックス) の交差と結合の比率を計算します。値が 1 に近いほど、同じターゲットを表します。他にも、2 つのターゲットの外観が類似しているかどうかを判断するなど、比較に外観モデルを使用する必要があり、時間がかかる場合があります。

関連付けプロセス中に、次の 3 つの状況が発生する可能性があります。

1) 検出されたターゲットは前のフレームの N 個のターゲットの中に見つかり、正常に追跡されていることを示します。

2) 検出されたターゲットが前のフレームの N 個のターゲットの中に見つからない場合、そのターゲットはこのフレームでは新しいものであるため、次の追跡関連付けのために記録する必要があります。

3) 前のフレームにターゲットがあったが、このフレームにそれに関連付けられたターゲットがない場合、ターゲットが視野から消えた可能性があるため、削除する必要があります。 (これは、検出エラーのためにこのフレームでターゲットが検出されなかった可能性があるためであることに注意してください)

問題点

上記の追跡方法は通常の状況ではうまく機能しますが、ビデオ内のターゲットが非常に速く移動し、前のフレームと次のフレームの同じターゲット間の距離が非常に遠い場合、この追跡方法では問題が発生します。

上図に示すように、実線のフレームは最初のフレームのターゲットの位置を表し、点線のフレームは 2 番目のフレームのターゲットの位置を表します。ターゲットがゆっくり走る場合、従来の追跡方法では (A, A') と (B, B') を正確に関連付けることができます。ただし、ターゲットが非常に速く移動する(または 1 フレームおきに検出される)場合、2 フレーム目では A は 1 フレーム目の B の位置に移動し、B は別の位置に移動します。このとき、上記の関連付け方法を使用すると間違った結果になります。

では、どうすればより正確に追跡できるのでしょうか?

軌道予測に基づく追跡方法

2 番目のフレームの位置を 1 番目のフレームの位置と比較して関連付けると誤差が生じるため、比較する前に次のフレームでターゲットが出現する位置を予測し、予測した位置と比較して関連付ける方法があります。このように、予測が十分に正確である限り、速度が速すぎることによる上記のようなエラーはほとんど発生しません。

上図に示すように、比較して関連付ける前に、まず次のフレームの A と B の位置を予測し、実際の検出位置を使用して予測位置と比較および関連付けることで、上記の問題を最も効果的に解決できます。理論上は、ターゲットがどれだけ高速であっても接続できます。そこで疑問になるのが、次のフレームのターゲットの位置をどのように予測するかということです。

方法は多数あります。カルマン フィルタリングを使用して、前のフレームの軌跡に基づいて次のフレームのターゲットの位置を予測したり、適合した関数を使用して次のフレームの位置を予測したりできます。実際には、フィッティング関数を使用して、次のフレームのターゲットの位置を予測します。

上に示すように、前の 6 フレームの位置に基づいて (T->XY) 曲線を当てはめ (図の直線ではないことに注意してください)、T+1 フレームのターゲットの位置を予測できます。具体的な実装は非常に簡単で、Python の numpy ライブラリに同様の機能を持つメソッドがあります。

残る欠陥

それでも、まだ欠点はあります。

[[266162]]

軌道予測の前提は、過去数フレームにおけるターゲットの軌道情報を知ることです。そのため、最初はターゲットの軌道を予測できないか、予測が不正確になります。したがって、最初の数フレームでは、比較と関連付けに元の方法を使用する必要があります。

<<:  ロボット宅配便があなたの玄関までお届けします!フォードが「無人配送」の最後のハードルを解決

>>:  アリババ機械知能チームの3年間の取り組みの概要

ブログ    
ブログ    
ブログ    

推薦する

...

マーケティングにおける AI についての考え方を変える 10 のグラフ

Adobe の最新の Digital Intelligence Briefing によると、トップク...

ジェネレーティブ AI: 誇大宣伝以上の価値を生み出す 3 つの重要な要素

最近、ガートナーは、生成型人工知能 (GenAI) を新興技術の誇大宣伝サイクルにおける「過大な期待...

中国の新世代人工知能の新たなハイライトは何ですか?

[[255971]] 「インターネット+」から「AI+」まで、人工知能技術は経済と社会の発展に大き...

人工知能のゲーム理論:エージェントと人間、エージェントと環境の間のゲーム関係の予備的調査

人工知能 (AI) は、コンピューターや機械をインテリジェントに動作させる方法を研究する分野です。機...

産業用ロボットとは何ですか?

産業用ロボットとは何ですか?工業生産で使用される産業用ロボットには、溶接ロボット、研削・研磨ロボット...

...

生成 AI の「生産性パラドックス」: Microsoft はすでに利益を上げていますが、他のクラウド大手はいつ成果を実感するのでしょうか?

1987 年のノーベル経済学賞受賞者であるボブ・ソローは、「生産性統計を除けば、コンピュータ時代は...

...

...

自動運転車はすでに登場していますが、船舶が AI に取って代わられるまでには長い時間がかかるのでしょうか?

次回フェリーに乗るときは、ブリッジをよく見ることを忘れないでください。舵を取っているのは人間ではない...

AI 生成コードを使ってみませんか?人気のコパイロットの「リスク評価」を実施した人がいた

[[412069]]最近、GitHub は、人工知能を使用してコードを合成するモデルを生成する Co...

インテリジェントビル通信ネットワークシステムのセキュリティ管理

セキュリティ管理は常にネットワーク管理の重要な部分であり、最も重要なリンクの 1 つです。また、ユー...

AIと遊ぶ4つの簡単な方法

適切なプロンプトを作成する技術を習得することが、ChatGPT のような AI ベースのプロンプト ...

シスコが新たな調査レポートを発表:企業はAIの準備に大きなギャップを抱えている

ニュースハイライト:中国企業の98%は、過去6か月間にAI技術導入の緊急性が高まったと回答した。戦略...