普段は物体追跡の一種である、複数カメラ複数物体追跡(MTMCT : Multi-Target Multi-Camera Tracking、参考:過去のブログ記事)に取り組んでいます。

早速ですが、最近の私のお気に入りtrackerであるOC-SORT[3]の評価結果を見てみましょう。

なぜ多くの評価指標が必要なのか
そもそも物体追跡というのは複合的なタスクで、大きくは以下の2つの要素からなります。- 動画の各フレームに対して物体を検出
- 異なるフレームに存在する同じ物体同士を紐付け、同じIDを割り当てる
しかしこれは一筋縄ではいきません。例えば以下の2つのtrackerはどちらが優れているでしょうか。
- 同一物体へのID割り当てに間違いは多いが、全ての物体を検出できている
- 一時的に検出されないタイミングがあるが、検出された際のID割り当ては完璧である
例えば人が危険な区域へ侵入しないよう監視したい場合には前者が、要注意人物がどのエリアにいるのかを把握したい場合には後者が有用であることは想像できるかと思います。
つまり評価というのは、使用方法や欲しいモデルが決まって初めて行うことができるものです。上の画像中の指標もそれぞれ目的や測定したい性能が違っており、当然採用する指標によってtrackerの優劣も違ってきます。そしてそれが故に様々な指標での比較を行う必要があるのです。
それでも単一の指標が欲しい
……そうは言っても、やはり指標がいくつもあるとわかりにくいですし、たった1つの最強モデルを決めたくなる気持ちにもなるわけです。これまではできる限り数を絞った結果として、MOTA[4]とIDF1[5]という2つの評価指標が用いられてきました。それはMOTAとIDF1が物体追跡の構成要素である「物体の検出」「IDの割り当て」のそれぞれを表すような指標であり、この2つを見るだけで各trackerの得意不得意を大まかに把握できていたからです。
今回メインで紹介するHOTAは、
- 既存の評価指標の問題点を指摘した上で、
- 「物体の検出」「IDの割り当て」に特化した指標(DetA, AssA)を設計し、
- さらにそれらを統合した、たった1つの指標(HOTA)を提案する
複合的なタスクである物体追跡を1つの指標で表すためには、なんらかの仮定、つまり設計思想が必要です。その思想を実現するために指標の計算方法を論理的に詰めていく様子や、既存指標の問題点を19の観点で徹底的に論じている様子など、一見の価値がある論文だと思います。お時間のある方、タスクに応じた新しい評価指標を作りたいと思っている方は、このブログで大まかな内容を把握した上で論文を眺めてみることをオススメします。
既存の評価指標
HOTAの紹介を行う前に、既存の評価指標の概要とその問題点を紹介したいと思います。共通する用語
まずは複数の物体追跡指標で共通して用いられる用語について説明します。IoU(Intersection over Union)
物体検出(およびその検出結果を用いる物体追跡)では、検出した物体の位置をBBOX(Bounding BOX)で囲うことで表現します。IoUは2つのBBOX(主に正解BBOXと予測BBOX)がどれほど近いかを表す指標です。その計算方法は2つのBBOXの共通部分の面積を和集合の面積で割ったものであり、図の色付き部分の面積比に相当します。
IoU=0は2つのBBOXに全く重なりがないことを、IoU=1は同じ形のBBOXが同じ位置に存在していることを表します。

trajectory(軌跡)
物体追跡を行うためには、同じ物体に対応したBBOXがどれかを特定する必要があります。これは同じ物体を囲んだBBOXが同じIDを持つように、かつ、1つのフレームに同じIDが重複して存在しないように、各BBOXにIDを付与することで実現されます。ある物体がどのような経路で移動したかを知りたい場合には同じIDを持つBBOXを抽出すればよく、このBBOXを時系列順に並べたものをtrajectoryと呼びます。

