SlideShare uma empresa Scribd logo
1 de 33
SfM Learner 系
深度推定手法について
arXivTimes 勉強会
山内隆太郎
概要
2
深度推定(Depth Estimation)とは
3
DNN等を用いて画像から深度情報を復元する技術
メリット
 画像1枚のみでも可能(ステレオ画像などは不要)
 DNN の推論一回で終わるので SfM などより高速な場合あり
デメリット
 あくまで推定なので誤差は生じる
 訓練データとかけ離れたシーンの深度推定は難しい
 多くの訓練データが必要
Supervised or Un-supervised
Supervised Depth Estimation
 別で収集した深度マップを教師データとして使う
 学習は簡単だが深度マップを取得するのが難しい
Un-supervised Depth Estimation
 深度マップを利用せずにモデルを訓練する
 深度マップの代わりにステレオ画像や動画を利用
 モデルは複雑になるが学習に利用可能なデータが格段に増加
する
 今日話しをするのはこちら
4
Idea
5
DNNに他視点画像を生成するタスクを解かせる
 三次元情報なしには不可能
⇒ DNN は三次元情報を推定せざるを得ない
・・・しかし他視点画像を生成させるだけではDNNの推定した
三次元情報を取り出せない
View 1 View 2
DNNに推定させる
Idea (2)
6
元画像を歪めることによって他視点画像を生成させる
 深度マップが必然的に生成されるような問題設定をする
 画像を歪める操作は微分可能でなくてはならない
Source
view
Target
view
Depth
map
Pose
Warping
param
Target
view
(gen)
Reconstruction loss
input output
warping
準備
7
画像のリサンプリング
8
 ピクセルは二次元座標平面上の格子点である
 そのため画像を回転・平行移動・拡大縮小などさせるとピクセルは格子
上からズレてしまう
 変換後の新しい格子点の値(色)を元の格子点の値から補間
Bilinear sampler
9
 補間方法によって様々なリサンプリング手法がある
 Nearest Neighbor, Bilinear, Bicubic などなど
 深度推定では Bilinear 法を用いて画像を歪める
 前項の図はアフィン変換になっているが、新しい格子
点は任意の位置にあってよい
 補間の仕方は右図の通り(Wikipediaより)
 モデルは View 間の位置関係と推定された深度マッ
プを元に画像歪曲後の格子点の座標を生成
 これを使って画像を歪める(リサンプリングする)
 Bilinear 法は微分可能であるため Backprop が通る
 新しい格子点の値(色)は,その格子点の座標 (x, y)
の関数になる
 End-to-end の学習が可能
カメラモデル
10
 空間上の点Pが画像上の点pに投影されるまでのプロセスをモデル化
 3つの座標系を考える
 ワールド座標系 :基準となる座標系
 カメラ座標系 :カメラを原点においた座標系
 画像座標系 :画像上の座標系.ピクセル単位
 以下の式で書ける
𝜆
𝑢
𝑣
1
= 𝐾𝑅(
𝑥
𝑦
𝑧
+ 𝐭)
 𝜆:カメラ座標系における 𝑃 の深度
 𝑢, 𝑣:画像座標系における 𝑝 の座標
 𝐾:カメラ内部行列
 𝑅, 𝐭:カメラ外部行列
 深度 𝝀 がわかっていれば、投影プロセスを逆に辿ることでワールド座標系に
おける 𝑷の座標を復元できる
ワールド座標系
カメラ座標系
画像座標系
P
透視投影
p
別視点画像間の結びつき
11
 深度マップと各カメラのカメラパラメタ(𝐾, 𝑅, 𝐭)が分かっていれば
ワールド座標系を介して別視点画像上の点同士を対応付けられる
 簡単のために一つのカメラのカメラ座標系をワールド座標系とする
 画像をどのように歪めれば他視点画像を生成できるかがわかる
View 1 View 2
Camera 1
(World) Camera 2𝑅, 𝐭
整理すると・・・
12
 別視点から撮影された画像 View 1, View 2 があるとする
 撮影したのはそれぞれ camera 1, camera 2.
 それぞれのカメラのカメラ内部行列(𝐾)は既知とする
 Camera 1 の座標系をワールド座標系とし,camera 2 との位置関係
(𝑅, 𝐭)が既知であるとする
 もし仮にView 1 上の各ピクセルの深度がわかったとすると,それらピク
セルが View 2 上ではどの位置にあるかがわかる
 上記の対応がわかれば,Bilinear sampler を用いて画像を歪め,View 2
から View 1 を生成できる
View 2 から View 1 を生成するためには,各ピクセルの深度が推定できな
くてはならない
SfM Learner
13
Main stream
単眼深度推定の歴史
14
SfM-Net
Vijayanarasimhan
et al.
(2017)
SfM Learner
Zhou et al.
(CVPR 2017)
Monodepth
Godard et al.
(CVPR 2017)
Edge-aware
Depth-Normal
Consistency
Yang et al.
(AAAI 2018) LKVO Learner
Wang et al.
(CVPR 2018)
GeoNet
Yin, Shi
(CVPR 2018)
LEGO
Yang et al.
(CVPR 2018)
Monodepth2
Godard et al.
(2018)
Depth from
Videos in the Wild
Gordon et al.
(2019)
Every Pixel Counts
Yang et al.
(CVPR 2018)
Vid2depth
Mahjourian et al.
(CVPR 2018)
+ Optical flow
Stereo +
Spatial
Transformer
Estimate Depth
and Pose.
Improve
smoothness
loss
Improve
PoseNet
ICP
matching
loss
Estimate
Camera
Matrix (K)
※私見です
SfM Learner
15
書誌情報
Unsupervised Learning of Depth and Ego-Motion from Video
著者:Tinghui Zhou, Matthew Brown, Noah Snavely, David Lowe
CVPR 2017 (Oral)
https://people.eecs.berkeley.edu/~tinghuiz/projects/SfMLearner/
概要
 単眼動画のみから深度推定を学習する
 Depth CNN と Pose CNN を持ち,前者が深度を,後者が自己位置
の変化(カメラ外部行列)を推定する
 Bilinear sampler を用いて画像を歪め,隣接フレームを合成する
SfM Learner|全体図
16
𝑅, 𝐭
Depth CNN
Target view
𝐹𝑡
Source
view
𝐹𝑡−1
Source
view
𝐹𝑡+1
Pose CNN
Depth map
Resamplin
g grid
Bilinear
sampler
Generated
view
(from 𝐹𝑡−1)
Generated
view
(from 𝐹𝑡+1)
Reconstruction loss
Train
Inference
SfM Learner|Loss functions
17
Reconstruction loss
 生成された View が真の View と一致するかどうか
 具体的には absolute error (L1 loss)
Smoothness loss
 画像中の平坦な領域はマッチングに自由度がある
 例えば Target も Source も真っ白な画像だったらどんなふうに歪めてもいい
 推定深度に誤差があっても Rec loss に反映されない
 近いピクセルは近い距離にあるという制約を入れる
Mask loss
 動画を使って訓練する場合,移動物体が大きな問題になる
 Depth と Pose のみでは,Target 中の移動物体領域を正しく合成できない
 SfM Learner では Pose CNN に移動物体マスクを生成させ,マスク領域については
Reconstruction loss を計算しない
 ただしそのままではマスク領域が無限に大きくなってしまうので,マスクの面積を Loss に加
えている
SfM Learner|Reconstruction Loss
18
 推定された深度と自己位置をもとに Bilinear Sampler で生成された合成
View と真の View の間の誤差
 SfM Learner では L1 loss を用いているが,他の手法ではこれに SSIM
loss(後述)を加えるものが多い
 Bilinear Sampler によって生じる勾配は極めて局所的.そのため,画像と
