(57)【要約】  例示的な実施の形態によって、人工ニューラルネットワーク（ＡＮＮ）を訓練して、深度マップを画像に基づいて生成できるようになる。ＡＮＮは、複数の画像セットに基づいて訓練され、各画像セットは、１つのシーンを表し、このような画像セットに含まれる画像は、画像絞りおよび／または焦点距離が異なる。訓練されていないＡＮＮでは、画像セットに含まれる１つ以上の画像に基づいて深度マップが生成される。この深度マップは、セットに含まれる画像（複数可）を用いてセットに含まれる画像のうちの１つの画像と画像絞りおよび／または焦点距離が対応する予測画像を生成するために用いられる。予測画像と対応する画像との差分を使用してＡＮＮを更新する。このように訓練されたＡＮＮは、特に、シミュレーションされた像ぶれを小さい絞りの画像に施すための深度マップを生成することに適している。
2021501946.tif 000002
【特許請求の範囲】
【請求項１】
方法であって、
複数の画像を取得するステップを含み、前記複数の画像のうち少なくとも２つの画像からなるセットには共通シーンが記述されており、前記少なくとも２つの画像からなるセットは、第１被写界深度を有するソース画像と、第２被写界深度を有する目標画像とを含み、前記第２被写界深度は、前記第１被写界深度よりも浅く、前記方法は、さらに、
人工ニューラルネットワークを利用して前記共通シーンの深度マップを前記ソース画像に基づいて決定するステップと、
決定された前記共通シーンの深度マップに基づいて、前記第２被写界深度に対応する被写界深度を有するように、前記ソース画像に基づく予測画像を決定するステップと、
前記予測画像と前記目標画像との差分を求めるステップと、
求められた前記差分に基づいて前記人工ニューラルネットワークを更新するステップと、
対象シーンの画像を取得するステップと、
前記更新された人工ニューラルネットワークを利用して前記対象シーンの深度マップを前記対象シーンの画像に基づいて生成するステップとを含む、方法。
【請求項２】
前記第１の深度マップに基づいて前記ソース画像に基づく予測画像を決定するステップは、微分可能絞りレンダリング関数を使用するステップを含む、請求項１に記載の方法。
【請求項３】
前記微分可能絞りレンダリング関数を使用して前記予測画像を決定するステップは、
前記ソース画像に基づいて推定ライトフィールドを決定するステップと、
前記第１の深度マップに基づいて前記推定ライトフィールドをせん断および投影して前記予測画像を決定するステップとを含む、請求項２に記載の方法。
【請求項４】
前記人工ニューラルネットワークを利用して前記共通シーンの深度マップを前記ソース画像に基づいて決定するステップは、
前記人工ニューラルネットワークを利用して深度値セットを前記ソース画像に基づいて決定するステップを含み、前記深度値セットに含まれる各深度値は、前記ソース画像内のそれぞれの位置に対応し、
前記人工ニューラルネットワークを利用して前記共通シーンの深度マップを前記ソース画像に基づいて決定するステップは、
前記深度値セットをアップサンプリングして前記共通シーンの深度マップを生成するステップをさらに含む、請求項１〜３のいずれか１項に記載の方法。
【請求項５】
前記深度値セットをアップサンプリングして前記共通シーンの深度マップを生成するステップは、バイラテラル法を用いて前記深度値セットを前記ソース画像に基づいてアップサンプリングするステップを含む、請求項４に記載の方法。
【請求項６】
前記目標画像は第１の目標画像であり、前記予測画像は第１の予測画像であり、求められた前記差分は、第１の求められた差分であり、前記少なくとも２つの画像からなるセットは、第３被写界深度を有する第２の目標画像をさらに含み、前記第３被写界深度は前記第２被写界深度とは異なり、かつ前記第１被写界深度よりも浅く、前記方法は、
決定された前記共通シーンの深度マップに基づいて、前記第３被写界深度に対応する被写界深度を有するように、前記ソース画像に基づく第２の予測画像を決定するステップと、
前記第２の予測画像と前記第２の目標画像との第２差分を求めるステップとをさらに含み、
前記人工ニューラルネットワークを更新するステップは、前記ニューラルネットワークを前記第２差分に基づいて更新するステップを含む、請求項１〜５のいずれか１項に記載の方法。
【請求項７】
前記共通シーンが記述された前記少なくとも２つの画像からなるセットを取得するステップは、
ライトフィールドカメラを使用して前記共通シーンからのライトフィールドを撮影するステップと、
前記第１被写界深度を有するように、前記撮影されたライトフィールドに基づいて前記ソース画像を生成するステップと、
前記第２被写界深度を有するように、前記撮影されたライトフィールドに基づいて前記目標画像を生成するステップとを含む、請求項１〜６のいずれか１項に記載の方法。
【請求項８】
前記共通シーンが記述された前記少なくとも２つの画像からなるセットを取得するステップは、
第１の絞り設定にセットされたカメラを使用して前記ソース画像を撮影するステップと、
第２の絞り設定にセットされた前記カメラを使用して前記目標画像を撮影するステップとを含み、前記第２の絞り設定の幅は、前記第１の絞り設定よりも広い、請求項１〜７のいずれか１項に記載の方法。
【請求項９】
前記対象シーンの画像を取得するステップは、携帯電話を操作して前記対象シーンの画像を撮影するステップを含み、前記方法は、
前記人工ニューラルネットワークが更新されたことを前記携帯電話にサーバから送信するステップをさらに含み、前記更新された人工ニューラルネットワークを利用して前記対象シーンの深度マップを前記対象シーンの画像に基づいて生成するステップは、前記携帯電話のプロセッサが前記更新された人工ニューラルネットワークを利用して前記対象シーンの深度マップを生成するステップを含む、請求項１〜８のいずれか１項に記載の方法。
【請求項１０】
決定された前記対象シーンの深度マップに基づいて、前記対象シーンの画像に画像処理を行うステップをさらに含む、請求項１〜９のいずれか１項に記載の方法。
【請求項１１】
前記人工ニューラルネットワークは、畳み込みニューラルネットワークである、請求項１〜１０のいずれか１項に記載の方法。
【請求項１２】
方法であって、
システムが、複数の画像を取得するステップを含み、前記複数の画像のうち少なくとも２つの画像からなるセットには共通シーンが記述されており、前記少なくとも２つの画像からなるセットは、第１被写界深度を有するソース画像と、第２被写界深度を有する目標画像とを含み、前記第２被写界深度は、前記第１被写界深度よりも浅く、前記方法は、さらに、
前記システムが、人工ニューラルネットワークを利用して前記共通シーンの深度マップを前記ソース画像に基づいて決定するステップと、
前記システムが、決定された前記共通シーンの深度マップに基づいて、前記第２被写界深度に対応する被写界深度を有するように、前記ソース画像に基づく予測画像を決定するステップと、
前記システムが、前記予測画像と前記目標画像との差分を求めるステップと、
前記システムが、求められた前記差分に基づいて前記人工ニューラルネットワークを更新するステップと、
前記人工ニューラルネットワークが更新されたことを前記システムからリモートデバイスに送信するステップとを含む、方法。
【請求項１３】
前記第１の深度マップに基づいて前記ソース画像に基づく予測画像を決定するステップは、微分可能絞りレンダリング関数を使用するステップを含む、請求項１２に記載の方法。
【請求項１４】
前記微分可能絞りレンダリング関数を使用して前記予測画像を決定するステップは、
前記ソース画像に基づいて推定ライトフィールドを決定するステップと、
前記第１の深度マップに基づいて前記推定ライトフィールドをせん断および投影して前記予測画像を決定するステップとを含む、請求項１３に記載の方法。
【請求項１５】
前記目標画像は第１の目標画像であり、前記予測画像は第１の予測画像であり、求められた前記差分は、第１の求められた差分であり、前記少なくとも２つの画像からなるセットは、第３被写界深度を有する第２の目標画像をさらに含み、前記第３被写界深度は前記第２被写界深度とは異なり、かつ前記第１被写界深度よりも浅く、前記方法は、
決定された前記共通シーンの深度マップに基づいて、前記第３被写界深度に対応する被写界深度を有するように、前記ソース画像に基づく第２の予測画像を決定するステップと、
前記第２の予測画像と前記第２の目標画像との第２差分を求めるステップとをさらに含み、
前記人工ニューラルネットワークを更新するステップは、前記ニューラルネットワークを前記第２差分に基づいて更新するステップを含む、請求項１２〜１４のいずれか１項に記載の方法。
【請求項１６】
前記人工ニューラルネットワークは、畳み込みニューラルネットワークである、請求項１２〜１５のいずれか１項に記載の方法。
【請求項１７】
方法であって、
シーンの複数の画像を取得するステップを含み、前記画像は、各々、被写界深度が浅く、かつ焦点距離が異なり、前記方法は、さらに、
人工ニューラルネットワークを利用して前記シーンの深度マップを前記複数の画像に基づいて決定するステップと、
前記複数の画像および決定された前記シーンの深度マップに基づいて、前記シーンの被写界深度が大きい予測画像を決定するステップと、
決定された前記共通シーンの深度マップに基づいて、前記複数の画像のうちの特定の画像に対応する焦点距離を有するように、前記被写界深度が大きい予測画像に基づく被写界深度の浅い予測画像を決定するステップと、
前記被写界深度の浅い予測画像と前記特定の画像との差分を求めるステップと、
求められた前記差分に基づいて前記人工ニューラルネットワークを更新するステップと、
前記更新された人工ニューラルネットワークを利用して、更新された前記シーンの深度マップを前記複数の画像に基づいて決定するステップとを含む、方法。
【請求項１８】
前記人工ニューラルネットワークは、オートエンコーダ畳み込みニューラルネットワークである、請求項１７に記載の方法。
【請求項１９】
決定された前記共通シーンの深度マップに基づいて、前記複数の画像のうちの前記特定の画像に対応する焦点距離を有するように、前記被写界深度が大きい予測画像に基づく被写界深度の浅い予測画像を決定するステップは、微分可能絞りレンダリング関数を使用するステップを含む、請求項１７〜１８のいずれか１項に記載の方法。
【請求項２０】
前記シーンの複数の画像を取得するステップは、カメラを操作して前記シーンの複数の画像の各画像をそれぞれ異なる焦点距離設定を用いて撮影するステップを含む、請求項１７〜１９のいずれか１項に記載の方法。
【請求項２１】
プログラム命令を格納した非一時的なコンピュータ読み取り可能な媒体を備える製品であって、前記プログラム命令は、コンピューティングデバイスによって実行されると、前記コンピューティングデバイスに、請求項１〜２０のいずれか１項に記載の方法を実行させる、製品。
【請求項２２】
コントローラと、
プログラム命令を格納した非一時的なコンピュータ読み取り可能な媒体とを備え、前記プログラム命令は、前記コントローラによって実行されると、前記コントローラに、請求項１〜２０のいずれか１項に記載の方法を実行させる、システム。
【発明の詳細な説明】
【背景技術】
【０００１】
背景
画像の深度マップを決定するための様々な方法が存在する。このような深度マップには、画像内のオブジェクトおよび／または領域の深度、たとえば、当該画像を撮影または生成するために用いられるカメラからこのようなオブジェクトまでの距離が記述されている場合がある。いくつかの例では、距離センサ（たとえば、レーダー、ライダー、超音波測距システム）を用いて深度マップを決定するための情報を提供することができる。さらなる例では、複数の関連画像（たとえば、ステレオ画像ペアの左眼用画像および右目用画像）を利用して深度マップを決定することができる。
【発明の概要】
【発明が解決しようとする課題】
【０００２】
概要
深度マップは、様々な方法によって１枚の画像から求めることができる。これは、たとえば画像内に存在するビジュアルキュー基づいて人工ニューラルネットワーク（ＡＮＮ）またはその他のアルゴリズムに１枚の画像を適用して深度マップを生成することを含み得る。次に、この深度マップを用いて、たとえば、ナビゲーション、距離ベースのぼかし処理またはフィルタ処理をソース画像に適用すること、またはその他の適用など、様々な適用を容易にすることができるようになる。
【０００３】
１枚の画像から深度マップを生成するために利用されるＡＮＮ（またはその他のアルゴリズム）は、様々な処理に従って開発され得る。本開示では、自然情景の画像のセットに基づいてＡＮＮを訓練する方法を提供する。各画像セットは、それぞれ異なる絞りおよび／または焦点距離で共通シーンを撮影した２枚以上の画像を含む。共通シーンのソース画像（たとえば、全焦点画像、または、被写界深度が大きいその他の画像）をＡＮＮに適用して予測深度マップを生成する。次に、予測深度マップを用いて、共通シーンの画像のセットのうちの別の画像（たとえば、目標画像）に（焦点距離、絞り、またはその他の光学特性が）対応する予測画像を、ソース画像に基づいて生成する。次に、予測画像と目標画像との差を用いてＡＮＮを訓練できる（たとえば、この差を誤差信号として用いて、ＡＮＮを誤差逆伝搬法で更新することによって）。
【０００４】
このような更新処理を複数回実行し、複数の画像セットに基づいてＡＮＮを生成することができる。次に、（たとえば、携帯電話のプロセッサによって）このような訓練済みのＡＮＮを使用して、自然情景の１枚の画像（たとえば、屋内環境または屋外環境の人間、動物、植物、またはその他のオブジェクトの画像）から深度マップを求めることができる。ＡＮＮの出力は、まばらであったり、分解能が目標分解能（たとえば、入力画像（複数可）の分解能と一致する分解能）よりも低かったりする。このような例では、ＡＮＮの出力をアップサンプリングして、より高分解能の深度マップを提供することができる。このようなアップサンプリングは、補間法、バイラテラル法、またはその他の方法を用いて、より高分解能の深度マップを生成することを含むことができる。バイラテラル法を使って深度マップをアップサンプリングすることは、低分解能の深度マップに表現された深度に対応する高分解能の深度マップを、入力画像（複数可）内のオブジェクトのエッジまたはその他の特徴に対応するシャープなエッジまたはその他のシャープな特徴を示すように生成することを含み得る。
【０００５】
予測画像を生成することは、より幅の広い絞り、異なる焦点距離、またはその他のソース画像上の変更の効果をシミュレーションすることによって、絞りレンダリング関数を適用して予測画像を生成することを含み得る。たとえば、この絞りレンダリング関数は、ソース画像をゆがませ、ライトフィールドの推定を決定してソース画像を生成した後、推定ライトフィールドをせん断および投影して予測画像を生成するように動作する。絞りレンダリング関数は微分可能であって、誤差逆伝搬法またはその他のＡＮＮ訓練技術を容易にするであろう。
【０００６】
いくつかの実施の形態では、ＡＮＮを特定のシーンの画像の１つのセット上で訓練し、シーンの画像のうちの１つ（またはそれ以上）の画像の深度マップを生成することができる。たとえば、本開示の方法に従って、それぞれ異なる焦点距離を有するシーンの被写界深度の浅い画像のセットを使用して、深度予測を行うＡＮＮ（たとえば、オートエンコーダネットワーク）および（たとえば、画像セットのうちの１つの画像の）シーンの深度マップの両方を訓練することができる。
【０００７】
本明細書に記載の方法は、画像からなる訓練セットを、訓練セットの画像内の深度の「グラウンドトゥルース（ｇｒｏｕｎｄ  ｔｒｕｔｈ）」についての情報を必要とせずに、深度予測人工ニューラルネットワークの訓練のために利用できるようにする。さらには、これらの画像は、（たとえば、ステレオ画像ペアを訓練に用いた）複雑な多視点構成をせずに取得できる。その代わりに、このような訓練セットの画像は、１つの視点からのシーンを観測する１つの撮像装置を用いて、たとえば、異なる焦点距離および／または絞り設定で複数の画像を撮影することによって、または、ライトフィールドカメラを使用してシーンから受けるライトフィールドについての情報をキャプチャすることによって取得され得る。そのため、この方法は、複雑な多視点構成および／または低分解能の深度を検知する高価な構成を必要とし得る深度予測人工ニューラルネットワークを訓練するための従来技術に伴う問題に対処する。訓練済みの深度予測ニューラルネットワークを利用して１枚の画像から深度情報を生成してもよい。
【課題を解決するための手段】
【０００８】
第１の態様では、方法は、（ｉ）複数の画像を取得するステップを含み、複数の画像のうち少なくとも２つの画像からなるセットには共通シーンが記述されており、少なくとも２つの画像からなるセットは、第１被写界深度を有するソース画像と、第２被写界深度を有する目標画像とを含み、第２被写界深度は、第１被写界深度よりも浅く、方法は、さらに、（ｉｉ）人工ニューラルネットワークを利用して共通シーンの深度マップをソース画像に基づいて決定するステップと、（ｉｉｉ）決定された共通シーンの深度マップに基づいて、第２被写界深度に対応する被写界深度を有するように、ソース画像に基づく予測画像を決定するステップと、（ｉｖ）予測画像と目標画像との差分を求めるステップと、（ｖ）求められた差分に基づいて人工ニューラルネットワークを更新するステップと、（ｖｉ）対象シーンの画像を取得するステップと、（ｖｉｉ）更新された人工ニューラルネットワークを利用して対象シーンの深度マップを対象シーンの画像に基づいて生成するステップとを含む。
【０００９】
上記態様は、次の任意選択の特徴のうちの１つ以上を含んでもよい。第１の深度マップに基づいてソース画像に基づく予測画像を決定するステップは、微分可能絞りレンダリング関数（a differentiable aperture rendering function）を使用するステップを含んでもよい。微分可能絞りレンダリング関数を使用して予測画像を決定するステップは、ソース画像に基づいて推定ライトフィールドを決定するステップと、第１の深度マップに基づいて推定ライトフィールドをせん断および投影して予測画像を決定するステップとを含んでもよい。人工ニューラルネットワークを利用して共通シーンの深度マップをソース画像に基づいて決定するステップは、人工ニューラルネットワークを利用して深度値セットをソース画像に基づいて決定するステップを含み、深度値セットに含まれる各深度値は、ソース画像内のそれぞれの位置に対応し、人工ニューラルネットワークを利用して共通シーンの深度マップをソース画像に基づいて決定するステップは、深度値セットをアップサンプリングして共通シーンの深度マップを生成するステップをさらに含んでもよい。深度値セットをアップサンプリングして共通シーンの深度マップを生成するステップは、バイラテラル法を用いて深度値セットをソース画像に基づいてアップサンプリングするステップを含んでもよい。目標画像は第１の目標画像であってもよい。予測画像は第１の予測画像であってもよい。求められた差分は、第１の求められた差分であってもよい。少なくとも２つの画像からなるセットは、第３被写界深度を有する第２の目標画像をさらに含み、第３被写界深度は第２被写界深度とは異なり、かつ第１被写界深度よりも浅くてもよく、方法は、さらに、決定された共通シーンの深度マップに基づいて、第３被写界深度に対応する被写界深度を有するように、ソース画像に基づく第２の予測画像を決定するステップと、第２の予測画像と第２の目標画像との第２差分を求めるステップとをさらに含み、人工ニューラルネットワークを更新するステップは、ニューラルネットワークを第２差分に基づいて更新するステップを含んでもよい。共通シーンが記述された少なくとも２つの画像からなるセットを取得するステップは、ライトフィールドカメラを使用して共通シーンからのライトフィールドを撮影するステップと、第１被写界深度を有するように、撮影されたライトフィールドに基づいてソース画像を生成するステップと、第２被写界深度を有するように、撮影されたライトフィールドに基づいて目標画像を生成するステップとを含んでもよい。共通シーンが記述された少なくとも２つの画像からなるセットを取得するステップは、第１の絞り設定にセットされたカメラを使用してソース画像を撮影するステップと、第２の絞り設定にセットされたカメラを使用して目標画像を撮影するステップとを含み、第２の絞り設定の幅は、第１の絞り設定よりも広くてもよい。対象シーンの画像を取得するステップは、携帯電話を操作して対象シーンの画像を撮影するステップを含んでもよく、方法は、人工ニューラルネットワークが更新されたことを携帯電話にサーバから送信するステップをさらに含んでもよく、更新された人工ニューラルネットワークを利用して対象シーンの深度マップを���象シーンの画像に基づいて生成するステップは、携帯電話のプロセッサが更新された人工ニューラルネットワークを利用して対象シーンの深度マップを生成するステップを含む。方法は、決定された対象シーンの深度マップに基づいて、対象シーンの画像に画像処理を行うステップをさらに含んでもよい。人工ニューラルネットワークは、畳み込みニューラルネットワークであってもよい。
【００１０】
さらなる態様では、方法は、（ｉ）システムが、複数の画像を取得するステップを含み、複数の画像のうち少なくとも２つの画像からなるセットには共通シーンが記述されており、少なくとも２つの画像からなるセットは、第１被写界深度を有するソース画像と、第２被写界深度を有する目標画像とを含み、第２被写界深度は、第１被写界深度よりも浅く、方法は、さらに、（ｉｉ）システムが、人工ニューラルネットワークを利用して共通シーンの深度マップをソース画像に基づいて決定するステップと、（ｉｉｉ）システムが、決定された共通シーンの深度マップに基づいて、第２被写界深度に対応する被写界深度を有するように、ソース画像に基づく予測画像を決定するステップと、（ｉｖ）システムが、予測画像と目標画像との差分を求めるステップと、（ｖ）システムが、求められた差分に基づいて人工ニューラルネットワークを更新するステップと、（ｖｉ）人工ニューラルネットワークが更新されたことをシステムからリモートデバイスに送信するステップとを含む。
【００１１】
さらに別の態様では、方法は（ｉ）シーンの複数の画像を取得するステップを含み、画像は、各々、被写界深度が浅く、かつ焦点距離が異なり、方法は、さらに、（ｉｉ）人工ニューラルネットワークを利用してシーンの深度マップを複数の画像に基づいて決定するステップと、（ｉｉｉ）複数の画像および決定されたシーンの深度マップに基づいて、シーンの被写界深度が大きい予測画像を決定するステップと、（ｉｖ）決定された共通シーンの深度マップに基づいて、複数の画像のうちの特定の画像に対応する焦点距離を有するように、被写界深度が大きい予測画像に基づく被写界深度の浅い予測画像を決定するステップと、（ｖ）被写界深度の浅い予測画像と特定の画像との差分を求めるステップと、（ｖｉ）求められた差分に基づいて人工ニューラルネットワークを更新するステップと、（ｖｉｉ）更新された人工ニューラルネットワークを利用して、更新されたシーンの深度マップを複数の画像に基づいて決定するステップとを含む。
【００１２】
人工ニューラルネットワークは、オートエンコーダ畳み込みニューラルネットワークであってもよい。決定された共通シーンの深度マップに基づいて、複数の画像のうちの特定の画像に対応する焦点距離を有するように、被写界深度が大きい予測画像に基づく被写界深度の浅い予測画像を決定するステップは、微分可能絞りレンダリング関数を使用するステップを含んでもよい。シーンの複数の画像を取得するステップは、カメラを操作してシーンの複数の画像の各画像をそれぞれ異なる焦点距離設定を用いて撮影するステップを含んでもよい。
【００１３】
これらおよびその他の態様、利点、および代替例は、下記の詳細な説明を添付の図面を適宜参照しながら読むことによって当業者に明らかになるであろう。さらには、本明細書のこの概要欄などに示した説明は、クレームされる主題を一例として示しており、限定でないことを理解されたい。
【図面の簡単な説明】
【００１４】
【図１】デバイスによって撮影されている例示的なシーンのコンテンツを示す図である。
【図２Ａ】図１のデバイスのカメラによって撮影された図１に示すシーンの例示的な画像である。
【図２Ｂ】図１のデバイスのカメラによって撮影された図１に示すシーンの例示的な画像である。
【図２Ｃ】図１のデバイスのカメラによって撮影された図１に示すシーンの例示的な画像である。
【図３】図１のデバイスの視点からの図１に示すシーンの深度マップの例を示す図である。
【図４】方法例を示す図である。
【図５】方法例を示す図である。
【図６】例示的なコンピューティングシステムの構成要素の一部を示す簡略ブロック図である。
【図７】方法のフローチャートである。
【図８】方法のフローチャートである。
【図９】方法のフローチャートである。
【発明を実施するための形態】
【００１５】
詳細な説明
本明細書において、方法およびシステムの例を説明する。単語「ｅｘｅｍｐｌａｒｙ」、「ｅｘａｍｐｌｅ」、および「ｉｌｌｕｓｔｒａｔｉｖｅ」は、本明細書において、「一例、例、または例示」を意味すると理解されたい。本明細書に「ｅｘｅｍｐｌａｒｙ」、「ｅｘａｍｐｌｅ」または「ｉｌｌｕｓｔｒａｔｉｖｅ」と記載されたいずれの実施の形態または特徴も、その他の実施の形態または特徴よりも好ましいまたは有利であると必ずしも解釈されるわけではない。さらには、本明細書に記載の例示的な実施の形態は、限定ではない。開示のシステムおよび方法の特定の態様を幅広い様々な異なる構成に配置または組み合わせることができることは、容易に理解できるであろう。
【００１６】
Ｉ．例示的な画像および適用例
一般に、撮像とは、デジタルフォーマット、化学フォーマット、またはその他のフォーマット（たとえば、写真および／または動画）で実世界の環境またはシーンの色特性および輝度特性を撮影して記憶することを指す。数多くの異なるフォーマット（たとえば、カラー撮像、白黒撮像）で画像を撮影することを容易にする多種多様な撮像装置が存在する（たとえば、ＣＣＤ、光検出器アレイ、アクティブ画素センサ）。
【００１７】
様々な応用において、画像に存在するオブジェクトの深度を決定することは有利であり得る。このような深度マップは、画像内の位置ごとに、たとえば、画像の画素ごとに深度値を含むことができる。このような深度マップの深度値は、互いに相対して画像に描かれたオブジェクトの位置、このようなオブジェクトと画像を生成するために使用されるカメラまたはその他の検知デバイスとの距離、または、画像内に表されたオブジェクトまたは位置のその他の深度関連のパラメータに関係し得る。たとえば、画像は、屋外シーンを描いている可能性があり、この画像について求められた深度マップは、シーンにあるオブジェクトおよび／または位置と画像を撮影するために用いられたカメラとの距離を記述し得る。次に、このような深度マップを用いて（たとえば、シーンに存在するオブジェクトおよび位置をマッピングする、シーンを通してロボットまたはその他のデバイスを移動させる）シーン内のオブジェクトの形状および位置を特定し、深度を意識した画像処理またはその他の画像処理を画像に対して行う（たとえば、被写界深度の浅い画像をシミュレーションするためにシーン内の一定の深度のオブジェクトをぼかす）、またはその他の応用を容易にすることができる。
【００１８】
図１は、近くのオブジェクト１０３と遠くのオブジェクト１０５とを含んだシーン１００を示す図である。これに加えて、図１は、機能の中でも特に、近くのオブジェクト１０３の近傍に配置されてシーン１００の可視光画像を生成するように構成されるデバイス１１０を示す。シーン１００の可視光画像を生成することは、当該シーンの１つ以上のライトフィールド画像、（たとえば、それぞれ異なる焦点距離における）シーンの被写界深度が浅い１つ以上の画像、シーンの被写界深度が深い１つ以上の画像を（たとえば、小さい絞り設定を用いて）生成すること、またはシーン１００についてのその他の画像に関する情報を生成することを含み得る。
【００１９】
一例として、デバイス１１０は、携帯電話（たとえば、スマートフォン）、スチールカメラ、ビデオカメラ、コンピュータ（デスクトップ、ノートブック、タブレット端末、またはハンドヘルドコンピュータなど）、ＰＤＡ（Ｐｅｒｓｏｎａｌ  Ｄｉｇｉｔａｌ  Ａｓｓｉｓｔａｎｔ）、ホームオートメーションコンポーネント、ＤＶＲ（Ｄｉｇｉｔａｌ  Ｖｉｄｅｏ  Ｒｅｃｏｒｄｅｒ）、デジタルテレビ、リモコン、ウェアラブルコンピューティングデバイス、または少なくとも１つのカメラを装備したその他の種類のデバイスであってもよいが、これに限定されない。デバイス１１０は、デジタルカメラなどの個別の物理デバイス、カメラアプリケーションがソフトウェアで動作する特定の物理ハードウェアプラットフォーム、またはカメラ機能を実行するように構成されたハードウェアとソフトウェアとのその他の組合せを表し得ることを理解されたい。
【００２０】
デバイス１１０は、画像撮影要素１１５を含む。画像撮影要素１１５は、可視光画像を生成するように動作してもよい。画像撮影要素１１５は、ライトフィールド画像、または画像撮影要素１１５が露出されるシーン１００から受け取ったライトフィールドについてのその他の情報を生成するように構成されたライトフィールドカメラまたはその他の構成要素を含み得る。このようなライトフィールドカメラは、複数の絞り、レンズ、または、画像撮影要素１１５のそれぞれの複数の位置で受光した光に基づいて画像情報を生成することを容易にするように構成されたその他の光学素子を含み得る。追加的または代替的に、画像撮影要素１１５は、１つ以上のカメラを含み得る。このようなカメラは、絞り設定、焦点距離、焦点深度、または画像撮影要素１１５のその他の画像取得プロパティを調整するために光学素子（たとえば、可変絞り、１つ以上のレンズ）を調整するように構成された１つ以上のアクチュエータを含み得る。このようなカメラは、（たとえば、カメラの絞り設定を調整することによって）被写界深度が異なるシーン１００の複数の画像を生成し、焦点距離が異なるシーン１００の複数の被写界深度の浅い画像を生成する、および／またはシーン１００の被写界深度の大きい画像を生成するように操作され得る。追加的または代替的に、このようなカメラは、シーン１００の被写界深度の大きい画像を生成するように構成された小型の固定絞り（たとえば、カメラは、ピンホールカメラであり得る）を含むことができる。
【００２１】
図２Ａは、近くのオブジェクト画像２５３ａと遠くのオブジェクト画像２５５ａとを含む、シーン１００の被写界深度の大きい画像２５０ａの例を示す図である。大きな被写界深度を有する被写界深度の大きい画像２５０ａの例では、画像撮影要素１１５からの距離に関わらず、ほぼすべてのオブジェクトがほぼ焦点が合った状態で画像に描かれる（たとえば、２５３ａ、２５５ａ）。このような被写界深度の大きい画像２５０ａは、絞りが小さいカメラ（たとえば、ピンホールカメラ）、または、デバイスからの距離が異なるオブジェクトから受光した光が焦点が合った状態で撮像されるように画像を生成するように構成された撮像装置によって生成することができる。追加的または代替的に、ライトフィールドカメラを用いてシーン１００のライトフィールド画像を生成することができ、ライトフィールド画像を（たとえば、せん断して投影することによって）処理して、シーン１００の被写界深度の大きい画像を生成することができる。
【００２２】
図２Ｂは、近くのオブジェクト画像２５３ｂと遠くのオブジェクト画像２５５ｂとを含む、シーン１００の被写界深度の浅い画像２５０ｂの第１の例を示す図である。被写界深度の浅い画像（たとえば、２５０ｂ）では、画像を生成するために使用された撮像装置（たとえば、画像撮影要素１１５）からの距離によって異なるが、画像に描かれた特定のオブジェクトの焦点はほぼ合っているが、画像に描かれたほかのオブジェクトは、ほぼぼやけているおよび／または焦点が合っていない。第１の被写界深度の浅い画像２５０ｂの焦点距離は、近くのオブジェクト画像２５３ｂに焦点が合うように、近くのオブジェクト１０３と画像撮影要素１１５との距離に対応している。画像撮影要素１１５から離れている遠くのオブジェクト１０５では、遠くのオブジェクト画像２５５ｂに焦点が合っていない。
【００２３】
図２Ｃは、近くのオブジェクト画像２５３ｃと遠くのオブジェクト画像２５５ｃとを含む、シーン１００の被写界深度の浅い画像２５０ｃの第２の例を示す図である。第２の被写界深度の浅い画像２５０ｃの焦点距離は、第１の例の被写界深度の浅い画像２５０ｄの焦点距離よりも大きい。第２の被写界深度の浅い画像２５０ｃの焦点距離は、遠くのオブジェクト画像２５５ｃに焦点が合うように、遠くのオブジェクト１０５と画像撮影要素１１５との距離に対応している。画像撮影要素１１５に近い近くのオブジェクト１０３では、近くのオブジェクト画像２５３ｃに焦点が合っていない。
【００２４】
シーン１００の深度マップを決定することができる。このような深度マップは、シーン１００内の様々なオブジェクトおよび／または位置の深度を表す複数の深度値を含み得る。このような深度値は、シーン内の撮像装置１１５とオブジェクト／位置との距離を表し得る。追加的または代替的に、深度は、シーン１００内のオブジェクトまたは位置の相対距離を表し得る（たとえば、シーン内のオブジェクト／位置間の距離であるが、このようなオブジェクト／位置と撮像装置１１５との絶対距離ではない）。このような深度マップは、例示的な画像２５０ａ、２５０ｂ、２５０ｃのうちの１つの画像内のそれぞれの位置に対応する深度値セットを含み得る。たとえば、深度マップは、例示的な画像２５０ａ、２５０ｂ、２５０ｃのうちの１つの画像に含まれる画素の各々に対応する深度値を含み得る。
【００２５】
図３は、例示的な画像２５０ａ、２５０ｂ、２５０ｃのうちの１つ以上の画像に対応し得るおよび／または当該１つ以上の画像から生成され得る例示的な深度マップ３００を示す図である。例示的な深度マップ３００は、シーン１００にあるオブジェクト／位置と撮像装置１１５との絶対距離に対応し得る。例示的な深度マップ３００の特定の画素または領域のグレースケールカラーは、例示的な画像２５０ａ、２５０ｂ、２５０ｃのうちの１つの画像の例示的な深度マップ３００の特定の画素または領域に対応する例示的な画像の画素または領域に描かれたオブジェクト／位置と撮像装置１１５との距離に対応する。
【００２６】
シーンのこのような深度マップ（たとえば、３００）は、様々な方法で生成することができる。いくつかの例では、距離センサを利用して深度マップを生成することができる。これには、光、音、またはその他のエネルギーのパターンをシーンの中に発すること、これに応答してシーンにあるオブジェクト／位置から受け取る光、音、またはその他のエネルギーを検出することと、受け取ったエネルギーのなんらかの性質（たとえば、ＴＯＦ（Ｔｉｍｅ  Ｏｆ  Ｆｌｉｇｈｔ）、位相、受け取り角度）を用いてシーンにあるオブジェクト／位置の深度を求めることとが含まれ得る。追加的または代替的に、それぞれ異なる視点からシーンの複数の画像を生成することができ、この異なる視点の相対的な位置および角度に基づいて生成された画像を使用して深度マップを生成することができる。たとえば、２つのカメラを用いてシーンのステレオ画像ペアを生成でき、立体視の方法を利用して深度マップをステレオ画像ペアに基づいて決定することができる。さらに別の例では、同じ視点からシーン（たとえば、１００）を撮影した１つ以上の画像（たとえば、２５０ａ、２５０ｂ、２５０ｃ）を情報ソースとして使用してシーンの深度マップを求めることができる。これは、人工ニューラルネットワークまたはその他のアルゴリズムを利用して、画像のうちの１つ以上の画像内のオブジェクトの深度値を求めることを含み得る。たとえば、画像からなる訓練セットおよび／またはその「グラウンドトゥルース」深度マップに基づいて人工ニューラルネットワークを訓練して深度マップを生成してから、このような訓練済みの人工ニューラルネットワークを適用して追加画像の深度マップを求めることができる。追加的または代替的に、その他の方法を用いてシーンの深度マップを決定することができる。
【００２７】
ＩＩ．画像ベースの深度マップ予測の例
深度マップは、シーンの１つ以上の画像に基づいて様々な方法で求めることができる。いくつかの例では、パターンマッピング、三角測量、立体視画像処理という方法、および／またはその他の方法を用いて、シーン上の異なる視点に対応するシーンの複数の画像に基づいて深度マップを決定してもよい。シーンの１枚の画像に基づいてシーンの深度マップを決定することも可能である。これは、画像のコンテンツの（たとえば、画像に描かれたオブジェクトの）正体、画像内の相対的な位置／順序、またはその他の情報を求めることによって実現することができる。様々な機械学習技術またはその他のアルゴリズムを適用して画像に描かれたオブジェクトまたはその他のコンテンツを識別したり、画像内のこのようなオブジェクトの範囲を特定したり、画像内のこのようなコンテンツの順序および／または重なりを判断したり、画像に描かれたオブジェクトまたはその他のコンテンツについてのその他の情報を求めたり、および／またはこのような画像の深度マップを求めたりすることができる。
【００２８】
いくつかの例では、人工ニューラルネットワーク（ＡＮＮ）を適用して、深度マップまたはその他の深度情報を画像に基づいて求めることができる。このようなＡＮＮは、２つ以上の層を含み得、線形関数、対数関数、またはその他の特定の出力関数を含み得、全結合ニューロンまたはその他の結合ニューロンを含み得、異なる層のニューロン間に再帰型接続および／またはフィードフォワード接続を含み得、入力情報および／または層間を通過する情報を処理するためのフィルタまたはその他の要素を含み得、または、その他の方法で構成されて入力画像に基づいた深度および／もしくは深度マップの決定を容易にすることができる。
【００２９】
ＡＮＮを利用して深度マップを入力画像に基づいて生成することは、入力画像に適用できる１つ以上のフィルタを含み得、次に、このようなフィルタの出力は、ＡＮＮの１つ以上のニューロンの入力に適用され得る。たとえば、このようなＡＮＮは、畳み込みニューラルネットワーク（ＣＮＮ）であり得るまたは畳み込みニューラルネットワークを含み得る。畳み込みニューラルネットワークとは、ＡＮＮベースの分類、または２次元以上の次元内で要素がまとめられている画像またはその他の大きな次元の入力に基づいたその他の処理を容易にするように構成された様々なＡＮＮである。当該２つ以上の次元は、入力構造体における何らかの構造体に関連し得る（たとえば、画像の２次元空間内の相対的な位置は、画像の画素同士の類似度に関連し得るため）。
【００３０】
本明細書の実施の形態では、ＣＮＮは、入力画像に適用される少なくとも１つの２次元フィルタを含み、次に、フィルタ処理された入力画像をＣＮＮ（たとえば、ＣＮＮの畳み込み層の）のニューロンに適用する。このようなフィルタおよび入力画像の畳み込みは、入力画像に存在する特徴の存在、位置、またはその他の情報を表し得る（たとえば、入力画像にあるエッジ、顔、またはその他の特徴の存在および／または位置）。ＣＮＮのニューロンのセットは、同じフィルタを入力画像に適用することによって決まるそれぞれの入力を受けることができる。追加的または代替的に、ＣＮＮのニューロンのセットは、異なるフィルタと対応付けられ得、それぞれのフィルタを入力画像に適用することによって決まるそれぞれの入力を受けることができる。このようなフィルタは、ＣＮＮの訓練中に訓練することができ、または、予め指定することができる。たとえば、このようなフィルタは、ウェーブレットフィルタ、センターサラウンドフィルタ、バイオインスパイアードフィルタカーネル（たとえば、動物の視覚情報処理受容野の研究より）、またはその他の予め指定されたフィルタパターンを表し得る。
【００３１】
ＣＮＮまたはその他の様々なＡＮＮは、（たとえば、それぞれ異なるフィルタおよび／または特徴量に対応する）複数の畳み込み層、プーリング層、整流層、全結合層、またはその他の種類の層を含み得る。ＣＮＮの畳み込み層は、フィルタを用いた入力画像の畳み込み、またはその他の入力（たとえば、フィルタ処理された入力画像、ダウンサンプリングされた入力画像、またはその他の処理が施された入力画像）の畳み込みを表す。たとえば、最大値ノルム、平均ノルム、Ｌ２ノルム、またはその他のプーリング関数をＣＮＮの上位層（複数可）のニューロンのサブセット、出力、またはその他の特徴量に適用することによって、ＣＮＮのプーリング層が非線形ダウンサンプリングをＣＮＮの上位層に適用する。ＣＮＮの整流層は、正規化非線形関数（たとえば、不飽和活性化関数、シグモイド関数）を上位層の出力に適用する。ＣＮＮの全結合層は、ＣＮＮの１つ以上の上位層にあるニューロンの一部またはすべてからの入力を受ける。全結合層のニューロンの出力を使用して入力画像内のそれぞれの位置の深度値を（たとえば、入力画像の画素ごとに）求めることができる。
【００３２】
ＣＮＮのニューロンは、対応する入力の次元に従ってまとめることができる。たとえば、入力が画像（２次元入力）である場合、ＣＮＮの（たとえば、ＣＮＮの入力層の、ＣＮＮのプーリング層の）ニューロンは、２次元入力画像における位置に対応し得る。ＣＮＮの異なる層にあるニューロンおよび／またはフィルタ間の接続は、このような位置に関係し得る。たとえば、ＣＮＮの畳み込み層にあるニューロンは、入力画像の一部、または、ＣＮＮのその他の層の一部、つまり、畳み込み層ニューロンの位置の近傍に位置する一部とフィルタとの畳み込みに基づく入力を受けることができる。別の例では、ＣＮＮのプーリング層にあるニューロンは、プーリング層のニューロンの位置の近傍に位置する、プーリング層よりも上位の層（たとえば、畳み込み層、上位のプーリング層）のニューロンからの入力を受け付けることができる。
【００３３】
ＡＮＮは、各深度値が入力画像内のそれぞれの位置に対応するように、入力画像に基づいて深度値セットを生成することができる。いくつかの例では、これは、入力画像の画素の各々の深度値（すなわち、入力画像内の画素の位置の各々に対応する深度値）をＡＮＮが生成することを含み得る。いくつかの例では、ＡＮＮから出力された当該深度値セットをアップサンプリングして深度マップを生成する（たとえば、入力画像の分解能と等しい分解能を有する深度マップを生成する）ことができる。
【００３４】
様々な方法を用いてＡＮＮまたはその他のアルゴリズムによって出力された深度値をアップサンプリングして、入力画像の深度マップを生成することができる。いくつかの例では、このアップサンプリングは、エッジを意識した方法で入力画像に対して行われ得る。たとえば、バイラテラル法を用いて複数の深度値を入力画像に基づいてアップサンプリングすることができ、出力深度マップは、たとえば、入力画像に存在するエッジまたはその他のシャープな特徴に対応するエッジまたはその他のシャープな特徴を各所に示す。このようなバイラテラル法によって、バイラテラルコスト関数が小さくなるように、このような深度マップの深度値を生成することができる。バイラテラルコスト関数は、出力深度マップと入力深度値との類似度に関係する１つ以上の項、および出力深度マップの平滑性に関係する１つ以上のさらなる項を含み得る。入力画像にあるシャープな特徴（たとえば、入力画像に描かれたオブジェクトのエッジまたはその他のエッジ）に対応する出力深度マップにあるシャープな特徴によってよりも、入力画像にあるシャープな特徴に対応しない出力深度マップにあるシャープな特徴によってコスト関数がさらに増えるように、１つ以上の平滑性項が決定され得る。
【００３５】
ＩＩＩ．訓練方法の例
画像から深度マップを生成するために用いられるＡＮＮまたはその他のアルゴリズムを訓練して、生成された深度マップの品質を向上させることができる。この訓練は、訓練画像セットに基づいてＡＮＮ（またはその他のアルゴリズム）を更新または繰り返し更新することを含み得る。このような訓練は、特定の訓練画像をＡＮＮに適用することと、出力深度マップを決定することと、次に、予測深度マップと「グラウンドトゥルース」深度マップ（またはその他の訓練データ）との対応度に基づいて誤差または損失を判断することとを含むことができる。次に、決定された対応度に基づいて、ＡＮＮを更新し得る（たとえば、誤差逆伝搬法を介して）。
【００３６】
実際には、このような「グラウンドトゥルース」深度情報にアクセスすることは難しい。このような情報は、距離センサ（たとえば、レーザー測距器、ライダー、超音波距離センサ）を利用して直接生成することができるが、このようなセンサは高価であり、操作が難しく、このようなセンサによって生成される深度情報は、分解能が低かったり、ノイズが多かったり、低品質であったりする可能性がある。（たとえば、ステレオカメラを使用して）異なる視点からシーンの複数の画像を撮影し、立体視アルゴリズムまたはその他の方法を用いてシーンの画像間の発散またはその他の対応関係に基づいてシーンの深度マップを生成することによって深度情報を生成することができる。しかしながら、このような多視点構成は高価であり、操作が難しく、特定の誤差（たとえば、シーンの画像に存在する横方向と縦方向の深度キューが非対称な誤差）を示す深度マップが生成されてしまう可能性がある。
【００３７】
本明細書に記載の方法は、１つの視点から撮影された画像情報に基づいたＡＮＮの訓練を容易にすることによって上記短所を改善することができる。特定の視点から撮影された画像情報は、絞り、焦点深度、焦点距離、またはその他の深度に関連する画像プロパティが異なるシーンの複数の異なる画像を含む、または当該複数の異なる画像の生成を可能にする。次に、異なる画像のうちの少なくとも１つに基づいて、訓練されていないＡＮＮを使用して深度マップを生成する。この予測深度マップを用いて、シミュレーションされた画像を、少なくとも１つの画像に基づいて生成する。シミュレーションされた画像は、絞り、焦点深度、焦点距離、および／またはその他の深度に関連する画像プロパティがシーンの「真」画像のうちの１つに対応する。次に、シミュレーションされた画像と「真」画像との対応度を用いてＡＮＮを更新する。
【００３８】
このような方法は、深度によって異なるぼかしを画像に適用するために使用する深度マップを決定する（たとえば、携帯電話のカメラなどによって生成された焦点深度が大きい画像から「ポートレイト」のような画像を生成する）ことに適している。これは、シミュレーションされた「ぼやけた」画像と、シミュレーションされた「ぼやけた」画像に絞りが対応する画像との差分をこの訓練方法が利用できるためである。絞りは、「全焦点」ではない画像の「ぼやけ」に関し得る画像プロパティである。従って、このような訓練済みのＡＮＮが不正確な深度マップをシーンの入力画像に基づいて生成してしまう例では、生成された深度マップの誤りによって、深度によって異なるぼかしをこの深度マップを用いて入力画像に対して適用すると、深度に左右される像ぶれをより精密にシミュレーションしているぼやけた入力画像ができてしまう可能性がある。
【００３９】
ＡＮＮを訓練するための複数の画像を生成するために、複数の異なるシーンおよび／またはそれらの視点の画像のセットまたはその他の画像情報を本明細書に記載したように取得することができる。ＡＮＮを訓練するために使用される画像のセットまたはその他の画像情報は、様々な方法で使用することができる。いくつかの例では、１つ以上のカメラまたはその他の画像撮影装置を１つの視点から操作して、シーンの画像のセットを生成することができる。シーケンスの画像は、絞り設定、焦点深度、焦点距離、および／またはその他の画像プロパティが異なる。たとえば、焦点距離が異なるシーンの複数の異なる画像を１つのカメラが撮影することができる（たとえば、アクチュエータ、またはカメラの光学系の焦点距離を制御するためのその他の手段を操作することによって）。追加的または代替的に、ライトフィールドカメラを使用してシーンのライトフィールドを生成することができる。次に、ライトフィールドを使用して、たとえば絞り設定が異なる、シーンの異なる画像のセットを生成することができる。これは、ライトフィールドをせん断およびスライスし、１つ以上の画像を生成することを含み得る。ＡＮＮの訓練を容易にするために、シーンの画像のセットをその他の方法で取得することができる。
【００４０】
いくつかの例では、ＡＮＮを訓練するために用いられる画像のセットは、被写界深度および／または絞り設定が異なり得る。このような画像セットは、第１被写界深度を有する第１画像（たとえば、全焦点である画像または大きな被写界深度を示す画像）と、第１被写界深度よりも浅い第２被写界深度を有する第２画像（たとえば、被写界深度の浅い画像）とを含み得る。上述したように、異なる設定（たとえば、異なる絞り設定）に応じて１つ以上のカメラを操作することによって、１つのライトフィールド画像から画像を生成することによって、またはその他の方法によってこのような画像を取得することができる。ＡＮＮを第１画像（たとえば、全焦点である画像および／またはより大きな被写界深度を有する画像）に適用して深度マップを生成することができる。生成された深度マップを用いて第１画像を変形して、第２画像の被写界深度に対応するシミュレーションされた被写界深度を有する予測画像を作成することができる。次に、第２画像と予測画像との差分を利用してＡＮＮを更新することができる。このような処理は、ＡＮＮを訓練するために、第１画像および第２画像を使用して、ならびに／または追加の画像セットを使用して複数回生じ得る。次に、訓練済みのＡＮＮを使用して追加画像（たとえば、携帯電話を使って撮影された画像）の深度マップを決定する。
【００４１】
図４は、このようなＡＮＮ訓練方法の要素を説明するフローチャートの例である。複数の画像（「ＴＲＡＩＮＩＮＧ  ＩＭＡＧＥ  ＳＥＴ」）は、共通シーンを描いたソース画像「ＳＯＵＲＣＥ  ＩＭＡＧＥ」）と目標画像（「ＴＡＲＧＥＴ  ＩＭＡＧＥ」）とを含む（たとえば、ソース画像および目標画像が同じ視点からの公園の特定の場所を描いている）。ソース画像は、第１被写界深度を有するため、全焦点画像である。目標画像は、第１被写界深度よりも浅い第２被写界深度を有するため、被写界深度が浅い。
【００４２】
ＡＮＮ（「ＡＲＴＩＦＩＣＩＡＬ  ＮＥＵＲＡＬ  ＮＥＴＷＯＲＫ：人工ニューラルネットワーク」）は、ソース画像および目標画像に描かれたシーンの深度マップ（「ＤＥＰＴＨ  ＭＡＰ」）をソース画像に基づいて決定するために利用される。ＡＮＮは、入力画像に基づいた深度マップを提供するように、（たとえば、上述したような）様々な方法で構成され得る。たとえば、ＡＮＮは、畳み込みニューラルネットワークであり得る。次に、絞りレンダリング関数（「ＡＰＥＲＴＵＲＥ  ＲＥＮＤＥＲＩＮＧ  ＦＵＮＣＴＩＯＮ」）を用いてソース画像を深度マップに基づいて変形し、第２被写界深度に対応する被写界深度（すなわち、目標画像の被写界深度）を有する予測画像（「ＰＲＥＤＩＣＴＥＤ  ＩＭＡＧＥ」）を生成する。よって、ＡＮＮによって出力された深度マップがソース画像および目標画像に描かれたオブジェクトの深度を精密に表している場合、予測画像は、目標画像に相当するはずである。
【００４３】
予測画像と目標画像との差分（「ＥＲＲＯＲ  ＳＩＧＮＡＬ」）を求めて、ＡＮＮを更新するために使用することができる。求められたこのような差分は、たとえば、予測画像と目標画像との間で対応する画素の値を減算することによって求められる差分画像を含み得る。ＡＮＮを更新することは、求められた予測画像と目標画像との差分に損失関数を適用すること、誤差逆伝搬法を実行すること、当該差分のＡＮＮの係数についての勾配を求めること、またはその他の方法に従って、求められた差分に基づいてＡＮＮを更新することを含み得る。
【００４４】
入力画像に対応する深度マップに基づいてシーンの入力画像を変形して予測画像を生成するために、絞りレンダリング関数は、様々な方法または変換を含み得る。指定された絞り設定、焦点距離、焦点深度、または、入力画像に描かれたオブジェクトまたは位置の深度に関するその他の指定された画像プロパティでシーンを撮影した画像に予測画像が対応するように、絞りレンダリング関数はこのような変形処理を行う。たとえば、絞りレンダリング関数は、全焦点入力画像および深度マップに基づいて予測ライトフィールドを生成できる。次に、絞りレンダリング関数は、決定したライトフィールドをスライスおよびせん断して予測画像を生成することができる。いくつかの例では、誤差逆伝搬法を用いて（たとえば、求められた予測画像と目標画像との差分を微分可能絞りレンダリング関数により逆伝播することによって）ＡＮＮを更新できるように、絞りレンダリング関数は、深度マップについて微分可能であり得る（たとえば、１つ以上の微分可能変換またはその他の処理を実行することを含み得る）。
【００４５】
上述した（たとえば、図４で）ＡＮＮを更新するための処理を複数回行ってＡＮＮを訓練することができる。たとえば、これらの処理は、ＡＮＮが収束するまで（たとえば、繰り返しごとのＡＮＮ係数の変化の度合いが指定された絶対レベルまたは相対レベルよりも低くなるまで）、繰り返しごとに求められた誤差信号の大きさの測定値（たとえば、誤差の平方和、修正された誤差の和）が指定された絶対レベルまたは相対レベルよりも低くなるまで、指定された繰り返し回数またはその他の条件に従って繰り返し実行され得る。
【００４６】
さらに、特定のシーンの３つ以上の画像を使用して情報を生成し、ＡＮＮを訓練することができる。たとえば、特定のシーンの（たとえば、図４のような）訓練画像のセットは、浅い被写界深度を有し、かつ、絞り設定が異なる（または、その他の画像プロパティ、たとえば、焦点距離が異なる）複数の目標画像を含み得る。このような例では、絞りレンダリング関数を予測深度マップに基づいて使用して、ソース画像を複数回変形して複数の予測画像を生成することができる。予測画像の各々は、複数の目標画像のうちのそれぞれ対応する画像に絞り設定またはその他の画像プロパティが対応し得る。次に、対になる目標画像と予測画像との差分を求めて、ＡＮＮの更新に使用することができる。
【００４７】
さらに、図４で説明した実施の形態は、例示的な実施の形態であって、限定ではない。たとえば、ＡＮＮを訓練するために使用される複数の画像は、異なるシーンに対応する複数の画像セットを含み得る。このような画像セットの各々は、１つ以上の全焦点画像、被写界深度の浅い画像、または本明細書に記載のＡＮＮ訓練方法の１つ以上の要素を実行するために使用できる共通シーンのその他の画像を含み得る。このような例では、各画像セットは、ＡＮＮを更新するために使用できる１つの（またはそれ以上の）差分画像、またはＡＮＮを更新するために（たとえば、その他の画像セットから判断されたこのような情報と組み合わせて）使用できるその他の誤差情報を提供できる。
【００４８】
いくつかの例では、ＡＮＮを訓練するために使用されるシーンの画像セットは、焦点距離が異なる複数」の被写界深度の浅い画像を含むことができる。上述したように、このような画像は、異なる設定（たとえば、異なる焦点距離設定）に従って１つ以上のカメラを操作することによって、１つのライトフィールド画像から生成することによって、またはその他の方法によって取得できる。ＡＮＮを画像のうちの１つ以上に適用して深度マップを生成することができる。生成された深度マップを使用して、当該シーンの画像セットに基づいて当該シーンの被写界深度の大きい画像（たとえば、全焦点画像）を予測することができる。次に、深度マップを用いて、被写界深度が大きい予測画像を１回以上変形させ、シーンの画像セットのそれぞれの画像に対応するシミュレーションされた焦点距離、絞り設定、またはその他の画像プロパティを有する１つ以上の被写界深度の浅い予測画像を作成することができる。第２画像の被写界深度。次に、被写界深度の浅い予測画像と訓練セットに含まれる対応する画像との差分を利用してＡＮＮを更新することができる。シーンの画像セットを使用しておよび／またはそれぞれの追加シーンの追加の画像セットを使用してこのような処理を複数回行なってＡＮＮを訓練することができる。次に、訓練済みのＡＮＮを利用して追加画像（たとえば、携帯電話を使って撮影された画像）の深度マップを決定することができる。
【００４９】
図５は、このようなＡＮＮ訓練方法の要素を説明するフローチャートの例を示す図である。複数の画像（「ＴＲＡＩＮＩＮＧ  ＩＭＡＧＥ  ＳＥＴ」）は、共通シーンを描いた第１画像「ＦＩＲＳＴ  ＩＭＡＧＥ」）と第２画像（「ＳＥＣＯＮＤ  ＩＭＡＧＥ」）とを含む（たとえば、第１画像および第２画像は、同じ視点からの公園の特定の場所を描いている）。第１画像は、浅い被写界深度と第１焦点距離とを有し、第１焦点距離またはその近くにあるシーンの要素が焦点が合わせられた状態で第１画像に描かれている。また、第２画像は、浅い被写界深度と、第１焦点距離とは異なる第２焦点距離とを有し、第２焦点距離またはその近くにあるシーンの要素が焦点が合わせられた状態で第２画像に描かれている。
【００５０】
ＡＮＮ（「ＡＲＴＩＦＩＣＩＡＬ  ＮＥＵＲＡＬ  ＮＥＴＷＯＲＫ」）を使用して、第１画像および第２画像に描かれたシーンの深度マップ（「ＤＥＰＴＨ  ＭＡＰ」）を、第１画像および第２画像のうちの１つ以上に基づいて決定する。（たとえば、上述したような）様々な方法で、入力画像に基づいて深度マップを提供するようにＡＮＮを構成することができる。たとえば、ＡＮＮは、畳み込みニューラルネットワークであり得る。次に、レンダリング関数（「ＲＥＮＤＥＲＩＮＧ  ＦＵＮＣＴＩＯＮ」たとえば、絞りレンダリング関数）を用いて、シーンの被写界深度の大きい画像（「ＰＲＥＤＩＣＴＥＤ  ＬＡＲＧＥ  ＤＥＰＴＨ−ＯＦ−ＦＩＥＬＤ  ＩＭＡＧＥ」）を深度マップならびに第１画像および第２画像のうちの１つ以上画像に基づいて予測する。いくつかの例では、レンダリング関数は、本明細書において説明した絞りレンダリング関数であり得、または当該絞りレンダリング関数を含み得る。追加的または代替的に、レンダリング関数は、プレノプティックイメージングからの画像再現技術またはその他の方法を用いて複数の被写界深度の浅い画像から全焦点画像を生成することができる。
【００５１】
次に、絞りレンダリング関数（「ＡＰＥＲＴＵＲＥ  ＲＥＮＤＥＲＩＮＧ  ＦＵＮＣＴＩＯＮ」）を用いて、被写界深度が大きい予測画像を深度マップに基づいて変形させて、第２焦点距離（すなわち、第２画像の焦点距離）に対応する焦点距離を有するように被写界深度の浅い画像（「ＰＲＥＤＩＣＴＥＤ  ＳＨＡＬＬＯＷ  ＤＥＰＴＨ−ＯＦ−ＦＩＥＬＤ  ＩＭＡＧＥ」）を生成する。よって、ＡＮＮによって出力された深度マップが第１画像および第２画像に描かれたオブジェクトの深度を精密に表している場合、被写界深度の浅い予測画像は、第２画像に相当するはずである。
【００５２】
被写界深度の浅い予測画像と第２画像との差分（「ＥＲＲＯＲ  ＳＩＧＮＡＬ」）を求めて、ＡＮＮを更新するために使用することができる。求められたこのような差分は、たとえば、被写界深度の浅い予測画像と第２画像との間で対応する画素の値を減算することによって求められる差分画像を含み得る。ＡＮＮを更新することは、求められた予測画像と目標画像との差分に損失関数を適用すること、誤差逆伝搬法を実行すること、当該差分のＡＮＮの係数についての勾配を求めること、またはその他の方法に従って、求められた差分に基づいてＡＮＮを更新することを含み得る。いくつかの例では、ＡＮＮは、オートエンコーダＡＮＮであり得、深度マップがオートエンコーダＡＮＮの内部「符号化」層を表す。このような例では、オートエンコーダＡＮＮの訓練（たとえば、教師なし訓練技術）に適したＡＮＮ訓練技術を応用してＡＮＮを更新することができる。
【００５３】
上述した（たとえば、図５で）ＡＮＮを更新するための処理を複数回行ってＡＮＮを訓練することができる。たとえば、これらの処理は、ＡＮＮが収束するまで（たとえば、繰り返しごとのＡＮＮ係数の変化の度合いが指定された絶対レベルまたは相対レベルよりも低くなるまで）、繰り返しごとに求められた誤差信号の大きさの測定値（たとえば、誤差の平方和、修正された誤差の和）が指定された絶対レベルまたは相対レベルよりも低くなるまで、指定された繰り返し回数またはその他の条件に従って繰り返し実行され得る。
【００５４】
さらに、特定のシーンの３つ以上の画像を使用して情報を生成し、ＡＮＮを訓練することができる。たとえば、特定のシーンの（たとえば、図５のような）訓練画像のセットは、焦点距離が異なる（または、その他の画像プロパティ、たとえば、絞り設定が異なる）追加の被写界深度の浅い画像を含み得る。ここのような例では、絞りレンダリング関数を予測深度マップに基づいて使用して、被写界深度が大きい予測画像を複数回変形して複数の被写界深度の浅い予測画像を生成することができる。被写界深度の浅い予測画像の各々は、訓練セットの複数の浅い被写界深度の画像のうちのそれぞれ対応する画像に焦点距離またはその他の画像プロパティが対応し得る。次に、対になる被写界深度の浅い入力画像と被写界深度の浅い予測画像との差分を求めて、ＡＮＮの更新に使用することができる。
【００５５】
さらに、図５で説明した実施の形態は、例示的な実施の形態であって、限定ではない。たとえば、ＡＮＮを訓練するために使用される複数の画像は、異なるシーンに対応する複数の画像セットを含み得る。このような画像セットの各々は、１つ以上の全焦点画像、被写界深度の浅い画像、または本明細書に記載のＡＮＮ訓練方法の１つ以上の要素を実行するために使用できる共通シーンのその他の画像を含み得る。このような例では、各画像セットは、ＡＮＮを更新するために使用できる１つの（またはそれ以上の）差分画像、またはＡＮＮを更新するために（たとえば、その他の画像セットから判断されたこのような情報と組み合わせて）使用できるその他の誤差情報を提供できる。
【００５６】
ＡＮＮは、サーバ、クラウドコンピューティングサービス、またはその他のコンピューティングシステムによって、本明細書に記載の技術に従って訓練することができる。次に、ＡＮＮを訓練するために用いられるシステムは、訓練済みのＡＮＮを適用して、さらなる画像の深度マップを求めることができる。たとえば、システムは、（たとえば、携帯電話、デジタルカメラ、またはその他の画像キャプチャシステムから）追加画像を受信し、これらの画像に訓練済みのＡＮＮを適用してこれらの画像の深度マップを生成することができる。次に、システムは、たとえば、求められた深度マップを、追加画像（複数可）を提供したデバイスまたはシステムに送信することができる。
【００５７】
追加的または代替的に、サーバまたはその他のシステムは、ＡＮＮを本明細書に記載したように訓練してから、ＡＮＮが訓練済みであること（たとえば、訓練済みのＡＮＮの係数、内部構造、またはその他の具体的な点を示すもの）をその他のシステムに送信できる。次に、当該その他のシステムが訓練済みのＡＮＮを追加画像に適用することができる。たとえば、サーバは、本明細書に記載のようにＡＮＮを訓練して、ＡＮＮが訓練済みであることを（たとえば、インターネットおよび／またはセルラデータネットワークを介して）携帯電話に送信することができる。次に、携帯電話を操作して訓練済みのＡＮＮを画像（たとえば、携帯電話のカメラを介して撮影された画像）に適用し、このような画像の深度マップを生成することができる。ＡＮＮが訓練済みであることを送信することは、既に動作中のシステム（たとえば、携帯電話、デジタルカメラ、またはインターネットと通信中のその他のデバイス）に有線または無線コンポーネントを介して情報を送信することを含み得る。追加的または代替的に、ＡＮＮが訓練済みであることをシステムに送信することは、システムのアセンブリおよび／またはプログラミング中に生じ得る。たとえば、ＡＮＮが訓練済みであることを送信することは、訓練済みのＡＮＮを用いてコントローラまたはメモリ（たとえば、フラッシュメモリまたはその他の非一時的なコンピュータ読み取り可能な媒体）をプログラミングした後、コントローラまたはメモリをデバイスまたはその他のシステムに組み込むことを含み得る。
【００５８】
なお、ＡＮＮを本明細書に記載のように訓練するために使用する画像は、後でさらなる対象画像（たとえば、携帯電話によって撮影された画像）に適用するためにＡＮＮを訓練するのに利用される「訓練データ」または「訓練画像」として特徴付けられてもよいが、これらの特徴付けは、本明細書に記載の方法の非限定例である。ＡＮＮは、対象シーンの２枚以上の画像を使用して訓練してから、画像のうちの１つに基づいてシーンの深度マップを生成するために使用してもよい。たとえば、携帯電話またはその他の画像キャプチャシステムは、（たとえば、携帯電話のカメラを使用して）それぞれ異なる絞り設定、焦点距離、またはその他の画像プロパティを有するシーンの複数の画像を撮影するように動作する。次に、携帯電話のプロセッサ、または携帯電話と通信しているプロセッサが、複数の画像を使用してＡＮＮを訓練できる。次に、訓練済みのＡＮＮを使用して、撮影画像のうちの１つ以上に基づいてシーンの深度マップを生成できる。
【００５９】
ＩＶ．例示的なシステム
演算機能（たとえば、ＡＮＮを利用して深度マップを１つ以上の画像に基づいて生成するおよび／または本明細書に記載したようなＡＮＮを複数の画像に基づいて訓練するための機能）を１つ以上のコンピューティングシステムによって実行してもよい。このようなコンピューティングシステムは、携帯電話、タブレットコンピュータ、ラップトップコンピュータ、サーバ、クラウドコンピューティングネットワーク、および／またはプログラマブルロジックコントローラなど、コンピューティングデバイスに組み込まれてもよく、または当該コンピューティングデバイスの形をとってもよい。この例では、図６は、カメラコンポーネント６２４を備え得る例示的なコンピューティングデバイス６００の構成要素のうちのいくつかを示す簡略ブロック図である。カメラコンポーネント６２４は、可視光カメラ、赤外線カメラ、ライトフィールドカメラ、プレノプティックカメラ、またはその他の種類のカメラなど、１つ以上のカメラを含んでもよい。
【００６０】
一例として、コンピューティングデバイス６００は、携帯電話（たとえば、スマートフォン）、スチールカメラ、ビデオカメラ、ＦＡＸ端末、コンピュータ（デスクトップ、ノートブック、タブレット端末、またはハンドヘルドコンピュータなど）、ＰＤＡ（Ｐｅｒｓｏｎａｌ  Ｄｉｇｉｔａｌ  Ａｓｓｉｓｔａｎｔ）、ホームオートメーションコンポーネント、ＤＶＲ（Ｄｉｇｉｔａｌ  Ｖｉｄｅｏ  Ｒｅｃｏｒｄｅｒ）、デジタルテレビ、リモコン、ウェアラブルコンピューティングデバイス、ロボット、ドローン、自動運転車、またはなんらかの画像キャプチャ機能および／または画像処理機能を備えたその他の種類のデバイスであってもよいが、これらに限定されない。コンピューティングデバイス６００は、デジタルカメラなどの物理的なカメラ装置、カメラアプリケーションがソフトウェアで動作する特定の物理ハードウェアプラットフォーム、または画像キャプチャおよび／または画像処理機能を実行するように構成されたハードウェアとソフトウェアとのその他の組合せを表してもよいことを理解されたい。
【００６１】
図６に示すように、コンピューティングデバイス６００は、通信インターフェース６０２と、ユーザインターフェース６０４と、プロセッサ６０６と、データストレージ６０８と、カメラコンポーネント６２４とを備えてもよく、それらのすべては、システムバス、ネットワーク、またはその他の接続メカニズム６１０によって互いに通信可能にリンクされてもよい。
【００６２】
通信インターフェース６０２は、電気信号、磁気信号、電磁信号、光信号、またはその他の信号のアナログまたはデジタル変調を利用してコンピューティングデバイス６００がその他のデバイス、アクセス網、および／または転送ネットワークと通信を行うことができるように機能してもよい。よって、通信インターフェース６０２は、ＰＯＴ（Ｐｌａｉｎ  Ｏｌｄ  Ｔｅｌｅｐｈｏｎｅ  Ｓｅｒｖｉｃｅ）通信および／またはＩＰ（Ｉｎｔｅｒｎｅｔ  Ｐｒｏｔｏｃｏｌ）もしくはその他のパケット通信など、回線交換および／またはパケット交換通信を容易にすることができる。たとえば、通信インターフェース６０２は、無線アクセスネットワークまたはアクセスポイントとのワイヤレス通信のために配置されたチップセットおよびアンテナを含んでもよい。また、通信インターフェース６０２は、Ｅｔｈｅｒｎｅｔ（登録商標）、ＵＳＢ（Ｕｎｉｖｅｒｓａｌ  Ｓｅｒｉａｌ  Ｂｕｓ）、またはＨＤＭＩ（登録商標）（Ｈｉｇｈ−Ｄｅｆｉｎｉｔｉｏｎ  Ｍｕｌｔｉｍｅｄｉａ  Ｉｎｔｅｒｆａｃｅ）ポートなど、有線インターフェースの形をとってもよく、当該有線インターフェースを含んでもよい。また、通信インターフェース６０２は、Ｗｉｆｉ、ＢＬＵＥＴＯＯＴＨ（登録商標）、ＧＰＳ（Ｇｌｏｂａｌ  Ｐｏｉｔｉｏｎｉｎｇ  Ｓｙｓｔｅｍ）、またはワイドエリアワイヤレスインターフェース（たとえば、ＷｉＭＡＸまたは３ＧＰＰ  ＬＴＥ（Ｌｏｎｇ−Ｔｅｒｍ  Ｅｖｏｌｕｔｉｏｎ））などのワイヤレスインターフェースの形をとってもよく、当該ワイヤレスインターフェースを含んでもよい。しかしながら、通信インターフェース６０２とは異なるその他の形態の物理層インターフェースおよびその他の種類の規格またはプロプライエタリ通信プロトコルを使用してもよい。さらには、通信インターフェース６０２は、複数の物理通信インターフェースを含んでもよい（たとえば、Ｗｉｆｉインターフェース、ＢＬＵＥＴＯＯＴＨ（登録商標）インターフェース、およびワイドエリアワイヤレスインターフェース）。
【００６３】
いくつかの実施の形態では、通信インターフェース６０２は、コンピューティングデバイス６００がその他デバイス、リモートサーバ、アクセス網、および／または転送ネットワークと通信を行うことができるように機能してもよい。たとえば、コンピューティングデバイス６００が訓練済みのＡＮＮを利用して深度マップを撮影画像に基づいて生成できるようにするために、通信インターフェース６０２は、リモートサーバまたはその他のリモートデバイスまたはシステムとの通信を介して訓練済みのＡＮＮにアクセスするように機能してもよい。たとえば、コンピューティングシステム６００は、携帯電話、デジタルカメラ、またはその他の画像撮影装置であり得、遠隔システムは、このような訓練済みのＡＮＮを含んだメモリを含んだサーバであり得る。追加的または代替的に、遠隔システムは、カメラまたはその他の撮像装置を備え、被写界深度の大きい画像、全焦点画像、被写界深度の浅い画像、ライトフィールド画像、またはコンピューティングデバイス６００が上述したようにアクセスでき、かつ、コンピューティングデバイス６００が使用してＡＮＮを本明細書に記載したように訓練することができるその他の画像情報を生成するように構成され得る。
【００６４】
ユーザインターフェース６０４は、たとえば、ユーザから入力を受けるおよび／またはユーザに出力を行うなど、コンピューティングデバイス６００がユーザとやり取りできるように機能してもよい。よって、ユーザインターフェース６０４は、キーパッド、キーボード、タッチパネルまたは存在感知パネル、コンピュータマウス、トラックボール、ジョイスティック、マイクロフォンなどの入力コンポーネントを含んでもよい。また、ユーザインターフェース６０４は、ディスプレイ画面など、１つ以上の出力コンポーネントを含んでもよい。ディスプレイ画面は、たとえば、存在感知パネルと組み合わされてもよい。ディスプレイ画面は、ＣＲＴ、ＬＣＤ、および／またはＬＥＤ技術、もしくは現在知られているまたは今後開発されるその他の技術に基づいていてもよい。また、ユーザインターフェース６０４は、スピーカー、スピーカージャック、オーディオ出力ポート、音声出力装置、イヤホン、および／またはその他同様のデバイスを介して聞き取り可能な出力（複数可）を生成するように構成されてもよい。
【００６５】
いくつかの実施の形態では、ユーザインターフェース６０４は、コンピューティングデバイス６００がサポートするスチールカメラ機能および／またはビデオカメラ機能の（たとえば、カメラコンポーネント６２４を用いて撮影された画像の機能の）ファインダーとして機能するディスプレイを含んでもよい。さらに、ユーザインターフェース６０４は、カメラコンポーネント６２４の設定およびピント合わせならびにカメラコンポーネント６２４を用いた画像の撮影を容易にする１つ以上のボタン、スイッチ、ノブ、および／またはダイヤルを含んでもよい。これらのボタン、スイッチ、ノブ、および／またはダイヤルの一部またはすべてを、タッチパネルまたは存在感知パネル上の機能として実装することも可能である。ユーザインターフェース６０４は、ユーザが本明細書に記載の機能または処理を開始して、たとえば、訓練済みのＡＮＮを用いて撮影画像の深度マップを生成すること、（たとえば、「ポートレートモード」のカメラアプリケーションの一部として被写界深度の浅い画像をシミュレーションするために）決定された深度マップに基づいて撮影画像を処理することを可能にするように構成されてもよい。
【００６６】
プロセッサ６０６は、１つ以上の汎用プロセッサ（たとえばマイクロプロセッサ）および／または１つ以上の特定用途向けのプロセッサ（たとえば、ＤＰＳ（Ｄｉｇｉｔａｌ  Ｓｉｇｎａｌ  Ｐｒｏｃｅｓｓｏｒ）、ＧＰＵ（Ｇｒａｐｈｉｃｓ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）、ＦＰＵ（Ｆｌｏａｔｉｎｇ  Ｐｏｉｎｔ  Ｕｎｉｔ）、ネットワークプロセッサ、またはＡＳＩＣ（Ａｐｐｌｉｃａｔｉｏｎ−Ｓｐｅｃｉｆｉｃ  Ｉｎｔｅｇｒａｔｅｄ  Ｃｉｒｃｕｉｔ）を含んでもよい。ある例では、特定用途向けのプロセッサは、アプリケーションまたは機能の中でも、画像処理、画像位置合わせ、および画像合成を行うことが可能であってもよい。データストレージ６０８は、磁気記憶装置、光記憶装置、フラッシュストレージ、または有機記憶装置など、１つ以上の揮発性記憶装置コンポーネントおよび／または不揮発性記憶装置コンポーネントを含んでもよく、すべてまたは一部は、プロセッサ６０６と一体化してもよい。データストレージ６０８は、取り外し可能なおよび／または固定の構成要素を含んでもよい。
【００６７】
プロセッサ６０６は、データストレージ６０８に格納されたプログラム命令６１８（たとえば、コンパイル済みもしくは非コンパイルプログラムロジックおよび／または機械コード）を実行して本明細書に記載の様々な関数を実行可能であってもよい。そのため、データストレージ６０８は、プログラム命令を格納した非一時的なコンピュータ読み取り可能な媒体を含んでもよく、当該プログラム命令は、コンピューティングデバイス６００によって実行されると、コンピューティングデバイス６００に、本明細書および／または添付の図面に開示の方法、処理、または機能のいずれかを実行させる。プロセッサ６０６によるプログラム命令６１８の実行により、プロセッサ６０６がデータ６１２を利用できるようになり得る。
【００６８】
一例として、プログラム命令６１８は、オペレーティングシステム６２２（たとえば、オペレーティングシステムカーネル、デバイスドライバ（複数可）、および／またはその他のモジュール）と、コンピューティングデバイス６００上にインストールされた１つ以上のアプリケーションプログラム６２０（たとえば、カメラ機能、ＡＮＮの訓練、画像ベースの深度マップの生成）とを含んでもよい。データ６１２は、訓練画像６１４および／または１つ以上の訓練済みのＡＮＮ６１６を含んでもよい。訓練画像６１４を用いて、本明細書に記載のＡＮＮを訓練する（たとえば、訓練済みのＡＮＮ６１６を生成および／または更新）してもよい。訓練済みのＡＮＮ６１６を適用して、入力画像（たとえば、カメラコンポーネント６２４を使用して撮影された画像および／または通信インターフェース６０２を介してアクセスされた画像）に基づいて深度マップを生成してもよい。
【００６９】
アプリケーションプログラム６２０は、１つ以上のＡＰＩ（Ａｐｐｌｉｃａｔｉｏｎ  Ｐｒｏｇｒａｍｍｉｎｇ  Ｉｎｔｅｒｆａｃｅ）を通してオペレーティングシステム６２２と通信してもよい。これらのＡＰＩによって、たとえば、アプリケーションプログラム６２０が訓練済みのＡＮＮ６１６を読み書きすること、通信インターフェース６０２を介して情報を送受信すること、ユーザインターフェース６０４上で情報を受け付けるおよび／またはディスプレイすること、カメラコンポーネント６２４を使用して画像を撮影することなどが容易になる。
【００７０】
アプリケーションプログラム６２０は、（たとえば、通信インターフェース６０２を介して）１つ以上のオンラインのアプリケーションストアまたはアプリケーションマーケットを通してコンピューティングデバイス６００にダウンロード可能な「アプリ」という形をとってもよい。しかしながら、ウェブブラウザを介して、またはコンピューティングデバイス６００の物理インターフェース（たとえば、ＵＳＢポート）を通してなど、ほかの方法でコンピューティングデバイス６００にアプリケーションプログラムをインストールすることもできる。
【００７１】
カメラコンポーネント６２４は、絞り、シャッター、記録面（たとえば、写真フィルムおよび／またはイメージセンサ）、レンズ、および／またはシャッターを含んでもよいが、これに限定されない。カメラコンポーネント６２４は、プロセッサ６０６によって実行されるソフトウェアにより（たとえば、アプリケーションプログラム６２０により）、少なくとも一部が制御されてもよい。さらには、カメラコンポーネント６２４は、複数のカメラシステムを含んでもよく、各カメラシステムは、それぞれの絞り、シャッター、記録面、レンズ、イメージセンサ、プロセッサ、および／またはその他の要素を含む。
【００７２】
複数のカメラシステムが含まれる場合、いくつかの構成要素はシステム同士で共有され、その他の構成要素は共有されなくてもよい。たとえば、各カメラは、それ自体の絞り、レンズ、およびイメージセンサを備える一方で、プロセッサ、データ、バス、および／またはシャッターボタンなどのその他の構成要素を共有できる。別の例として、各カメラは、それ自体のレンズを備えるが、同じイメージセンサを共有できる。代替的に、個々のカメラシステムの構成要素を、その個々のカメラシステムのためにのみ利用し、ほかのカメラシステムと供給しなくてもよい。
【００７３】
Ｖ．方法例
図７は、ＡＮＮを訓練して入力画像の深度マップを決定するための方法７００のフローチャートである。方法７００は、複数の画像を取得するステップ（７１０）を含む。当該複数の画像のうちの少なくとも２つの画像からなるセットには、共通シーンが記述されており、当該少なくとも２つの画像からなるセットは、第１被写界深度を有するソース画像と、第２被写界深度を有する目標画像とを含む。第２被写界深度は、第１被写界深度よりも浅い。方法７００は、人工ニューラルネットワークを利用して、共通シーンの深度マップをソース画像に基づいて決定するステップ（７２０）をさらに含む。方法７００は、決定された共通シーンの深度マップに基づいて、第２被写界深度に対応する被写界深度を有するように、ソース画像に基づく予測画像を決定するステップ（７３０）をさらに含む。方法７００は、予測画像と目標画像との差分を求めるステップ（７４０）と、求められた差分に基づいて人工ニューラルネットワークを更新するステップ（７５０）とをさらに含む。方法７００は、対象シーンの画像を取得するステップ（７６０）と、更新済みの人工ニューラルネットワークを利用して、対象シーンの深度マップを対象シーンの画像に基づいて生成するステップ（７７０）とをさらに含む。
【００７４】
これらの実施の形態は、追加要素または特徴を含むことができる。いくつかの実施の形態では、ソース画像に基づく予測画像を第１の深度マップに基づいて決定するステップは、微分可能絞りレンダリング関数を使用するステップを含むことができる。微分可能絞りレンダリング関数を使用するステップは、ソース画像に基づいて推定ライトフィールドを決定するステップと、第１の深度マップに基づいて推定ライトフィールドをせん断および投影して予測画像を決定するステップとを含むことができる。
【００７５】
いくつかの実施の形態では、人工ニューラルネットワークを利用してソース画像に基づいて共通シーンの深度マップを決定するステップは、人工ニューラルネットワークを利用して、深度値セットをソース画像に基づいて決定するステップを含み、深度値セットに含まれる各深度値は、ソース画像内のそれぞれの位置に対応し、当該決定するステップは、さらに、深度値セットをアップサンプリングして共通シーンの深度マップを生成するステップを含み得る。深度値セットをアップサンプリングして共通シーンの深度マップを生成するステップは、バイラテラル法を用いて深度値セットをソース画像に基づいてアップサンプリングするステップを含み得る。
【００７６】
いくつかの実施の形態では、目標画像は第１の目標画像であり、予測画像は第１の予測画像であり、求められた差分は、第１の求められた差分である。このような実施の形態では、当該少なくとも２つの画像からなるセットは、第２被写界深度とは異なり、かつ、第１被写界深度よりも浅い第３被写界深度を有する第２の目標画像をさらに含む。このような実施の形態は、決定された共通シーンの深度マップに基づいて、第３被写界深度に対応する被写界深度を有するように、ソース画像に基づく第２の予測画像を決定するステップと、第２の予測画像と第２の目標画像との第２差分を求めるステップとをさらに含む。このような実施の形態では、人工ニューラルネットワークを更新するステップは、第２差分に基づいてニューラルネットワークを更新するステップを含む。
【００７７】
いくつかの実施の形態では、共通シーンを記述した当該少なくとも２つの画像からなるセットを取得するステップは、ライトフィールドカメラを使用して共通シーンからライトフィールドを撮影するステップと、撮影されたライトフィールドに基づいて、第１被写界深度を有するようにソース画像を生成するステップと、撮影されたライトフィールドに基づいて、第２被写界深度を有するように目標画像を生成するステップとを含む。
【００７８】
いくつかの実施の形態では、共通シーンを記述した当該少なくとも２つの画像からなるセットを取得するステップは、第１の絞り設定にセットされたカメラを使用してソース画像を撮影するステップと、第２の絞り設定にセットされたカメラを使用して目標画像を撮影するステップとを含み、第２の絞り設定の幅は、第１の絞り設定よりも広い。
【００７９】
いくつかの実施の形態では、対象シーンの画像を取得するステップは、携帯電話を操作して対象シーンの画像を撮影するステップを含む。このような実施の形態は、人工ニューラルネットワークが更新済みであることをサーバから携帯電話に送信するステップをさらに含み得る。このような実施の形態では、更新済みの人工ニューラルネットワークを利用して、対象シーンの深度マップを対象シーンの画像に基づいて生成するステップは、携帯電話のプロセッサが更新済みの人工ニューラルネットワークを利用して対象シーンの深度マップを生成するステップを含む。
【００８０】
上記実施の形態のいくつかは、決定された対象シーンの深度マップに基づいて対象シーンの画像に画像処理を行うステップをさらに含み得る。
【００８１】
上記実施の形態のいくつかでは、人工ニューラルネットワークは、畳み込みニューラルネットワークである。
【００８２】
図８は、ＡＮＮを訓練して入力画像の深度マップを決定するための方法８００のフローチャートである。方法８００は、システムが複数の画像を取得するステップ（８１０）を含む。当該複数の画像のうちの少なくとも２つの画像からなるセットには、共通シーンが記述されており、当該少なくとも２つの画像からなるセットは、第１被写界深度を有するソース画像と、第２被写界深度を有する目標画像とを含む。第２被写界深度は、第１被写界深度よりも浅い。方法８００は、システムが人工ニューラルネットワークを利用して、共通シーンの深度マップをソース画像に基づいて決定するステップ（８２０）をさらに含む。この方法は、システムが決定された共通シーンの深度マップに基づいて、第２被写界深度に対応する被写界深度を有するように、ソース画像に基づく予測画像を決定するステップ（８３０）をさらに含む。方法８００は、システムが予測画像と目標画像との差分を求めるステップ（８４０）と、求められた差分に基づいてシステムが人工ニューラルネットワークを更新するステップ（８５０）とをさらに含む。方法は、人工ニューラルネットワークが更新済みであることをシステムからリモートデバイスに送信するステップ（８６０）をさらに含む。
【００８３】
これらの実施の形態は、追加要素または特徴を含むことができる。いくつかの実施の形態では、ソース画像に基づく予測画像を第１の深度マップに基づいて決定するステップは、微分可能絞りレンダリング関数を使用するステップを含む。微分可能絞りレンダリング関数を使用して予測画像を決定するステップは、ソース画像に基づいて推定ライトフィールドを決定するステップと、推定ライトフィールドを第１の深度マップに基づいてせん断および投影して予測画像を決定するステップとを含み得る。
【００８４】
いくつかの実施の形態では、目標画像は第１の目標画像であり、予測画像は第１の予測画像であり、求められた差分は、第１の求められた差分である。このような実施の形態では、当該少なくとも２つの画像からなるセットは、第２被写界深度とは異なり、かつ、第１被写界深度よりも浅い第３被写界深度を有する第２の目標画像をさらに含む。このような実施の形態は、決定された共通シーンの深度マップに基づいて、第３被写界深度に対応する被写界深度を有するように、ソース画像に基づく第２の予測画像を決定するステップと、第２の予測画像と第２の目標画像との第２差分を求めるステップとをさらに含み得る。このような実施の形態では、人工ニューラルネットワークを更新するステップは、第２差分に基づいてニューラルネットワークを更新するステップを含み得る。
【００８５】
いくつかの実施の形態では、人工ニューラルネットワークは、畳み込みニューラルネットワークである。
【００８６】
図９は、ＡＮＮを訓練して入力画像の深度マップを決定するための方法９００のフローチャートである。方法９００は、シーンの複数の画像を取得するステップ（９１０）を含む。画像は、各々、浅い被写界深度を有し、かつ焦点距離が異なる。方法９００は、人工ニューラルネットワークを利用してシーンの深度マップを複数の画像に基づいて決定するステップ（９２０）と、複数の画像および決定されたシーンの深度マップに基づいて、シーンの被写界深度が大きい予測画像を決定するステップ（９３０）とをさらに含む。方法９００は、決定された共通シーンの深度マップに基づいて、複数の画像のうちの特定の画像に対応する焦点距離を有するように、被写界深度が大きい予測画像に基づく被写界深度の浅い予測画像を決定するステップ（９４０）をさらに含む。方法９００は、被写界深度の浅い予測画像と特定の画像との差分を求めるステップ（９５０）と、求められた差分に基づいて人工ニューラルネットワークを更新するステップ（９６０）と、更新された人工ニューラルネットワークを利用して、更新されたシーンの深度マップを複数の画像に基づいて決定するステップ（９７０）とをさらに含む。
【００８７】
これらの実施の形態は、追加要素または特徴を含むことができる。いくつかの実施の形態では、決定された共通シーンの深度マップに基づいて、複数の画像のうちの特定の画像に対応する焦点距離を有するように、被写界深度が大きい予測画像に基づく被写界深度の浅い予測画像を決定するステップは、微分可能絞りレンダリング関数を使用するステップを含む。
【００８８】
いくつかの実施の形態では、シーンの複数の画像を取得するステップは、カメラを操作してシーンの複数の画像の各画像をそれぞれ異なる焦点距離設定を用いて撮影するステップを含む。
【００８９】
ＶＩ．まとめ
上記詳細な説明では、開示のシステム、デバイス、および方法の様々な特徴および機能について、添付の図面を参照しながら記載している。図では、同様の記号は、別段の説明がない限り、通常、同様の構成要素を識別する。詳細な説明に記載された実施の形態、図面、および特許請求の範囲は、限定ではない。本明細書に記載に提示する発明の主題の範囲を逸脱することなくその他の実施の形態を利用したり、その他の変更を行なったりすることができる。本明細書に一般的に記載し、図に例示した本開示の態様を並び替えたり、置き換えたり、組み合わせたり、別々に分けたり、幅広い様々な異なる構成に設計したりする（これら全ては本明細書において明示的に予想済みである）ことができることは容易に理解されるであろう。
【００９０】
図示したまたは本明細書に記載したメッセージフロー図、シナリオ、およびフローチャートの一部またはすべてについて、各ステップ、ブロックおよび／または通信は、例示的な実施の形態に係る、情報の処理および／または情報の送信を表してもよい。別の実施の形態も、これらの例示的な実施の形態の範囲に含まれる。これらの別の実施の形態では、たとえば、ステップ、ブロック、送信、通信、要求、応答、および／またはメッセージとして記載された機能は、関係する機能に応じて、ほぼ同時または逆の順序を含む、図示または説明した順序とは異なる順序で実行されてもよい。さらには、本明細書に記載した数よりも多いまたは少ないステップ、ブロックおよび／または機能を、本明細書に記載のメッセージフロー図、シナリオ、およびフローチャートのいずれかにを用いてもよく、これらのメッセージフロー図、シナリオ、およびフローチャートの一部またはすべてを互いに組み合わせてもよい。
【００９１】
情報の処理を表すステップまたはブロックは、本明細書に記載の方法または技術の特定の論理関数を実行するように構成され得る回路に相当してもよい。代替的に、またはさらに、情報の処理を表すステップまたはブロックは、モジュール、セグメント、またはプログラムコードの一部（関連データを含む）に相当し得る。プログラムコードは、特定の論理関数または動作を当該方法または技術において実装するためにプロセッサによって実行可能な１つ以上の命令を含んでもよい。プログラムコードおよび／または関連データは、ディスクドライブ、ハードドライブ、またはその他の記憶媒体を含む、記憶装置などの任意の種類のコンピュータ読み取り可能な媒体に記憶されてもよい。
【００９２】
また、コンピュータ読み取り可能な媒体は、レジスタメモリ、プロセッサキャッシュ、および／またはＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）のような、データを短期間記憶するコンピュータ読み取り可能な媒体など、非一時的なコンピュータ読み取り可能な媒体を含んでもよい。また、コンピュータ読み取り可能な媒体は、たとえば、ＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）、光ディスクもしくは磁気ディスク、および／またはＣＤ−ＲＯＭ（Ｃｏｍｐａｃｔ−Ｄｉｓｃ  Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）のような、二次記憶装置または永続長期記憶装置など、プログラムコードおよび／またはデータを長期間記憶する非一時的なコンピュータ読み取り可能な媒体を含んでもよい。また、コンピュータ読み取り可能な媒体は、その他の揮発性または不揮発性記憶システムであってもよい。コンピュータ読み取り可能な媒体は、たとえば、コンピュータ読み取り可能な記憶媒体、または有形の記憶装置と考えられてもよい。
【００９３】
また、１つ以上の情報送信を表すステップまたはブロックは、同じ物理デバイスにあるソフトウェアおよび／またはハードウェアモジュール間の情報送信に対応してもよい。しかしながら、その他の情報送信は、それぞれ異なる物理デバイスにあるソフトウェアモジュールおよび／またはハードウェアモジュール間であってもよい。
【００９４】
様々な態様および実施の形態を本明細書に開示したが、その他の態様および実施の形態も当業者に明らかになるであろう。本明細書に開示の様々な態様および実施の形態は、例示であり、限定ではなく、実際の範囲は、添付の特許請求の範囲に示されている。
【００９５】
例示的な実施の形態は、全体を通して、ＡＮＮを利用して深度マップを入力画像に基づいて生成しているが、別のアルゴリズムを適用して深度マップが画像に基づいて生成され得ることも予想される。たとえば、カーネル法、ベイズ推論アルゴリズム、強化学習アルゴリズム、セルオートマン、決定木、ブースト決定木、またはその他の別のアルゴリズムおよび／またはそれらの組合せを本明細書に記載の方法に従って適用して、深度マップを入力画像に基づいて生成することができる。それに応じて、たとえば、誤差情報（たとえば、被写界深度の浅い予測画像と撮影またはその他の方法で取得した「グラウンドトゥルース」被写界深度の浅い画像との差分画像）を提供することによって、ＡＮＮを訓練するための本明細書に記載の方法をこのような別のアルゴリズムに適用してアルゴリズムを訓練することができる。誤差情報は、このような別のアルゴリズムに適用してアルゴリズムを更新できる（たとえば、誤差逆伝搬法、強化学習、または当該選択された別のアルゴリズムに適したその他の技術を用いる）。
【図１】
2021501946.tif 000003
【図２Ａ】
2021501946.tif 000004
【図２Ｂ】
2021501946.tif 000005
【図２Ｃ】
2021501946.tif 000006
【図３】
2021501946.tif 000007
【図４】
2021501946.tif 000008
【図５】
2021501946.tif 000009
【図６】
2021501946.tif 000010
【図７】
2021501946.tif 000011
【図８】
2021501946.tif 000012
【図９】
2021501946.tif 000013
【手続補正書】
【提出日】令和2年8月4日(2020.8.4)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
方法であって、
複数の画像を取得するステップを含み、前記複数の画像のうち少なくとも２つの画像からなるセットには共通シーンが記述されており、前記少なくとも２つの画像からなるセットは、第１被写界深度を有するソース画像と、第２被写界深度を有する目標画像とを含み、前記第２被写界深度は、前記第１被写界深度よりも浅く、前記方法は、さらに、
人工ニューラルネットワークを利用して前記共通シーンの深度マップを前記ソース画像に基づいて決定するステップと、
決定された前記共通シーンの深度マップに基づいて、前記第２被写界深度に対応する被写界深度を有するように、前記ソース画像に基づく予測画像を決定するステップと、
前記予測画像と前記目標画像との差分を求めるステップと、
求められた前記差分に基づいて前記人工ニューラルネットワークを更新するステップと、
対象シーンの画像を取得するステップと、
前記更新された人工ニューラルネットワークを利用して前記対象シーンの深度マップを前記対象シーンの画像に基づいて生成するステップとを含む、方法。
【請求項２】
前記第１の深度マップに基づいて前記ソース画像に基づく予測画像を決定するステップは、微分可能絞りレンダリング関数を使用するステップを含む、請求項１に記載の方法。
【請求項３】
前記微分可能絞りレンダリング関数を使用して前記予測画像を決定するステップは、
前記ソース画像に基づいて推定ライトフィールドを決定するステップと、
前記第１の深度マップに基づいて前記推定ライトフィールドをせん断および投影して前記予測画像を決定するステップとを含む、請求項２に記載の方法。
【請求項４】
前記人工ニューラルネットワークを利用して前記共通シーンの深度マップを前記ソース画像に基づいて決定するステップは、
前記人工ニューラルネットワークを利用して深度値セットを前記ソース画像に基づいて決定するステップを含み、前記深度値セットに含まれる各深度値は、前記ソース画像内のそれぞれの位置に対応し、
前記人工ニューラルネットワークを利用して前記共通シーンの深度マップを前記ソース画像に基づいて決定するステップは、
前記深度値セットをアップサンプリングして前記共通シーンの深度マップを生成するステップをさらに含む、請求項１〜３のいずれか１項に記載の方法。
【請求項５】
前記深度値セットをアップサンプリングして前記共通シーンの深度マップを生成するステップは、バイラテラル法を用いて前記深度値セットを前記ソース画像に基づいてアップサンプリングするステップを含む、請求項４に記載の方法。
【請求項６】
前記目標画像は第１の目標画像であり、前記予測画像は第１の予測画像であり、求められた前記差分は、第１の求められた差分であり、前記少なくとも２つの画像からなるセットは、第３被写界深度を有する第２の目標画像をさらに含み、前記第３被写界深度は前記第２被写界深度とは異なり、かつ前記第１被写界深度よりも浅く、前記方法は、
決定された前記共通シーンの深度マップに基づいて、前記第３被写界深度に対応する被写界深度を有するように、前記ソース画像に基づく第２の予測画像を決定するステップと、
前記第２の予測画像と前記第２の目標画像との第２差分を求めるステップとをさらに含み、
前記人工ニューラルネットワークを更新するステップは、前記ニューラルネットワークを前記第２差分に基づいて更新するステップを含む、請求項１〜５のいずれか１項に記載の方法。
【請求項７】
前記共通シーンが記述された前記少なくとも２つの画像からなるセットを取得するステップは、
ライトフィールドカメラを使用して前記共通シーンからのライトフィールドを撮影するステップと、
前記第１被写界深度を有するように、前記撮影されたライトフィールドに基づいて前記ソース画像を生成するステップと、
前記第２被写界深度を有するように、前記撮影されたライトフィールドに基づいて前記目標画像を生成するステップとを含む、請求項１〜６のいずれか１項に記載の方法。
【請求項８】
前記共通シーンが記述された前記少なくとも２つの画像からなるセットを取得するステップは、
第１の絞り設定にセットされたカメラを使用して前記ソース画像を撮影するステップと、
第２の絞り設定にセットされた前記カメラを使用して前記目標画像を撮影するステップとを含み、前記第２の絞り設定の幅は、前記第１の絞り設定よりも広い、請求項１〜７のいずれか１項に記載の方法。
【請求項９】
前記対象シーンの画像を取得するステップは、携帯電話を操作して前記対象シーンの画像を撮影するステップを含み、前記方法は、
前記人工ニューラルネットワークが更新されたことを前記携帯電話にサーバから送信するステップをさらに含み、前記更新された人工ニューラルネットワークを利用して前記対象シーンの深度マップを前記対象シーンの画像に基づいて生成するステップは、前記携帯電話のプロセッサが前記更新された人工ニューラルネットワークを利用して前記対象シーンの深度マップを生成するステップを含む、請求項１〜８のいずれか１項に記載の方法。
【請求項１０】
決定された前記対象シーンの深度マップに基づいて、前記対象シーンの画像に画像処理を行うステップをさらに含む、請求項１〜９のいずれか１項に記載の方法。
【請求項１１】
前記人工ニューラルネットワークは、畳み込みニューラルネットワークである、請求項１〜１０のいずれか１項に記載の方法。
【請求項１２】
方法であって、
システムが、複数の画像を取得するステップを含み、前記複数の画像のうち少なくとも２つの画像からなるセットには共通シーンが記述されており、前記少なくとも２つの画像からなるセットは、第１被写界深度を有するソース画像と、第２被写界深度を有する目標画像とを含み、前記第２被写界深度は、前記第１被写界深度よりも浅く、前記方法は、さらに、
前記システムが、人工ニューラルネットワークを利用して前記共通シーンの深度マップを前記ソース画像に基づいて決定するステップと、
前記システムが、決定された前記共通シーンの深度マップに基づいて、前記第２被写界深度に対応する被写界深度を有するように、前記ソース画像に基づく予測画像を決定するステップと、
前記システムが、前記予測画像と前記目標画像との差分を求めるステップと、
前記システムが、求められた前記差分に基づいて前記人工ニューラルネットワークを更新するステップと、
前記人工ニューラルネットワークが更新されたことを前記システムからリモートデバイスに送信するステップとを含む、方法。
【請求項１３】
前記第１の深度マップに基づいて前記ソース画像に基づく予測画像を決定するステップは、微分可能絞りレンダリング関数を使用するステップを含む、請求項１２に記載の方法。
【請求項１４】
前記微分可能絞りレンダリング関数を使用して前記予測画像を決定するステップは、
前記ソース画像に基づいて推定ライトフィールドを決定するステップと、
前記第１の深度マップに基づいて前記推定ライトフィールドをせん断および投影して前記予測画像を決定するステップとを含む、請求項１３に記載の方法。
【請求項１５】
前記目標画像は第１の目標画像であり、前記予測画像は第１の予測画像であり、求められた前記差分は、第１の求められた差分であり、前記少なくとも２つの画像からなるセットは、第３被写界深度を有する第２の目標画像をさらに含み、前記第３被写界深度は前記第２被写界深度とは異なり、かつ前記第１被写界深度よりも浅く、前記方法は、
決定された前記共通シーンの深度マップに基づいて、前記第３被写界深度に対応する被写界深度を有するように、前記ソース画像に基づく第２の予測画像を決定するステップと、
前記第２の予測画像と前記第２の目標画像との第２差分を求めるステップとをさらに含み、
前記人工ニューラルネットワークを更新するステップは、前記ニューラルネットワークを前記第２差分に基づいて更新するステップを含む、請求項１２〜１４のいずれか１項に記載の方法。
【請求項１６】
前記人工ニューラルネットワークは、畳み込みニューラルネットワークである、請求項１２〜１５のいずれか１項に記載の方法。
【請求項１７】
方法であって、
シーンの複数の画像を取得するステップを含み、前記画像は、各々、被写界深度が浅く、かつ焦点距離が異なり、前記方法は、さらに、
人工ニューラルネットワークを利用して前記シーンの深度マップを前記複数の画像に基づいて決定するステップと、
前記複数の画像および決定された前記シーンの深度マップに基づいて、前記シーンの被写界深度が大きい予測画像を決定するステップと、
決定された前記共通シーンの深度マップに基づいて、前記複数の画像のうちの特定の画像に対応する焦点距離を有するように、前記被写界深度が大きい予測画像に基づく被写界深度の浅い予測画像を決定するステップと、
前記被写界深度の浅い予測画像と前記特定の画像との差分を求めるステップと、
求められた前記差分に基づいて前記人工ニューラルネットワークを更新するステップと、
前記更新された人工ニューラルネットワークを利用して、更新された前記シーンの深度マップを前記複数の画像に基づいて決定するステップとを含む、方法。
【請求項１８】
前記人工ニューラルネットワークは、オートエンコーダ畳み込みニューラルネットワークである、請求項１７に記載の方法。
【請求項１９】
決定された前記共通シーンの深度マップに基づいて、前記複数の画像のうちの前記特定の画像に対応する焦点距離を有するように、前記被写界深度が大きい予測画像に基づく被写界深度の浅い予測画像を決定するステップは、微分可能絞りレンダリング関数を使用するステップを含む、請求項１７〜１８のいずれか１項に記載の方法。
【請求項２０】
前記シーンの複数の画像を取得するステップは、カメラを操作して前記シーンの複数の画像の各画像をそれぞれ異なる焦点距離設定を用いて撮影するステップを含む、請求項１７〜１９のいずれか１項に記載の方法。
【請求項２１】
プログラム命令を格納した非一時的なコンピュータ読み取り可能な媒体を備える製品であって、前記プログラム命令は、コンピューティングデバイスによって実行されると、前記コンピューティングデバイスに、請求項１〜２０のいずれか１項に記載の方法を実行させる、製品。
【請求項２２】
コントローラと、
プログラム命令を格納した非一時的なコンピュータ読み取り可能な媒体とを備え、前記プログラム命令は、前記コントローラによって実行されると、前記コントローラに、請求項１〜２０のいずれか１項に記載の方法を実行させる、システム。
【請求項２３】
コンピュータによって実行されるプログラムであって、前記プログラムは、前記コンピュータに、請求項１〜２０のいずれか１項に記載の方法を実行させる、プログラム。
【国際調査報告】
2021501946.tif 000014
2021501946.tif 000015