【CVPR2021】物体検出のラベルアサインメントを最適化するOTAを紹介!

【CVPR2021】物体検出のラベルアサインメントを最適化するOTAを紹介!

はじめに
 CVPR2021 で早稲田大学と中国の有力新興企業 Megvii Technology が物体検出タスク時のアンカーボックスに対するラベル付与に関する新しい手法である Optimal Transport Assignment を発表しました。同手法を利用することで、SoAT の性能を出すことに成功しました。
 なお、以下の図はすべて下記論文より引用しております。

●論文
 OTA: Optimal Transport Assignment for Object Detection
 https://arxiv.org/pdf/2103.14259.pdf

概要

 物体検出タスクではモデルを学習させる際に、正解ボックスをもとに目標物となるアンカーボックスを生成します。これは正解ボックスと完全に一致するボックスのみを正解とすると、ほとんどの予測結果が不正解となってしまい効率的に学習が進まないため、ある程度ずれたものでも正解とみなせるようにするためです。アンカーボックスを生成するためには、形状の事前定義と、正解ボックス( ground-truth object : gt )から物体ラベルもしくは背景ラベルを付与する必要があります。このとき、どのようにラベルを付与するか、でモデルの精度に影響を与えることが知られています。
 研究チームは、一般的な静的ラベリング戦略(IoUをもとにしたもの)では異なる形状・状況の正解ボックスから適切にラベルを付与することが困難であると指摘しています。そのため、今回研究チームは、画像内の状況に応じてラベリングができるような動的なラベリング戦略を最適輸送問題(Optimal Transport Problem)として考えた最適輸送アサインメント(Optimal Transport Assignment : OTA )として提案しました。
 FCOS-ResNet50 モデルに対して OTA を実装した場合、ほかのラベリング戦略よりもよい結果( COCO に対して mAP 40.7 % )をだすことができました。
 

論文のポイント

・動的ラベリング戦略を最適輸送問題として捉えた最適輸送アサインメント(OTA)を提案した。
・OTA を実装した場合、ほかのラベリング戦略を実装するよりも精度がよくなることが確認された。
・OTA は行列計算のため、GPUを利用することで計算速度を高速化することができ、通常の学習時間の20%程度の増加で利用できる。

詳細

背景

 アンカーフリーモデルのものも含め、現在の物体検出モデルでは学習のために、クラス分類ラベルと位置ラベルを事前定義されたアンカー(注:アンカーボックス及びアンカーフリーモデルの特徴点を総じてアンカーとしている)に対して当てはめる必要があります。この当てはめる作業を一般に ラベルアサインメント label assignment と呼びます。
 これまでのラベルアサインメントは、RetinaNet などの IoU を利用したものや FCOS の正解ボックス内の領域にあるものを当てはめるなど静的に定まった方法が主流でした。しかし、こっらの方法では、物体の形状や状況などを踏まえていないため、画像によって物体/背景( pos / neg )決定領域が変化してしまうという問題がありました。決定領域が簡単に変化してしまうと安定した探索ができなくなってしまいます。
 そのため、形状や状況の変化に応じた動的なアサインメント戦略が求められています。これまでは正解ボックスの特徴をもとに正解ボックス毎に決定領域を設定する ATSS という手法や学習時にコンフィデンススコア(信頼スコア)がなかなかあがってこないアンカーを不適切なものであると判断して除外する手法などが、提案されてきました。これらの手法をもちいることで、SoAT が達成されました。
 しかし、これらの手法もここの物体単位に対してアサインしているため、画像全体の文脈を踏まえた全体最適なアサインメントになっていないという問題があります。またあいまいなアンカーに対処する際には、人間が設定したルールに基づいて処理されることが多くなっています。あいまいなアンカーに対して、アサインメントすることは悪影響を与える可能性があり、局所的な視点ではなく、全体的な視点から処理する必要があります。
 以上より、画像全体のすべての正解ボックス gt に対して最も信頼性の高くなるような全体的な視点からアサインメントできる手法が必要であると考え、今回研究チームが新たな手法を提案しました。

DeTR
 DeTR はTransformerを用いてラベルアサインメントを全体的な視点から考えたはじめての手法です。全体最小損失になるようにハンガリアンアルゴリズムを用いて、一つのgtに対して一つのアンカーをアサインします。しかし、CNN ベースモデルでは、物体周辺の領域に対して相関スコアを与え、各正解ボックスに対して複数のアンカーが定義されるほうが学習が効率的に進みます。そのため、一つの gt に対して複数のアンカーを定義することが求められています。

Optimal Transport Assignment

 上記の問題点を解決するために、本論文ではアンカーと正解のマッチング問題を最適輸送問題 Optimal Transport ( OT ) Problem に変換し、ラベルアサインメントを最適輸送アサインメント Optimal Transport Assignment として扱います。
 ※最適輸送問題について参考 https://en.wikipedia.org/wiki/Transportation_theory_(mathematics)

OT

 OTは以下の式を解くことを意味します。
 

 なお、この問題は多項式時間で解を導くことが可能ですが、実際にはすべての大きさのアンカーの特徴次元の四角形を含むため問題が大きくなっていることから、現実の利用ではShinkhorn-Knoppの逐次解法を用いて解くことにするとしています。

OTA

 OTA では正解ボックスを配給者(ラベルを付与する側)、アンカーを受容者(ひとつのラベルを受け取る)として、ある正解ボックスから十分なポジティブラベルを付与された場合、アンカーボックスはポジティブになる、とします。このことは「ポジティブアンカーがよりよいコンバージョンになるための最小数はどれくらいなのか」といえます。これらを計算するための計算式を定めます。

 アンカーと正解ボックスの輸送コストは、クラス損失分類と座標損失の荷重和として計算されます。基本的にこれはFocal LossやGIoU、SmoothL1 Lossに置換することができるもので、αはバランスをとるためのハイパーパラメータとなります。

 次に、ネガティブラベルを付与するものとして、Backgroundを設定します。Backgroundとアンカーの輸送コストは、クラス分類損失のみで計算されます。
 

 正解ボックスのSiは設定される k の値に基づいて以下のようにアップデートされます。

 これらの計算は行列計算だけのため、GPUによって計算速度を向上することが可能で、OTAを利用することはわずか20%分学習時間を増加させることにしかなりません。しかも、推論時には必要ないため、推論の負担にはなりません。
 以下が、OTA アルゴリズムの計算フロー図です。なお、現在提案されている Center Prior. や動的k推定なども有効であることがわかったため、それらを組み入れたものとなっています。

実験

 ベースは以下のように設定されています。

ベースモデル:ImageNet で事前学習された ResNet-50
ミニバッチサイズ:16
初期学習率:0.01(60kと80kイテレーション目に10分の1にする。)
最適化手法:SGD
GPU:8GPUs

 アブレーション研究の結果、OTAが有効であることがわかりました。

また、既存手法の ATSS や PAA などと比べると OTA が有害となるようなアサインメントを排除していることがわかります。

COCOデータセットに対する結果

 物体検出タスクの基本となるCOCOデータセットに対して、ほかのラベルアサインメント手法と比較しました。基本的に最も良い精度がでていることがわかります。

CrowdHumanデータセットに対する結果

 より画像内の物体が密であるほうが論文が指摘している問題が起こりやすく、結果としてOTAの効果が大きくなるはずであると考えから、CrowdHumanデータセットによる検証が行われました。結果は想定通り、OTAが最もよい結果を出していることがわかります。