Fused Video Stabilization:Pixel 2とPixel 2 XLで手ブレのない動画を撮影する(2/2)

  • 2018.10.31
  • AI
Fused Video Stabilization:Pixel 2とPixel 2 XLで手ブレのない動画を撮影する(2/2)

1.Fused Video Stabilization:Pixel 2とPixel 2 XLで手ブレのない動画を撮影する(2/2)まとめ

・Fused Video Stabilizationは光学式手ブレ補正と電子式手ブレ補正の両方の応用
・Fused Video StabilizationによってPixel 2はiPhone XS同等のスコアを保持している
・手振れ以外にもローリングシャッター、フォーカスブレッシング等課題は多かった

2.Fused Video Stabilizationとは?

以下、ai.googleblog.comより「Fused Video Stabilization on the Pixel 2 and Pixel 2 XL」、 Chia-Kai LiangさんとFuhao Shiさんの力作投稿の意訳です。元記事の初投稿は2017年11月なので約一年前で少し古く、且つ第二世代のPixel 2に関しての記事です。しかし、培われた技術は第三世代のPixel 3にも引き継がれています。前半はこちら

Fused Video Stabilizationでより良いビデオを撮影する
Fused Video Stabilizationでは、前述のすべての問題に対処するために、ビデオ録画中にOISとEISの両方を同時に有効にします。私達の手法は、以下のシステム図に示すように3段階で実施します。第1の処理段階であるモーション解析は、ジャイロスコープ信号、OISモーション、および他の特性を抽出して、カメラの動きを正確に推定します。次に、モーションフィルタリング段階は、機械学習と信号処理とを組み合わせて、カメラの移動における撮影者の意図を予測します。最後に、フレーム合成段階で、ローリングシャッター効果とフォーカスブレッシング効果をモデル化して除去します。Fused Video Stabilizationを有効化したPixel 2の動画はモーションブラーが少ないので、より自然に見えます。また、Fused Video Stabilizationは、効率的なため60fpsや4Kレコーディングなど、すべてのビデオモードで動作可能です。

モーション解析
モーション解析段階では、携帯電話の高速ジャイロスコープを使用して、手の動き(ロール、ピッチ、ヨー)の回転成分を推定します。200 Hzの間隔で動きを検出することによって、ローリングシャッターの歪みをモデル化するのに十分な、各走査線ごとに密なモーションベクトルが得られます。ジャイロスコープによって感知できないレンズの動きを焦点調節(z)とOISの動き(xとy)の両方から高速に測定します。
ローリングシャッター効果をモデル化するためには時刻を厳密に合わせる必要があるので、CMOSイメージセンサー、ジャイロスコープ、およびレンズモーション情報の間の時刻同期を確実にするようにシステムを慎重に最適化します。わずか数ミリ秒のズレでも、Jitter(時間的なズレによって生じる映像の乱れや揺らぎ)が目立つ画像になってしまう可能性があります。

 

左:走りながら撮影した動画にわざと3msのタイミングエラー発生させた安定化済みビデオ。時々、Jitterが発生している事に注目してください。右:厳密な時刻同期で安定化したビデオ。右下にオリジナル動画を小さく表示しています。

モーションフィルタリング
モーションフィルタリング段階では、モーション解析段階で取得した実際のカメラモーションを元に、安定化した仮想的なカメラモーションを作成します。受信フレームをキューにプッシュして処理を持ちこしていることに注目してください。これにより、機械学習を使用してユーザーの意図を正確に予測することが出来、将来のカメラの動きを先読みすることができます。先読みフィルタリングは、以前の動作や現在の動作にしか反応できないOISなどの機械的な安定化装置では実現不可能です。以下でこれについてさらに議論します。

フレーム合成
最終段階では、実際のカメラの動きと仮想カメラの動きに基づいてフレームをどのように変形するべきかを算出します。ローリングシャッターの歪みを処理するために、フレームごとに複数の変形を適用します。入力フレームをメッシュ(網の目)に分割し、各パートを別々に修正します。

左:メッシュを表示した元ビデオ。右:反りを修正したフレーム、外枠の赤い四角形が最終的な安定化出力です。ローリングシャッターの歪みがどのように補正されているのかに注目してください。

先読みモーションフィルタリング(Lookahead Motion Filtering)
Fused Video Stabilizationの重要な機能の1つは、新しい先読みフィルタリングアルゴリズムです。ユーザが意図したカメラの動きのパターンを認識して将来の動きを予測し、滑らかな仮想カメラの動きを生成します。ルックアヘッドフィルタリングは、各フレームの仮想カメラの動きを段階的に改善するために複数の処理を行います。最初のステップでは、ガウジアンフィルタリングを過去および未来の両方の実際のカメラモーションに適用して、よりスムーズなカメラモーションを得ます。

