semantic segmentation2

51
Semantic Segmentationについて その2 2017418日 皆川卓也

Upload: takuya-minagawa

Post on 21-Jan-2018

3.421 views

Category:

Technology


0 download

TRANSCRIPT

Page 1: Semantic segmentation2

Semantic Segmentationについてその2

2017年4月18日 皆川卓也

Page 2: Semantic segmentation2

自己紹介

2

テクニカル・ソリューション・アーキテクト

皆川 卓也(みながわ たくや)フリーエンジニア(ビジョン&ITラボ)「コンピュータビジョン勉強会@関東」主催博士(工学)

略歴:1999-2003年日本HP(後にアジレント・テクノロジーへ分社)にて、ITエンジニアとしてシステム構築、プリセールス、プロジェクトマネジメント、サポート等の業務に従事

2004-2009年コンピュータビジョンを用いたシステム/アプリ/サービス開発等に従事

2007-2010年慶應義塾大学大学院後期博士課程にて、コンピュータビジョンを専攻単位取得退学後、博士号取得(2014年)

2009年-現在フリーランスとして、コンピュータビジョンのコンサル/研究/開発等に従事

http://visitlab.jp

Page 3: Semantic segmentation2

Semantic Segmentationサーベイ2

この資料は以下のURLのサーベイの続きです。

https://www.slideshare.net/takmin/semantic-segmentation

主に以下の3点について調べました。

1. Cityscapes Benchmark上位のアルゴリズム

2. Instance-levelのSemantic Segmentation

3. Semantic Video Segmentation

Page 4: Semantic segmentation2

予備知識

Page 5: Semantic segmentation2

予備知識: Residual Networks

ネットワークに「バイパス」を設けることで、階層を深くしても学習が劣化しない仕組みを構築し、152層ものネットワークを構築

ILSVRC2015 (画像認識のコンペティション)で1位を獲得

He, K., Zhang, X., Ren, S., & Sun, J. (2016). Deep Residual Learning for Image Recognition. IEEE Conference on Computer Vision and Pattern Recognition (CVPR)

Page 6: Semantic segmentation2

予備知識: Dilated Network

CNNではPooling層において、出力のサイズが入力サイズよりも小さくなってしまい、予測の解像度が低下する

Pooling層の代わりに、マルチスケールの「Dilated Convolution」を使用することで、解像度を保ったままコンテクストの情報を学習する。

Yu, F., & Koltun, V. (2016). Multi-Scale Context Aggregation by Dilated Convolutions. International Conference on Machine Learning (ICML)

