Deep Homography Estimation for Dynamic Scenes

>100 Views

November 17, 20

スライド概要

2020/11/17公開
Tech Blog「(文献紹介)深層学習による動被写体ロバストなカメラの動き推定」内資料
https://techblog.morphoinc.com/entry/2020/11/17/110235

profile-image

モルフォは“画像処理×AI技術”の研究開発型企業として、ソフトウェア事業をグローバルに展開しています。テックブログにて画像処理・AIに関する情報をお届けしています。 ・コーポレートサイト:https://www.morphoinc.com/ ・テックブログ:https://techblog.morphoinc.com/

シェア

またはPlayer版

埋め込む »CMSなどでJSが使えない場合

(ダウンロード不可)

関連スライド

各ページのテキスト
1.

Journal Club 2020.09.25 CVPR 2020 Deep Homography Estimation for Dynamic Scenes CTO 室リサーチャー 三宅 博史 Copyright © 2020 Morpho, Inc. All Rights Reserved.

2.

(2D) Homography • 2平⾯間の座標変換を(定数倍を許容して)関係づける⾏列 ある定数 平⾯Bにおける同次座標 2D Homography 平⾯Aにおける同次座標 は 3x3 の⾏列だが、上式を満たす任意の について や などの正規化をしても再び上式を満たすので、⾃由度は 8 • 画像処理では 2 枚の画像の画像座標間の関係を表す Copyright © 2020 Morpho, Inc. All Rights Reserved. 1

3.

(2D) Homography • 幾何的には、以下のような画像座標の対応関係が 2D homography で表現できることが知られている A. 実空間上の平⾯座標と カメラ座標 カメラ平⾯ B. 同じ実平⾯を投影した 2つのカメラ座標 C. 実空間上の点を回転するカメラ に投影したときの2つのカメラ座標 カメラ中心 カメラ中心 3D空間上の点 カメラ中心 3D空間上の平⾯ Copyright © 2020 Morpho, Inc. All Rights Reserved. 3D空間上の平⾯ 2 カメラ中心 カメラ平⾯ https://docs.opencv.org より

4.

画像処理における 2D homography の応用 • 以下のような応用があるほか、モルフォでは HDR などの合成処理での 被写体の位置合わせや、動画での手振れ補正などで用いられる A. 平⾯に対するカメラの姿勢推定 Copyright © 2020 Morpho, Inc. All Rights Reserved. B. 視点の補正 3 C. パノラマスティッチング https://docs.opencv.org より

5.

2D homography 探索問題 • 2D homography で関係づけられる2枚(以上)の画像から、実際 に関係づけている 2D homography を推定する問題 Copyright © 2020 Morpho, Inc. All Rights Reserved. 4 https://docs.opencv.org より

6.

Homography 探索問題における実用上の課題 • 画像処理で homography を求めたい画像群は多くの場合、厳密に は homography で表現できる関係にない – 動被写体を含んでいる(異なる時刻で撮影すると 3D 点の座標が異なる) – 平⾯上にない 3D 点を、平⾏移動+回転するカメラに投影(近景の手持ちパ ノラマなど) カメラ平⾯ カメラ中心 カメラ中心 3D空間上の点 カメラ中心 3D空間上の平⾯ Copyright © 2020 Morpho, Inc. All Rights Reserved. 3D空間上の平⾯ 5 カメラ中心 カメラ平⾯ https://docs.opencv.org より

7.

2D Homography 探索アルゴリズム • 従来手法(非 deep learning 系手法)が概ね従う2ステップ 2. 画像アラインメントの誤差最小化 問題を解く 1. 対応点(3D 空間上の同一座標点を 別のカメラで投影した点)検出 0 https://docs.opencv.org より Copyright © 2020 Morpho, Inc. All Rights Reserved. ℎ 6 0 ℎ 例 min ℎ s. t. ℎ 0 0 0 1 0 0 0 0 ℎ 1 0 ℎ 0 1 ⋮ 0 1 ℎ ℎ ℎ 1 ℎ ℎ ℎ

8.

