#はじめに
最近、深層学習における一般物体検出技術に興味を持つようになりました。
今回の記事は、それに関連する論文の紹介となります。
CenterNet: Keypoint Triplets for Object Detection (2019)
https://github.com/Duankaiwen/CenterNet
本記事で使用したすべての図、画像は、上記の論文からのものです。
#1.論文要約
CornerNetとCenterNetを統合することで、物体検出精度を改良します。
#2.論文概要
MS-COCOデータセットを使用して、CornerNetによる算出された結果のトップ100バウンディングボックスでは、誤検出が多かったです。下記の図で、正解は青い枠線、CornerNetによる予測された物体領域は赤い枠線で表します。
それになる理由、CornerNetというアルゴリズムでは、バウンディングボックスの内部情報を重視していないからです。下記の図では、バウンディングボックスの中心部分をチェックして、物体検出精度を改良できた例を示します。
各オブジェクトは、1つのCenter Keypointと1ペアのCornersで表現します。
以下は、CenterNetアーキテクチャとデータ処理方法となります。
(1) select top-k center keypoints according to their scores;
(2) use the corresponding offsets to remap these center keypoints to the input image;
(3) define a central region for each bounding box and check if the central region contains center keypoints. Note that the classlabels of the checked center keypoints should be same asthat of the bounding box;
(4) if a center keypoint is detected in the central region, we will preserve the bounding box. The score of the bounding box will be replaced by the average scores of the three points, i.e., the top-left corner, the bottom-right corner and the center keypoint. If there are no center keypoints detected in its central region, the bounding box will be removed.
論文の著者は、Cascade Corner PoolingとCenter Poolingを設計しました。
Center Poolingは水平方向と垂直方向、2つ方向の最大値を取ります、下記図の(a)で示します。Corner Poolingは境界方向の最大値だけを取ります、下記図の(b)で示します。Cascade Corner Poolingはオブジェクトの境界方向と内部方向両方の最大値を取ります、下記図の(c)で示します。
以下は、実験の結果となります。
One-stageでは、従来の手法と比べて、より良い結果が得られました。
#3.今後
この論文のソースコードは、既に公開されましたので、
時間があったらやって見たいです。
#参考文献
1.Kaiwen Duan, Song Bai, Lingxi Xie, Honggang Qi, Qingming Huang, and Qi Tian. CenterNet: Keypoint Triplets for Object Detection. arXiv preprint arXiv:1904.08189, 2019.