以下では、このような失敗を定量的に評価するための評価指標について紹介していきます。
MOTA(CLEAR MOT)[4]
MOTA(Multiple Object Tracking Accuracy)は2008年に発表された指標であり、古くから物体追跡の代表的な指標として用いられてきました。MOTAを提案した論文にはMOTAのコンセプトが複数述べられていますが、その内の1つとして「エラーの種類を特定しやすいこと」が挙げられています。というのもMOTA以前に提案されたものでは、複数の指標が統合されないままに並列に扱われており、しかもそれらが互いに依存していることが多かったためです。
そこでMOTAでは、より根源的で独立した3種類のエラー(FN, FP, IDSW)を定義します。そしてそれらを統合するために、各エラーの発生回数をデータセット全体で集計した上で、正解BBOX数(gt)で割った値を用いて評価を行います。
\displaystyle \begin{aligned} \textrm{MOTA} &= \textrm{1}−\frac{\textrm{|FN|}+\textrm{|FP|}+\textrm{|IDSW|}}{\textrm{|TP|}+\textrm{|FN|}} \\ &= \textrm{1}−\frac{\textrm{|FN|}+\textrm{|FP|}+\textrm{|IDSW|}}{\textrm{|gt|}} \end{aligned}
ここでTPは正解BBOXと予測BBOXのIoUが0.5以上であるもの(IDは考慮しない)、FN/FPは正解/予測BBOXの内TPではないものです。また、TP, FN, FPで無視されたID割り当てのエラーを集計するための指標がIDSW (ID SWitch)です。これは各正解trajectoryに対する予測IDが切り替わった回数を表しています。
※より厳密に表現すると、「正解BBOXの予測ID」をそれと重なった予測BBOXのIDとするとき、各正解trajectoryを構成する正解BBOXの内で予測IDを持つものを時系列順に見ていき、予測IDが切り替わった回数となります。
しかし評価結果の表[3](再掲)をもう一度見てみましょう。

もちろんFN, FPは純粋な物体検出の精度を表しているわけではありません。物体検出で検出されたBBOXからtrajectoryを構成できそうなものを抽出した結果として得られる値ですので、そこに追跡の要素が入っていることは間違いありません。しかしID割り当ての精度を正当に評価できているかについては疑問が残ります。
※ちなみに上の議論では「IDSWが小さいのは現代trackerのID割り当て性能が非常に高いため」という可能性を排除できていません。しかしIDSWは「IDが切り替わった回数そのもの」であるのに対し、FN, FPは「ミスが起こった回数×そのミスが継続しているフレーム数」のような値となっており、本来同列に扱うべき量ではないというのが個人的な見解です。
※さらにFPがFNより小さいのは、追跡対象が人間という特徴的な形をしているものであり誤検出(FP)が比較的発生しにくいこと、一方で人間同士が重なることによる見逃し(FN)は容易に発生しうることが原因だと思われます。HOTA論文には「MOTAではFNとFPが対称ではないために、MOTAに合わせてチューニングするとFPが小さくなりがちである」という興味深い主張がありますが、OC-SORTではHOTAも評価指標として用いているためそれは根拠にはなりません。
IDF1(IDentification scores)[5]
IDF1(IDentification F1 score)は2016年に発表された評価指標です。私たちも取り組んでいる、複数カメラ複数物体追跡のための評価指標として提案されましたが、単一カメラでの物体追跡にも広く用いられています。
IDF1のコンセプトは「誰が、いつ、どこにいるか」の精度を測定することです。
そのためまずは動画に対する予測を行い、正解trajectoryと予測trajectoryのマッチングを行います。これはある人物(正解trajectory)が「誰」なのかを特定する(予測IDを割り当てる)作業と言い換えることもできます。
そして「いつ、どこにいるのか」を評価するためにIDTP, IDFN, IDFPを定義し、IDF1を得ます(それぞれTP, FN, FP, F1に対応)。
\displaystyle \textrm{IDF1}=\frac{\textrm{2|IDTP|}}{\textrm{2|IDTP|}+\textrm{|IDFN|}+\textrm{|IDFP|}}
ここでIDTPは「誰が、いつ、どこにいるか」を全て正しく予測できたBBOXで、正解BBOXと予測BBOXのIoUが0.5以上であり、さらにIDが正しいもの(それらを含むtrajectory同士がマッチングされているもの)に当たります。IDFN/IDFPはそれぞれ正解/予測trajectoryに含まれるBBOXのうちIDTPではないもの、つまりマッチングされたが位置が不正確なBBOXやそもそもマッチングされていないtrajectoryに含まれるBBOXです。これらの個数はデータセット全体で集計されます。IDTPの定義さえわかれば、残りのIDFN, IDFP, IDF1の考え方は一般的なものと同じなので理解はしやすいのではないかと思います。
※正解trajectoryと予測trajectoryマッチングはIDTPを最大化するように行われます。つまり「いつ、どこにいるか」の精度が最も高くなるように「誰」を選ぶ(=IDを割り当てる)というのがより正確な表現となります。

