Pixel2とPixel2 XLのポートレートモードに使われている技術(1/3)

  • 2018.11.09
  • AI
Pixel2とPixel2 XLのポートレートモードに使われている技術(1/3)

1.Pixel2とPixel2 XLのポートレートモードに使われている技術まとめ(1/3)

・ポートレートモードは背景を綺麗にぼかし、肖像画のように被写体を際立たせる機能
・一眼レフカメラはレンズやカメラの性能、他のスマートフォンはデュアルカメラで実現
・Pixel 2ではカメラが一台しかないがどのようにしてポートレートモードを実現しているのか?

2. Pixelのポートレートモードとは?

以下、ai.googleblog.comより「Portrait mode on the Pixel 2 and Pixel 2 XL smartphones」の意訳です。元記事は2017年10月17日、Marc LevoyさんとYael Pritchさんによる投稿です。一年前なのでまだPixel3は発売されていない、Pixel2が最新機種であった頃です。続きはこちら

ポートレート(肖像)モードは、Pixel 2およびPixel 2 XLスマートフォンの新しい機能です。これを使うと、誰もがプロのカメラマンが撮影した写真のような被写体をくっきりと目立たせた写真を撮ることができます。

ポートレートモードは、Pixel2が著名なカメラ評価サイトであるDxOでモバイルカメラランキング一位を獲得した際にも評価されました。Pixel 2もPixel 2 Xもデュアルカメラ(通常、ポートレートモードを実現するためにはカメラが2つ以上必要になります)ではありませんが、背面カメラと前面カメラの両方でポートレートモードで撮影する事ができます。今日では、このポートレートモードの背後にある機械学習と計算機写真技術(computational photography techniques)についてのお話です。

訳注)ポートレートモードとは
背景をきれいにぼかし、それにより肖像画のように被写体を際立たせた写真を撮影できる機能です。通常は二つのカメラで同時に異なった角度から撮影する事で被写体との距離を測定し、遠くの背景と判断した部分に自然なぼかし効果を入れて実現します。しかし、Pixelシリーズは背面カメラが一つしかないのにどうやってポートレートモードを実現しているのでしょうか?


左図:ポートレートモードなし。右図:ポートレートモード有のHDR+写真。
ポートレートモードがshallow depth-of-fieldにより背景をぼかし、被写体を目立たせている事に注目してください。Matt Jonesによる写真

shallow depth-of-fieldとは何ですか?
大きなレンズを備えたSLR(一眼レフ)カメラはshallow depth-of-field(浅い被写界深度:写真のピントが合っているように見える距離の範囲が狭い事)により、カメラから一定の距離にある対象物は鮮明であり、その「合焦面(ピントが合って見える面の事。フォーカスは点のイメージだが合焦面はフォーカスが合っている面)」の前または後ろにある物体はぼやけます。浅い被写界深度は、写真を見る人の注意を被写体に引き寄せたり、背景がチラチラする事による混乱を防止するのに適しており、一眼レフカメラを使えば魅力的で芸術的な写真を撮影する事ができます。

浅い被写界深度の写真がどのくらいボヤけて見えるようになるかは、奥行きに依存します。遠い物体はフォーカスから離れるにつれて、ぼやけ度が増します。ぼやけの量は、レンズ開口部のサイズにも依存します。f/2.0アパーチャを備えた50mmレンズは、直径50mm÷2 = 25mmの開口部を有します。このようなレンズでは、合焦面から数インチも離れたら対象物が柔らかくぼんやりと見えます。

被写界深度について知っておくべきもう一つパラメータは、光によってもたらされるぼやけた点の形状です。この形状はbokeh(ボケ)と呼ばれ、形状はレンズの開口の物理的構造に依存しています。ボケは円形なのでしょうか?または、レンズの内側に開口部にある6つの金属葉のために、六角形なのでしょうか?プロの写真家達は、何がボケの良し悪しをもたらすのか終わりのない議論をしています。

synthetic shallow depth of field(合成による浅い被写界深度の写真)
一眼レフカメラとは異なり、スマートフォンのカメラは、固定された小さなサイズの絞りを備えており、レンズ内の全ての物体に対して大なり小なり焦点が合った写真を生成します。しかし、カメラから対象物までの距離がわかれば、画像の各ピクセルをぼかしで置き換えることができます。このぼかしは、隣接する画素同士の色の平均であり、ぼかしの量は、その物体の合焦面との距離に依存します。そして、ぼやけの形状、つまりボケも制御可能になるのです。

どのようにすればスマートフォンは、撮影しようとする風景内にある物体までの距離を測ることができるのでしょうか?最も一般的な方法は、2台のカメラを互いに近くに置くことです。いわゆるデュアルカメラスマートフォンです。次に、左のカメラが映した画像内の各部分について、右のカメラの画像内で一致する部分を探します。一致した部分については、三角測量の手法を応用してその物体までの深度を計算できます。この画像内から物体を検索してマッチングする手法は、ステレオアルゴリズムと呼ばれ、人間の両目が行っている事とほぼ同じです。

一部のシングルカメラのスマートフォンアプリで使用されるより単純なアイディアは、画像を画素単位で2つに分割する事です。1つはフォアグラウンドの被写体(通常は人物)の部分、もう一つは背景部分です。セマンティックセグメンテーションアルゴリズムとも呼ばれるこの分離は、背景をぼかすことができますが、奥行きの概念がないため、どの程度ぼかせば良いのかは把握できていません。また、被写体の人物より前に、何かカメラに非常に近い物体があったとしても、実際のカメラと異なり、それをぼやけさせる事はできません。

ステレオ方式またはセグメンテーション方式のどちら使用していたと場合も、背景部分を人為的にぼかすことは、「synthetic shallow depth of field」または「synthetic background defocusing(デフォーカス合成背景)」と呼ばれます。synthetic defocusingは、一眼レフカメラから得られる光学的なぼかしと同じではありませんが、ほとんどの人はその違いを気にしません。

ポートレートモードはPixel 2でどのように実現されているのでしょうか?Google Pixel 2は、背面に向いているカメラと前面にあるカメラの両方でポートレートモードが利用可能です。前面(自撮り用)カメラの場合、セグメンテーション方式のみを使用しています。背面カメラでは、ステレオ方式とセグメンテーション方式の両方を使用しています。しかし、ちょっと考えてみてください、Pixel 2には前述の通りカメラが1つしかありません。いったいどうやってポートレートモードを実現しているのか、以下でステップごとに見ていきましょう。

Pixel2とPixel2 XLのポートレートモードに使われている技術まとめ(2/3)に続きます)

3.Pixel2とPixel2 XLのポートレートモードに使われている技術関連リンク

1)ai.googleblog.com
Portrait mode on the Pixel 2 and Pixel 2 XL smartphones