Lock in $30 Savings on PRO—Offer Ends Soon! ⏳

最近のSingle Shot系の物体検出のアーキテクチャまとめ

yu4u
August 19, 2017

最近のSingle Shot系の物体検出のアーキテクチャまとめ

Feature Pyramid Networks for Object Detection, CVPR'17の内容と見せかけて、Faster R-CNN, YOLO, SSD系の最近のSingle Shot系の物体検出のアーキテクチャのまとめです。

yu4u

August 19, 2017
Tweet

More Decks by yu4u

Other Decks in Technology

Transcript

  1. Copyright © DeNA Co.,Ltd. All Rights Reserved. Feature Pyramid Networks

    for Object Detec8on 近年のSingle Shot Detectorのアーキテクチャまとめ 第41回コンピュータビジョン勉強会@関東 Yusuke Uchida (@yu4u) ⾏けなかったので画像で 気分だけ盛り上げております 1 Photo by (c)Tomo.Yun hBp://www.yunphoto.net
  2. Copyright © DeNA Co.,Ltd. All Rights Reserved. ⾃⼰紹介 !  Yusuke

    Uchida, Ph.D. (@yu4u) !  ~2017: KDDI研(Researcher) ⁃  画像検索、画像認識、近似最近傍探索、深層学習 !  2017~: DeNA(Research Engineer) ⁃  コンピュータビジョン、深層学習、なんでも ⁃  ResNet系の細かすぎて違いがわからない亜種、 モデル圧縮、最近はsingle shot detectorがブーム ⁃  最近の進捗 KonbuNet
  3. Copyright © DeNA Co.,Ltd. All Rights Reserved. 物体検出のアプローチ !  スライディングウィンドウ系(e.g.

    Haar-like+Boosting, HOG+SVM) a.  1つのスケールの物体のみを検出する検出器+画像リスケール b.  複数のスケールの物体を検出する検出器を全スケール分 c.  少数のスケールの物体を検出する検出器+画像ピラミッド !  (Deepでない)Region Proposal系(e.g. R-CNN, Fast-RCNN) !  Deep Single Shot Detector系(e.g. Faster R-CNN, SSD, YOLO) 3 e.g. HOG + SVM
  4. Copyright © DeNA Co.,Ltd. All Rights Reserved. Single Shot Detectorの基本

    4 ⼊⼒画像 Fully ConvoluOonal Networks (FCN)等 e.g. VGG, ResNet 出⼒ 特徴マップ チャネル数=C W H W/S H/S C S: ストライド ダウンサンプルによる 縮⼩倍率 ⼊⼒画像をサイズ (S, S) の W/S x H/S (WF x HF ) グリッドに分割し 各領域で※物体の検出、分類、 BBOXの回帰を⾏っていることになる ※特徴量はより広い領域から抽出
  5. Copyright © DeNA Co.,Ltd. All Rights Reserved. Single Shot Detectorの基本

    5 ⼊⼒画像 Fully ConvoluOonal Networks (FCN)等 e.g. VGG, ResNet 出⼒ 特徴マップ チャネル数=C W H W/S H/S C S: ストライド ダウンサンプルによる 縮⼩倍率 FC層を含むCNNでも良いが ⼊⼒サイズが任意になり 学習が効率的なFCNが理想 ⼊⼒画像をサイズ (S, S) の W/S x H/S (WF x HF ) グリッドに分割し 各領域で物体の検出、分類、 BBOXの回帰を⾏っていることになる
  6. Copyright © DeNA Co.,Ltd. All Rights Reserved. Single Shot Detectorの基本

    6 W H W/S H/S C 例えばC = 5とすると1クラスの物体検出 特徴マップ:WF x HF x 5 5: BBoxの座標 (4-dim) + 検出スコア 検出スコア=グリッド内に物体の中⼼があると1を出⼒ ⼊⼒画像をサイズ (S, S) の W/S x H/S (WF x HF ) グリッドに分割し 各領域で物体の検出、分類、 BBOXの回帰を⾏っていることになる
  7. Copyright © DeNA Co.,Ltd. All Rights Reserved. Single Shot Detectorの基本

    7 W H W/S H/S C ⼊⼒画像をサイズ (S, S) の W/S x H/S (WF x HF ) グリッドに分割し 各領域で物体の検出、分類、 BBOXの回帰を⾏っていることになる 例えばBをスケール数とし、C = B x 5とすると 1クラス・Nスケールの物体検出 特徴マップ:WF x HF x 5 x N 5: BBoxの座標 (4-dim) + 検出スコア
  8. Copyright © DeNA Co.,Ltd. All Rights Reserved. Faster R-CNN: Towards

    Real-Time Object Detec8on with Region Proposal Networks, NIPS’15. 8 特徴マップ:WF x HF x B x (4 + 2) B: BBoxの数 (=9), 異なるスケール、Aspect raOo 4: BBoxの座標 (4-dim) 2: 検出スコア(前景・背景分類) クラス分類は⾏わない VGGNet, ZFNet
  9. Copyright © DeNA Co.,Ltd. All Rights Reserved. 特徴マップ:WF x HF

    x (B x 5 + C) = 7 x 7 x 30 B: BBoxの数 (=2) 5: Bboxの座標 (4-dim)+検出スコア C: クラス数 (=20) クラス分類までする You Only Look Once: Unified, Real-Time Object Detec8on, CVPR’16. 9 FCが ⼊っている 特徴 マップ YOLOv1
  10. Copyright © DeNA Co.,Ltd. All Rights Reserved. SSD: Single Shot

    Mul8Box Detector, ECCV’16. 10 分かりにくいが、1つの特徴マップに着⽬すると同じ 特徴マップ:WF x HF x B x (4 + C) B: BBoxの数 (=6), 1, 2, 3, 1/2, 1/3のアス⽐+scaleの⼤きいBOX 4: Bboxの座標 (4-dim) C: クラス数 (=20) Pr(Class) ← Class毎のdetecOonをしている 出⼒特徴マップ群、各マップが異なるスケールの物体を担当 Log-scaleではなく何故かリニア See hBps://www.slideshare.net/takanoriogata1121/ssd-single-shot-mulObox-detector-eccv2016
  11. Copyright © DeNA Co.,Ltd. All Rights Reserved. YOLO9000: BeZer, Faster,

    Stronger, CVPR’17. 11 YOLOv2 Conv 3 x 3 x 1024 Conv 1 x 1 x 125 ↓Darknet concat 特徴マップ:WF x HF x B x (5 + C) B: BBoxの数 (=5) 5: Bboxの座標 (4-dim)+信頼度 C: クラス数 (=20) 特徴マップは1つ Bbox毎の検出になった BBoxのデフォルト形状をk-means で求めている
  12. Copyright © DeNA Co.,Ltd. All Rights Reserved. 13 Fast R-CNN

    ResNet Integral channel features & Aggregate channel features Shape context Feature Pyramid Networks for Object Detec8on CVPR’17
  13. Copyright © DeNA Co.,Ltd. All Rights Reserved. アーキテクチャの分類 15 Faster

    R-CNN YOLO SSD Proposed (b) は特徴マップの解像度が低い (c) は低いレイヤの特徴抽出が弱い
  14. Copyright © DeNA Co.,Ltd. All Rights Reserved. アーキテクチャの分類 16 Faster

    R-CNN YOLO SSD Proposed (b) は特徴マップの解像度が低い (c) は低いレイヤの特徴抽出が弱い (d) は低いレイヤもコンテキストを 抽出した特徴を利⽤でき 解像度も⾼い
  15. Copyright © DeNA Co.,Ltd. All Rights Reserved. (参考)コンテキストの重要性 (Finding Tiny

    Faces, CVPR’17) !  異なるスケールのfeature mapを統合したheatmap prediction精度 !  コンテキストを増やすほど精度が向上する ⁃  ⼩さい顔でres5まで追加すると精度低下→過学習によるもの !  ⼩さい顔は⼩さい受容野でも精度が⾼い(顔がまるまる⼊るので !  ⼩さい顔のほうがゲインが⼤きい=⼈の精度とconsistent 17 +18.9% +1.5%
  16. Copyright © DeNA Co.,Ltd. All Rights Reserved. (参考)コンテキストの重要性 (Finding Tiny

    Faces, CVPR’17) !  異なるスケールのfeature mapを統合したheatmap prediction精度 !  コンテキストを増やすほど精度が向上する ⁃  ⼩さい顔でres5まで追加すると精度低下→過学習によるもの !  ⼩さい顔は⼩さい受容野でも精度が⾼い(顔がまるまる⼊るので !  ⼩さい顔のほうがゲインが⼤きい=⼈の精度とconsistent 18 +18.9% +1.5% コンテキストはめちゃくちゃつよい Single shot detectorの強みもそこに YOLOv2とかで⽿に⼿を当てるとMobile phoneが出てくる
  17. Copyright © DeNA Co.,Ltd. All Rights Reserved. (参考)コンテキストの重要性 (Finding Tiny

    Faces, CVPR’17) !  異なるスケールのfeature mapを統合したheatmap prediction精度 !  コンテキストを増やすほど精度が向上する ⁃  ⼩さい顔でres5まで追加すると精度低下→過学習によるもの !  ⼩さい顔は⼩さい受容野でも精度が⾼い(顔がまるまる⼊るので !  ⼩さい顔のほうがゲインが⼤きい=⼈の精度とconsistent 19 +18.9% +1.5% ちなみにこの論⽂ではres3まで戻した解像度で 25スケールの検出を⾏っている… (チャネル数 = 25 x 5)
  18. Copyright © DeNA Co.,Ltd. All Rights Reserved. Feature Pyramid Networks

    for Object Detec8on, CVPR’17. 20 conv1 conv2_x conv3_x conv4_x conv 3x3 256 upsample upsample upsample conv 1x1 3 x (4 + 2) conv5_x conv 3x3 256 conv 3x3 256 conv 3x3 256 特徴マップ:WF x HF x B x (4 + 2) B: BBoxの数 (=3), アス⽐ (1, 2, 1/2) 4: Bboxの座標 (4-dim) 2: 検出スコア(前景・背景分類)←推測 ResNet ⾯積が322くらいの物体を検出 642 1282 2562
  19. Copyright © DeNA Co.,Ltd. All Rights Reserved. DSSD: Deconvolu8onal Single

    Shot Detector, CVPR'17. 21 アーキテクチャ Deconvモジュール Element-wise product Naïveにやると駄⽬なので Deconv module PredicOon module追加
  20. Copyright © DeNA Co.,Ltd. All Rights Reserved. Enhancement of SSD

    by Concatena8ng Feature Maps for Object Detec8on, BMVC'17 under review. 22 Deconvとpoolingで上にも下にもfeature mapをconcat
  21. Copyright © DeNA Co.,Ltd. All Rights Reserved. U-Net: Convolu8onal Networks

    for Biomedical Image Segmenta8on, MICCAI'15. 23 ぶっちゃけU-Net
  22. Copyright © DeNA Co.,Ltd. All Rights Reserved. Dilated Residual Networks,

    CVPR’17. 24 Deconvしなくてもdilated convoluOonで 解像度を⾼く保つアプローチもある
  23. Copyright © DeNA Co.,Ltd. All Rights Reserved. Take-home message ! 

    Single Shot Detectorはどれもやってることは同じ ⁃  FCNで特徴マップ作成→検出・認識・矩形Regression ⁃  BBox(アンカー)の配置、p(class)かp(object)->p(class|object)か !  SegmentationとDetectionのアーキテクチャは同⼀化していく ⁃  ⼩さい物体を⾒つけるならtop-down architecture !  シンプルなのでFeature Pyramid Networksを Single shot化(クラス分類までやる)するのが良さそう 25