しゃけのブログ

某大学院で研究している人の備忘録

画像に応じたCNNの受容野学習(Deformable Convolutional Networks)

Deformable Convolutional Networks

ICCV oral paper 2017 [J. Dai+, 2017]

https://openaccess.thecvf.com/content_ICCV_2017/papers/Dai_Deformable_Convolutional_Networks_ICCV_2017_paper.pdf

ざっくり

  • CNNの受容野(畳み込みをする範囲)を画像ごとに変更するDeformable Convolutional Networksを提案
    • 従来のCNNにおける,(k x k)近傍の固定された受容野に対して,より洗練された畳み込みが可能に


緑が注目点で,赤が畳み込みの対象 f:id:shuckle-rbtech:20210706125107p:plain

Introduction

視覚の認識タスクにおいて、物体のスケールやポーズ、視点、歪み対してロバストな認識をすることは重要である。 従来手法では、データとCNNの制約からロバスト性に問題があった。

データの問題

大きく2つの方法によってロバストな推定器の実現が試みられていたが、問題が存在する。

  • データの多様性をaugmentationなどによって増やす。モデルのサイズを大きくする。
    • 欠点: データが大規模になる、モデルが巨大になる。
  • 変形に対して不変な特徴量やアルゴリズム、例えばSIFTやmax-poolingなどを用いる
    • 欠点: hand-craftedである

CNNの問題

CNNの畳み込み演算やPooling演算は固定された位置に対する処理であるため、幾何的な変形に対し強く影響を受けてしまう。 f:id:shuckle-rbtech:20210706124501p:plain (from: https://jifengdai.org/slides/Deformable_Convolutional_Networks_Oral.pdf)

同じ層の受容野(入力の範囲)の形と大きさが同じ。これは物体の意味論的な認識タスクではおかしい。 事前にBounding boxを用意するR-CNNの手法も適切ではない。

提案

普通の畳込みに学習可能な2Dオフセットを導入

RoI Poolingのビン位置に学習可能なオフセットを導入

関連手法

関連手法に Active Convolutional Network というものも存在する [Y. Jeon+, CVPR'17]。 これは 層ごとに固定のConvolutionのoffset を学習するというもの。 f:id:shuckle-rbtech:20210706124733p:plain 層ごとにConvolutionの受容野が異なっていることがわかる。

Deformable Convolutional Network

Active Convolutional Networkに対し、Deformable Convolutional Netoworkは、全画像で一貫したoffsetではなく、 offsetを出力するConvolution Layer を導入、画素に応じたオフセットを推定する。

f:id:shuckle-rbtech:20210706124817p:plain

実際の結果が次図、緑点が注目点なのだが、それぞれに対して全然違うoffsetが算出されている。

そして、物体のスケールをよく捉えており、認識に必要な情報を効率よく捉えていることがわかる。

f:id:shuckle-rbtech:20210706124834p:plain