120 Views
May 31, 19
スライド概要
2019/05/31
Deep Learning JP:
http://deeplearning.jp/seminar-2/
DL輪読会資料
PSMNet: Pyramid Stereo Matching Network (CVPR 2018) Hiroaki Sugisaki, 上智大学 B4(休) 1
スライドについて ● Google Slideで公開 ○ ○ 誤り等のご指摘があれば修正しますので最新版は以下のURLよりお願いします。 https://docs.google.com/presentation/d/1lcTaWmU4ZIBO91cuyJWK-rHbevgwcUFBH--heF7DKI/edit?usp=sharing 2
論文情報 ● 書誌情報 ○ ○ ○ Pyramid Stereo Matching Network (CVPR 2018) https://arxiv.org/abs/1803.08669 Jia-Ren Chang, Yong-Sheng Chen ● 要約 ○ ○ ○ END-to-ENDなステレオマッチングモデル END-to-ENDが苦手とするill-posedな領域の精度をあげた (occulusion/繰り返しパターン) ■ SPPM (Spatial Pyramid Pooling Module) によって画像全体の中での文脈を把握(Global Context) ■ downsampleとupsampleを繰り返す3D CNNに通すことで出力を調整 個人的にはSemantic Segmentationに用いられている手法をStereo Matchingに適応している 印象がある 3
内容 ● ● ● ● ● ステレオマッチングについて 関連研究 PSMNet 実験と結果 結論 4
● ステレオマッチングについて ○ ○ ステレオマッチング Disparity Map 5
ステレオマッチング ● ステレオカメラ ○ 対象物を複数の異なる方向から同時に撮影することのできるカメラ ● ステレオマッチング ○ ○ ステレオカメラによって撮影された画像の視差(disparity)を求めること また求めた視差から三角測量を用いて被写体の深度を求めること. 左 - ステレオカメラ - Wikipedia : https://ja.wikipedia.org/wiki/%E3%82%B9%E3% 83% 86% E3% 83%AC%E3%82%AA%E3%82%AB%E3%83%A1%E3% 83% A9 2003 Stereo Datasets : http://vision.middlebury.edu/stereo/data/sc enes2003/ 右 6
Disparity Map 右 ● Disparity ○ ○ 被写体の対応点の左右画像におけるピクセル差. 対称点の視差が大きいほど手前にある. ● Disparity Map ○ 各ピクセルにおける視差の大きさを2次元画像とし て表したもの. Disparity Map - 2003 Stereo Datasets : http://vision.middlebury.edu/stereo/data/sc enes2003/ 左 Disparity 7
● 関連研究 ○ ○ ○ Dilated Convolution SPP (Spatial Pyramid Pooling) PSPNet (Pyramid Scene Parsing Network) 8
Dilated Convolution ● 以前までの受容野を広げる方法 ○ ○ ○ 層の数を増やす フィルターを大きくする プーリング層を使う => 解像度が大きいと限界 => 解像度が大きいと限界 1-dilated => 解像度が落ちる = 普通のConv ● メリット ○ ○ 簡単にかつ解像度を失わずに受容野(Receptive Field)を広げることができる 線形増加するパラメータ数に対して受容野は指数関数的に広がる ■ の受容野は 2-dilated - Dilated Convolution - シ ゙ョイジョイジョイ : http://joisino.hatenablog.com/ arXiv : Multi-Scale Context Aggregation by Dilated Convolutions : https://arxiv.org/abs/1511.07122 https://towardsdatascienc e.c om/review-dilated-convol ution-semantic-segmentation-9d5a5bd768f 5 9
SPP (Spatial Pyramid Pooling) ● ● - プーリングサイズではなく,プーリング を行う領域数を固定 ○ 当初は様々な解像度の画像に対 して一様に処理する目的で考案 された 四分木のようなスケール構造に分けた 各層に対してプーリングを行う ○ 各スケールごとの情報を得る ○ Global Context Spatial Pyramid Pooling in Deep Convolutional Networks for Visual Recognition :https://arxiv.org/abs/1406.4729 10
PSPNet (Pyramid Scene Parsing Network) ● Pyramid Pooling Module ○ ○ 処理の流れ ■ → SPPのプーリング ■ → 各スケールごとに1x1のConvフィルタに通すことでチャネル方向を圧縮 ■ → プーリング前のサイズにupsample 各スケールの内包関係などの階層的情報を伝達 11 - [1612.01105] Pyramid Scene Parsing Network : https://arxiv.org/abs/1612.01105
Stacked Hourglass Networks ● Hourglassデザイン ○ ○ - 様々なスケールにおける情報を取得するモチベーション Human Pose Estimationで体の部位の関係を取得するのに利用 [1603.06937] Stacked Hourglass Networks for Human Pose Estimation : https://arxiv.org/abs/1603.06937 12
● PSMNet ○ ○ ○ ○ ○ ○ 全体構造 CNNによる特徴抽出 SPP Module Cost Volume 3D CNN Loss 13
PSMNetの全体構造 ● 左右の画像を入力として1枚のDisparity Mapを出力 14
CNNによる特徴抽出 ● conv0 ○ 3つの3x3フィルタで7x7のreceptive fieldを カバー ● conv1_x, conv2_x, conv3_x, conv4_x ○ ResNet ● conv3_x, conv4_x ○ Dilated Convolution ● 受容野を広くとりたいモチベーション Dilated Convolution - https://towardsdatascienc e.c om/review-dilated-convol ution-semantic-segmentation-9d5a5bd768f5 15
SPP Module ● Spatial Pyramid Pooling Module ○ PSPNetのPyramid Pooling Moduleを取り入れている 16
Cost Volume ● shifted right ○ ○ 左の画像に対して右の画像をwidth方 向に1ピクセルずつずらして Max Disparity までずらした各画像とを ConcatすることでD x H x W x Cの4 次元の出力になる ここではHとWがそれぞれ1/4されて いるのでD方向も1/4 17
3D CNN ● BasicとStacked Hourglassの2種類を 提案して実験 ● Basic ○ 単純にResBlockの配置し最後に 元のサイズにupsample ● Stacked Hourglass ○ ○ ○ Stacked Hourglass Networksの ブロックを少し変えて適用 様々なスケールの情報の獲得に 期待 3つの出力 ■ ロス計算に利用 ■ 推論時は最後の出力のみ 利用 18
Disparity Regression ● ● ● ● regressionに渡される出力 は各disparity(d)に対するコストを表す σはソフトマックス関数 以下のような重み積で表すことで連続的な出力が得られる クラス分類で表すよりロバスト性があるらしい (※) - ※ [1703.04309] End-to-End Learning of Geometry and Context for Deep Stereo Regression : https://arxiv.org/abs/1703.04309 19
Loss ● Smooth L1 ○ 外れ値に対してロバスト性があり,物体検出のBoundingBoxのLossでも使われている 20
● 実験と結果 ○ ○ ○ ○ ○ データセット 学習 Stacked Hourglassの実験 Lossの比重を変えた実験 KITTIの結果 21
データセット ● Scene Flow … シミュレーションから生成されたデータセット ○ ○ ○ H = 540, W = 960 の画像 train : 35,454枚, test: 4370枚 密なDensity MapのGT (Ground Truth) ● KITTI 2015 … 自動車ビジョンデータセット ○ ○ ○ H = 376, W = 1240 の画像 train : 200枚 → 80% (train), 20% (validation) LiDARによって取得した疎なDensity MapのGT ● KITTI 2012 ○ ○ ○ H = 376, W = 1240 の画像 train : 194枚 → 160枚 (train), 34枚 (validation) LiDARによって取得した疎なDensity MapのGT 22
学習 ● ● ● ● ● 画像中からランダムに H=256, W=512 を切り出して学習 OptimizerにAdamを使用 maximum disparity (D) を 192 と指定 Scene Flowに対して10エポック学習. (そのままScene Flowの評価に使用) Scene Flowで学習したものをKITTIデータセットを用いてfine-tuning (100エポック) 23
Stacked Hourglassの実験 24
Lossの比重を変えた実験 Loss_1 Loss_2 Loss_3 25
KITTI 2012 26
KITTI 2015 27
結論 ● SPPとDilated convolutionを用いることでピクセルレベルから異なるスケール の領域ごとの情報を取得 ● Stacked Hourglass 3D CNNにおけるtop-down/bottom-up方式でglobal context の獲得に寄与 28