IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ グーグル インコーポレイテッドの特許一覧

特許7387029ソフトレイヤ化および深度認識インペインティングを用いた単画像3D写真技術
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2023-11-16
(45)【発行日】2023-11-27
(54)【発明の名称】ソフトレイヤ化および深度認識インペインティングを用いた単画像3D写真技術
(51)【国際特許分類】
   G06T 7/50 20170101AFI20231117BHJP
   G06T 7/194 20170101ALI20231117BHJP
   G06T 7/00 20170101ALI20231117BHJP
   G06T 1/00 20060101ALI20231117BHJP
   G06T 5/00 20060101ALI20231117BHJP
【FI】
G06T7/50
G06T7/194
G06T7/00 350B
G06T1/00 315
G06T5/00 720
【請求項の数】 20
(21)【出願番号】P 2022563457
(86)(22)【出願日】2021-08-05
(65)【公表番号】
(43)【公表日】2023-09-26
(86)【国際出願番号】 US2021044828
(87)【国際公開番号】W WO2023014368
(87)【国際公開日】2023-02-09
【審査請求日】2022-12-05
(73)【特許権者】
【識別番号】502208397
【氏名又は名称】グーグル エルエルシー
【氏名又は名称原語表記】Google LLC
【住所又は居所原語表記】1600 Amphitheatre Parkway 94043 Mountain View, CA U.S.A.
(74)【代理人】
【識別番号】110001195
【氏名又は名称】弁理士法人深見特許事務所
(72)【発明者】
【氏名】ジャンパニ,バルン
(72)【発明者】
【氏名】チャン,フイウェン
(72)【発明者】
【氏名】サージェント,カイル
(72)【発明者】
【氏名】カール,アビシェク
(72)【発明者】
【氏名】タッカー,リチャード
(72)【発明者】
【氏名】ケーザー,ドミニク
(72)【発明者】
【氏名】カーレス,ブライアン・エル
(72)【発明者】
【氏名】サレシン,デイビッド
(72)【発明者】
【氏名】フリーマン,ウィリアム・ティ
(72)【発明者】
【氏名】クライニン,マイケル
(72)【発明者】
【氏名】リウ,ツォー
【審査官】伊知地 和之
(56)【参考文献】
【文献】国際公開第2020/050934(WO,A2)
【文献】米国特許出願公開第2012/0001902(US,A1)
【文献】Meng-Li SHIH et al.,“3D Photography Using Context-Aware Layered Depth Inpainting”,2020 IEEE/CVF Conference on Computer Vision and Pattern Recognition (CVPR),IEEE,2020年06月,pp.8025-8035
【文献】S.W. HASINOFF et al.,“Boundary Matting for View Synthesis”,2004 Conference on Computer Vision and Pattern Recognition Workshop,2004年07月02日
(58)【調査した分野】(Int.Cl.,DB名)
G06T 1/00
G06T 3/00 - 3/60
G06T 5/00 - 5/50
G06T 7/00 - 7/90
G06V 10/00 - 20/90
G06V 30/418
G06V 40/16
G06V 40/20
CSDB(日本国特許庁)
IEEE Xplore
(57)【特許請求の範囲】
【請求項1】
コンピュータにより実現される方法であって、
初期視点を有する単眼画像を取得することと、
前記単眼画像に基づいて、複数の画素を含む深度画像を決定することとを含み、前記深度画像の各々の画素は、対応する深度値を有し、前記方法はさらに、
前記深度画像の各々の画素について、前記深度画像の前記それぞれの画素に関連付けられる対応する深度勾配を決定することと、
前記深度画像の各々の画素について、前記対応する深度勾配に反比例する可視性値を含む前景可視性マップを決定することと、
前記深度画像に基づいて、前記深度画像の各々の画素について、前記単眼画像の対応する画素が前記初期視点の変化によって遮蔽解消される尤度を示す遮蔽解消値を含む背景遮蔽解消マスクを決定することと、
(i)インペインティングモデルを使用して、前記背景遮蔽解消マスクに従って前記単眼画像の部分をインペインティングすることによって、インペインティングされた画像を生成し、(ii)前記インペインティングモデルを使用して、前記背景遮蔽解消マスクに従って前記深度画像の部分をインペインティングすることによって、インペインティングされた深度画像を生成することと、
(i)前記深度画像に基づいて、前記単眼画像の第1の3次元(3D)表現を生成し、(ii)前記インペインティングされた深度画像に基づいて、前記インペインティングされた画像の第2の3D表現を生成することと、
前記前景可視性マップに従って前記第1の3D表現を前記第2の3D表現と組み合わせることによって、前記初期視点とは異なる調整された視点を有する修正された画像を生成することとを含む、方法。
【請求項2】
前記前景可視性マップは、少なくとも第1の間隔に沿って連続的かつ滑らかであるソフト前景可視性関数によって決定される、請求項1に記載のコンピュータにより実現される方法。
【請求項3】
前記前景可視性マップを決定することは、
前記深度画像の各々の画素について、勾配演算子を前記深度画像に適用することによって、前記それぞれの画素に関連付けられる前記対応する深度勾配を決定することと、
前記深度画像の各々の画素について、前記それぞれの画素に関連付けられる前記対応する深度勾配の指数関数に基づいて前記可視性値を決定することとを含む、請求項1または2に記載のコンピュータにより実現される方法。
【請求項4】
前記背景遮蔽解消マスクは、少なくとも第2の間隔に沿って連続的かつ滑らかであるソフト背景遮蔽解消関数によって決定される、請求項1~3のいずれか1項に記載のコンピュータにより実現される方法。
【請求項5】
前記背景遮蔽解消マスクを決定することは、
前記深度画像の各々の画素について、第1の複数の差分値を決定することを含み、前記第1の複数の差分値の各々の差分値は、前記それぞれの画素の前記対応する深度値から、(i)前記それぞれの画素の所定の画素距離内に位置する対応する参照画素の対応する深度値と、(ii)前記それぞれの画素を前記対応する参照画素から分離するスケーリングされた数の画素とを減算することによって決定され、前記背景遮蔽解消マスクを決定することはさらに、
前記深度画像の各々の画素について、前記第1の複数の差分値に基づいて前記遮蔽解消値を決定することを含む、請求項1~4のいずれか1項に記載のコンピュータにより実現される方法。
【請求項6】
前記遮蔽解消値を決定することは、
前記深度画像の各々の画素について、前記第1の複数の差分値の第1の最大差分値を判断することと、
前記深度画像の各々の画素について、双曲線正接関数を前記第1の最大差分値に適用することによって、前記遮蔽解消値を決定することとを含む、請求項5に記載のコンピュータにより実現される方法。
【請求項7】
前記それぞれの差分値の前記対応する参照画素は、(i)前記それぞれの画素の上下に所定数の画素を含む垂直走査線、または(ii)前記それぞれの画素の右側および左側に前記所定数の画素を含む水平走査線から選択される、請求項5または6に記載のコンピュータにより実現される方法。
【請求項8】
前記前景可視性マップを決定することは、
前記深度画像の各々の画素について、前記深度画像の前記それぞれの画素に関連付けられる前記対応する深度勾配に反比例する前記可視性値を含む深度ベースの前景可視性マップを決定することと、
前記単眼画像に基づき、かつ前記単眼画像に対応する前景アルファマットを決定することと、
(i)前記前景アルファマットと(ii)前記前景アルファマットの膨張との間の差に基づいて、マットベースの前景可視性マップを決定することと、
(i)前記深度ベースの前景可視性マップと(ii)前記マットベースの前景可視性マップとの積に基づいて前記前景可視性マップを決定することとを含む、請求項1~7のいずれか1項に記載のコンピュータにより実現される方法。
【請求項9】
前記前景アルファマットを決定することは、
前景セグメンテーションモデルが、前記単眼画像に基づいて前景セグメンテーションを決定することと、
マット化モデルが、前記前景セグメンテーションおよび前記単眼画像に基づいて、前記前景アルファマットを決定することとを含む、請求項8に記載のコンピュータにより実現される方法。
【請求項10】
前記前景可視性マップを決定することは、
前記深度画像に基づいて、前記深度画像の各々の画素について、前記単眼画像の対応する画素が前記初期視点の変化によって遮蔽される尤度を示す遮蔽値を含む背景遮蔽マスクを決定することと、
(i)前記深度ベースの前景可視性マップと、(ii)前記マットベースの前景可視性マップと、(iii)前記背景遮蔽マスクの逆数との積に基づいて前記前景可視性マップを決定することとを含む、請求項8または9に記載のコンピュータにより実現される方法。
【請求項11】
前記背景遮蔽マスクを決定することは、
前記深度画像の各々の画素について、第2の複数の差分値を決定することを含み、前記第2の複数の差分値の各々の差分値は、(i)前記それぞれの画素の対応する深度値、および前記それぞれの画素を前記それぞれの画素の所定の画素距離内に位置する対応する参照画素から分離するスケーリングされた数の画素を、(ii)前記対応する参照画素の前記対応する深度値から減算することによって決定され、前記背景遮蔽マスクを決定することは、さらに、
前記深度画像の各々の画素について、前記第2の複数の差分値に基づいて前記遮蔽値を決定することを含む、請求項10に記載のコンピュータにより実現される方法。
【請求項12】
前記遮蔽値を決定することは、
前記深度画像の各々の画素について、前記第2の複数の差分値のうちの第2の最大差分値を判断することと、
前記深度画像の各々の画素について、双曲線正接関数を前記第2の最大差分値に適用することによって前記遮蔽値を決定することとを含む、請求項11に記載のコンピュータにより実現される方法。
【請求項13】
前記単眼画像は、前景特徴および背景特徴を含み、前記インペインティングモデルは、(i)前記背景特徴に合致し、かつ前記前景特徴から独立している強度値を有する、前記単眼画像の遮蔽解消された背景領域と、(ii)前記背景特徴に合致し、かつ前記前景特徴から独立している深度値を有する、前記深度画像の対応する遮蔽解消された背景領域とをインペインティングするようトレーニングされており、前記インペインティングされた画像の前記遮蔽解消された領域の前記強度値は、前記インペインティングされた深度画像の前記対応する遮蔽解消された背景領域の対応する深度値とコンテキスト的に整合する、請求項1~12のいずれか1項に記載のコンピュータにより実現される方法。
【請求項14】
前記インペインティングモデルは、トレーニングプロセスによってトレーニングされており、前記トレーニングプロセスは、
トレーニング単眼画像を取得することと、
前記トレーニング単眼画像に基づいて、トレーニング深度画像を決定することと、
前記トレーニング深度画像に基づいて、前記トレーニング深度画像の各々の画素について、前記トレーニング単眼画像の対応する画素が前記トレーニング単眼画像の元の視点の変化によって遮蔽される尤度を示す遮蔽値を含む、トレーニング背景遮蔽マスクを決定することと、
(i)前記インペインティングモデルを使用して、前記トレーニング背景遮蔽マスクに従って前記トレーニング単眼画像の部分をインペインティングすることによって、インペインティングされたトレーニング画像を生成し、(ii)前記インペインティングモデルを使用して、前記トレーニング背景遮蔽マスクに従って前記トレーニング深度画像の部分をインペインティングすることによって、インペインティングされたトレーニング深度画像を生成することと、
損失関数を前記インペインティングされたトレーニング画像および前記インペインティングされたトレーニング深度画像に適用することによって損失値を決定することと、
前記損失値に基づいて前記インペインティングモデルの1つ以上のパラメータを調整することとを含む、請求項1~13のいずれか1項に記載のコンピュータにより実現される方法。
【請求項15】
前記損失値は、(i)弁別器モデルによる前記インペインティングされたトレーニング画像および前記インペインティングされたトレーニング深度画像の処理に基づいて決定される敵対的損失値、または(ii)前記インペインティングされたトレーニング画像を前記トレーニング単眼画像と比較することおよび前記インペインティングされたトレーニング深度画像を前記トレーニング深度画像と比較することに基づいて決定される再構成損失値、のうちの1つ以上に基づく、請求項14に記載のコンピュータにより実現される方法。
【請求項16】
前記修正された画像を生成することは、
前記深度画像に基づいて、前記第1の3D表現に対応する3D前景可視性マップを生成することと、
(i)前記調整された視点に基づいて前記第1の3D表現を投影することによって前景画像を生成し、(ii)前記調整された視点に基づいて前記第2の3D表現を投影することによって背景画像を生成し、(iii)前記調整された視点に基づいて前記3D前景可視性マップを投影することによって修正された前景可視性マップを生成することと、
前記修正された前景可視性マップに従って前記前景画像を前記背景画像と組み合わせることとを含む、請求項1~15のいずれか1項に記載のコンピュータにより実現される方法。
【請求項17】
前記修正された前景可視性マップの値は、0から所定の値の範囲を有し、前記前景画像を前記背景画像と組み合わせることは、
(i)前記前景画像と前記修正された前景可視性マップとの第1の積と、(ii)前記背景画像と、前記所定の値と前記修正された前景可視性マップとの差との第2の積との和を求めることを含む、請求項16に記載のコンピュータにより実現される方法。
【請求項18】
前記第1の3D表現および前記第2の3D表現を生成することは、
(i)前記深度画像に基づいて前記単眼画像の画素をアンプロジェクトすることによって第1の複数の3D点を生成し、(ii)前記インペインティングされた深度画像に基づいて前記インペインティングされた画像の画素をアンプロジェクトすることによって第2の複数の3D点を生成することと、
(i)前記単眼画像の隣接画素に対応する前記第1の複数の3D点のそれぞれのサブセットを相互接続することによって第1のポリゴンメッシュを生成し、(ii)前記インペインティングされた画像の隣接画素に対応する前記第2の複数の3D点のそれぞれのサブセットを相互接続することによって第2のポリゴンメッシュを生成することと、
(i)前記単眼画像に基づいて前記第1のポリゴンメッシュに1つ以上の第1のテクスチャを適用し、(ii)前記インペインティングされた画像に基づいて前記第2のポリゴンメッシュに1つ以上の第2のテクスチャを適用することとを含む、請求項1~17のいずれか1項に記載のコンピュータにより実現される方法。
【請求項19】
システムであって、
プロセッサと、
前記プロセッサによって実行されると前記プロセッサに請求項1~18のいずれか1項に記載の動作を実行させる命令が記憶された非一時的コンピュータ可読媒体とを備えるシステム。
【請求項20】
コンピューティングデバイスによって実行されると前記コンピューティングデバイスに請求項1~18のいずれか1項に記載の動作を実行させる命令を備えるコンピュータプログラム
【発明の詳細な説明】
【背景技術】
【0001】
背景
機械学習モデルは、様々な所望の出力を生成するよう、画像を含む様々なタイプのデータを処理するために使用されてもよい。機械学習モデルの改善は、モデルが、データの処理をより高速に実行すること、処理のために、より少ないコンピューティングリソースを利用すること、および/または比較的高い品質の出力を生成することを可能にする。
【発明の概要】
【課題を解決するための手段】
【0002】
概要
3次元(3D)写真システムは、単眼画像に基づいて、当該単眼画像によって表されるシーンの異なる視点をシミュレートする3D観視効果/体験を生成するよう構成されてもよい。具体的には、単眼画像に基づいて深度画像を生成してもよい。ソフト前景可視性マップを、深度画像に基づいて生成してもよく、背景層に対する単眼画像の異なる部分の透明度を示してもよい。単眼画像は、前景層の一部を形成すると見なされてもよい。ソフト背景遮蔽解消マスクが、深度画像に基づいて生成されてもよく、単眼画像の異なる背景領域が視点変更の結果として遮蔽解消される尤度を示してもよい。ソフト背景遮蔽解消マスクは、単眼画像および深度画像の遮蔽解消された背景領域をインペインティングし、それによって背景層を生成するよう、インペインティングモデルによって使用されてもよい。前景層および背景層は、3Dで表現されてもよく、これらの3D表現は、新たな視点から投影(project:プロジェクト)されて、新たな前景画像および新たな背景画像を生成してもよい。新たな前景画像および新たな背景画像は、新たな視点に再投影されたソフト前景可視性マップに従って組み合わせられ、それによって、シーンの新たな視点を有する修正された画像を生成してもよい。
【0003】
第1の例示的な実施形態では、ある方法は、初期視点を有する単眼画像を取得することと、単眼画像に基づいて、複数の画素を含む深度画像を決定することとを含む。深度画像の各々の画素は、対応する深度値を有してもよい。本方法はまた、深度画像の各々の画素について、深度画像のそれぞれの画素と関連付けられる対応する深度勾配を決定することと、深度画像の各々の画素について、対応する深度勾配に反比例する可視性値を含む、前景可視性マップを決定することとを含む。本方法はさらに、深度画像に基づいて、深度画像の各々の画素について、単眼画像の対応する画素が初期視点の変化によって遮蔽解消されるであろう尤度を示す遮蔽解消値を含む、背景遮蔽解消マスクを決定することを含む。本方法は、さらに、(i)インペインティングモデルを使用して、背景遮蔽解消マスクに従って単眼画像の部分をインペインティングすることによって、インペインティングされた画像を生成し、(ii)インペインティングモデルを使用して、背景遮蔽解消マスクに従って深度画像の部分をインペインティングすることによって、インペインティングされた深度画像を生成することを含む。本方法は、(i)深度画像に基づいて、単眼画像の第1の3次元(3D)表現を生成し、(ii)インペインティングされた深度画像に基づいて、インペインティングされた画像の第2の3D表現を生成することをさらに含む。本方法は、前景可視性マップに従って第1の3D表現を第2の3D表現と組み合わせることによって、初期視点とは異なる調整された視点を有する修正された画像を生成することをさらに含む。
【0004】
第2の例示的な実施形態では、システムは、プロセッサと、プロセッサによって実行されるとプロセッサに第1の例示的な実施形態に従って動作を実行させる命令を記憶した非一時的コンピュータ可読媒体とを含んでもよい。
【0005】
第3の例示的な実施形態では、非一時的コンピュータ可読媒体は、コンピューティングデバイスによって実行されるとコンピューティングデバイスに第1の例示的な実施形態に従って動作を実行させる命令を記憶してもよい。
【0006】
第4の例示的な実施形態では、システムは、第1の例示的な実施形態の動作の各々を実行するための様々な手段を含んでもよい。
【0007】
これら、ならびに他の実施形態、局面、利点、および代替形態は、添付の図面を適宜参照しながら、以下の詳細な説明を読むことによって当業者に明らかになるであろう。さらに、本概要ならびにここに提供される他の説明および図面は、実施形態を単なる例として示すことを意図しており、したがって、多数の変形が可能である。例えば、構造要素およびプロセスステップは、特許請求される実施形態の範囲内にとどまりながら、再配置、組み合わせ、分散、排除、または別様に変更されることができる。
【図面の簡単な説明】
【0008】
図1】本明細書に記載の例によるコンピューティングデバイスを示す。
図2】本明細書に記載の例によるコンピューティングシステムを示す。
図3A】本明細書に記載の例による3D写真システムを示す。
図3B】本明細書で説明される例による、画像および深度画像を示す。
図3C】本明細書で説明される例による、可視性マップおよび背景遮蔽解消マスクを示す。
図3D】本明細書で説明される例による、インペインティングされた画像、インペインティングされた深度画像、および修正された画像を示す。
図4A】本明細書で説明される例による、ソフト前景可視性モデルを示す。
図4B】本明細書で説明される例による、画像および深度画像を示す。
図4C】本明細書で説明する例による、深度ベースの前景可視性マップと前景アルファマットとを示す。
図4D】本明細書で説明する例による、マットベースの前景可視性マップおよび前景可視性マップを示す。
図5A】本明細書に記載の例によるトレーニングシステムを示す。
図5B】本明細書に記載の例による背景遮蔽マスクを示す。
図6】本明細書に記載の例によるフローチャートを含む。
図7A】本明細書で説明される例による、性能メトリックの表を含む。
図7B】本明細書で説明される例による、性能メトリックの表を含む。
図7C】本明細書で説明される例による、性能メトリックの表を含む。
【発明を実施するための形態】
【0009】
詳細な説明
例示的な方法、デバイス、およびシステムが本明細書で説明される。文言「例」および「例の」は、本明細書においては、「例、事例、または例示として役立つ」を意味するために使用されることを理解されたい。「例」、「例の」、および/もしくは「例示的」として本明細書で説明される任意の実施形態または特徴は、他の実施形態もしくは特徴よりも好ましいまたは有利であると述べられない限り、必ずしもそのように解釈されるべきではない。したがって、本明細書に提示される主題の範囲から逸脱することなく、他の実施形態を利用することができ、他の変更を行うことができる。
【0010】
したがって、本明細書に記載される例示的実施形態は、限定的であることを意味しない。本明細書で概して説明され図示される本開示の局面は、幅広く多様な異なる構成で配置、置換、組み合わせ、分離、および設計され得ることが容易に理解されよう。
【0011】
さらに、文脈が別様に示唆しない限り、各図に図示される特徴は、相互と組み合わせて使用されてもよい。したがって、図面は、概して、1つ以上の全体的な実施形態の構成要素の局面として見られるべきであり、各実施形態についてすべての図示された特徴が必要であるとは限らないことを理解されたい。
【0012】
加えて、本明細書または特許請求の範囲における要素、ブロック、またはステップの列挙は、明確にする目的のためである。したがって、そのような列挙は、これらの要素、ブロック、もしくはステップが特定の配置に忠実であるかもしくは特定の順序で実行されることを要求または暗示する、と解釈されるべきではない。特に断りのない限り、図は縮尺通りに描かれていない。
【0013】
I.概観
初期視点からのシーンを表す単眼画像は、調整された視点からのシーンを表す修正された画像を生成するために使用されてもよい。単眼画像および/または修正された画像を連続的に見ることによって、3D効果がシミュレートされ、それによって、より豊かなおよび/またはより対話的な観視体験を与えてもよい。特に、この観視体験は、単眼カメラの光学ハードウェアを超える追加の光学ハードウェアを伴わずに生成された単一の単眼画像を使用して与えられてもよい。
【0014】
修正された視点で画像を生成するための技術には、ハード不連続性(hard discontinuity)に基づいてシーンを2つ以上のレイヤに分解することに依存する技術がある。ハード不連続性は、2つのレイヤ(例えば、前景および背景)間の鮮鋭および/または離散的な(例えば、二値)遷移を定義する場合がある。ハード不連続性は、非常に細い物体(例えば、毛髪)などのいくつかの外観効果の正確なモデリングを可能にせず、視覚的に瑕疵または欠陥のある3D効果をもたらすかもしれない。修正された視点で画像を生成するための他の技術には、異なる視点に対してグラウンドトゥルース(ground truth)を与えるマルチビュー画像を含むトレーニングデータセットに依存する技術がある。しかしながら、広範囲のシーンを表すマルチビューデータセットを得ることは困難である場合があり、したがって、この手法は、トレーニングデータ分布によって適切に表されていなかった分布外シーンに関して貧弱に機能する場合がある。
【0015】
したがって、本明細書では、所与のシーンを前景層と背景層とに分解するために、ソフトレイヤ化構築(soft-layering formulation)および深度認識インペインティング(depth-aware inpainting)に依存する3D写真システムが提供される。これらの前景層と背景層とを組み合わせて、新たな視点から修正された画像を生成してもよい。具体的には、深度モデルを用いて、単眼画像に対応する深度画像を生成してもよく、深度画像を用いて、ソフト前景可視性マップ(soft foreground visibility map)および/またはソフト背景遮蔽解消マスク(soft background disocclusion mask)を生成してもよい。
【0016】
ソフト前景可視性マップは、深度画像の深度勾配に基づいて生成されてもよく、前景層の異なる部分が透明である程度を示してもよく、したがって、背景層の対応する領域が前景層を通して見られることを可能にしてもよい。前景可視性マップは、少なくとも深度勾配の入力値の範囲に沿って連続的かつ滑らかであるソフト前景可視性関数によって生成されるという点でソフトであってもよい。前景層は、単眼画像および前景可視性マップによって定義されてもよい。いくつかの実現例では、ソフト前景可視性マップはまた、前景アルファマットに基づいてもよく、これは、毛髪および/もしくは毛皮等の細いならびに/または高周波特徴の表現を改善してもよい。
【0017】
ソフト背景遮蔽解消マスクは、単眼画像の異なる画素が視点の変化によって遮蔽解消される尤度を定量化するよう、深度画像に基づいて生成されてもよい。背景遮蔽解消マスクは、少なくとも深度画像の入力値の範囲に沿って連続的かつ滑らかであるソフト背景遮蔽解消関数によって生成されるという点でソフトであってもよい。「マップ」および「マスク」という文言は、グレースケール画像および/または二値画像を指すために互換的に使用されてもよい。
【0018】
ソフト背景遮蔽解消マスクは、単眼画像および深度画像の遮蔽解消され得る部分をインペインティングするよう、インペインティングモデルによって使用され、それによって背景層を生成してもよい。特に、インペインティングされた画素値が、単眼画像の色/強度値および深度画像の深度値の両方に基づくように、同じインペインティングモデルが、単眼画像および対応する深度画像をインペインティングするようトレーニングされてもよい。インペインティングモデルは、深度認識インペインティングを実行するようにトレーニングされるよう、画像および深度データの両方でトレーニングされてもよい。インペインティングモデルは、例えば、単眼画像および対応する深度画像を同時にインペインティングするようトレーニングされてもよい。したがって、インペインティングモデルは、前景領域から情報を借りるのではなく、他の背景領域から情報を借りることによって、遮蔽解消された背景領域をインペインティングするよう構成され、視覚的に一貫した背景層をもたらしてもよい。さらに、インペインティングモデルは、複数の反復パスを使用するのではなく、インペインティングモデルの単一の反復(たとえば、インペインティングモデルを介した単一の処理パス)において、単眼画像および深度画像をインペインティングするよう構成されてもよい。
【0019】
前景層および背景層のそれぞれの3D表現は、それぞれ、深度画像およびインペインティングされた深度画像に基づいて生成されてもよい。これらの3D表現が観察される視点が調整されてもよく、3D表現は、調整された視点を有する前景画像および背景画像を生成するよう投影(project:プロジェクト)されてもよい。次いで、前景画像および背景画像は、これも調整された視点を有する修正された前景可視性マップに従って組み合わせられてもよい。したがって、前景層内の遮蔽解消された領域は、背景層の対応する領域に基づいて埋められてもよく、前景と背景との間の遷移は、前景層と背景層の両方の混合を含んでもよい。
【0020】
II.例示的なコンピューティングデバイスおよびシステム
図1は、例示的なコンピューティングデバイス100を示す。コンピューティングデバイス100は、携帯電話のフォームファクタで示されている。しかしながら、コンピューティングデバイス100は、代替として、他の可能性の中でもとりわけ、ラップトップコンピュータ、タブレットコンピュータ、および/またはウェアラブルコンピューティングデバイスとして実現されてもよい。コンピューティングデバイス100は、本体102、ディスプレイ106、ならびにボタン108および110などの様々な要素を含んでもよい。コンピューティングデバイス100は、前向きカメラ104および後向きカメラ112などの1つ以上のカメラをさらに含んでもよい。
【0021】
前向きカメラ104は、動作中、本体102の、典型的にはユーザに面する側(例えば、ディスプレイ106と同じ側)に位置付けられてもよい。後向きカメラ112は、本体102の、前向きカメラ104の反対側に位置付けられてもよい。カメラを前向きおよび後向きとして参照することは任意であり、コンピューティングデバイス100は、本体102の様々な側に配置された複数のカメラを含んでもよい。
【0022】
ディスプレイ106は、陰極線管(CRT)ディスプレイ、発光ダイオード(LED)ディスプレイ、液晶(LCD)ディスプレイ、プラズマディスプレイ、有機発光ダイオード(OLED)ディスプレイ、または当技術分野で公知の任意の他のタイプのディスプレイを表し得る。いくつかの例では、ディスプレイ106は、前向きカメラ104および/または後向きカメラ112によってキャプチャされている現在の画像、これらのカメラのうちの1つ以上によってキャプチャされ得る画像、これらのカメラのうちの1つ以上によって最近キャプチャされた画像、および/またはこれらの画像の1つ以上の修正版のデジタル表現を表示してもよい。したがって、ディスプレイ106は、カメラ用のビューファインダとして機能してもよい。ディスプレイ106はまた、コンピューティングデバイス100の1つ以上の局面の設定および/または構成を調整することが可能であってもよいタッチスクリーン機能もサポートしてもよい。
【0023】
前向きカメラ104は、画像センサと、レンズ等の関連光学要素とを含んでもよい。前向きカメラ104は、ズーム機能を提供してもよく、または固定焦点距離を有し得る。他の例では、交換可能なレンズを前向きカメラ104と共に使用し得る。前向きカメラ104は、可変の機械的開口ならびに機械的および/または電子シャッタを有してもよい。前向きカメラ104はまた、静止画像、ビデオ画像、または両方をキャプチャするよう構成され得る。さらに、前向きカメラ104は、例えば、単眼カメラ、立体カメラ、または多眼カメラを表し得る。後向きカメラ112は、同様にまたは異なるように構成されてもよい。加えて、前向きカメラ104および/または後向きカメラ112のうちの1つ以上は、1つ以上のカメラのアレイであってもよい。
【0024】
前向きカメラ104および/または後向きカメラ112のうちの1つ以上は、対象被写体を照明するようにライトフィールドを提供する照明構成要素を含むかまたはそれと関連付けられてもよい。例えば、照明構成要素は、対象被写体のフラッシュまたは常時照明を提供し得る。照明構成要素はまた、構造化光、偏光、および特定のスペクトル成分を有する光のうちの1つ以上を含むライトフィールドを提供するよう構成され得る。物体から3次元(3D)モデルを回復するよう公知であり使用される他のタイプのライトフィールドは、本明細書の例の文脈内で可能である。
【0025】
コンピューティングデバイス100はまた、カメラ104および/または112がキャプチャすることができるシーンの周囲輝度を連続的にまたは時々判断することができる周囲光センサを含んでもよい。いくつかの実現例では、周囲光センサは、ディスプレイ106の表示輝度を調整するために使用され得る。加えて、周囲光センサは、カメラ104または112のうちの1つ以上の露出長を決定するために、またはその決定に役立つよう、使用されてもよい。
【0026】
コンピューティングデバイス100は、ディスプレイ106と、前向きカメラ104および/または後向きカメラ112とを使用して、対象被写体の画像をキャプチャするよう構成され得る。キャプチャされた画像は、複数の静止画像またはビデオストリームであり得る。画像キャプチャは、ボタン108を起動すること、ディスプレイ106上のソフトキーを押すこと、または何らかの他の機構によって、トリガされ得る。実現例に応じて、画像のキャプチャは、自動的に、特定の時間間隔で、例えば、ボタン108を押すか、対象被写体の適切な照明条件に応じてか、コンピューティングデバイス100を所定の距離移動させるか、または所定のキャプチャスケジュールに従って、行われ得る。
【0027】
図2は、例示的なコンピューティングシステム200の構成要素のうちのいくつかを示す簡略化されたブロック図である。限定ではなく例として、コンピューティングシステム200は、セルラー携帯電話(たとえば、スマートフォン)、コンピュータ(デスクトップコンピュータ、ノートブックコンピュータ、タブレットコンピュータ、またはハンドヘルドコンピュータなど)、ホームオートメーションコンポーネント、デジタルビデオレコーダ(DVR)、デジタルテレビ、リモートコントロール、ウェアラブルコンピューティングデバイス、ゲームコンソール、ロボットデバイス、車両、または何らかの他のタイプのデバイスであってもよい。コンピューティングシステム200は、例えば、コンピューティングデバイス100の局面を表してもよい。
【0028】
図2に示されるように、コンピューティングシステム200は、通信インターフェイス202と、ユーザインターフェイス204と、プロセッサ206と、データストレージ208と、カメラコンポーネント224とを含んでもよく、これらはすべて、システムバス、ネットワーク、または他の接続機構210によって通信可能に互いにリンクされてもよい。コンピューティングシステム200は、少なくとも何らかの画像キャプチャおよび/または画像処理機能を備えてもよい。コンピューティングシステム200は、物理的画像処理システム、画像感知および/もしくは処理アプリケーションがソフトウェアで動作する特定の物理的ハードウェアプラットフォーム、または画像キャプチャおよび/もしくは処理機能を実行するよう構成されたハードウェアとソフトウェアとの他の組み合わせを表してもよいことを理解されたい。
【0029】
通信インターフェイス202は、コンピューティングシステム200が、アナログまたはデジタル変調を使用して、他のデバイス、アクセスネットワーク、および/またはトランスポートネットワークと通信することを可能にしてもよい。したがって、通信インターフェイス202は、基本電話サービス(POTS)通信および/もしくはインターネットプロトコル(IP)通信、もしくは他のパケット化された通信など、回線交換および/またはパケット交換通信を容易にしてもよい。たとえば、通信インターフェイス202は、無線アクセスネットワークまたはアクセスポイントとのワイヤレス通信のために構成されたチップセットおよびアンテナを含んでもよい。また、通信インターフェイス202は、イーサネット(登録商標)、ユニバーサルシリアルバス(USB)、もしくは高精細度マルチメディアインターフェイス(HDMI(登録商標))ポート等の有線インターフェイスの形態をとるかまたはそれを含んでもよい。通信インターフェイス202はまた、Wi-Fi、BLUETOOTH(登録商標)、全地球測位システム(GPS)、もしくは広域ワイヤレスインターフェイス(例えば、WiMAX または3GPP(登録商標)ロングタームエボリューション(LTE))などのワイヤレスインターフェイスの形態をとるかまたはそれを含んでもよい。しかしながら、他の形態の物理層インターフェイスおよび他のタイプの標準またはプロプライエタリ通信プロトコルが、通信インターフェイス202を介して使用されてもよい。さらに、通信インターフェイス202は、複数の物理通信インターフェイス(例えば、Wi-Fi インターフェイス、BLUETOOTH(登録商標)インターフェイス、および広域無線インターフェイス)を含んでもよい。
【0030】
ユーザインターフェイス204は、コンピューティングシステム200が人間または非人間以外のユーザと対話すること、例えば、ユーザから入力を受信すること、およびユーザに出力を提供することを可能にするように機能してもよい。したがって、ユーザインターフェイス204は、キーパッド、キーボード、タッチ感知パネル、コンピュータマウス、トラックボール、ジョイスティック、マイクロホン等の入力構成要素を含んでもよい。ユーザインターフェイス204はまた、例えば、タッチ感知パネルと組み合わせられてもよい表示画面等の、1つ以上の出力構成要素を含んでもよい。表示画面は、CRT、LCD、および/もしくはLED技術、または現在公知であるかもしくは後に開発される他の技術に基づいてもよい。ユーザインターフェイス204はまた、スピーカ、スピーカジャック、音声出力ポート、音声出力装置、イヤホン、および/または他の同様のデバイスを介して、可聴出力を生成するよう構成されてもよい。ユーザインターフェイス204はまた、マイクロホンおよび/または他の同様のデバイスによって、可聴発話、雑音、および/または信号を、受信および/またはキャプチャするよう構成されてもよい。
【0031】
いくつかの例では、ユーザインターフェイス204は、コンピューティングシステム200によってサポートされるスチルカメラおよび/またはビデオカメラ機能のためのビューファインダとして働くディスプレイを含んでもよい。加えて、ユーザインターフェイス204は、カメラ機能の構成および合焦ならびに画像のキャプチャを容易にする、1つ以上のボタン、スイッチ、ノブ、および/またはダイヤルを含んでもよい。これらのボタン、スイッチ、ノブ、および/またはダイヤルのいくつかまたはすべてがタッチ感知パネルによって実現されることが可能であってもよい。
【0032】
プロセッサ206は、1つ以上の汎用プロセッサ-たとえばマイクロプロセッサ-および/または1つ以上の専用プロセッサ-たとえばデジタル信号プロセッサ(DSP)、グラフィックス処理ユニット(GPU)、浮動小数点ユニット(FPU)、ネットワークプロセッサ、または特定用途向け集積回路(ASIC))-を含んでもよい。いくつかの事例では、専用プロセッサは、他の可能性の中でもとりわけ、画像処理、画像整列、および画像統合が可能であってもよい。データストレージ208は、磁気、光学、フラッシュ、もしくは有機ストレージなどの1つ以上の揮発性および/または不揮発性ストレージコンポーネントを含んでもよく、プロセッサ206と全体的にまたは部分的に統合されてもよい。データストレージ208は、リムーバブルおよび/または非リムーバブルコンポーネントを含んでもよい。
【0033】
プロセッサ206は、本明細書で説明する様々な機能を実行するために、データストレージ208に記憶されたプログラム命令218(例えば、コンパイルされるかもしくはコンパイルされていないプログラム論理および/または機械コード)を実行することが可能であってもよい。したがって、データストレージ208は、コンピューティングシステム200によって実行されると、コンピューティングシステム200に、本明細書および/もしくは添付の図面に開示される方法、プロセス、または動作のいずれかを実行させるプログラム命令を記憶した非一時的コンピュータ可読媒体を含んでもよい。プロセッサ206によるプログラム命令218の実行は、プロセッサ206がデータ212を使用することをもたらしてもよい。
【0034】
例として、プログラム命令218は、コンピューティングシステム200にインストールされたオペレーティングシステム222(例えば、オペレーティングシステムカーネル、デバイスドライバ、および/または他のモジュール)と、1つ以上のアプリケーションプログラム220(例えば、カメラ機能、アドレス帳、電子メール、ウェブブラウジング、ソーシャルネットワーキング、音声からテキストへの変換機能、テキスト翻訳機能、および/またはゲームアプリケーション)とを含んでもよい。同様に、データ212は、オペレーティングシステムデータ216およびアプリケーションデータ214を含んでもよい。オペレーティングシステムデータ216は主にオペレーティングシステム222にアクセス可能であってもよく、アプリケーションデータ214は主にアプリケーションプログラム220のうちの1つ以上にアクセス可能であってもよい。アプリケーションデータ214は、コンピューティングシステム200のユーザに可視であるかまたはユーザから隠されているファイルシステムに配置されてもよい。
【0035】
アプリケーションプログラム220は、1つ以上のアプリケーションプログラミングインターフェイス(API)を介してオペレーティングシステム222と通信してもよい。これらのAPIは、例えば、アプリケーションプログラム220がアプリケーションデータ214を読み出すおよび/または書き込むこと、通信インターフェイス202を介して情報を送信または受信すること、ユーザインターフェイス204上で情報を受信および/または表示することなどを容易にしてもよい。
【0036】
場合によっては、アプリケーションプログラム220は、略して「アプリ」と呼ばれることがある。さらに、アプリケーションプログラム220は、1つ以上のオンラインアプリケーションストアまたはアプリケーション市場を通じてコンピューティングシステム200にダウンロード可能であってもよい。しかしながら、アプリケーションプログラムは、ウェブブラウザを介して、またはコンピューティングシステム200上の物理的インターフェイス(例えば、USBポート)を通して等、他の方法でコンピューティングシステム200上にインストールされることもできる。
【0037】
カメラコンポーネント224は、限定はしないが、開口、シャッタ、記録面(例えば、写真フィルムおよび/もしくはイメージセンサ)、レンズ、シャッタボタン、赤外線プロジェクタ、ならびに/または可視光プロジェクタを含んでもよい。カメラコンポーネント224は、他の可能性の中でも特に、可視光スペクトル(例えば、380~700ナノメートルの波長を有する電磁放射)で画像をキャプチャするよう構成されたコンポーネント、および/または赤外光スペクトル(例えば、701ナノメートル~1ミリメートルの波長を有する電磁放射)で画像をキャプチャするよう構成されたコンポーネントを含んでもよい。カメラコンポーネント224は、プロセッサ206によって実行されるソフトウェアによって少なくとも部分的に制御されてもよい。
【0038】
III.例示の3D写真システム
図3Aは、単眼画像に基づいて3D写真を生成するための例示的なシステムを示す。具体的には、3D写真システム300は、画像302に基づいて、修正された画像370を生成するよう構成されてもよい。3D写真システム300は、深度モデル(depth model)304と、ソフト前景可視性モデル(soft foreground visibility model)308と、ソフト背景遮蔽解消関数(soft background disocclusion function)312と、インペインティングモデル(inpainting model)316と、画素アンプロジェクタ(pixel unprojector)322と、画素プロジェクタ(pixel projector)330とを含んでもよい。
【0039】
画像302は、複数の画素を含む単眼/モノスコープ画像であってもよく、画素の各々は、1つ以上の色値(例えば、赤-緑-青のカラー画像)および/または強度値(例えば、グレースケール画像)と関連付けられてもよい。画像302は、それがカメラによってキャプチャされた初期視点を有してもよい。この初期視点は、カメラと画像302によって表されるシーンのワールド基準フレームとの間の空間的関係を示す初期カメラパラメータによって表されてもよい。例えば、ワールド基準フレームは、最初にカメラ基準フレームと整列されるように定義されてもよい。
【0040】
修正された画像370は、画像302と同じシーンを、初期視点とは異なる調整された視点から表してもよい。調整された視点は、初期カメラパラメータとは異なり、カメラとシーン内のワールド基準フレームとの間の調整された空間的関係を示す、調整されたカメラパラメータによって表されてもよい。具体的には、調整された空間的関係において、カメラ基準フレームは、ワールド基準フレームに対して回転および/または平行移動されてもよい。したがって、修正された画像370の1つ以上のインスタンスを生成し、それらを順番に見ることによって、画像302によって表されるシーンが観察される視点の変化により、3D写真効果が達成されてもよい。これは、シーンに対するカメラの動きをシミュレートすることによって、画像302が視覚的により豊かに、および/またはより対話的に見えることを可能にしてもよい。
【0041】
【数1】
【0042】
いくつかの実現例では、深度値は、メトリック深度ではなく視差を表してもよく、視差の適切な反転によってメトリック深度に変換されてもよい。深度モデル304は、単眼画像に基づいて深度画像を生成するようトレーニングされた機械学習モデルであってもよい。例えば、深度モデル304は、Ranflt et al. によって著され、arXiv:1907.01341v3 として公開された "Towards Robust Monocular Depth Estimation: Mixing Datasets for Zero-shot Cross-dataset Transfer" と題される論文で論じられるように、MiDaS モデルを表してもよい。追加または代替として、深度モデル304は、他の技術および/またはアルゴリズムを使用して深度画像306を生成するよう構成されてもよく、他の技術および/またはアルゴリズムのいくつかは、画像302に対応する追加の画像データに基づいてもよい。
【0043】
【数2】
【0044】
例では、関数は、少なくとも特定の入力間隔に沿って、それが連続的および/または滑らかであるという点で、「ソフト」と見なされてもよい。関数は、少なくとも特定の入力間隔に沿って、それが連続的および/または滑らかではないという点で、「ハード」と見なされてもよい。マップまたはマスクは、ハード関数を使用するのではなくソフト関数を使用して生成された場合、「ソフト」と見なされてもよい。特に、マップまたはマスク自体は、連続的および/または滑らかでないかもしれないが、それにもかかわらず、それがソフト関数によって生成された場合には、「ソフト」と見なされてもよい。
【0045】
ソフト前景可視性モデル308は、深度画像306の深度勾配に基づいて、および場合によっては画像302の前景アルファマット(foreground alpha matte)にも基づいて、前景可視性マップ310を生成するよう構成されてもよい。前景可視性マップ310の可視性値は、画像302の前景特徴から画像302の背景特徴への遷移を表す画素位置においては、比較的低くてもよい(したがって、対応する透明度値は、比較的高くてもよい)。前景可視性マップ310の可視性値は、前景特徴から背景特徴への遷移を表さない画素位置においては、比較的高くてもよい(したがって、対応する透明度値は、比較的低くてもよい)。したがって、可視性値は、視点の変化によって遮蔽解消される特徴が、前景のコンテンツを通して少なくとも部分的に見られることを可能にしてもよい。ソフト前景可視性モデル308のさらなる詳細は、図4A図4B図4C、および図4Dに示され、それらに関して論じられる。
【0046】
【数3】
【0047】
【数4】
【0048】
【数5】
【0049】
【数6】
【0050】
【数7】
【0051】
具体的には、インペインティングされた画像318は、背景遮蔽解消マスク314に従ってインペインティングされた画像302を表されてもよく、インペインティングされた深度画像320は、背景遮蔽解消マスク314に従ってインペインティングされた深度画像306を表してもよい。初期視点への変化は、1つ以上の前景領域の、目に見える動きをもたらしてもよく、その結果、(背景遮蔽解消マスク314によって示される)対応する背景領域が可視となってもよい。画像302および深度画像306は、これらの背景領域に対する画素値を含まないので、インペインティングモデル316を用いてこれらの画素値を生成してもよい。したがって、インペインティングされた画像318およびインペインティングされた深度画像320は、背景層を形成すると見なされてもよく、一方、画像302および深度画像306は、前景層を形成する。これらの層は、修正された画像370の生成の一部として組み合わされてもよい。
【0052】
インペインティングモデル316は、画像302の前景領域にマッチする値ではなく、画像302において他の背景領域にマッチする値で背景領域をインペインティングするようトレーニングされてもよい。追加または代替として、インペインティングモデル316は、インペインティングされた画像318およびインペインティングされた深度画像320を、並行しておよび/または同時に生成するよう構成されてもよい。例えば、インペインティングされた画像318およびインペインティングされた深度画像320の両方は、インペインティングモデル316の単一のパス/反復によって生成されてもよい。したがって、インペインティングモデル316の出力は、インペインティングされた画像318とインペインティングされた深度画像320との深度ごとの連結であってもよく、したがって、これらのインペインティングされた画像の各々は、出力の対応する1つ以上のチャネルによって表されてもよい。
【0053】
インペインティングされた画像318およびインペインティングされた深度画像320の両方は、インペインティングされた画像318のインペインティングされた部分の画素値がインペインティングされた深度画像320の対応するインペインティングされた部分の深度値と矛盾しないように、画像302および深度画像306に基づいてもよい。すなわち、インペインティングモデル316は、遮蔽解消された背景領域の値を生成する際に深度情報と色/強度情報の両方を考慮するよう構成されてもよく、深度および色/強度の整合性を示すインペインティングされた領域をもたらしてもよい。深度情報は、インペインティングモデル316が画像302の前景領域と背景領域とを区別し、したがってインペインティングのために値を借りる適切な部分を選択することを可能にしてもよい。したがって、インペインティングモデル316は、深度を認識していると見なされてもよい。インペインティングモデル316のさらなる詳細は、図5Aに示され、それに関して説明される。
【0054】
画素アンプロジェクタ322は、(i)前景可視性マップ310および深度画像306に基づいて前景可視性マップ3D表現(foreground visibility map 3D representation)324を生成し、(ii)画像302および深度画像306に基づいて前景3D表現(foreground 3D representation)326を生成し、(iii)インペインティングされた画像318およびインペインティングされた深度画像320に基づいて背景3D表現(background 3D representation)328を生成するよう構成されてもよい。具体的には、画素アンプロジェクタ322は、前景可視性マップ310、画像302、およびインペインティングされた画像318の各々の画素を逆投影して、対応する3D点を生成して、3Dカメラ基準フレーム内にそのそれぞれの画素を表すよう、構成されてもよい。
【0055】
【数8】
【0056】
前景可視性マップ310、画像302、およびインペインティングされた画像318の画素を表すと決定されたそれぞれの3D点に基づいて、画素アンプロジェクタ322は、隣接する画素に対応する3D点を接続するよう構成されてもよく、それによって、前景可視性マップ310、画像302、およびインペインティングされた画像318の各々についてそれぞれの多角形メッシュ(例えば、三角形メッシュ)を生成してもよい。具体的には、所与の3D点に対応する画素と1つ以上の他の3D点に対応する画素とが対応する画像内で互いに隣接する場合、所与の3D点は1つ以上の他の3D点に接続されてもよい。
【0057】
画素アンプロジェクタ322はさらに、対応する画像またはマップの画素値に基づいて、各々の多角形メッシュをテクスチャリングするよう構成されてもよい。具体的には、前景可視性マップ3D表現324の多角形メッシュは、前景可視性マップ310の対応する値に基づいてテクスチャリングされてもよく、前景3D表現326の多角形メッシュは、画像302の対応する値に基づいてテクスチャリングされてもよく、背景3D表現328の多角形メッシュは、インペインティングされた画像318の対応する値に基づいてテクスチャリングされてもよい。3Dポイントの単一のセットが3D表現324および326について決定され、それらによって共有されるとき、3D表現324および326も、複数のチャネルを含む単一の多角形メッシュを使用して表されてもよく、1つ以上の第1のチャネルは前景可視性マップ310の値を表し、1つ以上の第2のチャネルは画像302の値を表す。追加または代替として、3D表現324,326,および328は、他の可能性の中でも、点群、層状表現(たとえば、層状深度画像)、多面画像、および/または暗黙的表現(例えば、neural radiance fields(NeRF))を含んでもよい。
【0058】
画素プロジェクタ330は、3D表現324,326,および328に基づいて、修正された画像370を生成するよう構成されてもよい。具体的には、画素プロジェクタ330は、初期視点と関連付けられたカメラ姿勢に対するカメラの平行移動および/または回転を表す剛体変換Tを行うよう構成されてもよい。したがって、この剛体変換Tは、修正された画像370に対する調整された視点を定義する調整されたカメラパラメータを表してもよい。例えば、剛体変換Tは、画像302の初期視点と関連付けられたワールド基準フレームに対して表されてもよい。Tの値は、修正された画像370の複数の異なるインスタンスを生成するよう調整可能および/または反復可能であってもよく、その各々は、画像302を、対応する調整された視点から表す。
【0059】
【数9】
【0060】
【数10】
【0061】
【数11】
【0062】
例えば、この機械学習モデルは、複数のトレーニング画像セットを使用してトレーニングされてもよく、それらの各々は、あるシーンの複数の異なるビューを含み、したがって、遮蔽解消された領域のグラウンドトゥルース画素値を表す。
【0063】
図3B図3C、および図3Dは、3D写真システム300によって生成された画像およびマップの例を含む。具体的には、図3Bは、画像380(画像302の例)および対応する深度画像382(深度画像306の例)を含む。図3Cは、前景可視性マップ384(前景可視性マップ310の一例)および背景遮蔽解消マスク386(背景遮蔽解消マスク314の一例)を含み、それらの各々が画像380および深度画像382に対応する。図3Dは、インペインティングされた画像388(インペインティングされた画像318の例)、インペインティングされた深度画像390(インペインティングされた深度画像320の例)、および修正された画像392(修正された画像370の例)を含み、それらの各々が画像380および深度画像382に対応する。
【0064】
具体的には、画像380は、草地および木々の背景(背景特徴/オブジェクト)に対するキリン(前景特徴/オブジェクト)を含む。深度画像382は、キリンが背景の大部分よりもカメラに近いことを示す。前景可視性マップ384では、最大可視性値が白色で示され、最小可視性値が黒色で示され、それらの間の値がグレースケールを使用して示される。したがって、キリン、草地の頂部、および木の線の頂部の周囲の領域は、黒および/または暗いグレースケールで示され、深度勾配がこれらの領域において比較的高く、したがって、これらの領域は、上述のように、3次元での投影後に、インペインティングされた背景画素値に対して比較的透明であることを示す。背景遮蔽解消マスク386では、最大遮蔽解消値が白で示され、最小遮蔽解消値が黒で示され、それらの間の値がグレースケールを使用して示される。したがって、キリンの背後の領域および草地の頂部の背後の領域は、白色および/または明るいグレースケールで示され、これらの領域が、画像380がレンダリングされる視点の変化によって遮蔽解消される(すなわち、可視になる)可能性が高いことを示す。
【0065】
インペインティングされた画像388およびインペインティングされた深度画像390では、画像380および深度画像382の前景部分に対応する値を使用するのではなく、画像380および深度画像382の背景部分に対応する新たな値を使用して、キリンおよび草地の上部を以前に表した画像380および深度画像382の部分がインペインティングされている。したがって、画像388および390は、それぞれ、画像380および382を表しているが、前景コンテンツの少なくとも一部は、画像380および382の背景部分と(色/強度および深度に関して)コンテキスト的に整合している、新しく合成された背景コンテンツと置換されている。
【0066】
修正された画像392のレンダリング中に、画像380のコンテンツ(前景層)は、画像380の初期視点の修正によって明らかにされる遮蔽解消された領域を埋めるために、インペインティングされた画像388のインペインティングされたコンテンツ(背景層)と組み合わせられてもよい。画像380と388との間の混合比は、画像380および388とマップ384とを修正された視点に再投影した後に前景可視性マップ384によって特定される。特に、混合比は、(修正された視点への再投影後に)前景可視性マップ384の対応する画素によって指定され、これらの対応する画素は、画像380、インペインティングされた画像388、および前景可視性マップ384をアンプロジェクト(unproject)して、それぞれの3D表現を生成し、これらの3D表現を修正された視点に投影した後に決定される。したがって、修正された画像392は、画像380の初期視点とは異なる修正視点から画像380のコンテンツを表す。画像380および388は、画像380の外側境界を越えるコンテンツを含まないかもしれないため、図示されるような修正された画像392は、正確に矩形ではない。場合によっては、修正された画像392および/またはそれが基づく画像の1つ以上は、修正された画像392が視点修正後でも矩形になるように、さらなるインペインティングを経てもよい。
【0067】
IV.例示的なソフト前景可視性モデル
図4Aは、深度画像306および画像302に基づいて前景可視性マップ310を生成するよう構成されてもよいソフト前景可視性モデル308の局面を示す。具体的には、ソフト前景可視性モデル308は、ソフト背景遮蔽関数(soft background occlusion function)332と、逆関数336と、ソフト前景可視性関数(soft foreground visibility function)340と、前景セグメンテーションモデル(foreground segmentation model)350と、マット化モデル(matting model)354と、膨張関数(dilation function)358と、差分演算子362と、乗算演算子344とを含んでもよい。
【0068】
【数12】
【0069】
いくつかの実現例では、深度ベースの前景可視性マップ342は、前景可視性マップ310に等しくてもよい。すなわち、ソフト背景遮蔽関数332、逆関数336、前景セグメンテーションモデル350、マット化モデル354、膨張関数358、差分演算子362、および/または乗算演算子344は、ソフト前景可視性モデル308から省略されるかもしれない。しかしながら、場合によっては、深度画像306は、(例えば、深度モデル304のプロパティのため)毛髪または毛皮といった一部の細いおよび/または高周波特徴を正確に表さないかもしれない。修正された画像370におけるこれらの細いおよび/または高周波特徴の表現を改善するために、深度ベースの前景可視性マップ342は、前景可視性マップ310を生成するために、逆背景遮蔽マスク338およびマットベースの前景可視性マップ(matte-based foreground visibility map)364と組み合わせられてもよい。深度ベースの前景可視性マップ342はソフトであるので、深度ベースの前景可視性マップ342は、マットベースの前景セグメンテーション技術と組み合わされてもよい。
【0070】
前景セグメンテーションモデル350は、画像302に基づいて前景セグメンテーションマスク(foreground segmentation mask)352を生成するよう構成されてもよい。前景セグメンテーションマスク352は、(例えば、二値画素値1を使用して表される)画像302の前景特徴を画像302を、(例えば、二値画素値0を使用する)背景特徴から区別してもよい。前景セグメンテーションマスク352は、前景を背景から区別してもよいが、画像302に表される前景オブジェクトの細いおよび/または高周波特徴を正確に表さないかもしれない。前景セグメンテーションモデル350は、例えば、Qin et al によって著され、arXiv:2005.09007 として公開された "U2 -Net: Going Deeper with Nested U-Structure for Salient Object Detection" と題される論文で論じられるモデルを使用して実現されてもよい。
【0071】
マット化モデル354は、画像302および前景セグメンテーションマスク352に基づいて前景アルファマット(foreground alpha matte)356を生成するよう構成されてもよい。前景アルファマット356は、画像302の前景特徴を画像302の背景特徴から区別してもよく、そうするのに、画素あたり、1つの二値、または、画素あたり、あるグレースケール強度値を使用してもよい。前景セグメンテーションマスク352とは異なり、前景アルファマット356は、画像302において表される前景オブジェクトの細いおよび/または高周波の特徴(例えば、毛髪または毛皮)を正確に表してもよい。マット化モデル354は、例えば、Forte et al.によって著され、arXiv:2003.07711として公開された"F, B, Alpha Matting"と題される論文で論じられるモデルを使用して実現されてもよい。
【0072】
前景アルファマット356を前景可視性マップ310に組み込むために、前景アルファマット356はさらなる処理を経てもよい。具体的には、前景可視性マップ310は、前景オブジェクト境界の周りに低い可視性値を含むよう期待されるが、前景オブジェクト境界の近くにない領域には低い可視性値を含むよう期待されない。しかしながら、前景アルファマット356は、すべての背景領域について低い可視性値を含む。したがって、膨張関数358は、前景アルファマット356に基づいて、膨張された前景アルファマット(dilated foreground alpha matte)360を生成するよう構成されてもよく、次いで、それは、差分演算子362によって示されるように、前景アルファマット356から減算されて、マットベースの前景可視性マップ(matte-based foreground visibility map)364を生成してもよい。したがって、マットベースの前景可視性マップ364は、前景オブジェクト境界の周りに低い可視性値を含んでもよいが、前景オブジェクト境界の近くにはない背景領域では含まない。
【0073】
【数13】
【0074】
【数14】
【0075】
【数15】
【0076】
【数16】
【0077】
前景可視性マップ310は、乗算演算子344によって示されるように、(i)深度ベースの前景可視性マップ342と、(ii)マットベースの前景可視性マップ364と、(iii)逆背景遮蔽マスク338との積に基づいて決定されてもよい。このようにして前景可視性マップ310を決定することは、深度の不連続性を考慮し、マットベースの前景可視性マップ364の過剰な背景への「漏洩」を低減および/または回避しながら、前景オブジェクトの細いおよび/または高周波特徴の表現を可能にしてもよい。したがって、この乗算の正味の効果は、マットベースの前景可視性マップ364によって表される前景オブジェクト境界の周りの細いおよび/または高周波特徴の、深度ベースの前景可視性マップ342への組み込みである。
【0078】
図4B図4C、および図4Dは、ソフト前景可視性モデル308によって使用および/または生成される画像およびマップの例を含む。具体的には、図4Bは、画像402(画像302の例)および対応する深度画像406(深度画像306の例)を含む。図4Cは、深度ベースの前景可視性マップ442(深度ベースの前景可視性マップ342の一例)および前景アルファマット456(前景アルファマット356の一例)を含み、それらの各々が画像402および深度画像406に対応する。図4Dは、マットベースの前景可視性マップ462(マットベースの前景可視性マップ364の例)および前景可視性マップ410(前景可視性マップ310の例)を含み、それらの各々が画像402および深度画像406に対応する。
【0079】
具体的には、画像402は、ぼやけた背景に対するライオン(前景オブジェクト)を含む。深度画像406は、ライオンが背景よりもカメラに近く、ライオンの口吻はライオンの他の部分よりもカメラに近いことを示す。深度画像402は、ライオンのたてがみの毛の一部の深度を正確に表してはいない。深度ベース前景可視性マップ442および前景可視性マップ410では、最大可視性値が白色で示され、最小可視性値が黒色で示され、それらの間の値がグレースケールを使用して示される。前景アルファマット456およびマットベースの前景可視性マップ462では、最大アルファ値が白色で示され、最小アルファ値が黒色で示され、それらの間の値がグレースケールを使用して示される。最大アルファ値は最大可視性値に対応し、なぜならば、両方とも、前景コンテンツが完全に不透明であることを示すからである。
【0080】
したがって、深度ベースの前景可視性マップ442では、ライオンと背景との間、およびライオンの口吻とライオンの他の部分との間の遷移を表す輪郭領域が、より暗いグレースケールで示され、深度勾配が、これらの輪郭領域においては比較的高く、これらの輪郭領域は、インペインティングされていない背景画素値に対して比較的より透明であり、他の領域はより明るいグレースケールで示されていることを示す。前景アルファマット456では、ライオンは、より明るいグレースケールで示され、背景は、より暗いグレースケールで示される。深度ベースの前景可視性マップ442とは異なり、前景アルファマット456は、ライオンのたてがみの毛を詳細に表す。マットベースの前景可視性マップ462では、ライオンは、より明るいグレースケールで示され、ライオンの周囲の輪郭領域は、より暗いグレースケールで示され、輪郭領域を越える背景部分は、より明るいグレースケールで示されている。この輪郭領域のサイズは、膨張関数358が前景アルファマット356を膨張させる画素数を制御することによって制御可能である。
【0081】
前景可視性マップ410では、ライオンの大部分は、より明るいグレースケールで示され、ライオンの周囲およびライオンの口吻の周囲の輪郭領域は、より暗いグレースケールで示され、輪郭領域を越える背景部分は、より明るいグレースケールで示される。前景可視性マップ410におけるライオンの輪郭領域は、マットベースの前景可視性マップ462におけるライオンの輪郭領域よりも小さく、ライオンのたてがみの毛の詳細な表現を含む。さらに、前景可視性マップ410は、ライオンの口吻の周りの輪郭領域を含み、それは、深度ベースの前景可視性マップ442には存在するがマットベースの前景可視性マップ462には存在しない。前景可視性マップ410は、したがって、画像402の深度ベースの不連続性ならびにライオンのたてがみのマットベースの細いおよび/または高周波特徴を表す。
【0082】
V.例示的なトレーニングシステムおよび動作
図5Aは、3D写真システム300の1つ以上の構成要素をトレーニングするために使用されてもよい例示的なトレーニングシステム500を示す。具体的には、トレーニングシステム500は、深度モデル304と、ソフト背景遮蔽関数332と、インペインティングモデル316と、弁別器モデル(discriminator model)512と、敵対的損失関数(adversarial loss function)522と、再構成損失関数(reconstruction loss function)508と、モデルパラメータ調整部(model parameter adjuster)526とを含んでもよい。トレーニングシステム500は、トレーニング画像502に基づいて更新されたモデルパラメータ528を決定するよう構成されてもよい。トレーニング画像502およびトレーニング深度画像506は、それぞれ、画像302および深度画像306に類似してもよいが、推論時ではなく、トレーニング時に決定されてもよい。深度モデル304およびソフト背景遮蔽関数332は、それぞれ、図3Aおよび図4Aに関して論じている。
【0083】
インペインティングモデル316は、背景遮蔽解消マスク314によって示されるように、視点の変化によって遮蔽解消されてもよい画像302の領域をインペインティングするようトレーニングされてもよい。しかしながら、場合によっては、これらの遮蔽解消された領域に対するグラウンドトゥルース画素値は、利用可能ではないかもしれない(例えば、トレーニング画像502の複数のビューが利用可能でないかもしれない)。したがって、トレーニング画像502に対応するトレーニング背景遮蔽解消マスクを使用してインペインティングモデル316をトレーニングするのではなく、代わりに、トレーニング背景遮蔽マスク534を使用してインペインティングモデル316をトレーニングしてもよい。トレーニング背景遮蔽マスク534は、背景遮蔽マスク334に類似してもよいが、推論時ではなくトレーニング時に決定されてもよい。初期視点の変化の結果として前景特徴によって遮蔽される可能性が高い領域に対するグラウンドトゥルース画素値は、トレーニング画像502において利用可能であるので、この技術は、マルチビュートレーニング画像データセットに依存することなく、インペインティングモデル316のトレーニングを考慮してもよい。遮蔽解消された領域についてのグラウンドトゥルースデータが利用可能である場合、インペインティングモデルは、追加または代替として、遮蔽解消マスクを使用してトレーニングされてもよい。
【0084】
具体的には、インペインティングモデル316は、トレーニング画像(training image)502、トレーニング深度画像(training depth image)506、およびトレーニング背景遮蔽マスク(training background occlusion mask)534に基づいて、それぞれ、インペインティングされた画像318およびインペインティングされた深度画像320に類似してもよい、インペインティングされたトレーニング画像(inpainted training image)518およびインペインティングされたトレーニング深度画像(inpainted training depth image)520を生成するよう構成されてもよい。場合によっては、インペインティングモデル316はまた、ストローク形状のインペインティングマスク(図示せず)を使用してトレーニングされてもよく、したがって、インペインティングモデル316が細いかまたは小さいオブジェクトをインペインティングするように学習することを可能にする。
【0085】
インペインティングモデル316が画像502および506の欠落領域をインペインティングする品質は、再構成損失関数508および/または敵対的損失関数を使用して定量化されてもよい。再構成損失関数508は、トレーニング画像502および506をそれぞれインペインティングされた画像518および520と比較することによって再構成損失値(reconstruction loss value)510を生成するよう構成されてもよい。例えば、再構成損失関数508は、(トレーニング背景遮蔽マスク534および/またはストローク形状のインペインティングマスクによって示されるように)少なくともインペインティングされた領域に関して、(i)トレーニング画像502とインペインティングされたトレーニング画像518との間の第1のL-1距離と、(ii)トレーニング深度画像506とインペインティングされたトレーニング深度画像520との間の第2のL-1距離とを判断するよう構成されてもよい。したがって、再構成損失関数508は、(i)互いに整合し、(ii)トレーニング画像502の(前景特徴ではなく)背景特徴に基づいた、インペインティングされた強度値およびインペインティングされた深度値を生成するように、インペインティングモデル316を奨励してもよい。
【0086】
弁別器モデル512は、インペインティングされたトレーニング画像518およびインペインティングされたトレーニング深度画像520に基づいて弁別器出力514を生成するよう構成されてもよい。具体的には、弁別器出力514は、インペインティングされたトレーニング画像518およびインペインティングされたトレーニング深度画像520が、インペインティングモデル316によって生成される、と弁別器モデル512が推定するか、またはインペインティングモデル316によって生成されていないグラウンドトゥルース画像である、と弁別器モデル512が推定するか、を示してもよい。したがって、インペインティングモデル316および判別器モデル512は、敵対的トレーニングアーキテクチャを実現してもよい。したがって、敵対的損失関数522は、たとえば、ヒンジ敵対的損失(hinge adversarial loss)を含んでもよく、弁別器出力514に基づいて敵対的損失値524を生成するよう構成されてもよい。したがって、敵対的損失関数522は、現実的に見えるインペインティングされた強度値およびインペインティングされた深度値を生成し、したがって自然なシーンを正確に模倣するよう、インペインティングモデル316を奨励してもよい。
【0087】
モデルパラメータ調整部526は、再構成損失値510および敵対的損失値524(ならびにトレーニングシステム500によって決定されてもよい任意の他の損失値)に基づいて、更新されたモデルパラメータ528を決定するよう構成されてもよい。モデルパラメータ調整部526は、これらの損失値の加重和に基づいて総損失値を決定するよう構成されてもよく、対応する損失値の相対重みは、調整可能なトレーニングパラメータであってもよい。更新されたモデルパラメータ528は、ΔΘとして表されてもよいインペインティングモデル316の1つ以上の更新されたパラメータを含んでもよい。いくつかの実現例では、更新されたモデルパラメータ528は、さらに、弁別器モデル512とならんで、他の可能性の中でもとりわけ、深度モデル304またはソフト前景可視性モデル308など、3D写真システム300の1つ以上の他の構成要素のために、1つ以上の更新されたパラメータを含んでもよい。
【0088】
モデルパラメータ調整部526は、たとえば、総損失関数の勾配を決定することによって、更新されたモデルパラメータ528を決定するよう構成されてもよい。この勾配および総損失値に基づいて、モデルパラメータ調整部526は、総損失値を低減し、したがって3D写真システム300の性能を改善するよう期待される、更新されたモデルパラメータ528を選択するよう構成されてもよい。更新されたモデルパラメータ528を少なくともインペインティングモデル316に適用した後、上述の動作を繰り返して総損失値の別のインスタンスを計算してもよく、そしてそれに基づいて、更新されたモデルパラメータ528の別のインスタンスを決定し、少なくともインペインティングモデル316に適用して、その性能をさらに改善してもよい。3D写真システム300の構成要素のそのようなトレーニングは、例えば、総損失値が目標閾値損失値を下回るまで繰り返されてもよい。
【0089】
図5Bは、図3Bの画像380および深度画像382の一部に対応する背景遮蔽マスク544(背景遮蔽マスク334およびトレーニング背景遮蔽マスク534の一例)を含む。背景遮蔽マスク544では、最大遮蔽値が白色で示され、最小遮蔽値が黒色で示され、それらの間の値がグレースケールを使用して示される。したがって、キリンの周囲の領域は、白色または明るいグレースケールで示され、これらの領域が、画像380がレンダリングされる視点の変化によって遮蔽される可能性が高いことを示す。
【0090】
VI.さらなる例示的な動作
図6は、モノスコープ画像に基づいて3D効果を生成することに関連する動作のフローチャートを示す。動作は、他の可能性の中でもとりわけ、様々なコンピューティングデバイス100、コンピューティングシステム200、3D写真システム300、および/またはトレーニングシステム500によって実行されてもよい。図6の実施形態は、その中に示される特徴のうちの任意の1つ以上の除去によって簡略化されてもよい。さらに、これらの実施形態は、前述の図のいずれかの、もしくは本明細書で別様に説明される、特徴、局面、および/または実現例と組み合わせられてもよい。
【0091】
ブロック600は、初期視点を有する単眼画像を取得することを含んでもよい。
ブロック602は、単眼画像に基づいて、複数の画素を含む深度画像を決定することを含んでもよい。深度画像の各々の画素は、対応する深度値を有してもよい。
【0092】
ブロック604は、深度画像の各々の画素について、深度画像のそれぞれの画素に関連付けられる対応する深度勾配を決定することを含んでもよい。
【0093】
ブロック606は、深度画像の各々の画素について、対応する深度勾配に反比例する可視性値を含む前景可視性マップを決定することを含んでもよい。
【0094】
ブロック608は、深度画像に基づいて、深度画像の各々の画素について、単眼画像の対応する画素が初期視点の変化によって遮蔽解消される尤度を示す遮蔽解消値を含む背景遮蔽解消マスクを決定することを含んでもよい。
【0095】
ブロック610は、(i)インペインティングモデルを使用して、背景遮蔽解消マスクに従って単眼画像の部分をインペインティングすることによって、インペインティングされた画像を生成し、(ii)インペインティングモデルを使用して、背景遮蔽解消マスクに従って深度画像の部分をインペインティングすることによって、インペインティングされた深度画像を生成することを含んでもよい。
【0096】
ブロック612は、(i)深度画像に基づいて、単眼画像の第1の3D表現を生成し、(ii)インペインティングされた深度画像に基づいて、インペインティングされた画像の第2の3D表現を生成することを含んでもよい。
【0097】
ブロック614は、前景可視性マップに従って第1の3D表現を第2の3D表現と組み合わせることによって、初期視点とは異なる調整された視点を有する修正された画像を生成することを含んでもよい。
【0098】
いくつかの実施形態では、前景可視性マップは、少なくとも第1の間隔に沿って連続的かつ滑らかであるソフト前景可視性関数によって決定されてもよい。
【0099】
いくつかの実施形態では、前景可視性マップを決定することは、勾配演算子を深度画像に適用することによって、深度画像の各々の画素について、それぞれの画素と関連付けられる対応する深度勾配を決定することと、深度画像の各々の画素について、それぞれの画素と関連付けられる対応する深度勾配の指数関数に基づいて可視性値を決定することとを含む。
【0100】
いくつかの実施形態では、背景遮蔽解消マスクは、少なくとも第2の間隔に沿って連続的かつ滑らかであるソフト背景遮蔽解消関数によって決定されてもよい。
【0101】
いくつかの実施形態では、背景遮蔽解消マスクを決定することは、深度画像の各々の画素について、第1の複数の差分値を決定することを含んでもよい。第1の複数の差分値の各々の差分値は、それぞれの画素の対応する深度値から、(i)それぞれの画素の所定の画素距離内に位置する対応する参照画素の対応する深度値と、(ii)それぞれの画素を対応する参照画素から分離するスケーリングされた数の画素とを減算することによって決定されてもよい。背景遮蔽解消マスクを決定することはまた、深度画像の各々の画素について、第1の複数の差分値に基づいて遮蔽解消値を決定することも含んでもよい。
【0102】
いくつかの実施形態では、遮蔽解消値を決定することは、深度画像の各々の画素について、第1の複数の差分値のうちの第1の最大差分値を判断することと、深度画像の各々の画素について、双曲線正接関数を第1の最大差分値に適用することによって遮蔽解消値を決定することとを含んでもよい。
【0103】
幾つかの実施形態では、それぞれの差分値の対応する参照画素は、(i)それぞれの画素の上下に所定数の画素を含む垂直走査線、または(ii)それぞれの画素の右側および左側に所定数の画素を含む水平走査線から選択されてもよい。
【0104】
いくつかの実施形態では、前景可視性マップを決定することは、深度画像の各々の画素について、深度画像のそれぞれの画素と関連付けられる対応する深度勾配に反比例する可視性値を含む、深度ベースの前景可視性マップを決定することと、単眼画像に基づきかつ単眼画像に対応する前景アルファマットを決定することとを含んでもよい。前景可視性マップを決定することはまた、(i)前景アルファマットと(ii)前景アルファマットの膨張との間の差に基づいて、マットベースの前景可視性マップを決定することと、(i)深度ベースの前景可視性マップと(ii)マットベースの前景可視性マップとの積に基づいて、前景可視性マップを決定することとを含んでもよい。
【0105】
いくつかの実施形態では、前景アルファマットを決定することは、前景セグメンテーションモデルが、単眼画像に基づいて前景セグメンテーションを決定することと、マット化モデルが、前景セグメンテーションおよび単眼画像に基づいて、前景アルファマットを決定することとを含んでもよい。
【0106】
いくつかの実施形態では、前景可視性マップを決定することは、深度画像に基づいて、深度画像の各々の画素について、単眼画像の対応する画素が初期視点の変化によって遮蔽される尤度を示す遮蔽値を含む背景遮蔽マスクを決定することを含んでもよい。前景可視性マップを決定することはまた、(i)深度ベースの前景可視性マップと、(ii)マットベースの前景可視性マップと、(iii)背景遮蔽マスクの逆数との積に基づいて前景可視性マップを決定することを含んでもよい。
【0107】
いくつかの実施形態では、背景遮蔽マスクを決定することは、深度画像の各々の画素について、第2の複数の差分値を決定することを含んでもよい。第2の複数の差分値の各々の差分値は、(i)それぞれの画素の対応する深度値、および当該それぞれの画素を当該それぞれの画素の所定の画素距離内に位置する対応する参照画素から分離するスケーリングされた数の画素を、(ii)対応する参照画素の対応する深度値から減算することによって、決定されてもよい。背景遮蔽マスクを決定することはまた、深度画像の各々の画素について、第2の複数の差分値に基づいて遮蔽値を決定することを含んでもよい。
【0108】
いくつかの実施形態では、遮蔽値を決定することは、深度画像の各々の画素について、第2の複数の差分値のうちの第2の最大差分値を判断することと、深度画像の各々の画素について、双曲線正接関数を第2の最大差分値に適用することによって遮蔽値を決定することとを含んでもよい。
【0109】
いくつかの実施形態では、単眼画像は、前景特徴および背景特徴を含んでもよい。インペインティングモデルは、(i)背景特徴に合致し、かつ前景特徴から独立している強度値を有する、単眼画像の遮蔽解消された背景領域と、(ii)背景特徴に合致し、かつ前景特徴から独立している深度値を有する、深度画像の対応する遮蔽解消された背景領域とをインペインティングするようトレーニングされていてもよい。
【0110】
いくつかの実施形態では、インペインティングモデルは、インペインティングされた画像の遮蔽解消された領域の強度値が、インペインティングされた深度画像の対応する遮蔽解消された背景領域の対応する深度値とコンテキスト的に整合するようトレーニングされていてもよい。
【0111】
いくつかの実施形態では、インペインティングモデルは、トレーニング単眼画像を取得することと、トレーニング単眼画像に基づいてトレーニング深度画像を決定することとを含むトレーニングプロセスによってトレーニングされていてもよい。トレーニングプロセスはまた、トレーニング深度画像に基づいて、トレーニング深度画像の各々の画素について、トレーニング単眼画像の対応する画素がトレーニング単眼画像の元の視点の変化によって遮蔽される尤度を示す遮蔽値を含む、トレーニング背景遮蔽マスクを決定することを含んでもよい。トレーニングプロセスはさらに、(i)インペインティングモデルを使用して、トレーニング背景遮蔽マスクに従ってトレーニング単眼画像の部分をインペインティングすることによって、インペインティングされたトレーニング画像を生成し、(ii)インペインティングモデルを使用して、トレーニング背景遮蔽マスクに従ってトレーニング深度画像の部分をインペインティングすることによって、インペインティングされたトレーニング深度画像を生成することを含んでもよい。トレーニングプロセスは、インペインティングされたトレーニング映像およびインペインティングされたトレーニング深度映像に損失関数を適用して損失値を決定することと、損失値に基づいてインペインティングモデルの一つ以上のパラメータを調整することとをさらに含んでもよい。
【0112】
いくつかの実施形態では、損失値は、(i)弁別器モデルによるインペインティングされたトレーニング画像およびインペインティングされたトレーニング深度画像の処理に基づいて決定される敵対的損失値、または(ii)インペインティングされたトレーニング画像をトレーニング単眼画像と比較することおよびインペインティングされたトレーニング深度画像をトレーニング深度画像と比較することに基づいて決定される再構成損失値、のうちの1つ以上に基づいてもよい。
【0113】
いくつかの実施形態では、修正された画像を生成することは、深度画像に基づいて、第1の3D表現に対応する3D前景可視性マップを生成することを含んでもよい。修正された画像を生成することはまた、(i)調整された視点に基づいて第1の3D表現を投影することによって前景画像を生成し、(ii)調整された視点に基づいて第2の3D表現を投影することによって背景画像を生成し、(iii)調整された視点に基づいて3D前景可視性マップを投影することによって修正された前景可視性マップを生成することを含んでもよい。修正された画像を生成することは、修正された前景可視性マップに従って前景画像を背景画像と組み合わせることをさらに含んでもよい。
【0114】
いくつかの実施形態では、修正された前景可視性マップの値は、0から所定の値の範囲を有してもよい。前景画像を背景画像と組み合わせることは、(i)前景画像と修正された前景可視性マップとの第1の積と、(ii)背景画像と、所定の値と修正された前景可視性マップとの差との第2の積との和を求めることを含んでもよい。
【0115】
いくつかの実施形態では、第1の3D表現および第2の3D表現を生成することは、(i)深度画像に基づいて単眼画像の画素をアンプロジェクトすることによって第1の複数の3D点を生成し、(ii)インペインティングされた深度画像に基づいてインペインティングされた画像の画素をアンプロジェクトすることによって第2の複数の3D点を生成することと、(i)単眼画像の隣接画素に対応する第1の複数の3D点のそれぞれのサブセットを相互接続することによって第1のポリゴンメッシュを生成し、(ii)インペインティングされた画像の隣接画素に対応する第2の複数の3D点のそれぞれのサブセットを相互接続することによって第2のポリゴンメッシュを生成することを含んでもよい。第1の3D表現および第2の3D表現を生成することはまた、(i)単眼画像に基づいて第1のポリゴンメッシュに1つ以上の第1のテクスチャを適用し、(ii)インペインティングされた画像に基づいて第2のポリゴンメッシュに1つ以上の第2のテクスチャを適用することを含んでもよい。
【0116】
VII.例示的性能メトリック
図7A図7B、および図7Cは各々、対応するデータセットに対して様々な3D写真モデルを試験した結果を含むそれぞれの表を含む。具体的には、図7A図7B、および図7Cの各々は、SynSin モデル(Wiles et al.によって著され、"arXiv:1912.08804"として公開された"SynSin: End-to-end View Synthesis from a Single Image"と題される論文に記載)、SMPIモデル(Tucker et al.によって著され、arXiv:2004.11364 として公開された"Single-View View Synthesis with Multiplane Images"と題される論文に記載)、3D写真モデル(Shih et al.によって著され、arXiv:2004.04727として公開された"3D Photography using Context-aware Layered Depth Inpainting"と題される論文に記載)、および本明細書に記載される3D写真システム300の性能を比較する。
【0117】
性能は、Learned Perceptual Image Patch Similarity(LPIPS)メトリック(より低い値は、より良好な性能を示す)、ピーク信号対雑音比(PSNR)(より高い値は、より良好な性能を示す)、および構造類似性指標尺度(structural similarity index measure)(SSIM)(より高い値は、より良好な性能を示す)によって定量化される。図7A図7B、および図7Cの結果は、それぞれ、RealEstate10k 画像データセット(Zhou et al.によって著され、arXiv:1805.09817として公開された、"Stereo Magnification: Learning View Synthesis using Multiplane Images"と題される論文に記載)、Dual-Pixels 画像データセット(Garg et al.によって著され、arXiv:1904.05822として公開された、"Learning Single Camera Depth Estimation using Dual-Pixels"と題される論文に記載)、およびMannequin-Challenger データセット(Li et al.によって著され、arXiv:1904.11111として公開された、"Learning the Depths of Moving People by Watching Frozen People"と題される論文に記載)に対応する。
【0118】
図7Aにおいて、「T-5」および「T=10」は、対応するメトリックが、テスト画像について、当該テスト画像から時間ステップでそれぞれ5および10離れている画像に対応する修正された視点に関して計算されることを示す。図7Bでは、対応するメトリックは、テスト画像について、当該テスト画像とともに同時にキャプチャされる4つの画像に対応する修正された視点に関して計算される。図7Cにおいて、対応するメトリックは、テスト画像について、当該テスト画像に後続し、かつ連続する4つの画像に対応する修正された視点に関して計算される。図7A図7B、および図7Cの各々の表のそれぞれの最下行の網掛けパターンによって示されるように、システム300は、Dual-Pixels 画像データセットおよびMannequin-Challenge 画像データセットについては、すべてのメトリックに関して他のモデルよりも性能が優れ、RealEstate10kデータセットについては、すべてのメトリックに関して他のシステムよりも性能が優れるかまたは互角である。したがって、3D写真システム300は、他の3D写真システムの性能に合致するか、またはそれを超える。
【0119】
VIII.結び
本開示は、様々な局面の例示として意図される、本出願に記載される特定の実施形態に関して限定されるべきではない。当業者には明らかなように、その範囲から逸脱することなく多くの修正および変形を行うことができる。本明細書に記載されるものに加えて、本開示の範囲内の機能的に等価な方法および装置が、前述の説明から当業者には明らかであろう。そのような修正および変形は、特許請求の範囲内に入ることが意図される。
【0120】
上記の詳細な説明は、添付の図面を参照して、開示されるシステム、デバイス、および方法の様々な特徴ならびに動作を説明する。図面において、文脈上別段の指示がない限り、同様の記号は、典型的には同様の構成要素を識別する。本明細書および図面に記載の例示的な実施形態は、限定的であることを意味しない。本明細書に提示される主題の範囲から逸脱することなく、他の実施形態を利用することができ、他の変更を行うことができる。本明細書で概して説明され図示される本開示の局面は、幅広く多様な異なる構成で配置、置換、組み合わせ、分離、および設計され得ることが容易に理解されよう。
【0121】
図面におけるメッセージフロー図、シナリオ、およびフローチャートのうちのいずれかまたはすべてに関して、ならびに本明細書で論じられるように、各ステップ、ブロック、および/または通信は、例示的実施形態従って、情報の処理および/または情報の送信を表すことができる。代替的な実施形態は、これらの例示的な実施形態の範囲内に含まれる。これらの代替実施形態では、例えば、ステップ、ブロック、伝送、通信、要求、応答、および/またはメッセージとして記載される動作は、関与する機能性に応じて、実質的に同時または逆の順序を含む、示されるかまたは論じられる順序とは異なる順序で実行されることができる。さらに、より多いもしくはより少ないブロックおよび/または動作が、本明細書で論じられるメッセージフロー図、シナリオ、およびフローチャートのいずれかとともに使用されることができ、これらのメッセージフロー図、シナリオ、およびフローチャートは、部分的または全体的に、互いに組み合わせられることができる。
【0122】
情報の処理を表すステップまたはブロックは、本明細書で説明する方法または技術の特定の論理機能を実行するよう構成され得る回路に対応してもよい。代替的または追加的に、情報の処理を表すブロックは、モジュール、セグメント、または(関連データを含む)プログラムコードの一部分に対応してもよい。プログラムコードは、本方法または技術において特定の論理演算またはアクションを実現するためにプロセッサによって実行可能な1つ以上の命令を含んでもよい。プログラムコードおよび/または関連データは、ランダムアクセスメモリ(RAM)、ディスクドライブ、ソリッドステートドライブ、または別の記憶媒体などを含む記憶装置などの、任意のタイプのコンピュータ可読媒体に記憶されてもよい。
【0123】
コンピュータ可読媒体はまた、レジスタメモリ、プロセッサキャッシュ、およびRAMのような、短期間にわたってデータを記憶するコンピュータ可読媒体などの非一時的コンピュータ可読媒体を含んでもよい。コンピュータ可読媒体はまた、より長期間にわたってプログラムコードおよび/またはデータを記憶する非一時的コンピュータ可読媒体を含んでもよい。したがって、コンピュータ可読媒体は、たとえば、読取専用メモリ(ROM)、光ディスクもしくは磁気ディスク、ソリッドステートドライブ、コンパクトディスク読取専用メモリ(CD-ROM)などの、二次的または持続的長期ストレージを含んでもよい。コンピュータ可読媒体はまた、任意の他の揮発性または不揮発性記憶システムであってもよい。コンピュータ可読媒体は、例えば、コンピュータ可読記憶媒体、または有形の記憶装置と見なされてもよい。
【0124】
さらに、1つ以上の情報送信を表すステップまたはブロックは、同じ物理デバイス内のソフトウェアおよび/またはハードウェアモジュール間の情報送信に対応してもよい。しかしながら、他の情報送信は、異なる物理的デバイス内のソフトウェアモジュールおよび/またはハードウェアモジュール間で行われてもよい。
【0125】
図面に示される特定の構成は、限定的であると見なされるべきではない。他の実施形態は、所与の図に示される各要素を、より多くまたはより少なく含むことができることを理解されたい。さらに、例示される要素のいくつかは、組み合わせられるか、または省略されることができる。さらに、例示的な実施形態は、図に示されていない要素を含むことができる。
【0126】
本明細書では様々な局面および実施形態を開示したが、当業者には他の局面および実施形態が明らかであろう。本明細書に開示される様々な局面および実施形態は、例示を目的としており、限定することを意図しておらず、真の範囲は、特許請求の範囲によって示される。
図1
図2
図3A
図3B
図3C
図3D
図4A
図4B
図4C
図4D
図5A
図5B
図6
図7A
図7B
図7C