CN112989907A - 使用空间模型的基于神经网络的注视方向确定 - Google Patents
使用空间模型的基于神经网络的注视方向确定 Download PDFInfo
- Publication number
- CN112989907A CN112989907A CN202011400019.7A CN202011400019A CN112989907A CN 112989907 A CN112989907 A CN 112989907A CN 202011400019 A CN202011400019 A CN 202011400019A CN 112989907 A CN112989907 A CN 112989907A
- Authority
- CN
- China
- Prior art keywords
- gaze
- subject
- vehicle
- spatial regions
- gaze direction
- 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
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V20/00—Scenes; Scene-specific elements
- G06V20/50—Context or environment of the image
- G06V20/59—Context or environment of the image inside of a vehicle, e.g. relating to seat occupancy, driver state or inner lighting conditions
- G06V20/597—Recognising the driver's state or behaviour, e.g. attention or drowsiness
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; 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 OR CALCULATING; 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 OR CALCULATING; 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
- G06F18/2193—Validation; Performance evaluation; Active pattern learning techniques based on specific statistical tests
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N20/00—Machine learning
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/045—Combinations of networks
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/0464—Convolutional networks [CNN, ConvNet]
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; 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
- G06N3/09—Supervised learning
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T17/00—Three dimensional [3D] modelling, e.g. data description of 3D objects
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; 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 OR CALCULATING; 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/77—Processing 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/774—Generating sets of training patterns; Bootstrap methods, e.g. bagging or boosting
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; 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 OR CALCULATING; COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/94—Hardware or software architectures specially adapted for image or video understanding
- G06V10/95—Hardware or software architectures specially adapted for image or video understanding structured as a network, e.g. client-server architectures
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V20/00—Scenes; Scene-specific elements
- G06V20/60—Type of objects
- G06V20/64—Three-dimensional objects
- G06V20/647—Three-dimensional objects by matching two-dimensional images to three-dimensional objects
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; 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/10—Human or animal bodies, e.g. vehicle occupants or pedestrians; Body parts, e.g. hands
- G06V40/16—Human faces, e.g. facial parts, sketches or expressions
- G06V40/168—Feature extraction; Face representation
- G06V40/171—Local features and components; Facial parts ; Occluding parts, e.g. glasses; Geometrical relationships
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; 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/10—Human or animal bodies, e.g. vehicle occupants or pedestrians; Body parts, e.g. hands
- G06V40/18—Eye characteristics, e.g. of the iris
- G06V40/193—Preprocessing; Feature extraction
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/30—Subject of image; Context of image processing
- G06T2207/30248—Vehicle exterior or interior
- G06T2207/30252—Vehicle exterior; Vicinity of vehicle
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/30—Subject of image; Context of image processing
- G06T2207/30248—Vehicle exterior or interior
- G06T2207/30268—Vehicle 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)
- Software Systems (AREA)
- Artificial Intelligence (AREA)
- Multimedia (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Computing Systems (AREA)
- Data Mining & Analysis (AREA)
- General Engineering & Computer Science (AREA)
- Life Sciences & Earth Sciences (AREA)
- Mathematical Physics (AREA)
- Medical Informatics (AREA)
- Oral & Maxillofacial Surgery (AREA)
- Biophysics (AREA)
- Biomedical Technology (AREA)
- Computational Linguistics (AREA)
- Molecular Biology (AREA)
- Databases & Information Systems (AREA)
- Human Computer Interaction (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Evolutionary Biology (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)
- Image Processing (AREA)
- Measurement Of The Respiration, Hearing Ability, Form, And Blood Characteristics Of Living Organisms (AREA)
- Controls And Circuits For Display Device (AREA)
Abstract
公开了使用空间模型的基于神经网络的注视方向确定。用于确定主体的注视方向并将该注视方向投影到任意三维几何体的特定区域上的系统和方法。在示例性实施例中,注视方向可以通过基于回归的机器学习模型来确定。所确定的注视方向随后被投影到可以表示任何期望的对象或系统的三维地图或一组表面上。地图可以表示任何三维布局或几何图形,无论是实际的还是虚拟的。因此,注视向量可用于确定任何环境中的注视对象。通过为每个环境检索不同的一组表面或区域,系统还可以容易且有效地适合在不同环境中使用。
Description
相关申请的交叉引用
本申请要求2019年12月16日提交的62/948,796号美国临时专利申请的权益,其公开的全部内容通过引用并入本文中。本申请还通过引用并入了2020年8月27日提交的17/004,252号美国专利申请的全部内容。
背景技术
近来卷积神经网络(CNN)已经被开发用于估计主体(subject)的注视方向。这种CNN可以例如从主体的输入图像确定主体正在看着的方向。这允许使用这种CNN的系统实时跟踪主体注视并相应地做出反应。
然而,常规的注视确定系统不是没有它们的缺点。特别地,虽然常规系统通常可以确定注视方向,但它们不能明确地查明主体实际正在看着什么。例如。虽然一些常规的车内注视确定系统可以确定驾驶员正向特定方向看,例如向前平视,偏向一侧等等,但这种系统不能确定驾驶员正注视着的特定对象或物品,例如仪表板、道路、收音机等等。
因此,本文描述了用于以更明确的方式进行基于机器学习的注视分析的系统和方法。本公开的实施例因此描述了用于更明确、有效和灵活的确定注视区域的系统和方法。在示例性实施例中,注视向量由基于回归的机器学习模型确定。所确定的注视向量随后被投影到可代表任何期望的对象或系统的表面的三维地图上。地图可以代表任何三维布局或几何体。以这种方式,注视向量可以用于在任何环境中确定主体注视的对象。进一步地,系统可以容易地并有效地被生成为确定正在任何系统中操作的主体的注视,并作为响应,采取任何动作。
在本公开的一个实施例中,机器学习模型被用于确定主体的注视方向。该模型可以具有从主体的图像数据确定的特征作为输入,其可以包括主体图像的相关部分,例如主体的眼部裁剪(eye crops)、一个或更多个面部特征点(landmark)等等。输入还可以包括从主体的图像确定的量,例如头部姿势、置信度值等等。作为响应,该模型生成主体的注视方向,作为其输出。
该系统还检索一组空间区域,即定义的区域或体(volume)。这些区域可以以任何方式被定义为与真实世界的空间对象对应。例如,该组空间区域可以对应于车辆的各个内表面的位置和取向(orientation)。随后该系统可以从注视方向和空间区域的位置确定主体的注视是否与一个或更多个空间区域相交。如果是,作为响应,该系统可以启动(initiate)操作。任何这种操作是预期的。例如,当主体是车辆的驾驶员并且空间区域对应于车辆的内表面时,该系统可以确定驾驶员正注视着对应于车辆娱乐控制台的表面,并且可以采取响应动作,例如激活其界面,打开/关闭显示器,调节音量等等。
该机器学习模型可以是适合于从主体的图像数据确定主体的注视方向的任何一种或更多种模型。作为一个示例,该机器学习模型可以使用回归模型来确定注视方向,作为其各种输入的函数。
如上所示,该组空间区域可以描述任何一组表面的各种位置和取向。因此,这些空间区域可以描述根据需要以任意方式布置和定向的任何三维表面。因此,这些表面可以对任何真实或虚拟世界环境或感兴趣的对象进行建模,并且本公开的系统因此可以用于确定主体当前正在注视的精确对象或他的或她的环境(即,其三维表面)的部分。例如,表面可以是从特定车辆内部可见的三维表面,其可以包括车辆各个窗户以及诸如特定仪器、组件或车辆的特征(例如收音机、空调系统、仪表盘显示器等等)之类的元件的表示。以这种方式,该系统可以确定驾驶员的注视是否是当前的代表特定组件的相交表面,并通过启动车辆的一些操作采取合适的动作。作为一个示例,该系统可以确定驾驶员当前正注视着空调转盘,并可以提示车辆以任意方式响应,例如通过变更其温度设置,打开/关闭空调等等。作为另一示例,该系统可以确定驾驶员当前注意力分散或睡着,并可以启动警告驾驶员的警报,可以启动紧急转向操纵来牵引汽车到路边,或可以启动刹车操纵。该空间区域可以以任何方式确定,例如通过取自一个或更多个对象的计算机辅助设计(CAD)或其他基于计算机的三维模型的区域选择,通过直接测量对象,通过从对象的图像确定该对象的点或区域的位置,或者通过训练为选择和确定对象的区域的位置和取向的机器学习模型。
如上所述,该一个或更多个机器学习模型可以具有用于确定主体注视方向的任何合适的输入。这些输入可以包括但不限于主体的面部特征点、主体的头部姿势信息、主体的一个或更多个眼睛注视方向、一个或更多个眼部裁剪,或者与这些输入中的任一个关联的任意置信度值中的任意一个或更多个。
还应当注意的是,由系统使用的图像数据可以是任何形式的图像数据,不论是对应于可见光图像或其他方式,并且可以从任何类型的传感器接收或由其生成。还应当注意的是,空间区域的离散集的使用产生模块化系统,其可以通过简单地增加一组新的空间区域来结合许多不同环境使用。即,对应于任意期望的环境的多个不同组的空间区域可以被存储。然后该系统可以检索合适组的空间区域,并用新的区域重复上述过程。以这种方式,该系统可以适应性地确定主体与任何期望的环境的交互。
附图说明
在结合附图考虑以下具体实施方式时本公开的上述和其它特征和优势将是显而易见的,其中在全文中相同的参考符号指代相同的部分,其中:
图1A-1C为示出根据本公开实施例的系统的操作的图片;
图2A为示出根据本公开实施例的用于确定注视方向并将该注视方向映射至任意三维几何体的区域的示例性机器学习系统的框图;
图2B为示出图2A的注视向量估计模型的进一步细节的框图;
图3为根据本公开实施例的构建使用的示意性电子计算系统的概括性实施例;
图4A为根据本公开一些实施例的示例自主车辆的图示;
图4B为根据本公开一些实施例的用于图4A的示例自主车辆的相机位置和视场的示例;
图4C为根据本公开一些实施例的用于图4A的示例自主车辆的示例系统架构的框图;
图4D为根据本公开一些实施例的用于基于云的服务器与图4A的示例自主车辆之间的通信的系统图;以及
图5为适合用于实现本公开一些实施例的示例计算设备的框图;
图6示出本公开实施例的机器学习模型的训练和部署;以及
图7为根据本公开实施例的示出用于确定注视方向并将该注视方向映射至任何三维几何体的区域的过程步骤的流程图。
具体实施方式
在一实施例中,本公开涉及用于确定主体的注视方向并将该注视方向投影至任意三维几何体的特定区域上的系统和方法。在示例性实施例中,注视方向可以由基于回归的机器学习模型确定。所确定的注视方向随后投影到三维地图或可以代表任何期望的对象或系统的一组表面上。地图可以代表任何三维布局或几何体,不论真实或虚拟。注视向量因此可以用于确定任何环境内的注视对象。系统通过检索每个环境的不同组的表面或区域也可以容易且有效地适合在不同环境内使用。
图1A-1C为示出根据本公开实施例的系统的操作的图片。在图1A中,图110是根据本公开一些实施例的具有指向注视娱乐控制台的乘员的车辆的内部视图。乘员116坐在车辆的驾驶员座位,同时暂时指示她的注视116(例如指示她的眼睛)朝向娱乐控制台119。内部相机传感器112安装至内部的顶部,而麦克风传感器114安装在娱乐控制台内。处理电路可以从相机传感器112接收图像数据,以确定乘员以及他们各自的对娱乐控制台的注视。
处理电路可以如本文所述基于指示乘员的眼睛注视的数据计算注视向量。在一些实施例中,并行处理电路可以实现机器学习模型(例如神经网络),以诸如按本文描述计算注视向量。注视向量可以是三维空间内具有在乘员117的眼睛处的一个交点和在娱乐控制台119的表面上的点处的第二个交点的直线。
处理电路可以确定注视向量和娱乐控制台119之间的交点。特别地,处理电路可以从存储器检索存储的表示三维空间内对应于车辆内部各个表面的区域的一组空间坐标。这些区域中的一个确定车辆内娱乐控制台119的取向和位置的轮廓。在该示例中,处理电路使注视向量从其确定的起点(例如驾驶员117的眼睛的三维位置)延伸到与对应于娱乐控制台119的区域相交。
一旦确定注视向量和娱乐控制台119相交,处理电路就可以使得在车辆内执行操作。该操作可以由车辆的一个或更多个硬件组件执行。例如,当相交被确定为位于娱乐控制台119时,车辆配置有能够提供与娱乐控制台119相关的具体操作的各种硬件组件。
图1B图示了根据本公开一些实施例的示出响应于驾驶员正注视娱乐控制台119的确定执行车辆操作的图示120。处理电路在确定驾驶员正注视娱乐控制台119后,将指令发送至娱乐控制台119,以将模式从“睡眠”切换至“使用中”。娱乐控制台的使用中模式为屏幕提供增强的亮度122,其可以提供乘员对具体操作的更远的查询或请求的允许。例如,现在具有使用中亮度和UI的娱乐控制台响应于接收特定无线电台来进行调台。因此,系统一识别到驾驶员注视娱乐控制台119就变更娱乐控制台119的操作模式。以这种方式,系统可以使用注视作为多模式系统(例如虚拟或数字个人助理、对话用户界面和其它类似界面)的操作触发或“唤醒词”。
在一些实施例中,处理电路可以从车辆内的传感器接收来自乘员的其它数据。例如,内部相机112可以接收乘员的嘴唇活动。嘴唇活动可以转换为文本信息(例如嘴唇活动处理可以提供由乘员说出的文本信息)。在一些实施例中,另一数据可以是由车辆内部的麦克风传感器114接收的音频数据。处理电路可以确定与另一数据相关的服务操作。例如,处理电路可以确定乘员声明“增加高音至4级”。处理电路将确定娱乐控制台内相应的操作为增加音频/视频播放的高音。处理电路随后可以使在车辆内执行操作。
本公开的实施例考虑了在多个上下文中针对多个角色(actor)并行执行的处理和操作。例如,内部相机200可以在预定义的兴趣点(例如,相机)处检测来自车辆的乘员的注视活动,并且将检测到的注视活动与对应于乘员的嘴唇活动和/或音频数据相关。在这种情况下,处理电路可以基于所确定的注视活动的来源为每个乘员保持单独的上下文流。这样的个体上下文流可以是定时的或半永久的。即,尽管上下文流被与其他上下文流相对应的活动或来自其他车辆乘员的多模式活动所打断或以其他方式变得不连续,但是上下文流可以被保持。在确定上下文相同的情况下,诸如本公开所设想的对话系统并入了来自不同乘员的音频数据以执行相同的服务操作。因此,本公开的实施例考虑了用户输入检测的多种模式(例如,视觉和语音)的组合,以实现用于会话人工智能操作的对话系统,并在车厢的上下文内在对话系统中保持多个单独的上下文。本公开的实施例还预期其他设置内的应用。例如,视觉信息(例如但不限于:注视/身体姿势检测,注视/身体姿势映射和/或对象检测中的任何或全部)可以与语音信息(例如但不限于:自动语音识别或自然语言处理)组合以在零售商店、营业所、医疗机构等上下文中执行机器学习辅助的操作。传感器融合与多上下文系统的结合的应用通过使用可修改/可定制的用例图提供给其它用例。本公开的实施例还考虑了反馈机制,以在确定他或她的注视与特定空间区域相交时通知主体。例如,当系统确定驾驶员注视该组件时,可以在特定车辆组件处产生视觉、触觉或其他反馈。例如,这种反馈可以进一步将他或她可能采取的动作告知驾驶员。
图1C示出了根据本公开的一些实施例的示出了用户动作的多上下文分析的图130。在指示娱乐控制台119将模式从“睡眠”切换到“使用中”之后,处理电路可以进一步从相机112接收无声地陈述或低语单词“转向抬头显示器”的乘员116的相机传感器信息。处理电路提供对无声/低语单词的视频和/或图片帧的视觉处理,以确定所使用的特定单词。乘员可能例如已经作口型或低语说出关于不唤醒在车辆后座上睡觉的另一乘员的单词。该系统基于乘员的注视方向和随后确定的单词,使娱乐控制台的用户界面投射在挡风玻璃132上。
图2A是示出用于确定注视方向并将该注视方向映射到任何三维几何体的区域的示例性机器学习系统的框图。该系统包括相机200、面部检测模块210、注视向量估计模块220,面部特征点检测230和注视起点估计240模块以及映射模块250。相机200捕获诸如人的、其注视方向将被确定的主体的图像。相机200将来自捕获的图像的图像数据发送到面部检测模块210,面部检测模块210在图像中检测主体的面部。面部检测模块210可以是能够使用任何方法或过程在图像内定位主体面部的任何软件模块或指令集,并且可以类似于如上所述的图2A的面部检测模块210。图2A的系统可以在诸如计算设备300的任何计算设备上实现并由其执行。
可以裁剪由该面部检测模块210检测到的面部,并将裁剪后的面部图像发送到注视向量估计模块220。可以通过在来自相机200的图像中定位主体的面部并相应地裁剪图像来确定面部裁剪。面部定位可以以任何方式执行,例如通过已知的基于计算机视觉的面部检测过程,包括上述基于非神经网络的技术、基于神经网络的面部识别方法等等中的任何一种。
注视向量估计模块220可以实现能够从主体的面部的输入图像确定主体的注视方向的任何一个或更多个机器学习模型。在一个示例性实施例中,注视向量估计模块220实现一种回归模型,该回归模型如下文进一步描述的从输入的注视相关变量估计方向向量值。注视向量估计模块220可以实现可以被配置为从任何输入变量中确定注视向量的任何合适的一个或更多个回归模型,例如基于DNN的线性回归模型、统计回归模型、梯度提升模型等等。
输入的面部裁剪也被输入到面部特征点检测模块230,该模块从主体面部的输入图像确定面部特征点。面部特征点模块230可以实现任何机器学习网络,例如,能够从面部的输入图像确定面部特征点的任何一个或更多个机器学习模型。模块230除了利用作为面部形状和外貌信息的函数确定特征点位置的全局形状模型、生成式网络、CNN和基于回归的模型之外,还可以包括根据整体方法构建的用于表示全局的面部外貌和形状信息的机器学习模型,根据构建局部外观模型的约束局部模型方法构建的模型。许多这样的模型是已知的,并且本公开的实施例考虑使用任何一个或更多个这样的模型或任何其他合适的模型或方法,以从面部的输入图像确定面部特征点。可以使用适合于从面部的输入图像确定面部特征点的任何架构和方法来构建模型。例如,可以使用任何卷积核和适合于提取面部特的池化层来构造基于CNN的面部特征点网络,用于确定相应特征点。
然后,由面部特征点检测模块230输出的面部特征点被发送到注视起点估计模块240,注视起点估计模块240从其确定注视方向向量的起点。注视起点估计模块240可以实现任何机器学习网络,例如,能够从面部特征点的输入集确定注视起点的任何一个或更多个机器学习模型。这样的网络可以包括CNN、分类模型、回归模型等等。
然后,通过将注视向量从其起点映射到一组三维区域上,将估计的注视向量及其起点输入到映射模块250,该模块确定主体正在看的三维区域。映射模块250例如在存储器408中存储该组三维区域,该三维区域描述了一组三维表面,并实现了一映射例程,该例程从其起点投影确定的注视向量以确定其是否与一个表面相交。然后将相交的表面(如果有的话)作为输出注视区域或主体当前正在看的三维表面输出。可以将描述该组三维区域的数据输入到映射模块250,并存储在映射模块250中或由映射模块250访问。以这种方式,可以将描述任何一个或更多个对象的任何一组三维区域输入到映射模块250中,映射模块250可以确定投影的注视向量与任何存储的三维区域的交点。这允许图2A的系统确定相对于表示任何一个或更多个对象的任何三维区域的注视方向。此外,系统无需针对每个不同的对象重新训练其机器学习模型。而是,可以简单地使一组新的三维区域可用于映射模块250,并且模块250可以确定注视方向与这些新的三维区域的交点而无需重新训练其机器学习模型。
三维区域可以是以任何方式确定的任何三维表示。例如,可以通过直接测量一个或更多个对象的各个点的空间位置来确定三维区域。三维区域也可以通过适配包含对象的各个位置的位置信息的一个或更多对象的CAD模型或其他基于计算机的三维模型来确定。这种方法适用于复杂的三维几何形状,例如车辆内部,这些几何形状直接测量很难或繁琐。另一种方法是使用能够传递位置信息的一个或更多个传感器,例如图像传感器、距离或位置传感器等等,来确定对象的点或区域的位置。例如,传感器可以捕获该对象的图像(具有任何波长,包括可见光图像、红外图像等),并且可以以任何方式从中确定对象的点或区域的位置。另一种方法采用经过训练以根据输入(例如对象的图像)选择和确定对象的区域的位置和方向的一种或更多种已知的机器学习模型。
图2B是示出了注视向量估计模块220的更多细节的框图。在一个实施例中,注视向量估计模块220包括实现如上所述的回归模型的自适应推理融合模块280。回归模型将描述主体头部姿势的一组面部特征点,与该面部特征点相对应的一组置信度值,左眼注视方向,右眼注视方向以及每个眼注视方向的对应置信度值作为输入变量。如上所述,然后根据回归方案输出注视方向。面部特征点和相关联的置信度值可以根据任何合适的方法或系统确定。
所示的眼睛注视网络260、270将主体的左眼和右眼的裁剪作为输入,并输出每只眼睛的注视方向的估计。眼部裁剪可以通过在来自相机200的图像中定位主体的眼睛并相应地裁剪图像来确定。眼睛定位可以以任何方式进行,例如通过已知的基于计算机视觉的眼睛检测过程,包括以上基于非神经网络的技术、基于神经网络的眼睛识别方法等中的任何一种。根据这些过程的眼睛定位可以生成与已经正确识别眼睛的确定程度相对应的置信度值,并且这些置信度值也可以输入到自适应推理融合模块。眼睛注视网络260、270可以是能够从输入的眼部裁剪确定注视的任何网络。
自适应推理融合模块280可以实现如上所述的任何适合用于确定注视向量的回归模型。然后,从自适应推理融合模块280输出的注视向量被发送到注视区域映射模块250,以将注视向量映射到三维几何体上。可以看出,任何三维几何体或一组表面可以被存储以供计算系统300使用。因此,图2A和图2B的系统可以确定主体的注视与任何一组表面的交点。因此,本公开的实施例允许用于在任何环境中确定主体的注视区域的有效且模块化的方法。通过将任何环境表征为一组三维表面并将这些表面存储在例如存储器408中,图2A和图2B的系统可以随时确定环境的哪个部分占据主体的注意力。如果主体改变了他或她的环境,则可以通过输入新环境的表面以供图2A和图2B的系统使用来确定与该新环境的任何交互。
该系统可以应用于任何环境。作为一个示例,环境可以是车辆的车厢,并且图2A和图2B的系统可以用于确定驾驶员当前正在将他或她的注意力引向的车辆的部分或区域。在该示例中,上述相机200可以被安装在车辆中以捕获车辆乘员的面部的图像。本公开的实施例可以确定车辆乘员的注视的注视向量和起点。车厢的相关部分可以被识别并且表征为三维表面,如图2A所示。这些表面可以包括,例如,左右前挡风玻璃、左右外部(例如,侧窗)、车辆的信息集群和车辆的娱乐中心。如上所述,图2A和图2B的系统随后可以确定所确定的注视向量与这些表面中的哪个(如果有的话)相交,并据此采取一个或更多个动作。例如,在确定车辆乘员是车辆的驾驶员并且确定驾驶员正朝着信息集群看时,车辆可以将某些重要信息或警告投射到信息集群上,或者突出显示某些读数或指示器。作为另一示例,在确定驾驶员已经在看左前挡风玻璃以外的区域超过阈值时间量时,车辆可以向驾驶员发出警告以将注意力集中在道路上。本公开的实施例预期响应于所确定的注视区域而启动的任何动作。
图3是本公开的实施例的一个示例性注视确定系统的框图表示。在此,计算设备300与相机310和注视辅助系统320两者电子通信,计算设备300可以是包含能够执行本公开的实施例的注视确定和映射操作的处理电路的任何电子计算设备。在操作中,可以对应于图2A的相机200的相机310捕获并发送主体的图像到计算设备300,该计算设备300随后实现例如图2A至图2B的机器学习模型,从相机310的图像确定输出注视向量,并确定其与特定空间区域的交点。计算设备300将该交点信息发送到注视辅助系统320,注视辅助系统320作为响应采取动作或执行一个或更多个操作。
注视辅助系统320可以是能够基于其从计算设备300接收的空间区域交点信息来执行一个或更多个动作的任何系统,例如,启动与所相交的空间区域相对应的系统的操作。相机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”)可以包括但不限于乘用车,例如汽车,卡车,公共汽车,第一响应车辆,穿梭车,电动或机动自行车、摩托车、消防车、警车、救护车、船、建筑车辆、水下航行器、无人驾驶飞机和/或另一种类型的车辆(例如,无人驾驶和/或容纳一个或更多个乘客的车辆)。自主车辆通常按照美国运输部的一个部门——国家公路交通安全管理局(NHTSA)以及汽车工程师协会(SAE)“Taxonomy and Definitions for Terms Related to DrivingAutomation Systems for On-Road Motor Vehicles”(2018年6月15日发布的标准No.J3016-201806,2016年9月30日发布的标准No.J3016-201609,以及该标准的先前和未来的版本)定义的自动化级别进行描述。车辆400可能够实现符合自主驾驶级别的3级-5级中的一个或更多个的功能。例如,取决于实施例,车辆400可能够实现条件自动化(3级)、高自动化(4级)和/或全自动化(5级)。
车辆400可以包括诸如底盘、车身、车轮(例如2个、4个、6个、8个、18个等)、轮胎、车轴之类的组件以及车辆的其他组件。车辆400可以包括推进系统450,例如内燃机、混合动力发电厂、全电动发动机和/或另一种推进系统类型。推进系统450可以连接到可以包括变速器的车辆400的传动系以便实现车辆400的推进。可以响应于接收到来自油门/加速器452的信号而控制推进系统450。
可以包括方向盘的转向(steering)系统454可以用来在推进系统450操作时(例如在车辆运动时)使车辆400转向(例如沿着希望的路径或路线)。转向系统454可以接收来自转向执行器456的信号。对于全自动(5级)功能而言,方向盘可以是可选的。
制动传感器系统446可以用来响应于接收到来自制动执行器448和/或制动传感器的信号而操作车辆制动器。
可以包括一个或更多个CPU、片上系统(SoC)404(图4C)和/或GPU的控制器436可以向车辆400的一个或更多个组件和/或系统提供(例如表示命令的)信号。例如,一个或更多个控制器可以发送经由一个或更多个制动执行器448操作车辆制动器、经由一个或更多个转向执行器456操作转向系统454、经由一个或更多个油门/加速器452操作推进系统450的信号。一个或更多个控制器436可以包括一个或更多个板载(例如集成)计算设备(例如超级计算机),所述计算设备处理传感器信号并且输出操作命令(例如表示命令的信号),以实现自主驾驶和/或辅助人类驾驶员驾驶车辆400。一个或更多个控制器436可以包括用于自主驾驶功能的第一控制器436、用于功能性安全功能的第二控制器436、用于人工智能功能(例如计算机视觉)的第三控制器436、用于信息娱乐功能的第四控制器436、用于紧急情况下的冗余的第五控制器436和/或其他控制器。在一些示例中,单个控制器436可以处理上述功能中的两个或更多,两个或更多控制器436可以处理单个功能,和/或其任意组合。
一个或更多个控制器436可以响应于接收自一个或更多个传感器的传感器数据(例如传感器输入),提供用于控制车辆400的一个或更多个组件和/或系统的信号。传感器数据可以接收自例如且不限于全球导航卫星系统传感器458(例如全球定位系统传感器)、RADAR传感器460、超声传感器462、LIDAR传感器464、惯性测量单元(IMU)传感器466(例如加速度计、陀螺仪、磁罗盘、磁力计等)、麦克风496、立体相机468、广角相机470(例如鱼眼相机)、红外相机472、环绕相机474(例如360度相机)、远程和/或中程相机498、速度传感器444(例如用于测量车辆400的速率)、振动传感器442、转向传感器440、制动传感器446(例如作为制动传感器系统446的部分)和/或其他传感器类型。
控制器436中的一个或更多个可以接收来自车辆400的仪表组432的输入(例如由输入数据表示),并且经由人机接口(HMI)显示器434、听觉信号器、扬声器和/或经由车辆400的其他组件提供输出(例如输出数据、显示数据等表示的)。这些输出可以包括诸如车辆速度、速率、时间、地图数据(例如图4C的HD地图422)、位置数据(例如,车辆400例如在地图上的位置)、方向、其他车辆的位置(例如占用网格)之类的信息,如控制器436所感知的关于对象和对象状态的信息等等。例如,HMI显示器434可以显示关于一个或更多个对象(例如街道指示牌、警示牌、交通灯变化等)的存在性的信息和/或关于车辆已经做出、正在做出或者将会做出的驾驶机动的信息(例如现在变道、两英里后离开34B,等等)。
车辆400进一步包括网络接口424,其可以使用一个或更多个无线天线426和/或调制解调器通过一个或更多个网络通信。例如,网络接口424可能够通过LTE、WCDMA、UMTS、GSM、CDMA2000等通信。一个或更多个无线天线426也可以使用诸如蓝牙、蓝牙LE、Z波、ZigBee等等之类的一个或更多个局域网和/或诸如LoRaWAN、SigFox等等之类的一个或更多个低功率广域网(LPWAN)实现环境中的对象(例如车辆、移动设备等等)之间的通信。
图4B为根据本公开一些实施例的用于图4A的示例自主车辆400的相机位置和视场的示例。相机和各自的视场是一个示例实施例,并不意图是限制性的。例如,可以包括附加的和/或可替换的相机,和/或这些相机可以位于车辆400上的不同位置。
用于相机的相机类型可以包括但不限于可以适于与车辆400的组件和/或系统一起使用的数字相机。所述相机可以在汽车安全完整性级别(ASIL)B下和/或在另一个ASIL下操作。相机类型可以具有任何图像捕获率,例如60帧每秒(fps)、120fps、240fps等等,这取决于实施例。相机可能够使用滚动快门、全局快门、另一种类型的快门或者其组合。在一些示例中,滤色器阵列可以包括红白白白(RCCC)滤色器阵列、红白白蓝(RCCB)滤色器阵列、红蓝绿白(RBGC)滤色器阵列、Foveon X3滤色器阵列、拜耳传感器(RGGB)滤色器阵列、单色传感器滤色器阵列和/或另一种类型的滤色器阵列。在一些实施例中,诸如具有RCCC、RCCB和/或RBGC滤色器阵列的相机之类的清晰像素相机可以用在提高光敏感度的努力中。
在一些示例中,所述相机中的一个或更多个可以用来执行高级驾驶员辅助系统(ADAS)功能(例如作为冗余或故障安全设计的部分)。例如,可以安装多功能单目相机以提供包括车道偏离警告、交通指示牌辅助和智能前照灯控制在内的功能。所述相机中的一个或更多个(例如全部相机)可以同时记录和提供图像数据(例如视频)。
所述相机中的一个或更多个可以安装在诸如定制设计的(3-D打印的)组件之类的安装组件中,以便切断可能干扰相机的图像数据捕获能力的杂散光和来自汽车内的反射(例如挡风玻璃镜中反射的来自仪表板的反射)。关于翼镜安装组件,翼镜组件可以是定制3-D打印的,使得相机安装板匹配翼镜的形状。在一些示例中,一个或更多个相机可以集成到翼镜中。对于侧视相机而言,一个或更多个相机也可以集成到驾驶室每个拐角的四根柱子内。
具有包括车辆400前面的环境部分的视场的相机(例如前置相机)可以用于环视,以帮助识别前向路径和障碍,以及在一个或更多个控制器436和/或控制SoC的帮助下辅助提供对于生成占用网格和/或确定优选车辆路径至关重要的信息。前置相机可以用来执行许多与LIDAR相同的ADAS功能,包括紧急制动、行人检测和碰撞避免。前置相机也可以用于ADAS功能和系统,包括车道偏离警告(“LDW”)、自主巡航控制(“ACC”),和/或诸如交通指示牌识别之类的其他功能。
各种各样的相机可以用于前置配置中,包括例如包括CMOS(互补金属氧化物半导体)彩色成像仪在内的单目相机平台。另一个示例可以是广角相机470,其可以用来感知从周边进入视野的对象(例如行人、十字路口交通或者自行车)。尽管图4B中图示出仅仅一个广角相机,但是在车辆400上可以存在任意数量的广角相机470。此外,远程相机498(例如长视立体相机对)可以用于基于深度的对象检测,尤其是用于尚未针对其训练神经网络的对象。远程相机498也可以用于对象检测和分类以及基本的对象跟踪。
一个或更多个立体相机468也可以包括在前置配置中。立体相机468可以包括集成控制单元,该单元包括可扩展处理单元,其可以提供在单个芯片上具有集成的CAN或以太网接口的多核微处理器和可编程逻辑(例如,FPGA)。这样的单元可以用来生成车辆环境的3-D地图,包括针对图像中的所有点的距离估计。可替代的立体相机468可以包括紧凑型立体视觉传感器,其可以包括两个相机镜头(左右各一个)以及可以测量从车辆到目标对象的距离并且使用生成的信息(例如元数据)激活自主紧急制动和车道偏离警告功能的图像处理芯片。除了本文所描述的那些之外或者可替代地,可以使用其他类型的立体相机468。
具有包括车辆400的侧面的环境部分的视场的相机(例如侧视相机)可以用于环视,提供用来创建和更新占用网格以及生成侧撞击碰撞警告的信息。例如,环绕相机474(例如如图4B中所示的四个环绕相机474)可以围绕车辆400布置。环绕相机474可以包括广角相机470、鱼眼相机、360度相机和/或类似物。例如,四个鱼眼相机可以置于车辆的前面、后面和侧面。在一种可替代的布置中,车辆可以使用三个环绕相机474(例如左边、右边和后面),并且可以利用一个或更多个其他相机(例如前向相机)作为第四环视相机。
具有包括车辆400的后面的环境部分的视场的相机(例如后视相机)可以用于辅助停车、环视、后面碰撞警告以及创建和更新占用网格。可以使用各种各样的相机,包括但不限于也适合作为如本文所描述的前置相机(例如远程和/或中程相机498、立体相机468、红外相机472等等)的相机。
具有包括车辆400的内部或车舱的各部分的视野的相机可以用于监视驾驶员、乘客或车舱中的对象的一种或更多种状态。可以使用任何类型的相机,包括但不限于车舱相机441,其可以是本文描述的任何类型的相机,并且可以放置在提供车舱或其内部的视野的车辆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总线之外或者可替代地,可以使用FlexRay和/或以太网。此外,尽管用单条线来表示总线402,但是这并不意图是限制性的。例如,可以存在任意数量的总线402,其可以包括一条或更多条CAN总线、一条或更多条FlexRay总线、一条或更多条以太网总线和/或一条或更多条使用不同协议的其他类型的总线。在一些示例中,两条或更多总线402可以用来执行不同的功能,和/或可以用于冗余。例如,第一总线402可以用于碰撞避免功能,并且第二总线402可以用于驱动控制。在任何示例中,每条总线402可以与车辆400的任何组件通信,并且两条或更多总线402可以与相同的组件通信。在一些示例中,车辆内的每个SoC 404、每个控制器436和/或每个计算机可以有权访问相同的输入数据(例如来自车辆400的传感器的输入),并且可以连接到诸如CAN总线之类的公共总线。
车辆400可以包括一个或更多个控制器436,例如本文关于图4A所描述的那些控制器。控制器436可以用于各种各样的功能。控制器436可以耦合到车辆400的任何其他不同的组件和系统,并且可以用于车辆400的控制、车辆400的人工智能、用于车辆400的信息娱乐和/或类似物。
车辆400可以包括一个或更多个片上系统(SoC)404。SoC 404可以包括CPU 406、GPU 408、处理器410、高速缓存412、加速器414、数据存储416和/或未图示出的其他组件和特征。在各种各样的平台和系统中,SoC 404可以用来控制车辆400。例如,一个或更多个SoC404可以在系统(例如车辆400的系统)中与HD地图422结合,所述HD地图可以经由网络接口424从一个或更多个服务器(例如图4D的一个或更多个服务器478)获得地图刷新和/或更新。
CPU 406可以包括CPU簇或者CPU复合体(可替代地,本文称为“CCPLEX”)。CPU 406可以包括多个核和/或L2高速缓存。例如,在一些实施例中,CPU 406在一致性多处理器配置中可以包括八个核。在一些实施例中,CPU 406可以包括四个双核簇,其中每个簇具有专用的L2高速缓存(例如2MB L2高速缓存)。CPU 406(例如CCPLEX)可以被配置为支持同时簇操作,使得CPU 406的簇的任意组合能够在任何给定时间是活动的。
CPU 406可以实现包括以下特征中的一个或更多个的功率管理能力:各硬件块在空闲时可以自动进行时钟门控以节省动态功率;由于WFI/WFE指令的执行,每个核时钟可以在该核不主动地执行指令时进行门控;每个核可以独立地进行功率门控;当所有核都进行时钟门控或者功率门控时,可以独立地对每个核簇进行时钟门控;和/或当所有核都进行功率门控时,可以独立地对每个核簇进行功率门控。CPU 406可以进一步实现用于管理功率状态的增强算法,其中指定允许的功率状态和期望的唤醒时间,并且硬件/微代码为所述核、簇和CCPLEX确定要进入的最佳的功率状态。处理核可以在软件中支持简化的功率状态进入序列,该工作被卸载到微代码。
GPU 408可以包括集成的GPU(可替代地,本文称为“iGPU”)。GPU 408可以是可编程的,并且对于并行工作负载而言是高效的。在一些示例中,GPU 408可以使用增强张量指令集。GPU 408可以包括一个或更多个流式微处理器,其中每个流式微处理器可以包括L1高速缓存(例如具有至少96KB存储能力的L1高速缓存),并且这些流式微处理器中的两个或更多可以共享L2高速缓存(例如具有512KB存储能力的L2高速缓存)。在一些实施例中,GPU 408可以包括至少八个流式微处理器。GPU 408可以使用基于计算机的应用编程接口(API)。此外,GPU 408可以使用一个或更多个并行计算平台和/或编程模型(例如NVIDIA的CUDA)。
在汽车和嵌入式使用的情况下,可以对GPU 408进行功率优化以实现最佳性能。例如,可以在鳍式场效应晶体管(FinFET)上制造GPU 408。然而,这并不意图是限制性的,并且GPU 408可以使用其他半导体制造工艺来制造。每个流式微处理器可以合并划分成多个块的若干混合精度处理核。例如且非限制性地,可以将64个PF32核和32个PF64核划分成四个处理块。在这样的示例中,每个处理块可以分配16个FP32核、8个FP64核、16个INT32核、用于深层学习矩阵算术的两个混合精度NVIDIA张量核、L0指令高速缓存、线程束(warp)调度器、分派单元和/或64KB寄存器文件。此外,流式微处理器可以包括独立的并行整数和浮点数据路径,以利用计算和寻址计算的混合提供工作负载的高效执行。流式微处理器可以包括独立线程调度能力,以允许实现并行线程之间的更细粒度的同步和协作。流式微处理器可以包括组合的L1数据高速缓存和共享内存单元,以便在简化编程的同时提高性能。
GPU 408可以包括在一些示例中提供大约900GB/s的峰值内存带宽的高带宽内存(HBM)和/或16GB HBM2内存子系统。在一些示例中,除了HBM内存之外或者可替代地,可以使用同步图形随机存取存储器(SGRAM),例如第五代图形双倍数据速率同步随机存取存储器(GDDR5)。
GPU 408可以包括统一内存技术,其包括访问计数器以允许内存页面更精确地迁移到最频繁地访问它们的处理器,从而提高处理器之间共享的内存范围的效率。在一些示例中,地址转换服务(ATS)支持可以用来允许GPU 408直接访问CPU 406页表。在这样的示例中,当GPU 408内存管理单元(MMU)经历遗漏时,可以将地址转换请求传输至CPU 406。作为响应,CPU 406可以在其页表中寻找用于地址的虚拟-物理映射,并且将转换传输回GPU408。这样,统一内存技术可以允许单个统一虚拟地址空间用于CPU 406和GPU 408二者的内存,从而简化了GPU 408编程和将应用程序移(port)到GPU 408。
此外,GPU 408可以包括访问计数器,其可以跟踪GPU 408访问其他处理器的内存的频率。访问计数器可以帮助确保内存页面移至最频繁地访问这些页面的处理器的物理内存。
SoC 404可以包括任意数量的高速缓存412,包括本文描述的那些高速缓存。例如,高速缓存412可以包括CPU 406和GPU 408二者可用的L3高速缓存(例如,其连接到CPU 406和GPU 408二者)。高速缓存412可以包括回写高速缓存,其可以例如通过使用高速缓存一致性协议(例如MEI、MESI、MSI等)跟踪行的状态。取决于实施例,L3高速缓存可以包括4MB或者更多,但是也可以使用更小的高速缓存大小。
SoC 404可以包括算术逻辑单元(ALU),该算术逻辑单元可以在执行关于车辆400的各种任务或操作中的任何一个的处理(例如处理DNN)时被利用。另外,SoC 404可以包括浮点单元(FPU)或其他数学协处理器或数值协处理器类型,用于在系统内执行数学运算。例如,SoC 104可包括集成为CPU 406和/或GPU 408内的执行单元的一个或更多个FPU。
SoC 404可以包括一个或更多个加速器414(例如硬件加速器、软件加速器或者其组合)。例如,SoC 404可以包括硬件加速簇,其可以包括优化的硬件加速器和/或大型片上内存。该大型片上内存(例如4MB SRAM)可以使得硬件加速簇能够加速神经网络和其他计算。硬件加速簇可以用来补充GPU 408,并且卸载GPU 408的一些任务(例如释放GPU 408的更多周期以用于执行其他任务)。作为一个示例,加速器414可以用于足够稳定以易于控制加速的有针对性的工作负载(例如感知、卷积神经网络(CNN)等等)。当在本文中使用时,术语“CNN”可以包括所有类型的CNN,包括基于区域的或者区域卷积神经网络(RCNN)和快速RCNN(例如用于对象检测)。
加速器414(例如硬件加速簇)可以包括深度学习加速器(DLA)。DLA可以包括可以被配置成为深度学习应用和推理提供额外的每秒10万亿次操作的一个或更多个张量处理单元(TPU)。TPU可以是被配置为执行图像处理功能(例如用于CNN、RCNN等)且针对执行图像处理功能而优化的加速器。DLA可以进一步针对特定的一组神经网络类型和浮点运算以及推理进行优化。DLA的设计可以比通用GPU提供每毫米更高的性能,并且远远超过CPU的性能。TPU可以执行若干功能,包括单实例卷积函数,支持例如用于特征和权重二者的INT8、INT16和FP16数据类型,以及后处理器功能。
DLA可以在处理的或者未处理的数据上针对各种各样的功能中的任何功能快速且高效地执行神经网络,尤其是CNN,例如且不限于:用于使用来自相机传感器的数据进行对象识别和检测的CNN;用于使用来自相机传感器的数据进行距离估计的CNN;用于使用来自麦克风的数据进行应急车辆检测和识别与检测的CNN;用于使用来自相机传感器的数据进行面部识别和车主识别的CNN;和/或用于安全和/或安全相关事件的CNN。
DLA可以执行GPU 408的任何功能,并且通过使用推理加速器,例如,设计者可以使DLA或GPU 408针对任何功能。例如,设计者可以将CNN的处理和浮点运算聚焦在DLA上,并且将其他功能留给GPU 408和/或其他加速器414。
加速器414(例如硬件加速簇)可以包括可编程视觉加速器(PVA),其在本文中可以可替代地称为计算机视觉加速器。PVA可以被设计和配置为加速用于高级驾驶员辅助系统(ADAS)、自主驾驶和/或增强现实(AR)和/或虚拟现实(VR)应用的计算机视觉算法。PVA可以提供性能与灵活性之间的平衡。例如,每个PVA可以包括例如且不限于任意数量的精简指令集计算机(RISC)核、直接内存访问(DMA)和/或任意数量的向量处理器。
RISC核可以与图像传感器(例如本文描述的任何相机的图像传感器)、图像信号处理器和/或类似物交互。这些RISC核中的每一个可以包括任意数量的内存。取决于实施例,RISC核可以使用若干协议中的任何协议。在一些示例中,RISC核可以执行实时操作系统(RTOS)。RISC核可以使用一个或更多个集成电路设备、专用集成电路(ASIC)和/或存储设备实现。例如,RISC核可以包括指令高速缓存和/或紧密耦合的RAM。
DMA可以使得PVA的组件能够独立于CPU 406访问系统内存。DMA可以支持用来向PVA提供优化的任意数量的特征,包括但不限于支持多维寻址和/或循环寻址。在一些示例中,DMA可以支持高达六个或更多维度的寻址,其可以包括块宽度、块高度、块深度、水平块步进、竖直块步进和/或深度步进。
向量处理器可以是可编程处理器,其可以被设计为高效且灵活地执行用于计算机视觉算法的编程并且提供信号处理能力。在一些示例中,PVA可以包括PVA核和两个向量处理子系统分区。PVA核可以包括处理器子系统、一个或更多个DMA引擎(例如两个DMA引擎)和/或其他外围设备。向量处理子系统可以作为PVA的主处理引擎而操作,并且可以包括向量处理单元(VPU)、指令高速缓存和/或向量内存(例如VMEM)。VPU核可以包括数字信号处理器,诸如例如单指令多数据(SIMD)、超长指令字(VLIW)数字信号处理器。SIMD和VLIW的组合可以增强吞吐量和速率。
向量处理器中的每一个可以包括指令高速缓存并且可以耦合到专用内存。结果,在一些示例中,向量处理器中的每一个可以被配置为独立于其他向量处理器执行。在其他示例中,包括在特定PVA中的向量处理器可以被配置为采用数据并行化。例如,在一些实施例中,包括在单个PVA中的多个向量处理器可以执行相同的计算机视觉算法,但是在图像的不同区域上执行。在其他示例中,包括在特定PVA中的向量处理器可以在相同的图像上同时执行不同的计算机视觉算法,或者甚至在序列图像或者图像的部分上执行不同的算法。除其他的以外,任意数量的PVA可以包括在硬件加速簇中,并且任意数量的向量处理器可以包括在这些PVA中的每一个中。此外,PVA可以包括附加的纠错码(ECC)内存,以增强总体系统安全性。
加速器414(例如硬件加速簇)可以包括片上计算机视觉网络和SRAM,以提供用于加速器414的高带宽、低延迟SRAM。在一些示例中,片上内存可以包括由例如且不限于八个现场可配置的内存块组成的至少4MB SRAM,其可以由PVA和DLA二者访问。每对内存块可以包括高级外围总线(APB)接口、配置电路系统、控制器和复用器。可以使用任何类型的内存。PVA和DLA可以经由向PVA和DLA提供高速内存访问的主干(backbone)访问内存。主干可以包括(例如使用APB)将PVA和DLA互连到内存的片上计算机视觉网络。
片上计算机视觉网络可以包括在传输任何控制信号/地址/数据之前确定PVA和DLA二者都提供就绪且有效的信号的接口。这样的接口可以提供用于传输控制信号/地址/数据的单独相位和单独信道,以及用于连续数据传输的突发式通信。这种类型的接口可以符合ISO26262或者IEC 61508标准,但是也可以使用其他标准和协议。
在一些示例中,SoC 404可以包括例如在2018年8月10日提交的美国专利申请No.16/101,232中描述的实时光线追踪硬件加速器。该实时光线追踪硬件加速器可以用来快速且高效地确定(例如世界模型内的)对象的位置和范围,以便生成实时可视化仿真,以用于RADAR信号解释、用于声音传播合成和/或分析、用于SONAR系统仿真、用于一般波传播仿真、用于为了定位和/或其他功能的目的与LIDAR数据相比较和/或用于其他用途。在一些实施例中,一个或更多个树遍历单元(TTU)可用于执行一个或更多个与射线跟踪有关的操作。
加速器414(例如硬件加速器簇)具有广泛的自主驾驶用途。PVA可以是可编程视觉加速器,其可以用于ADAS和自主车辆中的关键处理阶段。PVA的能力是需要可预测处理、低功率和低延迟的算法域的良好匹配。换言之,PVA在半密集或者密集规则计算上,甚至在需要具有低延迟和低功率的可预测运行时间的小数据集上都表现良好。因此,在用于自主车辆的平台的背景下,PVA被设计为运行经典计算机视觉算法,因为它们在对象检测和整数数学运算方面很有效。
例如,根据该技术的一个实施例,PVA用来执行计算机立体视觉。在一些示例中,可以使用基于半全局匹配的算法,但是这并不意图是限制性的。许多用于3-5级自主驾驶的应用都需要即时运动估计/立体匹配(例如来自运动的结构、行人识别、车道检测等等)。PVA可以在来自两个单目相机的输入上执行计算机立体视觉功能。
在一些示例中,PVA可以用来执行密集的光流。例如,在发出下一个RADAR脉冲之前,PVA可以用于处理原始RADAR数据(例如使用4D快速傅立叶变换)以提供经处理的RADAR信号。在其他示例中,PVA用于飞行时间深度处理,其例如通过处理原始飞行时间数据以提供经处理的飞行时间数据。
DLA可以用来运行任何类型的网络以增强控制和驾驶安全性,包括例如输出用于每个对象检测的置信度度量的神经网络。这样的置信度值可以解释为概率,或者解释为提供每个检测与其他检测相比的相对“权重”。该置信度值使得系统能够做出关于哪些检测应当被认为是真阳性检测而不是假阳性检测的进一步决策。例如,系统可以为置信度设置阈值,并且仅仅将超过阈值的检测看作真阳性检测。在自动紧急制动(AEB)系统中,假阳性检测会使得车辆自动地执行紧急制动,这显然是不希望的。因此,只有最确信的检测才应当被认为是AEB的触发因素。DLA可以运行用于回归置信度值的神经网络。该神经网络可以将至少一些参数子集作为其输入,例如边界框维度,(例如从另一个子系统)获得的地平面估计,与车辆400取向、距离相关的惯性测量单元(IMU)传感器466输出,从神经网络和/或其他传感器(例如LIDAR传感器464或RADAR传感器460)获得的对象的3D位置估计等。
SoC 404可以包括一个或更多个数据存储416(例如内存)。数据存储416可以是SoC404的片上内存,其可以存储要在GPU和/或DLA上执行的神经网络。在一些示例中,为了冗余和安全,数据存储416可以容量足够大以存储神经网络的多个实例。数据存储416可以包括L2或L3高速缓存412。对数据存储416的引用可以包括对与如本文所描述的PVA、DLA和/或其他加速器414关联的内存的引用。
SoC 404可以包括一个或更多个处理器410(例如嵌入式处理器)。处理器410可以包括启动和功率管理处理器,其可以是用于处理启动功率和管理功能以及有关安全实施的专用处理器和子系统。启动和功率管理处理器可以是SoC 404启动序列的一部分,并且可以提供运行时间功率管理服务。启动功率和管理处理器可以提供时钟和电压编程、辅助系统低功率状态转换、SoC 404热和温度传感器管理和/或SoC 404功率状态管理。每个温度传感器可以实现为环形振荡器,其输出频率与温度成比例,并且SoC 404可以使用环形振荡器检测CPU 406、GPU 408和/或加速器414的温度。如果确定温度超过阈值,那么启动和功率管理处理器可以进入温度故障例程并且将SoC 404置于较低功率状态和/或将车辆400置于司机安全停车模式(例如使车辆400安全停车)。
处理器410可以进一步包括可以用作音频处理引擎的一组嵌入式处理器。音频处理引擎可以是一种音频子系统,其允许实现对于通过多个接口的多声道音频的完全硬件支持以及一系列广泛而灵活的音频I/O接口。在一些示例中,音频处理引擎是具有带有专用RAM的数字信号处理器的专用处理器核。
处理器410可以进一步包括始终在处理器上的引擎,其可以提供必要的硬件特征以支持低功率传感器管理和唤醒用例。该始终在处理器上的引擎可以包括处理器核、紧密耦合的RAM、支持外围设备(例如定时器和中断控制器)、各种I/O控制器外围设备和路由逻辑。
处理器410可以进一步包括安全簇引擎,其包括处理汽车应用的安全管理的专用处理器子系统。安全簇引擎可以包括两个或更多处理器核、紧密耦合的RAM、支持外围设备(例如定时器、中断控制器等等)和/或路由逻辑。在安全模式下,所述两个或更多核可以操作于锁步模式下,并且用作具有检测它们的操作之间的任何差异的比较逻辑的单核。
处理器410可以进一步包括实时相机引擎,其可以包括用于处理实时相机管理的专用处理器子系统。
处理器410可以进一步包括高动态范围信号处理器,其可以包括图像信号处理器,该图像信号处理器是一种硬件引擎,该硬件引擎是相机处理管线的部分。
处理器410可以包括可以是(例如微处理器上实现的)处理块的视频图像复合器,其实现视频回放应用程序产生用于播放器窗口的最终图像所需的视频后处理功能。视频图像复合器可以对广角相机470、环绕相机474和/或对驾驶室内监控相机传感器执行镜头畸变校正。驾驶室内监控相机传感器优选地由运行在高级SoC的另一个实例上的神经网络监控,被配置为识别驾驶室内事件并且相对应地做出响应。驾驶室内系统可以执行唇读,以激活移动电话服务并拨打电话、口述电子邮件、改变车辆目的地、激活或改变车辆的信息娱乐系统和设置或者提供语音激活的网上冲浪。某些功能仅在车辆操作于自主模式下时对于驾驶员可用,并且在其他情况下被禁用。
视频图像复合器可以包括用于空间和时间降噪的增强时间降噪。例如,在视频中出现运动的情况下,降噪适当地对空间信息加权,降低邻近帧提供的信息的权重。在图像或者图像的部分不包括运动的情况下,视频图像复合器执行的时间降噪可以使用来自先前的图像的信息以降低当前图像中的噪声。
视频图像复合器也可以被配置为对输入立体镜头帧执行立体校正。当操作系统桌面正在使用并且GPU 408无需连续地渲染(render)新的表面时,视频图像复合器可以进一步用于用户接口组成。甚至在GPU 408上电并且主动执行3D渲染时,视频图像复合器可以用来减轻GPU 408的负担以提高性能和响应能力。
SoC 404可以进一步包括用于从相机接收视频和输入的移动行业处理器接口(MIPI)相机串行接口、高速接口和/或可以用于相机和有关像素输入功能的视频输入块。SoC 404可以进一步包括可以由软件控制并且可以用于接收未提交到特定角色的I/O信号的输入/输出控制器。SoC 404可以进一步包括大范围的外围设备接口,以使能与外围设备、音频编解码器、功率管理和/或其他设备通信。SoC 404可以用来处理来自(通过千兆多媒体串行链路和以太网连接的)相机、传感器(例如可以通过以太网连接的LIDAR传感器464、RADAR传感器460等等)的数据,来自总线402的数据(例如车辆400的速率、方向盘位置等等),来自(通过以太网或CAN总线连接的)GNSS传感器458的数据。SoC 404可以进一步包括专用高性能大容量存储控制器,其可以包括它们自己的DMA引擎,并且其可以用来从日常数据管理任务中释放CPU 406。
SoC 404可以是具有灵活架构的端到端平台,该架构跨越自动化3-5级,从而提供利用和高效使用计算机视觉和ADAS技术以实现多样性和冗余、连同深度学习工具一起提供用于灵活可靠驾驶软件堆栈的平台的综合功能安全架构。SoC 404可以比常规的系统更快、更可靠,甚至更加能量高效和空间高效。例如,当与CPU 406、GPU 408和数据存储416结合时,加速器414可以提供用于3-5级自主车辆的快速高效平台。
因此该技术提供了不能通过常规系统实现的能力和功能。例如,计算机视觉算法可以在CPU上执行,这些CPU可以使用诸如C编程语言之类的高级编程语言配置为跨各种各样的视觉数据执行各种各样的处理算法。然而,CPU常常不能满足许多计算机视觉应用的性能要求,诸如与例如执行时间和功耗有关的那些要求。特别地,许多CPU不能实时地执行复杂的对象检测算法,这是车载ADAS应用的要求和实用3-5级自主车辆的要求。
与常规系统形成对比的是,通过提供CPU复合体、GPU复合体和硬件加速簇,本文描述的技术允许同时和/或顺序地执行多个神经网络,并且将结果组合在一起以实现3-5级自主驾驶功能。例如,在DLA或dGPU(例如GPU 420)上执行的CNN可以包括文本和单词识别,允许超级计算机读取和理解交通指示牌,包括尚未针对其特别地训练神经网络的指示牌。DLA可以进一步包括能够识别、解释和提供对指示牌的语义理解,并且将该语义理解传递给运行在CPU复合体上的路径规划模块的神经网络。
作为另一个示例,如3、4或5级驾驶所需的,多个神经网络可以同时运行。例如,由“注意:闪烁的灯指示结冰条件”组成的警告指示牌连同电灯可以由若干神经网络独立地或者共同地进行解释。指示牌本身可以由部署的第一神经网络(例如经过训练的神经网络)识别为交通指示牌,文本“闪烁的灯指示结冰条件”可以由部署的第二神经网络解释,该部署的第二神经网络告知车辆的路径规划软件(优选地在CPU复合体上执行)当检测到闪烁的灯时,存在结冰条件。闪烁的灯可以通过在多个帧上操作部署的第三神经网络而识别,该神经网络告知车辆的路径规划软件闪烁的灯的存在(或不存在)。所有三个神经网络可以例如在DLA内和/或在GPU 408上同时运行。
在一些示例中,用于面部识别和车主识别的CNN可以使用来自相机传感器的数据识别车辆400的授权的驾驶员和/或车主的存在。始终在传感器上的处理引擎可以用来在车主接近驾驶员车门时解锁车辆并且打开灯,并且在安全模式下,在车主离开车辆时禁用车辆。按照这种方式,SoC 404提供了防范盗窃和/或劫车的安全性。
在另一个示例中,用于应急车辆检测和识别的CNN可以使用来自麦克风496的数据来检测并且识别应急车辆警报(siren)。与使用通用分类器检测警报并且手动地提取特征的常规系统形成对比的是,SoC 404使用CNN以对环境和城市声音分类以及对视觉数据分类。在优选的实施例中,运行在DLA上的CNN被训练为识别应急车辆的相对关闭速率(例如通过使用多普勒效应)。CNN也可以被训练为识别如GNSS传感器458所识别的特定于车辆在其中操作的局部区域的应急车辆。因此,例如,当在欧洲操作时,CNN将寻求检测欧洲警报,并且当在美国时,CNN将寻求识别仅仅北美的警报。一旦检测到应急车辆,在超声传感器462的辅助下,控制程序可以用来执行应急车辆安全例程,使车辆放慢速度,开到路边,停下车辆,和/或使车辆空转,直到应急车辆通过。
车辆可以包括可以经由高速互连(例如PCIe)耦合到SoC 404的CPU 418(例如分立的CPU或dCPU)。CPU 418可以包括例如X86处理器。CPU 418可以用来执行各种各样的功能中的任何功能,包括例如仲裁ADAS传感器与SoC 404之间潜在地不一致的结果,和/或监控控制器436和/或信息娱乐SoC 430的状态和健康状况。
车辆400可以包括可以经由高速互连(例如NVIDIA的NVLINK)耦合到SoC 404的GPU420(例如分立的GPU或dGPU)。GPU 420可以例如通过执行冗余的和/或不同的神经网络而提供附加的人工智能功能,并且可以用来基于来自车辆400的传感器的输入(例如传感器数据)来训练和/或更新神经网络。
车辆400可以进一步包括网络接口424,该网络接口可以包括一个或更多个无线天线426(例如用于不同通信协议的一个或更多个无线天线,例如蜂窝天线、蓝牙天线等等)。网络接口424可以用来使能通过因特网与云(例如与服务器478和/或其他网络设备)、与其他车辆和/或与计算设备(例如乘客的客户端设备)的无线连接。为了与其他车辆通信,可以在这两辆车之间建立直接链接,和/或可以建立间接链接(例如跨网络以及通过因特网)。直接链接可以使用车对车通信链路提供。车对车通信链路可以向车辆400提供关于接近车辆400的车辆(例如车辆400前面、侧面和/或后面的车辆)的信息。该功能可以是车辆400的协作自适应巡航控制功能的部分。
网络接口424可以包括提供调制和解调功能并且使得控制器436能够通过无线网络通信的SoC。网络接口424可以包括用于从基带到射频的上转换以及从射频到基带的下转换的射频前端。频率转换可以通过公知的过程执行,和/或可以使用超外差(super-heterodyne)过程执行。在一些示例中,射频前端功能可以由单独的芯片提供。网络接口可以包括用于通过LTE、WCDMA、UMTS、GSM、CDMA2000、蓝牙、蓝牙LE、Wi-Fi、Z波、ZigBee、LoRaWAN和/或其他无线协议通信的无线功能。车辆400可以进一步包括可包括片外(例如SoC 404外)存储装置的数据存储428。数据存储428可以包括一个或更多个存储元件,包括RAM、SRAM、DRAM、VRAM、闪存、硬盘和/或可以存储至少一个比特的数据的其他组件和/或设备。
车辆400可以进一步包括GNSS传感器458(例如GPS和/或辅助GPS传感器),用于辅助映射、感知、占用网格生成和/或路径规划功能。可以使用任意数量的GNSS传感器458,包括例如且不限于使用带有以太网到串行(RS-232)网桥的USB连接器的GPS。车辆400可以进一步包括RADAR传感器460。RADAR传感器460可以甚至在黑暗和/或恶劣天气条件下也由车辆400用于远程车辆检测。RADAR功能安全级别可以是ASIL B。RADAR传感器460可以使用CAN和/或总线402(例如以传输RADAR传感器460生成的数据)以用于控制以及访问对象跟踪数据,在一些示例中接入以太网以访问原始数据。可以使用各种各样的RADAR传感器类型。例如且非限制性地,RADAR传感器460可以适合前面、后面和侧面RADAR使用。在一些示例中,使用脉冲多普勒RADAR传感器。
RADAR传感器460可以包括不同的配置,例如具有窄视场的远程、具有宽视场的短程、短程侧覆盖等等。在一些示例中,远程RADAR可以用于自适应巡航控制功能。远程RADAR系统可以提供通过两个或更多独立扫描实现的广阔视场(例如250m范围内)。RADAR传感器460可以帮助区分静态对象和运动对象,并且可以由ADAS系统用于紧急制动辅助和前方碰撞警告。远程RADAR传感器可以包括具有多根(例如六根或更多)固定RADAR天线以及高速CAN和FlexRay接口的单站多模RADAR。在具有六根天线的示例中,中央四根天线可以创建聚焦的波束图案,其被设计为在更高速率下以来自邻近车道的最小交通干扰记录车辆400的周围环境。其他两根天线可以扩展视场,使得快速地检测进入或离开车辆400的车道的车辆成为可能。
作为一个示例,中程RADAR系统可以包括高达460m(前面)或80m(后面)的范围以及高达42度(前面)或450度(后面)的视场。短程RADAR系统可以包括但不限于被设计为安装在后保险杠两端的RADAR传感器。当安装在后保险杠两端时,这样的RADAR传感器系统可以创建持续地监控后方和车辆旁边的盲点的两个波束。
短程RADAR系统可以在ADAS系统中用于盲点检测和/或变道辅助。
车辆400可以进一步包括超声传感器462。可以置于车辆400的前面、后面和/或侧面的超声传感器462可以用于停车辅助和/或创建和更新占用网格。可以使用各种各样的超声传感器462,并且不同的超声传感器462可以用于不同的检测范围(例如2.5m、4m)。超声传感器462可以操作于功能安全级别的ASIL B。
车辆400可以包括LIDAR传感器464。LIDAR传感器464可以用于对象和行人检测、紧急制动、碰撞避免和/或其他功能。LIDAR传感器464可以为功能安全级别的ASIL B。在一些示例中,车辆400可以包括可以使用以太网(例如以将数据提供给千兆以太网交换机)的多个LIDAR传感器464(例如两个、四个、六个等等)。
在一些示例中,LIDAR传感器464可能够对360度视场提供对象列表及其距离。商业上可用的LIDAR传感器464可以具有例如近似100m的广告范围,精度为2cm-3cm,支持100Mbps以太网连接。在一些示例中,可以使用一个或更多个非突出的LIDAR传感器464。在这样的示例中,LIDAR传感器464可以实现为可以嵌入到车辆400的前面、后面、侧面和/或拐角的小设备。在这样的示例中,LIDAR传感器464可以甚至对于低反射率对象提供高达120度水平的和35度竖直的视场,具有200m的范围。前面安装的LIDAR传感器464可以被配置用于45度与135度之间的水平视场。
在一些示例中,也可以使用诸如3D闪光LIDAR之类的LIDAR技术。3D闪光LIDAR使用激光的闪光作为发射源,以照亮高达约200m的车辆周围环境。闪光LIDAR单元包括接受器,该接受器将激光脉冲传输时间和反射光记录在每个像素上,其进而与从车辆到对象的范围相对应。闪光LIDAR可以允许利用每个激光闪光生成周围环境的高度精确且无失真的图像。在一些示例中,可以部署四个闪光LIDAR传感器,车辆400的每一侧一个。可用的3D闪光LIDAR系统包括没有风扇以外的运动组件(moving part)的固态3D注视阵列LIDAR相机(例如非扫描LIDAR设备)。闪光LIDAR设备可以使用每帧5纳秒I类(眼睛安全)激光脉冲,并且可以以3D范围点云和共同寄存的强度数据的形式捕获反射的激光。通过使用闪光LIDAR,并且因为闪光LIDAR是没有运动组件的固态设备,LIDAR传感器464可以不太容易受到运动模糊、振动和/或震动的影响。
该车辆可以进一步包括IMU传感器466。在一些示例中,IMU传感器466可以位于车辆400的后轴的中心。IMU传感器466可以包括例如且不限于加速度计、磁力计、陀螺仪、磁罗盘和/或其他传感器类型。在一些示例中,例如在六轴应用中,IMU传感器466可以包括加速度计和陀螺仪,而在九轴应用中,IMU传感器466可以包括加速度计、陀螺仪和磁力计。
在一些实施例中,IMU传感器466可以实现为微型高性能GPS辅助惯性导航系统(GPS/INS),其结合微机电系统(MEMS)惯性传感器、高灵敏度GPS接收器和高级卡尔曼滤波算法以提供位置、速度和姿态的估计。这样,在一些示例中,IMU传感器466可以使得车辆400能够在无需来自磁传感器的输入的情况下通过直接观察从GPS到IMU传感器466的速度变化并且将其相关来估计方向(heading)。在一些示例中,IMU传感器466和GNSS传感器458可以结合到单个集成单元中。
该车辆可以包括置于车辆400中和/或车辆400周围的麦克风496。除别的以外,麦克风496可以用于应急车辆检测和识别。
该车辆可以进一步包括任意数量的相机类型,包括立体相机468、广角相机470、红外相机472、环绕相机474、远程和/或中程相机498和/或其他相机类型。这些相机可以用来捕获车辆400整个外围周围的图像数据。使用的相机类型取决于实施例和车辆400的要求,并且相机类型的任意组合可以用来提供车辆400周围的必要覆盖。此外,相机的数量可以根据实施例而不同。例如,该车辆可以包括六个相机、七个相机、十个相机、十二个相机和/或另一数量的相机。作为一个示例且非限制性地,这些相机可以支持千兆多媒体串行链路(GMSL)和/或千兆以太网。所述相机中的每一个在本文关于图4A和图4B更详细地进行了描述。
车辆400可以进一步包括振动传感器442。振动传感器442可以测量车辆的诸如车轴之类的组件的振动。例如,振动的变化可以指示道路表面的变化。在另一个示例中,当使用两个或更多振动传感器442时,振动之间的差异可以用来确定道路表面的摩擦或滑移(例如当动力驱动轴与自由旋转轴之间存在振动差异时)。
车辆400可以包括ADAS系统438。在一些示例中,ADAS系统438可以包括SoC。ADAS系统438可以包括自主/自适应/自动巡航控制(ACC)、协作自适应巡航控制(CACC)、前方撞车警告(FCW)、自动紧急制动(AEB)、车道偏离警告(LDW)、车道保持辅助(LKA)、盲点警告(BSW)、后方穿越交通警告(RCTW)、碰撞警告系统(CWS)、车道居中(LC)和/或其他特征和功能。
ACC系统可以使用RADAR传感器460、LIDAR传感器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的前置相机和/或RADAR传感器460,该专用处理器、DSP、FPGA和/或ASIC电耦合至诸如显示器、扬声器和/或振动组件之类的驾驶员反馈。FCW系统可以提供例如声音、视觉警告、振动和/或快速制动脉冲形式的警告。
AEB系统检测即将发生的与另一车辆或其他对象的前方碰撞,并且可以在驾驶员在指定的时间或距离参数内没有采取纠正措施的情况下自动地应用制动器。AEB系统可以使用耦合到专用处理器、DSP、FPGA和/或ASIC的前置相机和/或RADAR传感器460。当AEB系统检测到危险时,它典型地首先提醒(alert)驾驶员采取纠正措施以避免碰撞,并且如果驾驶员没有采取纠正措施,那么AEB系统可以自动地应用制动器以努力防止或者至少减轻预测的碰撞的影响。AEB系统可以包括诸如动态制动支持和/或碰撞迫近制动之类的技术。
LDW系统提供了诸如方向盘或座位振动之类的视觉、听觉和/或触觉警告,以在车辆400穿过车道标记时提醒驾驶员。当驾驶员指示有意偏离车道时,通过激活转弯信号,不激活LDW系统。LDW系统可以使用耦合到专用处理器、DSP、FPGA和/或ASIC的前侧朝向相机,该专用处理器、DSP、FPGA和/或ASIC电耦合至诸如显示器、扬声器和/或振动组件之类的驾驶员反馈。
LKA系统是LDW系统的变型。如果车辆400开始离开车道,那么LKA系统提供纠正车辆400的转向输入或制动。
BSW系统检测并向驾驶员警告汽车盲点中的车辆。BSW系统可以提供视觉、听觉和/或触觉警报以指示合并或改变车道是不安全的。系统可以在驾驶员使用转弯信号时提供附加的警告。BSW系统可以使用耦合到专用处理器、DSP、FPGA和/或ASIC的后侧朝向相机和/或RADAR传感器460,该专用处理器、DSP、FPGA和/或ASIC电耦合至诸如显示器、扬声器和/或振动组件之类的驾驶员反馈。
RCTW系统可以在车辆400倒车时在后置相机范围之外检测到对象时提供视觉、听觉和/或触觉通知。一些RCTW系统包括AEB以确保应用车辆制动器以避免撞车。RCTW系统可以使用耦合到专用处理器、DSP、FPGA和/或ASIC的一个或更多个后置RADAR传感器460,该专用处理器、DSP、FPGA和/或ASIC电耦合至诸如显示器、扬声器和/或振动组件之类的驾驶员反馈。
常规的ADAS系统可能易于出现假阳性结果,这可能会让驾驶员烦恼并分散注意力,但是典型地不是灾难性的,因为ADAS系统提醒驾驶员并且允许驾驶员决定安全条件是否真正存在并且相对应地采取行动。然而,在自主车辆400中,在冲突结果的情况下,车辆400本身必须决定是否注意(heed)来自主计算机或者辅助计算机(例如第一控制器436或第二控制器436)的结果。例如,在一些实施例中,ADAS系统438可以是用于向备用计算机合理性模块提供感知信息的备用和/或辅助计算机。备用计算机合理性监视器可以在硬件组件上运行冗余多样的软件,以检测感知和动态驾驶任务中的故障。来自ADAS系统438的输出可以提供给监督MCU。如果来自主计算机和辅助计算机的输出冲突,那么监督MCU必须确定如何协调该冲突以确保安全操作。
在一些示例中,主计算机可以被配置为向监督MCU提供置信度评分,指示主计算机对所选结果的置信度。如果置信度评分超过阈值,那么监督MCU可以遵循主计算机的方向,而不管辅助计算机是否提供冲突或不一致的结果。在置信度评分不满足阈值的情况下并且在主计算机和辅助计算机指示不同的结果(例如冲突)的情况下,监督MCU可以在这些计算机之间进行仲裁以确定适当的结果。
监督MCU可以被配置为运行神经网络,所述神经网络被训练并且被配置为基于来自主计算机和辅助计算机的输出,确定辅助计算机提供假警报的条件。因此,监督MCU中的神经网络可以了解何时可以信任辅助计算机的输出以及何时不能。例如,当辅助计算机为基于RADAR的FCW系统时,监督MCU中的神经网络可以了解FCW系统何时正在识别事实上不是危险的金属对象,例如触发警报的排水栅格或井盖。类似地,当辅助计算机是基于相机的LDW系统时,监督MCU中的神经网络可以学习在骑车者或行人在场并且车道偏离实际上是最安全的策略时无视该LDW。在包括运行在监督MCU上的神经网络的实施例中,监督MCU可以包括适合于利用关联的内存运行神经网络的DLA或GPU中的至少一个。在优选的实施例中,监督MCU可以包括SoC 404的组件和/或作为SoC 404的组件而被包括。
在其他示例中,ADAS系统438可以包括使用传统计算机视觉规则执行ADAS功能的辅助计算机。这样,辅助计算机可以使用经典的计算机视觉规则(如果-那么),并且在监督MCU中存在神经网络可以提高可靠性、安全性和性能。例如,多样化的实现方式和有意的非完全相同(non-identity)使得整个系统更加容错,对于软件(或者软件-硬件接口)功能造成的故障而言尤其如此。例如,如果在主计算机上运行的软件中存在软件漏洞或错误并且运行在辅助计算机上的非完全相同的软件代码提供相同的总体结果,那么监督MCU可以更加确信总体结果是正确的,并且主计算机使用的软件或硬件中的漏洞不造成实质性的错误。
在一些示例中,ADAS系统438的输出可以馈送至主计算机的感知块和/或主计算机的动态驾驶任务块。例如,如果ADAS系统438由于对象紧接在前的原因而指示前方碰撞警告,那么感知块可以在识别对象时使用该信息。在其他示例中,辅助计算机可以具有它自己的神经网络,其被训练并且因此如本文所描述的降低假阳性的风险。
车辆400可以进一步包括信息娱乐SoC 430(例如车载信息娱乐系统(IVI))。尽管被图示和描述为SoC,但是信息娱乐系统可以不是SoC,并且可以包括两个或更多分立的组件。信息娱乐SoC 430可以包括可以用来向车辆400提供音频(例如音乐、个人数字助理、导航指令、新闻、广播等等)、视频(例如TV、电影、流媒体等等)、电话(例如免提呼叫)、网络连接(例如LTE、WiFi等等)和/或信息服务(例如导航系统,后停车援助,无线电数据系统,诸如燃油水平、覆盖的总距离、制动燃油水平、油位、车门开/关、空气过滤器信息之类的车辆有关信息,等等)的硬件和软件的组合。例如,信息娱乐SoC 430可以包括收音机、盘播放器、导航系统、视频播放器、USB和蓝牙连接、车载电脑、车载娱乐、WiFi、方向盘音频控件、免提语音控件、平视显示器(HUD)、HMI显示器434、远程信息处理设备、控制面板(例如用于控制各种组件、特征和/或系统,和/或与其交互)和/或其他组件。信息娱乐SoC 430可以进一步用来向车辆的用户提供信息(例如视觉的和/或听觉的),例如来自ADAS系统438的信息,诸如规划的车辆机动、轨迹、周围环境信息(例如交叉路口信息、车辆信息、道路信息等等)之类的自主驾驶信息,和/或其他信息。
信息娱乐SoC 430可以包括GPU功能。信息娱乐SoC 430可以通过总线402(例如CAN总线、以太网等)与车辆400的其他设备、系统和/或组件通信。在一些示例中,信息娱乐SoC430可以耦合至监督MCU,使得在主控制器436(例如车辆400的主和/或备用计算机)出现故障的情况下,信息娱乐系统的GPU可以执行一些自驾驶功能。在这样的示例中,信息娱乐SoC430可以如本文所描述的将车辆400置于司机安全停车模式。
车辆400可以进一步包括仪表组432(例如数字仪表板、电子仪表组、数字仪表面板等等)。仪表组432可以包括控制器和/或超级计算机(例如分立的控制器或超级计算机)。仪表组432可以包括一套仪器,例如车速表、燃油水平、油压、转速表、里程表、转弯指示器、换档位置指示器、安全带警告灯、停车制动警告灯、发动机故障灯、安全气囊(SRS)系统信息、照明控件、安全系统控件、导航信息等等。在一些示例中,信息可以被显示和/或在信息娱乐SoC 430和仪表组432之间共享。换言之,仪表组432可以作为信息娱乐SoC 430的部分而被包括,或者反之亦然。
图4D为根据本公开一些实施例的基于云的服务器与图4A的示例自主车辆400之间的通信的系统示意图。系统476可以包括服务器478、网络490以及包括车辆400在内的车辆。服务器478可以包括多个GPU 484(A)-484(H)(这里统称为GPU 484)、PCIe交换机482(A)-482(H)(这里统称为PCIe交换机482)和/或CPU 480(A)-480(B)(这里统称为CPU 480)。GPU484、CPU 480和PCIe交换机可以与诸如例如且不限于NVIDIA开发的NVLink接口488之类的高速互连和/或PCIe连接486互连。在一些示例中,GPU 484经由NVLink和/或NVSwitch SoC连接,并且GPU 484和PCIe交换机482经由PCIe互连连接。尽管图示出八个GPU 484、两个CPU480和两个PCIe交换机,但是这并不意图是限制性的。取决于实施例,服务器478中的每一个可以包括任意数量的GPU 484、CPU 480和/或PCIe交换机。例如,服务器478中的每一个可以包括八个、十六个、三十二个和/或更多GPU 484。
服务器478可以通过网络490并且从车辆接收图像数据,该图像数据表示示出诸如最近开始的道路工程之类的意外或改变的道路状况的图像。服务器478可以通过网络490并且向车辆传输神经网络492、更新的神经网络492和/或地图信息494,包括关于交通和道路状况的信息。对地图信息494的更新可以包括对于HD地图422的更新,例如关于建筑工地、坑洼、弯道、洪水或其他障碍物的信息。在一些示例中,神经网络492、更新的神经网络492和/或地图信息494可以已从新的训练和/或从环境中的任意数量的车辆接收的数据中表示和/或基于数据中心处执行的训练(例如使用服务器478和/或其他服务器)的经验产生。
服务器478可以用来基于训练数据训练机器学习模型(例如神经网络)。训练数据可以由车辆生成,和/或可以在仿真中生成(例如使用游戏引擎)。在一些示例中,训练数据被标记(例如在神经网络受益于有监督学习的情况下)和/或经历其他预处理,而在其他示例中,训练数据不被标记和/或预处理(例如在神经网络无需有监督学习的情况下)。可以根据机器学习技术中的任何一个或更多个类别来执行训练,包括但不限于诸如以下类别:监督训练、半监督训练、无监督训练、自我学习、强化学习、联合学习、迁移学习、特征学习(包括主成分和聚类分析)、多线性子空间学习、流形学习、表示学习(包括稀疏字典学习)、基于规则的机器学习、异常检测及其任何变体或其组合。一旦机器学习模型被训练,机器学习模型可以由车辆使用(例如通过网络490传输至车辆),和/或机器学习模型可以由服务器478用来远程地监控车辆。
在一些示例中,服务器478可以接收来自车辆的数据,并且将该数据应用到最新的实时神经网络以用于实时智能推理。服务器478可以包括由GPU 484供电的深度学习超级计算机和/或专用AI计算机,例如NVIDIA开发的DGX和DGX站机器。然而,在一些示例中,服务器478可以包括仅使用CPU供电的数据中心的深度学习基础设施。
服务器478的深度学习基础设施可能够快速实时推理,并且可以使用该能力来评估并验证车辆400中的处理器、软件和/或关联硬件的健康状况。例如,深度学习基础设施可以接收来自车辆400的定期更新,例如图像序列和/或车辆400已经定位的位于该图像序列中的对象(例如经由计算机视觉和/或其他机器学习对象分类技术)。深度学习基础设施可以运行它自己的神经网络以识别对象并且将它们与车辆400识别的对象相比较,如果结果不匹配并且该基础设施得出车辆400中的AI发生故障的结论,那么服务器478可以向车辆400传输信号,指示车辆400的故障保护计算机进行控制,通知乘客,并且完成安全停车操作。
为了推理,服务器478可以包括GPU 484和一个或更多个可编程推理加速器(例如NVIDIA的TensorRT)。GPU供电的服务器和推理加速的组合可以使得实时响应成为可能。在其他示例中,例如在性能不那么重要的情况下,CPU、FPGA和其他处理器供电的服务器可以用于推理。
图5为适合用于实现本公开一些实施例的示例计算设备500的框图。计算设备500可以包括直接或间接耦合下列设备的互连系统502:内存504、一个或更多个中央处理单元(CPU)506、一个或更多个图形处理单元(GPU)508、通信接口510、输入/输出(I/O)端口512,输入/输出组件514、电源516、一个或更多个呈现组件518(例如显示器)以及一个或更多个逻辑单元520。
尽管图5的各个框被示为经由具有线路的互连系统502连接,但是这并不意图是限制性的,并且仅仅为了清楚起见。例如,在一些实施例中,诸如显示设备之类的呈现组件518可以被认为是I/O组件514(例如如果显示器为触摸屏)。作为另一个示例,CPU 506和/或GPU508可以包括内存(例如,内存504可以表示除了GPU 508、CPU 506和/或其他组件的内存以外的存储设备)。换言之,图5的计算设备仅仅是说明性的。在诸如“工作站”、“服务器”、“膝上型电脑”、“台式机”、“平板电脑”、“客户端设备”、“移动设备”、“手持式设备”、“游戏控制台”、“电子控制单元(ECU)”、“虚拟现实系统”、“增强现实系统”和/或其他设备或系统类型之类的类别之间不进行区分,因为所有这些都被考虑在图5的计算设备的范围内。
互连系统502可以表示一条或更多条链接或总线,例如地址总线、数据总线、控制总线或者其组合。互连系统502可以包括一种或更多种总线或链接类型,例如行业标准架构(ISA)总线、扩展行业标准架构(EISA)总线、视频电子标准协会(VESA)总线、外围组件互连(PCI)总线、外围组件互连快速(PCIe)总线,和/或另一种类型的总线或链接。在一些实施例中,组件之间存在直接连接。作为示例,CPU 506可以直接连接至内存504。此外,CPU 506可以直接连接至GPU 508。在组件之间存在直接或点对点连接的情况下,互连系统502可以包含PCIe链接以执行连接。在这些示例中,PCI总线不需要被包括在计算设备500中。
内存504可以包括各种各样的计算机可读介质中的任何介质。计算机可读介质可以是可以由计算设备500访问的任何可用介质。计算机可读介质可以包括易失性和非易失性介质以及可移除和不可移除介质。举例而言且非限制性地,计算机可读介质可以包括计算机存储介质和通信介质。
计算机存储介质可以包括易失性和非易失性介质和/或可移除和不可移除介质,其以用于存储诸如计算机可读指令、数据结构、程序模块和/或其他数据类型之类的信息的任何方法或技术实现。例如,内存504可以存储计算机可读指令(例如其表示程序和/或程序元素,例如操作系统)。计算机存储介质可以包括但不限于RAM、ROM、EEPROM、闪存或者其他存储技术、CD-ROM、数字多功能盘(DVD)或其他光盘存储装置、磁带盒、磁带、磁盘存储装置或其他磁存储设备,或者可以用来存储期望的信息且可以由计算设备500访问的任何其他介质。当在本文使用时,计算机存储介质并不包括信号本身。
计算机存储介质可以在诸如载波之类的调制数据信号或其他传输机制中包含计算机可读指令、数据结构、程序模块和/或其他数据类型,并且包括任何信息输送介质。术语“调制数据信号”可以指这样的信号,该信号使它的特性中的一个或更多个以这样的将信息编码到该信号中的方式设置或改变。举例而言且非限制性地,计算机存储介质可以包括诸如有线网络或直接有线连接之类的有线介质,以及诸如声音、RF、红外和其他无线介质之类的无线介质。任何以上所述的组合也应当包含在计算机可读介质的范围内。
CPU 506可以被配置为执行计算机可读指令的至少一部分以便控制计算设备500的一个或更多个组件执行本文描述的方法和/或过程中的一个或更多个。CPU 506中的每一个可以包括能够同时处理大量软件线程的一个或更多个核(例如一个、两个、四个、八个、二十八个、七十二个等等)。CPU 506可以包括任何类型的处理器,并且可以包括不同类型的处理器,这取决于实现的计算设备500的类型(例如具有用于移动设备的较少核的处理器以及具有用于服务器的更多核的处理器)。例如,取决于计算设备500的类型,处理器可以是使用精简指令集计算(RISC)实现的高级RISC机器(ARM)处理器或者使用复杂指令集计算(CISC)实现的x86处理器。除了一个或更多个微处理器或者诸如数学协处理器之类的补充协处理器之外,计算设备500还可以包括一个或更多个CPU 506。
除了一个或更多个CPU 506之外或者可替代地来自一个或更多个CPU 506,一个或更多个GPU 508可以被配置为执行计算机可读指令中的至少一些,以控制计算设备500的一个或更多个组件以执行以下本文所述的方法和/或过程中的一个或更多个。一个或更多个GPU 508中的一个或更多个可以是集成GPU(例如,具有一个或更多个CPU 506中的一个或更多个)和/或一个或更多个GPU 508中的一个或更多个可以是分立GPU。在实施例中,一个或更多个GPU 508的一个或更多个可以是一个或更多个CPU 506中的一个或更多个的协处理器。一个或更多个GPU 508可以被计算设备500使用来渲染图形(例如3D图形)或执行通用计算。例如,一个或更多个GPU 508可以用于GPU上的通用计算(GPGPU)。GPU 508可以包括能够同时处理数百或数千个软件线程的数百或数千个核。GPU 508可以响应于渲染命令(例如经由主机接口接收的来自一个或更多个CPU 506的渲染命令)而生成用于输出图像的像素数据。GPU 508可以包括诸如显示内存之类的用于存储像素数据或任何其它合适数据(例如GPGPU数据)的图形内存。显示内存可以作为内存504的部分而被包括。GPU 508可以包括(例如经由链接)并行操作的两个或更多GPU。该链接可以直接连接GPU(例如使用NVLINK)或可以通过开关(例如使用NVSwitch)连接GPU。当组合在一起时,每个GPU 508可以生成用于输出的不同部分或者用于不同输出的像素数据或GPGPU数据(例如,第一GPU用于第一图像,第二GPU用于第二图像)。每个GPU可以包括它自己的内存,或者可以与其他GPU共享内存。
除了一个或更多个CPU 506和/或一个或更多个GPU 508之外,或可替代来自一个或更多个CPU 506和/或一个或更多个GPU 508,逻辑单元520可以被配置为执行计算机可读指令中的至少一些以控制计算设备500的一个或更多个组件执行本文描述的方法和/或过程中的一个或更多个。在实施例中,一个或更多个CPU 506,一个或更多个GPU 508和/或一个或更多个逻辑单元520可以分离地或联合地执行方法、过程和/或其部分的任何组合。一个或更多个逻辑单元520可以是一个或更多个CPU 506和/或一个或更多个GPU 508的一部分和/或集成在其中,和/或一个或更多个逻辑单元520可以是分立的组件或者以其它方式在CPU 506和/或GPU 508的外部。在实施例中,一个或更多个逻辑单元520可以是一个或更多个CPU 506和/或一个或更多个GPU 508的协处理器。
逻辑单元520的示例包括一个或更多个处理核心和/或其组件,例如张量核心(TC)、张量处理单元(TPU)、像素视觉核心(PVC),视觉处理单元(VPU)、图形处理集群(GPC)、纹理处理集群(TPC),流式多处理器(SM)、树遍历单元(TTU)、人工智能加速器(AIA),深度学习加速器(DLA)、算术逻辑单元(ALU)、专用集成电路(ASIC),浮点单元(FPU)、I/O元件、外围组件互连(PCI)或外围组件互连高速(PCIe)元件等。
通信接口510可以包括一个或更多个接收器、发送器和/或收发器,其使得计算设备500能够经由电子通信网络与其他计算设备通信,包括有线和/或无线通信。通信接口510可以包括使能通过若干不同网络中的任何网络进行通信的组件和功能,所述网络例如无线网络(例如Wi-Fi、Z波、蓝牙、蓝牙LE、ZigBee等等)、有线网络(例如通过以太网或无线带宽技术通信)、低功率广域网(例如LoRaWAN、SigFox等等)和/或因特网。
I/O端口512可以使得计算设备500能够逻辑地耦合到包括I/O组件514、呈现组件518和/或其他组件在内的其他设备,其中一些可以内置到(例如集成到)计算设备500中。说明性I/O组件514包括麦克风、鼠标、键盘、操纵杆、游戏垫、游戏控制器、碟形卫星天线、扫描仪、打印机、无线设备等等。I/O组件514可以提供处理用户生成的空中手势、语音或其他生理输入的自然用户接口(NUI)。在一些实例中,输入可以传输至适当的网络元件以便进一步处理。NUI可以实现语音识别、手写笔识别、面部识别、生物特征识别、屏幕上和邻近屏幕的手势识别、空中手势、头部和眼睛跟踪以及与计算设备500的显示器关联的触摸识别(如下文更详细地描述的)的任意组合。计算设备500可以包括诸如立体相机系统之类的深度相机、红外相机系统、RGB相机系统、触摸屏技术以及这些的组合,以用于手势检测和识别。此外,计算设备500可以包括使能运动检测的加速度计或陀螺仪(例如作为惯性测量单元(IMU)的部分)。在一些示例中,加速度计或陀螺仪的输出可以由计算设备500用来渲染沉浸式增强现实或者虚拟现实。
电源516可以包括硬接线电源、电池电源或者其组合。电源516可以向计算设备500供电以使得计算设备500的组件能够操作。
呈现组件518可以包括显示器(例如监视器、触摸屏、电视屏幕、平视显示器(HUD)、其他显示器类型或者其组合)、扬声器和/或其他呈现组件。呈现组件518可以接收来自其他组件(例如GPU 508、CPU 506等等)的数据,并且输出该数据(例如作为图像、视频、声音等等)。
本公开可以在由计算机或者诸如个人数字助理或其他手持式设备之类的其他机器执行的、包括诸如程序模块之类的计算机可执行指令的机器可使用指令或者计算机代码的一般背景下进行描述。通常,包括例程、程序、对象、组件、数据结构等等的程序模块指的是执行特定任务或者实现特定抽象数据类型的代码。本公开可以在各种各样的系统配置中实践,这些配置包括手持式设备、消费电子器件、通用计算机、更专业的计算设备等等。本公开也可以在其中任务由通过通信网络链接的远程处理设备执行的分布式计算环境中实践。
图6示出了本公开的实施例的机器学习模型的训练和部署。在至少一个实施例中,机器学习模型可以包括诸如CNN的神经网络。使用训练数据集602来训练未经训练的神经网络606,训练数据集602在本公开的一些实施例中可以是假设各种头部姿势的一组主体的图像。在至少一个实施例中,训练框架604是PyTorch框架,而在其他实施例中,训练框架604是TensorFlow、Boost、Caffe、Microsoft Cognitive Toolkit/CNTK、MXNet、Chainer、Keras、Deeplearning4j或其他训练框架。训练框架604使用本文描述的处理资源训练未经训练的神经网络606,以生成经训练的神经网络608。在至少一个实施例中,初始权重可以被随机选择或通过使用深度信念网络进行预训练来选择。训练可以以监督、部分有监督或无监督的方式执行。
在至少一个实施例中,例如当使用回归分类器时,可以使用监督学习来训练未经训练的神经网络606,其中训练数据集602包括与期望输出配对的输入,或者其中训练数据集602包括具有已知输出的输入,并且神经网络的输出被手动分级。在至少一个实施例中,未经训练的神经网络606以监督的方式被训练。训练框架604处理来自训练数据集602的输入,并将得到的输出与一组预期或期望输出进行比较。在至少一个实施例中,误差随后通过未经训练的神经网络606反向传播。训练框架604调整控制未经训练的神经网络606的权重。训练框架604可包括监视未经训练的神经网络606向模型收敛的程度的工具,例如经训练的神经网络608,其适于基于诸如新数据612之类的已知输入数据生成正确的答案,例如结果614。在至少一个实施例中,训练框架604重复训练未经训练的神经网络606,同时使用损失函数和调整过程(例如随机梯度下降)调整权重以细化未经训练的神经网络606的输出。在至少一个实施例中,训练框架604训练未经训练的神经网络606,直到未经训练的神经网络606达到期望的精度为止。然后经训练的神经网络608可以被部署以实施任何数量的机器学习操作。
在至少一个实施例中,可以使用无监督学习来训练未经训练的神经网络606,其中未经训练的神经网络606尝试使用未标记的数据来训练自身。在至少一个实施例中,无监督学习训练数据集602可以包括输入数据,而没有任何关联的输出数据或“地面真实(groundtruth)”数据。未经训练的神经网络606可以学习训练数据集602内的分组,并且可以确定各个输入与未经训练的数据集602有多相关。在至少一个实施例中,可以使用无监督的训练来生成自组织映射,这是能够执行对减小新数据612的维数有用的操作的一种类型的经训练的神经网络608。无监督训练也可以用于执行异常检测,其允许识别新数据集612中与新数据集612的正常或现有模式偏离的数据点。
在至少一个实施例中,可以使用半监督学习,这是一种训练数据集602包括标记数据和未标记数据的混合的技术。训练框架604因此可以被用来执行增量学习,诸如通过转移学习技术。这样的增量学习使得经训练的神经网络608能够适应新数据612,而不会忘记在初始训练期间注入到网络内的知识。
图7是示出根据本公开的实施例的用于确定注视方向并将该注视方向映射到任何三维几何体的区域的过程步骤的流程图。图7的过程可以开始于计算设备300接收与主体周围的环境相对应的三维表面的集合(步骤700)。计算设备300还接收由相机拍摄的主体的图像(步骤710)。然后,计算设备300在接收到的图像中识别主体的脸部和眼睛,并且如上所述确定面部特征点值、相关联的置信度值和眼部裁剪(步骤720)。这些量随后被图2B的自适应推理融合模块280用作注视向量的基于回归的估计的输入变量(步骤730),以及用作图2A的注视起点估计模块240的输入,用于确定注视向量的起点(步骤740)。如上所述,注视的起点尤其从面部特征点确定。
一旦确定了注视向量及其起点,则图2A的映射模块250就可以确定注视向量与步骤700的三维表面的交点(如果有的话)(步骤750)。然后输出与注视向量相交的表面或区域,并且可以启动任何响应操作(步骤760)。
注意,本公开的实施例的系统和过程可以用于确定注视与对象内/对象上以及对象外的表面的交点。特别地,导入到映射模块250的三维表面可以包括对象的表面以及该对象外部或远离该对象的表面,并且映射模块250可以确定注视向量与对象的表面和远离其的表面二者的交点。例如,各组三维表面可以包括车辆内部和车辆外部的对象,例如停车标志、交通信号灯、模拟的行人等的表面。然后,映射模块250可以确定驾驶员正在通过其注视的车窗,以及驾驶员是否正在注视诸如停车标志之类的特定对象。为此,车辆的传感器(例如,相机或其他图像传感器、光检测和测距(LIDAR)传感器、其他遥感装置等)可以确定车辆附近的对象的位置和形状。车辆的处理器然后可以将该传感器输出转换为与所存储的三维车辆表面处于相同的坐标系中的三维表面,并将它们存储为三维表面集的附加表面。映射模块250随后可以确定所计算的注视向量与车辆的表面以及车辆外部的对象的任何存储的表面二者的交点。以这种方式,系统可以确定例如驾驶员是否意识到例如注视向各种潜在的道路危险或驾驶员应注意的其他事项。
如在本文中使用的,“和/或”关于两个或更多元素的叙述应当解释为仅指一个元素或者元素组合。例如,“元素A、元素B和/或元素C”可以包括仅仅元素A,仅仅元素B,仅仅元素C,元素A和元素B,元素A和元素C,元素B和元素C,或者元素A、B和C。此外,“元素A或元素B中的至少一个”可以包括元素A中的至少一个,元素B中的至少一个,或者元素A中的至少一个和元素B中的至少一个。进一步,“元素A和元素B中的至少一个”可以包括元素A中的至少一个,元素B中的至少一个,或者元素A中的至少一个和元素B中的至少一个。
这里详细地描述了本公开的主题以满足法定要求。然而,描述本身并非意在限制本公开的范围。相反地,本发明人已经设想到,要求保护的主题也可以以其他的方式具体化,以包括与本文中结合其他当前或未来技术描述的步骤不同的步骤或者相似的步骤的组合。而且,尽管术语“步骤”和/或“块”在本文中可以用来隐含采用的方法的不同元素,但是这些术语不应当被解释为暗示本文公开的各个步骤之中或之间的任何特定顺序,除非明确描述了各步骤的顺序。
出于解释的目的,前述描述使用特定术语来提供对本公开的透彻理解。然而,对于本领域的技术人员将显而易见的是,实践本公开的方法和系统不需要特定的细节。因此,出于说明和描述的目的,给出了本发明的特定实施方式的前述描述。它们并非旨在穷举或将本发明限制为所公开的精确形式。鉴于以上教导,许多修改和变型是可能的。例如,可以以任何方式确定面部特征点和置信度值,并且可以使用任何回归技术或其他合适的方法来确定注视向量。另外,本发明的实施例预期使用以任何方式确定和表征的任何三维表面或体积,用于确定注视向量与其的交点。选择和描述实施例是为了最好地解释本发明的原理及其实际应用,从而使本领域的其他技术人员能够最好地利用本公开以及具有各种修改的各种实施例的方法和系统,这些修改适合于预期的特定用途。另外,可以混合和匹配或以其他方式组合所公开或以其他方式公开的各个实施例的不同特征,以创建本公开所预期的其他实施例。
Claims (26)
1.一种确定指定区域上的注视方向的方法,所述方法包括:
使用并行处理电路确定主体的注视方向,所述注视方向根据机器学习模型的输出确定,所述机器学习模型具有从与所述主体的图像对应的图像数据确定的一个或更多个特征作为输入;
检索与从所述主体的位置的一个或更多个视场的空间模型对应的一组空间区域;
从所述注视方向确定所述主体的注视是否与所述空间区域中的至少一个空间区域相交;以及
如果所述主体的所述注视与所述空间区域中的至少一个空间区域相交,则基于与所述主体的所述注视相交的所述至少一个空间区域来启动操作。
2.如权利要求1所述的方法,其中所述机器学习模型进一步包括回归模型。
3.如权利要求1所述的方法,其中所述空间区域包括与对象的表面对应的三维表面。
4.如权利要求3所述的方法,其中所述对象为车辆。
5.如权利要求4所述的方法,其中所述空间区域包括从所述车辆的内部可见的三维表面。
6.如权利要求1所述的方法,其中所述机器学习模型进一步具有以下至少一个作为输入:
所述主体的面部的一个或更多个特征点,
所述主体的头部姿势,
所述主体的所述图像的一个或更多个眼部裁剪,
所述主体的至少一个眼部注视方向,或
所述主体的至少一个眼部注视方向的置信度值。
7.如权利要求1所述的方法,进一步包括:确定注视起点,其中所述确定所述主体的注视是否与所述空间区域中的一个空间区域相交进一步包括:至少基于所述注视方向和所述注视起点确定所述主体的注视是否与所述空间区域中的一个空间区域相交。
8.如权利要求1所述的方法,进一步包括:接收使用传感器生成的所述图像数据。
9.如权利要求1所述的方法,其中所述启动进一步包括:启动车辆的操作。
10.如权利要求1所述的方法,其中所述确定所述主体的注视是否与所述空间区域中的一个空间区域相交进一步包括:将所确定的注视方向投影到所述空间区域中的至少一个空间区域上。
11.如权利要求1所述的方法,其中所述一组空间区域是与从所述主体的所述位置的第一视场对应的第一组空间区域,并且其中所述方法进一步包括:
检索与从所述主体的所述位置的第二视场对应的第二组空间区域;
从所确定的注视方向确定所述主体的注视是否与所述第二组空间区域中的至少一个空间区域相交;以及
如果所述主体的所述注视与所述第二组空间区域中的至少一个区域相交,则基于与所述主体的所述注视相交的所述第二组空间区域中的所述至少一个区域启动操作。
12.如权利要求1所述的方法,其中所述空间模型根据一个或更多个对象的基于计算机的模型、所述一个或更多个对象的测量、所述一个或更多个对象的一个或更多个图像、或者被训练为确定所述一个或更多个对象的部分的位置的机器学习模型中的一个确定。
13.如权利要求1所述的方法,其中所述机器学习模型的所述输出进一步包括注视向量,所述注视方向进一步根据所述注视向量确定。
14.一种用于确定指定区域上的注视方向的系统,所述系统包括:
存储器;以及
并行处理电路,配置为:
确定主体的注视方向,所述注视方向根据机器学习模型的输出确定,所述机器学习模型具有从与所述主体的图像对应的图像数据确定的一个或更多个特征作为输入;
检索与从所述主体的位置的一个或更多个视场的空间模型对应的一组空间区域;
从所述注视方向确定所述主体的注视是否与所述空间区域中的至少一个空间区域相交;以及
如果所述主体的所述注视与所述空间区域中的至少一个空间区域相交,则基于与所述主体的所述注视相交的所述至少一个空间区域来启动操作。
15.如权利要求14所述的系统,其中所述机器学习模型进一步包括回归模型。
16.如权利要求14所述的系统,其中所述空间区域包括与对象的表面对应的三维表面。
17.如权利要求16所述的系统,其中所述对象是车辆。
18.如权利要求17所述的系统,其中所述空间区域包括从所述车辆的内部可见的三维表面。
19.如权利要求14所述的系统,其中所述机器学习模型进一步具有以下至少一个作为输入:
所述主体的面部的一个或更多个特征点,
所述主体的头部姿势,
所述主体的所述图像的一个或更多个眼部裁剪,
所述主体的至少一个眼部注视方向,或
所述主体的至少一个眼部注视方向的置信度值。
20.如权利要求14所述的系统,其中所述并行处理电路进一步配置为:确定注视起点,并且其中所述确定所述主体的注视是否与所述空间区域中的一个空间区域相交进一步包括:至少基于所述注视方向和所述注视起点确定所述主体的注视是否与所述空间区域中的一个空间区域相交。
21.如权利要求14所述的系统,其中所述并行处理电路进一步配置为接收使用传感器生成的所述图像数据。
22.如权利要求14所述的系统,其中所述启动进一步包括启动车辆的操作。
23.如权利要求14所述的系统,其中所述确定所述主体的注视是否与所述空间区域中的一个空间区域相交进一步包括:将所确定的注视方向投影到所述空间区域中的至少一个空间区域上。
24.如权利要求14所述的系统,其中所述一组空间区域是与从所述主体的所述位置的第一视场对应的第一组空间区域,并且其中所述并行处理电路进一步配置为:
检索与从所述主体的所述位置的第二视场对应的第二组空间区域;
从所确定的注视方向确定所述主体的注视是否与所述第二组空间区域中的至少一个空间区域相交;以及
如果所述主体的所述注视与所述第二组空间区域中的至少一个区域相交,则基于与所述主体的所述注视相交的所述第二组空间区域中的所述至少一个区域启动操作。
25.如权利要求14所述的系统,其中所述空间模型根据一个或更多个对象的基于计算机的模型、所述一个或更多个对象的测量、所述一个或更多个对象的一个或更多个图像、或者被训练为确定所述一个或更多个对象的部分的位置的机器学习模型中的一个确定。
26.如权利要求14所述的系统,其中所述机器学习模型的所述输出进一步包括注视向量,所述注视方向进一步根据所述注视向量确定。
Applications Claiming Priority (4)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| US201962948796P | 2019-12-16 | 2019-12-16 | |
| US62/948,796 | 2019-12-16 | ||
| US17/005,914 US11657263B2 (en) | 2019-12-16 | 2020-08-28 | Neural network based determination of gaze direction using spatial models |
| US17/005,914 | 2020-08-28 |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| CN112989907A true CN112989907A (zh) | 2021-06-18 |
Family
ID=76318117
Family Applications (2)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| CN202011400019.7A Pending CN112989907A (zh) | 2019-12-16 | 2020-12-02 | 使用空间模型的基于神经网络的注视方向确定 |
| CN202011474336.3A Pending CN112989913A (zh) | 2019-12-16 | 2020-12-14 | 利用面部标志和相关联的置信度值的基于神经网络的面部分析 |
Family Applications After (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| CN202011474336.3A Pending CN112989913A (zh) | 2019-12-16 | 2020-12-14 | 利用面部标志和相关联的置信度值的基于神经网络的面部分析 |
Country Status (4)
| Country | Link |
|---|---|
| US (6) | US11487968B2 (zh) |
| JP (3) | JP2021095117A (zh) |
| CN (2) | CN112989907A (zh) |
| DE (1) | DE102021121558A1 (zh) |
Cited By (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN113386694A (zh) * | 2021-06-30 | 2021-09-14 | 重庆长安汽车股份有限公司 | 一种布置在汽车座舱内的定向发声系统及汽车 |
| CN113569785A (zh) * | 2021-08-04 | 2021-10-29 | 上海汽车集团股份有限公司 | 驾驶状态感知方法及装置 |
Families Citing this family (48)
| 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 |
| US11958358B2 (en) * | 2018-05-08 | 2024-04-16 | Sony Semiconductor Solutions Corporation | Image processing apparatus, moving apparatus, 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 |
| US12367703B2 (en) * | 2020-01-17 | 2025-07-22 | Harman International Industries, Incorporated | Multi-task face detector and landmark detector |
| FR3111460B1 (fr) * | 2020-06-16 | 2023-03-31 | Continental Automotive | Procédé de génération d’images d’une caméra intérieure de véhicule |
| 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 |
| EP3993410B1 (en) * | 2020-10-28 | 2024-11-27 | Ningbo Geely Automobile Research & Development Co., Ltd. | A camera system and method for generating an eye contact image view of a person |
| 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 |
| CN112711984B (zh) * | 2020-12-09 | 2022-04-12 | 北京航空航天大学 | 注视点定位方法、装置和电子设备 |
| CN116457688A (zh) * | 2020-12-24 | 2023-07-18 | 深圳市速腾聚创科技有限公司 | 激光发射控制方法、装置及相关设备 |
| US12202432B2 (en) | 2020-12-29 | 2025-01-21 | Nvidia Corporation | Restraint device localization |
| US11748845B2 (en) | 2021-01-27 | 2023-09-05 | Nvidia Corporation | Machine learning techniques for enhancing video conferencing applications |
| JP7594601B2 (ja) * | 2021-03-31 | 2024-12-04 | 株式会社Subaru | 車両 |
| CN115503609B (zh) * | 2021-06-07 | 2024-11-22 | 英业达科技有限公司 | 侦测系统 |
| US20220405617A1 (en) * | 2021-06-22 | 2022-12-22 | Clarifai, Inc. | Artificial intelligence collectors |
| CN113420678A (zh) * | 2021-06-25 | 2021-09-21 | 阿波罗智联(北京)科技有限公司 | 视线追踪方法、装置、设备、存储介质以及计算机程序产品 |
| CN113556600B (zh) * | 2021-07-13 | 2023-08-18 | 广州虎牙科技有限公司 | 基于时序信息的驱动控制方法、装置、电子设备和可读存储介质 |
| CN113590981B (zh) * | 2021-07-27 | 2022-10-11 | 阿波罗智联(北京)科技有限公司 | 针对车辆的信息处理方法、装置、车辆和电子设备 |
| US12051274B2 (en) | 2021-08-05 | 2024-07-30 | Rockwell Collins, Inc. | System and method for assessing operator situational awareness via context-aware gaze detection |
| 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 |
| US12159468B2 (en) * | 2021-10-08 | 2024-12-03 | Woven By Toyota, Inc. | Vehicle occupant gaze detection system and method of using |
| US12249180B2 (en) * | 2021-10-29 | 2025-03-11 | Centre For Intelligent Multidimensional Data Analysis Limited | System and method for detecting a facial apparatus |
| CN114049442B (zh) * | 2021-11-19 | 2024-07-23 | 北京航空航天大学 | 三维人脸视线计算方法 |
| DE112021008519T5 (de) * | 2021-12-15 | 2025-02-27 | Subaru Corporation | Fahrunterstützungsvorrichtung, computerprogramm und aufzeichnungsmedium, das das computerprogramm speichert |
| KR20230095562A (ko) * | 2021-12-22 | 2023-06-29 | 현대자동차주식회사 | 차량 제어 시스템 및 방법 |
| EP4495066A1 (en) | 2022-03-15 | 2025-01-22 | AGC Inc. | Composite substrate, laminate, method for producing composite substrate, and method for producing laminate |
| US12134318B2 (en) * | 2022-04-01 | 2024-11-05 | Ford Global Technologies, Llc | Guided driver positioning systems and methods |
| US12433534B2 (en) * | 2022-06-06 | 2025-10-07 | Bi Incorporated | Systems and methods for detecting impairment based upon facial image |
| KR102603425B1 (ko) * | 2022-06-23 | 2023-11-20 | 주식회사 노타 | 이미지의 헤드 포즈를 결정하는 장치 및 방법 |
| WO2023249307A1 (ko) * | 2022-06-23 | 2023-12-28 | 주식회사 노타 | 뉴럴 네트워크 모델을 이용하여 이미지 이벤트 분류를 결정하는 장치 및 방법 |
| 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 |
| US20240051553A1 (en) * | 2022-08-14 | 2024-02-15 | Nvidia Corporation | Sensor performance monitoring for autonomous systems and applications |
| EP4345774A1 (en) * | 2022-09-27 | 2024-04-03 | Aptiv Technologies Limited | Diminished driver control detection system, method, and software |
| US20240203130A1 (en) * | 2022-12-14 | 2024-06-20 | Kodiak Robotics, Inc. | Systems and methods for detecting and tracking objects in an environment of an autonomous vehicle |
| GB2626135A (en) * | 2023-01-10 | 2024-07-17 | Mercedes Benz Group Ag | Brightness control of infotainment system in vehicles using eye-gaze estimation |
| EP4427995A1 (en) * | 2023-03-06 | 2024-09-11 | Aptiv Technologies AG | Method of assisting a driver of a vehicle, and a driver assistance system thereof |
| WO2024209582A1 (ja) * | 2023-04-05 | 2024-10-10 | 日本電信電話株式会社 | 情報処理装置、およびプログラム |
| US12223677B1 (en) * | 2023-07-18 | 2025-02-11 | Aurora Operations, Inc. | Map-anchored object detection |
| DE102023122452B3 (de) | 2023-08-22 | 2025-01-23 | Cariad Se | Verfahren zur Ausgabe eines Handlungssignals an einen Insassen in einem Kraftfahrzeug |
| US20250111920A1 (en) * | 2023-10-03 | 2025-04-03 | Nidhi O. Lawange | Body position correction |
| WO2025076361A1 (en) * | 2023-10-06 | 2025-04-10 | Tesseract Health, Inc. | Systems, apparatus, articles of manufacture, and methods for gaze angle triggered fundus imaging |
| KR102829131B1 (ko) | 2023-10-23 | 2025-07-04 | 주식회사 에이비스 | 사용자 단말로부터 획득된 이미지로부터 얼굴의 피부 상태를 진단하는 방법 |
| CN119418252A (zh) * | 2025-01-07 | 2025-02-11 | 成都车晓科技有限公司 | 基于车辆远程摄像监控系统的数据处理方法及系统 |
Citations (13)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CA2461641A1 (en) * | 2004-02-26 | 2005-08-26 | Rensselaer Polytechnic Institute | Calibration-free gaze tracking under natural head movement |
| CN102887121A (zh) * | 2011-07-19 | 2013-01-23 | 通用汽车环球科技运作有限责任公司 | 将注视位置映射到车辆中的信息显示器的方法 |
| CN104685541A (zh) * | 2012-09-17 | 2015-06-03 | 感官运动仪器创新传感器有限公司 | 用于确定三维对象上注视点的方法和装置 |
| US20160027218A1 (en) * | 2014-07-25 | 2016-01-28 | Tom Salter | Multi-user gaze projection using head mounted display devices |
| US20160202756A1 (en) * | 2015-01-09 | 2016-07-14 | Microsoft Technology Licensing, Llc | Gaze tracking via eye gaze model |
| US20170043712A1 (en) * | 2014-05-01 | 2017-02-16 | Jaguar Land Rover Limited | Dynamic Lighting Apparatus and Method |
| US20180047288A1 (en) * | 2016-08-10 | 2018-02-15 | Surround.IO Corporation | Method and apparatus for providing goal oriented navigational directions |
| CN108171218A (zh) * | 2018-01-29 | 2018-06-15 | 深圳市唯特视科技有限公司 | 一种基于深度外观注视网络的视线估计方法 |
| US10242457B1 (en) * | 2017-03-20 | 2019-03-26 | Zoox, Inc. | Augmented reality passenger experience |
| CN109583338A (zh) * | 2018-11-19 | 2019-04-05 | 山东派蒙机电技术有限公司 | 基于深度融合神经网络的驾驶员视觉分散检测方法 |
| CN109849788A (zh) * | 2018-12-29 | 2019-06-07 | 北京七鑫易维信息技术有限公司 | 信息提供方法、装置及系统 |
| CN109923466A (zh) * | 2016-11-03 | 2019-06-21 | 依视路国际公司 | 用于确定眼科镜片的方法以及相关联的眼科镜片 |
| US20190213429A1 (en) * | 2016-11-21 | 2019-07-11 | Roberto Sicconi | Method to analyze attention margin and to prevent inattentive and unsafe driving |
Family Cites Families (25)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN1144166C (zh) * | 1999-06-17 | 2004-03-31 | 现代自动车株式会社 | 瞌睡驾驶警告系统的驾驶员瞌睡检测方法 |
| JP4971015B2 (ja) * | 2007-04-10 | 2012-07-11 | 株式会社デンソー | 推定装置 |
| US20120011142A1 (en) | 2010-07-08 | 2012-01-12 | Qualcomm Incorporated | Feedback to improve object recognition |
| JP5618686B2 (ja) * | 2010-08-03 | 2014-11-05 | キヤノン株式会社 | 視線検出装置、視線検出方法及びプログラム |
| WO2014144408A2 (en) * | 2013-03-15 | 2014-09-18 | Nito, Inc. | Systems, methods, and software for detecting an object in an image |
| US9069794B1 (en) | 2013-10-11 | 2015-06-30 | Google Inc. | Determining location information for images using landmark, caption, and metadata location data |
| US9740710B2 (en) * | 2014-09-02 | 2017-08-22 | Elekta Inc. | Systems and methods for segmenting medical images based on anatomical landmark-based features |
| WO2016158856A1 (ja) | 2015-04-02 | 2016-10-06 | 株式会社ニコン | 撮像システム、撮像装置、撮像方法、及び撮像プログラム |
| EP3128386B1 (en) | 2015-08-04 | 2017-12-06 | The Boeing Company | Method and device for tracking a moving target from an air vehicle |
| EP3136289A1 (en) * | 2015-08-28 | 2017-03-01 | Thomson Licensing | Method and device for classifying an object of an image and corresponding computer program product and computer-readable medium |
| 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 |
| CN107871134A (zh) * | 2016-09-23 | 2018-04-03 | 北京眼神科技有限公司 | 一种人脸检测方法及装置 |
| 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 | 浙江大华技术股份有限公司 | 一种人脸对齐方法及装置 |
| DE112019001605T5 (de) | 2018-03-27 | 2020-12-17 | Nvidia Corporation | Trainieren, testen und verifizieren von autonomen maschinen unter verwendung simulierter umgebungen |
| JP6922821B2 (ja) * | 2018-04-13 | 2021-08-18 | オムロン株式会社 | 画像解析装置、方法およびプログラム |
| US10885698B2 (en) | 2018-08-10 | 2021-01-05 | Nvidia Corporation | Method for programmable timeouts of tree traversal mechanisms in hardware |
| JP7232008B2 (ja) * | 2018-09-27 | 2023-03-02 | 株式会社アイシン | 乗員モニタリング装置、乗員モニタリング方法、および乗員モニタリングプログラム |
| 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 |
-
2020
- 2020-08-27 US US17/004,252 patent/US11487968B2/en active Active
- 2020-08-28 US US17/005,914 patent/US11657263B2/en active Active
- 2020-10-23 JP JP2020177812A patent/JP2021095117A/ja active Pending
- 2020-10-23 JP JP2020178171A patent/JP2022039884A/ja active Pending
- 2020-12-02 CN CN202011400019.7A patent/CN112989907A/zh active Pending
- 2020-12-14 CN CN202011474336.3A patent/CN112989913A/zh active Pending
-
2021
- 2021-08-19 DE DE102021121558.7A patent/DE102021121558A1/de active Pending
-
2022
- 2022-10-31 US US18/051,296 patent/US11934955B2/en active Active
-
2023
- 2023-04-10 US US18/298,115 patent/US12314854B2/en active Active
-
2024
- 2024-03-14 US US18/605,628 patent/US20240265254A1/en active Pending
-
2025
- 2025-05-27 US US19/219,696 patent/US20250284958A1/en active Pending
- 2025-06-18 JP JP2025102494A patent/JP2025134845A/ja active Pending
Patent Citations (16)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CA2461641A1 (en) * | 2004-02-26 | 2005-08-26 | Rensselaer Polytechnic Institute | Calibration-free gaze tracking under natural head movement |
| CN102887121A (zh) * | 2011-07-19 | 2013-01-23 | 通用汽车环球科技运作有限责任公司 | 将注视位置映射到车辆中的信息显示器的方法 |
| CN104685541A (zh) * | 2012-09-17 | 2015-06-03 | 感官运动仪器创新传感器有限公司 | 用于确定三维对象上注视点的方法和装置 |
| US20170043712A1 (en) * | 2014-05-01 | 2017-02-16 | Jaguar Land Rover Limited | Dynamic Lighting Apparatus and Method |
| US20160027218A1 (en) * | 2014-07-25 | 2016-01-28 | Tom Salter | Multi-user gaze projection using head mounted display devices |
| CN106662925A (zh) * | 2014-07-25 | 2017-05-10 | 微软技术许可有限责任公司 | 使用头戴式显示器设备的多用户注视投影 |
| US20160202756A1 (en) * | 2015-01-09 | 2016-07-14 | Microsoft Technology Licensing, Llc | Gaze tracking via eye gaze model |
| CN109906165A (zh) * | 2016-08-10 | 2019-06-18 | 兹沃公司 | 使用推断的注意力模型经由收集和存储的元数据提供信息的方法和设备 |
| US20180047288A1 (en) * | 2016-08-10 | 2018-02-15 | Surround.IO Corporation | Method and apparatus for providing goal oriented navigational directions |
| CN109923466A (zh) * | 2016-11-03 | 2019-06-21 | 依视路国际公司 | 用于确定眼科镜片的方法以及相关联的眼科镜片 |
| US20190278108A1 (en) * | 2016-11-03 | 2019-09-12 | Essilor International | Method for determining an ophthalmic lens and associated ophthalmic lens |
| US20190213429A1 (en) * | 2016-11-21 | 2019-07-11 | Roberto Sicconi | Method to analyze attention margin and to prevent inattentive and unsafe driving |
| US10242457B1 (en) * | 2017-03-20 | 2019-03-26 | Zoox, Inc. | Augmented reality passenger experience |
| CN108171218A (zh) * | 2018-01-29 | 2018-06-15 | 深圳市唯特视科技有限公司 | 一种基于深度外观注视网络的视线估计方法 |
| CN109583338A (zh) * | 2018-11-19 | 2019-04-05 | 山东派蒙机电技术有限公司 | 基于深度融合神经网络的驾驶员视觉分散检测方法 |
| CN109849788A (zh) * | 2018-12-29 | 2019-06-07 | 北京七鑫易维信息技术有限公司 | 信息提供方法、装置及系统 |
Cited By (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN113386694A (zh) * | 2021-06-30 | 2021-09-14 | 重庆长安汽车股份有限公司 | 一种布置在汽车座舱内的定向发声系统及汽车 |
| CN113569785A (zh) * | 2021-08-04 | 2021-10-29 | 上海汽车集团股份有限公司 | 驾驶状态感知方法及装置 |
Also Published As
| Publication number | Publication date |
|---|---|
| CN112989913A (zh) | 2021-06-18 |
| DE102021121558A1 (de) | 2022-03-03 |
| US20240265254A1 (en) | 2024-08-08 |
| US20230078171A1 (en) | 2023-03-16 |
| US12314854B2 (en) | 2025-05-27 |
| US11487968B2 (en) | 2022-11-01 |
| US20230244941A1 (en) | 2023-08-03 |
| US11657263B2 (en) | 2023-05-23 |
| US20210182625A1 (en) | 2021-06-17 |
| US20210182609A1 (en) | 2021-06-17 |
| US11934955B2 (en) | 2024-03-19 |
| JP2025134845A (ja) | 2025-09-17 |
| US20250284958A1 (en) | 2025-09-11 |
| JP2022039884A (ja) | 2022-03-10 |
| JP2021095117A (ja) | 2021-06-24 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US12314854B2 (en) | Neural network based determination of gaze direction using spatial models | |
| JP7742240B2 (ja) | 自律及び半自律運転アプリケーションのための乗員注意力及び認知負荷監視 | |
| US11682272B2 (en) | Systems and methods for pedestrian crossing risk assessment and directional warning | |
| CN114270294B (zh) | 使用眩光作为输入的注视确定 | |
| CN112989914B (zh) | 具有自适应加权输入的注视确定机器学习系统 | |
| CN113767389A (zh) | 从用于自主机器应用的经变换的真实世界传感器数据模拟逼真的测试数据 | |
| US12198450B2 (en) | Systems and methods for performing operations in a vehicle using gaze detection | |
| CN111133448A (zh) | 使用安全到达时间控制自动驾驶车辆 | |
| CN115218888A (zh) | 用于更新高清地图的系统和方法 | |
| US20230341235A1 (en) | Automatic graphical content recognition for vehicle applications | |
| CN118823848A (zh) | 具有自适应加权输入的注视确定机器学习系统 | |
| US20240104941A1 (en) | Sensor calibration using fiducial markers for in-cabin monitoring systems and applications | |
| CN119559596A (zh) | 用于自主和半自主系统及应用的路径标记检测和分类 | |
| CN118940202A (zh) | 用于自主系统和应用的使用传感器融合的对象检测 | |
| CN120656145A (zh) | 用于汽车系统和应用的三维(3d)头部姿态预测 | |
| WO2025014757A1 (en) | Image-based three-dimensional occupant assessment for in-cabin monitoring systems and applications | |
| CN120655812A (zh) | 用于车辆环境可视化的基于深度学习的环境建模 | |
| WO2025014760A1 (en) | Occupant evaluation using multi-modal sensor fusion for in-cabin monitoring systems and applications | |
| CN119459722A (zh) | 确定自主和半自主系统以及应用中的定位准确度 | |
| CN120020794A (zh) | 使用模拟传感器数据的自主机器和应用的视点自适应感知 | |
| CN120655873A (zh) | 使用生成式ai的基于深度的车辆环境可视化 | |
| CN120655872A (zh) | 使用生成式ai的基于深度的车辆环境可视化 | |
| CN120043541A (zh) | 用于汽车系统和应用的速度限制融合 | |
| CN118573830A (zh) | 生成用于训练舱室内监控系统和应用的真值注视数据 |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| PB01 | Publication | ||
| PB01 | Publication | ||
| SE01 | Entry into force of request for substantive examination | ||
| SE01 | Entry into force of request for substantive examination |