深度マップをさまざまなスケールにリサイズし、各スケールで Rec Loss
を計算するのが一般的
 Bilinear Sampler の勾配は,ある点の周囲 4 ピクセルとの関係によって生じ
る(p. 9 参照のこと)
SfM Learner|Smoothness Loss
19
 色合いが平坦な領域では Rec loss 由来の勾配が小さくなるため,近くの
ピクセルは同一平面上にあるという事前知識を加えたい
𝐿 𝑠𝑚𝑜𝑜𝑡ℎ𝑛𝑒𝑠𝑠 = 𝜕 𝑥𝑥 𝑑 + 𝜕 𝑥𝑦 𝑑 + 𝜕 𝑦𝑥 𝑑 + |𝜕 𝑦𝑦 𝑑|
 具体的には,隣接ピクセルの深度との差分を計算するだけ
 2回微分が小さくなる⇒隣接ピクセル間で深度変化が一定(つまり平面上)
 この定式化にはいくつか問題があり,他の手法ではより洗練されている
注意
20
 実際は,モデルは Depth ではなく 1 / Depth (Disparity) を出力する
 いろいろな点から disparity を出力するほうが都合が良い
 Smoothness loss は disparity に対して計算される(はず)
 筆者の頭の中でいろんな手法がごっちゃになっているので,もしかする
と細かいところに嘘があるかもしれません.
 論文からしてわりとてきとうなことが多い
 著者実装を読むのが一番確実
https://github.com/tinghuiz/SfMLearner
https://github.com/mrharicot/monodepth
https://github.com/MightyChaos/LKVOLearner
https://github.com/nianticlabs/monodepth2
あたり参考になります
SfM Learner 以降の発展
21
Reconstruction Loss の改良
22
SSIM loss
 SSIM :比較対象の画像を基準として,画像の品質を測る指標.周囲のピクセル
の情報を繰り入れることで画像の構造を加味した評価が可能になる
SSIM 𝑥, 𝑦 =
2𝜇 𝑥 𝜇 𝑦 + 𝑐1 2𝜎𝑥𝑦 + 𝑐2
𝜇 𝑥
2 + 𝜇 𝑦
2 + 𝑐1 𝜎𝑥
2 + 𝜎 𝑦
2 + 𝑐2
𝐿SSIM =
1 − SSIM 𝑥, 𝑦
2
𝐿 𝑟𝑒𝑐 = 𝛼𝐿 𝑎𝑏𝑠 + 1 − 𝛼 𝐿SSIM
 SSIM loss は Monodepth で使われているが、なぜか SfM Learner には入っていな
い(使ったほうがいい)
 SSIM は avg pooling を使うと楽に実装できる
複数 Source から Target を合成し,最も Target に近いもの(ピクセルごと)に
ついてのみ損失を計算する
 Monodepth 2 で導入された手法
 Occlusion の問題を緩和できる
Smoothness loss の改良
23
 著者によってさまざまな Smoothness loss が提案されている
 SfM Learner の Smoothness loss に加えて,入力画像の画素値を考慮するもの
が多い.つまり,「色の近い」隣接ピクセルは同一平面上に存在する,とい
う制約を加えている.
 Depth と Pose のスケールには任意性があるが,そのスケールが小さい
ほど Smoothness loss は小さくなるため,長時間訓練すると Depth が潰
れてしまうという問題があり,Wang et al. で対処法が提案されている.
Pose CNN の改良
24
Pose CNN と Depth CNN の Encoder を共通化
 SfM Learner の Pose CNN は input としてチャネル方向に重ねた複数フレー
ム画像を想定していた.Depth CNN の input は Target 画像一枚であるため,
Encoder を共通化できなかった.
 Monodepth 2 (Godard et al.) では,Pose CNN の構成を変え,入力画像を
チャネル方向に重ねるのではなく,それぞれの画像を Encoder に入力して
得られた特徴量を Concat するようにした.これにより Encoder を Depth
CNN と共用できるように.これにより学習が安定・高速化.
Godard, C., Mac Aodha, O., & Brostow, G.
(2018). Digging Into Self-Supervised
Monocular Depth Estimation.
arXiv:1806.01260
ALBERTでの取り組み(一部紹介)
25
やったこと
26
1. データ収集
 データ収集用車両を自作
 東京周辺の公道データセットを作成
 2週間かけて60万枚のステレオ画像を収集
2. モデル改善
 深度マップ生成に softmax を用いる
 直接連続値を出力させるのではなく Softmax を通したのち値をかけて足し合わせる
 学習が安定・高速化
 特徴マップのマッチング
 真の画像と合成画像の誤差を損失として用いるのに加えて,それらの画像を畳み込み層を通
して得られる特徴マップ同士でも損失を計算する
 平坦な部分の推定精度が向上
 カメラ内部行列の推定
 キャリブレーションによって得られたカメラ内部行列 K を学習中に再推定する
深度マップ生成に softmax を用いる
27
DNNは出力値のスケールがブレやすい
 主に Batch Normalization や ReLU のせい
 深度推定のように正確な出力値が必要な場合は問題になる
距離を N 個に刻み,各距離である確率を出力.その後確率値で重み
を付けて足し合わせたものを深度とする設計に
 学習が安定・高速化(一週間→一日)
 深度推定以外でも使えるテクニックだと思う
𝑝 𝑑 𝑖
=
𝑒 𝑦 𝑖
𝑘=1
𝑁
𝑒 𝑦 𝑘
𝑑 =
𝑖=1
𝑁
𝑝 𝑑 𝑖
𝑑𝑖
ただし 𝒚 は DNN の出力,𝑑𝑖 は距離の刻みの一つ
𝑑1 𝑑2 𝑑3
𝑝 𝑑1
𝑝 𝑑2
𝑝 𝑑3
𝑝
𝑑
Depth
特徴マップのマッチング
28
Target image, Source image それぞれを浅い畳み込み層に通してダウンサン
プリングし,得られた特徴マップについて,画像と同様に変形⇒比較
 平坦な領域の推定精度が向上(マルチスケール学習を代用できる)
 画像上では平坦でも特徴空間上では平坦でない場合があるため
Target Image Source ImageGenerated Image
Conv Conv
推定例
29
まとめ・参考文献
30
まとめと感想
31
 画像を歪めて他視点画像を作ることで深度推定を学ばせる
 Smoothness に現実世界についての事前知識を込める
 技術としてはだいたい完成してきた観がある
 カメラパラメタ自体の推定,移動物体や occlusion への対処に工夫の余地があるかもしれ
ない
 別タスクと組み合わせると面白そう
 奥行きを学ぶことは現実世界について学ぶこと.事前学習の方法として
使えたりしないか.
 実装が面倒くさい.
