JP2022142789A - 単眼深度推定およびオブジェクト検出のためのネットワークアーキテクチャ - Google Patents
単眼深度推定およびオブジェクト検出のためのネットワークアーキテクチャ Download PDFInfo
- Publication number
- JP2022142789A JP2022142789A JP2022041807A JP2022041807A JP2022142789A JP 2022142789 A JP2022142789 A JP 2022142789A JP 2022041807 A JP2022041807 A JP 2022041807A JP 2022041807 A JP2022041807 A JP 2022041807A JP 2022142789 A JP2022142789 A JP 2022142789A
- Authority
- JP
- Japan
- Prior art keywords
- depth
- map
- generating
- network
- input image
- 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.)
- Pending
Links
- 238000001514 detection method Methods 0.000 title claims abstract description 47
- 238000000034 method Methods 0.000 claims abstract description 54
- 238000012549 training Methods 0.000 claims description 80
- 230000001052 transient effect Effects 0.000 claims 1
- 230000037361 pathway Effects 0.000 abstract description 8
- 230000006870 function Effects 0.000 description 22
- 238000013459 approach Methods 0.000 description 18
- 230000008569 process Effects 0.000 description 15
- 238000012545 processing Methods 0.000 description 9
- 238000010586 diagram Methods 0.000 description 6
- 230000007613 environmental effect Effects 0.000 description 5
- 238000003384 imaging method Methods 0.000 description 5
- 230000009471 action Effects 0.000 description 4
- 230000008859 change Effects 0.000 description 4
- 238000004891 communication Methods 0.000 description 4
- 238000004590 computer program Methods 0.000 description 4
- 230000033001 locomotion Effects 0.000 description 4
- 238000005259 measurement Methods 0.000 description 3
- 230000003287 optical effect Effects 0.000 description 3
- 230000003068 static effect Effects 0.000 description 3
- 230000001133 acceleration Effects 0.000 description 2
- 239000000446 fuel Substances 0.000 description 2
- 230000000670 limiting effect Effects 0.000 description 2
- 238000010801 machine learning Methods 0.000 description 2
- 241000282472 Canis lupus familiaris Species 0.000 description 1
- 238000004458 analytical method Methods 0.000 description 1
- 238000013528 artificial neural network Methods 0.000 description 1
- 230000002457 bidirectional effect Effects 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 230000003247 decreasing effect Effects 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 238000009795 derivation Methods 0.000 description 1
- 239000000835 fiber Substances 0.000 description 1
- 230000004807 localization Effects 0.000 description 1
- 238000013507 mapping Methods 0.000 description 1
- 239000000463 material Substances 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000008447 perception Effects 0.000 description 1
- 238000011176 pooling Methods 0.000 description 1
- 230000002829 reductive effect Effects 0.000 description 1
- 230000003252 repetitive effect Effects 0.000 description 1
- 230000004043 responsiveness Effects 0.000 description 1
- 230000002441 reversible effect Effects 0.000 description 1
- 239000011435 rock Substances 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 230000011664 signaling Effects 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 238000009987 spinning Methods 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V20/00—Scenes; Scene-specific elements
- G06V20/50—Context or environment of the image
- G06V20/56—Context or environment of the image exterior to a vehicle by using sensors mounted on the vehicle
- G06V20/58—Recognition of moving objects or obstacles, e.g. vehicles or pedestrians; Recognition of traffic objects, e.g. traffic signs, traffic lights or roads
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01S—RADIO 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/00—Systems using the reflection or reradiation of electromagnetic waves other than radio waves, e.g. lidar systems
- G01S17/02—Systems using the reflection of electromagnetic waves other than radio waves
- G01S17/06—Systems determining position data of a target
- G01S17/42—Simultaneous measurement of distance and other co-ordinates
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01S—RADIO 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/00—Systems using the reflection or reradiation of electromagnetic waves other than radio waves, e.g. lidar systems
- G01S17/86—Combinations of lidar systems with systems other than lidar, radar or sonar, e.g. with direction finders
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01S—RADIO 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/00—Systems using the reflection or reradiation of electromagnetic waves other than radio waves, e.g. lidar systems
- G01S17/88—Lidar systems specially adapted for specific applications
- G01S17/89—Lidar systems specially adapted for specific applications for mapping or imaging
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01S—RADIO 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/00—Systems using the reflection or reradiation of electromagnetic waves other than radio waves, e.g. lidar systems
- G01S17/88—Lidar systems specially adapted for specific applications
- G01S17/93—Lidar systems specially adapted for specific applications for anti-collision purposes
- G01S17/931—Lidar systems specially adapted for specific applications for anti-collision purposes of land vehicles
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01S—RADIO 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
- G01S7/00—Details of systems according to groups G01S13/00, G01S15/00, G01S17/00
- G01S7/48—Details of systems according to groups G01S13/00, G01S15/00, G01S17/00 of systems according to group G01S17/00
- G01S7/4802—Details of systems according to groups G01S13/00, G01S15/00, G01S17/00 of systems according to group G01S17/00 using analysis of echo signal for target characterisation; Target signature; Target cross-section
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/21—Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
- G06F18/211—Selection of the most significant subset of features
- G06F18/2113—Selection of the most significant subset of features by ranking or filtering the set of features, e.g. using a measure of variance or of feature cross-correlation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/21—Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
- G06F18/214—Generating training patterns; Bootstrap methods, e.g. bagging or boosting
- G06F18/2155—Generating training patterns; Bootstrap methods, e.g. bagging or boosting characterised by the incorporation of unlabelled data, e.g. multiple instance learning [MIL], semi-supervised techniques using expectation-maximisation [EM] or naïve labelling
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/21—Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
- G06F18/217—Validation; Performance evaluation; Active pattern learning techniques
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/25—Fusion techniques
- G06F18/251—Fusion techniques of input or preprocessed data
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N20/00—Machine learning
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/10—Segmentation; Edge detection
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/10—Segmentation; Edge detection
- G06T7/11—Region-based segmentation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/50—Depth or shape recovery
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/40—Extraction of image or video features
- G06V10/46—Descriptors for shape, contour or point-related descriptors, e.g. scale invariant feature transform [SIFT] or bags of words [BoW]; Salient regional features
- G06V10/462—Salient features, e.g. scale invariant feature transforms [SIFT]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/70—Arrangements for image or video recognition or understanding using pattern recognition or machine learning
- G06V10/74—Image or video pattern matching; Proximity measures in feature spaces
- G06V10/75—Organisation of the matching processes, e.g. simultaneous or sequential comparisons of image or video features; Coarse-fine approaches, e.g. multi-scale approaches; using context analysis; Selection of dictionaries
- G06V10/757—Matching configurations of points or features
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V20/00—Scenes; Scene-specific elements
- G06V20/50—Context or environment of the image
- G06V20/56—Context or environment of the image exterior to a vehicle by using sensors mounted on the vehicle
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/045—Combinations of networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/0464—Convolutional networks [CNN, ConvNet]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/10—Image acquisition modality
- G06T2207/10024—Color image
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/10—Image acquisition modality
- G06T2207/10028—Range image; Depth image; 3D point clouds
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/20—Special algorithmic details
- G06T2207/20016—Hierarchical, coarse-to-fine, multiscale or multiresolution image processing; Pyramid transform
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/20—Special algorithmic details
- G06T2207/20081—Training; Learning
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/20—Special algorithmic details
- G06T2207/20084—Artificial neural networks [ANN]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/30—Subject of image; Context of image processing
- G06T2207/30248—Vehicle exterior or interior
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Evolutionary Computation (AREA)
- Artificial Intelligence (AREA)
- General Engineering & Computer Science (AREA)
- Life Sciences & Earth Sciences (AREA)
- Electromagnetism (AREA)
- Radar, Positioning & Navigation (AREA)
- Remote Sensing (AREA)
- Computer Networks & Wireless Communication (AREA)
- Software Systems (AREA)
- Evolutionary Biology (AREA)
- Bioinformatics & Computational Biology (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Computing Systems (AREA)
- Multimedia (AREA)
- Mathematical Physics (AREA)
- General Health & Medical Sciences (AREA)
- Health & Medical Sciences (AREA)
- Molecular Biology (AREA)
- Computational Linguistics (AREA)
- Biophysics (AREA)
- Biomedical Technology (AREA)
- Medical Informatics (AREA)
- Databases & Information Systems (AREA)
- Image Analysis (AREA)
- Traffic Control Systems (AREA)
Abstract
【課題】共通のネットワークアーキテクチャを用いた深度推定およびオブジェクト検出を実施するシステム及び方法を提供すること。【解決手段】一実施形態において、本方法は、組合せ型ネットワークのバックボーンを用いて、入力画像から多重スケールで特徴マップを生成することを含む。本方法は、組合せ型ネットワークのトップダウン経路を用いて特徴マップをデコードして多重スケールで特徴を提供することを含む。本方法は、組合せ型ネットワークのヘッドを用いて、入力画像中に描かれたシーンについての特徴から深度マップを、そして入力画像内のオブジェクトを識別する境界ボックスを生成することを含む。【選択図】図3
Description
本明細書中に記載の主題は、概して、深度を予測しオブジェクトを検出するためのシステムおよび方法、そしてより詳細には深度予測およびオブジェクト検出を行なう独特のネットワークアーキテクチャに関する。
自律的に動作するかまたは周囲環境についての情報を提供するさまざまなデバイスが、多くの場合、周囲環境の障害物および付加的なアスペクトの知覚を容易にするセンサを使用する。高い精度で1シーンの構造を再構築する能力は、そのシーンの理解およびナビゲーションにとって重要である。一例として、ロボットデバイスは、周囲環境の認識度を発達させてその環境を通ってナビゲートし危険を回避するために、センサからの情報を使用する。詳細には、ロボットデバイスは、このデバイスがナビゲート可能な領域と潜在的な危険を区別できるように、知覚した情報を使用して環境の3D構造を決定する。さまざまな態様において、これには、距離を知覚することおよび離散的オブジェクトを検出することが含まれ得る。
1つのアプローチにおいては、ロボットデバイスは、周囲環境の画像を捕捉し、そこから距離および他のアスペクトを推定できるようにするため単眼カメラを利用することができる。このアプローチでは、高価な光検出および測距(LiDAR)センサの使用を回避することができるが、結果としての推定値は、シーンをナビゲートするのに必要であり得る精度レベルを常に提供するわけではない。その上、このアプローチにはさらに、多数の異なる機械学習モデルが必要である可能性があり、これらのモデルの訓練は、訓練データの取得のむずかしさに起因して、困難なタスクを意味し得る。
一実施形態において、例示的システムおよび方法は、組合せ型ネットワークを活用する単眼画像からの深度推定およびオブジェクト検出に対する改良されたアプローチに関係する。先に指摘したように、深度推定およびオブジェクト検出を行なうために多数の別個のネットワークを実装することは、資源集約的である。その上、これらのネットワークを独立して訓練するプロセスは同様に、多くの場合取得が困難であるラベル付けされたグラウンドトルースデータを使用することのあるオブジェクト検出ネットワークにとって特に困難なものであり得る。
したがって、一配設においては、オブジェクト検出についてのネットワークの訓練を改善するために深度推定ネットワークの訓練における単純性を活用しながら、単一のネットワーク内に両方の機能を統合する組合せ型ネットワークが開示される。例えば、組合せ型ネットワークは、入力として単眼画像を受容し異なるスケールで特徴マップを生成して画像内に表わされた特徴をエンコードする共通のバックボーンから形成される。特徴マップは、一配設においては特徴内の特徴マップをデコードするように機能するトップダウン経路にフィードされ、これには同様に、特徴の生成をさらに増強するためにバックボーンとの側方接続も関与し得る。したがって、このとき、オブジェクト検出のための境界ボックスを生成するため、そして最高の解像度では同様に入力画像のための深度マップを生成するためにも、別個のスケール間で共用ヘッドが使用される。
いずれの場合においても、バックボーンおよびトップダウン経路は概して、深度推定とオブジェクト検出という異なるタスク間で共用される特徴ピラミッドネットワークを形成する。したがって、オブジェクト検出および深度推定のための別個のインスタンスにおいて組合せ型ネットワークを訓練する代りに、深度推定についての初期訓練を行なって、バックボーンおよびトップダウン経路を訓練することができる。その後、組合せ型ネットワークは、拡張性が比較的低いものであり得る訓練データを用いてオブジェクト検出について訓練する。したがって、深度推定についての予備訓練は、オブジェクト検出についての訓練が、別の場合では必要になると思われるほど集約的なタスクとならずより少ないラベル付き訓練画像しか使用しないような形で組合せ型ネットワークを初期化し、こうして訓練のためにこのようなデータを取得する困難さは削減される。このようにして、組合せ型ネットワークは、より訓練が簡単な単純化されたアーキテクチャを使用して両方のタスクのための機能全体を改善する。
一実施形態においては、深度システムが開示されている。深度システムは、1つ以上のプロセッサと、この1つ以上のプロセッサに対し通信可能に結合されたメモリを含む。該メモリは、1つ以上のプロセッサによって実行された時点で1つ以上のプロセッサに、組合せ型ネットワークのバックボーンを用いて、入力画像から多重スケールで特徴マップを生成させる命令を含むネットワークモジュールを記憶する。ネットワークモジュールは、組合せ型ネットワークのトップダウン経路を用いて特徴マップをデコードして多重スケールで特徴を提供する命令を含む。ネットワークモジュールは、組合せ型ネットワークのヘッドを用いて、入力画像の中に描かれたシーンについての特徴から深度マップを、そして入力画像内のオブジェクトを識別する境界ボックスを生成するための命令を含む。
一実施形態においては、1つ以上のプロセッサによって実行された時点で1つ以上のプロセッサに様々な機能を行なわせる命令を含む非一時的コンピュータ可読媒体が開示されている。命令には、組合せ型ネットワークのバックボーンを用いて、入力画像から多重スケールで特徴マップを生成するための命令が含まれる。命令には、組合せ型ネットワークのトップダウン経路を用いて特徴マップをデコードして多重スケールで特徴を提供する命令が含まれる。命令には、組合せ型ネットワークのヘッドを用いて、入力画像の中に描かれたシーンについての特徴から深度マップを、そして入力画像内のオブジェクトを識別する境界ボックスを生成する命令が含まれる。
一実施形態においては、方法が開示されている。該方法は、組合せ型ネットワークのバックボーンを用いて、入力画像から多重スケールで特徴マップを生成することを含む。該方法は、組合せ型ネットワークのトップダウン経路を用いて特徴マップをデコードして多重スケールで特徴を提供することを含む。該方法は、組合せ型ネットワークのヘッドを用いて、入力画像の中に描かれたシーンについての特徴から深度マップを、そして入力画像内のオブジェクトを識別する境界ボックスを生成することを含む。
明細書中に組込まれその一部を構成する添付図面は、本開示のさまざまなシステム、方法および他の実施形態を例示する。図中の例示された要素境界(例えばボックス、ボックス群または他の形状)は、境界の一実施形態を表わしているということが認識される。いくつかの実施形態においては、1つの要素が多数の要素として設計されてよく、または多数の要素が1つの要素として設計されてもよい。いくつかの実施形態においては、別の要素の内部コンポーネントとして示されている要素を、外部コンポーネントとして実装することが可能であり、その逆も同様である。さらに、要素は、原寸に比例して描かれていない場合がある。
組合せ型ネットワークを活用する単眼画像からの深度推定およびオブジェクト検出に対する改良型アプローチと結び付けられたシステム、方法および他の実施形態が開示されている。先に指摘したように、深度推定およびオブジェクト検出を行なうために多数の別個のネットワークを実装することは、資源集約的である。その上、これらのネットワークを独立して訓練するプロセスは同様に、多くの場合取得が困難であるラベル付けされたグラウンドトルースデータを使用することのあるオブジェクト検出ネットワークにとって特に困難なものであり得る。
したがって、一配設においては、オブジェクト検出についてのネットワークの訓練を改善するために深度推定ネットワークの訓練における単純性を活用しながら、単一のネットワーク内に両方の機能を統合する組合せ型ネットワークが開示される。例えば、組合せ型ネットワークは、入力として単眼画像を受容し異なるスケールで特徴マップを生成して画像内に表わされた特徴をエンコードする共通のバックボーンから形成される。特徴マップは、一配設においては特徴内の特徴マップをデコードするように機能するトップダウン経路にフィードされ、これには同様に、特徴の生成をさらに増強するためにバックボーンとの側方接続も関与し得る。したがって、このとき、オブジェクト検出のための境界ボックスを生成するため、そして最高の解像度では同様に入力画像のための深度マップを生成するためにも、別個のスケールの間で共用ヘッドが使用される。
いずれの場合においても、バックボーンおよびトップダウン経路は概して、深度推定とオブジェクト検出という異なるタスク間で共用される特徴ピラミッドネットワークを形成する。したがって、オブジェクト検出および深度推定のための別個のインスタンスにおいて組合せ型ネットワークを訓練する代りに、深度推定についての初期訓練を行なって、バックボーンおよびトップダウン経路を訓練することができる。その後、組合せ型ネットワークは、拡張性が比較的低いものであり得る訓練データを用いてオブジェクト検出について訓練する。したがって、深度推定についての予備訓練は、オブジェクト検出についての訓練が、別の場合では必要になると思われるほど集約的なタスクとならずより少ないラベル付き訓練画像しか使用しないような形で組合せ型ネットワークを初期化し、こうして訓練のためにこのようなデータを取得する困難さは削減される。このようにして、組合せ型ネットワークは、より訓練が簡単な単純化されたアーキテクチャを使用して両方のタスクのための機能全体を改善する。
図1を参照すると、車両100の一例が示されている。本明細書中で使用される「車両」とは、あらゆる形態の動力式輸送手段である。1つ以上の実装において、車両100は自動車である。本明細書中では自動車に関連して配設が説明されているものの、実施形態は自動車に限定されないということが理解される。いくつかの実装において、車両100は、例えば周囲の状況を観察してそこからの決定を提供し、こうして本明細書中で論述されている機能性からの恩恵を享受するあらゆるロボットデバイスまたは別のデバイス(例えば監視デバイス(surveillance device))であってよい。さらなる実施形態においては、車両100は、原動デバイスの代わりに、静的に組付けられたデバイス、埋込まれたデバイスまたは、深度およびシーンについてのオブジェクト情報を導出するために単眼画像を使用する別のデバイスであり得る。
いずれの場合でも、車両100は同様に、さまざまな要素を含む。さまざまな実施形態において、車両100が図1中に示された要素の全てを有する必要は無い可能性がある。車両100は、図1に示されたさまざまな要素の任意の組合せを有し得る。さらに、車両100は、図1に示された要素に対する追加の要素を有することができる。いくつかの配設において、車両100は、図1に示された要素の1つ以上が無い状態で実装され得る。さまざまな要素が、車両100の内部に位置設定されているものとして例示されているものの、これらの要素の1つ以上を車両100の外部に位置設定することも可能であるということが理解される。さらに、図示された要素は、物理的に大きな距離だけ離隔され、遠隔サービス(例えばクラウドコンピューティングサービス、サービス型ソフトウェア(SaaS)など)として提供されてよい。
車両100の考えられる要素のいくつかは、図1に示されており、後続の図と共に説明される。しかしながら、図1中の要素の多くの説明が、この説明の簡潔性を目的として、図2~5の論述の後で提供される。さらに、例示の平易さおよび明瞭さのために、必要に応じて、対応するまたは類似の要素を表示するために異なる図の間で参照番号が反復されている。さらに、論述では、本明細書中に記載の実施形態を徹底的に理解できるように、多くの具体的詳細の概要が述べられている。しかしながら、当業者であれば、本明細書中に記載されている実施形態がこれらの要素のさまざまな組合せを用いて実践可能である、ということを理解するものである。
いずれの場合でも、車両100は、多数の情報源を利用できる新規のネットワークアーキテクチャを用いて深度推定(すなわち深度マップ)を生成するために機能する深度システム170を含む。その上、スタンドアロンのコンポーネントとして描かれているものの、1つ以上の実施形態において、深度システム170は、自律運転モジュール160、カメラ126、または車両100の別のコンポーネントと統合されている。さらに、先に指摘したように、深度システム170の1つ以上のコンポーネントが、車両100から遠隔のクラウドベースの要素であり得る。指摘された機能および方法は、図のさらなる論述によって、さらに明らかなものとなる。
図2を参照すると、深度システム170の一実施形態がさらに例示されている。深度システム170はプロセッサ110を含むものとして示されている。したがって、プロセッサ110は深度システム170の一部であり得るか、または深度システム170はデータバスまたは別の通信経路を通して、プロセッサ110にアクセスすることができる。1つ以上の実施形態において、プロセッサ110は、ネットワークモジュール220と結び付けられた機能を実装するように構成されている特定用途向け集積回路(ASIC)である。概して、プロセッサ110は、本明細書中に記載のさまざまな機能を行なう能力を有するマイクロプロセッサなどの電子プロセッサである。一実施形態において、深度システム170は、ネットワークモジュール220および/または深度情報の生成を支援するように機能し得る他のモジュールを記憶するメモリ210を含む。メモリ210は、ランダムアクセスメモリ(RAM)、読取り専用メモリ(ROM)、ハードディスクドライブ、フラッシュメモリまたはネットワークモジュール220を記憶するための他の好適なメモリである。ネットワークモジュール220は例えば、プロセッサ110によって実行された時点で、プロセッサ110に、本明細書中で開示されたさまざまな機能を行なわせるコンピュータ可読命令である。さらなる配設において、ネットワークモジュール220は、論理、集積回路または、内部に統合された命令を含む指摘された機能を行なうための別のデバイスである。
さらに、一実施形態において、深度システム170は、データストア230を含む。データストア230は、一実施形態において、メモリ210または別のデータストア中に記憶された電子データ構造であり、記憶されたデータを分析し、記憶されたデータを提供し、記憶されたデータを組織することなどのためにプロセッサ110によって実行され得るルーチンと共に構成されているものである。したがって、一実施形態において、データストア230は、さまざまな機能を実行する上でネットワークモジュール220によって使用されるデータを記憶する。例えば、図2に描かれているように、データストア230は、画像240、組合せ型ネットワークであるモデル250、深度マップ260および境界ボックス270を、例えばネットワークモジュール220によって使用および/または生成される他の情報と共に含んでいる。
画像240は、例えば、カメラ126または別の撮像デバイスからの単眼画像である。単眼画像は概して、複数のフレームで構成されている1つ以上の単眼ビデオから導出されるが、画像240を静止画像カメラから導出することも同様に可能である。本明細書中に記載されているように、単眼画像は例えば、さらなるモダリティを一切伴わない光三原色(RGB)画像であり、かつ周囲環境の少なくとも一部分の車両100を中心とする視野(FOV)を包含する、カメラ126または別の撮像デバイスからの画像である。すなわち、単眼画像240は、一つのアプローチにおいては、周囲環境のサブ領域に限定される。こうして、画像240は、前向き方向(すなわち走行方向)60、90、120度FOV、後方/側方向きFOV、またはカメラ126の撮像特性(例えばレンズのひずみ、FOVなど)によって定義される他のサブ領域であり得る。さまざまな態様において、カメラ126は、ピンホールカメラ、魚眼カメラ、反射屈折カメラ、または、特定の深度モダリティを伴わない画像を取得する別の形態のカメラである。
個別の単眼画像はそれ自体、カメラ126またはソースである別の撮像デバイスと結び付けられた撮像標準(例えばコーデック)にしたがってエンコードされたFOVの視覚データを含む。概して、ソースカメラ(例えばカメラ126)およびビデオ規格の特性が、単眼画像のフォーマットを定義する。したがって、特定の特性は異なる実装に応じて変動し得るものの、概して、画像は、定義された解像度(すなわち画素単位の高さおよび幅)およびフォーマットを有する。したがって、例えば、単眼画像は、RGB可視光画像である。さらなる態様においては、単眼画像は、対応する赤外線カメラと結び付けられた赤外線画像、白黒画像、または所望され得る通りの別の好適なフォーマットであり得る。深度システム170がどのフォーマットを実装しようとも、画像は、深度を標示するいかなる明示的な追加のモダリティも、深度導出の元となる別のカメラからのいかなる明示的な対応する画像も(すなわちいかなるステレオカメラ対も)存在しないという点において、単眼画像である。追加の深度チャネルを提供するために並んで組付けられた別個のカメラからの左右の画像を統合し得るステレオ画像とは対照的に、単眼画像は、ステレオ画像を画素毎に比較することで導出される視差マップなどの明示的な深度情報を含んでいない。その代り、単眼画像は、モデル250による深度マップ260の導出元である、内部に描かれた要素のサイズと射影の関係において深度情報を暗黙に提供する。
さらに、1つ以上の配設において、そのデータストア230はさらに、画像240に対応する訓練データを含む。一般的態様として、画像240および訓練データは単数形で論述されているものの、さまざまな配設においてデータストア230は、モデル250の訓練を支援するために多数の画像および対応する訓練データを含む。その上、実際の使用中、システム170は、画像240を個別に取得し処理することができる。いずれの場合においても、画像240と結び付けられた訓練データは、一実施形態において、グラウンドトルース深度データ、グラウンドトルース境界ボックス、クラスラベルなどを含む。当然のことながら、さらなる実装において、例えば深度システム170が、深度についてのモデル250の訓練に対する自己教師あり(self-supervised)アプローチを実装する場合などに、訓練データの1つ以上のアスペクトを省略することができる。深度についての自己教師あり訓練の場合には、訓練データは、グラウンドトルース深度データを含まなくてもよく、代りにストラクチャ・フロム・モーション(SfM)の使用を通した決定を支援するための同じシーンのビデオからの画像シーケンスを含む。
モデル250は、深度、オブジェクト検出および分類についての推論を裏付けする組合せ型ネットワークである。一つの構成において、モデル250は、単一段階である完全に畳み込み型のネットワークである。さらに、モデル250は、画像240からの特徴マップをエンコードするためのボトムアップバックボーン、特徴マップをデコードするトップダウン経路および共用ヘッドを含む特徴ピラミッドネットワーク(FPN)として言及され得る。いくつかの実装において同様に特徴ピラミッドとしても言及されているトップダウン経路は、別個の層間の直列接続に加えてバックボーンとの異なるスケールでの側方接続を含む。したがって、トップダウン経路は、最高の解像度で出力される深度マップ260を除いて、異なるスケール(例えば境界ボックス、中心性など)での結果を出力する。
モデル250についてのアーキテクチャのさらなる説明として、図3を考慮されたい。図3に示されているように、モデル250は、入力である画像240のスケールを反復的に縮小する一連の畳み込み層を含むバックボーン300を含む。ボトムアップ経路としても言及され得るバックボーン300は、多数の異なるスケールでの特徴マップを含む、特徴階層を計算するモデル250のフィードフォワード計算である。さらなる態様において、バックボーン300は、追加のコンポーネント、例えばプーリング層などを含み得る。トップダウン経路310は、1つのアプローチにおいて、一連の逆畳み込み層を用いて、空間的により粗い特徴マップをアップサンプリングすることによって、より高い解像度の特徴を幻覚化する。トップダウン経路310は、図示されているように、改良型アップサンプリングのために原初の入力240のより少ないサンプリングされたインスタンスを提供するべく、バックボーン300との側方接続を介して特徴を増強する。
側方接続は、バックボーン300およびトップダウン経路310からの同じ空間サイズの特徴マップをマージし、バックボーン300からの特徴マップがトップダウン経路310の先行層からの特徴マップよりも少ない回数だけサブサンプリングされることから、これにより、より精確な位置特定が提供されることになる。深度システム170は、別個のマップを組合わせるために要素様の付加を使用し得る。ヘッド320は、トップダウン経路310の別個の出力スケールの間で共用されるが、別個のスケールでの推論を強調するために多数の異なるヘッドとして示されている。すなわち、ヘッド320は、トップダウン経路310の別個の出力間で共用される単一の構造である。
例示されているように、ヘッド320は、クラスコンポーネント330、2次元コンポーネント340および3次元コンポーネント350などの多数の異なる構造を含む。クラスコンポーネント330は、モデル250が訓練される一定数のクラスに対応するC次元のベクトルを生成する。クラスコンポーネント330は、オブジェクトについてのクラス決定を生成するためのマルチクラス分類子または複数の二項分類子を含み得る。
2Dコンポーネント340は、画像240のフレームの2D空間内でオブジェクトを識別するために機能する。1つのアプローチでは、2Dコンポーネント340は、画像240のフレームからの識別として2D境界ボックスを生成する畳み込みネットワークである。2Dコンポーネント340は、2Dおよび3Dオブジェクト検出間の一貫性を提供するために機能することができる。
ヘッド320は、さらに、カメライントリンシクスを用いて3D点クラウドへと変換される高密度の画素単位深度を予測するための疑似LiDAR3D検出器として作用する深度コンポーネント360を含む。3Dコンポーネント350は、点クラウドを入力画像240と連結させて、深度マップ260として3D座標と共に画素色値を包含する6次元テンソルを生成する。3Dコンポーネント350はさらに、境界ボックス270を生成する3D検出ネットワーク370によって処理される、2Dコンポーネント340由来の提案領域を受諾する。
図2に戻ると、ネットワークモジュール220は、概して、別個のコンポーネントとしてモデル250を実装する。さまざまな態様において、ネットワークモジュール220は、モデル250を適用するための命令を含み、モデル250は、ネットワークモジュール220と統合され得る。概して、ネットワークモジュール220は、画像240を含むセンサデータを処理するためにモデル250を制御し、訓練するときには、結び付けられた訓練データを用いて、訓練損失を生成してモデル250を更新する。
いずれの場合でも、深度システム170は、一実施形態において、深度マップ260、境界ボックス270およびさらなる情報(例えば2D境界ボックス、分類など)を生成するためにモデル250を利用する。概して、深度マップ260は、疑似LiDAR深度データまたは高密度深度データとして言及され得る画像240についての深度の画素単位の予測である。すなわち、モデル250は、画像240の形で描かれた異なるアスペクトについての深度の推定値を提供する。当然のことながら、当該アプローチにおいて、モデル250はさらに、単一モデル250からの分類などの、他の情報に加えて2Dおよび3D境界ボックス270の形でのオブジェクト検出を提供するため、深度マップ260を超えたところからの情報を統合する。
一実施形態においては、ネットワークモジュール220が概して、深度マップ260を生成するようにモデル250を制御するべくさまざまなアクションを実行するためにプロセッサ110を制御するように機能する命令を含む、ということを認識しなければならない。ネットワークモジュール220は、1つ以上のアプローチにおいて、例えばカメラ126を制御することにより画像240を取得するか、またはデータバス、または電子メモリ、または別の利用可能な電子ソースから画像240を取得する。当然のことながら、モデル250を訓練するインスタンスにおいて、ネットワークモジュール220はさらに、電子メモリまたは別の好適なデータストアから訓練データ(例えばグラウンドトルース深度、オブジェクト境界ボックス、クラス情報など)を取得することができる。
ネットワークモジュール220は当初、モデル250のバックボーンを入力画像240に適用して、多数の異なるスケール(すなわち特徴階層)で特徴マップを生成する。したがって、ネットワークモジュール220は、例えば、異なるスケールの特徴を抽象化する(例えば犬対トラックなどの大きな特徴対より小さな特徴)異なるスケールを各々が有している多数の特徴マップを生成している。モデル250は次に、2つの異なる接続を用いて、トップダウン経路310に対して特徴マップをフィードする。第1の接続は、バックボーン300の最終層からの直列接続であり、一方、第2の接続は、時として、異なるスケールの特徴マップを提供するスキップ接続としても言及される側方接続である。このようにして、ネットワークモジュール220は、デコーディングを容易にするため、トップダウン経路310内へ多数の特徴レベルを促進する。
ネットワークモジュール220は、モデル250の共用ヘッド330に対して特徴またはより詳細な生成済み特徴マップを提供するために、トップダウン経路310を用いてデコーディングを行なう。共用ヘッド320は、入力画像内に描かれたシーンについての特徴から深度マップ260を、そして入力画像240内のオブジェクトを識別する境界ボックス270を生成する。先に例示した通り、共用ヘッド320は、異なる機能と結び付けられた多数の異なる経路を含む。例えば、ヘッド320は、3Dオブジェクト検出、2Dオブジェクト検出、深度推定および分類を行なう多数のサブヘッドを含む。ネットワークモジュール220は、トップダウン経路310からの特徴に作用するべく、別個のヘッド320を制御する。したがって、ネットワークモジュール220は、他のスケールについて深度を生成することなく最高解像度の特徴マップに作用するべく深度コンポーネント360をさらに制御しながら、トップダウン経路310からの出力として提供された異なる深度スケールを反復的に処理するためにヘッド320を制御することができる。
概して、モデル250のフレームワークは、バックボーン300およびトップダウン経路310などの多数の異なるコンポーネントの間で多くのアスペクトを共用する。ヘッド320の特定のセクションは全て、バックボーン300とトップダウン経路310を使用し、一方ヘッド320のコンポーネントは、異なる出力の生成を促進するための別個の個別コンポーネントを含む。モデル250のかなりの部分を共用することにより、深度システム170は、モデル250を初期化し特定の別個のタスクと結び付けられたより少ないグラウンドトルースデータを使用してモデル250内の収束を達成する目的で、深度推定などの資源依存性が比較的低いタスクについてモデル250を訓練することができる。
したがって、一態様においては、ネットワークモジュール220は、2段階訓練プロセスを実装する。第1段階において、ネットワークモジュール220は、多くの反復にわたる深度推定(すなわち深度マップ260)から導出された損失を用いて、モデル250を訓練する。訓練の第1段階は、教師あり(supervised)訓練パイプライン内のグラウンドトルース深度を使用することができ、ストラクチャ・フロム・モーション(SfM)解析を容易にするために移動するプラットフォーム上で撮られたビデオからの一連の画像を使用する自己教師あり単眼アプローチを通した固有のグラウンドトルースに依存することができ、あるいは、組合せ型訓練パイプライン(例えば、自己教師ありアプローチの固有の深度情報と組合わせて疎な深度データを活用する半教師あり(semi-supervised)のもの)に依存することもできる。
いずれの場合でも、第1段階の訓練のソースとして深度コンポーネント360を使用することによって、深度システム170は、オブジェクト検出および分類のために過剰な量のグラウンドトルース訓練データを使用することに伴う問題点を回避する。追加のタスクについてのグラウンドトルースデータは概して、データ生成に不随するコストおよび労力のため深度訓練データに比べて取得が困難であることから、このような形での訓練は、多数の異なるタスクについてモデル250を精確に訓練する能力を著しく改善する。したがって、ネットワークモジュール220は、第1段階中に追加のサブヘッド330および340を無作為に初期化し、深度ヘッド360についての訓練データにしたがって、深度損失を導出することができる。ネットワークモジュール220は、このとき、第1段階における深度損失を用いてモデル250を訓練するよう、バックボーン300およびトップダウン経路310を適応させることができる。
ネットワークモジュール220はこのとき第2の訓練段階を用いて、追加のタスクについて追加のサブヘッド330、340およびヘッド350の3D検出を改良することができる。したがって、一態様において、ネットワークモジュール220は、第2段階で特定のタスクのためのグラウンドトルースデータを使用して、モデル250の訓練をさらに改良する。しかしながら、モデル250はすでに初期化されており、したがって、そうでなければ使用されると思われるものよりも著しく少ない異なるタスク用の訓練データを用いて、異なるタスクのための精確な推定値に収束するものと期待される、ということを指摘しておかなければならない。したがって、オブジェクト検出、分類および深度タスクの間でモデル250の大部分を共用することによって、深度推定タスクについての訓練が簡単であることによってオブジェクト検出および分類タスクについてのモデル250のパフォーマンスは改善される。
深度予測、オブジェクト検出およびオブジェクト分類の合同学習という追加の態様については、図4に関連して論述される。図4は、組合せ型ネットワークを使用した深度マップ、境界ボックスおよび分類の生成に結び付けられた方法400の流れ図を例示する。方法400については、図1~2の深度システム170の観点から見て論述される。方法400は深度システム170と組合わせて論述されているものの、該方法400が深度システム170の内部で実装されることに限定されず、むしろ該方法400を実装し得るシステムの一例であるということを認識すべきである。
410において、ネットワークモジュール220は、画像240を取得する。概して、画像240は、少なくとも単眼カメラからの単眼画像または車両100または深度システム170が情報を解析する対象である別のデバイスの周囲環境のビデオで構成されている。したがって、先に指摘したように、深度システム170は、車両100または別のデバイスと統合されてよく、あるいは代替的に、広域ネットワーク(WAN)などの通信経路を介して画像240を受信すること、そして、画像240を解析するべく遠隔で機能することができる。いずれの場合でも、深度システム170は、単一画像240を処理して、同じモデル250を用いて多数の異なる決定を導出することができる。
420において、ネットワークモジュール220は、モデル250のバックボーン300を用いて、入力画像から多重スケールで特徴マップを生成する。したがって、ネットワークモジュール220は、1つのアプローチにおいて、5つの異なるスケールで特徴マップを生成するためにモデル250を使用する。モデル250は、畳み込み層を使用して、概して異なるスケールでの特徴の存在を標示する特徴マップへと入力画像240を処理する。この特徴階層は、オブジェクト、深度などを識別するためにモデル250が処理することのできるエンコードされた形態での画像240内に描かれたアスペクトの表現を提供する。したがって、特徴マップは、入力画像240の特徴をエンコードして、深度マップ260および境界ボックス270を生成するための共用の基準を提供する。
430において、ネットワークモジュール220は、バックボーン300とトップダウン経路310の間の側方接続を用いて、トップダウン経路310内からの先行するレベルの出力に加えて特徴マップの多重スケールを提供する。したがって、モデル250の一部分が、画像240を特徴マップへと反復的に処理しその後連続するスケールで連続する反復にしたがって特徴マップを処理するために機能する一方で、ネットワークモジュール220は同様に、側方接続を用いてバックボーン300からトップダウン経路310へ中間特徴マップを提供する。側方接続を介して提供される特徴マップは、それ程多くの回数サブサンプリングされていないことから、こうして、より高い解像度でのアップサンプリングが容易になる。
440において、ネットワークモジュール220は、モデル250のトップダウン経路を用いて、特徴マップをデコードして、多重スケールで特徴を提供する。先に指摘した通り、トップダウン経路310は、側方接続を介してバックボーンから残留特徴マップも受信しながら、先行層からの処理済み特徴マップを受信する。いずれの場合でも、デコーディングには概して、入力をアップサンプリングするための逆畳み込み層の適用が含まれる。
450において、ネットワークモジュール220は、モデル250の共用ヘッドを用いて、入力画像240内に描かれたシーンについての特徴から深度マップ260を、そして入力画像240内のオブジェクトを識別する境界ボックス270を生成する。さらなる態様において、モデル250は同様に、識別されたオブジェクトについての2D境界ボックスおよび分類を生成する。ネットワークモジュール220は、多重スケールでトップダウン経路の別個の層の間でヘッドを使用して、多重スケールで境界ボックス270を、そして多重スケールのうちの1つで深度マップ260を生成する。ヘッド320には、3Dオブジェクト検出、2Dオブジェクト検出、深度推定、および分類を行なう多数のサブヘッドが含まれる。したがって、ネットワークモジュール220は、単一モデル250を用いて多数の異なる決定を出力するためにモデル250を使用することができる。
460において、ネットワークモジュール220は、深度マップ260と境界ボックス270を提供する。一つのアプローチにおいて、ネットワークモジュール220は、深度マップ260および境界ボックス270にしたがって車両100のナビゲーション(例えば計画および制御)を行なわせるために、自律運転モジュール160などの車両100の支援システムに対して深度マップ260を提供する。したがって、ネットワークモジュール220は、車両100が環境を安全にナビゲーションできるように経路計画および他の機能を容易にする目的で、車両100の周囲環境の知覚を支援するためにモデル250を使用することができる。
図5は、組合せ型ネットワークアーキテクチャの訓練と結び付けられた方法500の流れ図を例示する。方法500は、図1~2の深度システム170の観点から論述される。方法500は、深度システム170と組合せて論述されるものの、該方法500が深度システム170内で実装されることに限定されず、むしろ、方法500を実装し得るシステムの一例である、ということを認識すべきである。
510において、ネットワークモジュール220は、モデル250を訓練するための訓練データを取得する。1つのアプローチにおいて、訓練データは、2段階の訓練のためのデータを含む。したがって、訓練データは、モデル250の深度ヘッドについての訓練を行なうための情報を含むことができる。この訓練データは、自己教師あり訓練を支援するためにシーンのビデオからの一連の連続するフレームを含むことができる。さらなるアプローチにおいては、自己教師あり訓練データは、グラウンドトルースデータに対する必要性をなおも最小限に抑えながら計量的に精確なスケールの学習を支援するために疎なグラウンドトルース深度データで補完され得る。さらなるアプローチでは、深度訓練は、LiDAR、ステレオ画像対などから導出された明示的なグラウンドトルース深度データに依存し得る。
その上、第2段階のための訓練データは概して、オブジェクト検出および分類の追加タスクを支援するラベル付きグラウンドトルースデータを含む。オブジェクト分類グラウンドトルースデータは、2Dおよび3Dの両方の境界ボックスを含むことができ、一方分類データは、モデル250が訓練されるクラスの数についてのクラスラベルを含む。先に概要説明した通り、追加のタスク用の訓練データの数量は、あらかじめタスク全てについて個別の訓練を行う場合とは対照的に、深度推定についてモデル250を最初に訓練するプロセスを通して著しく削減される。
520において、ネットワークモジュール220は、第1段階で、深度推定と結び付けられた計算された損失値についてモデル250を訓練する。指摘された通り、深度訓練は、利用可能な訓練データに応じて教師ありであっても非教師ありであってもよい。いずれの場合でも、ネットワークモジュール220は、深度推定タスクについて、訓練データ内の多数の単眼画像全体にわたりモデル250を訓練する。この第1段階の間、ネットワークモジュール220は、概して深度マップ260および結び付けられた訓練データにしたがって深度損失を導出しながら、他のヘッド(すなわち分類および2D境界ボックス推定)を無作為に初期化することができる。
530において、ネットワークモジュール220は、第2段階で、検出損失を計算するため境界ボックスおよびグラウンドトルースデータを使用することにより、モデル250を訓練する。さらなる態様では、ネットワークモジュール220は同様に、2Dおよび3D境界ボックスに加えて分類についてモデル250を訓練する。いずれの場合でも、ネットワークモジュール220は、モデル250の共用コンポーネントを初期化する訓練前段階として深度推定を活用する目的で初期深度推定訓練の後、他の全てのタスクの訓練を行ない、これにより、ロバスト性がより低いデータセットについての他のタスクのための訓練を加速する。
540において、ネットワークモジュール220はモデル250を提供する。ネットワークモジュール220がモデル250を訓練した後、モデル250は、多数の異なるタスクのための決定を提供できる単一のネットワークアーキテクチャを表わす。その結果として、モデル250は、同じく訓練を単純化しながら、多数の別個のタスクを単一のアーキテクチャへと簡素化する。したがって、モデル250は、共通の要素(例えばバックボーン300およびトップダウン経路310)の共用を通してより効率の良いものとなる。このようにして、深度システム170は、深度、オブジェクト検出および分類の決定を改善する。
本明細書中で開示されているシステムおよび方法が中で動作し得る例示的環境として、ここで図1について完全に詳述する。いくつかの事例において、車両100は、自律モード、1つ以上の半自律動作モードおよび/または手動モードの間で選択的に切換えるように構成されている。このような切換えは、現在公知のまたは将来開発される好適な形で実装可能である。「手動モード」は、車両のナビゲーションおよび/または操作の全てまたは大部分が、ユーザ(例えば人間のドライバ)から受けた入力にしたがって行なわれることを意味する。1つ以上の配設において、車両100は、手動モードのみで動作するように構成されている従来の車両であり得る。
1つ以上の実施形態において、車両100は自律型車両である。本明細書中で使用される「自律型車両」とは、自律モードで動作する車両を意味する。「自律モード」とは、人間のドライバからの入力が最小限であるかまたは全く無い状態で、車両100を制御するために1つ以上の計算システムを使用して走行ルートに沿って車両100をナビゲートおよび/または操作することを意味する。1つ以上の実施形態において、車両100は、高度に自動化されているか、または完全に自動化されている。一実施形態において、車両100は、1つ以上の計算システムが走行ルートに沿った車両のナビゲーションおよび/または操作の一部分を行ない、車両のオペレータ(すなわちドライバ)が、走行ルートに沿った車両100のナビゲーションおよび/または操作の一部分を行なうために車両に入力を提供する、1つ以上の半自律動作モードを伴って構成されている。
車両100は、1つ以上のプロセッサ110を含むことができる。1つ以上の配設において、プロセッサ110は、車両100の主プロセッサであり得る。例えば、プロセッサ110は、電子制御ユニット(ECU)であり得る。車両100は、1つ以上のタイプのデータを記憶するための1つ以上のデータストア115を含むことができる。データストア115は、揮発性および/または不揮発性メモリを含むことができる。好適なデータストア115の例としては、RAM(ランダムアクセスメモリ)、フラッシュメモリ、ROM(読取り専用メモリ)、PROM(プログラマブル読取り専用メモリ)、EPROM(消去可能なプログラマブル読取り専用メモリ)、EEPROM(電気的消去可能なプログラマブル読取り専用メモリ)、レジスタ、磁気ディスク、光ディスク、ハードドライブまたは他の任意の好適な記憶媒体、またはその任意の組合せを含むことができる。データストア115は、プロセッサ110の1つのコンポーネントであり得、あるいはデータストア115はプロセッサ110に対し作動的に接続されてそれにより使用され得る。本明細書全体を通して使用される「作動的に接続された」なる用語は、直接的な物理的接触の無い接続を含めた、直接的または間接的接続を含むことができる。
1つ以上の配設において、1つ以上のデータストア115は、マップデータ116を含むことができる。マップデータ116は、1つ以上の地理的地域のマップを含み得る。いくつかの事例において、マップデータ116は、1つ以上の地理的地域内の道路、交通管制装置、路面標識、構造、特徴および/またはランドマークについての情報またはデータを含み得る。マップデータ116は、任意の好適な形態であり得る。いくつかの事例において、マップデータ116は、一地域の航空写真を含み得る。いくつかの事例において、マップデータ116は、360度の地上写真を含めた、一地域の地上写真であり得る。マップデータ116は、マップデータ116内に含まれた1つ以上のアイテムについてのおよび/またはマップデータ116内に含まれた他のアイテムに関する測定値、寸法、距離および/または情報を含むことができる。マップデータ116は、道路の幾何形状についての情報を伴うデジタルマップを含むことができる。マップデータ116は、高品質のおよび/または高精細のものであり得る。
1つ以上の配設において、マップデータ116は、1つ以上の地形図117を含み得る。地形図117は、1つ以上の地理的地域の地面、地形、道路、表面および/または他の特徴についての情報を含むことができる。地形図117は、1つ以上の地理的地域内の標高データを含み得る。マップデータ116は、高品質および/または高精細のものであり得る。地形図117は、舗装道路、未舗装道路、陸地および地表を画定する他の物を含み得る1つ以上の地表を定義し得る。
1つ以上の配設において、マップデータ116は、1つ以上の静止障害物マップ118を含むことができる。静止障害物マップ118は、1つ以上の地理的地域内に位置設定された1つ以上の静止障害物についての情報を含むことができる。「静止障害物」は、一定の期間にわたりその位置が変わらないかまたは実質的に変わらずかつ/または一定の期間にわたりそのサイズが変わらないかまたは実質的に変わらない物理的オブジェクトである。静止障害物の例としては、木、建物、縁石、フェンス、ガードレール、中央分離帯、電柱、塑像、モニュメント、看板、ベンチ、調度品、郵便箱、大きな岩、丘が含まれる。静止障害物は、地表面より上に延在するオブジェクトであり得る。静止障害物マップ118に含まれる1つ以上の静止障害物は、場所データ、サイズデータ、寸法データ、材料データおよび/またはそれに結び付けられた他のデータを有することができる。静止障害物マップ118は、1つ以上の静止障害物についての測定値、寸法、距離および/または情報を含むことができる。静止障害物マップ118は、高品質および/または高精細のものであり得る。静止障害物マップ118は、マッピングされた地域内の変化を反映するように更新され得る。
1つ以上のデータストア115は、センサデータ119を含み得る。これに関連して、「センサデータ」は、車両100に具備されたセンサについての能力および他の情報を含めた、このようなセンサについてのあらゆる情報を意味する。以下で説明されるように、車両100はセンサシステム120を含むことができる。センサデータ119は、センサシステム120の1つ以上のセンサに関係し得る。一例として、1つ以上の配設において、センサデータ119は、センサシステム120の1つ以上のLIDARセンサ124についての情報を含むことができる。
いくつかの事例において、マップデータ116および/またはセンサデータ119の少なくとも一部分は、車両100に搭載された1つ以上のデータストア115内に位置設定され得る。代替的に、または付加的に、マップデータ116および/またはセンサデータ119の少なくとも一部分を、車両100から遠隔に位置設定された1つ以上のデータストア115内に位置設定することができる。
以上で指摘したように、車両100は、センサシステム120を含むことができる。センサシステム120は、1つ以上のセンサを含み得る。「センサ」とは、何かを検出および/または検知できるあらゆるデバイス、コンポーネントおよび/またはシステムを意味する。1つ以上のセンサは、実時間で検出および/または検知するように構成され得る。本明細書中で使用される「実時間」なる用語は、特定のプロセスまたは決定を行なうのに充分に即時であるものとしてユーザまたはシステムが検知する、またはプロセッサがいくつかの外部プロセスに遅れずについていけるようにする処理応答性レベルを意味する。
センサシステム120が複数のセンサを含んでいる配設において、センサは互いに独立して作動し得る。代替的には、センサの2つ以上が互いに組合わさって作動することができる。このような場合には、2つ以上のセンサはセンサネットワークを形成し得る。センサシステム120および/または1つ以上のセンサは、プロセッサ110、データストア115および/または車両100の別の要素(図1に示された要素のいずれかを含む)に対して作動的に接続され得る。センサシステム120は、車両100の外部環境の少なくとも一部分(例えば近傍の車両)のデータを取得することができる。
センサシステム120は、任意の好適なタイプのセンサを含むことができる。本明細書中では、異なるタイプのセンサのさまざまな例が記載される。しかしながら、実施形態は、記載された特定のセンサに限定されない、ということが理解される。センサシステム120は、1つ以上の車両センサ121を含むことができる。車両センサ121は、車両100自体についての情報を検出、決定および/または検知できる。1つ以上の配設において、車両センサ121は、例えば慣性加速度に基づいて、車両100の位置および配向の変化を検出および/または検知するように構成され得る。1つ以上の配設において、車両センサ121は、1つ以上の加速度計、1つ以上のジャイロスコープ、慣性測定ユニット(IMU)、推測航法システム、全地球的航法衛星システム(GNSS)、全地球測位システム(GPS)、ナビゲーションシステム147および/または他の好適なセンサを含むことができる。車両センサ121は、車両100の1つ以上の特性を検出および/または検知するように構成され得る。1つ以上の配設において、車両センサ121は、車両100の現在速度を決定するための速度計を含み得る。
代替的に、または付加的に、センサシステム120は、運転環境データを取得および/または検知するように構成された1つ以上の環境センサ122を含むことができる。「運転環境データ」には、自律型車両が中に位置設定されている外部環境またはその1つ以上の部分についてのデータまたは情報が含まれる。例えば、1つ以上の環境センサ122は、車両100の外部環境の少なくとも一部分の中の障害物、および/またはこのような障害物についての情報/データを検出、定量化および/または検知するように構成され得る。このような障害物は、不動のオブジェクトおよび/または動的オブジェクトであり得る。1つ以上の環境センサ122は、車両100の外部環境内の他の物、例えば車線マーカー、看板、交通信号灯、交通標識、車線ライン、横断歩道、車両100に近接した縁石、オフロードオブジェクトなどを検出、測定、定量化および/または検知するように構成され得る。
本明細書には、センサシステム120のセンサのさまざまな例が記載されている。例示的センサは、1つ以上の環境センサ122および/または1つ以上の車両センサ121の一部であり得る。しかしながら、実施形態は、記載されている特定のセンサに限定されないことが理解される。
一例として、1つ以上の配設において、センサシステム120は、1つ以上のレーダセンサ123、1つ以上のLIDARセンサ124、1つ以上のソーナセンサ125および/または1つ以上のカメラ126を含むことができる。1つ以上の配設において、1つ以上のカメラ126は、高ダイナミックレンジ(HDR)カメラまたは赤外線(IR)カメラであり得る。
車両100は、入力システム130を含むことができる。「入力システム」には、情報/データを機械に入力できるようにするあらゆるデバイス、コンポーネント、システム、要素、または配設またはそれらの群が含まれる。入力システム130は、車両の乗員(例えばドライバまたは同乗者)からの入力を受信することができる。車両100は、出力システム135を含み得る。「出力システム」には、車両の乗員(例えば人物、車両の乗員)に対して情報/データを提示できるようにするあらゆるデバイス、コンポーネントまたは配設、またはそれらの群が含まれる。
車両100は、1つ以上の車両システム140を含むことができる。1つ以上の車両システム140のさまざまな例が、図1に示されている。しかしながら、車両100は、より多くの、より少ない、または異なる車両システムを含むことができる。特定の車両システムが別個に定義されているものの、これらのシステムまたはその部分の各々またはいずれかを、車両100の内部でハードウェアおよび/またはソフトウェアを介して他の形で組合わせるかまたは分離してもよい、ということを認識すべきである。車両100は、推進システム141、制動システム142、ステアリングシステム143、スロットルシステム144、トランスミッションシステム145、信号システム146および/またはナビゲーションシステム147を含むことができる。これらのシステムの各々は、現在公知のまたは将来開発される1つ以上のデバイス、コンポーネントおよび/またはそれらの組合せを含むことができる。
ナビゲーションシステム147は、車両100の地理的場所を決定しかつ/または車両100のための走行ルートを決定するように構成された、現在公知のまたは将来開発される1つ以上のデバイス、アプリケーションおよび/またはそれらの組合せを含むことができる。ナビゲーションシステム147は、車両100の走行ルートを決定するための1つ以上のマッピングアプリケーションを含むことができる。ナビゲーションシステム147は、全地球測位システム、局地測位システムまたは地理位置情報システムを含むことができる。
プロセッサ110、深度システム170および/または自律運転モジュール160は、さまざまな車両システム140および/またはその個別のコンポーネントと通信するために作動的に接続(すなわち通信可能に結合)され得る。例えば、図1に戻ると、プロセッサ110および/または自律運転モジュール160は、車両100の運動、速度、操作、進路、方向などを制御する目的で、さまざまな車両システム140からの情報を送信および/または受信するように通信状態にあり得る。プロセッサ110、深度システム170および/または自律運転モジュール160は、これらの車両システム140のいくつかまたは全てを制御することができ、したがって、部分的または完全に自律型である。
プロセッサ110、深度システム170および/または自律運転モジュール160は、さまざまな車両システム140および/またはその個別のコンポーネントと通信するために作動的に接続され得る。例えば、図1に戻ると、プロセッサ110、深度システム170および/または自律運転モジュール160は、車両100の運動、速度、操作、進路、方向などを制御する目的で、さまざまな車両システム140からの情報を送信および/または受信するように通信状態にあり得る。プロセッサ110、深度システム170および/または自律運転モジュール160は、これらの車両システム140のいくつかまたは全てを制御することができる。
プロセッサ110、深度システム170および/または自律運転モジュール160は、車両システム140および/またはそのコンポーネントの1つ以上を制御することによって、車両100のナビゲーションおよび/または操作を制御するように動作可能であり得る。例えば、自律モードで動作している場合、プロセッサ110、深度システム170および/または自律運転モジュール160は、車両100の方向および/または速度を制御することができる。プロセッサ110、深度システム170および/または自律運転モジュール160は、車両100に加速させる(例えばエンジンに対し提供される燃料供給を増大させることによる)、減速させる(例えばエンジンに対する燃料供給を減少させることおよび/またはブレーキをかけることによる)、および/または方向転換させる(例えば2つの前輪を回転させることによる)ことができる。本明細書中で使用される「~させる(causeまたはcausing)」は、直接的にまたは間接的に、1つの事象またはアクションが発生するかまたはこのような事象またはアクションが発生し得る状態にあるようにする、強制する、余儀なくさせる、指図する、指令する、命令する、および/または可能にすることを意味している。
車両100は、1つ以上のアクチュエータ150を含むことができる。アクチュエータ150は、プロセッサ110および/または自律運転モジュール160からの信号または他の出力の受信に対する応答性を有するように車両システム140またはそのコンポーネントの1つ以上を修正、調整および/または改変するために動作可能であるあらゆる要素または要素の組合せであり得る。任意の好適なアクチュエータを使用することができる。例えば、1つ以上のアクチュエータ150には、幾つかの可能性を挙げると、モータ、空気圧式アクチュエータ、油圧式ピストン、継電器、ソレノイド、および/または圧電アクチュエータが含まれ得る。
車両100は、1つ以上のモジュールを含むことができ、そのうちの少なくともいくつかが本明細書中に記載されている。モジュールは、プロセッサ110によって実行された時点で、本明細書中に記載のさまざまなプロセスの1つ以上を実装するコンピュータ可読プログラムコードとして実装され得る。モジュールの1つ以上は、プロセッサ110の1つのコンポーネントであり得、あるいは、モジュールの1つ以上を、プロセッサ110が作動的に接続されている他の処理システム上で実行することおよび/またはこれらの他のシステムの間で分散させることが可能である。モジュールは、1つ以上のプロセッサ110により実行可能な命令(例えばプログラム論理)を含むことができる。代替的にまたは付加的に、1つ以上のデータストア115が、このような命令を格納していてよい。
1つ以上の配設において、本明細書中に記載のモジュールの1つ以上は、人工または計算知能要素、例えばニューラルネットワーク、ファジー論理または他の機械学習アルゴリズムを含むことができる。さらに、1つ以上の配設において、モジュールの1つ以上は、本明細書中に記載のモジュールのうちの複数のものの間で分散され得る。1つ以上の配設において、本明細書中に記載のモジュールの2つ以上を単一のモジュールの形に組合わせることができる。
車両100は1つ以上の自律運転モジュール160を含むことができる。自律運転モジュール160は、センサシステム120および/または車両100および車両100の外部環境に関する情報を捕捉する能力を有する任意の他のタイプのシステムからデータを受信するように構成され得る。1つ以上の配設において、自律運転モジュール160は、このようなデータを用いて1つ以上の運転シーンモデルを生成することができる。自律運転モジュール160は、車両100の位置および速度を決定することができる。自律運転モジュール160は、障害物、障害物または、交通標識、樹木、低木、隣接車両、歩行者などを含めた他の環境特徴の場所を決定することができる。
自律運転モジュール160は、車両100の位置および配向を推定するために、プロセッサ110および/または本明細書中に記載のモジュールの1つ以上によって使用されるための車両100の外部環境内の障害物についての場所情報、複数の衛星からの信号に基づくグローバル座標内の車両の位置、または、車両100の現在の状態を決定するかまたはマップの作成またはマップデータとの関係における車両100の位置の決定において使用するための環境との関係における車両100の位置を決定するために使用可能と思われる任意の他のデータ、および/または信号を受信および/または決定するように構成され得る。
自律運転モジュール160は、独立してまたは深度システム170と組合わせた形で、センサシステム120が取得したデータ、運転シーンモデルおよび/または他の任意の好適なソースからのデータに基づいて、走行経路、車両100のための現在の自律運転操作、将来の自律運転操作、および/または現在の自律運転操作に対する修正を決定するように構成され得る。「運転操作」とは、車両の動きに影響を及ぼす1つ以上のアクションを意味する。運転操作の例としては、幾つかの可能性を挙げると、加速、減速、制動、方向転換、車両100の横方向移動、走行車線の変更、走行車線内への合流および/または逆進が含まれる。自律運転モジュール160は、決定された運転操作を実装するように構成され得る。自律運転モジュール160は、直接的にまたは間接的にこのような自律運転操作を実装させることができる。本明細書中で使用される「~させる(causeまたはcausing)」は、直接的にまたは間接的に、1つの事象またはアクションが発生するかまたはこのような事象またはアクションが発生し得る状態にあるようにする、指令する、命令する、および/または可能にすることを意味している。自律運転モジュール160は、さまざまな車両機能を実行しかつ/または、車両100またはその1つ以上のシステム(例えば車両システム140の1つ以上)にデータを伝送する、これらからデータを受信する、これらと対話するおよび/またはこれらを制御するように構成され得る。
本明細書中では、詳細にわたる実施形態が開示されている。しかしながら、開示された実施形態は単なる例として意図されたものであることを理解しなければならない。したがって、本明細書中で開示されている具体的な構造的および機能的詳細は、限定的なものとしてではなく、単にクレームの根拠として、およびほぼあらゆる適切に詳述された構造において本明細書中の態様をさまざまな形で利用するように当業者に教示するための代表的な原則として解釈されるべきものである。さらに、本明細書中で使用されている用語および言い回しは、限定的であるように意図されておらず、むしろ考えられる実装の理解可能な描写を提供するように意図されたものである。さまざまな実施形態が図1~5に示されているが、実施形態は、例示された構造または利用分野に限定されない。
図中の流れ図およびブロック図は、さまざまな実施形態にしたがったシステム、方法およびコンピュータプログラムプロダクツの考えられる実装のアーキテクチャ、機能性および動作を例示している。この点において、流れ図またはブロック図中の各ブロックは、規定された論理的機能を実装するための1つ以上の実行可能な命令を含む、モジュール、セグメントまたはコードの一部分を表わし得る。同様に、いくつかの代替的な実装においては、ブロック内に記された機能が図中に記された順序から外れて発生し得る、ということも指摘しておくべきである。例えば、連続して示されている2つのブロックを、実際には、実質的に同時に実行してもよく、あるいは、時として、関与する機能性に応じてブロックを逆の順序で実行してもよい。
以上で説明したシステム、コンポーネントおよび/またはプロセスは、ハードウェア、またはハードウェアとソフトウェアの組合せの形で実現可能であり、1つの処理システム内に集中した形で、または異なる要素が複数の相互接続された処理システムを横断して展開されている分散した形で実現され得る。本明細書中に記載の方法を実施するために適応されたあらゆる種類の処理システムまたは別の装置が好適である。ハードウェアとソフトウェアの典型的な組合せは、ロードされ実行された場合に、本明細書中に記載の方法を実施するような形で処理システムを制御するコンピュータ使用可能プログラムコードを伴う処理システムであり得る。システム、コンポーネントおよび/またはプロセスは同様に、本明細書中に記載の方法およびプロセスを行なうように機械により実行可能な命令プログラムを有形に具現する、機械可読コンピュータプログラムプロダクトまたは他のデータプログラム記憶デバイスなどのコンピュータ可読記憶装置の中に埋込まれ得る。これらの要素は同様に、本明細書中に記載の方法の実装を可能にする全ての特徴を含み、かつ処理システム内にロードされた時点でこれらの方法を実施することのできるアプリケーションプロダクトの中に埋込まれ得る。
さらに、本明細書中に記載の配設は、例えば上に記憶された状態で実施されているコンピュータ可読プログラムコードを有する1つ以上のコンピュータ可読媒体中に埋込まれたコンピュータプログラムプロダクトの形をとり得る。1つ以上のコンピュータ可読媒体の任意の組合せを利用してよい。コンピュータ可読媒体は、コンピュータ可読信号媒体またはコンピュータ可読記憶媒体であり得る。「コンピュータ可読記憶媒体」なる言い回しは、非一時的記憶媒体を意味する。コンピュータ可読記憶媒体は例えば、ただし非限定的に、電子、磁気、光学、電磁、赤外線または半導体システム、装置またはデバイス、またはそれらの任意の好適な組合せであり得る。コンピュータ可読記憶媒体のさらに具体的な例(非網羅的リスト)には、以下のものが含まれると考えられる:ポータブルコンピュータディスケット、ハードディスクドライブ(HDD)、ソリッドステートドライブ(SSD)、読取り専用メモリ(ROM)、消去可能なプログラマブル読取り専用メモリ(EPROMまたはフラッシュメモリ)、ポータブルコンパクトディスク読取り専用メモリ(CD-ROM)、デジタル多目的ディスク(DVD)、光学記憶デバイス、磁気記憶デバイス、または以上のものの任意の好適な組合せ。本書に関連して、コンピュータ可読記憶媒体は、命令実行システム、装置またはデバイスによって、またはこれと接続して使用されるためのプログラムを格納または記憶することのできるあらゆる有形媒体であってよい。
概して、本明細書中で使用されるモジュールには、特定のタスクを行なうかまたは特定のデータタイプを実装するルーチン、プログラム、オブジェクト、コンポーネント、データ構造などが含まれる。さらなる態様においては、メモリが概して、指摘されたモジュールを記憶する。モジュールと結び付けられるメモリは、プロセッサの内部に埋込まれたバッファまたはキャッシュ、RAM、ROM、フラッシュメモリまたは別の好適な電子記憶媒体であり得る。さらなる態様において、本開示が想定するモジュールは、特定用途向け集積回路(ASIC)、システムオンチップ(SoC)のハードウェアコンポーネントとして、プログラマブル論理アレイ(PLA)として、または開示された機能を行なうために定義された構成セット(例えば命令)と共に埋込まれる別の好適なハードウェアコンポーネントとして実装される。
無線、有線、光ファイバ、ケーブル、RFなど、または以上のものの任意の好適な組合せを非限定的に含む任意の適切な媒体を用いて、コンピュータ可読媒体上に具現されたプログラムコードを伝送することができる。本配設の態様のために動作を行なうためのコンピュータプログラムコードは、Java(登録商標)、Smalltalk、C++などのオブジェクト指向プログラミング言語および “C”プログラミング言語または類似のプログラミング言語などの従来の手続き型プログラミング言語を含めた1つ以上のプログラミング言語の任意の組合せで書かれてよい。プログラムコードは、全体がユーザのコンピュータ上で、部分的にユーザのコンピュータ上で、スタンドアローンソフトウェアパッケージとして、一部ユーザのコンピュータ上、一部遠隔コンピュータ上で、あるいは全体が遠隔のコンピュータまたはサーバ上で、実行可能である。後者のシナリオでは、遠隔コンピュータは、ローカルエリアネットワーク(LAN)または広域ネットワーク(WAN)を含めたあらゆるタイプのネットワークを通して、ユーザのコンピュータに接続され得るか、または、(例えばインタネットサービスプロバイダを用いてインタネットを通して)外部のコンピュータに対する接続を行なってもよい。
本明細書中で使用される「a」および「an」なる用語は、1または2以上として定義される。本明細書中で使用される「複数(plurality)」なる用語は、2または3以上として定義される。本明細書中で使用される「別の(anothen)」なる用語は、少なくとも2つ目以降として定義される。本明細書中で使用される「含む(including)」および/または「有する(having)」なる用語は、含む(comprising)として定義される(すなわちオープンランゲージ)。本明細書中で使用される「~と~のうちの少なくとも1つ(at least one of~and~)は、結び付けられた列挙項目のうちの1つ以上の項目のありとあらゆる可能な組合せを意味しそれを包含する。一例として、「A、BおよびCのうちの少なくとも1つ(at laest one of A、B and C)」なる言い回しは、Aのみ、Bのみ、Cのみ、またはその任意の組合せ(例えばAB、AC、BCまたはABC)を含む。
本明細書中の態様は、その精神または本質的な属性から逸脱することなく、他の形態で具現可能である。したがって、その範囲を示すものとしては、以上の明細書ではなくむしろ以下のクレームを参照すべきである。
Claims (20)
- 深度システムであって、
1つ以上のプロセッサと、
前記1つ以上のプロセッサに対して通信可能に結合されたメモリであって、前記1つ以上のプロセッサによって実行された時点で前記1つ以上のプロセッサに、
組合せ型ネットワークのバックボーンを用いて、入力画像から多重スケールで特徴マップを生成させ、
前記組合せ型ネットワークのトップダウン経路を用いて特徴マップをデコードして前記多重スケールで特徴を提供させ、
前記組合せ型ネットワークのヘッドを用いて、前記入力画像の中に描かれたシーンについての特徴から深度マップを、そして前記入力画像内のオブジェクトを識別する境界ボックスを生成させる、
命令を含むネットワークモジュールを記憶しているメモリと、
を含む、深度システム。 - 前記ネットワークモジュールは、第1の段階において、前記深度マップから導出された教師あり深度損失を使用することによって、前記組合せ型ネットワークを訓練するための命令を含む、請求項1に記載の深度システム。
- 前記ネットワークモジュールは、第2の段階において、検出損失を計算するために前記境界ボックスおよびグラウンドトルースデータを使用することによって、前記組合せ型ネットワークを訓練するための命令を含む、請求項2に記載の深度システム。
- 前記ネットワークモジュールは、前記バックボーンと前記トップダウン経路の間の側方接続を用いて、前記トップダウン経路内部から先行レベルの出力に加えて前記特徴マップの前記多重スケールを提供するための命令を含む、デコード命令を含む、請求項1に記載の深度システム。
- 前記ネットワークモジュールは、特徴階層として前記多重スケールで前記特徴マップを生成するための命令を含む、前記特徴マップを生成する命令を含み、
前記ネットワークモジュールは、前記深度マップおよび前記境界ボックスを生成するための共通の基準を提供するべく前記入力画像の特徴をエンコードするために前記特徴マップを生成するための命令を含んでいる、
請求項1に記載の深度システム。 - 前記ネットワークモジュールは、前記多重スケールで前記境界ボックスを生成し、前記多重スケールのうちの1つで前記深度マップを生成するべく、前記多重スケールで前記トップダウン経路の別個の層中の前記ヘッドを使用するための命令を含む、前記深度マップおよび前記境界ボックスを生成するための命令を含む、請求項1に記載の深度システム。
- 前記ヘッドは、3Dオブジェクト検出、2Dオブジェクト検出、深度推定および分類を行なう多数のサブヘッドを含む、請求項1に記載の深度システム。
- 前記入力画像はRGBの単眼画像である、請求項1に記載の深度システム。
- 1つ以上のプロセッサによって実行された時点で前記1つ以上のプロセッサに、
組合せ型ネットワークのバックボーンを用いて、入力画像から多重スケールで特徴マップを生成させ、
前記組合せ型ネットワークのトップダウン経路を用いて特徴マップをデコードして前記多重スケールで特徴を提供させ、
前記組合せ型ネットワークのヘッドを用いて、前記入力画像の中に描かれたシーンについての特徴から深度マップを、そして前記入力画像内のオブジェクトを識別する境界ボックスを生成させる、
命令を含む、非一時的コンピュータ可読媒体。 - 前記命令は、第1の段階において、前記深度マップから導出された教師あり深度損失を使用することによって前記組合せ型ネットワークを訓練するための命令を含む、請求項9に記載の非一時的コンピュータ可読媒体。
- 前記命令は、第2の段階において、検出損失を計算するために前記境界ボックスおよびグラウンドトルースデータを使用することによって、前記組合せ型ネットワークを訓練するための命令を含む、請求項10に記載の非一時的コンピュータ可読媒体。
- デコード命令は、前記バックボーンと前記トップダウン経路の間の側方接続を用いて、前記トップダウン経路内部から先行レベルの出力に加えて前記特徴マップの前記多重スケールを提供するための命令を含む、請求項9に記載の非一時的コンピュータ可読媒体。
- 前記特徴マップを生成する命令は、特徴階層として前記多重スケールで前記特徴マップを生成するための命令を含み、
特徴マップを生成するための命令は、前記深度マップおよび前記境界ボックスを生成するための共通の基準を提供するべく前記入力画像の特徴をエンコードする、
請求項9に記載の非一時的コンピュータ可読媒体。 - 組合せ型ネットワークのバックボーンを用いて、入力画像から多重スケールで特徴マップを生成することと、
前記組合せ型ネットワークのトップダウン経路を用いて特徴マップをデコードして前記多重スケールで特徴を提供することと、
前記組合せ型ネットワークのヘッドを用いて、前記入力画像の中に描かれたシーンについての特徴から深度マップを、そして前記入力画像内のオブジェクトを識別する境界ボックスを生成することと、
を含む、方法。 - 第1の段階において、前記深度マップから導出された教師あり深度損失を使用することによって前記組合せ型ネットワークを訓練すること、
をさらに含む、請求項14に記載の方法。 - 第2の段階において、検出損失を計算するために前記境界ボックスおよびグラウンドトルースデータを使用することによって、前記組合せ型ネットワークを訓練すること、
をさらに含む、請求項15に記載の方法。 - デコードすることが、前記バックボーンと前記トップダウン経路の間の側方接続を用いて、前記トップダウン経路内部から先行レベルの出力に加えて前記特徴マップの前記多重スケールを提供することを含む、請求項14に記載の方法。
- 前記特徴マップを生成することは、特徴階層として前記多重スケールで前記特徴マップを生成すること含み、
前記特徴マップを生成することは、前記深度マップおよび前記境界ボックスを生成するための共通の基準を提供するべく前記入力画像の特徴をエンコードする、
請求項14に記載の方法。 - 前記深度マップおよび前記境界ボックスを生成することは、前記多重スケールで前記境界ボックスを、そして前記多重スケールのうちの1つで前記深度マップを生成するべく前記多重スケールで前記トップダウン経路の別個の層の中の前記ヘッドを使用することを含む、請求項14に記載の方法。
- 前記深度マップおよび前記境界ボックスにしたがってデバイスのナビゲーションをひき起こすために前記深度マップおよび前記境界ボックスを提供すること、
をさらに含み、
前記ヘッドは、3Dオブジェクト検出、2Dオブジェクト検出、深度推定および分類を行なう多数のサブヘッドを含み、前記入力画像はRGBの単眼画像である、請求項14に記載の方法。
Applications Claiming Priority (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US202163161735P | 2021-03-16 | 2021-03-16 | |
US63/161,735 | 2021-03-16 | ||
US17/333,537 | 2021-05-28 | ||
US17/333,537 US12020489B2 (en) | 2021-03-16 | 2021-05-28 | Network architecture for monocular depth estimation and object detection |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2022142789A true JP2022142789A (ja) | 2022-09-30 |
Family
ID=83283648
Family Applications (4)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2022041668A Pending JP2022142784A (ja) | 2021-03-16 | 2022-03-16 | 単眼物体検出を向上するための自己学習ラベル精密化のシステム及び方法 |
JP2022041807A Pending JP2022142789A (ja) | 2021-03-16 | 2022-03-16 | 単眼深度推定およびオブジェクト検出のためのネットワークアーキテクチャ |
JP2022041705A Pending JP2022142787A (ja) | 2021-03-16 | 2022-03-16 | 奥行き知覚のための予測システムを訓練するためのシステム及び方法 |
JP2022041832A Pending JP2022142790A (ja) | 2021-03-16 | 2022-03-16 | マルチタスクネットワークのための評価プロセス |
Family Applications Before (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2022041668A Pending JP2022142784A (ja) | 2021-03-16 | 2022-03-16 | 単眼物体検出を向上するための自己学習ラベル精密化のシステム及び方法 |
Family Applications After (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2022041705A Pending JP2022142787A (ja) | 2021-03-16 | 2022-03-16 | 奥行き知覚のための予測システムを訓練するためのシステム及び方法 |
JP2022041832A Pending JP2022142790A (ja) | 2021-03-16 | 2022-03-16 | マルチタスクネットワークのための評価プロセス |
Country Status (2)
Country | Link |
---|---|
US (4) | US11798288B2 (ja) |
JP (4) | JP2022142784A (ja) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11798288B2 (en) * | 2021-03-16 | 2023-10-24 | Toyota Research Institute, Inc. | System and method for generating a training set for improving monocular object detection |
US20230419657A1 (en) * | 2022-06-23 | 2023-12-28 | Lockheed Martin Corporation | Terrain fusion real-time ray tracing optimization |
Family Cites Families (29)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE3374180D1 (en) * | 1982-03-13 | 1987-12-03 | Ishida Scale Mfg Co Ltd | Method and apparatus for sorting articles |
TW201002073A (en) | 2008-06-23 | 2010-01-01 | Huper Lab Co Ltd | Method of vehicle segmentation and counting for nighttime video frames |
CN104346620B (zh) * | 2013-07-25 | 2017-12-29 | 佳能株式会社 | 对输入图像中的像素分类的方法和装置及图像处理系统 |
US9598015B1 (en) * | 2015-03-05 | 2017-03-21 | Ambarella, Inc. | Automatic mirror adjustment using an in-car camera system |
US10999559B1 (en) * | 2015-09-11 | 2021-05-04 | Ambarella International Lp | Electronic side-mirror with multiple fields of view |
US9824289B2 (en) * | 2015-12-07 | 2017-11-21 | Conduent Business Services, Llc | Exploiting color for license plate recognition |
US10346723B2 (en) | 2016-11-01 | 2019-07-09 | Snap Inc. | Neural network for object detection in images |
US10530991B2 (en) * | 2017-01-28 | 2020-01-07 | Microsoft Technology Licensing, Llc | Real-time semantic-aware camera exposure control |
US10310087B2 (en) * | 2017-05-31 | 2019-06-04 | Uber Technologies, Inc. | Range-view LIDAR-based object detection |
US10824862B2 (en) * | 2017-11-14 | 2020-11-03 | Nuro, Inc. | Three-dimensional object detection for autonomous robotic systems using image proposals |
US10839234B2 (en) * | 2018-09-12 | 2020-11-17 | Tusimple, Inc. | System and method for three-dimensional (3D) object detection |
EP3857451A4 (en) | 2018-09-25 | 2022-06-22 | Matterport, Inc. | USING THREE-DIMENSIONAL DATA PREDICTED FROM TWO-DIMENSIONAL IMAGES USING NEURAL NETWORKS FOR 3D MODELING APPLICATIONS |
CA3117959A1 (en) | 2018-10-30 | 2020-05-07 | Allen Institute | Segmenting 3d intracellular structures in microscopy images using an iterative deep learning workflow that incorporates human contributions |
US11494937B2 (en) | 2018-11-16 | 2022-11-08 | Uatc, Llc | Multi-task multi-sensor fusion for three-dimensional object detection |
US11037051B2 (en) * | 2018-11-28 | 2021-06-15 | Nvidia Corporation | 3D plane detection and reconstruction using a monocular image |
US11170299B2 (en) * | 2018-12-28 | 2021-11-09 | Nvidia Corporation | Distance estimation to objects and free-space boundaries in autonomous machine applications |
EP3942527A1 (en) | 2019-03-21 | 2022-01-26 | Five AI Limited | Depth extraction |
US11455383B2 (en) | 2019-04-30 | 2022-09-27 | TruU, Inc. | Supervised and unsupervised techniques for motion classification |
US10937178B1 (en) * | 2019-05-09 | 2021-03-02 | Zoox, Inc. | Image-based depth data and bounding boxes |
DE102019206985A1 (de) * | 2019-05-14 | 2020-11-19 | Robert Bosch Gmbh | Verfahren zum Ermitteln eines Betriebswinkels zwischen einer Zugmaschine und einem Anhänger der Zugmaschine |
WO2021016596A1 (en) * | 2019-07-25 | 2021-01-28 | Nvidia Corporation | Deep neural network for segmentation of road scenes and animate object instances for autonomous driving applications |
DE102019213546A1 (de) | 2019-09-05 | 2021-03-11 | Robert Bosch Gmbh | Erzeugung synthetischer Lidarsignale |
US11373332B2 (en) * | 2020-01-06 | 2022-06-28 | Qualcomm Incorporated | Point-based object localization from images |
US11145065B2 (en) * | 2020-01-22 | 2021-10-12 | Gracenote, Inc. | Selection of video frames using a machine learning predictor |
GB2593717B (en) * | 2020-03-31 | 2022-08-24 | Imperial College Innovations Ltd | Image processing system and method |
EP4172862A4 (en) * | 2020-06-24 | 2023-08-09 | Magic Leap, Inc. | OBJECT RECOGNITION NEURONAL NETWORK FOR AMODAL CENTER PREDICTION |
US11798180B2 (en) * | 2021-02-26 | 2023-10-24 | Adobe Inc. | Generating depth images utilizing a machine-learning model built from mixed digital image sources and multiple loss function sets |
US11798288B2 (en) * | 2021-03-16 | 2023-10-24 | Toyota Research Institute, Inc. | System and method for generating a training set for improving monocular object detection |
US20220308592A1 (en) * | 2021-03-26 | 2022-09-29 | Ohmnilabs, Inc. | Vision-based obstacle detection for autonomous mobile robots |
-
2021
- 2021-05-25 US US17/329,922 patent/US11798288B2/en active Active
- 2021-05-28 US US17/333,537 patent/US12020489B2/en active Active
- 2021-06-25 US US17/358,497 patent/US12067785B2/en active Active
- 2021-07-23 US US17/384,121 patent/US12008818B2/en active Active
-
2022
- 2022-03-16 JP JP2022041668A patent/JP2022142784A/ja active Pending
- 2022-03-16 JP JP2022041807A patent/JP2022142789A/ja active Pending
- 2022-03-16 JP JP2022041705A patent/JP2022142787A/ja active Pending
- 2022-03-16 JP JP2022041832A patent/JP2022142790A/ja active Pending
Also Published As
Publication number | Publication date |
---|---|
US11798288B2 (en) | 2023-10-24 |
JP2022142784A (ja) | 2022-09-30 |
US12020489B2 (en) | 2024-06-25 |
US12008818B2 (en) | 2024-06-11 |
US20220301202A1 (en) | 2022-09-22 |
JP2022142790A (ja) | 2022-09-30 |
JP2022142787A (ja) | 2022-09-30 |
US20220300746A1 (en) | 2022-09-22 |
US12067785B2 (en) | 2024-08-20 |
US20220301203A1 (en) | 2022-09-22 |
US20220300768A1 (en) | 2022-09-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11436743B2 (en) | Systems and methods for semi-supervised depth estimation according to an arbitrary camera | |
US11138751B2 (en) | Systems and methods for semi-supervised training using reprojected distance loss | |
US11107230B2 (en) | Systems and methods for depth estimation using monocular images | |
US11176709B2 (en) | Systems and methods for self-supervised scale-aware training of a model for monocular depth estimation | |
JP7341864B2 (ja) | 3dデータを2d画像データに登録するためのシステム及び方法 | |
US10762650B1 (en) | System and method for estimating depth using a monocular camera | |
US11868439B2 (en) | Mixed-batch training of a multi-task network | |
US11321863B2 (en) | Systems and methods for depth estimation using semantic features | |
US11663729B2 (en) | Network architecture for the joint learning of monocular depth prediction and completion | |
JP7192935B2 (ja) | Lidarの出力を強化するためのシステム及び方法 | |
US11010592B2 (en) | System and method for lifting 3D representations from monocular images | |
US11652972B2 (en) | Systems and methods for self-supervised depth estimation according to an arbitrary camera | |
US11144818B2 (en) | Network architecture for ego-motion estimation | |
JP7165173B2 (ja) | 単眼画像を用いた深度推定のためのシステムおよび方法 | |
US11328517B2 (en) | System and method for generating feature space data | |
JP2022142789A (ja) | 単眼深度推定およびオブジェクト検出のためのネットワークアーキテクチャ | |
US11200679B1 (en) | System and method for generating a probability distribution of a location of an object | |
US11210802B2 (en) | Systems and methods for conditioning training data to avoid learned aberrations | |
US20230154024A1 (en) | Producing a depth map from a monocular two-dimensional image | |
US20230326049A1 (en) | Self-supervised monocular depth estimation via rigid-motion embeddings | |
US20230351739A1 (en) | Network for multisweep 3d detection | |
US20240005540A1 (en) | Photometric Cost Volumes For Self-Supervised Depth Estimation | |
US20230386059A1 (en) | Warping depth features for depth estimation |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20240411 |