CN112424788A - 使用三维眼睛注视矢量的车辆乘员参与 - Google Patents
使用三维眼睛注视矢量的车辆乘员参与 Download PDFInfo
- Publication number
- CN112424788A CN112424788A CN201980007318.3A CN201980007318A CN112424788A CN 112424788 A CN112424788 A CN 112424788A CN 201980007318 A CN201980007318 A CN 201980007318A CN 112424788 A CN112424788 A CN 112424788A
- Authority
- CN
- China
- Prior art keywords
- vehicle
- occupant
- eye gaze
- determining
- interest
- 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
- 239000013598 vector Substances 0.000 title claims abstract description 127
- 210000001508 eye Anatomy 0.000 claims abstract description 285
- 238000000034 method Methods 0.000 claims abstract description 104
- 230000009471 action Effects 0.000 claims abstract description 18
- 238000010801 machine learning Methods 0.000 claims description 141
- 230000001815 facial effect Effects 0.000 claims description 51
- 238000003860 storage Methods 0.000 claims description 29
- 230000004044 response Effects 0.000 claims description 8
- 210000001747 pupil Anatomy 0.000 claims description 4
- 238000012549 training Methods 0.000 description 45
- 210000003128 head Anatomy 0.000 description 39
- 238000012545 processing Methods 0.000 description 26
- 230000006870 function Effects 0.000 description 24
- 238000013528 artificial neural network Methods 0.000 description 22
- 239000010410 layer Substances 0.000 description 21
- 238000010586 diagram Methods 0.000 description 20
- 238000004891 communication Methods 0.000 description 17
- 230000008569 process Effects 0.000 description 13
- 238000005457 optimization Methods 0.000 description 12
- 230000000306 recurrent effect Effects 0.000 description 12
- 238000001514 detection method Methods 0.000 description 11
- 238000004458 analytical method Methods 0.000 description 10
- 238000003066 decision tree Methods 0.000 description 7
- 230000003287 optical effect Effects 0.000 description 7
- 238000003339 best practice Methods 0.000 description 6
- 230000001965 increasing effect Effects 0.000 description 6
- 230000033001 locomotion Effects 0.000 description 6
- 238000004806 packaging method and process Methods 0.000 description 6
- 230000002787 reinforcement Effects 0.000 description 6
- 230000002776 aggregation Effects 0.000 description 5
- 238000004220 aggregation Methods 0.000 description 5
- 238000000513 principal component analysis Methods 0.000 description 5
- 238000007637 random forest analysis Methods 0.000 description 5
- 238000013527 convolutional neural network Methods 0.000 description 4
- 230000001537 neural effect Effects 0.000 description 4
- 238000007781 pre-processing Methods 0.000 description 4
- 230000009467 reduction Effects 0.000 description 4
- 230000003044 adaptive effect Effects 0.000 description 3
- 238000013145 classification model Methods 0.000 description 3
- 238000013500 data storage Methods 0.000 description 3
- 238000009826 distribution Methods 0.000 description 3
- 238000012417 linear regression Methods 0.000 description 3
- 230000000007 visual effect Effects 0.000 description 3
- 238000012935 Averaging Methods 0.000 description 2
- 238000004590 computer program Methods 0.000 description 2
- 238000000354 decomposition reaction Methods 0.000 description 2
- 230000003247 decreasing effect Effects 0.000 description 2
- 230000001419 dependent effect Effects 0.000 description 2
- 238000011143 downstream manufacturing Methods 0.000 description 2
- 210000005069 ears Anatomy 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 238000000605 extraction Methods 0.000 description 2
- 210000004709 eyebrow Anatomy 0.000 description 2
- 239000000835 fiber Substances 0.000 description 2
- 230000003993 interaction Effects 0.000 description 2
- 238000007477 logistic regression Methods 0.000 description 2
- 230000007774 longterm Effects 0.000 description 2
- 238000013507 mapping Methods 0.000 description 2
- 238000012544 monitoring process Methods 0.000 description 2
- 210000000214 mouth Anatomy 0.000 description 2
- 210000001331 nose Anatomy 0.000 description 2
- 238000010238 partial least squares regression Methods 0.000 description 2
- 230000000644 propagated effect Effects 0.000 description 2
- 238000005070 sampling Methods 0.000 description 2
- 230000003068 static effect Effects 0.000 description 2
- 230000009466 transformation Effects 0.000 description 2
- 241000288113 Gallirallus australis Species 0.000 description 1
- 235000014749 Mentha crispa Nutrition 0.000 description 1
- 244000078639 Mentha spicata Species 0.000 description 1
- 238000005481 NMR spectroscopy Methods 0.000 description 1
- 238000010521 absorption reaction Methods 0.000 description 1
- 238000003491 array Methods 0.000 description 1
- 238000013473 artificial intelligence Methods 0.000 description 1
- 238000004422 calculation algorithm Methods 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 230000001413 cellular effect Effects 0.000 description 1
- 239000003795 chemical substances by application Substances 0.000 description 1
- 238000002790 cross-validation Methods 0.000 description 1
- 238000013135 deep learning Methods 0.000 description 1
- 238000003708 edge detection Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000005611 electricity Effects 0.000 description 1
- 238000013213 extrapolation Methods 0.000 description 1
- 230000008921 facial expression Effects 0.000 description 1
- 239000000446 fuel Substances 0.000 description 1
- 230000002068 genetic effect Effects 0.000 description 1
- 238000009499 grossing Methods 0.000 description 1
- 230000001939 inductive effect Effects 0.000 description 1
- 238000003064 k means clustering Methods 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 238000013178 mathematical model Methods 0.000 description 1
- 239000011159 matrix material Substances 0.000 description 1
- 230000000116 mitigating effect Effects 0.000 description 1
- 238000003058 natural language processing Methods 0.000 description 1
- 210000002569 neuron Anatomy 0.000 description 1
- 238000013450 outlier detection Methods 0.000 description 1
- 238000013139 quantization Methods 0.000 description 1
- 239000002356 single layer Substances 0.000 description 1
- 238000012358 sourcing Methods 0.000 description 1
- 230000003595 spectral effect Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 238000012706 support-vector machine Methods 0.000 description 1
- 238000001931 thermography Methods 0.000 description 1
- 238000003325 tomography Methods 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
- 238000013526 transfer learning Methods 0.000 description 1
- 238000000844 transformation Methods 0.000 description 1
- 230000001131 transforming effect Effects 0.000 description 1
Images
Classifications
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B60—VEHICLES IN GENERAL
- B60W—CONJOINT CONTROL OF VEHICLE SUB-UNITS OF DIFFERENT TYPE OR DIFFERENT FUNCTION; CONTROL SYSTEMS SPECIALLY ADAPTED FOR HYBRID VEHICLES; ROAD VEHICLE DRIVE CONTROL SYSTEMS FOR PURPOSES NOT RELATED TO THE CONTROL OF A PARTICULAR SUB-UNIT
- B60W50/00—Details of control systems for road vehicle drive control not related to the control of a particular sub-unit, e.g. process diagnostic or vehicle driver interfaces
- B60W50/08—Interaction between the driver and the control system
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V40/00—Recognition of biometric, human-related or animal-related patterns in image or video data
- G06V40/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/19—Sensors therefor
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B60—VEHICLES IN GENERAL
- B60W—CONJOINT CONTROL OF VEHICLE SUB-UNITS OF DIFFERENT TYPE OR DIFFERENT FUNCTION; CONTROL SYSTEMS SPECIALLY ADAPTED FOR HYBRID VEHICLES; ROAD VEHICLE DRIVE CONTROL SYSTEMS FOR PURPOSES NOT RELATED TO THE CONTROL OF A PARTICULAR SUB-UNIT
- B60W40/00—Estimation or calculation of non-directly measurable driving parameters for road vehicle drive control systems not related to the control of a particular sub unit, e.g. by using mathematical models
- B60W40/08—Estimation or calculation of non-directly measurable driving parameters for road vehicle drive control systems not related to the control of a particular sub unit, e.g. by using mathematical models related to drivers or passengers
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N20/00—Machine learning
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/70—Determining position or orientation of objects or cameras
- G06T7/73—Determining position or orientation of objects or cameras using feature-based methods
- G06T7/74—Determining position or orientation of objects or cameras using feature-based methods involving reference images or patches
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/10—Image acquisition
- G06V10/12—Details of acquisition arrangements; Constructional details thereof
- G06V10/14—Optical characteristics of the device performing the acquisition or on the illumination arrangements
- G06V10/143—Sensing or illuminating at different wavelengths
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/20—Image preprocessing
- G06V10/25—Determination of region of interest [ROI] or a volume of interest [VOI]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V20/00—Scenes; Scene-specific elements
- G06V20/50—Context or environment of the image
- G06V20/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; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V40/00—Recognition of biometric, human-related or animal-related patterns in image or video data
- G06V40/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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N13/00—Stereoscopic video systems; Multi-view video systems; Details thereof
- H04N13/30—Image reproducers
- H04N13/366—Image reproducers using viewer tracking
- H04N13/383—Image reproducers using viewer tracking for tracking with gaze detection, i.e. detecting the lines of sight of the viewer's eyes
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B60—VEHICLES IN GENERAL
- B60W—CONJOINT CONTROL OF VEHICLE SUB-UNITS OF DIFFERENT TYPE OR DIFFERENT FUNCTION; CONTROL SYSTEMS SPECIALLY ADAPTED FOR HYBRID VEHICLES; ROAD VEHICLE DRIVE CONTROL SYSTEMS FOR PURPOSES NOT RELATED TO THE CONTROL OF A PARTICULAR SUB-UNIT
- B60W2420/00—Indexing codes relating to the type of sensors based on the principle of their operation
- B60W2420/40—Photo or light sensitive means, e.g. infrared sensors
- B60W2420/403—Image sensing, e.g. optical camera
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B60—VEHICLES IN GENERAL
- B60W—CONJOINT CONTROL OF VEHICLE SUB-UNITS OF DIFFERENT TYPE OR DIFFERENT FUNCTION; CONTROL SYSTEMS SPECIALLY ADAPTED FOR HYBRID VEHICLES; ROAD VEHICLE DRIVE CONTROL SYSTEMS FOR PURPOSES NOT RELATED TO THE CONTROL OF A PARTICULAR SUB-UNIT
- B60W2540/00—Input parameters relating to occupants
- B60W2540/225—Direction of gaze
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/10—Image acquisition modality
- G06T2207/10048—Infrared image
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/20—Special algorithmic details
- G06T2207/20081—Training; Learning
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/30—Subject of image; Context of image processing
- G06T2207/30196—Human being; Person
- G06T2207/30201—Face
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/30—Subject of image; Context of image processing
- G06T2207/30248—Vehicle exterior or interior
- G06T2207/30268—Vehicle interior
Abstract
根据本公开的技术,一种方法包括:使用车辆的相机系统捕获车辆的乘员的至少一个图像;基于乘员的至少一个图像来确定车辆中乘员的一个或多个眼睛的位置;以及基于乘员的至少一个图像来确定眼睛注视矢量。该方法还可以包括:基于眼睛注视矢量,乘员的一个或多个眼睛的位置以及车辆的车辆数据文件,从乘员正在看的车辆的多个感兴趣区域中来确定感兴趣区域,其中,车辆数据文件指定多个感兴趣区域中的每个感兴趣区域的相应位置,并基于感兴趣区域选择性地执行动作。
Description
背景技术
具有半自动驾驶特征的车辆变得越来越普遍。车辆可包括有助于将车辆保持在车道边界内,引导车辆转弯或基于其他车辆的存在而自动加速和制动的特征。这些驾驶辅助特征在正确使用时会有所帮助,但一些驾驶员仍依赖这些特征以在各种时间段内完全控制车辆。驾驶员可能正在与车辆的头部单元交互,正在看着窗外的风景,正在看着移动电话,吃饭或执行其他任务,而不是主动驾驶车辆。不幸的是,由于这些驾驶辅助系统被设计为需要用户交互,因此疏忽的驾驶员可能会导致事故。
发明内容
总体上,本公开涉及用于使计算系统能够确定用户是使用三维车辆车厢空间内的三维眼睛注视矢量来参与驾驶车辆还是正在关注其他事物的技术。不要求用户触摸方向盘,而是确定驾驶员的眼睛睁开,分析面部表情或眨眼速度,本公开的技术可以使计算系统能够更精确地确定用户正在看的车辆内的位置,并确定什么东西实际位于车辆内的位置。例如,计算系统可以确定乘员的头部和/或眼睛在三维车辆车厢内的位置,并且至少部分地基于乘员的面部平面来确定三维眼睛注视矢量。使用乘员的头部/眼睛在车厢空间内的三维放置和三维眼睛注视矢量,计算系统可以更精确地确定用户正在看的三维车厢空间内的位置,诸如后视镜,车辆的头部单元,车辆的仪表显示器,车辆的前挡风玻璃等。在一些情况下,计算系统可以确定乘员正在看车辆外部的物体(例如,因为乘员正在看的位置与窗户相关联)。在这样的情况下,计算系统可以确定是否乘员正在看向侧窗外并且因此可能没有充分注意驾驶车辆。使用用户看着的位置,计算系统可以采取各种与安全有关的动作或其他动作(例如,拍摄用户正在看向窗外的东西的图片,限制驾驶员与头部单元的互动的能力而不会限制乘客与头部单元互动的能力,评估驾驶员遵守道路规则的程度等)。
以这种方式,本公开的技术可以使计算系统能够更精确地确定车辆的乘员在看哪里,以便更好地确定乘员与车辆的参与程度。通过更精确地确定乘员在看哪里,计算系统不仅可以确定乘员是否在注意道路,而且计算系统还可以执行与乘员正在看的物体有关的各种其他动作。因此,与一般的驾驶员注意系统相比,本文所述的眼睛注视检测系统可以使计算系统能够提供附加的功能。
在附图和以下描述中阐述了一个或多个示例的细节。根据说明书和附图以及根据权利要求书,本公开的其他特征、目的和优点将是显而易见的。
附图说明
图1是示出了根据本公开的一个或多个方面的包括示例性车辆计算系统的车辆内部的概念图,该示例性车辆计算系统被配置为使用三维眼睛注视矢量来确定驾驶员参与。
图2是示出根据本公开的一个或多个方面的具有内部相机系统的示例性车辆的概念图。
图3是示出根据本公开的一个或多个方面的驾驶员的示例性面部平面的概念图。
图4是示出根据本公开的一个或多个方面的具有感兴趣区域的车辆的示例内部的概念图。
图5是示出根据本公开的一个或多个方面的示例计算设备的框图,该示例计算设备被配置为使用三维眼睛注视矢量来确定驾驶员参与。
图6A至图6E是示出根据本公开的一个或多个方面的示例机器学习模型的方面的概念图。
图7是示出根据本公开的一个或多个方面的计算系统的示例操作的流程图,该计算系统被配置为使用三维眼睛注视矢量来确定驾驶员参与。
具体实施方式
图1是示出根据本公开的一个或多个方面的包括示例车辆计算系统的车辆内部的概念图,该示例车辆计算系统被配置为使用三维(3D)眼睛注视矢量来确定驾驶员参与。除了相机102A和102B(统称为“相机102”)以及车辆计算系统104之外,图1还图示了车辆100的内部(在本文中也称为车辆100的“座舱”)的截面图。图1所示的车辆可以是汽车,但是本公开的各方面也可以适用于其他类型的交通工具,包括卡车,摩托车,飞机,船只,火车或其他交通工具。在图1中,驾驶员通常可以占据座椅,而其他乘客座椅可以位于该座椅的后面或旁边。
相机102可以是任何适当类型的图像采集设备中的一个或多个,诸如相机或电荷耦合设备。在一些示例中,相机102可以是具有高视场和浅聚焦深度的一个或多个红外相机,并且可以是定向为通常指向车辆100的一个或多个座椅的背光红外相机。在其他实施例中,相机102可以是或可以进一步包括一个或多个其他类型的相机或图像传感器,其可以包括一个或多个其他红外相机,热像相机,热成像相机,光敏相机,距离传感器,深度相机,断层成像设备,雷达设备或超声波摄像机。在一些示例中,相机102可以是适合于应用计算机视觉技术的任何图像捕获设备。取决于所用传感器或照相机的类型,所得图像可能包括二维图像、三维体积或图像序列。像素值一般对应于一个或多个光谱带中的光强度,但也可能与各种物理量度有关,诸如深度,声波或电磁波的吸收或反射率,或者核磁共振。尽管在图1中仅示出了两个相机102,车辆100可包括位于车辆100内部的两个以上的相机102,并且本公开的技术可使用由任何数量的相机102捕获的任何数量的图像。
通常,车辆计算系统104可操作以协助,通知,娱乐或执行需要用户与车辆乘员交互的其他任务。车辆计算系统104可以被称为车辆头部单元,信息娱乐系统或其子组件。例如,车辆计算系统104可以代表车辆的一个或多个乘员来执行执行功能或处理信息的各种应用。例如,车辆计算系统104可以提供导航服务,该导航服务提供到目的地的方向。车辆计算系统104还可提供信息检索服务,该信息检索服务响应于查询和/或作为先发辅助或推荐而提供信息。车辆计算系统104还可以提供关于车辆的车辆数据,或诸如音频或视频的多媒体。所提及的仅是可由车辆计算系统104提供的功能的几个示例,并且车辆计算系统104可提供许多附加能力。以这种和其他方式,车辆计算系统104可以改善车辆的一个或多个乘员的驾驶或乘坐体验。
使用相机102捕获的图像,相机系统和/或车辆计算系统104可以确定乘员在车辆100内部的位置,并且可以确定乘员的3D眼睛注视矢量(例如3D眼睛注视矢量112)。当乘员正在驾驶车辆100(例如,车辆100的驾驶员)时,相机102可以捕获车辆100的乘员的图像。在一些实例中,相机102可以包括捕获车辆100的其他乘员的图像的相机。相机102可以是包括至少一个或多个处理器和存储器的相机系统的一部分。相机系统或车辆计算系统104或两者可以分析相机102捕获的图像。在各种示例中,本文描述的与车辆计算系统104有关的技术也可以全部或部分地由计算系统执行。
为了将乘员的头部和/或眼睛放置在车辆100的内部,车辆计算系统104使用由一个或多个相机102捕获的图像来确定从相机102中的一个或多个到乘员的眼睛(或头部)的距离。在一些情况下,相机102中的至少两个捕获乘员的图像。给定至少两个相机102中的每一个的位置,车辆计算系统104可以分析图像之间的视差角。使用视差角和相机之间的距离,车辆计算系统104确定至少两个相机102中的一个或多个与乘员的眼睛之间的距离。作为另一示例,相机102中的一个可以是红外相机。使用相机102中的一个,车辆计算系统104可以分析由红外相机捕获的图像的失真,以确定红外相机102和乘员的眼睛之间的距离。
使用该确定的相机102和乘员的眼睛之间的距离以及所捕捉图像中乘员的眼睛的位置,车辆计算系统104可以将乘员的眼睛放置在相对于相机102的3D空间中。即,车辆计算系统104和/或相机系统可以确定乘员的眼睛在车辆100内部相对于相机102中的一个或多个的位置。乘员的眼睛的位置是在相对于相机102中的一个或多个定义的3D空间内的位置。例如,3D空间可以是球形的并且具有对应于相机102之一的位置的质心。在这种示例中,乘员的眼睛的位置可以根据(x,y,z)坐标来定义,其中(0,0,0)是用作球体质心的相机102中的一个的位置。这样的坐标可以被称为位于“基于相机的坐标系”内。
车辆计算系统104还可以跟踪车辆100的乘员的眼睛。例如,使用相机102,车辆计算系统104可以在由相机102捕获的多个不同图像上跟踪乘员的眼睛位置和运动。使用眼睛的位置和瞳孔的运动或眼睛的其他特征(即,眼睛跟踪),车辆计算系统104可以确定第一初始3D眼睛注视矢量。然而,在各种情况下,乘员的眼睛可能被遮挡,并且因此,由相机102捕获的图像可能不包括乘员的眼睛的清晰图像。因此,车辆计算系统104可以不仅仅是依靠跟踪乘员的眼睛的位置和运动,还可以进一步分析捕获的图像以确定乘员的面部平面。
在计算乘员的面部平面中,车辆计算系统104可以识别由相机102中的一个或多个捕获的一个或多个图像中的多个面部界标。面部界标可以包括嘴巴,眼睛,鼻子,耳朵,眉毛,下巴或其他面部特征的边缘。使用所识别的面部界标,车辆计算系统104可以基于各种面部界标之间的几何一致性来确定图像中包括的乘员面部是否呈现出任何俯仰,翻滚或偏航。例如,如果乘员的两只眼睛之间的距离相对于乘员的嘴与眼睛之间的总距离小于当乘员看正前方时的距离,则车辆计算系统104确定乘员正在向左或向右看。如果车辆计算系统104确定图像包括乘员的右耳但不包括乘员的左耳,则车辆计算系统104确定乘员正在向左看。可以基于面部界标之间的距离的相对变化来确定面部平面的俯仰角,翻滚角和偏航角。使用确定的面部平面的俯仰角,翻滚角和偏航角,车辆计算系统104可以确定第二初始3D眼睛注视矢量。如本文所述,俯仰,翻滚和偏航可以指的是用户的头部绕特定轴线的旋转。通常,翻滚可以指绕其垂直轴旋转的头部,这也称为从一侧到另一侧旋转头部。俯仰可以指的是用户上下移动他或她的头,就像该人在点头一样。偏航可以指的是用户通过垂直轴左右旋转他的或她的头部,并且该旋转与使用户的一只耳朵延伸到另一只耳朵的水平面成线。
在各种情况下,车辆计算系统104可以将训练的机器学习模型应用于图像以确定面部平面。可以使用具有已经识别出的面部界标和已经确定的面部平面角度的其他人的图像来训练机器学习模型。机器学习模型可以基于用户反馈和车辆计算系统104提供的反馈来持续学习。例如,车辆计算系统104可以基于将使用面部平面确定的第二3D眼睛注视矢量与使用眼睛跟踪而确定的第一初始3D眼睛注视矢量相比,来对机器学习模型的参数进行排名或调整。下面参照图6A至图6E描述机器学习系统如何操作的附加细节。
一旦确定了第一和第二初始3D眼睛注视矢量,车辆计算系统104就可以基于第一和第二初始3D眼睛注视矢量两者来确定乘员的3D眼睛注视矢量112。在各种情况下,车辆计算系统104可以使用第一和第二初始3D眼睛注视矢量的平均值来确定3D眼睛注视矢量112。在其他示例中,车辆计算系统104可以将权重应用于第一和第二3D眼睛注视矢量中的一个或多个,并使用加权后的值来确定3D眼睛注视矢量112。车辆计算系统104可以基于准确确定第一或第二初始3D眼睛注视矢量的置信度来确定权重以应用于第一和第二初始3D眼睛注视矢量。例如,如果车辆计算系统104仅检测到面部界标的一部分(例如,仅眼睛和鼻子,但是没有嘴或下巴),则可能存在针对该面部平面的俯仰,翻滚和偏航角的增大的误差范围。这样,车辆计算系统104可将减小的加权值应用于第二初始3D眼睛注视矢量,并将增大的加权值应用于使用眼睛跟踪确定的第一初始3D眼睛注视矢量。
虽然被描述为需要第一和第二初始3D眼睛注视矢量两者,但是车辆计算系统104还可以使用第一和第二初始3D眼睛注视矢量中的一个来确定3D眼睛注视矢量112。例如,如果乘员的眼睛在相机102捕获的图像中闭合或者乘员戴着太阳镜,则车辆计算系统104可以使用第二初始3D眼睛注视矢量(即,基于乘员的面部平面的俯仰、翻滚和偏航而确定的3D眼睛注视矢量)作为3D眼睛注视矢量112。作为另一示例,如果相机102捕获的图像包括被部分遮盖的乘员的面部(例如,被乘员的手),则车辆计算系统104可以使用第一初始3D眼睛注视矢量(即,使用眼睛跟踪而确定的3D眼睛注视矢量)作为3D眼睛注视矢量112。
代替或除了车辆计算系统104确定3D眼睛注视矢量112之外,相机系统还可以确定3D眼睛注视矢量112。也就是说,不是车辆计算系统104从相机102接收一个或多个图像,而是相机系统可以分析图像(例如,在每个相机102内或使用与车辆计算系统104不同的计算设备),确定3D眼睛注视矢量112并将3D眼睛注视矢量112的值提供给车辆计算系统104。在一些情况下,相机系统确定第一和第二初始3D眼睛注视矢量,并将其提供给车辆计算系统104。车辆计算系统104然后可以使用从相机系统接收的第一和第二初始3D眼睛注视矢量来确定3D眼睛注视矢量112。
车辆计算系统104使用3D眼睛注视矢量112和乘员的眼睛相对于相机102中的一个或多个的位置,确定乘员正在看的一个或多个感兴趣区域。为了做出这样的确定,车辆计算系统104确定3D眼睛注视矢量112与车辆100的内部的一个或多个位置相交的位置。作为一个示例,车辆100可以不同于第二示例车辆100,车辆计算系统104具有车辆专用数据文件。车辆数据文件包括车辆100内部的每个感兴趣区域的各自的坐标组,其中各自的坐标组中的每个是相对于车辆内部的质心定义的(即,使用基于车辆的坐标系统)并且每个各自的坐标组为感兴趣区域定义二维平面。此外,通过使用定义各种车辆的内部特征的车辆数据文件,本公开的技术可以更容易地应用于各种各样的车辆,而无需程序员为每个不同的车辆定制计算。
由于可以相对于相机102中的一个或多个(即,在基于相机的坐标系内)初始地确定乘员的位置,因此车辆计算系统104可以将乘员的眼睛的初始位置坐标转换为一组相对于车辆数据文件中指定的质心而定义的坐标。也就是说,不是使用相对于相机102中的一个或多个而定义的球体的坐标,而是车辆计算系统104调整乘员的眼睛的位置以定义相对于围绕着车辆100的内部的球体的质心的位置。在包围车辆100的内部并且具有位于除了相机102中的一个的位置之外的某处的质心的球体内的坐标位置,在本文中可以被称为在“基于车辆的坐标系”内具有坐标。在一些情况下,基于车辆的坐标系的质心可以位于车辆100的内部的中心点。在其他情况下,质心可以位于车辆100的驾驶员座椅与仪表板或方向盘之间的空间的中心点。
车辆数据文件可以使用基于车辆的坐标系来定义一个或多个相机102在车辆100内的位置(例如,根据(x,y,z)坐标)。车辆计算系统104使用相机102中的一个或多个的坐标位置以及使用基于相机的坐标系定义的乘员的眼睛的坐标位置,并在基于车辆的坐标系中生成乘员的眼睛的新坐标位置。
使用乘员的眼睛的基于车辆的坐标系位置,车辆计算系统104从乘员的眼睛向外投射3D眼睛注视矢量112,直到其和与感兴趣区域相关联的平面相交为止。车辆计算系统104确定与3D眼睛注视矢量112相交的平面是车辆100的乘员正在注视的感兴趣区域。如图1所示,3D眼睛注视矢量112朝着车辆100的挡风玻璃投射。因此,车辆计算系统104可以确定乘员正在看着车辆100的挡风玻璃并参与驾驶车辆100。
在一些情况下,车辆计算系统104可以随着时间的推移周期性地或连续地确定车辆100的乘员正在看哪个感兴趣区域。通过监视乘员正在看哪个感兴趣区域,车辆计算系统104可以确定乘员的参与水平,并且可以确定乘员遵守道路规则和安全驾驶最佳实践的程度。例如,如果乘员改变车道而不看侧视镜或者将车辆100倒车而不看后窗,则车辆计算系统104可以确定乘员没有根据安全最佳实践而驾驶车辆100。作为另一示例,如果在车辆100移动时乘员长时间观看车辆计算系统104的显示器,则车辆计算系统104可以锁定或禁止乘员与车辆计算系统104交互。
以这种方式,本公开的技术可以使车辆计算系统能够更准确地确定车辆的乘员在看哪里,并且在乘员是车辆的驾驶员的情况下更准确地确定驾驶员参与。此外,车辆计算系统104可以使用乘员正在看什么的更准确的确定来自动采取各种与安全有关的动作或任何数量的其他动作。因此,本公开的技术可以实现改进的车辆安全系统。
图2是示出根据本公开的一个或多个方面的具有内部相机系统的示例车辆的概念图。如图2所示,车辆内部200包括放置在车辆内部200的各个不同位置处的四个相机202A-202D(统称为“相机202”)。相机202中的每个可以是关于图1示出和描述的相机102的示例。
如本文所述,车辆内部200内的不同相机放置可提供用于捕获乘员图像的不同优点或缺点。例如,相机202A位于车辆内部200的仪表板内。由于相机202A直接位于车辆的驾驶员可能的头部位置的前方,因此由相机202A捕获的图像可以提供用于确定驾驶员面部平面的俯仰,翻滚和偏航的高质量图像。而位于车辆头部单元显示器上方的相机202C可以捕获包括车辆的驾驶员和乘客两者的面部的图像。这样的图像可以用于确定车辆的乘客的3D眼睛注视矢量,并且还可以用于区分是否是车辆的驾驶员还是乘客正在与车辆头部单元显示器交互。作为另一个例子,位于驾驶员侧的A柱内的相机202D可以是红外相机,其捕获用于确定从相机202D到驾驶员的眼睛的距离的图像。替代地或额外地,车辆计算系统104可以使用由相机202B和202D两者捕获的图像来确定相对于驾驶员的眼睛的视差角,并且使用视差角来确定从相机202B和202D中的一个或两者到驾驶员的眼睛的距离(或相机202B和202D之间的中心点)。虽然车辆内部200是左驾车辆,但是在其他示例中,图1的车辆内部200或车辆100可以是右驾车辆。在这样的示例中,相机202的放置可以被翻转(例如,相机202D可以在右侧A柱上)。
图3是示出根据本公开的一个或多个方面的驾驶员的示例面部平面的概念图。如图3所示,车辆计算系统104识别一个或多个面部界标302和面部平面304,并确定3D眼睛注视矢量306。
面部界标302包括驾驶员嘴巴的两个角,驾驶员鼻子的根部以及每个驾驶员眼睛的角。车辆计算系统104可以使用这些面部界标302来定义面部平面。例如,车辆计算系统104可以确定一个或多个面部界标302之间的距离。在一些情况下,车辆计算系统104可以确定驾驶员的嘴的两个角之间和/或不同眼睛的角之间的距离。通过将这些距离与驾驶员的参考距离或学习距离进行比较,车辆计算系统104可以确定定义面部平面304的坐标。
使用面部平面304,车辆计算系统104可以确定3D眼睛注视矢量306(例如,关于图1所述的第二初始3D眼睛注视矢量)。虽然显示为从驾驶员的双眼出来的箭头,但3D眼睛注视矢量306可以是能够从驾驶员的一只或两只眼睛的位置向外投射的单个矢量。此外,可以将3D眼睛注视矢量306与由车辆计算系统使用眼睛跟踪确定的另一3D眼睛注视矢量组合。
图4是示出根据本公开的一个或多个方面的具有感兴趣区域的车辆的示例内部的概念图。如图4所示,车辆的内部包括感兴趣区域400A-400G(统称为“感兴趣区域400”)。可以在车辆数据文件中为图4所示的车辆内部的特定品牌和型号定义感兴趣区域400。车辆数据文件为在基于车辆的坐标系内定义平面的感兴趣区域400中的每个指定坐标。通常,车辆数据文件是使用结构化数据格式定义的,例如可扩展标记语言(XML)。然而,包括在车辆数据文件中的信息可以以车辆计算系统104被配置为处理的任何格式来编码。
每个感兴趣区域400可以与车辆的物理元件相关联。尽管被描述为车辆内部的感兴趣区域,但是在各种情况下,感兴趣区域可以与位于车辆外部的对象相关联。例如,感兴趣区域400A和400G可各自与车辆的侧镜(例如,分别为驾驶员侧镜和乘客侧镜)相关联。
其他感兴趣区域可以与车辆的单个物理元件的不同区域相关联。例如,感兴趣区域400B和400D都可以与车辆的挡风玻璃相关联。在该示例中,挡风玻璃的不同部分可以与驾驶员参与的不同水平相关联。因此,如果车辆计算系统104确定驾驶员正在看感兴趣区域400B,则车辆计算系统104可以确定用户可能正在看车辆前方的道路并且参与驾驶车辆。然而,如果车辆计算系统104确定驾驶员正在看感兴趣区域400D,则车辆计算系统104可以确定驾驶员正在看路边的东西,并且因此,与驾驶员正在看车辆前方的道路相比可能更少参与驾驶车辆。在车辆计算系统104正在确定驾驶员是否遵循驾驶安全最佳实践的情况下,车辆计算系统104可以确定车辆处于刚刚变成绿色的交通信号灯处。车辆计算系统104可以例如通过确定驾驶员是否看感兴趣区域400D来确定驾驶员是否检查了可能已经闯红灯的其他车辆。
在一些示例中,车辆计算系统104可以使用驾驶员正在看的感兴趣区域来区分驾驶员正在执行的动作和乘客正在执行的动作。例如,如果车辆计算系统104正在从与信息娱乐系统交互的用户接收用户输入(例如,在导航应用中输入地址,选择音乐,调整车辆或乘客设置等),则车辆计算系统104可以确定驾驶员是否正在看感兴趣区域400F。如果车辆计算系统104确定驾驶员没有在看感兴趣区域400F,则车辆计算系统104可以确定乘客正在提供输入并且允许乘客继续使用信息娱乐系统而没有限制。
然而,如果驾驶员正在看感兴趣区域400F,则车辆计算系统104可以确定驾驶员可能正在提供用户输入。如果驾驶员在预定时间段内提供了超过阈值数量的用户输入或在大于预定时间段内继续与信息娱乐系统交互,则车辆计算系统104可采取各种动作来鼓励驾驶员恢复注意道路。例如,作为非限制性示例,车辆计算系统104可以停止处理附加的用户输入,可以停止在显示器上输出图形用户界面,或者可以输出提醒驾驶员注意道路的消息。
在一些情况下,车辆计算系统104可以使用所确定的感兴趣区域来确定在哪里输出各种通知。例如,如果车辆计算系统104确定驾驶员正在看感兴趣区域400E(即,对应于仪表盘),则车辆计算系统104可以使用该仪表盘输出表明车辆中的燃料剩的很少的警告消息。如果车辆计算系统104确定驾驶员正在看感兴趣区域400B而不是400E,则车辆计算系统104可以使用头上显示器输出警告消息,从而将其投射在感兴趣区域400B内的车辆的挡风玻璃上。
图5是示出了根据本公开的一个或多个方面的示例计算设备的框图,该示例计算设备被配置为使用3D眼睛注视矢量来确定驾驶员的参与。计算设备500是图1的车辆计算系统104的更详细的示例。图5仅示出了计算设备500的一个特定示例,而计算设备500的许多其他示例可以在其他情况中使用,并且可以包括示例计算设备500中包括的组件的子集,或者可以包括图5中未示出的附加组件。
如图5的示例中所示,计算设备500包括存在敏感显示器512,一个或多个处理器540,一个或多个通信单元542,一个或多个输入组件544,一个或多个输出组件546以及一个或多个存储设备548。计算设备500的存储设备548包括眼睛注视模块522,眼睛位置模块524,感兴趣区域模块526和车辆数据528。
通信信道550可以互连组件512、540、542、546和/或548中的每个,以进行组件间通信(物理地,通信地和/或可操作地)。在一些示例中,通信信道550可以包括系统总线,网络连接,一个或多个进程间通信数据结构或用于通信数据(也称为信息)的任何其他组件。
计算设备500的一个或多个通信单元542可以通过发送和/或接收数据来与外部设备通信。例如,计算设备500可以使用一个或多个通信单元542来在诸如蜂窝无线电网络的无线电网络上发送和/或接收无线电信号。在一些示例中,通信单元542可以在诸如全球定位系统(GPS)网络的卫星网络上发送和/或接收卫星信号。通信单元542的示例包括网络接口卡(例如,诸如以太网卡)、光收发器、射频收发器、GPS接收器或可以发送和/或接收信息的任何其他类型的设备。通信单元542的其他示例可以包括在移动设备中发现的短波无线电(例如,NFC,蓝牙(包括BLE))、GPS、3G、4G、5G和WIFI无线电以及通用串行总线(USB)控制器等。
计算设备500的一个或多个输入组件544可以接收输入。仅举几个例子,输入的示例是触觉、音频、动能和光学输入。在一个示例中,计算设备500的输入组件544包括鼠标、键盘、触摸板、语音响应系统、摄像机、按钮、滚轮、拨盘、控制板、麦克风或用于检测来自人或机器的输入的任何其他类型的设备。输入组件544可以包括相机,诸如图1的相机102。在一些示例中,输入组件544可以是存在敏感输入组件,其可以包括存在敏感屏幕,触敏屏幕等。
计算设备500的一个或多个输出组件546可以生成输出。输出的示例是触觉、音频和视频输出。在一些示例中,计算设备500的输出组件546包括存在敏感屏幕、声卡、视频图形适配器卡、扬声器、阴极射线管(CRT)监视器、液晶显示器(LCD)、有机发光二极管(OLED)或用于向人或机器生成触觉、音频和/或视觉输出的任何其他类型的设备。
在一些示例中,计算设备500的存在敏感显示器512可以包括输入组件544和/或输出组件546的功能。在图5的示例中,存在敏感显示器512可以包括存在敏感输入组件504,诸如存在敏感屏幕或触敏屏幕。在一些示例中,存在敏感输入组件504可以在存在敏感输入组件处和/或附近检测对象。作为一个示例范围,存在敏感输入组件504可以检测距离存在敏感输入组件504两英寸或更短以内的对象,诸如手指或手写笔。存在敏感输入组件504可以确定在其上检测到对象的存在敏感输入组件的位置(例如,(x,y)坐标)。在另一示例范围中,存在敏感输入组件504可以检测到距离存在敏感输入组件504两英寸或更短的对象,并且其他范围也是可能的。存在敏感输入组件504可以使用电容,感应和/或光学识别技术来确定由用户的手指选择的存在敏感输入组件504的位置。
在一些示例中,如关于输出组件546所述,存在敏感显示器512还可以使用触觉、音频或视频刺激向用户提供输出。例如,存在敏感显示器512可以包括显示组件502,该显示组件502显示图形用户界面。显示组件502可以是提供视觉输出的任何类型的输出组件,诸如关于输出组件546所描述的。虽然被示出为计算设备500的集成组件,但是在一些示例中,存在敏感显示器512可以是与计算设备500的其他组件共享数据或信息路径的外部组件,以发送和/或接收输入和输出。例如,存在敏感显示器512可以是位于计算设备500的外部包装内并物理连接到该计算设备500的外部包装(例如,安装在车辆的仪表盘中的车载屏幕)的计算设备500的内置组件。在另一示例中,存在敏感显示器512可以是计算设备500的外部组件,其位于计算设备500的包装外部并且与计算设备500的包装物理分离(例如,与车辆电子控制单元共享有线和/或无线数据路径的监视器、投影仪等)。在一些示例中,存在敏感显示器512在位于计算设备500的包装外部并与计算设备500的包装物理分离时,可以由两个单独的组件来实现:用于接收输入的存在敏感输入组件504和用于提供输出的显示组件502。
计算设备500内的一个或多个存储组件548可存储用于在计算设备500的操作期间进行处理的信息(例如,计算设备500可以存储在计算设备500处执行期间由模块522、524和526访问的数据)。在一些示例中,存储组件548是临时存储器,这意味着存储组件548的主要目的不是长期存储。计算设备500上的存储组件548可以被配置用于作为易失性存储器的信息的短期存储,并且因此如果断电则不保留所存储的内容。易失性存储器的示例包括随机存取存储器(RAM)、动态随机存取存储器(DRAM)、静态随机存取存储器(SRAM)以及本领域已知的其他形式的易失性存储器。
在一些示例中,存储组件548还包括一个或多个计算机可读存储介质。在一些示例中,存储组件548包括一个或多个非暂时性计算机可读存储介质。存储组件548可以被配置为存储比通常由易失性存储器存储的信息更多的信息量。存储组件548可以进一步被配置为作为非易失性存储器空间用于信息的长期存储,并且在通电/断电周期之后保留信息。非易失性存储器的示例包括磁性硬盘、光盘、闪存或电可编程存储器(EPROM)或电可擦除可编程存储器(EEPROM)的形式。存储组件548可以存储与模块522、524和526相关联的程序指令和/或信息(例如,数据)。存储组件548可以包括被配置为存储与522、524和526以及车辆数据528相关联的数据或其他信息的存储器。
一个或多个处理器540可以实现与计算设备500相关联的功能和/或执行指令。处理器540的示例包括应用处理器、显示控制器、辅助处理器、一个或多个传感器集线器以及配置为用作以下功能的任何其他硬件:处理器、处理单元或处理设备。模块522、524和526可以由处理器540操作以执行计算设备500的各种动作、操作或功能。例如,计算设备500的处理器540可以检索并执行由存储组件548存储的使处理器540执行归于模块522、524和526的本文描述的操作的指令。该指令在由处理器540执行时可以使计算设备500将信息存储在存储组件548内。
眼睛位置模块524可以确定乘员的头部或眼睛与位于车辆中的一个或多个相机的距离,并且可以确定乘员的头部或眼睛在3D空间中相对于一个或多个相机的位置。眼睛位置模块524可以确定与关于图1描述的技术一致的乘员的头部和/或眼睛的距离和/或位置。此外,类似于眼睛注视模块522,眼睛位置模块524的全部或一些功能可以由车辆的相机系统,由计算设备500或其组合来执行。
眼睛位置模块524可以在已知两个或更多个相机中的每个相机的位置的情况下,分析由两个或更多个不同相机所捕获的图像之间的视差角。使用视差角和相机之间的距离,眼睛位置模块524确定两个或多个相机中的一个或多个与乘员的眼睛之间的距离。作为另一个示例,眼睛位置模块524可以分析由单个红外相机捕获的图像,以确定由红外相机捕获的图像的失真,以确定红外相机与乘员的眼睛之间的距离。
使用该两个或更多个相机与乘员的眼睛之间的确定的距离以及所捕捉图像中乘员的眼睛的位置,眼睛位置模块524可将乘员的眼睛放置在相对于两个或多个相机的3D空间中。即,眼睛位置模块524可以确定在车辆的内部相对于至少一个相机的位置的乘员的眼睛的位置。乘员的眼睛的位置是相对于至少一个相机而定义的3D空间内的位置。例如,3D空间可以是球形的并且具有对应于相机的位置的质心。在此类示例中,可以用(x,y,z)坐标定义乘员的眼睛的位置,其中(0,0,0)是用作球体质心的相机的位置。这样的坐标可以被称为位于“基于相机的坐标系”内。
眼睛注视模块522可以确定车辆乘员的3D眼睛注视矢量,其与关于图1至图3描述的技术一致。尽管被示出为计算设备500的组件,但是在各种示例中,眼睛注视模块522的功能性可以由车辆的相机系统来执行,而不是由计算设备500来执行或由除了计算设备500之外的执行。此外,相机系统和眼睛注视模块522可以执行3D眼睛注视矢量确定过程的离散部分。
在各种情况下,眼睛注视模块522可执行眼睛跟踪以确定第一初始3D眼睛注视矢量,并且可以确定乘员的面部平面以确定第二初始3D眼睛注视矢量。眼睛注视模块522可以组合第一和第二初始3D眼睛注视矢量以确定乘员的最终3D眼睛注视矢量。使用眼睛位置和瞳孔的运动或眼睛的其他特征(即,眼睛跟踪),眼睛注视模块522可以确定第一初始3D眼睛注视矢量。然而,在各种情况下,乘员的眼睛可能会被遮挡,并且因此,由相机捕获的图像可能不包括乘员的眼睛的清晰图像。因此,并非仅仅依赖跟踪乘员的眼睛的位置和运动,眼睛注视模块522还可以进一步分析捕获的图像以确定乘员的面部平面。
在计算乘员的面部平面中,眼睛注视模块522可以在由一个或多个相机102捕获的一个或多个图像中识别多个面部界标。面部界标可以包括嘴、眼、鼻子、耳朵、眉毛、下巴或其他面部特征的边缘。使用所识别的面部界标,眼睛注视模块522可以基于各种面部界标之间的几何一致性来确定图像中包括的乘员面部是否呈现出任何俯仰,翻滚或偏航。例如,如果乘员的两只眼睛之间的距离相对于乘员的嘴与眼睛之间的总距离小于当乘员向正前方向看时的距离,则眼睛注视模块522确定乘员正在向左或向右看。如果眼睛注视模块522确定图像包括乘员的右耳但不包括乘员的左耳,则眼睛注视模块522确定乘员向左看。可以基于面部界标之间的距离的相对变化来确定面部平面的俯仰角、翻滚角和偏航角。使用确定的面部平面的俯仰角、翻滚角和偏航角,眼睛注视模块522可以确定第二初始3D眼睛注视矢量。
在各种情况下,眼睛注视模块522可以将训练的机器学习模型应用于图像以确定面部平面。可以使用具有已经识别出面部界标和已经确定面部平面角度的其他人的图像来训练机器学习模型。机器学习模型可以基于用户反馈和眼睛注视模块522提供的反馈来持续学习。例如,眼睛注视模块522可以基于将使用面部平面确定的第二3D眼睛注视矢量与使用眼睛跟踪确定的第一初始3D眼睛注视矢量相比,来对机器学习模型的参数进行排名或调整。
一旦确定了第一和第二初始3D眼睛注视矢量,眼睛注视模块522就可以基于第一和第二初始3D眼睛注视矢量两者来确定乘员的3D眼睛注视矢量。在各种情况下,眼睛注视模块522可以使用第一和第二初始3D眼睛注视矢量的平均值来确定3D眼睛注视矢量。在其他示例中,眼睛注视模块522可以将权重应用于第一和第二3D眼睛注视矢量中的一个或多个,并且使用加权值来确定3D眼睛注视矢量。眼睛注视模块522可以基于准确地确定了第一或第二初始3D眼睛注视矢量的置信度来确定权重以应用于第一和第二初始3D眼睛注视矢量。例如,如果眼睛注视模块522仅检测到面部界标的一部分(例如,仅眼睛和鼻子,而没有嘴或下巴),则面部平面的俯仰,翻滚和偏航角的误差范围可能会增加。这样,眼睛注视模块522可以将减小的加权值应用于第二初始3D眼睛注视矢量,并且将增大的加权值应用于使用眼睛跟踪确定的第一初始3D眼睛注视矢量。
虽然被描述为需要第一和第二初始3D眼睛注视矢量两者,但是眼睛注视模块522还可以使用第一和第二初始3D眼睛注视矢量中的一个来确定3D眼睛注视矢量。例如,如果在两个或更多个相机捕获的图像中乘员的眼睛闭合或者乘员戴着墨镜,则眼睛注视模块522可以使用第二初始3D眼睛注视矢量(即,基于乘员面部平面的俯仰,翻滚和偏航而确定的3D眼睛注视矢量)作为确定的3D眼睛注视矢量。作为另一个示例,如果由两个或更多个相机捕获的图像包括部分被遮挡的乘员的面部(例如,被乘员的手),则眼睛注视模块522可以使用第一初始3D眼睛注视矢量(即,使用眼睛跟踪而确定的3D眼睛注视矢量)作为确定的3D眼睛注视矢量。
感兴趣区域模块526可以确定车辆的乘员正在看哪个感兴趣区域,这与关于图1和图4描述的技术一致。感兴趣区域模块526可以从车辆数据528加载车辆专门数据。车辆数据528可以是任何类型的数据存储,诸如文件、数据库或适合于存储感兴趣区域模块可用的文本或编码信息的其他数据结构,以确定乘员正在看哪个感兴趣区域。车辆数据包括定义与车辆的各种感兴趣区域相关联的二维平面的坐标。在一些情况下,每个平面可能与车辆的不同物理元件(例如,后视镜,头部单元显示器,仪表板等)或车辆的同一物理元件的不同部分(例如,挡风玻璃的不同区域)相关联。
感兴趣区域模块可以从眼睛注视模块522接收3D眼睛注视矢量信息,并且还可以从眼睛位置模块524接收乘员的头部和/或眼睛位置信息。感兴趣区域模块526可以将头部和/或眼睛位置信息从基于相机的坐标系变换到基于车辆的坐标系。通过将坐标转换为基于车辆的坐标系,感兴趣区域模块526可以相对于车辆数据中指定的车辆的各种物理对象的坐标位置来定位乘员的头部和/或眼睛。感兴趣区域模块526可以从乘员的头部和/或眼睛的基于车辆的坐标系位置投射3D眼睛注视矢量,并确定与3D眼睛注视矢量相交的一个或多个平面。感兴趣区域模块526将相交的平面识别为乘员正在看的感兴趣区域。
在一些情况下,感兴趣区域模块526可以随时间周期性地或连续地确定车辆的乘员正在看哪个感兴趣区域。通过监视乘员正在看哪个感兴趣区域,感兴趣区域模块526可以确定乘员的参与水平,并且可以确定乘员遵守道路规则和安全驾驶最佳实践的程度。例如,如果乘员改变车道而不看侧视镜或者倒车而不看后窗,则计算设备500可以确定乘员没有根据安全最佳实践来驾驶车辆。作为另一示例,如果在车辆移动中乘员长时间观看计算设备500的显示器,则计算设备500可以锁定或禁止乘员与计算设备500交互。
可以使用机器学习来执行由眼睛注视模块522、眼睛位置模块524和感兴趣区域模块526执行的技术中的一个或多个。虽然未在图5中示出,但计算设备500可以包括被应用到由相机捕获的图像的一个或多个训练的机器学习模块。
图6A至图6E是示出根据本公开的示例实施方式的示例机器学习模型的各方面的概念图。下面在图1的车辆100的背景下描述图6A至图6E。例如,在一些情况下,如下所述,机器学习的模型600可以是被相机系统或车辆计算系统104使用以确定3D眼睛注视矢量、乘员的头部和/或眼睛的位置、乘员正在看的感兴趣区域的任何模型或其组件的示例。
图6A描绘了根据本公开的示例实施方式的示例机器学习模型的概念图。如图6A所示,在一些实施方式中,机器学习模型600被训练为接收一种或多种类型的输入数据,并且作为响应,提供一种或多种类型的输出数据。因此,图6A示出了执行推理的机器学习模型600。
输入数据可以包括与实例或示例相关联的一个或多个特征。在一些实施方式中,可以将与实例或示例相关联的一个或多个特征组织成特征向量。在一些实施方式中,输出数据可以包括一个或多个预测。预测也可以称为推理。因此,在给定与特定实例相关联的特征的情况下,机器学习模型600可以基于特征输出针对该实例的预测。
机器学习模型600可以是各种不同类型的机器学习模型中的一种或多种或包括各种不同类型的机器学习模型中的一种或多种。特别地,在一些实施方式中,机器学习模型600可以执行分类、回归、聚类、异常检测、推荐生成、面部界标检测、3D眼睛注视确定和/或其他任务。
在一些实施方式中,机器学习模型600可以基于输入数据来执行各种类型的分类。例如,机器学习模型600可以执行二进制分类或多类分类。在二进制分类中,输出数据可以包括将输入数据分类为两个不同的类之一。在多类分类中,输出数据可包括将输入数据分类为两个以上类中的一个(或多个)。分类可以是单标签或多标签。机器学习模型600可以执行离散的类别分类,其中输入数据被简单地分类为一个或多个类或类别。
在一些实施方式中,机器学习模型600可以执行分类,其中机器学习模型600为一个或多个类中的每一个,提供描述被认为应该将输入数据分类到相应类的程度的数值。在一些情况下,由机器学习模型600提供的数值可以被称为“置信度分数”,其表示与输入到相应类中的分类相关联的相应置信度。在一些实施方式中,可将置信度分数与一个或多个阈值比较以渲染离散的分类预测。在一些实施方式中,可以仅选择具有相对最大的置信度得分的一定数量的类(例如,一个类)来进行离散的分类预测。
机器学习模型600可以输出概率分类。例如,机器学习模型600可以在给定样本输入的情况下预测在一组类上的概率分布。因此,机器学习模型600并非仅输出样本输入应该属于的最可能的类,还可以针对每个类输出样本输入属于这种类的概率。在一些实施方式中,所有可能的类上的概率分布可以总计为一。在一些实施方式中,Softmax函数或其他类型的函数或层可用于将分别与可能的类相关联的一组实数值,压缩为总和为1的范围(0,1)中的一组实数值。
在一些示例中,可以将概率分布提供的概率与一个或多个阈值进行比较,以进行离散的分类预测。在一些实施方式中,可以仅选择具有相对最大的预测概率的一定数量的类(例如,一个)来进行离散的分类预测。
在机器学习模型600执行分类的情况下,可以使用监督学习技术来训练机器学习模型600。例如,可以在包括被标记为属于(或不属于)一个或多个类的训练示例的训练数据集上训练机器学习模型600。下面在图6B至6E的描述中提供关于监督训练技术的进一步的细节。
在一些实施方式中,机器学习模型600可以执行回归以提供连续数值形式的输出数据。连续数值可以对应于任何数量的不同度量或数字表示形式,包括例如货币值、分数或其他数字表示形式。作为示例,机器学习模型600可以执行线性回归、多项式回归或非线性回归。作为示例,机器学习模型600可以执行简单回归或多重回归。如上所述,在一些实施方式中,Softmax函数或其他函数或层可用于将分别与两个或更多个可能的类相关联的一组实数值压缩为合计为一的范围为(0,1)的一组实数值。
机器学习模型600可以执行各种类型的聚类。例如,机器学习模型600可以识别输入数据最有可能对应的一个或多个先前定义的集群。机器学习模型600可以识别输入数据内的一个或多个集群。即,在输入数据包括多个对象、文档或其他实体的情况下,机器学习模型600可以将包括在输入数据中的多个实体分类为多个集群。在机器学习模型600执行聚类的一些实施方式中,可以使用无监督学习技术来训练机器学习模型600。
机器学习模型600可以执行异常检测或离群值检测。例如,机器学习模型600可以识别不符合预期模式或其他特征的输入数据(例如,如先前从先前输入数据中观察到的)。作为示例,异常检测可以用于欺诈检测或系统故障检测。
在一些实施方式中,机器学习模型600可以以一个或多个对象位置的形式提供输出数据。例如,机器学习模型600可以被包括在3D眼睛注视矢量确定系统中。作为示例,给定了描述一些面部界标的先前结果的输入数据(例如,表示面部界标的位置的分数、排名或等级),机器学习模型600可以在新图像中输出面部界标的位置。作为一个示例,给定了描述诸如图1的车辆100的乘员的一个或多个图像的车辆的乘员的输入数据,诸如图1的车辆计算系统104的计算系统,可以输出乘员的面部界标的位置。
在一些情况下,机器学习模型600可以充当环境中的代理。例如,可以使用强化学习来训练机器学习的模型600,这将在下面进一步详细讨论。
在一些实施方式中,机器学习模型600可以是参数模型,而在其他实施方式中,机器学习模型600可以是非参数模型。在一些实施方式中,机器学习模型600可以是线性模型,而在其他实施方式中,机器学习模型600可以是非线性模型。
如上所述,机器学习模型600可以是各种不同类型的机器学习模型中的一个或多个或包括各种不同类型的机器学习模型中的一个或多个。下面提供了这种不同类型的机器学习模型的示例以进行说明。下面描述的一个或多个示例模型可以被使用(例如,被组合)来响应于输入数据以提供输出数据。除下面提供的示例模型外,还可以使用附加的模型。
在一些实施方式中,机器学习模型600可以是一个或多个分类器模型或包括一个或多个分类器模型,例如线性分类模型;二次分类模型;等等。机器学习模型600可以是一个或多个回归模型或包括一个或多个回归模型,例如简单线性回归模型;多元线性回归模型;逻辑回归模型;逐步回归模型;多元自适应回归样条;局部估计的散点图平滑模型;等等。
在一些示例中,机器学习模型600可以是一个或多个基于决策树的模型或包括一个或多个基于决策树的模型,例如分类树和/或回归树;迭代二分法3决策树;C4.5决策树;卡方自动交互检测决策树;决策树桩;有条件的决策树;等等。
机器学习模型600可以是一个或多个内核机器或包括一个或多个内核机器。在一些实施方式中,机器学习模型600可以是一个或多个支持向量机或包括一个或多个支持向量机。机器学习模型600可以是一个或多个基于实例的学习模型或包括一个或多个基于实例的学习模型,例如学习矢量量化模型;自组织地图模型;本地加权学习模型;等等。在一些实施方式中,机器学习模型600可以是一个或多个最近邻居模型或包括一个或多个最近邻居模型,例如,k个最近邻居分类模型;k个最近邻居回归模型;等等。机器学习模型600可以是一个或多个贝叶斯模型或包括一个或多个贝叶斯模型,例如朴素贝叶斯模型;高斯朴素贝叶斯模型;多项式朴素贝叶斯模型;平均一依赖估计量;贝叶斯网络;贝叶斯信念网络;隐藏马尔可夫模型;等等。
在一些实施方式中,机器学习模型600可以是一个或多个人工神经网络或包括一个或多个人工神经网络(也简称为神经网络)。神经网络可以包括一组连接的节点,其也可以称为神经元或感知器。神经网络可以组织成一层或多层。包含多层的神经网络可以称为“深度”网络。深度网络可以包括输入层,输出层以及位于输入层和输出层之间的一个或多个隐藏层。神经网络的节点可以连接或不完全连接。
机器学习模型600可以是一个或多个前馈神经网络或包括一个或多个前馈神经网络。在前馈网络中,节点之间的连接不形成循环。例如,每个连接都可以将较早层的节点连接到较后层的节点。
在一些情况下,机器学习模型600可以是一个或多个循环神经网络或包括一个或多个循环神经网络。在一些情况下,循环神经网络的至少一些节点可以形成一个循环。循环神经网络对于处理本质上是顺序的输入数据尤其有用。特别地,在一些情况下,循环神经网络可以通过使用循环或定向循环节点连接来将信息从输入数据序列的先前部分传递或保留到输入数据序列的后续部分。
在一些示例中,顺序输入数据可以包括时间序列数据(例如,传感器数据对时间或在不同时间捕获的图像)。例如,作为一个非限制性示例,循环神经网络可以分析传感器数据与时间的关系,以检测乘员正在看的感兴趣区域的变化。
示例性循环神经网络包括长短期(LSTM)循环神经网络;门控循环单元;双向循环神经网络;连续时间循环神经网络;神经历史压缩机;回声状态网络;Elman网络;Jordan网络;递归神经网络;Hopfield网络;完全循环网络;序列到序列的配置;等等。
在一些实施方式中,机器学习模型600可以是一个或多个卷积神经网络或包括一个或多个卷积神经网络。在一些情况下,卷积神经网络可以包括一个或多个卷积层,其使用学习滤波器对输入数据执行卷积。
过滤器也可以称为内核。卷积神经网络对于视觉问题尤其有用,诸如当输入数据包括诸如静止图像或视频的图像时。但是,卷积神经网络也可以应用于自然语言处理。
在一些示例中,机器学习模型600可以是一个或多个生成网络或包括一个或多个生成网络,例如生成对抗网络。生成网络可用于生成新数据,诸如新图像或其他内容。
机器学习模型600可以是自动编码器或包括自动编码器。在一些情况下,自动编码器的目的是学习用于一组数据的表示(例如,低维编码),通常是为了降低维数。例如,在一些情况下,自动编码器可以寻求对输入数据进行编码,并提供从编码中重建输入数据的输出数据。最近,自动编码器概念已被更广泛地用于学习数据的生成模型。在一些情况下,自动编码器可能会包含除重建输入数据以外的其他损耗。
机器学习的模型600可以是一种或多种其他形式的人工神经网络或包括一种或多种其他形式的人工神经网络,例如深玻尔兹曼机器;深入信仰网络;堆叠式自动编码器;等等。本文描述的任何神经网络都可以组合(例如,堆叠)以形成更复杂的网络。
一个或多个神经网络可用于基于输入数据提供嵌入。例如,嵌入可以是从输入数据抽象为一个或多个学习维度的知识的表示。在一些情况下,嵌入可能是识别相关实体的有用来源。在一些情况下,可以从网络的输出中提取嵌入,而在其他情况下,可以从网络的任何隐藏节点或层(例如,接近最终但不是网络的最终层)中提取嵌入。嵌入对于执行自动建议下一个视频,产品建议,实体或对象识别等很有用。在一些情况下,嵌入对于下游模型是有用的输入。例如,嵌入可用于概括下游模型或处理系统的输入数据(例如,搜索查询)。
机器学习模型600可以包括一个或多个聚类模型,例如,k均值聚类模型;k中值聚类模型;期望最大化模型;层次聚类模型;等等。
在一些实施方式中,机器学习模型600可以执行一种或多种降维技术,例如主成分分析;内核主成分分析;基于图的内核主成分分析;主成分回归;偏最小二乘回归;Sammon映射;多维缩放;投射追求;线性判别分析;混合判别分析;二次判别分析;广义判别分析;灵活判别分析;自动编码;等等。
在一些实施方式中,机器学习模型600可以执行或经受一种或多种强化学习技术,诸如马尔可夫决策过程;动态编程;Q函数或Q学习;价值函数法;深度Q网络;可区分神经计算机;异步优势行动者评论家;确定性政策梯度;等等。
在一些实施方式中,机器学习模型600可以是自回归模型。在一些情况下,自回归模型可以指定输出数据线性依赖于其自身的先前值和随机项。在一些情况下,自回归模型可以采用随机差分方程的形式。自回归模型的一个示例是WaveNet,它是原始音频的生成模型。
在一些实施方式中,机器学习的模型600可以包括多模型合集的一部分或形成多模型合集的一部分。作为一个示例,可以执行引导聚合,这也可以称为“装袋”。在引导聚合中,将训练数据集划分为多个子集(例如,通过具有替换的随机采样),并且分别对多个子集训练多个模型。在推理时间,可以将多个模型的相应输出进行组合(例如,通过平均,投票或其他技术),并且用作合集的输出。
一个示例合集是随机森林,也可以称为随机决策森林。随机森林是用于分类、回归和其他任务的合集学习方法。通过在训练时生成多个决策树来生成随机森林。在一些情况下,在推理时间,可以将作为各个树的类(分类)或平均预测(回归)模式的类用作森林的输出。随机决策森林可以纠正决策树过度适应其训练集的趋势。
另一个示例性的合集技术是堆叠,在一些情况下,可以将其称为堆叠概括。堆叠包括训练组合器模型以融合或以其他方式组合其他几种机器学习模型的预测。因此,可以基于训练数据来训练多个机器学习模型(例如,相同或不同类型)。另外,可以训练组合器模型以将来自其他机器学习模型的预测作为输入,并作为响应,产生最终的推理或预测。在一些情况下,单层逻辑回归模型可以用作组合器模型。
另一示例合集技术是增强。增强可以包括通过迭代训练弱模型然后添加到最终的强模型中来逐步构建合集。例如,在一些情况下,可以训练每个新模型以强调先前模型被误解(例如,错误分类)的训练示例。例如,可以增加与每个这样的误解示例相关联的权重。增强的一种常见实施方式是AdaBoost,也可以称为自适应增强。其他示例增强技术包括LPBoost;TotalBoost;BrownBoost;xgboost;MadaBoost;LogitBoost;梯度增强;等等。此外,可以将上述任何模型(例如,回归模型和人工神经网络)组合以形成合集。作为示例,合集可以包括顶级机器学习的模型或启发式功能,以组合和/或加权形成合集的模型的输出。
在一些实施方式中,可以联合链接和训练多个机器学习模型(例如,形成合集的机器模型)(例如,通过模型合集顺序地对错误进行反向传播)。然而,在一些实施方式中,仅联合训练的模型的子集(例如,一个)用于推理。
在一些实施方式中,机器学习模型600可以用于预处理输入数据,以用于随后输入到另一模型中。例如,机器学习模型600可以执行降维技术和嵌入(例如,矩阵分解,主成分分析,奇异值分解,word2vec/GLOVE和/或相关方法);聚类;以及甚至对下游消费进行分类和回归。上面已经讨论了许多这些技术,下面将进一步讨论。
如上所述,可以对机器学习模型600进行训练或以其他方式配置为接收输入数据并作为响应提供输出数据。输入数据可以包括不同类型、形式的输入数据或输入数据的变体。作为示例,在各种实施方式中,输入数据可以包括描述用户最初选择的内容(或内容的一部分)的特征,例如,用户选择的文档或图像的内容,指向与设备或云上可用的其他文件有关的用户选择的链接,用户选择的元数据等。此外,在获得用户许可的情况下,输入数据包括从应用程序本身或其他来源获得的用户使用情况的场境。使用场境的示例包括共享的广度(公开共享,或与大群共享,或者私下共享,或特定的人共享),共享的场境等。在用户允许的时,附加的输入数据可以包括设备的状态,例如设备的位置,在设备上运行的应用程序等。
在一些实施方式中,机器学习模型600可以以其原始形式接收和使用输入数据。在一些实施方式中,原始输入数据可以被预处理。因此,除了原始输入数据之外或替选原始输入数据,机器学习模型600可以接收和使用预处理的输入数据。
在一些实施方式中,预处理输入数据可以包括从原始输入数据中提取一个或多个附加特征。例如,特征提取技术可以应用于输入数据以生成一个或多个新的附加特征。示例特征提取技术包括边缘检测;拐角检测;斑点检测;脊检测;尺度不变特征变换;运动检测;光流;霍夫变换;等等。
在一些实施方式中,所提取的特征可以包括输入数据到其他域和/或维度的变换或从输入数据到其他域和/或维度的变换中导出。作为示例,所提取的特征可以包括输入数据到频域的变换或从输入数据到频域的变换中导出。例如,可以对输入数据执行小波变换和/或快速傅立叶变换以生成附加特征。
在一些实施方式中,提取的特征可以包括根据输入数据或输入数据的某些部分或维度计算出的统计量。示例统计量包括输入数据或其部分的模式、均值、最大值、最小值或其他度量。
如上所述,在一些实施方式中,输入数据本质上可以是顺序的。在某些情况下,可以通过对输入数据流进行采样或分段来生成顺序输入数据。作为一个示例,可以从视频中提取帧。在一些实施方式中,可以通过汇总使顺序数据成为非顺序数据。
作为另一示例预处理技术,可以估算输入数据的一部分。例如,可以通过内插和/或外推生成附加的合成输入数据。
作为另一示例预处理技术,输入数据中的一些或全部可以被缩放、标准化、归一化、通用化和/或正则化。示例正则化技术包括岭回归;最小绝对收缩和选择算子(LASSO);弹性网;最小角度回归;交叉验证;L1正则化;L2正则化;等等。作为一个示例,可以通过从每个单独的特征值中减去给定维度的特征值的平均值,然后除以标准偏差或其他度量,来对输入数据中的一些或全部进行归一化。
作为另一示例预处理技术,输入数据中的一些或全部可以被量化或离散化。在一些情况下,输入数据中包含的定性特征或变量可以转换为定量特征或变量。例如,可以执行一种热编码。
在一些示例中,可以在输入到机器学习模型600中之前将降维技术应用于输入数据。上文提供了降维技术的几个示例,包括例如主成分分析;内核主成分分析;基于图的内核主成分分析;主成分回归;偏最小二乘回归;Sammon映射;多维缩放;投射追求;线性判别分析;混合判别分析;二次判别分析;广义判别分析;灵活的判别分析;自动编码;等等。
在一些实施方式中,在训练期间,可以以任何数量的方式有意地使输入数据变形以增加模型的鲁棒性,通用性或其他质量。使输入数据变形的示例技术包括增加噪声;改变颜色、阴影或色调;放大;分割;增大;等等。
响应于输入数据的接收,机器学习模型300可以提供输出数据。输出数据可以包括不同类型、形式或变化的输出数据。作为示例,在各种实施方式中,输出数据可以包括与初始内容选择相关地可共享的内容,该内容本地存储在用户设备上或存储在云中。
如上所述,在一些实施方式中,输出数据可以包括各种类型的分类数据(例如,二分类、多类分类、单标签、多标签、离散分类、回归分类、概率分类等)或可以包括各种类型的回归数据(例如,线性回归、多项式回归、非线性回归、简单回归、多元回归等)。在其他情况下,输出数据可以包括聚类数据、异常检测数据、推荐数据或上面讨论的任何其他形式的输出数据。
在一些实施方式中,输出数据可以影响下游过程或决策。作为一个示例,在一些实施方式中,输出数据可以由基于规则的调节器解释和/或作用。
本公开提供包括或利用一个或多个机器学习的模型来确定面部平面、3D眼睛注视矢量、乘员的头部和/或眼睛的位置以及乘员正在看的感兴趣区域的系统和方法。上述输入数据的任何不同类型或形式可以与上述机器学习模型的任何不同类型或形式相结合,以提供上述输出数据的任何不同类型或形式。
本公开的系统和方法可以由一个或多个计算设备实现或在一个或多个计算设备上执行。示例性计算设备包括用户计算设备(例如,膝上型计算机、台式计算机以及诸如平板电脑、智能电话、可穿戴计算设备等的移动计算设备);嵌入式计算设备(例如,嵌入在车辆、相机、图像传感器、工业机器、卫星、游戏机或控制器、或诸如冰箱、恒温器、电表、家庭能源管理器、智能家居助手等家用电器内的设备);服务器计算设备(例如,数据库服务器、参数服务器、文件服务器、邮件服务器、打印服务器、Web服务器、游戏服务器,应用程序服务器等);专用的专业模型处理或培训设备;虚拟计算设备;其他计算设备或计算基础架构;或其组合。
图6B示出了计算设备610的概念图,其是图1的车辆计算系统104和/或图5的计算设备500的示例。计算设备610包括处理组件602,存储器组件604和机器学习模型600。计算设备610可以在本地(即,在设备上)存储和实现机器学习模型600。因此,在一些实施方式中,机器学习模型600可以被存储在嵌入式设备或诸如移动设备之类的用户计算设备处,和/或在本地由嵌入式设备或诸如移动设备之类的用户计算设备实现。通过在嵌入式设备或用户计算设备处的机器学习模型600的本地实现而获得的输出数据可用于提高嵌入式设备或用户计算设备(例如,嵌入式设备或用户计算实现的应用程序)的性能。
图6C示出了可以通过网络与包括机器学习模型的示例服务器计算系统进行通信的示例客户端计算设备的概念图。图6C包括通过网络630与服务器设备660通信的客户端设备610A。客户端设备610A是图1的车辆计算系统104的示例和/或图5的计算设备500的示例。服务器设备660存储并实现机器学习的模型600。在一些情况下,通过服务器设备660处的机器学习的模型600而获得的输出数据可用于改善其他服务器任务,或可由其他非用户设备用于改善由此类其他非用户设备执行的服务或为此类其他非用户设备执行的服务。例如,输出数据可以改善由服务器设备660为用户或嵌入式计算设备的计算设备执行的其他下游处理。在其他情况下,通过在服务器设备660处实施机器学习模型600而获得的输出数据可以被发送给用户计算设备、嵌入式计算设备或诸如客户端设备610A之类的其他客户端设备并由用户计算设备,嵌入式计算设备或诸如客户端设备610A之类的其他客户端设备使用。例如,可以说服务器设备660执行机器学习作为服务。
在又一实施方式中,机器学习模型600的不同的各个部分可以被存储在以下的一些组合处和/或由以下的一些组合来实现:用户计算设备;嵌入式计算设备;服务器计算设备;等等。换句话说,机器学习模型600的一部分可以全部或部分地分布在客户端设备610A和服务器设备660之间。
设备610A和660可以使用一个或多个机器学习平台、框架和/或库,例如TensorFlow、Caffe/Caffe2、Theano、Torch/PyTorch、Mxnet、CNTK等来执行图处理技术或其他机器学习技术。设备610A和660可以分布在不同的物理位置,并经由一个或多个网络(包括网络630)连接。如果配置为分布式计算设备,则设备610A和660可以根据顺序计算架构、并行计算架构或其组合来进行操作。在一个示例中,可以通过使用参数服务器来控制或引导分布式计算设备。
在一些实施方式中,机器学习模型600的多个实例可以被并行化以提供增加的处理吞吐量。例如,机器学习模型600的多个实例可以在单个处理设备或计算设备上并行化,或者在多个处理设备或计算设备之间并行化。
实现机器学习模型600或本公开的其他方面的每个计算设备可以包括使得能够执行本文描述的技术的多个硬件组件。例如,每个计算设备可以包括一个或多个存储器设备,其存储机器学习模型600中的一些或全部。例如,机器学习模型600可以是存储在存储器中的结构化数字表示。一个或多个存储器设备还可包括用于实现机器学习的模型600或执行其他操作的指令。示例存储器设备包括RAM、ROM、EEPROM、EPROM、闪存设备、磁盘等,以及它们的组合。
每个计算设备还可以包括实现机器学习模型600中的一些或全部和/或执行其他相关操作的一个或多个处理设备。示例处理设备包括以下一项或多项:中央处理器(CPU);视觉处理单元(VPU);图形处理单元(GPU);张量处理单元(TPU);神经处理单元(NPU);神经处理引擎;CPU、VPU、GPU、TPU、NPU或其他处理设备的核心;专用集成电路(ASIC);现场可编程门阵列(FPGA);协处理器;控制器;或上述处理设备的组合。可以将处理设备嵌入其他硬件组件中,例如图像传感器,加速计等。
硬件组件(例如,存储器设备和/或处理设备)可以散布在多个物理分布式计算设备和/或虚拟分布式计算系统上。
图6D示出了与包括模型训练器的示例训练计算系统通信的示例计算设备的概念图。图6D包括通过网络630与训练设备670通信的客户端设备610B。客户端设备610B是图1的车辆计算系统104和/或图5的计算设备500的示例。本文所述的机器学习模型600可以在诸如训练设备670的训练计算系统处被训练,然后被提供用于在一个或多个计算设备(诸如客户端设备610B)处进行存储和/或实现。例如,模型训练器672在训练设备670处本地执行。然而,在一些示例中,包括模型训练器672的训练设备670可以被包括在客户端设备610B或实现机器学习模型600的任何其他计算设备中,或者与客户端设备610B或实现机器学习模型600的任何其他计算设备分离。
在一些实施方式中,可以以离线方式或在线方式训练机器学习模型600。在离线训练(也称为批学习)中,机器学习模型600在整个静态训练数据集上进行训练。在在线学习中,随着新的训练数据变得可用(例如,当该模型用于执行推理时),机器学习模型600被连续地训练(或再训练)。
模型训练器672可以执行机器学习模型600的集中训练(例如,基于集中存储的数据集)。在其他实施方式中,诸如分布式训练,联合学习之类的分散式训练技术可以用于训练,更新或个性化机器学习模型600。
可以根据各种不同的训练类型或技术中的一种或多种来训练本文所述的机器学习模型600。例如,在一些实施方式中,模型训练器672可以使用监督学习来训练机器学习模型600,其中,在包括具有标签的实例或示例的训练数据集上训练机器学习模型600。标签可以由专家手动应用,通过众包生成或由其他技术提供(例如,基于物理或复杂的数学模型)。在一些实施方式中,如果用户已经提供了同意,则训练示例可以由用户计算设备提供。在一些实施方式中,该过程可以被称为对模型进行个性化。
图6E示出了训练处理690的概念图,该训练处理是一种示例训练处理,其中,机器学习模型600在训练数据691上进行训练,该训练数据691包括具有标签693的示例输入数据692。训练处理690是一个示例训练处理;也可以使用其他训练处理。
训练处理690使用的训练数据691可以包括:在用户允许使用此类数据进行训练时,共享流的匿名使用日志(例如,共享在一起的内容项),已经标识为属于一起的捆绑内容片(例如,来自知识图的实体),等等。在一些实施方式中,训练数据691可以包括输入数据692的示例,该输入数据692已被分配了对应于输出数据694的标签693。
在一些实施方式中,可以通过优化诸如对象功能695之类的对象功能来训练机器学习模型600。例如,在一些实施方式中,对象功能695可以是损失函数或包括损失函数,该损失函数将(例如,确定其差异)由模型从训练数据生成的输出数据和与训练数据关联的标签(例如,真实标签)进行比较。例如,损失函数可以评估输出数据和标签之间的平方差之和或均值。在一些示例中,对象函数695可以是描述特定结果或输出数据的成本的成本函数或包括该成本函数。对象函数695的其他示例可以包括基于余量的技术,例如三重损失或最大余量训练。
可以执行各种优化技术中的一个或多个以优化对象函数695。例如,一个或多个优化技术可以最小化或最大化对象函数695。示例性优化技术包括基于Hessian的技术和基于梯度的技术,例如坐标下降;梯度下降(例如,随机梯度下降);次梯度法;等等。其他优化技术包括黑盒优化技术和启发式。
在一些实施方式中,错误的向后传播可以与优化技术(例如,基于梯度的技术)结合使用以训练机器学习的模型300(例如,当机器学习模型是诸如人工神经网络的多层模型时)。例如,可以执行传播的迭代循环和模型参数(例如权重)更新以训练机器学习模型600。示例反向传播技术包括通过时间截断的反向传播,Levenberg-Marquardt反向传播等。
在一些实施方式中,本文描述的机器学习模型600可以使用无监督学习技术来训练。无监督学习可以包括从未标记的数据推断描述隐藏结构的功能。例如,分类或类别可以不包括在数据中。无监督学习技术可用于生成能够执行聚类、异常检测、学习潜在变量模型或其他任务的机器学习模型。
可以使用半监督技术来训练机器学习模型600,该半监督技术结合了监督学习和非监督学习的各个方面。可以通过进化技术或遗传算法来训练或生成机器学习模型600。在一些实施方式中,可以使用强化学习来训练本文描述的机器学习模型600。在强化学习中,代理(例如,模型)可以在环境中采取行动,并学习最大化的奖励和/或最小化由这种行动导致的惩罚。强化学习与监督学习问题的不同之处在于,没有提供正确的输入/输出对,也没有明确纠正次优动作。
在一些实施方式中,可以在训练期间执行一种或多种通用技术以改善机器学习模型600的通用性。通用技术可以帮助减少机器学习模型600对训练数据的过度拟合。示例通用技术包括中途放弃技术;权重减轻技术;批标准化;早期停止;子集选择;逐步选择;等等。
在一些实施方式中,本文描述的机器学习模型600可以包括多个超参数或受多个超参数影响,多个超参数例如,学习率、层数、每层中的节点数、树中的叶子数、集群数等等。超参数会影响模型性能。可以手动选择超参数,也可以通过应用诸如以下之类的技术自动选择超参数:网格搜索;黑盒优化技术(例如贝叶斯优化,随机搜索等);基于梯度的优化;等等。用于执行自动超参数优化的示例技术和/或工具包括Hyperopt;自动WEKA;Spearmint;指标优化引擎(MOE);等等。
在一些实施方式中,当训练模型时,可以使用各种技术来优化和/或调整学习率。用于执行学习率优化或调整的示例技术和/或工具包括Adagrad;自适应矩估计(ADAM);Adadelta;RMSprop;等等。
在一些实施方式中,转移学习技术可以用于提供初始模型,从该初始模型开始训练本文所述的机器学习模型600。
在一些实施方式中,本文描述的机器学习模型600可以被包括在计算设备上的计算机可读代码的不同部分中。在一个示例中,机器学习模型600可以被包括在特定的应用程序或程序中,并且被这种特定的应用程序或程序使用(例如,排他地)。因此,在一个示例中,计算设备可以包括多个应用程序,并且一个或多个这样的应用程序可以包含其自己的相应机器学习库和机器学习模型。
在另一示例中,本文描述的机器学习模型600可以被包括在计算设备的操作系统中(例如,在操作系统的中央智能层中),并且可以被一个或多个与操作系统交互的应用程序调用或使用。在一些实施方式中,每个应用程序可以使用应用程序编程接口(API)(例如,跨所有应用程序的共同、公共API)与中央智能层(和存储在其中的模型)通信。
在一些实施方式中,中央智能层可以与中央设备数据层通信。中央设备数据层可以是用于计算设备的数据的集中式存储库。中央设备数据层可以与计算设备的许多其他组件通信,例如,一个或多个传感器、场境管理器、设备状态组件和/或附加组件。在一些实施方式中,中央设备数据层可以使用API(例如,专用API)与每个设备组件通信。
本文讨论的技术参考服务器、数据库、软件应用程序和其他基于计算机的系统,以及采取的行动和从此类系统发送及从此类系统接收的信息。基于计算机的系统的固有灵活性允许在组件之间以及组件当中进行多种可能的配置、组合以及任务和功能的划分。例如,可以使用单个设备或组件或组合工作的多个设备或组件来实现本文讨论的处理。
数据库和应用程序可以在单个系统上实现或分布在多个系统上。分布式组件可以顺序或并行操作。
另外,本文描述的机器学习技术很容易互换和组合。尽管已经描述了某些示例技术,但是存在许多其他技术并且可以与本公开的方面结合使用。
本公开已经提供了示例机器学习模型和相关技术的简要概述。对于更多详细信息,读者应阅读以下参考资料:《机器学习概率观点(Murphy)》;《机器学习规则:机器学习工程最佳实践(Zinkevich)》;《深度学习(Goodfellow)》;《强化学习:简介(Sutton)》;以及《人工智能:一种现代方法(Norvig)》。
除了以上描述之外,可以向用户提供控件,该控件允许用户对本文所述的系统、程序或特征是否以及何时可以启用收集用户信息(例如,关于用户社交网络、社交行动或活动、职业、用户的喜好或用户的当前位置的信息)进行选举,以及是否向用户发送来自服务器的内容或通信进行选举。另外,在存储或使用某些数据之前,可能会以一种或多种方式处理某些数据,以便删除个人身份信息。例如,可以处理用户的身份,使得无法为该用户确定任何个人身份信息,或者可以在获得位置信息的情况下将用户的地理位置概括化(例如,到城市、邮政编码或州级别),使得无法确定用户的特定位置。因此,用户可以控制收集了关于用户哪些信息,如何使用该信息以及向用户提供了哪些信息。
图7是示出根据本公开的一个或多个方面的被配置为使用3D眼睛注视矢量来确定驾驶员参与的计算系统的示例操作的流程图。下面在图1的车辆100和图5的示例计算设备500的场境下描述图7的操作。一个或多个相机102可以捕获车辆100的乘员的至少一个图像(702)。
计算设备500的眼睛位置模块524可分析至少一个图像并确定车辆100中乘员的头部和/或眼睛的位置(704)。例如,至少一个图像可以包括两个图像,每个图像由相机102中的不同的一个相机拍摄。眼睛位置模块524可以确定相机102相对于图像中捕获的乘员的头部的视差角。使用视差角和相机102之间的距离,眼睛位置模块524可以确定乘员的头部和/或眼睛距相机102中的一个或多个的距离。使用该乘员的头部和/或眼睛距相机102中的一个或多个的距离以及相机102中的一个或多个中的每个相机在3D空间中的相对位置,眼睛位置模块524可以确定乘员的头部和/或眼睛在3D空间中相对于相机102中的一个或多个的位置。作为另一示例,相机102中的一个可以是捕获乘员的红外图像的红外相机。眼睛位置模块524可以分析红外图像中的失真,并基于该失真确定乘员的头部和/或眼睛距相机的距离。眼睛位置模块524还可基于图像内的头部和/或眼睛的位置来确定乘员的头部和/或眼睛相对于相机的位置。
眼睛注视模块522可以确定车辆的乘员的3D眼睛注视矢量(706)。在一些情况下,眼睛注视模块522可以分析由相机102中的一个或多个捕获的一个或多个图像,并(原文中为“an”,应是“and”,是否向申请人确认)确定乘员的面部平面。例如,眼睛注视模块522可以将机器学习模块应用于一个或多个图像以识别图像内的乘员的各种面部界标,并且还可以将机器学习模型应用于所识别的面部界标的位置以确定乘员的面部平面的俯仰、翻滚和偏航。在一些情况下,单个机器学习模块既可以识别面部界标,也可以确定面部平面的俯仰角、翻滚角和偏航角。作为另一示例,眼睛注视模块522可以执行启发式以确定面部界标的位置,并且可以使用除机器学习之外的技术来计算面部平面的俯仰角、翻滚角和偏航角。使用面部平面的偏航角、俯仰角和翻滚角,眼睛注视模块522可以确定乘员的3D眼睛注视矢量。
在一些情况下,眼睛注视模块522还可使用眼睛跟踪来确定3D眼睛注视矢量。但是,乘员的眼睛可能会被遮挡,并且因此不会出现在图像中。在这种情况下,不是使用眼睛跟踪来确定3D眼睛注视矢量,而是眼睛注视模块522可以使用面部平面来确定3D眼睛注视矢量。眼睛注视模块522可以基于眼睛跟踪和基于面部平面两者,确定初始3D眼睛注视矢量的实例,眼睛注视模块522可以使用两个初始3D眼睛注视矢量的组合来确定最终3D眼睛注视矢量。
感兴趣区域模块526可使用由眼睛注视模块522确定的3D眼睛注视矢量和由眼睛位置模块524确定的头部和/或眼睛位置来确定乘员正在看的一个或多个感兴趣区域(708)。在各种情况下,由眼睛位置模块524确定的头部和/或眼睛位置是相对于一个或多个相机102的位置定义的一组坐标。也就是说,可以使用基于相机的坐标系指定头部和/或眼睛的位置。在这样的情况下,感兴趣区域模块526可以将位置数据从基于相机的坐标系转换为基于车辆的坐标系。基于车辆的坐标系可以由提供给车辆计算系统104的车辆数据文件来定义。车辆数据文件可以包括使用基于车辆的坐标系来定义车辆的多个感兴趣区域的坐标。
感兴趣区域模块526可以从一个或多个乘员的眼睛的基于车辆的坐标位置投射由眼睛注视模块522确定的3D眼睛注视矢量。如果有的话,感兴趣区域模块526可以确定3D眼睛注视矢量与感兴趣区域的平面中的哪一个相交,以及3D眼睛注视矢量与之相交的每个平面内的特定位置。因为使用相同的坐标系指定了乘员的眼睛和感兴趣区域的坐标位置,所以感兴趣区域模块526可以确定每个感兴趣区域和乘员的眼睛位置之间的距离。使用该距离以及3D眼睛注视矢量方向,感兴趣区域模块526可以确定3D眼睛注视矢量与感兴趣区域的一个或多个平面相交的位置。感兴趣区域模块526确定与3D眼睛注视矢量相交的感兴趣区域的平面是乘员正在看的一个或多个感兴趣区域。
在各种情况下,一旦感兴趣区域模块526确定了乘员正在看的至少一个感兴趣区域,车辆计算系统104就可以采取一个或多个动作(710)。例如,如果车辆100的乘员正在用至少阈值时间段的时间看向侧窗外,则车辆计算系统104可以确定乘员正在看位于侧窗外部的某物,诸如风景。车辆计算系统104可以自动控制位于车辆100的外部的相机,并且使相机捕捉风景的图像,而无需乘员自己拿起相机并自己拍照。
作为另一个示例,如果车辆100的乘员是车辆100的驾驶员,则车辆计算系统104可以确定驾驶员正在看车辆计算系统104的显示器而不是观察道路。在这样的情况下,车辆计算系统104可以被配置为确定驾驶员是否已经看了显示器超过阈值时间量(例如,通过周期性地验证驾驶员仍在看与显示器相关联的感兴趣区域)。如果车辆计算系统104确定驾驶员已经在显示器上看了超过阈值时间量,则车辆计算系统104可以在显示器上停止输出信息,可以在显示器上输出警告消息,或者可以停止处理车辆计算系统104接收到的用户输入。如果车辆计算系统确定驾驶员看显示器的时间未超过阈值时间量,则车辆计算系统104可以基于驾驶员看与显示器相关联的感兴趣区域而避免执行动作。以此方式,车辆计算系统104可以基于车辆的乘员正在看的感兴趣区域来选择性地执行动作。
在一个或多个示例中,可以以硬件、软件、固件或其任意组合来实现所描述的功能。如果以软件实现,则功能可以作为一个或多个指令或代码存储在计算机可读介质上或通过计算机可读介质在其上传输,并且可以由基于硬件的处理单元执行。计算机可读介质可以包括与诸如数据存储介质之类的有形介质相对应的计算机可读存储介质,或者包括例如根据通信协议来促进将计算机程序从一个地方转移到另一个地方的任何介质的通信介质。以这种方式,计算机可读介质通常可以对应于(1)非暂时性的有形计算机可读存储介质,或者(2)诸如信号或载波的通信介质。数据存储介质可以是可由一台或多台计算机或一个或多个处理器访问以检索指令、代码和/或数据结构以实现本公开中描述的技术的任何可用介质。计算机程序产品可以包括计算机可读介质。
作为示例而非限制,这种计算机可读存储介质可以包括RAM、ROM、EEPROM、CD-ROM或其他光盘存储、磁盘存储或其他磁性存储设备、闪存或任何其他可以用于以指令或数据结构的形式存储所需程序代码并且可以由计算机访问的其他介质。而且,任何连接都适当地称为计算机可读介质。例如,如果使用同轴电缆、光纤电缆、双绞线、数字用户线(DSL)或诸如红外、无线电和微波的无线技术从网站、服务器或其他远程源发送指令,则介质的定义包括同轴电缆、光纤电缆、双绞线、DSL或诸如红外,无线电和微波之类的无线技术。但是,应该理解,计算机可读存储介质和数据存储介质不包括连接、载波、信号或其他瞬态介质,而是针对非瞬态的有形存储介质。所使用的磁盘和光盘包括压缩光盘(CD)、激光光盘、光学光盘、数字多功能光盘(DVD)、软盘和蓝光光盘、超蓝光等,其中磁盘通常以磁性方式复制数据,而光盘使用激光光学地复制数据。上述的组合也应包括在计算机可读介质的范围内。
指令可以由一个或多个处理器执行,诸如一个或多个数字信号处理器(DSP)、通用微处理器、专用集成电路(ASIC)、现场可编程逻辑阵列(FPGA)或其他等效的集成或分立逻辑电路。因此,如所使用的,术语“处理器”可以指任何前述结构或适合于实现所述技术的任何其他结构。另外,在一些方面,可以在专用硬件和/或软件模块内提供所描述的功能。而且,该技术可以在一个或多个电路或逻辑元件中完全实现。
本公开的技术可以在各种各样的设备或装置中实现,包括无线手机、集成电路(IC)或一组IC(例如,芯片组)。在本发明中描述各种组件、模块或单元以强调经配置而执行所公开技术的装置的功能方面,但不一定需要由不同硬件单元来实现。而是,如上所述,各种单元可以组合在硬件单元中或由互操作的硬件单元的集合来提供,包括与合适的软件和/或固件结合的如上所述的一个或多个处理器。
已经描述了各种示例。这些和其他示例在所附权利要求的范围内。
Claims (13)
1.一种方法,包括:
经由车辆的相机系统,获得所述车辆的乘员的至少一个图像;
基于所述乘员的所述至少一个图像,确定在所述车辆内的所述乘员的一个或多个眼睛的位置;
基于所述乘员的所述至少一个图像,确定眼睛注视矢量;
基于所述眼睛注视矢量,所述乘员的所述一个或多个眼睛的所述位置、以及所述车辆的车辆数据文件,从所述乘员正在看的所述车辆的多个感兴趣区域中确定感兴趣区域,其中,所述车辆数据文件指定所述多个感兴趣区域中的每个感兴趣区域的相应位置;以及
基于所述感兴趣区域来选择性地执行动作。
2.根据权利要求1所述的方法,其中,确定所述眼睛注视矢量包括:
在所述至少一个图像中识别一个或多个面部界标;
基于所述一个或多个面部界标,确定所述乘员的面部平面的俯仰角、翻滚角和偏航角;
基于所述俯仰角、所述翻滚角和所述偏航角来确定所述眼睛注视矢量。
3.根据权利要求1所述的方法,其中,确定所述眼睛注视矢量包括:
基于所述至少一个图像,确定所述乘员的至少一个瞳孔的角度;以及
基于所述至少一个瞳孔的所述角度,确定所述眼睛注视矢量。
4.根据权利要求1至3中的任一项所述的方法,其中,确定所述眼睛注视矢量包括:
基于所述至少一个图像,确定所述乘员的面部平面;
基于所述面部平面,确定第一初始眼睛注视矢量;
基于所述图像并使用眼睛跟踪来确定第二初始眼睛注视矢量;以及
通过至少组合所述第一初始眼睛注视矢量和第二初始眼睛注视矢量来确定所述眼睛注视矢量。
5.根据权利要求1至3中的任一项所述的方法,其中,确定所述眼睛注视矢量包括:
将至少一个机器学习模型应用于所述至少一个图像,其中,所述机器学习模型输出所述眼睛注视矢量。
6.根据权利要求1至5中的任一项所述的方法,其中,所述至少一个图像包括由所述相机系统的两个或更多个不同相机中的每个相机捕获的至少一个相应图像,并且其中,确定在所述车辆内的所述乘员的所述一个或多个眼睛的所述位置包括:
基于所述两个或更多个不同相机中的每个相机捕获的所述至少一个相应图像,确定视差角;
基于所述两个或更多个不同相机中的每个相机的相应位置和所述视差角,确定从所述两个或更多个不同相机中的至少一个到所述乘员的所述一个或多个眼睛的距离;以及
基于所述距离和所述两个或更多个不同相机中的每个相机的所述相应位置,确定所述乘员的所述一个或多个眼睛的所述位置。
7.根据权利要求1至5中的任一项所述的方法,其中,所述至少一个图像包括使用所述相机系统的红外相机捕获的图像,并且其中,确定在所述车辆内的所述乘员的所述一个或多个眼睛的所述位置包括:
基于所述图像的失真,确定从所述红外相机到所述乘员的所述一个或多个眼睛的距离;以及
基于所述红外相机的所述位置和所述距离,确定所述乘员的所述一个或多个眼睛的所述位置。
8.根据权利要求1至7中的任一项所述的方法,
其中,在所述车辆内的所述乘员的所述一个或多个眼睛的所述位置是使用基于相机的坐标系来指定的,所述基于相机的坐标系将所述相机系统中的一个相机作为质心,
其中,所述多个感兴趣区域中的每一个感兴趣区域的所述相应位置是使用基于车辆的坐标系来指定的,所述基于车辆的坐标系具有位于所述车辆的内部的质心,并且不同于所述一个相机的所述位置,以及
其中,确定所述乘员正在看的所述感兴趣区域包括:
将所述一个或多个眼睛的所述位置从所述基于相机的坐标系转换为所述基于车辆的坐标系;
确定从使用所述基于车辆的坐标系指定的所述一个或多个眼睛的所述位置的所述眼睛注视矢量的投射是否与所述多个感兴趣区域中的任何一个相交;以及
响应于确定所述眼睛注视矢量与所述多个感兴趣区域中的特定感兴趣区域相交,确定所述特定感兴趣区域是所述乘员正在看的所述感兴趣区域。
9.根据权利要求1至8中的任一项所述的方法,其中,所述车辆数据文件包括根据可扩展标记语言构造的数据,其中,所述车辆数据文件包括来自所述多个感兴趣区域的每个感兴趣区域的相应坐标集,其中,所述相应坐标集中的每个是相对于围绕所述车辆的内部的球体的质心定义的,并且其中,所述相应坐标集中的每个都定义二维平面。
10.一种计算设备,包括:
至少一个处理器;以及
存储器,所述存储器包括指令,所述指令在由所述至少一个处理器执行时使所述至少一个处理器执行根据权利要求1至9中的任一项所述的方法。
11.一种计算系统,所述计算系统包括用于执行根据权利要求1至9中的任一项所述的方法的装置。
12.一种包括指令的计算机可读存储介质,所述指令在由计算设备的至少一个处理器执行时使所述至少一个处理器执行根据权利要求1至9中的任一项所述的方法。
13.一种车辆,所述车辆包括根据权利要求10所述的计算设备。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201962862561P | 2019-06-17 | 2019-06-17 | |
US62/862,561 | 2019-06-17 | ||
PCT/US2019/061025 WO2020256764A1 (en) | 2019-06-17 | 2019-11-12 | Vehicle occupant engagement using three-dimensional eye gaze vectors |
Publications (1)
Publication Number | Publication Date |
---|---|
CN112424788A true CN112424788A (zh) | 2021-02-26 |
Family
ID=69165553
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201980007318.3A Pending CN112424788A (zh) | 2019-06-17 | 2019-11-12 | 使用三维眼睛注视矢量的车辆乘员参与 |
Country Status (6)
Country | Link |
---|---|
US (2) | US11527082B2 (zh) |
EP (1) | EP3776347A1 (zh) |
JP (2) | JP7402796B2 (zh) |
KR (1) | KR102385874B1 (zh) |
CN (1) | CN112424788A (zh) |
WO (1) | WO2020256764A1 (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115797453A (zh) * | 2023-01-17 | 2023-03-14 | 西南科技大学 | 一种红外微弱目标的定位方法、定位装置及可读存储介质 |
Families Citing this family (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110281950B (zh) * | 2019-07-08 | 2020-09-04 | 睿镞科技(北京)有限责任公司 | 基于三维声像传感器的载运工具控制与可视化环境体验 |
US11574244B2 (en) * | 2019-09-12 | 2023-02-07 | International Business Machines Corporation | States simulator for reinforcement learning models |
CN111176524B (zh) * | 2019-12-25 | 2021-05-28 | 歌尔股份有限公司 | 一种多屏显示系统及其鼠标切换控制方法 |
US11381730B2 (en) * | 2020-06-25 | 2022-07-05 | Qualcomm Incorporated | Feature-based image autofocus |
US11908208B2 (en) * | 2020-10-20 | 2024-02-20 | Toyota Motor Engineering & Manufacturing North America, Inc. | Interface sharpness distraction mitigation method and system |
JP2022094744A (ja) * | 2020-12-15 | 2022-06-27 | キヤノン株式会社 | 被検体動き測定装置、被検体動き測定方法、プログラム、撮像システム |
WO2022232875A1 (en) * | 2021-05-05 | 2022-11-10 | Seeing Machines Limited | Systems and methods for detection of mobile device use by a vehicle driver |
US11951833B1 (en) * | 2021-05-16 | 2024-04-09 | Ambarella International Lp | Infotainment system permission control while driving using in-cabin monitoring |
US20220392261A1 (en) * | 2021-06-04 | 2022-12-08 | Rockwell Collins, Inc. | Pilot safety system with context-sensitive scan pattern monitoring and alerting |
CN113525402B (zh) * | 2021-07-20 | 2023-06-02 | 张鹏 | 高级辅助驾驶及无人驾驶视场智能响应方法及系统 |
KR102644877B1 (ko) * | 2021-08-20 | 2024-03-08 | 주식회사 경신 | 차량 제어 장치 및 방법 |
KR102597068B1 (ko) * | 2021-11-16 | 2023-10-31 | 전남대학교 산학협력단 | 인공 지능을 이용하여 운전자의 주시 상태를 판단하는 차량 장치 및 그 제어 방법 |
US20230161564A1 (en) * | 2021-11-22 | 2023-05-25 | Jpmorgan Chase Bank, N.A. | System and method for adding no-code machine learning and artificial intelligence capabilities to intelligence tools |
US20240005698A1 (en) * | 2022-06-29 | 2024-01-04 | Microsoft Technology Licensing, Llc | Accurate head pose and eye gaze signal analysis |
US11862016B1 (en) * | 2022-07-19 | 2024-01-02 | Jiangsu University | Multi-intelligence federal reinforcement learning-based vehicle-road cooperative control system and method at complex intersection |
Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2000113186A (ja) * | 1998-10-01 | 2000-04-21 | Mitsubishi Electric Inf Technol Center America Inc | 注視方向分類システム及び注視方向分類方法 |
CN101566875A (zh) * | 2008-04-24 | 2009-10-28 | 索尼株式会社 | 图像处理装置、图像处理方法、程序和记录介质 |
CN102378998A (zh) * | 2009-12-10 | 2012-03-14 | 松下电器产业株式会社 | 信息显示设备和信息显示方法 |
US20120147328A1 (en) * | 2010-12-13 | 2012-06-14 | Microsoft Corporation | 3d gaze tracker |
US20140204193A1 (en) * | 2013-01-18 | 2014-07-24 | Carnegie Mellon University | Driver gaze detection system |
CN105408801A (zh) * | 2013-06-25 | 2016-03-16 | 微软技术许可有限责任公司 | 用于头戴式显示器的眼睛跟踪系统 |
JP2017516219A (ja) * | 2014-05-01 | 2017-06-15 | ジャガー ランド ローバー リミテッドJaguar Land Rover Limited | 制御装置および関連方法 |
CN108334810A (zh) * | 2017-12-25 | 2018-07-27 | 北京七鑫易维信息技术有限公司 | 视线追踪设备中确定参数的方法和装置 |
CN109314778A (zh) * | 2016-06-06 | 2019-02-05 | 微软技术许可有限责任公司 | 自校准显示系统 |
CN109493305A (zh) * | 2018-08-28 | 2019-03-19 | 初速度(苏州)科技有限公司 | 一种人眼视线与前景图像叠加的方法及系统 |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7508979B2 (en) | 2003-11-21 | 2009-03-24 | Siemens Corporate Research, Inc. | System and method for detecting an occupant and head pose using stereo detectors |
JP2007265367A (ja) | 2006-03-30 | 2007-10-11 | Fujifilm Corp | 視線検出方法および装置ならびにプログラム |
KR101795264B1 (ko) | 2016-05-31 | 2017-12-01 | 현대자동차주식회사 | 얼굴 랜드마크 검출 장치 및 그 검증 방법 |
US10049571B2 (en) * | 2016-06-29 | 2018-08-14 | Toyota Jidosha Kabushiki Kaisha | Situational understanding of unknown roadway conditions that are ahead for a connected vehicle |
KR101914362B1 (ko) | 2017-03-02 | 2019-01-14 | 경북대학교 산학협력단 | 차량 내/외부 정보 통합 분석 기반의 위험 상황 경고 시스템 및 그 방법 |
US11301677B2 (en) * | 2019-06-14 | 2022-04-12 | Tobil AB | Deep learning for three dimensional (3D) gaze prediction |
-
2019
- 2019-11-12 EP EP19836702.1A patent/EP3776347A1/en active Pending
- 2019-11-12 JP JP2020529676A patent/JP7402796B2/ja active Active
- 2019-11-12 US US16/764,313 patent/US11527082B2/en active Active
- 2019-11-12 CN CN201980007318.3A patent/CN112424788A/zh active Pending
- 2019-11-12 KR KR1020207016245A patent/KR102385874B1/ko active IP Right Grant
- 2019-11-12 WO PCT/US2019/061025 patent/WO2020256764A1/en unknown
-
2022
- 2022-11-09 US US18/054,102 patent/US11847858B2/en active Active
-
2023
- 2023-01-19 JP JP2023006841A patent/JP2023052530A/ja active Pending
Patent Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2000113186A (ja) * | 1998-10-01 | 2000-04-21 | Mitsubishi Electric Inf Technol Center America Inc | 注視方向分類システム及び注視方向分類方法 |
CN101566875A (zh) * | 2008-04-24 | 2009-10-28 | 索尼株式会社 | 图像处理装置、图像处理方法、程序和记录介质 |
CN102378998A (zh) * | 2009-12-10 | 2012-03-14 | 松下电器产业株式会社 | 信息显示设备和信息显示方法 |
US20120147328A1 (en) * | 2010-12-13 | 2012-06-14 | Microsoft Corporation | 3d gaze tracker |
US20140204193A1 (en) * | 2013-01-18 | 2014-07-24 | Carnegie Mellon University | Driver gaze detection system |
CN105408801A (zh) * | 2013-06-25 | 2016-03-16 | 微软技术许可有限责任公司 | 用于头戴式显示器的眼睛跟踪系统 |
JP2017516219A (ja) * | 2014-05-01 | 2017-06-15 | ジャガー ランド ローバー リミテッドJaguar Land Rover Limited | 制御装置および関連方法 |
CN109314778A (zh) * | 2016-06-06 | 2019-02-05 | 微软技术许可有限责任公司 | 自校准显示系统 |
CN108334810A (zh) * | 2017-12-25 | 2018-07-27 | 北京七鑫易维信息技术有限公司 | 视线追踪设备中确定参数的方法和装置 |
CN109493305A (zh) * | 2018-08-28 | 2019-03-19 | 初速度(苏州)科技有限公司 | 一种人眼视线与前景图像叠加的方法及系统 |
Non-Patent Citations (4)
Title |
---|
CIPRIAN CUDALBU等: "Driver monitoring with a single high-speed camera and IR illumination", 《INTERNATIONAL SYMPOSIUM ON SIGNALS, CIRCUITS AND SYSTEMS, 2005. ISSCS 2005》, pages 219 - 222 * |
CONSTANTIN CARAPENCEA等: "REAL-TIME GAZE TRACKING WITH A SINGLE CAMERA", 《JOURNAL OF INFORMATION SYSTEMS & OPERATIONS MANAGEMENT》, pages 1 - 13 * |
RIZWAN ALI NAQVI等: "Deep Learning-Based Gaze Detection System for Automobile Drivers Using a NIR Camera Sensor", 《SENSORS》, vol. 18, pages 1 - 34, XP055715712, DOI: 10.3390/s18020456 * |
刘瑞欢: "基于表观和头部姿态的视线估计系统设计与实现", 《中国优秀硕士学位论文全文数据库 信息科技辑》, no. 02, pages 138 - 2190 * |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115797453A (zh) * | 2023-01-17 | 2023-03-14 | 西南科技大学 | 一种红外微弱目标的定位方法、定位装置及可读存储介质 |
Also Published As
Publication number | Publication date |
---|---|
JP2021531522A (ja) | 2021-11-18 |
KR102385874B1 (ko) | 2022-04-12 |
KR20200145825A (ko) | 2020-12-30 |
US20210397859A1 (en) | 2021-12-23 |
US11527082B2 (en) | 2022-12-13 |
JP2023052530A (ja) | 2023-04-11 |
US11847858B2 (en) | 2023-12-19 |
US20230088021A1 (en) | 2023-03-23 |
JP7402796B2 (ja) | 2023-12-21 |
WO2020256764A1 (en) | 2020-12-24 |
EP3776347A1 (en) | 2021-02-17 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR102385874B1 (ko) | 3차원 시선 벡터를 이용한 차량 탑승자 참여 | |
Xing et al. | Driver activity recognition for intelligent vehicles: A deep learning approach | |
Alkinani et al. | Detecting human driver inattentive and aggressive driving behavior using deep learning: Recent advances, requirements and open challenges | |
US11017250B2 (en) | Vehicle manipulation using convolutional image processing | |
Yi et al. | Personalized driver workload inference by learning from vehicle related measurements | |
Xing et al. | End-to-end driving activities and secondary tasks recognition using deep convolutional neural network and transfer learning | |
Mafeni Mase et al. | Benchmarking deep learning models for driver distraction detection | |
Masala et al. | Real time detection of driver attention: Emerging solutions based on robust iconic classifiers and dictionary of poses | |
Dua et al. | AutoRate: How attentive is the driver? | |
González-Ortega et al. | Real-time vision-based eye state detection for driver alertness monitoring | |
US20210279514A1 (en) | Vehicle manipulation with convolutional image processing | |
Liu et al. | Real time detection of driver fatigue based on CNN‐LSTM | |
Kim et al. | Anomaly monitoring framework in lane detection with a generative adversarial network | |
CN113946218A (zh) | 设备上的活动识别 | |
Dua et al. | Evaluation and visualization of driver inattention rating from facial features | |
Rouari et al. | Deep CNN-based autonomous system for safety measures in logistics transportation | |
Jasim et al. | Driver drowsiness detection using gray wolf optimizer based on face and eye tracking | |
Andriyanov | Application of computer vision systems for monitoring the condition of drivers based on facial image analysis | |
Fusek et al. | Driver state detection from in-car camera images | |
Nissimagoudar et al. | Vision-based driver authentication and alertness detection using HOG feature descriptor | |
Nandyal | An ensemble learning model for driver drowsiness detection and accident prevention using the behavioral features analysis | |
Yahyaabadi et al. | An Explainable Attention Zone Estimation for Level 3 Autonomous Driving | |
US20230419721A1 (en) | Electronic device for improving quality of image and method for improving quality of image by using same | |
Bakheet et al. | A Framework for Instantaneous Driver Drowsiness Detection Based on Improved HOG Features and Naïve Bayesian Classification. Brain Sci. 2021, 11, 240 | |
Subbaiah et al. | Driver drowsiness detection system based on infinite feature selection algorithm and support vector machine |
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 |