JP2023526329A - 自律車両のための機械学習ベースモデルの検証およびトレーニングのためのシナリオ識別 - Google Patents
自律車両のための機械学習ベースモデルの検証およびトレーニングのためのシナリオ識別 Download PDFInfo
- Publication number
- JP2023526329A JP2023526329A JP2022569511A JP2022569511A JP2023526329A JP 2023526329 A JP2023526329 A JP 2023526329A JP 2022569511 A JP2022569511 A JP 2022569511A JP 2022569511 A JP2022569511 A JP 2022569511A JP 2023526329 A JP2023526329 A JP 2023526329A
- Authority
- JP
- Japan
- Prior art keywords
- video frames
- traffic
- vehicle
- attributes
- machine learning
- 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
- 238000010801 machine learning Methods 0.000 title claims abstract description 69
- 238000012549 training Methods 0.000 title claims description 61
- 238000010200 validation analysis Methods 0.000 title claims description 18
- 230000009471 action Effects 0.000 claims abstract description 126
- 230000006399 behavior Effects 0.000 claims abstract description 47
- 238000001914 filtration Methods 0.000 claims description 82
- 230000004044 response Effects 0.000 claims description 77
- 238000000034 method Methods 0.000 claims description 57
- 238000003860 storage Methods 0.000 claims description 25
- 230000014509 gene expression Effects 0.000 claims description 13
- 238000012545 processing Methods 0.000 claims description 9
- 238000013527 convolutional neural network Methods 0.000 claims description 3
- 238000013507 mapping Methods 0.000 claims 3
- 230000033001 locomotion Effects 0.000 description 38
- 230000008569 process Effects 0.000 description 25
- 238000004422 calculation algorithm Methods 0.000 description 13
- 238000013528 artificial neural network Methods 0.000 description 12
- 238000004458 analytical method Methods 0.000 description 10
- 230000015654 memory Effects 0.000 description 10
- 239000013598 vector Substances 0.000 description 10
- 238000009826 distribution Methods 0.000 description 9
- 210000002569 neuron Anatomy 0.000 description 9
- 230000008447 perception Effects 0.000 description 9
- 238000010586 diagram Methods 0.000 description 8
- 238000005259 measurement Methods 0.000 description 8
- 238000004590 computer program Methods 0.000 description 7
- 230000008859 change Effects 0.000 description 5
- 230000007246 mechanism Effects 0.000 description 5
- 238000004891 communication Methods 0.000 description 4
- 230000003993 interaction Effects 0.000 description 4
- 238000010276 construction Methods 0.000 description 3
- 238000011156 evaluation Methods 0.000 description 3
- 239000000284 extract Substances 0.000 description 3
- 230000006996 mental state Effects 0.000 description 3
- 230000003287 optical effect Effects 0.000 description 3
- 230000008901 benefit Effects 0.000 description 2
- 238000013500 data storage Methods 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- 239000004973 liquid crystal related substance Substances 0.000 description 2
- 238000007637 random forest analysis Methods 0.000 description 2
- 230000000306 recurrent effect Effects 0.000 description 2
- 230000006403 short-term memory Effects 0.000 description 2
- 230000000007 visual effect Effects 0.000 description 2
- 230000016571 aggressive behavior Effects 0.000 description 1
- 238000003491 array Methods 0.000 description 1
- 238000010923 batch production Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 239000000969 carrier Substances 0.000 description 1
- 238000007796 conventional method Methods 0.000 description 1
- 230000000593 degrading effect Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000002708 enhancing effect Effects 0.000 description 1
- 230000004424 eye movement Effects 0.000 description 1
- 238000013485 heteroscedasticity test Methods 0.000 description 1
- 238000007620 mathematical function Methods 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
- 238000003825 pressing Methods 0.000 description 1
- 230000000644 propagated effect Effects 0.000 description 1
- 230000002441 reversible effect Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 230000001953 sensory effect Effects 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 238000012360 testing method Methods 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
Images
Classifications
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B60—VEHICLES IN GENERAL
- B60W—CONJOINT CONTROL OF VEHICLE SUB-UNITS OF DIFFERENT TYPE OR DIFFERENT FUNCTION; CONTROL SYSTEMS SPECIALLY ADAPTED FOR HYBRID VEHICLES; ROAD VEHICLE DRIVE CONTROL SYSTEMS FOR PURPOSES NOT RELATED TO THE CONTROL OF A PARTICULAR SUB-UNIT
- B60W60/00—Drive control systems specially adapted for autonomous road vehicles
- B60W60/001—Planning or execution of driving tasks
- B60W60/0027—Planning or execution of driving tasks using trajectory prediction for other traffic participants
- B60W60/00272—Planning or execution of driving tasks using trajectory prediction for other traffic participants relying on extrapolation of current movement
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B60—VEHICLES IN GENERAL
- B60W—CONJOINT CONTROL OF VEHICLE SUB-UNITS OF DIFFERENT TYPE OR DIFFERENT FUNCTION; CONTROL SYSTEMS SPECIALLY ADAPTED FOR HYBRID VEHICLES; ROAD VEHICLE DRIVE CONTROL SYSTEMS FOR PURPOSES NOT RELATED TO THE CONTROL OF A PARTICULAR SUB-UNIT
- B60W60/00—Drive control systems specially adapted for autonomous road vehicles
- B60W60/001—Planning or execution of driving tasks
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05D—SYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
- G05D1/00—Control of position, course or altitude of land, water, air, or space vehicles, e.g. automatic pilot
- G05D1/02—Control of position or course in two dimensions
- G05D1/021—Control of position or course in two dimensions specially adapted to land vehicles
- G05D1/0212—Control of position or course in two dimensions specially adapted to land vehicles with means for defining a desired trajectory
- G05D1/0221—Control of position or course in two dimensions specially adapted to land vehicles with means for defining a desired trajectory involving a learning process
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05D—SYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
- G05D1/00—Control of position, course or altitude of land, water, air, or space vehicles, e.g. automatic pilot
- G05D1/02—Control of position or course in two dimensions
- G05D1/021—Control of position or course in two dimensions specially adapted to land vehicles
- G05D1/0231—Control of position or course in two dimensions specially adapted to land vehicles using optical position detecting means
- G05D1/0246—Control of position or course in two dimensions specially adapted to land vehicles using optical position detecting means using a video camera in combination with image processing means
-
- G05D1/249—
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/21—Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
- G06F18/211—Selection of the most significant subset of features
- G06F18/2113—Selection of the most significant subset of features by ranking or filtering the set of features, e.g. using a measure of variance or of feature cross-correlation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/21—Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
- G06F18/214—Generating training patterns; Bootstrap methods, e.g. bagging or boosting
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/21—Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
- G06F18/217—Validation; Performance evaluation; Active pattern learning techniques
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/40—Software arrangements specially adapted for pattern recognition, e.g. user interfaces or toolboxes therefor
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N20/00—Machine learning
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N5/00—Computing arrangements using knowledge-based models
- G06N5/04—Inference or reasoning models
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/70—Arrangements for image or video recognition or understanding using pattern recognition or machine learning
- G06V10/764—Arrangements for image or video recognition or understanding using pattern recognition or machine learning using classification, e.g. of video objects
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/70—Arrangements for image or video recognition or understanding using pattern recognition or machine learning
- G06V10/82—Arrangements for image or video recognition or understanding using pattern recognition or machine learning using neural networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V20/00—Scenes; Scene-specific elements
- G06V20/40—Scenes; Scene-specific elements in video content
- G06V20/41—Higher-level, semantic clustering, classification or understanding of video scenes, e.g. detection, labelling or Markovian modelling of sport events or news items
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V20/00—Scenes; Scene-specific elements
- G06V20/50—Context or environment of the image
- G06V20/56—Context or environment of the image exterior to a vehicle by using sensors mounted on the vehicle
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V20/00—Scenes; Scene-specific elements
- G06V20/50—Context or environment of the image
- G06V20/56—Context or environment of the image exterior to a vehicle by using sensors mounted on the vehicle
- G06V20/58—Recognition of moving objects or obstacles, e.g. vehicles or pedestrians; Recognition of traffic objects, e.g. traffic signs, traffic lights or roads
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V40/00—Recognition of biometric, human-related or animal-related patterns in image or video data
- G06V40/20—Movements or behaviour, e.g. gesture recognition
- G06V40/23—Recognition of whole body movements, e.g. for sport training
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B60—VEHICLES IN GENERAL
- B60W—CONJOINT CONTROL OF VEHICLE SUB-UNITS OF DIFFERENT TYPE OR DIFFERENT FUNCTION; CONTROL SYSTEMS SPECIALLY ADAPTED FOR HYBRID VEHICLES; ROAD VEHICLE DRIVE CONTROL SYSTEMS FOR PURPOSES NOT RELATED TO THE CONTROL OF A PARTICULAR SUB-UNIT
- B60W2420/00—Indexing codes relating to the type of sensors based on the principle of their operation
- B60W2420/40—Photo or light sensitive means, e.g. infrared sensors
- B60W2420/403—Image sensing, e.g. optical camera
-
- B60W2420/408—
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B60—VEHICLES IN GENERAL
- B60W—CONJOINT CONTROL OF VEHICLE SUB-UNITS OF DIFFERENT TYPE OR DIFFERENT FUNCTION; CONTROL SYSTEMS SPECIALLY ADAPTED FOR HYBRID VEHICLES; ROAD VEHICLE DRIVE CONTROL SYSTEMS FOR PURPOSES NOT RELATED TO THE CONTROL OF A PARTICULAR SUB-UNIT
- B60W2552/00—Input parameters relating to infrastructure
- B60W2552/05—Type of road
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B60—VEHICLES IN GENERAL
- B60W—CONJOINT CONTROL OF VEHICLE SUB-UNITS OF DIFFERENT TYPE OR DIFFERENT FUNCTION; CONTROL SYSTEMS SPECIALLY ADAPTED FOR HYBRID VEHICLES; ROAD VEHICLE DRIVE CONTROL SYSTEMS FOR PURPOSES NOT RELATED TO THE CONTROL OF A PARTICULAR SUB-UNIT
- B60W2552/00—Input parameters relating to infrastructure
- B60W2552/53—Road markings, e.g. lane marker or crosswalk
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B60—VEHICLES IN GENERAL
- B60W—CONJOINT CONTROL OF VEHICLE SUB-UNITS OF DIFFERENT TYPE OR DIFFERENT FUNCTION; CONTROL SYSTEMS SPECIALLY ADAPTED FOR HYBRID VEHICLES; ROAD VEHICLE DRIVE CONTROL SYSTEMS FOR PURPOSES NOT RELATED TO THE CONTROL OF A PARTICULAR SUB-UNIT
- B60W2554/00—Input parameters relating to objects
- B60W2554/40—Dynamic objects, e.g. animals, windblown objects
- B60W2554/402—Type
- B60W2554/4029—Pedestrians
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B60—VEHICLES IN GENERAL
- B60W—CONJOINT CONTROL OF VEHICLE SUB-UNITS OF DIFFERENT TYPE OR DIFFERENT FUNCTION; CONTROL SYSTEMS SPECIALLY ADAPTED FOR HYBRID VEHICLES; ROAD VEHICLE DRIVE CONTROL SYSTEMS FOR PURPOSES NOT RELATED TO THE CONTROL OF A PARTICULAR SUB-UNIT
- B60W2554/00—Input parameters relating to objects
- B60W2554/40—Dynamic objects, e.g. animals, windblown objects
- B60W2554/404—Characteristics
- B60W2554/4041—Position
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B60—VEHICLES IN GENERAL
- B60W—CONJOINT CONTROL OF VEHICLE SUB-UNITS OF DIFFERENT TYPE OR DIFFERENT FUNCTION; CONTROL SYSTEMS SPECIALLY ADAPTED FOR HYBRID VEHICLES; ROAD VEHICLE DRIVE CONTROL SYSTEMS FOR PURPOSES NOT RELATED TO THE CONTROL OF A PARTICULAR SUB-UNIT
- B60W2554/00—Input parameters relating to objects
- B60W2554/40—Dynamic objects, e.g. animals, windblown objects
- B60W2554/404—Characteristics
- B60W2554/4044—Direction of movement, e.g. backwards
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B60—VEHICLES IN GENERAL
- B60W—CONJOINT CONTROL OF VEHICLE SUB-UNITS OF DIFFERENT TYPE OR DIFFERENT FUNCTION; CONTROL SYSTEMS SPECIALLY ADAPTED FOR HYBRID VEHICLES; ROAD VEHICLE DRIVE CONTROL SYSTEMS FOR PURPOSES NOT RELATED TO THE CONTROL OF A PARTICULAR SUB-UNIT
- B60W2554/00—Input parameters relating to objects
- B60W2554/40—Dynamic objects, e.g. animals, windblown objects
- B60W2554/404—Characteristics
- B60W2554/4045—Intention, e.g. lane change or imminent movement
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B60—VEHICLES IN GENERAL
- B60W—CONJOINT CONTROL OF VEHICLE SUB-UNITS OF DIFFERENT TYPE OR DIFFERENT FUNCTION; CONTROL SYSTEMS SPECIALLY ADAPTED FOR HYBRID VEHICLES; ROAD VEHICLE DRIVE CONTROL SYSTEMS FOR PURPOSES NOT RELATED TO THE CONTROL OF A PARTICULAR SUB-UNIT
- B60W2554/00—Input parameters relating to objects
- B60W2554/40—Dynamic objects, e.g. animals, windblown objects
- B60W2554/404—Characteristics
- B60W2554/4046—Behavior, e.g. aggressive or erratic
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B60—VEHICLES IN GENERAL
- B60W—CONJOINT CONTROL OF VEHICLE SUB-UNITS OF DIFFERENT TYPE OR DIFFERENT FUNCTION; CONTROL SYSTEMS SPECIALLY ADAPTED FOR HYBRID VEHICLES; ROAD VEHICLE DRIVE CONTROL SYSTEMS FOR PURPOSES NOT RELATED TO THE CONTROL OF A PARTICULAR SUB-UNIT
- B60W2554/00—Input parameters relating to objects
- B60W2554/40—Dynamic objects, e.g. animals, windblown objects
- B60W2554/404—Characteristics
- B60W2554/4047—Attentiveness, e.g. distracted by mobile phone
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B60—VEHICLES IN GENERAL
- B60W—CONJOINT CONTROL OF VEHICLE SUB-UNITS OF DIFFERENT TYPE OR DIFFERENT FUNCTION; CONTROL SYSTEMS SPECIALLY ADAPTED FOR HYBRID VEHICLES; ROAD VEHICLE DRIVE CONTROL SYSTEMS FOR PURPOSES NOT RELATED TO THE CONTROL OF A PARTICULAR SUB-UNIT
- B60W2554/00—Input parameters relating to objects
- B60W2554/40—Dynamic objects, e.g. animals, windblown objects
- B60W2554/408—Traffic behavior, e.g. swarm
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B60—VEHICLES IN GENERAL
- B60W—CONJOINT CONTROL OF VEHICLE SUB-UNITS OF DIFFERENT TYPE OR DIFFERENT FUNCTION; CONTROL SYSTEMS SPECIALLY ADAPTED FOR HYBRID VEHICLES; ROAD VEHICLE DRIVE CONTROL SYSTEMS FOR PURPOSES NOT RELATED TO THE CONTROL OF A PARTICULAR SUB-UNIT
- B60W2554/00—Input parameters relating to objects
- B60W2554/80—Spatial relation or speed relative to objects
- B60W2554/801—Lateral distance
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B60—VEHICLES IN GENERAL
- B60W—CONJOINT CONTROL OF VEHICLE SUB-UNITS OF DIFFERENT TYPE OR DIFFERENT FUNCTION; CONTROL SYSTEMS SPECIALLY ADAPTED FOR HYBRID VEHICLES; ROAD VEHICLE DRIVE CONTROL SYSTEMS FOR PURPOSES NOT RELATED TO THE CONTROL OF A PARTICULAR SUB-UNIT
- B60W2556/00—Input parameters relating to data
- B60W2556/20—Data confidence level
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/045—Combinations of networks
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Evolutionary Computation (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Artificial Intelligence (AREA)
- Data Mining & Analysis (AREA)
- Multimedia (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Computing Systems (AREA)
- Health & Medical Sciences (AREA)
- General Health & Medical Sciences (AREA)
- Human Computer Interaction (AREA)
- Automation & Control Theory (AREA)
- Life Sciences & Earth Sciences (AREA)
- Medical Informatics (AREA)
- Mathematical Physics (AREA)
- Computational Linguistics (AREA)
- Evolutionary Biology (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Bioinformatics & Computational Biology (AREA)
- Transportation (AREA)
- Mechanical Engineering (AREA)
- Databases & Information Systems (AREA)
- Aviation & Aerospace Engineering (AREA)
- Remote Sensing (AREA)
- Radar, Positioning & Navigation (AREA)
- Biophysics (AREA)
- Molecular Biology (AREA)
- Biomedical Technology (AREA)
- Psychiatry (AREA)
- Social Psychology (AREA)
- Electromagnetism (AREA)
- Traffic Control Systems (AREA)
- Image Analysis (AREA)
- Control Of Driving Devices And Active Controlling Of Vehicle (AREA)
Abstract
システムは機械学習ベースモデルを使用して、自律車両によってキャプチャされたビデオフレーム内の交通エンティティの精神の状態および行動を説明する属性を決定する。システムは、機械学習ベースモデルの精度を検証するために、グラウンドトゥルースシナリオに関連付けられたビデオフレームのセットを識別し、ビデオフレーム内の交通エンティティの属性を予測する。システムは、ビデオフレームのセットの後にキャプチャされたビデオフレームを分析して、交通エンティティの実際の属性を決定する。予測された属性と実際の属性との比較に基づいて、システムは、機械学習ベースモデルが正確な予測を行う可能性を決定し、その可能性を使用して、自律車両を制御するためのナビゲーションアクションテーブルを生成する。
Description
本開示は、一般的には自律車両のナビゲーションに関し、より具体的には、自律車両のナビゲーションのために交通エンティティの属性を予測するために使用される機械学習ベースモデルの評価のために、グラウンドトゥルースベースのメトリックを使用することに関する。本開示はまた、自律車両のナビゲーションのために使用される機械学習ベースモデルの検証およびトレーニングのための交通シナリオを識別することに関する。
[関連出願への相互参照]
本出願は、2020年5月15日に出願された米国仮出願第63/025,766号および2020年5月15日に出願された米国仮出願第63/025,771号の利益を主張するものであり、これらの全ては、その全体が参照により組み込まれる。
本出願は、2020年5月15日に出願された米国仮出願第63/025,766号および2020年5月15日に出願された米国仮出願第63/025,771号の利益を主張するものであり、これらの全ては、その全体が参照により組み込まれる。
自律車両は、異なるタイプのセンサを使用して、交通を走行中に自律車両の周囲(または環境)を説明する入力を受信する。例えば、自律車両は、カメラ画像およびlidarスキャンを使用して周囲を認識し得る。自律車両は、周囲のオブジェクト、例えば、建物または樹木、が静止している、またはオブジェクト、例えば、歩行者、車両、が静止であるかなどを決定する。自律車両システムは、自律車両が交通中の非静止障害物を通りナビゲートすることを可能にさせるために、非静止オブジェクトの運動を予測する。
従来のシステムは、歩行者および他の車両の運動を予測して、それらが自律車両の経路に入る可能性があるかどうかを決定する。自律車両は、歩行者または他の車両との衝突を回避するために、交通の中をナビゲートする。しかし、従来の技術は、特定の非静止オブジェクト例えば、歩行者、自転車などの運動を正確に予測することができない。例えば、自律車両が通りの角に立っている歩行者を検出した場合、歩行者の現在の運動だけでは、歩行者が通りを横断するかどう、または歩行者が通りの角に立ったままであるかどうかを予測するための十分な情報を提供しない。同様に、自律車両が車線内で自転車を検出した場合、自転車の現在の運動は、自転車が車線を変更するかどうかを予測するための十分な情報を提供しない。
自律車両が非静止交通オブジェクトの動きを正確に予測できないことは、例えば、歩行者が道路を移動することによって自律車両が突然停止したり、または、たとえ人が通りを横断する意図がなくても、自律車両が、人が通りを横断するのを待ち続けたりする結果として、自律車両の不自然な運動をもたらす。
[概要]
実施形態は、機械学習ベースモデル(MLモデル)を使用して、交通エンティティに関連付けられた隠れたコンテキスト属性を予測し、交通におけるこれらの交通エンティティの行動を決定する。交通エンティティは、自律車両が走行している交通内の非静止オブジェクト、例えば、歩行者、自転車、車両、配達ロボットなどを表す。隠れたコンテキストは、そのような交通エンティティの行動に影響を及ぼす要因、例えば、歩行者などの交通エンティティによって表されるユーザの精神の状態を含む。隠れたコンテキストは、交通エンティティによって表されるユーザが達成することを計画しているタスク、例えば、通りを横断すること、または通りに踏み込んで何らかのオブジェクトを拾うことを表し得る。このシステムは、隠れたコンテキストを使用して、人間の運転者が行動を判断する方法により近い方法で、車両の近くにいる人々の行動を予測する。隠れたコンテキストは、交通エンティティによって表されるユーザの目標を表し得、ユーザは、閾値時間間隔内に目標を達成することを期待する。例えば、目標は、通りを横断して、次の数秒以内に通りの反対側に到達することを表し得る。
実施形態は、機械学習ベースモデル(MLモデル)を使用して、交通エンティティに関連付けられた隠れたコンテキスト属性を予測し、交通におけるこれらの交通エンティティの行動を決定する。交通エンティティは、自律車両が走行している交通内の非静止オブジェクト、例えば、歩行者、自転車、車両、配達ロボットなどを表す。隠れたコンテキストは、そのような交通エンティティの行動に影響を及ぼす要因、例えば、歩行者などの交通エンティティによって表されるユーザの精神の状態を含む。隠れたコンテキストは、交通エンティティによって表されるユーザが達成することを計画しているタスク、例えば、通りを横断すること、または通りに踏み込んで何らかのオブジェクトを拾うことを表し得る。このシステムは、隠れたコンテキストを使用して、人間の運転者が行動を判断する方法により近い方法で、車両の近くにいる人々の行動を予測する。隠れたコンテキストは、交通エンティティによって表されるユーザの目標を表し得、ユーザは、閾値時間間隔内に目標を達成することを期待する。例えば、目標は、通りを横断して、次の数秒以内に通りの反対側に到達することを表し得る。
いくつかの実施形態において、システムは、自律車両が遭遇し得る様々な交通シナリオにおける交通エンティティの隠れたコンテキスト属性を予測するように構成されたMLモデルをトレーニング/検証するために、様々なタイプの交通シナリオの包括的な適用範囲(coverage)を提供するビデオフレームを抽出する。システムは、ビデオに描写された交通シナリオに従ってビデオフレームを分類し、各シナリオは、(1)速度、曲がる方向などの車両属性、および(2)交通エンティティの行動を説明する交通属性、例えば、歩行者が通りを横断したか否か、および(3)道路属性、例えば、交差点または横断歩道が近づいているか否かを含む1つまたは複数の属性に基づくフィルタに関連付けられる。システムは大量のビデオフレームへのアクセスを有するため、すべてのビデオフレームでMLモデルをトレーニングすることは実用的ではない。代わりに、フィルタをビデオフレームに適用して、さまざまな交通シナリオを表すビデオフレームのサブセットを識別し、さまざまな交通シナリオに対する適切なトレーニングを保証できる。
いくつかの実施形態では、フィルタをビデオフレームに適用して、予測の結果が高い精度で具体的な歩行者の行動に基づいて検証できるグラウンドトゥルースシナリオを識別できる。例えば、グラウンドトゥルースシナリオは、2つの可能な結果、すなわち、人が通りを横断した、または人が通りを横断しなかったか、のうちの1つに関連付けられた特定のシナリオを表す。したがって、システムは、自律車両のカメラによってキャプチャされたビデオを検査して、交通エンティティがMLモデル出力に対応する行動を実行したかどうかを検証する。システムは、予測された行動と実際の行動との比較を使用して、MLモデルを検証する。
開示された主題の様々な目的、特徴、および利点は、以下の図面に関連して考慮される場合、開示された主題の以下の詳細な説明を参照してより十分に理解でき、同様の参照番号は同様の要素を示す。
[詳細な説明]
一実施形態によれば、自律車両は、例えば、自律車両上のセンサによってキャプチャされたセンサデータに基づいて、交通エンティティを識別する。センサデータは、自律車両に搭載されたカメラによってキャプチャされた画像、または自律車両に搭載されたlidarによってキャプチャされたlidarスキャンを表し得る。各交通エンティティに対して、交通エンティティの動きを説明するモーションパラメータが決定される。隠れたコンテキストは、機械学習ベースモデルに基づいて決定される。機械学習ベースモデルは、交通シナリオをユーザに示す画像またはビデオの提示に応答してユーザから受信したフィードバックに基づいてトレーニングされる。機械学習ベースモデルの出力は、隠れたコンテキストの統計的分布の測定値を含む。
一実施形態によれば、自律車両は、例えば、自律車両上のセンサによってキャプチャされたセンサデータに基づいて、交通エンティティを識別する。センサデータは、自律車両に搭載されたカメラによってキャプチャされた画像、または自律車両に搭載されたlidarによってキャプチャされたlidarスキャンを表し得る。各交通エンティティに対して、交通エンティティの動きを説明するモーションパラメータが決定される。隠れたコンテキストは、機械学習ベースモデルに基づいて決定される。機械学習ベースモデルは、交通シナリオをユーザに示す画像またはビデオの提示に応答してユーザから受信したフィードバックに基づいてトレーニングされる。機械学習ベースモデルの出力は、隠れたコンテキストの統計的分布の測定値を含む。
自律車両は、センサデータに基づいて決定された交通エンティティのそれぞれのモーションパラメータおよび隠れたコンテキストに基づいてナビゲートされる。
一実施形態によれば、機械学習ベースモデルは、以下のようにトレーニングされる。本システムは、交通エンティティを表す複数のビデオフレームを含む刺激(stimuli)を生成する。この刺激は、通りおよび/または車両の近くの交通エンティティのサンプル画像を含み、人々がどのように行動すると信じているかについての理解を示す、またはその理解のために測定される。この刺激は、車両が曲がることを計画している曲がる方向を示すように修正される。例えば、刺激の画像は、曲がる方向(例えば、左折、右折、右折なし)を表す矢印を含み得る。あるいは、刺激は、曲がる方向を説明するテキスト情報で注釈され得る。システムは、刺激をユーザのグループ(または人間の観察者)に提示する。次に、これらの指標または測定値は、現実世界のコンテキストにおいて人々がどのように行動するかを表す隠れたコンテキストの統計的分布の測定値を出力することによって、機械学習ベースモデルをトレーニングするためのコンポーネントとして使用される。機械学習ベースモデルは、トレーニング環境におけるサンプル画像に対する人間の観察者の反応に基づいてトレーニングされる。トレーニングされた機械学習ベースモデルは、実世界の環境における交通エンティティの行動、例えば、車両が交通を通ってナビゲートするときの交通における歩行者の行動、を予測する。
一実施形態では、自律車両は、交通エンティティのそれぞれのモーションパラメータおよび隠れたコンテキストに基づいて、自律車両を制御するための信号を生成することによってナビゲーションされる。生成された信号は、自律車両の制御装置に送信される。
車両との人間の相互作用を予測するシステムは、2017年12月4日に出願された米国特許出願第15/830,549号に開示されており、その全体が参照により本明細書に組み込まれる。機械学習ベースモデルに基づいて自律車両を制御するためのシステムは、2020年1月30日に出願された米国特許出願番号16/777,386、2020年1月30日に出願された米国特許出願番号16/777,673、および2020年1月30日に出願された米国特許出願番号16/709,788、ならびに2020年1月30日に出願されたPCT特許出願番号PCT/US2020/015889に記載されており、これらの各々は、その全体が参照により本明細書に組み込まれる。
[システム環境]
図1Aは、本開示のいくつかの実施形態による、人間の行動を予測するためのネットワーク化されたシステムのシステム図である。図1Aは、車両102、ネットワーク104、サーバ106、ユーザ応答データベース110、クライアントデバイス108、モデルトレーニングシステム112、車両コンピューティングシステム120、および交通シナリオシステム116を示す。
図1Aは、本開示のいくつかの実施形態による、人間の行動を予測するためのネットワーク化されたシステムのシステム図である。図1Aは、車両102、ネットワーク104、サーバ106、ユーザ応答データベース110、クライアントデバイス108、モデルトレーニングシステム112、車両コンピューティングシステム120、および交通シナリオシステム116を示す。
車両102は、車、バス、電車、スクータ、または自転車などの任意のタイプの手動または電動車両とすることができる。一実施形態では、車両102は自律車両である。以下により詳細に説明するように、車両102は、車両を取り囲む環境を監視するためのセンサを含むことができる。一実施形態では、センサは、車両の近くにいる人々のビデオをキャプチャするために車両の任意の部分に取り付けられたカメラを含むことができる。
交通シナリオシステム116は、様々な交通シナリオを決定し、各交通シナリオに対応するビデオフレームをフィルタリングする。これらの交通シナリオのいくつかは、グラウンドトゥルースシナリオとしてマークされ、グラウンドトゥルース分析に使用される。交通シナリオシステム116はさらに、MLモデルへの入力として提供されたビデオフレームに続くビデオフレームの分析に基づいて、車両によってキャプチャされたビデオを分析して、MLモデルによって生成された出力が正確であったかどうかを決定する。
交通シナリオシステム116は、モデル出力の分析に基づいてナビゲーションアクションテーブル260を生成する。ナビゲーションアクションテーブル260は、MLモデルを使用して特定の出力を生成することに応答して取られるべきアクションを決定するために、自律車両によって使用される。交通シナリオシステム116の詳細は、図2Bに関連してさらに説明される。
ネットワーク104は、車両102によって収集されたセンサデータを受信し、それをサーバ106、モデルトレーニングシステム112、およびモデルトレーニングシステム112を介して車両コンピューティングシステム120に配信することが可能な任意の有線および/または無線ネットワークとすることができる。
サーバ106は、(1)情報(画像、ビデオおよびテキスト情報など)をホストし、それをユーザ端末(クライアントデバイス108など)に配信し、(2)その情報に対する複数のユーザ(または人間の観察者)の応答を記録し、(3)そのような情報および付随する応答(クライアントデバイス108を介して入力された応答など)をネットワーク104に返送することが可能な任意のタイプのコンピュータシステムとすることができる。
ユーザ応答データベース110は、画像、ビデオ、およびテキスト情報と、関連するユーザ応答とを格納し、続いてクエリに応答してそれらを呼び出すことが可能な任意のタイプのデータベースまたはデータストレージシステムとすることができる。
モデルトレーニングシステム112は、交通エンティティの隠れたコンテキスト属性を予測するように構成された機械学習ベースモデルをトレーニングする。モデルトレーニングシステム112は、任意のタイプのコンピューティングシステムに実装できる。一実施形態において、システム112は、ネットワーク104を介してデータベース110から画像、ビデオ、および/またはテキスト情報と、付随する、またはリンクされたユーザ応答とを受信する。いくつかの実施形態では、テキストセグメントは離散値またはフリーテキスト応答である。モデルトレーニングシステム112は、アルゴリズムをトレーニングするためのトレーニング例として、画像、ビデオセグメントおよびテキストセグメントを使用でき、トレーニングされたアルゴリズムに基づいて付随するユーザ応答からラベルを作成できる。これらのラベルは、関連する画像、ビデオ、および/またはテキストセグメント内の人々の行動をアルゴリズムがどのように予測するかを示す。ラベルが作成された後、モデルトレーニングシステム112は、それらを予測エンジン144に送信できる。
車両コンピューティングシステム120は、任意のコンピューティングシステムに実装できる。例示的な実施例では、車両コンピューティングシステム120は、モデルトレーニングシステム112によってトレーニングされた機械学習ベースモデルを実行する予測エンジン(例えば、予測エンジン114)を含む。機械学習ベースモデルは、モデルトレーニングシステム112から受信したラベルおよび関連する画像、ビデオ、および/またはテキストセグメントに基づいて、新しい(例えば、実際の「実世界」)画像、ビデオ、および/またはテキストセグメントのラベルを出力するように構成される。いくつかの実施形態では、このラベルは、アルゴリズムがトレーニングされている間に類似の画像、ビデオ、またはテキストセグメントを提示された多数のユーザ(または人間の観察者)の応答に関する集約または要約情報を含む。
図1B乃至Dは、本開示のいくつかの実施形態による交通シナリオシステムによって処理される様々な例示的な交通シナリオ150を示す。交通シナリオ150aは、車両102が直進しているときに横断歩道に接近する歩行者162を含む交通シナリオを表す。歩行者162は、機会があれば、一時停止する、横断歩道を渡って進む、歩道を歩き続ける、または横断歩道で待機し得る。交通シナリオ150bは、車両102が直進しているときに、道路に平行な歩道を横断歩道に向かって歩く群衆164を含む交通シナリオを表し、歩行者164Aは、機会があれば、横断歩道にて/その近くを横断し、他の歩行者164Bは歩道を歩き続ける。交通シナリオ150cは、横断歩道が近くにない場合に、直進している自律車両102の前方を横断/交通規則や信号を無視して横断(jaywalking)している歩行者166を含む交通シナリオを表す。交通シナリオ150dは、車両の運動と反対方向に道路上の歩道と平行に歩行する歩行者168の集団を含む交通シナリオを表す。交通シナリオ150eは、交差点で右折する自律車両102と、横断歩道の近くに立つ歩行者170の集団を含む交通シナリオを表す。交通シナリオ150fは、歩道を右折して駐車場に入る自律車両102を含む交通シナリオを表す。歩行者172は停止することなく、車両102の前の歩道に沿って歩き、一時停止して、その後、車両102の前の歩道に沿って歩き続ける、機会があっても横断しない、または車両102に信号を送り得る(例えば、車両102に向かって手を振る)。
交通シナリオ150に示されているように、各交通シナリオを、交通シナリオに対応する属性のセットによって表すことができる。交通シナリオを特定するために使用される異なるタイプの属性は、交通属性、車両物属性、および道路属性を含む。各交通シナリオは、交通シナリオを表す属性の値を識別するフィルタリング基準のセットを含むフィルタに関連付けられ得る。
交通属性の例は、(1)通りを横切る可能性のある歩行者を交通が含むかどうか、(2)交通がAVを認識している歩行者を含むかどうか、(3)自律車両102からの交通エンティティの距離、(4)歩行者上が歩道にいるかどうか、(5)歩行者162が道路上にいるかどうか、(6)交通エンティティが移動している方向(自律車両102に向かっている、または自律車両102から離れている)、(7)1人の歩行者または歩行者のグループがいるかどうか、(8)車両に対する交通エンティティの位置、(9)交通エンティティの物理的方向、(10)歩行者の姿勢(posture)、(11)交通エンティティの過去および現在の動き(例えば、歩行、走行、停止)、(12)機会があれば歩行者が横断するかどうか、などを説明する属性を含む。
道路属性の例は、(1)自律車両が進行する方向の閾値距離内に来る横断歩道があるか否か、(2)自律車両が進行する方向の閾値距離内に交差点があるか否か、(3)付近に交通取り締まりカメラまたは人員がいるか否か、(4)停止標識または交通信号があるか否か、(5)交通量密度、(6)付近に工事があるか否か、(7)路肩に駐車している車があるか否か、などを説明する属性を含む。
車両属性の例は、車両102の、(1)走行速度、(2)曲がる方向、および(3)車両102の位置、例えば、自律車両102が大都市、小都市、都市境界外などにあるかどうか、などを説明する属性を含む。車両属性値は、OBD(オンボード診断)、IMU(慣性測定ユニット)、またはGPSなどの機器から取得される。例えば、車両102は、IMUから車両102の速度と、GPSから車両102の位置と、およびOBDから車両診断情報と、を取得し得る。
図2Aは、一実施形態による、交通オブジェクトに関連付けられた隠れたコンテキストの予測に基づいて自律車両102をナビゲートする車両コンピューティングシステムのシステムアーキテクチャである。車両コンピューティングシステム120は、予測エンジン114と、将来位置エスティメータ125と、モーションプランナ130と、車両制御モジュール135とを含む。他の実施形態は、図2Aに示されたものよりも多いまたは少ないモジュールを含み得る。本明細書に示された特定のモジュールによって実行される動作は、本明細書に示されたもの以外の他のモジュールによって実行されてもよい。
自律車両のセンサは、自律車両102を取り囲む交通を説明するシーンを表すセンサデータ160をキャプチャする。自律車両102によって使用されるセンサの例は、カメラ、Lidar、GNSS(全地球測位システムまたはGPSなどの全地球型衛星航法システム)、IMU(慣性測定ユニット)などを含む。センサデータの例は、カメラ画像およびLidarスキャンを含む。
交通は、1つまたは複数の交通エンティティ、例えば、歩行者、を含む。車両コンピューティングシステム120は、センサデータ160を分析し、シーン内のさまざまな交通エンティティ、例えば、歩行者、自転車、他の車両など、を識別する。車両コンピューティングシステム120は、交通エンティティに関連付けられたさまざまなパラメータ、例えば、位置(xおよびy座標として表される)、交通エンティティの動きを表すモーションベクトル、骨格の姿勢などを決定する。例えば、車両コンピューティングシステム120は、人の現在および過去の動きのデータを収集し、これらの動きに基づいて現在の時間における人のモーションベクトルを決定し、現在のモーションベクトルに基づいて将来の時間における人の予測された動きを表す将来のモーションベクトルを外挿し得る。車両コンピューティングシステム120は、ある期間にわたって交通エンティティの動きを分析し、ある期間にわたって交通エンティティの位置の変化に基づいてモーションベクトルを決定し得る。
予測エンジン114は、モデルトレーニングシステム112によってトレーニングされた機械学習ベースモデルを適用して、センサデータ160のキャプチャされた1つまたは複数の交通エンティティに関連付けられた予測された隠れたコンテキスト属性を決定する。隠れたコンテキスト属性は、交通エンティティの行動に影響を与える要因を含む。例えば、歩行者の隠れたコンテキスト属性は、歩行者がタスク(例えば、通りを横断する、交差点で停止する、オブジェクトを拾うために通りに乗る)を実行する意図を有する可能性、および歩行者が車両を認識している可能性を示し得る。
将来位置エスティメータ125は、交通エンティティ162の将来の位置を推定する。将来の位置は、交通エンティティの以前および現在の動きに基づいて外挿され得る。モーションプランナ130は、自律車両102の動きに関する計画を決定する。車両制御モジュール135は、動きに関する計画に対応する信号を車両制御装置(例えば、アクセル、ブレーキ、ステアリング、緊急制動システムなど)に送信して、自律車両102の動きを制御する。一実施形態では、センサデータ160に基づいて将来位置エスティメータ125によって決定された交通エンティティ162に関する将来位置エスティメータ125の推定値は、モーションプランナ130への入力として提供される。モーションプランナ130は、交通を介して自律車両102をナビゲートするための計画を決定し、その計画の説明を車両制御モジュール135に提供する。車両制御モジュール135は、車両制御に提供するための信号を生成する。例えば、車両制御モジュール135は緊急制動システムに制御信号を送信し、走行中に車両102を急停止させ得る、車両制御モジュール135は、アクセルに制御信号を送信し車両102の速度を増加または減少させ得る、または車両制御モジュール135は、自律車両102のステアリングに制御信号を送信し、自律車両102が進行する方向を変更させ得る。
図2Bは、一実施形態による交通シナリオシステムのアーキテクチャである。交通シナリオシステム116は、フィルタリングエンジン210、フィルタリング基準生成モジュール220、フィルタリング基準ストア230、ビデオフレームストア240、グラウンドトゥルースモジュール250、およびナビゲーションアクションテーブルモジュール260を含む。他の実施形態は、図2Bに示されたものよりも多いまたは少ないモジュールを含み得る。
交通シナリオシステム116は、MLモデルのトレーニングおよび検証のために、ビデオから異なる交通シナリオを表すビデオ/ビデオフレームを抽出する。システムは、モデルのトレーニング/検証のために抽出される様々なタイプのシナリオを決定して、様々なタイプの交通シナリオの包括的な適用範囲を提供する。システムは、(1)速度、曲がる方向などの車両属性、(2)歩行者が通りを横断する意図があるかどうかなどの交通エンティティの行動を説明する交通属性、および(3)交差点または横断歩道が近づいているかどうかなどの道路属性を含む様々な属性に基づくフィルタを受信する。システムは、ビデオフレームにフィルタを適用して、異なるシナリオを表すビデオフレームのセットを識別する。さまざまな交通シナリオに従って分類されたビデオフレームは、MLモデルの検証またはトレーニングに使用される。
フィルタリングエンジン210は、交通シナリオに関連付けられたフィルタリング基準のセットを入力として受信し、入力ビデオフレームのセットを処理して、受信したフィルタリング基準のセットを満たすビデオフレームのサブセットを識別する。一実施形態では、フィルタリング基準のセットは、交通シナリオに関連付けられた部分式のセットを含む式であり、フィルタリングエンジン210は、式の個々の部分式を処理して、部分式によって指定された属性に関連付けられた入力ビデオフレームのビデオフレームのサブセットを識別する。従って、フィルタリングエンジン210は、パイプラインの各ステージが前のステージによって出力されたビデオフレームのセットを受信するパイプラインを実装し部分式を処理して、どのビデオフレームが部分式を満たすかを決定し、その結果得られたビデオフレームのサブセットをパイプラインの次のステージに出力する。一実施形態では、フィルタリングエンジンは、交通シナリオを表すビデオフレームおよびフィルタリング基準のセットを取り、それらをバッチプロセスとして処理して、異なる交通シナリオに対応するビデオフレームのサブセットを識別するオフラインプロセスとして機能する。各交通シナリオは、一意の式で表されるフィルタリング基準のセットに関連付けられる。
一実施形態では、フィルタリングエンジン210は、フィルタリング基準のセットの部分式を、各部分式に対応する計算コストに基づく順序で順序付けする。一実施形態では、フィルタリングエンジン210は、より低いコストの部分式が、より高いコストの式と比較して、パイプラインにおいてより早く評価されるように、フィルタリング基準の部分式を順序付けする。
フィルタリング基準生成モジュール220は、自律車両102によって使用されるMLモデルのトレーニングおよび検証に使用するためのフィルタリング基準を生成する。一実施形態では、フィルタリング基準生成モジュール220は、様々な属性に対して可能な値を決定する。これらの値は、専門家によって提供、または以前に得られた値のデータベースから決定され得る。例えば、車両102の速度範囲は、車両102から以前に得られた様々な速度値から取得され得る。一実施形態では、フィルタリング基準生成モジュール220は、属性に対して可能な値のセットを、より小さなサブセットまたはサブ範囲、さらには個々の値に分割する。フィルタリング基準生成モジュール220は、サブセット/サブ範囲/個々の値に基づいて部分式を生成する。例えば、変数V1が範囲R1、R2、R2などの値を取ることができる場合、フィルタリング基準生成モジュール220は、R1の部分式V1、R2のV1などを生成する。フィルタリング基準生成モジュール220は、交通シナリオの異なる属性に基づいて部分式を結合することによって、交通シナリオに関連付けられたフィルタリング基準を生成する。
フィルタリング基準ストア230は、フィルタリング基準のセットを格納し、フィルタリング基準の各セットは、交通シナリオ、および、交通シナリオを表す属性の値のセットまたは値の範囲に関連付けられている。一実施形態では、交通シナリオシステム116は、異なるシナリオに対応するフィルタリング基準をユーザ、例えば、専門家、から受信する。例えば、信号を持たない横断歩道に向かって車両が直進しているおよび少なくとも1人の歩行者が横断歩道を横断している交通シナリオを描写したビデオを識別するために、フィルタリング基準は、(1)少なくとも1つの識別された歩行者、(2)少なくとも1つの識別された移動中の歩行者、(3)車両の閾値距離内で識別された横断歩道、(4)信号光が検出されないこと、(5)直進している車両、およびシナリオを表す他のそのような属性を含む属性を検索することを含み得る。他の実施形態では、交通シナリオシステム116は、フィルタリング基準を自動的に生成する。例えば、システムは、車両属性、道路属性または交通属性などの属性の可能な値の範囲を受信する。システムは、属性の値の各範囲を値のサブ範囲またはセットに分割する。システムは、属性の値の様々なサブ範囲/セットを結合して、異なるフィルタリング基準を生成し、ここで、各組合せは、交通シナリオに対応する。
一実施形態では、フィルタリング基準の各セットは、部分式を含む式として指定され、各部分式は、特定の属性の値または値のセットまたは値の範囲に基づく述語(predicate)を表し、例えば、入力ビデオフレームの特定の属性の値が特定の範囲内にある(または所定の値のセットに属する)場合に真であり、そうでない場合に偽であると評価する述語、または入力ビデオフレームの特定の属性の値が特定の値に等しい場合に真であり、そうでない場合に偽であると評価する述語である。例えば、道路属性RA1は、自律車両102の閾値距離内に横断歩道がある場合に値1を、そうでない場合に値0を、有し得、車両属性VA1は、車両102の速度を表し得、交通属性TA1は、歩行者が自律車両102の前の通りを横断している場合に値1を有し得、歩行者が通りを横断しないことを決定した場合に値0を有する。一組のフィルタリング基準は、式(RA1=1、VA1=0、TA1=1)として、表され得、自律車両102が停止し(速度0)、自律車両102の前方に横断歩道があり、歩行者が通りを横断する交通シナリオを表す。フィルタリング基準(RA1=1、VA1=0、TA1=0)は、自律車両102が停止し(速度0)、自律車両102の前方に横断歩道があり、通り側に立っているが横断していない歩行者がいる交通シナリオを表す。
システムは、ビデオフレームの入力セットから開始し、各部分式が評価されるにつれて、入力セットをより小さなビデオフレームのセットにフィルタリングすることによって、パイプライン方式で式を評価する。一実施形態では、システムは、より計算上複雑な部分式の前に計算上単純な部分式を評価するように、それらの計算上の複雑さに基づいて、交通シナリオに関連付けられた部分式を順序付ける。計算上の複雑さが増加する順序でフィルタリング基準を適用することは有益であり、なぜなら、より複雑なフィルタリング基準と共に適用されるビデオフレームの数を減少させることによって、計算時間を短縮でき、計算リソースを節約できるからである。各属性は、ビデオフレームについての属性の値を決定する計算コストの推定値を表すコスト測定値に関連付けられ得る。したがって、コスト推定値は、ビデオフレームについての属性に基づいて部分式を評価する計算の複雑さの測定値を表す。例えば、ビデオフレームについて車両102の速度を決定するコストは、それがメタデータ値を検索することを含むので、低い。一方、歩行者が通りを横断していることを決定するコストは、ビデオフレームを用いてニューラルネットワークを実行することを含み、より高い。
いくつかの実施形態では、フィルタリング基準ストア230は、特定のフィルタリング基準を、MLモデルの検証のためのグラウンドトゥルースシナリオとしてマークする。グラウンドトゥルースシナリオは、予測の結果を歩行者の行動に基づいて高精度で検証できるシナリオを表す。例えば、各グラウンドトゥルースシナリオは、検証できる2つの可能な結果すなわち、人が通りを横断した、または人が通りを横断しなかった、のうちの1つに関連付けられる。交通シナリオシステム116は、自律車両のカメラによってキャプチャされたビデオに機械学習モデルを適用し、機械学習モデルに基づいて決定された結果を実際の結果と比較して、機械学習ベースモデルが結果を正確に予測したかどうかを検証できる。
様々な実施形態によれば、グラウンドトゥルースシナリオは、自律車両と歩行者(または他の交通エンティティ)との間に相互作用が存在するシナリオを含む。グラウンドトゥルースシナリオは、歩行者がAVの閾値距離内にいるシナリオを含む。さらに、歩行者が道路の端の閾値距離内にいて、したがって、人が横断したいまたは横断しないことを選択した場合に、人は通りを横断することが可能である。さらに、グラウンドトゥルースシナリオは、複数の結果、例えば、(1)人が通りを横断した、または(2)人が通りを横断しなかった2つの可能な結果、のうちの1つに関連付けられる。さらに、自律車両の速度は、人がAVの前を安全に横断できるほど十分に低かった。なお、グラウンドトゥルースは、歩行者が横断する機会を与えられた状況(例えば、車両102を減速または停止することによって)について決定される。車両102が減速または停止しないと決定した場合、シナリオはグラウンドトゥルースに使用され得ない。
グラウンドトゥルースシナリオのフィルタリング基準は、専門家によって提供され得る。または、グラウンドトゥルースシナリオのフィルタリング基準は、履歴データを表すビデオのセットを分析することによって決定される。交通シナリオシステム116は、ビデオフレームを、属性に基づいて異なるシナリオと関連付け、各ビデオフレームは、自律車両に近く、かつ通りの側面にも近い少なくとも1人の歩行者を含む。交通シナリオシステム116は、さらに、上記ビデオフレームがキャプチャされた後、閾値時間フレーム内で発生するビデオフレームを分析し、後続のビデオフレームは、歩行者が(1)通りの同じ側にとどまる、または(2)通りを横断するかを示す。
交通エンティティの属性を予測するために使用されるMLモデルの検証は、以下の理由により困難である。トレーニングおよび検証に使用されるデータは、交通を走行する車両によってキャプチャされたビデオから得られる。MLモデルは、精神の状態や意識の状態などの値を表す交通エンティティの属性を予測する。これらの属性は、MLモデルの予測を確認するためにアクセスできるデータに任意の具体的な値を有さない。例えば、歩行者が自律車両の前で通りを横断するのを待ち得る。しかし、MLモデルが、歩行者は横断する意図がない、と誤って予測した場合、自律車両は歩行者のために停止する可能性は低く、その結果、歩行者は意図を変えて歩道に留まる。したがって、MLモデルによる誤った予測は、予測される交通エンティティの属性の実際の値を変更し得る。これは、予測されたときの属性の実際の値を決定することを困難にし、したがって、MLモデルの検証を困難にする。さらに、交通エンティティは通常、AVの認識を示す任意の具体的な行動を行わないため、自律車両の認識などの属性を検証することは困難である。例えば、自転車は、自転車が自律車両を認識しているか否かにかかわらず運転を継続し得る。このようなMLモデルのためのグラウンドトゥルースを確立する1つの方法は、歩行者または自転車に尋ねることであり、これは、自律車両が現実世界の交通を通ってナビゲートしているシナリオでは非現実的であり、実行不可能である。
代わりに、動作中にAVによって収集されたセンサデータを交通シナリオシステム116によって分析して、MLモデルの出力が比較できる既知の実際の結果を有するグラウンドトゥルースシナリオのフィルタリング基準を満たすビデオフレームのサブセットを識別する。実際の結果はすべてのビデオフレームについて知られているわけではないので、グラウンドトゥルースシナリオに関連付けられたビデオフレームのサブセットに対するMLモデルのパフォーマンスは、すべての交通シナリオにわたるMLモデルのパフォーマンスの代理として使用される。
ビデオフレームストア240は、ビデオフレームおよびビデオフレームを説明するメタデータを格納する。ビデオフレームを説明するメタデータは、ビデオフレームがキャプチャされたときに車両102から受信された車両属性、例えば、車両102の速度、ハンドルの角度、車両102の位置などを含む。ビデオフレームを説明するメタデータはまた、ビデオフレームを分析することによって、例えば、ビデオフレームを使用して様々なタイプの機械学習ベースモデルを実行することによって、決定される属性を含む。
グラウンドトゥルースモジュール250は、MLモデルに対するグラウンドトゥルース値を決定するために選択ビデオフレームを処理する。グラウンドトゥルースは、MLモデルによって予測された結果の検証の結果を表す。一実施形態では、グラウンドトゥルースモジュール250は、交通を通って運転した結果として自律車両102によって生成されたログのオフライン処理を実行する。グラウンドトゥルース値の決定に関する詳細は、図5A乃至5Cに関して説明される。
ナビゲーションアクションテーブルモジュール260は、MLモデル出力の値を自律車両102が取るべきアクションにマッピングするナビゲーションアクションテーブルを生成する。特に、MLモデル出力の特定の値が与えられると、自律車両は、ナビゲーションアクションテーブルをルックアップして、AVによって取られるべきアクションを決定できる。例えば、ナビゲーションアクションは、運転を続けること、減速すること、または停止することであり得る。ナビゲーションアクションテーブルの生成および適用に関する詳細は、図5A乃至5Cに関して説明される。
図3は、いくつかの実施形態による、車両に関連付けられたセンサシステムを示すシステム図である。図3は、そのセンサ300、ローカルプロセッサ302、およびリモートストレージ304の位置を指す矢印付きの車両306を示す。
固定または一時容量のいずれかで車両306に取り付けられ、車両306の前方、後方、および/または側方の道路の画像をキャプチャするように向けられた、固体Lidar、回転Lidar、中距離レーダー、または他を含むカメラまたは他のセンサ300からデータが収集される。いくつかの実施形態において、センサデータは、コンパクトフラッシュドライブ、ハードドライブ、ソリッドステートドライブまたは専用データロガーなどの物理記憶媒体(不図示)に記録される。いくつかの実施形態では、センサ300および記憶媒体は、プロセッサ302によって管理される。
センサデータを、車載データ記憶媒体およびプロセッサ302から、クラウドベース、デスクトップ、またはホスト型サーバ記憶製品を含むことができる別のストレージ媒体304に転送できる。いくつかの実施形態では、センサデータは、ビデオ、ビデオセグメント、またはビデオフレームとして格納できる。
いくつかの実施形態では、リモートストレージ304内のデータはまた、センサデータに関連付けられたデータベーステーブルを含む。センサデータが受信されると、記録された場所、担当者、日付、セグメントの長さ、物理ファイルがインターネットまたはローカルストレージ上のいずれで発見できる場所、センサデータの分解能、記録されたセンサのタイプ、センサの位置、および他の特性を含む、記録されたセンサデータに関する情報を記録するデータベーステーブルに行を追加できる。
図4は、いくつかの実施形態による、機械学習ベースモデルをトレーニングして、交通エンティティを説明する隠れたコンテキスト情報を予測するプロセスを示すフローチャートである。一実施形態では、ビデオまたは他のデータは、車両102に取り付けられたカメラまたはセンサによってキャプチャされる。カメラまたは他のセンサを、固定されたまたは一時的な方法で車両に取り付けることができる。カメラは自動車に取り付ける必要はなく、自転車などの別のタイプの車両に取り付けることができる。車両が様々な通りに沿って移動するとき、カメラまたはセンサは、通りの上または近くで移動または静止している、歩行者、自転車、自動車などの静止および/または動画像(または他のセンサデータ)をキャプチャする。ステップ402では、カメラまたは他のセンサによってキャプチャされたこのビデオまたは他のデータは、車両102からネットワーク104を介してサーバ106に送信され、そこに格納される。サーバ106は、様々な設定および条件で動作している複数の車両102によってキャプチャされたビデオまたは他のデータを格納し、これらのビデオまたは他のデータは、MLモデルをトレーニングするために使用されるトレーニングデータセットを生成するために使用される。
次に、ステップ404において、ビデオフレームまたはセグメントを格納されたビデオまたは他のデータから抽出して、導出された刺激を含む刺激データを作成するために使用する。1つの実施形態では、導出された刺激は、1つまたは複数の交通エンティティがシーンのビデオまたは他のデータを収集した車両の近くで活動(例えば、起立、歩行、運転、自転車に乗ることなど)を行っているシーンに対応する。一実施形態では、刺激は、車両が短い時間間隔内で曲がることが予想される曲がる方向を説明する情報、例えば、次の数秒内に左/右に曲がる/まっすぐに進む、を含むように修正される。
サーバ106は、人間の観察者に提示するために、車両の生のカメラまたはセンサデータから導出された刺激を生成する。上述したように、センサデータは、ビデオセグメントまたは特定のフレームを含むことができる。これらのフレームは、連続的または非連続的のいずれかとすることができ、元の順序、置換された順序、逆の順序、またはランダムな順序とすることができる。一部のフレームを1回または複数回繰り返すことができる。
一部のフレームは操作され得る。ピクセル値を調整することによって、フレームを操作できる。これらの操作は、ぶれ、追加または1つまたは複数の遮蔽バー、バンド、またはシェイプ、シャープ化、カラー情報の削除、カラー情報の操作、非遮蔽または強調表示のシェイプの画像上への描画、他の操作、または本明細書に列挙された操作の組み合わせ、または本明細書に列挙された操作と他の操作の組み合わせ、または列挙されていないピクセルの他の操作を互いに組み合わせたものを含むことができる。これらの操作は、画像の一部を強調する、遮蔽する、または劣化させる目的に役立ち、その結果、画像が人間の観察者に示されたときに、画像内の人々が何をするかを予測するときに、それらは人または画像の特定の部分に向けられる。例えば、上述した強調表示を使用すると、シーン内の特定の歩行者は、人間の観察者のフィードバックをより確実に歩行者と関連付けできるように隔離できる。フレームは、導出された刺激を形成するために再結合され得る。いくつかの実施形態では、1つのフレームのみが存在する場合、そのフレームは、導出された刺激を含む。次いで、複数のフレームが存在する場合、それらのフレームは再結合され得る。
刺激は、ユーザインタフェースを介して注釈者として行動するユーザに提示される。ユーザインタフェースは、車両の運転者の視点からキャプチャされた交通環境の画像(または一連のフレーム)を提示するように構成される。画像には、車両が曲がる、または曲がることを計画している方向を説明する情報が注釈される。例えば、画像は、交差点の角に立って信号が変わるのを待っている右側の歩行者を含み得る。画像は、歩行者の周りのバウンディングボックスおよび車両が右折することを示す矢印を含み得る。また、ユーザインタフェースは、注目している交通エンティティに基づいて、注釈者に質問を提示する(例えば、車両が曲がる方向を仮定して、この人物が車両の前を横切る可能性はどの程度か)。
以下に、例えばステップ406でより詳細に説明するように、予測アルゴリズムのためのトレーニングプロセスの一部として、ユーザは導出された刺激を見て、導出された刺激に示される交通エンティティがどのように作用すると信じるかを予測する。さらに別の実施形態では、ビデオフレームまたはセグメントが格納データから抽出された後、ステップ414にて、導出された刺激を、カメラまたは他のセンサから取得されたピクセルまたは同等のアレイデータを操作することによって生成し、特定の態様が強調または遮蔽する元のビデオからの情報の一部を搬送する新しいデータファイルを生成する。例えば、ユーザが交通エンティティに焦点を合わせることを奨励するために、交通エンティティから閾値距離の外側にある画像の部分は、ぶれるまたは切り取られ得る。
ステップ406において、導出された刺激がサーバ106から送信され、クライアントデバイス108(または複数のクライアントデバイス108)上の多数のユーザ(または人間の観察者)に表示される。人間の観察者は、Amazon(登録商標)のMechanical Turkなどの1つまたは複数のクラウドソーシングWebサイトや、ディスプレイが提供される物理的な場所に参加するように募集される。観察者には、完了しようとしているタスクを説明する詳細な書面および画像による指示が与えられる。これらの指示は、導出された刺激に描写される可能性のある状況の例と、それらの状況に適した応答の種類を示す。例えば、人間の観察者に、歩行者が車の前を歩く意図があるかどうかを判断するように求められた場合、指示は「このテストでは、車を運転しているふりをしてほしい。自転車に乗っている人がハイライトされた道路のシーンが表示されるので、彼らが何をしようとしているのかを判断する必要があります。できるだけ迅速に回答するようにしてください。」とし得る。
クライアントデバイス108は、人間の観察者に対して、導出された刺激に示される交通エンティティがどのように作用するかを予測するように促し、表示された刺激を見ると、観察者は、その予測に対応する応答を入力する。例えば、人間の観察者であるは、自転車が走り続けるか、刺激を受けた最初の人が通りを横断するか、別の人が街角に立ったままになるか、さらに別の人が自分の自転車で車線を変更するかを予測し得る。例示的な実施形態では、人間の観察者は、導出された刺激に示される人々の精神の状態または予測された行動について連続的または通常の判断を行い、その判断を記録し得る。例えば、人間の観察者は、マウスをクリックすることによって、またはキーを押すことによってクライアントデバイス108上に表示された適切なアイコンを選び、その判断または予測を示し得る。判断または予測は、導出された刺激における人の精神の状態の人間の観察者の評価、または運転中に導出された刺激における人を見る仮想の運転者に関連する他の認識または意図に対応し得る。
ステップ408では、導出された刺激および関連する人間の観察者の応答がクライアントデバイス108からサーバ106に送信され、ユーザ応答データベース110に記録される。予測および他の情報は、導出された刺激に基づいて人間の観察者から収集される。人間の観察者は、導出された刺激に関する質問に答える方法について詳細な指示を与えられる。これらの観察者は、導出された刺激を提示され、それらに関する質問に答えるように求められる。観察者は刺激に応答し、それらの応答は記録される。人間の観察者は、導出された刺激を含むディスプレイを示され得る。ディスプレイはまた、刺激についての判断を行うためのメカニズムを含む。判断を行うためのメカニズムは、観察者が制御を特定の点にドラッグすることができるリボンのような連続的なインジケータとすることができる。メカニズムはまた、観察者が判断の確実性の程度についての判断を行うことができるリッカートスケールのような通常の測定値とすることができる。メカニズムはまた、人間の観察者がマウスでドラッグして、画面上に軌跡を描き、判断を示す制御とすることができる。メカニズムはまた、観察者が判断の説明を入力するテキスト入力フィールドとすることができる。
人間の観察者が行う判断は、導出された刺激に描かれた道路使用者の精神の状態の評価を表し得る隠れたコンテキスト属性である。評価は、描かれた道路使用者の意思、認識、性格、意識の状態、疲労のレベル、攻撃性、熱意、思考、または内部精神状態の別の特徴とすることができる。収集された評価が通常の尺度である場合、「他の運転者は注意を払い得る」、「他の運転者は確実に注意を払っている」、または「他の運転者は確実に注意を払っていない」など、確率の言語を使用して特徴を説明できる。
記録された応答は集約され、データベース、例えばユーザ応答データベース110に記録される。ステップ410では、ユーザ応答に基づいて要約統計値が生成される。例えば、統計値は、特定の導出された刺激に対する複数の人間の観測者の集約された応答を特徴付け得る。例えば、導出された刺激が、歩行者が交差点に向かって歩道を歩いていることを示す場合、応答を、歩行者が交差点に到達したときに停止し、交差点をまっすぐに歩き続け、角を曲がって交差点を横断せずに歩道に沿って歩き続けると信じる人間の観測者の数の見地から、分類できる。これらの要約統計値はまた、応答の内容、応答の入力に関連付けられた時間、および応答に関連付けられた人間の観察者の目の位置のような、統計値に関連付けられた特定のパラメータに関して、人間の観察者の応答を特徴付けできる。パラメータをまた、中心傾向、分散、スキュー、尖度、スケール、またはヒストグラムと関連付けできる。例えば、ユーザが応答を入力するのにかかった時間の量を、中心傾向、分散、スキュー、尖度、スケール、ヒストグラムの観点から特徴付けできる。また、統計値は、中心傾向、分散、スキュー、尖度、スケール、ヒストグラムまたは2次元分布の観点から判断を行うときに、ディスプレイに対する人間の観察者の目の動きを追加的または代替的に特徴付けるパラメータを含むことができる。一実施形態では、統計値は、導出された刺激が生成された生のビデオまたはセンサデータを識別するインデックスと共にユーザ応答データベース110に格納される。さらなる実施形態では、データベース110に格納された統計値は、道路の上または付近の人々の多数の画像セットをカバーし、歩行者、運転者、オートバイ運転者、自転車運転者、スクータ運転者、自動平衡スクータ運転者、一輪車運転者、電動車イス使用者、スケートボーダーなどの多数の異なるカテゴリーに分類される。さらに、統計値は、その統計値に対応する導出された刺激の画像と共に、またはリンクされて、それぞれ格納される。
多数の人間観測者の評価が収集される。要約統計値は、画像を見たすべての観測者の応答に基づいて生成される。与えられた刺激に対する応答の個々の変動は、学習アルゴリズムに対して観測者によって与えられる情報によって特徴付けできる。要約統計値は、すべての観測者からの重み付けされていない情報を含むこともあれば、観測者が応答するのに掛かった時間、観測者の地理的位置、観測者の自己申告による運転経験、または他の画像のセットの評価を行う際の観測者の信頼性などの外部基準または固有基準に基づいて観測者を除外することもある。
観測者の明示的な応答は、暗黙的な(implicit)データと同様に記録される。暗黙的なデータは、被験者が応答するのにどれだけ時間が掛かったか、動作をためらったか、キーストロークを削除したか、最終的に選択した応答に対応する位置以外にマウスを動かしたか、目を動かした、または他の暗黙的な測定値を含むことができる。
応答は集約され、ユーザ応答データベース110などのデータ構造に記録される。このデータ構造は、テキストフィールドとして、データベースソフトウェアを実行するネットワークコンピュータシステムに送信され、データベースに記録される。
各人間の観察者によって評価された各刺激に対して、連続、離散、または序数値とすることができる応答が記録される。この値は、図示された人間の道路使用者が所定の精神の状態を有する確率を指し得る。例えば、歩行者が通りを横断する可能性が高いこと、または、対向車両が、センサを含む車両が感知する必要がある場合に、センサを含む車両に譲ろうとする可能性が低いことである。いくつかの実施形態では、より高い序数値(例えば、図6に示される序数4)は、人間の観察者が、描写された人間の道路使用者が所与の精神の状態を有する、または特定の行動を実行する可能性が高いと考えていることを示す。他方、より低い序数値(例えば序数1)は、人間の観察者が、図示された人間の道路使用者が精神の状態を有する、または特定の行動を実行する可能性がより低いと考えていることを示す。一方、いくつかの実施形態では、低い序数値は、アクションの高い確率を示すことができ、より高い序数値は、アクションの低い確率を示すことができる。
導出された刺激に応答する対象に関連付けられた時間量も記録され得る。いくつかの実施形態では、この時間は、人間の観察者の評価の全体的な信頼性に関連付けられている。例えば、より低い応答時間に関連付けられた応答はより高く重み付けされ得、より遅い応答時間に関連付けられた応答はより低く重み付けされ得る。
ビデオフレームまたは導出された刺激の要約統計値が生成される。これらの要約統計値は、平均、中央値、またはモードなどのスコアの分布の中心傾向の測定値を含むことができる。これらには、分散、標準偏差、スキュー、尖度、不均一性、マルチモダリティ、または均一性などのスコアの不均一性の測定を含むことができる。また、前述の応答の暗黙的な測定値から計算された前述のような要約統計値も含まれる場合があります。計算された要約統計値は、計算された応答に関連付けられたビデオフレームまたはセンサデータフレームにリンクされる。
要約統計値は、機械学習ベースモデルのトレーニングに使用される。機械学習ベースモデルは、2次元または3次元入力の連続ラベルを予測することが可能な任意のタイプの教師あり学習アルゴリズムであり得、これらに限定されないが、ランダムフォレストリグレッサー、サポートベクトルリグレッサー、シンプルニューラルネットワーク、ディープ畳み込みニューラルネットワーク、リカレントニューラルネットワーク、2次元または3次元の線形または非線形カーネルを有する長短期記憶(LSTM)ニューラルネットワークを含む。
ステップ412では、記憶された統計値および対応する画像(例えば、ビデオまたは他のデータ(車両202のカメラまたはセンサからキャプチャされた)から抽出されたビデオフレームまたはセグメント)が、ネットワーク104を介してモデルトレーニングシステム112に送信され、予測アルゴリズムをトレーニングするために使用される。例えば、画像および統計情報の収集を使用して、教師あり学習アルゴリズムをトレーニングでき、ランダムフォレストリグレッサー、サポートベクトルリグレッサー、シンプルニューラルネットワーク、ディープ畳み込みニューラルネットワーク、リカレントニューラルネットワーク、2次元または3次元の線形または非線形カーネルを有する長短期記憶(LSTM)ニューラルネットワーク、または連続値でラベル付けされたデータの収集を取り、重み、構造または他の特性に関してそのアーキテクチャを適応させて、そのネットワークをトレーニングするために使用された刺激のセットに対して使用されたのと同じ方法を使用して、新規の刺激の予測ラベルとその刺激に収集された実際のラベルとの間の偏差を最小化することが可能な任意の他の教師あり学習アルゴリズムを含むことができる。このモデルには、要約統計値が生成されたビデオフレームからのピクセルデータのいくつかのサブセットを含むデータが与えられる。一実施形態では、このサブセットは、運搬の方法を含む、人、自転車運転者、車両運転者および車両、または他の道路使用者の境界を含むように描かれたバウンディングボックス内に含まれるピクセルデータを含む。他のいくつかの実施形態では、画像の残りの部分からのピクセルデータ全体も含む。これらの実施形態のうちの1つでは、そのピクセルデータは、コントラスト、照明、エッジの存在、または色に関するこれらの特徴の顕著性(salience)などの基準に従って選択される。さらなる実施形態では、特徴は、バウンディングボックスの寸法および位置、バウンディングボックスの形状、または1つのフレームから次のフレームへのバウンディングボックスのサイズまたは位置の変化などの画像に関する説明的なメタデータを含むことができる。
ステップ414で、予測エンジン114は、モデルトレーニングシステム112からのトレーニングされたモデルを使用して、道路上または付近の人々の実際の「実世界」または「ライブデータ」の行動を予測する。一実施形態では、予測エンジン114は、トレーニングされたモデルをトレーニングするために使用されるデータのフォーマットと一致する「ライブデータ」を受信する。例えば、トレーニングされたモデルが、車両102上のカメラから受信したビデオデータに基づいてトレーニングされた場合、アルゴリズムに入力される「ライブデータ」は、同様に、同じまたは類似のタイプのカメラからのビデオデータである。一方、モデルが、車両102上の別のタイプのセンサから受信した別のタイプのセンサデータに基づいてトレーニングされた場合、予測エンジン114に入力される「ライブデータ」は、同様に、同じまたは類似のセンサからの別のタイプのデータである。
トレーニングされたモデルまたはアルゴリズムは、1つまたは複数の導出された刺激の要約統計値および/またはトレーニングラベルに基づいて、「ライブデータ」に示された歩行者または他の人が何をするかの予測を行う。モデルの精度は、前述のトレーニング画像の一部ではないが、それらに付随する人間の評価を有する新規な導出された刺激の予測を行わせることによって決定され、新規な画像の要約統計値は、トレーニングデータの要約統計値を生成するために使用されたのと同じ方法を使用して生成できるが、要約統計値と画像データとの間の相関はモデルトレーニングプロセスの一部ではない。トレーニングされたモデルによって生成される予測は、道路利用者の精神の状態の予測のセットを含み、その精神の状態に基づいて道路利用者の将来の行動についての判断を行うことを可能にすることによって、自律車両、ロボット、仮想エージェント、トラック、自転車、または道路上で動作する他のシステムのパフォーマンスを改善するために使用できる。
モデルトレーニングシステム112の一実施形態では、機械学習ベースモデルはディープニューラルネットワークとすることができる。この実施形態では、パラメータは、ネットワークを構成する人工ニューロン間の接続に付加された重みである。人間の観察者の要約統計値と照合されたトレーニングセット内の画像からのピクセルデータは、ネットワークへの入力として機能する。この入力は、人工ニューロンのそれぞれによって数学関数に従って変換でき、変換された情報を、その人工ニューロンからニューラルネットワーク内の他の人工ニューロンに送信できる。第1の人工ニューロンと後続のニューロンとの間の送信は、上述した重みパラメータによって修正できる。この実施形態において、ニューラルネットワークは、各入力ピクセルの値を人工ニューロンの独立した層(例えば、10乃至20層)によって変換できるように階層的に構成でき、ここで、所与の層におけるニューロンに対する入力は前の層から来て、ニューロンに対するすべての出力(およびそれらに関連付けられた重みパラメータ)は後続の層に行く。この実施形態では、一連の層の最後に、ネットワークは、入力で与えられた人間の要約統計値と一致するように意図された数を生成できる。ネットワーク出力と入力で提供される人間の要約統計値との間の差は、エラー信号を含む。アルゴリズム(例えば、逆伝搬)を使用して、エラーに対する責任の小さな部分を、ネットワーク内の重みパラメータのそれぞれに割り当てることができる。次に、重みパラメータを、全体のエラーに対する推定された寄与が減少するように調整できる。このプロセスは、トレーニングセット内の各画像(またはピクセルデータと人間の観察者の要約統計値との各組合せ)に対して繰り返すことができる。このプロセスの最後に、モデルは「トレーニング」され、これは、いくつかの実施形態において、ニューラルネットワークによって出力された要約統計値と人間の観察者の応答から計算された要約統計値との間の差が最小化されることを意味する。
[隠れたコンテキストに基づく自律車両のナビゲーション]
車両コンピューティングシステム120は、交通エンティティ(例えば、歩行者または自転車)の意図および将来計画を表す隠れたコンテキストを予測する。隠れたコンテキストは、交通エンティティによって表される人の心の状態を表し得る。例えば、隠れたコンテキストは、交通エンティティによって表される人の短期目標を表し得、例えば、その人が通りを横断する可能性が高いことを示す、またはその人が通り上に落とされたオブジェクト(例えば、財布)を拾うが通りのその側にとどまる可能性が高いことを示す、またはその人が閾値時間間隔内に実行する可能性が高い任意の他のタスクを示す。隠れたコンテキストは、例えば、自律車両の前方を運転する自転車運転者が、自律車両が後ろにいることを認識している可能性が高いか否かといった、自律車両に関する人の認識の度合を表し得る。
車両コンピューティングシステム120は、交通エンティティ(例えば、歩行者または自転車)の意図および将来計画を表す隠れたコンテキストを予測する。隠れたコンテキストは、交通エンティティによって表される人の心の状態を表し得る。例えば、隠れたコンテキストは、交通エンティティによって表される人の短期目標を表し得、例えば、その人が通りを横断する可能性が高いことを示す、またはその人が通り上に落とされたオブジェクト(例えば、財布)を拾うが通りのその側にとどまる可能性が高いことを示す、またはその人が閾値時間間隔内に実行する可能性が高い任意の他のタスクを示す。隠れたコンテキストは、例えば、自律車両の前方を運転する自転車運転者が、自律車両が後ろにいることを認識している可能性が高いか否かといった、自律車両に関する人の認識の度合を表し得る。
隠れたコンテキストは、例えば、隠れたコンテキストに基づいて自律車両の経路計画を調整することによって、自律車両をナビゲートするために使用され得る。車両コンピューティングシステム120は、歩行者およびサイクリストの将来の行動に関する人間の不確実性のレベルを表す隠れたコンテキストを予測し、それを自律車両のモーションプランナへの入力として使用する機械学習ベースモデルを採用することによって、経路計画を改善し得る。機械学習モデルのトレーニングデータセットは、1つまたは複数のコンピュータビジョンモデルから得られた世界のグラウンドトゥルースに関する情報を含む。車両コンピューティングシステム120は、予測エンジン114の出力を使用して、次の時間ステップにおいて、異なる可能なモーションベクトルが与えられた場合に、障害物に遭遇するリスクの確率的マップを生成し得る。あるいは、車両コンピューティングシステム120は、予測エンジン114の出力を使用して、人間の評価の確率的不確実性を組み込むモーションプランを決定し得る。
一実施形態では、予測エンジン114は、歩行者または交通エンティティを表す任意のユーザの短期目標の人間の評価における不確実性の程度を表すメトリックを決定する。不確実性の表現の特定の形態は、確率分布の形態であるモデル出力であり、交通状況を表すビデオ/画像が提示されているユーザに応答する交通エンティティの隠れたコンテキストのユーザ応答の予想される分布特性をキャプチャする。モデル出力は、隠れたコンテキストの要約統計値、すなわち、人が特定の方法で行動する平均可能性を表す中心傾向と、分散、尖度、歪み、不等分散性、および予測された人間の分布のマルチモダリティを含む1つまたは複数のパラメータとを含み得る。これらの要約統計値は、人間の不確実性のレベルに関する情報を表している。
一実施形態では、車両コンピューティングシステム120は、隠れたコンテキストを値のベクトルとして表し、各値は、パラメータ、例えば、交通エンティティによって表される人が自律車両の前で通りを横断する可能性、交通エンティティによって表される人の頭の中での自律車両の存在の認識の程度などを表す。
[交通シナリオのビデオフレームをフィルタリングするプロセス]
図5は、一実施形態による、様々な交通シナリオに従ってビデオフレームをフィルタリングするプロセスを示すフローチャートを表す。システムは、処理のためにビデオフレームの入力セットを受信する(500)。ビデオフレームは、交通を通り走行する1つまたは複数の車両によってキャプチャされ得る。システムはまた、各ビデオフレームについて車両属性を受信する(505)。例えば、システムは、車両の速度、位置、および車両を説明する任意の他のパラメータを受信し得る。
図5は、一実施形態による、様々な交通シナリオに従ってビデオフレームをフィルタリングするプロセスを示すフローチャートを表す。システムは、処理のためにビデオフレームの入力セットを受信する(500)。ビデオフレームは、交通を通り走行する1つまたは複数の車両によってキャプチャされ得る。システムはまた、各ビデオフレームについて車両属性を受信する(505)。例えば、システムは、車両の速度、位置、および車両を説明する任意の他のパラメータを受信し得る。
システムは、様々なタイプの属性に基づく式として表されるフィルタリング基準を決定する(510)。式は様々な部分式を含み、各部分式は特定の属性に基づく。
システムは、部分式ごとにステップ515および520を実行する。システムは、セットの入力ビデオフレームごとに部分式を評価する(515)。システムは、ビデオフレームのセットをフィルタ処理して、部分式を満たさないビデオフレームを除外する(520)。したがって、ビデオフレームがセットからフィルタ処理されるたびに、ビデオフレームのセットは反復ごとに減少し得る。部分式の評価は、ビデオフレームを使用してMLモデルを実行し、ビデオフレームの属性の値を決定することを含み得る。システムは、属性の値を決定し、その値が部分式を満たすかどうかを決定する。値が部分式を満たす場合、システムは、部分式をさらに評価するためにビデオフレームを保持する、そうでなければ、システムは、次の反復のためにビデオフレームをセットから削除する。
システムは、モデルのトレーニングおよび検証のために、フィルタリングされたビデオフレームのセットを使用する(525)。モデルトレーニングのために異なる交通シナリオに対応する異なるフィルタリングされたセットを使用することは、さまざまな交通シナリオを表すトレーニングデータセットを使用してモデルが適切にトレーニングされることを確実にする。モデル検証のために異なる交通シナリオに対応する異なるフィルタリングされたセットを使用することは、さまざまな交通シナリオにわたってモデルが適切に検証されることを確実にする。
いくつかの実施形態では、MLモデルの出力が自律車両の不自然な動きを引き起こす交通シナリオが存在する場合、フィルタリング基準を使用して、さらなるトレーニングに使用されるこれらの交通シナリオに対応する追加のビデオフレームを識別できる。いくつかの実施形態では、これらの交通シナリオは、車両102のユーザによって識別され、モデルトレーニングシステム112に提供され得る。交通シナリオのアイデンティティの受信に応答して、モデルトレーニングシステム112は、これらの交通シナリオおよび自律車両の動きにおけるMLモデルの精度を改善するために、交通シナリオの追加のビデオフレームを含むようにトレーニングデータセットを修正し得る。
[グラウンドトゥルースに基づくナビゲーションアクションテーブルの生成処理]
図6Aは、一実施形態による、様々な交通シナリオのグラウンドトゥルース分析を使用したナビゲーションアクションテーブルの生成処理を示すフローチャートである。
図6Aは、一実施形態による、様々な交通シナリオのグラウンドトゥルース分析を使用したナビゲーションアクションテーブルの生成処理を示すフローチャートである。
グラウンドトゥルースモジュール250は、交通を介してナビゲートする車両、例えば、自律車両、によってキャプチャされたビデオフレームを受信する(600)。グラウンドトゥルースモジュール250はまた、グラウンドトゥルースシナリオを表すフィルタリング基準を受信する(605)。フィルタリング基準は専門家によって提供され得る。グラウンドトゥルースモジュール250は、グラウンドトゥルースシナリオを表すフィルタリング基準に一致するビデオフレームを選択する(610)。グラウンドトゥルースモジュール250は、MLモデルを検証するために使用されるべきグラウンドトゥルース値を決定するために、グラウンドトゥルースビデオフレームを処理する。グラウンドトゥルース値は、MLモデルによる予測と比較できる実際の結果を表す。例えば、グラウンドトゥルース値は、後続のビデオフレームに基づいて、ビデオフレーム内の歩行者が通りを横断した、または歩道に留まったかを示し得る。一実施形態では、グラウンドトゥルースモジュール250は、交通を介して運転した結果として自律車両によって生成されるログのオフライン処理を実行する。ログは、自律車両が運転中に連続的にキャプチャされた入力ビデオフレームに基づいてMLモデルによって生成される出力を格納する。
グラウンドトゥルースモジュール250は、MLモデルへの入力として、グラウンドトゥルースシナリオに関連付けられた決定されたビデオフレームを提供する。グラウンドトゥルースモジュール250は、入力としてビデオフレームが与えられると、MLモデル出力を決定する(615)。グラウンドトゥルースモジュール250は、MLモデルにグラウンドトゥルースビデオフレームを提供し、MLモデルを実行して、MLモデルによって予測される値を決定し得る。代替的に、グラウンドトゥルースモジュール250は、自律車両が交通を介してナビゲートするときに、様々なビデオフレームに対してMLモデルによって計算された値を自律車両が記録する場合、自律車両のログからMLモデルの結果を取得し得る。
いくつかの実施形態では、各入力ビデオフレームに対して、MLモデルは、交通状況が提示されている注釈者に応答してこれらの隠れたコンテキスト属性を説明するユーザ応答の予想される分布特性をキャプチャする、意図の確率分布および認識の確率分布を決定するように構成される。ビデオフレームに対するMLモデルの出力は、交通エンティティの道路横断の意図および交通エンティティの車両の認識に関連付けられた要約統計値を含み得る。要約統計値は、意図および認識のそれぞれに関連付けられた平均および標準偏差を含み得る。MLモデルの出力に基づいて、交通シナリオシステムは、交通エンティティの行動を予測する。
グラウンドトゥルースモジュール250は、選択されたビデオフレームの後続のビデオフレームにおいてキャプチャされる交通エンティティの行動に基づいて、グラウンドトゥルースを決定する(620)。V1が、出力結果R1を生成するためにMLモデルによって処理される選択されたビデオフレームであると仮定する。一実施形態において、グラウンドトゥルースモジュール250は、選択されたビデオフレームV1の後であるが、閾値時間内、例えば、次の5乃至10秒以内にキャプチャされたビデオフレームを分析する。グラウンドトゥルースモジュール250は、交通エンティティが特定の期待されたアクションをとったかどうかを決定する。例えば、グラウンドトゥルースモジュール250は、歩行者が通りを横断した、または歩道に留まったかを決定するためにビデオフレームを分析する。一実施形態において、グラウンドトゥルースモジュール250は、ニューラルネットワークを使用して、道路の境界および歩行者の周囲のバウンディングボックスを識別する。グラウンドトゥルースモジュール250は、歩行者の周囲のバウンディングボックスの位置が道路の境界内にある、または道路の境界外にあるかどうかを決定して、歩行者が道路を横断した、または歩道に留まったかを決定する。グラウンドトゥルースモジュール250は、歩行者の行動の結果をグラウンドトゥルースストアに格納する。したがって、交通シナリオシステム116は、ビデオフレームに対するMLモデルの予測結果と、歩行者がとった実際の行動を表すグラウンドトゥルースとの両方を決定し、それらを比較して、MLモデルの予測が正確であったかどうかを調べることが可能である。
いくつかの実施形態では、交通シナリオシステム116は、グラウンドトゥルース値に一致しなかったグラウンドトゥルースシナリオのビデオフレームを識別し得る。交通シナリオシステム116は、識別されたビデオフレームを分析して、ビデオフレーム間で共有される属性を識別し得る。識別された属性は、モデルトレーニングシステム112に提供されて、注釈者に提示される刺激を生成するために使用されるビデオフレームを選択するために使用され、MLモデルをトレーニングするために使用され得る。
ナビゲーションアクションテーブルモジュール260は、選択されたビデオフレーム、対応するMLモデル出力、およびグラウンドトゥルース値を含む格納されたデータに基づいて、ナビゲーションアクションテーブルを生成する(630)。ナビゲーションアクションテーブルモジュール260は、様々なグラウンドトゥルースシナリオに対するMLモデルの出力と、グラウンドトゥルース値との比較に基づいて生成される。車両コンピューティングシステム120は、入力ビデオフレーム内の交通エンティティの特定の行動を示すMLモデル出力に応答して自律車両が取るべき行動を決定する。例えば、MLモデル出力が、歩行者がAVの前の通りを横断する可能性が高いことを示す場合、車両コンピューティングシステムは、ナビゲーションアクションを停止するように決定する。同様に、MLモデル出力が、歩行者が歩道に留まる可能性が高いことを示す場合、車両コンピューティングシステムは、運転を継続するようにナビゲーションアクションを決定する。例示的なナビゲーションアクションテーブルモジュール260は、MLモデル出力の値の所与の範囲に対して車両が取るべき行動を決定する。例えば、ナビゲーションアクションテーブルモジュール260は、値v1乃至v2の範囲に対して、自律車両のナビゲーションアクションは停止であり、値v2乃至v3の範囲に対して、自律車両のナビゲーションアクションは減速であり、値v3乃至v4の範囲に対して、自律車両のナビゲーションアクションは走行の継続であることを決定し得る。ナビゲーションアクションテーブルモジュール260は、MLモデル出力に対するグラウンドトゥルース値の比較に基づいて、これらの範囲を調整する。
図6Bは、いくつかの実施形態による、交通シナリオシステム116によって処理される様々な例示的な交通シナリオの結果グラウンドトゥルース分析を示す。点図表プロット650および等高線プロット655におけるX軸およびY軸は、MLモデル出力を表す。点図表プロット650において、各点は、グラウンドトゥルースシナリオに関連付けられ、ここで、X軸は平均認識であり、Y軸は平均意図である。いくつかの実施形態において、各点は、グラウンドトゥルースシナリオを表すビデオフレームのシーケンスに関連付けられ、ここで、各ビデオフレームは、MLモデルから出力される平均認識値および平均意図値に関連付けられる。シーケンス内の最小平均認識値および最大平均意図は点を示すために使用され得る。点図表プロット650内の点の色は、グラウンドトゥルース出力を表し、点の位置は、MLモデル出力を表す。交通エンティティの行動が2つの可能なアクションA1およびA2のうちの1つとして表すことができる場合、いくつかの点660は、交通エンティティがA1を実行したことを表し、いくつかの点662は、交通エンティティがアクションA2を実行したことを表す。例えば、A1は、通りを横断する歩行者のアクションを表し得、A2は、通りを横断せずに歩道に留まる歩行者のアクションを表し得る。
ナビゲーションアクションテーブルモジュール260は、MLモデル出力の範囲および対応するグラウンドトゥルース値を識別する。ナビゲーションアクションテーブルモジュール260は、MLモデルが交通エンティティの行動を正確に予測する可能性に基づいて、ナビゲーションアクションテーブルを生成する。ナビゲーションアクションテーブルモジュール260が、MLモデルが、特定の範囲のML出力値に対して交通エンティティが実行する可能性が高いアクションを正確に予測すると決定した場合、ナビゲーションアクションテーブルモジュール260は、予測に基づいてナビゲーションアクションを決定する。例えば、ナビゲーションアクションテーブルモジュール260が、MLモデルは特定の範囲のML出力値に対して歩行者が通りを横断しようとしていることを正確に予測すると判断した場合、ナビゲーションアクションテーブルモジュール260は、その範囲のMLモデル出力に対して停止するためのナビゲーションアクションを決定する。ナビゲーションアクションテーブルモジュール260が、特定の範囲のML出力値に対して歩行者が通りを横断しようとしないことをMLモデルが正確に予測していると決定した場合、ナビゲーションアクションテーブルモジュール260は、その範囲のMLモデル出力に対して、運転を継続するナビゲーションアクションを決定する。ナビゲーションアクションテーブルモジュール260が、MLモデルが、交通エンティティが特定の範囲のML出力値に対して実行する可能性が高い動作を正確に予測できないと決定した場合、ナビゲーションアクションテーブルモジュール260は、交通エンティティとの衝突を回避する安全動作であるナビゲーションアクションを決定する。例えば、グラウンドトゥルースが、データポイントの閾値パーセンテージを超える可能性に対して、範囲のML出力値に対するMLモデル予測と異なる場合、ナビゲーションアクションテーブルモジュール260は、MLモデルが、歩行者は通りを横断する可能性が低いと予測した場合であっても、運転を継続するのではなく、減速または停止するナビゲーションアクションを決定し得る。
等高線プロット655において、各等高線は、同じグラウンドトゥルース値を有する接続点を表す。第1の等高線670のそれぞれは、同じグラウンドトゥルース値を有するアクションA1に関連付けられた点を接続し、第2の等高線672のそれぞれは、同じグラウンドトゥルース値を有するアクションA2に関連付けられた点を接続する。等高線プロット655に基づいて、ナビゲーションアクションテーブルモジュール260は、異なる範囲のMLモデル出力値に対するナビゲーションアクションを決定するために、ML出力値の様々な領域におけるMLモデルの精度を決定し得る。
図6Bに示す例では、X軸およびY軸は、平均認識および平均意図である。しかし、ナビゲーションアクションテーブルモデル260は、MLモデルの異なる対の出力値間の関係を決定し得る。例えば、ナビゲーションアクションテーブルモデル260は、平均意図および意図の標準偏差、または認識に関連する平均および標準偏差を示し得る。
図6Cは、いくつかの実施形態によるグラウンドトゥルース分析に基づいて生成された例示的なナビゲーションアクションテーブルを示す。図6Cに示すように、ナビゲーションアクションテーブルは、モデル出力値の範囲682を、自律車両がML出力値のそれらの範囲に対して取るべきナビゲーションアクション685、例えば、ドライブ、ブレーキ、またはスロットルオフにマップする。図6Cは、図6Bのグラウンドトゥルース分析に対応し、ナビゲーションアクションテーブルの第1の軸は、平均意図の範囲682aに対応し、ナビゲーションアクションテーブルの第2の軸は、平均認識の範囲682bに対応する。
いくつかの実施形態では、システムは複数のナビゲーションアクションテーブルを生成する。各ナビゲーションアクションテーブルは異なるコンテキスト用であり得る。例えば、システムは、異なるタイプの交通エンティティ用に異なるナビゲーションアクションテーブルを生成し得る。システムは、例えば、異なるタイプの都市(各都市の交通の混雑度に基づく)、異なる気象条件、異なるタイプの道路(高速道路と小さな通りなど)など、異なる交通条件に対して、異なるナビゲーションアクションテーブルを生成し得る。車両は、コンテキストを決定することによって、実行時に適切なナビゲーションアクションテーブルを選択する。例えば、都市のタイプは、GPSデータに基づいて車両の位置を決定し、位置を都市タイプにマップするルックアップテーブルをチェックすることによって決定され得る。車両は、GPSデータおよび地理マップに基づいて決定された車両の位置に基づいて道路タイプを決定し得る。車両は、特定の位置に気象を提供するウェブサービスのサーバに基づいて気象条件を決定し得る。車両は、車両のカメラによってキャプチャされた交通エンティティの画像を処理する機械学習モデルに基づいて交通エンティティのタイプを決定し得る。車両は、コンテキストを決定し、ナビゲーション中に使用するために適切なナビゲーションアクションテーブルを選択する。いくつかの実施形態では、複数のナビゲーションアクションテーブルを使用してアクションを決定し得る。車両は、MLモデルの出力に基づいて、各ナビゲーションアクションテーブルに対応するアクションを決定し、最も保守的なアクションを選択し得る。例えば、第1のナビゲーションアクションテーブルが、車両が走行すべきであることを示し、第2のナビゲーションアクションテーブルが、車両がスロットルオフすべきであることを示している場合、車両は「スロットルオフ」を選択し得る。
いくつかの実施形態において、システムは、異なるタイプの隠れたコンテキスト属性に対して異なるナビゲーションアクションテーブルを決定する。例えば、システムは、歩行者の意図の予測のための1つのナビゲーションアクションテーブルと、自律車両の認識のための別のナビゲーションアクションテーブルとを生成し得る。自律車両は、ユースケース(どの隠れたコンテキスト属性が使用される必要があるかという)に基づいて適切なナビゲーションアクションテーブルを使用する。
[交通を介して自律車両をナビゲートするプロセス]
図7は、一実施形態による、ナビゲーションアクションテーブルを使用して自律車両をナビゲートするプロセスを示すフローチャートである。フローチャートに示されるステップは、図7に示されるものとは異なる順序で実行され得る。例えば、特定のステップは、並行して実行され得る。ステップは、本明細書に示されるもの以外のモジュールによって実行され得る。
図7は、一実施形態による、ナビゲーションアクションテーブルを使用して自律車両をナビゲートするプロセスを示すフローチャートである。フローチャートに示されるステップは、図7に示されるものとは異なる順序で実行され得る。例えば、特定のステップは、並行して実行され得る。ステップは、本明細書に示されるもの以外のモジュールによって実行され得る。
車両コンピューティングシステム120は、自律車両のセンサからセンサデータを受信する(700)。例えば、車両コンピューティングシステム120は、LidarからLidarスキャンを、自律車両に搭載されたカメラからカメラ画像を、受信し得る。車両に複数のカメラが搭載されている場合、車両コンピューティングシステム120は、各カメラによってキャプチャされたビデオまたは画像を受信する。一実施形態では、車両コンピューティングシステム120は、センサデータに基づいて、自律車両の周囲の点群表現を構築する。点群表現は、車両を囲む点、例えば、3次元点、の座標と、各点、例えば、色、強度など、を説明するパラメータとを含む。
車両コンピューティングシステム120は、センサデータ、例えば、歩行者、自転車運転者、または交通における別の交通エンティティ、に基づいて交通エンティティを識別する(710)。車両コンピューティングシステム120は、センサデータにMLモデルを適用することによって、交通エンティティの行動を示すスコアを決定する(720)。車両コンピューティングシステム120は、ナビゲーションアクションテーブルを使用して、MLモデルによって決定されたスコアに対応するナビゲーションアクションを決定する(725)。ナビゲーションアクションは、停止、運転の継続、または減速とすることができる。車両コンピューティングシステムは、自律車両の制御装置に信号を送信して、決定されたナビゲーションアクションを実行する(730)。
[コンピュータアーキテクチャ]
図8は、機械可読媒体から命令を読み取り、それらをプロセッサ(または制御装置)内で実行することが可能な例示的な機械のコンポーネントを示すブロック図である。特に、図8は、コンピュータシステム800の例示的な形態の機械のダイアグラム表現を示し、その中で、本明細書に記載される方法論のうちの任意の1つまたは複数を機械に実行させるための命令824(例えば、ソフトウェア)が実行され得る。代替的な実施形態では、機械は、スタンドアロンデバイスとして動作する、または他の機械に接続され得る(例えば、ネットワーク化など)。ネットワーク展開では、機械は、サーバ-クライアントネットワーク環境内のサーバマシンまたはクライアントマシンの能力で、またはピアツーピア(または分散)ネットワーク環境内のピアマシンとして動作し得る。
図8は、機械可読媒体から命令を読み取り、それらをプロセッサ(または制御装置)内で実行することが可能な例示的な機械のコンポーネントを示すブロック図である。特に、図8は、コンピュータシステム800の例示的な形態の機械のダイアグラム表現を示し、その中で、本明細書に記載される方法論のうちの任意の1つまたは複数を機械に実行させるための命令824(例えば、ソフトウェア)が実行され得る。代替的な実施形態では、機械は、スタンドアロンデバイスとして動作する、または他の機械に接続され得る(例えば、ネットワーク化など)。ネットワーク展開では、機械は、サーバ-クライアントネットワーク環境内のサーバマシンまたはクライアントマシンの能力で、またはピアツーピア(または分散)ネットワーク環境内のピアマシンとして動作し得る。
機械は、サーバコンピュータ、クライアントコンピュータ、パーソナルコンピュータ(PC)、タブレットPC、セットトップボックス(STB)、携帯情報端末(PDA)、携帯電話、スマートフォン、ウェブ機器、ネットワークルータ、スイッチまたはブリッジ、またはその機械によって取られるべき動作を指定する命令824(順次または他)を実行することが可能な任意の機械であり得る。さらに、単一のマシンのみが図示されているが、「マシン」という用語はまた、本明細書で説明される方法のうちの任意の1つまたは複数を実行するために命令824を個別にまたは共同で実行するマシンの任意の集合を含むものとする。
例示的なコンピュータシステム800は、プロセッサ802(例えば、中央処理装置(CPU)、グラフィックス処理装置(GPU)、デジタル信号プロセッサ(DSP)、1つまたは複数の特定用途向け集積回路(ASIC)、1つまたは複数の無線周波数集積回路(RFIC)、またはこれらの任意の組み合わせ)、メインメモリ804、およびスタティックメモリ806を含み、これらはバス808を介して互いに通信するように構成される。コンピュータシステム800は、さらに、グラフィックスディスプレイユニット810(例えば、プラズマディスプレイパネル(PDP)、液晶ディスプレイ(LCD)、プロジェクタ、または陰極線管(CRT))を含み得る。コンピュータシステム800はまた、バス808を介して通信するように構成された、英数字入力デバイス812(例えば、キーボード)、カーソル制御デバイス814(例えば、マウス、トラックボール、ジョイスティック、モーションセンサ、または他のポインティング機器)、ストレージユニット816、信号生成デバイス818(例えば、スピーカ)、およびネットワークインタフェースデバイス820を含み得る。
ストレージユニット816は、本明細書中に記載される方法または機能のうちの任意の1つまたは複数を具体化する命令824(例えばソフトウェア)が記憶された機械可読媒体822を含む。命令824(例えばソフトウェア)もまた、コンピュータシステム800による実行中に、完全にまたは少なくとも部分的に、メインメモリ804内またはプロセッサ802内(例えばプロセッサのキャッシュメモリ内)に存在し得、メインメモリ804およびプロセッサ802もまた機械可読媒体を構成する。命令824(例えば、ソフトウェア)は、ネットワークインタフェースデバイス820を介してネットワーク826を介して送信または受信され得る。
例示的な実施形態では、機械可読媒体822は単一の媒体であるように示されているが、用語「機械可読媒体」は、命令(例えば、命令824)を格納することが可能な単一の媒体または複数の媒体(例えば、集中型または分散型データベース、または関連するキャッシュおよびサーバ)を含むものとする。用語「機械可読媒体」はまた、機械による実行のための命令(例えば、命令824)を格納することが可能であり、本明細書に開示された方法のうちの任意の1つまたは複数を機械に実行させる任意の媒体を含むものとする。用語「機械可読媒体」は、ソリッドステートメモリ、光学媒体、および磁気媒体の形態のデータリポジトリを含むが、これらに限定されない。
[他の考慮事項]
開示される実施形態は、自律車両をナビゲートするための技術を記載するが、開示される技術は、任意の移動装置、例えば、ロボット、配送車両、ドローンなどに適用可能である。
開示される実施形態は、自律車両をナビゲートするための技術を記載するが、開示される技術は、任意の移動装置、例えば、ロボット、配送車両、ドローンなどに適用可能である。
本明細書に記載される主題は、本明細書に開示される構造的手段およびその構造的等価物を含む、デジタル電子回路において、またはコンピュータソフトウェア、ファームウェア、またはハードウェアにおいて、あるいはそれらの組み合わせにおいて実施できる。本明細書に記載される主題は、データ処理装置(例えば、プログラム可能プロセッサ、コンピュータ、または複数のコンピュータ)による実行のために、またはその動作を制御するために、情報キャリア(例えば、機械可読記憶装置)または伝搬信号において有形的に具現化された1つまたは複数のコンピュータプログラムなどの1つまたは複数のコンピュータプログラム製品として実施できる。コンピュータプログラム(プログラム、ソフトウェア、ソフトウェアアプリケーション、またはコードとしても知られる)は、コンパイル言語またはインタプリタ言語を含む任意の形態のプログラム言語で書くことができ、スタンドアロンプログラムとして、またはモジュール、コンポーネント、サブルーチン、またはコンピューティング環境での使用に適した他のユニットとして、任意の形態で展開できる。コンピュータプログラムは、必ずしもファイルに対応するものではない。プログラムは、他のプログラムまたはデータを保持するファイルの一部、問題のプログラム専用の単一ファイル、または複数の調整されたファイル(例えば、1つまたは複数のモジュール、サブプログラム、またはコードの一部を格納するファイル)に格納できる。コンピュータプログラムは、1つのサイトの1つのコンピュータまたは複数のコンピュータ上で実行されるように展開される、または複数のサイトにわたって分散され、通信ネットワークによって相互接続できる。
本明細書に記載される主題の方法のステップを含む、本明細書に記載されるプロセスおよび論理フローは、1つまたは複数のプログラマブルプロセッサによって実行され、1つまたは複数のコンピュータプログラムを実行して、入力データを操作し、出力を生成することによって、本明細書に記載される主題の機能を実行できる。プロセスおよび論理フローはまた、専用論理回路、例えば、FPGA(フィールドプログラマブルゲートアレイ)またはASIC(特定用途向け集積回路)、によって実行、またはとして実装できる。
コンピュータプログラムの実行に適したプロセッサには、例として、汎用および専用マイクロプロセッサの両方、および任意の種類のデジタルコンピュータの任意の1つまたは複数のプロセッサを含む。一般に、プロセッサは、読取り専用メモリまたはランダムアクセスメモリまたはその両方から命令およびデータを受信する。コンピュータの必須要素は、命令を実行するためのプロセッサと、命令およびデータを格納するための1つまたは複数のメモリデバイスである。一般に、コンピュータはまた、データを格納するための1つまたは複数の大容量記憶装置、例えば、磁気ディスク、光磁気ディスク、または光ディスク、を含む、またはこれらの装置からデータを受信するか、これらの装置にデータを転送する、またはこれらの両方を行うように動作可能に結合される。コンピュータプログラム命令およびデータを具体化するのに適した情報キャリアは、例示としての半導体メモリデバイス(例えば、EPROM、EEPROM、およびフラッシュメモリデバイス)、磁気ディスク(例えば、内部ハードディスクまたはリムーバブルディスク)、光磁気ディスク、および光ディスク(例えば、CDおよびDVDディスク)を含む、任意の形態の不揮発性メモリを含む。プロセッサおよびメモリは、専用論理回路によって補足、または組み込むことができる。
ユーザとの対話を提供するために、本明細書に記載される主題は、ユーザに情報を表示するためのディスプレイ装置、例えば、CRT(陰極線管)またはLCD(液晶ディスプレイ)モニタと、ユーザがコンピュータに入力を提供できるキーボードおよびポインティングデバイス(例えば、マウスまたはトラックボール)とを有するコンピュータ上に実施できる。ユーザとの対話を提供するために、他の種類のデバイスも使用できる。例えば、ユーザに提供されるフィードバックは、任意の形態の感覚フィードバック(例えば、視覚フィードバック、聴覚フィードバック、または触覚フィードバック)とすることができ、ユーザからの入力は、音響、発話、または触覚入力を含む任意の形態で受信できる。
本明細書に記載する主題は、バックエンドコンポーネント(例えば、データサーバ)、ミドルウェアコンポーネント(例えば、アプリケーションサーバ)、またはフロントエンドコンポーネント(例えば、ユーザが本明細書に記載する主題の実装と相互作用できるグラフィカルユーザインタフェースまたはウェブブラウザを有するクライアントコンピュータ)、またはそのようなバックエンド、ミドルウェア、およびフロントエンドコンポーネントの任意の組み合わせを含むコンピューティングシステムに実装できる。システムのコンポーネントは、デジタルデータ通信の任意の形態または媒体、例えば、通信ネットワーク、によって相互接続できる。通信ネットワークの例には、ローカルエリアネットワーク(「LAN」)およびワイドエリアネットワーク(「WAN」)、例えばインターネットが含まれる。
開示された主題は、その適用において、構造の詳細および以下の説明または図面に示される構成要素の配置に限定されないことが理解されるべきである。開示された主題は、他の実施形態、ならびに様々な方法で実施および実行されることが可能である。また、本明細書で使用される表現および用語は、説明の目的のためであり、限定とみなされるべきではないことが理解されるべきである。
したがって、当業者は、本開示の基礎となる概念が、開示された主題のいくつかの目的を実行するための他の構造、方法、およびシステムの設計の基礎として容易に利用され得ることを理解するであろう。したがって、特許請求の範囲は、開示された主題の精神および範囲から逸脱しない限り、そのような同等の構成を含むものとみなすことが重要である。
開示された主題は、前述の例示的な実施形態において説明され、図示されたが、本開示は一例としてのみ行われたものであり、開示された主題の実施の詳細における多くの変更は、開示された主題の精神および範囲から逸脱することなく、行われ得ることが理解され、以下の請求項によってのみ限定される。
Claims (40)
- グラウンドトゥルースシナリオに関連付けられたビデオフレームのセットを識別することであって、ビデオフレームの各セットは、前記ビデオフレームのセットの閾値時間間隔内でキャプチャされた追加のビデオフレームのセットに関連付けられている、ことと、
グラウンドトゥルースシナリオに関連付けられたビデオフレームの各セットについて、
前記ビデオフレームのセット内の交通エンティティの精神の状態を説明する属性に関連付けられた1つまたは複数の値を出力する機械学習ベースモデルへの入力として前記ビデオフレームのセットを提供することと、
前記1つまたは複数の値に基づいて前記交通エンティティの予測された行動を決定することと、
対応する追加のビデオフレームのセットに基づいて、前記交通エンティティの実際の行動を決定することと、
前記予測された行動と前記実際の行動とを比較することと、
前記グラウンドトゥルースシナリオに関連付けられた前記ビデオフレームのセットの前記予測された行動と前記実際の行動との比較に基づいて、自律車両によって実行されるナビゲーションアクションに前記機械学習ベースモデルの出力値をマッピングするナビゲーションアクションテーブルを生成することと、
前記ナビゲーションアクションテーブルを使用して自律車両にナビゲーションアクションを実行させることと、
を含む、方法。 - グラウンドトゥルースシナリオに関連付けられたビデオフレームの1つまたは複数のセットを識別することは、
1つまたは複数の車両に搭載されたカメラによってキャプチャされた複数のビデオフレームを受信することであって、各ビデオフレームは、前記ビデオフレームをキャプチャした前記車両の車両属性に関連付けられている、ことと、
グラウンドトゥルースの交通シナリオに関連付けられ、前記車両属性、交通属性、および道路属性の1つまたは複数の属性の値を指定する式を含むフィルタリング基準のセットを受信することと、
前記フィルタリング基準のセットに従って前記複数のビデオフレームをフィルタリングして、グラウンドトゥルースの交通シナリオに関連付けられた前記ビデオフレームのセットを識別することと、
を含む、請求項1に記載の方法。 - 前記車両属性は、前記車両の速度、曲がる方向、および位置の1つまたは複数を含む、請求項2に記載の方法。
- 交通属性は、交通が通りを横切る可能性が高い歩行者を含むかどうか、交通が前記車両を認識する歩行者を含むかどうか、前記車両からの交通エンティティからの距離、歩行者が歩道上にあるかどうか、道路上の歩行者があるかどうか、および交通エンティティが移動している方向、の1つまたは複数を示す、請求項2に記載の方法。
- 道路属性は、前記車両が移動している方向の閾値距離内に近づいている横断歩道があるかどうか、および前記車両が移動している方向の閾値距離内に交差点があるかどうかのうちの1つまたは複数を示す、請求項2に記載の方法。
- グラウンドトゥルースシナリオに対応する前記フィルタリング基準が、前記ビデオフレームをキャプチャした前記車両の閾値距離内の歩行者を示すビデオフレームを識別するように構成されている、請求項2に記載の方法。
- 前記自律車両に前記ナビゲーションアクションテーブルを使用して前記ナビゲーションアクションを実行させることは、
前記自律車両のセンサによってキャプチャされたセンサデータを受信することと、
前記センサデータに表される交通エンティティの属性に関連付けられた1つまたは複数の値を出力する前記機械学習ベースモデルへの入力として前記センサデータを提供することと、
前記ナビゲーションアクションテーブル内の属性に関連付けられた前記1つまたは複数の値に対応する前記ナビゲーションアクションを決定することと、
前記自律車両の制御装置に信号を提供して、前記決定されたナビゲーションアクションを実行することと、
を含む、請求項1に記載の方法。 - 前記センサデータは、前記自律車両に搭載されたカメラによってキャプチャされた1つまたは複数の画像を表す、請求項7に記載の方法。
- 前記センサデータは、前記自律車両に搭載されたlidarによってキャプチャされたlidarスキャンを表す、請求項7に記載の方法。
- 前記機械学習ベースモデルは畳み込みニューラルネットワークである、請求項1に記載の方法。
- 前記機械学習ベースモデルをトレーニングすることをさらに含み、前記トレーニングは、
1つまたは複数の車両によってキャプチャされたビデオフレームのトレーニングセットを複数のユーザに提示することであって、各ビデオフレームは、対応する車両の曲がる方向の指示で注釈付けされている、ことと、
ユーザの応答を受信することと、
前記応答を説明する統計情報を生成することと、
トレーニングデータとして前記応答を説明する前記統計情報を前記機械学習ベースモデルに提供することと、
を含む、請求項1に記載の方法。 - 前記交通エンティティの前記実際の行動を決定することは、
前記ビデオフレームのセット内の前記交通エンティティの周りのバウンディングボックスの位置が、道路の境界内にある、または前記道路の境界外にあるかを決定することと、
前記バウンディングボックスの前記位置が前記道路の前記境界内にあると決定することに応答して、前記交通エンティティが前記道路を横断していると決定することと、
前記バウンディングボックスの前記位置が前記道路の前記境界の外側にあると決定することに応答して、前記交通エンティティが前記道路を横断していないと決定することと、
をさらに含む、請求項1に記載の方法。 - 命令を格納する非一時的コンピュータ可読記憶媒体であって、前記命令は、コンピュータプロセッサによって実行されると、前記コンピュータプロセッサに、
グラウンドトゥルースシナリオに関連付けられたビデオフレームのセットを識別し、ビデオフレームの各セットは、前記ビデオフレームのセットの閾値時間間隔内でキャプチャされた追加のビデオフレームのセットに関連付けられており、
グラウンドトゥルースシナリオに関連付けられたビデオフレームの各セットについて、
前記ビデオフレームのセット内の交通エンティティの精神の状態を説明する属性に関連付けられた1つまたは複数の値を出力する機械学習ベースモデルへの入力として前記ビデオフレームのセットを提供し
前記1つまたは複数の値に基づいて前記交通エンティティの予測された行動を決定し、
対応する追加のビデオフレームのセットに基づいて、前記交通エンティティの実際の行動を決定し、
前記予測された行動と前記実際の行動とを比較し、
前記グラウンドトゥルースシナリオに関連付けられた前記ビデオフレームのセットの前記予測された行動と前記実際の行動との比較に基づいて、自律車両によって実行されるナビゲーションアクションに前記機械学習ベースモデルの出力値をマッピングするナビゲーションアクションテーブルを生成し、
前記ナビゲーションアクションテーブルを使用して自律車両にナビゲーションアクションを実行させる、
ステップを実行させる、非一時的コンピュータ可読記憶媒体。 - グラウンドトゥルースシナリオに関連付けられたビデオフレームの1つまたは複数のセットを識別することは、
1つまたは複数の車両に搭載されたカメラによってキャプチャされた複数のビデオフレームを受信することであって、各ビデオフレームは、前記ビデオフレームをキャプチャした前記車両の車両属性に関連付けられている、ことと、
グラウンドトゥルースの交通シナリオに関連付けられ、前記車両属性、交通属性、および道路属性の1つまたは複数の属性の値を指定する式を含むフィルタリング基準のセットを受信することと、
前記フィルタリング基準のセットに従って前記複数のビデオフレームをフィルタリングして、グラウンドトゥルースの交通シナリオに関連付けられた前記ビデオフレームのセットを識別することと、
を含む、請求項13に記載の非一時的コンピュータ可読記憶媒体。 - 前記自律車両に前記ナビゲーションアクションテーブルを使用して前記ナビゲーションアクションを実行させることは、
前記自律車両のセンサによってキャプチャされたセンサデータを受信することと、
前記センサデータに表される交通エンティティの属性に関連付けられた1つまたは複数の値を出力する前記機械学習ベースモデルへの入力として前記センサデータを提供することと、
前記ナビゲーションアクションテーブル内の属性に関連付けられた前記1つまたは複数の値に対応する前記ナビゲーションアクションを決定することと、
前記自律車両の制御装置に信号を提供して、前記決定されたナビゲーションアクションを実行することと、
を含む、請求項14に記載の非一時的コンピュータ可読記憶媒体。 - コンピュータプロセッサによって実行されると、前記コンピュータプロセッサに、前記機械学習ベースモデルをトレーニングするためのステップを実行させる命令をさらに格納し、前記ステップは、
1つまたは複数の車両によってキャプチャされたビデオフレームのトレーニングセットを複数のユーザに提示することであって、各ビデオフレームは、対応する車両の曲がる方向の指示で注釈付けされている、ことと、
ユーザの応答を受信することと、
前記応答を説明する統計情報を生成することと、
トレーニングデータとして前記応答を説明する前記統計情報を前記機械学習ベースモデルに提供することと、
を含む、請求項13に記載の非一時的コンピュータ可読記憶媒体。 - コンピュータプロセッサと、
命令を格納する非一時的コンピュータ可読記憶媒体と、
を含むコンピュータシステムであって、
前記命令は、コンピュータプロセッサによって実行されると、前記コンピュータプロセッサに、
グラウンドトゥルースシナリオに関連付けられたビデオフレームのセットを識別し、ビデオフレームの各セットは、前記ビデオフレームのセットの閾値時間間隔内でキャプチャされた追加のビデオフレームのセットに関連付けられており、
グラウンドトゥルースシナリオに関連付けられたビデオフレームの各セットについて、
前記ビデオフレームのセット内の交通エンティティの精神の状態を説明する属性に関連付けられた1つまたは複数の値を出力する機械学習ベースモデルへの入力として前記ビデオフレームのセットを提供し、
前記1つまたは複数の値に基づいて前記交通エンティティの予測された行動を決定し、
対応する追加のビデオフレームのセットに基づいて、前記交通エンティティの実際の行動を決定し、
前記予測された行動と前記実際の行動とを比較し、
前記グラウンドトゥルースシナリオに関連付けられた前記ビデオフレームのセットの前記予測された行動と前記実際の行動との比較に基づいて、自律車両によって実行されるナビゲーションアクションに前記機械学習ベースモデルの出力値をマッピングするナビゲーションアクションテーブルを生成し、
前記ナビゲーションアクションテーブルを使用して自律車両にナビゲーションアクションを実行させる、
ステップを実行させる、コンピュータシステム。 - グラウンドトゥルースシナリオに関連付けられたビデオフレームの1つまたは複数のセットを識別することは、
1つまたは複数の車両に搭載されたカメラによってキャプチャされた複数のビデオフレームを受信することであって、各ビデオフレームは、前記ビデオフレームをキャプチャした前記車両の車両属性に関連付けられている、ことと、
グラウンドトゥルースの交通シナリオに関連付けられ、前記車両属性、交通属性、および道路属性の1つまたは複数の属性の値を指定する式を含むフィルタリング基準のセットを受信することと、
前記フィルタリング基準のセットに従って前記複数のビデオフレームをフィルタリングして、グラウンドトゥルースの交通シナリオに関連付けられた前記ビデオフレームのセットを識別することと、
を含む、請求項17に記載のコンピュータシステム。 - 前記自律車両に前記ナビゲーションアクションテーブルを使用して前記ナビゲーションアクションを実行させることは、
前記自律車両のセンサによってキャプチャされたセンサデータを受信することと、
前記センサデータに表される交通エンティティの属性に関連付けられた1つまたは複数の値を出力する前記機械学習ベースモデルへの入力として前記センサデータを提供することと、
前記ナビゲーションアクションテーブル内の属性に関連付けられた前記1つまたは複数の値に対応する前記ナビゲーションアクションを決定することと、
前記自律車両の制御装置に信号を提供して、前記決定されたナビゲーションアクションを実行することと、
を含む、請求項17に記載のコンピュータシステム。 - コンピュータプロセッサによって実行されると、前記コンピュータプロセッサに、前記機械学習ベースモデルをトレーニングするためのステップを実行させる命令をさらに格納し、前記ステップは、
1つまたは複数の車両によってキャプチャされたビデオフレームのトレーニングセットを複数のユーザに提示することであって、各ビデオフレームは、対応する車両の曲がる方向の指示で注釈付けされている、ことと、
ユーザの応答を受信することと、
前記応答を説明する統計情報を生成することと、
トレーニングデータとして前記応答を説明する前記統計情報を前記機械学習ベースモデルに提供することと、
を含む、請求項17に記載のコンピュータシステム。 - 車両に搭載されたカメラからキャプチャされた複数のビデオフレームを受信することであって、各ビデオフレームは前記車両の車両属性に関連付けられている、ことと、
前記複数のビデオフレームを処理して、各ビデオフレームについて、前記ビデオフレーム内の、交通エンティティを説明する交通属性と、道路を説明する道路属性と、を決定することと、
1つまたは複数のフィルタリング基準を受信することであって、各フィルタリング基準は、交通シナリオを表し、前記車両属性および前記交通属性の1つまたは複数の属性の値を指定する式を含む、ことと、
前記1つまたは複数のフィルタリング基準に従って前記複数のビデオフレームをフィルタリングして、前記交通シナリオに関連付けられたビデオフレームのセットを識別することと、
入力ビデオフレーム内の交通エンティティの精神の状態を説明する属性に関連付けられた1つまたは複数の値を決定するように構成された機械学習ベースモデルの検証またはトレーニングのために、前記識別されたビデオフレームのセットを使用することと、
自律車両のナビゲーションのために前記機械学習ベースモデルを使用すること、
を含む、方法。 - 交通シナリオに関連付けられたフィルタリング基準を生成することをさらに含み、前記生成することは、
前記1つまたは複数の属性のそれぞれについて、
前記属性の可能な値の範囲を受信することと、
可能な値の範囲について、前記範囲を複数のサブ範囲に分割することと、
前記1つまたは複数の属性から属性のサブセットを選択することと、
前記交通シナリオを説明する属性の前記サブセットの値の1つまたは複数のサブ範囲を組み合わせることと、
を含む、請求項21に記載の方法。 - 前記車両属性、前記交通属性、および前記道路属性の各属性について、前記属性に関連付けられた値を決定する計算コストを決定することと、
前記車両属性、前記交通属性、および前記道路属性の1つまたは複数の属性に関連付けられたフィルタリング基準について、前記計算コストに基づいて前記1つまたは複数の属性をランク付けすることと、
前記複数のビデオフレームを前記ランク付けされた条件の順序でフィルタリングすることと、
をさらに含む、請求項21に記載の方法。 - 前記機械学習ベースモデルのトレーニングのために前記識別されたビデオフレームのセットを使用することは、
前記ビデオフレームのセットを複数のユーザに提示することであって、各ビデオフレームは、前記ビデオフレームをキャプチャした車両の曲がる方向の指示で注釈付けされる、ことと、
前記ビデオフレームのセット内の交通エンティティの精神の状態を説明するユーザの応答を受信することと、
前記応答を説明する統計情報を生成することと、
トレーニングデータとして前記応答を説明する前記統計情報を前記機械学習ベースモデルに提供することと、
を含む、請求項21に記載の方法。 - 前記機械学習ベースモデルの検証のために前記識別されたビデオフレームのセットを使用することは、
前記ビデオフレームのセットを複数のユーザに提示することであって、各ビデオフレームは、前記ビデオフレームをキャプチャした車両の曲がる方向の指示で注釈付けされる、ことと、
前記ビデオフレームのセット内の交通エンティティの精神の状態を説明するユーザの応答を受信することと、
前記応答を説明する統計情報を生成することと、
前記ビデオフレームのセット内の交通エンティティの精神の状態を説明する属性に関連付けられた1つまたは複数の値を出力する前記機械学習ベースモデルへの入力として前記ビデオフレームのセットを提供することと、
前記応答を説明する前記統計情報を前記出力の1つまたは複数の値と比較することと、
を含む、請求項21に記載の方法。 - 前記自律車両のナビゲーションのために前記機械学習ベースモデルを使用することが、
前記自律車両のセンサによってキャプチャされたセンサデータを受信することと、
前記センサデータに表される交通エンティティの属性に関連付けられた1つまたは複数の値を出力する前記機械学習ベースモデルへの入力として前記センサデータを提供することと、
前記1つまたは複数の値に対応するナビゲーションアクションを決定することと、
前記自律車両の制御装置に信号を提供して、前記決定されたナビゲーションアクションを実行することと、
を含む、請求項21に記載の方法。 - 前記車両属性は、前記車両の速度、曲がる方向、および位置の1つまたは複数を含む、請求項21に記載の方法。
- 交通属性は、交通が通りを横切る可能性が高い歩行者を含むかどうか、交通が前記車両を認識する歩行者を含むかどうか、前記車両からの交通エンティティからの距離、歩行者が歩道上にあるかどうか、道路上の歩行者があるかどうか、および交通エンティティが移動している方向、の1つまたは複数を示す、請求項21に記載の方法。
- 道路属性は、前記車両が移動している方向の閾値距離内に近づいている横断歩道があるかどうか、および前記車両が移動している方向の閾値距離内に交差点があるかどうかのうちの1つまたは複数を示す、請求項21に記載の方法。
- 命令を格納する非一時的コンピュータ可読記憶媒体であって、前記命令は、コンピュータプロセッサによって実行されると、前記コンピュータプロセッサに、
車両に搭載されたカメラからキャプチャされた複数のビデオフレームを受信し、各ビデオフレームは前記車両の車両属性に関連付けられており、
前記複数のビデオフレームを処理して、各ビデオフレームについて、前記ビデオフレーム内の、交通エンティティを説明する交通属性と、道路を説明する道路属性と、を決定し、
1つまたは複数のフィルタリング基準を受信し、各フィルタリング基準は、交通シナリオを表し、前記車両属性および前記交通属性の1つまたは複数の属性の値を指定する式を含み、
前記1つまたは複数のフィルタリング基準に従って前記複数のビデオフレームをフィルタリングして、前記交通シナリオに関連付けられたビデオフレームのセットを識別し、
入力ビデオフレーム内の交通エンティティの精神の状態を説明する属性に関連付けられた1つまたは複数の値を決定するように構成された機械学習ベースモデルの検証またはトレーニングのために、前記識別されたビデオフレームのセットを使用し、
自律車両のナビゲーションのために前記機械学習ベースモデルを使用する、
ステップを実行させる、非一時的コンピュータ可読記憶媒体。 - コンピュータプロセッサによって実行されると、前記コンピュータプロセッサに、交通シナリオに関連付けられたフィルタリング基準を生成するためのステップを実行させる命令をさらに格納し、前記生成することは、
前記1つまたは複数の属性のそれぞれについて、
前記属性の可能な値の範囲を受信することと、
可能な値の範囲について、前記範囲を複数のサブ範囲に分割することと、
前記1つまたは複数の属性から属性のサブセットを選択することと、
前記交通シナリオを説明する属性の前記サブセットの値の1つまたは複数のサブ範囲を組み合わせることと、
を含む、請求項30に記載の非一時的コンピュータ可読記憶媒体。 - コンピュータプロセッサによって実行されると、前記コンピュータプロセッサに、
前記車両属性、前記交通属性、および前記道路属性の各属性について、前記属性に関連付けられた値を決定する計算コストを決定し、
前記車両属性、前記交通属性、および前記道路属性の1つまたは複数の属性に関連付けられたフィルタリング基準について、前記計算コストに基づいて前記1つまたは複数の属性をランク付けし、
前記複数のビデオフレームを前記ランク付けされた条件の順序でフィルタリングする、
ステップを実行させる、命令をさらに格納する、請求項30に記載の非一時的コンピュータ可読記憶媒体。 - 前記機械学習ベースモデルのトレーニングのために前記識別されたビデオフレームのセットを使用することは、
前記ビデオフレームのセットを複数のユーザに提示することであって、各ビデオフレームは、前記ビデオフレームをキャプチャした車両の曲がる方向の指示が注釈される、ことと、
前記ビデオフレームのセット内の交通エンティティの精神の状態を説明するユーザの応答を受信することと、
前記応答を説明する統計情報を生成することと、
トレーニングデータとして前記応答を説明する前記統計情報を前記機械学習ベースモデルに提供することと、
を含む、請求項30に記載の非一時的コンピュータ可読記憶媒体。 - 前記機械学習ベースモデルの検証のために前記識別されたビデオフレームのセットを使用することは、
前記ビデオフレームのセットを複数のユーザに提示することであって、各ビデオフレームは、前記ビデオフレームをキャプチャした車両の曲がる方向の指示が注釈される、前記提示することと、
前記ビデオフレームのセット内の交通エンティティの精神の状態を説明するユーザの応答を受信することと、
前記応答を説明する統計情報を生成することと、
前記ビデオフレームのセット内の交通エンティティの精神の状態を説明する属性に関連付けられた1つまたは複数の値を出力する前記機械学習ベースモデルへの入力として前記ビデオフレームのセットを提供することと、
前記応答を説明する前記統計情報を前記出力の1つまたは複数の値と比較することと、
を含む、請求項30に記載の非一時的コンピュータ可読記憶媒体。 - 前記自律車両のナビゲーションのために前記機械学習ベースモデルを使用することが、
前記自律車両のセンサによってキャプチャされたセンサデータを受信することと、
前記センサデータに表される交通エンティティの属性に関連付けられた1つまたは複数の値を出力する前記機械学習ベースモデルへの入力として前記センサデータを提供することと、
前記1つまたは複数の値に対応するナビゲーションアクションを決定することと、
前記自律車両の制御装置に信号を提供して、前記決定されたナビゲーションアクションを実行することと、
を含む、請求項30に記載の非一時的コンピュータ可読記憶媒体。 - コンピュータプロセッサと、
命令を格納する非一時的コンピュータ可読記憶媒体と、
を含むコンピュータシステムであって、
前記命令は、コンピュータプロセッサによって実行されると、前記コンピュータプロセッサに、
車両に搭載されたカメラからキャプチャされた複数のビデオフレームを受信し、各ビデオフレームは前記車両の車両属性に関連付けられており、
前記複数のビデオフレームを処理して、各ビデオフレームについて、前記ビデオフレーム内の、交通エンティティを説明する交通属性と、道路を説明する道路属性と、を決定し、
1つまたは複数のフィルタリング基準を受信し、各フィルタリング基準は、交通シナリオを表し、前記車両属性および前記交通属性の1つまたは複数の属性の値を指定する式を含み、
前記1つまたは複数のフィルタリング基準に従って前記複数のビデオフレームをフィルタリングして、前記交通シナリオに関連付けられたビデオフレームのセットを識別し、
入力ビデオフレーム内の交通エンティティの精神の状態を説明する属性に関連付けられた1つまたは複数の値を決定するように構成された機械学習ベースモデルの検証またはトレーニングのために、前記識別されたビデオフレームのセットを使用し、
自律車両のナビゲーションのために前記機械学習ベースモデルを使用する、
ステップを実行させる、コンピュータシステム。 - 前記コンピュータプロセッサによって実行されると、前記コンピュータプロセッサに、
交通シナリオに関連付けられたフィルタリング基準を生成し、前記生成することは、
前記1つまたは複数の属性のそれぞれについて、
前記属性の可能な値の範囲を受信することと、
可能な値の範囲について、前記範囲を複数のサブ範囲に分割することと、
を含み、
前記1つまたは複数の属性から属性のサブセットを選択し、
前記交通シナリオを説明する属性の前記サブセットの値の1つまたは複数のサブ範囲を組み合わせる、
ステップを実行させる命令をさらに格納した、請求項36に記載のコンピュータシステム。 - 前記コンピュータプロセッサによって実行されると、前記コンピュータプロセッサに、
前記車両属性、前記交通属性、および前記道路属性の各属性について、前記属性に関連付けられた値を決定する計算コストを決定し、
前記車両属性、前記交通属性、および前記道路属性の1つまたは複数の属性に関連付けられたフィルタリング基準について、前記計算コストに基づいて前記1つまたは複数の属性をランク付けし、
前記複数のビデオフレームを前記ランク付けされた条件の順序でフィルタリングする、
ステップを実行させる命令をさらに格納した、請求項36に記載のコンピュータシステム。 - 前記機械学習ベースモデルのトレーニングのために前記識別されたビデオフレームのセットを使用することは、
前記ビデオフレームのセットを複数のユーザに提示することであって、各ビデオフレームは、前記ビデオフレームをキャプチャした車両の曲がる方向の指示が注釈される、ことと、
前記ビデオフレームのセット内の交通エンティティの精神の状態を説明するユーザの応答を受信することと、
前記応答を説明する統計情報を生成することと、
トレーニングデータとして前記応答を説明する前記統計情報を前記機械学習ベースモデルに提供することと、
を含む、請求項36に記載のコンピュータシステム。 - 前記機械学習ベースモデルの検証のために前記識別されたビデオフレームのセットを使用することは、
前記ビデオフレームのセットを複数のユーザに提示することであって、各ビデオフレームは、前記ビデオフレームをキャプチャした車両の曲がる方向の指示が注釈される、ことと、
前記ビデオフレームのセット内の交通エンティティの精神の状態を説明するユーザの応答を受信することと、
前記応答を説明する統計情報を生成することと、
前記ビデオフレームのセット内の交通エンティティの精神の状態を説明する属性に関連付けられた1つまたは複数の値を出力する前記機械学習ベースモデルへの入力として前記ビデオフレームのセットを提供することと、
前記応答を説明する前記統計情報を前記出力の1つまたは複数の値と比較することと、
を含む、請求項36に記載のコンピュータシステム。
Applications Claiming Priority (5)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US202063025771P | 2020-05-15 | 2020-05-15 | |
US202063025766P | 2020-05-15 | 2020-05-15 | |
US63/025,766 | 2020-05-15 | ||
US63/025,771 | 2020-05-15 | ||
PCT/US2021/032638 WO2021231986A1 (en) | 2020-05-15 | 2021-05-14 | Scenario identification for validation and training of machine learning based models for autonomous vehicles |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2023526329A true JP2023526329A (ja) | 2023-06-21 |
Family
ID=78512565
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2022569511A Pending JP2023526329A (ja) | 2020-05-15 | 2021-05-14 | 自律車両のための機械学習ベースモデルの検証およびトレーニングのためのシナリオ識別 |
Country Status (4)
Country | Link |
---|---|
US (2) | US11919545B2 (ja) |
EP (1) | EP4149808A1 (ja) |
JP (1) | JP2023526329A (ja) |
WO (1) | WO2021231986A1 (ja) |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20220340161A1 (en) * | 2021-04-26 | 2022-10-27 | Steering Solutions Ip Holding Corporation | Always-on motion controller |
US20210312193A1 (en) * | 2021-06-15 | 2021-10-07 | Nauto, Inc. | Devices and methods for predicting intersection violations and/or collisions |
CN114266973A (zh) * | 2021-12-23 | 2022-04-01 | 华侨大学 | 基于人车部件联合学习的载人电动车再识别方法及系统 |
US11550851B1 (en) * | 2022-02-10 | 2023-01-10 | Motional Ad Llc | Vehicle scenario mining for machine learning models |
US11691634B1 (en) * | 2022-06-24 | 2023-07-04 | Plus AI, Inc. | On-vehicle driving behavior modelling |
TWI819751B (zh) * | 2022-08-17 | 2023-10-21 | 國立高雄大學 | 全視覺自動駕駛系統 |
Family Cites Families (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE102007044535B4 (de) * | 2007-09-18 | 2022-07-14 | Bayerische Motoren Werke Aktiengesellschaft | Verfahren zur Fahrerinformation in einem Kraftfahrzeug |
US11067405B2 (en) * | 2010-06-07 | 2021-07-20 | Affectiva, Inc. | Cognitive state vehicle navigation based on image processing |
US20190019087A1 (en) | 2016-03-25 | 2019-01-17 | Sony Corporation | Information processing apparatus |
WO2017177128A1 (en) | 2016-04-08 | 2017-10-12 | The Trustees Of Columbia University In The City Of New York | Systems and methods for deep reinforcement learning using a brain-artificial intelligence interface |
US11315018B2 (en) * | 2016-10-21 | 2022-04-26 | Nvidia Corporation | Systems and methods for pruning neural networks for resource efficient inference |
US11042722B2 (en) * | 2016-12-30 | 2021-06-22 | Nokia Technologies Oy | Artificial neural network |
US20180336468A1 (en) | 2017-05-16 | 2018-11-22 | Nec Laboratories America, Inc. | Pruning filters for efficient convolutional neural networks for image recognition in surveillance applications |
US10402687B2 (en) | 2017-07-05 | 2019-09-03 | Perceptive Automata, Inc. | System and method of predicting human interaction with vehicles |
JP7346401B2 (ja) | 2017-11-10 | 2023-09-19 | エヌビディア コーポレーション | 安全で信頼できる自動運転車両のためのシステム及び方法 |
US10625748B1 (en) * | 2019-06-28 | 2020-04-21 | Lyft, Inc. | Approaches for encoding environmental information |
US11568100B2 (en) | 2019-06-28 | 2023-01-31 | Zoox, Inc. | Synthetic scenario simulator based on events |
US11562206B2 (en) * | 2019-09-30 | 2023-01-24 | Wipro Limited | System and method for providing personalized driving or navigation assistance |
-
2021
- 2021-05-14 US US17/321,309 patent/US11919545B2/en active Active
- 2021-05-14 JP JP2022569511A patent/JP2023526329A/ja active Pending
- 2021-05-14 US US17/321,297 patent/US11840261B2/en active Active
- 2021-05-14 WO PCT/US2021/032638 patent/WO2021231986A1/en unknown
- 2021-05-14 EP EP21805215.7A patent/EP4149808A1/en active Pending
Also Published As
Publication number | Publication date |
---|---|
US20210357662A1 (en) | 2021-11-18 |
US11840261B2 (en) | 2023-12-12 |
EP4149808A1 (en) | 2023-03-22 |
WO2021231986A1 (en) | 2021-11-18 |
US20210356968A1 (en) | 2021-11-18 |
US11919545B2 (en) | 2024-03-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11520346B2 (en) | Navigating autonomous vehicles based on modulation of a world model representing traffic entities | |
US11753046B2 (en) | System and method of predicting human interaction with vehicles | |
US11667301B2 (en) | Symbolic modeling and simulation of non-stationary traffic objects for testing and development of autonomous vehicle systems | |
US11919545B2 (en) | Scenario identification for validation and training of machine learning based models for autonomous vehicles | |
US11763163B2 (en) | Filtering user responses for generating training data for machine learning based models for navigation of autonomous vehicles | |
US20210114627A1 (en) | Neural networks for navigation of autonomous vehicles based upon predicted human intents | |
US11467579B2 (en) | Probabilistic neural network for predicting hidden context of traffic entities for autonomous vehicles | |
US11518413B2 (en) | Navigation of autonomous vehicles using turn aware machine learning based models for prediction of behavior of a traffic entity | |
US11615266B2 (en) | Adaptive sampling of stimuli for training of machine learning based models for predicting hidden context of traffic entities for navigating autonomous vehicles | |
CN111178286B (zh) | 姿态轨迹预测方法、装置及电子设备 | |
US20230311932A1 (en) | Merging object and background radar data for autonomous driving simulations | |
Nidamanuri et al. | Dual-V-Sense-Net (DVN): Multisensor Recommendation Engine for Distraction Analysis and Chaotic Driving Conditions | |
US20220261519A1 (en) | Rare event simulation in autonomous vehicle motion planning | |
US20230339504A1 (en) | Generating training data for machine learning based models for autonomous vehicles | |
US20230347931A1 (en) | Scenario based monitoring and control of autonomous vehicles | |
Völz | Learning to Predict Pedestrians for Urban Automated Driving | |
Nino | Context and Behavioral Analysis for Pedestrians in the Domain of Self-Driving | |
Pool | Context-based Cyclist Path Prediction: Crafted and Learned Models for Intelligent Vehicles |