参考文献
32
• Godard, C., Mac Aodha, O., & Brostow, G. (2018). Digging Into Self-Supervised Monocular Depth
Estimation. arXiv:1806.01260 [cs, stat]. http://arxiv.org/abs/1806.01260. Accessed 27 April 2019
• Godard, C., Mac Aodha, O., & Brostow, G. J. (2016). Unsupervised Monocular Depth Estimation with
Left-Right Consistency. arXiv:1609.03677 [cs, stat]. http://arxiv.org/abs/1609.03677. Accessed 27 April
2019
• Gordon, A., Li, H., Jonschkowski, R., & Angelova, A. (2019). Depth from Videos in the Wild:
Unsupervised Monocular Depth Learning from Unknown Cameras. arXiv:1904.04998 [cs].
http://arxiv.org/abs/1904.04998. Accessed 27 April 2019
• Mahjourian, R., Wicke, M., & Angelova, A. (2018). Unsupervised Learning of Depth and Ego-Motion
from Monocular Video Using 3D Geometric Constraints. arXiv:1802.05522 [cs].
http://arxiv.org/abs/1802.05522. Accessed 27 April 2019
• Ummenhofer, B., Zhou, H., Uhrig, J., Mayer, N., Ilg, E., Dosovitskiy, A., & Brox, T. (2016). DeMoN: Depth
and Motion Network for Learning Monocular Stereo. 2017 IEEE Conference on Computer Vision and
Pattern Recognition (CVPR), 5622–5631. doi:10.1109/CVPR.2017.596
• Vijayanarasimhan, S., Ricco, S., Schmid, C., Sukthankar, R., & Fragkiadaki, K. (2017). SfM-Net: Learning
of Structure and Motion from Video. arXiv:1704.07804 [cs]. http://arxiv.org/abs/1704.07804. Accessed 7
May 2019
参考文献
33
• Wang, C., Buenaposada, J. M., Zhu, R., & Lucey, S. (2017). Learning Depth from Monocular Videos
using Direct Methods. arXiv:1712.00175 [cs]. http://arxiv.org/abs/1712.00175. Accessed 27 April 2019
• Yang, Z., Wang, P., Wang, Y., Xu, W., & Nevatia, R. (2018a). LEGO: Learning Edge with Geometry all at
Once by Watching Videos. arXiv:1803.05648 [cs]. http://arxiv.org/abs/1803.05648. Accessed 27 April
2019
• Yang, Z., Wang, P., Wang, Y., Xu, W., & Nevatia, R. (2018b). Every Pixel Counts: Unsupervised Geometry
Learning with Holistic 3D Motion Understanding. arXiv:1806.10556 [cs]. http://arxiv.org/abs/1806.10556.
Accessed 27 April 2019
• Yang, Z., Wang, P., Xu, W., Zhao, L., & Nevatia, R. (2017). Unsupervised Learning of Geometry with
Edge-aware Depth-Normal Consistency. arXiv:1711.03665 [cs]. http://arxiv.org/abs/1711.03665.
Accessed 27 April 2019
• Yin, Z., & Shi, J. (2018). GeoNet: Unsupervised Learning of Dense Depth, Optical Flow and Camera
Pose. arXiv:1803.02276 [cs]. http://arxiv.org/abs/1803.02276. Accessed 27 April 2019
• Zhou, T., Brown, M., Snavely, N., & Lowe, D. G. (2017). Unsupervised Learning of Depth and Ego-
Motion from Video. arXiv:1704.07813 [cs]. http://arxiv.org/abs/1704.07813. Accessed 27 April 2019

Mais conteúdo relacionado

Mais procurados

コンピュータビジョンの研究開発状況
コンピュータビジョンの研究開発状況コンピュータビジョンの研究開発状況
コンピュータビジョンの研究開発状況cvpaper. challenge
 
SSII2021 [OS2-02] 深層学習におけるデータ拡張の原理と最新動向
SSII2021 [OS2-02] 深層学習におけるデータ拡張の原理と最新動向SSII2021 [OS2-02] 深層学習におけるデータ拡張の原理と最新動向
SSII2021 [OS2-02] 深層学習におけるデータ拡張の原理と最新動向SSII
 
【DL輪読会】Motion Policy Networks
【DL輪読会】Motion Policy Networks【DL輪読会】Motion Policy Networks
【DL輪読会】Motion Policy NetworksDeep Learning JP
 
【メタサーベイ】Neural Fields
【メタサーベイ】Neural Fields【メタサーベイ】Neural Fields
【メタサーベイ】Neural Fieldscvpaper. challenge
 
SSII2019TS: 実践カメラキャリブレーション ~カメラを用いた実世界計測の基礎と応用~
SSII2019TS: 実践カメラキャリブレーション ~カメラを用いた実世界計測の基礎と応用~SSII2019TS: 実践カメラキャリブレーション ~カメラを用いた実世界計測の基礎と応用~
SSII2019TS: 実践カメラキャリブレーション ~カメラを用いた実世界計測の基礎と応用~SSII
 
