Google Pixel 4とPixel 4 XLでのポートレートモードの改良(2/3)

Google Pixel 4とPixel 4 XLでのポートレートモードの改良(2/3)

1.Google 4とPixel 4 XLでのポートレートモードの改良(2/3)まとめ

・デュアルカメラはデュアルピクセルより間隔が離れているため遠くの物体の深度も簡単に推定可能
・デュアルカメラが利用できる場合であってもデュアルピクセルによって収集された情報は有用
・デュアルピクセルとデュアルカメラが垂直に配置されているため縦方向も横方向も深度を推定可能

2.デュアルピクセルとデュアルカメラ

以下、ai.googleblog.comより「Improvements to Portrait Mode on the Google Pixel 4 and Pixel 4 XL」の意訳です。元記事の投稿は2019年12月16日、Neal WadhwaさんとYinda Zhangさんによる投稿です。

デュアルカメラはデュアルピクセルを補完
Pixel 4のワイドカメラと望遠カメラは13mm離れており、デュアルピクセルの間隔よりもはるかに大きいため、視差が大きくなり、遠くの物体の深度も簡単に推定できます。以下の画像では、デュアルピクセルビュー間では視差はほとんど見えませんが、デュアルカメラビュー間では明らかです。


左:デュアルピクセルビュー。 右:デュアルカメラビュー。 デュアルピクセルビューには、背景にわずかな垂直視差しかありませんが、デュアルカメラビューには、はるかに大きな水平視差があります。この大きな視差により、背景までの距離を簡単に推定できますが、男性の右側の一部のピクセルはプライマリカメラのビューにのみ表示されており、深さを推定する事が困難です。

デュアルカメラが利用できる場合であっても、デュアルピクセルによって収集された情報は有用です。

カメラ間の距離が大きいほど、一方のビューのみに表示されるピクセルが多くなり、もう一方のビューには対応するピクセルがないケースが多くなります。例えば、先ほどのプライマリカメラの画像のすぐ右の男性の背景ピクセルには、セカンダリカメラの画像に対応するピクセルがありません。従って、デュアルカメラのみを使用する場合、視差を測定してこれらのピクセルの深度を推定することはできません。ただし、デュアルピクセルビューではこれらのピクセルを表示できているため、これらの領域の深度をより正確に推定できます。

両方の入力を使用するもう1つの理由は、前のブログ投稿で説明した開口の問題です。2つのカメラが垂直に配置されている場合、水平方向の位置関係を推定する事が難しくなります。

Pixel 4では、デュアルピクセルとデュアルカメラは垂直に交わるように配置されているため、あらゆる方向の深度を推定できます。

この補完的な情報を持つことで、遠くの被写体の深度を推定し、全ての風景で深度エラーを減らすことができます。

デュアルカメラとデュアルピクセルを使った深度の推定
昨年、機械学習を使用してデュアルピクセルから深度を推定する方法をブログに投稿しました。

Pixel 4のポートレートモードでは、このアプローチを拡張して、Tensorflowを使用して畳み込みニューラルネットワークをトレーニングし、デュアルピクセルとデュアルカメラの両方から深度を推定しています。

ネットワークは最初に、2つの異なるエンコーダーを使用してデュアルピクセルおよびデュアルカメラ入力を個別に処理します。エンコードはある種のニューラルネットワークであり、入力情報を中間表現にエンコードします。次に、単一のデコーダーが2つの中間表現を使用して深度を計算します。


デュアルピクセルとデュアルカメラから深度を予測するネットワーク。ネットワークは、2つのエンコーダーを使用します。デュアルピクセル用とデュアルカメラ用に1つずつ、デコーダーは共有でスキップ接続と残差ブロックを備えています。

モデルに両方の入力を使用する事を強制させるため、トレーニング中に一方の入力をランダムにゼロに設定するドロップアウト手法を適用しました。これにより、例えば、2番目の望遠カメラが焦点を合わせるには被写体が近すぎる場合などに、一方の入力が利用できない場合にもモデルが適切に機能します。


一方のみの入力が提供されるか、両方が提供される状態でのネットワークが推定した深度マップ。上:2つの入力が異なった方向の視差を提供しているため2つ合わせた結果は網目状の物体であっても正確に深度が測定できます。下:デュアルピクセルは、1つのカメラでのみ表示される領域の奥行きを改善しています。デュアルカメラは、背景と地面でより良い震度情報を提供します。(写真クレジット:Mike Milne)

上のランタンの画像は、両方の信号を使用することで開口の問題を解決している事を示しています。入力が1つだけの場合、1方向(デュアルピクセルの場合は水平方向、デュアルカメラの場合は垂直方向)のラインの深度のみを正確に予測できます。両方の信号を使用して、すべての方向のラインの深さを推測する事ができます。

人物の画像では、デュアルピクセルは腕と胴体の間の小さい遮蔽領域でより良い深度情報を提供し、一方、大きなカメラ間隔がを持つデュアルカメラでは背景と地面についてより良い深度情報を提供します。これは、デュアルピクセルの深度の左上隅と右下隅で最も顕著です。 photos.google.comで他の例を見つけることができます。

3.Google Pixel 4とPixel 4 XLでのポートレートモードの改良(2/3)関連リンク

1)ai.googleblog.com
Improvements to Portrait Mode on the Google Pixel 4 and Pixel 4 XL

2)photos.google.com
Depth from Dual-Cameras and Dual-Pixels
SLR-Like Bokeh on Pixel Phones