※ちなみに上で述べていることはあくまで評価指標の特性の話であり、ユースケースによっては単調性の有無が問題にならない場合もあります。例えば多少の見逃しを許容してでも誤った検出を行いたくない場合にはIDF1は適していることが考えられます。
新進気鋭の評価指標:HOTA[1, 2]
それでは本題であるHOTA(Higher Order Tracking Accuracy)の紹介を行いたいと思います。HOTAは2021年に発表された新しい評価指標です。HOTAのコンセプトは、評価指標としての望ましい性質であるエラーの種類の分離性・対称性・単調性を持った指標であることです。
エラーの種類の分離を行いやすくするために、HOTAでは「物体の検出」「IDの割り当て」に特化した指標(DetA, AssA)を設計し、それらを組み合わせることでHOTAを得ます。そして単一の指標が欲しければHOTAを参照し、個別の性能を測定したければDetA, AssAを始めとしたサブメトリクスを参照することで、様々な目的に合致した性能評価を行えることが特長の1つとなっています。
「物体の検出」に関する評価指標:DetA
HOTAのサブメトリクスであるDetA(Detection Accuracy score)は「物体の検出」に関する評価指標です。DetAではMOTAと似た考え方でTP, FN, FPを定義します。唯一の違いは、IoUの閾値を変数αとして与えるところです(MOTAやIDF1では閾値は0.5で固定)。つまりTPは正解BBOXと予測BBOXのIoUが閾値α以上であるもの(IDは考慮しない)、FN/FPは正解/予測BBOXの内TPではないものです。これらの個数はデータセット全体で集計され、後段の計算に用いられます。
DetAは以下のように定義されます。添字のαは前述の閾値を表しています。
\displaystyle \textrm{DetA}_\alpha = \frac{\textrm{|TP}_\alpha\textrm{|}}{\textrm{|TP}_\alpha\textrm{|}+\textrm{|FN}_\alpha\textrm{|}+\textrm{|FP}_\alpha\textrm{|}}
MOTAは分母にgt = TP + FNが存在することからも分かるとおり、FNとFPに対して対称ではありません。一方DetAや、後述のAssA, HOTAは全て対称性を持つため、FNとFPに対して同じペナルティを与えることができます。「IDの割り当て」に関する評価指標:AssA
HOTAのサブメトリクスであるAssA(Association Accuracy score)は「IDの割り当て」に関する評価指標です。AssAの定義は以下の通りです。TPや添字の閾値αはDetAで定義されたものと同一です。
\displaystyle \begin{aligned} \textrm{AssA}_\alpha &= \frac{\textrm{1}}{\textrm{|TP}_\alpha\textrm{|}}\sum_{c \in \textrm{TP}_\alpha} \mathcal{A}_\alpha(c) \\ {\rm ただし} \mathcal{A}_\alpha(c) &= \frac{\textrm{|TPA}_\alpha\textrm{(c)|}}{\textrm{|TPA}_\alpha\textrm{(c)|}+\textrm{|FNA}_\alpha\textrm{(c)|}+\textrm{|FPA}_\alpha\textrm{(c)|}} \end{aligned}
これまでに紹介してきた指標とは式の形が異なっています。この式は\mathcal{A}という中間的な指標を計算した上で、それをc∈TP で平均することを意味しています。ここでcはTPとして判定された、つまりIoUが閾値α以上である正解BBOXと予測BBOXのペアを表しており、\mathcal{A}はcを含む正解trajectoryと予測trajectoryがどれほど一致しているかを表す指標です。
また2行目の\mathcal{A}の定義に注目すると、TPA(c)は正解BBOXと予測BBOXのIoUが閾値α以上で、それらが共にcと同じIDを持つ(つまりcと同じtrajectoryに含まれる)もの、FNA(c)/FPA(c)はcと同じIDを持つ正解/予測BBOXのうちTPA(c)ではないものです。
TPA(c)の定義が、IDF1の構成要素であるIDTPの定義と似ていることに気づかれたかもしれません。確かにAssAとIDF1は似た指標ではありますが、それぞれのIDの割り当て手法には大きな違いがあります。IDF1では正解trajectoryと予測trajectoryに対してマッチングを行い、ただ1つの正しいID割り当てを定めていました。一方AssAではID割り当てを1つに定めません。AssAの定義式の1行目は、各cそれぞれが正しいID割り当てだと仮定した時の評価値\mathcal{A}を個別に計算し、それらを平均することを意味しているのです。
※実は\mathcal{A}(c)やその構成要素は全て、cを含む正解trajectory1つと予測trajectory1つに対してのみ集計されるローカルなものです。従ってデータセット全体に対する指標であるAssAを得るためには何らかの手法で\mathcal{A}(c)を集約する必要があります。AssAではTPに関する平均が採用されていますが、その理由は次節で紹介します(一言で言うと、HOTA全体の単調性を担保するため)。