対応点検出 • SIFT 特徴量([2], 2004) – 拡⼤縮小・回転を伴う画像間でも局所的に保存される特徴量 – 主要な4ステップ 1. 特徴点候補検出 2. 特徴点サブピクセル配置 3. 方向決定 4. 特徴ベクトル構成 – 2020 年まで一部のアルゴリズムが特許で 保護されていたが現在は使用可能 • SIFT により検出した特徴点を 画像間で対応させる Copyright © 2020 Morpho, Inc. All Rights Reserved. https://docs.opencv.org より 7

9.

アラインメント誤差最小化問題 • RANSAC([3], 1981) – 外れ値を含むようなデータを使って線形モデル を fit させる場合に用いられる 1. モデルを決定する最小の数の点を選択し、そ れらでモデルを決定 ℎ 0 で ℎ の⾃由度が 8 なので 4 対応点選択 2. 求めたモデルに沿うデータを inlier, 沿わない データを outlier とする 3. 1,2 を適当に繰り返す 4. 最⼤個数の inlier を使ってモデルを決定 Copyright © 2020 Morpho, Inc. All Rights Reserved. 8 https://scikit-learn.org より

10.
[beta]
アラインメント誤差最小化問題
• MAGSAC([4], 2019)

– RANSAC の inlier/outlier 判定に用いる閾値を指定しない手法
– 理論的にはパラメタで周辺化するアイデア
!, #, $%
& !, #, $
'
' 4

!, #, $
!, $

∑ ,3+,.,/
5

1

)* +,,- +,.,/
0/2. *

!, #, $ 6 # 7#

.89:

5 ln < !, $ #%7#

$:入力データ点の集合
!:モデルパラメタ
#:入力データ点のノイズ強度(inlier 判定するための残差の閾値)
関数:モデル選択を行う際に用いる指標(値が大きい方を選択)
& 関数:inlier データ点の集合
< 関数:入力データ点の集合の尤度(背後に確率モデルを過程)

– 処理が重いので、実用的には RANSAC の後処理として近似的に実装可能

Copyright © 2020 Morpho, Inc. All Rights Reserved.

9

11.

本論⽂のねらい • 動被写体が映っている(outlier が多い)ような画像間で、いい homography をロバストに推定するような DNN を構築する – どのようなデータセットを用意すればよいのか – どのようなアーキテクチャが良いのか Copyright © 2020 Morpho, Inc. All Rights Reserved. 10

12.

データセットの用意 著者 GitHub より • Static video clip – YouTube から 877 動画を、さらにその中から 32,385 個の断片を収集 • Video frame を 256x256 px に正規化したのち 32x5 px のブロックを 4 辺の縁か ら抽出(つまり縁のブロックは 32 個) • すべての連続する 2 フレーム間で、9 個以上の縁のブロックで画素値が(ほぼ)不変 • すべての 7 枚おきのフレーム間で、画⾯の 45% 以上で optical flow がゼロ Copyright © 2020 Morpho, Inc. All Rights Reserved. 11

13.

データセットの用意 • 対応画像ペアと ground truth の生成 著者 GitHub より – Clip の中で 1〜5 フレームへだたった 2 画像 & , &= % をランダムに抽出 – & から 128x128 px の画像 & > を切り出し 4 隅の座標を ~±32 px 摂動 – この摂動 ?> に対応する homography ? を計算する(ground truth) – 画像 &= に ?@ を適用したのち、画像 & と同じ座標から 128x128 px の画 像 &=> を切り出す Copyright © 2020 Morpho, Inc. All Rights Reserved. 12

14.

MHN (提案手法)の DNN アーキテクチャ • ⼊⼒︓128x128 のグレースケール画像 2 枚 > > • 出⼒︓摂動させた 4 隅の座標の差分 > > をそれぞれ ½ , ¼ にスケールした画像 ︓ ⋅ ⋅ ⋅ • Base network( Net0, Net1, Net2 )は VGG のような感じ – Convolution︓3x3, batch normalization, ReLU Copyright © 2020 Morpho, Inc. All Rights Reserved. 13 [1] 図 3,4 より

