(文献紹介)深層学習による動被写体ロバストなカメラの動き推定

こんにちは、CTO 室リサーチャーの三宅と申します。モルフォでは、学術論文の輪講を行う「ジャーナルクラブ」という有志による活動があります。今回は、このジャーナルクラブで発表した内容をご紹介いたします。画像処理では、複数の画像を入力としたときに「それらを映したカメラの動き」を推定する問題がさまざまな用途で重要になります。ある幾何的性質を満たした画像間でカメラの動きを記述するモデルはありますが、実際に我々が推定に用いる画像は、そのようなきれいな性質を満たしているとは限りません。難しい設定の最たる例が「動いている被写体を動いているカメラで映す」場合です。今回ご紹介する論文は、今年の CVPR で発表された、動被写体が映っているシーンでもきれいにカメラの動きを推定する深層学習手法について論じたものです。

H. Le, F. Liu, S. Zhang and A. Agarwala, "Deep Homography Estimation for Dynamic Scenes," 2020 IEEE/CVF Conference on Computer Vision and Pattern Recognition (CVPR), Seattle, WA, USA, 2020, pp. 7649-7658.

Deep Homography Estimation for Dynamic Scenes

カメラの動きやそれによる画像の変換は、物体が遠くにあってカメラのみが動く場合などでは、ホモグラフィーと呼ばれる 3x3 の行列で記述されます。 本論文では、動被写体ロバストなホモグラフィー推定のための「深層学習モデルのアーキテクチャ」と「データセットの作成方法」が提案されています。深層学習モデルのアーキテクチャは要約すると以下のようになります。

  1. グレースケール画像 2 枚を U-net のようなベースネットワークに入力しホモグラフィーと動被写体領域を出力する。
  2. 多重解像度化し、各解像度におけるベースネットワークをカスケード処理で接続する。
  3. ホモグラフィーと動被写体領域の出力を用いて、マルチタスク学習を行う。

このモデルによって、入力画像に対し動被写体領域を推定すると同時に、背景領域の変換ホモグラフィーを精度よく推定することが可能になりました。また多重解像度化することで、ある程度大きな動きの推定にも対応しました。もうひとつのトピックであるデータセットの作成方法は要約すると以下のようになります。

  1. 動画サイトから動画を取得し、カメラは固定されているが被写体は動いているクリップを検出する。
  2. クリップをフレームに分割し、それぞれホモグラフィー変換によって疑似的にカメラ位置を変えた画像を生成する。
  3. 動画から Optical Flow をもとめ、動被写体マスクを生成する。
  4. フレーム画像と変換に用いたホモグラフィー、および動被写体マスクをセットで、学習データ・検証データを作成する。

このようにして作ったデータセットで、既存の深層学習系ホモグラフィー推定モデルを学習させた結果、モデルを変更せずとも動被写体を含む画像間のホモグラフィー推定精度が向上しました。また驚くべきことに、データセットはすべて単眼のカメラで撮影されものであるにも関わらず、視差画像についても前景被写体領域を推定することに成功しています。

それぞれの詳細と考察については、原著論文や添付のスライドを参照ください。