CVPR2018論文紹介
Pseudo Mask Augmented Object Detection
Xiangyun Zhao[Northwestern Univ.], Shuang Liang[Tongji Univ.]
and Yichen Wei[MS Research]
中部大学大学院 工学研究科 情報工学専攻 博士前期過程
荒木 諒介
2018/06/23 第51回 名古屋CV・PRML勉強会@中部大学名古屋キャンパス
はじめに
• 荒木 諒介 (Ryosuke Araki)
– 機械知覚&ロボティクスグループ (MPRG)
2
DCNNによる把持位置検出
SSDによる未知物体検出
研究テーマ 趣味
愛車: SUZUKI SWIFT RS
ZC72S ’13 5MT 91ps 1242cc
愛馬: YAMAHA YBR125
至尊天剣 ’15 5MT 10ps 124cc
無謀な長距離運転
鳥取砂丘↓
↓大学 ・アマチュア無線
・電子工作
・DeskTopMusic
@ryors_k
概要
cvpaper.challengeのスライドとAbstract
3
概要
新規性・結果・なぜ通ったか? コメント・リンク集
Pseudo Mask Augmented Object Detection
4
Bounding boxでの物体検出でグラフカットを用いて擬似的なマスク
(セグメンテーション)のrefinementを行う.インスタンスセグメンテー
ションの学習を行うことで擬似的な物体マスクを推定できるように
ネットワークパラメータを最適化する.フレームワークは検出ネット
ワークと擬似的なマスクのrefinementを行うグラフカットベースのモ
ジュールからなる.RoIを入力として,ベースネットワークの特徴マッ
プからインスタンスセグメンテーションを行い,それをグラフカットモ
ジュールに入力して擬似的なマスクを得る.インスタンスセグメン
テーションの結果はbounding boxの修正にも用いられる.
流行りの物体検出+セグメンテーションの手法.マスクを単に特徴
マップから得て終わりではなく,グラフカットでrefineする部分は新し
いところ.グラフカットを数iter行うことで,よりきれいなマスクを得る
ことができる.VOC2007/2012を用いた物体検出の精度は
mAP74.4%(VGG-16)で,Faster R-CNN(70.4%)やHyperNet(71.4)
よりも良い.VOC2012SDSを用いたセグメンテーションの精度は
58.5/67.6(マスクレベルスコア/物体検出スコア)%であり,iterを繰り
返すことで精度が向上することが確認されている.
セグメンテーションタスクの精度向上のためグラフカットでマスクの
refineを繰り返し行うのは面白いと思った.Iter0とiter3でマスクの結
果を比較するとかなりきれいになっている.
論文:
http://openaccess.thecvf.com/content_cvpr_2018/papers/Zhao_Ps
eudo_Mask_Augmented_CVPR_2018_paper.pdf
arXiv:https://arxiv.org/abs/1803.05858
ID:530
Xiangyun Zhao, Shuang Liang and Yichen Wei
https://cvpaperchallenge.github.io/CVPR2018_Survey/#/Pseudo_Mask_Augmented_Object_Detection
概要
• Object detection + instance segmentation
– 最近流行りのMask R-CNNのような手法
• Segmentationを行うmask部分をグラフカットで実装
– 繰り返しグラフカットを行うことで高精度化
• Segmentationの教師信号は不要
5
ネットワーク
DCNNの詳細
6
ネットワーク全体構造
7
ネットワーク全体構造
8
Instance segmentation sub-network
Object detection sub-network
(Faster R-CNN ベース)
ベースネットワーク
• VGGまたはResNet
• 畳み込み層を共有
– VGG:conv1-5
– ResNet:conv1-4
9
Instance segmentation
sub-network
• 1x1畳み込みでスコアマップを得る
• Position-sensitive RoI poolingでsegmentation結果を得る
• Segmentation結果をグラフカットでrefinement
• 得られたマスクと教師信号を比較してさらにrefinement
• Refinementを数iteration繰り返す
10
Instance segmentation
sub-network
• 1x1畳み込みでスコアマップを得る
• Position-sensitive RoI poolingでsegmentation結果を得る
• Segmentation結果をグラフカットでrefinement
• 得られたマスクと教師信号を比較してさらにrefinement
• Refinementを数iteration繰り返す
11
Instance segmentation
sub-network
• 1x1畳み込みでスコアマップを得る
• Position-sensitive RoI poolingでsegmentation結果を得る
• Segmentation結果をグラフカットでrefinement
• 得られたマスクと教師信号を比較してさらにrefinement
• Refinementを数iteration繰り返す
12
Instance segmentation
sub-network
• 1x1畳み込みでスコアマップを得る
• Position-sensitive RoI poolingでsegmentation結果を得る
• Segmentation結果をグラフカットでrefinement
• 得られたマスクと教師信号を比較してさらにrefinement
• Refinementを数iteration繰り返す
13
Instance segmentation
sub-network
• 1x1畳み込みでスコアマップを得る
• Position-sensitive RoI poolingでsegmentation結果を得る
• Segmentation結果をグラフカットでrefinement
• 得られたマスクと教師信号を比較してさらにrefinement
• Refinementを数iteration繰り返す
14
Instance segmentation
sub-network
• 1x1畳み込みでスコアマップを得る
• Position-sensitive RoI poolingでsegmentation結果を得る
• Segmentation結果をグラフカットでrefinement
• 得られたマスクと教師信号を比較してさらにrefinement
• Refinementを数iteration繰り返す
15
Graph cut refinement
• セグメンテーションの高精度化
• EMアルゴリズムのように反復して行う
– 繰り返すごとに高精度になっていく
16
Graph cut refinement
• セグメンテーションの高精度化
• EMアルゴリズムのように反復して行う
– 繰り返すごとに高精度になっていく
17
𝐵 𝑔𝑡
:すべてのGT box
𝑀 𝑝𝑠𝑒𝑢𝑑𝑜
:Pseudo GT Mask
Θ:ネットワークパラメータ
𝑀 Θ :Segmentationの出力結果
𝐵(Θ):Detectionの出力結果
𝐿 𝑠𝑒𝑔 𝑀 Θ 𝑀 𝑝𝑠𝑒𝑢𝑑𝑜, 𝐵 𝑔𝑡 + 𝐿 𝑑𝑒𝑡 𝐵 Θ 𝐵 𝑔𝑡 … (1)
Object detection
sub-network
• 特徴マップとsegmentation score
mapからRoIを取得
• RoIプーリングを行いsegmentationを結合
• 全結合層から検出結果を取得
18
(segmentationの
score maps)
(segmentation)
Object detection
sub-network
• 特徴マップとsegmentation score
mapからRoIを取得
• RoIプーリングを行いsegmentationを結合
• 全結合層から検出結果を取得
19
(segmentationの
score maps)
(segmentation)
Object detection
sub-network
• 特徴マップとsegmentation score
mapからRoIを取得
• RoIプーリングを行いsegmentationを結合
• 全結合層から検出結果を取得
20
(segmentationの
score maps)
(segmentation)
Object detection
sub-network
• 特徴マップとsegmentation score
mapからRoIを取得
• RoIプーリングを行いsegmentationを結合
• 全結合層から検出結果を取得
21
(segmentationの
score maps)
(segmentation)
誤差関数
22
𝐵 𝑔𝑡
:すべてのGT box
𝑀 𝑝𝑠𝑒𝑢𝑑𝑜
:Pseudo GT Mask
Θ:ネットワークパラメータ
𝑀 Θ :Segmentationの出力結果
𝐵(Θ):Detectionの出力結果
𝐿2𝐷(∙):2D mask loss
𝐿1𝐷(∙):1D mask loss
𝐿 𝑐𝑙𝑠(∙):class loss
𝐿 𝑟𝑒𝑔(∙):regression loss
𝐿 𝑠𝑒𝑔 𝑀 Θ 𝑀 𝑝𝑠𝑒𝑢𝑑𝑜, 𝐵 𝑔𝑡 + 𝐿 𝑑𝑒𝑡 𝐵 Θ 𝐵 𝑔𝑡 … (1)
𝐿 𝑠𝑒𝑔 = 𝐿2𝐷 𝑀 Θ 𝑀 𝑝𝑠𝑒𝑢𝑑𝑜 + 𝐿1𝐷 𝑀 Θ 𝐵 𝑔𝑡 … (2)
𝐿 𝑑𝑒𝑡 = 𝐿 𝑐𝑙𝑠 𝐵 Θ 𝐵 𝑔𝑡 + 𝐿 𝑟𝑒𝑔 𝐵 Θ 𝐵 𝑔𝑡 … (3)
※
𝐿1𝐷(∙):1dベクトルのsigmoid cross entropy
𝐿2𝐷(∙):2次元の𝐿1𝐷(∙)
評価実験
実験概要,Ablation,結果
23
評価実験
• Faster R-CNN(Caffe)のコードを用いて開発
– RPNは1回だけ学習してfix
– ベースネット:VGG-16,ResNet-50,ResNet-101
– 事前学習モデル:ILSVRC2012
• データセット:Pascal VOC 2007+2012
• 最適化:SGD
– lr:0.001 x 80k itr + 0.0001 x 40k itr
• グラフカットのitr:3回
– 3回以上やっても精度向上せず
24
Ablation study
25
Ablation study
26
Segmentationなしでも高精度
iter数増えるごとに精度向上
実験結果
• Faster R-CNNより高精度
27
検出結果例(物体検出)
28
検出結果例(セグメンテーション)
29
まとめ
• Pseudo Mask Augmented Object Detection
– B-box annotationのみでインスタンスセグメンテーション
– セグメンテーション結果で物体検出を容易に
• コメント
– このタイプ(ObjDet+Seg)は最近流行りの様子
• CVPRだけでも数件ありました
– セグメンテーションのためにグラフカットを用いたのは面白い
– MSCOCOでの評価結果が気になる
– Faster R-CNNの表記ゆれをなんとかしてほしい(気になる……)
• Faster-RCNN, faster R-CNN, Faster RCNN
30

