Bounding Box Regression with Uncertainty for Accurate Object Detectionを読んだのでメモ
はじめに
Bounding Box Regression with Uncertainty for Accurate Object Detectionを読んだのでメモ.Object detectionのための新しいbounding box回帰のための誤差を提案.
気持ち
物体検出において正解となるbounding boxのアノテーションの曖昧さを問題視.アノテーションに気をつけたCOCO datasetでさえ曖昧なアノテーションがある(曖昧さについてはFigure 1参照).なのでその曖昧さもモデリングしたいというもの.
KL Loss
手法自体はごく単純で,モデルが予測したbounding boxをガウス分布,正解をディラックのデルタ関数として表現して,その二つのKL divergenceを取るというもの.
この式を具体的に展開すると以下の式が得られる.
はそれぞれ真の座標値と推定値.はエントロピー.モデルが推定するのはととなる.学習パラメータに関わる項だけ抜き出せば,目的関数は次の形に書ける.
実際のところ,を直接モデルに履かせると学習初期で小さすぎる値を吐いたりして勾配爆発を起こすため,をモデルに吐かせる.なのでを使って書き直すと次のようになる.
当然だが,が1()のときは二乗誤差になる.また,smooth L1 lossのようにの場合には次のように二乗の項を絶対値に変える.
を推論するブランチの重みの初期値は平均0の標準偏差0.0001のガウス乱数で初期化したとのこと.よくわからなかった論文曰く,このように初期化すれば学習初期においてこの誤差関数がsmooth L1 lossのように振る舞うらしい.
Variance Voting
推論させた曖昧さをNMSの処理において利用することで精度を高める.具体的にはsoft-NMSを踏襲した形で,曖昧さが小さい矩形ほど高い重みをつけるように修正した.具体的にはIoUが0以上のbounding boxを使って次のように計算する.
まとめ
論文には精度が上がると書いてあるが,実験結果を見ると検出自体の精度というよりはbounding boxの精度が上がるという面での貢献が大きそう.実装は簡単なのでとりあえず使っとけの感覚で導入しても悪くはなさそう.