15.

多重解像度 • 元画像を縮小した画像で homography を求め、それをもとに元画像 の homography を求める – 画像間の全体的な⼤きい動きをとらえやすい – 通常縮小を多重に⾏って coarse to fine で homography を求める – 従来手法および deep learning 系の手法で取り⼊れられている • Deep learning 系での例︓CLKN([5], 2017) Template image Copyright © 2020 Morpho, Inc. All Rights Reserved. Reference image 14 Lucas-Kanade Layer [5] 図 1,2 より

16.

MHN の DNN アーキテクチャ • 多重解像度(Coarse • Cascade 処理 ⋅ to Fine > ) ⋅ B =C と元の解像度で求めた ? B = から ?= を求める処理 – ½ 解像度で求めた ? B= D@ ? B =C D – ?= ? • D, D @ はそれぞれ座標を ½ , 2 倍にスケールする⾏列 B>D@ ? B D@ ? B DD > が期待される • > ? Copyright © 2020 Morpho, Inc. All Rights Reserved. 15 [1] 図 3,4 より

17.

Dynamic Scene 検出 • 動被写体がある場合のロバスト性をあげたい • 動被写体のマスク(dynamics mask)を同時に推定するようなモデ ルにし、マルチタスク学習を⾏う – 主タスク︓homography 探索 – 副タスク︓dynamics mask 推定 • Dynamics mask の ground truth 用いて計算 は optical flow を – Optical flow は PWC-Net([6], 2018)を用いて推定 Copyright © 2020 Morpho, Inc. All Rights Reserved. 16

18.

MHN の DNN アーキテクチャ(マルチタスク版) • ⼊⼒︓128x128 のグレースケール画像 2 枚 > > > > • 出⼒︓ > と dynamics mask • Base network は VGG に decoder を足して(U-net のような感 じ)dynamics mask を出⼒する – さらに差分を学習するように skip connection を追加 – 最粗の E , E % の与え方は書かれていない Copyright © 2020 Morpho, Inc. All Rights Reserved. 17 [1] 図 5 より

19.

モデルの学習 • マルチタスクのロス = G G︓ F = = F F = G = F O J J @HI KLM HN @ @HIJ G は weight、 KLM O J @HN HI = P = Q ︓L2ロス P P ︓predicted Q Q ︓ground truth Copyright © 2020 Morpho, Inc. All Rights Reserved. 18 は解像度 ︓cross entropy ロス

20.

モデルの学習 • マルチタスクの多段階学習 1. 2x106 回 #F 1, #G 0 ︓homography ロスのみを最小化 2. 1x106 回 #F 1, #G 10 ︓dynamic mask ロスを重点的に最小化 3. 1x106 回 #F 1, #G 0 ︓homography ロスのみを最小化 • 主ロス → 副(+少し主)ロス → 主ロスのサンドイッチ型 • その他 – 最適化手法︓Adam – Dropout rate︓0.8 – Mini batch︓32 Copyright © 2020 Morpho, Inc. All Rights Reserved. 19

21.

実験結果 • 動画内で 10 フレーム離 れた画像間で求めた homography を適用し アラインした結果の例 – 提案手法では背景でゴース ト無し・前景でゴースト有り 、となっている • 背景の homography を 正しく推定できている – Dynamics mask を正し く推定し、前景を外れ値とし ているから Copyright © 2020 Morpho, Inc. All Rights Reserved. 20 [1] 図 11 より

22.

実験結果 • 視差画像でのアラインメントの 結果の例 [1] 図 12 より Copyright © 2020 Morpho, Inc. All Rights Reserved. 21 – 視差があるので depth が小さ いほど optical flow が⼤きい 元画像 – アラインの結果、背景の optical flow が低減した – やはり dynamics mask が正 しく推定され、前景を外れ値とし ているから – 学習データにはもちろん視差画 像は含まれていないが、ある程 度推定できた

23.

