狠狠撸

狠狠撸Share a Scribd company logo
Domain-invariant Stereo
Matching Networks
2020/12/12 neka-nat
自己紹介
● 名前:neka-nat
● 職業:とある製造メーカのソフトウェアエンジニア
(1月からフリーになりますm(_ _)m)
● 普段のお仕事
○ 画像処理やロボットのソフト開発
● 興味あること:点群処理、並列処理、CG
● https://twitter.com/neka_nat
● https://github.com/neka-nat
この論文を選んだ理由
● Oralの論文から選択
● ドメインが違っても高精度な深層学習を用いたステレオマッチング手法
● 合成画像から学習してもリアル画像から学習した過去手法を圧倒
● 画像処理としてはずっと研究されてきた問題、基本的なところも学びつつ、深層学習
による精度向上の方法を理解したい
● 本日の内容
○ 問題設定について
○ 関連研究について
○ DSMNetについて
结果の动画
● 2つの画像から深度を推定したい
○ カメラを平行に並べて、視差(Disparity)を算出する
○ 視差とカメラ焦点、基線長から深度を計算する
○ 深層学習のステレオマッチングでは基本的に出力として視差を求める
問題設定
https://www.zmp.co.jp/knowledge/adas_dev/adas_sensor/adas_camera/adas_stereo
http://labs.eecs.tottori-u.ac.jp/sd/Member/oyamada/OpenCV/html/py_tutorials
/py_calib3d/py_depthmap/py_depthmap.html
深度
基本的な解き方の流れ
● 左右2枚の画像もしくはそれらをCNNを通した特徴量画像を入力とする
● 計算する視差(Disparity)のレンジを設定する
● 真値の視差を用いた教師あり、もしくは画像の再構成による教師なしで解く
①マッチングコスト
の計算
(各ピクセル毎)
②コストの集約
(周囲のピクセルの影
響を集約)
③視差(Disparity)の
計算/最適化
④視差画像の
リファイン
左右の特徴量画像
[Width, Height]×2
集約したコストテンソル
[Width, Height, Disparity]
コストのテンソル
[Width, Height, Disparity]
視差画像
[Width, Height]
視差画像
[Width, Height]
応用例
● 深度センサとしてロボットやXRに利用
○ LiDARよりも小型?安価
○ 小型の機械にも載せやすい
● 実際のプロダクトでも深層学習によるステレオが使用されてきている
○ ZED2
○ Skydio(魚眼6個)
https://cdn-xtech.nikkei.com/atcl/nxt/mag/rob/18/00003/100600062/03zu01-3.jpg?_
_scale=w:800,h:436&_sh=09c0170b80
https://xtech.nikkei.com/atcl/nxt/mag/rob/18/00003/100600062/og1.jpg
https://cdn.stereolabs.com/assets/images/zed-2/zed-2-front.jpg
深層学習以前(Semi-global matching)①
● よく使用されるステレオマッチングアルゴリズムの一つ
● 2005年に発表された手法
● ステレオマッチングは以下のコスト関数を最適化する問題と考えられる
● これを直接最適化するのは計算時間がかかるので、スキャンライン毎に動的計画法
を用いてコスト最適化を行い、最後に足し合わせる
ピクセルpで視差が
dpであるときのマッ
チング度合い
近傍ピクセルとその視差に応じたペ
ナルティ
深層学習以前(Semi-global matching)②
● ピクセルごとのコスト関数は以下のようになる
● スキャンラインは上下左右と斜めの8方向が与えられる
???
2016 2017 2018 2019
ざっくり深層学習を使った手法の歴史(教師あり)
https://www.sciencedirect.com/science/article/pii/S1319157820304493
PSMNetMC-CNN GC-Net GA-Net
DispNet
HSMNet
EgoStereo
SegStereoSGM-Nets
マッチングコスト計算を
CNN化
似てる?似てないを教師
ありで学習
3DCNNとSoftArgMinで
Endo-to-Endにした
マルチスケールの
Featureを活用
微分可能なSGMの近似
計算を導入
著者の過去手法(GA-Net)①
● CVPR2019
● 今回紹介する論文のベースとなる手法
● コスト集約の部分にSGA(Semi-Global Guided Aggregation)とLGA(Local Guided
Aggregation)というネットワークを使用
著者の過去手法(GA-Net)②
● SGA(Semi-global Guided Aggregation)
○ Semi-global matchingの近似計算を微分可能にした
○ 近傍のピクセルのコストを集約する
○ 式の中の重みw1?w4はサブネットワークから計算
SGM
SGA
著者の過去手法(GA-Net)③
● LGA(Local Guided Aggregation)
○ 細い物体やエッジのリファイン
○ SGAと違って再帰ではないローカルなフィルタ
○ 3次元フィルタみたいな感じ?
著者の過去手法(GA-Net)④
● 結果
GC-Net
PSMNet
GA-Net
ドメイン不変に向けた課題
● ドメインシフトの影響
○ 画像のスタイル(色、照度)
○ 局所変化(コントラスト)
○ テクスチャパターン、ノイズ
○ その他
● ドメインが変わることでグローバルな特徴を捉えづらくなる
ネットワークの全体像
● ドメイン不変のために以下2つの対策を考案
○ Domain Normalizationによってドメイン不変な特徴量を抽出
○ Structure-preserving Graph-based Filtering(SGF)によって構造を保持しつつ細
かな部分やテクスチャの影響を排除
○ GA-Netで使っていたLGAはローカルなドメインの影響を受けやすいため排除
Domain normalization①
● Batch Normalization
○ Batch, Width, Height方向で正規化
○ ドメインの影響を強く受けてしまう
● Instance Normalization
○ Width, Height方向のみで正規化
○ ドメイン特化をある程度防げるが、ステレオには不向き
● Domain Normalization
○ Width, Height方向で正規化し、Channel方向にはL2正規化を行う
Domain normalization②
● Channel方向のL2正規化により、特徴量のノルムにばらつきがなくなり、マッチングの
類似度が安定する
● 異なるシーン(合成SceneFlow、KITTI、Middlebury、CityScapes、ETH 3D)の各ピク
セルでの特徴ベクトルのノルムの分布を比較してみた
● Domain Normalizationのほうが各シーンでのノルムばらつき方が同じになっている
Structure-preserving Graph-based Filtering①
● Segment Graph Based Image Filteringなどのグラフベースのフィルタリング手法の考え
方をベースにしている
● これらのグラフベースのフィルタリングは構造やエッジを保持しつつ詳細部分を平滑
化させる
● 8近傍を接続した無向グラフを有向グラフG1, G2に分割して情報集約を行う
Segment Graph Based
Image Filteringの例
Structure-preserving Graph-based Filtering②
● SGAとの関係性
○ グラフ上の近傍点qをdisparity方向も含めて定義することで、式としてはSGAを
包含していることになる
○ 実際はdisparity方向の近傍は入っていないっぽい?
SGA
SGF
データセット
● 論文の実験とその結果において、著者のモデルは合成画像によって学習されている
● 使用する合成画像は以下の2種類を合わせたもの
○ Scene Flowデータセット(35k)
○ CARLAを用いて異なる解像度、カメラの焦点距離、基線長で撮られたステレオ画
像(20k)
https://ai4sig.org/ja/2018/07/docker-for-carla/
Ablation Study
● バックボーン、Normalizationの手法、SGFの数を変えて精度が良い組み合わせを調
査
● すべて合成画像で学習し、テストをリアルデータ(Middlebury, KTTI)で行った
構成要素の比較
● NormalizationをBatch/Instance/Adaptive/Domain Normalizationに置き換えて比
較
● Graph FilterはAttention/Denoising/A?nityに置き換えて比較
クロスドメインによる実験
● DSMNetを合成画像で学習、それ以外の手法をKITTIのデータで学習させた場合の実
験結果
● DSMNetが最も良い(GC-NetやPSMNetなどより最新のものとの比較が無い)
ファインチューニングによる実験
● 合成画像で学習後、KITTIの学習データでファインチューニングした場合の実験結果
● 汎化能力に振っているため、ファインチューニングだと精度でGA-Net+SGFに負けてい
る
● 他の手法に対してもおそらく同条件で学习
画像の結果比較
● DSMNetだけ合成画像で学習
● その他の手法はKITTIでファインチューニング
● 顿厂惭狈别迟が最も物体の境界を正确に捉えられている
オプティカルフローへの応用
● ステレオマッチングと同じような問題としてオプティカルフローがある
● FlowNet2をベースとして、Domain NormalizationとSGFを導入
● 何もしないFlowNet2と合成画像で学習させてリアルデータのテストで比較
オプティカルフロー
エラーマップ
まとめ
● Domain-Invariant Stereo Matching Networkを紹介した
● ステレオマッチングやオプティカルフローといった画像間のマッチング問題に優位なド
メイン不変な手法
● 応用面でも深層学習を用いたステレオマッチングが使われてきており、ドメイン不変な
手法が確立されることでさらに広まっていくと考えられる
● 著者実装
○ https://github.com/feihuzhang/DSMNet

More Related Content

Eccv 2020 dsmnet