[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年間の取り組みの概要

ブログ    
ブログ    

推薦する

ドバイ、街頭にロボット警察を配備へ

ロシア・トゥデイTVのウェブサイトは20日、UAE当局者の発言を引用し、UAE初のロボット警察が今年...

ガートナー: 2019 年新興テクノロジー ハイプ サイクル

2019 年新興テクノロジー ハイプ サイクルでは、今後 5 ~ 10 年でビジネス、社会、人々の生...

...

スマート病院: 将来の医療技術のガイドラインとトレンド

スマート病院とは何ですか?最も伝統的な病院でさえ、人、プロセス、資産の広大なネットワークを持つ複雑な...

アルゴリズム | ダブルポインタはリンクリストを破る優れた魔法の武器です

今は少し理解できました。面接の過程で、面接官が私たちにコードを手書きで書くように頼むことがあります。...

人工知能はすべての人のキャリアを置き換えるわけではないが、新たな雇用機会も生み出すだろう

非常に憂鬱な格言があります。「今年は過去 10 年間で最悪の年だが、今後 10 年間では最高の年だ」...

2020 年の DevOps の 7 つのトレンド

[51CTO.com クイック翻訳] 権威ある調査によると、2017 年に DevOps は市場で ...

...

...

CLRNet: 自動運転における車線検出のための階層的改良ネットワーク アルゴリズム

車線は高レベルのセマンティクスを備えた交通標識であり、視覚ナビゲーション システムでは特に重要です。...

ロボットは電気羊の夢を見るか?Google AI 従業員の辞職から AI 倫理について何を学ぶことができるか?

2月20日、Googleの倫理AIチームの創設者であるミッチェル氏はTwitterに「私は解雇され...

...

IT 労働者の皆さん、AI があなたの仕事を「奪う」ためにやって来ています!今回はデータセンターからスタートします

[[349442]]人工知能に関する議論は現在、自動運転車、チャットボット、デジタルツイン、ロボット...

人工知能を背景とした公共読書空間の探究と創造

5Gネットワ​​ークの発展と人工知能アプリケーションの人気の高まりにより、スマート無人書店の出現は、...

ネイチャー誌の表紙:量子コンピューターの実用化はまだ2年先

この記事はAI新メディアQuantum Bit(公開アカウントID:QbitAI)より許可を得て転載...