精度⽐較 • Static scene での精度 提案手法 Static video clip の中で完全 に static なもの – MS-COCO での⽴ち上がり(⾼精度域)は CLKN が最も⾼い – CLKN と提案手法(MHN)は⾼いが、必ずしも deep learning 系が非 deep learning 系より⾼いという訳ではない – MS-COCO / VidSets での結果はほぼ変化なし Copyright © 2020 Morpho, Inc. All Rights Reserved. 22 [1] 図 6 より

24.

精度⽐較 CLKN は︖ → コードが非公開なので新し データセットで学習できない • Dynamic scene での精度 Static video clip の中 で dynamics を含むもの – 全体的に精度は低下した – MHN の学習セットを static → dynamic にすると精度向上 – 同じ dynamic な学習セットでも MHN → MHNm にしたことで精度向上 – MHN を MS-COCO と VidSets のどちらで学習しても相違なし [1] 図 7 より Copyright © 2020 Morpho, Inc. All Rights Reserved. 23

25.

精度⽐較 • 各 deep learning 系手法の学習セットと dynamic scene での精 度との関係 – データセットを変えただけで、ほとんどのモデルで向上した – データセット単体での貢献がある Copyright © 2020 Morpho, Inc. All Rights Reserved. 24 [1] 図 8 より

26.

精度⽐較 • 多重解像度のレイヤー数と精度の関係 – 図は MHN on MS-COCO でレイヤー数を 1〜4 と変化させたもの – 最粗画像が小さすぎると homography 探索が不安定になるようだ • CLKN の著者らの報告と一致 Copyright © 2020 Morpho, Inc. All Rights Reserved. 25 [1] 図 10 より

27.

感想 • 多重解像度、マルチタスク学習といった既知の知⾒を⾃然に適用してお り、それぞれの工夫がどのような働きを持つかが分かりやすい • 内部的にはセグメンテーション+アノテーションのような機構を持っており「 動被写体になりやすいもの」というセマンティックな情報を推論しているの ではないか • 動被写体だけでなく、視差画像のマスクも出してくれるので便利だ • モデルの変更による精度向上+データセットの変更による精度向上で、 とくに後者については貢献度が⾼い – しかしデータセットもコードも非公開なので効果半減 – GitHub はあるので今後に期待 Copyright © 2020 Morpho, Inc. All Rights Reserved. 26

28.

感想 • 実⾏時間についての議論はないが、リアルタイム推定は難しいだろう • 失敗例をだしてなぜ難しい例なのかを考察してほしかった(失敗例が出 るまで問題を難しくしてみてほしかった) • 以下のような組み合わせでの精度⽐較にも興味がある(動的学習セッ トによる学習が静的検証セットで悪影響を持たないか、セマンティックな 情報が誤った推論を引き起こさないか、などの検証) モデル 学習セット 検証セット MHN VidSetd VidSets MHNm VidSetd VidSets Copyright © 2020 Morpho, Inc. All Rights Reserved. 27

29.

参考⽂献 [1] 主論⽂︓Le, Hoang, et al. "Deep Homography Estimation for Dynamic Scenes." Proceedings of the IEEE/CVF Conference on Computer Vision and Pattern Recognition. 2020. [2] SIFT︓Lowe, David G. "Distinctive image features from scale-invariant keypoints." International journal of computer vision 60.2 (2004): 91-110. [3] RANSAC︓Fischler, Martin A., and Robert C. Bolles. "Random sample consensus: a paradigm for model fitting with applications to image analysis and automated cartography." Communications of the ACM 24.6 (1981): 381-395. [4] MAGSAC︓Barath, Daniel, Jiri Matas, and Jana Noskova. "Magsac: marginalizing sample consensus." Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition. 2019. [5] CLKN︓Chang, Che-Han, Chun-Nan Chou, and Edward Y. Chang. "Clkn: Cascaded lucaskanade networks for image alignment." Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition. 2017. [6] PWC-Net︓Sun, Deqing, et al. "Pwc-net: Cnns for optical flow using pyramid, warping, and cost volume." Proceedings of the IEEE conference on computer vision and pattern recognition. 2018. Copyright © 2020 Morpho, Inc. All Rights Reserved. 28