3次元手ぶれ補正(知覚補正付き)


 (ちょっと遅ればせながら)今年のSIGGRAPHで発表された手ぶれ補正アルゴリズムは面白いと思った。素人が撮ったぶれぶれのビデオを後からソフトウェア的に修正してくれるというもの。ウィスコンシン大学とアドビ社の共同研究。



Content-Preserving Warps for 3D Video Stabilization
Feng Liu, Michael Gleicher, Hailin Jin and Aseem Agarwala
SIGGRAPH 2009


 枠組みとしては、まずビデオ動画から特徴点抽出を行い、3次元的なカメラの動きの情報を得る。そこからカメラが理想的な(ぶれぶれでない)軌跡をたどったとしたら見えたであろう景色を再構成するべく、画像を局所毎にリマッピングしよう、というもの。ただし単純に再構成だけを考えてリマッピングすると情景自体が変わる部分(被写体が動いて隠蔽箇所が変化する等)が変になるので、

  1. 3次元再構成的に正しいと思われる変換に出来るだけ近づける。
  2. 情景の局所構造(とくに知覚的に目立つ部分)を出来るだけ歪ませない。*1

という2つの目的関数を設定してその和について最適化を行った、と。


 目的関数をうまいこと設定してやることで最適化を単純な行列演算に帰着させている(この場合は逆行列を求めるだけらしい)。これは見通しも良いし既存の最適化された演算手法をそのまま利用できるという意味でもとても良いやり方だと思った。特徴点抽出はすでにiPhoneレベルでも出来ているようだし、そのうちビデオカメラがこれをやりだすのかもしれない。

*1:この部分はTeddyの五十嵐さんが開発したアルゴリズムを利用しているらしい(Igarashi et al. 2005)。これも面白そう。