Sleep like a pillow

Deep Learning関係の話。

RepPoints: Point Set Representation for Object Detection

arxiv.org

github.com

どんなもの?

  • 近年の物体検出器はバウンディングボックス(アンカーなど)にかなり依存している。
  • バウンディングボックスは便利だが、得られる物体の位置情報は粗く、それに応じて物体特徴の抽出も粗くなってしまう。
  • 本論文では、より精細な物体表現として、物体をサンプル点の集合として表現するRepPoints (representative points)を提案する。これは位置推定(localization)と認識(recognition)の両方に有用。
  • RepPointsはlocalizationとrecognitionのGTから、サンプル点の配置方法を自動的に学習する。サンプル点の配置は、物体の空間的な広がりを拘束するとともに意味的に重要な局所領域を示すように学習される。
  • さらに、bounding boxの空間をサンプリングするためにアンカーを使用する必要がない。
  • COCOでアンカーベースの物体検出のSOTAに匹敵する性能。

f:id:uiiurz1:20200127222203p:plain

技術や手法のキモ

RepPoints

  • RepPointsは、物体を適応的なサンプル点の集合(論文では9点)として検出する。 f:id:uiiurz1:20200126181656p:plain

  • 論文では、サンプル点をバウンディングボックスに変換する方法として以下の3つを提案している。

    • Min-max function: 全サンプル点の座標の最小値と最大値から、バウンディングボックスを作成する。
    • Partial Min-max function: サンプル点のサブセットの座標の最小値と最大値から、バウンディングボックスを作成する。
    • Moment-based function: 全サンプル点の座標の平均と標準偏差から、バウンディングボックスの中心点とサイズを求める。サイズを求める際にはtranableなパラメータとして \lambda_x \lambda_yを用いる。
  • localizationの学習ではサンプル点を上記の方法でバウンディングボックスに変換した後に、GTのバウンディングボックスとのsmooth l1 lossを計算する。こうすることで、RepPoints用のGTを用意することなく、バウンディングボックスのGTからサンプル点検出を自動的に学習させることができる。

RPDet: an Anchor Free Detector

f:id:uiiurz1:20200127214149p:plain

  • RepPoints Detector(RPDet)はDeformable Convolutionを用いた2つのステージで構成される。
  • Deformable Convolutionをサンプル点に対して計算し、得られた特徴量をlocalizationとregonitionの推定に用いることで、lossをRepPointsの学習に直接フィードバックすることができる。
  • YOLOのように中心点を物体の初期表現として用いる。中心点からのオフセットによってサンプル点を検出する。
  • 具体的な構造は以下の通り。

f:id:uiiurz1:20200127221048p:plain

有効性の検証

  • COCOでSOTAな性能を示している。(msはmulti-scaleの意。) f:id:uiiurz1:20200127222035p:plain

所感

  • Bounding Boxに代わる物体の表現方法としておもしろい。
  • Microsoftの論文ということで、Deformable ConvolutionやDeformable RoI Poolingの有用性をかなりアピールしている印象。
  • HeadのDeformable Convolutionを通常のConvolutionに置き換えたら、どのくらい性能が落ちるのか気になるところ。