JP7418340B2 - 機械学習を使用した画像増強深度感知 - Google Patents

機械学習を使用した画像増強深度感知 Download PDF

Info

Publication number
JP7418340B2
JP7418340B2 JP2020547382A JP2020547382A JP7418340B2 JP 7418340 B2 JP7418340 B2 JP 7418340B2 JP 2020547382 A JP2020547382 A JP 2020547382A JP 2020547382 A JP2020547382 A JP 2020547382A JP 7418340 B2 JP7418340 B2 JP 7418340B2
Authority
JP
Japan
Prior art keywords
depth
depth map
map
scene
training
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
JP2020547382A
Other languages
English (en)
Other versions
JP2021517685A (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.)
Magic Leap Inc
Original Assignee
Magic Leap Inc
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 Magic Leap Inc filed Critical Magic Leap Inc
Publication of JP2021517685A publication Critical patent/JP2021517685A/ja
Application granted granted Critical
Publication of JP7418340B2 publication Critical patent/JP7418340B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N13/00Stereoscopic video systems; Multi-view video systems; Details thereof
    • H04N13/30Image reproducers
    • H04N13/332Displays for viewing with the aid of special glasses or head-mounted displays [HMD]
    • H04N13/344Displays for viewing with the aid of special glasses or head-mounted displays [HMD] with head-mounted left-right displays
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N13/00Stereoscopic video systems; Multi-view video systems; Details thereof
    • H04N13/20Image signal generators
    • H04N13/271Image signal generators wherein the generated image signals comprise depth maps or disparity maps
    • 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
    • G01S17/00Systems using the reflection or reradiation of electromagnetic waves other than radio waves, e.g. lidar systems
    • G01S17/86Combinations of lidar systems with systems other than lidar, radar or sonar, e.g. with direction finders
    • 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
    • G01S17/00Systems using the reflection or reradiation of electromagnetic waves other than radio waves, e.g. lidar systems
    • G01S17/88Lidar systems specially adapted for specific applications
    • G01S17/89Lidar systems specially adapted for specific applications for mapping or imaging
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • 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
    • G06T7/00Image analysis
    • G06T7/50Depth or shape recovery
    • 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/593Depth or shape recovery from multiple images from stereo images
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N13/00Stereoscopic video systems; Multi-view video systems; Details thereof
    • H04N13/10Processing, recording or transmission of stereoscopic or multi-view image signals
    • H04N13/106Processing image signals
    • H04N13/128Adjusting depth or disparity
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N23/00Cameras or camera modules comprising electronic image sensors; Control thereof
    • H04N23/90Arrangement of cameras or camera modules, e.g. multiple cameras in TV studios or sports stadiums
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/045Combinations of networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T19/00Manipulating 3D models or images for computer graphics
    • G06T19/006Mixed reality
    • 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/10004Still image; Photographic image
    • G06T2207/10012Stereo images
    • 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/10028Range image; Depth image; 3D point clouds
    • 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]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/30Subject of image; Context of image processing
    • G06T2207/30248Vehicle exterior or interior
    • G06T2207/30252Vehicle exterior; Vicinity of vehicle
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N13/00Stereoscopic video systems; Multi-view video systems; Details thereof
    • H04N2013/0074Stereoscopic image analysis
    • H04N2013/0081Depth or disparity estimation from stereoscopic image signals

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Signal Processing (AREA)
  • Multimedia (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Radar, Positioning & Navigation (AREA)
  • Remote Sensing (AREA)
  • Biomedical Technology (AREA)
  • General Engineering & Computer Science (AREA)
  • Health & Medical Sciences (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Artificial Intelligence (AREA)
  • Software Systems (AREA)
  • Biophysics (AREA)
  • Computational Linguistics (AREA)
  • Data Mining & Analysis (AREA)
  • Evolutionary Computation (AREA)
  • General Health & Medical Sciences (AREA)
  • Molecular Biology (AREA)
  • Computing Systems (AREA)
  • Mathematical Physics (AREA)
  • Electromagnetism (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Image Analysis (AREA)
  • Image Processing (AREA)
  • Studio Devices (AREA)

Description

(関連出願の相互参照)
本願は、その開示全体が本明細書に完全に記載されるかのように、あらゆる目的のために参照することによって本明細書に組み込まれる2018年3月13日に出願され、「SYSTEM AND METHOD FOR CONSTRUCTING DEPTH MAPS」と題された米国仮特許出願第62/642,528号の優先権を主張する。
広範囲の技術が、実世界の正確かつ最新の深度マップの利用可能性に依拠している。自律車両は、それらの周囲の深度マップを使用して、ナビゲーション経路を生成し、障害物および関連表記を識別し得る。拡張現実(AR)デバイスは、深度マップを使用して、ユーザによって知覚される仮想画像要素を生成し、光学頭部搭載型ディスプレイ、モニタ、またはハンドヘルドデバイス上に仮想要素を包囲する実世界オブジェクトに関連して適切に置かれるように仮想画像要素を投影し得る。別の例として、ゲーム用デバイスは、深度マップを使用して、ユーザがその身体を使用してコンソールまたはコンピュータを制御し、それと相互作用し、それによって、他のゲームコントローラに取って代わること、またはそれを補完することを可能にし得る。そのような深度マップは、場面内の点と特定の参照点(距離を捕捉した深度センサの参照点等)との間の距離に対応するピクセル値を含む2次元(2D)画像を含み得る。
深度マップセンサは、光、電磁、および/または音響信号の伝送を利用する種々の技術を採用し得、それらのうちの多くは、伝送されている信号と受信されている反射された信号との間の時間を深度マップセンサと反射を引き起こしたオブジェクトとの間の距離に関連させる飛行時間原理に基づいて動作する。光ベースのアプローチの汎用性は、データが収集され得る正確度および速度を所与として、著しく高まっている。例えば、戻り時間における差異と伝送されたパルス状レーザ光の波長とを利用するLiDARセンサは、自動運転車両および無人航空機等の多くの深度感知用途においてほぼ普遍的となりつつある。
深度感知の1つの注目すべき用途は、デジタル的に再現された画像またはその一部が、それらが現実であるように見える様式、またはそのように知覚され得る様式においてユーザに提示される仮想現実(VR)またはARディスプレイシステムのためのものである。VRシナリオは、典型的に、他の実際の実世界の視覚的入力に対して透過性を伴わずにデジタルまたは仮想画像情報の提示を伴い、ARシナリオは、典型的に、ユーザの周囲の実際の世界の可視化に対する拡張として、デジタルまたは仮想画像情報の提示を伴う。現在の深度感知技術に伴って成された進歩にもかかわらず、VRおよびARヘッドセットとともに採用され得る正確、低コスト、かつ軽量の深度センサの必要性が残ったままである。
本発明は、概して、コンピュータビジョン用途において深度マップを算出する方法およびシステムに関する。より具体的に、本開示の実施形態は、非常に少量の深度情報を入力として利用し、非常に高品質の高密度深度マップを生成するシステムおよび方法を提供する。疎深度情報のフレキシブルなパラメータ化は、非常に積極的ダウンサンプリング係数においてさえ、完全ハードウェア深度センサの性能に匹敵する1%を下回る屋内平均絶対相対誤差を生成するモデルにつながる。本明細書に説明されるような訓練可能ネットワークは、並行して、屋外データセットに適用され、あらゆる深度、例えば、1m~80mに関する良好な正確度を達成することができる。本発明は、ARデバイスを参照して説明されるが、本開示は、コンピュータビジョンおよび画像ディスプレイシステムにおける種々の用途に適用可能である。発明の概要が、下で説明される実施例を参照して提供される。下で使用されるように、一連の実施例の任意の参照は、それらの実施例の各々への分離した参照として理解されるべきである(例えば、「実施例1-4」は、「実施例1、2、3、または4」として理解されるべきである)。
実施例1は、深度算出のためにニューラルネットワークを訓練する方法であって、方法は、画像入力をニューラルネットワークに提供することであって、画像入力は、訓練場面のカメラ画像を含む、ことと、深度入力をニューラルネットワークに提供することであって、深度入力は、訓練場面の疎深度マップであって、サンプリングマスクによって定義された複数のサンプリング点の各々に関して、疎深度マップを高密度深度センサを使用して生成された訓練場面の高密度深度マップと等しくなるように設定し、サンプリングマスクによって定義された複数の残りの点の各々に関して、疎深度マップを複数のサンプリング点の最近傍点における高密度深度マップと等しくなるように設定することによって生成される、疎深度マップと、訓練場面の距離マップであって、複数のサンプリング点の各々に関して、距離マップをゼロと等しくなるように設定し、複数の残りの点の各々に関して、距離マップを複数のサンプリング点の最近傍点からの距離と等しくなるように設定することによって生成される、距離マップとを含む、ことと、ニューラルネットワークを使用して、画像入力および深度入力に基づいて、訓練場面の算出深度マップを生成することと、算出深度マップと高密度深度マップとの間の誤差を算出することと、誤差に基づいて、ニューラルネットワークを修正することとを含む。
実施例2は、深度算出のためにニューラルネットワークを訓練する方法であって、方法は、画像入力をニューラルネットワークに提供することであって、画像入力は、訓練場面のカメラ画像を含む、ことと、深度入力をニューラルネットワークに提供することであって、深度入力は、少なくとも部分的に訓練場面の高密度深度マップに基づく、ことと、ニューラルネットワークを使用して、訓練場面の算出深度マップを生成することと、算出深度マップと高密度深度マップとの間の誤差に基づいて、ニューラルネットワークを修正することとを含む。
実施例3は、ニューラルネットワークを使用して、画像入力および深度入力に基づいて、算出深度マップを生成することをさらに含む、実施例2に記載の方法である。
実施例4は、カメラを使用して、カメラ画像を捕捉することと、高密度深度センサを使用して、高密度深度マップを捕捉することとをさらに含む、実施例2-3に記載の方法である。
実施例5は、カメラ画像が、H×W×1の寸法を有するグレースケール画像である、実施例2-4に記載の方法である。
実施例6は、カメラ画像が、H×W×3の寸法を有するRGB画像である、実施例2-5に記載の方法である。
実施例7は、深度入力が、高密度深度マップと、低密度深度センサの複数のサンプリング点を示すサンプリングマスクとに基づいて生成される疎深度マップを含む、実施例2-6に記載の方法である。
実施例8は、疎深度マップが、複数のサンプリング点の各々に関して、疎深度マップを高密度深度マップと等しくなるように設定し、複数の残りの点の各々に関して、疎深度マップを複数のサンプリング点の最近傍点における高密度深度マップと等しくなるように設定することによって生成される、実施例2-7に記載の方法である。
実施例9は、深度入力が、距離マップをさらに含み、距離マップは、複数のサンプリング点の各々に関して、距離マップをゼロと等しくなるように設定し、複数の残りの点の各々に関して、距離マップを複数のサンプリング点の最近傍点からの距離と等しくなるように設定することによって生成される、実施例2-8に記載の方法である。
実施例10は、深度算出のためにニューラルネットワークを使用する方法であって、方法は、カメラを使用して、ランタイム場面のカメラ画像を捕捉することと、低密度深度センサを使用して、ランタイム場面の低密度深度マップを捕捉することと、ランタイム画像入力をニューラルネットワークに提供することであって、ランタイム画像入力は、ランタイム場面のカメラ画像を含む、ことと、ランタイム深度入力をニューラルネットワークに提供することであって、ランタイム深度入力は、少なくとも部分的にランタイム場面の低密度深度マップに基づく、ことと、ニューラルネットワークを使用して、ランタイム画像入力およびランタイム深度入力に基づいて、ランタイム場面の算出深度マップを生成することとを含む。
実施例11は、ランタイム深度入力が、ランタイム場面の疎深度マップを含み、疎深度マップは、ランタイム場面の低密度深度マップによって決定された複数のサンプリング点の各々に関して、ランタイム場面の疎深度マップをランタイム場面の低密度深度マップと等しくなるように設定し、複数の残りの点の各々に関して、ランタイム場面の疎深度マップを複数のサンプリング点の最近傍点におけるランタイム場面の低密度深度マップと等しくなるように設定することによって生成される、実施例10に記載の方法である。
実施例12は、ランタイム深度入力が、ランタイム場面の距離マップを含み、距離マップは、ランタイム場面の低密度深度マップによって決定された複数のサンプリング点の各々に関して、ランタイム場面の距離マップをゼロと等しくなるように設定し、複数の残りの点の各々に関して、ランタイム場面の距離マップを複数のサンプリング点の最近傍点からの距離と等しくなるように設定することによって生成される、実施例10-11に記載の方法である。
実施例13は、ニューラルネットワークが、訓練画像入力をニューラルネットワークに提供することであって、訓練画像入力は、訓練場面のカメラ画像を含む、ことと、訓練深度入力をニューラルネットワークに提供することであって、訓練深度入力は、少なくとも部分的に訓練場面の高密度深度マップに基づく、ことと、ニューラルネットワークを使用して、訓練場面の算出深度マップを生成することと、訓練場面の算出深度マップと訓練場面の高密度深度マップとの間の誤差に基づいて、ニューラルネットワークを修正することとによって、事前に訓練されている、実施例10-12に記載の方法である。
実施例14は、ニューラルネットワークを使用して、訓練画像入力および訓練深度入力に基づいて、算出深度マップを生成することをさらに含む、実施例11-13に記載の方法である。
実施例15は、カメラを使用して、訓練場面のカメラ画像を捕捉することと、高密度深度センサを使用して、訓練場面の高密度深度マップを捕捉することとをさらに含む、実施例11-14に記載の方法である。
実施例16は、訓練場面のカメラ画像が、H×W×1の寸法を有するグレースケール画像である、実施例11-15に記載の方法である。
実施例17は、訓練場面のカメラ画像が、H×W×3の寸法を有するRGB画像である、実施例11-16に記載の方法である。
実施例18は、訓練深度入力が、高密度深度マップと、低密度深度センサの複数のサンプリング点を示すサンプリングマスクとに基づいて生成される訓練場面の疎深度マップを含む、実施例11-17に記載の方法である。
実施例19は、訓練場面の疎深度マップが、複数のサンプリング点の各々に関して、訓練場面の疎深度マップを高密度深度マップと等しくなるように設定し、複数の残りの点の各々に関して、訓練場面の疎深度マップを複数のサンプリング点の最近傍点における高密度深度マップと等しくなるように設定することによって生成される、実施例11-18に記載の方法である。
実施例20は、訓練深度入力が、訓練場面の距離マップをさらに含み、距離マップは、複数のサンプリング点の各々に関して、訓練場面の距離マップをゼロと等しくなるように設定し、複数の残りの点の各々に関して、訓練場面の距離マップを複数のサンプリング点の最近傍点からの距離と等しくなるように設定することによって生成される、実施例11-19に記載の方法である。
実施例21は、深度マップを算出する方法であって、方法は、カメラを使用して、ランタイム場面のカメラ画像を捕捉することと、ランタイム場面のカメラ画像を分析し、ランタイム場面の深度を捕捉すべき複数の標的サンプリング点を決定することと、複数の標的サンプリング点に基づいて、低密度深度センサに関連付けられた設定を調節することと、低密度深度センサを使用して、複数の標的サンプリング点におけるランタイム場面の低密度深度マップを捕捉することと、ランタイム場面のカメラ画像およびランタイム場面の低密度深度マップに基づいて、ランタイム場面の算出深度マップを生成することとを含む。
実施例22は、ランタイム場面のカメラ画像を分析し、複数の標的サンプリング点を決定することが、ランタイム場面のカメラ画像内の1つ以上の着目点を検出することと、1つ以上の着目点に基づいて、複数の標的サンプリング点を決定することとを含む、実施例21に記載の方法である。
実施例23は、ランタイム場面のカメラ画像を分析し、複数の標的サンプリング点を決定することが、ニューラルネットワークを使用して、ランタイム場面のカメラ画像に基づいて、複数の標的サンプリング点を生成することを含む、実施例21-22に記載の方法である。
実施例24は、ニューラルネットワークが、カメラによって捕捉された訓練場面のカメラ画像および高密度深度センサによって捕捉された訓練場面の高密度深度マップを使用して、事前に訓練されている、実施例21-23に記載の方法である。
実施例25は、複数の標的サンプリング点に基づいて、低密度深度センサに関連付けられた設定を調節することが、低密度深度センサの伝送機に信号を複数の標的サンプリング点に伝送させることと、低密度深度センサの複数のピクセル受信機の第1のサブセットが給電状態にされるようにし、複数のピクセル受信機の第2のサブセットが非給電状態にされるようにすることとを含み、第1のサブセットは、複数の標的サンプリング点に対応し、第1のサブセットに給電することが、第1のサブセットに反射された信号を複数の標的サンプリング点から受信させる、実施例21-24に記載の方法である。
実施例26は、複数の標的サンプリング点に基づいて、低密度深度センサに関連付けられた設定を調節することが、低密度深度センサの伝送機に、順次、信号を複数の標的サンプリング点に伝送させることと、低密度深度センサの受信機に反射された信号を複数の標的サンプリング点から受信させることとを含む、実施例21-25に記載の方法である。
実施例27は、ランタイム場面の算出深度マップを生成することが、ニューラルネットワークを使用して、ランタイム場面のカメラ画像およびランタイム場面の低密度深度マップに基づいて、ランタイム場面の算出深度マップを生成することを含む、実施例21-26に記載の方法である。
実施例28は、深度マップを算出するシステムであって、システムは、カメラと、低密度深度センサと、1つ以上のプロセッサとを備え、プロセッサは、カメラを使用して、ランタイム場面のカメラ画像を捕捉することと、ランタイム場面のカメラ画像を分析し、ランタイム場面の深度を捕捉すべき複数の標的サンプリング点を決定することと、複数の標的サンプリング点に基づいて、低密度深度センサに関連付けられた設定を調節することと、低密度深度センサを使用して、複数の標的サンプリング点におけるランタイム場面の低密度深度マップを捕捉することと、ランタイム場面のカメラ画像およびランタイム場面の低密度深度マップに基づいて、ランタイム場面の算出深度マップを生成することとを含む動作を実施するように構成されている。
実施例29は、ランタイム場面のカメラ画像を分析し、複数の標的サンプリング点を決定することが、ランタイム場面のカメラ画像内の1つ以上の着目点を検出することと、1つ以上の着目点複数の標的サンプリング点に基づいて、決定することとを含む、実施例28に記載のシステムである。
実施例30は、ランタイム場面のカメラ画像を分析し、複数の標的サンプリング点を決定することが、ニューラルネットワークを使用して、ランタイム場面のカメラ画像に基づいて、複数の標的サンプリング点を生成することを含む、実施例28-29に記載のシステムである。
実施例31は、ニューラルネットワークが、カメラによって捕捉された訓練場面のカメラ画像および高密度深度センサによって捕捉された訓練場面の高密度深度マップを使用して、事前に訓練されている、実施例28-30に記載のシステムである。
実施例32は、複数の標的サンプリング点に基づいて、低密度深度センサに関連付けられた設定を調節することが、低密度深度センサの伝送機に信号を複数の標的サンプリング点に伝送させることと、低密度深度センサの複数のピクセル受信機の第1のサブセットが給電状態にされるようにし、複数のピクセル受信機の第2のサブセットが非給電状態にされるようにすることとを含み、第1のサブセットは、複数の標的サンプリング点に対応し、第1のサブセットに給電することが、第1のサブセットに反射された信号を複数の標的サンプリング点から受信させる、実施例28-31に記載のシステムである。
実施例33は、複数の標的サンプリング点に基づいて、低密度深度センサに関連付けられた設定を調節することが、低密度深度センサの伝送機に、順次、信号を複数の標的サンプリング点に伝送させることと、低密度深度センサの受信機に反射された信号を複数の標的サンプリング点から受信させることとを含む、実施例28-32に記載のシステムである。
実施例34は、ランタイム場面の算出深度マップを生成することが、ニューラルネットワークを使用して、ランタイム場面のカメラ画像およびランタイム場面の低密度深度マップに基づいて、ランタイム場面の算出深度マップを生成することを含む、実施例28-33に記載のシステムである。
実施例35は、命令を備えている非一過性コンピュータ読み取り可能な媒体であって、命令は、プロセッサによって実行されると、カメラを使用して、ランタイム場面のカメラ画像を捕捉することと、ランタイム場面のカメラ画像を分析し、ランタイム場面の深度を捕捉すべき複数の標的サンプリング点を決定することと、複数の標的サンプリング点に基づいて、低密度深度センサに関連付けられた設定を調節することと、低密度深度センサを使用して、複数の標的サンプリング点におけるランタイム場面の低密度深度マップを捕捉することと、ランタイム場面のカメラ画像およびランタイム場面の低密度深度マップに基づいて、ランタイム場面の算出深度マップを生成することとを含む動作をプロセッサに実施させる。
実施例36は、ランタイム場面のカメラ画像を分析し、複数の標的サンプリング点を決定することが、ランタイム場面のカメラ画像内の1つ以上の着目点を検出することと、1つ以上の着目点に基づいて、複数の標的サンプリング点を決定することとを含む、実施例35に記載の非一過性コンピュータ読み取り可能な媒体である。
実施例37は、ランタイム場面のカメラ画像を分析し、複数の標的サンプリング点を決定することが、ニューラルネットワークを使用して、ランタイム場面のカメラ画像に基づいて、複数の標的サンプリング点を生成することを含む、実施例35-36に記載の非一過性コンピュータ読み取り可能な媒体である。
実施例38は、ニューラルネットワークが、カメラによって捕捉された訓練場面のカメラ画像および高密度深度センサによって捕捉された訓練場面の高密度深度マップを使用して、事前に訓練されている、実施例35-37に記載の非一過性コンピュータ読み取り可能な媒体である。
実施例39は、複数の標的サンプリング点に基づいて、低密度深度センサに関連付けられた設定を調節することが、低密度深度センサの伝送機に信号を複数の標的サンプリング点に伝送させることと、低密度深度センサの複数のピクセル受信機の第1のサブセットが給電状態にされるようにし、複数のピクセル受信機の第2のサブセットが非給電状態にされるようにすることとを含み、第1のサブセットは、複数の標的サンプリング点に対応し、第1のサブセットに給電することが、第1のサブセットに反射された信号を複数の標的サンプリング点から受信させる、実施例35-38に記載の非一過性コンピュータ読み取り可能な媒体である。
実施例40は、複数の標的サンプリング点に基づいて、低密度深度センサに関連付けられた設定を調節することが、低密度深度センサの伝送機に、順次、信号を複数の標的サンプリング点に伝送させることと、低密度深度センサの受信機に、反射された信号を複数の標的サンプリング点から受信させることとを含む、実施例35-39に記載の非一過性コンピュータ読み取り可能な媒体である。
従来の技法に優る多数の利点が、本開示の方法によって達成される。例えば、屋内および屋外場面の両方に関して従来の深度センサ正確度に匹敵する高密度場面深度推定のための単一深層ネットワークモデルが、説明される。加えて、疎深度入力をパラメータ化するフレキシブルな可逆方法が、説明される。これは、モデルの多様なソース(飛行時間深度センサ、LiDAR、ステレオマッチング等)からの恣意的サンプリングパターンへの容易な適合を可能にし、単一モデルの複数の疎パターンへの適合さえ可能にする。本開示の他の利点は、当業者に容易に明白であろう。
本明細書は、例えば、以下の項目も提供する。
(項目1)
深度算出のためにニューラルネットワークを訓練する方法であって、前記方法は、
画像入力を前記ニューラルネットワークに提供することであって、前記画像入力は、訓練場面のカメラ画像を含む、ことと、
深度入力を前記ニューラルネットワークに提供することであって、前記深度入力は、
前記訓練場面の疎深度マップであって、前記疎深度マップは、
サンプリングマスクによって定義された複数のサンプリング点の各々に関して、前記疎深度マップを高密度深度センサを使用して生成された前記訓練場面の高密度深度マップと等しくなるように設定することと、
前記サンプリングマスクによって定義された複数の残りの点の各々に関して、前記疎深度マップを前記複数のサンプリング点の最近傍点における前記高密度深度マップと等しくなるように設定することと
によって生成される、疎深度マップと、
前記訓練場面の距離マップであって、前記距離マップは、
前記複数のサンプリング点の各々に関して、前記距離マップをゼロと等しくなるように設定することと、
前記複数の残りの点の各々に関して、前記距離マップを前記複数のサンプリング点の前記最近傍点からの距離と等しくなるように設定することと
によって生成される、距離マップと
を含む、ことと、
前記ニューラルネットワークを使用して、前記画像入力および前記深度入力に基づいて、前記訓練場面の算出深度マップを生成することと、
前記算出深度マップと前記高密度深度マップとの間の誤差を算出することと、
前記誤差に基づいて、前記ニューラルネットワークを修正することと
を含む、方法。
(項目2)
深度算出のためにニューラルネットワークを訓練する方法であって、前記方法は、
画像入力を前記ニューラルネットワークに提供することであって、前記画像入力は、訓練場面のカメラ画像を含む、ことと、
深度入力を前記ニューラルネットワークに提供することであって、前記深度入力は、少なくとも部分的に前記訓練場面の高密度深度マップに基づく、ことと、
前記ニューラルネットワークを使用して、前記訓練場面の算出深度マップを生成することと、
前記算出深度マップと前記高密度深度マップとの間の誤差に基づいて、前記ニューラルネットワークを修正することと
を含む、方法。
(項目3)
前記ニューラルネットワークを使用して、前記画像入力および前記深度入力に基づいて、前記算出深度マップを生成することをさらに含む、項目2に記載の方法。
(項目4)
カメラを使用して、前記カメラ画像を捕捉することと、
高密度深度センサを使用して、前記高密度深度マップを捕捉することと
をさらに含む、項目2に記載の方法。
(項目5)
前記カメラ画像は、H×W×1の寸法を有するグレースケール画像である、項目2に記載の方法。
(項目6)
前記カメラ画像は、H×W×3の寸法を有するRGB画像である、項目2に記載の方法。
(項目7)
前記深度入力は、疎深度マップを含み、前記疎深度マップは、
前記高密度深度マップと、
低密度深度センサの複数のサンプリング点を示すサンプリングマスクと
に基づいて生成される、項目2に記載の方法。
(項目8)
前記疎深度マップは、
前記複数のサンプリング点の各々に関して、前記疎深度マップを前記高密度深度マップと等しくなるように設定することと、
複数の残りの点の各々に関して、前記疎深度マップを前記複数のサンプリング点の最近傍点における前記高密度深度マップと等しくなるように設定することと
によって生成される、項目7に記載の方法。
(項目9)
前記深度入力は、距離マップをさらに含み、前記距離マップは、
前記複数のサンプリング点の各々に関して、前記距離マップをゼロと等しくなるように設定することと、
複数の残りの点の各々に関して、前記距離マップを前記複数のサンプリング点の最近傍点からの距離と等しくなるように設定することと
によって生成される、項目7に記載の方法。
(項目10)
深度算出のためにニューラルネットワークを使用する方法であって、前記方法は、
カメラを使用して、ランタイム場面のカメラ画像を捕捉することと、
低密度深度センサを使用して、前記ランタイム場面の低密度深度マップを捕捉することと、
ランタイム画像入力を前記ニューラルネットワークに提供することであって、前記ランタイム画像入力は、前記ランタイム場面のカメラ画像を含む、ことと、
ランタイム深度入力を前記ニューラルネットワークに提供することであって、前記ランタイム深度入力は、少なくとも部分的に前記ランタイム場面の低密度深度マップに基づく、ことと、
前記ニューラルネットワークを使用して、前記ランタイム画像入力および前記ランタイム深度入力に基づいて、前記ランタイム場面の算出深度マップを生成することと
を含む、方法。
(項目11)
前記ランタイム深度入力は、前記ランタイム場面の疎深度マップを含み、前記疎深度マップは、
前記ランタイム場面の前記低密度深度マップによって決定された複数のサンプリング点の各々に関して、前記ランタイム場面の前記疎深度マップを前記ランタイム場面の前記低密度深度マップと等しくなるように設定することと、
複数の残りの点の各々に関して、前記ランタイム場面の前記疎深度マップを前記複数のサンプリング点の最近傍点における前記ランタイム場面の前記低密度深度マップと等しくなるように設定することと
によって生成される、項目10に記載の方法。
(項目12)
前記ランタイム深度入力は、前記ランタイム場面の距離マップを含み、前記距離マップは、
前記ランタイム場面の前記低密度深度マップによって決定された複数のサンプリング点の各々に関して、前記ランタイム場面の前記距離マップをゼロと等しくなるように設定することと、
前記複数の残りの点の各々に関して、前記ランタイム場面の前記距離マップを前記複数のサンプリング点の最近傍点からの距離と等しくなるように設定することと
によって生成される、項目10に記載の方法。
(項目13)
前記ニューラルネットワークは、
訓練画像入力を前記ニューラルネットワークに提供することであって、前記訓練画像入力は、訓練場面のカメラ画像を含む、ことと、
訓練深度入力を前記ニューラルネットワークに提供することであって、前記訓練深度入力は、少なくとも部分的に前記訓練場面の高密度深度マップに基づく、ことと、
前記ニューラルネットワークを使用して、前記訓練場面の算出深度マップを生成することと、
前記訓練場面の前記算出深度マップと前記訓練場面の前記高密度深度マップとの間の誤差に基づいて、前記ニューラルネットワークを修正することと
によって、事前に訓練されている、項目10に記載の方法。
(項目14)
前記ニューラルネットワークを使用して、前記訓練画像入力および前記訓練深度入力に基づいて、前記算出深度マップを生成することをさらに含む、項目13に記載の方法。
(項目15)
前記カメラを使用して、前記訓練場面の前記カメラ画像を捕捉することと、
高密度深度センサを使用して、前記訓練場面の前記高密度深度マップを捕捉することと
をさらに含む、項目13に記載の方法。
(項目16)
前記訓練場面の前記カメラ画像は、H×W×1の寸法を有するグレースケール画像である、項目13に記載の方法。
(項目17)
前記訓練場面の前記カメラ画像は、H×W×3の寸法を有するRGB画像である、項目13に記載の方法。
(項目18)
前記訓練深度入力は、前記訓練場面の疎深度マップを含み、前記疎深度マップは、
前記高密度深度マップと、
前記低密度深度センサの複数のサンプリング点を示すサンプリングマスクと
に基づいて生成される、項目13に記載の方法。
(項目19)
前記訓練場面の前記疎深度マップは、
前記複数のサンプリング点の各々に関して、前記訓練場面の前記疎深度マップを前記高密度深度マップと等しくなるように設定することと、
複数の残りの点の各々に関して、前記訓練場面の前記疎深度マップを前記複数のサンプリング点の最近傍点における前記高密度深度マップと等しくなるように設定することと
によって生成される、項目18に記載の方法。
(項目20)
前記訓練深度入力は、前記訓練場面の距離マップをさらに含み、前記距離マップは、
前記複数のサンプリング点の各々に関して、前記訓練場面の前記距離マップをゼロと等しくなるように設定することと、
複数の残りの点の各々に関して、前記訓練場面の前記距離マップを前記複数のサンプリング点の最近傍点からの距離と等しくなるように設定することと
によって生成される、項目18に記載の方法。
図1は、本発明のいくつかの実施形態による、ウェアラブルARデバイスを通して視認されるような拡張現実(AR)場面を図示する。
図2は、本発明のいくつかの実施形態による、ウェアラブルARデバイスの概略図を図示する。
図3は、本発明のいくつかの実施形態による、ARデバイスの訓練モードのためのデバイス設定を図示する。
図4は、本発明のいくつかの実施形態による、ARデバイスのランタイムモードのためのデバイス設定を図示する。
図5A、5B、および5Cは、ARデバイスの種々の訓練モードの概略図を図示する。 図5A、5B、および5Cは、ARデバイスの種々の訓練モードの概略図を図示する。 図5A、5B、および5Cは、ARデバイスの種々の訓練モードの概略図を図示する。
図6Aおよび6Bは、ARデバイスの種々のランタイムモードの概略図を図示する。 図6Aおよび6Bは、ARデバイスの種々のランタイムモードの概略図を図示する。
図7は、本発明のいくつかの実施形態による、ニューラルネットワークへの入力の特徴づけの概略図を図示する。
図8は、ARデバイスの訓練モードまたはランタイムモード間に捕捉/生成され得る種々の画像、マップ、およびマスクの例を図示する。
図9は、ARデバイスの訓練モードまたはランタイムモード中に捕捉/生成され得る種々の画像、マップ、およびマスクの例を図示する。
図10A-10Dは、標的サンプリング点において深度測定値を捕捉するように調節され得る種々の深度センサの例を図示する。 図10A-10Dは、標的サンプリング点において深度測定値を捕捉するように調節され得る種々の深度センサの例を図示する。 図10A-10Dは、標的サンプリング点において深度測定値を捕捉するように調節され得る種々の深度センサの例を図示する。 図10A-10Dは、標的サンプリング点において深度測定値を捕捉するように調節され得る種々の深度センサの例を図示する。
図11は、本発明のいくつかの実施形態による、ニューラルネットワークを訓練する方法を図示する。
図12は、本発明のいくつかの実施形態による、ニューラルネットワークを使用して深度マップを算出する方法を図示する。
図13は、本発明のいくつかの実施形態による、ニューラルネットワークを訓練する方法を図示する。
図14は、本発明のいくつかの実施形態による、深度マップを算出する方法を図示する。
図15は、本明細書に説明される実施形態による、簡略化されたコンピュータシステムを図示する。
効率的、正確、かつリアルタイムの深度推定は、仮想現実(VR)、拡張現実(AR)、複合現実(MR)、自動運転車両、無人航空機、ゲーム用システム、およびロボット等の領域における様々な場面理解用途のために有用である。1つの現在利用可能な消費者グレードの深度センサは、約15Wの電力を消費し、約4.5mの限定された範囲を有し、屋内のみで機能し、増加した周囲光によって影響される性能を有する。将来的VR/MR頭部搭載型深度カメラは、好ましくは、小型であり、1/100の電力量を消費し、RGBカメラのそれに合致する視野および分解能を伴って少なくとも1~80m(屋内および屋外)の範囲を有するであろう。故に、新規エネルギー効率的な深度ハードウェアおよび深度推定モデルの必要がある。
単一の単眼RGB画像からの深度推定は、コンピュータビジョンコミュニティにおいて普遍的となっている問題であるが、その固有のスケールの曖昧性に起因して、明確に定義されていない問題である。したがって、最先端深度推定モデルの全てが、依然として、一般的NYUv2屋内データセットに関して>12%の相対誤差(真の深度に対して)を生成することは、おそらく驚くことではない。そのような誤差は、MR/ARのための3次元(3D)再構成および/または自律運転のための都市ナビゲーション等の用途におけるロバストな使用のために大きすぎる。従来の深度センサは、屋内相対深度誤差約1%を有し(誤差は、時間的ジッタとして定義される)、それは、深層単眼深度推定がそのようなセンサの性能に合致することから依然としてかなりかけ離れていることを示唆する。
単眼深度推定の限界を所与として、本発明は、少量の深度入力を利用するモデルを提供する。これは、例えば、特に設計された疎エネルギー効率的センサから、または、飛行時間センサにおける高密度照明パターンを疎にすることによって、取得され得る。屋外場面に関して、これは、確実なステレオマッチングまたはLiDAR様デバイスから生じ得る。疎深度読み取り値へのアクセスを有することは、深度推定におけるスケールの曖昧性を直ちに解決し、深層ネットワークがごく一部の深度マップへのアクセスのみを有するにもかかわらず完全深度センサに匹敵する性能を提供することができることが説明されるであろう。本発明の1つの目的は、したがって、位置合わせされたRGBまたはグレースケール画像と併せて、疎深度マップを高密度化することである。
本発明による高密度深度予測モデルの1つの利点は、本発明による高密度深度予測モデルが、それらの各々が関連物理的シナリオに対応し得る疎深度入力に関する任意の可能なサンプリングパターンに適応することである。規則的グリッドサンプリングパターンは、問題を深度超分解能のそれと同等にし、疎深度マップは、効率的深度センサから潜在的に生じる。ORBまたはSIFT等のある着目点分布に対応するサンプリングパターンは、モデルをSLAMシステム(着目点場所における疎深度を提供する)内の妥当な要素にするであろう。本開示のいくつかの実施形態は、それらの解釈の容易性および既存の深度センサハードウェアとの直接的関連性に起因して、規則的グリッドパターンに焦点を当て得るが、規則的グリッドパターンは、必須ではない。
図1は、本発明のいくつかの実施形態による、ウェアラブルARデバイスを通して視認されるようなAR場面を図示する。AR場面100が、描写されており、AR技術のユーザは、人々、木々、背景における建物、およびコンクリートプラットフォーム120を特徴とする実世界公園状設定106を見ている。これらのアイテムに加え、AR技術のユーザは、実世界プラットフォーム120上に立っているロボット像110と、マルハナバチの擬人化のように見える、飛んでいる漫画のようなアバタキャラクタ102とを「見ている」と知覚するが、これらの要素(キャラクタ102および像110)は、実世界に存在しない。ヒト視知覚および神経系の著しい複雑性に起因して、他の仮想または実世界画像要素の中に仮想画像要素の快適で自然のように感じる豊かな提示を促進するVRまたはAR技術を生成することは、困難である。
図2は、本発明のいくつかの実施形態による、ウェアラブルARデバイス200の概略図を図示する。ARデバイス200は、左接眼レンズ202A、右接眼レンズ202B、左接眼レンズ202A上に直接またはその近傍に取り付けられる左正面に面した世界カメラ206A、右接眼レンズ202B上に直接またはその近傍に取り付けられる右正面に面した世界カメラ202B、左側に面した世界カメラ206C、右側に面した世界カメラ206D、左接眼レンズ202Aに光学的に連結された左プロジェクタ、右接眼レンズ202Bに光学的に連結された右プロジェクタ、および処理モジュール250を含む種々のコンポーネントを含み得る。ARデバイス200のコンポーネントの一部または全部は、投影された画像がユーザによって視認され得るように、頭部に搭載され得る。1つの特定の実装において、図2に示されるARデバイス200のコンポーネントの全ては、ユーザによって装着可能な単一デバイス(例えば、単一ヘッドセット)上に搭載される。別の実装において、処理モジュール250は、ARデバイス200の他のコンポーネントと物理的に別個であり、有線または無線接続を介して通信可能に結合される。例えば、処理モジュール250は、フレームに固定して取り付けられる構成、ユーザによって装着されるヘルメットまたは帽子に固定して取り付けられる構成、ヘッドホンに内蔵される構成、または、別様に、ユーザに除去可能に取り付けられる構成(例えば、リュック式構成において、ベルト結合式構成において等)等、種々の構成において搭載され得る。
処理モジュール250は、プロセッサ252と、不揮発性メモリ(例えば、フラッシュメモリ)等のデジタルメモリとを備え得、両方は、データの処理、キャッシュ、および記憶を補助するために利用され得る。データは、画像捕捉デバイス(例えば、カメラ206)、低密度深度センサ254、マイクロホン、慣性測定ユニット、加速度計、コンパス、GPSユニット、無線デバイス、および/またはジャイロスコープ等のセンサ(例えば、ARデバイス200に動作可能に結合されるか、または、別様に、ユーザに取り付けられ得る)から捕捉されたデータを含み得る。例えば、処理モジュール250は、カメラ206からの画像220、具体的に、左正面に面した世界カメラ206Aからの左正面画像220A、右正面に面した世界カメラ206Bからの右正面画像220B、左側に面した世界カメラ206Cからの左側画像220C、および右側に面した世界カメラ206Dからの右側画像220Dを受信し得る。いくつかの実施形態において、画像220は、単一画像、一対の画像、画像のストリームを備えているビデオ、ペアリングされた画像のストリーム備えているビデオ等を含み得る。画像220は、ARデバイス200の電源がオン中、周期的に生成され、処理モジュール250に送信され得るか、または、処理モジュール250によってカメラのうちの1つ以上に送信される命令に応答して、生成され得る。別の例として、処理モジュール250は、低密度深度マップC(x,y)を低密度深度センサ254から受信し得る。
接眼レンズ202A、202Bは、それぞれ、プロジェクタ214A、214Bからの光を導くように構成された透明または半透明導波管を備え得る。具体的に、処理モジュール250は、左プロジェクタ214Aに左投影画像222Aを左接眼レンズ202A上に出力させ、右プロジェクタ214Bに右投影画像222Bを右接眼レンズ202Bの中に出力させ得る。いくつかの実施形態において、接眼レンズ202A、202Bの各々は、異なる色および/または異なる深度平面に対応する複数の導波管を備え得る。
カメラ206A、206Bは、それぞれ、ユーザの左および右眼の視野と実質的に重複する画像を捕捉するように位置付けられ得る。故に、カメラ206A、206Bの設置場所は、ユーザの眼の近傍であり得るが、ユーザの視野を不明瞭にするほど近傍ではない。代替として、または加えて、カメラ206A、206Bは、それぞれ、投影された画像222A、222Bの内部結合場所と整列するように位置付けられ得る。カメラ206C、206Dは、ユーザの側面、例えば、ユーザの周辺視覚内またはユーザの周辺視覚外の画像を捕捉するように位置付けられ得る。カメラ206C、206Dを使用して捕捉された画像220C、220Dは、カメラ206A、206Bを使用して捕捉された画像220A、220Bと部分的に重複することも、重複しないこともある。
ARデバイス200の動作中、処理モジュール250は、1つ以上の訓練されたニューラルネットワーク(ニューラルネットワーク256、272等)を使用して、画像220のうちの1つ以上と組み合わせて、低密度深度センサ254によって生成された低密度深度マップに基づいて、(ARデバイス200の視野内の)場面の深度マップを算出し得る。ネットワーク256、272は、例を処理することによって徐々に「学習」し得る人工ニューラルネットワーク、畳み込みニューラルネットワーク、深層ネットワーク、または任意のタイプのネットワークまたはシステムであり得る。いくつかの実施形態において、ネットワーク256、272は、データを1つのノードから別のノードに中継することが可能である接続されたノードの集合を備えている。ネットワーク256、272は、コンパイルされたコードとして、処理モジュール内に記憶され得る。ネットワーク256、272の訓練および使用は、下でさらに詳細に説明される。
図3は、本発明のいくつかの実施形態による、ARデバイス200の訓練モード(すなわち、ネットワーク256、272の一方または両方の訓練モード)のためのデバイス設定を図示する。ARデバイス200が、訓練モードで動作するとき、高密度深度センサ258は、高密度深度センサ258の視野がカメラ206の視野に対応するように、ARデバイス200内またはその近傍に位置付けられ得る。訓練モード中、ネットワーク256、272は、高密度深度センサ258を使用して生成された訓練場面302の高密度深度マップD(x,y)と、カメラ260によって捕捉/生成された訓練場面302のカメラ画像I(x,y,c)とを使用して訓練される。低密度深度センサ254は、訓練モード中、非給電状態にされ、除去され、および/または、無視され得る。いくつかの実施形態において、高密度深度センサ258は、訓練中、一時的に、ARデバイス200の正面に取り付けられる。いくつかの実施形態において、カメラ206および高密度深度センサ258の各々は、デバイスの視野が緊密に整列させられ得るように、順次、所定の場所に位置付けられる。いくつかの実施形態において、訓練は、ARデバイス200の種々のハードウェアコンポーネントが訓練中に動作する必要がないように、事前に生成された画像および深度マップを使用して実施され得る。
図4は、本発明のいくつかの実施形態による、ARデバイス200のランタイムモード(すなわち、ニューラルネットワーク256、272の一方または両方のランタイムモード)のためのデバイス設定を図示する。ランタイムモード中、高密度深度センサ258は、除去され(および/または非給電状態のままにされるか、または、低密度深度感知のために修正される)、ネットワーク256、272は、低密度深度センサ254によって捕捉されたランタイム場面402の低密度深度マップC(x,y)と、カメラ206によって捕捉されたランタイム場面402のカメラ画像I(x,y,c)とに基づいて、算出深度マップ
を生成するために使用される。いくつかの実施形態において、算出深度マップ
の正確度は、訓練場面302およびランタイム場面402が類似するとき、改善される。すなわち、ランタイム性能は、訓練画像がランタイム画像を表すとき、改善される。例えば、場面の両方は、屋内または屋外であり、かつ場面内に類似した照明、テクスチャ、およびアイテムの分布を有し得る。
図5A、5B、および5Cは、ARデバイス200の種々の訓練モードの概略図を図示する。図5Aは、深度マップニューラルネットワーク256が訓練される第1の訓練モードを図示する。いくつかの事例において、3つの入力、すなわち、H×W×Cの寸法を有するカメラ画像I(x,y,c)、H×Wの寸法を有するバイナリサンプリングマスクM(x,y)(代替として、本明細書において、サンプリングマスクと称される)、およびH×Wの寸法を有する高密度深度マップD(x,y)(代替として、本明細書において、グラウンドトゥルース深度マップと称される)が、各訓練ステップにおいて提供され得る。変数Cは、カメラ画像I(x,y,c)のためのチャネルの数であり、RGB画像に関して3、グレースケール画像に関して1と等しい。D(x,y)の特定のピクセル(x,y)が、無効または欠測深度値を有する場合、深度値は、0または無限遠に設定され得る。
いくつかの実施形態において、バイナリサンプリングマスクM(x,y)は、D(x,y)からサンプリングされている点(x,y)に関して、1と等しくなるように設定される。これらの点は、集合的に、本明細書において、複数のサンプリング点と称され得る。バイナリサンプリングマスクM(x,y)の残りの値は、0と等しくなるように設定され得る。サンプリングマスクM(x,y)を使用して高密度深度マップD(x,y)をサンプリングすることの結果は、同様にH×Wの寸法を有する低密度深度マップC(x,y)である。これは、乗算演算(例えば、行列D(x,y)とM(x,y)との間の要素毎乗算)を使用した図5Aに図示される。このモデルに関して、M(x,y)を使用してサンプリングD(x,y)によって取得される低密度深度マップC(x,y)は、低密度深度センサ254によって生成された低密度深度マップC(x,y)と同一か、または実質的に同様と仮定される。
ネットワーク256への入力は、カメラ画像I(x,y,c)と、H×Wの寸法を有する疎深度マップS(x,y)と、H×Wの寸法を有する距離マップS(x,y)とを含む。疎深度マップS(x,y)は、C(x,y)を最近傍の深度値で充填することによって、低密度深度マップC(x,y)から生成される。言い換えると、(1と等しい値を有するM(x,y)の点(x,y)によって元々定義されるような)複数のサンプリング点の各々に関して、S(x,y)の値は、(D(x,y)によって元々定義されるような)C(x,y)の値と等しくなるように設定され、残りの点の各々に関して、S(x,y)の値は、(D(x,y)によって元々定義されるような)最近傍サンプリング点の値C(x,y)と等しくなるように設定される。いくつかの実施形態において、C(x,y)からS(x,y)への変換は、疎深度マップ生成器262によって実施され得る。いくつかの実施形態において、S(x,y)は、C(x,y)を算出せずに、直接、M(x,y)およびD(x,y)から算出され得る。
距離マップS(x,y)は、M(x,y)のユークリッド距離変換を算出することによって、サンプリングマスクM(x,y)から生成される。これは、S(x,y)の値を(x,y)とM(x’,y’)が1と等しい最近点(x’y’)との間のユークリッド距離に設定することを含み、M(x,y)は、サンプルを有効深度点からのみサンプリングするように補正されていると仮定する。言い換えると、(1と等しい値を有するM(x,y)の点(x,y)によって元々定義されるような)複数のサンプリング点の各々に関して、S(x,y)の値は、0と等しくなるように設定され(点とそれ自体との間のユークリッド距離が、0であるので)、残りの点の各々に関して、S(x,y)の値は、(x,y)と最近傍サンプリング点(x’,y’)との間のユークリッド距離と等しくなるように設定される。いくつかの実施形態において、M(x,y)からS(x,y)への変換は、ユークリッド距離変換264によって実施され得る。いくつかの実施形態において、S(x,y)は、M(x,y)の代わりに、C(x,y)から算出され得る(M(x,y)は、C(x,y)から再現され得るので)。
ネットワーク256が、カメラ画像I(x,y,c)、疎深度マップS(x,y)、および距離マップS(x,y)を提供された後、ネットワーク256は、算出深度マップ
を生成し得る。算出深度マップ
は、高密度深度マップD(x,y)と比較され、推定誤差(すなわち、誤差)を計算し得る。誤差は、単一値であり得るか、または行列
とD(x,y)との間の要素毎差異として算出されるH×Wの寸法を有する行列であり得る。ネットワーク256は、次いで、算出深度マップ
と高密度深度マップD(x,y)との間の計算された誤差に基づいて、修正され得る(例えば、修正器266を使用して)。ネットワーク256に対する修正の大きさは、誤差の大きさに比例し得、より大きい誤差は、ネットワーク256へのより大きい修正を引き起こす。いくつかの実施形態において、ネットワーク256は、修正され、それによって、同じ入力を使用した算出深度マップ
の後の出力は、より小さい誤差を生成する(すなわち、
がD(x,y)に関するより良好な予測となる)。訓練ステップの数N(
の算出および/またはネットワーク256に対する修正の数と等しい)は、事前に決定され得るか、または、代替として、Nは、可変であり得、訓練ステップは、誤差が閾値を下回って降下するまで、および/または、誤差がある値に収束するまで、実施される。
いくつかの実施形態において、ネットワーク256は、代替として、算出深度マップ
の代わりに、直接、誤差を出力し得る。この実装において、誤差は、訓練目的のために直ちに利用可能であり、算出深度マップ
が、訓練中、必ずしも必要とされないが、誤差を計算する方法に応じて、誤差を高密度深度マップD(x,y)に加算すること、または誤差をそれから減算することによって取得され得る。算出深度マップ
は、誤差から容易に利用可能であり、かつ誤差に暗に示されるので、そのような実施形態において、誤差を計算することは、算出深度マップ
を計算することとして理解され得る。
図5Bは、サンプリングマスクニューラルネットワーク272が訓練される第2の訓練モードを図示する。いくつかの事例において、2つの入力、すなわち、カメラ画像I(x,y,c)および高密度深度マップD(x,y)が、各訓練ステップにおいて提供され得る。カメラ画像I(x,y,c)は、サンプリングマスクニューラルネットワーク272への入力として提供される。カメラ画像I(x,y,c)が入力として提供されることに応答して、ネットワーク272は、カメラ画像I(x,y,c)を分析し得、分析に基づいて、サンプリングマスクM(x,y)を生成し得る。生成されたサンプリングマスクM(x,y)は、訓練場面の深度が決定されるべき複数の標的サンプリング点を含み得る。サンプリングマスクM(x,y)の残りの値は、0と等しくなるように設定され得る。サンプリングマスクM(x,y)を使用して高密度深度マップD(x,y)をサンプリングすることの結果は、低密度深度マップC(x,y)であり、それは、行列D(x,y)とM(x,y)との間の要素毎乗算によって実施され得る。
ネットワーク256への入力は、カメラ画像I(x,y,c)と、疎深度マップS(x,y)(その算出は、図5Aを参照して説明される)と、距離マップS(x,y)(その算出は、図5Aを参照して説明される)とを含む。ネットワーク256が、カメラ画像I(x,y,c)、疎深度マップS(x,y)、および距離マップS(x,y)を提供された後、ネットワーク256は、算出深度マップ
を生成し得、それは、高密度深度マップD(x,y)と比較され、推定誤差(すなわち、誤差)を計算し得る。ネットワーク272は、次いで、計算された誤差に基づいて、修正され得る(例えば、修正器274を使用して)。ネットワーク272に対する修正の大きさは、誤差の大きさに比例し得、より大きい誤差は、ネットワーク272に対するより大きい修正を引き起こす。いくつかの実施形態において、ネットワーク272は、修正され、同一入力を使用した出深度マップ
の後の出力は、より小さい誤差を生成する(すなわち、
がD(x,y)に関するより良好な予測となる)。訓練ステップの数N(
の算出および/またはネットワーク272に対する修正の数と等しい)は、事前に決定され得るか、または、代替として、Nは、可変であり得、訓練ステップは、誤差が閾値を下回って降下するまで、および/または、誤差がある値に収束するまで、実施される。
このように、ネットワーク272は、深度測定のためにどのカメラ画像I(x,y,c)のピクセルがサンプリングされるべきかを「学習」し、それによって、算出深度マップ
は、高密度深度マップD(x,y)により良好に近似する。いくつかの事例において、ネットワーク272は、カメラ画像I(x,y,c)を分析し、カメラ画像I(x,y,c)内の1つ以上の着目点を検出し得、複数の標的サンプリング点は、検出された着目点に基づき得る。例えば、いくつかの実施形態において、着目点は、縁(境界が2つの画像領域間に存在する点)、角(縁が急変する方向を有する点)、またはブロブ(画像領域が、いくつかの性質、例えば、ほぼ一定である色を有する点)において検出され得る。ネットワーク272は、着目点に基づいて、複数の標的サンプリング点を設置すべき場所を「学習」し得る。例えば、標的サンプリング点は、1つ以上の着目点またはその近傍または着目点間に設置され得る。別の例として、標的サンプリング点は、異なる対の着目点間の中点またはその近傍に設置され得る。別の例として、標的サンプリング点は、着目点のより高い集中を有する画像領域またはその近傍に設置され得る。
図5Cは、深度マップニューラルネットワーク256およびサンプリングマスクニューラルネットワーク272の各々が各訓練ステップ中に訓練される第3の訓練モードを図示する。例えば、第3の訓練モードの各訓練ステップ中、サンプリングマスクM(x,y)が、ネットワーク272によって生成され得、算出深度マップ
が、ネットワーク256によって生成され得、推定誤差(すなわち、誤差)が、算出深度マップ
と高密度深度マップD(x,y)との間の比較に基づいて計算され得、ネットワーク256、272の各々は、推定誤差に基づいて修正され得る(図5Aおよび5Bを参照して説明されるように)。いくつかの実施形態において、ネットワーク256、272は、いくつかの訓練ステップ中、別個に訓練(すなわち、修正)され得、他の訓練ステップ中、同時に訓練され得る。N個の総訓練ステップの一例において、ネットワーク256は、N/2個の訓練ステップ中、訓練され得、ネットワーク272は、他のN/2個の訓練ステップ中、訓練され得る。訓練ステップは、各訓練ステップ間で、ネットワーク256、272間で交替し得るか、または、いくつかの訓練ステップが、他のネットワークに交替する前、各ネットワークに関して実施され得る。別の例において、ネットワーク256は、N/3個の訓練ステップ中、訓練され得、ネットワーク272は、N/3個の訓練ステップ中、訓練され得、ネットワーク256、272の両方が、N/3個の訓練ステップ中、訓練され得る。他の可能性も、想定される。
図6Aおよび6Bは、ARデバイス200の種々のランタイムモードの概略図を図示する。図6Aは、算出深度マップ
が、ランタイム場面の捕捉されたカメラ画像I(x,y,c)および低密度深度マップC(x,y)に基づいて生成され、サンプリングマスクM(x,y)が、カメラ画像I(x,y,c)から独立して決定されている第1のランタイムモードを図示する。第1のランタイムモードは、規則的または不規則的インターバルにおいて、ARデバイス200の性能を促進するために開始され得る。例えば、算出深度マップ
が要求される度、または所定のインターバルにおいて、カメラ206は、カメラ画像I(x,y,c)を捕捉し、低密度深度センサ254は、低密度深度マップC(x,y)を捕捉し、サンプリングマスクM(x,y)は、低密度深度センサ254の設定に基づいて、または(破線によって示されるような)C(x,y)の分析によって、決定されている。サンプリングマスクM(x,y)は、例えば、深度測定が捕捉されるピクセル場所(すなわち、低密度深度マップC(x,y)が非ゼロ値を含むピクセル場所)を決定することによって決定され得る。疎深度マップS(x,y)および距離マップS(x,y)は、次いで、上で説明されるように、それぞれ、C(x,y)およびM(x,y)に基づいて生成され得る。算出深度マップ
は、次いで、ネットワーク256によって、カメラ画像I(x,y,c)、疎深度マップS(x,y)、および距離マップS(x,y)に基づいて生成され、
を投影された画像222A、222Bの生成の中に組み込むプロセッサ252に送信される。
図6Bは、算出深度マップ
が、ランタイム場面の捕捉されたカメラ画像I(x,y,c)および低密度深度マップC(x,y)に基づいて生成され、サンプリングマスクM(x,y)が、カメラ画像I(x,y,c)に基づいて決定されている第2のランタイムモードを図示する。サンプリングマスクM(x,y)は、低密度深度センサ254がサンプリングマスクM(x,y)に従って深度測定値を捕捉するように、低密度深度センサ254に関連付けられた設定を調節するために使用される。第2のランタイムモードは、規則的または不規則的インターバルにおいて、ARデバイス200の性能を促進するように開始され得る。例えば、算出深度マップ
が要求される度、または所定のインターバルにおいて、カメラ206は、カメラ画像I(x,y,c)を捕捉し、低密度深度センサ254は、低密度深度マップC(x,y)を捕捉し、サンプリングマスクM(x,y)は、カメラ画像I(x,y,c)に基づいて決定されている。疎深度マップS(x,y)および距離マップS(x,y)は、次いで、上で説明されるように、それぞれ、C(x,y)およびM(x,y)に基づいて生成され得る。算出深度マップ
は、次いで、ネットワーク256によって、カメラ画像I(x,y,c)、疎深度マップS(x,y)、および距離マップS(x,y)に基づいて生成され、
を投影された画像222A、222Bの生成の中に組み込むプロセッサ252に送信される。
本発明の実施形態は、疎入力がネットワーク256のためにパラメータ化される方法において革新をもたらす。訓練の開始前にサンプルの数およびサンプリングパターン(必然的に、グリッド状パターン)を固定する深度超分解能アプローチと異なり、本明細書における実施形態は、高密度深度マップに関する任意の恣意的サンプリングパターンに適応でき、各訓練ステップに関して、可変数の点をサンプリングできるパラメータ化を検索する。そのような方法は、種々の異なるサンプリング方略が、単に、異なるモデルにわたってのみならず、同じ訓練工程内においてさえ探求されることを可能にし、それは、モデル性能を改良する。任意のサンプリングパターンに適応するために、疎深度入力がグラウンドトゥルース深度マップと同じ分解能であり得ることに留意されたい。
本発明の別の利点は、パラメータ化が、従来のアプローチと比較して高速であることであり、最大で2つのユークリッド変換が、最終疎入力(S(x,y)およびS(x,y))を計算することに関わる。別の利点は、入力疎マップが、ゼロを含まないこともあり(いくつかの従来のアプローチにおけるような疎パラメータ化とは対照的に)、それは、次いで、高密度化問題が、疎マップの上位における残差予測として取り扱われることを可能にする。しかしながら、問題を残差予測にすることに関する1つの潜在的問題は、モデルが、どのピクセル場所がM(x,y)が1と等しいサンプリング場所に対応するかの全ての先験的知識を失うことである。距離マップS(x,y)は、M(x,y)を復元するスムースな方法をモデルに与え、したがって、モデルが選定する場合、疎深度マップS(x,y)が逆算されることを可能にする。
本発明の別の利点は、サンプリングパターンが、訓練中、単に、異なるモデルにわたってのみならず、同じモデル内でも、変動させられることができることである。例えば、低速減衰学習スケジュールが、訓練ステップtに関して、ルールNsamples(t)=[5Ne-0.0003t+N]に従って採用されることができ、それは、6×所望のサンプリング密度Nにおいて、訓練を開始し、訓練が進行するにつれて、所望の最終サンプリング密度Nに向かってスムースに減衰する。この動的サンプリング方略は、ネットワーク性能を上昇させることが実証されている。
図7は、本発明のいくつかの実施形態による、ネットワーク256への入力の特徴づけの概略図を図示する。図7に示されるように、カメラ画像I(x,y,c)は、画像入力268として特徴づけられ得、疎深度マップS(x,y)および距離マップS(x,y)は、深度入力270として特徴づけられ得る。故に、いくつかの実施形態において、ネットワーク256は、画像入力268および深度入力270を含む2つの入力を提供され得る。深度入力270は、C(x,y)、M(x,y)、S(x,y)、およびS(x,y)のうちの1つ以上のものを含み得る。いくつかの実施形態において、深度入力270は、S(x,y)とS(x,y)との連結(H×W×2の寸法を有する)を含む。いくつかの実施形態において、画像入力268と深度入力270とは、組み合わせられ得、I(x,y,c)、S(x,y)、およびS(x,y)の連結(H×W×(C+2)の寸法を有する)を備えている入力が、使用され得る。いくつかの実施形態において、深度入力270は、代替として、疎入力と称される。
図8は、ARデバイス200の訓練モードまたはランタイムモード中に捕捉/生成され得る種々の画像、マップ、およびマスクの例を図示する。サンプリングマスクM(x,y)の非ゼロ値によって図示されるように、サンプリング点は、不規則的であり、グリッドに一致しない。いくつかの実施形態において、深度マップ正確度は、より少ない着目点を伴うエリアより、着目点のより高い集中を伴うエリアをより多くのサンプルを伴ってサンプリングすることによって改善される。例えば、いくつかの実施形態において、カメラ画像I(x,y,c)は、着目場所点を決定するために最初に分析され得る。サンプル点の場所が、続いて、着目点の場所と一致するように決定され得る。図示される実施形態において、各ピクセルの明度は、ピクセルの値に対応し得る。例えば、距離マップS(x,y)の値は、明度に比例し、それによって、より明るいピクセルは、より大きいユークリッド距離に対応する。
図9は、ARデバイス200の訓練モードまたはランタイムモード中に捕捉/生成され得る種々の画像、マップ、およびマスクの例を図示する。図9に示されるアイテムのうちのいくつかは、(サンプリングマスクM(x,y)の非ゼロ値によって図示されるような)サンプリング点がグリッド状であることに起因して、図8に示されるものと異なる。図示される実施形態において、各ピクセルの明度は、ピクセルの値に対応し得る。
図10A-10Dは、種々の深度センサ1054の例を図示し、それらは、サンプリングマスクM(x,y)に示されるような標的サンプリング点において深度測定を捕捉するように調節され得る。深度センサ1054の各々は、本明細書に説明されるように、低密度深度センサ254に対応し得る。深度センサ1054の各々は、他の可能性の中でもとりわけ、光、電磁、音響等の信号の伝送および受信を利用する種々の技術を採用し得る。深度センサ1054の各々の設定は、制御信号1014、1016のいずれかが修正されるとき、調節されるべきと考えられ得る。
図10Aを参照すると、深度センサ1054Aが、伝送機回路1004および受信機回路1006に通信可能に結合される制御回路1002を有するように図示される。伝送機回路1004は、複数の行および列を備えているグリッド状に配列された複数のピクセル伝送機1008を含む。ピクセル伝送機1008の各々は、制御信号1014に基づいて、給電または非給電状態にされ得、給電状態にされると、有向または無向様式において、信号を場面内の標的サンプリング点に向かって伝送し得る。例えば、制御回路1002は、標的サンプリング点に向かって伝送信号をピクセル伝送機1008のうちの1つ以上に操向させ得る。一例において、制御回路1002は、ピクセル伝送機1008の第1のサブセットが給電状されるようにし、ピクセル伝送機1008の第2のサブセットが給電されないようにし得る。ピクセル伝送機1008の第1のサブセットは、信号をデフォルト方向に伝送し得るか、または、特定の標的サンプリング点に向かって操向され得る。別の例において、制御回路1002は、ピクセル伝送機1008の全ての電源がオンにされるようにし得、伝送信号が標的サンプリング点に向かって操向されるようにし得る。ピクセル伝送機1008は、同時に、並行して、および/または順次、電源をオンにされ、および/または操向され得る。
受信機回路1006は、複数の行および列を備えているグリッド状に配列された複数のピクセル受信機1012を含む。ピクセル受信機1012の各々は、制御信号1016に基づいて、給電または非給電状態にされ得、有向または無向様式において、場面内の標的サンプリング点から信号を受信し得る。例えば、制御回路1002は、ピクセル受信機1012のうちの1つ以上を標的サンプリング点から反射された信号を受信するように操向させ得る。一例において、制御回路1002は、ピクセル受信機1012の第1のサブセットが給電されるようにし、ピクセル受信機1012の第2のサブセットを給電されないようにし得る。ピクセル受信機1012の第1のサブセットは、信号をデフォルト方向から受信し得るか、または、信号を特定の標的サンプリング点から受信するように操向され得る。別の例において、制御回路1002は、ピクセル受信機1012の全ての電源がオンにされるようにし得、ピクセル受信機1012が操向され、特定の標的サンプリング点から反射された信号を受信するようにし得る。ピクセル受信機1012は、同時に、並行して、および/または順次、電源をオンにされ、および/または操向され得る。反射された信号を受信後、データは、データ信号1018を介して、ピクセル受信機1012から制御回路1002に送信される。
図10Bを参照すると、深度センサ1054Bが、前述のように、制御信号1014、1016およびデータ信号1018を介して、伝送機回路1004および受信機回路1006に通信可能に結合される、制御回路1002を有するように図示される。深度センサ1054Bは、伝送機回路1004が、複数のピクセル伝送機1008の代わりに、グローバル伝送機1020を含むという点で、前の実施形態と異なり得る。グローバル伝送機1020は、制御信号1014に基づいて、給電または非給電状態にされ得、給電されると、同時にまたは順次、信号を標的サンプリング点の全てに向かって伝送し得る。一例において、制御回路1002は、グローバル伝送機1020に標的サンプリング点の全てを同時に照明させ得る。別の例において、制御回路1002は、走査経路1024に従って、グローバル伝送機1020に標的サンプリング点を順次照明させ得る。
いくつかの実施形態において、深度センサ1054Bは、2017年9月29日に出願され、「REAL TIME CALIBRATION FOR TIME-OF-FLIGHT DEPTH MEASUREMENT」と題された米国特許出願第15/721,640号と、2018年12月13日に出願され、「GLOBAL SHUTTER PIXEL CIRCUIT AND METHOD FOR COMPUTER VISION APPLICATIONS」と題された米国特許出願第数16/219,829号(その全開示は、本明細書に完全に記載されるかのように、参照することによって、本明細書に組み込まれる)とを参照して説明される距離測定のための飛行時間(ToF)結像システムの1つ以上の特徴を含み得る。例えば、グローバル伝送機1020は、光パルスを伝送し、標的オブジェクトを照明するように構成される照明器を含み得、ピクセル受信機1012は、感光性ピクセルアレイを含み得る。ピクセル受信機1012に到達する光の量は、シャッタとしての機能を果たす電子スイッチを開閉することによって、制御回路1002によって制御され得る。
図10Cを参照すると、深度センサ1054Cが、前述のように、制御信号1014、1016およびデータ信号1018を介して、伝送機回路1004および受信機回路1006に通信可能に結合される制御回路1002を有するように図示される。深度センサ1054Cは、受信機回路1006が、複数のピクセル受信機1012の代わりに、グローバル受信機1022を含むという点で、前の実施形態と異なり得る。グローバル受信機1022は、制御信号1016に基づいて、給電または非給電状態にされ得、給電されると、同時にまたは順次、標的サンプリング点の全てから反射された信号を受信し得る。一例において、制御回路1002は、走査経路1026に従って、グローバル受信機1022に反射された信号を標的サンプリング点から順次受信させ得る。
図10Dを参照すると、深度センサ1054Dは、前述のように、制御信号1014、1016およびデータ信号1018を介して、伝送機回路1004および受信機回路1006に通信可能に結合される制御回路1002を有するように図示される。深度センサ1054Dは、伝送機回路1004が、ピクセル伝送機1008の代わりに、グローバル伝送機1020を含み、受信機回路1006が、ピクセル受信機1012の代わりに、グローバル受信機1022を含むという点で、前の実施形態と異なり得る。一例において、制御回路1002は、グローバル伝送機1020に標的サンプリング点の全てを同時に照明させる一方、走査経路1026に従って、グローバル受信機1022に反射された信号を標的サンプリング点から順次受信させ得る。別の例において、制御回路1002は、走査経路1024に従って、グローバル伝送機1020に標的サンプリング点を順次照明させる一方、グローバル受信機1022に反射された信号を標的サンプリング点の全てから同時に受信させ得る。別の例において、制御回路1002は、走査経路1024に従って、グローバル伝送機1020に標的サンプリング点を順次照明させる一方、同時に、走査経路1026に従って、グローバル受信機1022に反射された信号を標的サンプリング点から順次受信させ得る。他の可能性も、想定される。
図11は、本発明のいくつかの実施形態による、ニューラルネットワーク(例えば、深度マップニューラルネットワーク256)を訓練する方法1100を図示する。方法1100の1つ以上のステップは、図示される実施形態に示されるものと異なる順序で実施され得、1つ以上のステップは、方法1100の実施中、省略され得る。方法1100の1つ以上のステップは、プロセッサ252によって、または別のコンピューティングシステムによって実施され得る。
ステップ1102において、画像入力が、ネットワーク256に提供される。画像入力は、訓練場面のカメラ画像を含み得る。カメラ画像は、カメラを使用して、捕捉/生成され得る。カメラ画像は、他の可能性の中でもとりわけ、H×W×1の寸法を有するグレースケール画像またはH×W×3の寸法を有するRGB画像であり得る。
ステップ1104において、深度入力が、ネットワーク256に提供される。深度入力は、少なくとも部分的に訓練場面の高密度深度マップに基づき得る。高密度深度マップは、高密度深度センサを使用して、捕捉/生成され得る。深度入力は、高密度深度マップに基づいて生成された疎深度マップと、複数のサンプリング点を示すサンプリングマスクとを含み得る。例えば、疎深度マップは、複数のサンプリング点の各々に関して、疎深度マップを高密度深度マップと等しくなるように設定し、複数の残りの点の各々に関して、疎深度マップを複数のサンプリング点の最近傍点における高密度深度マップと等しくなるように設定することによって生成され得る。深度入力は、距離マップをさらに含み得、距離マップは、複数のサンプリング点の各々に関して、距離マップをゼロと等しくなるように設定し、複数の残りの点の各々に関して、距離マップを複数のサンプリング点の最近傍点からの距離と等しくなるように設定することによって生成され得る。複数のサンプリング点のサンプルの数およびサンプルの場所は、ランタイムモードにおいて使用されるための低密度深度センサの能力または設定に基づき得る。
ステップ1106において、訓練場面の算出深度マップが、ネットワーク256を使用して生成される。算出深度マップは、ネットワーク256によって、画像入力および深度入力に基づいて生成され得る。いくつかの実施形態において、ステップ1106は、随意に、算出深度マップをネットワーク256から受信することおよび/またはネットワーク256に算出深度マップを生成させることを含む。いくつかの実施形態において、ステップ1106は、算出深度マップと高密度深度マップとの間の誤差を生成することと、(随意に)誤差を使用して、算出深度マップを生成することとを含む。
ステップ1108において、ネットワーク256が、算出深度マップと高密度深度マップとの間の誤差に基づいて修正される。他の可能性の中でもとりわけ、ネットワーク256は、誤差に基づいて自己補正し得るか、または、ネットワーク256は、外部プロセスによって修正され得る。
図12は、本発明のいくつかの実施形態による、ニューラルネットワーク(例えば、深度マップニューラルネットワーク256)を使用して深度マップを算出する方法1200を図示する。方法1200の1つ以上のステップは、図示される実施形態に示されるものと異なる順序で実施され得、1つ以上のステップは、方法1200の実施中、省略され得る。方法1200の1つ以上のステップは、プロセッサ252によって、または別のコンピューティングシステムによって実施され得る。
ステップ1202において、ランタイム場面のカメラ画像が、カメラを使用して捕捉される。カメラ画像は、他の可能性の中でもとりわけ、H×W×1の寸法を有するグレースケール画像またはH×W×3の寸法を有するRGB画像であり得る。ランタイム場面のカメラ画像を捕捉するために使用されるカメラは、方法1100を参照して説明されるように、訓練場面のカメラ画像を捕捉するために使用されるカメラと同じであることも、異なることもある。
ステップ1204において、ランタイム場面の低密度深度マップが、低密度深度センサを使用して捕捉される。低密度深度マップは、複数のサンプリング点において非ゼロ深度値を含み得る。複数のサンプリング点のサンプルの数およびサンプルの場所は、低密度深度センサの能力または設定に基づき得る。いくつかの実施形態において、低密度深度マップは、複数のサンプリング点におけるランタイム場面の高密度深度マップのサンプリングされたバージョンと同等であり得るか、または、それに類似し得る。
ステップ1206において、画像入力が、ネットワーク256に提供される。画像入力は、ステップ1202において捕捉されたランタイム場面のカメラ画像を含み得る。
ステップ1208において、深度入力が、ネットワーク256に提供される。深度入力は、少なくとも部分的にステップ1204において捕捉されたランタイム場面の低密度深度マップに基づき得る。深度入力は、ランタイム場面の低密度深度マップに基づいて生成されたランタイム場面の疎深度マップを含み得る。例えば、ランタイム場面の疎深度マップは、複数のサンプリング点の各々に関して、ランタイム場面の疎深度マップをランタイム場面の低密度深度マップと等しくなるように設定し、複数の残りの点の各々に関して、ランタイム場面の疎深度マップを複数のサンプリング点の最近傍点におけるランタイム場面の低密度深度マップと等しくなるように設定することによって生成され得る。深度入力は、ランタイム場面の低密度深度マップおよび/または複数のサンプリング点に基づいて生成されたランタイム場面の距離マップをさらに含み得る。例えば、ランタイム場面の距離マップは、複数のサンプリング点の各々に関して、ランタイム場面の距離マップをゼロと等しくなるように設定し、複数の残りの点の各々に関して、ランタイム場面の距離マップを複数のサンプリング点の最近傍点からの距離と等しくなるように設定することによって生成され得る。
ステップ1210において、ランタイム場面の算出深度マップが、ネットワーク256を使用して生成される。ランタイム場面の算出深度マップは、ネットワーク256によって、画像入力および深度入力に基づいて生成され得る。例えば、ネットワーク256は、入力として画像入力および深度入力を受信すると、ランタイム場面の算出深度マップを生成し得る。いくつかの実施形態において、ステップ1210は、随意に、ランタイム場面の算出深度マップをネットワーク256から受信することおよび/またはネットワーク256にランタイム場面の算出深度マップを生成させることを含む。いくつかの実施形態において、ステップ1210は、誤差を生成することと、誤差を使用して、ランタイム場面の算出深度マップを生成することとを含む。
図13は、本発明のいくつかの実施形態による、ニューラルネットワーク(例えば、サンプリングマスクニューラルネットワーク272)を訓練する方法1300を図示する。方法1300の1つ以上のステップは、図示される実施形態に示されるものと異なる順序で実施され得、1つ以上のステップは、方法1300の実施中、省略され得る。方法1300の1つ以上のステップは、プロセッサ252によって、または別のコンピューティングシステムによって実施され得る。
ステップ1302において、複数の標的サンプリング点を備えているサンプリングマスクが、ネットワーク272によって生成される。サンプリングマスクは、ネットワーク272によって、訓練場面のカメラ画像に基づいて生成され得る。複数の標的サンプリング点は、訓練場面の深度測定値が捕捉されるべき場所に対応し得る。カメラ画像は、カメラを使用して、捕捉/生成され得る。いくつかの実施形態において、ステップ1302は、随意に、サンプリングマスクをネットワーク272から受信することおよび/またはネットワーク272にサンプリングマスクを生成させることを含む。
ステップ1304において、画像入力が、ネットワーク256に提供される。画像入力は、カメラ画像を含み得る。
ステップ1306において、深度入力が、ネットワーク256に提供される。深度入力は、少なくとも部分的に訓練場面の高密度深度マップに基づき得る。高密度深度マップは、高密度深度センサを使用して、捕捉/生成され得る。深度入力は、高密度深度マップとサンプリングマスクの複数の標的サンプリング点とに基づいて生成された疎深度マップを含み得る。例えば、疎深度マップは、複数の標的サンプリング点の各々に関して、疎深度マップを高密度深度マップと等しくなるように設定し、複数の残りの点の各々に関して、疎深度マップを複数の標的サンプリング点の最近傍点における高密度深度マップと等しくなるように設定することによって生成され得る。深度入力は、距離マップをさらに含み、距離マップは、複数の標的サンプリング点の各々に関して、距離マップをゼロと等しくなるように設定し、複数の残りの点の各々に関して、距離マップを複数の標的サンプリング点の最近傍点からの距離と等しくなるように設定することによって生成され得る。
ステップ1308において、訓練場面の算出深度マップが、ネットワーク256を使用して生成される。算出深度マップは、ネットワーク256によって、画像入力および深度入力に基づいて生成され得る。いくつかの実施形態において、ステップ1308は、随意に、算出深度マップをネットワーク256から受信することおよび/またはネットワーク256に算出深度マップを生成させることを含む。いくつかの実施形態において、ステップ1308は、算出深度マップと高密度深度マップとの間の誤差を生成することと、(随意に)誤差を使用して、算出深度マップを生成することとを含む。
ステップ1310において、ネットワーク272が、算出深度マップと高密度深度マップとの間の誤差に基づいて修正される。ネットワーク272は、誤差に基づいて自己補正し得るか、または、ネットワーク272は、他の可能性の中でもとりわけ、外部プロセスによって修正され得る。
図14は、本発明のいくつかの実施形態による、深度マップを算出する方法1400を図示する。方法1400の1つ以上のステップは、図示される実施形態に示されるものと異なる順序で実施され得、1つ以上のステップは、方法1400の実施中、省略され得る。方法1400の1つ以上のステップは、プロセッサ252によって、または別のコンピューティングシステムによって実施され得る。
ステップ1402において、ランタイム場面のカメラ画像が、カメラを使用して捕捉される。カメラ画像は、他の可能性の中でもとりわけ、H×W×1の寸法を有するグレースケール画像またはH×W×3の寸法を有するRGB画像であり得る。ランタイム場面のカメラ画像を捕捉するために使用されるカメラは、方法1300を参照して説明されるように、訓練場面のカメラ画像を捕捉するために使用されるカメラと同じであることも、異なることもある。
ステップ1404において、ランタイム場面のカメラ画像が、複数の標的サンプリング点を決定するために分析される。複数の標的サンプリング点は、ランタイム場面の深度測定値が捕捉されるべき場所に対応し得る。いくつかの実施形態において、ステップ1404は、カメラ画像内の1つ以上の着目点を検出することと、1つ以上の着目点に基づいて、複数の標的サンプリング点を決定することとを含む。いくつかの実施形態において、ステップ1404は、ニューラルネットワーク(例えば、サンプリングマスクニューラルネットワーク272)を使用して、複数の標的サンプリング点を決定することを含む。例えば、ネットワーク272は、入力としてカメラ画像を受信すると、複数の標的サンプリング点を生成するように訓練され得る。
ステップ1406において、低密度深度センサに関連付けられた設定が、複数の標的サンプリング点に基づいて調節される。低密度深度センサに関連付けられた設定は、深度センサにフィードする制御信号、深度センサによって実行されるコード、深度センサの動作を統制する1つ以上の変数等であり得る。いくつかの実施形態において、ステップ1406(および/またはステップ1408)は、低密度深度センサの伝送機に信号を複数の標的サンプリング点に伝送させることと、低密度深度センサの複数のピクセル受信機のサブセットが給電され、複数の標的サンプリング点から反射された信号を受信するようにすることとを含む。いくつかの実施形態において、ステップ1406(および/またはステップ1408)は、低密度深度センサの伝送機に信号を複数の標的サンプリング点に順次伝送させることと、低密度深度センサの受信機に複数の標的サンプリング点から反射された信号を受信させることとを含む。
ステップ1408において、ランタイム場面の低密度深度マップが、低密度深度センサを使用して、複数の標的サンプリング点において捕捉される。低密度深度マップは、複数の標的サンプリング点において非ゼロ深度値を含み得る。いくつかの実施形態において、低密度深度マップは、複数の標的サンプリング点におけるランタイム場面の高密度深度マップのサンプリングされたバージョンと同等であり得るか、または、それに類似し得る。
ステップ1410において、ランタイム場面の算出深度マップが、カメラ画像および低密度深度マップに基づいて生成される。いくつかの実施形態において、ランタイム場面の算出深度マップは、ニューラルネットワーク(例えば、深度マップニューラルネットワーク256)によって、画像入力および深度入力に基づいて生成される。画像入力は、カメラ画像を含み得、深度入力は、複数の標的サンプリング点および/または低密度深度マップを含み得るか、および/または、それに基づき得る。いくつかの例において、ネットワーク256は、入力として画像入力および深度入力を受信すると、ランタイム場面の算出深度マップを生成し得る。いくつかの実施形態において、ステップ1410は、随意に、ランタイム場面の算出深度マップをネットワーク256から受信することおよび/またはネットワーク256にランタイム場面の算出深度マップを生成させることを含む。いくつかの実施形態において、ステップ1410は、誤差を生成することと、誤差を使用して、ランタイム場面の算出深度マップを生成することとを含む。
図15は、本明細書に説明される実施形態による、簡略化されたコンピュータシステム1500を図示する。図15に図示されるようなコンピュータシステム1500は、本明細書に説明されるようなARデバイス200等のデバイスの中に組み込まれ得る。図15は、種々の実施形態によって提供される方法のステップの一部または全部を実施し得るコンピュータシステム1500の一実施形態の概略化された例証を提供する。図15は、種々のコンポーネントの一般化された例証を提供するためだけに意図され、そのいずれかまたは全てが、必要に応じて利用され得ることに留意されたい。図15は、したがって、広義に、個々のシステム要素が比較的に分離された様式または比較的により統合された様式において実装され得る状況を図示する。
コンピュータシステム1500は、バス1505を介して電気的に結合されることができるか、または必要に応じて別様に通信し得るハードウェア要素を備えているように示される。ハードウェア要素は、限定ではないが、デジタル信号処理チップ、グラフィック加速プロセッサ等の1つ以上の汎用プロセッサおよび/または1つ以上の特殊目的プロセッサを含む1つ以上のプロセッサ1510と、限定ではないが、マウス、キーボード、カメラ等を含むことができる1つ以上の入力デバイス1515と、限定ではないが、ディスプレイデバイス、プリンタ等を含むことができる1つ以上の出力デバイス1520とを含み得る。
コンピュータシステム1500は、限定ではないが、ローカルおよび/またはネットワークアクセス可能記憶装置を備えていることができ、および/または、限定ではないが、プログラム可能であるフラッシュ更新可能である等であることができるディスクドライブ、ドライブアレイ、光学記憶デバイス、ランダムアクセスメモリ(「RAM」)等のソリッドステート記憶デバイス、および/または読み取り専用メモリ(「ROM」)を含むことができる1つ以上の非一過性記憶デバイス1525をさらに含み、および/または、それと通信し得る。そのような記憶デバイスは、限定ではないが、種々のファイルシステム、データベース構造等を含む任意の適切なデータ記憶を実装するように構成され得る。
コンピュータシステム1500は、限定ではないが、Bluetooth(登録商標)デバイス、802.11デバイス、WiFiデバイス、WiMaxデバイス、セルラー通信設備等のモデム、ネットワークカード(無線または有線)、赤外線通信デバイス、無線通信デバイス、および/またはチップセットを含むことができる通信サブシステム1530も含み得る。通信サブシステム1530は、1つ以上の入力および/または出力通信インターフェースを含み、データが、一例として挙げるために以下に説明されるネットワーク、すなわち、他のコンピュータシステム、テレビ、および/または本明細書に説明される任意の他のデバイス等のネットワークと交換されることを可能にし得る。所望の機能性および/または他の実装配慮に応じて、ポータブル電子デバイスまたは類似デバイスは、通信サブシステム1530を介して、画像および/または他の情報を通信し得る。他の実施形態において、ポータブル電子デバイス、例えば、第1の電子デバイスは、コンピュータシステム1500、例えば、電子デバイスの中に入力デバイス1515として組み込まれ得る。いくつかの実施形態において、コンピュータシステム1500は、作業メモリ1535を備え、それは、上で説明されるようなRAMまたはROMデバイスをさらに含むであろう。
コンピュータシステム1500は、作業メモリ1535内に現在位置するものとして示されるソフトウェア要素も含むことができ、ソフトウェア要素は、オペレーティングシステム1540、デバイスドライバ、実行可能ライブラリ、および/または、1つ以上のアプリケーションプログラム1545等の他のコードを含み、1つ以上のアプリケーションプログラム1545は、種々の実施形態によって提供されるコンピュータプログラムを備え得、および/または、方法を実装し、および/または、本明細書に説明されるような他の実施形態によって提供されるシステムを構成するように設計され得る。単に、一例として、上で議論される方法に関して説明される1つ以上のプロシージャは、コンピュータまたはコンピュータ内のプロセッサによって実行可能なコードおよび/または命令として実装され得、ある側面において、次いで、そのようなコードおよび/または命令は、説明される方法に従って1つ以上の動作を実施するように汎用コンピュータまたは他のデバイスを構成および/または適合するために使用されることができる。
これらの命令および/またはコードの組は、上で説明される記憶デバイス1525等の非一過性コンピュータ読み取り可能な記憶媒体上に記憶され得る。ある場合に、記憶媒体は、コンピュータシステム1500等のコンピュータシステム内に組み込まれ得る。他の実施形態において、記憶媒体は、コンピュータシステムと別個であり、例えば、コンパクトディスク等の取り外し可能媒体であり、および/または、インストールパッケージ内に提供され得、それによって、記憶媒体は、記憶される命令/コードを用いて汎用コンピュータをプログラム、構成、および/または、適合するために使用され得る。これらの命令は、コンピュータシステム1500によって実行可能である実行可能コードの形態をとり得、および/または、例えば、種々の概して利用可能なコンパイラ、インストールプログラム、圧縮/解凍ユーティリティ等のいずれかを使用したコンピュータシステム1500上へのコンパイルおよび/またはインストールに応じて、次いで、実行可能コードの形態をとるソース、および/または、インストール可能コードの形態をとり得る。
実質的な変形例が、具体的要件に従って構成され得ることが、当業者に明白であろう。例えば、カスタマイズされたハードウェアも、使用され得、および/または、特定の要素が、ハードウェア、アプレット等のポータブルソフトウェアを含むソフトウェア、または両方において実装され得る。さらに、ネットワーク入力/出力デバイス等の他のコンピューティングデバイスへの接続も、採用され得る。
上で述べられたように、一側面において、いくつかの実施形態は、コンピュータシステム1500等のコンピュータシステムを採用し、技術の種々の実施形態による方法を実施し得る。一式の実施形態によると、そのような方法のプロシージャの一部または全部は、プロセッサ1510が、オペレーティングシステム1540の中に組み込まれ得る1つ以上の命令の1つ以上のシーケンスおよび/または作業メモリ1535内に含まれるアプリケーションプログラム1545等の他のコードを実行することに応答して、コンピュータシステム1500によって実施される。そのような命令は、記憶デバイス1525のうちの1つ以上のもの等の別のコンピュータ読み取り可能な媒体から作業メモリ1535の中に読み取られ得る。単に、一例として、作業メモリ1535内に含まれる一連の命令の実行は、プロセッサ1510に、本明細書に説明される方法の1つ以上のプロシージャを実施させ得る。加えて、または代替として、本明細書に説明される方法の一部は、特殊ハードウェアを通して実行され得る。
用語「機械読み取り可能な媒体」および「コンピュータ読み取り可能な媒体」は、本明細書で使用されるとき、機械を特定の方式で動作させるデータを提供することに関わる任意の媒体を指す。コンピュータシステム1500を使用して実装されるある実施形態において、種々のコンピュータ読み取り可能な媒体は、実行のための命令/コードをプロセッサ1510に提供することに関わり得、および/または、そのような命令/コードを記憶および/または搬送するために使用され得る。多くの実装において、コンピュータ読み取り可能な媒体は、物理的および/または有形記憶媒体である。そのような媒体は、不揮発性媒体または揮発性媒体の形態をとり得る。不揮発性媒体は、例えば、記憶デバイス1525等の光学および/または磁気ディスクを含む。揮発性媒体は、限定ではないが、作業メモリ1535等の動的メモリを含む。
一般的形態の物理的および/または有形コンピュータ読み取り可能な媒体は、例えば、フロッピー(登録商標)ディスク、フレキシブルディスク、ハードディスク、磁気テープ、または任意の他の磁気媒体、CD-ROM、任意の他の光学媒体、パンチカード、紙テープ、孔のパターンを伴う任意の他の物理的媒体、RAM、PROM、EPROM、FLASH(登録商標)-EPROM、任意の他のメモリチップまたはカートリッジ、またはコンピュータが命令および/またはコードを読み取ることができる任意の他の媒体を含む。
種々の形態のコンピュータ読み取り可能な媒体が、実行のための1つ以上の一連の1つ以上の命令をプロセッサ1510に搬送することに関わり得る。単に、一例として、命令は、、遠隔コンピュータの磁気ディスクおよび/または光学ディスク上で最初に搬送され得る。遠隔コンピュータは、命令をその動的メモリの中にロードし、コンピュータシステム1500によって受信および/または実行される伝送媒体を経由して、命令を信号として送信し得る。
通信サブシステム1530および/またはそのコンポーネントは、概して、信号を受信し、バス1505が、次いで、信号および/または信号によって搬送されるデータ、命令等を作業メモリ1535に搬送し得、それから、プロセッサ1510が、命令を読み出し、実行する。作業メモリ1535によって受信された命令は、随意に、プロセッサ1510による実行前または後のいずれかにおいて、非一過性記憶デバイス1525上に記憶され得る。
上で議論される方法、システム、およびデバイスは、例である。種々の構成は、必要に応じて、種々のプロシージャまたはコンポーネントを省略、代用、または追加し得る。例えば、代替構成において、方法は、説明されるものと異なる順序で実施され得るか、および/または、種々の段階は、追加され得、省略され得、および/または組み合わせられ得る。ある構成に関して説明される特徴も、種々の他の構成において組み合わせられ得る。構成の異なる側面および要素は、類似様式で組み合わせられ得る。技術は、進歩するものであり、したがって、要素の多くも、例であり、本開示の範囲または請求項を限定するものではない。
具体的詳細が、実装を含む例示的構成の完全な理解を提供するために説明に与えられる。しかしながら、構成は、これらの具体的詳細を伴わずに実践され得る。例えば、周知の回路、プロセス、アルゴリズム、構造、および技法は、構成を曖昧にすることを回避するために、不必要な詳細を伴わずに示されている。本説明は、例示的構成のみを提供し、請求項の範囲、利用可能性、または構成を限定するものではない。むしろ、構成の前述の説明は、当業者に説明される技法を実装する有効な説明を提供するであろう。種々の変更が、本開示の精神または範囲から逸脱することなく、要素の機能および配列に行われ得る。
構成は、概略フローチャートまたはブロック図として描写されるプロセスとしても説明され得る。各々が、シーケンシャルプロセスとして動作を説明し得るが、動作の多くは、並行して、または同時に実施され得る。加えて、動作の順序は、再配列され得る。プロセスは、図内に含まれない追加のステップを有し得る。さらに、方法の例は、ハードウェア、ソフトウェア、ファームウェア、ミドルウェア、マイクロコード、ハードウェア記述言語、または任意のそれらの組み合わせによって実装され得る。ソフトウェア、ファームウェア、ミドルウェア、またはマイクロコード内に実装されるとき、必要タスクを実施するプログラムコードまたはコードセグメントは、記憶媒体等の非一過性コンピュータ読み取り可能な媒体内に記憶され得る。プロセッサは、説明されるタスクを実施し得る。
いくつかの例示的構成が説明されたが、種々の修正、代替構造、および均等物が、本開示の精神から逸脱することなく、使用され得る。例えば、前述の要素は、より大きいシステムのコンポーネントであり得、他のルールが、本技術の用途に優先する、または別様にそれを修正し得る。いくつかのステップは、前述の要素が検討される前、間、または後にも行われ得る。故に、前述の説明は、請求項の範囲を束縛するものではない。
本明細書および添付の請求項で使用されるように、単数形「a」、「an」、および「the」は、文脈によって明確に別様に示されない限り、複数参照を含む。したがって、例えば、「ユーザ」の言及は、複数のそのようなユーザを含み、「プロセッサ」の言及は、1つ以上のプロセッサおよび当業者に公知のその均等物等の言及を含む。
さらに、単語「comprise(~を備えている)」、「comprising(~を備えている)」、「contains(~を含む)」、「containing(~を含む)」、「include(~を含む)」、「including(~を含む)」、および「includes(~を含む)」は、本明細書および以下の請求項で使用されるとき、述べられた特徴、整数、コンポーネント、またはステップの存在を規定するために意図されるが、それらは、1つ以上の他の特徴、整数、コンポーネント、ステップ、行為、またはグループの存在または追加を除外するものではない。
本明細書に説明される実施例および実施形態が例証目的のみのためのものであり、それに照らして、種々の修正または変更が当業者に示唆され、本願の精神および権限および添付の請求項の範囲内に含まれることも理解されたい。

Claims (19)

  1. 深度算出のためにニューラルネットワークを訓練する方法であって、前記方法は、
    画像入力を前記ニューラルネットワークに提供することであって、前記画像入力は、訓練場面のカメラ画像を含む、ことと、
    深度入力を前記ニューラルネットワークに提供することであって、前記深度入力は、
    前記訓練場面の疎深度マップであって、前記疎深度マップは、
    サンプリングマスクによって定義された複数のサンプリング点の各々に関して、前記疎深度マップを高密度深度センサを使用して生成された前記訓練場面の高密度深度マップと等しくなるように設定することと、
    前記サンプリングマスクによって定義された複数の残りの点の各々に関して、前記疎深度マップを前記複数のサンプリング点の最近傍点における前記高密度深度マップと等しくなるように設定することと
    によって生成される、疎深度マップと、
    前記訓練場面の距離マップであって、前記距離マップは、
    前記複数のサンプリング点の各々に関して、前記距離マップをゼロと等しくなるように設定することと、
    前記複数の残りの点の各々に関して、前記距離マップを前記複数のサンプリング点の前記最近傍点からの距離と等しくなるように設定することと
    によって生成される、距離マップと
    を含む、ことと、
    前記ニューラルネットワークを使用して、前記画像入力および前記深度入力に基づいて、前記訓練場面の算出深度マップを生成することと、
    前記算出深度マップと前記高密度深度マップとの間の誤差を算出することと、
    前記誤差に基づいて、前記ニューラルネットワークを修正することと
    を含む、方法。
  2. 深度算出のためにニューラルネットワークを訓練する方法であって、前記方法は、
    画像入力を前記ニューラルネットワークに提供することであって、前記画像入力は、訓練場面のカメラ画像を含み、前記カメラ画像は、カメラを使用して捕捉されたものである、ことと、
    深度入力を前記ニューラルネットワークに提供することであって、前記深度入力は、少なくとも部分的に前記訓練場面の高密度深度マップのサンプリングされたバージョンに基づき、前記高密度深度マップは、前記カメラと別個である高密度深度センサを使用して捕捉されたものである、ことと、
    前記ニューラルネットワークを使用して、前記画像入力および前記深度入力に基づいて、前記訓練場面の算出深度マップを生成することと、
    前記算出深度マップと前記高密度深度マップとの間の誤差に基づいて、前記ニューラルネットワークを修正することと
    を含む、方法。
  3. 前記カメラを使用して、前記カメラ画像を捕捉することと、
    前記高密度深度センサを使用して、前記高密度深度マップを捕捉することと
    をさらに含む、請求項2に記載の方法。
  4. 前記カメラ画像は、H×W×1の寸法を有するグレースケール画像である、請求項2に記載の方法。
  5. 前記カメラ画像は、H×W×3の寸法を有するRGB画像である、請求項2に記載の方法。
  6. 前記深度入力は、疎深度マップを含み、前記疎深度マップは、
    前記高密度深度マップの前記サンプリングされたバージョンと、
    前記高密度深度マップをサンプリングするために使用される低密度深度センサの複数のサンプリング点を示すサンプリングマスクと
    に基づいて生成される、請求項2に記載の方法。
  7. 前記疎深度マップは、
    前記複数のサンプリング点の各々に関して、前記疎深度マップを前記高密度深度マップと等しくなるように設定することと、
    複数の残りの点の各々に関して、前記疎深度マップを前記複数のサンプリング点の最近傍点における前記高密度深度マップと等しくなるように設定することと
    によって生成される、請求項6に記載の方法。
  8. 前記深度入力は、距離マップをさらに含み、前記距離マップは、
    前記複数のサンプリング点の各々に関して、前記距離マップをゼロと等しくなるように設定することと、
    複数の残りの点の各々に関して、前記距離マップを前記複数のサンプリング点の最近傍点からの距離と等しくなるように設定することと
    によって生成される、請求項6に記載の方法。
  9. 深度算出のためにニューラルネットワークを使用する方法であって、前記方法は、
    カメラを使用して、ランタイム場面のカメラ画像を捕捉することと、
    低密度深度センサを使用して、前記ランタイム場面の低密度深度マップを捕捉することであって、前記低密度深度センサは、前記カメラと別個である、ことと、
    ランタイム画像入力を前記ニューラルネットワークに提供することであって、前記ランタイム画像入力は、前記ランタイム場面のカメラ画像を含む、ことと、
    ランタイム深度入力を前記ニューラルネットワークに提供することであって、前記ランタイム深度入力は、少なくとも部分的に前記ランタイム場面の低密度深度マップに基づき、前記ランタイム深度入力は、前記ランタイム場面の疎深度マップを含み、前記疎深度マップは、
    前記ランタイム場面の前記低密度深度マップによって決定された複数のサンプリング点の各々に関して、前記ランタイム場面の前記疎深度マップを前記ランタイム場面の前記低密度深度マップと等しくなるように設定すること
    によって生成される、ことと、
    前記ニューラルネットワークを使用して、前記ランタイム画像入力および前記ランタイム深度入力に基づいて、前記ランタイム場面の算出深度マップを生成することと
    を含む、方法。
  10. 記ランタイム場面の前記疎深度マップはさらに、
    複数の残りの点の各々に関して、前記ランタイム場面の前記疎深度マップを前記複数のサンプリング点の最近傍点における前記ランタイム場面の前記低密度深度マップと等しくなるように設定するこ
    によって生成される、請求項9に記載の方法。
  11. 前記ランタイム深度入力は、前記ランタイム場面の距離マップを含み、前記距離マップは、
    前記ランタイム場面の前記低密度深度マップによって決定された前記複数のサンプリング点の各々に関して、前記ランタイム場面の前記距離マップをゼロと等しくなるように設定することと、
    複数の残りの点の各々に関して、前記ランタイム場面の前記距離マップを前記複数のサンプリング点の最近傍点からの距離と等しくなるように設定することと
    によって生成される、請求項9に記載の方法。
  12. 前記ニューラルネットワークは、
    訓練画像入力を前記ニューラルネットワークに提供することであって、前記訓練画像入力は、訓練場面のカメラ画像を含む、ことと、
    訓練深度入力を前記ニューラルネットワークに提供することであって、前記訓練深度入力は、少なくとも部分的に前記訓練場面の高密度深度マップに基づく、ことと、
    前記ニューラルネットワークを使用して、前記訓練場面の算出深度マップを生成することと、
    前記訓練場面の前記算出深度マップと前記訓練場面の前記高密度深度マップとの間の誤差に基づいて、前記ニューラルネットワークを修正することと
    によって、事前に訓練されている、請求項9に記載の方法。
  13. 前記ニューラルネットワークを使用して、前記訓練画像入力および前記訓練深度入力に基づいて、前記算出深度マップを生成することをさらに含む、請求項12に記載の方法。
  14. 前記カメラを使用して、前記訓練場面の前記カメラ画像を捕捉することと、
    高密度深度センサを使用して、前記訓練場面の前記高密度深度マップを捕捉することと
    をさらに含む、請求項12に記載の方法。
  15. 前記訓練場面の前記カメラ画像は、H×W×1の寸法を有するグレースケール画像である、請求項12に記載の方法。
  16. 前記訓練場面の前記カメラ画像は、H×W×3の寸法を有するRGB画像である、請求項12に記載の方法。
  17. 前記訓練深度入力は、前記訓練場面の疎深度マップを含み、前記疎深度マップは、
    前記高密度深度マップと、
    前記低密度深度センサの複数のサンプリング点を示すサンプリングマスクと
    に基づいて生成される、請求項12に記載の方法。
  18. 前記訓練場面の前記疎深度マップは、
    前記複数のサンプリング点の各々に関して、前記訓練場面の前記疎深度マップを前記高密度深度マップと等しくなるように設定することと、
    複数の残りの点の各々に関して、前記訓練場面の前記疎深度マップを前記複数のサンプリング点の最近傍点における前記高密度深度マップと等しくなるように設定することと
    によって生成される、請求項17に記載の方法。
  19. 前記訓練深度入力は、前記訓練場面の距離マップをさらに含み、前記距離マップは、
    前記複数のサンプリング点の各々に関して、前記訓練場面の前記距離マップをゼロと等しくなるように設定することと、
    複数の残りの点の各々に関して、前記訓練場面の前記距離マップを前記複数のサンプリング点の最近傍点からの距離と等しくなるように設定することと
    によって生成される、請求項17に記載の方法。
JP2020547382A 2018-03-13 2019-03-13 機械学習を使用した画像増強深度感知 Active JP7418340B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US201862642528P 2018-03-13 2018-03-13
US62/642,528 2018-03-13
PCT/US2019/022086 WO2019178253A1 (en) 2018-03-13 2019-03-13 Image-enhanced depth sensing using machine learning

Publications (2)

Publication Number Publication Date
JP2021517685A JP2021517685A (ja) 2021-07-26
JP7418340B2 true JP7418340B2 (ja) 2024-01-19

Family

ID=67906439

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2020547382A Active JP7418340B2 (ja) 2018-03-13 2019-03-13 機械学習を使用した画像増強深度感知

Country Status (5)

Country Link
US (2) US11128854B2 (ja)
EP (1) EP3766023A4 (ja)
JP (1) JP7418340B2 (ja)
CN (1) CN111837144A (ja)
WO (1) WO2019178253A1 (ja)

Families Citing this family (44)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10678244B2 (en) 2017-03-23 2020-06-09 Tesla, Inc. Data synthesis for autonomous control systems
US10671349B2 (en) 2017-07-24 2020-06-02 Tesla, Inc. Accelerated mathematical engine
US11409692B2 (en) 2017-07-24 2022-08-09 Tesla, Inc. Vector computational unit
US11157441B2 (en) 2017-07-24 2021-10-26 Tesla, Inc. Computational array microprocessor system using non-consecutive data formatting
US11893393B2 (en) 2017-07-24 2024-02-06 Tesla, Inc. Computational array microprocessor system with hardware arbiter managing memory requests
CA3083227A1 (en) * 2017-12-13 2019-06-20 Magic Leap, Inc. Global shutter pixel circuit and method for computer vision applications
US11561791B2 (en) 2018-02-01 2023-01-24 Tesla, Inc. Vector computational unit receiving data elements in parallel from a last row of a computational array
US11128854B2 (en) 2018-03-13 2021-09-21 Magic Leap, Inc. Image-enhanced depth sensing via depth sensor control
US11328474B2 (en) * 2018-03-20 2022-05-10 Interdigital Madison Patent Holdings, Sas System and method for dynamically adjusting level of details of point clouds
CN112106370A (zh) 2018-03-20 2020-12-18 Pcms控股公司 基于优先化排序的变换而优化动态点云的系统和方法
US11215999B2 (en) 2018-06-20 2022-01-04 Tesla, Inc. Data pipeline and deep learning system for autonomous driving
US11361457B2 (en) 2018-07-20 2022-06-14 Tesla, Inc. Annotation cross-labeling for autonomous control systems
US11636333B2 (en) 2018-07-26 2023-04-25 Tesla, Inc. Optimizing neural network structures for embedded systems
US11562231B2 (en) 2018-09-03 2023-01-24 Tesla, Inc. Neural networks for embedded devices
IL282172B2 (en) 2018-10-11 2024-02-01 Tesla Inc Systems and methods for training machine models with enhanced data
US11196678B2 (en) 2018-10-25 2021-12-07 Tesla, Inc. QOS manager for system on a chip communications
US11816585B2 (en) 2018-12-03 2023-11-14 Tesla, Inc. Machine learning models operating at different frequencies for autonomous vehicles
US11537811B2 (en) 2018-12-04 2022-12-27 Tesla, Inc. Enhanced object detection for autonomous vehicles based on field view
EP3895431A1 (en) 2018-12-14 2021-10-20 PCMS Holdings, Inc. System and method for procedurally colorizing spatial data
US11610117B2 (en) 2018-12-27 2023-03-21 Tesla, Inc. System and method for adapting a neural network model on a hardware platform
US10997461B2 (en) 2019-02-01 2021-05-04 Tesla, Inc. Generating ground truth for machine learning from time series elements
US11567514B2 (en) 2019-02-11 2023-01-31 Tesla, Inc. Autonomous and user controlled vehicle summon to a target
US10956755B2 (en) 2019-02-19 2021-03-23 Tesla, Inc. Estimating object properties using visual image data
CN114365482A (zh) * 2019-03-25 2022-04-15 华为技术有限公司 一种基于Dual Camera+TOF的大光圈虚化方法
JP7401663B2 (ja) * 2019-10-14 2023-12-19 グーグル エルエルシー デュアルカメラおよびデュアルピクセルからのジョイント深度予測
US11157774B2 (en) * 2019-11-14 2021-10-26 Zoox, Inc. Depth data model training with upsampling, losses, and loss balancing
WO2021154099A1 (en) * 2020-01-30 2021-08-05 Weta Digital Limited System for image compositing including training with synthetic data
US11710247B2 (en) 2020-01-30 2023-07-25 Unity Technologies Sf System for image compositing including training with synthetic data
CN111612071B (zh) * 2020-05-21 2024-02-02 北京华睿盛德科技有限公司 一种从曲面零件阴影图生成深度图的深度学习方法
CN111860227B (zh) * 2020-06-30 2024-03-08 阿波罗智能技术(北京)有限公司 训练轨迹规划模型的方法、装置和计算机存储介质
CN111563923B (zh) * 2020-07-15 2020-11-10 浙江大华技术股份有限公司 获得稠密深度图的方法及相关装置
US20220051372A1 (en) * 2020-08-12 2022-02-17 Niantic, Inc. Feature matching using features extracted from perspective corrected image
US11868439B2 (en) * 2020-11-13 2024-01-09 Toyota Research Institute, Inc. Mixed-batch training of a multi-task network
CN112560875B (zh) * 2020-12-25 2023-07-28 北京百度网讯科技有限公司 深度信息补全模型训练方法、装置、设备以及存储介质
CN112837360B (zh) * 2021-01-07 2023-08-11 北京百度网讯科技有限公司 深度信息处理方法、装置、设备、存储介质和程序产品
CN112819874B (zh) * 2021-01-07 2024-05-28 北京百度网讯科技有限公司 深度信息处理方法、装置、设备、存储介质以及程序产品
CN112861729B (zh) * 2021-02-08 2022-07-08 浙江大学 一种基于伪深度图引导的实时深度补全方法
CN113050120A (zh) * 2021-03-24 2021-06-29 Oppo广东移动通信有限公司 成像方法、电子装置、控制装置与存储介质
JP2022188643A (ja) * 2021-06-09 2022-12-21 京セラ株式会社 測距装置、移動体及び測距方法
CN113538937B (zh) * 2021-07-15 2022-11-22 青岛港国际股份有限公司 一种港口混合交通管控系统
KR102641108B1 (ko) * 2021-08-03 2024-02-27 연세대학교 산학협력단 깊이맵 완성 장치 및 방법
CN116258754A (zh) * 2021-12-09 2023-06-13 华为技术有限公司 一种图像处理方法、装置及设备
CN114638869A (zh) * 2022-02-16 2022-06-17 奥比中光科技集团股份有限公司 深度图像的获取方法、装置、深度系统、终端和存储介质
CN115457099B (zh) * 2022-09-09 2023-05-09 梅卡曼德(北京)机器人科技有限公司 深度补全方法、装置、设备、介质及产品

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2011259511A (ja) 2011-09-29 2011-12-22 Seiko Epson Corp 画像処理装置及び画像処理方法
US20150015569A1 (en) 2013-07-15 2015-01-15 Samsung Electronics Co., Ltd. Method and apparatus for processing depth image
JP2017223648A (ja) 2016-03-16 2017-12-21 アナログ ディヴァイスィズ インク 飛行時間型深度イメージングの際の消費電力の低減

Family Cites Families (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2012023639A1 (ko) * 2010-08-17 2012-02-23 엘지전자 주식회사 다수의 센서를 이용하는 객체 계수 방법 및 장치
JP5638890B2 (ja) * 2010-09-15 2014-12-10 オリンパス株式会社 撮像装置、撮像方法及びプログラム
KR101370718B1 (ko) * 2012-10-26 2014-03-06 한국과학기술원 파노라마 이미지를 이용한 2d에서 3d로의 변환 방법 및 장치
WO2014177750A1 (en) * 2013-04-29 2014-11-06 Nokia Corporation A method and apparatus for fusing distance data from a distance sensing camera with an image
US9380224B2 (en) * 2014-02-28 2016-06-28 Microsoft Technology Licensing, Llc Depth sensing using an infrared camera
US9762893B2 (en) * 2015-12-07 2017-09-12 Google Inc. Systems and methods for multiscopic noise reduction and high-dynamic range
US10433025B2 (en) * 2016-05-10 2019-10-01 Jaunt Inc. Virtual reality resource scheduling of process in a cloud-based virtual reality processing system
CA3037378C (en) * 2016-09-19 2023-03-07 Tau Technologies, LLC Multi-camera imaging systems
US10762651B2 (en) 2016-09-30 2020-09-01 Magic Leap, Inc. Real time calibration for time-of-flight depth measurement
KR20180087994A (ko) * 2017-01-26 2018-08-03 삼성전자주식회사 스테레오 매칭 방법 및 영상 처리 장치
US10600155B2 (en) * 2017-02-09 2020-03-24 Verizon Patent And Licensing Inc. Generating virtual reality content based on corrections to stitching errors
US10607654B2 (en) * 2017-02-09 2020-03-31 Verizon Patent And Licensing Inc. Using sharding to generate virtual reality content
TWI672677B (zh) * 2017-03-31 2019-09-21 鈺立微電子股份有限公司 用以融合多深度圖的深度圖產生裝置
WO2019037088A1 (zh) * 2017-08-25 2019-02-28 深圳市大疆创新科技有限公司 一种曝光的控制方法、装置以及无人机
US10609355B2 (en) * 2017-10-27 2020-03-31 Motorola Mobility Llc Dynamically adjusting sampling of a real-time depth map
US10529086B2 (en) * 2017-11-22 2020-01-07 Futurewei Technologies, Inc. Three-dimensional (3D) reconstructions of dynamic scenes using a reconfigurable hybrid imaging system
CA3083227A1 (en) 2017-12-13 2019-06-20 Magic Leap, Inc. Global shutter pixel circuit and method for computer vision applications
US10664953B1 (en) * 2018-01-23 2020-05-26 Facebook Technologies, Llc Systems and methods for generating defocus blur effects
US11128854B2 (en) 2018-03-13 2021-09-21 Magic Leap, Inc. Image-enhanced depth sensing via depth sensor control
KR102089720B1 (ko) * 2018-10-16 2020-03-16 주식회사 파코웨어 단일 영상과 심층 네트워크를 이용한 놀이 블록 깊이 맵 생성 방법 및 시스템
US10839543B2 (en) * 2019-02-26 2020-11-17 Baidu Usa Llc Systems and methods for depth estimation using convolutional spatial propagation networks

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2011259511A (ja) 2011-09-29 2011-12-22 Seiko Epson Corp 画像処理装置及び画像処理方法
US20150015569A1 (en) 2013-07-15 2015-01-15 Samsung Electronics Co., Ltd. Method and apparatus for processing depth image
JP2017223648A (ja) 2016-03-16 2017-12-21 アナログ ディヴァイスィズ インク 飛行時間型深度イメージングの際の消費電力の低減

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
David Eigen, Christian Puhrsch, Rob Fergus,Depth Map Prediction from a Single Image using a Multi-Scale Deep Network,arXiv,米国,2014年06月09日,pp. 1-9,https://arxiv.org/abs/1406.2283

Also Published As

Publication number Publication date
US20190289281A1 (en) 2019-09-19
US11128854B2 (en) 2021-09-21
EP3766023A4 (en) 2021-04-21
EP3766023A1 (en) 2021-01-20
WO2019178253A1 (en) 2019-09-19
US20200410699A1 (en) 2020-12-31
JP2021517685A (ja) 2021-07-26
US11682127B2 (en) 2023-06-20
CN111837144A (zh) 2020-10-27

Similar Documents

Publication Publication Date Title
JP7418340B2 (ja) 機械学習を使用した画像増強深度感知
AU2018292610B2 (en) Method and system for performing simultaneous localization and mapping using convolutional image transformation
CN108229366B (zh) 基于雷达和图像数据融合的深度学习车载障碍物检测方法
KR102658303B1 (ko) 인사이드-아웃 위치, 사용자 신체 및 환경 추적을 갖는 가상 및 혼합 현실을 위한 머리 장착 디스플레이
US8619122B2 (en) Depth camera compatibility
EP2531979B1 (en) Depth camera compatibility
CN108702437A (zh) 用于3d成像系统的高动态范围深度生成
KR102502310B1 (ko) 적외선 이미징을 사용한 색상 식별
CN114846515A (zh) 仿真测试方法、系统、仿真器、存储介质及程序产品
CN115861601B (zh) 一种多传感器融合感知方法及装置
CN110276831A (zh) 三维模型的建构方法和装置、设备、计算机可读存储介质
US20190325600A1 (en) Determining a pose of a handheld object
CN111866492A (zh) 基于头戴显示设备的图像处理方法、装置及设备
CN111866493B (zh) 基于头戴显示设备的图像校正方法、装置及设备
JP7495546B2 (ja) 畳み込み画像変換を使用して同時位置特定およびマッピングを実施する方法およびシステム
WO2024112458A1 (en) Scaling for depth estimation
Peng et al. Vision-Based Manipulator Grasping
Bako et al. Development and embedded implementations of a hardware-efficient optical flow detection method
CN117689826A (zh) 三维模型构建和渲染方法、装置、设备以及介质

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20220218

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20230106

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20230322

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20230517

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20230809

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20231005

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: 20231222

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20240109

R150 Certificate of patent or registration of utility model

Ref document number: 7418340

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150