JP2022165372A - 高解像度マップを更新するためのシステム及び方法 - Google Patents
高解像度マップを更新するためのシステム及び方法 Download PDFInfo
- Publication number
- JP2022165372A JP2022165372A JP2021183305A JP2021183305A JP2022165372A JP 2022165372 A JP2022165372 A JP 2022165372A JP 2021183305 A JP2021183305 A JP 2021183305A JP 2021183305 A JP2021183305 A JP 2021183305A JP 2022165372 A JP2022165372 A JP 2022165372A
- Authority
- JP
- Japan
- Prior art keywords
- objects
- vehicle
- coordinate system
- absolute coordinate
- determining
- 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
- 238000000034 method Methods 0.000 title claims abstract description 61
- 238000012545 processing Methods 0.000 claims description 49
- 238000013528 artificial neural network Methods 0.000 description 64
- 230000006870 function Effects 0.000 description 49
- 230000015654 memory Effects 0.000 description 49
- 238000001514 detection method Methods 0.000 description 35
- 238000012549 training Methods 0.000 description 34
- 238000013527 convolutional neural network Methods 0.000 description 29
- 238000004891 communication Methods 0.000 description 20
- 230000008569 process Effects 0.000 description 19
- 238000003860 storage Methods 0.000 description 17
- 238000007726 management method Methods 0.000 description 14
- 230000033001 locomotion Effects 0.000 description 12
- 230000001133 acceleration Effects 0.000 description 11
- 238000013135 deep learning Methods 0.000 description 11
- 238000010586 diagram Methods 0.000 description 11
- 238000010801 machine learning Methods 0.000 description 11
- 230000002093 peripheral effect Effects 0.000 description 11
- 238000005259 measurement Methods 0.000 description 9
- 230000000007 visual effect Effects 0.000 description 9
- 238000005516 engineering process Methods 0.000 description 8
- 238000013507 mapping Methods 0.000 description 8
- 238000013439 planning Methods 0.000 description 7
- 238000010276 construction Methods 0.000 description 6
- 235000019800 disodium phosphate Nutrition 0.000 description 5
- 238000007667 floating Methods 0.000 description 5
- 239000011159 matrix material Substances 0.000 description 5
- 230000009467 reduction Effects 0.000 description 5
- 230000004044 response Effects 0.000 description 5
- 241000269400 Sirenidae Species 0.000 description 4
- 230000009471 action Effects 0.000 description 4
- 230000003044 adaptive effect Effects 0.000 description 4
- 238000013473 artificial intelligence Methods 0.000 description 4
- 125000000914 phenoxymethylpenicillanyl group Chemical group CC1(S[C@H]2N([C@H]1C(=O)*)C([C@H]2NC(COC2=CC=CC=C2)=O)=O)C 0.000 description 4
- 229920002451 polyvinyl alcohol Polymers 0.000 description 4
- 235000019422 polyvinyl alcohol Nutrition 0.000 description 4
- 238000004088 simulation Methods 0.000 description 4
- 230000003190 augmentative effect Effects 0.000 description 3
- 230000000694 effects Effects 0.000 description 3
- 239000000446 fuel Substances 0.000 description 3
- 238000012986 modification Methods 0.000 description 3
- 230000004048 modification Effects 0.000 description 3
- 238000012544 monitoring process Methods 0.000 description 3
- 230000008447 perception Effects 0.000 description 3
- 238000009877 rendering Methods 0.000 description 3
- 230000003068 static effect Effects 0.000 description 3
- 230000001360 synchronised effect Effects 0.000 description 3
- 230000002123 temporal effect Effects 0.000 description 3
- 238000013519 translation Methods 0.000 description 3
- 230000014616 translation Effects 0.000 description 3
- 101100175317 Danio rerio gdf6a gene Proteins 0.000 description 2
- 230000003213 activating effect Effects 0.000 description 2
- 230000006399 behavior Effects 0.000 description 2
- 230000008901 benefit Effects 0.000 description 2
- 230000001413 cellular effect Effects 0.000 description 2
- 230000008859 change Effects 0.000 description 2
- 230000000295 complement effect Effects 0.000 description 2
- 238000012937 correction Methods 0.000 description 2
- 238000013461 design Methods 0.000 description 2
- 230000001815 facial effect Effects 0.000 description 2
- 230000036541 health Effects 0.000 description 2
- 239000000203 mixture Substances 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 230000004043 responsiveness Effects 0.000 description 2
- 239000004065 semiconductor Substances 0.000 description 2
- 230000001131 transforming effect Effects 0.000 description 2
- 238000002604 ultrasonography Methods 0.000 description 2
- HPTJABJPZMULFH-UHFFFAOYSA-N 12-[(Cyclohexylcarbamoyl)amino]dodecanoic acid Chemical compound OC(=O)CCCCCCCCCCCNC(=O)NC1CCCCC1 HPTJABJPZMULFH-UHFFFAOYSA-N 0.000 description 1
- 101100248200 Arabidopsis thaliana RGGB gene Proteins 0.000 description 1
- 238000012935 Averaging Methods 0.000 description 1
- 238000006424 Flood reaction Methods 0.000 description 1
- 102100030148 Integrator complex subunit 8 Human genes 0.000 description 1
- 101710092891 Integrator complex subunit 8 Proteins 0.000 description 1
- 241000699670 Mus sp. Species 0.000 description 1
- 206010034960 Photophobia Diseases 0.000 description 1
- 238000004458 analytical method Methods 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 238000003491 array Methods 0.000 description 1
- 230000004888 barrier function Effects 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 230000015572 biosynthetic process Effects 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 238000007621 cluster analysis Methods 0.000 description 1
- 230000001149 cognitive effect Effects 0.000 description 1
- 230000001427 coherent effect Effects 0.000 description 1
- 239000003086 colorant Substances 0.000 description 1
- 238000002485 combustion reaction Methods 0.000 description 1
- 230000008094 contradictory effect Effects 0.000 description 1
- 238000013481 data capture Methods 0.000 description 1
- 238000013523 data management Methods 0.000 description 1
- 230000007613 environmental effect Effects 0.000 description 1
- 230000005669 field effect Effects 0.000 description 1
- 238000001914 filtration Methods 0.000 description 1
- 238000012905 input function Methods 0.000 description 1
- 238000012804 iterative process Methods 0.000 description 1
- 208000013469 light sensitivity Diseases 0.000 description 1
- 230000004807 localization Effects 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 238000001693 membrane extraction with a sorbent interface Methods 0.000 description 1
- 239000002184 metal Substances 0.000 description 1
- 229910044991 metal oxide Inorganic materials 0.000 description 1
- 150000004706 metal oxides Chemical class 0.000 description 1
- 238000010295 mobile communication Methods 0.000 description 1
- 238000005457 optimization Methods 0.000 description 1
- 238000005192 partition Methods 0.000 description 1
- 230000000737 periodic effect Effects 0.000 description 1
- 238000012805 post-processing Methods 0.000 description 1
- 238000007781 pre-processing Methods 0.000 description 1
- 238000000513 principal component analysis Methods 0.000 description 1
- 230000000644 propagated effect Effects 0.000 description 1
- 230000002787 reinforcement Effects 0.000 description 1
- 238000005096 rolling process Methods 0.000 description 1
- 230000011218 segmentation Effects 0.000 description 1
- 230000001953 sensory effect Effects 0.000 description 1
- 230000035939 shock Effects 0.000 description 1
- 238000003786 synthesis reaction Methods 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
- 238000013526 transfer learning Methods 0.000 description 1
- 230000009466 transformation Effects 0.000 description 1
- 238000000844 transformation Methods 0.000 description 1
- 230000007704 transition Effects 0.000 description 1
- 230000007723 transport mechanism Effects 0.000 description 1
- 238000012384 transportation and delivery Methods 0.000 description 1
- 238000012800 visualization Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T1/00—General purpose image data processing
- G06T1/20—Processor architectures; Processor configuration, e.g. pipelining
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01C—MEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
- G01C21/00—Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00
- G01C21/38—Electronic maps specially adapted for navigation; Updating thereof
- G01C21/3804—Creation or updating of map data
- G01C21/3859—Differential updating map data
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01C—MEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
- G01C21/00—Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00
- G01C21/38—Electronic maps specially adapted for navigation; Updating thereof
- G01C21/3804—Creation or updating of map data
- G01C21/3807—Creation or updating of map data characterised by the type of data
- G01C21/3811—Point data, e.g. Point of Interest [POI]
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01C—MEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
- G01C21/00—Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00
- G01C21/26—Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00 specially adapted for navigation in a road network
- G01C21/34—Route searching; Route guidance
- G01C21/36—Input/output arrangements for on-board computers
- G01C21/3667—Display of a road map
- G01C21/3673—Labelling using text of road map data items, e.g. road names, POI names
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01C—MEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
- G01C21/00—Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00
- G01C21/38—Electronic maps specially adapted for navigation; Updating thereof
- G01C21/3804—Creation or updating of map data
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01C—MEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
- G01C21/00—Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00
- G01C21/38—Electronic maps specially adapted for navigation; Updating thereof
- G01C21/3804—Creation or updating of map data
- G01C21/3807—Creation or updating of map data characterised by the type of data
- G01C21/3815—Road data
- G01C21/3819—Road shape data, e.g. outline of a route
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01C—MEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
- G01C21/00—Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00
- G01C21/38—Electronic maps specially adapted for navigation; Updating thereof
- G01C21/3804—Creation or updating of map data
- G01C21/3833—Creation or updating of map data characterised by the source of data
- G01C21/3844—Data obtained from position sensors only, e.g. from inertial navigation
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01C—MEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
- G01C21/00—Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00
- G01C21/38—Electronic maps specially adapted for navigation; Updating thereof
- G01C21/3804—Creation or updating of map data
- G01C21/3833—Creation or updating of map data characterised by the source of data
- G01C21/3852—Data derived from aerial or satellite images
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/70—Determining position or orientation of objects or cameras
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/70—Determining position or orientation of objects or cameras
- G06T7/73—Determining position or orientation of objects or cameras using feature-based methods
-
- 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
- G06V20/584—Recognition of moving objects or obstacles, e.g. vehicles or pedestrians; Recognition of traffic objects, e.g. traffic signs, traffic lights or roads of vehicle lights or traffic lights
-
- G—PHYSICS
- G08—SIGNALLING
- G08G—TRAFFIC CONTROL SYSTEMS
- G08G1/00—Traffic control systems for road vehicles
- G08G1/01—Detecting movement of traffic to be counted or controlled
- G08G1/0104—Measuring and analyzing of parameters relative to traffic conditions
- G08G1/0108—Measuring and analyzing of parameters relative to traffic conditions based on the source of data
- G08G1/0112—Measuring and analyzing of parameters relative to traffic conditions based on the source of data from the vehicle, e.g. floating car data [FCD]
-
- G—PHYSICS
- G08—SIGNALLING
- G08G—TRAFFIC CONTROL SYSTEMS
- G08G1/00—Traffic control systems for road vehicles
- G08G1/01—Detecting movement of traffic to be counted or controlled
- G08G1/0104—Measuring and analyzing of parameters relative to traffic conditions
- G08G1/0125—Traffic data processing
- G08G1/0129—Traffic data processing for creating historical data or processing based on historical data
-
- G—PHYSICS
- G08—SIGNALLING
- G08G—TRAFFIC CONTROL SYSTEMS
- G08G1/00—Traffic control systems for road vehicles
- G08G1/01—Detecting movement of traffic to be counted or controlled
- G08G1/04—Detecting movement of traffic to be counted or controlled using optical or ultrasonic detectors
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W4/00—Services specially adapted for wireless communication networks; Facilities therefor
- H04W4/02—Services making use of location information
- H04W4/023—Services making use of location information using mutual or relative location information between multiple location based services [LBS] targets or of distance thresholds
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W4/00—Services specially adapted for wireless communication networks; Facilities therefor
- H04W4/30—Services specially adapted for particular environments, situations or purposes
- H04W4/40—Services specially adapted for particular environments, situations or purposes for vehicles, e.g. vehicle-to-pedestrians [V2P]
- H04W4/44—Services specially adapted for particular environments, situations or purposes for vehicles, e.g. vehicle-to-pedestrians [V2P] for communication between vehicles and infrastructures, e.g. vehicle-to-cloud [V2C] or vehicle-to-home [V2H]
-
- 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/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
- G06T2207/30252—Vehicle exterior; Vicinity of vehicle
-
- 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
- G06T2207/30252—Vehicle exterior; Vicinity of vehicle
- G06T2207/30261—Obstacle
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W4/00—Services specially adapted for wireless communication networks; Facilities therefor
- H04W4/80—Services using short range communication, e.g. near-field communication [NFC], radio-frequency identification [RFID] or low energy communication
Landscapes
- Engineering & Computer Science (AREA)
- Remote Sensing (AREA)
- Radar, Positioning & Navigation (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Automation & Control Theory (AREA)
- Theoretical Computer Science (AREA)
- Chemical & Material Sciences (AREA)
- Analytical Chemistry (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Signal Processing (AREA)
- Computer Networks & Wireless Communication (AREA)
- Multimedia (AREA)
- Traffic Control Systems (AREA)
- Instructional Devices (AREA)
- Navigation (AREA)
- Control Of Position, Course, Altitude, Or Attitude Of Moving Bodies (AREA)
Abstract
【課題】HDマップ更新情報の車両ベースの判定のためのシステム及び方法を提供する。【解決手段】センサを装備した車両が、車両に対する様々な検出された物体の位置を判定することができる。車両はまた、車両に対する参照物体の位置も判定することができ、そこでは、絶対座標系における参照物体の位置もまた、知られている。様々な検出された物体の絶対座標が、次いで、参照物体の絶対位置及び参照物体に対する他の物体の位置から判定され得る。検出された物体の新しく判定された絶対位置は、次いで、更新するためにHDマップ・サービスに送信され得る。【選択図】図7
Description
本開示の実施例は概して、車両に関する。より詳細には、本開示の実施例は、高解像度マップの車両ベースの更新に関する。
現代の自律型車両は、しばしば、高解像度(HD:high definition)マップを用いて自律型ナビゲーション、進路プランニング、及び障害物の回避などの様々な運転機能を支援する。そのようなHDマップは、通常は、ナビゲーションのために求められるセンチメートル・レベルの精度まで様々な道路関連特徴の位置を説明する。
しかしながら、HDマップを用いる車両は、重大な課題に直面する。道路状態及び物体は-しばしば散発的に-建設工事、自然現象、及び同類のものにより変化するので、HDマップは、定期的に又は頻繁に更新される必要がある。HDマップをセンチメートル・レベルの精度まで更新することは、消費者購入車両における使用に適していない高価な嵩張るシステムである、全球測位衛星システム(GNSS:Global Navigation Satellite Systems)受信機などの高精度位置測定システムの使用を従来は必要とする。したがって、HDマップ更新は、大きなコストを示す、GNSS受信機が装備された特別な車両を必要としており、GNSS受信機の限定された配備-やはりコストが原因の-は、更新の範囲及び頻度を当然ながら抑制する。
代替として、いくつかのHDマップ更新サービスは、物体の相対座標を受け入れている。車両は、車両自体に対する物体の位置又は座標を判定し得、マップ更新サービスは、車両の判定された位置を使用して、世界測地系1984(WGS84)などの絶対値方式での座標にこれらの相対座標を変換し得る。残念ながら、相対座標は、そのようなマップ更新サービスによって広く受け入れられてはいない。
したがって、相対座標ではなく、絶対座標を使用してHDマップを更新するための、システム及び方法について本明細書では説明する。絶対座標は、車両によって計算された相対座標から判定され、これらの絶対座標は、それらが相対座標よりも容易に受け入れられる、HDマップ更新サービスに送信される。車両は、様々な車内サービスを使用して物体の相対位置を判定することができ、相対位置も知られている参照物体の絶対位置を取得することができる。任意の検出された物体の絶対座標が、次いで、参照物体の絶対位置及びそれに対するこれらの他の物体の計算された位置から判定され得る。検出された物体の新しく判定された絶対位置は、次いで、更新するためにHDマップ・サービスに送信され得る。
車両は、任意のタイプの任意の適切なセンサ入力を使用して、物体相対位置を判定することができる。本開示のいくつかの実施例において、カメラ又は他のセンサを装備した自律型車両は、センサ・データから物体相対位置を判定することができる。たとえば、カメラを装備した車両は、それらの視野内の物体の画像をキャプチャすることができ、それらの画像から車両に対するそれらの物体の位置を判定することができる。物体位置はまた、他のセンサ、たとえば、光検出及び測距(LiDAR)データ、超音波若しくは他の近接センサ、又は同類のもの、から判定され得る。
車両はまた、任意の適切な方法又は手法を使用して、物体の相対位置を判定することができる。1つの実例として、車両は、物体の相対位置の複数の異なる推定値を判定することができ、そこで、これらの推定値は、次いで、位置値を判定するためのいくつかの適切な方式で平均値を求められ得る。たとえば、単一の車両は、その物体の相対位置の推定値を毎回判定して、物体を複数回通り過ぎ得る。別の実例として、複数の車両が、同じ物体を通り過ぎ得、各車両は物体の位置推定値を判定する。複数の位置推定値が物体に関して判定されるどのような方式でも、複数の推定値は、次いで、物体の単一の位置値を判定するための何らかの方式で平均値を求められ得る。このようにして、より正確な位置情報が、判定され得、経時的な物体の任意の移動が、考慮され得る。
本開示のいくつかの実施例はまた、HDマップ絶対座標系とは異なるローカル絶対座標系を用いる。このようにして、車両は、このローカル絶対座標系における物体の位置を先ず判定することができ、次いで、ローカル絶対座標位置をHDマップ・サービスに送信する、又はローカル絶対座標をHDマップ絶対座標に変換し、それらの変換された座標をHDマップ・サービスに送ることができる。一実例として、車両は、それらが検出された物体を配置するローカルな、路側マップを維持し得、この路側マップは、遠隔HDマップによって使用される同じ座標系であってもなくてもよい絶対座標系を使用する。すなわち、車両は、それらの判定された相対座標及び道路座標系内の参照物体の位置から、この絶対道路座標系における検出された物体の座標を判定することができる。道路座標系内に配置された物体は、道路座標系におけるそれらの位置をHDマップのグローバル座標系に変換すること及び変換された座標をHDマップ・サービスに次に送ることなどによって、HDマップ・サービスに送信され得る。
本開示の実施例のシステム及び方法は、既に知られている物体位置を確認又は訂正するために用いられ得ることにも留意されたい。すなわち、物体の絶対位置が、判定され得、既に確定した物体位置と比較され得る。新しく判定された位置が、確定した位置と過度に(たとえば、閾値を超えて)異なる場合、確定した位置は、任意の方式で訂正され得る。連続する訂正は、時間とともに物体をより正確に位置付け得る。これは、時間とともに移動し得る路肩物体、たとえば、新しい建設工事によって移動される街灯柱、倒木の大枝、又は同類のもの、の説明に役立ち得る。
したがって、本開示の実施例は、移動中であり得る車両からの物体の絶対座標の判定のためのシステム及び方法を提示する。車両に対する物体の位置は、車両が移動しているときに、車両によって判定され、これらの相対位置は、車両によって検出された及び絶対座標が知られている1つ又は複数の参照物体を使用して、絶対座標に変換される。計算された絶対座標は、次いで、たとえば、HDマップを更新するためのHDマップ・サービスに、送信され得る。
類似の参照記号が類似の部分を参照する、添付の図面と併せて理解される、以下の詳細な説明を考慮するとき、本開示の前述の及び他の目的及び利点が、明らかとなろう。
1つの実施例において、本開示は、HDマップ更新情報の車両ベースの判定のためのシステム及び方法に関する。センサを装備した車両は、車両に対する様々な検出された物体の位置を判定し得る。車両はまた、車両に対する参照物体の位置を判定し得、そこでは、絶対座標系における参照物体の位置もまた知られている。様々な検出された物体の絶対座標が、次いで、参照物体の絶対位置及び参照物体に対する他の物体の位置から判定され得る。検出された物体の新しく判定された絶対位置が、次いで、更新するためにHDマップ・サービスに送信され得る。
図1は、本開示の実施例による、HDマップの車両ベースの更新のための例示的なシステム及び方法を概念的に示す。車両100は、カメラ、並びに1つ又は複数のプロセッサを含むセンサが装備された車両、たとえば、さらに後述する自律型車両400、でもよい。プロセッサは、意味マップの構築及び維持と、意味マップを使用するルート及び進路プランニング、ナビゲーションのための車両の制御、及び物体の検出及び回避などの自律運転機能とを含む、いくつかの機能を実施するようにプログラムされる。車両ナビゲーション及び他の機能における意味マップの構築及び使用についてはさらに後述する。
動作中、車両100は、物体の画像をキャプチャし、車両100に対するそれらの位置を判定し得る。より具体的には、一時停止標識でもよい、物体130は、物体130が車両100の前向きのカメラの視野110内にあるときに、その前向きのカメラによってキャプチャされ得る。同様に、別の物体150、たとえば、街灯、は、物体150が車両100の横向きのカメラの視野120内にあるとき、この横向きのカメラによってキャプチャされ得る。キャプチャされる画像は、本開示のいくつかの実施例において、可視光画像であり得るが、本開示の代替実施例において、カメラは、任意の他の光波長の画像をキャプチャし得る。
車両100は、これらのキャプチャされた画像、並びに必要に応じて他のセンサからこれらの物体130、150の位置及び形状を判定し得る。位置情報は、画像をキャプチャした1つ又は複数のカメラに対する1つ又は複数のキャプチャされた画像における物体の位置を判定するための任意の適切な方式で判定され得る。そのような位置判定方法は、車両100に対する距離及び向きの両方の判定を含む。距離判定は、任意の適切な方法によって、たとえば、それらの物体から反射される信号の飛行時間に従って物体の距離を判定する測距システムを介して、達成され得る。そのようなシステムは、任意の信号、たとえば、LiDARビーム、Radar信号、超音波、無線信号、又は同類のもの、を用い得る。距離判定はまた、キャプチャされた画像を介して、たとえば、1つ又は複数のカメラによって撮られた画像内の物体の三角測量を用いる単眼又はステレオ画像キャプチャ・システムを介して、達成され得る。同様に、向き判定は、任意の適切な方法によって、たとえば、1つ又は複数のカメラのキャプチャされた画像内の基準点から物体の相対的向きを判定する単眼又はステレオ画像キャプチャ・システムによって、達成され得る。
物体130、150などの物体の相対位置が判定された後は、車両100は、それらの絶対位置を判定し得る。具体的には、車両100は、絶対位置が知られている少なくとも1つの参照物体の位置をそれのマップ層のうちの1つ又は複数内に含む意味マップを維持し得る。加えて、車両100は、各画像がキャプチャされる時刻にそれ自体の絶対位置を判定する、たとえば、搭載されたグローバル・ポジショニング・システム(GPS)を介して。物体130、150の絶対位置は、次いで、それらの相対位置、参照物体の絶対位置、及び、たとえば、それのGPS、を介して判定されるものとしての車両100の絶対位置から判定され得る。
一実例として、車両100は、それの位置をGPSを介して判定することができ、それが最近通過した一時停止標識160などの参照物体の絶対位置をそれの意味マップ内に記憶しておくことが可能である。一時停止標識160及び街灯150をキャプチャする1つ又は複数の画像は、次いで、一時停止標識160に対する街灯150の位置を判定するために使用され得る。これらの物体150、160の間のそのような相対距離は、任意の方式で判定され得、キャプチャされた画像から判定されるものとしてのこれらの物体と車両100との間の相対距離、及び各画像がキャプチャされたときの車両100のGPS判定位置からのこの相対距離の判定を含み得る。同様に、これらの物体150、160の間の相対距離は、それの視野内に物体150及び160の両方を含むキャプチャされた画像(又は、その合成画像が物体150、160の両方を含む複数のそのようなキャプチャされた画像)から判定され得る。
参照物体160に対する物体の位置が判定された後は、それらの絶対位置はまた、参照物体160の絶対位置から判定され得る。この方式において、任意の物体の絶対位置は、車両100によって判定され得る。具体的には、街路境界線110(任意の境界線、たとえば、歩道境界線、舗道、車線マーカー、又は同類のもの、でもよい)、横断歩道マーカー140又は他の道路マーカー、或いはカメラ又は任意の他のセンサによって検出可能な任意の他の物体などの物体が、本開示の実施例によって、それらの形状及び位置を判定されてあることが可能である。
車両100は、たとえば、ナビゲーション、において使用するために、路側マップなどのローカルに記憶された意味マップを維持し得る。検出された物体、それらの位置、形状、及び分類は、この路側マップの適切な層に記憶され得る。さらに、様々な時間に、路側マップ内に記憶又は配置された物体は、それらのHDマップを更新するために他のマップ・サービスに送信され得る。この方式において、車両100は、ローカルに記憶された又は他の、任意のHDマップを任意の検出された物体の正確な絶対位置情報で更新し得る。車両100の意味マップは、HDマップ・サービスと同期することによって、すなわち、定期的に又はHDマップ特徴をダウンロードする及びそれらの路側マップ内にそれらを配置する他の時に、維持され得る。たとえば、車両100は、それらのGPS位置の指定の距離内に位置する特徴をダウンロードし得る。特徴の取得は、任意の時間に、たとえば、所定の間隔で、車両始動時に、車両が所定の距離を移動した時点で、又は同類のもの、生じ得る。
本開示のいくつかの実施例による、意味マップ及びそのようなマップを使用し得る例示的な自律型車両(AV)にここで注目する。HD意味マップ及びそれらのセンチメートル・レベルの精度は、周囲の状況のリアルタイムの認識、及びマシン学習駆動の意思決定能力の生成においてAVの役に立つ。意味マップは通常は、それらの機能性を詳細に分析するとき、3つのメイン層を含む:ジオメトリック層、車線ジオメトリ層、及び意味特徴及びマップ・プライア層。
ジオメトリック層、又はベース層、は、より複雑なナビゲーション・システムとされ得る。この層は、恐らく、道路セグメント、交差点、及び相互接続を含む。車線ジオメトリ層は、いくつの車線が存在するか、道路はどの方向に進むか、及び道路はどのように互いに接続しているかに関するデータを含み得る。ジオメトリック層はまた、通常は、AV、又はマッピング能力を有する任意の車両、が意味マップでそれ自体をローカライズする所である。
車線ジオメトリ層、又は中間層、は、通常は、高精度を必要とする。車線ジオメトリ層は、センチメートル・レベルの精度まで、車両の進路を定義することに貢献する特徴を記憶し得る。この中間層は、個々の車線区分線、街路レベル・ルール(たとえば、譲れ、減速、又は注意)及び隣の車の近接などの特徴を含む。ジオメトリック層は、ポイントAからポイントBまでどのように進むかに対処し、一方、車線ジオメトリ層は、安全に目的地に到着するために詳細な進路プランニングを処理する。
意味特徴及びマップ・プライア層、又は最上層は、2つの部分に分けられ得る。この層の意味特徴部分は、AVが正確なナビゲーション決定を行うことができるように、車線ジオメトリ及びジオメトリック層によって提供される情報とともに、それの環境に関するより多くのコンテキストをAVに提供する、交通信号、横断歩道、及び道路標識を含む、環境内の静的な又は実質的に静的な物体に対応する特徴を含み得る。この層のマップ・プライア部分は、ある特定の、観測される行動の相関可能性が予期されるであろうエリアに対処し得る。これは、たとえば、近隣の中学校の近くの午前7時~午前8時及び午後3時~午後4時30分の時間帯に特定の街路を子供たちが横断する可能性を含み得る。マップ・プライアは、マップのソフトウェアへエンコードされ得る。いくつかの実施例において、マップ・プライアは、AVがナビゲーションにおいて人間の行動を効果的に説明するために必要なより微妙な、意思決定能力を表し得る。
深層学習戦略を例示する、畳み込みニューラル・ネットワーク(CNN:convolutional neural network)は、一般に、意味マッピングと使用される。いくつかの実施例において、AVのカメラは、AVが動作するときに、リアルタイムでRGB画像を生み出すことができる。CNNは、より小さいマトリクス、又はカーネルを適用して、RGB画像の画素マトリクスを解析して、畳み込まれたマトリクスを生み出す。カーネルの連続する層は、画像内の物体を分類又は識別するために、CNN、又は他のニューラル・ネットワークの連続する部分によって使用される画像特徴を抽出することができる。
AVは、一般に、意味マップと使用するためにある種のセンサを用いる。これらは、GPSセンサ、慣性計測装置(IMU:inertial measurement unit)、LiDARシステム、可視光カメラ及び同類のものを含み得る。これらのセンサのうちの任意の1つ又は複数は、AVの環境の3D表現を生み出すために用いられ得る。加えて、絶えず更新するための及び意味マップを改良するための道路上の複数のAVとの反復プロセスは、しばしば有用である。そのような構成は、意味マップを記憶するために及び更新するために、中央HD意味マップを維持する及び各AVが安全なネットワークなどの通信媒体を介して継続的に通信する遠隔サーバを用い得る。別法として、又は加えて、各AVに搭載したローカル・ハード・ドライブは、意味マップを記憶及び維持し得る。
図2は、ナビゲーション及びルート・プランニングなどの様々な機能のために自律型車両(AV)において使用されるHD意味マップの機能性を示す。例示的な一実施例において、ベース層としても知られる、ジオメトリック層は、その上にHD意味マップの他の層が構築され得る、道路、車線、及び交差点として描かれ得る。例示的な一実施例において、ベース層は、マップのより基本的な態様を含むことができ、これは、壁203及びバリア204などの特徴を組み込み得る。例示的な一実施例において、車線ジオメトリ-又は中間-層は、自転車専用道路206、車線矢印207、及び車線幅208を含み得る、車線区分線及び街路レベル・ルールに対処し得る。例示的な一実施例において、意味特徴及びマップ・プライア-又は最上-層は、交通信号200、横断歩道201、停止線202、及びポール205、並びにAVがそれの目的地に到達するための最良の進路を計画するときに使用されるリスク又は障害物の可能性(たとえば、歩行者が道路を横断するローカル可能性)などの他の情報を含み得る。一実例として、この交差点が、学校又は犬の公園の近くだった場合、最上層、特にマップ・プライア、は、進路を図表にするときに、それらの位置に特有の可能性を考慮することができる。
図3は、本開示の実施例による、自律型車両と使用するための例示的意味マッピング・システムのブロック図である。例示的な一実施例において、カメラ300及びLiDAR307(使用される場合)は、RGB画像301及び点群306をそれぞれ作成する。いくつかの実施例において、RGB画像は、それらが表示する色の数を決定する、対応する重み、又はビットを有する画素のマトリクスでもよく、点群は、たとえば、物体に反射するLiDARのレーザー、によって生み出される空間内のデータ点のセットである。ニュートラル・ネットワーク、たとえば、畳み込みニューラル・ネットワーク(CNN)、は、画素に関するラベルを含む意味セグメント化302を生成して、前述のように、RGB画像の特徴を抽出するために使用され得る。いくつかの実施例において、特徴は、次いで、識別された物体の位置及び判定された形状(たとえば、点群306又はRGB画像301を介する)が適切な意味マップ層に配置された、意味マッピング305を実行するために、CNN又は他のニューラル・ネットワークを介して識別され得る。これは、2.5D意味グリッド・マップ304、又は更新されたローカル若しくは路側HDマップをもたらし得、それは、車両進路303を計画するためにニューラル・ネットワーク及び他のプロセスによって用いられ得る。
意味マッピング305は、前述のようにAVのローカルに記憶された路側マップを更新するために用いられ得る、及び/又は遠隔で記憶されたHDマップの更新のために送信され得る。この後者の実例において、複数のAVは、遠隔で記憶されたHDマップを更新するために、それらの意味マッピング305を送信し得る。この方式では、中央HDマップは、複数のAVが運転されるときに様々な道路特徴を検出及び判定するそれらのAVによってリアルタイムで維持及び更新され得る。
図4Aは、本開示のいくつかの実施例による、例示的自律型車両400の図である。自律型車両400(或いは、本明細書で「車両400」と称される)は、旅客車両、たとえば、乗用車、トラック、バス、ファースト・レスポンダ車両、シャトル、電気又は原動機付自転車、オートバイ、消防車、警察車両、救急車、ボート、建設車両、潜水艦、ドローン、工場ロボット若しくは個人補助ロボットなどのロボット、ロボット工学プラットフォーム、及び/又は別のタイプの車両(たとえば、無人の及び/又は1人若しくは複数の乗客を乗せた)、を含み得るが、これらに限定されない。自律型車両は、一般に、米国運輸省道路交通安全局(NHTSA:National Highway Traffic Safety Administration)、米国運輸省の部署、及び自動車技術者協会(SAE:Society of Automotive Engineers)「Taxonomy and Definitions for Terms Related to Driving Automation Systems for On-Road Motor Vehicle」(2018年6月15日に公開された規格番号J3016-201806、2016年9月30日に公開された規格番号J3016-201609、及びこの規格の前の及び未来のバージョン)によって定義される、自動化レベルに関して記述される。移動車400は、自律運転レベルのレベル3~レベル5のうちの1つ又は複数による機能の能力を有し得る。たとえば、移動車400は、実施例に応じて、条件付き自動化(レベル3)、高度自動化(レベル4)、及び/又は完全自動化(レベル5)の能力を有し得る。
移動車400は、移動車のシャシ、車体、車輪(たとえば、2、4、6、8、18など)、タイヤ、車軸、及び他の構成要素などの構成要素を含み得る。移動車400は、内部燃焼エンジン、ハイブリッド動力装置、完全な電気式エンジン、及び/又は別の推進システム・タイプなど、推進システム450を含み得る。推進システム450は、移動車400の推進力を有効にするために、トランスミッションを含み得る、移動車400のドライブ・トレインに接続され得る。推進システム450は、スロットル/加速装置452からの信号の受信に応答して制御され得る。
ハンドルを含み得る、ステアリング・システム454は、推進システム450が動作しているときに(たとえば、移動車が移動中のときに)移動車400のかじを取る(たとえば、所望の進路又はルートに沿って)ために使用され得る。ステアリング・システム454は、ステアリング・アクチュエータ456から信号を受信することができる。ハンドルは、完全自動化(レベル5)機能のオプションでもよい。
ブレーキ・センサ・システム446は、ブレーキ・アクチュエータ448及び/又はブレーキ・センサからの信号の受信に応答して移動車ブレーキを動作させるために使用され得る。
1つ又は複数のCPU、システム・オン・チップ(SoC:system on Chip)404(図4C)及び/又はGPUを含み得る、コントローラ436は、移動車400の1つ若しくは複数の構成要素及び/又はシステムに信号(たとえば、コマンドの表現)を提供することができる。たとえば、コントローラは、1つ又は複数のブレーキ・アクチュエータ448を介して移動車ブレーキを動作させるために、1つ又は複数のステアリング・アクチュエータ456を介してステアリング・システム454を動作させるために、及び/又は1つ又は複数のスロットル/加速装置452を介して推進システム450を動作させるために、信号を送ることができる。コントローラ436は、センサ信号を処理する、並びに律的運転を可能にするために及び/又は運転者の移動車400の運転を支援するために動作コマンド(たとえば、コマンドを表す信号)を出力する、1つ又は複数の搭載された(たとえば、統合された)計算デバイス(たとえば、スーパーコンピュータ)を含み得る。コントローラ436は、自律運転機能のための第1のコントローラ436、機能的安全性機能のための第2のコントローラ436、人工知能機能(たとえば、コンピュータ・ビジョン)のための第3のコントローラ436、インフォテインメント機能のための第4のコントローラ436、緊急状態における冗長性のための第5のコントローラ436、及び/又は他のコントローラを含み得る。いくつかの実例では、単一のコントローラ436が、前述の機能のうちの2個以上を処理することができ、2個以上のコントローラ436が、単一の機能、及び/又はその任意の組合せを処理することができる。
コントローラ436は、1つ又は複数のセンサから受信したセンサ・データ(たとえば、センサ入力)に応答して移動車400の1つ若しくは複数の構成要素及び/又はシステムを制御するための信号を提供することができる。センサ・データは、たとえば、そして制限なしに、全地球的航法衛星システム・センサ458(たとえば、グローバル・ポジショニング・システム・センサ)、RADARセンサ460、超音波センサ462、LIDARセンサ464、慣性計測装置(IMU:inertial measurement unit)センサ466(たとえば、加速度計、ジャイロスコープ、磁気コンパス、磁力計など)、マイクロフォン496、ステレオ・カメラ468、ワイドビュー・カメラ470(たとえば、魚眼カメラ)、赤外線カメラ472、サラウンド・カメラ474(たとえば、360度カメラ)、長距離及び/又は中距離カメラ498、スピード・センサ444(たとえば、移動車400のスピードを測定するための)、振動センサ442、ステアリング・センサ440、ブレーキ・センサ446(たとえば、ブレーキ・センサ・システム446の一部としての)、及び/又は他のセンサ・タイプから受信され得る。
コントローラ436のうちの1つ又は複数のコントローラは、移動車400の計器群432から入力(たとえば、入力データによって表される)を受信し、出力(たとえば、出力データ、表示データなどによって表される)をヒューマン・マシン・インターフェース(HMI:human-machine interface)ディスプレイ434、可聴式アナンシエータ、ラウドスピーカ、及び/又は移動車400の他の構成要素を介して提供することができる。出力は、移動車ベロシティ、スピード、時間、マップ・データ(たとえば、図4CのHDマップ422)、位置データ(たとえば、マップ上などの、移動車400の位置)、方向、他の移動車の位置(たとえば、占有グリッド)、コントローラ436によって把握されるものとしての物体及び物体の状況に関する情報などの、情報を含み得る。たとえば、HMIディスプレイ434は、1つ又は複数の物体(たとえば、道路標識、警告標識、交通信号の変化など)の存在、及び/又は移動車が行った、行っている、又は行うであろう運転操作(たとえば、今、車線変更をしていること、3.22km(2マイル)内の出口34Bを出ることなど)に関する情報を表示することができる。
移動車400はさらに、1つ若しくは複数のワイヤレス・アンテナ426及び/又はモデムを使用して1つ若しくは複数のネットワークを介して通信することができるネットワーク・インターフェース424を含む。たとえば、ネットワーク・インターフェース424は、LTE、WCDMA(登録商標)、UMTS、GSM、CDMA2000などを介する通信の能力を有し得る。ワイヤレス・アンテナ426はまた、ブルートゥース(登録商標)、ブルートゥース(登録商標)LE、Z-Wave、ZigBeeなどのローカル・エリア・ネットワーク、及び/又はLoRaWAN、SigFoxなどのロー・パワー・ワイドエリア・ネットワーク(LPWAN:low power wide-area network)を使用し、環境内の物体(たとえば、移動車、モバイル・デバイスなど)の間の通信を可能にすることができる。
図4Bは、本開示のいくつかの実施例による、図4Aの例示的自律型車両400のカメラ位置及び視野の実例である。カメラ及びそれぞれの視野は、1つの例示的実施例であり、制限することは意図されていない。たとえば、追加の及び/又は代替カメラが含まれ得る、及び/又はカメラは移動車400の異なる位置に置かれ得る。
カメラのカメラ・タイプは、移動車400の構成要素及び/又はシステムと使用するようになされ得るデジタル・カメラを含み得るが、これに限定されない。カメラは、自動車安全整合性レベル(ASIL:automotive safety integrity level)Bにおいて及び/又は別のASILにおいて動作することができる。カメラ・タイプは、実施例に応じて、60フレーム/秒(fps)、120fps、240fpsなど、任意の画像キャプチャ・レートの能力を有し得る。カメラは、ロール・シャッタ、グローバル・シャッタ、別のタイプのシャッタ、又はその組合せを使用する能力を有し得る。いくつかの実例では、カラー・フィルタ・アレイは、RCCC(red clear clear clear)カラー・フィルタ・アレイ、RCCB(red clear clear blue)カラー・フィルタ・アレイ、RBGC(red blue green clear)カラー・フィルタ・アレイ、Foveon X3カラー・フィルタ・アレイ、Bayerセンサ(RGGB)カラー・フィルタ・アレイ、モノクロ・センサ・カラー・フィルタ・アレイ、及び/又は別のタイプのカラー・フィルタ・アレイを含み得る。一部の実施例では、RCCC、RCCB、及び/又はRBGCカラー・フィルタ・アレイを有するカメラなどのクリア画素カメラは、光感度を上げるための取り組みにおいて使用され得る。
いくつかの実例では、カメラのうちの1つ又は複数が、高度運転者支援システム(ADAS:advanced driver assistance system)機能(たとえば、冗長又はフェイルセーフ設計の一部として)を実行するために使用され得る。たとえば、多機能モノ・カメラは、車線逸脱警報、交通標識アシスト及びインテリジェント・ヘッドランプ制御を含む機能を提供するために設置され得る。カメラのうちの1つ又は複数(たとえば、すべてのカメラ)が、画像データ(たとえば、ビデオ)を同時に記録及び提供することができる。
カメラのうちの1つ又は複数は、カメラの画像データ・キャプチャ能力を妨げることがある自動車内からの迷光及び反射(たとえば、フロントガラスのミラーにおいて反射されたダッシュボードからの反射)を取り除くために、カスタム設計された(3D印刷された)部品などの取付部品において取り付けられ得る。サイドミラー取付部品を参照すると、サイドミラー部品は、カメラ取付板がサイドミラーの形状に合うように、カスタム3D印刷され得る。いくつかの実例では、カメラは、サイドミラー内に統合され得る。サイドビュー・カメラについては、カメラはまた、キャビンの各角にある4個の支柱内に統合され得る。
移動車400の前の環境の部分を含む視野を有するカメラ(たとえば、前向きのカメラ)は、前向きの進路及び障害物の識別を助け、1つ若しくは複数のコントローラ436及び/又は制御SoCの助けにより、占有グリッドの生成及び/又は好ましい移動車進路の決定に不可欠な情報の提供の提供を助けるための、サラウンド・ビューのために使用され得る。前向きのカメラは、緊急ブレーキ、歩行者検出、及び衝突回避を含む、LIDARと同じADAS機能の多くを実行するために使用され得る。前向きのカメラはまた、車線逸脱警報(LDW(Lane Departure Warning))、自律的クルーズ制御(ACC(Autonomous Cruise Control))、及び/又は交通標識認識などの他の機能を含むADAS機能及びシステムのために使用され得る。
様々なカメラが、たとえば、CMOS(complementary metal oxide semiconductor)カラー画像化装置を含む単眼カメラ・プラットフォームを含む、前向きの構成において使用され得る。別の実例は、周辺(たとえば、歩行者、交差する交通又は自転車)からのビューに入る物体を把握するために使用され得るワイドビュー・カメラ470でもよい。図4Bにはワイドビュー・カメラは1つだけ示されているが、移動車400には任意の数のワイドビュー・カメラ470が存在し得る。加えて、長距離カメラ498(たとえば、ロングビュー・ステレオ・カメラ・ペア)が、特に、ニューラル・ネットワークがまだトレーニングされていない物体について、深度ベースの物体検出のために使用され得る。長距離カメラ498はまた、物体検出及び分類、並びに基本物体追跡のために使用され得る。
1つ又は複数のステレオ・カメラ468もまた、前向きの構成に含まれ得る。ステレオ・カメラ468は、単一のチップ上に統合されたCAN又はイーサネット(登録商標)・インターフェースを有するプログラマブル論理(たとえば、FPGA)及びマルチコア・マイクロプロセッサを提供し得る、拡張可能な処理ユニットを備えた統合された制御ユニットを含み得る。そのようなユニットは、画像内のすべてのポイントの距離推定値を含む、移動車の環境の3Dマップを生成するために使用され得る。代替ステレオ・カメラ468は、2個のカメラ・レンズ(左と右に1つずつ)と、移動車から対象物体までの距離を測定する及び生成された情報(たとえば、メタデータ)を使用して自律的緊急ブレーキ及び車線逸脱警報機能をアクティブにすることができる画像処理チップとを含み得る、コンパクト・ステレオ・ビジョン・センサを含み得る。他のタイプのステレオ・カメラ468が、本明細書に記載のものに加えて、又はそれらの代わりに、使用されてもよい。
移動車400の側面に対する環境の部分を含む視野を有するカメラ(たとえば、サイドビュー・カメラ)が、占有グリッドを作成及び更新するために並びに側面衝撃衝突警報を生成するために使用される情報を提供する、サラウンド・ビューのために使用され得る。たとえば、サラウンド・カメラ474(たとえば、図4Bに示されるような4個のサラウンド・カメラ474)は、移動車400の周りに位置付けられ得る。サラウンド・カメラ474は、ワイドビュー・カメラ470、魚眼カメラ、360度カメラ、及び/又は同類のものを含み得る。たとえば、4個の魚眼カメラが、移動車の前、後ろ、及び側面に配置され得る。代替配置において、移動車は、3個のサラウンド・カメラ474(たとえば、左、右、及び後部)を使用してもよく、第4のサラウンド・ビュー・カメラとして1つ又は複数の他のカメラ(たとえば、前向きのカメラ)を活用してもよい。
移動車400の後ろに対する環境の部分を含む視野を有するカメラ(たとえば、後方確認カメラ)が、駐車支援、サラウンド・ビュー、後部衝突警報、並びに占有グリッドの作成及び更新のために使用され得る。本明細書に記載のように、前向きのカメラ(たとえば、長距離及び/又は中距離カメラ498、ステレオ・カメラ468)、赤外線カメラ472など)としても適したカメラを含むがこれらに限定されない、多種多様なカメラが使用され得る。
車両400の内部又はキャビンの部分を含む視界を有するカメラは、キャビン内の運転者、乗客、又は物体の1つ又は複数の状態をモニタするために使用され得る。本明細書に記載の任意のタイプのカメラでもよい、及び車両400上又は内のどこかに配置され得、車両400のキャビン若しくは内部のビューを提供する、キャビン・カメラ441を含むが、これに限定されない、任意のタイプのカメラが、使用され得る。たとえば、キャビン・カメラ441は、車両400ダッシュボード、リア・ビュー・ミラー、サイド・ビュー・ミラー、シート、又はドアの何らかの部分内又は上に配置され得、車両400の任意の運転者、乗客、又は任意の他の物体若しくは部分の画像をキャプチャするように方向付けられ得る。
図4Cは、本開示のいくつかの実施例による、図4Aの例示的自律型車両400の例示的システム・アーキテクチャのブロック図である。本明細書に記載されているこの及び他の配置は単に実例として説明されていることを理解されたい。他の配置及び要素(たとえば、マシン、インターフェース、機能、順番、機能のグループ分けなど)が、示されたものに加えて又はこれらに代わって使用されてもよく、いくつかの要素はともに除外されてもよい。さらに、本明細書に記載の要素の多くは、個別の又は分散された構成要素として又は他の構成要素と併せて、並びに任意の適切な組合せ及び場所において、実装され得る機能エンティティである。エンティティによって実行されるものとして本明細書に記載された様々な機能は、ハードウェア、ファームウェア、及び/又はソフトウェアによって実施され得る。たとえば、様々な機能が、メモリに記憶された命令を実行するプロセッサによって実施され得る。
図4Cの移動車400の構成要素、特徴、及びシステムのそれぞれは、バス402を介して接続されるものとして図示されている。バス402は、コントローラ・エリア・ネットワーク(CAN)データ・インターフェース(或いは、「CANバス」と称される)を含み得る。CANは、ブレーキ、加速度、ブレーキ、ステアリング、フロント・ガラス・ワイパなどの作動など、移動車400の様々な特徴及び機能の制御を助けるために使用される移動車400内のネットワークでもよい。CANバスは、それぞれが独自の一意の識別子(たとえば、CAN ID)を有する、数ダース又は数百ものノードを有するように構成され得る。CANバスは、ハンドル角度、対地速度、1分間のエンジン回転(RPM:revolutions per minute)、ボタン位置、及び/又は他の移動車状況指標を見つけるために読み取られ得る。CANバスは、ASIL B準拠でもよい。
バス402は、CANバスであるものとして本明細書に記載されているが、これは制限することを意図されていない。たとえば、CANバスに加えて、又はこのその代替として、FlexRay及び/又はイーサネット(登録商標)が使用されてもよい。加えて、単一の線が、バス402を表すために使用されているが、これは制限することを意図されていない。たとえば、1つ若しくは複数のCANバス、1つ若しくは複数のFlexRayバス、1つ若しくは複数のイーサネット(登録商標)・バス、及び/又は異なるプロトコルを使用する1つ若しくは複数の他のタイプのバスを含み得る、任意の数のバス402が存在し得る。いくつかの実例では、2個以上のバス402が、異なる機能を実行するために使用され得る、及び/又は冗長性のために使用され得る。たとえば、第1のバス402は衝突回避機能のために使用されてもよく、第2のバス402は作動制御のために使用されてもよい。任意の実例において、各バス402は、移動車400の構成要素のいずれかと通信し得、2個以上のバス402が同じ構成要素と通信し得る。いくつかの実例では、移動車内の各SoC404、各コントローラ436、及び/又は各コンピュータは、同じ入力データ(たとえば、移動車400のセンサからの入力)へのアクセスを有し得、CANバスなどの共通バスに接続され得る。
移動車400は、図4Aに関して本明細書で説明されるものなど、1つ又は複数のコントローラ436を含み得る。コントローラ436は、様々な機能のために使用され得る。コントローラ436は、移動車400の様々な他の構成要素及びシステムのいずれかに連結されてもよく、移動車400、移動車400の人工知能、移動車400のためのインフォテインメント、及び/又は同類のものの制御のために使用され得る。
移動車400は、システム・オン・チップ(SoC)404を含み得る。SoC404は、CPU406、GPU408、プロセッサ410、キャッシュ412、加速装置414、データ・ストア416、及び/又は図示されていない他の構成要素及び特徴を含み得る。SoC404は、様々なプラットフォーム及びシステム内の移動車400を制御するために使用され得る。たとえば、SoC404は、1つ又は複数のサーバ(たとえば、図4Dのサーバ478)からネットワーク・インターフェース424を介してマップのリフレッシュ及び/又は更新を取得することができるHDマップ422を有するシステム(たとえば、移動車400のシステム)において結合され得る。
CPU406は、CPUクラスタ又はCPU複合体(或いは、「CCPLEX」とも称される)を含み得る。CPU406は、複数のコア及び/又はL2キャッシュを含み得る。たとえば、一部の実施例では、CPU406は、コヒーレント・マルチプロセッサ構成内の8個のコアを含み得る。一部の実施例では、CPU406は、4個のデュアルコア・クラスタを含むことができ、各クラスタが専用のL2キャッシュ(たとえば、2MBL2キャッシュ)を有する。CPU406(たとえば、CCPLEX)は、CPU406のクラスタの任意の組合せが任意の所与の時間にアクティブになることを可能にする同時クラスタ動作をサポートするように構成され得る。
CPU406は、以下の特徴のうちの1つ又は複数を含む電力管理能力を実装することができる:個別ハードウェア・ブロックが、動的電力を節約するためにアイドル状態のときに自動的にクロック・ゲーティングされ得る、各コア・クロックは、WFI/WFE命令の実行により命令をコアがアクティブに実行していないときにゲーティングされ得る、各コアは、独立してパワー・ゲーティングされ得る、各コア・クラスタは、すべてのコアがクロック・ゲーティングされる若しくはパワー・ゲーティングされるときに、独立してクロック・ゲーティングされ得る、及び/又は、各コア・クラスタは、すべてのコアがパワー・ゲーティングされるときに、独立してパワー・ゲーティングされ得る。CPU406は、電力状態を管理するための強化されたアルゴリズムをさらに実装することができ、そこでは、許容される電力状態及び予想されるウェイクアップ時間が指定され、ハードウェア/マイクロ・コードが、コア、クラスタ、及びCCPLEXに入力するための最良の電力状態を決定する。処理コアは、作業がマイクロ・コードにオフロードされたソフトウェアにおける簡略化された電力状態入力シーケンスをサポートすることができる。
GPU408は、統合されたGPU(或いは本明細書において「iGPU」と称される)を含み得る。GPU408は、プログラマブルになり得、並行のワークロードに効率的になり得る。一部の実例では、GPU408は、強化されたテンソル命令セットを使用することができる。GPU408は、1つ又は複数のストリーミング・マイクロプロセッサを含み得、そこで、各ストリーミング・マイクロプロセッサは、L1キャッシュ(たとえば、少なくとも96KB記憶容量を有するL1キャッシュ)を含み得、ストリーミング・マイクロプロセッサのうちの2個以上が、キャッシュ(たとえば、512KB記憶容量を有するL2キャッシュ)を共用し得る。一部の実施例では、GPU408は、少なくとも8個のストリーミング・マイクロプロセッサを含み得る。GPU408は、コンピュータ・ベースのアプリケーション・プログラミング・インターフェース(API)を使用することができる。加えて、GPU408は、1つ若しくは複数の並行のコンピューティング・プラットフォーム及び/又はプログラミング・モデル(たとえば、NVIDIAのCUDA)を使用することができる。
GPU408は、自動車の及び組み込まれた使用事例における最高のパフォーマンスのために電力最適化され得る。たとえば、GPU408は、FinFET(Fin field-effect transistor)上に製造され得る。しかしながら、これは制限することを意図されておらず、GPU408は、他の半導体製造プロセスを使用し、製造され得る。各ストリーミング・マイクロプロセッサは、複数のブロックに区切られたいくつかの混合精度処理コアを組み込むことができる。限定ではなく、たとえば、64 PF32コア及び32 PF64コアは、4個の処理ブロックに区切られてもよい。そのような実例では、各処理ブロックは、16 FP32コア、8 FP64コア、16 INT32コア、深層学習行列演算のための2個の混合精度NVIDIAテンソル・コア、L0命令キャッシュ、ワープ・スケジューラ、発送ユニット、及び/又は64KBレジスタ・ファイルを割り当てられ得る。加えて、ストリーミング・マイクロプロセッサは、計算及びアドレス指定演算の混合を有するワークロードの効率的な実行を提供するための独立した並行の整数及び浮動小数点データ進路を含み得る。ストリーミング・マイクロプロセッサは、並行スレッドの間のより高い細粒度の同期及び連携を可能にするために、独立したスレッド・スケジューリング能力を含み得る。ストリーミング・マイクロプロセッサは、プログラミングを単純化しつつ性能を向上させるために、結合されたL1データ・キャッシュ及び共用メモリ・ユニットを含み得る。
GPU408は、一部の実例では、900GB/秒のピーク・メモリ帯域幅に関して、提供するための高帯域幅メモリ(HBM:high bandwidth memory)及び/又は16GBHBM2メモリ・サブシステムを含み得る。いくつかの実例では、HBMメモリに加えて、又はこれの代わりに、グラフィックス・ダブル・データ・レート・タイプ5同期ランダム・アクセス・メモリ(GDDR5:graphics double data rate type five synchronous random-access memory)などの同期グラフィックス・ランダム・アクセス・メモリ(SGRAM:synchronous graphics random-access memory)が使用され得る。
GPU408は、メモリ・ページに最も頻繁にアクセスするプロセッサへのそれらのメモリ・ページのより正確な移動を可能にするためにアクセス・カウンタを含む統一されたメモリ技術を含むことができ、それにより、プロセッサ間で共用される記憶範囲の効率を向上させる。いくつかの実例では、アドレス変換サービス(ATS:address translation service)サポートが、GPU408がCPU406ページ・テーブルに直接アクセスすることを可能にするために使用され得る。そのような実例では、GPU408メモリ管理ユニット(MMU:memory management unit)がミスを経験するとき、アドレス変換要求が、CPU406に送信され得る。応答して、CPU406は、アドレスの仮想対現実マッピングのためのそのページ・テーブルを調べることができ、GPU408に変換を送り返す。そのようなものとして、統一されたメモリ技術は、CPU406とGPU408との両方のメモリの単一統一仮想アドレス空間を可能にすることができ、それによりGPU408へのアプリケーションのGPU408プログラミング及び移植を単純化する。
加えて、GPU408は、他のプロセッサのメモリへのGPU408のアクセスの頻度を記録することができるアクセス・カウンタを含み得る。アクセス・カウンタは、メモリ・ページが最も頻繁にそのページにアクセスしているプロセッサの物理メモリに移動されることを確実にするのを助けることができる。
SoC404は、本明細書に記載のものを含む任意の数のキャッシュ412を含み得る。たとえば、キャッシュ412は、CPU406とGPU408との両方に利用可能な(たとえば、CPU406とGPU408との両方に接続された)L3キャッシュを含み得る。キャッシュ412は、キャッシュ・コヒーレンス・プロトコル(たとえば、MEI、MESI、MSIなど)を使用することなどによって、線の状態を記録することができるライトバック・キャッシュを含み得る。L3キャッシュは、より小さいキャッシュ・サイズが使用されてもよいが、実施例に応じて、4MB以上を含み得る。
SoC404は、車両400の様々なタスク又は動作のいずれか(たとえば、処理DNN)に関して処理を実行する際に活用され得る論理演算ユニット(ALU:arithmetic logic unit)を含み得る。加えて、SoC404は、システム内で数学演算を実行するための浮動小数点演算ユニット(FPU:floating point unit)(又は他のマス・コプロセッサ又は数値演算コプロセッサ・タイプ)を含み得る。たとえば、SoC104は、CPU406及び/又はGPU408内の実行ユニットとして統合された1つ又は複数のFPUを含み得る。
SoC404は、1つ又は複数の加速装置414(たとえば、ハードウェア・加速装置、ソフトウェア・加速装置、又はその組合せ)を含み得る。たとえば、SoC404は、最適化されたハードウェア加速装置及び/又は大きなオンチップ・メモリを含み得る、ハードウェア加速クラスタを含み得る。大きなオンチップメモリ(たとえば、4MBのSRAM)は、ハードウェア加速クラスタがニューラル・ネットワーク及び他の演算を加速することを可能にし得る。ハードウェア加速クラスタは、GPU408を補完するために及びGPU408のタスクの一部をオフロードするために(たとえば、他のタスクを実行するためのGPU408のより多くのサイクルを解放するために)使用され得る。一実例として、加速装置414は、加速に適するように十分に安定している対象ワークロード(たとえば、知覚、畳み込みニューラル・ネットワーク(CNN:convolutional neural network)など)のために使用され得る。本明細書では、「CNN」という用語は、領域ベースの又は領域的畳み込みニューラル・ネットワーク(RCNN:regional convolutional neural network)及び高速RCNN(たとえば、物体検出のために使用されるものとしての)を含む、すべてのタイプのCNNを含み得る。
加速装置414(たとえば、ハードウェア加速クラスタ)は、深層学習加速装置(DLA:deep learning accelerator)を含み得る。DLAは、深層学習アプリケーション及び推論のために1秒あたり追加の10兆の動作を提供するように構成することができる1つ又は複数のテンソル処理ユニット(TPU:Tensor processing unit)を含み得る。TPUは、画像処理機能(たとえば、CNN、RCNNなどの)を実行するように構成及び最適化された加速装置でもよい。DLAはさらに、特定のセットのニューラル・ネットワーク・タイプ及び浮動小数点演算、並びに推論のために最適化され得る。DLAの設計は、汎用GPUよりも1ミリメートルあたりより多くのパフォーマンスを提供することができ、CPUのパフォーマンスを大きく超える。TPUは、たとえば、特徴と重みとの両方についてINT8、INT16、及びFP16データ・タイプをサポートする、単一インスタンス畳み込み機能、並びにポストプロセッサ機能を含む、いくつかの機能を実行することができる。
DLAは、以下を含むがこれらに限定されない、様々な機能のいずれかのために処理済み又は未処理のデータでニューラル・ネットワーク、特にCNN、を迅速に及び効率的に実行することができる:カメラ・センサからのデータを使用する物体識別及び検出のためのCNN、カメラ・センサからのデータを使用する距離推定のためのCNN、マイクロフォンからのデータを使用する緊急車両検出及び識別及び検出のためのCNN、カメラ・センサからのデータを使用する顔認識及び移動車所有者識別のためのCNN、及び/又は、セキュリティ及び/又は安全性関連イベントのためのCNN。
DLAは、GPU408の任意の機能を実行することができ、そして、推論加速装置を使用することによって、たとえば、設計者は、任意の機能のためにDLA又はGPU408のいずれかを対象にすることができる。たとえば、設計者は、DLA上のCNN及び浮動小数点演算の処理に重点的に取り組み、他の機能をGPU408及び/又は他の加速装置414に任せることができる。
加速装置414(たとえば、ハードウェア加速クラスタ)は、或いはコンピュータ・ビジョン加速装置と本明細書で称され得るプログラマブル・ビジョン加速装置(PVA:programmable vision accelerator)を含み得る。PVAは、高度運転者支援システム(ADAS:advanced driver assistance system)、自律運転、及び/又は拡張現実(AR:augmented reality)及び/又は仮想現実(VR:virtual reality)アプリケーションのためのコンピュータ・ビジョン・アルゴリズムを加速するように設計及び構成され得る。PVAは、パフォーマンスと柔軟性との間のバランスをもたらすことができる。たとえば、各PVAは、たとえば、任意の数の縮小命令セット・コンピュータ(RISC:reduced instruction set computer)コア、直接メモリ・アクセス(DMA:direct memory access)、及び/又は任意の数のベクトル・プロセッサを含み得るが、これらに限定されない。
RISCコアは、画像センサ(たとえば、本明細書に記載のカメラのうちのいずれかのカメラの画像センサ)、画像信号プロセッサ、及び/又は同類のものと相互作用することができる。それぞれのRISCコアは、任意の量のメモリを含み得る。RISCコアは、実施例に応じて、いくつかのプロトコルのいずれかを使用することができる。いくつかの実例では、RISCコアは、リアルタイム・オペレーティング・システム(RTOS:real-time operating system)を実行することができる。RISCコアは、1つ若しくは複数の集積回路デバイス、特定用途向け集積回路(ASIC)、及び/又はメモリ・デバイスを使用して、実装され得る。たとえば、RISCコアは、命令キャッシュ及び/又はしっかりと結合されたRAMを含み得る。
DMAは、CPU406から独立したシステム・メモリにPVAの構成要素がアクセスすることを可能にし得る。DMAは、多次元アドレス指定及び/又は循環アドレス指定をサポートすることを含むがこれに限定されないPVAに最適化をもたらすために使用される任意の数の特徴をサポートすることができる。いくつかの実例では、DMAは、ブロック幅、ブロック高さ、ブロック深度、水平ブロック・ステッピング、垂直ブロック・ステッピング、及び/又は深度ステッピングを含み得る、6次元まで又はそれ以上のアドレス指定をサポートすることができる。
ベクトル・プロセッサは、コンピュータ・ビジョン・アルゴリズムのプログラミングを効率的に柔軟に実行する及び信号処理能力を提供するように設計され得るプログラマブル・プロセッサでもよい。いくつかの実例では、PVAは、PVAコア及び2個のベクトル処理サブシステム・パーティションを含み得る。PVAコアは、プロセッサ・サブシステム、DMAエンジン(たとえば、2個のDMAエンジン)、及び/又は他の周辺装置を含み得る。ベクトル処理サブシステムは、PVAの1次的処理エンジンとして動作することができ、ベクトル処理ユニット(VPU:vector processing unit)、命令キャッシュ、及び/又はベクトル・メモリ(たとえば、VMEM)を含み得る。VPUコアは、たとえば、単一の命令、複数のデータ(SIMD)、超長命令語(VLIW:very long instruction word)デジタル信号プロセッサなど、デジタル信号プロセッサを含み得る。SIMD及びVLIWの組合せは、スループット及びスピードを高めることができる。
それぞれのベクトル・プロセッサは、命令キャッシュを含み得、専用のメモリに連結され得る。結果として、一部の実例では、それぞれのベクトル・プロセッサは、他のベクトル・プロセッサから独立して実行するように構成され得る。他の実例において、特定のPVAに含まれるベクトル・プロセッサは、データ並列処理を用いるように構成され得る。たとえば、一部の実施例では、単一のPVAに含まれる複数のベクトル・プロセッサは、同じコンピュータ・ビジョン・アルゴリズムを、しかし画像の異なる領域上で、実行することができる。他の実例において、特定のPVAに含まれるベクトル・プロセッサは、異なるコンピュータ・ビジョン・アルゴリズムを、同じ画像上で、同時に実行することができ、或いは順次画像又は画像の部分で異なるアルゴリズムを実行することさえできる。特に、任意の数のPVAは、ハードウェア加速クラスタに含まれ得、任意の数のベクトル・プロセッサは、それぞれのPVAに含まれ得る。加えて、PVAは、全体的システム安全性を高めるために、追加のエラー訂正コード(ECC:error correcting code)メモリを含み得る。
加速装置414(たとえば、ハードウェア加速クラスタ)は、加速装置414のための高帯域幅、低レイテンシSRAMを提供するための、コンピュータ・ビジョン・ネットワーク・オンチップ及びSRAMを含み得る。いくつかの実例では、オンチップ・メモリは、たとえば、そして制限ではなく、PVAとDLAとの両方によってアクセス可能でもよい、8個のフィールド構成可能なメモリ・ブロックから成る、少なくとも4MBのSRAMを含み得る。各ペアのメモリ・ブロックは、高度周辺バス(APB:advanced peripheral bus)インターフェース、構成回路、コントローラ、及びマルチプレクサを含み得る。任意のタイプのメモリが、使用され得る。PVA及びDLAは、メモリへの高速アクセスを有するPVA及びDLAを提供するバックボーンを介してメモリにアクセスすることができる。バックボーンは、(たとえば、APBを使用して)PVA及びDLAをメモリに相互接続するコンピュータ・ビジョン・ネットワーク・オンチップを含み得る。
コンピュータ・ビジョン・ネットワーク・オンチップは、PVAとDLAとの両方が作動可能及び有効信号を提供することを、任意の制御信号/アドレス/データの送信の前に、決定するインターフェースを含み得る。そのようなインターフェースは、制御信号/アドレス/データを送信するための別個のフェーズ及び別個のチャネル、並びに連続的データ転送のためのバーストタイプの通信を提供することができる。このタイプのインターフェースは、ISO26262又はIEC61508規格に従うことができるが、他の規格及びプロトコルが使用されてもよい。
いくつかの実例では、SoC404は、2018年8月10日に出願された米国特許出願第16/101,232号に記載されるような、リアルタイム・レイトレーシング・ハードウェア加速装置を含み得る。リアルタイム・レイトレーシング・ハードウェア加速装置は、RADAR信号解釈のための、音響伝播合成及び/又は分析のための、SONARシステムのシミュレーションのための、一般波伝播シミュレーションのための、ローカリゼーション及び/又は他の機能を目的とするLIDARデータに対する比較のための、及び/又は他の使用のための、リアルタイム視覚化シミュレーションを生成するために、(たとえば、世界モデル内の)物体の位置及び規模を迅速に効率的に決定するために使用され得る。一部の実施例では、1つ又は複数の木の走査ユニット(TTU:tree traversal unit)が、1つ又は複数のレイトレーシング関連動作を実行するために使用され得る。
加速装置414(たとえば、ハードウェア加速装置クラスタ)は、自律運転のための多様な用途を有する。PVAは、ADAS及び自律型車両における極めて重要な処理段階に使用され得るプログラマブル・ビジョン加速装置でもよい。PVAの能力は、低電力及び低レイテンシにおいて、予測可能な処理を必要とするアルゴリズムの領域にふさわしい。言い換えれば、PVAは、低レイテンシ及び低電力とともに予測可能な実行時間を必要とする、小さなデータ集合上でも、半高密度の又は高密度の通常の計算で上手く機能する。それ故に、PVAは、物体検出及び整数計算での動作において効率的であるので、自律型車両のためのプラットフォームとの関連で、PVAは、クラシック・コンピュータ・ビジョン・アルゴリズムを実行するように設計される。
たとえば、本技術の1つの実施例によれば、PVAは、コンピュータ・ステレオ・ビジョンを実行するために使用される。半グローバルなマッチングベースのアルゴリズムが、一部の実例では使用され得るが、これは制限することを意図されていない。レベル3~5の自律運転のための多数のアプリケーションは、動き推定/ステレオ・マッチング・オンザフライ(たとえば、SFM(structure from motion)、歩行者認識、レーン検出など)を必要とする。PVAは、2個の単眼カメラからの入力でコンピュータ・ステレオ・ビジョン機能を実行することができる。
いくつかの実例では、PVAは、高密度のオプティカル・フローを実行するために使用され得る。たとえば、PVAは、次のRADARパルスを発する前に処理済みのRADAR信号を提供するために、未加工のRADARデータを処理する(たとえば、4D高速フーリエ変換を使用)ために使用され得る。他の実例において、PVAは、たとえば、飛行データの未加工の時間を処理して飛行データの処理済み時間を提供することにより、飛行深度処理の時間に使用される。
DLAは、たとえば、各物体検出の信頼性の測定値を出力するニューラル・ネットワークを含む、制御及び運転安全性を強化するために任意のタイプのネットワークを実行するために使用され得る。そのような信頼性値は、確率として、又は他の検出と比較した各検出の相対的「重み」を提供するものとして、解釈され得る。この信頼性値は、どの検出が誤判定検出ではなくて真陽性検出と考えられるべきであるかに関するさらなる決定をシステムが行うことを可能にする。たとえば、システムは、信頼性の閾値を設定し、真陽性検出としての閾値を超える検出のみを考慮することができる。自動非常ブレーキ(AEB:automatic emergency braking)システムにおいて、誤判定検出は、移動車に非常ブレーキを自動で実行させることになり、これは明らかに望ましくない。したがって、最も確信のある検出のみが、AEBのトリガとして考えられるべきである。DLAは、信頼性値を退行するニューラル・ネットワークを実行し得る。ニューラル・ネットワークは、境界ボックス次元、(たとえば、別のサブシステムから)取得されたグラウンド・プレーン推定、ニューラル・ネットワーク及び/又は他のセンサ(たとえば、LIDARセンサ464又はRADARセンサ460)から取得された物体の移動車400方位、距離、3D位置推定と相関する慣性計測装置(IMU:inertial measurement unit)センサ466出力、その他など、少なくともいくつかのサブセットのパラメータをその入力として受け取ることができる。
SoC404は、データ・ストア416(たとえば、メモリ)を含み得る。データ・ストア416は、SoC404のオンチップ・メモリでもよく、GPU及び/又はDLAで実行されることになるニューラル・ネットワークを記憶することができる。いくつかの実例では、データ・ストア416は、冗長性及び安全性のためにニューラル・ネットワークの複数のインスタンスを記憶するのに十分な大きさの容量を有し得る。データ・ストア416は、L2又はL3キャッシュ412を備え得る。データ・ストア416の参照は、本明細書に記載のような、PVA、DLA、及び/又は他の加速装置414に関連するメモリの参照を含み得る。
SoC404は、1つ又は複数のプロセッサ410(たとえば、組み込まれたプロセッサ)を含み得る。プロセッサ410は、ブート電力及び管理能力及び関連するセキュリティ施行を処理するための専用のプロセッサ及びサブシステムでもよいブート及び電力管理プロセッサを含み得る。ブート及び電力管理プロセッサは、SoC404ブート・シーケンスの一部でもよく、実行時間電力管理サービスを提供することができる。ブート電力及び管理プロセッサは、クロック及び電圧プログラミング、システム低電力状態移行の支援、SoC404熱及び温度センサの管理、及び/又はSoC404電力状態の管理を提供することができる。各温度センサは、その出力頻度が温度に比例するリング発振器として実装されてもよく、SoC404は、リング発振器を使用してCPU406、GPU408、及び/又は加速装置414の温度を検出することができる。温度が、閾値を超えたと判定された場合、ブート及び電力管理プロセッサは、温度障害ルーティンに入り、SoC404をより低い電力状態に置く及び/又は移動車400をショーファーの安全停止モードにする(たとえば、移動車400を安全停止させる)ことができる。
プロセッサ410は、オーディオ処理エンジンの機能を果たし得る1セットの組み込まれたプロセッサをさらに含み得る。オーディオ処理エンジンは、複数のインターフェースを介するマルチチャネル・オーディオの完全なハードウェア・サポートとオーディオI/Oインターフェースの広く柔軟な範囲とを可能にするオーディオ・サブシステムでもよい。いくつかの実例では、オーディオ処理エンジンは、専用のRAMを有するデジタル信号プロセッサを有する専用のプロセッサ・コアである。
プロセッサ410は、低電力センサ管理及びウェイク使用事例をサポートするための必要なハードウェア特徴を提供することができる常時オンのプロセッサ・エンジンをさらに含み得る。常時オンのプロセッサ・エンジンは、プロセッサ・コア、しっかりと結合されたRAM、支援周辺装置(たとえば、タイマ及び割り込みコントローラ)、様々なI/Oコントローラ周辺装置、及びルーティング論理を含み得る。
プロセッサ410は、自動車のアプリケーションの安全性管理を処理するために専用のプロセッサ・サブシステムを含む安全性クラスタ・エンジンをさらに含み得る。安全性クラスタ・エンジンは、2個以上のプロセッサ・コア、しっかりと結合されたRAM、サポート周辺装置(たとえば、タイマ、割り込みコントローラなど)、及び/又はルーティング論理を含み得る。安全性モードにおいて、2個以上のコアは、ロックステップ・モードにおいて動作し、それらの動作の間の何らかの差を検出するための比較論理を有する単一のコアとして機能することができる。
プロセッサ410は、リアルタイム・カメラ管理を処理するための専用のプロセッサ・サブシステムを含み得るリアルタイム・カメラ・エンジンをさらに含み得る。
プロセッサ410は、カメラ処理パイプラインの一部であるハードウェア・エンジンである画像信号プロセッサを含み得る高ダイナミック・レンジ信号プロセッサをさらに含み得る。
プロセッサ410は、プレイヤ・ウインドウのための最終的画像を生み出すためにビデオ再生アプリケーションによって必要とされるビデオ処理後機能を実装する処理ブロック(たとえば、マイクロプロセッサに実装された)でもよいビデオ画像合成器を含み得る。ビデオ画像合成器は、ワイドビュー・カメラ470で、サラウンド・カメラ474で、及び/又はキャビン内監視カメラ・センサでレンズ歪み補正を実行することができる。キャビン内監視カメラ・センサは好ましくは、キャビン内イベントを識別し、適切に応答するように構成された、高度SoCの別のインスタンス上で実行するニューラル・ネットワークによって監視される。キャビン内システムは、セルラ・サービスをアクティブにする及び電話をかける、電子メールを書き取らせる、移動車の目的地を変更する、移動車のインフォテインメント・システム及び設定をアクティブにする又は変更する、或いは音声起動型ウェブ・サーフィンを提供するために、読唇術を実行することができる。ある特定の機能は、自律モードで動作しているときにのみ運転者に利用可能であり、そうでない場合には無効にされる。
ビデオ画像合成器は、空間的ノイズ低減及び時間的ノイズ低減の両方のための強化された時間的ノイズ低減を含み得る。たとえば、動きがビデオ内で生じた場合、ノイズ低減は、隣接するフレームによって提供される情報の重みを減らし、空間的情報に適切に重みを加える。画像又は画像の一部が動きを含まない場合、ビデオ画像合成器によって実行される時間的ノイズ低減は、前の画像からの情報を使用して現在の画像におけるノイズを減らすことができる。
ビデオ画像合成器はまた、入力ステレオ・レンズ・フレーム上でステレオ・レクティフィケーションを実行するように構成され得る。ビデオ画像合成器はさらに、オペレーティング・システム・デスクトップが使用中であるときにユーザ・インターフェース合成のために使用することができ、GPU408は、新しい表面を連続してレンダリングために必要とされない。GPU408の電源が入れられ、3Dレンダリングをアクティブに実行しているときでも、ビデオ画像合成器は、GPU408をオフロードしてパフォーマンス及び反応性を向上させるために使用され得る。
SoC404は、カメラからビデオ及び入力を受信するためのモバイル・インダストリ・プロセッサ・インターフェース(MIPI:mobile industry processor interface)カメラ・シリアル・インターフェース、高速インターフェース、及び/又は、カメラ及び関連画素入力機能のために使用され得るビデオ入力ブロックをさらに含み得る。SoC404は、ソフトウェアによって制御され得る、及び特定の役割にコミットされていないI/O信号を受信するために使用され得る、入力/出力コントローラをさらに含み得る。
SoC404は、周辺装置、オーディオ・コーデック、電力管理、及び/又は他のデバイスとの通信を可能にするために、広範囲の周辺インターフェースをさらに含み得る。SoC404は、(たとえば、ギガビット・マルチメディア・シリアル・リンク及びイーサネット(登録商標)を介して接続された)カメラからのデータ、センサ(たとえば、イーサネット(登録商標)を介して接続され得るLIDARセンサ464、RADARセンサ460など)、バス402からのデータ(たとえば、移動車400のスピード、ハンドル位置など)、(たとえば、イーサネット(登録商標)又はCANバスを介して接続された)GNSSセンサ458からのデータを処理するために使用され得る。SoC404は、独自のDMAエンジンを含み得る及びルーティン・データ管理タスクからCPU406を解放するために使用され得る専用の高性能大容量記憶コントローラをさらに含み得る。
SoC404は、自動化レベル3~5に広がる柔軟なアーキテクチャを有する終端間プラットフォームでもよく、それによって、多様性及び冗長性のためにコンピュータ・ビジョン及びADAS技法を活用し、効率的に使用し、深層学習ツールとともに、柔軟な、信頼できる運転ソフトウェア・スタックのためのプラットフォームを提供する、総合的機能的安全性アーキテクチャを提供する。SoC404は、従来のシステムよりも高速で、信頼でき、さらにエネルギ効率がよく、空間効率がよくなり得る。たとえば、加速装置414が、CPU406と結合されるとき、GPU408、及びデータ・ストア416は、レベル3~5の自律型車両のための高速で効率的なプラットフォームを提供することができる。
したがって、本技術は、従来のシステムによって達成することができない能力及び機能性をもたらす。たとえば、コンピュータ・ビジョン・アルゴリズムは、多種多様な視覚的データにわたり多種多様な処理アルゴリズムを実行するために、Cプログラミング言語などの高レベルのプログラミング言語を使用して構成され得る、CPUで実行され得る。しかしながら、CPUは、しばしば、たとえば、実行時間及び電力消費に関連するものなど、多数のコンピュータ・ビジョン・アプリケーションの性能要件を満たすことができない。具体的には、多数のCPUは、移動車内ADASアプリケーションの要件及び実際のレベル3~5の自律型車両の要件である、リアルタイムでの複合物体検出アルゴリズムを実行することができない。
従来のシステムとは対照的に、CPU複合体、GPU複合体、及びハードウェア加速クラスタを提供することによって、本明細書に記載の技術は、複数のニューラル・ネットワークが同時に及び/又は連続して実行されることと、レベル3~5の自律運転機能を可能にするために結果が結合されることとを可能にする。たとえば、DLA又はdGPU(たとえば、GPU420)で実行するCNNは、ニューラル・ネットワークが具体的にトレーニングされていない標識を含む、交通標識をスーパーコンピュータが読み取る及び理解することを可能にする、テキスト及び単語認識を含み得る。DLAは、標識の意味論的理解を識別、解釈、及び提供することと、CPU複合体で実行する進路計画立案モジュールに意味論的理解を渡すこととを行うことができる、ニューラル・ネットワークをさらに含み得る。
別の実例として、複数のニューラル・ネットワークは、レベル3、4、又は5の運転に必要とされるように、同時に実行され得る。たとえば、電光とともに、「注意:点滅光は、凍った状態を示す」から成る警告標識は、いくつかのニューラル・ネットワークによって独立して又は集合的に解釈され得る。標識自体は、第1の配備されたニューラル・ネットワーク(たとえば、トレーニングされてあるニューラル・ネットワーク)によって交通標識として識別され得、テキスト「点滅光は、凍った状態を示す」は、点滅光が検出されるときには凍った状態が存在することを移動車の進路計画立案ソフトウェア(好ましくはCPU複合体上で実行する)に知らせる、第2の配備されたニューラル・ネットワークによって解釈され得る。点滅光は、点滅光の存在(又は無いこと)を移動車の進路計画立案ソフトウェアに知らせ、複数のフレームを介して第3の配備されたニューラル・ネットワークを動作させることによって識別され得る。すべての3個のニューラル・ネットワークは、DLA内及び/又はGPU408上などで、同時に実行することができる。
いくつかの実例では、顔認識及び移動車所有者識別のためのCNNは、カメラ・センサからのデータを使用して移動車400の正規の運転者及び/又は所有者の存在を識別することができる。常時オンのセンサ処理エンジンは、所有者が運転席側のドアに近づくときに移動車を解錠する及び明かりをつけるために、並びに、セキュリティ・モードにおいて、所有者が移動車を離れるときに移動車の動作を停止させるために、使用され得る。このようにして、SoC404は、盗難及び/又は車の乗っ取りに対するセキュリティをもたらす。
別の実例では、緊急車両検出及び識別のためのCNNは、マイクロフォン496からのデータを使用して緊急車両サイレンを検出及び識別することができる。一般分類子を使用してサイレンを検出する及び特徴を手動で抽出する従来のシステムとは対照的に、SoC404は、環境の及び都市の音の分類、並びに視覚的データの分類のためにCNNを使用する。好ましい一実施例では、DLA上で実行するCNNは、(たとえば、ドップラー効果を使用することによって)緊急車両の相対的終速度を識別するようにトレーニングされる。CNNはまた、GNSSセンサ458によって識別されるように、移動車が稼働しているローカル・エリアに特有の緊急車両を識別するようにトレーニングされ得る。それ故に、たとえば、欧州で稼働しているとき、CNNは、欧州のサイレンを検出しようとすることになり、そして、米国にあるとき、CNNは、北米のサイレンのみを識別しようとすることになる。緊急車両が検出された後は、制御プログラムが、緊急車両が通過するまで、超音波センサ462の支援を受けて、移動車を減速する、道の端に停止させる、移動車を駐車する、及び/又は移動車をアイドリングさせる、緊急車両安全性ルーティンを実行するために使用され得る。
移動車は、高速相互接続(たとえば、PCIe)を介してSoC404に連結され得るCPU418(たとえば、個別のCPU、又はdCPU)を含み得る。CPU418は、たとえば、X86プロセッサを含み得る。CPU418は、たとえば、ADASセンサとSoC404との間の潜在的に不整合の結果を調停すること、及び/又はコントローラ436及び/又はインフォテインメントSoC430の状況及び調子を監視することを含む、様々な機能のいずれかを実行するために使用され得る。
移動車400は、高速相互接続(たとえば、NVIDIAのNVLINK)を介してSoC404に連結され得るGPU420(たとえば、個別のGPU、又はdGPU)を含み得る。GPU420は、冗長及び/又は異なるニューラル・ネットワークを実行することなどによって、付加的人工知能機能をもたらすことができ、移動車400のセンサからの入力(たとえば、センサ・データ)に基づいてニューラル・ネットワークをトレーニング及び/又は更新するために使用され得る。
移動車400は、1つ又は複数のワイヤレス・アンテナ426(たとえば、セルラ・アンテナ、ブルートゥース(登録商標)・アンテナなど、異なる通信プロトコルのための1つ又は複数のワイヤレス・アンテナ)を含み得るネットワーク・インターフェース424をさらに含み得る。ネットワーク・インターフェース424は、インターネットを介するクラウドとの(たとえば、サーバ478及び/又は他のネットワーク・デバイスとの)、他の移動車との、及び/又は計算デバイス(たとえば、乗客のクライアント・デバイス)とのワイヤレス接続を使用可能にするために使用され得る。他の移動車と通信するために、直接リンクが2個の移動車の間に確立され得る、及び/又は、間接リンクが(たとえば、ネットワークを通じて及びインターネットを介して)確立され得る。直接リンクは、移動車対移動車通信リンクを使用し、提供され得る。移動車対移動車通信リンクは、移動車400に近接する移動車(たとえば、移動車400の前の、横の、及び/又は後ろの移動車)に関する移動車400情報を提供することができる。この機能は、移動車400の共同適応クルーズ制御機能の一部でもよい。
ネットワーク・インターフェース424は、変調及び復調機能を提供する及びコントローラ436がワイヤレス・ネットワークを介して通信することを可能にする、SoCを含み得る。ネットワーク・インターフェース424は、ベースバンドから無線周波数へのアップコンバージョン、及び無線周波数からベースバンドへのダウンコンバージョンのための無線周波数フロントエンドを含み得る。周波数コンバージョンは、よく知られているプロセスを通して実行することができ、及び/又はスーパーヘテロダイン・プロセスを用いて実行することができる。いくつかの実例では、無線周波数フロントエンド機能は、別個のチップによって提供され得る。ネットワーク・インターフェースは、LTE、WCDMA(登録商標)、UMTS、GSM、CDMA2000、ブルートゥース(登録商標)、ブルートゥース(登録商標)LE、Wi-Fi、Z-Wave、ZigBee、LoRaWAN、及び/又は他のワイヤレス・プロトコルを介して通信するためのワイヤレス機能を含み得る。
移動車400は、チップ外の(たとえば、SoC404外の)ストレージを含み得るデータ・ストア428をさらに含み得る。データ・ストア428は、RAM、SRAM、DRAM、VRAM、フラッシュ、ハードディスク、及び/又は、少なくとも1ビットのデータを記憶することができる他の構成要素及び/又はデバイスを含む、1つ又は複数の記憶素子を含み得る。
移動車400は、チップ外の(たとえば、SoC404外の)ストレージを含み得るデータ・ストア428をさらに含み得る。データ・ストア428は、RAM、SRAM、DRAM、VRAM、フラッシュ、ハードディスク、及び/又は、少なくとも1ビットのデータを記憶することができる他の構成要素及び/又はデバイスを含む、1つ又は複数の記憶素子を含み得る。
車両400は、マッピング、知覚、占有グリッド生成、及び/又は進路計画策定機能を支援するためにGNSSセンサ458(たとえば、GPS及び/又は支援されたGPSセンサ)をさらに含み得る。たとえば、シリアル(RS-232)ブリッジへのイーサネット(登録商標)を有するUSBコネクタを使用するGPSを含むが、これに限定されない、任意の数のGNSSセンサ458が、使用され得る。
移動車400は、RADARセンサ460をさらに含み得る。RADARセンサ460は、暗闇及び/又は厳しい気象条件においても、長距離移動車検出のために移動車400によって使用され得る。RADAR機能安全性レベルは、ASIL Bでもよい。一部の実例では、RADARセンサ460は、未加工のデータにアクセスするためのイーサネット(登録商標)へのアクセスを用いて、制御のために及び物体追跡データにアクセスするために(たとえば、RADARセンサ460によって生成されたデータを送信するために)CAN及び/又はバス402を使用することができる。多種多様なRADARセンサ・タイプが、使用され得る。たとえば、そして制限なしに、RADARセンサ460は、前部、後部、及び側部RADAR使用に適し得る。一部の実例では、パルス・ドップラーRADARセンサが使用される。
移動車400は、RADARセンサ460をさらに含み得る。RADARセンサ460は、暗闇及び/又は厳しい気象条件においても、長距離移動車検出のために移動車400によって使用され得る。RADAR機能安全性レベルは、ASIL Bでもよい。一部の実例では、RADARセンサ460は、未加工のデータにアクセスするためのイーサネット(登録商標)へのアクセスを用いて、制御のために及び物体追跡データにアクセスするために(たとえば、RADARセンサ460によって生成されたデータを送信するために)CAN及び/又はバス402を使用することができる。多種多様なRADARセンサ・タイプが、使用され得る。たとえば、そして制限なしに、RADARセンサ460は、前部、後部、及び側部RADAR使用に適し得る。一部の実例では、パルス・ドップラーRADARセンサが使用される。
RADARセンサ460は、狭い視野を有する長距離、広い視野を有する短距離、短距離側部カバレッジなど、異なる構成を含み得る。いくつかの実例では、長距離RADARは、適応クルーズ制御機能のために使用され得る。長距離RADARシステムは、250mの範囲内など、2個以上の独立したスキャンによって実現される広い視野を提供することができる。RADARセンサ460は、静的物体と動く物体との区別を助けることができ、緊急ブレーキ・アシスト及び前方衝突警報のためのADASシステムによって使用され得る。長距離RADARセンサは、複数の(たとえば、6つ以上の)固定RADARアンテナと高速CAN及びFlexRayインターフェースとを有するモノスタティック・マルチモーダルRADARを含み得る。6つのアンテナを有する一実例では、中央の4個のアンテナは、隣接レーン内の交通からの干渉を最小限にして高速で移動車400の周囲を記録するように設計された、集束ビーム・パターンを作成し得る。他の2個のアンテナは、視野を広げることができ、移動車400のレーンに入る又はこれを去る移動車を迅速に検出することを可能にする。
一実例として、中距離RADARシステムは、460m(前)又は80m(後)までの範囲、及び42度(前)又は450度(後)までの視野を含み得る。短距離RADARシステムは、後部バンパの両端に設置されるように設計されたRADARセンサを含み得るが、これに限定されない。後部バンパの両端に設置されるとき、そのようなRADARセンサ・システムは、移動車の後ろ及び隣の死角を常に監視する2個のビームを作成することができる。
短距離RADARシステムは、死角検出及び/又はレーン変更アシストのためにADASシステムにおいて使用され得る。
移動車400は、超音波センサ462をさらに含み得る。移動車400の前部、後部、及び/又は側部に位置付けられ得る、超音波センサ462は、駐車アシストのために及び/又は占有グリッドの作成及び更新のために使用され得る。多種多様な超音波センサ462が使用され得、異なる超音波センサ462が、異なる範囲の検出(たとえば、2.5m、4m)のために使用され得る。超音波センサ462は、ASIL Bの機能的安全性レベルにおいて動作することができる。
移動車400はLIDARセンサ464を含み得る。LIDARセンサ464は、物体及び歩行者検出、緊急ブレーキ、衝突回避、及び/又は他の機能のために使用され得る。LIDARセンサ464は、機能的安全性レベルASIL Bでもよい。いくつかの実例では、移動車400は、(たとえば、ギガビット・イーサネット(登録商標)・スイッチにデータを提供するために)イーサネット(登録商標)を使用することができる複数の(たとえば、2個、4個、6個などの)LIDARセンサ464を含み得る。
いくつかの実例では、LIDARセンサ464は、物体及び360度視野のそれらの距離のリストを提供する能力を有し得る。市販のLIDARセンサ464は、たとえば、2cm~3cmの精度を有し、100Mbpsイーサネット(登録商標)接続のサポートを有して、約100mの広告された範囲を有し得る。いくつかの実例では、1つ又は複数の非突出したLIDARセンサ464が、使用され得る。そのような実例では、LIDARセンサ464は、移動車400の前部、後部、側部、及び/又は角に組み込まれ得る小さいデバイスとして実装され得る。そのような実例では、LIDARセンサ464は、低反射物体についても200mの範囲を有し、120度水平及び35度垂直視野まで提供することができる。前部に取り付けられたLIDARセンサ464は、45度と135度との間の水平視野向けに構成され得る。
いくつかの実例では、3DフラッシュLIDARなどのLIDAR技術もまた使用され得る。3DフラッシュLIDARは、約200mまで移動車の周囲を照らすために、送信元としてレーザーのフラッシュを使用する。フラッシュLIDARユニットは、移動車から物体までの範囲に順番に対応する、レーザー・パルス走行時間及び各画素上の反射光を記録する、レセプタを含む。フラッシュLIDARは、周囲の高精度の及び歪みのない画像があらゆるレーザー・フラッシュで生成されることを可能にし得る。いくつかの実例では、4個のフラッシュLIDARセンサが、移動車400の各側面に1つずつ、配備され得る。利用可能な3DフラッシュLIDARシステムは、送風機以外に動く部分を有さないソリッドステート3Dステアリング・アレイLIDARカメラ(たとえば、非スキャン型LIDARデバイス)を含む。フラッシュLIDARデバイスは、1フレームにつき5ナノ秒クラスI(目に安全な)レーザー・パルスを使用することができ、3D範囲点群及び共記載された強度データの形で反射レーザー光をキャプチャし得る。フラッシュLIDARを使用することによって、また、フラッシュLIDARは、動く部分を有さないソリッドステート・デバイスであるので、LIDARセンサ464は、モーション・ブラー、振動、及び/又は衝撃の影響を受けにくくなり得る。
移動車は、IMUセンサ466をさらに含み得る。一部の実例では、IMUセンサ466は、移動車400の後部車軸の中央に位置付けられ得る。IMUセンサ466は、たとえば、加速度計、磁力計、ジャイロスコープ、磁気コンパス、及び/又は他のセンサ・タイプを含み得るが、これらに限定されない。いくつかの実例では、6軸アプリケーションなどにおいて、IMUセンサ466は、加速度計及びジャイロスコープを含み得るが、9軸アプリケーションにおいて、IMUセンサ466は、加速度計、ジャイロスコープ、及び磁力計を含み得る。
一部の実施例では、IMUセンサ466は、マイクロ電気機械システム(MEMS:micro-electro-mechanical system)慣性センサ、高感度GPSレシーバ、及び高度カルマン・フィルタリング・アルゴリズムを結合して位置、ベロシティ、及び姿勢の推定値を提供するミニチュア、高性能GPS支援型慣性航行システム(GPS/INS:GPS-Aided Inertial Navigation System)として実装され得る。そのようなものとして、一部の実例では、IMUセンサ466は、GPSからIMUセンサ466までのベロシティの変化を直接観測すること及び関連付けることによって、磁気センサからの入力を必要とせずに進行方向を移動車400が推定することを可能にし得る。いくつかの実例では、IMUセンサ466及びGNSSセンサ458は、単一の統合されたユニットにおいて結合され得る。
移動車は、移動車400内及び/又は周囲に置かれたマイクロフォン496を含み得る。マイクロフォン496は、中でも、緊急車両検出及び識別のために使用され得る。
移動車は、ステレオ・カメラ468、ワイドビュー・カメラ470、赤外線カメラ472、サラウンド・カメラ474、長距離及び/又は中距離カメラ498、及び/又は他のカメラ・タイプを含む、任意の数のカメラ・タイプをさらに含み得る。カメラは、移動車400の全外面の周りの画像データをキャプチャするために使用され得る。使用されるカメラのタイプは、移動車400の実施例及び要件に応じて決まり、任意の組合せのカメラ・タイプが、移動車400の周りの必要なカバレッジを実現するために使用され得る。加えて、カメラの数は、実施例に応じて異なり得る。たとえば、移動車は、6個のカメラ、7個のカメラ、10個のカメラ、12個のカメラ、及び/又は別の数のカメラを含み得る。カメラは、一実例として、ギガビット・マルチメディア・シリアル・リンク(GMSL:Gigabit Multimedia Serial Link)及び/又はギガビット・イーサネット(登録商標)をサポートし得るが、これに限定されない。それぞれのカメラは、図4A及び図4Bに関連して本明細書においてさらに詳しく説明される。
移動車400は、振動センサ442をさらに含み得る。振動センサ442は、車軸など、移動車の構成要素の振動を測定することができる。たとえば、振動の変化は、道路の表面の変化を示し得る。別の実例では、2個以上の振動センサ442が使用されるとき、振動の差は、道路表面の摩擦又は滑りを判定するために使用され得る(たとえば、振動の差が電力駆動車軸と自由回転車軸との間であるとき)。
移動車400は、ADASシステム438を含み得る。一部の実例では、ADASシステム438は、SoCを含み得る。ADASシステム438は、自律/適応/自動クルーズ制御(ACC:autonomous/adaptive/automatic cruise control)、共同適応クルーズ制御(CACC:cooperative adaptive cruise control)、前方衝突警報(FCW:forward crash warning)、自動緊急ブレーキ(AEB:automatic emergency braking)、車線逸脱警報(LDW:lane departure warning)、レーン・キープ・アシスト(LKA:lane keep assist)、死角警報(BSW:blind spot warning)、後部交差交通警報(RCTW:rear cross-traffic warning)、衝突警報システム(CWS:collision warning system)、レーン・センタリング(LC:lane centering)、及び/又は他の特徴及び機能を含み得る。
ACCシステムは、RADARセンサ460、LIDARセンサ464、及び/又はカメラを使用し得る。ACCシステムは、縦ACC及び/又は横ACCを含み得る。縦ACCは、移動車400の直ぐ前の移動車までの距離を監視及び制御し、前方の移動車からの安全距離を維持するために移動車速度を自動的に調整する。横ACCは、距離の保持を実行し、必要なときにレーンを変更するように移動車400にアドバイスする。横ACCは、LC及びCWSなどの他のADASアプリケーションに関連する。
CACCは、ワイヤレス・リンクを介して他の移動車からネットワーク・インターフェース424及び/又はワイヤレス・アンテナ426を介して、或いは間接的にネットワーク接続を介して(たとえば、インターネットを介して)、受信することができる、他の移動車からの情報を使用する。直接リンクは、移動車対移動車(V2V:vehicle-to-vehicle)通信リンクによって提供され得、一方、間接リンクは、インフラストラクチャ対移動車(I2V:infrastructure-to-vehicle)通信リンクでもよい。一般に、V2V通信概念は、直前の移動車(たとえば、移動車400と同じレーン内にある、移動車400の直ぐ前の移動車)に関する情報を提供し、一方、I2V通信概念は、さらに前の交通に関する情報を提供する。CACCシステムは、I2V情報ソースとV2V情報ソースとのいずれか又は両方を含み得る。移動車400の前方の移動車の情報を所与として、CACCは、より高信頼になり得、CACCは、交通の流れをよりスムーズにし、道路の渋滞を減らす可能性を有する。
運転者が修正行動を取ることができるように、FCWシステムは、危険を運転者に警告するように設計される。FCWシステムは、ディスプレイ、スピーカ、及び/又は振動部品など、運転者フィードバックに電気的に連結された、専用のプロセッサ、DSP、FPGA、及び/又はASICに連結された、前向きのカメラ及び/又はRADARセンサ460を使用する。FCWシステムは、音響、視覚的警報、振動及び/又はクイック・ブレーキ・パルスなどの形で、警報を提供することができる。
AEBシステムは、別の移動車又は他の物体との差し迫った前方衝突を検出し、運転者が指定された時間又は距離パラメータ内に修正行動を取らない場合に、ブレーキを自動的に適用することができる。AEBシステムは、専用のプロセッサ、DSP、FPGA、及び/又はASICに連結された、前向きのカメラ及び/又はRADARセンサ460を使用することができる。AEBシステムが危険を検出するとき、AEBシステムは通常は、先ず、衝突を回避するための修正行動を取るように運転者に警告し、運転者が修正行動を取らない場合、AEBシステムは、予測される衝突の影響を防ぐ、又は少なくとも軽減するための努力の一環としてブレーキを自動的に適用することができる。AEBシステムは、ダイナミック・ブレーキ・サポート及び/又は衝突切迫ブレーキなどの技法を含み得る。
LDWシステムは、ハンドル又はシートの振動など、視覚的、可聴式、及び/又は触覚的警報を提供して、移動車400が車線区分線を越えたときに運転者に警告する。LDWシステムは、運転者が、方向指示器を起動することによって、意図的な車線逸脱を指示するときには、起動しない。LDWシステムは、ディスプレイ、スピーカ、及び/又は振動部品など、運転者フィードバックに電気的に連結された、専用のプロセッサ、DSP、FPGA、及び/又はASICに連結された、前側を向いたカメラを使用することができる。
LKAシステムは、LDWシステムの変更形態である。LKAシステムは、移動車400が車線をはみ出し始めた場合に移動車400を修正するためにステアリング入力又はブレーキを提供する。
BSWシステムは、自動車の死角において移動車の運転者に検出及び警告する。BSWシステムは、合流又はレーンの変更が安全ではないことを指示するために視覚的、可聴式、及び/又は触覚的警告を提供することができる。システムは、運転者が方向指示器を使用するときに、付加的警告を提供することができる。BSWシステムは、運転者フィードバック、たとえば、ディスプレイ、スピーカ、及び/又は振動部品、に電気的に結合された、専用プロセッサ、DSP、FPGA、及び/又はASICに結合された、後ろ側を向いたカメラ及び/又はRADARセンサ460を使用することができる。
BSWシステムは、自動車の死角において移動車の運転者に検出及び警告する。BSWシステムは、合流又はレーンの変更が安全ではないことを指示するために視覚的、可聴式、及び/又は触覚的警告を提供することができる。システムは、運転者が方向指示器を使用するときに、付加的警告を提供することができる。BSWシステムは、運転者フィードバック、たとえば、ディスプレイ、スピーカ、及び/又は振動部品、に電気的に結合された、専用プロセッサ、DSP、FPGA、及び/又はASICに結合された、後ろ側を向いたカメラ及び/又はRADARセンサ460を使用することができる。
RCTWシステムは、車両400がバックしているときにリアカメラの範囲外で物体が検出されたときに視覚的、可聴式、及び/又は触覚的通知を提供することができる。いくつかのRCTWシステムは、衝突を回避するために車両ブレーキが適用されることを確実にするために、AEBを含む。RCTWシステムは、運転者フィードバック、たとえば、ディスプレイ、スピーカ、及び/又は振動部品、に電気的に結合された、専用プロセッサ、DSP、FPGA、及び/又はASICに結合された、1つ又は複数の後ろを向いたRADARセンサ460を使用することができる。
従来のADASシステムは、運転者に警告し、安全状態が本当に存在するかどうかを運転者が判定し、それに応じて行動することを可能にするので、従来のADASシステムは、通常は壊滅的ではないが、運転者を悩ませている及び気を散らせていることがある誤判定結果を生み出す傾向にあることがあった。しかしながら、自律型車両400では、結果が矛盾する場合には、移動車400自体が、1次的コンピュータ又は2次的コンピュータ(たとえば、第1のコントローラ436又は第2のコントローラ436)からの結果を聞き入れるかどうかを決定しなければならない。たとえば、一部の実施例では、ADASシステム438は、知覚情報をバックアップ・コンピュータ合理性モジュールに提供するためのバックアップ及び/又は2次的コンピュータでもよい。バックアップ・コンピュータ合理性モニタは、ハードウェア構成要素で冗長な多様なソフトウェアを実行して、知覚及び動的運転タスクにおいて障害を検出することができる。ADASシステム438からの出力は、監督MCUに提供され得る。1次的コンピュータ及び2次的コンピュータからの出力が矛盾する場合、監督MCUは、安全な動作を確実にするためにその矛盾をどのように調整するかを決定する必要がある。
いくつかの実例では、1次的コンピュータは、選択された結果における1次的コンピュータの信頼性を指示する、信頼性スコアを監督MCUに提供するように構成され得る。信頼性スコアが閾値を超えた場合、監督MCUは、2次的コンピュータが矛盾する又は不整合の結果を与えるかどうかにかかわらず、1次的コンピュータの指示に従い得る。信頼性スコアが閾値を満たさない場合、及び1次的及び2次的コンピュータが異なる結果を示す(たとえば、矛盾する)場合、監督MCUは、コンピュータの間で調停して適切な結果を決定することができる。
監督MCUは、2次的コンピュータが誤ったアラームを提供する状態を、1次的コンピュータ及び2次的コンピュータからの出力に基づいて、判定するようにトレーニング及び構成されたニューラル・ネットワークを実行するように構成され得る。したがって、監督MCU内のニューラル・ネットワークは、2次的コンピュータの出力が信頼できるとき、及びそれが信頼できないときを学習することができる。たとえば、2次的コンピュータがRADARベースのFCWシステムであるとき、監督MCU内のニューラル・ネットワークは、アラームをトリガする下水溝の鉄格子又はマンホールの蓋など、実際には危険ではない金属製の物をいつFCWが識別しているかを学習することができる。同様に、2次的コンピュータがカメラベースのLDWシステムであるとき、監督MCU内のニューラル・ネットワークは、自転車に乗った人又は歩行者が存在し、車線逸脱が、実際には、最も安全な操作であるときに、LDWを無視することを学習することができる。監督MCU上で実行中のニューラル・ネットワークを含む実施例では、監督MCUは、関連メモリを有するニューラル・ネットワークを実行するのに適したDLA又はGPUのうちの少なくとも1つを含み得る。好ましい実施例において、監督MCUは、SoC404の構成要素を備え得る、及び/又はSoC404の構成要素として含まれ得る。
他の実例において、ADASシステム438は、コンピュータ・ビジョンの従来のルールを使用するADAS機能を実行する2次的コンピュータを含み得る。そのようなものとして、2次的コンピュータは、古典的コンピュータ・ビジョン・ルール(if-then)を使用することができ、監督MCU内のニューラル・ネットワークの存在は、信頼性、安全性及び性能を向上させることができる。たとえば、多様な実装形態及び意図的な非同一性は、特にソフトウェア(又はソフトウェア-ハードウェア・インターフェース)機能によって引き起こされる障害に対して、システム全体をよりフォールトトレラントにする。たとえば、1次的コンピュータで実行中のソフトウェア内にソフトウェア・バグ又はエラーが存在し、2次的コンピュータで実行中の同一でないソフトウェア・コードが同じ総合的結果を提供する場合、監督MCUは、総合的結果は正しく、1次的コンピュータによって使用されるソフトウェア又はハードウェア内のバグは重大なエラーを引き起こしていないというより大きな確信を有し得る。
いくつかの実例では、ADASシステム438の出力は、1次的コンピュータの知覚ブロック及び/又は1次的コンピュータの動的運転タスク・ブロックに供給され得る。たとえば、ADASシステム438が、直ぐ前の物体が原因で、前方衝突警報を示した場合、知覚ブロックは、物体を識別するときに、この情報を使用することができる。他の実例において、2次的コンピュータは、本明細書に記載のように、トレーニングされ、それ故に誤判定のリスクを減らす、独自のニューラル・ネットワークを有し得る。
移動車400は、インフォテインメントSoC430(たとえば、移動車内のインフォテインメント・システム(IVI:in-vehicle infotainment system))をさらに含み得る。SoCとして図示及び記述されているが、インフォテインメント・システムは、SoCでなくてもよく、2個以上の個別の構成要素を含み得る。インフォテインメントSoC430は、オーディオ(たとえば、音楽、携帯情報端末、ナビゲーション命令、ニュース、無線など)、ビデオ(たとえば、TV、映画、ストリーミングなど)、電話(たとえば、ハンズフリー通話)、ネットワーク接続(たとえば、LTE、Wi-Fiなど)、及び/又は情報サービス(たとえば、ナビゲーション・システム、後方駐車支援、無線データシステム、燃料レベル、総移動距離、ブレーキ燃料レベル、オイル・レベル、ドアを開ける/閉じる、エア・フィルタ情報などの移動車関連情報)を移動車400に提供するために使用され得るハードウェア及びソフトウェアの組合せを含み得る。たとえば、インフォテインメントSoC430は、無線、ディスク・プレイヤ、ナビゲーション・システム、ビデオ・プレイヤ、USB及びブルートゥース(登録商標)接続、カーピュータ、車内エンターテインメント、Wi-Fi、ハンドル・オーディオ制御装置、ハンズ・フリー音声制御、ヘッドアップ・ディスプレイ(HUD:heads-up display)、HMIディスプレイ434、テレマティックス・デバイス、制御パネル(たとえば、様々な構成要素、特徴、及び/又はシステムを制御する及び/又はこれと相互に作用するための)、及び/又は他の構成要素を含み得る。インフォテインメントSoC430は、ADASシステム438からの情報、計画された移動車操作などの自律運転情報、軌道、周囲環境情報(たとえば、交差点情報、移動車情報、道路情報など)、及び/又は他の情報など、移動車のユーザへの情報(たとえば、視覚的及び/又は可聴式の)を提供するためにさらに使用され得る。
インフォテインメントSoC430は、GPU機能性を含み得る。インフォテインメントSoC430は、バス402(たとえば、CANバス、イーサネット(登録商標)など)を介して、移動車400の他のデバイス、システム、及び/又は構成要素と通信することができる。いくつかの実例では、インフォテインメント・システムのGPUが、1次的コントローラ436(たとえば、移動車400の1次的及び/又はバックアップ・コンピュータ)が故障した場合に、いくつかのセルフドライブ機能を実行することができるように、インフォテインメントSoC430は、監督MCUに連結され得る。そのような実例では、インフォテインメントSoC430は、本明細書に記載のように、移動車400をショーファーの安全停止モードにすることができる。
移動車400は、計器群432(たとえば、デジタル・ダッシュ、電子計器群、デジタル計器パネルなど)をさらに含み得る。計器群432は、コントローラ及び/又はスーパーコンピュータ(たとえば、個別のコントローラ又はスーパーコンピュータ)を含み得る。計器群432は、スピードメーター、燃料レベル、油圧、タコメーター、オドメーター、方向指示器、ギアシフト位置インジケータ、シート・ベルト警告灯、パーキングブレーキ警告灯、エンジン故障灯、エアバッグ(SRS)システム情報、照明制御装置、安全システム制御装置、ナビゲーション情報など、1セットの器具類を含み得る。いくつかの実例では、情報は、インフォテインメントSoC430及び計器群432の間で表示及び/又は共有され得る。言い換えれば、計器群432は、インフォテインメントSoC430の一部として含まれてもよく、逆もまた同様である。
図4Dは、本開示のいくつかの実施例による、図4Aのクラウドベースのサーバと例示的自律型車両400との間の通信のシステム図である。システム476は、サーバ478、ネットワーク490、及び、移動車400を含む移動車を含み得る。サーバ478は、複数のGPU484(A)~484(H)(本明細書でGPU484と総称される)、PCIeスイッチ482(A)~482(H)(本明細書でPCIeスイッチ482と総称される)、及び/又はCPU480(A)~480(B)(本明細書でCPU480と総称される)を含み得る。GPU484、CPU480、及びPCIeスイッチは、たとえば、NVIDIAによって開発されたNVLinkインターフェース488及び/又はPCIe接続486などの、これらに限定されない、高速相互接続で相互に接続され得る。いくつかの実例では、GPU484は、NVLink及び/又はNVSwitch SoCを介して接続され、GPU484及びPCIeスイッチ482は、PCIe相互接続を介して接続される。8個のGPU484、2個のCPU480、及び2個のPCIeスイッチが図示されているが、これは制限を意図されていない。実施例に応じて、それぞれのサーバ478は、任意の数のGPU484、CPU480、及び/又はPCIeスイッチを含み得る。たとえば、サーバ478は、それぞれ、8個、16個、32個、及び/又はそれ以上のGPU484を含み得る。
サーバ478は、最近開始された道路工事など、予想外の又は変更された道路状態を示す画像を表す画像データを、ネットワーク490を介して、移動車から、受信することができる。サーバ478は、ニューラル・ネットワーク492、更新されたニューラル・ネットワーク492、及び/又は、交通及び道路状態に関する情報を含むマップ情報494をネットワーク490を介して移動車に送信することができる。マップ情報494の更新は、本明細書に記載のようなHDマップ422の更新、たとえば、検出された物体の絶対座標、建設現場、くぼみ、迂回路、洪水、及び/又は他の障害物に関する情報、を含み得る。いくつかの実例では、ニューラル・ネットワーク492、更新されたニューラル・ネットワーク492、及び/又はマップ情報494は、環境において任意の数の移動車から受信されたデータにおいて表された新しいトレーニング及び/又は経験から、及び/又は(たとえば、サーバ478及び/又は他のサーバを使用する)データ・センタにおいて実行されたトレーニングに基づいて、生じた可能性がある。
サーバ478は、トレーニング・データに基づいてマシン学習モデル(たとえば、ニューラル・ネットワーク)をトレーニングするために使用され得る。トレーニング・データは、移動車によって生成され得る、及び/又は(たとえば、ゲーム・エンジンを使用して)シミュレーションにおいて生成され得る。いくつかの実例では、トレーニング・データは、タグ付けされる(たとえば、ニューラル・ネットワークが、監督された学習の恩恵を受ける場合)及び/又は他の事前処理を受けるが、他の実例において、トレーニング・データは、タグ付け及び/又は事前処理されない(たとえば、ニューラル・ネットワークが、監督された学習を必要としない場合)。トレーニングは、たとえば以下のクラスを含むがこれらに限定されない、任意の1つ又は複数のクラスのマシン学習技法に従って、実行され得る:監視されたトレーニング、半監視されたトレーニング、監視されていないトレーニング、自己学習、強化学習、連合型学習、転移学習、特徴学習(主要構成要素及びクラスタ分析を含む)、マルチ線形部分空間学習、多様体学習、表現学習(予備辞書学習を含む)、ルールに基づくマシン学習、異常検出、及びそれらの変更形態若しくは組合せ。マシン学習モデルがトレーシングされた後は、マシン学習モデルは、移動車によって使用され得(たとえば、ネットワーク490を介して移動車に送信される)、及び/又は、マシン学習モデルは、移動車を遠隔監視するために、サーバ478によって使用され得る。
いくつかの実例では、サーバ478は、移動車からデータを受信し、リアルタイムのインテリジェント推論のために最新のリアルタイムのニューラル・ネットワークにデータを適用することができる。サーバ478は、NVIDIAによって開発されたDGX及びDGXステーション・マシンなど、GPU484によって電力供給される深層学習スーパーコンピュータ及び/又は専用のAIコンピュータを含み得る。しかしながら、一部の実例では、サーバ478は、CPU電源式データ・センタのみを使用する深層学習インフラストラクチャを含み得る。
サーバ478の深層学習インフラストラクチャは、高速のリアルタイム推論の能力を有することでき、その能力を使用して移動車400内のプロセッサ、ソフトウェア、及び/又は関連ハードウェアの調子を評価及び検証することができる。たとえば、深層学習インフラストラクチャは、移動車400がそのシーケンスの画像内に位置したシーケンスの画像及び/又は物体など、移動車400からの定期的更新を受信することができる(たとえば、コンピュータ・ビジョン及び/又は他のマシン学習物体分類技法を介して)。深層学習インフラストラクチャは、物体を識別し、移動車400によって識別された物体とそれらを比較するために、独自のニューラル・ネットワークを実行することができ、結果が一致せず、インフラストラクチャが、移動車400内のAIは正常に機能していないという結論を下した場合、サーバ478は、制御を推測し、乗客に通知し、安全な駐車操作を完了するように移動車400のフェイルセーフ・コンピュータに命じる移動車400への信号を送信することができる。
推論のために、サーバ478は、GPU484及び1つ又は複数のプログラマブル推論加速装置(たとえば、NVIDIAのTensorRT)を含み得る。GPU電源式サーバ及び推論加速の組合せは、リアルタイムの反応性を可能にすることができる。パフォーマンスがさほど必要とされない場合など、他の実例では、CPU、FPGA、及び他のプロセッサによって電力供給されるサーバが、推論のために使用され得る。
図5は、本開示のいくつかの実施例の実装に使用するのに適した計算デバイス500の一実例のブロック図である。計算デバイス500は、以下のデバイスを間接的に又は直接的につなぐ相互接続システム502を含み得る:メモリ504、1つ又は複数の中央処理装置(CPU)506、1つ又は複数のグラフィック処理ユニット(GPU)508、通信インターフェース510、I/Oポート512、入力/出力構成要素514、電力供給装置516、1つ又は複数の提示構成要素518(たとえば、ディスプレイ)、及び1つ又は複数の論理ユニット520。
図5の様々なブロックは、線で相互接続システム502を介して接続しているように示されているが、これは制限することを意図されておらず、単に分かりやすくするためである。たとえば、一部の実施例では、表示デバイスなどの提示構成要素518は、I/O構成要素514と考えられ得る(たとえば、ディスプレイがタッチ・スクリーンである場合)。別の実例として、CPU506及び/又はGPU508はメモリを含み得る(たとえば、メモリ504は、GPU508、CPU506、及び/又は他の構成要素のメモリに加えた記憶デバイスを表し得る)。言い換えれば、図5の計算デバイスは、単に例示である。「ワークステーション」、「サーバ」、「ラップトップ」、「デスクトップ」、「タブレット」、「クライアント・デバイス」、「モバイル・デバイス」、「ハンドヘルド・デバイス」、「ゲーム機」、「電子制御ユニット(ECU:electronic control unit)」、「仮想現実システム」、「拡張現実システム」、及び/又は他のデバイス若しくはシステム・タイプなどのカテゴリはすべて、図5の計算デバイスの範囲内にあることが意図されているので、これらは区別されない。
相互接続システム502は、1つ又は複数のリンク又はバス、たとえば、アドレス・バス、データ・バス、制御バス、又はその組合せ、を表し得る。相互接続システム502は、1つ又は複数のバス又はリンク・タイプ、たとえば、業界標準アーキテクチャ(ISA:industry standard architecture)バス、拡張業界標準アーキテクチャ(EISA:extended industry standard architecture)バス、VESA(video electronics standards association)バス、周辺構成要素相互接続(PCI:peripheral component interconnect)バス、周辺構成要素相互接続エクスプレス(PCIe:peripheral component interconnect express)バス、及び/又は別のタイプのバス若しくはリンク、を含み得る。一部の実施例では、構成要素の間に直接接続が存在する。一実例として、CPU506は、メモリ504に直接接続され得る。さらに、CPU506は、GPU508に直接接続され得る。構成要素の間に直接、又はポイント対ポイント接続が存在する場合、相互接続システム502は、接続を実施するためのPCIeリンクを含み得る。これらの実例では、PCIバスは、計算デバイス500に含まれる必要はない。
メモリ504は、様々なコンピュータ可読媒体のいずれかを含み得る。コンピュータ可読媒体は、計算デバイス500によってアクセスすることができる任意の利用可能な媒体でもよい。コンピュータ可読媒体は、揮発性及び不揮発性媒体の両方、及び取り外し可能な及び取り外し不可能な媒体を含み得る。例として、しかし限定ではなく、コンピュータ可読媒体は、コンピュータ記憶媒体及び通信媒体を備え得る。
コンピュータ記憶媒体は、コンピュータ可読命令、データ構造体、プログラム・モジュール、及び/又は他のデータ・タイプなどの情報の記憶のための任意の方法又は技術において実装された揮発性及び不揮発性媒体及び/又は取り外し可能な及び取り外し不可能な媒体の両方を含み得る。たとえば、メモリ504は、オペレーティング・システムなど、(たとえば、プログラム及び/又はプログラム要素を表す)コンピュータ可読命令を記憶することができる。コンピュータ記憶媒体は、RAM、ROM、EEPROM、フラッシュメモリ又は他のメモリ技術、CD-ROM、デジタル多用途ディスク(DVD:digital versatile disk)又は他の光ディスク・ストレージ、磁気カセット、磁気テープ、磁気ディスク・ストレージ又は他の磁気記憶デバイス、或いは、所望の情報を記憶するために使用し得る及び計算デバイス500によってアクセスし得る任意の他の媒体を含み得るが、これらに限定されない。本明細書では、コンピュータ記憶媒体は、信号自体を含まない。
コンピュータ記憶媒体は、搬送波などの変調データ信号又は他の移送機構においてコンピュータ可読命令、データ構造体、プログラム・モジュール、及び/又は他のデータ・タイプを実施することができ、任意の情報配信媒体を含む。「変調データ信号」という用語は、その特性セットのうちの1つ又は複数を有する或いは信号内の情報をエンコードするような方式で変化した信号を指し得る。例として、しかし限定せず、コンピュータ記憶媒体は、ワイヤード・ネットワーク又は直接ワイヤード接続などのワイヤード媒体と、音響、RF、赤外線及び他のワイヤレス媒体などのワイヤレス媒体とを含み得る。前述のいずれかの組合せもまた、コンピュータ可読媒体の範囲に含まれるべきである。
CPU506は、コンピュータ可読命令のうちの少なくともいくつかを実行して計算デバイス500の1つ又は複数の構成要素を制御して本明細書に記載の方法及び/又はプロセスのうちの1つ又は複数を実行するように構成され得る。CPU506は、多数のソフトウェア・スレッドを同時に処理する能力を有する1つ又は複数の(たとえば、1個、2個、4個、8個、28個、72個などの)コアをそれぞれ含み得る。CPU506は、任意のタイプのプロセッサを含み得、実装された計算デバイス500のタイプに応じて、異なるタイプのプロセッサを含み得る(たとえば、モバイル・デバイスのためのより少数のコアを有するプロセッサ、及びサーバのためのより多数のコアを有するプロセッサ)。たとえば、計算デバイス500のタイプに応じて、プロセッサは、縮小命令セット計算(RISC:Reduced Instruction Set Computing)を使用して実装されたAdvanced RISC Machines(ARM)プロセッサ、又は複合命令セット計算(CISC:Complex Instruction Set Computing)を使用して実装されたx86プロセッサでもよい。計算デバイス500は、計算コプロセッサなど、1つ又は複数のマイクロプロセッサ又は補助コプロセッサ内の1つ又は複数のCPU506を含み得る。
CPU506に加えて又はその代わりに、GPU508は、コンピュータ可読命令のうちの少なくともいくつかを実行して計算デバイス500の1つ又は複数の構成要素を制御して本明細書に記載の方法及び/又はプロセスのうちの1つ又は複数を実行するように構成され得る。GPU508のうちの1つ若しくは複数は、統合されたGPU(たとえば、CPU506のうちの1つ又は複数とでもよく、及び/又はGPU508のうちの1つ若しくは複数は、離散GPUでもよい。実施例では、GPU508のうちの1つ又は複数は、CPU506のうちの1つ又は複数のコプロセッサでもよい。GPU508は、グラフィックス(たとえば、3Dグラフィックス)をレンダリングする又は汎用計算を実行するために、計算デバイス500によって使用され得る。たとえば、GPU508は、GPUによる汎用計算(GPGPU:General-Purpose computing on GPU)のために使用され得る。GPU508は、同時に数百又は数千のソフトウェア・スレッドを処理する能力を有する数百又は数千のコアを含み得る。GPU508は、レンダリング・コマンド(たとえば、ホスト・インターフェースを介して受信されたCPU506からのレンダリング・コマンド)に応答して、出力画像のための画素データを生成することができる。GPU508は、画素データ又は任意の他の適切なデータ、たとえばGPGPUデータ、を記憶するためのグラフィックス・メモリ、たとえば表示メモリ、を含み得る。表示メモリは、メモリ504の一部として含まれ得る。GPU508は、並行して動作する(たとえば、リンクを介して)2個以上のGPUを含み得る。リンクは、GPUに直接接続することができ(たとえば、NVLINKを使用して)、又はスイッチを介して(たとえば、NVSwitchを使用して)GPUを接続することができる。ともに結合されるとき、各GPU508は、出力の異なる部分の又は異なる出力の画素データ又はGPGPUデータ(たとえば、第1の画像の第1のGPU及び第2の画像の第2のGPU)を生成することができる。各GPUは、独自のメモリを含むことができ、又は他のGPUとメモリを共有することができる。
CPU506及び/又はGPU508に加えて又はその代わりに、論理ユニット520は、コンピュータ可読命令のうちの少なくともいくつかを実行して計算デバイス500のうちの1つ又は複数を制御して本明細書に記載の方法及び/又はプロセスのうちの1つ又は複数を実行するように構成され得る。実施例では、CPU506、GPU508、及び/又は論理ユニット520は、方法、プロセス及び/又はその部分の任意の組合せを離散的に又は合同で実行することができる。論理ユニット520のうちの1つ若しくは複数は、CPU506及び/若しくはGPU508のうちの1つ若しくは複数の一部でもよく及び/又はそこで統合されてもよく、及び/又は、論理ユニット520のうちの1つ若しくは複数は、CPU506及び/若しくはGPU508に対する離散構成要素であっても若しくは他の方法でそれらの外部にあってもよい。実施例では、論理ユニット520のうちの1つ又は複数は、CPU506のうちの1つ若しくは複数及び/又はGPU508のうちの1つ若しくは複数のコプロセッサでもよい。
論理ユニット520の実例は、1つ又は複数の処理コア及び/又はその構成要素、たとえば、テンソル・コア(TC:Tensor Core)、テンソル処理ユニット(TPU:Tensor Processing Unit)、画素ビジュアル・コア(PVC:Pixel Visual Core)、ビジョン処理ユニット(VPU:Vision Processing Unit)、グラフィックス処理クラスタ(GPC:Graphics Processing Cluster)、テクスチャ処理クラスタ(TPC:Texture Processing Cluster)、ストリーミング・マルチプロセッサ(SM:Streaming Multiprocessor)、木の走査ユニット(TTU:Tree Traversal Unit)、人工知能加速装置(AIA:Artificial Intelligence Accelerator)、深層学習加速装置(DLA:Deep Learning Accelerator)、論理演算ユニット(ALU)、特定用途向け集積回路(ASIC)、浮動小数点演算ユニット(FPU)、I/Oエレメント、周辺構成要素相互接続(PCI)又は周辺構成要素相互接続エクスプレス(PCIe)エレメント、及び/又は同類のもの、を含む。
通信インターフェース510は、ワイヤード及び/又はワイヤレス通信を含む、電子通信ネットワークを介して計算デバイス500が他の計算デバイスと通信することを可能にする、1つ又は複数のレシーバ、トランスミッタ、及び/又はトランシーバを含み得る。通信インターフェース510は、ワイヤレス・ネットワーク(たとえば、Wi-Fi、Z-Wave、ブルートゥース(登録商標)、ブルートゥース(登録商標)LE、ZigBeeなど)、ワイヤード・ネットワーク(たとえば、イーサネット(登録商標)又はInfiniBandを介して通信すること)、低電力ワイド・エリア・ネットワーク(たとえば、LoRaWAN、SigFoxなど)、及び/又はインターネットなどの、いくつかの異なるネットワークのうちのいずれかを介する通信を可能にするための構成要素及び機能を含み得る。
I/Oポート512は、そのうちのいくつかは計算デバイス500に内蔵(たとえば、統合)され得る、I/O構成要素514、提示構成要素518、及び/又は他の構成要素を含む、他のデバイスに計算デバイス500が論理的に連結されることを可能にすることができる。例示的なI/O構成要素514は、マイクロフォン、マウス、キーボード、ジョイスティック、ゲーム・パッド、ゲーム・コントローラ、サテライト・ディッシュ、スキャナ、プリンタ、ワイヤレス・デバイスなどを含む。I/O構成要素514は、エア・ジェスチャ、音声、又は、ユーザによって生成される他の生理的入力を処理する自然ユーザ・インターフェース(NUI:natural user interface)を提供することができる。場合によっては、入力は、さらなる処理のための適切なネットワーク要素に送信され得る。NUIは、音声認識、スタイラス認識、顔認識、生体認識、画面上での及び画面の隣でのジェスチャ認識、エア・ジェスチャ、頭部及び視標追跡、並びに計算デバイス500のディスプレイに関連するタッチ認識(さらに詳しく後述するような)の任意の組合せを実装し得る。計算デバイス500は、ジェスチャ検出及び認識のための、ステレオスコープ・カメラ・システム、赤外線カメラ・システム、RGBカメラ・システム、タッチ画面技術、及びこれらの組合せなど、深度カメラを含み得る。追加で、計算デバイス500は、動きの検出を可能にする加速度計又はジャイロスコープを含み得る(たとえば、慣性測定ユニット(IMU:inertia measurement unit)の一部として)。いくつかの実例では、加速度計又はジャイロスコープの出力は、没入型拡張現実又は仮想現実をレンダリングするために、計算デバイス500によって使用され得る。
電力供給装置516は、ハードワイヤード電力供給装置、バッテリ電力供給装置、又はその組合せを含み得る。電力供給装置516は、計算デバイス500の構成要素が動作することを可能にするために計算デバイス500に電力を提供することができる。
提示構成要素518は、ディスプレイ(たとえば、モニタ、タッチ画面、テレビジョン画面、ヘッドアップ表示装置(HUD)、他のディスプレイタイプ、又はその組合せ)、スピーカ、及び/又は他の提示構成要素を含み得る。提示構成要素518は、他の構成要素(たとえば、GPU508、CPU506など)からデータを受信し、データを(たとえば、画像、ビデオ、音響などとして)出力することができる。
提示構成要素518は、ディスプレイ(たとえば、モニタ、タッチ画面、テレビジョン画面、ヘッドアップ表示装置(HUD)、他のディスプレイタイプ、又はその組合せ)、スピーカ、及び/又は他の提示構成要素を含み得る。提示構成要素518は、他の構成要素(たとえば、GPU508、CPU506など)からデータを受信し、データを(たとえば、画像、ビデオ、音響などとして)出力することができる。
本開示は、コンピュータ又は、携帯情報端末若しくは他のハンドヘルド・デバイスなどの、他のマシンによって実行されている、プログラム・モジュールなどのコンピュータ実行可能命令を含む、コンピュータ・コード又はマシン使用可能命令との一般的関連において説明されることがある。一般に、ルーティン、プログラム、オブジェクト、構成要素、データ構造体などを含むプログラム・モジュールは、特定のタスクを実行する又は特定の抽象データ・タイプを実装するコードを指す。本開示は、ハンドヘルド・デバイス、家電製品、汎用コンピュータ、より特殊な計算デバイスなどを含む、様々な構成で実施され得る。本開示はまた、通信ネットワークを介してリンクされた遠隔処理デバイスによってタスクが実行される分散型コンピューティング環境において実施され得る。
図6は、本開示の実施例のマシン学習モデルのトレーニング及び配備を示す。少なくとも1つの実施例において、マシン学習モデルは、CNNなどのニューラル・ネットワークを含み得る。トレーニングされていないニューラル・ネットワーク606は、本開示のいくつかの実施例では、様々な頭部姿勢を推測するサブジェクトの画像のセットであり得る、トレーニング・データセット602を使用して、トレーニングされる。少なくとも1つの実施例において、トレーニング・フレームワーク604は、PyTorchフレームワークであるが、他の実施例において、トレーニング・フレームワーク604は、TensorFlow、Boost、Caffe、Microsoft Cognitive Toolkit/CNTK、MXNet、Chainer、Keras、Deeplearning4j、又は他のトレーニング・フレームワークである。トレーニング・フレームワーク604は、トレーニングされたニューラル・ネットワーク608を生成するために、本明細書に記載の処理資源を使用して、トレーニングされていないニューラル・ネットワーク606をトレーニングする。少なくとも1つの実施例において、初期重みは、ランダムに、又はディープ・ビリーフ・ネットワークを使用して予めトレーニングすることによって、選択され得る。トレーニングは、監視された方式、部分的に監視された方式、又は監視されない方式のいずれかで実行され得る。
少なくとも1つの実施例において、たとえば、回帰分類器が使用されるとき、トレーニングされていないニューラル・ネットワーク606は、監視された学習を使用してトレーニングされ得、そこで、トレーニング・データセット602は、所望の出力とペアにされた入力を含む、或いは、トレーニング・データセット602は、知られている出力を有する入力を含み、ニューラル・ネットワークの出力は、手作業で等級を付けられる。少なくとも1つの実施例において、トレーニングされていないニューラル・ネットワーク606が、監視された方式でトレーニングされる。トレーニング・フレームワーク604は、トレーニング・データセット602からの入力を処理し、結果として生じる出力を1セットの期待される又は所望の出力と比較する。少なくとも1つの実施例において、エラーは、次いで、トレーニングされていないニューラル・ネットワーク606を通して伝播し返される。トレーニング・フレームワーク604は、トレーニングされていないニューラル・ネットワーク606を制御する重みを調節する。トレーニング・フレームワーク604は、トレーニングされていないニューラル・ネットワーク606が、知られている入力データ、たとえば、新しいデータ612、に基づいて、正しい回答を生成すること、たとえば、結果614において、に適した、モデル、たとえば、トレーニングされたニューラル・ネットワーク608にどれほどうまく収束しているかをモニタするためのツールを含み得る。少なくとも1つの実施例において、トレーニング・フレームワーク604は、トレーニングされていないニューラル・ネットワーク606の出力を損失関数及び調節プロセス、たとえば、確率的勾配降下法、を使用して精緻化するために重みを調節しながら、トレーニングされていないニューラル・ネットワーク606を繰り返しトレーニングする。少なくとも1つの実施例において、トレーニング・フレームワーク604は、トレーニングされていないニューラル・ネットワーク606が所望の精度を達成するまで、トレーニングされていないニューラル・ネットワーク606をトレーニングする。トレーニングされたニューラル・ネットワーク608は、次いで、任意の数のマシン学習動作を実装するために配備され得る。
少なくとも1つの実施例において、トレーニングされていないニューラル・ネットワーク606は、監視されない学習を使用して、トレーニングされ得、そこで、トレーニングされていないニューラル・ネットワーク606は、ラベルのないデータを使用して、それ自体をトレーニングしようと試みる。少なくとも1つの実施例において、監視されない学習のトレーニング・データセット602は、関連出力データ又は「グラウンド・トゥルース」データなしに入力データを含み得る。トレーニングされていないニューラル・ネットワーク606は、トレーニング・データセット602内のグループ分けを学習することができ、個々の入力がトレーニングされていないデータセット602にどのように関係しているかを判定することができる。少なくとも1つの実施例において、監視されないトレーニングは、新しいデータ612の次元を減らすのに役立つ動作を実行する能力を有するトレーニングされたニューラル・ネットワーク608のタイプである、自己編成マップを生成するために使用され得る。監視されないトレーニングはまた、新しいデータセット612の通常の又は現存するパターンから逸脱する新しいデータセット612におけるデータ点の識別を可能にする、異常検出を実行するために使用され得る。
少なくとも1つの実施例において、トレーニング・データセット602がラベル付きの及びラベルのないデータの混合を含む技法である、半監視学習が、使用され得る。したがって、トレーニング・フレームワーク604は、増分の学習を実行するために使用され得る、たとえば、伝えられた学習技法を介して。そのような増分の学習は、トレーニングされたニューラル・ネットワーク608が初期トレーニング中にネットワーク内で教え込まれた知識を忘れずに新しいデータ612に適応することを可能にする。
図7は、本開示の実施例による、HDマップの更新に基づく車両の例示的なプロセスを示す流れ図である。ここで、自律型車両400は、図1に示すように、それの様々なセンサの視野における1つ又は複数の物体の画像をキャプチャし得る(ステップ700)。画像は、LiDARシステムなどのセンサを含む、可視光カメラ又は任意の他のセンサからの画像でもよい。これらの物体の相対座標、又は車両400に対するこれらの物体の位置が、次いで、判定される(ステップ710)。物体の相対位置の判定は、任意の方式で、たとえば、キャプチャされた複数の画像、互いからの知られている距離から三角測量によって達成され得る。一実例として、複数の異なるカメラは、同じ物体の画像を同時にキャプチャすることができ、そこで、物体相対位置は、キャプチャされた画像及びカメラ間の知られている距離を使用して、三角測量によって判定され得る。別の実例として、単一のカメラは、同じ物体の複数の画像をキャプチャすることができ、GPSセンサ又は他の位置検出システムは、各キャプチャされた画像の時刻における車両400の位置を判定する。三角測量は、次いで、キャプチャされた画像と2つの画像の間の車両400位置の差とを使用して、実行され得る。さらなる実例として、位置は、任意の測距システム、モノ・ビジョン、又はステレオ・ビジョン・システムを使用して、前述のように判定され得る。
車両400はまた、少なくとも1つの参照物体の絶対座標を判定する(ステップ720)。具体的には、車両400は、その相対座標もまた判定され得る物体の絶対座標を判定し得る。たとえば、車両400は、それの路側マップに或いは車両400がアクセスを有する及びそれの路側マップ内に物体を配置するために使用され得るHDマップ内に含まれる物体でもある、それのセンサのうちの1つのセンサの視野内の物体を選択し得る。したがって、物体は、前述のように検出及び識別され得、それらの形状及び相対位置は、マッチが存在するかどうかを判定するために、対応する意味マップ物体と比較される。それによって、マッチする物体は、絶対座標が知られた、意味マップ上に既に存在する物体であると判定され得る。検出された物体と意味マップ物体とのマッチは、任意の方式で、たとえば、任意の指定の1つ又は複数のメトリック内との物体位置及びサイズ/形状の比較によって、判定され得る。たとえば、同じ物体タイプとして分類された及び互いに所定の閾値距離内の物体は、同じ物体であると見なされ得る。同様に、任意の1つ又は複数の所定の寸法公差内にマッチするサイズの、及び互いに所定の閾値距離内の物体は、同じ物体であると見なされ得る。
検出された物体が、車両400の意味マップに又は車両400がアクセスを有するいくつかの他の意味マップ、たとえば、車両400が電子通信し得る遠隔サービスによって維持される意味マップ、内に既に記憶された物体にマッチすると見なされるとき、その物体の絶対座標が取得される。この物体は、次いで、他の検出された物体の絶対座標を判定するためにその絶対座標が使用され得る、参照物体の機能を果たし得る。すなわち、車両400は、次いで、参照物体の絶対座標、車両400の絶対座標(たとえば、GPS座標)、及び車両400に対する検出された物体の判定された位置から他の検出された物体の絶対座標を計算することができる(ステップ730)。
車両400は、次いで、それの路側マップを任意の検出された物体の計算された絶対座標で更新することができる(ステップ740)。すなわち、検出された物体は、車両400の意味路側マップの適切な層に配置され得る。この方式では、本開示の実施例は、車両400が任意の進路を横断するとき、車両400がそれらの路側マップを検出された物体の形状、絶対座標、及び分類又はIDでリアルタイムで更新することを可能にすることが観測され得る。
加えて、車両400は、遠隔HDマップの更新のために、それの路側マップに入力された任意の物体の絶対座標を送信し得る。すなわち、車両400は、遠隔HDマップが、これらの物体を含むように更新され得るように、任意の所望の時間に、任意の検出された物体に関する情報を遠隔HDマップ・サービスに送ることができる。したがって、車両400は、それがそのような遠隔サービスに更新を送信すべきかどうかを確認して決定することができる(ステップ750)。送信すべきでない場合、プロセスは、ステップ700に戻ることができ、車両は、物体の検出を継続し、それらの計算された情報をそれの路側マップに入力することができる。そうではなくて、車両400が、それはそれの更新を送信すべきであると決定した場合、車両400は、絶対座標及び任意の他の所望の情報-たとえば、対応する物体形状/概要及び識別/分類-を遠隔HDマップ・サービスに送信することができる(ステップ760)。
複数の車両400は更新情報を遠隔HDマップ・サービスに送信し得ることに留意されたい。すなわち、HDマップは、複数の異なる遠隔車両400によって連続的に更新され得る。車両400は、車両400の意味マップ又は遠隔HDマップに既に存在する物体を含む、任意の物体の絶対座標を検出及び判定し得ることにも留意されたい。したがって、車両400は、ある種の物体はそれらの搭載された又は路側マップに既に存在するものとは異なる絶対座標値を有すると判定し得る。これは、たとえば、物体が建設工事などによって移動されたときに、起こり得る、又は、たとえば、貧弱な衛星信号受信状態による不正確なGPS測定値などの不正確性から生じ得る。車両400は、任意の方式で位置のそのような不一致に対処することができる。1つの実例として、車両400は、物体をそれらの新しく判定された位置に単純に更新し得る、古い座標及び新しい座標の任意の平均値に物体の位置を訂正し得る、新しい座標が物体による別のパスによって確認されるまで古い座標を選択し得る、貧弱なGPS測定値などの不正確性が検出された場合には新しい座標を破棄し得る、又は同類のことが可能である。新しい位置における物体の複数の検出は、同様に、古い座標の破棄及び新しく判定された座標との交換とともに、物体は移動したという判定をもたらし得る。
同様に、遠隔HDマップ・サービスは、物体の現存する記憶された座標とは異なるその物体の座標を受信し得る。マップ・サービスは、任意の方式でそのような不一致に対処し得る。1つの実例として、任意の物体の絶対座標が、その物体の受信された座標の記録として累積又は記憶され得、その物体の位置は、累積された位置値の何らかの平均値として判定され得る。たとえば、物体の位置は、複数の異なる車両400から受信された所定の数の直近のサンプルの算術平均、或いは直近の所定の期間内に(たとえば、過去24時間、ここ1週間、又は同類のもの内に)受信されたサンプルの算術平均として判定され得る。物体又は特徴位置はまた、新しく受信された位置値が何らかの所定の量よりも大きく異なるときにのみ、更新又は訂正され得る。すなわち、いくつかの実施例において、既に記憶された値に過度に類似する受信された測定値は、破棄され得る。本開示の実施例は、任意の平均化又は推定プロセスを用い得る、任意の方式での複数の異なる受信された位置値からの位置の判定を意図している。
ローカル又は車両400路側マップの座標系の両方が、絶対座標系であり、いずれか一方が、他方を更新するために使用され得るけれども、ローカル又は車両400路側マップの座標系は、遠隔HDマップ・サービスのそれらとは異なり得ることにも留意されたい。本開示の実施例は、知られている変換又は同類のものを使用して、知られている方式でのこれらの座標系の変換を意図している。車両400及び遠隔HDマップ・サービスのいずれか1つ又は両方が、必要に応じて座標変換を実施し得る。
説明を目的として、前述は、本開示の完全な理解を実現するために、特定の用語体系を使用した。しかしながら、特定の詳細は本開示の方法及びシステムを実施するために必要とされないことが、当業者には明らかとなろう。したがって、本発明の特定の実施例の前述の説明は、例示及び説明を目的として提示されている。それらは、排他的であること又は開示された正確な形に本発明を限定することを意図していない。多数の修正及び変更が、前述の教示を考慮して可能である。たとえば、任意のセンサ、カメラ又は他の方法が、物体を検出するために使用され得る。物体絶対座標は、任意の方式で判定され得、任意の意味マップ層に記憶され得る。加えて、意味マップ位置は、任意の方法で物体位置の間の不一致を解決するために、任意の方式で訂正又は更新され得る。実施例は、本発明の原理及びその実際の適用例を最もよく説明して、それによって、意図された特定の使用に適するものとしての様々な修正を有する本開示及び様々な実施例の方法及びシステムを当業者が最もよく活用することを可能にするために、選択及び記述された。加えて、開示されている又はされていない、様々な実施例の異なる特徴が、本開示が意図するさらなる実施例を生み出すために、混合及びマッチ或いは他の方法で結合され得る。
Claims (20)
- 自己マシンに対応する環境における物体の位置を判定する方法であって、
絶対座標系における第1の物体の位置を判定するステップと、
前記第1の物体の前記位置に対する1つ又は複数の第2の物体の位置情報を受信するステップと、
並列処理回路を使用して、前記絶対座標系における前記1つ又は複数の第2の物体の位置を、前記第1の物体の前記位置に対する前記1つ又は複数の第2の物体の前記位置情報から及び前記絶対座標系における前記第1の物体の前記位置から判定するステップと
を含む、方法。 - 前記1つ又は複数の第2の物体の前記位置が、前記1つ又は複数の第2の物体の少なくとも1つの画像を使用して判定される、請求項1に記載の方法。
- 前記少なくとも1つの画像が、前記自己マシンに対応するカメラを使用してキャプチャされた少なくとも1つの画像である、請求項2に記載の方法。
- 前記1つ又は複数の第2の物体の位置情報を前記受信するステップがさらに、前記第1の物体の前記位置に対するそれぞれの第2の物体の位置の複数の推定値を、1つ又は複数の自己マシンから受信するステップを含み、前記方法がさらに、それぞれの第2の物体の位置の前記複数の推定値から前記第1の物体に対する前記1つ又は複数の第2の物体の位置を判定するステップを含み、
前記1つ又は複数の第2の物体の位置を前記判定するステップがさらに、前記絶対座標系における前記1つ又は複数の第2の物体の前記位置を、前記第1の物体に対する前記1つ又は複数の第2の物体の前記判定された位置から及び前記絶対座標系における前記第1の物体の前記位置から判定するステップを含む、請求項1に記載の方法。 - 前記絶対座標系が、第1の絶対座標系であり、前記方法がさらに、第2の絶対座標系における前記1つ又は複数の第2の物体の位置を少なくとも部分的に前記第1の絶対座標系における前記1つ又は複数の第2の物体の前記判定された位置から判定するステップと、前記第2の絶対座標系における前記1つ又は複数の第2の物体の前記位置を送信するステップとを含む、請求項1に記載の方法。
- 前記絶対座標系における前記1つ又は複数の第2の物体の前記位置を送信するステップをさらに含む、請求項1に記載の方法。
- 前記1つ又は複数の第2の物体の更新された位置情報を受信するステップと、前記更新された位置情報から前記絶対座標系における前記1つ又は複数の第2の物体の前記位置を訂正するステップとをさらに含む、請求項1に記載の方法。
- 自己マシンに対応する環境における物体の絶対座標系における位置を判定する方法であって、
絶対座標系における第1の物体の位置を判定するステップと、
自己マシンに対応する並列処理回路を使用して、前記自己マシンが移動している間、第1の物体に対する第2の物体の位置を判定するステップと、
前記車両の前記並列処理回路を使用して、前記絶対座標系における前記第2の物体の位置を、前記第1の物体に対する前記第2の物体の前記位置及び前記絶対座標系における前記第1の物体の前記位置から判定するステップと、
前記絶対座標系における前記第2の物体の前記位置を送信するステップと
を含む、方法。 - 前記第2の物体の前記位置を前記判定するステップがさらに、前記第1の物体に対する前記第2の物体の前記位置を前記第1の物体及び前記第2の物体の1つ又は複数の画像から判定するステップを含む、請求項8に記載の方法。
- 前記第2の物体の前記位置を前記判定するステップがさらに、前記自己マシンに対する前記第1の物体の位置を判定するステップと、前記自己マシンに対する前記第2の物体の前記位置を判定するステップと、前記第1の物体に対する前記第2の物体の前記位置を前記車両に対する前記第1の物体の前記位置及び前記自己マシンに対する前記第2の物体の前記位置から判定するステップとを含む、請求項8に記載の方法。
- 自己マシンに対応する環境における第1の物体の絶対座標系における位置を判定することと、前記第1の物体の前記位置に対する前記環境における1つ又は複数の第2の物体の位置情報を受信することと、前記絶対座標系における前記第1の物体の前記位置及び前記第1の物体の前記位置に対する前記1つ又は複数の第2の物体の前記位置情報に少なくとも部分的に基づいて前記絶対座標系における前記1つ又は複数の第2の物体の位置を判定することとを行うための1つ又は複数の処理ユニット
を含む、プロセッサ。 - 前記1つ又は複数の第2の物体の前記位置が、前記1つ又は複数の第2の物体の少なくとも1つの画像を使用して判定される、請求項11に記載のプロセッサ。
- 前記少なくとも1つの画像が、前記自己マシンに対応するカメラを使用してキャプチャされた少なくとも1つの画像である、請求項12に記載のプロセッサ。
- 前記1つ又は複数の処理ユニットが、前記第1の物体の前記位置に対するそれぞれの第2の物体の位置の複数の推定値を、1つ又は複数の自己マシンから受信することによって前記1つ又は複数の第2の物体の位置情報を受信することになっており、
前記1つ又は複数の処理ユニットがさらに、それぞれの第2の物体の位置の前記複数の推定値から前記第1の物体に対する前記1つ又は複数の第2の物体の位置を判定することになっており、
前記1つ又は複数の処理ユニットが、前記絶対座標系における前記1つ又は複数の第2の物体の前記位置を、前記第1の物体に対する前記1つ又は複数の第2の物体の前記判定された位置から、及び前記絶対座標系における前記第1の物体の前記位置から判定することによって前記1つ又は複数の第2の物体の前記位置を判定することになっている、
請求項11に記載のプロセッサ。 - 前記絶対座標系が、第1の絶対座標系であり、前記1つ又は複数の処理ユニットがさらに、第2の絶対座標系における前記1つ又は複数の第2の物体の位置を少なくとも部分的に前記第1の絶対座標系における前記1つ又は複数の第2の物体の前記判定された位置から判定することになっており、前記第2の絶対座標系における前記1つ又は複数の第2の物体の前記位置を送信することになっている、請求項11に記載のプロセッサ。
- 前記1つ又は複数の処理ユニットがさらに、前記絶対座標系における前記1つ又は複数の第2の物体の前記位置を送信することになっている、請求項11に記載のプロセッサ。
- 前記1つ又は複数の処理ユニットがさらに、前記1つ又は複数の第2の物体の更新された位置情報を受信することになっており、前記更新された位置情報から前記絶対座標系における前記1つ又は複数の第2の物体の前記位置を訂正することになっている、請求項11に記載のプロセッサ。
- 自己マシンに対応する環境における第1の物体の絶対座標系における位置を判定することと、前記自己マシンが移動している間、第1の物体に対する前記環境における第2の物体の位置を判定することと、前記第1の物体に対する前記第2の物体の前記位置及び前記絶対座標系における前記第1の物体の前記位置に基づいて前記絶対座標系における前記第2の物体の位置を判定することと、前記絶対座標系における前記第2の物体の前記位置を送信することとを行うための1つ又は複数の処理ユニット
を含む、プロセッサ。 - 前記1つ又は複数の処理ユニットが、さらに前記第1の物体に対する前記第2の物体の前記位置を前記第1の物体及び前記第2の物体の1つ又は複数の画像から判定することによって前記第2の物体の前記位置を判定することになっている、請求項18に記載のプロセッサ。
- 前記1つ又は複数の処理ユニットが、前記自己マシンに対する前記第1の物体の位置を判定すること、前記自己マシンに対する前記第2の物体の前記位置を判定すること、及び前記第1の物体に対する前記第2の物体の前記位置を前記車両に対する前記第1の物体の前記位置及び前記自己マシンに対する前記第2の物体の前記位置から判定することによって前記第2の物体の前記位置を判定することになっている、請求項18に記載のプロセッサ。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US17/234,397 | 2021-04-19 | ||
US17/234,397 US12055412B2 (en) | 2021-04-19 | 2021-04-19 | System and methods for updating high definition maps |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2022165372A true JP2022165372A (ja) | 2022-10-31 |
Family
ID=83447474
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2021183305A Pending JP2022165372A (ja) | 2021-04-19 | 2021-11-10 | 高解像度マップを更新するためのシステム及び方法 |
Country Status (4)
Country | Link |
---|---|
US (1) | US12055412B2 (ja) |
JP (1) | JP2022165372A (ja) |
CN (1) | CN115218888A (ja) |
DE (1) | DE102022107848A1 (ja) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20230000655A (ko) * | 2021-06-25 | 2023-01-03 | 현대자동차주식회사 | 차량 및 그 제어 방법 |
US11821738B2 (en) * | 2021-11-03 | 2023-11-21 | Gm Cruise Holdings Llc | Methodology for establishing time of response to map discrepancy detection event |
CN116847059A (zh) * | 2022-03-24 | 2023-10-03 | 北京小米移动软件有限公司 | 深度摄像头、深度图像采集装置和多传感器融合系统 |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20080243378A1 (en) * | 2007-02-21 | 2008-10-02 | Tele Atlas North America, Inc. | System and method for vehicle navigation and piloting including absolute and relative coordinates |
US10885698B2 (en) | 2018-08-10 | 2021-01-05 | Nvidia Corporation | Method for programmable timeouts of tree traversal mechanisms in hardware |
JP7167876B2 (ja) * | 2018-08-31 | 2022-11-09 | 株式会社デンソー | 地図生成システム、サーバ、方法 |
-
2021
- 2021-04-19 US US17/234,397 patent/US12055412B2/en active Active
- 2021-11-10 JP JP2021183305A patent/JP2022165372A/ja active Pending
-
2022
- 2022-04-01 DE DE102022107848.5A patent/DE102022107848A1/de active Pending
- 2022-04-18 CN CN202210403826.7A patent/CN115218888A/zh active Pending
Also Published As
Publication number | Publication date |
---|---|
US20220333950A1 (en) | 2022-10-20 |
CN115218888A (zh) | 2022-10-21 |
US12055412B2 (en) | 2024-08-06 |
DE102022107848A1 (de) | 2022-10-20 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11755025B2 (en) | Guiding vehicles through vehicle maneuvers using machine learning models | |
JP7399164B2 (ja) | 駐車スペース検出に適したスキューされたポリゴンを使用した物体検出 | |
US11648945B2 (en) | Intersection detection and classification in autonomous machine applications | |
JP7424866B2 (ja) | 環境内のオブジェクトのレーン割り当てを決定するための障害物及びレーン検出の活用 | |
US11885907B2 (en) | Deep neural network for detecting obstacle instances using radar sensors in autonomous machine applications | |
US11531088B2 (en) | Deep neural network for detecting obstacle instances using radar sensors in autonomous machine applications | |
EP3832341A1 (en) | Deep neural network for detecting obstacle instances using radar sensors in autonomous machine applications | |
US20230152805A1 (en) | Using neural networks to perform fault detection in autonomous driving applications | |
CN112989914B (zh) | 具有自适应加权输入的注视确定机器学习系统 | |
JP2023531330A (ja) | マシン学習を使用した自律マシン・アプリケーションのためのセンサ融合 | |
JP2023509831A (ja) | 自律マシン・アプリケーションにおける車線変更プランニング及び制御 | |
JP2022538813A (ja) | 自律マシン・アプリケーションのための交差点領域検出及び分類 | |
JP2023507695A (ja) | 自律運転アプリケーションのための3次元交差点構造予測 | |
JP2023503729A (ja) | 自律運転アプリケーションのための曲線適合を使用するランドマーク検出 | |
JP2023031237A (ja) | 自律マシン・アプリケーションのためのLiDARデータを使用する物体追跡 | |
US20230110713A1 (en) | Training configuration-agnostic machine learning models using synthetic data for autonomous machine applications | |
US12055412B2 (en) | System and methods for updating high definition maps | |
US12050285B2 (en) | Deep neural network for detecting obstacle instances using radar sensors in autonomous machine applications | |
JP2023051713A (ja) | 自律マシン・アプリケーションにおける深層学習を使用する視認距離推定 | |
JP2023065279A (ja) | 自律システムのための譲るシナリオのエンコード | |
JP2023021910A (ja) | 自律マシン・アプリケーションにおける距離画像マッピングのための信念伝搬 | |
US20230406315A1 (en) | Encoding junction information in map data | |
JP2023071168A (ja) | 自律マシン・アプリケーションのための粒子ベース危険検出 | |
US20230311855A1 (en) | Perception-based parking assistance for autonomous machine systems and applications | |
JP2022117916A (ja) | 自律マシン・アプリケーションのための配備されたディープ・ニューラル・ネットワークのパッチ |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20240819 |