Swin Transformer (ICCV'21 Best Paper) を完璧に理解する資料
Swin Transformer (ICCV'21 Best Paper) を完璧に理解する資料Swin Transformer (ICCV'21 Best Paper) を完璧に理解する資料
Swin Transformer (ICCV'21 Best Paper) を完璧に理解する資料Yusuke Uchida
 
3次元計測とフィルタリング
3次元計測とフィルタリング3次元計測とフィルタリング
3次元計測とフィルタリングNorishige Fukushima
 
【DL輪読会】Segment Anything
【DL輪読会】Segment Anything【DL輪読会】Segment Anything
【DL輪読会】Segment AnythingDeep Learning JP
 
ドメイン適応の原理と応用
ドメイン適応の原理と応用ドメイン適応の原理と応用
ドメイン適応の原理と応用Yoshitaka Ushiku
 
[DL輪読会]Neural Radiance Flow for 4D View Synthesis and Video Processing (NeRF...
[DL輪読会]Neural Radiance Flow for 4D View Synthesis and Video  Processing (NeRF...[DL輪読会]Neural Radiance Flow for 4D View Synthesis and Video  Processing (NeRF...
[DL輪読会]Neural Radiance Flow for 4D View Synthesis and Video Processing (NeRF...Deep Learning JP
 
3D CNNによる人物行動認識の動向
3D CNNによる人物行動認識の動向3D CNNによる人物行動認識の動向
3D CNNによる人物行動認識の動向Kensho Hara
 
【チュートリアル】コンピュータビジョンによる動画認識
【チュートリアル】コンピュータビジョンによる動画認識【チュートリアル】コンピュータビジョンによる動画認識
【チュートリアル】コンピュータビジョンによる動画認識Hirokatsu Kataoka
 
【DL輪読会】HexPlaneとK-Planes
【DL輪読会】HexPlaneとK-Planes【DL輪読会】HexPlaneとK-Planes
【DL輪読会】HexPlaneとK-PlanesDeep Learning JP
 
[DL輪読会]Depth Prediction Without the Sensors: Leveraging Structure for Unsuper...
[DL輪読会]Depth Prediction Without the Sensors: Leveraging Structure for Unsuper...[DL輪読会]Depth Prediction Without the Sensors: Leveraging Structure for Unsuper...
[DL輪読会]Depth Prediction Without the Sensors: Leveraging Structure for Unsuper...Deep Learning JP
 
三次元点群を取り扱うニューラルネットワークのサーベイ
三次元点群を取り扱うニューラルネットワークのサーベイ三次元点群を取り扱うニューラルネットワークのサーベイ
三次元点群を取り扱うニューラルネットワークのサーベイNaoya Chiba
 
【DL輪読会】Perceiver io a general architecture for structured inputs & outputs
【DL輪読会】Perceiver io  a general architecture for structured inputs & outputs 【DL輪読会】Perceiver io  a general architecture for structured inputs & outputs
【DL輪読会】Perceiver io a general architecture for structured inputs & outputs Deep Learning JP
 
SSII2019TS: 実践カメラキャリブレーション ~カメラを用いた実世界計測の基礎と応用~
SSII2019TS: 実践カメラキャリブレーション ~カメラを用いた実世界計測の基礎と応用~SSII2019TS: 実践カメラキャリブレーション ~カメラを用いた実世界計測の基礎と応用~
SSII2019TS: 実践カメラキャリブレーション ~カメラを用いた実世界計測の基礎と応用~SSII
 
[DL輪読会]画像を使ったSim2Realの現況
[DL輪読会]画像を使ったSim2Realの現況[DL輪読会]画像を使ったSim2Realの現況
[DL輪読会]画像を使ったSim2Realの現況Deep Learning JP
 
【DL輪読会】NeRF-VAE: A Geometry Aware 3D Scene Generative Model
【DL輪読会】NeRF-VAE: A Geometry Aware 3D Scene Generative Model【DL輪読会】NeRF-VAE: A Geometry Aware 3D Scene Generative Model
【DL輪読会】NeRF-VAE: A Geometry Aware 3D Scene Generative ModelDeep Learning JP
 
2018/12/28 LiDARで取得した道路上点群に対するsemantic segmentation
2018/12/28 LiDARで取得した道路上点群に対するsemantic segmentation2018/12/28 LiDARで取得した道路上点群に対するsemantic segmentation
2018/12/28 LiDARで取得した道路上点群に対するsemantic segmentationTakuya Minagawa
 

Mais procurados (20)

コンピュータビジョンの研究開発状況
コンピュータビジョンの研究開発状況コンピュータビジョンの研究開発状況
コンピュータビジョンの研究開発状況
 
SSII2021 [OS2-02] 深層学習におけるデータ拡張の原理と最新動向
SSII2021 [OS2-02] 深層学習におけるデータ拡張の原理と最新動向SSII2021 [OS2-02] 深層学習におけるデータ拡張の原理と最新動向
SSII2021 [OS2-02] 深層学習におけるデータ拡張の原理と最新動向
 
【DL輪読会】Motion Policy Networks
【DL輪読会】Motion Policy Networks【DL輪読会】Motion Policy Networks
【DL輪読会】Motion Policy Networks
 
【メタサーベイ】Neural Fields
【メタサーベイ】Neural Fields【メタサーベイ】Neural Fields
【メタサーベイ】Neural Fields
 
SSII2019TS: 実践カメラキャリブレーション ~カメラを用いた実世界計測の基礎と応用~
SSII2019TS: 実践カメラキャリブレーション ~カメラを用いた実世界計測の基礎と応用~SSII2019TS: 実践カメラキャリブレーション ~カメラを用いた実世界計測の基礎と応用~
SSII2019TS: 実践カメラキャリブレーション ~カメラを用いた実世界計測の基礎と応用~
 
Swin Transformer (ICCV'21 Best Paper) を完璧に理解する資料
Swin Transformer (ICCV'21 Best Paper) を完璧に理解する資料Swin Transformer (ICCV'21 Best Paper) を完璧に理解する資料
Swin Transformer (ICCV'21 Best Paper) を完璧に理解する資料
 
3次元計測とフィルタリング
3次元計測とフィルタリング3次元計測とフィルタリング
3次元計測とフィルタリング
 
【DL輪読会】Segment Anything
【DL輪読会】Segment Anything【DL輪読会】Segment Anything
【DL輪読会】Segment Anything
 
ドメイン適応の原理と応用
ドメイン適応の原理と応用ドメイン適応の原理と応用
ドメイン適応の原理と応用
 
[DL輪読会]Neural Radiance Flow for 4D View Synthesis and Video Processing (NeRF...
[DL輪読会]Neural Radiance Flow for 4D View Synthesis and Video  Processing (NeRF...[DL輪読会]Neural Radiance Flow for 4D View Synthesis and Video  Processing (NeRF...
[DL輪読会]Neural Radiance Flow for 4D View Synthesis and Video Processing (NeRF...
 
3D CNNによる人物行動認識の動向
3D CNNによる人物行動認識の動向3D CNNによる人物行動認識の動向
3D CNNによる人物行動認識の動向
 
【チュートリアル】コンピュータビジョンによる動画認識
【チュートリアル】コンピュータビジョンによる動画認識【チュートリアル】コンピュータビジョンによる動画認識
【チュートリアル】コンピュータビジョンによる動画認識
 
【DL輪読会】HexPlaneとK-Planes
【DL輪読会】HexPlaneとK-Planes【DL輪読会】HexPlaneとK-Planes
【DL輪読会】HexPlaneとK-Planes
 
[DL輪読会]Depth Prediction Without the Sensors: Leveraging Structure for Unsuper...
[DL輪読会]Depth Prediction Without the Sensors: Leveraging Structure for Unsuper...[DL輪読会]Depth Prediction Without the Sensors: Leveraging Structure for Unsuper...
[DL輪読会]Depth Prediction Without the Sensors: Leveraging Structure for Unsuper...
 
三次元点群を取り扱うニューラルネットワークのサーベイ
三次元点群を取り扱うニューラルネットワークのサーベイ三次元点群を取り扱うニューラルネットワークのサーベイ
三次元点群を取り扱うニューラルネットワークのサーベイ
 
【DL輪読会】Perceiver io a general architecture for structured inputs & outputs
【DL輪読会】Perceiver io  a general architecture for structured inputs & outputs 【DL輪読会】Perceiver io  a general architecture for structured inputs & outputs
【DL輪読会】Perceiver io a general architecture for structured inputs & outputs
 
SSII2019TS: 実践カメラキャリブレーション ~カメラを用いた実世界計測の基礎と応用~
SSII2019TS: 実践カメラキャリブレーション ~カメラを用いた実世界計測の基礎と応用~SSII2019TS: 実践カメラキャリブレーション ~カメラを用いた実世界計測の基礎と応用~
SSII2019TS: 実践カメラキャリブレーション ~カメラを用いた実世界計測の基礎と応用~
 
[DL輪読会]画像を使ったSim2Realの現況
[DL輪読会]画像を使ったSim2Realの現況[DL輪読会]画像を使ったSim2Realの現況
[DL輪読会]画像を使ったSim2Realの現況
 
【DL輪読会】NeRF-VAE: A Geometry Aware 3D Scene Generative Model
【DL輪読会】NeRF-VAE: A Geometry Aware 3D Scene Generative Model【DL輪読会】NeRF-VAE: A Geometry Aware 3D Scene Generative Model
【DL輪読会】NeRF-VAE: A Geometry Aware 3D Scene Generative Model
 
2018/12/28 LiDARで取得した道路上点群に対するsemantic segmentation
2018/12/28 LiDARで取得した道路上点群に対するsemantic segmentation2018/12/28 LiDARで取得した道路上点群に対するsemantic segmentation
2018/12/28 LiDARで取得した道路上点群に対するsemantic segmentation
 

Semelhante a SfM Learner系単眼深度推定手法について

DeepVIO: Self-supervised Deep Learning of Monocular Visual Inertial Odometry ...
DeepVIO: Self-supervised Deep Learning of Monocular Visual Inertial Odometry ...DeepVIO: Self-supervised Deep Learning of Monocular Visual Inertial Odometry ...
DeepVIO: Self-supervised Deep Learning of Monocular Visual Inertial Odometry ...harmonylab
 
[CVPR2020読み会@CV勉強会] 3D Packing for Self-Supervised Monocular Depth Estimation
[CVPR2020読み会@CV勉強会] 3D Packing for Self-Supervised Monocular Depth Estimation[CVPR2020読み会@CV勉強会] 3D Packing for Self-Supervised Monocular Depth Estimation
[CVPR2020読み会@CV勉強会] 3D Packing for Self-Supervised Monocular Depth EstimationKazuyuki Miyazawa
 
[DL輪読会]VoxelPose: Towards Multi-Camera 3D Human Pose Estimation in Wild Envir...
[DL輪読会]VoxelPose: Towards Multi-Camera 3D Human Pose Estimation in Wild Envir...[DL輪読会]VoxelPose: Towards Multi-Camera 3D Human Pose Estimation in Wild Envir...
[DL輪読会]VoxelPose: Towards Multi-Camera 3D Human Pose Estimation in Wild Envir...Deep Learning JP
 
【2015.07】(1/2)cvpaper.challenge@CVPR2015
【2015.07】(1/2)cvpaper.challenge@CVPR2015【2015.07】(1/2)cvpaper.challenge@CVPR2015
【2015.07】(1/2)cvpaper.challenge@CVPR2015cvpaper. challenge
 
[DL輪読会]3D Human Pose Estimation @ CVPR’19 / ICCV’19
[DL輪読会]3D Human Pose Estimation @ CVPR’19 / ICCV’19[DL輪読会]3D Human Pose Estimation @ CVPR’19 / ICCV’19
[DL輪読会]3D Human Pose Estimation @ CVPR’19 / ICCV’19Deep Learning JP
 
【チュートリアル】コンピュータビジョンによる動画認識 v2
【チュートリアル】コンピュータビジョンによる動画認識 v2【チュートリアル】コンピュータビジョンによる動画認識 v2
【チュートリアル】コンピュータビジョンによる動画認識 v2Hirokatsu Kataoka
 
「解説資料」ViTPose: Simple Vision Transformer Baselines for Human Pose Estimation
「解説資料」ViTPose: Simple Vision Transformer Baselines for Human Pose Estimation 「解説資料」ViTPose: Simple Vision Transformer Baselines for Human Pose Estimation
「解説資料」ViTPose: Simple Vision Transformer Baselines for Human Pose Estimation Takumi Ohkuma
 
【DL輪読会】ViTPose: Simple Vision Transformer Baselines for Human Pose Estimation
【DL輪読会】ViTPose: Simple Vision Transformer Baselines for Human Pose Estimation【DL輪読会】ViTPose: Simple Vision Transformer Baselines for Human Pose Estimation
【DL輪読会】ViTPose: Simple Vision Transformer Baselines for Human Pose EstimationDeep Learning JP
 
Depth Prediction Without the Sensors: Leveraging Structure for Unsupervised L...
Depth Prediction Without the Sensors: Leveraging Structure for Unsupervised L...Depth Prediction Without the Sensors: Leveraging Structure for Unsupervised L...
Depth Prediction Without the Sensors: Leveraging Structure for Unsupervised L...harmonylab
 
[DL輪読会]MetaFormer is Actually What You Need for Vision
[DL輪読会]MetaFormer is Actually What You Need for Vision[DL輪読会]MetaFormer is Actually What You Need for Vision
[DL輪読会]MetaFormer is Actually What You Need for VisionDeep Learning JP
 
「解説資料」MetaFormer is Actually What You Need for Vision
「解説資料」MetaFormer is Actually What You Need for Vision「解説資料」MetaFormer is Actually What You Need for Vision
「解説資料」MetaFormer is Actually What You Need for VisionTakumi Ohkuma
 
これからのコンピュータビジョン技術 - cvpaper.challenge in PRMU Grand Challenge 2016 (PRMU研究会 2...
これからのコンピュータビジョン技術 - cvpaper.challenge in PRMU Grand Challenge 2016 (PRMU研究会 2...これからのコンピュータビジョン技術 - cvpaper.challenge in PRMU Grand Challenge 2016 (PRMU研究会 2...
これからのコンピュータビジョン技術 - cvpaper.challenge in PRMU Grand Challenge 2016 (PRMU研究会 2...cvpaper. challenge
 
Deep Learningと画像認識   ~歴史・理論・実践~
Deep Learningと画像認識 ~歴史・理論・実践~Deep Learningと画像認識 ~歴史・理論・実践~
Deep Learningと画像認識   ~歴史・理論・実践~nlab_utokyo
 
先端技術とメディア表現 第4回レポートまとめ
先端技術とメディア表現 第4回レポートまとめ先端技術とメディア表現 第4回レポートまとめ
先端技術とメディア表現 第4回レポートまとめDigital Nature Group
 
深層学習によるHuman Pose Estimationの基礎
深層学習によるHuman Pose Estimationの基礎深層学習によるHuman Pose Estimationの基礎
深層学習によるHuman Pose Estimationの基礎Takumi Ohkuma
 
Slideshare unsupervised learning of depth and ego motion from video
Slideshare unsupervised learning of depth and ego motion from videoSlideshare unsupervised learning of depth and ego motion from video
Slideshare unsupervised learning of depth and ego motion from videoishii yasunori
 
An Introduction of DNN Compression Technology and Hardware Acceleration on FPGA
An Introduction of DNN Compression Technology and Hardware Acceleration on FPGAAn Introduction of DNN Compression Technology and Hardware Acceleration on FPGA
An Introduction of DNN Compression Technology and Hardware Acceleration on FPGALeapMind Inc
 
Kinect深度情報処理入門
Kinect深度情報処理入門Kinect深度情報処理入門
Kinect深度情報処理入門伸男 伊藤
 
論文紹介:DF-Net: Unsupervised Joint Learning of Depth and Flow using Cross-Networ...
論文紹介:DF-Net: Unsupervised Joint Learning of Depth and Flow using Cross-Networ...論文紹介:DF-Net: Unsupervised Joint Learning of Depth and Flow using Cross-Networ...
論文紹介:DF-Net: Unsupervised Joint Learning of Depth and Flow using Cross-Networ...matsunoh
 

Semelhante a SfM Learner系単眼深度推定手法について (20)

DeepVIO: Self-supervised Deep Learning of Monocular Visual Inertial Odometry ...
DeepVIO: Self-supervised Deep Learning of Monocular Visual Inertial Odometry ...DeepVIO: Self-supervised Deep Learning of Monocular Visual Inertial Odometry ...
DeepVIO: Self-supervised Deep Learning of Monocular Visual Inertial Odometry ...
 
[CVPR2020読み会@CV勉強会] 3D Packing for Self-Supervised Monocular Depth Estimation
[CVPR2020読み会@CV勉強会] 3D Packing for Self-Supervised Monocular Depth Estimation[CVPR2020読み会@CV勉強会] 3D Packing for Self-Supervised Monocular Depth Estimation
[CVPR2020読み会@CV勉強会] 3D Packing for Self-Supervised Monocular Depth Estimation
 
[DL輪読会]VoxelPose: Towards Multi-Camera 3D Human Pose Estimation in Wild Envir...
[DL輪読会]VoxelPose: Towards Multi-Camera 3D Human Pose Estimation in Wild Envir...[DL輪読会]VoxelPose: Towards Multi-Camera 3D Human Pose Estimation in Wild Envir...
[DL輪読会]VoxelPose: Towards Multi-Camera 3D Human Pose Estimation in Wild Envir...
 
【2015.07】(1/2)cvpaper.challenge@CVPR2015
【2015.07】(1/2)cvpaper.challenge@CVPR2015【2015.07】(1/2)cvpaper.challenge@CVPR2015
【2015.07】(1/2)cvpaper.challenge@CVPR2015
 
[DL輪読会]3D Human Pose Estimation @ CVPR’19 / ICCV’19
[DL輪読会]3D Human Pose Estimation @ CVPR’19 / ICCV’19[DL輪読会]3D Human Pose Estimation @ CVPR’19 / ICCV’19
[DL輪読会]3D Human Pose Estimation @ CVPR’19 / ICCV’19
 
【チュートリアル】コンピュータビジョンによる動画認識 v2
【チュートリアル】コンピュータビジョンによる動画認識 v2【チュートリアル】コンピュータビジョンによる動画認識 v2
【チュートリアル】コンピュータビジョンによる動画認識 v2
 
「解説資料」ViTPose: Simple Vision Transformer Baselines for Human Pose Estimation
「解説資料」ViTPose: Simple Vision Transformer Baselines for Human Pose Estimation 「解説資料」ViTPose: Simple Vision Transformer Baselines for Human Pose Estimation
「解説資料」ViTPose: Simple Vision Transformer Baselines for Human Pose Estimation
 
【DL輪読会】ViTPose: Simple Vision Transformer Baselines for Human Pose Estimation
【DL輪読会】ViTPose: Simple Vision Transformer Baselines for Human Pose Estimation【DL輪読会】ViTPose: Simple Vision Transformer Baselines for Human Pose Estimation
【DL輪読会】ViTPose: Simple Vision Transformer Baselines for Human Pose Estimation
 
Depth Prediction Without the Sensors: Leveraging Structure for Unsupervised L...
Depth Prediction Without the Sensors: Leveraging Structure for Unsupervised L...Depth Prediction Without the Sensors: Leveraging Structure for Unsupervised L...
Depth Prediction Without the Sensors: Leveraging Structure for Unsupervised L...
 
[DL輪読会]MetaFormer is Actually What You Need for Vision
[DL輪読会]MetaFormer is Actually What You Need for Vision[DL輪読会]MetaFormer is Actually What You Need for Vision
[DL輪読会]MetaFormer is Actually What You Need for Vision
 
「解説資料」MetaFormer is Actually What You Need for Vision
「解説資料」MetaFormer is Actually What You Need for Vision「解説資料」MetaFormer is Actually What You Need for Vision
「解説資料」MetaFormer is Actually What You Need for Vision
 
これからのコンピュータビジョン技術 - cvpaper.challenge in PRMU Grand Challenge 2016 (PRMU研究会 2...
これからのコンピュータビジョン技術 - cvpaper.challenge in PRMU Grand Challenge 2016 (PRMU研究会 2...これからのコンピュータビジョン技術 - cvpaper.challenge in PRMU Grand Challenge 2016 (PRMU研究会 2...
これからのコンピュータビジョン技術 - cvpaper.challenge in PRMU Grand Challenge 2016 (PRMU研究会 2...
 
Deep Learningと画像認識   ~歴史・理論・実践~
Deep Learningと画像認識 ~歴史・理論・実践~Deep Learningと画像認識 ~歴史・理論・実践~
Deep Learningと画像認識   ~歴史・理論・実践~
 
先端技術とメディア表現 第4回レポートまとめ
先端技術とメディア表現 第4回レポートまとめ先端技術とメディア表現 第4回レポートまとめ
先端技術とメディア表現 第4回レポートまとめ
 
深層学習によるHuman Pose Estimationの基礎
深層学習によるHuman Pose Estimationの基礎深層学習によるHuman Pose Estimationの基礎
深層学習によるHuman Pose Estimationの基礎
 
Slideshare unsupervised learning of depth and ego motion from video
Slideshare unsupervised learning of depth and ego motion from videoSlideshare unsupervised learning of depth and ego motion from video
Slideshare unsupervised learning of depth and ego motion from video
 
An Introduction of DNN Compression Technology and Hardware Acceleration on FPGA
An Introduction of DNN Compression Technology and Hardware Acceleration on FPGAAn Introduction of DNN Compression Technology and Hardware Acceleration on FPGA
An Introduction of DNN Compression Technology and Hardware Acceleration on FPGA
 
Kinect深度情報処理入門
Kinect深度情報処理入門Kinect深度情報処理入門
Kinect深度情報処理入門
 
MIRU_Preview_JSAI2019
MIRU_Preview_JSAI2019MIRU_Preview_JSAI2019
MIRU_Preview_JSAI2019
 
論文紹介:DF-Net: Unsupervised Joint Learning of Depth and Flow using Cross-Networ...
論文紹介:DF-Net: Unsupervised Joint Learning of Depth and Flow using Cross-Networ...論文紹介:DF-Net: Unsupervised Joint Learning of Depth and Flow using Cross-Networ...
論文紹介:DF-Net: Unsupervised Joint Learning of Depth and Flow using Cross-Networ...
 

Mais de Ryutaro Yamauchi

[DeepLearning論文読み会] Dataset Distillation
[DeepLearning論文読み会] Dataset Distillation[DeepLearning論文読み会] Dataset Distillation
[DeepLearning論文読み会] Dataset DistillationRyutaro Yamauchi
 
[論文解説]A Bayesian Perspective on Generalization and Stochastic Gradient Descent
[論文解説]A Bayesian Perspective on Generalization and Stochastic Gradient Descent[論文解説]A Bayesian Perspective on Generalization and Stochastic Gradient Descent
[論文解説]A Bayesian Perspective on Generalization and Stochastic Gradient DescentRyutaro Yamauchi
 
[論文解説]Unsupervised monocular depth estimation with Left-Right Consistency
[論文解説]Unsupervised monocular depth estimation with Left-Right Consistency[論文解説]Unsupervised monocular depth estimation with Left-Right Consistency
[論文解説]Unsupervised monocular depth estimation with Left-Right ConsistencyRyutaro Yamauchi
 
Hybrid computing using a neural network with dynamic
Hybrid computing using a neural network with dynamicHybrid computing using a neural network with dynamic
Hybrid computing using a neural network with dynamicRyutaro Yamauchi
 

Mais de Ryutaro Yamauchi (6)

[DeepLearning論文読み会] Dataset Distillation
[DeepLearning論文読み会] Dataset Distillation[DeepLearning論文読み会] Dataset Distillation
[DeepLearning論文読み会] Dataset Distillation
 
Structure from Motion
Structure from MotionStructure from Motion
Structure from Motion
 
Group normalization
Group normalizationGroup normalization
Group normalization
 
[論文解説]A Bayesian Perspective on Generalization and Stochastic Gradient Descent
[論文解説]A Bayesian Perspective on Generalization and Stochastic Gradient Descent[論文解説]A Bayesian Perspective on Generalization and Stochastic Gradient Descent
[論文解説]A Bayesian Perspective on Generalization and Stochastic Gradient Descent
 
[論文解説]Unsupervised monocular depth estimation with Left-Right Consistency
[論文解説]Unsupervised monocular depth estimation with Left-Right Consistency[論文解説]Unsupervised monocular depth estimation with Left-Right Consistency
[論文解説]Unsupervised monocular depth estimation with Left-Right Consistency
 
Hybrid computing using a neural network with dynamic
Hybrid computing using a neural network with dynamicHybrid computing using a neural network with dynamic
Hybrid computing using a neural network with dynamic
 

SfM Learner系単眼深度推定手法について

  • 3. 深度推定(Depth Estimation)とは 3 DNN等を用いて画像から深度情報を復元する技術 メリット  画像1枚のみでも可能(ステレオ画像などは不要)  DNN の推論一回で終わるので SfM などより高速な場合あり デメリット  あくまで推定なので誤差は生じる  訓練データとかけ離れたシーンの深度推定は難しい  多くの訓練データが必要
  • 4. Supervised or Un-supervised Supervised Depth Estimation  別で収集した深度マップを教師データとして使う  学習は簡単だが深度マップを取得するのが難しい Un-supervised Depth Estimation  深度マップを利用せずにモデルを訓練する  深度マップの代わりにステレオ画像や動画を利用  モデルは複雑になるが学習に利用可能なデータが格段に増加 する  今日話しをするのはこちら 4
  • 5. Idea 5 DNNに他視点画像を生成するタスクを解かせる  三次元情報なしには不可能 ⇒ DNN は三次元情報を推定せざるを得ない ・・・しかし他視点画像を生成させるだけではDNNの推定した 三次元情報を取り出せない View 1 View 2 DNNに推定させる
  • 6. Idea (2) 6 元画像を歪めることによって他視点画像を生成させる  深度マップが必然的に生成されるような問題設定をする  画像を歪める操作は微分可能でなくてはならない Source view Target view Depth map Pose Warping param Target view (gen) Reconstruction loss input output warping
  • 9. Bilinear sampler 9  補間方法によって様々なリサンプリング手法がある  Nearest Neighbor, Bilinear, Bicubic などなど  深度推定では Bilinear 法を用いて画像を歪める  前項の図はアフィン変換になっているが、新しい格子 点は任意の位置にあってよい  補間の仕方は右図の通り(Wikipediaより)  モデルは View 間の位置関係と推定された深度マッ プを元に画像歪曲後の格子点の座標を生成  これを使って画像を歪める(リサンプリングする)  Bilinear 法は微分可能であるため Backprop が通る  新しい格子点の値(色)は,その格子点の座標 (x, y) の関数になる  End-to-end の学習が可能
  • 10. カメラモデル 10  空間上の点Pが画像上の点pに投影されるまでのプロセスをモデル化  3つの座標系を考える  ワールド座標系 :基準となる座標系  カメラ座標系 :カメラを原点においた座標系  画像座標系 :画像上の座標系.ピクセル単位  以下の式で書ける 𝜆 𝑢 𝑣 1 = 𝐾𝑅( 𝑥 𝑦 𝑧 + 𝐭)  𝜆:カメラ座標系における 𝑃 の深度  𝑢, 𝑣:画像座標系における 𝑝 の座標  𝐾:カメラ内部行列  𝑅, 𝐭:カメラ外部行列  深度 𝝀 がわかっていれば、投影プロセスを逆に辿ることでワールド座標系に おける 𝑷の座標を復元できる ワールド座標系 カメラ座標系 画像座標系 P 透視投影 p
  • 11. 別視点画像間の結びつき 11  深度マップと各カメラのカメラパラメタ(𝐾, 𝑅, 𝐭)が分かっていれば ワールド座標系を介して別視点画像上の点同士を対応付けられる  簡単のために一つのカメラのカメラ座標系をワールド座標系とする  画像をどのように歪めれば他視点画像を生成できるかがわかる View 1 View 2 Camera 1 (World) Camera 2𝑅, 𝐭
  • 12. 整理すると・・・ 12  別視点から撮影された画像 View 1, View 2 があるとする  撮影したのはそれぞれ camera 1, camera 2.  それぞれのカメラのカメラ内部行列(𝐾)は既知とする  Camera 1 の座標系をワールド座標系とし,camera 2 との位置関係 (𝑅, 𝐭)が既知であるとする  もし仮にView 1 上の各ピクセルの深度がわかったとすると,それらピク セルが View 2 上ではどの位置にあるかがわかる  上記の対応がわかれば,Bilinear sampler を用いて画像を歪め,View 2 から View 1 を生成できる View 2 から View 1 を生成するためには,各ピクセルの深度が推定できな くてはならない
  • 14. Main stream 単眼深度推定の歴史 14 SfM-Net Vijayanarasimhan et al. (2017) SfM Learner Zhou et al. (CVPR 2017) Monodepth Godard et al. (CVPR 2017) Edge-aware Depth-Normal Consistency Yang et al. (AAAI 2018) LKVO Learner Wang et al. (CVPR 2018) GeoNet Yin, Shi (CVPR 2018) LEGO Yang et al. (CVPR 2018) Monodepth2 Godard et al. (2018) Depth from Videos in the Wild Gordon et al. (2019) Every Pixel Counts Yang et al. (CVPR 2018) Vid2depth Mahjourian et al. (CVPR 2018) + Optical flow Stereo + Spatial Transformer Estimate Depth and Pose. Improve smoothness loss Improve PoseNet ICP matching loss Estimate Camera Matrix (K) ※私見です
  • 15. SfM Learner 15 書誌情報 Unsupervised Learning of Depth and Ego-Motion from Video 著者:Tinghui Zhou, Matthew Brown, Noah Snavely, David Lowe CVPR 2017 (Oral) https://people.eecs.berkeley.edu/~tinghuiz/projects/SfMLearner/ 概要  単眼動画のみから深度推定を学習する  Depth CNN と Pose CNN を持ち,前者が深度を,後者が自己位置 の変化(カメラ外部行列)を推定する  Bilinear sampler を用いて画像を歪め,隣接フレームを合成する
  • 16. SfM Learner|全体図 16 𝑅, 𝐭 Depth CNN Target view 𝐹𝑡 Source view 𝐹𝑡−1 Source view 𝐹𝑡+1 Pose CNN Depth map Resamplin g grid Bilinear sampler Generated view (from 𝐹𝑡−1) Generated view (from 𝐹𝑡+1) Reconstruction loss Train Inference
  • 17. SfM Learner|Loss functions 17 Reconstruction loss  生成された View が真の View と一致するかどうか  具体的には absolute error (L1 loss) Smoothness loss  画像中の平坦な領域はマッチングに自由度がある  例えば Target も Source も真っ白な画像だったらどんなふうに歪めてもいい  推定深度に誤差があっても Rec loss に反映されない  近いピクセルは近い距離にあるという制約を入れる Mask loss  動画を使って訓練する場合,移動物体が大きな問題になる  Depth と Pose のみでは,Target 中の移動物体領域を正しく合成できない  SfM Learner では Pose CNN に移動物体マスクを生成させ,マスク領域については Reconstruction loss を計算しない  ただしそのままではマスク領域が無限に大きくなってしまうので,マスクの面積を Loss に加 えている
  • 18. SfM Learner|Reconstruction Loss 18  推定された深度と自己位置をもとに Bilinear Sampler で生成された合成 View と真の View の間の誤差  SfM Learner では L1 loss を用いているが,他の手法ではこれに SSIM loss(後述)を加えるものが多い  Bilinear Sampler によって生じる勾配は極めて局所的.そのため,画像と 深度マップをさまざまなスケールにリサイズし、各スケールで Rec Loss を計算するのが一般的  Bilinear Sampler の勾配は,ある点の周囲 4 ピクセルとの関係によって生じ る(p. 9 参照のこと)
  • 19. SfM Learner|Smoothness Loss 19  色合いが平坦な領域では Rec loss 由来の勾配が小さくなるため,近くの ピクセルは同一平面上にあるという事前知識を加えたい 𝐿 𝑠𝑚𝑜𝑜𝑡ℎ𝑛𝑒𝑠𝑠 = 𝜕 𝑥𝑥 𝑑 + 𝜕 𝑥𝑦 𝑑 + 𝜕 𝑦𝑥 𝑑 + |𝜕 𝑦𝑦 𝑑|  具体的には,隣接ピクセルの深度との差分を計算するだけ  2回微分が小さくなる⇒隣接ピクセル間で深度変化が一定(つまり平面上)  この定式化にはいくつか問題があり,他の手法ではより洗練されている
  • 20. 注意 20  実際は,モデルは Depth ではなく 1 / Depth (Disparity) を出力する  いろいろな点から disparity を出力するほうが都合が良い  Smoothness loss は disparity に対して計算される(はず)  筆者の頭の中でいろんな手法がごっちゃになっているので,もしかする と細かいところに嘘があるかもしれません.  論文からしてわりとてきとうなことが多い  著者実装を読むのが一番確実 https://github.com/tinghuiz/SfMLearner https://github.com/mrharicot/monodepth https://github.com/MightyChaos/LKVOLearner https://github.com/nianticlabs/monodepth2 あたり参考になります
  • 22. Reconstruction Loss の改良 22 SSIM loss  SSIM :比較対象の画像を基準として,画像の品質を測る指標.周囲のピクセル の情報を繰り入れることで画像の構造を加味した評価が可能になる SSIM 𝑥, 𝑦 = 2𝜇 𝑥 𝜇 𝑦 + 𝑐1 2𝜎𝑥𝑦 + 𝑐2 𝜇 𝑥 2 + 𝜇 𝑦 2 + 𝑐1 𝜎𝑥 2 + 𝜎 𝑦 2 + 𝑐2 𝐿SSIM = 1 − SSIM 𝑥, 𝑦 2 𝐿 𝑟𝑒𝑐 = 𝛼𝐿 𝑎𝑏𝑠 + 1 − 𝛼 𝐿SSIM  SSIM loss は Monodepth で使われているが、なぜか SfM Learner には入っていな い(使ったほうがいい)  SSIM は avg pooling を使うと楽に実装できる 複数 Source から Target を合成し,最も Target に近いもの(ピクセルごと)に ついてのみ損失を計算する  Monodepth 2 で導入された手法  Occlusion の問題を緩和できる
  • 23. Smoothness loss の改良 23  著者によってさまざまな Smoothness loss が提案されている  SfM Learner の Smoothness loss に加えて,入力画像の画素値を考慮するもの が多い.つまり,「色の近い」隣接ピクセルは同一平面上に存在する,とい う制約を加えている.  Depth と Pose のスケールには任意性があるが,そのスケールが小さい ほど Smoothness loss は小さくなるため,長時間訓練すると Depth が潰 れてしまうという問題があり,Wang et al. で対処法が提案されている.
  • 24. Pose CNN の改良 24 Pose CNN と Depth CNN の Encoder を共通化  SfM Learner の Pose CNN は input としてチャネル方向に重ねた複数フレー ム画像を想定していた.Depth CNN の input は Target 画像一枚であるため, Encoder を共通化できなかった.  Monodepth 2 (Godard et al.) では,Pose CNN の構成を変え,入力画像を チャネル方向に重ねるのではなく,それぞれの画像を Encoder に入力して 得られた特徴量を Concat するようにした.これにより Encoder を Depth CNN と共用できるように.これにより学習が安定・高速化. Godard, C., Mac Aodha, O., & Brostow, G. (2018). Digging Into Self-Supervised Monocular Depth Estimation. arXiv:1806.01260
  • 26. やったこと 26 1. データ収集  データ収集用車両を自作  東京周辺の公道データセットを作成  2週間かけて60万枚のステレオ画像を収集 2. モデル改善  深度マップ生成に softmax を用いる  直接連続値を出力させるのではなく Softmax を通したのち値をかけて足し合わせる  学習が安定・高速化  特徴マップのマッチング  真の画像と合成画像の誤差を損失として用いるのに加えて,それらの画像を畳み込み層を通 して得られる特徴マップ同士でも損失を計算する  平坦な部分の推定精度が向上  カメラ内部行列の推定  キャリブレーションによって得られたカメラ内部行列 K を学習中に再推定する
  • 27. 深度マップ生成に softmax を用いる 27 DNNは出力値のスケールがブレやすい  主に Batch Normalization や ReLU のせい  深度推定のように正確な出力値が必要な場合は問題になる 距離を N 個に刻み,各距離である確率を出力.その後確率値で重み を付けて足し合わせたものを深度とする設計に  学習が安定・高速化(一週間→一日)  深度推定以外でも使えるテクニックだと思う 𝑝 𝑑 𝑖 = 𝑒 𝑦 𝑖 𝑘=1 𝑁 𝑒 𝑦 𝑘 𝑑 = 𝑖=1 𝑁 𝑝 𝑑 𝑖 𝑑𝑖 ただし 𝒚 は DNN の出力,𝑑𝑖 は距離の刻みの一つ 𝑑1 𝑑2 𝑑3 𝑝 𝑑1 𝑝 𝑑2 𝑝 𝑑3 𝑝 𝑑 Depth
  • 28. 特徴マップのマッチング 28 Target image, Source image それぞれを浅い畳み込み層に通してダウンサン プリングし,得られた特徴マップについて,画像と同様に変形⇒比較  平坦な領域の推定精度が向上(マルチスケール学習を代用できる)  画像上では平坦でも特徴空間上では平坦でない場合があるため Target Image Source ImageGenerated Image Conv Conv
  • 31. まとめと感想 31  画像を歪めて他視点画像を作ることで深度推定を学ばせる  Smoothness に現実世界についての事前知識を込める  技術としてはだいたい完成してきた観がある  カメラパラメタ自体の推定,移動物体や occlusion への対処に工夫の余地があるかもしれ ない  別タスクと組み合わせると面白そう  奥行きを学ぶことは現実世界について学ぶこと.事前学習の方法として 使えたりしないか.  実装が面倒くさい.
  • 32. 参考文献 32 • Godard, C., Mac Aodha, O., & Brostow, G. (2018). Digging Into Self-Supervised Monocular Depth Estimation. arXiv:1806.01260 [cs, stat]. http://arxiv.org/abs/1806.01260. Accessed 27 April 2019 • Godard, C., Mac Aodha, O., & Brostow, G. J. (2016). Unsupervised Monocular Depth Estimation with Left-Right Consistency. arXiv:1609.03677 [cs, stat]. http://arxiv.org/abs/1609.03677. Accessed 27 April 2019 • Gordon, A., Li, H., Jonschkowski, R., & Angelova, A. (2019). Depth from Videos in the Wild: Unsupervised Monocular Depth Learning from Unknown Cameras. arXiv:1904.04998 [cs]. http://arxiv.org/abs/1904.04998. Accessed 27 April 2019 • Mahjourian, R., Wicke, M., & Angelova, A. (2018). Unsupervised Learning of Depth and Ego-Motion from Monocular Video Using 3D Geometric Constraints. arXiv:1802.05522 [cs]. http://arxiv.org/abs/1802.05522. Accessed 27 April 2019 • Ummenhofer, B., Zhou, H., Uhrig, J., Mayer, N., Ilg, E., Dosovitskiy, A., & Brox, T. (2016). DeMoN: Depth and Motion Network for Learning Monocular Stereo. 2017 IEEE Conference on Computer Vision and Pattern Recognition (CVPR), 5622–5631. doi:10.1109/CVPR.2017.596 • Vijayanarasimhan, S., Ricco, S., Schmid, C., Sukthankar, R., & Fragkiadaki, K. (2017). SfM-Net: Learning of Structure and Motion from Video. arXiv:1704.07804 [cs]. http://arxiv.org/abs/1704.07804. Accessed 7 May 2019
  • 33. 参考文献 33 • Wang, C., Buenaposada, J. M., Zhu, R., & Lucey, S. (2017). Learning Depth from Monocular Videos using Direct Methods. arXiv:1712.00175 [cs]. http://arxiv.org/abs/1712.00175. Accessed 27 April 2019 • Yang, Z., Wang, P., Wang, Y., Xu, W., & Nevatia, R. (2018a). LEGO: Learning Edge with Geometry all at Once by Watching Videos. arXiv:1803.05648 [cs]. http://arxiv.org/abs/1803.05648. Accessed 27 April 2019 • Yang, Z., Wang, P., Wang, Y., Xu, W., & Nevatia, R. (2018b). Every Pixel Counts: Unsupervised Geometry Learning with Holistic 3D Motion Understanding. arXiv:1806.10556 [cs]. http://arxiv.org/abs/1806.10556. Accessed 27 April 2019 • Yang, Z., Wang, P., Xu, W., Zhao, L., & Nevatia, R. (2017). Unsupervised Learning of Geometry with Edge-aware Depth-Normal Consistency. arXiv:1711.03665 [cs]. http://arxiv.org/abs/1711.03665. Accessed 27 April 2019 • Yin, Z., & Shi, J. (2018). GeoNet: Unsupervised Learning of Dense Depth, Optical Flow and Camera Pose. arXiv:1803.02276 [cs]. http://arxiv.org/abs/1803.02276. Accessed 27 April 2019 • Zhou, T., Brown, M., Snavely, N., & Lowe, D. G. (2017). Unsupervised Learning of Depth and Ego- Motion from Video. arXiv:1704.07813 [cs]. http://arxiv.org/abs/1704.07813. Accessed 27 April 2019