まずはTPである全てのペアについて\mathcal{A}を計算します。TPは全部で5つありますが、青色と灰色が正しいペアだと仮定した場合は{TPA, FNA, FPA} = {3, 2, 1}、黄色と灰色が正しいペアだと仮定した場合は{TPA, FNA, FPA} = {2, 3, 1}となり、結果的に得られる\mathcal{A}は2種類しかありません。
AssAはTPである全てのペアについて\mathcal{A}を平均したものですが、これは得られた2種類の\mathcal{A}をそれぞれのTPAの数に応じて加重平均することに相当するため、図のように計算することができます。
IDF1ではたった1つのマッチング(この図の場合は青色が採用される)のみが採用されていたため、選ばれなかった予測trajectory(黄色)の予測の精度は評価に一切反映されませんでした。しかしHOTA(AssA)ではどちらの予測も評価に含まれています。このことによって、trackerの細かな精度向上を捉えやすくなっています。
ちなみにIDF1と同様に、AssAは検出に対して単調ではありません。例えばこの図の例では、黄色の予測がない方がAssAは高い値(1/2)を取ります。AssAは「IDの割り当て」に特化した指標であるため当然ではありますが、誤解がないようご注意ください。
HOTAの算出方法
HOTAα は DetAα と AssAα の幾何平均を取ることで得られます。\displaystyle \begin{aligned} \textrm{HOTA}_\alpha &= \sqrt{ \textrm{DetA}_\alpha \cdot \textrm{AssA}_\alpha} \\ &= \sqrt{ \frac{\textrm{|TP}_\alpha\textrm{|}}{\textrm{|TP}_\alpha\textrm{|}+\textrm{|FN}_\alpha\textrm{|}+\textrm{|FP}_\alpha\textrm{|}} \cdot \frac{\textrm{1}}{\textrm{|TP}_\alpha\textrm{|}} \sum_{c \in \textrm{TP}\alpha} \mathcal{A}_\alpha(c)} \\ &= \sqrt{ \frac{\sum_{c \in \textrm{TP}_\alpha} \mathcal{A}_\alpha(c)}{\textrm{|TP}_\alpha\textrm{|}+\textrm{|FN}_\alpha\textrm{|}+\textrm{|FP}_\alpha\textrm{|}}} \end{aligned}
最終的な式の根号の中に注目すると、DetAの分子の各TPを、それぞれのID割り当てに関する精度\mathcal{A}で重み付けしたものとなっています。実はAssAはこの式が成立するように定義されています。なぜならこの定式化のおかげで、これまで問題となっていた検出に関する単調性が保証されるからです。例えば元々見逃されていた(FNであった)BBOXを、新たな予想BBOXによって検出できた(TPとできた)場合について考えてみましょう。この場合、分母の合計値は変化しない一方、分子については0より大きな値を持つ\mathcal{A}が追加されるため、HOTAは増加することがわかります。
そして最後に、 正解/予測BBOXのIoUの閾値αで積分を行います。
\displaystyle \begin{aligned} \textrm{HOTA} &= \int_\textrm{0}^\textrm{1} \textrm{HOTA}_\alpha d \alpha \\ &\approx \frac{\textrm{1}}{\textrm{19}} \sum_{\alpha \in \left\{ \ \substack{\textrm{0.05, 0.10,} \\ \textrm{…, 0.95}} \ \right\} } \textrm{HOTA}_\alpha \end{aligned}
これは、いままでは考慮していなかったBBOXの位置特定精度を評価指標に組み込むことに相当します。既存の評価指標でいうと、MOTAと同時に提案されたMOTP(Multiple Object Tracking Precision)[4]という指標が扱っているエラーです。※ちなみに最初に提示した評価結果の表に存在するAssAはAssAαを閾値αで積分したもの、またAssR(Association Recall)はAssAと同じ考え方で定義されたRecall、つまり AssR_ \alpha = \frac{\textrm{1}}{\textrm{|TP}_ \alpha\textrm{|}} \sum_{c \in \textrm{TP}_ \alpha} \frac{ \textrm{|TPA}_ \alpha \textrm{(c)|} }{ \textrm{|TPA}_ \alpha\textrm{(c)|} + \textrm{|FNA}_ \alpha\textrm{(c)|} }を閾値αで積分したものです。このようにHOTAでは様々なサブメトリクスを自然に定義可能であり、具体的なユースケースが決まっていれば、それに適した指標で評価をすることもできます。
HOTA“の”評価
最後に「HOTAによる評価結果」の評価について紹介します。ここまでで触れてきた通り、HOTAは評価指標として望ましい性質を複数持ち合わせた指標です。ただしどれだけ理論的に望ましい性質を持っていても、人間の感覚と異なる評価結果であれば使われることはありません。実際MOTAが長年使われてきたのも、人間の考える「良い追跡結果」に対して高い評価結果を与えられるからだという研究[6]も存在しています。
そこでHOTA論文では、HOTAとMOTA, IDF1の中でどの評価指標が最も人間の感覚と近いかという調査を行なっています(以下の2つの図は[1]より引用)。