CVPR2018論文紹介「Pseudo Mask Augmented Object Detection」

  • 1.
    CVPR2018論文紹介 Pseudo Mask AugmentedObject Detection Xiangyun Zhao[Northwestern Univ.], Shuang Liang[Tongji Univ.] and Yichen Wei[MS Research] 中部大学大学院 工学研究科 情報工学専攻 博士前期過程 荒木 諒介 2018/06/23 第51回 名古屋CV・PRML勉強会@中部大学名古屋キャンパス
  • 2.
    はじめに • 荒木 諒介(Ryosuke Araki) – 機械知覚&ロボティクスグループ (MPRG) 2 DCNNによる把持位置検出 SSDによる未知物体検出 研究テーマ 趣味 愛車: SUZUKI SWIFT RS ZC72S ’13 5MT 91ps 1242cc 愛馬: YAMAHA YBR125 至尊天剣 ’15 5MT 10ps 124cc 無謀な長距離運転 鳥取砂丘↓ ↓大学 ・アマチュア無線 ・電子工作 ・DeskTopMusic @ryors_k
  • 3.
  • 4.
    概要 新規性・結果・なぜ通ったか? コメント・リンク集 Pseudo MaskAugmented Object Detection 4 Bounding boxでの物体検出でグラフカットを用いて擬似的なマスク (セグメンテーション)のrefinementを行う.インスタンスセグメンテー ションの学習を行うことで擬似的な物体マスクを推定できるように ネットワークパラメータを最適化する.フレームワークは検出ネット ワークと擬似的なマスクのrefinementを行うグラフカットベースのモ ジュールからなる.RoIを入力として,ベースネットワークの特徴マッ プからインスタンスセグメンテーションを行い,それをグラフカットモ ジュールに入力して擬似的なマスクを得る.インスタンスセグメン テーションの結果はbounding boxの修正にも用いられる. 流行りの物体検出+セグメンテーションの手法.マスクを単に特徴 マップから得て終わりではなく,グラフカットでrefineする部分は新し いところ.グラフカットを数iter行うことで,よりきれいなマスクを得る ことができる.VOC2007/2012を用いた物体検出の精度は mAP74.4%(VGG-16)で,Faster R-CNN(70.4%)やHyperNet(71.4) よりも良い.VOC2012SDSを用いたセグメンテーションの精度は 58.5/67.6(マスクレベルスコア/物体検出スコア)%であり,iterを繰り 返すことで精度が向上することが確認されている. セグメンテーションタスクの精度向上のためグラフカットでマスクの refineを繰り返し行うのは面白いと思った.Iter0とiter3でマスクの結 果を比較するとかなりきれいになっている. 論文: http://openaccess.thecvf.com/content_cvpr_2018/papers/Zhao_Ps eudo_Mask_Augmented_CVPR_2018_paper.pdf arXiv:https://arxiv.org/abs/1803.05858 ID:530 Xiangyun Zhao, Shuang Liang and Yichen Wei https://cvpaperchallenge.github.io/CVPR2018_Survey/#/Pseudo_Mask_Augmented_Object_Detection
  • 5.
    概要 • Object detection+ instance segmentation – 最近流行りのMask R-CNNのような手法 • Segmentationを行うmask部分をグラフカットで実装 – 繰り返しグラフカットを行うことで高精度化 • Segmentationの教師信号は不要 5
  • 6.
  • 7.
  • 8.
  • 9.
  • 10.
    Instance segmentation sub-network • 1x1畳み込みでスコアマップを得る •Position-sensitive RoI poolingでsegmentation結果を得る • Segmentation結果をグラフカットでrefinement • 得られたマスクと教師信号を比較してさらにrefinement • Refinementを数iteration繰り返す 10
  • 11.
    Instance segmentation sub-network • 1x1畳み込みでスコアマップを得る •Position-sensitive RoI poolingでsegmentation結果を得る • Segmentation結果をグラフカットでrefinement • 得られたマスクと教師信号を比較してさらにrefinement • Refinementを数iteration繰り返す 11
  • 12.
    Instance segmentation sub-network • 1x1畳み込みでスコアマップを得る •Position-sensitive RoI poolingでsegmentation結果を得る • Segmentation結果をグラフカットでrefinement • 得られたマスクと教師信号を比較してさらにrefinement • Refinementを数iteration繰り返す 12
  • 13.
    Instance segmentation sub-network • 1x1畳み込みでスコアマップを得る •Position-sensitive RoI poolingでsegmentation結果を得る • Segmentation結果をグラフカットでrefinement • 得られたマスクと教師信号を比較してさらにrefinement • Refinementを数iteration繰り返す 13
  • 14.
    Instance segmentation sub-network • 1x1畳み込みでスコアマップを得る •Position-sensitive RoI poolingでsegmentation結果を得る • Segmentation結果をグラフカットでrefinement • 得られたマスクと教師信号を比較してさらにrefinement • Refinementを数iteration繰り返す 14
  • 15.
    Instance segmentation sub-network • 1x1畳み込みでスコアマップを得る •Position-sensitive RoI poolingでsegmentation結果を得る • Segmentation結果をグラフカットでrefinement • 得られたマスクと教師信号を比較してさらにrefinement • Refinementを数iteration繰り返す 15
  • 16.
    Graph cut refinement •セグメンテーションの高精度化 • EMアルゴリズムのように反復して行う – 繰り返すごとに高精度になっていく 16
  • 17.
    Graph cut refinement •セグメンテーションの高精度化 • EMアルゴリズムのように反復して行う – 繰り返すごとに高精度になっていく 17 𝐵 𝑔𝑡 :すべてのGT box 𝑀 𝑝𝑠𝑒𝑢𝑑𝑜 :Pseudo GT Mask Θ:ネットワークパラメータ 𝑀 Θ :Segmentationの出力結果 𝐵(Θ):Detectionの出力結果 𝐿 𝑠𝑒𝑔 𝑀 Θ 𝑀 𝑝𝑠𝑒𝑢𝑑𝑜, 𝐵 𝑔𝑡 + 𝐿 𝑑𝑒𝑡 𝐵 Θ 𝐵 𝑔𝑡 … (1)
  • 18.
    Object detection sub-network • 特徴マップとsegmentationscore mapからRoIを取得 • RoIプーリングを行いsegmentationを結合 • 全結合層から検出結果を取得 18 (segmentationの score maps) (segmentation)
  • 19.
    Object detection sub-network • 特徴マップとsegmentationscore mapからRoIを取得 • RoIプーリングを行いsegmentationを結合 • 全結合層から検出結果を取得 19 (segmentationの score maps) (segmentation)
  • 20.
    Object detection sub-network • 特徴マップとsegmentationscore mapからRoIを取得 • RoIプーリングを行いsegmentationを結合 • 全結合層から検出結果を取得 20 (segmentationの score maps) (segmentation)
  • 21.
    Object detection sub-network • 特徴マップとsegmentationscore mapからRoIを取得 • RoIプーリングを行いsegmentationを結合 • 全結合層から検出結果を取得 21 (segmentationの score maps) (segmentation)
  • 22.
    誤差関数 22 𝐵 𝑔𝑡 :すべてのGT box 𝑀𝑝𝑠𝑒𝑢𝑑𝑜 :Pseudo GT Mask Θ:ネットワークパラメータ 𝑀 Θ :Segmentationの出力結果 𝐵(Θ):Detectionの出力結果 𝐿2𝐷(∙):2D mask loss 𝐿1𝐷(∙):1D mask loss 𝐿 𝑐𝑙𝑠(∙):class loss 𝐿 𝑟𝑒𝑔(∙):regression loss 𝐿 𝑠𝑒𝑔 𝑀 Θ 𝑀 𝑝𝑠𝑒𝑢𝑑𝑜, 𝐵 𝑔𝑡 + 𝐿 𝑑𝑒𝑡 𝐵 Θ 𝐵 𝑔𝑡 … (1) 𝐿 𝑠𝑒𝑔 = 𝐿2𝐷 𝑀 Θ 𝑀 𝑝𝑠𝑒𝑢𝑑𝑜 + 𝐿1𝐷 𝑀 Θ 𝐵 𝑔𝑡 … (2) 𝐿 𝑑𝑒𝑡 = 𝐿 𝑐𝑙𝑠 𝐵 Θ 𝐵 𝑔𝑡 + 𝐿 𝑟𝑒𝑔 𝐵 Θ 𝐵 𝑔𝑡 … (3) ※ 𝐿1𝐷(∙):1dベクトルのsigmoid cross entropy 𝐿2𝐷(∙):2次元の𝐿1𝐷(∙)
  • 23.
  • 24.
    評価実験 • Faster R-CNN(Caffe)のコードを用いて開発 –RPNは1回だけ学習してfix – ベースネット:VGG-16,ResNet-50,ResNet-101 – 事前学習モデル:ILSVRC2012 • データセット:Pascal VOC 2007+2012 • 最適化:SGD – lr:0.001 x 80k itr + 0.0001 x 40k itr • グラフカットのitr:3回 – 3回以上やっても精度向上せず 24
  • 25.
  • 26.
  • 27.
  • 28.
  • 29.
  • 30.
    まとめ • Pseudo MaskAugmented Object Detection – B-box annotationのみでインスタンスセグメンテーション – セグメンテーション結果で物体検出を容易に • コメント – このタイプ(ObjDet+Seg)は最近流行りの様子 • CVPRだけでも数件ありました – セグメンテーションのためにグラフカットを用いたのは面白い – MSCOCOでの評価結果が気になる – Faster R-CNNの表記ゆれをなんとかしてほしい(気になる……) • Faster-RCNN, faster R-CNN, Faster RCNN 30