そんな課題を解決しようというのが、「マネキンチャレンジ」のYouTube動画を活用したGoogleのアプローチ。マネキンチャレンジとは、マネキンを模して静止している人たちを撮影したものだが、Googleは、これをモデル化して動いている被写体の深度を計測しやすくしたという。
・カメラと被写体が動いていても深度マップが生成できる
スマホカメラなどで深度計測がおこなわれる際には、一般的に三角測量が用いられている。三角測量では、対象物を2点以上のスポットから同時に観測し、三角法を用いて対象物までの距離をもとめる。これには複数台のカメラを用いるか、1台のカメラで静止した対象物を複数のスポットから観測する必要がある。コンピュータビジョンでは、撮影したシーン全体の形状を予測して、深度マップを再構築するわけだが、マルチカメラを備えた機種以外では、動いているオブジェクトへの深度割り当てを省くか、おおよその深度値を割り当てる方法が取られるようだ。
これに対してマネキンチャレンジを用いたアプローチは、静止している人から動いている人の深度をもとめるもので、カメラと被写体が自由に動いていても、深度マップを生成することができる。
・ピンぼけやステレオムービーのようなエフェクトに活用
チームは、マネキンチャレンジのYouTube動画2000本を教師データとして、人間の姿勢や形状を学習し、深度予測モデルを作成した。マネキンチャレンジなら広範なパターンがあるし、三角測量により事前に精度の高い深度マップが構築できるというわけだ。
1フレームごとに深度を計測して、前後複数のフレームで取得した深度と運動視差を用いることでさらに精度を高める。
このモデルでは人間に焦点を合わせて深度を計測。まずは人間の占めるエリアをマスクして深度を割り当て、それ以外のエリアの深度も調整する。
深度マップの精度が高まることで、例えば画像/動画に被写界深度をずらすようなピンぼけがつけられたり、ステレオムービーのようなエフェクトがかけられたりといったことができそうだ。
参照元:Moving Camera, Moving People: A Deep Learning Approach to Depth Prediction/Google AI Blog