左:オリジナルなブレのある動画。右:ガウジアンフィルタリング後のスムーズになった結果。

まだ動画が完全に安定化されたわけではない事に気付いたと思います。品質をさらに向上させるために、揺れ動く実際のカメラの動きから撮影者が意図している本来の動きを抽出するように機械学習モデルを訓練しました。次に、予測された動きを考慮して追加のフィルタを適用します。たとえば、カメラが水平方向にパン(カメラを固定したまま、水平方向、または垂直方向に移動させる事)していると予測すると、垂直方向の動きは無視されるようになります。その結果を以下に示します。

左:ガウジアンフィルタリングされた動画。右:私たちの先読みフィルターを適用した結果。先読みアルゴリズムは撮影者が右にパンニングしていると予測し、垂直方向の動きを抑制しています。

上記のプロセスは未定義の不良領域がないことを保証するものではありません。不良領域は、仮想カメラがあまりにも安定しており、ワーピングされたフレームが視野外に出てしまった時に現れます。後述する次の2つの処理でこの問題の可能性を予測し、最終的な結果を得るために仮想カメラの動きを調整します。

 

左:先読みフィルターを適用した結果。未定義領域が左下に一瞬、青色で表示されます。右:不良領域を削除した結果

先に述べたように、OISを有効にしても、動きが大きすぎると、1つのフレームでモーションブラーが発生することがあります。しかし、EISをさらに適用してカメラの動きをさらに滑らかにすると、モーションブラーがシャープネスの変動を引き起こします。

左:OISのみを有効化したPixel 2の動画。右:基本的なFused Video Stabilization処理を行ったPixel 2の動画。「EXIT」標識近辺で瞬間的にシャープネスの変動が出ている事に着目してください。

これは、EISを使った際に現れる非常に一般的な問題です。この問題に対処するために、私たちは人間の視覚システムの「マスキング」プロパティ、つまり、ある種の目の錯覚を利用します。モーションブラーは、通常、フレームを特定の方向にぼかします。全体のフレームモーションがその方向に従うと、人間の目はそれに気付かないでしょう。私たちの脳は、ぼかしを動きの自然な結果として扱い、我々がそれを知覚できないようにします。

高周波ジャイロスコープとOIS信号を用いて、各フレームのモーションブラーを正確に推定することができます。露出の開始と終了の両方でカメラがどこを指しているかを計算します。その間の動きはモーションブラーです。その後、機械学習アルゴリズム(モーションブラーがあるケースとないケースの両方で学習しています)を適用して、過去および未来のフレームの動きのぼけを、保持したい実際のカメラの動きに適用し、実際のカメラの動きと仮想カメラの動きをブレンドします。以下に示すように、モーションブラーマスキングでは、シャープネスのばらつきが大幅に軽減され、カメラモーションは安定して見えます。

左:基本的なFused Video Stabilization処理を行ったPixel 2の動画。右:モーションブラーマスキング機能を追加した完全なFused Video Stabilizationの結果

結果
私たちは、Fused Video StabilizationによるPixel 2の多くの素晴らしい動画を見てきました。以下にもっと沢山の動画があります。

シングルハンドグリップに固定された2つのPixel 2携帯電話で撮影されたビデオ。左の動画はFused Video Stabilizationを無効化しています

 

シングルハンドグリップに固定された2つのPixel 2携帯電話で撮影されたビデオ。左の動画はFused Video Stabilizationを無効化しています。動画撮影者が被写体と同時にジャンプしている事に注目してください。

Fused Video Stabilizationは、OISとEISのベストを組み合わせ、カメラの動きをスムーズにし、モーションブラーを大きく低減し、ローリングシャッターとフォーカスブレッシングの両方を修正します。Pixel 2とPixel 2 XLでFused Video Stabilizationを使用すれば、撮影前にスマートフォンをスマートフォンを慎重に設置したり、撮影中に常に固定したり、撮影のために携帯ジンバル(カメラ固定台)を持ち歩く必要はなくなります。撮影したビデオは、常に安定しており、鮮明で、簡単に共有する事ができます。

謝辞
Fused Video Stabilizationは、カメラアルゴリズムチーム、センサーアルゴリズムチーム、カメラハードウェアチーム、センサーハードウェアチームなど、Googleの複数チームにわたる大規模な作業です。

前半からの続きです

3.Fused Video Stabilization:Pixel 2とPixel 2 XLで手ブレのない動画を撮影する(2/2)関連リンク

1)ai.googleblog.com
Fused Video Stabilization on the Pixel 2 and Pixel 2 XL