Más contenido relacionado La actualidad más candente (20) Similar a 論文紹介: Fast R-CNN&Faster R-CNN (7) 論文紹介: Fast R-CNN&Faster R-CNN1. 論文紹介
Fast R-CNN &
Faster R-CNN: Towards Real-Time Object
Detection with Region Proposal Networks
Takashi Abe (@tabe2314)
2. 紹介する論文
Fast R-CNN
Ross Girshick (R-CNNの人)
http://arxiv.org/abs/1504.08083
Faster R-CNN: Towards Real-Time Object
Detection with Region Proposal Networks
Shaoqing Ren, Kaiming He, Ross Girshick, Jian Sun
http://arxiv.org/abs/1506.01497
• 著者は全員 MSR
• Pascal VOC Detection Leader Board
• CVPR2015ではありません、申し訳ありません……
4. R-CNN* 復習
2. Selective Searchで候補領域を出す
3. それぞれ既定の大きさにリサイズしてCNNに投入
4. CNNのoutputを特徴として分類 (SVM or softmax)
5. 矩形の座標を回帰(候補領域のズレを補正するため)
• 関連: Deep Learningで物体検出 (@takmin)
* R. Girshick, J. Donahue, T. Darrell, J. Malik. Region-based Convolutional Networks for Accurate Object Detection and Semantic Segmentation. TPAMI, 2015.
7. SPP-net*
• 任意サイズの領域を決まったサイズにプーリングする
Spatial Pyramid Poolingを導入
• 任意サイズの画像を入力して、任意の領域の決まった
長さの特徴を計算可能
• R-CNNに対して10-100xの高速化 (約1sec+1sec(SS) /
image)
• 学習が多段で煩雑である問題は解決していない
Kaiming He, Xiangyu Zhang, Shaoqing Ren, and Jian Sun. Spatial Pyramid Pooling in Deep Convolutional Networks for Visual Recognition, ECCV2015.
8. Fast R-CNN の Contribution
• R-CNNに対して精度向上
• Multi-task lossを導入することで、システム全体を一発
で学習できるように
• Pretraining済みの下の層も含めてネットワーク全体の
パラメータを学習
• 学習中にストレージを使わない(これは単に実装の問
題という気も……)
• Caffeを改造した実装をgithubで公開中
• https://github.com/rbgirshick/fast-rcnn
11. Multi-task Loss
L = 分類誤差 + λ [背景ではない] 矩形回帰誤差
分類: 物体カテゴリ数+1クラス分類 (+1は背景クラス)
矩形回帰: 候補領域を真のBounding Boxに近づける回帰
FC
softmax
分類
誤差
矩形
回帰
誤差
Smooth L1
Cross
Entropy
18. Faster R-CNN あらまし
• (Fast R-CNN含め) CNNベースの物体検出器は物体候補
領域をあらかじめ求めないといけない
• 一般的な方法は Selective Search, BING, etc.
• 遅い、システムが前後に分断されて綺麗じゃない
• 物体候補領域検出処理もCNNで行う Region Proposal
Network を提案してFast R-CNNのSSを置き換え
• 後段のFast R-CNNと計算を共通化するので速い
• End-to-endで学習するので高精度
• 高速(0.2sec/image), 高精度(PASCAL VOCでトップ)
20. RPN: feature map上でsliding window
• Fast R-CNNと同様にconv層を何
段かかけてfeature mapを計算
• Feature map上で3x3の検出窓を走
査、物体の有無を窓ごとに分類
• 3x3xチャンネル数 -> 256次元 ->
objectness score&矩形回帰
• 実際にはsliding-windowせず、
Fully-CNNとして表現可能
• 3x3 conv -> 1x1 conv
24. Lossと学習
• LossはほぼF-RCNNと同じ
• Anchorごとに
• 分類誤差 + λ [背景ではない] 矩形回帰誤差
• 各Anchorは、正解データの矩形とIoU>0.7でかぶって
いればPositive, IoU<0.3ならNegative, 残りはどちらで
もない(学習時は無視)
• 単純にネットワーク全体(feature mapを計算するconv
層含む)でBPして学習
25. Fast R-CNNとFeature mapを共有
• 任意サイズの入力画像をconv層何段かに通してfeature
mapを計算するのはFast R-CNNでも同じ
• このconv層をRPNとFast R-CNNで共有したい
• そうすると相互に依存してしまうので以下の手順で学
習
1. ImageNet訓練済みconv層を使ってにRPN学習
2. 1で学習したRPNが出力した候補矩形を使って、同様
にImageNet訓練済みconv層を使って学習
3. 2でfinetuneされたconv層を使ってRPN学習しなおす、
この際conv層はfix
29. まとめ
• R-CNN系列の最新手法Fast R-CNNを紹介
• 数百倍高速化された
• そうなるとSelective Searchがボトルネック
• 候補矩形を出すところもCNNでやろう → Region
Proposal Network
• 精度良い&Fast R-CNNと計算を共有できるので速
い
• システム全体で200ms/image! ほぼリアルタイム
• 精度も現在のSOTA