まとめ
HOTAは以下のような特長を持つ指標です。- 「物体の検出」「IDの割り当て」「BBOXの位置特定」に関する精度評価をたった1つに組み込んでいる
- エラーの種類の分離性、単調性、対称性といった評価指標としての望ましい性質を持つ
- サブメトリクスを活用することで、目的に応じた性能評価を行うこともできる
また本ブログでは触れませんでしたが、HOTAはその定義の明快さから容易に拡張が可能です。論文[1]では複数カメラ複数物体追跡や未知物体の追跡など、特殊な物体追跡のための評価指標も同時に提案されています。実際、KITTI[7], Open World Tracking[8], MOT Challenge[9]など、HOTAを評価指標として採用するベンチマークは年々増加しており、今後も主流となることが予想されます。 最後になりますが、ALBERTには様々な専門的バックグラウンドを持つリサーチャー・アナリストがおります。技術に関する疑問やビジネスに関するご相談など、お気軽にお問い合わせください。
References
[1] Jonathon Luiten, A.O. & Leibe, B. HOTA: A Higher Order Metric for Evaluating Multi-Object Tracking. International Journal of Computer Vision, 2020.[2] HOTAの著者による解説ブログ:https://autonomousvision.github.io/hota-metrics/
[3] J. Cao, X. Weng, R. Khirodkar, J. Pang, and K. Kitani.Observation-centric sort: Rethinking sort for robust multiobject tracking. arXiv preprint arXiv:2203.14360, 2022.
[4] Bernardin, K. & Stiefelhagen, R. Evaluating Multiple Object Tracking Performance: The CLEAR MOT Metrics. Image and Video Processing, 2008(1):1-10, 2008.
[5] Ristani, E., Solera, F., Zou, R., Cucchiara, R. & Tomasi, C. Performance Measures and a Data Set for Multi-Target, Multi-Camera Tracking. In ECCV workshop on Benchmarking Multi-Target Tracking, 2016.
[6] Leal-Taixé, L., Milan, A., Schindler, K., Cremers, D., Reid, I., Roth, S.: Tracking the trackers: an analysis of the state of the art in multiple object tracking. arXiv preprint arXiv:1704.02781 2017.
[7] https://www.cvlibs.net/datasets/kitti/eval_tracking.php
[8] https://openworldtracking.github.io/
[9] https://motchallenge.net/
The post 物体追跡の評価指標 first appeared on ALBERT Official Blog.