Top View


Author Kai Washizaki

オンライン複数物体追跡 SiamMOT: Siamese Multi Object Trackingの解説

2021/06/01

複数物体追跡 MOT とは?

MOTとは、上図で示したように、物体のインスタンス(人を囲んだ四角いボックスなど)を検出し、それらを時間的に関連づけて、インタンスの追跡を行うタスクのことです。MOTタスクに関する詳細は、【物体追跡】Multi Object trackingの解説【MOT】の解説記事が参考になります。

Siam-MOTは、SORT(Simple and On-line Realtime Tracking)という手法をベースにして、動きのモデル化を工夫しています。

SORTでは、単純な幾何学的な特徴(位置, ボックスの形状など)を用いたカルマンフィルターにより、インスタンスの動きをモデル化しています。最近の追跡手法では、深いネットワークを学習することで、視覚的な特徴と幾何学的な特徴の両方に基づいてインスタンスの動きをモデル化しており、単純なSORTよりかなり精度が良いです。

視覚的な特徴も使用したMOT手法として、DeepSORTという手法が、有名ですが、Faster RCNNなどで物体検出し、その結果と前フレームの検出結果を追跡用のネットワークに入力していたため、速度が遅いという欠点がありました。そこで、Center-Trackという手法では、前フレームの画像・物体情報(物体の中心であろう点)と、現在の画像のみをネットワークの入力とし、追跡を可能にしています。

Center-Trackは、Tracking data augumentationなど追跡データセットの拡張方法なども記載されており、面白い論文でした!

また、SORTや、Siam-MOTは、オンラインMOTです。オンラインとは、将来の画像情報が得られず、現在の画像情報から過去のインスタンスとの関連付けを行うことです。

SiamMOT

SiamMOTは、領域提案ネットワーク(Region Proposal Network; RPN)と領域ベースの検出ネットワークで構成されるFasterRCNNという物体検出器をベースにしています。RPNが、物体が写っているボックスを提案し中身が物体か、背景なのか判断するネットワークで、検出ネットワークがボックスの中に何が写っているか判断するネットワークです。

SiamMOTは、このFaster-RCNNに領域ベースのSiamise追跡器を導入することで、インスタンスレベルの動きのモデル化を達成しています。

SiamMot Overview

このアーキテクチャは、上図(論文中Fig.1)のような構成になっています。

考えているタスクは、画像ItI^{t}で追跡中の物体を次の時刻の画像It+δI^{t+\delta}でも追跡することです。そのため、ネットワークへの入力は、画像It,It+δI^{t},I^{t+\delta}と時刻ttで追跡中のインスタンスの領域Rt={R1t,,Rit,}R^t = \left\{R^t_1, \cdots, R^t_i, \cdots \right\}になります。

SiamMOTでは、検出ネットワーク(上図のRPN features, Detect部分)により、検出されたインスタンスの集合Rt+δR^{t+\delta}を出力します。一方で、追跡器(Siamese Trackerの部分)は、インスタンス情報RtR^tを時刻t+δt+\deltaに伝搬させ、インスタンス情報R~t+δ\tilde{R}^{t+\delta}を生成します。

Siamese Trackerに関して、論文中では、暗黙的な動作モデル(IMM)と明示的な動作モデル(EMM)の2つが提案されています。共通点は、できるだけインスタンスiiの領域に対して、信頼度を大きくし、一方でその他の物体に関しては、信頼度を小さくするため、SiamFCなどのSiamise学習に基づいた追跡器の公式に則った学習を行っていることです。一方で、異なる点として、暗黙的な動作モデルは多層パーセプトロンを使用しており、明示的な動作モデルは、下図(論文中Fig.2)のようなアーキテクチャになっていることです。

SiamTracker

明示的な動作モデルで重要なことは、時刻ttにおける物体領域RitR^t_iに対応する特徴マップfRitf^t_{R_i}を用いて、時刻t+δt+\deltaにおける特徴マップfSit+δf^{t+\delta}_{S_i}から、同じ物体であろう確率を計算していることです。この時、特徴マップfSit+δf^{t+\delta}_{S_i}は、時刻ttの物体領域RitR^t_ir(>1)r (>1)倍したものを用いています。また、vit+δv^{t+\delta}_iは、インスタンスiiに対する視認性の信頼度になります。

基本的に、明示的な動作モデルの方が性能が良いとのことでした。

Siamise学習に関しては、弊社Tech blogの【論文読み】Exploring Simple Siamese Representation Learningを参考にしてください。

その後、検出ネットワークと追跡器の出力は、SORT同様に、空間マッチングにより関連付けされ、時刻ttt+δt+\deltaの間のインスタンス間を紐づけることができます。

実験の結果

論文における実験結果(Table.1)は、下のテーブルのようになっています。指標の横の矢印は、指標が高い方が良いか、低い方が良いか示しています。1秒あたりの処理数を示すFPSは、提案手法が小さく速度が遅いという結果が出ています。しかし、リアルタイムで使用できる範囲かと思います。

よく複数物体追跡で使用される評価指標であるMOTA(誤検出(FP)と見逃し(FN)とIDの変更の観点からの精度指標)は、改善しています。誤検出(FP)が増えているのは、気になります。ID swは、IDの割り当て失敗回数です。

実験の結果

まとめ

本記事では、最新の物体追跡手法である、Siam-MOTを解説しました。リアルタイムで動き、他の手法と比較してMOTA指標の精度が良いです。物体追跡は、画像と画像をつなぐ重要な情報で、スポーツなど動的な物体が多い対象ほど、複雑になるが重要でもあるタスクになります。スポーツxAIのタスクは、他にもあるので、シーン検出などを今後はやっていきたいと思います。

Kai Washizaki

Kai Washizaki

Twitter X

Conpany: Fusic Co., Ltd. Program Language: Python, Go, PHP Interest: Machine Learning, MLOps