Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

SSD: Single Shot MultiBox Detector (ECCV2016)

108,323 views

Published on

SSD: Single Shot MultiBox Detector (ECCV2016)

Published in: Technology
  • Be the first to comment

SSD: Single Shot MultiBox Detector (ECCV2016)

  1. 1. SSD: Single Shot MultiBox Detector (ECCV2016) @conta_
  2. 2. 緒方 貴紀 (@conta_) CRO@ABEJA, Inc. Computer Visionとか、Machine Learning の研究開発をやっています Self Introduction 2
  3. 3. 3
  4. 4. 一般物体検出の論文 • 検出速度のアルゴリズム(YOLO)より高速で、Faster R-CNNと同等の高精度 なを実現するState of the artなアルゴリズムの提案 • 比較的低解像度でも高精度に検出できる • 階層的なFeature mapと利用することで様々なスケールに対応 • アスペクト比ごとに識別器を作ることで、高い精度の検出率を達成 • シンプルなネットワーク設計によりEnd-to-Endで学習できる SSD: Single Shot MultiBox Detector 4
  5. 5. 画像から定められたクラスの物体を検出&識別するタスク Object Detection 5 Shaoqing Ren, Kaiming He, Ross Girshick, & Jian Sun. “Faster R-CNN: Towards Real-Time Object Detection with Region Proposal Networks”. NIPS 2015.
  6. 6. • R-CNN (Regions with CNN features) (CVPR 2014) [1] • SPPnet (ECCV 2014) [2] • Fast R-CNN (ICCV 2015) [3] • Faster R-CNN (NIPS 2015) [4] • YOLO(You Only Look Once) (CVPR 2016) [5] Related Works 6
  7. 7. • R-CNN (Regions with CNN features) (CVPR 2014) [1] • SPPnet (ECCV 2014) [2] • Fast R-CNN (ICCV 2015) [3] • Faster R-CNN (NIPS 2015) [4] • YOLO(You Only Look Once) (CVPR 2016) [5] Related Works 7 深いぃ歴史!
  8. 8. • R-CNN (Regions with CNN features) (CVPR 2014) [1] • SPPnet (ECCV 2014) [2] • Fast R-CNN (ICCV 2015) [3] • Faster R-CNN (NIPS 2015) [4] • YOLO(You Only Look Once) (CVPR 2016) [5] Overview 8
  9. 9. • Selective Searchを用いて、画像から物体候補(Region proposals)を探す(2000個程度) • 物体候補の領域画像を全て一定の大きさにリサイズしてCNNにかけてfeaturesを取り出す • 取り出したFeaturesを使って複数のSVMによって学習しカテゴリ識別、Regressionによって Bounding Box(物体を囲う正確な位置)を推定 R-CNN 9
  10. 10. ■欠点 • 学習を各目的ごとに別々に学習する必要がある(Fine-tune/SVM/Bounding Box Regression) • 実行時間がすごく遅い(GPUを使って10-45 [s/image]) R-CNN 10
  11. 11. • R-CNN (Regions with CNN features) (CVPR 2014) [1] • SPPnet (ECCV 2014) [2] • Fast R-CNN (ICCV 2015) [3] • Faster R-CNN (NIPS 2015) [4] • YOLO(You Only Look Once) (CVPR 2016) [5] Overview 11
  12. 12. • RoI pooling layerというシンプルな幅可変Pooling • Classification/Bounding Box Regressionを同時に学習させるためのMulti-task lossに よって1回で学習させる • オンラインで教師データを生成する工夫の提案 VGG16を用いたR-CNNより9倍の学習速度、213倍の識別速度 Fast R-CNN 12
  13. 13. ■欠点 • Region Proposalの部分はDeepじゃない(Selective Search) Fast R-CNN 13
  14. 14. • R-CNN (Regions with CNN features) (CVPR 2014) [1] • SPPnet (ECCV 2014) [2] • Fast R-CNN (ICCV 2015) [3] • Faster R-CNN (NIPS 2015) [4] • YOLO(You Only Look Once) (CVPR 2016) [5] Overview 14
  15. 15. • Region Proposal Network (RPN)という物体候補領域を推定してくれるネットワーク • + RoI Poolingにクラス推定を行うことでEnd to Endで学習できるアーキテクチャを提案 既存手法(Selective Search)よりも物体候補が高精度化 GPU上で5fpsの実行速度を達成、識別精度もFast-RCNNより高精度化 Faster R-CNN 15
  16. 16. ■欠点 • ネットワークが複雑、意外と実装大変(所感) • まだまだReal-Timeには程遠い Faster R-CNN 16
  17. 17. • R-CNN (Regions with CNN features) (CVPR 2014) [1] • SPPnet (ECCV 2014) [2] • Fast R-CNN (ICCV 2015) [3] • Faster R-CNN (NIPS 2015) [4] • YOLO(You Only Look Once) (CVPR 2016) [5] Overview 17
  18. 18. • 予め画像全体をグリッド分割、各領域ごとに物体のクラスとBounding Boxを求める • シンプルなCNNのアーキテクチャ R-CNNに識別精度は少し劣るが45-155FPSの検出速度を達成 YOLO(You Only Look Once) 18
  19. 19. ■欠点 • グリッド内に大量のオブジェクトが映ってしまうような場合に弱い • 分割されたグリッドサイズは固定かつ、グリッド内で識別できるクラスは1つで、 • 検出できる物体の数は2つという制約を設けている(実験の設定では) YOLO(You Only Look Once) 19
  20. 20. 20
  21. 21. シンプルなネットワークを用いた物体検出アルゴリズム(YOLOに近い) • 学習時にObject Proposalを直接学習 • Proposal Generationが不要 • Fast/Faster R-CNNのようなFeature Resamplingのステージが不要 • 全ての演算を1つのネットワークで実現 SSD 21
  22. 22. シンプルなネットワークを用いた物体検出アルゴリズム(YOLOに近い) • 学習時にObject Proposalを直接学習 • Proposal Generationが不要 • Fast/Faster R-CNNのようなFeature Resamplingのステージが不要 • 全ての演算を1つのネットワークで実現 SSD 22 VOC2007のデータセットにおいて、 300×300の入力画像サイズで74.3% mAP at 59 FPSを達成(Nvidia Titan Xを利用) 512×512の画像サイズにおいては、76.8% mAPを達成(Faster R-CNNは73.2% mAP)
  23. 23. • Multi-scale feature maps for detection • Convolutional predictors for detection • Default boxes and aspect ratios Model 23
  24. 24. • Multi-scale feature maps for detection • Convolutional predictors for detection • Default boxes and aspect ratios Model 24 ベースネットワークの最後に FeatureMapを追加 => 出力サイズをゴリゴリ減らしてマ ルチスケールに対応
  25. 25. • Multi-scale feature maps for detection • Convolutional predictors for detection • Default boxes and aspect ratios Model 25 3x3の小さなフィルタを掛け、 物体クラスのスコアと、物体位置の オフセットを出力
  26. 26. • Convolutional predictors for detection 3x3の小さなフィルタを掛け、物体クラスのスコアと物体位置のオフセット(x, y , w, h)を出力 出力の一つ一つのセルが ・物体クラス ・物体位置 を表すイメージ Model 26
  27. 27. • Multi-scale feature maps for detection • Convolutional predictors for detection • Default boxes and aspect ratios Model 27
  28. 28. • Default boxes and aspect ratios 異なるアスペクト比に対応するために、アスペクト比ごとに出力を分ける k個のアス比の異なるボックス、c個の物体クラスと、4つのオフセットを出力する 場合、1つセルのサイズは(c+4)kになる feature mapがm*nとすると、 最終的な出力マップは、(c+4)kmnになる Model 28
  29. 29. ロス関数は 物体の位置ずれである、localization loss (loc) と 物体のクラスである、confidence loss (conf)を組み合わせたもの 各画像で出てきた全ての出力に対して、(1)式を計算する (Nはマッチしたボックスの数、重みαは実験では1.0) Training Objective 29
  30. 30. localization loss (loc)は、Faster R-CNNと同様の Smooth L1 loss Training Objective 30 confidence loss (conf)は、Softmax Loss
  31. 31. マルチスケールな出力をするために、各Feature Mapに役割を与える Choosing scales and aspect ratios for default boxes 31 Feature Mapのみなさん
  32. 32. m個のFeatureMapを使う場合、 各FeatureMapは下記のスケールを持つ大きさのオブジェクトを 検出する役割を持つ Choosing scales and aspect ratios for default boxes 32 (Sminは0.2、Smaxは0.9)
  33. 33. アスペクト比が1の場合においては、下記の異なるスケールのBoxを計算 アスペクト比は、  ar ∈ {1, 2, 3, 1/2, 1/3} において、下記の式でDefault Boxの大きさを計算 Choosing scales and aspect ratios for default boxes 33 1つのFeatureMapに対して、合計6個のアスペクト比のBoxを作る *ただし幾つかのFeatureMapは除く(4個)
  34. 34. 大量にBounding Boxをサジェストされるので、 学習時にNegativeが大量に発生 confidence lossを降順にソートして、上位からピックアップ NegativeとPositiveの比率が3:1になるように調整 Hard negative mining 34
  35. 35. 下記3つの方法からランダムにとる • 画像全体を利用 • Jaccard Overlapが{0.1, 0.3, 0.5, 0.7, 0.9} のパッチをサンプリング • パッチをランダムサンプリング パッチサイズはオリジナルの[0.1, 1]、aspect ratioは[1/2, 2] もし、Cropしたサンプル内にGround Truthの領域が入っていたら、その領域はすべて含む (その後)サンプリングした後に、各サンプルをリサイズして0.5の確率でFlip Data augmentation 35
  36. 36. ■Base Network - ILSVRC CLS-LOC datasetでPretrainされたVGG16をベースにする - fc6とfc7をConvolution Layerに変更 - pool5を 2×2−s2 -> 3×3−s1 - a trous algorithmを利用 - Dropoutなし - fc8 Layerは削除 Experimental Results 36
  37. 37. SSD300 is already better than Faster R-CNN by 1.1% SSD512 is 3.6% better. PASCAL VOC 2007 37
  38. 38. - Data augmentationは重要 - Default boxは多い方がいい - Atrous is faster - 使わない場合は精度はほぼ同じで20%遅い Model analysis 38
  39. 39. - Multiple output layers at different resolutions is better - SSDのメジャーコントリビューション - conv7だけだと一番精度が低い - ROI Poolingを使わないので"collapsing bins problem"は起きない Model analysis 39
  40. 40. SSD512 achieves 80.0% mAP, which is 4.1% higher than Faster R-CNN. PASCAL VOC2012 40
  41. 41. Results 41
  42. 42. Inference time 42 Faster R-CNNとYOLOより高精度 Fast YOLOは155 FPSだけど、SSDより22% mAP精度が低い
  43. 43. • 検出速度のアルゴリズム(YOLO)より高速で、Faster R-CNNと同等の高精度 なを実現するState of the artなアルゴリズムの提案 • 比較的低解像度(300x300px)でも高精度に検出できる • 階層的なFeature mapと利用することで様々なスケールに対応 • アスペクト比ごとに識別器を作ることで、高い精度の検出率を達成 • シンプルなネットワーク設計によりEnd-to-Endで学習できる まとめ 43
  44. 44. Join Us! https://www.wantedly.com/companies/abeja
  45. 45. • [1] Girshick, Ross, et al. "Rich feature hierarchies for accurate object detection and semantic segmentation." Proceedings of the IEEE conference on computer vision and pattern recognition. 2014. • [2] He, Kaiming, et al. "Spatial pyramid pooling in deep convolutional networks for visual recognition." European Conference on Computer Vision. Springer International Publishing, 2014. • [3] Girshick, Ross. "Fast r-cnn." Proceedings of the IEEE International Conference on Computer Vision. 2015. • [4] Ren, Shaoqing, et al. "Faster R-CNN: Towards real-time object detection with region proposal networks." Advances in neural information processing systems. 2015. • [5] Redmon, Joseph, et al. "You only look once: Unified, real-time object detection." arXiv preprint arXiv: 1506.02640 (2015). • [6] Liu, Wei, et al. "SSD: Single Shot MultiBox Detector." arXiv preprint arXiv:1512.02325 (2015). • [7] Uijlings, Jasper RR, et al. "Selective search for object recognition." International journal of computer vision 104.2 (2013): 154-171. Appendix 45

×