画像は[http://sergeiturukin.com/2017/03/02/wavenet.html]より転載

Page 7: Semantic segmentation2

予備知識:R-CNN (Region with CNN feature)

7

畳み込みニューラルネットワーク(CNN)は計算量が高いので、探索窓(Sliding Window)による検出は更に計算量高い

Selective Searchという手法を用いて物体候補領域を検出し、候補領域上のみ処理することで計算量削減

Girshick, R., Donahue, J., Darrell, T., & Malik, J. (2014). Rich feature hierarchies for accurate object detection and semantic segmentation. In IEEE Conference on Computer Vision and Pattern Recognition (CVPR).

Page 8: Semantic segmentation2

予備知識:Fast R-CNN

8

R-CNNでは物体候補領域を1つ1つCNNで判別していたため遅い(VGGを使用した場合、GPU込みで1枚47秒)

画像全体にCNNをかけて特徴マップを生成し、最後のプーリング層を物体候補領域(ROI)に合わせて切り出す

R-CNNを検出時約213倍高速化

Girshick, R. (2015). Fast R-CNN. International Conference on Computer Vision (ICCV)

Page 9: Semantic segmentation2

予備知識:Faster R-CNN

9

R-CNNおよびFast R-CNNではSelective Searchを用いて物体候補領域を事前に求めておく必要。

Fast R-CNNのSelective Search部分をfeature map上で行うことで、余計な処理を省き、高精度化/高速化(1枚当たり約200msec)。

→ Region Proposal Network (RPN)

この上(特徴マップ)で物体候補領域検出を行う

Ren, S., He, K., Girshick, R., & Sun, J. (2015). Faster R-CNN: Towards Real-Time Object Detection with Region Proposal Networks. Advances in Neural Information Processing Systems (NIPS).

Page 10: Semantic segmentation2

Cityscapes Benchmark

上位アルゴリズムについて

Page 11: Semantic segmentation2

目的

本資料はSemantic Segmentationに関するデータセットおよびCompetitionであるCityscapes Benchmarksについて、その上位のアルゴリズムについて解説するものです。

ここで、解説されるアルゴリズムは論文が公開されているものに限ります。

Cityscapes Benchmarksの結果は以下のサイトから閲覧することができます。

https://www.cityscapes-dataset.com/benchmarks/

Page 12: Semantic segmentation2

Cityscapes Benchmarks Cityscapesデータセットを用いて認識した結果をサーバーへアップロードすることで、それぞれの指標における順位を計算してくれます。

Page 13: Semantic segmentation2

評価指標

Pixel Level

下記IoUおよびiIoUをクラス/カテゴリ(グループ)ごとに評価します。

IoU =𝑇𝑃

𝑇𝑃+𝐹𝑃+𝐹𝑁

TP, FP, FN: 画素ごとのTrue Positive, False Positive, False Negative

iIoU =𝑖𝑇𝑃

𝑖𝑇𝑃+𝑖𝐹𝑃+𝑖𝐹𝑁

iTP, iFP, iFN: クラスの平均サイズで重みづけしたTP, FP, FN

*2

Page 14: Semantic segmentation2

評価指標

Instance Level

8種類のクラス(person, rider, car, truck, bus, train, motorcycle, bicycle)に対して、検出およびPixelラベリングの精度を評価します。

Average Precision

検出ラベルDとGround TruthラベルGのオーバーラップが閾値以上の時に正解とみなします。

𝐷 ∩ 𝐺

𝐷 ∪ 𝐺> 𝑡ℎ𝑟𝑒𝑠ℎ𝑜𝑙𝑑

閾値を0.5から0.05刻みで0.95まで動かし、Recall-Precisionカーブを作成します。

Recall-Precisionカーブの面積をAverage Precisionとします。

Page 15: Semantic segmentation2

評価指標

Instance Level

mean Average Precision (AP)

全クラスのAverage Precisionの平均

AP 50%

オーバーラップ50%以上

AP 100m

100m以内のオブジェクトに対して

AP 50m

50m以内のオブジェクトに対して

Page 16: Semantic segmentation2

Pixel Level上位の手法 (2017/03/11現在)

1. Z. Wu, C. Shen, A. Hengel, “Wider or Deeper: Revisiting the ResNetModel for Visual Recognition”, arXiv:1611.10080, 2016

2. H. Zhao, J. Shi, X. Qi, X. Wang, J. Jia, “Pyramid Scene Parsing Network”, arXiv:1612.01105, 2016

3. P. Wang, P. Chen, Y. Yuan, D. Liu, Z. Huang, X. Hou, G. Cottrel, “Understanding Convolution for Semantic Segmentation”, arXiv:1702.08502, 2017

Method IoU class iIoU class IoU category iIoU category

ResNet-38 *1 80.6 (1st) 57.8 (3rd) 91.0 (1st) 79.1 (2nd)

Model A2, 2 conv *178.4 (6th) 59.1 (1st) 90.9 (1st) 81.1 (1st)

PSPNet *2 80.2 (2nd) 58.1 (2nd) 90.6 (3rd) 78.2 (3rd)

TuSimple_Coarse *3 80.1 (3rd) 56.9 (4th) 90.7 (3rd) 77.8 (5th)

Page 17: Semantic segmentation2

Revisiting RezNet Residual Networksの層の数を減らし、代わりに特徴マップ数(チャネル数)を増やすことで、構造を最適化ResNet-38とModel A2はともに、カスタマイズRezNetの一種(詳細は論文にも記述無し)

Semantic Segmentationタスク向けにFully Convolutional Networksに類似した構造へカスタマイズ

ソースコード: https://github.com/itijyou/ademxapp (MXNet)

Page 18: Semantic segmentation2

PSPNet

ResNet+Dlilated Netで作成したFeature Mapに対し、異なるサイズのPoolingをかけてUp-samplingする

大きなPoolingサイズのものにコンテクストの情報が含まれている

ソースコード: https://github.com/hszhao/PSPNet (Caffe + DeepLab v2)

Page 19: Semantic segmentation2

TuSimple_Coarse

訓練済みモデル(MXNet):https://goo.gl/DQMeun

ResNet+Dilated NetのDilated Netの部分をHybrid Dilated Convolution (HDC)という手法に置き換え、特徴抽出した結果をDense Upsampling Convolution (DUC) という手法でアップサンプリングHDC: Dilated Netのrate(サンプリング間隔)を階層ごとに変えることで、画素の「抜け」の問題を低減DUC: 特徴マップを、 L個(ラベル数)の原画像サイズの出力へ変換する畳み込み層

Page 20: Semantic segmentation2

Instance Level上位の手法 (2017/03/11現在)

1. A. Arnab, & P. Torr, “Pixelwise Instance Segmentation with a Dynamically Instantiated Network”, IEEE Conference on Computer Vision and Pattern Recognition (CVPR), 2017.

Method AP AP 50% AP 100m AP 50m

Pixelwise Instance Segmentation with a Dynamically Instantiated Network*1

20.0 (1st) 38.8 (1st) 32.6 (1st) 37.6 (1st)

Page 21: Semantic segmentation2

Dynamically Instantiated Network

物体検出の結果とSemantic Segmentationの結果をCRFで統合することで、Instanceを推定

Semantic SegmentationのネットワークとInstanceを求めるネットワークをend-to-endで学習可能(RNN as CRFを使用)

Page 22: Semantic segmentation2

Instance-level Semantic Segmentation

Page 23: Semantic segmentation2

Instance Level Semantic Segmentation Object Detection

画像の中から各カテゴリの1つ1つの物体位置を求める

Semantic Segmentation各画素がどのカテゴリに属するかを求める同じカテゴリの物体が隣接した場合、境界がわからない

Instance Segmentation各画素が1つ1つの物体のどこに属するかを求める

Arnab, A., & Torr, P. H. S. (2017). Pixelwise Instance Segmentation with a Dynamically Instantiated Network. IEEE Conference on Computer Vision and Pattern Recognition (CVPR).

Page 24: Semantic segmentation2

アプローチによる分類

Object Detectionを用いてBounding Boxを算出し、その中および周辺画素の前景/背景を算出

最もメジャーなアプローチ

Object Detectionを物体候補領域推定(Region Proposal)を用いて行い、その領域情報を利用

Object Detectionを用いない方法

Segmentationベース

Patchベース

Page 25: Semantic segmentation2

紹介する論文

Object Detectionを用いない方法の例

Zhang, Z., Fidler, S., & Urtasun, R. (2016). Instance-Level Segmentation with Deep Densely Connected MRFs. IEEE Conference on Computer Vision and Pattern Recognition (CVPR)

Segmentationベース

Liu, S., Qi, X., Shi, J., Zhang, H., & Jia, J. (2016). Multi-scale Patch Aggregation (MPA) for Simultaneous Detection and Segmentation. IEEE Conference on Computer Vision and Pattern Recognition (CVPR)

Patchベース

Page 26: Semantic segmentation2

Deep Densely Connected MRFs 3種類のサイズのパッチからCNNで各画素のインスタンスのラベルを推定

平滑化項に近くの画素は同じインスタンス、離れた画素は異なるインスタンスの可能性が大きいという条件を入れて、MRFを用いて最終的なラベルを決定

ソースコード(C++, Caffe): https://bitbucket.org/zhangziyu1991/cnn-densecrf-kitti-public

Page 27: Semantic segmentation2

Multi-scale Patch Aggregation

特徴マップからマルチスケールのパッチを切り出し、それぞれのパッチに対してSegmentationとClassificationを同時に行い、その後パッチの結果を統合

Page 28: Semantic segmentation2

紹介する論文

Object Detectionを物体候補領域推定(Region Proposal)を用いて行い、その領域情報を利用

Hariharan, B., Arbeláez, P., Girshick, R., & Malik, J. (2014). Simultaneous Detection and Segmentation. European Conference on Computer Vision (ECCV)

Page 29: Semantic segmentation2

Simultaneous Detection and Segmentation

(SDS)

物体検出とセグメンテーションを同時に行うようにR-CNNを改良

Bounding BoxとRegion上からそれぞれCNN特徴を抽出し、統合して線形SVMで物体カテゴリを識別。

各画素ブロックの前景/背景を判別する識別器(ロジスティック回帰)を「カテゴリごとに」学習(Region Refinement)

ソースコード(Matlab+Caffe): https://github.com/bharath272/sds_eccv2014

Page 30: Semantic segmentation2

紹介する論文 Object Detectionを用いてBounding Boxを算出し、その中および周辺画素の前景/背景を算出Yang, Y., Hallman, S., Ramanan, D., & Fowlkes, C. C. (2012). Layered Object Models for Image Segmentation. IEEE Transaction on Pattern Analysis and Machine Intelligence (PAMI)Dai, J., He, K., & Sun, J. (2016). Instance-aware Semantic Segmentation via Multi-task Network Cascades. IEEE Conference on Computer Vision and Pattern Recognition (CVPR)Hariharan, B., Arbel, P., & Girshick, R. (2015). Hypercolumns for Object Segmentation and Fine-grained Localization. IEEE Conference on Computer Vision and Pattern Recognition (CVPR)Li, K., Hariharan, B., Malik, J., Berkeley, U. C., & Berkeley, U. C. (2016). Iterative Instance Segmentation. IEEE Conference on Computer Vision and Pattern Recognition (CVPR)Li, K., & Malik, J. (2016). Amodal Instance Segmentation. IEEE EuropianConference on Computer Vision (ECCV)He, K., Gkioxari, G., Dollar, P., & Girshick, R. (2017). Mask R-CNN. arXiv:1703.06870

Page 31: Semantic segmentation2

Layered object models

物体検出(Deformable Part Model)の結果を基に、生成確率モデルを用いて、各Super Pixelの前後関係(層構造)を推定

Page 32: Semantic segmentation2

Multi-task Network Cascades

物体候補領域算出(RPN)、前景推定、カテゴリ識別を行う3つのネットワークをカスケード型につないだ、end-to-endでの学習が可能なネットワークを構築

ソースコード(Python+Caffe): https://github.com/daijifeng001/MNC

Page 33: Semantic segmentation2

Hypercolumns

CNNは上の層ほど識別能力が高い特徴が得られるが、空間周波数が下がるので、各層の特徴マップを束ねる(=Hypercolumns)ことで両方のメリットを取り入れて、Semantic Segmentationを行う。

物体検出で求めたBounding Box内の各画素のHypercolumnsを算出し、ロジスティック回帰で各グリッドのラベルを推定。

ソースコード (Python + Caffe):https://github.com/bharath272/sds

Page 34: Semantic segmentation2

Iterative Instance Segmentation (IIS)

Semantic Segmentationを行うCNNを数珠つなぎにつなげ、前のCNNの予測結果を次のCNNへの入力とすることで、対象の形状についての事前分布を学習させる。

各CNN(Hypercolumnsを改良)は入力画像+前のネットワークの予測ラベルを受け取り、予測ラベルを返す。

Page 35: Semantic segmentation2

Amodal Instance Segmentation

対象が見えている領域だけでなく、隠れている領域も推定するという新しい問題設定を提案。

Instance-level Semantic Segmentationの学習データに対

して、画像を合成して対象が隠れている学習データを新たに生成し、IISで学習。

Page 36: Semantic segmentation2

Mask R-CNN

Faster R-CNNにセグメンテーション用のFully Convolutional NetworkをBounding Box推定用のネットワークと平行に加えるだけ

同じフレームワークで人の姿勢推定にも応用可能

MS COCO 2016 Challenge Winner

Page 37: Semantic segmentation2

Semantic Video Segmentation

Page 38: Semantic segmentation2

Semantic Video Segmentation

動画の各フレームに対し、Semantic Segmentationを行う。

その際、前後のフレームの情報などを利用することで、精度や速度を向上させる

Tripathi, S., Belongie, S., Hwang, Y., & Nguyen, T. (2015). Semantic video segmentation: Exploring inference efficiency. International SoC Design Conference (ISOCC) より画像転載

Page 39: Semantic segmentation2

動画用データセット The Cambridge-driving Labeled Video Database(CamVid)

Dataset概要

32クラスにラベル付けされた車載カメラからの動画データセット。

動画は30Hz、ラベルは1Hz

URLhttp://mi.eng.cam.ac.uk/research/projects/VideoRec/CamVid/

ライセンス特に記述無

Page 40: Semantic segmentation2

Playing for Data Richer, S. R., Vineet, V., Roth, S., & Koltun, V. (2016). Playing for Data: Ground Truth

from Computer Games. European Conference on Computer Vision (ECCV)

市販のゲームに対し、グラフィックハードウェアにアクセスすることで、高速にセマンティックラベルを取得CamVidの1/3のデータ+ゲームから取得したデータを使用して学習させることで、CamVid全てのデータを使って学習した場合よりも大幅に性能向上

URL (コードあり)https://download.visinf.tu-darmstadt.de/data/from_games/

Page 41: Semantic segmentation2

アプローチによる分類

動画から推定した対象の三次元構造に基づいてラベル付け

フレームごとのラベル付け結果と三次元推定結果を融合

フレームごとのラベル付け結果を統合

複数フレーム全体を同時にラベル付け

Page 42: Semantic segmentation2

紹介する論文

動画から推定した対象の三次元構造に基づいてラベル付け

G. J. Brostow, J. Shotton, J. Fauqueur, and R. Cipolla. Segmentation and recognition using structure from motion point clouds. In ECCV, 2008

Page 43: Semantic segmentation2

Segmentation using SfM

Structure from Motionにより動画から三次元点群を計算

各点の高さ、カメラの軌跡との最短距離、法線ベクトル、再投影誤差等を特徴量として、Randomized Forestによりラベリング

Page 44: Semantic segmentation2

紹介する論文

フレームごとのラベル付け結果と三次元推定結果を融合

Kundu, A., Li, Y., Daellert, F., Li, F., & Rehg, J. M. (2014). Joint Semantic Segmentation and 3D Reconstruction from Monocular Video. European Conference on Computer Vision (ECCV)

Page 45: Semantic segmentation2

Joint Semantic Segmentation and 3D

Reconstruction

画像からのSemantic SegmentationとVisual SLAMによる

点群取得を個別に行い、それらを融合して3次元マップを作成

CRFを用いて各ボクセルのラベルを推定

Page 46: Semantic segmentation2

紹介する論文

フレームごとのラベル付け結果を統合

Scharwaechter, T., Enzweiler, M., Franke, U., & Roth, S. (2014). Stixmantics: A Medium-Level Model for Real-Time Semantic Scene Understanding. European Conference on Computer Vision (ECCV)

Sevilla-Lara, L., Sun, D., Jampani, V., & Black, M. J. (2016). Optical Flow with Semantic Segmentation and Localized Layers. CVPR

Page 47: Semantic segmentation2

Stixmantics

ステレオ視(Semi Global Matching)により、カメラからの距離に応じて棒状の領域(Stixel)に分割(上中)

Stixel毎にSemanticラベルを付与(上右)

特徴点の追跡結果(下右)を制約としてラベルを決定(下中)

リアルタイムでSemantic Segmentation可能

Page 48: Semantic segmentation2

Optical Flow and Localized Layer

DeepLab(CNN + CRF)でSemantic Segmentation

Labelを車や人などの”Things”、道路や空などの”Planes”、ビルなどの” Stuff”に分け、それぞれの分類に応じてOptical Flowを改善。

改善したOptical Flow用いて、さらにSegmentation結果を改善

Page 49: Semantic segmentation2

紹介する論文

複数フレーム全体を同時にラベル付け

Liu, B., & He, X. (2015). Multiclass semantic video segmentation with object-level active inference. IEEE Conference on Computer Vision and Pattern Recognition (CVPR)

Kundu, A., Tech, G., Vineet, V., Labs, I., Koltun, V., & Labs, I. (2016). Feature Space Optimization for Semantic Video Segmentation. 2016 IEEE Conference on Computer Vision and Pattern Recognition (CVPR)

Page 50: Semantic segmentation2

Object-level Active Inference

時空間方向に作成したSuper Voxelをノードとし、さらに物体検出/追跡結果(object hypothesis)を取り込んだモデルを、CRFを用いてSemantic Segmentation

Active Inferenceを用いて、最適なobject hypothesisのサブセットを選択することで計算を効率化

Page 51: Semantic segmentation2

Future Space Optimization

複数フレームをまとめたブロックを構築し、画素同士の距離空間(特徴空間)を、画素の位置および値を元に構築

ブロック内の特徴空間において、各画素のラベルをfully-connected CRFで最適化

複数のブロックに渡って結果を最適化

ソースコード(C++): https://bitbucket.org/infinitei/videoparsing