Más contenido relacionado
La actualidad más candente (20)
Similar a 関西Cvprml勉強会2017.9資料 (20)
Más de Atsushi Hashimoto (8)
関西Cvprml勉強会2017.9資料
- 2. 自己紹介
• 名前: 橋本敦史
• 2013.3.31 博士(情報学)取得 @京大・美濃研究室
• 専門: パターン認識,画像処理,HCI, マルチメディア処理
• 学会活動: CVIM研究会運営委員,MVE研究会専門委員,
CEA研究会幹事など
• 2006年度Vulcanus in Europe参加
• ドイツLeica Camera社R&Dで8ヶ月研修
• 料理研究家(CV&PR的な意味で).
- 3. 本日私が紹介する内容
• YOLO 9000
• 「2017時点の物体検出まとめ」として,他手法と比較しながら.
• (参考)作成段階で類似の資料を発見しました.
• https://www.slideshare.net/DeepLearningJP2016/dl-
reading-paper20170804pdf
• ↑の資料に負けないよう,少し「おまけ☆」を付けました.
- 4. 物体検出課題とは?
• 静止画の中から,特定のカテゴリの物体を内包する矩形
(Bounding Box: BB)を抽出する課題
• 類似の問題:
セマンティックセグメンテーション
→ 画素毎にカテゴリラベルを
割り振る課題
• 通常,検出対象のカテゴリは事前に「学習」されているこ
とが前提となる.
Yolo9000の出力例.Athleteなどコンテキスト
に基づいたクラス名まで出力→シーン認識的要素まであり.
(画像引用元)http://vladlen.info/publications/feature-space-
optimization-for-semantic-video-segmentation/
- 13. YOLOの問題点≒YOLO V2での改善点(1/2)
• ネットワーク構造に最近の手法を取り入れる→ Batch Normalizationの導入
• 特徴抽出部の事前学習時に入力画像の解像度が低い(224x224)
• ImageNetの学習サンプルを解像度(448x448)で10epoch分,追加学習.
• 領域の推定精度が悪い
• グリッド毎の識別・回帰を止めて,Anchor Box毎に識別・回帰
• Anchor boxは手動ではなく,データ・ドリブンに設定(少ない数x高いIOUを両立す
る設定)
• 矩形の回帰における無駄な探索を避ける定式化Anchor boxのサイズ(A_w, A_h)によっ
て正規化された値を推定.
• 左上ではなく,中心位置を推定.
• 幅(高さ)はAnchor boxのサイズとかけ離れないよう A_w*exp(t_w) のt_wとして推定.
- 14. YOLOの問題点≒YOLO V2での改善点(2/2)
• 小さい物体が検出できない(最終層が13x13のfeature map)
• 高解像度の特徴を浅い層からのpath throughにより追加
=(26x26x512)の特徴マップを(13x13x2048)に変形し,元の特徴に連結
• Multi Scale Training: Conv層とPooling層のみ→可変サイズなので,
10 batch毎にネットワークの入力サイズを変更(32pix刻み)
注: 448x448 の入力画像だと特徴マップのサイズは14x14になるが,物体が画像の中心付近にあることを考えて,
特徴マップのサイズが奇数(13x13)になるよう,事前学習後は入力サイズを416x416として運用.
- 17. YOLO V2 からYOLO 9000へ!
• ImageNetとCOCOを併用した学習
• 矩形の教師信号: COCOは有り / imageNetはなし
• カテゴリ数: COCOは少ない / imageNetは多い
• 多すぎるカテゴリに対する木構造のLossの設計
• カテゴリは本質的には階層的(例: 物体→動物→...→犬→シベリアンハスキー)
• P(物体|bb),P(動物|物体),.., P(犬|動物),P(シベリアンハスキー|犬) を学習.
• 共通の親を持つ「兄弟カテゴリグループ」毎にcross-categorical loss → P(子|親)の学習になる.
• 検出の閾値と,カテゴリの確信度の2つのしきい値→「動物」だったり「犬」だったり,直感的な出力.
• COCOとImageNetのカテゴリの詳細度を吸収して学習可能
- 18. YOLO V2 からYOLO 9000へ!
• ImageNetとCOCOを併用した学習
• 矩形の教師信号: COCOは有り / imageNetはなし存在せず
• カテゴリ数: COCOは少ない / imageNetは多い
• 多すぎるカテゴリに対する木構造のLossの設計
• カテゴリは本質的には階層的(例: 物体→動物→...→犬→シベリアンハスキー)
• P(物体|bb),P(動物|物体),.., P(犬|動物),P(シベリアンハスキー|犬) を学習.
• 共通の親を持つ「兄弟カテゴリグループ」毎にcross-categorical loss → P(子|親)の学習になる.
• 検出の閾値と,カテゴリの確信度の2つのしきい値→「動物」だったり「犬」だったり,直感的な出力.
• COCOとImageNetのカテゴリの詳細度を吸収して学習可能
kerasで作りました!
https://github.com/AtsushiHashimoto/keras_hierarc
hical_prediction
- 19. 各種手法の所感
• R-CNN, Fast R-CNNは今時は余り使わない
→矩形の教師データがないときは何か使えるかも??
• Faster R-CNN
• 一種のデファクトスタンダード.YoloやSSDより遅いのがネック
• 研究グループのアクティブさが半端ない(FCN, Mask R-CNN)
• SSD
• Yolo v2に速度・精度でやや劣るものの,darknetのサポートの薄さから,
もうしばらく優位か?
• Yolo v2
• メジャーなフレームワークへの取り込みが待たれる
(学習済みモデル自体は公開済みなので時間の問題?)
- 22. FEATURE PYRAMID NETWORK FOR OBJECT DETECTION
• SIFTにおけるDoGのように,解像度毎の処理をすることが有効な画像処理は多い.
• 例: 小さい物体の検出, segmentation
• ピラミッド=解像度の異なるFeature Mapの利用
• CNNは階層構造を持つ... しかし...
• 解像度が高い層=浅い層=信号レベルの特徴
• そこで,Top-Downの折り返し処理(図)
1. 深い階層(Top)から折り返しTransConv.
2. 各階層のBottom-Upの出力をAdd
(1x1convでfilter数をあわせて足し込む)
3. Top-Downの各階層を特徴マップとして利用
Tsung-Yi Lin, Piotr Dollár, Ross Girshick, Kaiming He, Bharath Hariharan, Serge Belongie
- 25. FASTER R-CNNのネットワーク
VGG16
ROI pooling
Anchor Box生成
グリッド毎の前景らしさ
の確率計算
Sliding
Window(並列)
重なりを排除
(Non-maximum supression)
上位N個のみ残す
(Nは少なめ:300とか)
上位N個のみ残す
(Nは大きめ:6000とか)
矩形の推定
カテゴリの推定
https://raw.githubusercontent.com/wiki/mitmul/chainer-faster-rcnn/images/Faster%20R-CNN.png
- 26. MASK R-CNNのネットワーク
VGG16
ROI pooling
Anchor Box生成
グリッド毎の前景らしさ
の確率計算
Sliding
Window(並列)
重なりを排除
(Non-maximum supression)
上位N個のみ残す
(Nは少なめ:300とか)
上位N個のみ残す
(Nは大きめ:6000とか)
矩形の推定
カテゴリの推定
https://raw.githubusercontent.com/wiki/mitmul/chainer-faster-rcnn/images/Faster%20R-CNN.png
ConvDecovの
Semantec Segmentation
- 29. (今度こそ)まとめ
• YOLO9000:
• より良く,より速く,より強く,は本当.
• Better: 過去の手法のいいところを採用
• Faster: 統計に基づいてAnchor Boxを事前に厳選,Compactで表現力の高いネットワーク
• Stronger: BB付きのCOCOと,カテゴリ数が多いImage Netを混在させた上手い学習.
• WordNetの階層構造を考慮したLoss関数は色々使えそう.
• 今後の物体検出問題の方向性
• Instance Segmentation (Mask R-CNN)
• より小さな対象の検出やSegmentation (FPN)
• 他は?よりOcclusionに強い手法,物体追跡との融合(動画),など??
• 他のタスクとのさらなる連携 (Image Captioning, Scene Graph Generation, etc.)
- 30. 個人的に今後(1,2年?)熱いと思っている技術
1. Message Passing: MRF-likeなモデルの最適化を学習ベースで解く.
1. 例題: Pose Estimation(Open Pose)やScene Graph Generation
• 繰り返し回数は固定(ネットワークの形状に含まれる)
2. 時系列データによるSelf-Supervised Learning
• 未来/過去の予測によるAuto-encoding的学習[1],フレーム順序入れ替え検出の学習[2]
• もうやられてしまったが,実用性・応用範囲は高そう&工夫の余地も多そう.
• [1]”Unsupervised Learning of Long-Term Motion Dynamics for Videos”
• [21“LSTM Self-Supervision for Detailed Behavior Analysis”
3. CNNとRNNのつなぎ目での重みの伝播をスムーズに.
• CVPR2017の手法はちょっとアドホック?: “Semantic Regularization for Recurrent Image
Annotation”
• できたら,Web上の任意の画像とキャプションの組から学習が可能になる
=究極のWebly Supervised Learning??
(今回の紹介内容とは別に)