JP7438320B2 - クロスモーダルセンサデータの位置合わせ - Google Patents

クロスモーダルセンサデータの位置合わせ Download PDF

Info

Publication number
JP7438320B2
JP7438320B2 JP2022500653A JP2022500653A JP7438320B2 JP 7438320 B2 JP7438320 B2 JP 7438320B2 JP 2022500653 A JP2022500653 A JP 2022500653A JP 2022500653 A JP2022500653 A JP 2022500653A JP 7438320 B2 JP7438320 B2 JP 7438320B2
Authority
JP
Japan
Prior art keywords
point cloud
image
embedding
region
data
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
JP2022500653A
Other languages
English (en)
Other versions
JP2022540109A (ja
Inventor
アンドリュー ブラレイ,コリン
イワンチェンコ,ウォロディミル
チャン,ユー
Original Assignee
ウェイモ エルエルシー
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 ウェイモ エルエルシー filed Critical ウェイモ エルエルシー
Publication of JP2022540109A publication Critical patent/JP2022540109A/ja
Application granted granted Critical
Publication of JP7438320B2 publication Critical patent/JP7438320B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/30Determination of transform parameters for the alignment of images, i.e. image registration
    • 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
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/25Fusion techniques
    • G06F18/251Fusion techniques of input or preprocessed data
    • 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
    • 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
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • G06N3/084Backpropagation, e.g. using gradient descent
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T17/00Three dimensional [3D] modelling, e.g. data description of 3D objects
    • G06T17/05Geographic models
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/30Determination of transform parameters for the alignment of images, i.e. image registration
    • G06T7/32Determination of transform parameters for the alignment of images, i.e. image registration using correlation-based methods
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/70Determining position or orientation of objects or cameras
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/70Determining position or orientation of objects or cameras
    • G06T7/73Determining position or orientation of objects or cameras using feature-based methods
    • G06T7/74Determining position or orientation of objects or cameras using feature-based methods involving reference images or patches
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/70Arrangements for image or video recognition or understanding using pattern recognition or machine learning
    • G06V10/764Arrangements for image or video recognition or understanding using pattern recognition or machine learning using classification, e.g. of video objects
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/70Arrangements for image or video recognition or understanding using pattern recognition or machine learning
    • G06V10/77Processing image or video features in feature spaces; using data integration or data reduction, e.g. principal component analysis [PCA] or independent component analysis [ICA] or self-organising maps [SOM]; Blind source separation
    • G06V10/7715Feature extraction, e.g. by transforming the feature space, e.g. multi-dimensional scaling [MDS]; Mappings, e.g. subspace methods
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/70Arrangements for image or video recognition or understanding using pattern recognition or machine learning
    • G06V10/77Processing image or video features in feature spaces; using data integration or data reduction, e.g. principal component analysis [PCA] or independent component analysis [ICA] or self-organising maps [SOM]; Blind source separation
    • G06V10/80Fusion, i.e. combining data from various sources at the sensor level, preprocessing level, feature extraction level or classification level
    • G06V10/803Fusion, i.e. combining data from various sources at the sensor level, preprocessing level, feature extraction level or classification level of input or preprocessed data
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/70Arrangements for image or video recognition or understanding using pattern recognition or machine learning
    • G06V10/82Arrangements for image or video recognition or understanding using pattern recognition or machine learning using neural networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V20/00Scenes; Scene-specific elements
    • G06V20/50Context or environment of the image
    • G06V20/56Context or environment of the image exterior to a vehicle by using sensors mounted on the vehicle
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V20/00Scenes; Scene-specific elements
    • G06V20/60Type of objects
    • G06V20/64Three-dimensional objects
    • 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/10Image acquisition modality
    • G06T2207/10032Satellite or aerial image; Remote sensing
    • G06T2207/10044Radar image
    • 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/20076Probabilistic image processing
    • 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/30232Surveillance
    • 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
    • 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
    • G06T2207/30256Lane; Road marking

Landscapes

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

Description

本明細書は、カメラセンサおよび測量センサによって生成されたクロスモーダルセンサデータを処理することに関する。
カメラセンサは、環境の視覚外観を特徴付ける画像を生成することができる。測量センサ(例えば、レーダまたはライダセンサ)は、環境の三次元(3D)幾何学形状を特徴付けるポイントクラウドを生成することができる。
カメラセンサおよび測量センサによって生成されたセンサデータは、機械学習モデルによって処理され得る。ニューラルネットワークは、受信された入力の出力を予測するための非線形ユニットの1つ以上の層を用いる機械学習モデルである。いくつかのニューラルネットワークは、出力層に加えて1つ以上の隠れ層を含む、ディープニューラルネットワークである。各隠れ層の出力は、ネットワーク内の次の層、すなわち、次の隠れ層または出力層への入力として使用される。ネットワークの各層は、パラメータのそれぞれのセットの現在の値に従って、受信された入力から出力を生成する。
本明細書は、クロスモーダルセンサデータ間の位置合わせを判断し得る、1つ以上の場所にある1つ以上のコンピュータにコンピュータプログラムとして実装されたシステムについて記載する。センサデータの2つのセット間(例えば、画像データとポイントクラウドデータとの間)の位置合わせを判断することは、環境の同じエリアを特徴付けるセンサデータの2つのセットのそれぞれの領域間のマッピングを判断することを指す。
第1の態様によれば、方法であって、(i)環境の視覚外観を特徴付ける、カメラセンサによって生成される画像、および(ii)環境の三次元幾何学形状を特徴付ける、測量センサによって生成されるデータポイントの集合を含むポイントクラウド、を取得することを含む、方法が提供される。各データポイントは、環境内の表面上にあるポイントのそれぞれの三次元空間位置を定義する。視覚埋め込みニューラルネットワークを使用して、画像の多様な領域の各々を処理して、画像領域の各々のそれぞれの埋め込みを生成する。形状埋め込みニューラルネットワークを使用して、ポイントクラウドの多様な領域の各々を処理して、ポイントクラウド領域の各々のそれぞれの埋め込みを生成する。画像領域の埋め込みおよびポイントクラウド領域の埋め込みを使用して、領域ペアのセットが識別される。各領域ペアは、環境の同じそれぞれのエリアを特徴付ける、それぞれの画像領域およびそれぞれのポイントクラウド領域を含む。
いくつかの実装例では、測量センサは、ライダセンサまたはレーダセンサである。
いくつかの実装例では、カメラセンサおよび測量センサは、車両の上に取り付けられている。
いくつかの実装例では、ポイントクラウド内の各データポイントは、測量センサによって伝送された、およびデータポイントによって定義された三次元空間位置における環境の表面上にあるポイントから反射された、光のパルスの反射の強さをさらに定義する。
いくつかの実装例では、本方法は、領域ペアのセットを使用して、カメラセンサおよび測量センサが正確に較正されているかどうかを判断することをさらに含む。
いくつかの実装例では、本方法は、画像内のオブジェクトの位置を定義するデータを取得することと、(i)画像内のオブジェクトの位置、および(ii)領域ペアのセットに基づいて、ポイントクラウド内のオブジェクトの対応する位置を識別することと、をさらに含む。
いくつかの実装例では、(i)画像内のオブジェクトの位置、および(ii)領域ペアのセットに基づいて、ポイントクラウド内のオブジェクトの対応する位置を識別することは、特定の領域ペアを識別することを含み、それにより、各特定の領域ペアについて、領域ペアの画像領域は、画像内のオブジェクトの位置に対応する。ポイントクラウド内のオブジェクトの位置は、各特定の領域ペアのそれぞれのポイントクラウド領域に基づいて判断される。
いくつかの実装例では、本方法は、ポイントクラウド内のオブジェクトの位置を定義するデータを取得することと、(i)ポイントクラウド内のオブジェクトの位置、および(ii)複数の領域ペアに基づいて、画像内のオブジェクトの対応する位置を識別することと、をさらに含む。
いくつかの実装例では、(i)ポイントクラウド内のオブジェクトの位置、および(ii)領域ペアのセットに基づいて、画像内のオブジェクトの対応する位置を識別することは、特定の領域ペアを識別することを含み、それにより、各特定の領域ペアについて、領域ペアのポイントクラウド領域は、ポイントクラウド内のオブジェクトの位置に対応する。画像内のオブジェクトの位置は、各特定の領域ペアのそれぞれの画像領域に基づいて判断される。
いくつかの実装例では、本方法は、複数の領域ペアを使用して、画像と位置合わせされた二次元画像平面にポイントクラウドを投影することをさらに含む。ニューラルネットワークを使用して、画像および投影されたポイントクラウドを処理して、ニューラルネットワーク出力を生成する。
いくつかの実装例では、ニューラルネットワーク出力は、環境内のオブジェクトの位置を識別するデータを含む。
いくつかの実装例では、多様な画像領域は、画像を網羅する。
いくつかの実装例では、多様なポイントクラウド領域は、ポイントクラウドを網羅する。
いくつかの実装例では、画像領域の埋め込みおよびポイントクラウド領域の埋め込みを使用して、領域ペアを識別することは、埋め込みペアのセットを識別することを含み、それにより、各所与の埋め込みペアは、所与の画像領域の埋め込みおよび所与のポイントクラウド領域の埋め込みを含む。埋め込みペアの各々に対応するそれぞれの領域ペアが識別され、所与の埋め込みペアに対応する領域ペアは、所与の埋め込みペアに対応する、所与の画像領域および所与のポイントクラウド領域を含む。
いくつかの実装例では、埋め込みペアは、各埋め込みペアについて、埋め込みペアに含まれる、所与の画像領域の埋め込みと所与のポイントクラウド領域の埋め込みとの間のそれぞれの類似度に少なくとも部分的に基づいて識別される。
いくつかの実装例では、埋め込みペアは、グリーディな最近傍マッチングアルゴリズムを使用して識別される。
いくつかの実装例では、視覚埋め込みニューラルネットワークおよび形状埋め込みニューラルネットワークは、トリプレット損失目的関数またはコントラスト損失目的関数を使用して、一緒にトレーニングされる。
本明細書に記載の主題の特定の実施形態は、以下の利点の1つ以上を実現するように実装することができる。
本明細書に記載の位置合わせシステムは、画像(すなわち、カメラによって生成された)とポイントクラウド(すなわち、測量センサ、例えば、ライダセンサによって生成された)との間の位置合わせを判断することができる。つまり、位置合わせシステムは、環境の同じエリアを特徴付ける、画像およびポイントクラウドのそれぞれの領域間のマッピングを判断することができる。
位置合わせシステムは、例えば、センサ較正、クロスモーダルオブジェクト位置特定、またはオブジェクト検出(以下でより詳細に記載する)のために、車両の搭載システムによって使用され得る。位置合わせシステムを使用することにより、車両の搭載システムは、車両の将来の軌道を計画し、車両がより安全かつ効率的に動作することを可能にする、計画決定を生成することができる。
位置合わせシステムは、それぞれの埋め込みニューラルネットワークによって生成される、画像領域の埋め込みおよびポイントクラウド領域の埋め込みを使用して、画像とポイントクラウドとの間の位置合わせを判断し得る。機械学習技術を使用してトレーニングされたニューラルネットワークを埋め込むことによって生成された埋め込みを使用することにより、位置合わせシステムは、場合によっては、ハンドクラフト特徴量(例えば、HOG、SIFT、またはSURF特徴量)から構成される埋め込みを使用した場合よりも正確に位置合わせを生成することができる。特に、本明細書に記載の位置合わせシステムは、正確な位置合わせを達成するように最適化された(すなわち、機械学習技術を使用した)領域埋め込みを使用する。対照的に、ハンドクラフト特徴量から構成される埋め込みは、正確な位置合わせを達成するように最適化されておらず、ひいては、例えば、位置合わせの正確さが低くなることにより、本明細書に記載の学習された領域埋め込みに及ばない場合がある。
本明細書に記載の位置合わせシステムは、いくつかの従来のシステムよりも迅速にセンサデータを位置合わせすることができ、かつ場合によっては、従来のシステムよりもコンピュータ処理リソースの消費が少ない可能性がある。より具体的には、センサデータの2つのセットを位置合わせするために、本明細書に記載のシステムは、センサデータの2つのセットのそれぞれの領域の埋め込みを判断し、次いで、例えば、最近傍マッチング技術を使用して、埋め込みをマッチングする。対照的に、いくつかの従来のシステムは、センサデータの2つのセットを、センサデータの2つのセットがどれだけうまく位置合わせされているかを特徴付ける目的関数に基づいて、位置合わせを定義するパラメータ(例えば、回転または変換パラメータ)のセットを繰り返し最適化することによって、位置合わせする。目的関数を繰り返し最適化することによって位置合わせを判断することは、コンピュータ処理の要求が厳しい場合があり、例えば、2つのデータセットを位置合わせするのに数秒以上を必要とする場合がある。実際のアプリケーション、例えば、車両の搭載システムでは、データセットが位置合わせされるまでにデータセットが古くなる可能性があるため、データセットの位置合わせにおける数秒の待ち時間は実行不可能な場合がある。本明細書に記載のシステムは、場合によっては、これらの従来のシステムよりも迅速に位置合わせを判断することができ、ひいては、より多くの実際のアプリケーション、例えば、車両の搭載システムによって、効果的に使用することができる。
位置合わせシステムは、ポイントクラウドを処理して、ポイントクラウド内のオブジェクトの位置を識別する出力を生成するように構成されたオブジェクト検出ニューラルネットワークをトレーニングするためのトレーニングデータを生成するために使用され得る。特に、オブジェクトのセグメント化は、位置合わせシステムによって生成された位置合わせを使用して、画像データから対応するポイントクラウドデータに転送され得る。この方法で生成されたポイントクラウドデータのセグメント化は、その後、オブジェクト検出ニューラルネットワークをトレーニングするために使用され得る。場合によっては、画像を手動でセグメント化するのは、ポイントクラウドデータを手動でセグメント化するよりも実質的に簡単で、速く、かつ正確である。したがって、位置合わせシステムは、画像データからポイントクラウドデータへのセグメント化の転送を容易にすることにより、オブジェクト検出ニューラルネットワークをトレーニングするためのトレーニングデータの生成を簡素化することができる。
本明細書の主題の1つ以上の実施形態の詳細を、添付の図面および以下の説明に記載する。主題の他の特徴、態様、および利点は、明細書、図面、および特許請求の範囲から、明らかになるであろう。
クロスモーダル位置合わせシステムの実施例を示す。 画像およびポイントクラウドのそれぞれの領域間のマッピングの実施例の例示である。 車両の搭載システムの実施例のブロック図である。 視覚埋め込みニューラルネットワークおよび形状埋め込みニューラルネットワークを一緒にトレーニングするためのデータフローの実施例を例示する。 環境の同じエリアを特徴付ける、画像およびポイントクラウドのそれぞれの領域間のマッピングを判断するためのプロセスの実施例のフロー図である。
個々の図面中の同様の符号および名称は、同様の要素を示している。
本明細書は、環境を特徴付けるクロスモーダルデータ間の「位置合わせ」を判断することができるクロスモーダル位置合わせシステムについて説明する。例えば、位置合わせシステムは、(i)環境の視覚外観を特徴付ける(カメラによって生成される)画像と、(ii)環境の三次元(3D)幾何学形状を特徴付ける(ライダまたはレーダセンサによって生成される)ポイントクラウドとの間の位置合わせを決定することができる。画像とポイントクラウドとの間の位置合わせを判断することは、環境の同じエリアを特徴付ける、画像およびポイントクラウドのそれぞれの領域間のマッピングを判断することを指す。画像とポイントクラウドとの間の位置合わせを判断することは、画像とポイントクラウドとの間の「見当合わせ」として、または画像とポイントクラウドとの間の「スキャンマッチング」の遂行として称される場合もある。位置合わせシステムによって生成されるクロスモーダル位置合わせは、様々な目的、例えば、センサ較正、クロスモーダルオブジェクト位置特定、またはオブジェクト検出のうちのいずれかのために、車両の搭載システムによって使用され得る。
概して、本明細書に記載の位置合わせシステムは、任意の適切なデータセット間の位置合わせを判断するために使用され得る。例えば、位置合わせシステムを使用して、同じモダリティの2つのデータセット、例えば、2つの画像または2つのポイントクラウド間の「イントラモーダル」位置合わせを判断することができる。別の実施例として、本明細書は主に、車両の搭載システムによって使用されている位置合わせシステムを指しているが、位置合わせシステムは、他の様々な設定のうちのいずれかにも使用することができる。特定の実施例では、位置合わせシステムを使用して、患者の2つの医療画像、例えば、患者の磁気共鳴画像(MRI)とコンピュータ断層撮影(CT)画像とを、または患者の超音波(US)画像とMRIとを位置合わせすることができる。
これらの特徴量および他の特徴量については、以下でより詳細に記載する。
図1は、クロスモーダル位置合わせシステム100の実施例を示す。クロスモーダル位置合わせシステム100は、以下に記載のシステム、コンポーネント、および技術が実装されている1つ以上の場所にある1つ以上のコンピュータ上にコンピュータプログラムとして実装されたシステムの実施例である。
システム100は、両方が環境を特徴付ける(例えば、カメラによって生成される)画像102および(例えば、ライダまたはレーダセンサによって生成される)ポイントクラウド104を処理して、画像102とポイントクラウド104との間の「位置合わせ」を判断するように構成されている。画像102とポイントクラウド104との間の位置合わせは、環境の同じエリアを特徴付ける、画像102およびポイントクラウド104のそれぞれの領域間のマッピングによって定義される。図2は、画像およびポイントクラウドのそれぞれの領域間のマッピングの実施例を例示する。
画像102は、環境の視覚外観を特徴付け、任意の適切なタイプのデジタルカメラセンサを使用してキャプチャされ得る。
1つの実施例では、画像102は、数値の二次元(2D)配列によって表現される白黒画像であってもよく、配列の各コンポーネントは、環境のそれぞれのエリアに対応する。別の実施例では、画像102は、多様な「チャネル」のセットによって表現され得る。この実施例では、各チャネルは、数値のそれぞれの2D配列によって表現され得、各チャネルの各コンポーネントは、環境のそれぞれのエリアに対応し、異なるチャネルの対応するコンポーネントは、環境の同じエリアに対応する。特定の実施例では、画像102は、赤のカラーチャネル、緑のカラーチャネル、および青のカラーチャネルによって表現される赤緑青(RGB)のカラー画像であってもよい。
ポイントクラウド104は、環境の3D幾何学形状を特徴付け、任意の適切なタイプの「測量」センサ、例えば、ライダセンサまたはレーダセンサを使用してキャプチャされ得る。
概して、ポイントクラウド104は、「データポイント」の集合によって表現され、各データポイントは、環境内の表面上にあるポイントの3D空間位置を定義する。例えば、各データポイントは、3D座標系に関して、環境内の表面上にあるポイントの3D空間位置を定義するそれぞれのx座標、y座標、およびz座標を含むベクトルによって表現され得る。1つの実施例では、3D座標系は、上に測量センサが取り付けられている車両を中心とするユークリッド座標系であってもよい。
任意選択で、ポイントクラウド内の各データポイントには、データポイントに対応する環境内の3D空間位置における材料の、例えば、反射率、テクスチャ、または密度を特徴付ける、追加の「強度」情報を含めることができる。
例えば、ポイントクラウド内のデータポイントに含まれる強度情報は、ライダセンサによって伝送された、およびデータポイントに対応する3D空間位置において環境内の表面に反射された、光のパルスの反射の強さによって定義され得る。この実施例では、ポイントクラウド内の各データポイントは、(i)環境内の表面上にあるポイントの3D空間位置を定義するそれぞれのx座標、y座標、およびz座標と、(ii)3D空間位置において環境内の表面に反射された光のパルスの反射の強さを定義する強度の値との両方を含むベクトルによって表現され得る
システム100は、視覚埋め込みニューラルネットワーク106、形状埋め込みニューラルネットワーク108、およびマッチングエンジン110を含む。
システム100は、視覚埋め込みニューラルネットワーク106を使用して、画像102の多様な領域の各々のそれぞれの埋め込み112を生成する。画像領域の埋め込みは、数値の順序付けられた集合、例えば、数値のベクトルとしての画像領域の表現を指す。画像の領域とは、例えば、正方形または円形の2D幾何学的領域で囲まれている、画像の一部分を指す。例えば、次元[100、100]の(すなわち、100個の行と100個の列とを含む)チャネルを有するRGB画像の領域は、正方形の領域内のピクセル[42:46、91:95](すなわち、42~46の行インデックスと91~95の列インデックスとを含む)に対応する各チャネルのそれぞれの部分によって求めることができる。画像102内の領域の実施例を114によって例示する。
視覚埋め込みニューラルネットワーク106は、画像102全体を処理して、画像102の各領域のそれぞれの埋め込み112を定義する出力を生成するように構成され得る。あるいは、画像102全体を一度に処理するのではなく、視覚埋め込みニューラルネットワーク106は、個々の画像領域を処理して画像領域のそれぞれの埋め込みを生成するように構成され得る。
概して、視覚埋め込みニューラルネットワーク106は、任意の適切なニューラルネットワークアーキテクチャを有し得、これにより画像領域の埋め込みを生成することができる。例えば、視覚埋め込みニューラルネットワーク106は、最後の畳み込み層の後に完全に接続された出力層が後に続く、多様な畳み込み層のセットを含み得る。
システム100は、形状埋め込みニューラルネットワーク108を使用して、ポイントクラウド104の多様な領域の各々のそれぞれの埋め込み116を生成する。ポイントクラウド領域の埋め込みは、数値の順序付けられた集合、例えば、数値のベクトル、例えば、0および1からなるビットベクトルとしてのポイントクラウド領域の表現を指す。ポイントクラウド領域の埋め込みは、例えば、ポイントクラウド領域の特徴量ベクトルまたは特徴量記述子と称される場合もある。ポイントクラウドの領域とは、例えば、立方体または球形の3D幾何学的領域に囲まれた3D空間位置に対応する、ポイントクラウドからのデータポイントの集合を指す。例えば、各データポイントがx座標、y座標、およびz座標によって定義される3D空間位置に対応するポイントクラウドの領域は、立方体の領域[14:18、2:6、44:48](すなわち、14~18のx座標値、2~6のy座標値、および44~48のz座標値を有する)によって囲まれた3D空間位置に対応するデータポイントの集合によって求めることができる。ポイントクラウド104内の領域の実施例を118によって例示する。
形状埋め込みニューラルネットワーク108は、ポイントクラウド104全体を処理して、ポイントクラウド104の各領域のそれぞれの埋め込み116を定義する出力を生成するように構成され得る。あるいは、ポイントクラウド104全体を一度に処理するのではなく、形状埋め込みニューラルネットワーク108は、個々のポイントクラウド領域を処理してポイントクラウド領域のそれぞれの埋め込みを生成するように構成され得る。
概して、形状埋め込みニューラルネットワーク108は、任意の適切なニューラルネットワークアーキテクチャを有し得、これによりポイントクラウド領域の埋め込みを生成することができる。例えば、形状埋め込みニューラルネットワーク108は、PointNetアーキテクチャ(すなわち、C.R.Qi、H.Su、K.Mo、およびL.J.Guibasの「PointNet:Deep Learning on Points Sets for 3D Classification and Segmentation」、2017、The IEEE Conference on Computer Vision and Pattern Recognition(CVPR)を参照して説明される)、PointNet++アーキテクチャ(すなわち、C.R.Qi、L.Yi、H.Su、およびL.J.Guibasの「PointNet++:Deep Hierarchical Feature Learning on Point Sets in a Metric Space」、2017、Advances in Neural Information Processing Systems(NIPS)を参照して説明される)、またはVoxNetアーキテクチャ(すなわち、D.MaturanaおよびS.Schererの「VoxNet:a 3D Convolutional Neural Network or Real-Time Object Recognition」、2015、IEEE/RSJ International Conference of Intelligent Robots and Systems(IROS)を参照して説明される)を有し得る。
視覚埋め込みニューラルネットワーク106および形状埋め込みニューラルネットワーク108は、2つの特性を促進する目的関数を使用して、一緒にトレーニングされる。
第1に、環境の同じエリアを特徴付ける、画像領域およびポイントクラウド領域について、視覚埋め込みニューラルネットワーク106および形状埋め込みニューラルネットワーク108は、(例えば、適切な数の類似度に従って)「類似」であるそれぞれの埋め込みを生成する必要がある。
第2に、環境の異なるエリア(または全く異なる環境)を特徴付ける、画像領域およびポイントクラウド領域について、視覚埋め込みニューラルネットワーク106および形状埋め込みニューラルネットワーク108は、(例えば、適切な数の類似度に従って)「非類似」であるそれぞれの埋め込みを生成する必要がある。
例えば、視覚埋め込みニューラルネットワーク106および形状埋め込みニューラルネットワーク108は、例えば、トリプレット損失目的関数またはコントラスト損失目的関数を使用して、一緒にトレーニングされ得る。
視覚埋め込みニューラルネットワーク106および形状埋め込みニューラルネットワーク108を一緒にトレーニングするためのプロセスの実施例を、図4を参照してより詳細に記載する。
システム100は、任意の適切な数の画像領域およびポイントクラウド領域のそれぞれの埋め込みを生成することができる。次にいくつかの実施例を示す。
例えば、システム100は、画像102を網羅する画像領域のグリッド内の各画像領域、およびポイントクラウド104を網羅するポイントクラウド領域のグリッド内の各ポイントクラウド領域について、それぞれの埋め込みを生成することができる。特定の実施例では、画像領域は、重なり合わない2D長方形の画像領域から構成され得、画像102内の各ピクセルは、画像領域のうちのまさに1つに含まれる。別の特定の実施例では、ポイントクラウド領域は、重なり合わない3D長方形のポイントクラウド領域から構成され得、ポイントクラウド104内の各データポイントは、ポイントクラウド領域のうちのまさに1つに含まれる。
別の実施例として、本システムは、画像102の適当なサブセットを網羅する画像領域のグリッド内の各画像領域、およびポイントクラウド104の適当なサブセットを網羅するポイントクラウド領域のグリッド内の各ポイントクラウド領域について、それぞれの埋め込みを生成することができる。特定の実施例では、画像領域は、重なり合わない2D長方形の画像領域から構成され得、画像102内の描かれたオブジェクトに含まれる各ピクセルは、画像領域のうちのまさに1つに含まれる。別の特定の実施例では、ポイントクラウド領域は、重なり合わない3D長方形のポイントクラウド領域から構成され得、ポイントクラウド104によって特徴付けられるオブジェクトに含まれる各データポイントは、ポイントクラウド領域のうちのまさに1つに含まれる。
別の実施例として、本システムは、所定の閾値を満たす「インタレストスコア」を有する、画像およびポイントクラウド内の領域についてのみ埋め込みを生成することができる。本システムは、例えば、画像領域内の縁、隅、斑点、隆起、またはこれらの組み合わせの存在に基づいて、画像領域のインタレストスコアを判断することができる。本システムは、例えば、ポイントクラウド領域の複雑さ、例えば、(i)領域に含まれるポイントと、(ii)領域に含まれるポイントにフィットする線形表面との間の残差の合計に基づいて、ポイントクラウド領域のインタレストスコアを判断することができる。概して、本システムは、画像とポイントクラウドとの間で効果的にマッチングさせることができる、環境の固有の特徴量を特徴付ける、画像領域およびポイントクラウド領域の埋め込みを生成するように構成され得る。例えば、本システムは、道路標示のない平坦な道路に対応する、画像またはポイントクラウドの領域の埋め込みの生成を控える場合がある。別の実施例として、本システムは、車両または歩行者の一部分に対応する、画像およびポイントクラウドの領域について埋め込みを生成する必要があると判断する場合がある。
マッチングエンジン110は、画像領域の埋め込み112およびポイントクラウド領域の埋め込み116を処理して、埋め込みペア120のセットを識別するように構成されている。各埋め込みペア120は、(i)画像領域の埋め込み112、および(ii)ポイントクラウド領域の埋め込み116を指定する。
マッチングエンジン110は、埋め込みペア120を、各埋め込みペア120に含まれるそれぞれの埋め込み間の類似度を最大化する(またはほぼ最大化する)方法で、識別しようと試みる。類似度は、例えば、L類似度、コサイン類似度、または任意の他の適切な類似度であってもよい。
特定の実施例では、マッチングエンジン110は、「グリーディな」最近傍マッチングアルゴリズムを使用して、各画像領域の埋め込み112をそれぞれのポイントクラウド領域の埋め込み116に順次マッチングさせることができる。各所与の画像領域の埋め込み112について、マッチングエンジン110は、現在マッチングされていないポイントクラウド領域の埋め込みの中から、所与の画像領域の埋め込みに最も類似している(すなわち、類似度に従って)対応するポイントクラウド領域の埋め込み116を識別する。グリーディな最近傍マッチングアルゴリズムは、各画像領域の埋め込みが、対応するポイントクラウド領域の埋め込みにマッチングされている場合、またはマッチングされていないポイントクラウド領域の埋め込みが残っていない場合に、終了する場合がある。
より広くは、マッチングエンジン110は、任意の適切なマッチングアルゴリズムを使用して、埋め込みペア120を識別することができる。最近傍マッチングアルゴリズムのいくつかの実施例は、例えば、M.Muja、D.G.Loweの「Fast approximate nearest neighbors with automatic algorithm configuration」、2009、VISAPP International Conference on Computer Vision Theory and Applicationsを参照して記載される。
システム100は、マッチングエンジン110によって識別された各埋め込みペア120を使用して、埋め込みペア120に対応する、画像領域およびポイントクラウド領域を指定するそれぞれの領域ペア122を識別する。このようにして、システム100は、環境の同じエリアを特徴付けると予測される、画像領域およびポイントクラウド領域を各々が指定する領域ペア122のセットを識別する。つまり、領域ペア122は、環境の同じエリアを特徴付けると予測される、画像102およびポイントクラウド104のそれぞれの領域間のマッピングを定義する。
例えば、領域ペア122は、両方が環境内の同じオブジェクトまたは同じオブジェクトの同じ部分を特徴付けると予測される、画像102の領域およびポイントクラウド104の領域を指定することができる。環境内のオブジェクトは、例えば、人々、動物、車、道路標識などであってもよい。
領域ペア122によって定義される、対応する画像領域とポイントクラウド領域との間のマッピングは、様々な目的のうちのいずれかに使用することができる。車両の搭載システムでクロスモーダル位置合わせシステム100を使用するいくつかの実施例を、図3を参照して記載する。
図2は、(例えば、図1を参照して記載されるクロスモーダル位置合わせシステム100によって判断することができる種類のものの)画像202およびポイントクラウド204のそれぞれの領域間のマッピングの実施例の例示200である。この実施例では、画像領域206-Aおよび206-Bが、ポイントクラウド領域208-Aおよび208-Bにそれぞれマッピングされる(逆もまた同様)。つまり、画像領域206-Aとポイントクラウド領域208-Aとが第1の「領域ペア」を形成し、画像領域206-Bとポイントクラウド領域208-Bとが第2の「領域ペア」を形成する(図1を参照して記載のとおり)。
図3は、車両302の搭載システム300の実施例のブロック図である。搭載システム300は、ハードウェアコンポーネントおよびソフトウェアコンポーネントから構成され、これらのコンポーネントのうちのいくつかまたはすべては、物理的に車両302に搭載されて位置する。以下でより詳細に記載されるように、搭載システム300は、様々な目的のうちのいずれかのために、(図1を参照して記載される)位置合わせシステム100を使用することができる。
場合によっては、搭載システム300は、完全に自律してまたは部分的に自律して運転の決定(すなわち、車両302の運転者とは独立して行われる運転の決定)を行い、車両302の運転者に情報を提示して、運転者が車両を安全に運転することを支援するか、またはこれらの両方を行うことができる。例えば、別の車両が車両302のために道を譲る可能性が低いと判断することに応答して、搭載システム300は、車両302のブレーキを自律的に適用するか、または別様に車両302の軌道を自律的に変更して、車両302と他の車両との衝突を防止することができる。別の実施例として、別の車両が車両302のために道を譲る可能性が低いと判断することに応答して、搭載システム300は、車両302の軌道を調節して他の車両との衝突を回避するための指示とともに、警告メッセージを車両302の運転者に提示することができる。
図3の車両302は自動車として描かれており、本明細書の実施例は自動車を参照して記載されているが、概して、車両302は、任意の種類の車両であってもよい。例えば、自動車に加えて、車両302は、船舶であっても、航空機であってもよい。さらに、搭載システム300は、図3に描かれているものに追加のコンポーネント(例えば、衝突検出システムまたはナビゲーションシステム)を含むことができる。
搭載システム300は、搭載システム300が車両302の近くの環境を「見る」ことを可能にするセンサシステム304を含む。より具体的には、センサシステム304は、多様な異なるモダリティのセンサ、特に、カメラセンサおよび測量センサ(例えば、ライダセンサ、レーダセンサ、またはこれらの両方)を含む。
センサシステム304は、継続的に(すなわち、多様な時点の各々において)、車両の近くの環境の視覚外観を特徴付ける画像306、および車両の近くの環境の3D幾何学形状を特徴付けるポイントクラウド308を生成する。
位置合わせシステム100は、センサシステム304によって生成された画像306およびポイントクラウド308を処理して、環境の同じエリアを特徴付けると予測される、画像306およびポイントクラウド308のそれぞれの領域間のマッピングを判断することができる。位置合わせシステム100の出力は、車両302に搭載された他の様々なシステム、例えば、以下でより詳細に記載される、較正システム310、位置特定システム312、および予測システム314のうちのいずれかによって使用され得る。
較正システム310は、車両302の上に取り付けられたセンサのうちのいくつかまたはすべての位置および向きを特徴付ける較正データを維持するように構成されている。例えば、車両302の上に取り付けられた各センサについて、較正システム310は、(i)車両上のセンサの位置のx座標、y座標、およびz座標を定義する3Dベクトルと、(ii)センサの向き(すなわち、センサが向いている方向)のx座標、y座標、およびz座標を定義する3Dベクトルとを含む、較正データを維持することができる。
較正システム310は、継続的に(すなわち、多様な時点の各々において)、較正データの現在の正確さをチェックすることができる。較正データは、センサの位置および向きの変化により、時間の経過とともに不正確になる場合がある。センサの位置および向きは、例えば、温度の変動が、センサが取り付けられている車両の部分をわずかに変形させるため、オブジェクト(例えば、木の枝)がセンサと擦れ合っているため、または車両の速度が急に変化するため、時間の経過とともに変化する場合がある。
較正システム310は、位置合わせシステム100の出力を使用して、カメラセンサおよび測量センサ(例えば、ライダまたはレーダセンサ)の現在の較正データの正確さをクロスチェックすることができる。例えば、較正システム310は、位置合わせシステムの出力を使用して、(カメラセンサによって生成される)画像および(測量センサによって生成される)ポイントクラウドのマッチング領域の中心位置を位置合わせする、変換(例えば、並進および回転変換)のパラメータを判断することができる。画像の領域およびポイントクラウドの領域が環境の同じエリアに対応することを位置合わせシステムの出力が示している場合、画像の領域は、ポイントクラウドの領域に「マッチ」していると言われる。較正システム310は、任意の適切なフィッティング方法、例えば、ランダムサンプルコンセンサスを用いた最小二乗フィッティング法(RANSAC)、または堅牢化された非線形最小二乗フィッティング法を使用して、変換のパラメータを判断することができる。
画像からポイントクラウドへの(またはその逆への)変換のパラメータを判断した後、較正システム310は、カメラセンサの位置および向きを特徴付ける較正パラメータに変換を適用することができる。変換をカメラセンサの較正パラメータに適用した結果は、測量センサの位置および向きを特徴付ける較正パラメータの推定値を定義する。測量センサの較正パラメータの推定値が、測量センサの維持された較正パラメータと少なくとも閾値量だけ異なると判断することに応答して、較正システムは、測量センサおよびカメラセンサのうちの一方または両方が誤って較正されていると判断し得る。センサが誤って較正されていると判断することに応答して、搭載システムは、例えば、車両の運転者に警告するか、車両を路肩に寄せて止める場合がある。
位置特定システム312は、画像306、ポイントクラウド308、およびモダリティのうちの1つ(すなわち、画像306またはポイントクラウド308のいずれか)のセンサデータ内のオブジェクトの位置を定義するデータを処理して、他のモダリティのセンサデータ内の同じオブジェクトの位置を判断することができる。
例えば、位置特定システム312は、画像306、ポイントクラウド308、および画像306内のオブジェクトの位置を定義するデータを処理して、ポイントクラウド308内の同じオブジェクトの位置を定義するデータを生成することができる。
別の実施例として、位置特定システム312は、画像306、ポイントクラウド308、およびポイントクラウド308内のオブジェクトの位置を定義するデータを処理して、画像306内の同じオブジェクトの位置を定義するデータを生成することができる。
画像内またはポイントクラウド内のオブジェクトの位置は、任意の適切な方法で表現され得る。例えば、画像内のオブジェクトの位置は、画像内のオブジェクトを囲む2Dバウンディングボックスによって表現され得る。別の実施例として、ポイントクラウド内のオブジェクトの位置は、ポイントクラウド内のオブジェクトを囲む3Dバウンディングボックスによって表現され得る。
位置特定システム312は、位置合わせシステム100を使用して、画像内のオブジェクトの位置に基づいて、ポイントクラウド内のオブジェクトの位置を識別することができる。例えば、位置特定システム312は、位置合わせシステム100を使用して、(i)画像内のオブジェクトを網羅する、画像の1つ以上の領域の埋め込み、および(ii)ポイントクラウド全体を網羅する、ポイントクラウド内の領域のグリッドの埋め込み、を生成することができる。
位置特定システム312は、例えば、図1を参照して記載されるように、例えば、画像領域の埋め込みを対応するポイントクラウド領域の埋め込みにマッチングさせることによって、画像内のオブジェクトを網羅する画像領域を対応するポイントクラウド領域にマッピングすることができる。その後、位置特定システム312は、画像内のオブジェクトを網羅する画像領域によって上にマッピングされるポイントクラウド領域に基づいて、ポイントクラウド内のオブジェクトの位置を判断することができる。
同様に、位置特定システム312は、位置合わせシステム100を使用して、ポイントクラウド内のオブジェクトの位置に基づいて、画像内のオブジェクトの位置を識別することもできる。
搭載システム300は、様々な状況のいずれにおいても位置特定システム312を使用することができる。例えば、搭載システム300は、他の車両が車両302のライダセンサの範囲外にある間、カメラセンサデータを使用して別の車両を追跡することができる。他の車両が車両302のライダセンサの範囲に入ると、搭載システム300は、位置特定システム312を使用して、ライダセンサによって生成されたポイントクラウドデータ内の他の車両の位置を判断することができる。他の車両をカメラセンサデータおよびライダセンサデータの両方で位置特定すると、搭載システム300は、両方のモダリティのセンサデータを使用して、例えば、他の車両の挙動を予測することができる。
予測システム314は、センサシステム304によって生成された、画像306およびポイントクラウド308を処理して、例えば、車両302の近くのオブジェクト(例えば、車両、歩行者、道路標識など)を検出および識別するように構成されている。予測システム314は、センサシステムによって生成された画像データおよびポイントクラウドデータを、例えば、1つ以上のニューラルネットワークを使用してこれらのデータを処理する前に、位置合わせシステム100を使用して位置合わせすることができる。
1つの実施例では、予測システム314は、位置合わせシステム100を使用して、環境の同じエリアを特徴付けると予測される、画像306およびポイントクラウド308のそれぞれの領域間のマッピングを生成することができる。その後、予測システム314は、マッピングを使用して、ポイントクラウド308を、画像306と位置合わせされた2D画像平面に投影し、次いで、投影されたポイントクラウド308および画像306をオブジェクト検出ニューラルネットワークに提供することができる。
場合によっては、カメラセンサおよび測量センサの相対的な位置および向きを特徴付けるデータを使用して、位置合わせシステム100を使用することなしに、カメラセンサによって生成された画像と測量センサによって生成されたポイントクラウドとをほぼ位置合わせすることができる。しかしながら、カメラセンサと測量センサとが生成した、カメラセンサおよび測量センサの相対的な位置に基づいて、画像とポイントクラウドとを位置合わせすることは、特に車両が動いている場合、不正確になる可能性がある。より具体的には、カメラセンサおよび測量センサは、多くの場合、異なる時点(例えば、0.2秒間隔)でデータを生成する。カメラセンサが画像を生成し、測量センサがポイントクラウドを生成する間に経過する期間に、車両が環境に対して移動する場合がある。この状況では、カメラセンサおよび測量センサの相対的な位置および向きに基づいて、画像とポイントクラウドとを位置合わせしようと試みると、位置合わせが不正確になる場合がある。一方で、位置合わせシステム100は、測量センサおよびカメラセンサの相対的な位置および向きが不正確または未知であっても、車両302が動いているときに画像とポイントクラウドとを正確に位置合わせすることができる。
車両の搭載システムによって使用されることに加えて(例えば、図3を参照して記載のとおり)、位置合わせシステムは、他の様々な用途で使用することができる。例えば、位置合わせシステムは、ポイントクラウドを処理して、ポイントクラウド内のオブジェクトの位置を識別する出力を生成するように構成されたオブジェクト検出ニューラルネットワークをトレーニングするためのトレーニングデータを生成するために使用され得る。オブジェクト検出ニューラルネットワークをトレーニングするためのトレーニングデータとして使用するために、ポイントクラウド内のオブジェクトを手動でセグメント化することは、困難で、時間と費用がかかる場合がある。位置合わせシステムは、位置合わせシステムを使用して、画像からのセグメント化(簡単に取得することができる)を、後でオブジェクト検出ニューラルネットワークをトレーニングするために使用され得る対応するポイントクラウドデータに転送することができるため、これらの課題を未然に防ぐことができる。
図4は、視覚埋め込みニューラルネットワーク106および形状埋め込みニューラルネットワーク108を一緒にトレーニングするためのデータフロー400の実施例を例示する。視覚埋め込みニューラルネットワーク106および形状埋め込みニューラルネットワーク108をトレーニングすることは、これらのそれぞれのモデルパラメータ402のトレーニングされた値を判断することを指す。
視覚埋め込みニューラルネットワーク106および形状埋め込みニューラルネットワーク108は、多様なトレーニング例を含むトレーニングデータのセット404でトレーニングされる。各トレーニング例には、画像の領域およびポイントクラウドの領域が含まれる。トレーニング例のうちのいくつかは、画像領域およびポイントクラウド領域が環境の同じエリアを特徴付ける、「ポジティブな」トレーニング例である。残りのトレーニング例は、画像領域およびポイントクラウド領域が環境の異なるエリア(または全く異なる環境)を特徴付ける、「ネガティブな」トレーニング例である。
トレーニングデータ404のトレーニング例は、様々な方法のうちのいずれかで生成され得る。
例えば、互いの相対的な位置および向きが分かっているカメラセンサおよび測量センサを使用して、環境を特徴付ける画像およびポイントクラウドを同時にキャプチャすることによって、ポジティブなトレーニング例を生成することができる。センサの相対的な位置および向きを使用して、画像とポイントクラウドとを位置合わせすることができ、位置合わせされたセンサデータから対応する領域のペアを抽出することによって、1つ以上のトレーニング例を生成することができる。
別の実施例として、ポジティブなトレーニング例を、人物が環境の同じエリアを特徴付ける、対応する画像領域およびポイントクラウド領域を手動で注釈付けする、人間の注釈付けによって手動で生成することができる。
別の実施例として、ネガティブなトレーニング例を、異なる環境のエリアを特徴付ける、画像領域とポイントクラウド領域とをランダムにペアリングすることによって生成することができる。
多様なトレーニングの反復ごとに、1つ以上のトレーニング例406の「バッチ」(すなわち、セット)が、トレーニングデータ404から(例えば、ランダムに)選択される。
バッチ内の各トレーニング例406について、視覚埋め込みニューラルネットワーク106は、モデルパラメータ402の現在の値に従って、トレーニング例406からの画像領域408を処理して、画像領域408の埋め込み412を生成する。同様に、形状埋め込みニューラルネットワーク108は、モデルパラメータ402の現在の値に従って、トレーニング例406からのポイントクラウド領域410を処理して、ポイントクラウド領域410の埋め込み414を生成する。
現在のバッチのトレーニング例406からの、画像領域408およびポイントクラウド領域410の埋め込みは、目的関数416を評価するために使用される。目的関数416の勾配は、(例えば、バックプロパゲーションを使用して)コンピュータ処理され、その後、(例えば、RMSpropまたはAdam勾配降下法の最適化手順を使用して)モデルパラメータ402の現在の値を更新するために使用される。
前述のように、目的関数416は、画像領域およびポイントクラウド領域が環境の同じエリアを特徴付ける場合に、およびその場合に限り、視覚埋め込みニューラルネットワーク106および形状埋め込みニューラルネットワーク108が画像領域およびポイントクラウド領域の同様の埋め込みを生成することを広く奨励する。例えば、目的関数は、トリプレット損失目的関数であっても、コントラスト損失目的関数であってもよい。
視覚埋め込みニューラルネットワーク106および形状埋め込みニューラルネットワーク108のモデルパラメータ402は、トレーニング終了基準が満たされるまで、例えば、所定の回数のトレーニングの反復が遂行されたときに、トレーニングされ得る。モデルパラメータ402のトレーニングされた値は、任意の適切な有線接続または無線接続を介して(例えば、図3を参照して記載されるように)車両の搭載システムに伝送され得る。
図5は、環境の同じエリアを特徴付ける、画像およびポイントクラウドのそれぞれの領域間のマッピングを判断するためのプロセス500の実施例のフロー図である。便宜上、プロセス500は、1つ以上の場所に位置する1つ以上のコンピュータのシステムによって遂行されるものとして記載する。例えば、クロスモーダル位置合わせシステム、例えば、本明細書に従って適切にプログラムされた図1のクロスモーダル位置合わせシステム100は、プロセス500を遂行することができる。
本システムは、画像およびポイントクラウド領域を取得する(502)。画像は、カメラセンサによって生成され、環境の視覚外観を特徴付ける。ポイントクラウドは、測量センサによって生成され、環境の3D幾何学形状を特徴付ける。画像は、任意の適切な形式、例えば、白黒画像またはカラー画像として表現され得る。ポイントクラウドは、データポイントの集合として表現され得、各データポイントは、環境内の表面上にあるポイントのそれぞれの3D空間位置を定義する。任意選択で、ポイントクラウド内の各データポイントには、データポイントに対応する環境内の3D空間位置における材料の、例えば、反射率、テクスチャ、または密度を特徴付ける、追加の「強度」情報を含めることができる。
本システムは、視覚埋め込みニューラルネットワークを使用して、画像の多様な領域の各々を処理して、画像領域の各々のそれぞれの埋め込みを生成する(504)。各画像領域は、任意の適切な形状の2Dバウンディング領域、例えば、2Dバウンディングボックスによって囲まれた画像の一部分に対応し得る。本システムは、画像全体を網羅する画像領域のグリッド内の各画像領域に対して、または画像の一部分(例えば、オブジェクトを描く画像の一部分)を網羅する画像領域のセット内の各画像領域に対して、それぞれの埋め込みを生成し得る。
本システムは、形状埋め込みニューラルネットワークを使用して、ポイントクラウドの多様な領域の各々を処理して、ポイントクラウド領域の各々のそれぞれの埋め込みを生成する(506)。各ポイントクラウド領域は、任意の適切な形状の3D空間バウンディング領域、例えば、3Dバウンディングボックスによって囲まれた空間位置に対応する、ポイントクラウドの一部分(すなわち、ポイントクラウド内のデータポイントのセット)に対応し得る。本システムは、ポイントクラウド全体を網羅するポイントクラウド領域のグリッド内の各ポイントクラウド領域に対して、またはポイントクラウドの一部分(例えば、オブジェクトに対応するポイントクラウドの一部分)を網羅するポイントクラウド領域のセット内の各ポイントクラウド領域に対して、それぞれの埋め込みを生成し得る。
本システムは、画像領域の埋め込みおよびポイントクラウド領域の埋め込みを使用して、多様な領域ペアのセットを識別する(508)。各領域ペアは、環境の同じエリアを特徴付ける、画像領域およびポイントクラウド領域を指定する。領域ペアを識別するために、本システムは、マッチングアルゴリズム(例えば、最近傍マッチングアルゴリズム)を使用して、多様な埋め込みペアのセットを識別し、多様な埋め込みペアの各々は、画像領域の埋め込みおよびポイントクラウド領域の埋め込みを指定する。本システムは、各埋め込みペアを使用して、埋め込みペアに対応する、画像領域およびポイントクラウド領域を指定するそれぞれの領域ペアを識別する。領域ペアは、環境の同じエリアを特徴付けると予測される、画像およびポイントクラウドのそれぞれの領域間のマッピングを定義する。
本明細書は、システムおよびコンピュータプログラムコンポーネントに関連して「構成された」という用語を使用する。1つ以上のコンピュータのシステムが特定の操作または動作を遂行するように構成されているとは、システムがそれにインストールされており、ソフトウェア、ファームウェア、ハードウェア、またはそれらの組み合わせが動作中に、システムにその操作または動作を遂行させることを意味する。1つ以上のコンピュータプログラムが特定の操作または動作を遂行するように構成されているとは、1つ以上のプログラムが、データ処理装置によって実行されると、装置に操作または動作を遂行させる命令を含むことを意味する。
本明細書に記載の主題および機能的動作の実施形態は、デジタル電子回路内に、有形的に具現化されたコンピュータソフトウェアもしくはファームウェア内に、本明細書に開示された構造体およびそれらの構造上の等価物を含むコンピュータハードウェア内に、またはそれらのうちの1つ以上を組み合わせて、実装することができる。本明細書に記載の主題の実施形態は、1つ以上のコンピュータプログラムとして、すなわち、データ処理装置によって実行するために、またはデータ処理装置の操作を制御するために有形の非一時的記憶媒体に符号化されたコンピュータプログラム命令の1つ以上のモジュールとして実装することができる。コンピュータ記憶媒体は、機械可読記憶デバイス、機械可読記憶基板、ランダムもしくはシリアルアクセスメモリデバイス、またはこれらのうちの1つ以上の組み合わせであってもよい。代替的に、またはさらに、プログラム命令は、人工的に生成された伝播信号、例えば、データ処理装置によって実行するために好適な受信装置に送信される情報を符号化するために生成される機械生成の電気、光、または電磁信号に符号化され得る。
「データ処理装置」という用語は、データ処理ハードウェアを指し、データを処理するためのあらゆる種類の装置、デバイス、および機械を包含し、それらには、例として、プログラマブルプロセッサ、コンピュータ、または複数のプロセッサもしくはコンピュータが含まれる。装置はまた、例えば、FPGA(フィールドプログラマブルゲートアレイ)もしくはASIC(特定用途向け集積回路)などの専用論理回路であってもよく、またはそれをさらに含んでいてもよい。装置は、ハードウェアに加えて、コンピュータプログラムのための実行環境を作り出すコード、例えば、プロセッサファームウェア、プロトコルスタック、データベース管理システム、オペレーティングシステム、またはそれらの1つ以上の組み合わせを構成するコードを任意選択で含むことができる。
プログラム、ソフトウェア、ソフトウェアアプリケーション、アプリ、モジュール、ソフトウェアモジュール、スクリプト、またはコードとも称され得るか、もしくは記載され得る、コンピュータプログラムは、コンパイラ型もしくはインタプリタ型言語、または宣言型言語もしくは手続き型言語を含む、任意の形式のプログラミング言語で記述され得、かつスタンドアロンプログラムもしくはモジュール、コンポーネント、サブルーチン、またはコンピューティング環境で使用するのに適した他のユニットを含む、任意の形式で展開され得る。プログラムは、ファイルシステム内のファイルに対応する場合もあるが、必ずしもそうである必要はない。プログラムは、他のプログラムもしくはデータを保持するファイルの一部、例えば、マークアップ言語ドキュメントに格納された1つ以上のスクリプト、プログラム専用の単一ファイル、または複数の調整ファイル、例えば、1つ以上のモジュール、サブプログラム、もしくはコードの一部を格納するファイルに格納することができる。コンピュータプログラムは、1つのコンピュータまたは1つの場所に配置された複数のコンピュータ上で実行されるように展開するか、複数の場所に分散してデータ通信ネットワークで相互接続することができる。
本明細書において、「エンジン」という用語は、1つ以上の特定の関数を遂行するようにプログラムされている、ソフトウェアベースのシステム、サブシステム、またはプロセスを指すために広く使用される。概して、エンジンは、1つ以上のソフトウェアモジュールまたはコンポーネントとして実装され、1つ以上の場所にある1つ以上のコンピュータにインストールされる。場合によっては、1つ以上のコンピュータが特定のエンジン専用であり、他の場合では、多様なエンジンを同じコンピュータ(複数可)にインストールして走らせることができる。
本明細書に記載のプロセスおよび論理フローは、1つ以上のプログラマブルコンピュータが1つ以上のコンピュータプログラムを実行して、入力データ上で動作し、かつ出力を生成することで機能を果たすことによって遂行することができる。プロセスおよび論理フローはまた、FPGAもしくはASICなどの専用論理回路によって、または特定用途の論理回路と1つ以上のプログラムされたコンピュータとの組み合わせによって遂行することができる。
コンピュータプログラムの実行に好適なコンピュータは、汎用もしくは専用のマイクロプロセッサあるいはその両方、または他の種類の中央処理装置に基づくことができる。概して、中央処理装置は、読み取り専用メモリもしくはランダムアクセスメモリ、またはその両方から命令およびデータを受信することになる。コンピュータの本質的な要素は、命令を遂行または実行するための中央処理装置ならびに命令およびデータを格納するための1つ以上のメモリデバイスである。中央処理装置およびメモリは、専用論理回路によって補完またはその回路に組み込むことができる。概して、コンピュータはまた、例えば、磁気、光磁気ディスク、もしくは、光ディスクなど、データを格納するための1つ以上の大容量記憶デバイスを含むか、または、それらからデータを転送するように動作可能に結合されることになる。しかしながら、コンピュータは必ずしもそのようなデバイスを有する必要はない。さらに、コンピュータは別のデバイス、例えば、ほんの数例を挙げると、携帯電話、電子手帳(PDA)、モバイルオーディオもしくはビデオプレーヤ、ゲームコンソール、全地球測位システム(GPS)受信機、またはポータブル記憶デバイス、例えば、ユニバーサルシリアルバス(USB)フラッシュドライブなどに組み込むことができる。
コンピュータプログラム命令およびデータを格納するのに好適なコンピュータ可読媒体は、不揮発性メモリ、媒体、およびメモリデバイスのあらゆる形態を含み、例として、EPROM、EEPROM、およびフラッシュメモリデバイスなどの半導体メモリデバイス、内蔵ハードディスクまたは取り外し可能なディスクなどの磁気ディスク、光磁気ディスク、ならびにCD-ROMおよびDVD-ROMディスクを含む。
ユーザとの対話を提供するために、本明細書に記載の主題の実施形態は、コンピュータ上で実施することができ、コンピュータは、ユーザがコンピュータに入力を提供することができる、ユーザに情報を表示するための表示デバイス、例えば、CRT(陰極線管)もしくはLCD(液晶ディスプレイ)モニタ、ならびにキーボードおよびマウス、トラックボールなどのポインティングデバイスを有する。他の種類のデバイスを使用して、ユーザとの対話を提供することもできる。例えば、ユーザに提供されるフィードバックは、視覚的フィードバック、聴覚的フィードバック、または触覚的フィードバックなどの任意の形の感覚的フィードバックであり得、ユーザからの入力は、音響、音声、または触覚入力を含む任意の形式で受信することができる。さらに、コンピュータは、ユーザが使用するデバイスとの間でドキュメントを送受信することによって、例えば、ウェブブラウザから受信した要求に応答して、ユーザのデバイス上のウェブブラウザにウェブページを送信することによって、ユーザと対話することができる。また、コンピュータは、テキストメッセージまたは他の形式のメッセージを、パーソナルデバイス、例えば、メッセージアプリケーションを走らせているスマートフォンに送信し、その見返りにユーザから応答メッセージを受信することによって、ユーザと対話することができる。
機械学習モデルを実装するためのデータ処理装置には、例えば、機械学習のトレーニングまたは生産の一般的でコンピュータ集約型の部分、すなわち、推論、ワークロードを処理するための専用ハードウェアアクセラレータユニットを含めることもできる。
機械学習モデルは、機械学習フレームワーク、例えば、TensorFlowフレームワーク、Microsoft Cognitive Toolkitフレームワーク、Apache Singaフレームワーク、またはApache MXNetフレームワークを使用して、実装および展開され得る。
本明細書に記載の主題の実施形態は、バックエンドコンポーネントを、例えば、データサーバとして含むか、またはミドルウェアコンポーネントを、例えば、アプリケーションサーバとして含むか、またはフロントエンドコンポーネント、例えば、経由してユーザが本明細書に記載の主題の実装例と対話することができる、グラフィカルユーザインターフェース、ウェブブラウザ、もしくはアプリを有する、クライアントコンピュータを含む、コンピューティングシステム、あるいは1つ以上のかかるバックエンド、ミドルウェア、もしくはフロントエンドのコンポーネントの任意の組み合わせに実装され得る。システムのコンポーネントは、デジタルデータ通信の任意の形式または媒体、例えば、通信ネットワークによって相互配線され得る。通信ネットワークの実施例としては、ローカルエリアネットワーク(LAN)およびワイドエリアネットワーク(WAN)、例えば、インターネットが挙げられる。
コンピューティングシステムは、クライアントおよびサーバを含み得る。クライアントおよびサーバは概して、互いにリモートであり、典型的には通信ネットワークを介して対話する。クライアントとサーバとの関係は、それぞれのコンピュータで実行され、かつ互いにクライアントとサーバとの関係を有している、コンピュータプログラムによって生じる。いくつかの実施形態では、サーバは、例えば、デバイスと対話するユーザにデータを表示し、ユーザからのユーザ入力を受信する目的で、データ、例えば、HTMLページを、クライアントとして作用するユーザデバイスに伝送する。例えば、ユーザ対話の結果としてユーザデバイスで生成されたデータは、デバイスからサーバで受信され得る。
本明細書は多くの特定の実装例の詳細を含んでいるが、これらは、任意の発明の範囲、または特許請求され得る事項の範囲に対する限定として解釈されるべきではなく、特定の発明の特定の実施形態に特異的であり得る特徴の説明として解釈されるべきである。別個の実施形態の局面で本明細書に記載された特定の特徴を、単一の実施形態で組み合わせて実装することもできる。逆に、単一の実施形態の文脈で本明細書に記載されている種々の特徴は、複数の実施形態で、別個に、または任意の好適なサブコンビネーションで実施することもできる。さらに、特徴は、特定の組み合わせで作用するものとして上記に説明され、当初はそのように特許請求されることがあるが、場合によっては、特許請求された組み合わせからの1つ以上の特徴が、その組み合わせから削除される可能性もあり、特許請求された組み合わせが、サブコンビネーションまたはサブコンビネーションの変形に向けられる可能性もある。
同様に、動作が特定の順序で図面に描かれ、特許請求の範囲に引用されているが、これは、かかる動作が、所望の結果を達成するために、示される特定の順序もしくは一連の順序で遂行されること、またはすべての例示される動作が遂行されることを要求するものとして理解されるべきではない。特定の状況では、マルチタスクおよび並列処理が有利な場合がある。さらに、上記した実施形態における様々なシステムモジュールおよびコンポーネントの分離は、すべての実施形態においてかかる分離を必要とするものとして理解されるべきではなく、記載されたプログラムコンポーネントおよびシステムは、概して、単一のソフトウェア製品内に共に一体化されてもよく、または複数のソフトウェア製品にパッケージ化されてもよい。
主題の特定の実施形態を説明してきた。他の実施形態は、以下の特許請求の範囲内に存在する。例えば、特許請求の範囲に記載された動作は、異なる順序で遂行されてもよく、望ましい結果を依然として達成することができる。一例として、添付の図に図示されたプロセスは、望ましい結果を達成するために、必ずしも示された特定の順序、または一連の順序を必要としない。場合によっては、マルチタスクおよび並列処理が有利な場合がある。

Claims (17)

  1. 1つ以上のデータ処理装置によって遂行される方法であって、前記方法が、
    (i)環境の視覚外観を特徴付ける、カメラセンサによって生成される画像、および(ii)前記環境の三次元幾何学形状を特徴付ける、測量センサによって生成されるデータポイントの集合を含むポイントクラウド、を取得することであって、各データポイントが、前記環境内の表面上にあるポイントのそれぞれの三次元空間位置を定義する、取得することと、
    視覚埋め込みニューラルネットワークを使用して、前記画像の複数の画像領域の各々を処理して、前記画像領域の各々のそれぞれの画像領域埋め込みを生成することと、
    形状埋め込みニューラルネットワークを使用して、前記ポイントクラウドの複数のポイントクラウド領域の各々を処理して、前記ポイントクラウド領域の各々のそれぞれのポイントクラウド領域埋め込みを生成することと、
    複数の類似度スコアを決定することであって、各類似度スコアは、各画像領域埋め込みと各ポイントクラウド領域埋め込みとの間の類似度を示す、ことと、
    前記複数の類似度スコアに基づいて、前記画像と前記ポイントクラウドの位置合わせを定義する複数の埋め込みペアを識別することと、を含み、各埋め込みペアが、所与の画像領域の画像領域埋め込みおよび所与のポイントクラウド領域のポイントクラウド領域埋め込みを含む、方法。
  2. 前記測量センサが、ライダセンサまたはレーダセンサである、請求項1に記載の方法。
  3. 前記カメラセンサおよび前記測量センサが、車両の上に取り付けられている、請求項1または2に記載の方法。
  4. 前記ポイントクラウド内の各データポイントが、前記測量センサによって伝送された、および前記データポイントによって定義された前記三次元空間位置における前記環境の前記表面上にある前記ポイントから反射された、光のパルスの反射の強さをさらに定義する、請求項1に記載の方法。
  5. 1つ以上のデータ処理装置によって遂行される方法であって、前記方法が、
    (i)環境の視覚外観を特徴付ける、カメラセンサによって生成される画像、および(ii)前記環境の三次元幾何学形状を特徴付ける、測量センサによって生成されるデータポイントの集合を含むポイントクラウド、を取得することであって、各データポイントが、前記環境内の表面上にあるポイントのそれぞれの三次元空間位置を定義する、取得することと、
    視覚埋め込みニューラルネットワークを使用して、前記画像の複数の画像領域の各々を処理して、前記画像領域の各々のそれぞれの画像領域埋め込みを生成することと、
    形状埋め込みニューラルネットワークを使用して、前記ポイントクラウドの複数のポイントクラウド領域の各々を処理して、前記ポイントクラウド領域の各々のそれぞれのポイントクラウド領域埋め込みを生成することと、
    前記画像と前記ポイントクラウドの位置合わせを定義する複数の埋め込みペアを識別することであって、各埋め込みペアが、所与の画像領域の画像領域埋め込みおよび所与のポイントクラウド領域のポイントクラウド領域埋め込みを含む、ことと、
    前記複数の埋め込みペアを使用して、前記カメラセンサおよび前記測量センサが正確に較正されているかどうかを判断することを含む、方法。
  6. 前記画像内のオブジェクトの位置を定義するデータを取得することと、
    (i)前記画像内の前記オブジェクトの前記位置、および(ii)前記複数の埋め込みペアに基づいて、前記ポイントクラウド内の前記オブジェクトの対応する位置を識別することと、をさらに含む、請求項1~5のいずれか一項に記載の方法。
  7. (i)前記画像内の前記オブジェクトの前記位置、および(ii)前記複数の埋め込みペアに基づいて、前記ポイントクラウド内の前記オブジェクトの前記対応する位置を識別することが、
    特定の埋め込みペアを識別することであって、各特定の埋め込みペアについて、前記画像領域埋め込みが、前記画像内の前記オブジェクトの前記位置に対応する画像領域を特徴付ける、識別することと、
    各特定の埋め込みペアの前記ポイントクラウド領域埋め込みによって特徴付けられるそれぞれのポイントクラウド領域に基づいて、前記ポイントクラウド内の前記オブジェクトの前記位置を判断することと、を含む、請求項6に記載の方法。
  8. 前記ポイントクラウド内のオブジェクトの位置を定義するデータを取得することと、
    (i)前記ポイントクラウド内の前記オブジェクトの前記位置、および(ii)前記複数の埋め込みペアに基づいて、前記画像内の前記オブジェクトの対応する位置を識別することと、をさらに含む、請求項1~7のいずれか一項に記載の方法。
  9. (i)前記ポイントクラウド内の前記オブジェクトの前記位置、および(ii)前記複数の埋め込みペアに基づいて、前記画像内の前記オブジェクトの前記対応する位置を識別することが、
    特定の埋め込みペアを識別することであって、各特定の埋め込みペアについて、前記ポイントクラウド領域埋め込みが、前記ポイントクラウド内の前記オブジェクトの前記位置に対応するポイントクラウド領域を特徴付ける、識別することと、
    各特定の埋め込みペアの前記画像領域埋め込みによって特徴付けられるそれぞれの画像領域に基づいて、前記画像内の前記オブジェクトの前記位置を判断することと、を含む、請求項8に記載の方法。
  10. 前記複数の埋め込みペアを使用して、前記画像と位置合わせされた二次元画像平面に前記ポイントクラウドを投影することと、
    ニューラルネットワークを使用して、前記画像および前記投影されたポイントクラウドを処理して、ニューラルネットワーク出力を生成することと、をさらに含む、請求項1~9のいずれか一項に記載の方法。
  11. 前記ニューラルネットワーク出力が、前記環境内のオブジェクトの位置を識別するデータを含む、請求項10に記載の方法。
  12. 前記画像内の各ピクセルは、前記複数の画像領域のうちのいずれか1つに含まれる、請求項1~11のいずれか一項に記載の方法。
  13. 前記ポイントクラウド内の各データポイントは、前記複数のポイントクラウド領域のうちのいずれか1つに含まれる、請求項1~12のいずれか一項に記載の方法。
  14. 前記複数の埋め込みペアが、グリーディな最近傍マッチングアルゴリズムを使用して識別される、請求項1~13のいずれか一項に記載の方法。
  15. 前記視覚埋め込みニューラルネットワークおよび前記形状埋め込みニューラルネットワークが、トリプレット損失目的関数またはコントラスト損失目的関数を使用して、一緒にトレーニングされる、請求項1~14のいずれか一項に記載の方法。
  16. 命令を記憶する1つ以上の非一時的コンピュータ記憶媒体であって、前記命令が、1つ以上のコンピュータによって実行されたときに、前記1つ以上のコンピュータに請求項1~15のいずれか一項に記載のそれぞれの方法の動作を遂行させる、1つ以上の非一時的コンピュータ記憶媒体。
  17. システムであって、
    1つ以上のコンピュータと、
    前記1つ以上のコンピュータに通信可能に連結された1つ以上の記憶デバイスと、を備え、前記1つ以上の記憶デバイスが、命令を記憶し、前記命令が、前記1つ以上のコンピュータによって実行されたときに、前記1つ以上のコンピュータに請求項1~15のいずれか一項に記載のそれぞれの方法の動作を遂行させる、システム。
JP2022500653A 2019-07-11 2020-07-02 クロスモーダルセンサデータの位置合わせ Active JP7438320B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US16/509,152 US11195064B2 (en) 2019-07-11 2019-07-11 Cross-modal sensor data alignment
US16/509,152 2019-07-11
PCT/US2020/040670 WO2021007100A1 (en) 2019-07-11 2020-07-02 Cross-modal sensor data alignment

Publications (2)

Publication Number Publication Date
JP2022540109A JP2022540109A (ja) 2022-09-14
JP7438320B2 true JP7438320B2 (ja) 2024-02-26

Family

ID=74101825

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2022500653A Active JP7438320B2 (ja) 2019-07-11 2020-07-02 クロスモーダルセンサデータの位置合わせ

Country Status (6)

Country Link
US (2) US11195064B2 (ja)
EP (1) EP3980969A4 (ja)
JP (1) JP7438320B2 (ja)
KR (1) KR20220035170A (ja)
CN (1) CN114097006A (ja)
WO (1) WO2021007100A1 (ja)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11263476B2 (en) * 2020-03-19 2022-03-01 Salesforce.Com, Inc. Unsupervised representation learning with contrastive prototypes
CN113091646B (zh) * 2021-03-29 2021-11-16 上海交通大学 基于条纹标定的三维形貌测量方法
CN113780214B (zh) * 2021-09-16 2024-04-19 上海西井科技股份有限公司 基于人群进行图像识别的方法、系统、设备及存储介质
US20230358563A1 (en) * 2022-05-05 2023-11-09 Here Global B.V. Method, apparatus, and computer program product for map geometry generation based on data aggregation and conflation
DE102022207091A1 (de) 2022-07-12 2024-01-18 Robert Bosch Gesellschaft mit beschränkter Haftung Objektklassifikation anhand von Messdaten aus mehreren Perspektiven unter Nutzung von Pseudo-Labels
US11526990B1 (en) * 2022-08-10 2022-12-13 Bio-Marketing-T, Ltd. (BMT) Computer systems and computer-implemented methods for rapid diagnostic test result interpretation platform utilizing computer vision
US11538228B1 (en) * 2022-08-26 2022-12-27 Illuscio, Inc. Systems and methods for augmented reality viewing based on directly mapped point cloud overlays

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2011505610A (ja) 2007-11-07 2011-02-24 テレ アトラス ベスローテン フエンノートシャップ 画像センサデータに距離センサデータをマッピングする方法及び装置
JP2017097906A (ja) 2012-09-05 2017-06-01 グーグル インコーポレイテッド 複数の情報源を用いる建設区域検出
US20190096086A1 (en) 2017-09-22 2019-03-28 Zoox, Inc. Three-Dimensional Bounding Box From Two-Dimensional Image and Point Cloud Data

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8290305B2 (en) 2009-02-13 2012-10-16 Harris Corporation Registration of 3D point cloud data to 2D electro-optical image data
US9052721B1 (en) 2012-08-28 2015-06-09 Google Inc. Method for correcting alignment of vehicle mounted laser scans with an elevation map for obstacle detection
CN111492403A (zh) * 2017-10-19 2020-08-04 迪普迈普有限公司 用于生成高清晰度地图的激光雷达到相机校准
CN108198145B (zh) 2017-12-29 2020-08-28 百度在线网络技术(北京)有限公司 用于点云数据修复的方法和装置
US11276189B2 (en) * 2019-03-06 2022-03-15 Qualcomm Incorporated Radar-aided single image three-dimensional depth reconstruction

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2011505610A (ja) 2007-11-07 2011-02-24 テレ アトラス ベスローテン フエンノートシャップ 画像センサデータに距離センサデータをマッピングする方法及び装置
JP2017097906A (ja) 2012-09-05 2017-06-01 グーグル インコーポレイテッド 複数の情報源を用いる建設区域検出
US20190096086A1 (en) 2017-09-22 2019-03-28 Zoox, Inc. Three-Dimensional Bounding Box From Two-Dimensional Image and Point Cloud Data

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
Mengdan Feng et al,2D3D-Matchnet: Learning To Match Keypoints Across 2D Image And 3D Point Cloud,2019 International Conference on Robotics and Automation (ICRA),2019年05月24日,p4790-4796,https://ieeexplore.ieee.org/abstract/document/8794415
Mengdan Feng et al,Towards Precise Vehicle-Free Point Cloud Mapping: An On-vehicle System with Deep Vehicle Detection and Tracking,2018 IEEE International Conference on Systems, Man, and Cybernetics (SMC),2018年10月10日,p1288-1293,https://ieeexplore.ieee.org/document/8616221

Also Published As

Publication number Publication date
CN114097006A (zh) 2022-02-25
JP2022540109A (ja) 2022-09-14
EP3980969A4 (en) 2023-07-05
US11195064B2 (en) 2021-12-07
EP3980969A1 (en) 2022-04-13
US20210012166A1 (en) 2021-01-14
KR20220035170A (ko) 2022-03-21
WO2021007100A1 (en) 2021-01-14
US20220076082A1 (en) 2022-03-10

Similar Documents

Publication Publication Date Title
JP7438320B2 (ja) クロスモーダルセンサデータの位置合わせ
US11436437B2 (en) Three-dimension (3D) assisted personalized home object detection
Menze et al. Object scene flow
Fan et al. Road surface 3D reconstruction based on dense subpixel disparity map estimation
CN111328396B (zh) 用于图像中的对象的姿态估计和模型检索
US11315266B2 (en) Self-supervised depth estimation method and system
US11482014B2 (en) 3D auto-labeling with structural and physical constraints
CN109683699B (zh) 基于深度学习实现增强现实的方法、装置及移动终端
Zhou et al. T-LOAM: Truncated least squares LiDAR-only odometry and mapping in real time
US20230213643A1 (en) Camera-radar sensor fusion using local attention mechanism
CN114637023A (zh) 用于激光深度图取样的系统及方法
US11475628B2 (en) Monocular 3D vehicle modeling and auto-labeling using semantic keypoints
US11748998B1 (en) Three-dimensional object estimation using two-dimensional annotations
CN111091038A (zh) 训练方法、计算机可读介质和检测消失点的方法及装置
CN116601667A (zh) 用单目监视相机进行3d对象检测和跟踪的系统和方法
Jindal et al. Bollard segmentation and position estimation from lidar point cloud for autonomous mooring
JP2015219868A (ja) 情報処理装置、情報処理方法、プログラム
KR20230049969A (ko) 글로벌 측위 장치 및 방법
CN112800822A (zh) 利用结构约束和物理约束进行3d自动标记
CN113255779A (zh) 多源感知数据融合识别方法、系统及计算机可读存储介质
EP4186419A1 (en) A method and stsyem for body part measurement for skin treatment
Sadjoli et al. PCD reconstruction, object classification and pose estimation for underwater vehicles using orthogonal multibeam forward looking sonar fusion
Singh et al. Multi-sensor data fusion for accurate surface modeling
Wang et al. Holistic Parking Slot Detection with Polygon-Shaped Representations
CN112733617B (zh) 一种基于多模态数据的目标定位方法及系统

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20220302

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20230216

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20230224

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20230511

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20230823

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20231026

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20240213

R150 Certificate of patent or registration of utility model

Ref document number: 7438320

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150