物体追跡とは
オブジェクトトラッキング(物体追跡)は、映像内の特定の物体を追跡する技術であり、人流分析や行動分析などに広く利用されている画像認識技術です。映像は連続したビデオフレーム(画像)をパラパラ漫画のように流れるように束ねたものですが、その各画像に映る物体を紐付けて、物体の動きを追跡する手法です。
物体追跡のアルゴリズムは、一般的に、物体検出の後工程である追跡のみを行うように設計されており、物体検出モデルと組み合わせて使用されます。物体検出モデルは、単一の画像内の特定の物体を検出します。検出結果として、物体全体を囲う長方形(バウンディングボックス)の座標情報と、物体のカテゴリー(人、車、バイクetc.)および信頼スコアを出力します。各ビデオフレームのバウンディングボックス(bounding box)を物体追跡手法によって紐付けることで、追跡することが可能となります。
図1に、人流を計測するため、物体検出モデルによって検出された人のバウンディングボックスから、物体追跡を実施した例を示します。人流の軌跡は、バウンディングボックスの代表点(ここでは中心点)の一連の動きとしてプロットすることで可視化できます。
図1:あるエリアの歩行者の追跡例[1]。各歩行者の軌跡は、各バウンディングボックスの中心点から可視化されます。
このように物体追跡は、人流や交通状況の監視、小売店の顧客行動分析、自動運転など、さまざまな産業分野での活用が見込まれます。次に、単一の物体を追跡する方法と複数の物体を追跡する方法について紹介します。
シングルオブジェクトトラッキング(SOT)とマルチオブジェクトトラッキング(MOT)
物体追跡は1つの物体のみを追跡するシングルオブジェクトトラッキング(SOT)[2]と複数の物体を追跡するマルチオブジェクトトラッキング(MOT)[3, 4]に分けられます。
図2:SOTを用いたダチョウ[5]の追跡例。左上隅の最初のフレームで、手動でダチョウをバウンディングボックスでアノテーションすると、ダチョウが後続の各フレーム50(右上)、100(左下)、200(右下)で移動しているところを追跡できます。
SOTは、映像内の任意の1つのオブジェクトだけを追跡し、その他のオブジェクトはすべて追跡対象外とします。追跡を始める際に、追跡対象となる物体を、最初のビデオフレームにおいてバウンディングボックスで指定(アノテーション)します。このアノテーションに含まれる視覚情報が、後続のフレームで物体を追跡するための情報として用いられます。この手動によるアノテーションにより、追跡可能な物体は1つに限られるものの、これまで学習していないカテゴリーの物体を追跡することができます。
図3:高速道路での自動車[6]のMOT例。各バウンディングボックスの中心点を自動車の軌跡として描画。
MOTは、各ビデオフレーム内の物体を判別して位置を特定し、最初のフレームで割り当てられた物体IDを後続のフレームでも維持します。追跡する物体の指定方法は、SOTで行われるような手動アノテーションではなく、一般的には物体検出モデルを用いて所望のカテゴリーに属す物体の位置をすべて検出します。その後、ビデオフレームが更新されるたびに、過去の検出結果と最新フレームの検出結果を照合し、追跡します。過去の検出結果と照合できない場合は、新しい追跡対象として処理されます。実際は、物体同士が交差したり、画像から一度出たりすることがあるため、より高度なアルゴリズムが必要となります。
MOTは、店舗内の顧客のモニタリング、防犯、交通状況の監視などの商用ユースケースとして用いられています。次章以降ではMOTについてより詳しく説明していきます。
マルチオブジェクトトラッキング(MOT)の仕組み
近年、深層学習による物体検出モデルの登場に伴い、tracking-by-detection方式を採用したMOTが広く利用されています。
tracking-by-detectionは、図4のように、物体検出(図中のObject detection model)と物体追跡(図中のObject tracker)の2つのモデルで構成されます。初めに物体検出モデルによって検出対象カテゴリーをバウンディングボックスで検出します。続いて物体追跡では、過去の追跡情報から最新のフレーム内のバウンディングボックスの紐付けを行います。特に代表的な追跡手法であるSimple Online and Realtime Tracking(SORT)(7)では、紐付けにカルマンフィルタ¹を用いて最新のフレームのバウンディングボックスの位置を予測し、実際に検出されたバウンディングボックスとの類似度を計算します。類似度のシンプルな計算手法としては、バウンディングボックス同士のオーバーラップ率もしくは中心点の距離が挙げられます。より高度な手法については後述しますが、そのような類似度の総和が最大となるようにハンガリアンアルゴリズム²を用いて各バウンディングボックスを割り当てることで、紐付けがなされます。
図4:tracking-by-detectionの処理フロー。ビデオフレームを入力として、物体検出モデルを用いて所望の物体をバウンディングボックス(緑枠)で検出します。各バウンディングボックスは、過去の追跡情報から予測したバウンディングボックス(青枠)との類似度から紐付けされる。
人の再識別手法について
多くのケースでは、追跡対象が途中で他の物体の後ろに隠れたり、視野の外に出たりすることによってカメラ映像から部分的にもしくは完全に消えることがあります。追跡対象を見失った場合は、新たな追跡対象として認識され、それぞれ別物として扱われてしまいます。このような場合にも追跡を続行できるようにするために、追跡対象の再識別(re-identification)をする必要があります。
re-identificationモデルに関する研究の多くは人の追跡をテーマとしており、視覚的な情報から照合する手法が提案されています。具体的には、物体検出によって検出された人物のバウンディングボックスから、そのボックス内の視覚的特徴を表す埋め込み表現(embedding)を計算します。類似度が高いembedding同士でマッチングすることで追跡が継続されます。ここで用いられるembeddingは訓練済みの深層学習モデルによって算出されます。
図5:re-identificationに用いるembeddingの例。embeddingはOSNet[8]によって算出。1段目と2段目は同一人物であり、embeddingの類似度は0.928と高い。対して、3段目と4段目は異なる人物であり、1段目とembeddingの類似度はそれぞれ0.484、0.488と低い。
embeddingの例を図5に示します。1段目が追跡対象人物の映像とembeddingです。2段目の異なる時間帯で撮影された同一人物のembeddingとの類似度は0.928と高く、それに対して3、4段目の異なる人物のembeddingとの類似度は0.484、0.488と低いことが確認できます。このように視覚的な情報を特徴量化したembeddingの類似度を比較することによって、一度見失った人の追跡を再開することが可能となります。実際には、embeddingは撮影時間帯等による明るさや人の向いている向きの違いによる視覚的変化による影響を受けるため、一定時間で累積したembeddingを平均処理したり、人の姿勢を推定した結果と組み合わせるなどの工夫をしたりします。
図6:歩道上[9]のオクルージョンによるトラッキングの中断例。左図にて検出人物が元々ID=0で追跡されていたところ、中央図のように車が人物の前を通過することにより、追跡が中断され、右図のように新規追跡対象として扱われ、IDが元の0ではなく、1で追跡されています。
図6と図7に、re-identificationを適用しなかった場合を示します。re-identificationを適用しなかった図6では、人物(ID=0)の前を車が通過することで、追跡が中断されてしまい、再度同一人物が検出されても、異なる人物(ID=1)として追跡されてしまいます。一方、re-identificationを適用した図7では、車の通過によって対象人物の追跡が中断されたとしても、再検出時に同一人物(ID=0)として認識され、正しく追跡できていることが確認できます。
図7: 歩道上のオクルージョンに対するre-identification適用例。左図にて検出人物が元々ID=0で追跡されています。中央図で車が人物の前を通過して、追跡が中断されますが、右図で同一人物が再検出された際にre-identificationを適用することにより、IDは変わらず0で正しく再追跡されます。
マルチカメラトラッキング
道路や高速道路、駅、銀行、ショッピングモールのような広い場所の場合、複数の監視カメラが設置されています。複数のカメラに渡って同じ物体を追跡(マルチカメラトラッキング)する場合、前述したre-identificationなどで他のカメラ映像に映る物体との紐付けを行う必要があります。紐付けを行わない場合、図8の動画上段のようにカメラ間で追跡IDが異なってしまいます。紐付けを行うことで、図8の動画下段のようにカメラ間で追跡IDが共通化されます。この紐付けの精度を高めるため、空間情報を用いることがあります。例えば、カメラ間で撮影映像がオーバーラップする場合は、座標位置関係によるマッチングを行ったり、オーバーラップしない場合でも直近で映っていたカメラに近いカメラ映像とのマッチングに限定するといったことで、誤った紐付けを低減できます。
図8:異なる角度から撮影している2つの監視カメラ[10]におけるローカルID(動画上段)とグローバルID(動画下段)の例。ローカルIDでは同一人物でも各カメラで追跡IDは異なるのに対し、グローバルIDではre-identificationにより同一人物が紐付けられるため、カメラ間の追跡IDは共通化されます。
物体追跡する映像の検討事項
追跡精度は、カメラ映像の品質に大きく依存します。導入時の検討項目として以下のようなものが挙げられます。
画像解像度:解像度が高いほど、より詳細な視覚情報が取得でき、一般的に追跡精度が向上します。その一方で、解像度が高くなるほど処理時間も遅くなります。処理時間と追跡精度の適切なバランスを見つけることが重要です。
画像の明るさ:画像は明るすぎたり暗すぎたりせず、画像全体の明るさが一定であるほど同じ物体と認識しやすくなります。そのため、一般的に屋外よりも明るい屋内の方が、より精度高く追跡できる傾向があります。
画像ノイズ:ノイズが大きいほど、追跡精度が低下する傾向があります。画像のノイズを軽減するには、そのエリアが一貫した照明で十分に照らされていることを確認してください。
画像の複雑さ:非常に複雑なシーンを含む画像は分析が困難になる傾向があります。例えば、混雑したシーンで人々を検出して追跡することは非常に困難です。カメラの設置位置を工夫したり、追跡する際に着目するポイントをよく見える部位(人であれば頭)にしたりすることで、精度の低下を軽減できます。
注
1 カルマンフィルタ:時間とともに状態が変化するシステムの状態を推定するためのアルゴリズムです。推定値と観測値を組み合わせることで、システムの状態を逐次更新します。
2 ハンガリアンアルゴリズム:割り当て問題を解くためのアルゴリズムです。例えば、複数の作業員をいくつかの作業に割り当てるケースで、コストが最小になるような組み合わせを解く際に用いられます。
参考資料
[2] Single Object Tracking: A Survey of Methods, Datasets, and Evaluation Metrics.
[3] Multiple object tracking: A literature review.
[4] Multi Object Tracking: A Review. Multi Object Tracking (MOT), a computer… | by Sertis | Medium
[5] Ostrich on Grassland Free Stock Video Footage, Royalty-Free 4K & HD Video Clip (pexels.com)
[6] Cars On Highway Free Stock Video Footage, Royalty-Free 4K & HD Video Clip (pexels.com)
[7] Simple Online and Realtime Tracking.
[8] Omni-Scale Feature Learning for Person Re-Identification.
執筆
株式会社 KPMGアドバイザリーライトハウス
アドバンスドアナリティクス部
シニア・データサイエンティスト 粟野 友貴
株式会社 KPMGアドバイザリーライトハウス
アドバンスドアナリティクス部
シニア・データサイエンティスト Karvonen Tuukka
株式会社 KPMGアドバイザリーライトハウス
アドバンスドアナリティクス部
マネージャー 大山 遼