JP2022039884A - 空間モデルを使用したニューラルネットワークに基づく視線方向の決定 - Google Patents

空間モデルを使用したニューラルネットワークに基づく視線方向の決定 Download PDF

Info

Publication number
JP2022039884A
JP2022039884A JP2020178171A JP2020178171A JP2022039884A JP 2022039884 A JP2022039884 A JP 2022039884A JP 2020178171 A JP2020178171 A JP 2020178171A JP 2020178171 A JP2020178171 A JP 2020178171A JP 2022039884 A JP2022039884 A JP 2022039884A
Authority
JP
Japan
Prior art keywords
subject
line
sight
vehicle
spatial
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
Application number
JP2020178171A
Other languages
English (en)
Inventor
ムラート アラル ヌリ
Murat Arar Nuri
ジャン ハイロン
Hairong Jiang
プリ ニシャント
Puri Nishant
シェティ ラジャス
Shetty Rajath
アバドハナム ニランジャン
Avadhanam Niranjan
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Nvidia Corp
Original Assignee
Nvidia Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Nvidia Corp filed Critical Nvidia Corp
Publication of JP2022039884A publication Critical patent/JP2022039884A/ja
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/21Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
    • G06F18/214Generating training patterns; Bootstrap methods, e.g. bagging or boosting
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/21Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
    • G06F18/217Validation; Performance evaluation; Active pattern learning techniques
    • G06F18/2193Validation; Performance evaluation; Active pattern learning techniques based on specific statistical tests
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/045Combinations of networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T17/00Three dimensional [3D] modelling, e.g. data description of 3D objects
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/70Arrangements for image or video recognition or understanding using pattern recognition or machine learning
    • G06V10/764Arrangements for image or video recognition or understanding using pattern recognition or machine learning using classification, e.g. of video objects
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/70Arrangements for image or video recognition or understanding using pattern recognition or machine learning
    • G06V10/77Processing image or video features in feature spaces; using data integration or data reduction, e.g. principal component analysis [PCA] or independent component analysis [ICA] or self-organising maps [SOM]; Blind source separation
    • G06V10/774Generating sets of training patterns; Bootstrap methods, e.g. bagging or boosting
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/70Arrangements for image or video recognition or understanding using pattern recognition or machine learning
    • G06V10/82Arrangements for image or video recognition or understanding using pattern recognition or machine learning using neural networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/94Hardware or software architectures specially adapted for image or video understanding
    • G06V10/95Hardware or software architectures specially adapted for image or video understanding structured as a network, e.g. client-server architectures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V20/00Scenes; Scene-specific elements
    • G06V20/50Context or environment of the image
    • G06V20/59Context or environment of the image inside of a vehicle, e.g. relating to seat occupancy, driver state or inner lighting conditions
    • G06V20/597Recognising the driver's state or behaviour, e.g. attention or drowsiness
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V20/00Scenes; Scene-specific elements
    • G06V20/60Type of objects
    • G06V20/64Three-dimensional objects
    • G06V20/647Three-dimensional objects by matching two-dimensional images to three-dimensional objects
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V40/00Recognition of biometric, human-related or animal-related patterns in image or video data
    • G06V40/10Human or animal bodies, e.g. vehicle occupants or pedestrians; Body parts, e.g. hands
    • G06V40/16Human faces, e.g. facial parts, sketches or expressions
    • G06V40/168Feature extraction; Face representation
    • G06V40/171Local features and components; Facial parts ; Occluding parts, e.g. glasses; Geometrical relationships
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V40/00Recognition of biometric, human-related or animal-related patterns in image or video data
    • G06V40/10Human or animal bodies, e.g. vehicle occupants or pedestrians; Body parts, e.g. hands
    • G06V40/18Eye characteristics, e.g. of the iris
    • G06V40/193Preprocessing; Feature extraction
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/30Subject of image; Context of image processing
    • G06T2207/30248Vehicle exterior or interior
    • G06T2207/30252Vehicle exterior; Vicinity of vehicle
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/30Subject of image; Context of image processing
    • G06T2207/30248Vehicle exterior or interior
    • G06T2207/30268Vehicle interior

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Health & Medical Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • Evolutionary Computation (AREA)
  • Multimedia (AREA)
  • Software Systems (AREA)
  • Artificial Intelligence (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Computing Systems (AREA)
  • Data Mining & Analysis (AREA)
  • General Engineering & Computer Science (AREA)
  • Medical Informatics (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Oral & Maxillofacial Surgery (AREA)
  • Mathematical Physics (AREA)
  • Databases & Information Systems (AREA)
  • Biophysics (AREA)
  • Computational Linguistics (AREA)
  • Molecular Biology (AREA)
  • Biomedical Technology (AREA)
  • Human Computer Interaction (AREA)
  • Evolutionary Biology (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Ophthalmology & Optometry (AREA)
  • Probability & Statistics with Applications (AREA)
  • Computer Graphics (AREA)
  • Geometry (AREA)
  • Image Analysis (AREA)
  • Traffic Control Systems (AREA)
  • Control Of Driving Devices And Active Controlling Of Vehicle (AREA)
  • Measurement Of The Respiration, Hearing Ability, Form, And Blood Characteristics Of Living Organisms (AREA)
  • Controls And Circuits For Display Device (AREA)
  • Image Processing (AREA)

Abstract

【課題】被験者の視線方向を決定し、この視線方向を任意の3次元形状の特定の領域に投影するシステム及び方法。【解決手段】例示的な実施形態では、視線方向は、回帰ベースの機械学習モデルによって決定され得る。次に、決定された視線方向は、任意の所望の物体又はシステムを表すことができる3次元マップ又は表面のセットに投影される。マップは、実際のものであろうと仮想のものであろうと、任意の3次元レイアウト又は形状を表すことができる。したがって、視線ベクトルを使用して、任意の環境内の視線の先にある物体を決定することができる。システムはまた、環境ごとに異なる表面又は領域のセットを取得することによって、異なる環境での使用に容易かつ効率的に適応することができる。【選択図】図2A

Description

関連出願の相互参照
本出願は、2019年12月16日に出願された米国仮出願第62/948,796号の利益を主張し、その開示は、参照により本明細書にその全体が組み込まれる。本出願はまた、2020年8月27日に出願された米国特許出願第17/004,252号を参照により本明細書にその全体を組み込む。
最近の畳込みニューラルネットワーク(CNN)は、被験者の視線方向を推定するために開発されてきた。そのようなCNNは、例えば、被験者の入力画像から被験者が見ている方向を決定することができる。これにより、そのようなCNNを使用するシステムが、被験者の視線を追跡し、リアルタイムでそれに応じて反応することが可能になる。
しかしながら、従来の視線決定システムには、欠点がないわけではない。特に、従来のシステムは一般に視線方向を決定することができるが、被験者が実際に見ているものを具体的に特定することはできない。例えば、いくつかの従来の車載視線決定システムは、運転者が特定の方向、例えば、真っ直ぐ前方、又は片側方向などを見ていると決定することができるが、そのようなシステムは、運転者が見ている特定の物体又はアイテム、例えば、ダッシュボード、道路、又はラジオなどを決定しない。
したがって、より具体的な様式で機械学習に基づく視線分析を実施するシステム及び方法が本明細書で説明される。したがって、本開示の実施形態は、視線領域のより具体的、効率的、かつ柔軟な決定のためのシステム及び方法を説明する。例示的な実施形態では、視線ベクトルは、回帰ベースの機械学習モデルによって決定される。決定された視線ベクトルは、次に、任意の目的の物体又はシステムを表し得る表面の3次元マップに投影される。マップは、任意の3次元レイアウト又は形状を表すことができる。このようにして、視線ベクトルを使用して、任意の環境における被験者の視線の先にある物体を決定することができる。さらに、任意のシステム内で動作している被験者の視線を決定し、それに応じて任意のアクションが実行されるように、システムを容易かつ効率的に生成することができる。
本開示の一実施形態では、機械学習モデルを使用して、被験者の視線方向を決定する。モデルは、被験者の画像データから決定された入力特徴を有してもよく、これには、目のトリミング、被験者の1つ以上の顔のランドマークなど、被験者の画像の関連部分が含まれ得る。入力には、頭の姿勢、信頼値など、被験者の画像から決定された量も含まれ得る。それに応じて、モデルは、その出力として、被験者の視線方向を生成する。
システムは、一連の空間領域、すなわち画定された面積又は体積も取得する。これらの領域は、実際の空間物体に対応するように、任意の様式で画定され得る。例えば、空間領域のセットは、車両の様々な内部表面の位置及び配向に対応し得る。次に、システムは、視線方向と空間領域の位置とから、被験者の視線が1つ以上の空間領域と交差するかどうかを判断することができる。その場合、システムは、それに応じて動作を開始する。このような動作はすべて想定されている。例えば、被験者が車両の運転者であり、空間領域が車両の内部表面に対応する場合、システムは、運転者が車両のエンターテイメントコンソールに対応する表面を見ていると判断することができ、インターフェースの作動、ディスプレイのオン/オフ、音量の調整など、対応するアクションを実行することができる。
機械学習モデルは、被験者の画像データから被験者の視線方向を決定するのに適した任意の1つ以上のモデルであり得る。一例として、機械学習モデルは、回帰モデルを使用して、その様々な入力の関数として視線方向を決定することができる。
上記のように、空間領域のセットは、任意の表面のセットの様々な位置及び配向を表すことができる。したがって、これらの空間領域は、所望の任意の様式で配置及び配向された任意の3次元表面を表し得る。したがって、これらの表面は、対象の任意の現実世界又は仮想世界の環境又は物体をモデル化することができ、したがって、本開示のシステムを使用して、被験者が現在見ている環境の正確な物体又は部分(すなわち、その3次元表面)を決定することができる。例えば、表面は、特定の車両の内部から見える3次元表面であってもよく、これには、車両の様々な窓の表現、並びにラジオ、空調システム、ダッシュボードディスプレイなどの車両の特定の機器、構成要素、又は特徴などの要素が含まれ得る。このようにして、システムは、運転者の視線が特定の構成要素を表す表面と現在交差しているかどうかを判断し、車両の何らかの動作を開始することによって適切なアクションを実行することができる。一例として、システムは、運転者が現在空調ダイヤルを見ていると判断することができ、温度設定の変更、又は空調のオン/オフなど多様な様式で車両が応答するようにすることができる。別の例として、システムは、運転者が現在気を散らしている又は眠っていると判断することができ、アラームを開始して運転者に警告する、緊急ステアリング操作を開始して車を道路の脇に引き寄せる、又はブレーキ操作を開始することができる。空間領域は、1つ以上の物体のコンピュータ支援設計(CAD)又は他のコンピュータベースの3次元モデルから取得した領域を選択することによって、物体を直接測定することによって、物体の画像から、若しくは物体の領域の位置及び配向を選択及び決定するように訓練された機械学習モデルを介して物体の点又は領域の位置を決定することによってなどの、任意の様式で決定することができる。
上記のように、機械学習モデルは、被験者の視線方向を決定する任意の適切な入力を有し得る。これらの入力には、これらに限定されないが、被験者の顔の1つ以上のランドマーク点、被験者の頭の姿勢情報、被験者の目の1つ以上の視線方向、1つ以上の目のトリミング、又はこれらの入力に関連する任意の信頼値が含まれ得る。
また、システムによって使用される画像データは、可視光画像に対応するかどうかに関係なく、任意の形式の画像データであってもよく、任意のタイプのセンサから受信又は生成され得ることに留意されたい。個別の空間領域のセットを使用すると、新しい空間領域のセットを追加するだけで、多くの異なる環境と組み合わせて使用できるモジュラシステムが生成されることにも留意されたい。すなわち、所望の任意の環境に対応する、複数の異なるセットの空間領域を格納することができる。次に、システムは適切な空間領域のセットを取得し、新しい領域で上記のプロセスを繰り返すことができる。このようにして、システムは、被験者と任意の所望の環境との相互作用を適応的に決定することができる。
本開示の上記及び他の目的及び利点は、同様の参照文字が全体を通して同様の部分を指す添付の図面と併せて、以下の詳細な説明を考慮すると明らかになるであろう。
本開示の実施形態によるシステムの動作を示す写真である。 本開示の実施形態によるシステムの動作を示す別の写真である。 本開示の実施形態によるシステムの動作を示すさらに別の写真である。 本開示の実施形態による、視線方向を決定し、この視線方向を任意の3次元形状の領域にマッピングする例示的な機械学習システムを示すブロック図である。 図2Aの視線ベクトル推定モジュールのさらなる詳細を示すブロック図である。 本開示の実施形態に従って使用するために構築された例示的な電子コンピューティングシステムの一般化された実施形態である。 本開示のいくつかの実施形態による、例示的な自律車両の図である。 本開示のいくつかの実施形態による、図4Aの例示的な自律車両のカメラの位置及び視野の例である。 本開示のいくつかの実施形態による、図4Aの例示的な自律車両の例示的なシステムアーキテクチャのブロック図である。 本開示のいくつかの実施形態による、クラウドベースのサーバと図4Aの例示的な自律車両との間の通信のためのシステム図である。 本開示のいくつかの実施形態を実装する際の使用に適した例示的なコンピューティングデバイスのブロック図である。 本開示の実施形態の機械学習モデルの訓練及び展開を示す図である。 本開示の実施形態による、視線方向を決定し、この視線方向を任意の3次元形状の領域にマッピングするプロセスステップを示すフローチャートである。
一実施形態では、本開示は、被験者の視線方向を決定し、この視線方向を任意の3次元形状の特定の領域に投影するシステム及び方法に関する。例示的な実施形態では、視線方向は、回帰ベースの機械学習モデルによって決定され得る。次に、決定された視線方向は、任意の所望の物体又はシステムを表すことができる3次元マップ又は表面のセットに投影される。マップは、実際のものであろうと仮想のものであろうと、任意の3次元レイアウト又は形状を表すことができる。したがって、視線ベクトルを使用して、任意の環境内の視線の先にある物体を決定することができる。システムはまた、環境ごとに異なる表面又は領域のセットを取得することによって、異なる環境での使用に容易かつ効率的に適応することができる。
図1A~図1Cは、本開示の実施形態によるシステムの動作を示す写真である。図1Aでは、図110は、本開示のいくつかの実施形態による、エンターテイメントコンソールに視線を向ける乗員を伴う車両の内部図である。乗員116は、車両の運転席に座りながら、瞬間的にエンターテイメントコンソール119に視線116を向けている(例えば、目を向けている)。内部カメラセンサ112は、内部の屋根に取り付けられており、一方、マイクセンサ114はエンターテイメントコンソール内に取り付けられている。処理回路は、カメラセンサ112から画像データを受信して、乗員及び彼らそれぞれのエンターテイメントコンソールでの視線を決定することができる。
本明細書で説明するように、処理回路は、乗員の視線を示すデータに基づいて視線ベクトルを計算することができる。いくつかの実施形態では、並列処理回路は、本明細書に記載されるような視線ベクトルを計算するために機械学習モデル(例えば、ニューラルネットワーク)を実装してもよい。視線ベクトルは、乗員117の目に1つの交点と、エンターテイメントコンソール119の表面上のある点に第2の交点とを有する3次元空間における直線であり得る。
処理回路は、視線ベクトルとエンターテイメントコンソール119との間の交点を決定することができる。特に、処理回路は、車両内部の様々な表面に対応する3次元空間内の領域を表す格納された空間座標のセットをメモリから取得することができる。これらの領域の1つは、車両内のエンターテイメントコンソール119の配向及び位置の輪郭を成している。この例では、処理回路は、決定された起点(例えば、運転者117の目の3次元位置)から視線ベクトルを延長して、エンターテイメントコンソール119に対応する領域と交差させる。
視線ベクトルとエンターテイメントコンソール119との間の交点を決定すると、処理回路は、車両内で動作を実行させることができる。この動作は、車両の1つ以上のハードウェア構成要素によって実行され得る。例えば、車両は、交点がエンターテイメントコンソール119の位置にあると決定されたときに、エンターテイメントコンソール119に関連する特定の動作を提供することができる様々なハードウェア構成要素を備えていてもよい。
図1Bは、本開示のいくつかの実施形態による、運転者がエンターテイメントコンソール119を見ているという決定に応答した車両動作の実行を示す図120を示す。処理回路は、運転者がエンターテイメントコンソール119を見ていると決定した後、モードを「スリープ」から「エンゲージ」に切り替えるようにエンターテイメントコンソール119に命令を送信する。エンターテイメントコンソールのエンゲージモードは、特定の動作についての乗員からのさらなるクエリ又はリクエストを可能にする、明るさが増強されたスクリーン122を提供する。例えば、エンターテイメントコンソールは、明るさ及びUIが有効になった状態で、特定のラジオ局に同調して受信するように応答する。その結果、システムは、運転者がエンターテイメントコンソール119を見ていることを認識すると、エンターテイメントコンソール119の動作モードを変更する。このようにして、システムは、視線をマルチモーダルシステム(例えば、仮想又はデジタルのパーソナルアシスタント、会話型ユーザインターフェース、その他の同様のインターフェース)の動作トリガ又は「ウェイクアップワード」として使用することができる。
いくつかの実施形態では、処理回路は、車両内のセンサから、乗員からの他のデータを受信することができる。例えば、内部カメラ112は、乗員の唇の動きを受信してもよい。唇の動きは、テキスト情報に変換されてもよい(例えば、唇の動きの処理によって、乗員によって発声されているテキスト情報が提供されてもよい)。いくつかの実施形態では、他のデータは、車両内部のマイクセンサ114によって受信された音声データであり得る。処理回路は、他のデータに関連するサービス動作を決定することができる。例えば、処理回路は、乗員が「高音をレベル4に上げる」と言っていると決定することができる。処理回路は、エンターテイメントコンソール内の対応する動作がオーディオ/ビデオ再生の高音を上げることであると決定する。次に、処理回路は、サービス動作を車両内で実行させることができる。
本開示の実施形態は、複数の行為者に対して並行して実行される、複数のコンテキストでの処理及び動作を企図する。例えば、内部カメラ200は、所定の対象の点(例えば、カメラ)で車両の乗員の視線の動きを検出し、検出された視線の動きを、その乗員の対応する唇の動き及び/又は音声データと相関させることができる。そのような状況下では、処理回路は、決定された視線の動きのソースに基づいて、各乗員の別個のコンテキストストリームを維持することができる。このような個々のコンテキストストリームは、時限的又は半永続的であり得る。すなわち、コンテキストストリームは、他のコンテキストストリームに対応する動き、又は車両の他の乗員のマルチモーダルな動きによって中断されたり、或いは非連続的にされたりしても、維持され得る。コンテキストが同じであると決定された場合、本開示によって企図されるような対話システムは、異なる乗員からの音声データを組み込んで、同じサービス動作を実行する。したがって、本開示の実施形態は、会話型人工知能動作のための対話システムを実装するために、及び対話システム内の複数の別個のコンテキストを車両キャビンのコンテキスト内で維持するために、複数のモダリティ(例えば、視覚及び音声)のユーザ入力検出の組み合わせを企図する。本開示の実施形態はまた、他の設定内での適用を企図する。例えば、視覚情報(例えば、限定されないが、視線/身体姿勢検出、視線/身体姿勢マッピング、及び/又は物体検出のいずれか又はすべて)を、音声情報(例えば、限定されないが、自動音声認識又は自然言語処理)と組み合わせて、小売店、営業所、医療施設などのコンテキスト内で機械学習支援動作を実行することができる。マルチコンテキストシステムと組み合わせたセンサ融合を他のユースケースに適用するには、変更可能/カスタマイズ可能なユースケース図を使用する。本開示の実施形態はまた、被験者の視線が特定の空間領域と交差すると決定されたときに被験者に通知するためのフィードバック機構を企図する。例えば、視覚的、触覚的、又は他のフィードバックは、運転者がその構成要素を見ているとシステムが判断したときに、特定の車両構成要素において生成されてもよい。そのようなフィードバックは、例えば、運転者が取る可能性のある行動について運転者にさらに通知することもできる。
図1Cは、本開示のいくつかの実施形態による、ユーザのアクションのマルチコンテキスト分析を示す図130を示す。処理回路は、エンターテイメントコンソール119に「スリープ」から「エンゲージ」にモードを切り替えるように指示した後、「ヘッドアップディスプレイに変更」という言葉を無音で、又は小声で発する乗員116についてカメラ112からカメラセンサ情報をさらに受信することができる。処理回路は、使用される特定の言葉を決定するために、無音/小声の言葉のビデオ及び/又は画像フレームに対する視覚処理を提供する。乗員は、例えば、車両の後部座席で眠っている別の乗員を起こさないように、言葉を口だけ動かしたり、小声で発している場合がある。このシステムは、乗員の視線方向とそれに続く決定された言葉に基づいて、エンターテイメントコンソールのユーザインターフェースをフロントガラス132に投影する。
図2Aは、視線方向を決定し、この視線方向を任意の3次元形状の領域にマッピングする例示的な機械学習システムを示すブロック図である。システムは、カメラ200、顔検出モジュール210、視線ベクトル推定モジュール220、顔ランドマーク検出230及び視線起点推定240モジュール、並びにマッピングモジュール250を含む。カメラ200は、視線方向を決定する対象の人物などの被験者の画像を取り込む。カメラ200は、取り込まれた画像から画像データを顔検出モジュール210に送信し、顔検出モジュール210は、画像内の被験者の顔を検出する。顔検出モジュール210は、任意の方法又はプロセスを使用して画像内に被験者の顔を配置することができる任意のソフトウェアモジュール又は命令のセットであってよく、上記の図2Aの顔検出モジュール210と同様であり得る。図2Aのシステムは、コンピューティングデバイス300などの任意のコンピューティングデバイスに実装及び実行することができる。
この顔検出モジュール210によって検出された顔は、トリミングしてもよく、トリミングされた顔画像は視線ベクトル推定モジュール220に送信される。顔のトリミングは、カメラ200からの画像内の被験者の顔の位置を特定し、それに応じて画像をトリミングすることによって決定され得る。顔の位置特定は、上記の非ニューラルネットワークベースの技術、ニューラルネットワークベースの顔認識方法などを含む、既知のコンピュータビジョンベースの顔検出プロセスなど、任意の様式で実行することができる。
視線ベクトル推定モジュール220は、被験者の顔の入力画像から被験者の視線方向を決定することができる任意の1つ以上の機械学習モデルを実装することができる。例示的な一実施形態では、視線ベクトル推定モジュール220は、以下でさらに説明するように、入力視線関連変数から方向ベクトル値を推定する回帰モデルを実装する。視線ベクトル推定モジュール220は、任意の入力変数から視線ベクトルを決定するように構成され得る、DNNベースの線形回帰モデル、統計回帰モデル、勾配ブースティングモデルなどの任意の適切な回帰モデルを実装することができる。
入力された顔のトリミングはまた、被験者の顔の入力画像から顔のランドマークを決定する顔ランドマーク検出モジュール230に入力される。顔ランドマークモジュール230は、顔の入力画像から顔のランドマークを決定することができる任意の機械学習ネットワーク、例えば、任意の1つ以上の機械学習モデルを実装することができる。モジュール230は、グローバルな顔の外観及び形状情報を表すための全体論的な方法に従って構築された機械学習モデルと、グローバルな形状モデル、生成ネットワーク、CNN、及び顔の形状及び外観情報の関数としてランドマークの位置を決定する回帰ベースモデルの利用に加えて局所的な外観モデルを構築する制約付きローカルモデル方法に従って構築されたモデルとを含み得る。多くのそのようなモデルが知られており、本開示の実施形態は、顔の入力画像から顔のランドマークを決定するために、任意の1つ以上のそのようなモデル、又は他の任意の適切なモデル若しくは方法を使用することを企図する。モデルは、顔の入力画像から顔のランドマークを決定するのに適した任意のアーキテクチャ及び方法を使用して構築することができる。例えば、CNNに基づく顔ランドマークネットワークは、対応するランドマーク点を決定するために顔の特徴を抽出するのに適した任意の畳込みカーネル及びプーリング層を使用して構築することができる。
次に、顔ランドマーク検出モジュール230によって出力された顔のランドマークは、視線起点推定モジュール240に送信され、視線起点推定モジュール240は、そこから視線方向ベクトルの起点を決定する。視線起点推定モジュール240は、任意の機械学習ネットワーク、例えば、顔のランドマークの入力セットから視線起点を決定することができる任意の1つ以上の機械学習モデルを実装することができる。このようなネットワークには、CNN、分類モデル、回帰モデルなどが含まれる。
次に、推定された視線ベクトル及びその起点は、マッピングモジュール250に入力され、マッピングモジュール250は、3次元領域のセットに視線ベクトルをその起点からマッピングすることにより、被験者が見ている3次元領域を決定する。マッピングモジュール250は、例えばストレージ408に、表面のセットを3次元で記述する3次元領域のセットを格納し、決定された視線ベクトルをその起点から投影して、視線ベクトルが表面の1つと交差するかどうかを決定するマッピングルーチンを実装する。次に、交差する表面があれば、それが出力視線領域として、又は被験者が現在見ている3次元表面として出力される。3次元領域のセットを表すデータは、マッピングモジュール250に入力され、そこに格納され、又はそれによってアクセス可能であり得る。このようにして、任意の1つ以上の物体を表す任意の3次元領域のセットをマッピングモジュール250に入力することができ、マッピングモジュール250は、投影された視線ベクトルと任意の格納された3次元領域との交点を決定することができる。これにより、図2Aのシステムは、任意の物体を表す任意の3次元領域に対する視線方向を決定することを可能にする。さらに、システムは、異なる物体ごとに機械学習モデルを再訓練する必要はない。むしろ、新しい3次元領域のセットは、マッピングモジュール250に対して簡単に利用可能になり、モジュール250は、その機械学習モデルを再訓練することなく、視線方向とこれらの新しい3次元領域との交点を決定することができる。
3次元領域は、任意の様式で決定された任意の3次元表現であり得る。例えば、3次元領域は、1つ以上の物体の様々な点の空間的位置を直接測定することにより決定され得る。3次元領域は、物体の様々な位置の位置情報を含む1つ以上の物体のCADモデル又は他のコンピュータベースの3次元モデルを適合させることによって決定することもできる。このアプローチは、車両の内部など、直接測定するのが困難又は煩雑である複雑な3次元形状で使用するのに適している。別のアプローチは、画像センサ、距離又は位置センサなどの位置情報を伝達することができる1つ以上のセンサを使用して、物体の点又は領域の位置を決定することである。例えば、センサは、その物体の画像(可視光画像、赤外線画像などを含む、任意の波長のもの)を取り込むことができ、任意の様式で、そこから物体の点又は領域の位置を決定することができる。さらなるアプローチは、物体の画像などの入力から物体の領域の位置及び配向を選択及び決定するように訓練された1つ以上の既知の機械学習モデルを使用する。
図2Bは、視線ベクトル推定モジュール220のさらなる詳細を示すブロック図である。一実施形態では、視線ベクトル推定モジュール220は、上記のような回帰モデルを実装する適応推論融合モジュール280を含む。回帰モデルは、被験者の頭の姿勢を表す顔のランドマークのセット、顔のランドマークに対応する信頼値のセット、左目の視線方向、右目の視線方向、及び各視線方向の対応する信頼値を入力変数として取る。次に、上述のように、視線方向が回帰スキームに従って出力される。顔のランドマーク及び関連する信頼値は、任意の適切な方法又はシステムに従って決定され得る。
示されている視線ネットワーク260、270は、被験者の左目及び右目のトリミングを入力として取り、各目に対する視線方向の推定値を出力する。目のトリミングは、カメラ200からの画像内の被験者の目の位置を特定し、それに応じて画像をトリミングすることによって決定され得る。目の位置特定は、上記の非ニューラルネットワークベースの技術、ニューラルネットワークベースの目認識方法などを含む、既知のコンピュータビジョンベースの目検出プロセスなど、任意の様式で実行することができる。これらのプロセスによる目の位置特定によって、目が正しく識別されているという確信度に対応する信頼値を生成することができ、これらの信頼値は、適応推論融合モジュールに入力することもできる。視線ネットワーク260、270は、入力された目のトリミングから視線を決定することができる任意のネットワークであり得る。
適応推論融合モジュール280は、上述のように、視線ベクトルを決定するのに適した任意の回帰モデルを実装することができる。次に、適応推論融合モジュール280から出力された視線ベクトルは、視線ベクトルを3次元形状にマッピングする視線領域マッピングモジュール250に送信される。任意の3次元形状、又は表面のセットが、コンピューティングシステム300による使用のために格納され得ることが観察され得る。したがって、図2A及び図2Bのシステムは、被験者の視線と任意の表面のセットとの交点を決定することができる。したがって、本開示の実施形態は、任意の環境における被験者の視線領域を決定する効率的かつモジュール式のアプローチを可能にする。任意の環境を3次元表面のセットとして特徴付け、それらの表面を例えばストレージ408に格納することにより、図2A及び図2Bのシステムは、環境のどの部分が被験者の注意を引いているかを随時決定することができる。被験者が自身の環境を変更する場合、この新しい環境との相互作用は、図2A及び図2Bのシステムによって使用される新しい環境の表面を入力することによって決定され得る。
このシステムは、あらゆる環境に適用することができる。一例として、環境は車両のキャビンであってもよく、図2A及び図2Bのシステムを使用して、運転者が現在自身の注意を向けている車両の部分又は領域を決定することができる。この例では、上述のカメラ200は、車両の乗員の顔の画像を取り込むために車両に設置され得る。本開示の実施形態は、車両の乗員の視線の視線ベクトル及び起点を決定することができる。図2Aに示すように、車両のキャビンの関連部分は、3次元表面として識別及び特徴付けられ得る。これらの表面には、例えば、左側及び右側のフロントガラス、左側及び右側の外装(例えば、サイドウィンドウ)、車両の情報クラスタ、及び車両のエンターテイメントセンターが含まれ得る。上記のように、図2A及び図2Bのシステムは、決定された視線ベクトルが交差するこれらの表面があればそれを決定し、それに応じて1つ以上のアクションを実行することができる。例えば、車両の乗員が車両の運転者であると決定し、運転者が情報クラスタに目を向けていると決定すると、車両は特定の重要な情報又は警告を情報クラスタに投影するか、又は特定の測定値若しくはインジケータを強調表示する。別の例として、運転者が左側のフロントガラス以外の領域を閾値時間を超えて見ていると決定すると、車両は運転者に対して道路に焦点を合わせるように警告を発することもできる。本開示の実施形態は、決定された視線領域に応答して開始される任意のアクションを企図する。
図3は、本開示の実施形態の1つの例示的な視線決定システムのブロック図表現である。ここで、本開示の実施形態の視線決定及びマッピング動作を実行することができる処理回路を含む任意の電子コンピューティングデバイスであり得るコンピューティングデバイス300は、カメラ310及び視線支援システム320の両方と電子通信する。動作中、図2Aのカメラ200に対応し得るカメラ310は、被験者の画像を取り込み、コンピューティングデバイス300に送信し、次に、コンピューティングデバイス300は、例えば図2A~図2Bの機械学習モデルを実装しており、カメラ310の画像から出力視線ベクトルを決定し、特定の空間領域とのその交点を決定する。コンピューティングデバイス300は、この交差点情報を視線支援システム320に送信し、視線支援システム320は、それに応答して、アクションを実行するか、又は1つ以上の動作を実行する。
視線支援システム320は、交差する空間領域に対応するシステムの動作を開始するなど、コンピューティングデバイス300から受信する空間領域交差点情報に基づいて1つ以上のアクションを実行することができる任意のシステムであり得る。カメラ310、コンピューティングデバイス300、及び視線支援システム320の任意の構成が企図される。一例として、視線支援システム320は、以下でさらに説明する図4A~図4Dの自律車両など、運転者又は別の乗員の視線方向を決定してそれに反応することができる自律車両であり得る。この例では、カメラ310及びコンピューティングデバイス300を車両内に配置することができ、一方、視線支援システム320は車両自体を表すことができる。カメラ310は、運転者又は乗員を見ることができる車両内の任意の位置に配置することができる。したがって、カメラ310は、運転者の画像を取り込み、それらをコンピューティングデバイス300に送信することができ、コンピューティングデバイス300は、対応する被験者の視線ベクトルを計算し、視線ベクトルと車両の部分に対応する空間領域との交点を決定する。次に、この交差点情報は、例えば、車両が応答して取ることができるアクションを決定する別のソフトウェアモジュールに送信されてもよい。例えば、車両は、視線方向がサイドウィンドウと交差し、したがって、注意散漫な運転者又は道路に注意を払っていない運転者を表すと決定し、それに応じて任意のタイプの動作を開始することができる。このような動作には、運転者に発出される任意の種類の警告(例えば、視覚的又は聴覚的な警告、ヘッドアップディスプレイ上の警告など)、自動操縦の開始、ブレーキ動作又は回転動作、又はその他のアクションが含まれ得る。コンピューティングデバイス300は、ローカルプロセッサとして視線支援システム320の車両内に配置することができ、又はカメラ310から画像を受信し、交差点情報若しくは命令を視線支援システム320の車両に無線で送信するリモートプロセッサとすることができる。
別の例として、視線支援システム320は、ユーザの動き及び視線に応答して画像を表示することができる仮想現実又は拡張現実システムであり得る。この例では、視線支援システム320は、ユーザが着用し、そこに画像を投影するように構成されたヘッドセットなどの仮想現実又は拡張現実ディスプレイを含む。カメラ310及びコンピューティングデバイス300は、ヘッドセット内に配置することができ、カメラ310は、ユーザの目の画像を取り込み、コンピューティングデバイス300は、そこから、ランドマーク及び信頼値、並びにユーザの視線方向を決定する。次に、この視線方向を、仮想環境内の取得された空間領域のセットに投影することができ、システム320は、ユーザが見ている可能性がある特定の空間領域に基づいて様々なアクションを実行することができる。例えば、空間領域は、ユーザが見ているときにユーザに情報を表示するヘッドアップディスプレイ領域など、ユーザの視線に応答する仮想物体を表す場合がある。上記の自律車両の例と同様に、仮想現実又は拡張現実システムのコンピューティングデバイス300は、システム320内、例えばヘッドセット自体内に配置することができ、又は画像が無線でコンピューティングデバイス300に送信され、計算された視線方向が無線でヘッドセットに送信され、次にヘッドセットがそれに応じて様々な動作を実行するように遠隔に配置することができる。
さらに別の例として、視線支援システム320は、ユーザが見ている広告を決定するコンピュータベースの広告システムであり得る。より具体的には、視線支援システム320は、デスクトップコンピュータ、ラップトップコンピュータ、スマートフォン、サーバコンピュータなどの任意の電子コンピューティングシステム又はデバイスであり得る。カメラ310及びコンピューティングデバイス300は、このシステムに組み込まれてもよく、それにより、カメラ310は、ユーザがコンピューティングデバイスのディスプレイを見ているか又はそれに近接するときにユーザを検出する。カメラ310は、ユーザの画像を取り込むことができ、コンピューティングデバイス300は、そこからユーザの視線方向を決定することができる。次に、決定された視線方向は、視線支援システム320、例えば、ユーザに広告を表示するコンピューティングデバイス300、リモートコンピューティングデバイスなどに送信され得る。次に、コンピューティングデバイス300は、格納された空間領域を取得することができ、各領域は、システム320のディスプレイの特定の部分に対応し得る。次に、計算された視線方向を使用して、視線ベクトルが交差する領域、すなわちユーザがどの広告に焦点を合わせているかを決定し、様々な広告の効果に関する情報を提供することができる。
視線支援システム320は、任意のコンピューティングシステムを制御するユーザインターフェースシステムとしてさらに機能し得る。上記のように、コンピューティングデバイスのディスプレイに対応する空間領域を使用して、表示されたコンピューティング出力の任意の領域に対するユーザの視線を決定することができる。このようにして、システム320は、コンピュータマウス又はタッチパッドと同様のグラフィカル又はビジュアルユーザインターフェースシステムとして機能することができ、それにより、ユーザは、見ている位置に従ってカーソルを動かし、アイテムを選択することができる。すなわち、ユーザは、表示された情報の異なる領域を見ることにより、カーソル又は他のアイテム選択アイコンを移動させることができる。ユーザはまた、視線を使用してアイテムを選択し(対応する空間領域を所定の時間より長く見ているなど)、ボタンを選択/押下し、コンピューティングシステムへの任意の他のユーザ入力を実行する。本開示の実施形態は、表示された任意のコンピューティング出力の領域に従って配置された任意の格納された空間領域を使用して、ユーザの視線方向に従ってコンピューティング出力の部分を選択することを企図する。
図4Aは、本開示のいくつかの実施形態による、例示的な自律車両400の図である。自律車両400(本明細書では「車両400」と呼ばれることもある)は、限定ではないが、自動車、トラック、バス、ファーストレスポンダー車両、シャトル、電動自転車又は原動機付自転車、オートバイ、消防車、警察車両、救急車、ボート、建設車両、水中船、ドローン、及び/又は別のタイプの車両(例えば、無人である、及び/又は1人以上の乗員を収容する車両)などの乗用車両を含み得る。自律車両は一般に自動化レベルの観点から説明され、米国運輸省の一部門である米国高速道路交通安全局(NHTSA)、及び米国自動車技術者協会(SAE)の「自動車用運転自動化システムのレベル分類及び定義」(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)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(例えば、全地球測位システムセンサ)、レーダセンサ460、超音波センサ462、ライダセンサ464、慣性測定ユニット(IMU)センサ466(例えば、加速度計、ジャイロスコープ、磁気コンパス、磁力計など)、マイク496、ステレオカメラ468、ワイドビューカメラ470(例えば、魚眼カメラ)、赤外線カメラ472、サラウンドカメラ474(例えば、360度カメラ)、長距離及び/又は中距離カメラ498、速度センサ444(例えば、車両400の速度を測定する)、振動センサ442、ステアリングセンサ440、ブレーキセンサ446(例えば、ブレーキセンサシステム446の一部として)及び/又は他のセンサタイプから受信することができる。
1つ以上のコントローラ436は、車両400の計器クラスタ432から入力(例えば、入力データによって表される)を受信し、ヒューマン-マシンインターフェース(HMI)ディスプレイ434、可聴アナンシエータ、スピーカ、及び/又は車両400の他の構成要素を介して出力(例えば、出力データ、表示データなどによって表される)を提供することができる。出力は、車両速度、速度、時間、マップデータ(例えば、図4CのHDマップ422)、位置データ(例えば、マップ上などの車両400の位置)、方向、他の車両の位置(例えば、占有グリッド)、物体に関する情報、及びコントローラ436によって知覚される物体の状態などの情報を含み得る。例えば、HMIディスプレイ434は、1つ以上の物体の存在に関する情報(例えば、道路標識、注意標識、信号機の切替りなど)、及び/又は車両が行った、行っている、若しくは行おうとしている運転操作に関する情報(例えば、ここで車線を変更する、2マイル先の34B出口を出るなど)を表示することができる。
車両400は、1つ以上の無線アンテナ426及び/又はモデムを使用して1つ以上のネットワークを介して通信することができるネットワークインターフェース424をさらに含む。例えば、ネットワークインターフェース424は、LTE、WCDMA(登録商標)、UMTS、GSM、CDMA2000などを介した通信が可能であり得る。無線アンテナ426はまた、Bluetooth、Bluetooth LE、Z-Wave、ZigBeeなどのローカルエリアネットワーク、及び/又はLoRaWAN、SigFoxなどの低電力広域ネットワーク(LPWAN)を使用して、環境内の物体(例えば、車両、モバイルデバイスなど)間の通信を可能にすることができる。
図4Bは、本開示のいくつかの実施形態による、図4Aの例示的な自律車両400のカメラの位置及び視野の例である。カメラ及びそれぞれの視野は、例示的な一実施形態であり、限定することを意図するものではない。例えば、追加の及び/又は代替のカメラが含まれてもよく、及び/又はカメラは車両400の異なる位置に配置されてもよい。
カメラのカメラタイプは、車両400の構成要素及び/又はシステムでの使用に適合され得るデジタルカメラを含み得るが、これらに限定されない。カメラは、自動車安全水準(ASIL)B及び/又は別のASILで動作することができる。カメラのタイプは、実施形態に応じて、60フレーム毎秒(fps)、120fps、240fpsなど、任意の画像取込みレートが可能であり得る。カメラは、ローリングシャッタ、グローバルシャッタ、別のタイプのシャッタ、又はそれらの組み合わせを使用することが可能であり得る。いくつかの例では、カラーフィルタアレイには、赤クリアクリアクリア(RCCC)カラーフィルタアレイ、赤クリアクリアブルー(RCCB)カラーフィルタアレイ、赤青緑クリア(RBGC)カラーフィルタアレイ、Foveon X3カラーフィルタアレイ、Bayerセンサ(RGGB)カラーフィルタアレイ、モノクロセンサカラーフィルタアレイ、及び/又は別のタイプのカラーフィルタアレイが含まれ得る。いくつかの実施形態では、光感度を向上させるために、RCCC、RCCB、及び/又はRBGCカラーフィルタアレイを有するカメラなどのクリアピクセルカメラが使用され得る。
一部の例では、1つ以上のカメラを使用して、(例えば、冗長設計又はフェイルセーフ設計の一部として)先進運転支援システム(ADAS)機能を実行することができる。例えば、マルチファンクションモノカメラを取り付けて、車線逸脱警告、交通標識支援、インテリジェントヘッドランプ制御などの機能を提供することができる。1つ以上のカメラ(例えば、すべてのカメラ)は、画像データ(例えば、ビデオ)を同時に記録及び提供することができる。
カメラの画像データ取込み機能を妨げる可能性がある迷光及び車内からの反射(例えば、フロントガラスのミラーに反射したダッシュボードからの反射)を遮断するために、1つ以上のカメラをカスタム設計(3D印刷)アセンブリなどの取付けアセンブリに取り付けてもよい。ウィングミラー取付けアセンブリに関して、ウィングミラーアセンブリは、カメラ取付けプレートがウィングミラーの形状と一致するようにカスタム3D印刷してもよい。いくつかの例では、カメラは、ウィングミラーに統合されてもよい。サイドビューカメラの場合、カメラは、キャビンの各角にある4本の柱の中に統合されてもよい。
車両400の前方の環境の一部を含む視野を有するカメラ(例えば、前向きカメラ)は、前面の経路及び障害物を特定するのを助けるために、また、1つ以上のコントローラ436及び/又は制御SoCの助けを用いて、占有グリッドの生成及び/又は好ましい車両経路の決定に重要な情報を提供するのを助けるために、サラウンドビューを得るために使用され得る。前向きカメラを使用して、緊急ブレーキ、歩行者検出、及び衝突回避など、ライダと同じADAS機能の多くを実行することができる。前向きカメラは、車線逸脱警告(LDW)、自律走行制御(ACC)、及び/又は交通標識認識などの他の機能を含むADAS機能及びシステムにも使用することができる。
例えば、CMOS(相補型金属酸化膜半導体)カラーイメージャを含む単眼カメラプラットフォームなど、様々なカメラを前向き構成で使用することができる。別の例は、周囲から視界に入る物体(例えば、歩行者、横断車両又は自転車)を知覚するために使用され得るワイドビューカメラ470であり得る。図4Bには1つのワイドビューカメラのみが示されているが、車両400には任意の数のワイドビューカメラ470があってもよい。さらに、長距離カメラ498(例えば、長視野ステレオカメラペア)は、特にそれに対するニューラルネットワークがまだ訓練されていない物体について、深度ベースの物体検出に使用することができる。長距離カメラ498はまた、物体の検出及び分類、並びに基本的な物体追跡のために使用され得る。
1つ以上のステレオカメラ468もまた、前向き構成に含まれ得る。ステレオカメラ468は、プログラマブルロジック(例えば、FPGA)及びシングルチップ上に統合CAN又はイーサネットインターフェースを有するマルチコアマイクロプロセッサを提供し得る、スケーラブルな処理ユニットを備える統合制御ユニットを含み得る。そのようなユニットは、画像内のすべての点に対する距離推定を含む、車両の環境の3Dマップを生成するために使用することができる。代替のステレオカメラ468としては、小型ステレオビジョンセンサが挙げられ、小型ビジョンセンサは、2つのカメラレンズ(左右に1つずつ)と、車両から目標物体までの距離を測定し、生成された情報(例えば、メタデータ)を使用して、自律緊急ブレーキ及び車線逸脱警告機能をアクティブにすることができる画像処理チップとを含み得る。本明細書に記載されているものに加えて、又はその代わりに、他のタイプのステレオカメラ468を使用してもよい。
車両400の側方の環境の一部を含む視野を有するカメラ(例えば、サイドビューカメラ)をサラウンドビューに使用して、占有グリッドの作成及び更新、並びに側面衝撃衝突警告の生成に使用される情報を提供することができる。例えば、サラウンドカメラ474(例えば、図4Bに示すような4つのサラウンドカメラ474)は、車両400の周りに配置され得る。サラウンドカメラ474は、ワイドビューカメラ470、魚眼カメラ、360度カメラなどを含み得る。例えば、4つの魚眼カメラを車両の前部、後部、側面に配置することができる。代替構成では、車両は、3つのサラウンドカメラ474(例えば、左、右、及び後部)を使用してもよく、1つ以上の他のカメラ(例えば、前向きカメラ)を第4のサラウンドビューカメラとして活用してもよい。
車両400の後方の環境の一部を含む視野を有するカメラ(例えば、バックビューカメラ)は、駐車支援、サラウンドビュー、後方衝突警告、並びに占有グリッドの作成及び更新のために使用され得る。限定されないが、本明細書に記載のような、前向きカメラとしても適したカメラ(例えば、長距離及び/又は中距離カメラ498、ステレオカメラ468、赤外線カメラ472など)を含む多種多様なカメラを使用することができる。
車両400の内部又はキャビンの一部を含む視野を有するカメラを使用して、キャビン内の運転者、乗員、又は物体の1つ以上の状態を監視することができる。キャビンカメラ441を含むがこれに限定されない任意のタイプのカメラを使用することができ、これは、本明細書に記載の任意のタイプのカメラであってもよく、車両400のいずれの場所に配置してもよく、車両400のキャビン又は内部の視野を提供する。例えば、キャビンカメラ441は、車両400のダッシュボード、バックミラー、サイドミラー、座席、又はドアの内部若しくは一部に配置され、任意の運転者、乗員、又は車両400の他の物体若しくは一部の画像を取り込むように配向されてもよい。
図4Cは、本開示のいくつかの実施形態による、図4Aの例示的な自律車両400の例示的なシステムアーキテクチャのブロック図である。本明細書で説明されるこの構成及び他の構成は、例としてのみ示されていることを理解されたい。図示のものに加えて、又はそれらの代わりに、他の構成及び要素(例えば、機械、インターフェース、機能、順序、機能のグループ化など)を使用してもよく、いくつかの要素は完全に省略することもできる。さらに、本明細書で説明する要素の多くは、個別又は分散構成要素として、又は他の構成要素と組み合わせて、任意の適切な組み合わせ及び位置で実装され得る機能エンティティである。エンティティによって実行されるものとして本明細書で説明される様々な機能は、ハードウェア、ファームウェア、及び/又はソフトウェアによって実行され得る。例えば、様々な機能は、メモリに格納された命令を実行するプロセッサによって実行されてもよい。
図4Cの車両400の構成要素、特徴、及びシステムの各々は、バス402を介して接続されるものとして示されている。バス402は、コントローラエリアネットワーク(CAN)データインターフェース(或いは、本明細書では「CANバス」と呼ばれることもある)を含み得る。CANは、ブレーキの作動、加速、ブレーキ、ステアリング、フロントガラスのワイパーなど、車両400の様々な特徴及び機能の制御を支援するために使用される車両400内部のネットワークであり得る。CANバスは、それぞれ独自の一意の識別子(CAN IDなど)を有する数十又は数百のノードを有するように構成することができる。CANバスを読み取って、ステアリングホイールの角度、対地速度、エンジンの回転毎分(RPM)、ボタンの位置、その他の車両のステータスインジケータを見つけることができる。CANバスはASIL Bに準拠し得る。
バス402は、本明細書ではCANバスであるとして説明されるが、これは限定を意図するものではない。例えば、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は、システム(例えば、車両400のシステム)において、1つ以上のサーバ(例えば、図4Dのサーバ478)からネットワークインターフェース424を介してマップのリフレッシュ及び/又は更新を取得することができるHDマップ422と組み合わせることができる。
CPU406は、CPUクラスタ又はCPUコンプレックス(或いは、本明細書では「CCPLEX」と呼ばれることもある)を含み得る。CPU406は、複数のコア及び/又はL2キャッシュを含み得る。例えば、いくつかの実施形態では、CPU406は、コヒーレントマルチプロセッサ構成で8つのコアを含み得る。いくつかの実施形態では、CPU406は、各クラスタが専用のL2キャッシュ(例えば、2MBのL2キャッシュ)を有する4つのデュアルコアクラスタを含み得る。CPU406(例えば、CCPLEX)は、CPU406のクラスタの任意の組み合わせが所与の時間にアクティブになることを可能にする同時クラスタ動作をサポートするように構成されてもよい。
CPU406は、以下の特徴:個々のハードウェアブロックが、動的電力を節約するために、アイドル状態のときに自動的にクロックゲーティングされ得ること;各コアクロックが、WFI/WFE命令の実行によりコアが命令をアクティブに実行していないときにゲーティングされ得ること;各コアが独立してパワーゲーティングされ得ること;すべてのコアがクロックゲーティング又はパワーゲーティングされている場合、各コアクラスタが独立してクロックゲーティングされ得ること;及び/又はすべてのコアがパワーゲーティングされている場合、各コアクラスタが独立してパワーゲーティングされ得ることの1つ以上を含む電力管理機能を実装することができる。CPU406は、電力状態を管理するための拡張アルゴリズムをさらに実装することができ、この場合、許容される電力状態及び所望のウェイクアップ時間が指定され、ハードウェア/マイクロコードは、コア、クラスタ、及びCCPLEXに入る最良の電力状態を決定する。処理コアは、作業をマイクロコードにオフロードして、ソフトウェアにおいて簡略化された電力状態エントリシーケンスをサポートすることができる。
GPU408は、統合GPU(或いは、本明細書では「iGPU」と呼ばれることもある)を含み得る。GPU408は、プログラム可能であってよく、並列ワークロードに対して効率的であり得る。いくつかの例では、GPU408は、拡張テンソル命令セットを使用することができる。GPU408は、1つ以上のストリーミングマイクロプロセッサを含んでもよく、この場合、各ストリーミングマイクロプロセッサは、L1キャッシュ(例えば、少なくとも96KBの記憶容量を有するL1キャッシュ)を含むことができ、2つ以上のストリーミングマイクロプロセッサがL2キャッシュ(例えば、512KBの記憶容量を有するL2キャッシュ)を共有することができる。いくつかの実施形態では、GPU408は、少なくとも8つのストリーミングマイクロプロセッサを含み得る。GPU408は、コンピュータベースのアプリケーションプログラミングインターフェース(API)を使用してもよい。さらに、GPU408は、1つ以上の並列コンピューティングプラットフォーム及び/又はプログラミングモデル(例えば、NVIDIA社のCUDA)を使用してもよい。
GPU408は、自動車及び埋込みの使用事例において最高の性能を得るために、電力が最適化され得る。例えば、GPU408は、Fin電界効果トランジスタ(FinFET)上に製作され得る。しかしながら、これは限定を意図するものではなく、GPU408は他の半導体製造プロセスを使用して製作されてもよい。各ストリーミングマイクロプロセッサは、複数のブロックに分割されたいくつかの混合精度処理コアを組み込むことができる。限定ではなく例として、64個のPF32コア及び32個のPF64コアを4つの処理ブロックに分割することができる。そのような例では、各処理ブロックには、16個のFP32コア、8個のFP64コア、16個のINT32コア、ディープラーニングマトリックス演算用の2個の混合精度NVIDIAテンソルコア、L0命令キャッシュ、ワープスケジューラ、ディスパッチユニット、及び/又は64KBのレジスタファイルが割り当てられ得る。さらに、ストリーミングマイクロプロセッサは、独立した並列整数及び浮動小数点データパスを含んで、計算とアドレッシング計算とを組み合わせてワークロードを効率的に実行することができる。ストリーミングマイクロプロセッサは、独立したスレッドスケジューリング機能を含んで、並列スレッド間のより細かい同期及び協調を可能にすることができる。ストリーミングマイクロプロセッサは、プログラミングを簡素化しながらパフォーマンスを向上させるために、L1データキャッシュと共有メモリユニットとの組み合わせを含むことができる。
GPU408は、いくつかの例では、約900GB/秒のピークメモリ帯域幅を提供するために、高帯域幅メモリ(HBM)及び/又は16GB HBM2メモリサブシステムを含み得る。いくつかの例では、HBMメモリに加えて、又はHBMメモリに代えて、グラフィックスダブルデータレートタイプ5同期ランダムアクセスメモリ(GDDR5)などの同期グラフィックスランダムアクセスメモリ(SGRAM)を使用することができる。
GPU408は、メモリページに最も頻繁にアクセスするプロセッサへのメモリページのより正確な移行を可能にするアクセスカウンタを含むユニファイドメモリ技術を含むことができ、それによってプロセッサ間で共有されるメモリ範囲の効率を改善する。いくつかの例では、アドレス変換サービス(ATS)サポートを使用して、GPU408がCPU406ページテーブルに直接アクセスできるようにすることができる。そのような例では、GPU408メモリ管理ユニット(MMU)が失敗を経験した場合、アドレス変換要求がCPU406に送信され得る。それに応答して、CPU406は、アドレスの仮想から物理へのマッピングに関するそのページテーブルを参照し、変換をGPU408に送り返すことができる。したがって、ユニファイドメモリ技術は、CPU406及びGPU408の両方のメモリに対して単一の統合仮想アドレス空間を可能にし、それによってGPU408のプログラミングとGPU408へのアプリケーションの移植とを簡素化する。
さらに、GPU408は、他のプロセッサのメモリへのGPU408のアクセスの頻度を追跡することができるアクセスカウンタを含み得る。アクセスカウンタは、最も頻繁にページにアクセスしているプロセッサの物理メモリにメモリページを移動することを保証するのに役立ち得る。
SoC404は、本明細書に記載されているものを含む、任意の数のキャッシュ412を含み得る。例えば、キャッシュ412は、CPU406及びGPU408の両方に利用可能な(例えば、CPU406及びGPU408の両方に接続されている)L3キャッシュを含んでもよい。キャッシュ412は、キャッシュコヒーレンスプロトコル(例えば、MEI、MESI、MSIなど)を使用することなどによって、ラインの状態を追跡することができるライトバックキャッシュを含み得る。実施形態によっては、L3キャッシュは4MB以上を含み得るが、より小さなキャッシュサイズを使用してもよい。
SoC404は、DNNの処理など、車両400の様々なタスク又は動作のいずれかに関する処理を実行する際に活用され得る算術論理ユニット(ALU)を含み得る。さらに、SoC404は、システム内で数学演算を実行する浮動小数点ユニット(FPU)、又は他の数学コプロセッサ若しくは数値コプロセッサのタイプを含み得る。例えば、SoC104は、CPU406及び/又はGPU408内の実行ユニットとして統合された1つ以上のFPUを含んでもよい。
SoC404は、1つ以上のアクセラレータ414(例えば、ハードウェアアクセラレータ、ソフトウェアアクセラレータ、又はそれらの組み合わせ)を含み得る。例えば、SoC404は、最適化されたハードウェアアクセラレータ及び/又は大きなオンチップメモリを含み得るハードウェアアクセラレーションクラスタを含んでもよい。大きなオンチップメモリ(例えば、4MBのSRAM)を使用すると、ハードウェアアクセラレーションクラスタでニューラルネットワーク及びその他の計算を高速化することができる。ハードウェアアクセラレーションクラスタを使用して、GPU408を補完し、GPU408のタスクの一部をオフロードすることができる(例えば、他のタスクを実行するためにGPU408のより多くのサイクルを解放する)。一例として、アクセラレータ414は、加速を受け入れられるほど十分に安定しているターゲットワークロード(例えば、知覚、畳込みニューラルネットワーク(CNN)など)に使用することができる。本明細書で使用される場合、「CNN」という用語は、領域ベース又は領域畳込みニューラルネットワーク(RCNN)及び高速RCNN(例えば、物体検出に使用される)を含む、すべてのタイプのCNNを含み得る。
アクセラレータ414(例えば、ハードウェアアクセラレーションクラスタ)は、ディープラーニングアクセラレータ(DLA)を含み得る。DLAは、ディープラーニングアプリケーション及び推論のために1秒あたり10兆の演算を追加で提供するように構成することができる1つ以上のテンソル処理ユニット(TPU)を含み得る。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)を含むことができ、これは、本明細書ではコンピュータビジョンアクセラレータと呼ばれることもある。PVAは、先進運転支援システム(ADAS)、自動運転、並びに/或いは拡張現実(AR)及び/又は仮想現実(VR)アプリケーションのコンピュータビジョンアルゴリズムを加速するように設計及び構成され得る。PVAによって、パフォーマンスと柔軟性とのバランスがもたらされ得る。例えば、各PVAは、限定ではなく例として、任意の数の縮小命令セットコンピュータ(RISC)コア、ダイレクトメモリアクセス(DMA)、及び/又は任意の数のベクトルプロセッサを含み得る。
RISCコアは、画像センサ(例えば、本明細書に記載されているカメラのいずれかの画像センサ)、画像信号プロセッサなどと相互作用することができる。各RISCコアには、任意の量のメモリが含まれ得る。RISCコアは、実施形態に応じて、いくつかのプロトコルのいずれかを使用することができる。いくつかの例では、RISCコアは、リアルタイムオペレーティングシステム(RTOS)を実行することができる。RISCコアは、1つ以上の集積回路デバイス、特定用途向け集積回路(ASIC)、及び/又はメモリデバイスを使用して実装され得る。例えば、RISCコアは、命令キャッシュ及び/又は密結合RAMを含み得る。
DMAは、PVAの構成要素がCPU406とは独立してシステムメモリにアクセスすることを可能にし得る。DMAは、多次元アドレッシング及び/又は循環アドレッシングのサポートを含むがこれらに限定されない、PVAに最適化を提供するために使用される任意の数の機能をサポートすることができる。いくつかの例では、DMAは、ブロック幅、ブロック高さ、ブロック深さ、水平ブロックステッピング、垂直ブロックステッピング、及び/又は深さステッピングを含み得る最大6次元以上のアドレッシングをサポートし得る。
ベクトルプロセッサは、コンピュータビジョンアルゴリズムのプログラミングを効率的かつ柔軟に実行し、信号処理機能を提供するように設計され得るプログラム可能なプロセッサであり得る。いくつかの例では、PVAは、PVAコア及び2つのベクトル処理サブシステム区画を含み得る。PVAコアは、プロセッササブシステム、DMAエンジン(例えば、2つのDMAエンジン)、及び/又は他の周辺機器を含み得る。ベクトル処理サブシステムは、PVAの主要な処理エンジンとして動作することができ、ベクトル処理ユニット(VPU)、命令キャッシュ、及び/又はベクトルメモリ(例えば、VMEM)を含むことができる。VPUコアは、例えば、単一命令、複数データ(SIMD)、非常に長い命令語(VLIW)デジタル信号プロセッサなどのデジタル信号プロセッサを含み得る。SIMDとVLIWとの組み合わせにより、スループット及び速度を向上させることができる。
ベクトルプロセッサの各々は、命令キャッシュを含むことができ、専用メモリに結合され得る。その結果、いくつかの例では、ベクトルプロセッサの各々は、他のベクトルプロセッサとは独立して実行されるように構成され得る。他の例では、特定のPVAに含まれるベクトルプロセッサは、データ並列性を使用するように構成され得る。例えば、いくつかの実施形態では、単一のPVAに含まれる複数のベクトルプロセッサは、同じコンピュータビジョンアルゴリズムを、画像の異なる領域で実行することができる。他の例では、特定のPVAに含まれるベクトルプロセッサは、同じ画像に対して異なるコンピュータビジョンアルゴリズムを同時に実行するか、又はさらには連続した画像若しくは画像の一部に対して異なるアルゴリズムを実行することもできる。とりわけ、ハードウェアアクセラレーションクラスタには任意の数のPVAを含めることができ、各PVAには任意の数のベクトルプロセッサを含めることができる。さらに、PVAには、システム全体の安全性を高めるために、追加のエラー訂正コード(ECC)メモリが含まれ得る。
アクセラレータ414(例えば、ハードウェアアクセラレーションクラスタ)は、アクセラレータ414に高帯域幅、低レイテンシのSRAMを提供するコンピュータビジョンネットワークオンチップ及びSRAMを含み得る。いくつかの例では、オンチップメモリは、限定ではなく例として、PVA及びDLAの両方によってアクセス可能な、フィールド構成可能な8つのメモリブロックからなる少なくとも4MBのSRAMを含み得る。メモリブロックの各ペアには、高度な周辺バス(APB)インターフェース、構成回路、コントローラ、及びマルチプレクサが含まれ得る。任意のタイプのメモリを使用することができる。PVA及びDLAは、PVA及びDLAにメモリへの高速アクセスを提供するバックボーンを介してメモリにアクセスすることができる。バックボーンは、PVA及びDLAをメモリに(例えば、APBを使用して)相互接続するオンチップのコンピュータビジョンネットワークを含むことができる。
オンチップのコンピュータビジョンネットワークには、制御信号/アドレス/データを送信する前に、PVA及びDLAの両方が準備ができた有効な信号を提供していることを確認するインターフェースが含まれ得る。そのようなインターフェースは、制御信号/アドレス/データを送信するための別個のフェーズ及び別個のチャネル、並びに連続的なデータ転送のためのバースト型通信を提供することができる。このタイプのインターフェースは、ISO 26262又はIEC 61508規格に準拠していてもよいが、他の規格及びプロトコルを使用してもよい。
いくつかの例では、SoC404は、2018年8月10日に出願された米国特許出願第16/101,232号に記載されているような、リアルタイムレイトレーシングハードウェアアクセラレータを含み得る。リアルタイムレイトレーシングハードウェアアクセラレータを使用して、物体の位置及び範囲(例えば、ワールドモデル内)を迅速かつ効率的に決定し、リアルタイム可視化シミュレーションを生成して、レーダ信号の解釈、音の伝播の合成及び/又は解析、ソナーシステムのシミュレーション、一般的な波動伝播シミュレーション、ローカリゼーション及び/若しくは他の機能のためのライダデータとの比較、及び/又は他の用途に用いることができる。いくつかの実施形態では、1つ以上のレイトレーシング関連動作を実行するために、1つ以上のツリートラバーサルユニット(TTU)が使用され得る。
アクセラレータ414(例えば、ハードウェアアクセラレータクラスタ)は、自動運転に関して幅広い用途を有する。PVAは、ADAS及び自律車両の主要な処理段階に使用することができるプログラマブルビジョンアクセラレータであり得る。PVAの機能は、低電力及び低レイテンシで予測可能な処理を必要とするアルゴリズムドメインに最適である。言い換えると、PVAは、低レイテンシ及び低電力で予測可能なランタイムを必要とする小さなデータセットでも、準高密度又は高密度の通常の計算で適切に機能する。したがって、自律車両のプラットフォームのコンテキストでは、PVAは物体の検出及び整数演算での動作が効率的であるため、古典的なコンピュータビジョンアルゴリズムを実行するように設計される。
例えば、本技術の一実施形態によれば、PVAは、コンピュータステレオビジョンを実行するために使用される。いくつかの例では、セミグローバルマッチングベースのアルゴリズムが使用され得るが、これは限定を意図するものではない。レベル3~5の自動運転の多くのアプリケーションでは、オンザフライでの動き推定/ステレオマッチング(動き、歩行者認識、車線検出などに由来する構造)を必要とする。PVAは、2台の単眼カメラからの入力でコンピュータステレオビジョン機能を実行することができる。
いくつかの例では、PVAは、高密度オプティカルフローを実行するために使用され得る。例えば、PVAは、(例えば、4D高速フーリエ変換を使用して)生のレーダデータを処理し、次のレーダパルスの放射前に処理されたレーダ信号を提供するために使用され得る。他の例では、PVAは、例えば、生の飛行時間データを処理して、処理された飛行時間データを提供することにより、飛行時間の深度処理を行うのに使用される。
DLAを使用して、例えば、各物体検出の信頼度を出力するニューラルネットワークなど、制御及び運転の安全性を強化する任意のタイプのネットワークを実行することができる。このような信頼値は、確率として、又は他の検出と比較した各検出の相対的な「重み」を提供するものとして解釈され得る。この信頼値によって、システムは、どの検出が偽陽性検出ではなく真陽性検出であると見なされるかに関するさらなる決定を行うことができる。例えば、システムは信頼度の閾値を設定し、閾値を超える検出のみを真陽性検出と見なすことができる。自動緊急ブレーキ(AEB)システムでは、偽陽性検出によって車両が緊急ブレーキを自動的に実行するが、これは明らかに望ましくない。したがって、最も信頼できる検出のみがAEBのトリガと見なされる必要がある。DLAは、信頼値を回帰するニューラルネットワークを実行することができる。ニューラルネットワークは、とりわけ、バウンディングボックスの寸法、(例えば別のサブシステムから)取得した地面の推定値、車両400の配向、距離と相関する慣性測定ユニット(IMU)センサ466の出力、ニューラルネットワーク及び/又は他のセンサ(例えば、ライダセンサ464又はレーダセンサ460)から得られた物体の3D位置推定など、少なくとも一部のパラメータのサブセットを入力として使用することができる。
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は、オーディオ処理エンジンとして機能することができる埋込みプロセッサのセットをさらに含んでもよい。オーディオ処理エンジンは、複数のインターフェースを介したマルチチャネルオーディオの完全なハードウェアサポート、及び幅広い柔軟な範囲のオーディオI/Oインターフェースを可能にするオーディオサブシステムであり得る。いくつかの例では、オーディオ処理エンジンは、専用RAMを有するデジタル信号プロセッサを備えた専用プロセッサコアである。
プロセッサ410は、低電力センサ管理及びウェイクユースケースをサポートするために必要なハードウェア機能を提供することができる常時オンのプロセッサエンジンをさらに含み得る。常時オンのプロセッサエンジンには、プロセッサコア、密結合RAM、サポート周辺機器(例えば、タイマー及び割込みコントローラ)、様々なI/Oコントローラ周辺機器、及びルーティングロジックが含まれ得る。
プロセッサ410は、自動車用途の安全管理を処理するための専用プロセッササブシステムを含む安全クラスタエンジンをさらに含み得る。安全クラスタエンジンには、2つ以上のプロセッサコア、密結合RAM、サポート周辺機器(例えば、タイマー、割込みコントローラなど)、及び/又はルーティングロジックが含まれ得る。安全モードでは、2つ以上のコアがロックステップモードで動作し、動作間の違いを検出する比較ロジックを備えた単一のコアとして機能する。
プロセッサ410は、リアルタイムカメラ管理を処理するための専用プロセッササブシステムを含み得るリアルタイムカメラエンジンをさらに含み得る。
プロセッサ410は、カメラ処理パイプラインの一部であるハードウェアエンジンである画像信号プロセッサを含み得る高ダイナミックレンジ信号プロセッサをさらに含み得る。
プロセッサ410は、プレーヤウィンドウの最終画像を生成するためにビデオ再生アプリケーションが必要とするビデオ後処理機能を実装する(例えば、マイクロプロセッサに実装される)処理ブロックであり得るビデオ画像合成装置を含み得る。ビデオ画像合成装置は、ワイドビューカメラ470、サラウンドカメラ474、及び/又はキャビン内監視カメラセンサでレンズ歪み補正を実行することができる。キャビン内監視カメラセンサは、高性能SoCの別のインスタンスで実行されるニューラルネットワークによって監視され、キャビン内イベントを識別してそれに応じて応答するように構成されていることが好ましい。キャビン内システムは、リップリーディングを実行して、携帯電話サービスの起動及び架電、電子メールの口述、車両の目的地の変更、車両のインフォテインメントシステム及び設定の起動又は変更、又は音声によるウェブサーフィンの提供を実行することができる。特定の機能は、車両が自律モードで動作している場合にのみ運転者が利用することができ、それ以外の場合は無効である。
ビデオ画像合成装置は、空間的ノイズ及び時間的ノイズの両方を低減する強化された時間的ノイズ低減を含み得る。例えば、ビデオ内に動きが発生する場合、ノイズ低減は空間情報に適切に重みを付け、隣接するフレームによって提供される情報の重みを減少させる。画像又は画像の一部に動きが含まれない場合、ビデオ画像合成装置によって実行される時間的ノイズ低減は、前の画像からの情報を使用して現在の画像のノイズを低減することができる。
ビデオ画像合成装置はまた、入力ステレオレンズフレームに対してステレオ修正を実行するように構成され得る。ビデオ画像合成装置は、オペレーティングシステムデスクトップが使用されているときにユーザインターフェース構成にさらに使用されてもよく、GPU408は、新しい表面を連続的にレンダリングする必要はない。GPU408が駆動され、アクティブに3Dレンダリングを実行しているときでも、ビデオ画像合成装置を使用して、GPU408をオフロードし、パフォーマンス及び応答性を改善することができる。
SoC404は、カメラからビデオ及び入力を受信するモバイル産業プロセッサインターフェース(MIPI)カメラシリアルインターフェース、高速インターフェース、及び/又はカメラ及び関連ピクセル入力関数に使用され得るビデオ入力ブロックをさらに含み得る。SoC404は、ソフトウェアによって制御されてもよく、特定の役割に関与していないI/O信号を受信するために使用されてもよい入出力コントローラをさらに含み得る。
SoC404は、周辺機器、オーディオコーデック、電力管理、及び/又は他のデバイスとの通信を可能にする広範囲の周辺機器インターフェースをさらに含み得る。SoC404は、カメラ(例えば、ギガビットマルチメディアシリアルリンク及びイーサネットを介して接続される)からのデータ、センサ(例えば、イーサネットを介して接続され得るライダセンサ464、レーダセンサ460など)からのデータ、バス402からのデータ(例えば、車両400の速度、ステアリングホイール位置など)、GNSSセンサ458(例えば、イーサネット又はCANバスを介して接続される)からのデータを処理するために使用され得る。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の展開されたニューラルネットワーク(例えば、訓練されたニューラルネットワーク)によって交通標識として識別することができ、「点滅しているライトは凍結状態を表します」というテキストは、第2の展開されたニューラルネットワークによって解釈することができ、第2の展開されたニューラルネットワークは、車両の経路計画ソフトウェア(CPUコンプレックスで実行することが望ましい)に、点滅しているライトが検出された場合は凍結状態が存在することを通知する。点滅しているライトは、第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(例えば、携帯電話アンテナ、Bluetoothアンテナなどの異なる通信プロトコルのための1つ以上の無線アンテナ)を含み得るネットワークインターフェース424を含み得る。ネットワークインターフェース424は、クラウド(例えば、サーバ478及び/又は他のネットワークデバイス)、他の車両、及び/又はコンピューティングデバイス(例えば、乗員のクライアントデバイス)とのインターネットを介した無線接続を可能にするために使用され得る。他の車両と通信するために、2つの車両間に直接リンクが確立されてもよく、及び/又は(例えば、ネットワーク間に及びインターネットを介して)間接リンクが確立されてもよい。直接リンクは、車両対車両通信リンクを使用して提供され得る。車両対車両通信リンクは、車両400に近接する車両(例えば、車両400の前方、側方、及び/又は後方の車両)に関する情報を車両400に提供することができる。この機能は、車両400の協調的適応クルーズ制御機能の一部であり得る。
ネットワークインターフェース424には、変調及び復調機能を提供し、コントローラ436が無線ネットワークを介して通信することを可能にするSoCが含まれ得る。ネットワークインターフェース424には、ベースバンドから無線周波数へのアップコンバージョン、及び無線周波数からベースバンドへのダウンコンバージョンのための無線周波数フロントエンドを含み得る。周波数変換は、周知のプロセスを介して実行することができ、及び/又はスーパーヘテロダインプロセスを使用して実行することができる。いくつかの例では、無線周波数フロントエンド機能は、別個のチップによって提供されてもよい。ネットワークインターフェースは、LTE、WCDMA(登録商標)、UMTS、GSM、CDMA2000、Bluetooth、Bluetooth LE、Wi-Fi、Z-Wave、ZigBee、LoRaWAN、及び/又は他の無線プロトコルを介して通信する無線機能を含み得る。
車両400は、オフチップ(例えば、オフSoC404)ストレージを含み得るデータストア428をさらに含むことができる。データストア428は、RAM、SRAM、DRAM、VRAM、フラッシュ、ハードディスク、並びに/或いは少なくとも1ビットのデータを記憶することができる他の構成要素及び/又はデバイスを含む1つ以上の記憶要素を含むことができる。
車両400は、マッピング、知覚、占有グリッドの生成、及び/又は経路計画機能を支援するために、GNSSセンサ458(例えば、GPS及び/又は支援型GPSセンサ)をさらに含み得る。限定ではなく例として、イーサネットからシリアル(RS232)へのブリッジを備えたUSBコネクタを使用するGPSを含む、任意の数のGNSSセンサ458を使用することができる。
車両400は、レーダセンサ460をさらに含み得る。レーダセンサ460は、暗闇及び/又は厳しい気象条件においても、車両400で長距離車両検出のために使用することができる。レーダ機能安全レベルは、ASIL Bであり得る。レーダセンサ460は、CAN及び/又はバス402を使用して(例えば、レーダセンサ460によって生成されたデータを送信して)、制御及び物体追跡データにアクセスすることができ、いくつかの例では、イーサネットにアクセスして生データにアクセスする。多種多様なレーダセンサタイプを使用することができる。限定ではなく例として、レーダセンサ460は、前部、後部、及び側部レーダの使用に適し得る。いくつかの例では、パルスドップラーレーダセンサが使用される。
レーダセンサ460は、狭い視野を伴う長距離、広い視野を伴う短距離、短距離側方適用範囲などの異なる構成を含み得る。いくつかの例では、長距離レーダが、適応クルーズ制御機能に使用され得る。長距離レーダシステムは、250mの範囲内など、2つ以上の独立したスキャンによって実現される広い視野を提供することができる。レーダセンサ460は、静止物体と移動物体との区別を助けることができ、緊急ブレーキ支援及び前方衝突警告のためにADASシステムによって使用され得る。長距離レーダセンサには、複数(例えば、6つ以上)の固定レーダアンテナ並びに高速CAN及びFlexRayインターフェースを備えたモノスタティックマルチモーダルレーダが含まれ得る。6つのアンテナを備えた例では、中央の4つのアンテナは、隣接する車線の交通からの干渉を最小限に抑えながら、より高速で車両400の周囲を記録するように設計された集束ビームパターンを生成することができる。他の2つのアンテナは視野を拡大することができ、車両400の車線に出入りする車両をすばやく検出できるようにする。
中距離レーダシステムには、例として、最大460m(前方)又は80m(後方)の範囲と、最大42度(前方)又は450度(後方)の視野とが含まれ得る。短距離レーダシステムには、限定ではないが、リアバンパーの両端に取り付けるように設計されたレーダセンサが含まれ得る。リアバンパーの両端に設置した場合、そのようなレーダセンサシステムは、2つのビームを生成し、車両の後方及び隣の死角を常に監視することができる。
ADASシステムでは、死角検出及び/又は車線変更支援のために、短距離レーダシステムを使用することができる。
車両400は、超音波センサ462をさらに含み得る。車両400の前部、後部、及び/又は側面に配置され得る超音波センサ462は、駐車支援、及び/又は占有グリッドの作成及び更新のために使用され得る。多種多様な超音波センサ462を使用することができ、異なる検出範囲(例えば、2.5m、4m)に対して異なる超音波センサ462を使用することができる。超音波センサ462は、ASIL Bの機能安全レベルで動作することができる。
車両400は、ライダセンサ464を含み得る。ライダセンサ464は、物体及び歩行者の検出、緊急ブレーキ、衝突回避、及び/又は他の機能のために使用され得る。ライダセンサ464は、機能安全レベルASIL Bであり得る。いくつかの例では、車両400は、(例えば、ギガビットイーサネットスイッチにデータを提供するために)イーサネットを使用することができる複数のライダセンサ464(例えば、2、4、6など)を含み得る。
いくつかの例では、ライダセンサ464は、360度視野に対する物体及びそれらの距離のリストを提供することができてもよい。市販のライダセンサ464は、約100mのアドバタイズ範囲を有することができ、2cmから3cmの精度で、例えば100Mbpsのイーサネット接続をサポートしている。いくつかの例では、1つ以上の非突出型ライダセンサ464が使用され得る。そのような例では、ライダセンサ464は、車両400の前部、後部、側部、及び/又は角部に埋め込むことができる小さなデバイスとして実装され得る。そのような例では、ライダセンサ464は、最大120度の水平視野及び最大35度の垂直視野を提供することができ、反射率の低い物体であっても、200mの範囲を有する。前方に取り付けられたライダセンサ464は、45度~135度の水平視野を得るように構成され得る。
いくつかの例では、3Dフラッシュライダなどのライダ技術も使用され得る。3Dフラッシュライダは、レーザのフラッシュを送信元として使用して、最大約200mの車両の周囲を照らす。フラッシュライダには、レセプタが含まれ、レセプタは、レーザパルスの通過時間及び各ピクセルの反射光を記録し、これは、車両から物体までの距離に対応する。フラッシュライダによって、高精度で歪みのない周囲画像をすべてのレーザフラッシュで生成することが可能になる。いくつかの例では、車両400の両側に1つずつ、4つのフラッシュライダセンサが配置され得る。利用可能な3Dフラッシュライダシステムには、ファン以外の可動部品がないソリッドステート3Dスターリングアレイライダカメラ(例えば、非スキャンライダデバイス)が含まれる。フラッシュライダデバイスは、フレームごとに5ナノ秒のクラスI(アイセーフ)レーザパルスを使用し、反射したレーザ光を3D距離点群及び共同登録された強度データの形で取り込むことができる。フラッシュライダを使用することによって、フラッシュライダは可動部品のないソリッドステートデバイスであるため、ライダセンサ464はモーションブラー、振動、及び/又は衝撃の影響を受けにくくなり得る。
車両は、IMUセンサ466をさらに含み得る。いくつかの例では、IMUセンサ466は、車両400の後車軸の中心に配置され得る。IMUセンサ466は、限定ではなく例として、加速度計、磁力計、ジャイロスコープ、磁気コンパス、及び/又は他のタイプのセンサを含み得る。6軸アプリケーションなどのいくつかの例では、IMUセンサ466は、加速度計及びジャイロスコープを含んでもよく、一方、9軸アプリケーションでは、IMUセンサ466は、加速度計、ジャイロスコープ、及び磁力計を含んでもよい。
いくつかの実施形態では、IMUセンサ466は、微小電気機械システム(MEMS)慣性センサと、高感度GPS受信機と、位置、速度、及び姿勢の推定値を提供するための高度なカルマンフィルタリングアルゴリズムとを組み合わせた小型の高性能GPS支援慣性航法システム(GPS/INS)として実装され得る。したがって、いくつかの例では、IMUセンサ466は、GPSからIMUセンサ466への速度の変化を直接観察及び相関させることによって、磁気センサからの入力を必要とせずに車両400が進行方向を推定できるようにすることができる。いくつかの例では、IMUセンサ466及びGNSSセンサ458は、単一の統合されたユニットに組み合わされ得る。
車両は、車両400内及び/又は車両400の周りに配置されたマイク496を含み得る。マイク496は、とりわけ、緊急車両検出及び識別のために使用され得る。
車両はさらに、ステレオカメラ468、ワイドビューカメラ470、赤外線カメラ472、サラウンドカメラ474、長距離及び/又は中距離カメラ498、及び/又は他のカメラタイプを含む、任意の数のカメラタイプを含み得る。カメラは、車両400の周囲全体の周りの画像データを取り込むために使用され得る。使用されるカメラのタイプは、車両400の実施形態及び要件に依存し、カメラタイプの任意の組み合わせを使用して、車両400の周りに必要な適用範囲をもたらすことができる。また、カメラの数は、実施形態によって異なり得る。例えば、車両は、6台のカメラ、7台のカメラ、10台のカメラ、12台のカメラ、及び/又は別の数のカメラを含み得る。カメラは、限定ではなく例として、ギガビットマルチメディアシリアルリンク(GMSL)及び/又はギガビットイーサネットをサポートすることができる。カメラの各々は、図4A及び図4Bに関して本明細書でより詳細に説明される。
車両400は、振動センサ442をさらに含み得る。振動センサ442は、車軸などの車両の構成要素の振動を測定することができる。例えば、振動の変化によって、路面の変化を示すことができる。別の例では、2つ以上の振動センサ442を使用する場合、(例えば、動力駆動車軸と自由回転車軸との間に振動の差がある場合)振動間の差を使用して、路面の摩擦又は滑りを決定することができる。
車両400は、ADASシステム438を含み得る。いくつかの例では、ADASシステム438は、SoCを含み得る。ADASシステム438には、自律/適応/自動クルーズ制御(ACC)、協調的適応クルーズ制御(CACC)、前方衝突警告(FCW)、自動緊急ブレーキ(AEB)、車線逸脱警告(LDW)、車線維持支援(LKA)、死角警告(BSW)、後部横断交通警告(RCTW)、衝突警告システム(CWS)、レーンセンタリング(LC)、及び/又はその他の特徴及び機能が含まれ得る。
ACCシステムは、レーダセンサ460、ライダセンサ464、及び/又はカメラを使用することができる。ACCシステムは、縦方向ACC及び/又は横方向ACCを含み得る。縦方向のACCは、車両400の直前の車両までの距離を監視及び制御し、車両速度を自動的に調整して、前方車両から安全な距離を維持する。横方向ACCは距離の維持を実行し、必要に応じて車線の変更を車両400に勧告する。横方向ACCは、LC及びCWSなどの他のADASアプリケーションに関連する。
CACCは、無線リンクを介して、又はネットワーク接続を介して(例えば、インターネットを介して)間接的に、他の車両からネットワークインターフェース424及び/又は無線アンテナ426を介して受信され得る他の車両からの情報を使用する。直接リンクは、車両対車両(V2V)通信リンクによって提供され得るが、間接リンクは、インフラストラクチャ対車両(I2V)通信リンクであり得る。一般に、V2V通信の概念は、直前の車両(例えば、車両400の直前かつ同じ車線にある車両)に関する情報を提供し、一方、I2V通信の概念は、さらに前方の交通に関する情報を提供する。CACCシステムには、I2V及びV2V情報源のいずれか又は両方が含まれ得る。車両400の前方車両の情報が与えられることで、CACCの信頼性をより高めることができ、交通の流れの円滑さを改善し、道路の渋滞を減らす可能性がある。
FCWシステムは、運転者に危険を警告するように設計されているため、運転者は修正措置を講じることができる。FCWシステムは、専用のプロセッサ、DSP、FPGA、及び/又はASICに結合された前向きカメラ及び/又はレーダセンサ460を使用し、これらは、ディスプレイ、スピーカ、及び/又は振動構成要素などの運転者フィードバックに電気的に結合される。FCWシステムは、音、視覚的な警告、振動、及び/又はクイックブレーキパルスの形態などの警告を提供することができる。
AEBシステムは、他の車両又は他の物体との差し迫った前方衝突を検出し、運転者が指定された時間又は距離パラメータ内で修正措置を講じない場合、自動的にブレーキをかけることができる。AEBシステムは、専用プロセッサ、DSP、FPGA、及び/又はASICに結合された、前向きカメラ及び/又はレーダセンサ460を使用することができる。AEBシステムが危険を検出すると、通常、最初に運転者に衝突を回避するための修正措置を講じるように警告する。運転者が修正措置を講じない場合、AEBシステムは自動的にブレーキをかけて予測された衝突の影響を防止するか、少なくとも緩和するように試みる。AEBシステムには、ダイナミックブレーキサポート及び/又は衝突直前ブレーキ(crash imminent braking)などの技術が含まれ得る。
LDWシステムは、ステアリングホイール又は座席の振動などの視覚的、聴覚的、及び/又は触覚的な警告を提供し、車両400が車線区分線を横切った場合に運転者に警告する。方向指示器を作動させることによって、運転者が意図的な車線逸脱であることを示した場合、LDWシステムは作動しない。LDWシステムは、専用プロセッサ、DSP、FPGA、及び/又はASICに結合された、前側向きカメラを使用することができ、これは、ディスプレイ、スピーカ、及び/又は振動構成要素などの運転者フィードバックに電気的に結合される。
LKAシステムは、LDWシステムの変形形態である。LKAシステムは、車両400が車線から逸脱し始めた場合に車両400を修正するためにステアリング入力又はブレーキを提供する。
BSWシステムは、自動車の死角にある車両を検出して運転者に警告する。BSWシステムは、車線の合流又は変更が安全でないことを示すために、視覚的、聴覚的、及び/又は触覚的な警告を提供することができる。運転者が方向指示器を使用した場合、システムは追加の警告を提供することができる。BSWシステムは、専用のプロセッサ、DSP、FPGA、及び/又はASICに結合された後向きカメラ及び/又はレーダセンサ460を使用することができ、これは、ディスプレイ、スピーカ、及び/又は振動構成要素などの運転者フィードバックに電気的に結合される。
RCTWシステムは、車両400が後退しているときに後方カメラの範囲外で物体が検出された場合、視覚的、可聴的、及び/又は触覚的通知を提供することができる。一部のRCTWシステムには、衝突を回避するために車両ブレーキを確実にかけるためのAEBが含まれる。RCTWシステムは、専用のプロセッサ、DSP、FPGA、及び/又はASICに結合された1つ以上の後向きレーダセンサ460を使用することができ、これは、ディスプレイ、スピーカ、及び/又は振動構成要素などの運転者フィードバックに電気的に結合される。
従来のADASシステムでは、偽陽性検出結果が発生しやすく、運転者にとって煩わしく気を散らす可能性があるが、ADASシステムは運転者に警告し、運転者が本当に安全な状態がどうかを判断してそれに応じて行動することを許容するため、通常は致命的ではない。しかしながら、自律車両400では、結果が競合する場合、車両400自体が、一次コンピュータ又は二次コンピュータ(例えば、第1のコントローラ436又は第2のコントローラ436)からの結果に注意するかどうかを決定しなければならない。例えば、いくつかの実施形態では、ADASシステム438は、知覚情報をバックアップコンピュータ合理性モジュールに提供するバックアップ及び/又は二次コンピュータであり得る。バックアップコンピュータの合理性モニタは、ハードウェア構成要素上で冗長な多様なソフトウェアを実行して、知覚及び動的運転タスクにおける障害を検出することができる。ADASシステム438からの出力は、監視MCUに提供され得る。一次コンピュータ及び二次コンピュータからの出力が競合する場合、監視MCUは、安全な動作を確保するために競合を調整する方法を決定する必要がある。
いくつかの例では、一次コンピュータは、監視MCUに信頼スコアを提供するように構成することができ、選択された結果に対する一次コンピュータの信頼性を示す。信頼スコアが閾値を超えた場合、監視MCUは、二次コンピュータが競合又は矛盾する結果を提供するかどうかに関係なく、一次コンピュータの指示に従うことができる。信頼スコアが閾値を満たしていない場合、並びに一次コンピュータ及び二次コンピュータが異なる結果(例えば、競合)を示している場合、監視MCUはコンピュータ間で調停して適切な結果を決定することができる。
監視MCUは、一次コンピュータ及び二次コンピュータからの出力に基づいて、二次コンピュータが誤警報を提供する条件を決定するように訓練及び構成されたニューラルネットワークを実行するように構成され得る。したがって、監視MCUのニューラルネットワークは、二次コンピュータの出力が信頼できる場合と信頼できない場合とを学習することができる。例えば、二次コンピュータがレーダベースのFCWシステムである場合、監視MCUのニューラルネットワークは、FCWシステムが実際には危険ではない金属物体、例えばアラームをトリガする排水格子又はマンホールの蓋などを識別している場合を学習することができる。同様に、二次コンピュータがカメラベースのLDWシステムである場合、監視MCUのニューラルネットワークは、自転車又は歩行者が存在し、車線の逸脱が実際には最も安全な操作である場合に、LDWを無効にすることを学習することができる。監視MCUで実行されるニューラルネットワークを含む実施形態では、監視MCUは、関連するメモリを用いてニューラルネットワークを実行するのに適したDLA又はGPUの少なくとも1つを含むことができる。好ましい実施形態では、監視MCUは、SoC404の構成要素として具備され得る、及び/又は含まれ得る。
他の例では、ADASシステム438は、コンピュータビジョンの従来のルールを使用してADAS機能を実行する二次コンピュータを含み得る。そのため、二次コンピュータは、従来のコンピュータビジョンルールを使用する場合があり、(その場合)、監視MCUにニューラルネットワークが存在することによって、信頼性、安全性、及びパフォーマンスが向上し得る。例えば、多様な実装及び意図的な非同一性によって、システム全体が、特にソフトウェア(又はソフトウェア-ハードウェアインターフェース)機能によって引き起こされるフォールトに対して、よりフォールトトレラントになる。例えば、一次コンピュータで実行されているソフトウェアにソフトウェアのバグ又はエラーがあり、二次コンピュータで実行されている同一ではないソフトウェアコードが同じ全体的結果を提供する場合、監視MCUは、全体的結果が正しく、一次コンピュータで使用されているソフトウェア又はハードウェアのバグが重大なエラーを引き起こしていないことにより高い信頼性を有することができる。
いくつかの例では、ADASシステム438の出力は、一次コンピュータの知覚ブロック及び/又は一次コンピュータの動的運転タスクブロックに供給され得る。例えば、ADASシステム438が直前の物体に起因する前方衝突警告を示す場合、知覚ブロックは、物体を識別するときにこの情報を使用することができる。他の例では、二次コンピュータは、本明細書で説明するように、訓練され、したがって偽陽性のリスクを低減する独自のニューラルネットワークを有し得る。
車両400は、インフォテインメントSoC430(例えば、車載インフォテインメントシステム(IVI))をさらに含み得る。SoCとして図示及び説明されているが、インフォテインメントシステムはSoCでなくてもよく、2つ以上の個別の構成要素を含んでもよい。インフォテインメントSoC430は、オーディオ(例えば、音楽、携帯情報端末、ナビゲーション指示、ニュース、ラジオなど)、ビデオ(例えば、TV、映画、ストリーミングなど)、電話(例えば、ハンズフリー通話など)、ネットワーク接続(例えば、LTE、Wi-Fiなど)、及び/又は情報サービス(例えば、ナビゲーションシステム、後方駐車支援、無線データシステム、及び燃料レベル、合計走行距離、ブレーキ燃料レベル、オイルレベル、ドア開閉、エアフィルタ情報などの車両関連情報など)を車両400に提供するために使用され得るハードウェアとソフトウェアとの組み合わせを含み得る。例えば、インフォテインメントSoC430には、ラジオ、ディスクプレーヤ、ナビゲーションシステム、ビデオプレーヤ、USB及びBluetooth接続、カルピュター、車載エンターテイメント、Wi-Fi、ステアリングホイールオーディオコントロール、ハンズフリー音声制御、ヘッドアップディスプレイ(HUD)、HMIディスプレイ434、テレマティクスデバイス、制御パネル(例えば、様々な構成要素、機能、及び/又はシステムを制御及び/又は相互作用するため)、及び/又は他の構成要素が含まれ得る。インフォテインメントSoC430はさらに、ADASシステム438からの情報、計画された車両操縦、軌道などの自動運転情報、周辺環境情報(例えば、交差点情報、車両情報、道路情報など)、及び/又は他の情報などの情報(例えば、視覚的及び/又は聴覚的)を車両のユーザに提供するために使用され得る。
インフォテインメントSoC430は、GPU機能を含み得る。インフォテインメントSoC430は、バス402(例えば、CANバス、イーサネットなど)を介して、車両400の他のデバイス、システム、及び/又は構成要素と通信することができる。いくつかの例では、インフォテインメントSoC430を監視MCUに結合することができ、そのため、一次コントローラ436(例えば、車両400の一次及び/又はバックアップコンピュータ)が故障した場合でも、インフォテインメントシステムのGPUが、一部の自己運転機能を実行することができる。そのような例では、インフォテインメントSoC430は、本明細書で説明するように、車両400を運転手から安全停止モードにすることができる。
車両400は、計器クラスタ432(例えば、デジタルダッシュボード、電子計器クラスタ、デジタル計器盤など)をさらに含み得る。計器クラスタ432は、コントローラ及び/又はスーパーコンピュータ(例えば、個別のコントローラ又はスーパーコンピュータ)を含み得る。計器クラスタ432は、速度計、燃料レベル、油圧、タコメータ、走行距離計、方向指示器、ギアシフト位置表示器、シートベルト警告灯、駐車ブレーキ警告灯、エンジン故障灯、エアバッグ(SRS)システム情報、照明制御、安全システム制御、ナビゲーション情報などの一連の計器類を含み得る。いくつかの例では、情報は、インフォテインメント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及び/又はPCIe接続486によって開発されたNVLinkインターフェース488などの高速相互接続と相互接続することができる。いくつかの例では、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は、ネットワーク490を介して、車両に、ニューラルネットワーク492、更新されたニューラルネットワーク492、並びに/或いは交通及び道路状況に関する情報を含むマップ情報494を送信することができる。マップ情報494に対する更新には、建設現場、路面の窪み、迂回路、冠水、及び/又は他の障害物に関する情報などの、HDマップ422の更新が含まれ得る。いくつかの例では、ニューラルネットワーク492、更新されたニューラルネットワーク492、及び/又はマップ情報494は、環境内の任意の数の車両から受信したデータで表される新しい訓練及び/又は経験から、及び/又は(例えば、サーバ478及び/又は他のサーバを使用して)データセンターで実行される訓練に基づいて、生じていてもよい。
サーバ478は、訓練データに基づいて機械学習モデル(例えば、ニューラルネットワーク)を訓練するために使用され得る。訓練データは、車両によって生成されてもよく、及び/又は(例えば、ゲームエンジンを使用して)シミュレーションで生成されてもよい。いくつかの例では、訓練データは、タグ付けされる(例えば、ニューラルネットワークが教師あり学習の恩恵を受ける場合)、及び/又は他の前処理が行われるが、他の例では、訓練データはタグ付け及び/又は前処理されない(例えば、ニューラルネットワークが教師あり学習を必要としない場合)。訓練は、教師あり訓練、半教師あり訓練、教師なし訓練、自己学習、強化学習、連合学習、転移学習、特徴学習(主成分分析及びクラスタ分析を含む)、多重線形部分空間学習、多様体学習、表現学習(予備辞書学習を含む)、ルールベースの機械学習、異常検出、及びそれらの変形形態又は組み合わせなどのクラスを含むがこれらに限定されない、機械学習技術の1つ以上のクラスに従って実行され得る。機械学習モデルが訓練されると、機械学習モデルは車両で使用することができ(例えば、ネットワーク490を介して車両に送信される)、及び/又は機械学習モデルは、車両を遠隔監視するために、サーバ478で使用することができる。
いくつかの例では、サーバ478は、車両からデータを受信し、そのデータをリアルタイムインテリジェント推論のための最新のリアルタイムニューラルネットワークに適用することができる。サーバ478は、ディープラーニングスーパーコンピュータ及び/又はGPU484を動力源とする専用AIコンピュータ、例えば、NVIDIAによって開発されたDGX及びDGX Station機械を含み得る。しかしながら、いくつかの例では、サーバ478は、CPU駆動のデータセンターのみを使用するディープラーニングインフラストラクチャを含み得る。
サーバ478のディープラーニングインフラストラクチャは、高速のリアルタイム推論を行うことができ、その能力を使用して、車両400内のプロセッサ、ソフトウェア、及び/又は関連するハードウェアの状態を評価及び検証することができる。例えば、ディープラーニングインフラストラクチャは、車両400から、車両400が(例えば、コンピュータビジョン及び/又はその他の機械学習物体分類手法を介して)一連の画像内に配置した一連の画像及び/又は物体などの定期的な更新を受信することができる。ディープラーニングインフラストラクチャは、独自のニューラルネットワークを実行して、物体を識別し、それらの物体を車両400によって識別された物体と比較することができ、結果が一致せず、インフラストラクチャが車両400のAIが誤動作していると結論付けた場合、サーバ478は、制御の引き受け、乗員への通知、及び安全な駐車操作の完了を車両400のフェイルセーフコンピュータに指示する信号を車両400に送信することができる。
推論に関して、サーバ478は、GPU484及び1つ以上のプログラマブル推論アクセラレータ(例えば、NVIDIA社のTensorRT)を含み得る。GPU駆動のサーバと推論アクセラレーションとを組み合わせることにより、リアルタイムの応答性を可能にすることができる。パフォーマンスがそれほど重要ではない場合などの他の例では、CPU、FPGA、及びその他のプロセッサによって駆動されるサーバを推論に使用してもよい。
図5は、本開示のいくつかの実施形態を実装する際の使用に適した例示的なコンピューティングデバイス500のブロック図である。コンピューティングデバイス500は、以下のデバイス、メモリ504、1つ以上の中央処理装置(CPU)506、1つ以上のグラフィックス処理装置(GPU)508、通信インターフェース510、I/Oポート512、入力/出力構成要素514、電源516、1つ以上のプレゼンテーション構成要素518(例えば、ディスプレイ)、及び1つ以上の論理ユニット520を直接又は間接的に結合する相互接続システム502を含み得る。
図5の様々なブロックは、相互接続システム502を介して線で接続されたように示されているが、これは限定を意図するものではなく、明確にするためだけのものである。例えば、いくつかの実施形態では、ディスプレイデバイスなどのプレゼンテーション構成要素518は、(例えば、ディスプレイがタッチスクリーンである場合)I/O構成要素514と見なされ得る。別の例として、CPU506及び/又はGPU508は、メモリを含み得る(例えば、メモリ504は、GPU508、CPU506、及び/又は他の構成要素のメモリに加えて、記憶装置を表し得る)。言い換えれば、図5のコンピューティングデバイスは、単に例示的なものである。「ワークステーション」、「サーバ」、「ラップトップ」、「デスクトップ」、「タブレット」、「クライアントデバイス」、「モバイルデバイス」、「ハンドヘルドデバイス」、「ゲームコンソール」、「電子制御装置(ECU)」、「仮想現実システム」、「拡張現実システム」、及び/又は他のデバイス若しくはシステムタイプなどのカテゴリは、すべて図5のコンピューティングデバイスの範囲内で企図されているため、区別されていない。
相互接続システム502は、アドレスバス、データバス、制御バス、又はそれらの組み合わせなどの1つ以上のリンク又はバスを表し得る。相互接続システム502は、業界標準アーキテクチャ(ISA)バス、拡張業界標準アーキテクチャ(EISA)バス、ビデオ電子規格協会(VESA)バス、周辺構成要素相互接続(PCI)バス、周辺構成要素相互接続エクスプレス(PCIe)バス、及び/又は別のタイプの1つ以上のバス若しくはリンクを含み得る。いくつかの実施形態では、構成要素間に直接接続がある。一例として、CPU506は、メモリ504に直接接続されてもよい。さらに、CPU506は、GPU508に直接接続されてもよい。構成要素間に直接の、又はポイントツーポイントの接続がある場合、相互接続システム502は、接続を実行するためのPCIeリンクを含み得る。これらの例では、PCIバスは、コンピューティングデバイス500に含まれる必要はない。
メモリ504は、様々なコンピュータ可読媒体のいずれかを含み得る。コンピュータ可読媒体は、コンピューティングデバイス500によってアクセスされ得る任意の利用可能な媒体であり得る。コンピュータ可読媒体は、揮発性及び不揮発性媒体の両方、並びに取り外し可能及び取り外し不能媒体を含み得る。限定ではなく例として、コンピュータ可読媒体は、コンピュータ記憶媒体及び通信媒体を含み得る。
コンピュータ記憶媒体は、コンピュータ可読命令、データ構造、プログラムモジュール、及び/又は他のデータタイプなどの情報を記憶するための任意の方法又は技術で実装される揮発性及び不揮発性媒体並びに/或いは取り外し可能及び取り外し不能媒体の両方を含み得る。例えば、メモリ504は、(例えば、オペレーティングシステムなどのプログラム及び/又はプログラム要素を表す)コンピュータ可読命令を格納することができる。コンピュータ記憶媒体には、限定されないが、RAM、ROM、EEPROM、フラッシュメモリ若しくはその他のメモリ技術、CD-ROM、デジタル多用途ディスク(DVD)若しくはその他の光ディスク記憶装置、磁気カセット、磁気テープ、磁気ディスク記憶装置若しくは他の磁気記憶装置、又は所望の情報を記憶するために使用でき、コンピューティングデバイス500によってアクセスできる他の任意の媒体が含まれ得る。本明細書で使用される場合、コンピュータ記憶媒体は、それ自体は信号を含まない。
コンピュータ記憶媒体は、コンピュータ可読命令、データ構造、プログラムモジュール、及び/又はその他のデータタイプを、搬送波又はその他の移送機構などの変調データ信号内で具体化することができ、任意の情報配信媒体を含む。「変調データ信号」という用語は、情報を信号に符号化するような様式で設定又は変更されたその特性の1つ以上を有する信号を指し得る。限定ではなく例として、コンピュータ記憶媒体は、有線ネットワーク又は直接有線接続などの有線媒体、並びに音響、RF、赤外線及びその他の無線媒体などの無線媒体を含み得る。上記のいずれかの組み合わせも、コンピュータ可読媒体の範囲内に含まれるべきである。
CPU506は、コンピュータ可読命令の少なくともいくつかを実行し、コンピューティングデバイス500の1つ以上の構成要素を制御して、本明細書で説明する方法及び/又はプロセスの1つ以上を実行するように構成され得る。CPU506はそれぞれ、多数のソフトウェアスレッドを同時に処理することができる1つ以上のコア(例えば、1、2、4、8、28、72個など)を含み得る。CPU506は、任意のタイプのプロセッサを含むことができ、実装されるコンピューティングデバイス500のタイプに応じて異なるタイプのプロセッサ(例えば、モバイルデバイス用のコアの少ないプロセッサ及びサーバ用のコアの多いプロセッサ)を含むことができる。例えば、コンピューティングデバイス500のタイプに応じて、プロセッサは、縮小命令セットコンピューティング(RISC)を使用して実装される高度RISCマシン(ARM)プロセッサ、又は複合命令セットコンピューティング(CISC)を使用して実装されるx86プロセッサであり得る。コンピューティングデバイス500は、1つ以上のマイクロプロセッサ又は数学コプロセッサなどの補助コプロセッサに加えて、1つ以上のCPU506を含み得る。
CPU506に加えて、又は代替として、GPU508は、コンピュータ可読命令の少なくともいくつかを実行し、コンピューティングデバイス500の1つ以上の構成要素を制御して、本明細書で説明する方法及び/又はプロセスの1つ以上を実行するように構成され得る。1つ以上のGPU508は、(例えば、1つ以上のCPU506を有する)統合GPUであってもよく、及び/又は1つ以上のGPU508は個別のGPUであってもよい。実施形態では、1つ以上のGPU508は、1つ以上のCPU506のコプロセッサであり得る。GPU508は、グラフィックス(例えば、3Dグラフィックス)をレンダリングするか、又は汎用計算を実行するために、コンピューティングデバイス500によって使用され得る。例えば、GPU508は、GPUによる汎用計算(GPGPU)に使用され得る。GPU508は、数百又は数千のソフトウェアスレッドを同時に処理することができる数百又は数千のコアを含み得る。GPU508は、レンダリングコマンド(例えば、ホストインターフェースを介して受信されたCPU506からのレンダリングコマンド)に応答して、出力画像のピクセルデータを生成することができる。GPU508は、ピクセルデータ又はGPGPUデータなどの他の任意の適切なデータを格納するための、ディスプレイメモリなどのグラフィックスメモリを含み得る。ディスプレイメモリは、メモリ504の一部として含まれ得る。GPU508は、(例えば、リンクを介して)並列に動作する2つ以上のGPUを含み得る。リンクによってGPUを直接(例えば、NVLINKを使用して)接続するか、スイッチを介して(例えば、NVSwitchを使用して)GPUを接続することができる。一緒に組み合わせると、各GPU508は、出力の異なる部分又は異なる出力(例えば、第1の画像の第1のGPU及び第2の画像の第2のGPU)のピクセルデータ又はGPGPUデータを生成することができる。各GPUには独自のメモリが含まれていてもよく、又は他のGPUとメモリを共有していてもよい。
CPU506及び/又はGPU508に加えて、又は代替として、論理ユニット520は、コンピュータ可読命令の少なくともいくつかを実行し、コンピューティングデバイス500の1つ以上の構成要素を制御して、本明細書で説明する方法及び/又はプロセスの1つ以上を実行するように構成され得る。実施形態では、CPU506、GPU508、及び/又は論理ユニット520は、方法、プロセス、及び/又はそれらの部分の任意の組み合わせを個別に又は共同で実行することができる。1つ以上の論理ユニット520は、1つ以上のCPU506及び/又はGPU508の一部であってもよく、及び/又はそれらに統合されてもよく、並びに/或いは1つ以上の論理ユニット520は、別個の構成要素、又はそれ以外にCPU506及び/又はGPU508の外部要素であってもよい。実施形態では、1つ以上の論理ユニット520は、1つ以上のCPU506及び/又は1つ以上のGPU508のコプロセッサであり得る。
論理ユニット520の例には、テンソルコア(TC)、テンソル処理ユニット(TPU)、ピクセルビジュアルコア(PVC)、ビジョン処理ユニット(VPU)、グラフィックス処理クラスタ(GPC)、テクスチャ処理クラスタ(TPC)、ストリーミングマルチプロセッサ(SM)、ツリートラバーサルユニット(TTU)、人工知能アクセラレータ(AIA)、ディープラーニングアクセラレータ(DLA)、算術論理ユニット(ALU)、特定用途向け集積回路(ASIC)、浮動小数点ユニット(FPU)、I/O要素、周辺構成要素相互接続(PCI)又は周辺構成要素相互接続エクスプレス(PCIe)要素などの、1つ以上の処理コア及び/又はその構成要素が含まれる。
通信インターフェース510は、コンピューティングデバイス500が有線及び/又は無線通信を含む電子通信ネットワークを介して他のコンピューティングデバイスと通信することを可能にする1つ以上の受信機、送信機、及び/又は送受信機を含み得る。通信インターフェース510は、無線ネットワーク(例えば、Wi-Fi、Z-Wave、Bluetooth、Bluetooth LE、ZigBeeなど)、有線ネットワーク(例えば、イーサネット又はInfiniBandを介した通信)、低電力広域ネットワーク(LoRaWAN、SigFoxなど)、及び/又はインターネットなどのいくつかの異なるネットワークのいずれかを介した通信を可能にする構成要素及び機能を含み得る。
I/Oポート512は、コンピューティングデバイス500が、I/O構成要素514、プレゼンテーション構成要素518、及び/又は他のI/O構成要素を含む他のデバイスに論理的に結合されることを可能にすることができ、これらの構成要素のいくつかは、コンピューティングデバイス500に内蔵(例えば、統合)されていてもよい。例示的なI/O構成要素514には、マイク、マウス、キーボード、ジョイスティック、ゲームパッド、ゲームコントローラ、衛星受信アンテナ、スキャナ、プリンタ、無線デバイスなどが含まれる。I/O構成要素514は、エアジェスチャ、音声、又はユーザによって生成された他の生理学的入力を処理する自然なユーザインターフェース(NUI)を提供することができる。場合によっては、入力は、さらに処理するために適切なネットワーク要素に送信され得る。NUIは、コンピューティングデバイス500のディスプレイに関連する、音声認識、スタイラス認識、顔認識、生体認識、画面上及び画面隣接の両方のジェスチャ認識、エアジェスチャ、頭及び目の追跡、及びタッチ認識(以下で詳しく説明)の任意の組み合わせを実装することができる。コンピューティングデバイス500は、ジェスチャ検出及び認識のために、立体カメラシステム、赤外線カメラシステム、RGBカメラシステム、タッチスクリーン技術、及びこれらの組み合わせなどの深度カメラを含み得る。さらに、コンピューティングデバイス500は、動きの検出を可能にする加速度計又はジャイロスコープを(例えば、慣性測定ユニット(IMU)の一部として)含み得る。いくつかの例では、加速度計又はジャイロスコープの出力は、没入型拡張現実又は仮想現実をレンダリングするためにコンピューティングデバイス500によって使用され得る。
電源516は、ハードワイヤード電源、電池電源、又はそれらの組み合わせを含み得る。電源516は、コンピューティングデバイス500の構成要素が動作することを可能にするために、コンピューティングデバイス500に電力を提供することができる。
プレゼンテーション構成要素518は、ディスプレイ(例えば、モニタ、タッチスクリーン、テレビスクリーン、ヘッドアップディスプレイ(HUD)、その他のディスプレイタイプ、又はそれらの組み合わせ)、スピーカ、及び/又はその他のプレゼンテーション構成要素を含み得る。プレゼンテーション構成要素518は、他の構成要素(例えば、GPU508、CPU506など)からデータを受信し、(例えば、画像、ビデオ、音などとして)データを出力することができる。
本開示は、プログラムモジュールなどのコンピュータ実行可能命令を含む、パーソナルデータアシスタント又は他のハンドヘルドデバイスなどのコンピュータ又は他の機械によって実行される、コンピュータコード又は機械使用可能命令の一般的なコンテキストで説明され得る。一般に、ルーチン、プログラム、物体、構成要素、データ構造などを含むプログラムモジュールは、特定のタスクを実行するか、又は特定の抽象データ型を実装するコードを指す。本開示は、ハンドヘルドデバイス、家庭用電化製品、汎用コンピュータ、より専門的なコンピューティングデバイスなどを含む、様々なシステム構成で実施され得る。本開示はまた、通信ネットワークを介してリンクされたリモート処理デバイスによってタスクが実行される分散コンピューティング環境でも実施され得る。
図6は、本開示の実施形態の機械学習モデルの訓練及び展開を示す。少なくとも1つの実施形態では、機械学習モデルは、CNNなどのニューラルネットワークを含み得る。訓練されていないニューラルネットワーク606は、訓練データセット602を使用して訓練され、訓練データセット602は、本開示のいくつかの実施形態では、様々な頭の姿勢を想定する被験者画像のセットであり得る。少なくとも1つの実施形態では、訓練フレームワーク604は、PyTorchフレームワークであるが、他の実施形態では、訓練フレームワーク604は、TensorFlow、Boost、Caffe、マイクロソフトコグニティブツールキット/CNTK、MXNet、Chainer、Keras、Deeplearning4j、又は他の訓練フレームワークである。訓練フレームワーク604は、本明細書に記載の処理リソースを使用して、訓練されていないニューラルネットワーク606を訓練し、訓練されたニューラルネットワーク608を生成する。少なくとも1つの実施形態では、初期重みは、ランダムに、又はディープビリーフネットワークを使用して事前訓練することによって選択され得る。訓練は、教師あり、部分的に教師あり、又は教師なしの様式のいずれかで実行され得る。
回帰分類子が使用される場合などの少なくとも1つの実施形態では、訓練されていないニューラルネットワーク606は、教師あり学習を使用して訓練することができ、訓練データセット602は、所望の出力と対になった入力を含むか、又は訓練データセット602は、既知の出力を有する入力を含み、ニューラルネットワークの出力は手動で評価される。少なくとも1つの実施形態では、訓練されていないニューラルネットワーク606は、監視された様式で訓練される。訓練フレームワーク604は、訓練データセット602からの入力を処理し、得られた出力を予想される又は所望の出力のセットと比較する。少なくとも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は、本開示の実施形態による、視線方向を決定し、この視線方向を任意の3次元形状の領域にマッピングするプロセスステップを示すフローチャートである。図7のプロセスは、コンピューティングデバイス300が、被験者の周囲の環境に対応する3次元表面のセットを受信することから開始され得る(ステップ700)。コンピューティングデバイス300はまた、カメラによって撮影された被験者の画像を受信する(ステップ710)。次に、コンピューティングデバイス300は、受信した画像内の被験者の顔及び目を識別し、顔面のランドマーク値、関連する信頼値、及び目のトリミングを上記のように決定する(ステップ720)。次に、これらの量を、図2Bの適応推論融合モジュール280による視線ベクトルの回帰ベースの推定(ステップ730)の入力変数として、並びに視線ベクトルの起点を決定する(ステップ740)ための図2Aの視線起点推定モジュール240への入力として使用する。上記のように、視線起点は、特に顔のランドマークから決定される。
視線ベクトル及びその起点が決定されると、図2Aのマッピングモジュール250は、もしあれば、視線ベクトルとステップ700の3次元表面との交点を決定する(ステップ750)。次に、視線ベクトルと交差する表面又は領域が出力され、任意の応答動作が開始され得る(ステップ760)。
本開示の実施形態のシステム及びプロセスを使用して、視線と、物体内/物体上及び物体外の両方の表面との交点を決定することができることに留意されたい。特に、マッピングモジュール250にインポートされた3次元表面は、物体の表面並びにその物体の外部又は離れた表面を含むことができ、マッピングモジュール250は、物体の表面及び物体から離れた表面の両方と視線ベクトルとの交点を決定することができる。例えば、3次元表面のセットは、車両内部の表面、及び一時停止標識、信号機、模擬歩行者などの車両外部の物体を含み得る。次に、マッピングモジュール250は、運転者が見ている車両窓と、運転者が一時停止標識などの特定の物体を見ているかどうかの両方を決定することができる。そのために、車両のセンサ(例えば、カメラ又は他の画像センサ、光検出及び測距(LIDAR:ライダ)センサ、他のリモートセンシングデバイスなど)によって、車両近くの物体の位置及び形状を決定することができる。次に、車両のプロセッサは、このセンサ出力を、格納されている3次元車両表面と同じ座標系の3次元表面に変換し、それらを3次元表面セットの追加の表面として格納する。次に、マッピングモジュール250は、計算された視線ベクトルと、車両の表面との交点、及び車両外部の物体の格納された任意の表面との交点の両方を決定することができる。このようにして、システムは、例えば、運転者が注意を向けるべき様々な潜在的な道路の危険又は他のアイテムについて、運転者が気付いているか、例えば運転者がその方向を見ているかどうかを決定することができる。
本明細書で使用される場合、2つ以上の要素に関する「及び/又は」の列挙は、1つの要素のみ、又は要素の組み合わせを意味すると解釈されるべきである。例えば、「要素A、要素B、及び/又は要素C」には、要素Aのみ、要素Bのみ、要素Cのみ、要素A及び要素B、要素A及び要素C、要素B及び要素C、又は要素A、B及びCが含まれ得る。さらに、「要素A又は要素Bの少なくとも1つ」には、要素Aの少なくとも1つ、要素Bの少なくとも1つ、又は要素Aの少なくとも1つ及び要素Bの少なくとも1つが含まれ得る。さらに、「要素A及び要素Bの少なくとも1つ」には、要素Aの少なくとも1つ、要素Bの少なくとも1つ、又は要素Aの少なくとも1つ及び要素Bの少なくとも1つが含まれ得る。
本開示の主題は、法的要件を満たすために、本明細書で具体的に説明される。しかしながら、説明自体は、この開示の範囲を限定することを意図していない。むしろ、発明者らは、特許請求された主題が他の方法でも具体化することができ、他の現在又は将来の技術と合わせて、この明細書に記載されたものと同様の異なるステップ又はステップの組み合わせを含み得ることを企図している。さらに、「ステップ」及び/又は「ブロック」という用語は、本明細書では、使用される方法の異なる要素を暗示するために使用され得るが、これらの用語は、個々のステップの順序が明示されていない限り、及びそれらが明示されている場合を除いて、本明細書で開示される様々なステップ間の特定の順序を示唆すると解釈されるべきではない。
前述の説明は、説明の目的で、本開示の完全な理解を提供するために特定の学術用語を使用した。しかしながら、本開示の方法及びシステムを実施するために特定の詳細が必要とされないことは、当業者には明らかであろう。したがって、本発明の特定の実施形態の前述の説明は、例示及び説明の目的で提示されている。それらは、網羅的であること、又は本発明を開示された正確な形態に限定することを意図していない。上記の教示を考慮して、多くの修正及び変更が可能である。例えば、顔のランドマーク及び信頼値は、任意の様式で決定することができ、視線ベクトルは、任意の回帰技法又は他の適切な手法を使用して決定することができる。さらに、本開示の実施形態は、任意の様式で決定及び特徴付けられる任意の3次元表面又は体積を使用して、それらと視線ベクトルとの交点を決定することを企図する。実施形態は、本発明の原理及びその実際の用途を最もよく説明するために選択及び説明されており、それにより、当業者が本開示の方法及びシステム並びに企図される特定の用途に適するように様々な修正が加えられた様々な実施形態を最適に利用できるようにする。さらに、様々な実施形態の異なる特徴は、開示されていてもいなくても、本開示によって企図されるさらなる実施形態を作成するために、混合及び適合又はそれ以外に組み合わせることができる。

Claims (26)

  1. 指定された領域上の視線方向を決定する方法であって、
    並列処理回路を使用して、被験者の視線方向であって、前記被験者の画像に対応する画像データから決定される1つ以上の特徴を入力として有する機械学習モデルの出力に従って決定される視線方向を決定することと、
    前記被験者の位置からの1つ以上の視野の空間モデルに対応する空間領域のセットを取得することと、
    前記視線方向から、前記被験者の視線が前記空間領域の少なくとも1つと交差するかどうかを決定することと、
    前記被験者の前記視線が前記空間領域の少なくとも1つと交差する場合、前記被験者の前記視線が交差する前記少なくとも1つの空間領域に基づいて動作を開始することと
    を含む、方法。
  2. 前記機械学習モデルが、回帰モデルをさらに含む、請求項1に記載の方法。
  3. 前記空間領域が、物体の表面に対応する3次元表面を含む、請求項1に記載の方法。
  4. 前記物体が車両である、請求項3に記載の方法。
  5. 前記空間領域が、前記車両の内部から見える3次元表面を含む、請求項4に記載の方法。
  6. 前記機械学習モデルが、入力として、
    前記被験者の1つ以上の顔のランドマーク点、
    前記被験者の頭の姿勢、
    前記被験者の前記画像の1つ以上の目のトリミング、
    前記被験者の少なくとも1つの視線方向、又は
    前記被験者の少なくとも1つの視線方向の信頼値
    のうちの少なくとも1つをさらに有する、請求項1に記載の方法。
  7. 視線起点を決定することをさらに含み、前記被験者の視線が前記空間領域の1つと交差するかどうかを決定することが、少なくとも前記視線方向及び前記視線起点に基づいて前記被験者の視線が前記空間領域の1つと交差するかどうかを決定することをさらに含む、請求項1に記載の方法。
  8. センサを使用して生成された前記画像データを受信することをさらに含む、請求項1に記載の方法。
  9. 前記開始することが、車両の動作を開始することをさらに含む、請求項1に記載の方法。
  10. 前記被験者の視線が前記空間領域の1つと交差するかどうかを決定することが、前記決定された視線方向を前記空間領域の少なくとも1つに投影することをさらに含む、請求項1に記載の方法。
  11. 前記空間領域のセットが、前記被験者の前記位置からの第1の視野に対応する第1の空間領域のセットであり、前記方法が、
    前記被験者の前記位置からの第2の視野に対応する第2の空間領域のセットを取得することと、
    前記決定された視線方向から、前記被験者の視線が前記第2の空間領域のセットの少なくとも1つと交差するかどうかを決定することと、
    前記被験者の前記視線が前記第2の空間領域のセットの少なくとも1つの領域と交差する場合、前記被験者の前記視線が交差する前記第2の空間領域のセットの前記少なくとも1つの領域に基づいて動作を開始することと
    を含む、請求項1に記載の方法。
  12. 前記空間モデルが、1つ以上の物体のコンピュータベースのモデル、前記1つ以上の物体の測定、前記1つ以上の物体の1つ以上の画像、又は前記1つ以上の物体の部分の位置を決定するように訓練された機械学習モデルのうちの1つに従って決定される、請求項1に記載の方法。
  13. 前記機械学習モデルの前記出力が、視線ベクトルをさらに含み、前記視線方向が、前記視線ベクトルに従ってさらに決定される、請求項1に記載の方法。
  14. 指定された領域上の視線方向を決定するシステムであって、
    メモリと、
    並列処理回路であって、
    被験者の視線方向であって、前記被験者の画像に対応する画像データから決定される1つ以上の特徴を入力として有する機械学習モデルの出力に従って決定される視線方向を決定し、
    前記被験者の位置からの1つ以上の視野の空間モデルに対応する空間領域のセットを取得し、
    前記視線方向から、前記被験者の視線が前記空間領域の少なくとも1つと交差するかどうかを決定し、かつ
    前記被験者の前記視線が前記空間領域の少なくとも1つと交差する場合、前記被験者の前記視線が交差する前記少なくとも1つの空間領域に基づいて動作を開始するように構成された、並列処理回路と
    を含む、システム。
  15. 前記機械学習モデルが、回帰モデルをさらに含む、請求項14に記載のシステム。
  16. 前記空間領域が、物体の表面に対応する3次元表面を含む、請求項14に記載のシステム。
  17. 前記物体が車両である、請求項16に記載のシステム。
  18. 前記空間領域が、前記車両の内部から見える3次元表面を含む、請求項17に記載のシステム。
  19. 前記機械学習モデルが、入力として、
    前記被験者の1つ以上の顔のランドマーク点、
    前記被験者の頭の姿勢、
    前記被験者の前記画像の1つ以上の目のトリミング、
    前記被験者の少なくとも1つの視線方向、又は
    前記被験者の少なくとも1つの視線方向の信頼値
    のうちの少なくとも1つをさらに有する、請求項14に記載のシステム。
  20. 前記並列処理回路が、視線起点を決定するようにさらに構成され、前記被験者の視線が前記空間領域の1つと交差するかどうかを決定することが、少なくとも前記視線方向及び前記視線起点に基づいて前記被験者の視線が前記空間領域の1つと交差するかどうかを決定することをさらに含む、請求項14に記載のシステム。
  21. 前記並列処理回路が、センサを使用して生成された前記画像データを受信するようにさらに構成される、請求項14に記載のシステム。
  22. 前記開始することが、車両の動作を開始することをさらに含む、請求項14に記載のシステム。
  23. 前記被験者の視線が前記空間領域の1つと交差するかどうかを決定することが、前記決定された視線方向を前記空間領域の少なくとも1つに投影することをさらに含む、請求項14に記載のシステム。
  24. 前記空間領域のセットが、前記被験者の前記位置からの第1の視野に対応する第1の空間領域のセットであり、前記並列処理回路が、
    前記被験者の前記位置からの第2の視野に対応する第2の空間領域のセットを取得し、
    前記決定された視線方向から、前記被験者の視線が前記第2の空間領域のセットの少なくとも1つと交差するかどうかを決定し、かつ
    前記被験者の前記視線が前記第2の空間領域のセットの少なくとも1つの領域と交差する場合、前記被験者の前記視線が交差する前記第2の空間領域のセットの前記少なくとも1つの領域に基づいて動作を開始するようにさらに構成される、請求項14に記載のシステム。
  25. 前記空間モデルが、1つ以上の物体のコンピュータベースのモデル、前記1つ以上の物体の測定、前記1つ以上の物体の1つ以上の画像、又は前記1つ以上の物体の部分の位置を決定するように訓練された機械学習モデルのうちの1つに従って決定される、請求項14に記載のシステム。
  26. 前記機械学習モデルの前記出力が、視線ベクトルをさらに含み、前記視線方向が、前記視線ベクトルに従ってさらに決定される、請求項14に記載のシステム。
JP2020178171A 2019-12-16 2020-10-23 空間モデルを使用したニューラルネットワークに基づく視線方向の決定 Pending JP2022039884A (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US201962948796P 2019-12-16 2019-12-16
US17/005,914 2020-08-28
US17/005,914 US11657263B2 (en) 2019-12-16 2020-08-28 Neural network based determination of gaze direction using spatial models

Publications (1)

Publication Number Publication Date
JP2022039884A true JP2022039884A (ja) 2022-03-10

Family

ID=76318117

Family Applications (2)

Application Number Title Priority Date Filing Date
JP2020178171A Pending JP2022039884A (ja) 2019-12-16 2020-10-23 空間モデルを使用したニューラルネットワークに基づく視線方向の決定
JP2020177812A Pending JP2021095117A (ja) 2019-12-16 2020-10-23 顔のランドマーク及び関連する信頼値を使用したニューラルネットワークベースの顔分析

Family Applications After (1)

Application Number Title Priority Date Filing Date
JP2020177812A Pending JP2021095117A (ja) 2019-12-16 2020-10-23 顔のランドマーク及び関連する信頼値を使用したニューラルネットワークベースの顔分析

Country Status (4)

Country Link
US (4) US11487968B2 (ja)
JP (2) JP2022039884A (ja)
CN (2) CN112989907A (ja)
DE (1) DE102021121558A1 (ja)

Families Citing this family (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10007269B1 (en) * 2017-06-23 2018-06-26 Uber Technologies, Inc. Collision-avoidance system for autonomous-capable vehicle
EP3793191A4 (en) * 2018-05-08 2021-04-14 Sony Semiconductor Solutions Corporation IMAGE PROCESSING DEVICE, MOTION MACHINE, METHOD AND PROGRAM
US11487968B2 (en) 2019-12-16 2022-11-01 Nvidia Corporation Neural network based facial analysis using facial landmarks and associated confidence values
US11636694B2 (en) * 2020-09-10 2023-04-25 Qualcomm Incorporated Video-based activity recognition
US20220108209A1 (en) * 2020-10-05 2022-04-07 Microsoft Technology Licensing, Llc Shared memory spaces in data and model parallelism
US11908208B2 (en) * 2020-10-20 2024-02-20 Toyota Motor Engineering & Manufacturing North America, Inc. Interface sharpness distraction mitigation method and system
US11987177B2 (en) * 2020-10-30 2024-05-21 J-QuAD DYNAMICS INC. Travel controller, method for controlling traveling, and computer readable storage medium storing travel control program
US11748845B2 (en) 2021-01-27 2023-09-05 Nvidia Corporation Machine learning techniques for enhancing video conferencing applications
CN115503609A (zh) * 2021-06-07 2022-12-23 英业达科技有限公司 侦测系统
CN113420678A (zh) * 2021-06-25 2021-09-21 阿波罗智联(北京)科技有限公司 视线追踪方法、装置、设备、存储介质以及计算机程序产品
CN113386694B (zh) * 2021-06-30 2022-07-08 重庆长安汽车股份有限公司 一种布置在汽车座舱内的定向发声系统及汽车
CN113556600B (zh) * 2021-07-13 2023-08-18 广州虎牙科技有限公司 基于时序信息的驱动控制方法、装置、电子设备和可读存储介质
CN113569785A (zh) * 2021-08-04 2021-10-29 上海汽车集团股份有限公司 驾驶状态感知方法及装置
US11960644B2 (en) * 2021-08-05 2024-04-16 Rockwell Collins, Inc. System and method for gaze and pose detection to anticipate operator intent
EP4130940A1 (en) * 2021-08-05 2023-02-08 Rockwell Collins, Inc. System and method for gaze and pose detection to anticipate operator intent
US11884270B2 (en) 2021-09-24 2024-01-30 Argo AI, LLC System and method for intent monitoring of other road actors
CN114049442A (zh) * 2021-11-19 2022-02-15 北京航空航天大学 三维人脸视线计算方法
WO2023249307A1 (ko) * 2022-06-23 2023-12-28 주식회사 노타 뉴럴 네트워크 모델을 이용하여 이미지 이벤트 분류를 결정하는 장치 및 방법
KR102603425B1 (ko) * 2022-06-23 2023-11-20 주식회사 노타 이미지의 헤드 포즈를 결정하는 장치 및 방법
KR102603424B1 (ko) * 2022-06-24 2023-11-20 주식회사 노타 뉴럴 네트워크 모델을 이용하여 이미지 이벤트 분류를 결정하는 방법, 장치 및 컴퓨터-판독가능 매체
US20240044661A1 (en) * 2022-08-08 2024-02-08 Here Global B.V. Method and apparatus for determining left turn indicators

Family Cites Families (24)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9043042B2 (en) * 2011-07-19 2015-05-26 GM Global Technology Operations LLC Method to map gaze position to information display in vehicle
US9262671B2 (en) * 2013-03-15 2016-02-16 Nito Inc. Systems, methods, and software for detecting an object in an image
GB2525655B (en) * 2014-05-01 2018-04-25 Jaguar Land Rover Ltd Dynamic lighting apparatus and method
US20160027218A1 (en) * 2014-07-25 2016-01-28 Tom Salter Multi-user gaze projection using head mounted display devices
US9740710B2 (en) * 2014-09-02 2017-08-22 Elekta Inc. Systems and methods for segmenting medical images based on anatomical landmark-based features
US9864430B2 (en) * 2015-01-09 2018-01-09 Microsoft Technology Licensing, Llc Gaze tracking via eye gaze model
US9983591B2 (en) * 2015-11-05 2018-05-29 Ford Global Technologies, Llc Autonomous driving at intersections based on perception data
US10089543B2 (en) * 2016-07-29 2018-10-02 Honda Motor Co., Ltd. System and method for detecting distraction and a downward vertical head pose in a vehicle
EP3496969A4 (en) * 2016-08-10 2020-09-16 Xevo Inc. PROCEDURE AND SYSTEM FOR PROVIDING INFORMATION ON COLLECTED AND STORED METADATA WITH A DERIVED ATTENTION MODEL
CN107871134A (zh) * 2016-09-23 2018-04-03 北京眼神科技有限公司 一种人脸检测方法及装置
WO2018083038A1 (en) * 2016-11-03 2018-05-11 Essilor International Method for determining an ophthalmic lens and associated ophthalmic lens
US10467488B2 (en) * 2016-11-21 2019-11-05 TeleLingo Method to analyze attention margin and to prevent inattentive and unsafe driving
US10896318B2 (en) * 2017-09-09 2021-01-19 Apple Inc. Occlusion detection for facial recognition processes
US11379928B2 (en) 2017-09-14 2022-07-05 Jpmorgan Cahse Bank, N.A. System and method for general ledger processing
CN107622240B (zh) * 2017-09-21 2023-10-13 百度在线网络技术(北京)有限公司 人脸检测方法和装置
CN107808147B (zh) * 2017-11-17 2020-11-27 厦门美图之家科技有限公司 一种基于实时人脸点跟踪的人脸置信度判别方法
CN108090470B (zh) * 2018-01-10 2020-06-23 浙江大华技术股份有限公司 一种人脸对齐方法及装置
CN108171218A (zh) * 2018-01-29 2018-06-15 深圳市唯特视科技有限公司 一种基于深度外观注视网络的视线估计方法
US10885698B2 (en) 2018-08-10 2021-01-05 Nvidia Corporation Method for programmable timeouts of tree traversal mechanisms in hardware
CN109583338A (zh) * 2018-11-19 2019-04-05 山东派蒙机电技术有限公司 基于深度融合神经网络的驾驶员视觉分散检测方法
CN109849788B (zh) * 2018-12-29 2021-07-27 北京七鑫易维信息技术有限公司 信息提供方法、装置及系统
CN109886153B (zh) * 2019-01-30 2021-11-02 四川电科维云信息技术有限公司 一种基于深度卷积神经网络的实时人脸检测方法
US11127164B2 (en) * 2019-10-04 2021-09-21 Mitsubishi Electric Research Laboratories, Inc. Image processing system and method for landmark location estimation with uncertainty
US11487968B2 (en) 2019-12-16 2022-11-01 Nvidia Corporation Neural network based facial analysis using facial landmarks and associated confidence values

Also Published As

Publication number Publication date
US11657263B2 (en) 2023-05-23
JP2021095117A (ja) 2021-06-24
CN112989907A (zh) 2021-06-18
US20210182625A1 (en) 2021-06-17
US11934955B2 (en) 2024-03-19
US20230244941A1 (en) 2023-08-03
CN112989913A (zh) 2021-06-18
US20210182609A1 (en) 2021-06-17
DE102021121558A1 (de) 2022-03-03
US20230078171A1 (en) 2023-03-16
US11487968B2 (en) 2022-11-01

Similar Documents

Publication Publication Date Title
US11657263B2 (en) Neural network based determination of gaze direction using spatial models
US11449709B2 (en) Domain restriction of neural networks through synthetic data pre-training
JP2022530091A (ja) 自律マシン・アプリケーションにおける交差点姿勢検出
JP2022014909A (ja) 歩行者横断危険性評価及び指向性警報のためのシステム及び方法
CN111133448A (zh) 使用安全到达时间控制自动驾驶车辆
US11841987B2 (en) Gaze determination using glare as input
CN112989914A (zh) 具有自适应加权输入的注视确定机器学习系统
US11590929B2 (en) Systems and methods for performing commands in a vehicle using speech and image recognition
US11790669B2 (en) Systems and methods for performing operations in a vehicle using gaze detection
JP2023031237A (ja) 自律マシン・アプリケーションのためのLiDARデータを使用する物体追跡
US11886634B2 (en) Personalized calibration functions for user gaze detection in autonomous driving applications
US20230341235A1 (en) Automatic graphical content recognition for vehicle applications
US20220340149A1 (en) End-to-end evaluation of perception systems for autonomous systems and applications
JP2023165383A (ja) 機械学習モデルのためのデータ・セット生成及び拡張
CN115344117A (zh) 适配的眼睛追踪机器学习模型引擎
CN115218888A (zh) 用于更新高清地图的系统和方法
JP2023087616A (ja) 自律システム及びアプリケーションのための画像コントラスト分析を使用した眩しさ軽減
JP2022104773A (ja) 拘束デバイスのローカリゼーション
US20240104941A1 (en) Sensor calibration using fiducial markers for in-cabin monitoring systems and applications
JP2023071168A (ja) 自律マシン・アプリケーションのための粒子ベース危険検出
WO2022226238A1 (en) End-to-end evaluation of perception systems for autonomous systems and applications
JP2023082647A (ja) 自律システム及びアプリケーションのためのカメラベースの入力を使用した深層学習ベースの動作領域検証

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20230915