JP7013578B2 - 単視点深度予測のための絞りの監視 - Google Patents

単視点深度予測のための絞りの監視 Download PDF

Info

Publication number
JP7013578B2
JP7013578B2 JP2020524586A JP2020524586A JP7013578B2 JP 7013578 B2 JP7013578 B2 JP 7013578B2 JP 2020524586 A JP2020524586 A JP 2020524586A JP 2020524586 A JP2020524586 A JP 2020524586A JP 7013578 B2 JP7013578 B2 JP 7013578B2
Authority
JP
Japan
Prior art keywords
image
depth
field
scene
images
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2020524586A
Other languages
English (en)
Other versions
JP2021501946A (ja
Inventor
ワドワ,ニール
バロン,ジョナサン
ガーグ,ラフル
スリニバサン,プラトゥル
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Google LLC
Original Assignee
Google LLC
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Google LLC filed Critical Google LLC
Publication of JP2021501946A publication Critical patent/JP2021501946A/ja
Application granted granted Critical
Publication of JP7013578B2 publication Critical patent/JP7013578B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G01MEASURING; TESTING
    • G01SRADIO DIRECTION-FINDING; RADIO NAVIGATION; DETERMINING DISTANCE OR VELOCITY BY USE OF RADIO WAVES; LOCATING OR PRESENCE-DETECTING BY USE OF THE REFLECTION OR RERADIATION OF RADIO WAVES; ANALOGOUS ARRANGEMENTS USING OTHER WAVES
    • G01S11/00Systems for determining distance or velocity not using reflection or reradiation
    • G01S11/12Systems for determining distance or velocity not using reflection or reradiation using electromagnetic waves other than radio waves
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/21Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
    • G06F18/217Validation; Performance evaluation; Active pattern learning techniques
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T5/00Image enhancement or restoration
    • G06T5/50Image enhancement or restoration using two or more images, e.g. averaging or subtraction
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T5/00Image enhancement or restoration
    • G06T5/60Image enhancement or restoration using machine learning, e.g. neural networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T5/00Image enhancement or restoration
    • G06T5/70Denoising; Smoothing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/50Depth or shape recovery
    • G06T7/55Depth or shape recovery from multiple images
    • G06T7/557Depth or shape recovery from multiple images from light fields, e.g. from plenoptic cameras
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V20/00Scenes; Scene-specific elements
    • G06V20/10Terrestrial scenes
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/10Image acquisition modality
    • G06T2207/10016Video; Image sequence
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/10Image acquisition modality
    • G06T2207/10024Color image
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/10Image acquisition modality
    • G06T2207/10052Images from lightfield camera
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/20Special algorithmic details
    • G06T2207/20081Training; Learning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/20Special algorithmic details
    • G06T2207/20084Artificial neural networks [ANN]

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Electromagnetism (AREA)
  • Radar, Positioning & Navigation (AREA)
  • Remote Sensing (AREA)
  • Data Mining & Analysis (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Artificial Intelligence (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Evolutionary Biology (AREA)
  • Evolutionary Computation (AREA)
  • General Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Image Analysis (AREA)
  • Image Processing (AREA)

Description

背景
画像の深度マップを決定するための様々な方法が存在する。このような深度マップには、画像内のオブジェクトおよび/または領域の深度、たとえば、当該画像を撮影または生成するために用いられるカメラからこのようなオブジェクトまでの距離が記述されている場合がある。いくつかの例では、距離センサ(たとえば、レーダー、ライダー、超音波測距システム)を用いて深度マップを決定するための情報を提供することができる。さらなる例では、複数の関連画像(たとえば、ステレオ画像ペアの左眼用画像および右目用画像)を利用して深度マップを決定することができる。
概要
深度マップは、様々な方法によって1枚の画像から求めることができる。これは、たとえば画像内に存在するビジュアルキュー基づいて人工ニューラルネットワーク(ANN)またはその他のアルゴリズムに1枚の画像を適用して深度マップを生成することを含み得る。次に、この深度マップを用いて、たとえば、ナビゲーション、距離ベースのぼかし処理またはフィルタ処理をソース画像に適用すること、またはその他の適用など、様々な適用を容易にすることができるようになる。
1枚の画像から深度マップを生成するために利用されるANN(またはその他のアルゴリズム)は、様々な処理に従って開発され得る。本開示では、自然情景の画像のセットに基づいてANNを訓練する方法を提供する。各画像セットは、それぞれ異なる絞りおよび/または焦点距離で共通シーンを撮影した2枚以上の画像を含む。共通シーンのソース画像(たとえば、全焦点画像、または、被写界深度が大きいその他の画像)をANNに適用して予測深度マップを生成する。次に、予測深度マップを用いて、共通シーンの画像のセットのうちの別の画像(たとえば、目標画像)に(焦点距離、絞り、またはその他の光学特性が)対応する予測画像を、ソース画像に基づいて生成する。次に、予測画像と目標画像との差を用いてANNを訓練できる(たとえば、この差を誤差信号として用いて、ANNを誤差逆伝搬法で更新することによって)。
このような更新処理を複数回実行し、複数の画像セットに基づいてANNを生成することができる。次に、(たとえば、携帯電話のプロセッサによって)このような訓練済みのANNを使用して、自然情景の1枚の画像(たとえば、屋内環境または屋外環境の人間、動物、植物、またはその他のオブジェクトの画像)から深度マップを求めることができる。ANNの出力は、まばらであったり、分解能が目標分解能(たとえば、入力画像(複数可)の分解能と一致する分解能)よりも低かったりする。このような例では、ANNの出力をアップサンプリングして、より高分解能の深度マップを提供することができる。このようなアップサンプリングは、補間法、バイラテラル法、またはその他の方法を用いて、より高分解能の深度マップを生成することを含むことができる。バイラテラル法を使って深度マップをアップサンプリングすることは、低分解能の深度マップに表現された深度に対応する高分解能の深度マップを、入力画像(複数可)内のオブジェクトのエッジまたはその他の特徴に対応するシャープなエッジまたはその他のシャープな特徴を示すように生成することを含み得る。
予測画像を生成することは、より幅の広い絞り、異なる焦点距離、またはその他のソース画像上の変更の効果をシミュレーションすることによって、絞りレンダリング関数を適用して予測画像を生成することを含み得る。たとえば、この絞りレンダリング関数は、ソース画像をゆがませ、ライトフィールドの推定を決定してソース画像を生成した後、推定ライトフィールドをせん断および投影して予測画像を生成するように動作する。絞りレンダリング関数は微分可能であって、誤差逆伝搬法またはその他のANN訓練技術を容易にするであろう。
いくつかの実施の形態では、ANNを特定のシーンの画像の1つのセット上で訓練し、シーンの画像のうちの1つ(またはそれ以上)の画像の深度マップを生成することができる。たとえば、本開示の方法に従って、それぞれ異なる焦点距離を有するシーンの被写界深度の浅い画像のセットを使用して、深度予測を行うANN(たとえば、オートエンコーダネットワーク)および(たとえば、画像セットのうちの1つの画像の)シーンの深度マップの両方を訓練することができる。
本明細書に記載の方法は、画像からなる訓練セットを、訓練セットの画像内の深度の「グラウンドトゥルース(ground truth)」についての情報を必要とせずに、深度予測人工ニューラルネットワークの訓練のために利用できるようにする。さらには、これらの画像は、(たとえば、ステレオ画像ペアを訓練に用いた)複雑な多視点構成をせずに取得できる。その代わりに、このような訓練セットの画像は、1つの視点からのシーンを観測する1つの撮像装置を用いて、たとえば、異なる焦点距離および/または絞り設定で複数の画像を撮影することによって、または、ライトフィールドカメラを使用してシーンから受けるライトフィールドについての情報をキャプチャすることによって取得され得る。そのため、この方法は、複雑な多視点構成および/または低分解能の深度を検知する高価な構成を必要とし得る深度予測人工ニューラルネットワークを訓練するための従来技術に伴う問題に対処する。訓練済みの深度予測ニューラルネットワークを利用して1枚の画像から深度情報を生成してもよい。
第1の態様では、方法は、(i)複数の画像を取得するステップを含み、複数の画像のうち少なくとも2つの画像からなるセットには共通シーンが記述されており、少なくとも2つの画像からなるセットは、第1被写界深度を有するソース画像と、第2被写界深度を有する目標画像とを含み、第2被写界深度は、第1被写界深度よりも浅く、方法は、さらに、(ii)人工ニューラルネットワークを利用して共通シーンの深度マップをソース画像に基づいて決定するステップと、(iii)決定された共通シーンの深度マップに基づいて、第2被写界深度に対応する被写界深度を有するように、ソース画像に基づく予測画像を決定するステップと、(iv)予測画像と目標画像との差分を求めるステップと、(v)求められた差分に基づいて人工ニューラルネットワークを更新するステップと、(vi)対象シーンの画像を取得するステップと、(vii)更新された人工ニューラルネットワークを利用して対象シーンの深度マップを対象シーンの画像に基づいて生成するステップとを含む。
上記態様は、次の任意選択の特徴のうちの1つ以上を含んでもよい。第1の深度マップに基づいてソース画像に基づく予測画像を決定するステップは、微分可能絞りレンダリング関数(a differentiable aperture rendering function)を使用するステップを含んでもよい。微分可能絞りレンダリング関数を使用して予測画像を決定するステップは、ソース画像に基づいて推定ライトフィールドを決定するステップと、第1の深度マップに基づいて推定ライトフィールドをせん断および投影して予測画像を決定するステップとを含んでもよい。人工ニューラルネットワークを利用して共通シーンの深度マップをソース画像に基づいて決定するステップは、人工ニューラルネットワークを利用して深度値セットをソース画像に基づいて決定するステップを含み、深度値セットに含まれる各深度値は、ソース画像内のそれぞれの位置に対応し、人工ニューラルネットワークを利用して共通シーンの深度マップをソース画像に基づいて決定するステップは、深度値セットをアップサンプリングして共通シーンの深度マップを生成するステップをさらに含んでもよい。深度値セットをアップサンプリングして共通シーンの深度マップを生成するステップは、バイラテラル法を用いて深度値セットをソース画像に基づいてアップサンプリングするステップを含んでもよい。目標画像は第1の目標画像であってもよい。予測画像は第1の予測画像であってもよい。求められた差分は、第1の求められた差分であってもよい。少なくとも2つの画像からなるセットは、第3被写界深度を有する第2の目標画像をさらに含み、第3被写界深度は第2被写界深度とは異なり、かつ第1被写界深度よりも浅くてもよく、方法は、さらに、決定された共通シーンの深度マップに基づいて、第3被写界深度に対応する被写界深度を有するように、ソース画像に基づく第2の予測画像を決定するステップと、第2の予測画像と第2の目標画像との第2差分を求めるステップとをさらに含み、人工ニューラルネットワークを更新するステップは、ニューラルネットワークを第2差分に基づいて更新するステップを含んでもよい。共通シーンが記述された少なくとも2つの画像からなるセットを取得するステップは、ライトフィールドカメラを使用して共通シーンからのライトフィールドを撮影するステップと、第1被写界深度を有するように、撮影されたライトフィールドに基づいてソース画像を生成するステップと、第2被写界深度を有するように、撮影されたライトフィールドに基づいて目標画像を生成するステップとを含んでもよい。共通シーンが記述された少なくとも2つの画像からなるセットを取得するステップは、第1の絞り設定にセットされたカメラを使用してソース画像を撮影するステップと、第2の絞り設定にセットされたカメラを使用して目標画像を撮影するステップとを含み、第2の絞り設定の幅は、第1の絞り設定よりも広くてもよい。対象シーンの画像を取得するステップは、携帯電話を操作して対象シーンの画像を撮影するステップを含んでもよく、方法は、人工ニューラルネットワークが更新されたことを携帯電話にサーバから送信するステップをさらに含んでもよく、更新された人工ニューラルネットワークを利用して対象シーンの深度マップを対象シーンの画像に基づいて生成するステップは、携帯電話のプロセッサが更新された人工ニューラルネットワークを利用して対象シーンの深度マップを生成するステップを含む。方法は、決定された対象シーンの深度マップに基づいて、対象シーンの画像に画像処理を行うステップをさらに含んでもよい。人工ニューラルネットワークは、畳み込みニューラルネットワークであってもよい。
さらなる態様では、方法は、(i)システムが、複数の画像を取得するステップを含み、複数の画像のうち少なくとも2つの画像からなるセットには共通シーンが記述されており、少なくとも2つの画像からなるセットは、第1被写界深度を有するソース画像と、第2被写界深度を有する目標画像とを含み、第2被写界深度は、第1被写界深度よりも浅く、方法は、さらに、(ii)システムが、人工ニューラルネットワークを利用して共通シーンの深度マップをソース画像に基づいて決定するステップと、(iii)システムが、決定された共通シーンの深度マップに基づいて、第2被写界深度に対応する被写界深度を有するように、ソース画像に基づく予測画像を決定するステップと、(iv)システムが、予測画像と目標画像との差分を求めるステップと、(v)システムが、求められた差分に基づいて人工ニューラルネットワークを更新するステップと、(vi)人工ニューラルネットワークが更新されたことをシステムからリモートデバイスに送信するステップとを含む。
さらに別の態様では、方法は(i)シーンの複数の画像を取得するステップを含み、画像は、各々、被写界深度が浅く、かつ焦点距離が異なり、方法は、さらに、(ii)人工ニューラルネットワークを利用してシーンの深度マップを複数の画像に基づいて決定するステップと、(iii)複数の画像および決定されたシーンの深度マップに基づいて、シーンの被写界深度が大きい予測画像を決定するステップと、(iv)決定された共通シーンの深度マップに基づいて、複数の画像のうちの特定の画像に対応する焦点距離を有するように、被写界深度が大きい予測画像に基づく被写界深度の浅い予測画像を決定するステップと、(v)被写界深度の浅い予測画像と特定の画像との差分を求めるステップと、(vi)求められた差分に基づいて人工ニューラルネットワークを更新するステップと、(vii)更新された人工ニューラルネットワークを利用して、更新されたシーンの深度マップを複数の画像に基づいて決定するステップとを含む。
人工ニューラルネットワークは、オートエンコーダ畳み込みニューラルネットワークであってもよい。決定された共通シーンの深度マップに基づいて、複数の画像のうちの特定の画像に対応する焦点距離を有するように、被写界深度が大きい予測画像に基づく被写界深度の浅い予測画像を決定するステップは、微分可能絞りレンダリング関数を使用するステップを含んでもよい。シーンの複数の画像を取得するステップは、カメラを操作してシーンの複数の画像の各画像をそれぞれ異なる焦点距離設定を用いて撮影するステップを含んでもよい。
これらおよびその他の態様、利点、および代替例は、下記の詳細な説明を添付の図面を適宜参照しながら読むことによって当業者に明らかになるであろう。さらには、本明細書のこの概要欄などに示した説明は、クレームされる主題を一例として示しており、限定でないことを理解されたい。
デバイスによって撮影されている例示的なシーンのコンテンツを示す図である。 図1のデバイスのカメラによって撮影された図1に示すシーンの例示的な画像である。 図1のデバイスのカメラによって撮影された図1に示すシーンの例示的な画像である。 図1のデバイスのカメラによって撮影された図1に示すシーンの例示的な画像である。 図1のデバイスの視点からの図1に示すシーンの深度マップの例を示す図である。 方法例を示す図である。 方法例を示す図である。 例示的なコンピューティングシステムの構成要素の一部を示す簡略ブロック図である。 方法のフローチャートである。 方法のフローチャートである。 方法のフローチャートである。
詳細な説明
本明細書において、方法およびシステムの例を説明する。単語「exemplary」、「example」、および「illustrative」は、本明細書において、「一例、例、または例示」を意味すると理解されたい。本明細書に「exemplary」、「example」または「illustrative」と記載されたいずれの実施の形態または特徴も、その他の実施の形態または特徴よりも好ましいまたは有利であると必ずしも解釈されるわけではない。さらには、本明細書に記載の例示的な実施の形態は、限定ではない。開示のシステムおよび方法の特定の態様を幅広い様々な異なる構成に配置または組み合わせることができることは、容易に理解できるであろう。
I.例示的な画像および適用例
一般に、撮像とは、デジタルフォーマット、化学フォーマット、またはその他のフォーマット(たとえば、写真および/または動画)で実世界の環境またはシーンの色特性および輝度特性を撮影して記憶することを指す。数多くの異なるフォーマット(たとえば、カラー撮像、白黒撮像)で画像を撮影することを容易にする多種多様な撮像装置が存在する(たとえば、CCD、光検出器アレイ、アクティブ画素センサ)。
様々な応用において、画像に存在するオブジェクトの深度を決定することは有利であり得る。このような深度マップは、画像内の位置ごとに、たとえば、画像の画素ごとに深度値を含むことができる。このような深度マップの深度値は、互いに相対して画像に描かれたオブジェクトの位置、このようなオブジェクトと画像を生成するために使用されるカメラまたはその他の検知デバイスとの距離、または、画像内に表されたオブジェクトまたは位置のその他の深度関連のパラメータに関係し得る。たとえば、画像は、屋外シーンを描いている可能性があり、この画像について求められた深度マップは、シーンにあるオブジェクトおよび/または位置と画像を撮影するために用いられたカメラとの距離を記述し得る。次に、このような深度マップを用いて(たとえば、シーンに存在するオブジェクトおよび位置をマッピングする、シーンを通してロボットまたはその他のデバイスを移動させる)シーン内のオブジェクトの形状および位置を特定し、深度を意識した画像処理またはその他の画像処理を画像に対して行う(たとえば、被写界深度の浅い画像をシミュレーションするためにシーン内の一定の深度のオブジェクトをぼかす)、またはその他の応用を容易にすることができる。
図1は、近くのオブジェクト103と遠くのオブジェクト105とを含んだシーン100を示す図である。これに加えて、図1は、機能の中でも特に、近くのオブジェクト103の近傍に配置されてシーン100の可視光画像を生成するように構成されるデバイス110を示す。シーン100の可視光画像を生成することは、当該シーンの1つ以上のライトフィールド画像、(たとえば、それぞれ異なる焦点距離における)シーンの被写界深度が浅い1つ以上の画像、シーンの被写界深度が深い1つ以上の画像を(たとえば、小さい絞り設定を用いて)生成すること、またはシーン100についてのその他の画像に関する情報を生成することを含み得る。
一例として、デバイス110は、携帯電話(たとえば、スマートフォン)、スチールカメラ、ビデオカメラ、コンピュータ(デスクトップ、ノートブック、タブレット端末、またはハンドヘルドコンピュータなど)、PDA(Personal Digital Assistant)、ホームオートメーションコンポーネント、DVR(Digital Video Recorder)、デジタルテレビ、リモコン、ウェアラブルコンピューティングデバイス、または少なくとも1つのカメラを装備したその他の種類のデバイスであってもよいが、これに限定されない。デバイス110は、デジタルカメラなどの個別の物理デバイス、カメラアプリケーションがソフトウェアで動作する特定の物理ハードウェアプラットフォーム、またはカメラ機能を実行するように構成されたハードウェアとソフトウェアとのその他の組合せを表し得ることを理解されたい。
デバイス110は、画像撮影要素115を含む。画像撮影要素115は、可視光画像を生成するように動作してもよい。画像撮影要素115は、ライトフィールド画像、または画像撮影要素115が露出されるシーン100から受け取ったライトフィールドについてのその他の情報を生成するように構成されたライトフィールドカメラまたはその他の構成要素を含み得る。このようなライトフィールドカメラは、複数の絞り、レンズ、または、画像撮影要素115のそれぞれの複数の位置で受光した光に基づいて画像情報を生成することを容易にするように構成されたその他の光学素子を含み得る。追加的または代替的に、画像撮影要素115は、1つ以上のカメラを含み得る。このようなカメラは、絞り設定、焦点距離、焦点深度、または画像撮影要素115のその他の画像取得プロパティを調整するために光学素子(たとえば、可変絞り、1つ以上のレンズ)を調整するように構成された1つ以上のアクチュエータを含み得る。このようなカメラは、(たとえば、カメラの絞り設定を調整することによって)被写界深度が異なるシーン100の複数の画像を生成し、焦点距離が異なるシーン100の複数の被写界深度の浅い画像を生成する、および/またはシーン100の被写界深度の大きい画像を生成するように操作され得る。追加的または代替的に、このようなカメラは、シーン100の被写界深度の大きい画像を生成するように構成された小型の固定絞り(たとえば、カメラは、ピンホールカメラであり得る)を含むことができる。
図2Aは、近くのオブジェクト画像253aと遠くのオブジェクト画像255aとを含む、シーン100の被写界深度の大きい画像250aの例を示す図である。大きな被写界深度を有する被写界深度の大きい画像250aの例では、画像撮影要素115からの距離に関わらず、ほぼすべてのオブジェクトがほぼ焦点が合った状態で画像に描かれる(たとえば、253a、255a)。このような被写界深度の大きい画像250aは、絞りが小さいカメラ(たとえば、ピンホールカメラ)、または、デバイスからの距離が異なるオブジェクトから受光した光が焦点が合った状態で撮像されるように画像を生成するように構成された撮像装置によって生成することができる。追加的または代替的に、ライトフィールドカメラを用いてシーン100のライトフィールド画像を生成することができ、ライトフィールド画像を(たとえば、せん断して投影することによって)処理して、シーン100の被写界深度の大きい画像を生成することができる。
図2Bは、近くのオブジェクト画像253bと遠くのオブジェクト画像255bとを含む、シーン100の被写界深度の浅い画像250bの第1の例を示す図である。被写界深度の浅い画像(たとえば、250b)では、画像を生成するために使用された撮像装置(たとえば、画像撮影要素115)からの距離によって異なるが、画像に描かれた特定のオブジェクトの焦点はほぼ合っているが、画像に描かれたほかのオブジェクトは、ほぼぼやけているおよび/または焦点が合っていない。第1の被写界深度の浅い画像250bの焦点距離は、近くのオブジェクト画像253bに焦点が合うように、近くのオブジェクト103と画像撮影要素115との距離に対応している。画像撮影要素115から離れている遠くのオブジェクト105では、遠くのオブジェクト画像255bに焦点が合っていない。
図2Cは、近くのオブジェクト画像253cと遠くのオブジェクト画像255cとを含む、シーン100の被写界深度の浅い画像250cの第2の例を示す図である。第2の被写界深度の浅い画像250cの焦点距離は、第1の例の被写界深度の浅い画像250dの焦点距離よりも大きい。第2の被写界深度の浅い画像250cの焦点距離は、遠くのオブジェクト画像255cに焦点が合うように、遠くのオブジェクト105と画像撮影要素115との距離に対応している。画像撮影要素115に近い近くのオブジェクト103では、近くのオブジェクト画像253cに焦点が合っていない。
シーン100の深度マップを決定することができる。このような深度マップは、シーン100内の様々なオブジェクトおよび/または位置の深度を表す複数の深度値を含み得る。このような深度値は、シーン内の撮像装置115とオブジェクト/位置との距離を表し得る。追加的または代替的に、深度は、シーン100内のオブジェクトまたは位置の相対距離を表し得る(たとえば、シーン内のオブジェクト/位置間の距離であるが、このようなオブジェクト/位置と撮像装置115との絶対距離ではない)。このような深度マップは、例示的な画像250a、250b、250cのうちの1つの画像内のそれぞれの位置に対応する深度値セットを含み得る。たとえば、深度マップは、例示的な画像250a、250b、250cのうちの1つの画像に含まれる画素の各々に対応する深度値を含み得る。
図3は、例示的な画像250a、250b、250cのうちの1つ以上の画像に対応し得るおよび/または当該1つ以上の画像から生成され得る例示的な深度マップ300を示す図である。例示的な深度マップ300は、シーン100にあるオブジェクト/位置と撮像装置115との絶対距離に対応し得る。例示的な深度マップ300の特定の画素または領域のグレースケールカラーは、例示的な画像250a、250b、250cのうちの1つの画像の例示的な深度マップ300の特定の画素または領域に対応する例示的な画像の画素または領域に描かれたオブジェクト/位置と撮像装置115との距離に対応する。
シーンのこのような深度マップ(たとえば、300)は、様々な方法で生成することができる。いくつかの例では、距離センサを利用して深度マップを生成することができる。これには、光、音、またはその他のエネルギーのパターンをシーンの中に発すること、これに応答してシーンにあるオブジェクト/位置から受け取る光、音、またはその他のエネルギーを検出することと、受け取ったエネルギーのなんらかの性質(たとえば、TOF(Time Of Flight)、位相、受け取り角度)を用いてシーンにあるオブジェクト/位置の深度を求めることとが含まれ得る。追加的または代替的に、それぞれ異なる視点からシーンの複数の画像を生成することができ、この異なる視点の相対的な位置および角度に基づいて生成された画像を使用して深度マップを生成することができる。たとえば、2つのカメラを用いてシーンのステレオ画像ペアを生成でき、立体視の方法を利用して深度マップをステレオ画像ペアに基づいて決定することができる。さらに別の例では、同じ視点からシーン(たとえば、100)を撮影した1つ以上の画像(たとえば、250a、250b、250c)を情報ソースとして使用してシーンの深度マップを求めることができる。これは、人工ニューラルネットワークまたはその他のアルゴリズムを利用して、画像のうちの1つ以上の画像内のオブジェクトの深度値を求めることを含み得る。たとえば、画像からなる訓練セットおよび/またはその「グラウンドトゥルース」深度マップに基づいて人工ニューラルネットワークを訓練して深度マップを生成してから、このような訓練済みの人工ニューラルネットワークを適用して追加画像の深度マップを求めることができる。追加的または代替的に、その他の方法を用いてシーンの深度マップを決定することができる。
II.画像ベースの深度マップ予測の例
深度マップは、シーンの1つ以上の画像に基づいて様々な方法で求めることができる。いくつかの例では、パターンマッピング、三角測量、立体視画像処理という方法、および/またはその他の方法を用いて、シーン上の異なる視点に対応するシーンの複数の画像に基づいて深度マップを決定してもよい。シーンの1枚の画像に基づいてシーンの深度マップを決定することも可能である。これは、画像のコンテンツの(たとえば、画像に描かれたオブジェクトの)正体、画像内の相対的な位置/順序、またはその他の情報を求めることによって実現することができる。様々な機械学習技術またはその他のアルゴリズムを適用して画像に描かれたオブジェクトまたはその他のコンテンツを識別したり、画像内のこのようなオブジェクトの範囲を特定したり、画像内のこのようなコンテンツの順序および/または重なりを判断したり、画像に描かれたオブジェクトまたはその他のコンテンツについてのその他の情報を求めたり、および/またはこのような画像の深度マップを求めたりすることができる。
いくつかの例では、人工ニューラルネットワーク(ANN)を適用して、深度マップまたはその他の深度情報を画像に基づいて求めることができる。このようなANNは、2つ以上の層を含み得、線形関数、対数関数、またはその他の特定の出力関数を含み得、全結合ニューロンまたはその他の結合ニューロンを含み得、異なる層のニューロン間に再帰型接続および/またはフィードフォワード接続を含み得、入力情報および/または層間を通過する情報を処理するためのフィルタまたはその他の要素を含み得、または、その他の方法で構成されて入力画像に基づいた深度および/もしくは深度マップの決定を容易にすることができる。
ANNを利用して深度マップを入力画像に基づいて生成することは、入力画像に適用できる1つ以上のフィルタを含み得、次に、このようなフィルタの出力は、ANNの1つ以上のニューロンの入力に適用され得る。たとえば、このようなANNは、畳み込みニューラルネットワーク(CNN)であり得るまたは畳み込みニューラルネットワークを含み得る。畳み込みニューラルネットワークとは、ANNベースの分類、または2次元以上の次元内で要素がまとめられている画像またはその他の大きな次元の入力に基づいたその他の処理を容易にするように構成された様々なANNである。当該2つ以上の次元は、入力構造体における何らかの構造体に関連し得る(たとえば、画像の2次元空間内の相対的な位置は、画像の画素同士の類似度に関連し得るため)。
本明細書の実施の形態では、CNNは、入力画像に適用される少なくとも1つの2次元フィルタを含み、次に、フィルタ処理された入力画像をCNN(たとえば、CNNの畳み込み層の)のニューロンに適用する。このようなフィルタおよび入力画像の畳み込みは、入力画像に存在する特徴の存在、位置、またはその他の情報を表し得る(たとえば、入力画像にあるエッジ、顔、またはその他の特徴の存在および/または位置)。CNNのニューロンのセットは、同じフィルタを入力画像に適用することによって決まるそれぞれの入力を受けることができる。追加的または代替的に、CNNのニューロンのセットは、異なるフィルタと対応付けられ得、それぞれのフィルタを入力画像に適用することによって決まるそれぞれの入力を受けることができる。このようなフィルタは、CNNの訓練中に訓練することができ、または、予め指定することができる。たとえば、このようなフィルタは、ウェーブレットフィルタ、センターサラウンドフィルタ、バイオインスパイアードフィルタカーネル(たとえば、動物の視覚情報処理受容野の研究より)、またはその他の予め指定されたフィルタパターンを表し得る。
CNNまたはその他の様々なANNは、(たとえば、それぞれ異なるフィルタおよび/または特徴量に対応する)複数の畳み込み層、プーリング層、整流層、全結合層、またはその他の種類の層を含み得る。CNNの畳み込み層は、フィルタを用いた入力画像の畳み込み、またはその他の入力(たとえば、フィルタ処理された入力画像、ダウンサンプリングされた入力画像、またはその他の処理が施された入力画像)の畳み込みを表す。たとえば、最大値ノルム、平均ノルム、L2ノルム、またはその他のプーリング関数をCNNの上位層(複数可)のニューロンのサブセット、出力、またはその他の特徴量に適用することによって、CNNのプーリング層が非線形ダウンサンプリングをCNNの上位層に適用する。CNNの整流層は、正規化非線形関数(たとえば、不飽和活性化関数、シグモイド関数)を上位層の出力に適用する。CNNの全結合層は、CNNの1つ以上の上位層にあるニューロンの一部またはすべてからの入力を受ける。全結合層のニューロンの出力を使用して入力画像内のそれぞれの位置の深度値を(たとえば、入力画像の画素ごとに)求めることができる。
CNNのニューロンは、対応する入力の次元に従ってまとめることができる。たとえば、入力が画像(2次元入力)である場合、CNNの(たとえば、CNNの入力層の、CNNのプーリング層の)ニューロンは、2次元入力画像における位置に対応し得る。CNNの異なる層にあるニューロンおよび/またはフィルタ間の接続は、このような位置に関係し得る。たとえば、CNNの畳み込み層にあるニューロンは、入力画像の一部、または、CNNのその他の層の一部、つまり、畳み込み層ニューロンの位置の近傍に位置する一部とフィルタとの畳み込みに基づく入力を受けることができる。別の例では、CNNのプーリング層にあるニューロンは、プーリング層のニューロンの位置の近傍に位置する、プーリング層よりも上位の層(たとえば、畳み込み層、上位のプーリング層)のニューロンからの入力を受け付けることができる。
ANNは、各深度値が入力画像内のそれぞれの位置に対応するように、入力画像に基づいて深度値セットを生成することができる。いくつかの例では、これは、入力画像の画素の各々の深度値(すなわち、入力画像内の画素の位置の各々に対応する深度値)をANNが生成することを含み得る。いくつかの例では、ANNから出力された当該深度値セットをアップサンプリングして深度マップを生成する(たとえば、入力画像の分解能と等しい分解能を有する深度マップを生成する)ことができる。
様々な方法を用いてANNまたはその他のアルゴリズムによって出力された深度値をアップサンプリングして、入力画像の深度マップを生成することができる。いくつかの例では、このアップサンプリングは、エッジを意識した方法で入力画像に対して行われ得る。たとえば、バイラテラル法を用いて複数の深度値を入力画像に基づいてアップサンプリングすることができ、出力深度マップは、たとえば、入力画像に存在するエッジまたはその他のシャープな特徴に対応するエッジまたはその他のシャープな特徴を各所に示す。このようなバイラテラル法によって、バイラテラルコスト関数が小さくなるように、このような深度マップの深度値を生成することができる。バイラテラルコスト関数は、出力深度マップと入力深度値との類似度に関係する1つ以上の項、および出力深度マップの平滑性に関係する1つ以上のさらなる項を含み得る。入力画像にあるシャープな特徴(たとえば、入力画像に描かれたオブジェクトのエッジまたはその他のエッジ)に対応する出力深度マップにあるシャープな特徴によってよりも、入力画像にあるシャープな特徴に対応しない出力深度マップにあるシャープな特徴によってコスト関数がさらに増えるように、1つ以上の平滑性項が決定され得る。
III.訓練方法の例
画像から深度マップを生成するために用いられるANNまたはその他のアルゴリズムを訓練して、生成された深度マップの品質を向上させることができる。この訓練は、訓練画像セットに基づいてANN(またはその他のアルゴリズム)を更新または繰り返し更新することを含み得る。このような訓練は、特定の訓練画像をANNに適用することと、出力深度マップを決定することと、次に、予測深度マップと「グラウンドトゥルース」深度マップ(またはその他の訓練データ)との対応度に基づいて誤差または損失を判断することとを含むことができる。次に、決定された対応度に基づいて、ANNを更新し得る(たとえば、誤差逆伝搬法を介して)。
実際には、このような「グラウンドトゥルース」深度情報にアクセスすることは難しい。このような情報は、距離センサ(たとえば、レーザー測距器、ライダー、超音波距離センサ)を利用して直接生成することができるが、このようなセンサは高価であり、操作が難しく、このようなセンサによって生成される深度情報は、分解能が低かったり、ノイズが多かったり、低品質であったりする可能性がある。(たとえば、ステレオカメラを使用して)異なる視点からシーンの複数の画像を撮影し、立体視アルゴリズムまたはその他の方法を用いてシーンの画像間の発散またはその他の対応関係に基づいてシーンの深度マップを生成することによって深度情報を生成することができる。しかしながら、このような多視点構成は高価であり、操作が難しく、特定の誤差(たとえば、シーンの画像に存在する横方向と縦方向の深度キューが非対称な誤差)を示す深度マップが生成されてしまう可能性がある。
本明細書に記載の方法は、1つの視点から撮影された画像情報に基づいたANNの訓練を容易にすることによって上記短所を改善することができる。特定の視点から撮影された画像情報は、絞り、焦点深度、焦点距離、またはその他の深度に関連する画像プロパティが異なるシーンの複数の異なる画像を含む、または当該複数の異なる画像の生成を可能にする。次に、異なる画像のうちの少なくとも1つに基づいて、訓練されていないANNを使用して深度マップを生成する。この予測深度マップを用いて、シミュレーションされた画像を、少なくとも1つの画像に基づいて生成する。シミュレーションされた画像は、絞り、焦点深度、焦点距離、および/またはその他の深度に関連する画像プロパティがシーンの「真」画像のうちの1つに対応する。次に、シミュレーションされた画像と「真」画像との対応度を用いてANNを更新する。
このような方法は、深度によって異なるぼかしを画像に適用するために使用する深度マップを決定する(たとえば、携帯電話のカメラなどによって生成された焦点深度が大きい画像から「ポートレイト」のような画像を生成する)ことに適している。これは、シミュレーションされた「ぼやけた」画像と、シミュレーションされた「ぼやけた」画像に絞りが対応する画像との差分をこの訓練方法が利用できるためである。絞りは、「全焦点」ではない画像の「ぼやけ」に関し得る画像プロパティである。従って、このような訓練済みのANNが不正確な深度マップをシーンの入力画像に基づいて生成してしまう例では、生成された深度マップの誤りによって、深度によって異なるぼかしをこの深度マップを用いて入力画像に対して適用すると、深度に左右される像ぶれをより精密にシミュレーションしているぼやけた入力画像ができてしまう可能性がある。
ANNを訓練するための複数の画像を生成するために、複数の異なるシーンおよび/またはそれらの視点の画像のセットまたはその他の画像情報を本明細書に記載したように取得することができる。ANNを訓練するために使用される画像のセットまたはその他の画像情報は、様々な方法で使用することができる。いくつかの例では、1つ以上のカメラまたはその他の画像撮影装置を1つの視点から操作して、シーンの画像のセットを生成することができる。シーケンスの画像は、絞り設定、焦点深度、焦点距離、および/またはその他の画像プロパティが異なる。たとえば、焦点距離が異なるシーンの複数の異なる画像を1つのカメラが撮影することができる(たとえば、アクチュエータ、またはカメラの光学系の焦点距離を制御するためのその他の手段を操作することによって)。追加的または代替的に、ライトフィールドカメラを使用してシーンのライトフィールドを生成することができる。次に、ライトフィールドを使用して、たとえば絞り設定が異なる、シーンの異なる画像のセットを生成することができる。これは、ライトフィールドをせん断およびスライスし、1つ以上の画像を生成することを含み得る。ANNの訓練を容易にするために、シーンの画像のセットをその他の方法で取得することができる。
いくつかの例では、ANNを訓練するために用いられる画像のセットは、被写界深度および/または絞り設定が異なり得る。このような画像セットは、第1被写界深度を有する第1画像(たとえば、全焦点である画像または大きな被写界深度を示す画像)と、第1被写界深度よりも浅い第2被写界深度を有する第2画像(たとえば、被写界深度の浅い画像)とを含み得る。上述したように、異なる設定(たとえば、異なる絞り設定)に応じて1つ以上のカメラを操作することによって、1つのライトフィールド画像から画像を生成することによって、またはその他の方法によってこのような画像を取得することができる。ANNを第1画像(たとえば、全焦点である画像および/またはより大きな被写界深度を有する画像)に適用して深度マップを生成することができる。生成された深度マップを用いて第1画像を変形して、第2画像の被写界深度に対応するシミュレーションされた被写界深度を有する予測画像を作成することができる。次に、第2画像と予測画像との差分を利用してANNを更新することができる。このような処理は、ANNを訓練するために、第1画像および第2画像を使用して、ならびに/または追加の画像セットを使用して複数回生じ得る。次に、訓練済みのANNを使用して追加画像(たとえば、携帯電話を使って撮影された画像)の深度マップを決定する。
図4は、このようなANN訓練方法の要素を説明するフローチャートの例である。複数の画像(「TRAINING IMAGE SET」)は、共通シーンを描いたソース画像「SOURCE IMAGE」)と目標画像(「TARGET IMAGE」)とを含む(たとえば、ソース画像および目標画像が同じ視点からの公園の特定の場所を描いている)。ソース画像は、第1被写界深度を有するため、全焦点画像である。目標画像は、第1被写界深度よりも浅い第2被写界深度を有するため、被写界深度が浅い。
ANN(「ARTIFICIAL NEURAL NETWORK:人工ニューラルネットワーク」)は、ソース画像および目標画像に描かれたシーンの深度マップ(「DEPTH MAP」)をソース画像に基づいて決定するために利用される。ANNは、入力画像に基づいた深度マップを提供するように、(たとえば、上述したような)様々な方法で構成され得る。たとえば、ANNは、畳み込みニューラルネットワークであり得る。次に、絞りレンダリング関数(「APERTURE RENDERING FUNCTION」)を用いてソース画像を深度マップに基づいて変形し、第2被写界深度に対応する被写界深度(すなわち、目標画像の被写界深度)を有する予測画像(「PREDICTED IMAGE」)を生成する。よって、ANNによって出力された深度マップがソース画像および目標画像に描かれたオブジェクトの深度を精密に表している場合、予測画像は、目標画像に相当するはずである。
予測画像と目標画像との差分(「ERROR SIGNAL」)を求めて、ANNを更新するために使用することができる。求められたこのような差分は、たとえば、予測画像と目標画像との間で対応する画素の値を減算することによって求められる差分画像を含み得る。ANNを更新することは、求められた予測画像と目標画像との差分に損失関数を適用すること、誤差逆伝搬法を実行すること、当該差分のANNの係数についての勾配を求めること、またはその他の方法に従って、求められた差分に基づいてANNを更新することを含み得る。
入力画像に対応する深度マップに基づいてシーンの入力画像を変形して予測画像を生成するために、絞りレンダリング関数は、様々な方法または変換を含み得る。指定された絞り設定、焦点距離、焦点深度、または、入力画像に描かれたオブジェクトまたは位置の深度に関するその他の指定された画像プロパティでシーンを撮影した画像に予測画像が対応するように、絞りレンダリング関数はこのような変形処理を行う。たとえば、絞りレンダリング関数は、全焦点入力画像および深度マップに基づいて予測ライトフィールドを生成できる。次に、絞りレンダリング関数は、決定したライトフィールドをスライスおよびせん断して予測画像を生成することができる。いくつかの例では、誤差逆伝搬法を用いて(たとえば、求められた予測画像と目標画像との差分を微分可能絞りレンダリング関数により逆伝播することによって)ANNを更新できるように、絞りレンダリング関数は、深度マップについて微分可能であり得る(たとえば、1つ以上の微分可能変換またはその他の処理を実行することを含み得る)。
上述した(たとえば、図4で)ANNを更新するための処理を複数回行ってANNを訓練することができる。たとえば、これらの処理は、ANNが収束するまで(たとえば、繰り返しごとのANN係数の変化の度合いが指定された絶対レベルまたは相対レベルよりも低くなるまで)、繰り返しごとに求められた誤差信号の大きさの測定値(たとえば、誤差の平方和、修正された誤差の和)が指定された絶対レベルまたは相対レベルよりも低くなるまで、指定された繰り返し回数またはその他の条件に従って繰り返し実行され得る。
さらに、特定のシーンの3つ以上の画像を使用して情報を生成し、ANNを訓練することができる。たとえば、特定のシーンの(たとえば、図4のような)訓練画像のセットは、浅い被写界深度を有し、かつ、絞り設定が異なる(または、その他の画像プロパティ、たとえば、焦点距離が異なる)複数の目標画像を含み得る。このような例では、絞りレンダリング関数を予測深度マップに基づいて使用して、ソース画像を複数回変形して複数の予測画像を生成することができる。予測画像の各々は、複数の目標画像のうちのそれぞれ対応する画像に絞り設定またはその他の画像プロパティが対応し得る。次に、対になる目標画像と予測画像との差分を求めて、ANNの更新に使用することができる。
さらに、図4で説明した実施の形態は、例示的な実施の形態であって、限定ではない。たとえば、ANNを訓練するために使用される複数の画像は、異なるシーンに対応する複数の画像セットを含み得る。このような画像セットの各々は、1つ以上の全焦点画像、被写界深度の浅い画像、または本明細書に記載のANN訓練方法の1つ以上の要素を実行するために使用できる共通シーンのその他の画像を含み得る。このような例では、各画像セットは、ANNを更新するために使用できる1つの(またはそれ以上の)差分画像、またはANNを更新するために(たとえば、その他の画像セットから判断されたこのような情報と組み合わせて)使用できるその他の誤差情報を提供できる。
いくつかの例では、ANNを訓練するために使用されるシーンの画像セットは、焦点距離が異なる複数」の被写界深度の浅い画像を含むことができる。上述したように、このような画像は、異なる設定(たとえば、異なる焦点距離設定)に従って1つ以上のカメラを操作することによって、1つのライトフィールド画像から生成することによって、またはその他の方法によって取得できる。ANNを画像のうちの1つ以上に適用して深度マップを生成することができる。生成された深度マップを使用して、当該シーンの画像セットに基づいて当該シーンの被写界深度の大きい画像(たとえば、全焦点画像)を予測することができる。次に、深度マップを用いて、被写界深度が大きい予測画像を1回以上変形させ、シーンの画像セットのそれぞれの画像に対応するシミュレーションされた焦点距離、絞り設定、またはその他の画像プロパティを有する1つ以上の被写界深度の浅い予測画像を作成することができる。第2画像の被写界深度。次に、被写界深度の浅い予測画像と訓練セットに含まれる対応する画像との差分を利用してANNを更新することができる。シーンの画像セットを使用しておよび/またはそれぞれの追加シーンの追加の画像セットを使用してこのような処理を複数回行なってANNを訓練することができる。次に、訓練済みのANNを利用して追加画像(たとえば、携帯電話を使って撮影された画像)の深度マップを決定することができる。
図5は、このようなANN訓練方法の要素を説明するフローチャートの例を示す図である。複数の画像(「TRAINING IMAGE SET」)は、共通シーンを描いた第1画像「FIRST IMAGE」)と第2画像(「SECOND IMAGE」)とを含む(たとえば、第1画像および第2画像は、同じ視点からの公園の特定の場所を描いている)。第1画像は、浅い被写界深度と第1焦点距離とを有し、第1焦点距離またはその近くにあるシーンの要素が焦点が合わせられた状態で第1画像に描かれている。また、第2画像は、浅い被写界深度と、第1焦点距離とは異なる第2焦点距離とを有し、第2焦点距離またはその近くにあるシーンの要素が焦点が合わせられた状態で第2画像に描かれている。
ANN(「ARTIFICIAL NEURAL NETWORK」)を使用して、第1画像および第2画像に描かれたシーンの深度マップ(「DEPTH MAP」)を、第1画像および第2画像のうちの1つ以上に基づいて決定する。(たとえば、上述したような)様々な方法で、入力画像に基づいて深度マップを提供するようにANNを構成することができる。たとえば、ANNは、畳み込みニューラルネットワークであり得る。次に、レンダリング関数(「RENDERING FUNCTION」たとえば、絞りレンダリング関数)を用いて、シーンの被写界深度の大きい画像(「PREDICTED LARGE DEPTH-OF-FIELD IMAGE」)を深度マップならびに第1画像および第2画像のうちの1つ以上画像に基づいて予測する。いくつかの例では、レンダリング関数は、本明細書において説明した絞りレンダリング関数であり得、または当該絞りレンダリング関数を含み得る。追加的または代替的に、レンダリング関数は、プレノプティックイメージングからの画像再現技術またはその他の方法を用いて複数の被写界深度の浅い画像から全焦点画像を生成することができる。
次に、絞りレンダリング関数(「APERTURE RENDERING FUNCTION」)を用いて、被写界深度が大きい予測画像を深度マップに基づいて変形させて、第2焦点距離(すなわち、第2画像の焦点距離)に対応する焦点距離を有するように被写界深度の浅い画像(「PREDICTED SHALLOW DEPTH-OF-FIELD IMAGE」)を生成する。よって、ANNによって出力された深度マップが第1画像および第2画像に描かれたオブジェクトの深度を精密に表している場合、被写界深度の浅い予測画像は、第2画像に相当するはずである。
被写界深度の浅い予測画像と第2画像との差分(「ERROR SIGNAL」)を求めて、ANNを更新するために使用することができる。求められたこのような差分は、たとえば、被写界深度の浅い予測画像と第2画像との間で対応する画素の値を減算することによって求められる差分画像を含み得る。ANNを更新することは、求められた予測画像と目標画像との差分に損失関数を適用すること、誤差逆伝搬法を実行すること、当該差分のANNの係数についての勾配を求めること、またはその他の方法に従って、求められた差分に基づいてANNを更新することを含み得る。いくつかの例では、ANNは、オートエンコーダANNであり得、深度マップがオートエンコーダANNの内部「符号化」層を表す。このような例では、オートエンコーダANNの訓練(たとえば、教師なし訓練技術)に適したANN訓練技術を応用してANNを更新することができる。
上述した(たとえば、図5で)ANNを更新するための処理を複数回行ってANNを訓練することができる。たとえば、これらの処理は、ANNが収束するまで(たとえば、繰り返しごとのANN係数の変化の度合いが指定された絶対レベルまたは相対レベルよりも低くなるまで)、繰り返しごとに求められた誤差信号の大きさの測定値(たとえば、誤差の平方和、修正された誤差の和)が指定された絶対レベルまたは相対レベルよりも低くなるまで、指定された繰り返し回数またはその他の条件に従って繰り返し実行され得る。
さらに、特定のシーンの3つ以上の画像を使用して情報を生成し、ANNを訓練することができる。たとえば、特定のシーンの(たとえば、図5のような)訓練画像のセットは、焦点距離が異なる(または、その他の画像プロパティ、たとえば、絞り設定が異なる)追加の被写界深度の浅い画像を含み得る。ここのような例では、絞りレンダリング関数を予測深度マップに基づいて使用して、被写界深度が大きい予測画像を複数回変形して複数の被写界深度の浅い予測画像を生成することができる。被写界深度の浅い予測画像の各々は、訓練セットの複数の浅い被写界深度の画像のうちのそれぞれ対応する画像に焦点距離またはその他の画像プロパティが対応し得る。次に、対になる被写界深度の浅い入力画像と被写界深度の浅い予測画像との差分を求めて、ANNの更新に使用することができる。
さらに、図5で説明した実施の形態は、例示的な実施の形態であって、限定ではない。たとえば、ANNを訓練するために使用される複数の画像は、異なるシーンに対応する複数の画像セットを含み得る。このような画像セットの各々は、1つ以上の全焦点画像、被写界深度の浅い画像、または本明細書に記載のANN訓練方法の1つ以上の要素を実行するために使用できる共通シーンのその他の画像を含み得る。このような例では、各画像セットは、ANNを更新するために使用できる1つの(またはそれ以上の)差分画像、またはANNを更新するために(たとえば、その他の画像セットから判断されたこのような情報と組み合わせて)使用できるその他の誤差情報を提供できる。
ANNは、サーバ、クラウドコンピューティングサービス、またはその他のコンピューティングシステムによって、本明細書に記載の技術に従って訓練することができる。次に、ANNを訓練するために用いられるシステムは、訓練済みのANNを適用して、さらなる画像の深度マップを求めることができる。たとえば、システムは、(たとえば、携帯電話、デジタルカメラ、またはその他の画像キャプチャシステムから)追加画像を受信し、これらの画像に訓練済みのANNを適用してこれらの画像の深度マップを生成することができる。次に、システムは、たとえば、求められた深度マップを、追加画像(複数可)を提供したデバイスまたはシステムに送信することができる。
追加的または代替的に、サーバまたはその他のシステムは、ANNを本明細書に記載したように訓練してから、ANNが訓練済みであること(たとえば、訓練済みのANNの係数、内部構造、またはその他の具体的な点を示すもの)をその他のシステムに送信できる。次に、当該その他のシステムが訓練済みのANNを追加画像に適用することができる。たとえば、サーバは、本明細書に記載のようにANNを訓練して、ANNが訓練済みであることを(たとえば、インターネットおよび/またはセルラデータネットワークを介して)携帯電話に送信することができる。次に、携帯電話を操作して訓練済みのANNを画像(たとえば、携帯電話のカメラを介して撮影された画像)に適用し、このような画像の深度マップを生成することができる。ANNが訓練済みであることを送信することは、既に動作中のシステム(たとえば、携帯電話、デジタルカメラ、またはインターネットと通信中のその他のデバイス)に有線または無線コンポーネントを介して情報を送信することを含み得る。追加的または代替的に、ANNが訓練済みであることをシステムに送信することは、システムのアセンブリおよび/またはプログラミング中に生じ得る。たとえば、ANNが訓練済みであることを送信することは、訓練済みのANNを用いてコントローラまたはメモリ(たとえば、フラッシュメモリまたはその他の非一時的なコンピュータ読み取り可能な媒体)をプログラミングした後、コントローラまたはメモリをデバイスまたはその他のシステムに組み込むことを含み得る。
なお、ANNを本明細書に記載のように訓練するために使用する画像は、後でさらなる対象画像(たとえば、携帯電話によって撮影された画像)に適用するためにANNを訓練するのに利用される「訓練データ」または「訓練画像」として特徴付けられてもよいが、これらの特徴付けは、本明細書に記載の方法の非限定例である。ANNは、対象シーンの2枚以上の画像を使用して訓練してから、画像のうちの1つに基づいてシーンの深度マップを生成するために使用してもよい。たとえば、携帯電話またはその他の画像キャプチャシステムは、(たとえば、携帯電話のカメラを使用して)それぞれ異なる絞り設定、焦点距離、またはその他の画像プロパティを有するシーンの複数の画像を撮影するように動作する。次に、携帯電話のプロセッサ、または携帯電話と通信しているプロセッサが、複数の画像を使用してANNを訓練できる。次に、訓練済みのANNを使用して、撮影画像のうちの1つ以上に基づいてシーンの深度マップを生成できる。
IV.例示的なシステム
演算機能(たとえば、ANNを利用して深度マップを1つ以上の画像に基づいて生成するおよび/または本明細書に記載したようなANNを複数の画像に基づいて訓練するための機能)を1つ以上のコンピューティングシステムによって実行してもよい。このようなコンピューティングシステムは、携帯電話、タブレットコンピュータ、ラップトップコンピュータ、サーバ、クラウドコンピューティングネットワーク、および/またはプログラマブルロジックコントローラなど、コンピューティングデバイスに組み込まれてもよく、または当該コンピューティングデバイスの形をとってもよい。この例では、図6は、カメラコンポーネント624を備え得る例示的なコンピューティングデバイス600の構成要素のうちのいくつかを示す簡略ブロック図である。カメラコンポーネント624は、可視光カメラ、赤外線カメラ、ライトフィールドカメラ、プレノプティックカメラ、またはその他の種類のカメラなど、1つ以上のカメラを含んでもよい。
一例として、コンピューティングデバイス600は、携帯電話(たとえば、スマートフォン)、スチールカメラ、ビデオカメラ、FAX端末、コンピュータ(デスクトップ、ノートブック、タブレット端末、またはハンドヘルドコンピュータなど)、PDA(Personal Digital Assistant)、ホームオートメーションコンポーネント、DVR(Digital Video Recorder)、デジタルテレビ、リモコン、ウェアラブルコンピューティングデバイス、ロボット、ドローン、自動運転車、またはなんらかの画像キャプチャ機能および/または画像処理機能を備えたその他の種類のデバイスであってもよいが、これらに限定されない。コンピューティングデバイス600は、デジタルカメラなどの物理的なカメラ装置、カメラアプリケーションがソフトウェアで動作する特定の物理ハードウェアプラットフォーム、または画像キャプチャおよび/または画像処理機能を実行するように構成されたハードウェアとソフトウェアとのその他の組合せを表してもよいことを理解されたい。
図6に示すように、コンピューティングデバイス600は、通信インターフェース602と、ユーザインターフェース604と、プロセッサ606と、データストレージ608と、カメラコンポーネント624とを備えてもよく、それらのすべては、システムバス、ネットワーク、またはその他の接続メカニズム610によって互いに通信可能にリンクされてもよい。
通信インターフェース602は、電気信号、磁気信号、電磁信号、光信号、またはその他の信号のアナログまたはデジタル変調を利用してコンピューティングデバイス600がその他のデバイス、アクセス網、および/または転送ネットワークと通信を行うことができるように機能してもよい。よって、通信インターフェース602は、POT(Plain Old Telephone Service)通信および/またはIP(Internet Protocol)もしくはその他のパケット通信など、回線交換および/またはパケット交換通信を容易にすることができる。たとえば、通信インターフェース602は、無線アクセスネットワークまたはアクセスポイントとのワイヤレス通信のために配置されたチップセットおよびアンテナを含んでもよい。また、通信インターフェース602は、Ethernet(登録商標)、USB(Universal Serial Bus)、またはHDMI(登録商標)(High-Definition Multimedia Interface)ポートなど、有線インターフェースの形をとってもよく、当該有線インターフェースを含んでもよい。また、通信インターフェース602は、Wifi、BLUETOOTH(登録商標)、GPS(Global Poitioning System)、またはワイドエリアワイヤレスインターフェース(たとえば、WiMAXまたは3GPP LTE(Long-Term Evolution))などのワイヤレスインターフェースの形をとってもよく、当該ワイヤレスインターフェースを含んでもよい。しかしながら、通信インターフェース602とは異なるその他の形態の物理層インターフェースおよびその他の種類の規格またはプロプライエタリ通信プロトコルを使用してもよい。さらには、通信インターフェース602は、複数の物理通信インターフェースを含んでもよい(たとえば、Wifiインターフェース、BLUETOOTH(登録商標)インターフェース、およびワイドエリアワイヤレスインターフェース)。
いくつかの実施の形態では、通信インターフェース602は、コンピューティングデバイス600がその他デバイス、リモートサーバ、アクセス網、および/または転送ネットワークと通信を行うことができるように機能してもよい。たとえば、コンピューティングデバイス600が訓練済みのANNを利用して深度マップを撮影画像に基づいて生成できるようにするために、通信インターフェース602は、リモートサーバまたはその他のリモートデバイスまたはシステムとの通信を介して訓練済みのANNにアクセスするように機能してもよい。たとえば、コンピューティングシステム600は、携帯電話、デジタルカメラ、またはその他の画像撮影装置であり得、遠隔システムは、このような訓練済みのANNを含んだメモリを含んだサーバであり得る。追加的または代替的に、遠隔システムは、カメラまたはその他の撮像装置を備え、被写界深度の大きい画像、全焦点画像、被写界深度の浅い画像、ライトフィールド画像、またはコンピューティングデバイス600が上述したようにアクセスでき、かつ、コンピューティングデバイス600が使用してANNを本明細書に記載したように訓練することができるその他の画像情報を生成するように構成され得る。
ユーザインターフェース604は、たとえば、ユーザから入力を受けるおよび/またはユーザに出力を行うなど、コンピューティングデバイス600がユーザとやり取りできるように機能してもよい。よって、ユーザインターフェース604は、キーパッド、キーボード、タッチパネルまたは存在感知パネル、コンピュータマウス、トラックボール、ジョイスティック、マイクロフォンなどの入力コンポーネントを含んでもよい。また、ユーザインターフェース604は、ディスプレイ画面など、1つ以上の出力コンポーネントを含んでもよい。ディスプレイ画面は、たとえば、存在感知パネルと組み合わされてもよい。ディスプレイ画面は、CRT、LCD、および/またはLED技術、もしくは現在知られているまたは今後開発されるその他の技術に基づいていてもよい。また、ユーザインターフェース604は、スピーカー、スピーカージャック、オーディオ出力ポート、音声出力装置、イヤホン、および/またはその他同様のデバイスを介して聞き取り可能な出力(複数可)を生成するように構成されてもよい。
いくつかの実施の形態では、ユーザインターフェース604は、コンピューティングデバイス600がサポートするスチールカメラ機能および/またはビデオカメラ機能の(たとえば、カメラコンポーネント624を用いて撮影された画像の機能の)ファインダーとして機能するディスプレイを含んでもよい。さらに、ユーザインターフェース604は、カメラコンポーネント624の設定およびピント合わせならびにカメラコンポーネント624を用いた画像の撮影を容易にする1つ以上のボタン、スイッチ、ノブ、および/またはダイヤルを含んでもよい。これらのボタン、スイッチ、ノブ、および/またはダイヤルの一部またはすべてを、タッチパネルまたは存在感知パネル上の機能として実装することも可能である。ユーザインターフェース604は、ユーザが本明細書に記載の機能または処理を開始して、たとえば、訓練済みのANNを用いて撮影画像の深度マップを生成すること、(たとえば、「ポートレートモード」のカメラアプリケーションの一部として被写界深度の浅い画像をシミュレーションするために)決定された深度マップに基づいて撮影画像を処理することを可能にするように構成されてもよい。
プロセッサ606は、1つ以上の汎用プロセッサ(たとえばマイクロプロセッサ)および/または1つ以上の特定用途向けのプロセッサ(たとえば、DPS(Digital Signal Processor)、GPU(Graphics Processing Unit)、FPU(Floating Point Unit)、ネットワークプロセッサ、またはASIC(Application-Specific Integrated Circuit)を含んでもよい。ある例では、特定用途向けのプロセッサは、アプリケーションまたは機能の中でも、画像処理、画像位置合わせ、および画像合成を行うことが可能であってもよい。データストレージ608は、磁気記憶装置、光記憶装置、フラッシュストレージ、または有機記憶装置など、1つ以上の揮発性記憶装置コンポーネントおよび/または不揮発性記憶装置コンポーネントを含んでもよく、すべてまたは一部は、プロセッサ606と一体化してもよい。データストレージ608は、取り外し可能なおよび/または固定の構成要素を含んでもよい。
プロセッサ606は、データストレージ608に格納されたプログラム命令618(たとえば、コンパイル済みもしくは非コンパイルプログラムロジックおよび/または機械コード)を実行して本明細書に記載の様々な関数を実行可能であってもよい。そのため、データストレージ608は、プログラム命令を格納した非一時的なコンピュータ読み取り可能な媒体を含んでもよく、当該プログラム命令は、コンピューティングデバイス600によって実行されると、コンピューティングデバイス600に、本明細書および/または添付の図面に開示の方法、処理、または機能のいずれかを実行させる。プロセッサ606によるプログラム命令618の実行により、プロセッサ606がデータ612を利用できるようになり得る。
一例として、プログラム命令618は、オペレーティングシステム622(たとえば、オペレーティングシステムカーネル、デバイスドライバ(複数可)、および/またはその他のモジュール)と、コンピューティングデバイス600上にインストールされた1つ以上のアプリケーションプログラム620(たとえば、カメラ機能、ANNの訓練、画像ベースの深度マップの生成)とを含んでもよい。データ612は、訓練画像614および/または1つ以上の訓練済みのANN616を含んでもよい。訓練画像614を用いて、本明細書に記載のANNを訓練する(たとえば、訓練済みのANN616を生成および/または更新)してもよい。訓練済みのANN616を適用して、入力画像(たとえば、カメラコンポーネント624を使用して撮影された画像および/または通信インターフェース602を介してアクセスされた画像)に基づいて深度マップを生成してもよい。
アプリケーションプログラム620は、1つ以上のAPI(Application Programming Interface)を通してオペレーティングシステム622と通信してもよい。これらのAPIによって、たとえば、アプリケーションプログラム620が訓練済みのANN616を読み書きすること、通信インターフェース602を介して情報を送受信すること、ユーザインターフェース604上で情報を受け付けるおよび/またはディスプレイすること、カメラコンポーネント624を使用して画像を撮影することなどが容易になる。
アプリケーションプログラム620は、(たとえば、通信インターフェース602を介して)1つ以上のオンラインのアプリケーションストアまたはアプリケーションマーケットを通してコンピューティングデバイス600にダウンロード可能な「アプリ」という形をとってもよい。しかしながら、ウェブブラウザを介して、またはコンピューティングデバイス600の物理インターフェース(たとえば、USBポート)を通してなど、ほかの方法でコンピューティングデバイス600にアプリケーションプログラムをインストールすることもできる。
カメラコンポーネント624は、絞り、シャッター、記録面(たとえば、写真フィルムおよび/またはイメージセンサ)、レンズ、および/またはシャッターを含んでもよいが、これに限定されない。カメラコンポーネント624は、プロセッサ606によって実行されるソフトウェアにより(たとえば、アプリケーションプログラム620により)、少なくとも一部が制御されてもよい。さらには、カメラコンポーネント624は、複数のカメラシステムを含んでもよく、各カメラシステムは、それぞれの絞り、シャッター、記録面、レンズ、イメージセンサ、プロセッサ、および/またはその他の要素を含む。
複数のカメラシステムが含まれる場合、いくつかの構成要素はシステム同士で共有され、その他の構成要素は共有されなくてもよい。たとえば、各カメラは、それ自体の絞り、レンズ、およびイメージセンサを備える一方で、プロセッサ、データ、バス、および/またはシャッターボタンなどのその他の構成要素を共有できる。別の例として、各カメラは、それ自体のレンズを備えるが、同じイメージセンサを共有できる。代替的に、個々のカメラシステムの構成要素を、その個々のカメラシステムのためにのみ利用し、ほかのカメラシステムと供給しなくてもよい。
V.方法例
図7は、ANNを訓練して入力画像の深度マップを決定するための方法700のフローチャートである。方法700は、複数の画像を取得するステップ(710)を含む。当該複数の画像のうちの少なくとも2つの画像からなるセットには、共通シーンが記述されており、当該少なくとも2つの画像からなるセットは、第1被写界深度を有するソース画像と、第2被写界深度を有する目標画像とを含む。第2被写界深度は、第1被写界深度よりも浅い。方法700は、人工ニューラルネットワークを利用して、共通シーンの深度マップをソース画像に基づいて決定するステップ(720)をさらに含む。方法700は、決定された共通シーンの深度マップに基づいて、第2被写界深度に対応する被写界深度を有するように、ソース画像に基づく予測画像を決定するステップ(730)をさらに含む。方法700は、予測画像と目標画像との差分を求めるステップ(740)と、求められた差分に基づいて人工ニューラルネットワークを更新するステップ(750)とをさらに含む。方法700は、対象シーンの画像を取得するステップ(760)と、更新済みの人工ニューラルネットワークを利用して、対象シーンの深度マップを対象シーンの画像に基づいて生成するステップ(770)とをさらに含む。
これらの実施の形態は、追加要素または特徴を含むことができる。いくつかの実施の形態では、ソース画像に基づく予測画像を第1の深度マップに基づいて決定するステップは、微分可能絞りレンダリング関数を使用するステップを含むことができる。微分可能絞りレンダリング関数を使用するステップは、ソース画像に基づいて推定ライトフィールドを決定するステップと、第1の深度マップに基づいて推定ライトフィールドをせん断および投影して予測画像を決定するステップとを含むことができる。
いくつかの実施の形態では、人工ニューラルネットワークを利用してソース画像に基づいて共通シーンの深度マップを決定するステップは、人工ニューラルネットワークを利用して、深度値セットをソース画像に基づいて決定するステップを含み、深度値セットに含まれる各深度値は、ソース画像内のそれぞれの位置に対応し、当該決定するステップは、さらに、深度値セットをアップサンプリングして共通シーンの深度マップを生成するステップを含み得る。深度値セットをアップサンプリングして共通シーンの深度マップを生成するステップは、バイラテラル法を用いて深度値セットをソース画像に基づいてアップサンプリングするステップを含み得る。
いくつかの実施の形態では、目標画像は第1の目標画像であり、予測画像は第1の予測画像であり、求められた差分は、第1の求められた差分である。このような実施の形態では、当該少なくとも2つの画像からなるセットは、第2被写界深度とは異なり、かつ、第1被写界深度よりも浅い第3被写界深度を有する第2の目標画像をさらに含む。このような実施の形態は、決定された共通シーンの深度マップに基づいて、第3被写界深度に対応する被写界深度を有するように、ソース画像に基づく第2の予測画像を決定するステップと、第2の予測画像と第2の目標画像との第2差分を求めるステップとをさらに含む。このような実施の形態では、人工ニューラルネットワークを更新するステップは、第2差分に基づいてニューラルネットワークを更新するステップを含む。
いくつかの実施の形態では、共通シーンを記述した当該少なくとも2つの画像からなるセットを取得するステップは、ライトフィールドカメラを使用して共通シーンからライトフィールドを撮影するステップと、撮影されたライトフィールドに基づいて、第1被写界深度を有するようにソース画像を生成するステップと、撮影されたライトフィールドに基づいて、第2被写界深度を有するように目標画像を生成するステップとを含む。
いくつかの実施の形態では、共通シーンを記述した当該少なくとも2つの画像からなるセットを取得するステップは、第1の絞り設定にセットされたカメラを使用してソース画像を撮影するステップと、第2の絞り設定にセットされたカメラを使用して目標画像を撮影するステップとを含み、第2の絞り設定の幅は、第1の絞り設定よりも広い。
いくつかの実施の形態では、対象シーンの画像を取得するステップは、携帯電話を操作して対象シーンの画像を撮影するステップを含む。このような実施の形態は、人工ニューラルネットワークが更新済みであることをサーバから携帯電話に送信するステップをさらに含み得る。このような実施の形態では、更新済みの人工ニューラルネットワークを利用して、対象シーンの深度マップを対象シーンの画像に基づいて生成するステップは、携帯電話のプロセッサが更新済みの人工ニューラルネットワークを利用して対象シーンの深度マップを生成するステップを含む。
上記実施の形態のいくつかは、決定された対象シーンの深度マップに基づいて対象シーンの画像に画像処理を行うステップをさらに含み得る。
上記実施の形態のいくつかでは、人工ニューラルネットワークは、畳み込みニューラルネットワークである。
図8は、ANNを訓練して入力画像の深度マップを決定するための方法800のフローチャートである。方法800は、システムが複数の画像を取得するステップ(810)を含む。当該複数の画像のうちの少なくとも2つの画像からなるセットには、共通シーンが記述されており、当該少なくとも2つの画像からなるセットは、第1被写界深度を有するソース画像と、第2被写界深度を有する目標画像とを含む。第2被写界深度は、第1被写界深度よりも浅い。方法800は、システムが人工ニューラルネットワークを利用して、共通シーンの深度マップをソース画像に基づいて決定するステップ(820)をさらに含む。この方法は、システムが決定された共通シーンの深度マップに基づいて、第2被写界深度に対応する被写界深度を有するように、ソース画像に基づく予測画像を決定するステップ(830)をさらに含む。方法800は、システムが予測画像と目標画像との差分を求めるステップ(840)と、求められた差分に基づいてシステムが人工ニューラルネットワークを更新するステップ(850)とをさらに含む。方法は、人工ニューラルネットワークが更新済みであることをシステムからリモートデバイスに送信するステップ(860)をさらに含む。
これらの実施の形態は、追加要素または特徴を含むことができる。いくつかの実施の形態では、ソース画像に基づく予測画像を第1の深度マップに基づいて決定するステップは、微分可能絞りレンダリング関数を使用するステップを含む。微分可能絞りレンダリング関数を使用して予測画像を決定するステップは、ソース画像に基づいて推定ライトフィールドを決定するステップと、推定ライトフィールドを第1の深度マップに基づいてせん断および投影して予測画像を決定するステップとを含み得る。
いくつかの実施の形態では、目標画像は第1の目標画像であり、予測画像は第1の予測画像であり、求められた差分は、第1の求められた差分である。このような実施の形態では、当該少なくとも2つの画像からなるセットは、第2被写界深度とは異なり、かつ、第1被写界深度よりも浅い第3被写界深度を有する第2の目標画像をさらに含む。このような実施の形態は、決定された共通シーンの深度マップに基づいて、第3被写界深度に対応する被写界深度を有するように、ソース画像に基づく第2の予測画像を決定するステップと、第2の予測画像と第2の目標画像との第2差分を求めるステップとをさらに含み得る。このような実施の形態では、人工ニューラルネットワークを更新するステップは、第2差分に基づいてニューラルネットワークを更新するステップを含み得る。
いくつかの実施の形態では、人工ニューラルネットワークは、畳み込みニューラルネットワークである。
図9は、ANNを訓練して入力画像の深度マップを決定するための方法900のフローチャートである。方法900は、シーンの複数の画像を取得するステップ(910)を含む。画像は、各々、浅い被写界深度を有し、かつ焦点距離が異なる。方法900は、人工ニューラルネットワークを利用してシーンの深度マップを複数の画像に基づいて決定するステップ(920)と、複数の画像および決定されたシーンの深度マップに基づいて、シーンの被写界深度が大きい予測画像を決定するステップ(930)とをさらに含む。方法900は、決定された共通シーンの深度マップに基づいて、複数の画像のうちの特定の画像に対応する焦点距離を有するように、被写界深度が大きい予測画像に基づく被写界深度の浅い予測画像を決定するステップ(940)をさらに含む。方法900は、被写界深度の浅い予測画像と特定の画像との差分を求めるステップ(950)と、求められた差分に基づいて人工ニューラルネットワークを更新するステップ(960)と、更新された人工ニューラルネットワークを利用して、更新されたシーンの深度マップを複数の画像に基づいて決定するステップ(970)とをさらに含む。
これらの実施の形態は、追加要素または特徴を含むことができる。いくつかの実施の形態では、決定された共通シーンの深度マップに基づいて、複数の画像のうちの特定の画像に対応する焦点距離を有するように、被写界深度が大きい予測画像に基づく被写界深度の浅い予測画像を決定するステップは、微分可能絞りレンダリング関数を使用するステップを含む。
いくつかの実施の形態では、シーンの複数の画像を取得するステップは、カメラを操作してシーンの複数の画像の各画像をそれぞれ異なる焦点距離設定を用いて撮影するステップを含む。
VI.まとめ
上記詳細な説明では、開示のシステム、デバイス、および方法の様々な特徴および機能について、添付の図面を参照しながら記載している。図では、同様の記号は、別段の説明がない限り、通常、同様の構成要素を識別する。詳細な説明に記載された実施の形態、図面、および特許請求の範囲は、限定ではない。本明細書に記載に提示する発明の主題の範囲を逸脱することなくその他の実施の形態を利用したり、その他の変更を行なったりすることができる。本明細書に一般的に記載し、図に例示した本開示の態様を並び替えたり、置き換えたり、組み合わせたり、別々に分けたり、幅広い様々な異なる構成に設計したりする(これら全ては本明細書において明示的に予想済みである)ことができることは容易に理解されるであろう。
図示したまたは本明細書に記載したメッセージフロー図、シナリオ、およびフローチャートの一部またはすべてについて、各ステップ、ブロックおよび/または通信は、例示的な実施の形態に係る、情報の処理および/または情報の送信を表してもよい。別の実施の形態も、これらの例示的な実施の形態の範囲に含まれる。これらの別の実施の形態では、たとえば、ステップ、ブロック、送信、通信、要求、応答、および/またはメッセージとして記載された機能は、関係する機能に応じて、ほぼ同時または逆の順序を含む、図示または説明した順序とは異なる順序で実行されてもよい。さらには、本明細書に記載した数よりも多いまたは少ないステップ、ブロックおよび/または機能を、本明細書に記載のメッセージフロー図、シナリオ、およびフローチャートのいずれかにを用いてもよく、これらのメッセージフロー図、シナリオ、およびフローチャートの一部またはすべてを互いに組み合わせてもよい。
情報の処理を表すステップまたはブロックは、本明細書に記載の方法または技術の特定の論理関数を実行するように構成され得る回路に相当してもよい。代替的に、またはさらに、情報の処理を表すステップまたはブロックは、モジュール、セグメント、またはプログラムコードの一部(関連データを含む)に相当し得る。プログラムコードは、特定の論理関数または動作を当該方法または技術において実装するためにプロセッサによって実行可能な1つ以上の命令を含んでもよい。プログラムコードおよび/または関連データは、ディスクドライブ、ハードドライブ、またはその他の記憶媒体を含む、記憶装置などの任意の種類のコンピュータ読み取り可能な媒体に記憶されてもよい。
また、コンピュータ読み取り可能な媒体は、レジスタメモリ、プロセッサキャッシュ、および/またはRAM(Random Access Memory)のような、データを短期間記憶するコンピュータ読み取り可能な媒体など、非一時的なコンピュータ読み取り可能な媒体を含んでもよい。また、コンピュータ読み取り可能な媒体は、たとえば、ROM(Read Only Memory)、光ディスクもしくは磁気ディスク、および/またはCD-ROM(Compact-Disc Read Only Memory)のような、二次記憶装置または永続長期記憶装置など、プログラムコードおよび/またはデータを長期間記憶する非一時的なコンピュータ読み取り可能な媒体を含んでもよい。また、コンピュータ読み取り可能な媒体は、その他の揮発性または不揮発性記憶システムであってもよい。コンピュータ読み取り可能な媒体は、たとえば、コンピュータ読み取り可能な記憶媒体、または有形の記憶装置と考えられてもよい。
また、1つ以上の情報送信を表すステップまたはブロックは、同じ物理デバイスにあるソフトウェアおよび/またはハードウェアモジュール間の情報送信に対応してもよい。しかしながら、その他の情報送信は、それぞれ異なる物理デバイスにあるソフトウェアモジュールおよび/またはハードウェアモジュール間であってもよい。
様々な態様および実施の形態を本明細書に開示したが、その他の態様および実施の形態も当業者に明らかになるであろう。本明細書に開示の様々な態様および実施の形態は、例示であり、限定ではなく、実際の範囲は、添付の特許請求の範囲に示されている。
例示的な実施の形態は、全体を通して、ANNを利用して深度マップを入力画像に基づいて生成しているが、別のアルゴリズムを適用して深度マップが画像に基づいて生成され得ることも予想される。たとえば、カーネル法、ベイズ推論アルゴリズム、強化学習アルゴリズム、セルオートマン、決定木、ブースト決定木、またはその他の別のアルゴリズムおよび/またはそれらの組合せを本明細書に記載の方法に従って適用して、深度マップを入力画像に基づいて生成することができる。それに応じて、たとえば、誤差情報(たとえば、被写界深度の浅い予測画像と撮影またはその他の方法で取得した「グラウンドトゥルース」被写界深度の浅い画像との差分画像)を提供することによって、ANNを訓練するための本明細書に記載の方法をこのような別のアルゴリズムに適用してアルゴリズムを訓練することができる。誤差情報は、このような別のアルゴリズムに適用してアルゴリズムを更新できる(たとえば、誤差逆伝搬法、強化学習、または当該選択された別のアルゴリズムに適したその他の技術を用いる)。

Claims (23)

  1. 方法であって、
    複数の画像を取得するステップを含み、前記複数の画像のうち少なくとも2つの画像からなるセットには共通シーンが記述されており、前記少なくとも2つの画像からなるセットは、第1被写界深度を有するソース画像と、第2被写界深度を有する目標画像とを含み、前記第2被写界深度は、前記第1被写界深度よりも浅く、前記方法は、さらに、
    人工ニューラルネットワークを利用して前記共通シーンの深度マップを前記ソース画像に基づいて決定するステップと、
    決定された前記共通シーンの深度マップに基づいて、前記第2被写界深度に対応する被写界深度を有するように、前記ソース画像に基づく予測画像を決定するステップと、
    前記予測画像と前記目標画像との差分を求めるステップと、
    求められた前記差分に基づいて前記人工ニューラルネットワークを更新するステップと、
    対象シーンの画像を取得するステップと、
    前記更新された人工ニューラルネットワークを利用して前記対象シーンの深度マップを前記対象シーンの画像に基づいて生成するステップとを含む、方法。
  2. 前記共通シーンの深度マップに基づいて前記ソース画像に基づく予測画像を決定するステップは、微分可能絞りレンダリング関数を使用するステップを含む、請求項1に記載の方法。
  3. 前記微分可能絞りレンダリング関数を使用して前記予測画像を決定するステップは、
    前記ソース画像に基づいて推定ライトフィールドを決定するステップと、
    前記共通シーンの深度マップに基づいて前記推定ライトフィールドをせん断および投影して前記予測画像を決定するステップとを含む、請求項2に記載の方法。
  4. 前記人工ニューラルネットワークを利用して前記共通シーンの深度マップを前記ソース画像に基づいて決定するステップは、
    前記人工ニューラルネットワークを利用して深度値セットを前記ソース画像に基づいて決定するステップを含み、前記深度値セットに含まれる各深度値は、前記ソース画像内のそれぞれの位置に対応し、
    前記人工ニューラルネットワークを利用して前記共通シーンの深度マップを前記ソース画像に基づいて決定するステップは、
    前記深度値セットをアップサンプリングして前記共通シーンの深度マップを生成するステップをさらに含む、請求項1~3のいずれか1項に記載の方法。
  5. 前記深度値セットをアップサンプリングして前記共通シーンの深度マップを生成するステップは、バイラテラル法を用いて前記深度値セットを前記ソース画像に基づいてアップサンプリングするステップを含む、請求項4に記載の方法。
  6. 前記目標画像は第1の目標画像であり、前記予測画像は第1の予測画像であり、求められた前記差分は、第1の求められた差分であり、前記少なくとも2つの画像からなるセットは、第3被写界深度を有する第2の目標画像をさらに含み、前記第3被写界深度は前記第2被写界深度とは異なり、かつ前記第1被写界深度よりも浅く、前記方法は、
    決定された前記共通シーンの深度マップに基づいて、前記第3被写界深度に対応する被写界深度を有するように、前記ソース画像に基づく第2の予測画像を決定するステップと、
    前記第2の予測画像と前記第2の目標画像との第2差分を求めるステップとをさらに含み、
    前記人工ニューラルネットワークを更新するステップは、前記人工ニューラルネットワークを前記第2差分に基づいて更新するステップを含む、請求項1~5のいずれか1項に記載の方法。
  7. 前記共通シーンが記述された前記少なくとも2つの画像からなるセットを取得するステップは、
    ライトフィールドカメラを使用して前記共通シーンからのライトフィールドを撮影するステップと、
    前記第1被写界深度を有するように、前記撮影されたライトフィールドに基づいて前記ソース画像を生成するステップと、
    前記第2被写界深度を有するように、前記撮影されたライトフィールドに基づいて前記目標画像を生成するステップとを含む、請求項1~6のいずれか1項に記載の方法。
  8. 前記共通シーンが記述された前記少なくとも2つの画像からなるセットを取得するステップは、
    第1の絞り設定にセットされたカメラを使用して前記ソース画像を撮影するステップと、
    第2の絞り設定にセットされた前記カメラを使用して前記目標画像を撮影するステップとを含み、前記第2の絞り設定の幅は、前記第1の絞り設定よりも広い、請求項1~7のいずれか1項に記載の方法。
  9. 前記対象シーンの画像を取得するステップは、携帯電話を操作して前記対象シーンの画像を撮影するステップを含み、前記方法は、
    前記人工ニューラルネットワークが更新されたことを前記携帯電話にサーバから送信するステップをさらに含み、前記更新された人工ニューラルネットワークを利用して前記対象シーンの深度マップを前記対象シーンの画像に基づいて生成するステップは、前記携帯電話のプロセッサが前記更新された人工ニューラルネットワークを利用して前記対象シーンの深度マップを生成するステップを含む、請求項1~8のいずれか1項に記載の方法。
  10. 決定された前記対象シーンの深度マップに基づいて、前記対象シーンの画像に画像処理を行うステップをさらに含む、請求項1~9のいずれか1項に記載の方法。
  11. 前記人工ニューラルネットワークは、畳み込みニューラルネットワークである、請求項1~10のいずれか1項に記載の方法。
  12. 方法であって、
    システムが、複数の画像を取得するステップを含み、前記複数の画像のうち少なくとも2つの画像からなるセットには共通シーンが記述されており、前記少なくとも2つの画像からなるセットは、第1被写界深度を有するソース画像と、第2被写界深度を有する目標画像とを含み、前記第2被写界深度は、前記第1被写界深度よりも浅く、前記方法は、さらに、
    前記システムが、人工ニューラルネットワークを利用して前記共通シーンの深度マップを前記ソース画像に基づいて決定するステップと、
    前記システムが、決定された前記共通シーンの深度マップに基づいて、前記第2被写界深度に対応する被写界深度を有するように、前記ソース画像に基づく予測画像を決定するステップと、
    前記システムが、前記予測画像と前記目標画像との差分を求めるステップと、
    前記システムが、求められた前記差分に基づいて前記人工ニューラルネットワークを更新するステップと、
    前記人工ニューラルネットワークが更新されたことを前記システムからリモートデバイスに送信するステップとを含む、方法。
  13. 前記共通シーンの深度マップに基づいて前記ソース画像に基づく予測画像を決定するステップは、微分可能絞りレンダリング関数を使用するステップを含む、請求項12に記載の方法。
  14. 前記微分可能絞りレンダリング関数を使用して前記予測画像を決定するステップは、
    前記ソース画像に基づいて推定ライトフィールドを決定するステップと、
    前記共通シーンの深度マップに基づいて前記推定ライトフィールドをせん断および投影して前記予測画像を決定するステップとを含む、請求項13に記載の方法。
  15. 前記目標画像は第1の目標画像であり、前記予測画像は第1の予測画像であり、求められた前記差分は、第1の求められた差分であり、前記少なくとも2つの画像からなるセットは、第3被写界深度を有する第2の目標画像をさらに含み、前記第3被写界深度は前記第2被写界深度とは異なり、かつ前記第1被写界深度よりも浅く、前記方法は、
    決定された前記共通シーンの深度マップに基づいて、前記第3被写界深度に対応する被写界深度を有するように、前記ソース画像に基づく第2の予測画像を決定するステップと、
    前記第2の予測画像と前記第2の目標画像との第2差分を求めるステップとをさらに含み、
    前記人工ニューラルネットワークを更新するステップは、前記人工ニューラルネットワークを前記第2差分に基づいて更新するステップを含む、請求項12~14のいずれか1項に記載の方法。
  16. 前記人工ニューラルネットワークは、畳み込みニューラルネットワークである、請求項12~15のいずれか1項に記載の方法。
  17. 方法であって、
    シーンの複数の画像を取得するステップを含み、前記画像は、各々、被写界深度が浅く、かつ焦点距離が異なり、前記方法は、さらに、
    人工ニューラルネットワークを利用して前記シーンの深度マップを前記複数の画像に基づいて決定するステップと、
    前記複数の画像および決定された前記シーンの深度マップに基づいて、前記シーンの被写界深度が大きい予測画像を決定するステップと、
    決定された前記シーンの深度マップに基づいて、前記複数の画像のうちの特定の画像に対応する焦点距離を有するように、前記被写界深度が大きい予測画像に基づく被写界深度の浅い予測画像を決定するステップと、
    前記被写界深度の浅い予測画像と前記特定の画像との差分を求めるステップと、
    求められた前記差分に基づいて前記人工ニューラルネットワークを更新するステップと、
    前記更新された人工ニューラルネットワークを利用して、更新された前記シーンの深度マップを前記複数の画像に基づいて決定するステップとを含む、方法。
  18. 前記人工ニューラルネットワークは、オートエンコーダ畳み込みニューラルネットワークである、請求項17に記載の方法。
  19. 決定された前記前記シーンの深度マップに基づいて、前記複数の画像のうちの前記特定の画像に対応する焦点距離を有するように、前記被写界深度が大きい予測画像に基づく被写界深度の浅い予測画像を決定するステップは、微分可能絞りレンダリング関数を使用するステップを含む、請求項17~18のいずれか1項に記載の方法。
  20. 前記シーンの複数の画像を取得するステップは、カメラを操作して前記シーンの複数の画像の各画像をそれぞれ異なる焦点距離設定を用いて撮影するステップを含む、請求項17~19のいずれか1項に記載の方法。
  21. プログラム命令を格納した非一時的なコンピュータ読み取り可能な媒体を備える製品であって、前記プログラム命令は、コンピューティングデバイスによって実行されると、前記コンピューティングデバイスに、請求項1~20のいずれか1項に記載の方法を実行させる、製品。
  22. コントローラと、
    プログラム命令を格納した非一時的なコンピュータ読み取り可能な媒体とを備え、前記プログラム命令は、前記コントローラによって実行されると、前記コントローラに、請求項1~20のいずれか1項に記載の方法を実行させる、システム。
  23. コンピュータによって実行されるプログラムであって、前記プログラムは、前記コンピュータに、請求項1~20のいずれか1項に記載の方法を実行させる、プログラム。
JP2020524586A 2017-11-03 2017-11-03 単視点深度予測のための絞りの監視 Active JP7013578B2 (ja)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/US2017/059841 WO2019089039A1 (en) 2017-11-03 2017-11-03 Aperture supervision for single-view depth prediction

Publications (2)

Publication Number Publication Date
JP2021501946A JP2021501946A (ja) 2021-01-21
JP7013578B2 true JP7013578B2 (ja) 2022-01-31

Family

ID=62092223

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2020524586A Active JP7013578B2 (ja) 2017-11-03 2017-11-03 単視点深度予測のための絞りの監視

Country Status (5)

Country Link
US (1) US11113832B2 (ja)
EP (1) EP3704508B1 (ja)
JP (1) JP7013578B2 (ja)
CN (1) CN111316123B (ja)
WO (1) WO2019089039A1 (ja)

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102669255B1 (ko) * 2019-02-01 2024-05-27 한국전자통신연구원 다중 초점 영상을 이용한 올인포커스 영상 생성 방법 및 장치
US11405547B2 (en) * 2019-02-01 2022-08-02 Electronics And Telecommunications Research Institute Method and apparatus for generating all-in-focus image using multi-focus image
CN110415284B (zh) * 2019-07-31 2022-04-19 中国科学技术大学 一种单视彩色图像深度图获得方法及装置
JP7382249B2 (ja) * 2020-02-14 2023-11-16 株式会社東海理化電機製作所 通信装置及びプログラム
US11503266B2 (en) * 2020-03-06 2022-11-15 Samsung Electronics Co., Ltd. Super-resolution depth map generation for multi-camera or other environments
US20220308166A1 (en) * 2021-03-18 2022-09-29 Wisense Technologies Ltd. System and method for electromagnetic signal estimation
JP7451465B2 (ja) 2021-07-29 2024-03-18 株式会社東芝 学習方法、プログラム及び画像処理装置
US11727537B1 (en) * 2022-03-24 2023-08-15 Qualcomm Incorporated Bokeh effect in variable aperture (VA) camera systems
KR20230174621A (ko) * 2022-06-21 2023-12-28 삼성전자주식회사 깊이 맵 생성을 위한 전자 장치 및 그 동작 방법

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004310504A (ja) 2003-04-08 2004-11-04 Canon Inc 画像処理方法
JP2010081002A (ja) 2008-09-24 2010-04-08 Sanyo Electric Co Ltd 撮像装置
JP2014157425A (ja) 2013-02-14 2014-08-28 Canon Inc 撮像装置及びその制御方法
JP2015522198A (ja) 2012-11-07 2015-08-03 コーニンクレッカ フィリップス エヌ ヴェ 画像に対する深度マップの生成
JP2017034388A (ja) 2015-07-30 2017-02-09 日本電信電話株式会社 辞書生成方法、辞書生成装置、画像処理方法、画像処理装置及び画像処理プログラム
US20170132758A1 (en) 2015-11-05 2017-05-11 Facebook, Inc. Systems and methods for processing content using convolutional neural networks

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CA2288880A1 (en) * 1997-05-06 1998-11-12 Matthew J. Holcomb Surface analysis using gaussian beam profiles
US6556704B1 (en) * 1999-08-25 2003-04-29 Eastman Kodak Company Method for forming a depth image from digital image data
IL156856A (en) * 2003-07-09 2011-11-30 Joseph Shamir Method for particle size and concentration measurement
ES2312881T3 (es) * 2004-06-11 2009-03-01 Saab Ab Modelizacion por computadora de escenas fisicas.
EP1793580B1 (en) * 2005-12-05 2016-07-27 Microsoft Technology Licensing, LLC Camera for automatic image capture having plural capture modes with different capture triggers
US8335390B2 (en) * 2010-03-22 2012-12-18 Sony Corporation Blur function modeling for depth of field rendering
US9292926B1 (en) * 2014-11-24 2016-03-22 Adobe Systems Incorporated Depth map generation
US10237473B2 (en) 2015-09-04 2019-03-19 Apple Inc. Depth map calculation in a stereo camera system
US20190056498A1 (en) * 2016-03-01 2019-02-21 Brightway Vision Ltd. Gated imaging apparatus, system and method
CN106780543B (zh) * 2017-01-13 2019-06-28 深圳市唯特视科技有限公司 一种基于卷积神经网络的双框架估计深度和运动方法
CN106934765A (zh) * 2017-03-14 2017-07-07 长沙全度影像科技有限公司 基于深度卷积神经网络与深度信息的全景图像融合方法

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004310504A (ja) 2003-04-08 2004-11-04 Canon Inc 画像処理方法
JP2010081002A (ja) 2008-09-24 2010-04-08 Sanyo Electric Co Ltd 撮像装置
JP2015522198A (ja) 2012-11-07 2015-08-03 コーニンクレッカ フィリップス エヌ ヴェ 画像に対する深度マップの生成
JP2014157425A (ja) 2013-02-14 2014-08-28 Canon Inc 撮像装置及びその制御方法
JP2017034388A (ja) 2015-07-30 2017-02-09 日本電信電話株式会社 辞書生成方法、辞書生成装置、画像処理方法、画像処理装置及び画像処理プログラム
US20170132758A1 (en) 2015-11-05 2017-05-11 Facebook, Inc. Systems and methods for processing content using convolutional neural networks

Also Published As

Publication number Publication date
JP2021501946A (ja) 2021-01-21
CN111316123A (zh) 2020-06-19
US11113832B2 (en) 2021-09-07
EP3704508A1 (en) 2020-09-09
US20210183089A1 (en) 2021-06-17
EP3704508B1 (en) 2023-07-12
CN111316123B (zh) 2023-07-25
WO2019089039A1 (en) 2019-05-09

Similar Documents

Publication Publication Date Title
JP7013578B2 (ja) 単視点深度予測のための絞りの監視
CN108140130B (zh) 图像处理方法及非暂时性计算机可读介质
US11663733B2 (en) Depth determination for images captured with a moving camera and representing moving features
US11210799B2 (en) Estimating depth using a single camera
EP3997662A1 (en) Depth-aware photo editing
WO2020146911A2 (en) Multi-stage multi-reference bootstrapping for video super-resolution
JP2017520944A (ja) 3dラドン画像の生成および使用
EP4055556B1 (en) Defocus blur removal and depth estimation using dual-pixel image data
CN109661815B (zh) 存在相机阵列的显著强度变化的情况下的鲁棒视差估计
US20240087198A1 (en) Imaging system and method for generating a final digital image via applying a profile to image information
CN115244570A (zh) 合并分离像素数据以获得更深景深
US11800235B2 (en) Dual exposure control in a camera system
US20220319026A1 (en) Imaging system and method
JP7387029B2 (ja) ソフトレイヤ化および深度認識インペインティングを用いた単画像3d写真技術
WO2023009101A1 (en) Generation of machine learning predictions using multiple domain data sets
CN115018067A (zh) 用于视频和其它顺序数据的有条件的以对象为中心的槽注意力学习

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20200804

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20200804

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20210830

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20210907

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20211206

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20211221

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20220119

R150 Certificate of patent or registration of utility model

Ref document number: 7013578

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150