More Related Content
More from Takanori Ogata (15)
20200704 Deep Snake for Real-Time Instance Segmentation
- 2. Copyright © ABEJA, Inc. All rights reserved
Self-Introduction
緒方 貴紀@ ABEJA, Inc. Twitter: @conta_
研究開発からプロトタイプ開発・セールス・
人事・雑用まで何でもやります。
趣味は 音楽・お酒・筋トレ ←New
- 3. Copyright © ABEJA, Inc. All rights reserved
Deep Snake for Real-Time Instance Segmentation
• CVPR2020 (Oral)
• 物体輪郭を用いたInstance Segmentationの論文
• circular convolutionという仕組みを導入し、輪郭頂点の位置をIterativeに修正
することで物体輪郭を推定、高精度なInstance Segmentationを実現
- 4. Copyright © ABEJA, Inc. All rights reserved
先行研究
Pixel-based methods
PANet [Liu+, CVPR2018]
Mask RCNN [He+, ICCV2017]
課題: 小さな物体の位置ずれやBboxのズレに対応できない
- 5. Copyright © ABEJA, Inc. All rights reserved
先行研究
Contour-based method
HuanLing,JunGao,AmlanKar,WenzhengChen,andSanja Fidler. Fast interactive object annotation with curve-gcn. In CVPR, 2019
https://tech-blog.abeja.asia/entry/annotation-survery
DSAC [Marcos+, CVPR2018]
精度はPixel Basedに及ばず
Instance SegmentationとしてはPipelineが不足(Bboxが与えられた上での評価)
Contourモデルの特別な場合に対応していない(おそらくトポロジーの分割)
CurveGCN [Ling+, CVPR2019]
- 7. Copyright © ABEJA, Inc. All rights reserved
Active Contour Model
• Active Contour Model
対象 空間 領域 性質 表 指標 他 特
徴量 複数 領域 分割
分割 領域 時間変化 境界線 連続的
変化
• 手法 大 2種
Snakes法
Level set法
引用: https://www.slideshare.net/Arumaziro/ss-37035661
- 8. Copyright © ABEJA, Inc. All rights reserved
Snakesとは
前提1: 曲線はパ タ表現される
前提2: 曲線のエネ ギ を設定
𝑣 𝛼
𝑑𝑣 𝑠
𝑑𝑠
𝑑𝑠
𝑑 𝑣 𝑠
𝑑𝑠
𝑑𝑠
𝛻 𝐺 ⊗ 𝐼 𝑣 𝑠 𝑑𝑠
:弧長に対応する項
:曲率に対応する項
:勾配強度に対応する項
v 𝑠
𝑥 𝑠
𝑦 𝑠
s ∈ 0,1
引用: https://www.slideshare.net/Arumaziro/ss-37035661
Snakes 貪欲法
𝑣 𝑣
𝑣 𝑣 2𝑣
𝐼′ 𝑣
:弧長に対応す 項
:曲率に対応す 項
:勾配強度に対応す 項
𝑣
- 10. Copyright © ABEJA, Inc. All rights reserved
Proposed approach: Learning-based snake algorithm
• Snake
• 頂点から構成される曲線のエネルギー関数最小化
• エネルギー関数は非凸・handcrafted・低レベルの画像特徴を利用
• Deep Snake
• End-to-endで頂点から構成されるcontourから直接学習
• CNN backboneはObject DetectionとShareし特徴量をハイブリッドに利用
• Contor+cnn featureを入力として頂点の移動量を出力、Iterativeに処理
- 11. Copyright © ABEJA, Inc. All rights reserved
アルゴリズム全体像
• 物体検出アルゴリズムによりBboxを予測
• BboxからDiamond Contorを機械的に作成
• Extremepointsを予測(Deformation1)
• 予測ポイントからOctagon contourを機械的に作成
• Octagon contourから初期頂点を機械的に作成し
• Contourを再帰的に予測(Deformation2)
詳細は後ほど
- 12. Copyright © ABEJA, Inc. All rights reserved
Contour with NNs
vertex+featureをどうNNで扱うか?
• 初期位置は?
• 頂点情報の伝搬は?
Polygon RNN++ [Acuna+, CVPR2018] CurveGCN [Ling+, CVPR2019]
CNN+RNNで頂点生成
Gated Graph Neural Networkを利用して最適化
Bboxを元に静的なものを与える
Graph Convを利用
- 13. Copyright © ABEJA, Inc. All rights reserved
Circular Convolution
Contour = 周期的な1Dの離散信号だと思って捉える
(x, y, features) x N に対して1D-Convで対処可能(シンプル)
Contour上の特徴からの影響を考えることで
Object-Levelの構造を捉えることが出来る
- 14. Copyright © ABEJA, Inc. All rights reserved
Network architecture
Backbone・fusion block・prediction headの3つから構成される
*CirConv = Circular Convolution
Contourを入力として、Offsetを出力する
- 15. Copyright © ABEJA, Inc. All rights reserved
アルゴリズム全体像
• 物体検出アルゴリズムによりBboxを予測
• BboxからDiamond Contorを機械的に作成
• Extremepointsを予測(Deformation1)
• 予測ポイントからOctagon contourを機械的に作成
• Octagon contourから初期頂点を機械的に作成し
• Contourを再帰的に予測(Deformation2)
- 16. Copyright © ABEJA, Inc. All rights reserved
アルゴリズム全体像
• 物体検出アルゴリズムによりBboxを予測
• CenterNetを活用
• BBox + Centerを出力
CenterNet[Zhou+, CVPR2019]
- 17. Copyright © ABEJA, Inc. All rights reserved
アルゴリズム全体像
• BboxからDiamond Contorを機械的に作成
• 足して2で割るを計算するだけ
- 18. Copyright © ABEJA, Inc. All rights reserved
アルゴリズム全体像
• Extremepointsを予測(Deformation1)
• Ground TruthはObject boundarからサンプリング
• Top, Left, Right, Bottomを持ってくる
• 最適化は下記のロスを利用
Extreme Clicking [Papadopoulos+, CVPR2017]
- 19. Copyright © ABEJA, Inc. All rights reserved
アルゴリズム全体像
• Octagon contourから初期頂点を機械的に作成
• Extreme Pointsから4点を予測し、8角形を作成
• (Extreme Pointsから辺の1/4を拡張して
Bbox上に引いた辺の上に頂点を置くらしい)
• => Octagon Contour
CenterNet[Zhou+, CVPR2019]
- 20. Copyright © ABEJA, Inc. All rights reserved
アルゴリズム全体像
• Contourを再帰的に予測(Deformation2)
• GTはObject Boundaryから等間隔にN点サンプル
• (N=128)
• 再帰的にDeformationを繰り返す
• 最適化は下記のLossを利用
• (実験ではIter = 3)
- 21. Copyright © ABEJA, Inc. All rights reserved
Multi-component detection
Contourを利用するときに課題であったオクルージョン問題へのアプローチ
Detection時に物体の分割を行い、分割した物体それぞれにDeep Snakeを適用
最後に統合することでオクルージョンを配慮
- 22. Copyright © ABEJA, Inc. All rights reserved
補足
Curve GCN Deep Snake
初期位置 楕円 Extrepe Pointsの予測 + Octagon
Contour
最適化 面積の差を微分(微分レンダリング 頂点情報をL1で最適化
目的 アノテーションの効率化
Bboxは与えられる前提
Instance Segmentation(Object
Detectionも含まれる)
- 24. Copyright © ABEJA, Inc. All rights reserved
Ablation studies
Circlar Convが有効なのか?・初期位置予測は必要か?
Baseline=CenterNet + Curve-GCN
+GraphConv+Proposed Architecture
+ExtremePointsの予測
GraphConv -> CircularConv
Iterは3以上ではパフォーマンスは上がらない
- 31. Copyright © ABEJA, Inc. All rights reserved
まとめ
• Circular Convを提案することでシンプルかつ高精度なEnd-to-endのInstance
Sentmentationを実現
• GPU上で32.3fps(at 512x512px)を達成