CN114041175A - 一种用于使用真实感合成数据估计头部姿势和视线的神经网络 - Google Patents
一种用于使用真实感合成数据估计头部姿势和视线的神经网络 Download PDFInfo
- Publication number
- CN114041175A CN114041175A CN201980096086.3A CN201980096086A CN114041175A CN 114041175 A CN114041175 A CN 114041175A CN 201980096086 A CN201980096086 A CN 201980096086A CN 114041175 A CN114041175 A CN 114041175A
- Authority
- CN
- China
- Prior art keywords
- face
- image
- texture image
- modified
- texture
- 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; 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/18—Eye characteristics, e.g. of the iris
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/21—Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
- G06F18/214—Generating training patterns; Bootstrap methods, e.g. bagging or boosting
- G06F18/2148—Generating training patterns; Bootstrap methods, e.g. bagging or boosting characterised by the process organisation or structure, e.g. boosting cascade
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/045—Combinations of networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T11/00—2D [Two Dimensional] image generation
- G06T11/001—Texturing; Colouring; Generation of texture or colour
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T15/00—3D [Three Dimensional] image rendering
- G06T15/04—Texture mapping
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR 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; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/10—Segmentation; Edge detection
- G06T7/11—Region-based segmentation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/30—Determination of transform parameters for the alignment of images, i.e. image registration
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/20—Special algorithmic details
- G06T2207/20081—Training; Learning
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/20—Special algorithmic details
- G06T2207/20084—Artificial neural networks [ANN]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/20—Special algorithmic details
- G06T2207/20112—Image segmentation details
- G06T2207/20132—Image cropping
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- General Physics & Mathematics (AREA)
- General Health & Medical Sciences (AREA)
- Health & Medical Sciences (AREA)
- Multimedia (AREA)
- Data Mining & Analysis (AREA)
- Software Systems (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Artificial Intelligence (AREA)
- Human Computer Interaction (AREA)
- Ophthalmology & Optometry (AREA)
- General Engineering & Computer Science (AREA)
- Evolutionary Computation (AREA)
- Life Sciences & Earth Sciences (AREA)
- Computer Graphics (AREA)
- Computational Linguistics (AREA)
- Mathematical Physics (AREA)
- Computing Systems (AREA)
- Molecular Biology (AREA)
- Biophysics (AREA)
- Biomedical Technology (AREA)
- Geometry (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Bioinformatics & Computational Biology (AREA)
- Evolutionary Biology (AREA)
- Image Analysis (AREA)
Abstract
本公开涉及用于估计头部姿势和视线角度的技术,该技术包括:通过人脸对齐方法使用二维(two‑dimensional,2D)面部的图像生成所述2D面部的面部紫外(ultraviolet,UV)位置图像和面部UV纹理图像,以分离所述2D面部的头部和眼部的运动。从所述面部UV纹理图像中提取眼部UV纹理图像并存储到数据库中。然后,可以用存储在所述数据库中的所述眼部UV纹理图像替换所述面部UV纹理图像的眼部区域,以生成修改后的面部UV纹理图像。对所述修改后的面部UV纹理图像进行重构,以生成修改后的2D面部图像作为存储在所述数据库中的训练数据。通过使用所述训练数据训练卷积神经网络,同时估计人的头部姿势和视线角度。
Description
发明人:
杨磊
马元
邵文鑫
黄为
法提赫·波里克利
技术领域
本公开大体上涉及训练神经网络,并且特别地,涉及利用数据集训练神经网络以估计车辆驾驶员的头部姿势和视线角度。
背景技术
驾驶员分心正日益成为车辆事故的主要原因,特别是随着移动设备等技术的使用日益增多,所述移动设备将驾驶员的注意力从道路上转移开。驾驶员分心监控和避免是确保安全驾驶环境的关键,不仅对于分心的驾驶员,而且对于附近可能受到分心驾驶员影响的其它驾驶员来说,都是如此。能够监控驾驶员的车辆可以使车辆采取措施,以防止或协助防止因驾驶员分心而造成的事故。例如,可以启用警报系统来警告驾驶员分心了,或者可以启用制动和转向等自动功能来控制车辆,直到所述驾驶员不再分心。为了检测驾驶员分心情况,这些警报和预防性监控系统可以使用驾驶员的头部姿势和视线角度来评估当前状态。然而,由于头部和眼部的运动通常是相互独立的,精确的头部姿势和视线估计在计算机视觉技术中是一个非同小可的挑战。
发明内容
根据本公开的一个方面,提供了一种用于估计头部姿势和视线角度的计算机实现方法,包括:利用多个二维(two-dimensional,2D)面部图像训练第一神经网络,以分离2D面部的头部和眼部的运动,其中,所述训练所述第一网络包括:将所述多个2D面部图像中的2D面部映射到面部位置图像,以及基于所述面部位置图像构建所述2D面部的面部纹理图像;将从所述2D面部的所述面部纹理图像中提取的包括视线角度的眼部纹理图像存储在数据库中;用所述数据库中存储的包括所述视线角度的所述眼部纹理图像替换所述面部纹理图像的眼部区域,以生成修改后的面部纹理图像;重构所述修改后的面部纹理图像以生成包括修改后的头部姿势和视线角度的修改后的2D面部图像作为训练数据,并将所述训练数据存储在所述数据库中;以及通过使用所述训练数据训练第二神经网络来估计所述头部姿势和视线角度,其中,所述训练所述第二神经网络包括:从所述数据库中采集所述训练数据,以及同时对所述训练数据的所述修改后的2D面部图像和所述修改后的2D面部图像的相应眼部区域应用一个或多个变换。
可选地,在上述任一方面中,所述映射还包括:使用人脸对齐方法将所述多个2D面部图像中的所述2D面部映射到位置图,其中,所述面部位置图像将所述多个2D面部图像中的所述2D面部对齐到针对所述多个2D面部图像中的所述2D面部的重构的3D(three-dimensional,3D)模型的3D坐标;以及所述构建还包括:基于所述面部位置图像或面部3D可形变模型,针对所述多个2D面部图像中的所述2D面部构建所述面部纹理图像,以表示所述对齐后的2D面部的纹理。
可选地,在上述任一方面中,所述存储还包括:基于所述面部位置图像,从所述多个2D面部图像中的所述2D面部中提取所述面部纹理图像;从所述面部纹理图像中裁剪所述眼部区域,以基于地标根据所述多个2D面部图像中的所述对齐的2D面部创建裁剪的眼部纹理图像;以及将所述裁剪的眼部纹理图像存储到所述数据库中。
可选地,在上述任一方面中,所述裁剪的眼部UV纹理图像被标记为所述多个2D面部图像中的所述2D面部的所述头部姿势和所述视线角度之间的差异。
可选地,在上述任一方面中,所述替换还包括:基于所述地标从所述数据库中选择所述裁剪的眼部纹理图像的所述眼部区域;以及基于所述地标的对齐坐标,用所述数据库中的所述裁剪的眼部纹理图像替换所述面部纹理图像中的所述眼部区域,以生成所述多个2D面部图像中的所述2D面部的修改后的面部纹理图。
可选地,在上述任一方面中,所述替换还包括:应用图像融合,以将从所述数据库中选择的所述裁剪的眼部纹理图像合并到所述多个2D面部图像中的所述2D面部的所述修改后的面部纹理图;以及训练生成对抗网络(generative adversarial network,GAN)或使用基于局部梯度信息的方法来平滑所述修改后的面部纹理图像的眼部区域中的色彩和纹理。
可选地,在上述任一方面中,所述计算机实现方法还包括:将所述2D面部的所述修改后的面部纹理图像变形到面部3D可形变模型(3D morphable model,3DMM)上,以利用视线方向根据所述修改后的面部纹理图像重构3D面部模型;将旋转矩阵应用于所述重构的3D面部模型以改变所述头部姿势,并改变所述视线角度以与所述头部姿势一致;将应用所述旋转矩阵后的所述3D面部模型投影到2D图像空间以生成所述修改后的2D面部图像;以及将所述修改后的2D面部图像存储在所述数据库中。
可选地,在上述任一方面中,所述视线方向是通过将存储在从所述数据库中选择的所述裁剪的眼部纹理图像中的相对视线方向添加到所述头部姿势中来计算得到的。
可选地,在上述任一方面中,所述估计还包括:采集具有一个或多个头部姿势的车辆驾驶员的2D面部图像,以生成驾驶员数据集;以及应用所述驾驶员数据集微调所述第二神经网络以估计驾驶员的头部姿势和视线角度。
可选地,在上述任一方面中,通过捕获设备捕获所述驾驶员的所述2D面部图像并将所述2D面部图像上传到网络进行处理;以及将所述驾驶员的所述处理后的2D面部图像下载到所述车辆。
可选地,在上述任一方面中,所述第一神经网络是编码器-解码器类型的神经网络,用于将所述2D面部图像映射到相应的位置图。
可选地,在上述任一方面中,在所述面部位置图像中,每个像素点的RGB(redgreen blue,RGB)灰度值表示其重构的3D模型中相应面部点的3D坐标。
根据本公开的另一方面,提供了一种用于估计头部姿势和视线角度的设备,包括:包括指令的非瞬时性存储器;以及与所述存储器通信的一个或多个处理器,其中所述一个或多个处理器执行所述指令以执行以下操作:利用多个二维(two-dimensional,2D)面部图像训练第一神经网络,以分离2D面部的头部和眼部的运动,其中,所述训练所述第一网络包括:将所述多个2D面部图像中的2D面部映射到面部位置图像,以及基于所述面部位置图像构建所述2D面部的面部纹理图像;将从所述2D面部的所述面部纹理图像中提取的包括视线角度的眼部纹理图像存储在数据库中;用所述数据库中存储的包括所述视线角度的所述眼部纹理图像替换所述面部纹理图像的眼部区域,以生成修改后的面部纹理图像;重构所述修改后的面部纹理图像以生成包括修改后的头部姿势和视线角度的修改后的2D面部图像作为训练数据,并将所述训练数据存储在所述数据库中;以及通过使用所述训练数据训练第二神经网络来估计所述头部姿势和视线角度,其中,所述训练所述第二神经网络包括:从所述数据库中采集所述训练数据,以及同时对所述训练数据的所述修改后的2D面部图像和所述修改后的2D面部图像的相应眼部区域应用一个或多个变换。
根据本公开的另一方面,提供了一种非瞬时性计算机可读介质,其存储计算机指令以估计头部姿势和视线角度,其中,当一个或多个处理器执行所述计算机指令时,使得所述一个或多个处理器执行以下步骤:利用多个二维(two-dimensional,2D)面部图像训练第一神经网络,以分离2D面部的头部和眼部的运动,其中,所述训练所述第一网络包括:将所述多个2D面部图像中的2D面部映射到面部位置图像,以及基于所述面部位置图像构建所述2D面部的面部纹理图像;将从所述2D面部的所述面部纹理图像中提取的包括视线角度的眼部纹理图像存储在数据库中;用所述数据库中存储的包括所述视线角度的所述眼部纹理图像替换所述面部纹理图像的眼部区域,以生成修改后的面部纹理图像;重构所述修改后的面部纹理图像以生成包括修改后的头部姿势和视线角度的修改后的2D面部图像作为训练数据,并将所述训练数据存储在所述数据库中;以及通过使用所述训练数据训练第二神经网络来估计所述头部姿势和视线角度,其中,所述训练所述第二神经网络包括:从所述数据库中采集所述训练数据,以及同时对所述训练数据的所述修改后的2D面部图像和所述修改后的2D面部图像的相应眼部区域应用一个或多个变换。
本发明内容简要地介绍了一系列概念,这些概念在下文的具体实施方式中会进一步描述。本发明内容并非旨在确定所要求保护标的的关键或必要特征,也并非旨在用于限制所要求保护标的的范围。所要求保护标的不限于解决背景技术中提出的任何或所有问题的实现方式。
附图说明
本公开的各个方面通过示例的方式示出,并且不受附图限制,附图中利用相同的附图标记表示元件。
图1A示出了根据本技术的一个实施例的用于估计头部姿势和视线估计的系统;
图1B示出了根据图1A的示例性头部姿势和视线估计器;
图2A示出了根据本公开实施例的用于估计头部姿势和视线角度的示例流程图;
图2B示出了原点和重合的头部姿势和视线的示例;
图2C和图2D示出了针对二维(two-dimensional,2D)面部数据的神经网络的训练;
图3A和图3B示出了构建眼部UV纹理数据集的示例;
图4A和图4B示出了替换面部UV纹理图像中的眼部区域的示例;
图5A和图5B示出了重构3D面部和生成训练数据的示例流程图;
图6示出了用于估计头部姿势和视线角度的多模态CNN(convolutional neuralnetwork,卷积神经网络)的示例;
图7A和图7B示出了用于微调预训练模型的流程图;以及
图8示出了可实施本发明的实施例的计算系统。
具体实施方式
现在参考附图来描述本公开,这些附图通常涉及驾驶员行为检测。
公开了一种用于估计头部姿势和视线的技术,其中,二维(two-dimensional,2D)面部图像中头部的运动可以与视线的运动分离。采用人脸对齐方法,例如,深度神经网络(deep neural network,DNN),对头部姿势进行对齐,并将2D面部图像从2D图像空间映射到新的UV空间。所述新的UV空间是从3D空间参数化而来的2D图像平面,用于表示三维(three-dimensional,3D)几何形状(UV位置图像)和2D面部图像(UV纹理图像)的相应纹理。所述UV纹理图像可用于裁剪眼部区域(具有不同的视线角度),在数据库中创建眼部UV纹理图像数据集。对于任何2D面部图像(例如,正视面部图像),其UV纹理图像中的眼部区域可以替换为存储在所述数据库中的眼部UV纹理数据集中的任一图像。然后可以将所述面部图像从所述UV空间重构到3D空间。然后,将旋转矩阵应用到新的3D面部上,并投影回2D空间,以合成大量具有不同头部姿势和视线角度的新的真实感图像。所述真实感图像可用于训练多模态卷积神经网络(convolution neural network,CNN),以便同时进行头部姿势和视线角度的估计。该技术还可以应用于其他面部属性,例如,表情或疲劳,以在关于但不限于打哈欠、闭眼等的数据集上生成。
应理解,本发明的实施例可以以许多不同形式实施,并且权利要求范围不应被解释为限于本文中阐述的实施例。相反,提供这些实施例使得本发明是透彻和完整的,并且将向本领域技术人员充分传达本发明的实施例概念。事实上,本发明公开旨在覆盖包括在由所附权利要求书限定的本发明的精神和范围内的这些实施例的替代物、修改和等同物。此外,在以下对本公开实施例的详细描述中,为了提供透彻的理解,阐述了许多具体细节。然而,本领域普通技术人员将清楚的是,在没有这些具体细节的情况下,可以实施本发明的本实施例。
数据驱动的DNN技术是近十年来最显着的进步之一,特别是由于它与计算机视觉有关。对于DNN训练来说,具有准确标签的大型数据集至关重要。然而,还没有现成的、具有足够数据量的大型的头部姿势和视线角度数据集来进行这种训练。这主要是由于需要一个实验环境来采集和获取数据。例如,常用的数据集是哥伦比亚视线数据集,该数据集使用设计良好的相机阵列和具有许多固定头部姿势的下巴托采集。虽然哥伦比亚视线数据集是一个很好的公共数据集,用于算法研究,但它仍然不足以训练一个稳定的视线和头部姿势估计网络。在“视线锁定:人与物交互的被动眼接触检测”(Gaze Locking:Passive EyeContact Detection for Human–Object Interaction)(B.A.Smith等著)中公开了关于哥伦比亚视线数据的解释。
另一个例子是SmartEye眼球跟踪系统,也是当今最先进的远程视线分析器之一。该系统能够准确无误地估计一个人的头部姿势和视线。但其存在许多缺点,包括对成像系统的复杂校准,只能提供近红外(near infrared,NIR)图像进行训练和测试,头部姿势和视线估计结果基于几何计算,对成像系统参数漂移非常敏感,并且成像系统非常昂贵。
由于训练数据集的上述限制和其他限制,在计算机视觉领域,通常认为头部姿势和视线估计任务是两个独立的任务。
图1A示出了根据本技术的一个实施例的用于头部姿势和视线估计的系统。头部姿势和视线估计器106示出为安装或以其他方式包括在车辆101内,车辆101还包括驾驶员102可以坐在其中的驾驶室。头部姿势和视线估计器106或其一个或多个部分可以通过舱内计算机系统和/或移动计算设备,例如,但不限于,智能手机、平板电脑、笔记本电脑、膝上型电脑和/或类似设备。
根据本技术的某些实施例,头部姿势和视线估计器106从一个或多个传感器获取车辆101的驾驶员102的当前数据。在其它实施例中,头部姿势和视线估计器106还从一个或多个数据库140获取与驾驶员102的面部特征等特征相关的附加信息、历史头部姿势和视线信息等等。头部姿势和视线估计器106分析车辆101的驾驶员102的所述当前数据和/或附加信息,从而识别驾驶员的头部姿势和视线。如下所述,可以使用一个或多个计算机实现的神经网络和/或一些其它计算机实现的模型来执行这样的分析。
如图1A所示,驾驶员分心系统106通信耦合至捕获设备103,捕获设备103可用于获取车辆101的驾驶员的当前数据。在一个实施例中,捕获设备103包括传感器和其他设备,用于获取车辆101的驾驶员102的当前数据。捕获的数据可以由处理器104处理,处理器104包括硬件和/或软件,以检测和跟踪驾驶员移动、头部姿势和视线方向。如下面将进一步详细描述的,参考图1B,捕获设备可以另外包括一个或多个摄像机、麦克风或其它传感器以捕获数据。
在一个实施例中,捕获设备103可以如图1A所示在驾驶员分心系统106的外部,或者可以根据具体实现方式,作为驾驶员分心系统106的一部分包括在内。下面参照图1B描述根据本技术的某些实施例的驾驶员分心系统106的其他细节。
仍然参考图1A,驾驶员分心系统106还示出为通信耦合至车辆101中包括的各种不同类型的车辆相关传感器105。这种传感器105可包括但不限于速度计、全球定位系统(global positioning system,GPS)接收器和时钟。驾驶员分心系统106还示出为通信耦合至一个或多个通信网络130,所述通信网络130提供对一个或多个数据库140和/或其它类型的数据存储的访问。数据库140和/或其它类型的数据存储可以存储车辆101的车辆数据。此类数据的示例包括但不限于驾驶记录数据、驾驶性能数据、驾驶执照类型数据、驾驶员面部特征、驾驶头部姿势、驾驶员视线等。此类数据可以存储在位于车辆101内的本地数据库或其它数据存储中。然而,数据可能存储在一个或多个数据库140或相对于车辆101远程定位的其它数据存储中。因此,这样的数据库140或其它数据存储可以经由一个或多个通信网络130通信耦合至驾驶员分心系统。
通信网络130可以包括数据网络、无线网络、电话网络或其任意组合。预期数据网络可以是任何局域网(local area network,LAN)、城域网(metropolitan area network,MAN)、广域网(wide area network,WAN)、公共数据网络(例如,互联网)、短距离无线网络或任何其它合适的分组交换网络。此外,无线网络例如可以是蜂窝网络,并且可以采用各种技术,包括GSM演进增强数据速率(Enhanced Data rates for GSM Evolution,EDGE)、通用分组无线服务(general packet radio service,GPRS)、全球移动通信系统(global systemfor mobile communications,GSM)、互联网协议多媒体子系统(Internet protocolmultimedia subsystem,IMS)、通用移动通信系统(UMTS)等,以及任何其他合适的无线介质,例如,全球微波接入互操作性(worldwide interoperability for microwave access,WiMAX)、长期演进(Long Term Evolution,LTE)网络、码分多址(CDMA)、宽带码分多址(wideband code division multiple access,WCDMA)、无线保真(wireless fidelity,Wi-Fi)、无线LAN(wireless LAN,WLAN)、互联网协议(Internet Protocol,IP)数据传输、卫星、移动自组网(mobile ad-hoc network,MANET)等,或其任何组合。通信网络130可以通过通信设备102(图1B)等提供在驾驶员分心系统106与数据库140和/或其他数据存储之间的通信能力。
虽然参考车辆101描述了图1A的实施例,但应理解,所公开的技术可以应用于广泛的技术领域,而不限于车辆。例如,除了车辆之外,所公开的技术可以用于虚拟或增强现实设备或模拟器中,其中可能需要头部姿势和视线估计、车辆数据和/或场景信息。
现在将参照图1B描述根据本技术的某些实施例的驾驶员分心系统106的其他细节。驾驶员分心系统106包括捕获设备103、一个或多个处理器108、车辆系统104、导航系统107、机器学习引擎109、输入/输出(input/output,I/O)接口114、存储器116、视觉/音频警报118、通信设备120和数据库140(其也可以是驾驶员分心系统的一部分)。
捕获设备103可以负责使用位于驾驶室内的一个或多个捕获设备,例如传感器103A、摄像机103B或麦克风103C等,基于捕获的驾驶员运动和/或音频数据来监控和识别驾驶员行为。在一个实施例中,捕获设备103用于捕获驾驶员头部和面部的运动,而在其它实施方式中,还捕获驾驶员躯干和/或驾驶员四肢和手部的运动。例如,检测和跟踪108A、头部姿势估计器108B和视线方向估计器108C可以监控由捕获设备103捕获的驾驶员运动,以检测特定姿势,例如头部姿势,或者人是否正在朝特定方向看。
其它实施例包括通过麦克风103C捕获音频数据,与驾驶员移动数据一起或与驾驶员移动数据分开。捕获的音频例如可以是麦克风103C捕获的驾驶员102的音频信号。可以分析音频以检测各种可能随驱动程序状态而变化的功能。此类音频特征的示例包括驾驶员语音、乘客语音、音乐等。
尽管捕获设备103被描绘为具有多个组件的单个设备,但应理解,每个组件(例如,传感器、摄像机、麦克风等)可以是位于车辆101的不同区域中的单独组件。例如,传感器103A、摄像机103B、麦克风103C和深度传感器103D可以分别位于驾驶室的不同区域。在另一示例中,捕获设备103的单个组件可以是另一组件或设备的一部分。例如,摄像机103B和视觉/音频警报118可以是放置在车辆驾驶室中的移动电话或平板电脑(未示出)的一部分,而传感器103A和麦克风103C可以单独地位于车辆驾驶室中的不同位置。
检测和跟踪108A监控由捕获设备103捕获的驾驶员102的面部特征,然后可以在检测到驾驶员的面部之后提取所述面部特征。术语面部特征包括但不限于围绕眼部、鼻子和嘴巴区域的点以及勾勒出检测到的驾驶员102的面部轮廓部分的点。基于所监控的面部特征,可以检测到驾驶员102眼球的一个或多个眼部特征的初始位置。眼部特征可以包括虹膜以及眼球的第一眼角和第二眼角。因此,例如,检测一个或多个眼部特征中的每一个眼部特征的位置包括检测虹膜的位置、检测第一眼角的位置以及检测第二眼角的位置。
头部姿势估计器108B使用所监控的面部特征来估计驾驶员102的头部姿势。如本文所使用的,术语“头部姿势”描述了一个角度,该角度指的是驾驶员头部关于捕获设备103的平面的相对取向。在一个实施例中,头部姿势包括驾驶员头部相对于捕获设备的平面的偏航角和俯仰角。在另一实施例中,头部姿势包括驾驶员头部相对于捕获设备平面的偏航角、俯仰角和滚转角。下面参照图5B更详细地描述头部姿势。
视线方向估计器108C估计驾驶员的视线方向(和视线角度)。在视线方向估计器108C的操作中,捕获设备103可以捕获(例如,车辆驾驶员的)图像或图像组。捕获设备103可以将图像传输到视线方向估计器108C,其中,视线方向估计器108C从图像中检测到面部特征并且(例如,随着时间的推移)跟踪驾驶员的视线。Smart Eye的眼球跟踪系统就是这样一种视线方向估计器。
在另一实施例中,视线方向估计器108C可以从捕获的图像检测眼部。例如,视线方向估计器108C可以依靠眼部中心来确定视线方向。简而言之,可以假定驾驶员是相对于其头部的方位向前视线。在一些实施例中,视线方向估计器108C通过检测瞳孔或虹膜位置或使用几何模型来提供更精确的视线跟踪,所述集合模型基于估计的头部姿势和检测到的虹膜以及第一眼角和第二眼角中的每一个的位置。瞳孔和/或虹膜跟踪使得视线方向估计器108C能够检测与头部姿势分离的视线方向。驾驶员通常在很少或没有头部移动的情况下视觉扫描周围的环境(例如,向左或向右(或向上或向下)扫视,以更好地看到其直接视线之外的物品或物体)。这些视觉扫描经常是针对处于或靠近道路的物体(例如,为了查看路标、道路附近的行人等)以及车辆驾驶室中的物体(例如,为了查看车速等控制台读数,操作收音机或其它仪表板设备,或查看/操作个人移动设备。在某些情况下,驾驶员可以以最小的头部移动(例如,从其眼角)瞥向这些物体中的一部分或全部。通过跟踪瞳孔和/或虹膜,视线方向估计器108C可以检测向上、向下和侧向的目光,而在单纯跟踪头部位置的系统中是无法检测到这些目光的。
在一个实施例中,基于检测到的面部特征,视线方向估计器108C可使处理器108确定视线方向(例如,驾驶员在车辆上的视线)。在一些实施例中,视线方向估计器108C接收一系列图像(和/或视频)。视线方向估计器108C可以检测多个图像(例如,一系列图像或一个图像序列)中的面部特征。因此,视线方向估计器108C可随时间跟踪视线方向,并将这些信息存储在例如数据库140中。
除上述姿势和视线检测外,处理器108还可以包括图像校正器108D、视频增强器108E、视频场景分析器108F和/或其它数据处理和分析,以确定由捕获设备103捕获的场景信息。
图像校正器108D接收捕获的数据并可进行视频稳像等校正。例如,道路上的颠簸可能会使数据抖动、模糊或失真。图像校正器可稳定图像以防止水平和/或垂直抖动,和/或可校正平移、旋转和/或缩放。
视频增强器108E可以在照明不佳或数据压缩率高的情况下进行额外的增强或处理。视频处理和增强可包括但不限于伽马校正、去雾和/或去模糊。可以使用其他视频处理增强算法减少低照明视频输入中的噪声,然后采用对比度增强技术,例如但不限于色调映射、直方图拉伸和均衡以及伽马校正,以恢复低照明视频中的视觉信息。
视频场景分析器108F可识别来自捕获设备103的视频的内容。例如,视频的内容可以包括来自车辆中的前向摄像机103B的场景或场景序列。对视频的分析可能涉及多种技术,包括但不限于特征提取、结构分析、物体检测、跟踪等低级内容分析,以及场景分析、事件检测、视频挖掘等高级语义分析。例如,通过识别传入的视频信号的内容,可以确定车辆101是沿着高速公路行驶还是在城市范围内行驶,道路上是否有行人、动物或其他物体/障碍物等。通过在进行图像分析(例如,视频场景分析)之前或同时进行图像处理(例如,图像校正、视频增强等),可以针对进行的分析的类型,采用相应的方式准备图像数据。例如,在为了减少模糊而进行的图像校正中,可以通过清除用于对象识别的边缘线来更准确地进行视频场景分析。
车辆系统104可提供与车辆的任何状态、车辆环境或连接到车辆的任何其它信息源的输出相对应的信号。例如,车辆数据输出可包括模拟信号(例如,电流速度)、由个别信息源(例如,时钟、温度计、全球定位系统(Global Positioning System,GPS)传感器等位置传感器等)提供的数字信号、通过车辆数据网络(例如,可通过其传播发动机相关信息的发动机控制器局域网(controller area network,CAN)总线、可通过其传播气候控制相关信息的气候控制CAN总线、以及可通过其在车辆中的多媒体组件之间传送多媒体数据的多媒体数据网络)传播的数字信号。例如,车辆系统104可以从发动机CAN总线检索由车轮传感器估计的车辆的当前速度、通过车辆的电池和/或配电系统的车辆的动力状态、车辆的点火状态等。
车辆101的导航系统107可生成和/或接收导航信息,例如,位置信息(例如,通过GPS传感器和/或其它传感器105)、路线引导、交通信息、兴趣点(point-of-interest,POI)识别、和/或为驾驶员提供其他导航服务。在一个实施例中,导航系统或导航系统的一部分通信耦合至车辆101并位于车辆101的远端。
通过输入/输出接口114可以使用各种输入/输出设备将信息呈现给用户和/或其他组件或设备。输入设备的示例包括键盘、麦克风、触摸功能(例如,用于检测物理触摸的电容或其它传感器)、摄像机(例如,其可采用红外频率等可见或非可见波长将运动识别为不涉及触摸的手势)等。输出设备的示例包括视觉/音频警报118,例如显示器、扬声器等。在一个实施例中,I/O接口114从捕获设备103接收驾驶员102的驱动器运动数据和/或音频数据。驾驶员运动数据可以与可由处理器108分析的驾驶员102的眼部和面部等相关。
由驾驶员分心系统106采集的数据可以存储在数据库140、存储器116或其任意组合中。在一个实施例中,所采集的数据来自车辆101外部的一个或多个源。存储的信息可以是与驾驶员分心和安全相关的数据,例如由捕获设备103捕获的信息。在一个实施例中,存储在数据库140中的数据可以是为车辆101的一个或多个驾驶员采集的数据的集合。在一个实施例中,所采集的数据是车辆101的驾驶员的头部姿势数据。在另一个实施例中,所采集的数据是车辆101的驾驶员的视线方向数据。所采集的数据还可用于生成数据集和信息,所述数据集和信息可用于训练用于机器学习的模型,例如机器学习引擎109。
在一个实施例中,存储器116可以存储处理器108、机器学习引擎109可执行的指令以及处理器108可加载和可执行的程序或应用(未示出)。在一个实施例中,机器学习引擎109包括存储在存储器116中的可由处理器108执行的可执行代码,并选择存储在存储器116(或数据库140)中的一个或多个机器学习模型。机器模型可以使用公知的和传统的机器学习和深度学习技术来开发,例如,下文将更详细描述的卷积神经网络(convolutionalneural network,CNN)的实现。
应用从各个组件采集和获取的全部或部分数据,驾驶员分心系统106可以计算驾驶员分心的级别。驾驶员分心的级别可以基于输入到系统中的阈值级别,或者基于先前采集和获取的信息(例如,历史信息),对所述信息进行分析以确定何时认为驾驶员分心。在一个实施例中,权重或分数可以表示驾驶员分心的级别,并且可以基于从观察驾驶员、车辆和/或周围的环境获得的信息。可以将这些观察结果与阈值水平或先前采集和获得的信息等进行比较。例如,与良好天气、非高峰时段和日间的周围环境的路线部分相比,在恶劣天气、高峰时段或夜间的路线可能需要更高级别的驾驶员注意力。在这些部分中,可能出现较低级别驾驶员分心的部分视为安全驾驶区域,可能出现较高级别驾驶员分心的部分视为分心驾驶区域。在另一个示例中,驾驶员在沿着蜿蜒的道路或高速公路行驶时,可能需要比沿着直线道路或死胡同行驶时更高级别的注意力。在这种情况下,沿着蜿蜒的道路或高速公路行驶时,驾驶员可能在部分路线上分心程度更高,而沿着直线道路或死胡同行驶时,驾驶员可能在部分路线上分心程度较低。
其它示例包括,当(例如,根据内部图像确定)驾驶员向前视线时,与当驾驶员向下视线或向侧面视线时进行比较,计算出驾驶员分心分数。当认为驾驶员在向前视线时,相关分数(和分心程度)将被认为低于驾驶员向下视线或向侧面视线时。在计算分数时,可能会考虑许多其他因素,例如,(基于检测到的声音信息等确定)车辆驾驶室的噪音大小、或朝着危险或不安全物体被遮挡但可以通过车辆传感器检测到的(例如,从车辆接近传感器、外部图像等确定的)方向视线。应理解,只要提供任何其它合适的输入集,则就计算其它驾驶员分心分数。
图2A示出了根据本公开实施例的用于估计头部姿势和视线角度的示例流程图。在实施例中,流程图可以是由计算机实现的方法,该方法至少部分地由各种附图中示出的并且如本文所述的硬件和/或软件组件执行。在一个实施例中,所公开的过程可以由图1A和图1B中公开的头部姿势和视线估计器106执行。在一个实施例中,由一个或多个处理器,例如处理器108或处理器802,执行的软件组件执行所述过程的至少一部分。
过程200中,估计人(例如车辆的驾驶员)的头部姿势和视线角度。步骤210–216涉及生成具有精确的头部姿势和视线角度标签的数据集,所述数据集在步骤218用于训练用于估计头部姿势和视线角度的多模态CNN。为了计算头部姿势和视线估计,如图2B所示,当人的头部朝向捕获设备103(例如,摄像机103B)的正面时,其头部姿势的偏航角、俯仰角和滚转角(α,β,γ)等于(0°,0°,0°)。在一个实施例中,当摄像机103B捕获人的二维(two-dimensional,2D)面部的图像(即,面部图像)时,人眼的视线角度由瞳孔中心相对于眼角的位置决定。
基于该假设,可以使用不同的姿势来对准人的头部,使得头部(姿势)的运动可以与眼部(视线)分离。在一个实施例中,如下所述,通过改变在对齐的图像中的瞳孔中心(相对于眼角)的位置,当重构2D图像时,视线角度也可以改变。在进行这些确定时,头部姿势和视线坐标的原点是重合的,如图2B所示。根据本实施例,原点视线201’和原点头部姿势203’示出为两条独立的虚线,其中,视线角度为(h,v)’,头部姿势角具有偏航、俯仰和滚转角(α1,β1,γ1)’这三个旋转角。原点视线201’和原点头部姿势角203’坐标(例如,(h,v)’和(α1,β1,γ1)’)等同于(或几乎等同于)重合的原点头部姿势和视线205’(即,头部姿势和视线显示为单条虚线)。
基于上述假设,在步骤210中,使用2D面部的图像训练编码器-解码器深度神经网络(deep neural network,DNN)的人脸对齐方法,以生成2D面部的对齐的UV位置图像和面部UV纹理图像,以分离2D面部的头部和眼部的运动,如下面参照图2C和2D所述。然后,在步骤212中(图3A和图3B),从2D面部的面部UV纹理图像中提取包括视线角度的眼部UV纹理图像并存储到数据库中。在步骤214中(图4A和图4B),将面部UV纹理图像的眼部区域替换为从数据库中检索的包括视线角度的眼部UV纹理图像。将所述眼部区域替换为眼部UV纹理图像会生成修改后的面部UV纹理图像。在步骤216中,重构所述修改后的面部UV纹理图像以生成修改后的2D面部图像,包括修改后的头部姿势和视线角度,作为存储在数据库中的训练数据(图5A和图5B)。在步骤218中,通过使用训练数据训练CNN来估计人的头部姿势和视线角度(图6)。下面参照相应的附图详细解释了每个步骤。
图2C和图2D示出了训练用于二维(two-dimensional,2D)人脸对齐的神经网络的示例。所描述实施例中对神经网络的训练是对图2A的训练步骤210的详细描述。参照图2C,2D面部图像202输入深度神经网络(deep neural network,DNN)203,例如编码器-解码器类型DNN(或人脸对齐网络),其中机器学习引擎109对齐2D面部图像转换为面部UV位置图像(或位置图)204,并构造面部UV纹理图像(或纹理图)206。也就是说,面部UV位置图像204表示2D图像的完整3D面部结构,记录了UV空间中所有点的3D位置,同时保持与UV空间中每个点的语义含义的紧密对应关系。如本领域技术人员所理解的,UV空间(或UV坐标)是从3D空间参数化的2D图像平面,可用于表示3D几何形状(即,面部UV位置图像204以及面部的相应纹理(即,面部UV纹理图像206),其中“U”和“V”是图像平面的轴(因为“X”、“Y”和“Z”是用作3D空间中的坐标)。在一个实施例中,用于训练DNN203的数据集是公共数据集,例如300W-LP(大姿势)数据集。尽管该示例涉及神经网络,但应理解的是,可以使用其他人脸对齐方法来生成面部UV位置图像(或位置图)204,然后构建相应的面部UV纹理图像206。
在一个示例中,2D图像是图2D中描绘的头部姿势图像202A,该头部姿势图像由编码器-解码器类型DNN203处理。对于头部姿势图像202A,编码器-解码器类型DNN203对齐头部(面部),并将面部图像从2D图像空间映射到相应的UV空间。由此,从3D空间对2D图像平面进行参数化,以表示相应的3D几何形状(面部UV位置图像204A)和面部纹理(面部UV纹理图像206A)。因此,将头部和眼部的运动分开,使得头部姿势(面部UV位置图像)和视线方向(面部UV纹理图像)彼此分离。
在一个实施例中,根据Feng等人所著“位置图回归网络的联合3D面部重构和密集对齐”(Joint 3D Face Reconstruction and Dense Alignment with Position MapRegression Network)实现UV位置图像和UV纹理图的上述生成。然而,应理解,可以使用任何不同数量的已知人脸对齐技术来从头部姿势图像生成面部UV位置图像和面部UV纹理图像。
图3A和图3B示出了构建眼部UV纹理数据集的示例。在所描述的实施例中,眼部UV纹理数据集的构建是对图2的步骤212的详细描述。参见图3A和3B,将头部姿势图像(具有已知的头部姿势和视线角度)输入DNN203,其中,可以针对每个头部姿势图像重复步骤202-206。例如,将头部姿势图像302A输入DNN203。如上所述,将头部姿势图像302A输入DNN203中,生成对齐的面部UV位置图像和面部UV纹理图像。然后,在步骤304中,可以从生成的信息中提取面部UV纹理图像304A。例如,在处理输入的头部姿势图像302A之后,从DNN203中提取面部UV纹理图像304A。使用从步骤304提取的面部UV纹理图像304A,可以在步骤306从面部UV纹理图像304A裁剪眼部区域310以生成眼部UV纹理图像306A。
在一个实施例中,基于在DNN203执行的面部对齐期间确定的对齐的面部地标(如下所述),从提取的面部UV纹理图像304A中裁剪眼部区域。例如,对于具有已知的具有角度(α1,β1,γ1)’的头部姿势和具有角度(h,v)’α的视线的2D图像(即,头部姿势图像),上文参照图2B所述,头部姿势角度和视线角度之间的差异将被计算为眼部已被裁剪的眼部UV纹理图像306A。更具体地,如果2D面部图像具有3D头部姿势欧拉角Yaw、Pitch和Roll,使得H=(α1,β1,γ1)’,以及视线欧拉角Yaw和Pitch,使得G=(h,v)’,所述差值可以计算为:
然后,在步骤308中,可以使用来自每个输入的2D面部图像的每个眼部UV纹理图像306A构建眼部UV纹理数据集,以存储在数据库(例如数据库308A)中。可以检索存储的眼部UV纹理数据集以用于后续处理,以便使用数据库308中的眼部区域替换面部UV纹理图像的眼部区域。在一个实施例中,使用具有已知头部姿势和视线角度的任何2D面部图像数据集,例如哥伦比亚视线数据集,构建眼部UV纹理数据库。
图4A和图4B示出了替换面部UV纹理图像中的眼部区域的示例。对所描绘实施例的面部UV纹理图像中的眼部区域的替换是对图2的步骤214的详细描述。在用从数据库308A中所存储的眼部UV纹理图像数据集中选择的眼部UV纹理图像替换面部UV纹理中的眼部区域之前,将具有已知头部姿势(α2,β2,γ2)’的2D面部图像(例如,(α2,β2,γ2)’=(0°,0°,0°)的前视面部图像)输入DNN203,以在(对应于图2C中步骤202-206的)步骤402和404处获得对齐的面部UV位置图像204A和面部UV纹理图像206A。
然后,在步骤406(对应于图3A中的步骤306)中,基于眼部地标的UV空间(坐标)从对齐的面部UV纹理图像304A裁剪眼部区域310。在生成UV位置图像204A和UV纹理图像206A期间,用于裁剪眼部区域310的眼部地标的所述UV空间由DNN203直接确定。在一个实施例中,可以使用任何数量的不同的公知面部对齐或面部地标定位技术来确定眼部地标的所述UV空间,所述技术例如但不限于回归技术、主动外观模型(active appearance model,AAM)、主动形状模型(active shape model,ASM)、约束局部模型(constrained localmodel,CLM)、助记符下降法和级联自动编码器、级联CNN、生成对抗网络(generativeadversarial network,GAN)等。
然后,将步骤404中从面部UV纹理图像裁剪出的眼部区域310替换为具有从存储眼部UV纹理的数据库308A选择的眼部UV纹理的眼部区域310,如上文参照图3A和3B详细描述的。例如,在步骤408(对应于图3A中的步骤308)中,从数据库308A中的眼部UV纹理图像中选择剪裁的眼部区域306A,并且替换面部UV纹理图像410A的眼部区域,如图4B所示。所得图像为修改后的面部UV纹理图412A,在图5A的步骤502-506中输出以进行处理。
在另一个实施例中,使用高斯混合图像合成来替换面部UV纹理图像410A的眼部区域310。应理解,如本领域技术人员容易理解的,可以采用任何数量的不同的眼部区域替换技术。
在一些实施例中,由于步骤402中的当前输入的2D面部图像与从数据库308A中选择的眼部UV纹理图像306A之间的不同成像条件,使用来自数据库308A的眼部UV纹理图像替换面部UV纹理图像的眼部区域会导致颜色分布和/或纹理中的至少部分视觉不连续。为了消除这种视觉不连续,可以使用基于梯度的图像融合算法将所选的眼部UV纹理图像306A合并到对齐的面部UV纹理图像410A中。例如,图像融合技术可以使用基于梯度的方法来保存重要的局部感知线索,同时避免锯齿、重影和光晕等传统问题。Raskar等人所著的“用于上下文增强和视频超现实的图像融合”(Image Fusion for Context Enhancement andVideo Surrealism)中描述了这种技术的一个示例,该示例可用于合并(融合)两个图像。在另一个实施例中,可以训练生成对抗网络(generative adversarial network,GAN)以平滑地修改眼部区域中的局部颜色/纹理细节,以便执行替换步骤。也就是说,GAN可以在保留注释信息的同时,使用未标记的真实数据来改善来自模拟器的图像的真实性。
图5A和图5B示出了重构3D面部和生成训练数据的示例流程图。所描述的实施例中的重构3D面部和生成训练数据是对图2的步骤216的详细描述。在输出用于2D面部图像的修改后的UV纹理图像之后(图4A的步骤412),通过重构3D面部模型,旋转所述重构的3D面部模型,并将所述旋转后的3D面部模型投影回2D图像空间,可以生成数据集(例如,2D真实感合成数据集),如下文参考步骤502-510所述。
在步骤506中,将步骤504(对应于图4A的步骤412)的修改后的面部UV纹理412A扭曲到步骤502的面部3D可变形模型(3D morphable model,3DMM)上,以重构具有修改后的视线方向的人的头部的3D面部模型512,如图5B所示。在一个实施例中,通过使用线性子空间(使用主成分分析(Primary Component Analysis,PCA)或Tensor)对3D面部形状进行建模,将一个2D面部图像例如2D面部图像202A(图2D)拟合到3DMM,并且通过最小化图像和模型外观之间的差异来实现这种拟合。在一个变型中,可以应用基于回归的3DMM拟合,从而通过对地标位置处的特征进行回归来估计模型参数。Zhu等人所著的“跨较大姿势的人脸对齐:3D解决方案”(Face alignment across large poses:a 3D solution)以及Zhang等人所著的“基于外观的野外视线估计”(Appearance-based gaze estimation in the wild)中描述了将2D面部图像扭曲到3DMM上的示例。
虽然可以使用面部UV位置图像来重构3D面部模型512,但是也可以使用其它技术。例如,3D密集人脸对齐(3D dense face alignment,3DDFA)框架也可以用于重构3D面部模型512。在另一示例中,可以使用面部对齐技术来重构3D面部模型512。这种技术在Bulat等人所著的“我们离解决2D和3D人脸对齐问题(以及230,000个3D面部地标的数据集)还有多远?”(How far are we from solving the 2D&3D face alignment problem?(and adataset of230,000 3D facial landmarks))中进行了描述。
重构之后,将旋转矩阵R应用于重构的3D面部模型512,以便在步骤508中改变人的头部姿势。改变头部姿势也会改变人眼的视线角度,因为重构的3D面部模型被认为是刚性物体。旋转后,在步骤510中,将3D面部模型512投影回2D图像空间。应理解,在步骤510中可以应用其他投影技术。例如,可以将3D面部模型512直接投影到2D平面,并且将人工背景添加到其中。在另一示例中,可以使用3D图像网格划分方法来旋转头部并将3D头部投影回2D。在Zhu等人所著的“跨较大姿势的人脸对齐:3D解决方案”(Face alignment across largeposes:a 3D solution)中公开了这样的技术。
在一个实施例中,生成的2D面部图像具有基于旋转矩阵R的已知头部姿势(α2+α3,β2+β3,γ2+γ3),并且通过将从数据库308A中选择的眼部UV纹理图像的相对视线方向添加到头部姿势中,可以得到视线方向(α2+α3,β2+β3,γ2+γ3)。例如,当(α=0,β3=0,γ3=0)时,视线角度变为(α2+θ,β2+Φ)’,而头部姿势保持不变。
参考图5B,如果施加于重构的3D面部模型512的旋转的3个欧拉角(偏航角、俯仰角和滚转角)为(α3,β3,γ3),则旋转矩阵R可写为:
R=Ry(α3)Rx(β3)Rz(γ3)…(2),
其中:
如图所示,三个矩阵表示围绕X、Y和Z轴的基本旋转矩阵。对于3D面部模型上的任一点V=[x,y,z]T,旋转后,点V变为:
旋转后,新的头部姿势可以计算为:
H′=(α2+α3,β2+β3,γ2+γ3)…(4),
且视线角度可以计算为:
为了在步骤510中将旋转后的3D面部模型512投影回2D图像空间,根据以下内容将相机内部矩阵应用到3D面部模型512:
其中,[x′,y′,z′]T为旋转后的新3D空间(坐标),fx和fy为以像素单位表示的焦距,(cx,cy)为通常位于图像中心的主点,s为缩放因子,[u,v]T为2D图像上对应点的坐标。
为了生成具有头部姿势和视线角度的2D面部图像数据集(例如,2D真实感合成数据集),对于根据3DMM面部模型和修改后的面部UV纹理重构的每个3D面部模型,重复步骤508的旋转操作。然后可以将所得的数据集作为2D真实感合成数据集,例如存储在数据库中。
图6示出了用于估计头部姿势和视线角度的多模态CNN的示例。在所描述的实施例中,用于同时估计头部姿势和视线角度的CNN600是对图2A的步骤218的详细描述。将使用在执行图5A的步骤510期间生成的2D真实感合成数据集对CNN600进行端到端训练。如图所示,CNN600接收两个输入:2D面部图像602和2D面部图像602的眼部区域610。将每个输入传递到分别堆叠的卷积层604A和604B,其中可以应用批量归一化和激活功能。例如,在一个实施例中,每个卷积层604A和604B之后是批量归一化(batch Normalization,BN)层(未示出)。每个卷积层604A和604B同时基于前一层提供的输入特征提取更深的特征,并自动学习2D面部图像602和眼部区域610的任务相关特征表示。展平且合并从每个输入中提取的特征(即,头部姿势和视线),以输入到完全连接的层606中,并在层606中估计头部姿势角608A(例如,偏航角yaw、横滚角roll、俯仰角pitch)和从2D真实感合成数据集输入的2D面部图像的视线角度608B(例如,theta、phi)。在一个实施例中,以上述方式处理输入也可以称为将变换应用于输入数据。更一般地,当输入数据由CNN600处理时,将变换应用到网络的不同层。这些变换可以是线性变换、统计标准化或其它数学函数。变换的非限制性示例包括镜像、旋转、平滑、对比度降低等,这些变换可以应用于输入数据。
图7A和图7B示出了用于微调预训练模型的流程图。在一个实施例中,参考图7A,车辆101中的驾驶员102(图1)可以提供具有驾驶员头部姿势的图像,以微调CNN模型。根据上述步骤生成的数据集702A(例如,2D真实感合成数据集)用于在实验室702(或处理设备所在的任何其它位置)中训练CNN,例如CNN600。训练后的CNN模型702B可以例如存储在车辆101的车辆存储器702F中。车辆101的驾驶员102将具有捕获的2D面部图像702C。在实时应用702G等真实应用中,为了保留驾驶员面部纹理的更多细节,将尽可能多地捕获对象的前视面部图像。驾驶员102的2D面部图像可以由车辆101内的捕获设备103拍摄。捕获设备103可以是车辆的一部分,例如传感器103A、摄像机103B或深度传感器103D,或者放置在车辆中,例如移动电话或平板电脑。在一个实施例中,在驾驶员102驾驶车辆101时捕获2D面部图像。在另一实施例中,在车辆101停放或处于非移动状态时捕获2D面部图像。然后,驾驶员的所述捕获的2D面部图像可用于通过前述步骤(例如,图2A-图6中的步骤)生成驾驶员数据集702D(例如,驾驶员2D拟真数据集)。在一个实施例中,驾驶员数据集702D可以存储在车辆存储器702F中。驾驶员数据集702D将用于微调CNN模型702B,以更精确地估计驾驶员102的头部姿势和视线角度,并在实时应用702G期间(例如在驾驶车辆101期间)使用。
在另一个实施例中,参考图7B,车辆101的驾驶员102(图1)可以提供具有驾驶员头部姿势的图像,以微调CNN模型。与图7A的实施例不同,驾驶员102可以在驾驶车辆101之前捕获2D面部图像704C。在实时应用704G等真实应用中,为了保留驾驶员面部纹理的更多细节,将尽可能多地捕获对象的前视面部图像。在一个实施例中,摄像机103B、深度传感器103D、移动电话或平板电脑等捕获设备103可用于捕获2D面部图像704C。然后,可以将捕获的2D面部图像704C上传到云704,其中,可以根据图2A-图6中的步骤,(基于正在上传的不同2D面部图像)为驾驶员102生成具有不同姿势和视线角度的数据集704D(例如,2D真实感合成数据集)。在云704中,使用根据图2A-图6中的步骤生成的具有不同对象的大型数据集704A(可存储在数据库中)预训练CNN模型704B,例如CNN600。随后,应用驾驶员数据集704D以微调预训练的CNN模型704B,以更精确地估计驾驶员102的头部姿势和视线角度。微调的CNN模型704E可以下载到车辆101,并且存储在例如车辆存储器704F中,并在实时应用704G期间(例如在驾驶车辆101期间)使用。
图8示出了可实施本发明的实施例的计算系统。可以(例如,通过计算机程序代码或指令)对计算系统800进行编程,以使用如本文所述的驾驶员行为检测来增强驾驶员的安全性,并且计算系统800包括总线810等通信机制,以在计算机系统800的其它内部组件和外部组件之间传递信息。在一个实施例中,计算机系统800是图1A的系统100。计算机系统800或其一部分构成用于执行一个或多个步骤的装置,所述一个或多个步骤用于使用所述驾驶员行为检测增强驾驶员的安全性。
总线810包括一个或多个平行的信息导体,使得信息在耦合到总线810的设备之间快速传输。用于处理信息的一个或多个处理器802与总线810耦合。
一个或多个处理器802对计算机程序代码指定的信息(或数据)执行一组操作,以使用驾驶员行为检测增强驾驶员的安全性。计算机程序代码是一组指令或语句,为处理器和/或计算机系统的操作提供指令以执行指定功能。例如,代码可以用计算机编程语言编写,所述计算机编程语言被编译成处理器的本机指令集。也可以直接使用本机指令集(例如,机器语言)来编写代码。该组操作包括从总线810引入信息并在总线810上放置信息。可以由处理器执行的该组操作中的每个操作通过称为指令的信息(例如一个或多个数字的操作代码)来表示给处理器。处理器802将要执行的操作代码序列等操作序列,构成处理器指令,也称为计算机系统指令或简称计算机指令。
计算机系统800还包括耦合到总线810的存储器804。存储器804,例如随机存取存储器(random access memory,RAM)或任何其它动态存储设备,存储包括处理器指令的信息,用于使用驾驶员行为检测增强驾驶员的安全性。动态存储器可以使计算机系统800改变其中存储的信息。RAM可以使存储在称为内存地址的位置上的信息单元独立于相邻地址的信息进行存储和检索。存储器804还用于处理器802在执行处理器指令时存储临时值。计算机系统800还包括只读存储器(read only memory,ROM)806或耦合到总线810用于存储静态信息的任何其他静态存储设备。非易失性(持久性)存储设备808,例如磁盘、光盘或闪存卡,也耦合到总线810,用于存储包括指令的信息。
在一个实施例中,将包括指令的信息从外部输入设备812提供给总线810,以便处理器使用,所述指令用于使用头部姿势和视线估计器增强分心的驾驶员的安全性,所述外部输入设备812例如是由人类用户操作的键盘、麦克风、红外(infrared,IR)遥控器、操纵杆、游戏板、触笔、触摸屏、头戴式显示器或传感器。传感器检测其附近的条件,并将这些检测转换成与可测量现象兼容的物理表达,所述可测量现象用于表示计算机系统800中的信息。耦合到总线810的其它外部设备主要用于与人类交互,包括:显示设备814,用于呈现文本或图像;定点设备816,例如,鼠标、轨迹球、光标方向键或运动传感器,用于控制呈现在显示器814上的小光标图像的位置,以及发出与呈现在显示器814上的图形元素相关联的命令;以及一个或多个相机传感器884,用于捕获、记录和存储一个或多个静止和/或移动图像(例如,视频、电影等),也可以包括音频记录。
在图示的实施例中,专用集成电路(application-specific IntegrationCircuit,ASIC)820等专用硬件耦合到总线810。专用硬件用于快速执行处理器802未执行的特殊用途的操作。
计算机系统800还包括耦合到总线810的通信接口870。通信接口870向使用各自处理器进行操作的各种外部设备提供单向或双向通信耦合。通常,耦合是通过网络链路878进行的,该网络链路878连接到本地网络880,服务器或数据库等各种外部设备可以连接到该本地网络880。或者,链路878可以直接连接到互联网服务提供商(Internet serviceprovider,ISP)884或网络890,例如互联网。网络链路878可以是有线的或无线的。例如,通信接口870可以是个人计算机上的并行端口或串行端口或通用串行总线(universalserial bus,USB)端口。在一些实施例中,通信接口870是综合业务数字网(integratedservices digital network,ISDN)卡或数字用户线(digital subscriber line,DSL)卡或电话调制解调器,提供到相应类型的电话线的信息通信连接。在一些实施例中,通信接口870是电缆调制解调器,其将总线810上的信号转换为用于通过同轴电缆进行通信连接的信号或转换为用于通过光纤电缆进行通信连接的光信号。作为另一示例,通信接口870可以是局域网(local area network,LAN)卡,以提供到以太网等兼容LAN的数据通信连接。也可以实现无线链路。对于无线链路,通信接口870发送和/或接收电、声或电磁信号,包括红外和光信号,所述信号承载数字数据等信息流。例如,在移动电话等无线手持设备中,通信接口870包括称为无线收发器的无线频段电磁发射器和接收器。在某些实施例中,通信接口870能够连接到通信网络,以使用移动电话或平板电脑等移动设备的头部姿势和视线估计器增强分心驾驶员的安全性。
网络链路878通常通过一个或多个网络使用传输介质向使用或处理信息的其他设备提供信息。例如,网络链路878可通过本地网络880提供到主计算机882或到由ISP操作的设备884的连接。ISP设备884进而通过现在通常称为互联网890的网络的公共全球分组交换通信网络提供数据通信服务。
连接到互联网的一台称为服务器主机882的计算机承载着一个进程,该进程响应于通过互联网收到的信息而提供服务。例如,服务器主机882托管进程,该进程提供表示视频数据的信息以在显示器814处呈现。可以设想,系统800的组件可以以其他计算机系统(例如,主机882和服务器882)中的各种配置部署。
本发明的至少部分实施例涉及使用计算机系统800实现本文所述的部分或全部技术。根据本发明的一个实施例,这些技术由计算机系统800响应于处理器802执行包含在存储器804中的一个或多个处理器指令的一个或多个序列来执行。这些指令也称为计算机指令、软件和程序代码,可以从存储设备808或网络链路878等另一计算机可读介质读入存储器804。执行存储器804中包含的指令的序列,从而使得处理器802执行本文所述的方法步骤中的一个或多个。
应理解,本发明可以具体体现为许多不同的形式且不应被解释为仅限于本文所阐述的实施例。相反,提供这些实施例将使得本主题是透彻和完整的,并且将向本领域技术人员充分传达本发明。事实上,本主题旨在覆盖包括在由所附权利要求书限定的本主题公开的精神和范围内的这些实施例的替代物、修改和等同物。另外,在以下本主题细描述中,阐述了许多特定细节以便提供对本主题的透彻理解。然而,所属领域的普通技术人员将清楚到,可以在没有这样具体细节的情况下实践本请求保护的主题。本文参考根据本公开实施例的方法、装置(系统)和计算机程序产品的流程图图示和/或方框图来描述本发明的各方面。将理解,流程图图示和/或方框图的每个方框以及流程图图示和/或方框图中的方框的组合可以通过计算机程序指令实现。这些计算机程序指令可以提供给通用计算机、专用计算机或其它可编程数据处理装置的处理器以生产机器,使得通过计算机或其它可编程指令执行装置的处理器执行的指令,创建用于实现流程图和/或方框图中指定的功能/动作的机制。
计算机可读非瞬时性介质包括各种类型的计算机可读介质,包括磁存储介质、光存储介质和固态存储介质,具体地,不包括信号。应理解,该软件可以安装在该设备中并随该设备销售。可替换地,软件可以获得并加载到设备中,包括通过光盘介质或从网络或分发系统的任何方式获取软件,包括例如从软件创建者拥有的服务器或从软件创建者不拥有但使用的服务器获取软件。例如,软件可以存储在服务器上,以便通过互联网分发。
计算机可读存储介质本身排除传播信号,可由计算机和/或处理器访问,包括可移动和/或不可移动的易失性和非易失性内部和/或外部介质。对于计算机来说,各种类型的存储介质可以容纳以任何合适的数字格式数据存储。本领域的技术人员应当理解,可以使用其他类型的计算机可读介质,例如压缩驱动器、固态驱动器、磁带、闪存卡、闪存驱动器、盒带等,用于存储计算机可执行指令,所述计算机可执行指令用于执行所公开架构的新颖方法(动作)。
本文中所用的术语仅仅是出于描述特定方面的目的,并且并不打算限制本发明。除非上下文清楚说明,否则本文所用的单数形式“一”和“所述”包括其复数形式。应进一步了解,本说明书中所用的术语“包括”用于说明存在所述特征、整数、步骤、操作、元件和/或部件,但并不排除存在或添加一个或多个其他特征、整数、步骤、操作、元件、部件和/或它们的组合。
本公开的描述已出于说明和描述的目的而提出,但并非是彻底的或限于以所公开的形式的公开。在不偏离本发明的范围和精神的前提下,多种修改和改变对本领域技术人员而言是显而易见的。选择和描述的本发明各个方面以便更好地解释本发明的原理和实际应用,并且使本领域技术人员能够理解本发明适合预期特定用途的各种修改。
为了本文的目的,与所公开技术相关联的每个流程可以由一个或多个计算设备连续地执行。流程中的每个步骤可以由与其他步骤中使用的相同或不同的计算设备执行,并且每个步骤不必一定由单个计算设备执行。
虽然已经以特定于结构特征和/或方法动作的语言描述了主题,但是应该理解的是,权利要求书定义的主题不必局限于上面描述的具体特征或动作。相反,上述具体特征和动作作为实现权利要求的示例形式进行公开。
Claims (36)
1.一种用于估计头部姿势和视线角度的计算机实现方法,其特征在于,包括:
利用多个二维(two-dimensional,2D)面部图像训练第一神经网络,以分离2D面部的头部和眼部的运动,其中,所述训练所述第一网络包括:
将所述多个2D面部图像中的2D面部映射到面部位置图像,以及
基于所述面部位置图像构建所述2D面部的面部纹理图像;
将从所述2D面部的所述面部纹理图像中提取的包括视线角度的眼部纹理图像存储在数据库中;
用所述数据库中存储的包括所述视线角度的所述眼部纹理图像替换所述面部纹理图像的眼部区域,以生成修改后的面部纹理图像;
重构所述修改后的面部纹理图像以生成包括修改后的头部姿势和视线角度的修改后的2D面部图像作为训练数据,并将所述训练数据存储在所述数据库中;以及
通过使用所述训练数据训练第二神经网络来估计所述头部姿势和视线角度,其中,所述训练所述第二神经网络包括:
从所述数据库中采集所述训练数据,以及
同时对所述训练数据的所述修改后的2D面部图像和所述修改后的2D面部图像的相应眼部区域应用一个或多个变换。
2.根据权利要求1所述的计算机实现方法,其特征在于,
所述映射还包括:使用人脸对齐方法将所述多个2D面部图像中的所述2D面部映射到位置图,其中,所述面部位置图像将所述多个2D面部图像中的所述2D面部对齐到针对所述多个2D面部图像中的所述2D面部的重构的3D模型的3D坐标;以及
所述构建还包括:基于所述面部位置图像或面部3D可形变模型,针对所述多个2D面部图像中的所述2D面部构建所述面部纹理图像,以表示所述对齐后的2D面部的纹理。
3.根据权利要求1所述的计算机实现方法,其特征在于,所述存储还包括:
基于所述面部位置图像,从所述多个2D面部图像中的所述2D面部中提取所述面部纹理图像;
从所述面部纹理图像中裁剪所述眼部区域,以基于地标根据所述多个2D面部图像中的所述对齐的2D面部创建裁剪的眼部纹理图像;以及
将所述裁剪的眼部纹理图像存储到所述数据库中。
4.根据权利要求1至3中任一项所述的计算机实现方法,其特征在于,所述裁剪的眼部纹理图像被标记为所述多个2D面部图像中的所述2D面部的所述头部姿势和所述视线角度之间的差异。
5.根据权利要求1至3中任一项所述的计算机实现方法,其特征在于,所述替换还包括:
基于所述地标从所述数据库中选择所述裁剪的眼部纹理图像的所述眼部区域;以及
基于所述地标的对齐坐标,用所述数据库中的所述裁剪的眼部纹理图像替换所述面部纹理图像中的所述眼部区域,以生成所述多个2D面部图像中的所述2D面部的修改后的面部纹理图。
6.根据权利要求1至5中任一项所述的计算机实现方法,其特征在于,所述替换还包括:
应用图像融合,以将从所述数据库中选择的所述裁剪的眼部纹理图像合并到所述多个2D面部图像中的所述2D面部的所述修改后的面部纹理图;以及
训练生成对抗网络(generative adversarial network,GAN)或使用基于局部梯度信息的方法来平滑所述修改后的面部纹理图像的眼部区域中的色彩和纹理。
7.根据权利要求1至6中任一项所述的计算机实现方法,其特征在于,还包括:
将所述2D面部的所述修改后的面部纹理图像变形到面部3D可形变模型(3D morphablemodel,3DMM)上,以利用视线方向根据所述修改后的面部纹理图像重构3D面部模型;
将旋转矩阵应用于所述重构的3D面部模型以改变所述头部姿势,并改变所述视线角度以与所述头部姿势一致;
将应用所述旋转矩阵后的所述3D面部模型投影到2D图像空间以生成所述修改后的2D面部图像;以及
将所述修改后的2D面部图像存储在所述数据库中。
8.根据权利要求1至7中任一项所述的计算机实现方法,其特征在于,所述视线方向是通过将存储在从所述数据库中选择的所述裁剪的眼部纹理图像中的相对视线方向添加到所述头部姿势中来计算得到的。
9.根据权利要求1至7中任一项所述的计算机实现方法,其特征在于,所述估计还包括:
采集具有一个或多个头部姿势的车辆驾驶员的2D面部图像,以生成驾驶员数据集;以及
应用所述驾驶员数据集微调所述第二神经网络以估计驾驶员的头部姿势和视线角度。
10.根据权利要求1至9中任一项所述的计算机实现方法,其特征在于,通过捕获设备捕获所述驾驶员的所述2D面部图像并将所述2D面部图像上传到网络进行处理;以及将所述驾驶员的所述处理后的2D面部图像下载到所述车辆。
11.根据权利要求1所述的计算机实现方法,其特征在于,所述第一神经网络是编码器-解码器类型的神经网络,用于将所述2D面部图像映射到相应的位置图。
12.根据权利要求1或2所述的计算机实现方法,其特征在于,在所述面部位置图像中,每个像素点的RGB灰度值表示其重构的3D模型中相应面部点的3D坐标。
13.一种用于估计头部姿势和视线角度的设备,其特征在于,包括:
包括指令的非瞬时性存储器;以及
与所述存储器通信的一个或多个处理器,其中所述一个或多个处理器执行所述指令以执行以下操作:
利用多个二维(two-dimensional,2D)面部图像训练第一神经网络,以分离2D面部的头部和眼部的运动,其中,所述训练所述第一网络包括:
将所述多个2D面部图像中的2D面部映射到面部位置图像,以及
基于所述面部位置图像构建所述2D面部的面部纹理图像;
将从所述2D面部的所述面部纹理图像中提取的包括视线角度的眼部纹理图像存储在数据库中;
用所述数据库中存储的包括所述视线角度的所述眼部纹理图像替换所述面部纹理图像的眼部区域,以生成修改后的面部纹理图像;
重构所述修改后的面部纹理图像以生成包括修改后的头部姿势和视线角度的修改后的2D面部图像作为训练数据,并将所述训练数据存储在所述数据库中;以及
通过使用所述训练数据训练第二神经网络来估计所述头部姿势和视线角度,其中,所述训练所述第二神经网络包括:
从所述数据库中采集所述训练数据,以及
同时对所述训练数据的所述修改后的2D面部图像和所述修改后的2D面部图像的相应眼部区域应用一个或多个变换。
14.根据权利要求13所述的设备,其特征在于,所述一个或多个处理器还执行所述指令以执行以下操作:
所述映射还包括:使用人脸对齐方法将所述多个2D面部图像中的所述2D面部映射到位置图,其中,所述面部位置图像将所述多个2D面部图像中的所述2D面部对齐到针对所述多个2D面部图像中的所述2D面部的重构的3D模型的3D坐标;以及
所述构建还包括:基于所述面部位置图像或面部3D可形变模型,针对所述多个2D面部图像中的所述2D面部构建所述面部纹理图像,以表示所述对齐后的2D面部的纹理。
15.根据权利要求13所述的设备,其特征在于,所述一个或多个处理器还执行所述指令以执行以下操作:
基于所述面部位置图像,从所述多个2D面部图像中的所述2D面部中提取所述面部纹理图像;
从所述面部纹理图像中裁剪所述眼部区域,以基于地标根据所述多个2D面部图像中的所述对齐的2D面部创建裁剪的眼部纹理图像;以及
将所述裁剪的眼部纹理图像存储到所述数据库中。
16.根据权利要求13至15中任一项所述的设备,其特征在于,所述裁剪的眼部纹理图像被标记为所述多个2D面部图像中的所述2D面部的所述头部姿势和所述视线角度之间的差异。
17.根据权利要求13至15中任一项所述的设备,其特征在于,所述一个或多个处理器还执行所述指令以执行以下操作:
基于所述地标从所述数据库中选择所述裁剪的眼部纹理图像的所述眼部区域;以及
基于所述地标的对齐坐标,用所述数据库中的所述裁剪的眼部纹理图像替换所述面部纹理图像中的所述眼部区域,以生成所述多个2D面部图像中的所述2D面部的修改后的面部纹理图。
18.根据权利要求13至17中任一项所述的设备,其特征在于,所述一个或多个处理器还执行所述指令以执行以下操作:
应用图像融合,以将从所述数据库中选择的所述裁剪的眼部纹理图像合并到所述多个2D面部图像中的所述2D面部的所述修改后的面部纹理图;以及
训练生成对抗网络(generative adversarial network,GAN)或使用基于局部梯度信息的方法来平滑所述修改后的面部纹理图像的眼部区域中的色彩和纹理。
19.根据权利要求13至18中任一项所述的设备,其特征在于,所述一个或多个处理器还执行所述指令以执行以下操作:
将所述2D面部的所述修改后的面部纹理图像变形到面部3D可形变模型(3D morphablemodel,3DMM)上,以利用视线方向根据所述修改后的面部纹理图像重构3D面部模型;
将旋转矩阵应用于所述重构的3D面部模型以改变所述头部姿势,并改变所述视线角度以与所述头部姿势一致;
将应用所述旋转矩阵后的所述3D面部模型投影到2D图像空间以生成所述修改后的2D面部图像;以及
将所述修改后的2D面部图像存储在所述数据库中。
20.根据权利要求13至19中任一项所述的设备,其特征在于,所述视线方向是通过将存储在从所述数据库中选择的所述裁剪的眼部纹理图像中的相对视线方向添加到所述头部姿势中来计算得到的。
21.根据权利要求13至19中任一项所述的设备,其特征在于,所述一个或多个处理器还执行所述指令以执行以下操作:
采集具有一个或多个头部姿势的车辆驾驶员的2D面部图像,以生成驾驶员数据集;以及
应用所述驾驶员数据集微调所述第二神经网络以估计驾驶员的头部姿势和视线角度。
22.根据权利要求13至21中任一项所述的设备,其特征在于,通过捕获设备捕获所述驾驶员的所述2D面部图像并将所述2D面部图像上传到网络进行处理;以及将所述驾驶员的所述处理后的2D面部图像下载到所述车辆。
23.根据权利要求13所述的设备,其特征在于,所述第一神经网络是编码器-解码器类型的神经网络,用于将所述2D面部图像映射到相应的位置图。
24.根据权利要求13或14所述的设备,其特征在于,在所述面部位置图像中,每个像素点的RGB灰度值表示其重构的3D模型中相应面部点的3D坐标。
25.一种非瞬时性计算机可读介质,其存储用于估计头部姿势和视线角度的计算机指令,其特征在于,当一个或多个处理器执行所述计算机指令时,使得所述一个或多个处理器执行以下步骤:
利用多个二维(two-dimensional,2D)面部图像训练第一神经网络,以分离2D面部的头部和眼部的运动,其中,所述训练所述第一网络包括:
将所述多个2D面部图像中的2D面部映射到面部位置图像,以及
基于所述面部位置图像构建所述2D面部的面部纹理图像;
将从所述2D面部的所述面部纹理图像中提取的包括视线角度的眼部纹理图像存储在数据库中;
用所述数据库中存储的包括所述视线角度的所述眼部纹理图像替换所述面部纹理图像的眼部区域,以生成修改后的面部纹理图像;
重构所述修改后的面部纹理图像以生成包括修改后的头部姿势和视线角度的修改后的2D面部图像作为训练数据,并将所述训练数据存储在所述数据库中;以及
通过使用所述训练数据训练第二神经网络来估计所述头部姿势和视线角度,其中,所述训练所述第二神经网络包括:
从所述数据库中采集所述训练数据,以及
同时对所述训练数据的所述修改后的2D面部图像和所述修改后的2D面部图像的相应眼部区域应用一个或多个变换。
26.根据权利要求25所述的非瞬时性计算机可读介质,其特征在于,
所述映射还包括:使用人脸对齐方法将所述多个2D面部图像中的所述2D面部映射到位置图,其中,所述面部位置图像将所述多个2D面部图像中的所述2D面部对齐到针对所述多个2D面部图像中的所述2D面部的重构的3D模型的3D坐标;以及
所述构建还包括:基于所述面部位置图像或面部3D可形变模型,针对所述多个2D面部图像中的所述2D面部构建所述面部纹理图像,以表示所述对齐后的2D面部的纹理。
27.根据权利要求25所述的非瞬时性计算机可读介质,其特征在于,所述存储包括:
基于所述面部位置图像,从所述多个2D面部图像中的所述2D面部中提取所述面部纹理图像;
从所述面部纹理图像中裁剪所述眼部区域,以基于地标根据所述多个2D面部图像中的所述对齐的2D面部创建裁剪的眼部纹理图像;以及
将所述裁剪的眼部纹理图像存储到所述数据库中。
28.根据权利要求25至27中任一项所述的非瞬时性计算机可读介质,其特征在于,所述裁剪的眼部纹理图像被标记为所述多个2D面部图像中的所述2D面部的所述头部姿势和所述视线角度之间的差异。
29.根据权利要求25至27中任一项所述的非瞬时性计算机可读介质,其特征在于,所述替换还包括:
基于所述地标从所述数据库中选择所述裁剪的眼部纹理图像的所述眼部区域;以及
基于所述地标的对齐坐标,用所述数据库中的所述裁剪的眼部纹理图像替换所述面部纹理图像中的所述眼部区域,以生成所述多个2D面部图像中的所述2D面部的修改后的面部纹理图。
30.根据权利要求25至29中任一项所述的非瞬时性计算机可读介质,其特征在于,所述替换还包括:
应用图像融合,以将从所述数据库中选择的所述裁剪的眼部纹理图像合并到所述多个2D面部图像中的所述2D面部的所述修改后的面部纹理图;以及
训练生成对抗网络(generative adversarial network,GAN)或使用基于局部梯度信息的方法来平滑所述修改后的面部纹理图像的眼部区域中的色彩和纹理。
31.根据权利要求25至30中任一项所述的非瞬时性计算机可读介质,其特征在于,还包括:
将所述2D面部的所述修改后的面部纹理图像变形到面部3D可形变模型(3D morphablemodel,3DMM)上,以利用视线方向根据所述修改后的面部纹理图像重构3D面部模型;
将旋转矩阵应用于所述重构的3D面部模型以改变所述头部姿势,并改变所述视线角度以与所述头部姿势一致;
将应用所述旋转矩阵后的所述3D面部模型投影到2D图像空间以生成所述修改后的2D面部图像;以及
将所述修改后的2D面部图像存储在所述数据库中。
32.根据权利要求25至31中任一项所述的非瞬时性计算机可读介质,其特征在于,所述视线方向是通过将存储在从所述数据库中选择的所述裁剪的眼部纹理图像中的相对视线方向添加到所述头部姿势中来计算得到的。
33.根据权利要求25至31中任一项所述的非瞬时性计算机可读介质,其特征在于,所述估计还包括:
采集具有一个或多个头部姿势的车辆驾驶员的2D面部图像,以生成驾驶员数据集;以及
应用所述驾驶员数据集微调所述第二神经网络以估计驾驶员的头部姿势和视线角度。
34.根据权利要求25至33中任一项所述的非瞬时性计算机可读介质,其特征在于,通过捕获设备捕获所述驾驶员的所述2D面部图像并将所述2D面部图像上传到网络进行处理;以及将所述驾驶员的所述处理后的2D面部图像下载到所述车辆。
35.根据权利要求25所述的非瞬时性计算机可读介质,其特征在于,所述第一神经网络是编码器-解码器类型的神经网络,用于将所述2D面部图像映射到相应的位置图。
36.根据权利要求25或26所述的非瞬时性计算机可读介质,其特征在于,在所述面部位置图像中,每个像素点的RGB灰度值表示其重构的3D模型中相应面部点的3D坐标。
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/US2019/032047 WO2020231401A1 (en) | 2019-05-13 | 2019-05-13 | A neural network for head pose and gaze estimation using photorealistic synthetic data |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114041175A true CN114041175A (zh) | 2022-02-11 |
Family
ID=66655488
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201980096086.3A Pending CN114041175A (zh) | 2019-05-13 | 2019-05-13 | 一种用于使用真实感合成数据估计头部姿势和视线的神经网络 |
Country Status (5)
Country | Link |
---|---|
US (1) | US20220058407A1 (zh) |
EP (1) | EP3956807A1 (zh) |
KR (1) | KR20220004754A (zh) |
CN (1) | CN114041175A (zh) |
WO (1) | WO2020231401A1 (zh) |
Families Citing this family (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10580117B2 (en) * | 2017-11-20 | 2020-03-03 | Comcast Cable Communications, Llc | Method to generate additional level of detail when zooming in on an image |
US11776204B2 (en) * | 2020-03-31 | 2023-10-03 | Sony Group Corporation | 3D dataset generation for neural network model training |
CN113052064B (zh) * | 2021-03-23 | 2024-04-02 | 北京思图场景数据科技服务有限公司 | 基于面部朝向、面部表情及瞳孔追踪的注意力检测方法 |
KR102587813B1 (ko) * | 2021-04-08 | 2023-10-12 | 주식회사 이모코그 | 기계 학습 기반 시선 추적 장치 및 방법 |
CN113160061B (zh) * | 2021-05-18 | 2022-04-19 | 浙江大学 | 一种由模糊监控视频重建高分辨率人脸图像的方法与系统 |
CN114049442A (zh) * | 2021-11-19 | 2022-02-15 | 北京航空航天大学 | 三维人脸视线计算方法 |
CN115082991A (zh) * | 2022-06-27 | 2022-09-20 | 平安银行股份有限公司 | 人脸活体检测方法、装置及电子设备 |
CN116188691B (zh) * | 2023-02-27 | 2024-02-06 | 云南大学 | 基于单张图片下三维人脸重建方法 |
CN117227740B (zh) * | 2023-09-14 | 2024-03-19 | 南京项尚车联网技术有限公司 | 一种智能驾驶车辆的多模态感知系统及方法 |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2012082077A2 (en) * | 2010-12-17 | 2012-06-21 | Agency For Science, Technology And Research | Pose-independent 3d face reconstruction from a sample 2d face image |
US11132543B2 (en) * | 2016-12-28 | 2021-09-28 | Nvidia Corporation | Unconstrained appearance-based gaze estimation |
WO2018184140A1 (en) * | 2017-04-04 | 2018-10-11 | Intel Corporation | Facial image replacement using 3-dimensional modelling techniques |
CN108171218A (zh) * | 2018-01-29 | 2018-06-15 | 深圳市唯特视科技有限公司 | 一种基于深度外观注视网络的视线估计方法 |
US10991145B2 (en) * | 2018-11-13 | 2021-04-27 | Nec Corporation | Pose-variant 3D facial attribute generation |
-
2019
- 2019-05-13 KR KR1020217039742A patent/KR20220004754A/ko not_active Application Discontinuation
- 2019-05-13 CN CN201980096086.3A patent/CN114041175A/zh active Pending
- 2019-05-13 WO PCT/US2019/032047 patent/WO2020231401A1/en unknown
- 2019-05-13 EP EP19726854.3A patent/EP3956807A1/en active Pending
-
2021
- 2021-11-03 US US17/518,283 patent/US20220058407A1/en active Pending
Also Published As
Publication number | Publication date |
---|---|
WO2020231401A1 (en) | 2020-11-19 |
KR20220004754A (ko) | 2022-01-11 |
EP3956807A1 (en) | 2022-02-23 |
US20220058407A1 (en) | 2022-02-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP7011578B2 (ja) | 運転行動を監視する方法及びシステム | |
CN114041175A (zh) | 一种用于使用真实感合成数据估计头部姿势和视线的神经网络 | |
JP6695503B2 (ja) | 車両の運転者の状態を監視するための方法及びシステム | |
CN111566612A (zh) | 基于姿势和视线的视觉数据采集系统 | |
US9269003B2 (en) | Diminished and mediated reality effects from reconstruction | |
US11112791B2 (en) | Selective compression of image data during teleoperation of a vehicle | |
CN114026611A (zh) | 使用热图检测驾驶员注意力 | |
WO2022165809A1 (zh) | 一种训练深度学习模型的方法和装置 | |
US11715180B1 (en) | Emirror adaptable stitching | |
JP2019533209A (ja) | 運転者監視のためのシステム及び方法 | |
WO2020226696A1 (en) | System and method of generating a video dataset with varying fatigue levels by transfer learning | |
IT201900011403A1 (it) | Detecting illegal use of phone to prevent the driver from getting a fine | |
CN110853073A (zh) | 确定关注点的方法、装置、设备、系统及信息处理方法 | |
JP7490784B2 (ja) | 拡張現実マップキュレーション | |
WO2023272453A1 (zh) | 视线校准方法及装置、设备、计算机可读存储介质、系统、车辆 | |
US11410398B2 (en) | Augmenting live images of a scene for occlusion | |
US11417063B2 (en) | Determining a three-dimensional representation of a scene | |
US20220254008A1 (en) | Multi-view interactive digital media representation capture | |
KR20230053262A (ko) | 2d 현실공간 이미지를 기반의 3d 객체 인식 및 변환 방법과 이를 실행하기 위하여 기록매체에 기록된 컴퓨터 프로그램 | |
WO2023234882A1 (en) | System and method for lossless synthetic anonymization of the visual data | |
KR20240081997A (ko) | 상대 속도를 고려한 광학 흐름 산출 방법, 프로세서 및 컴퓨터 프로그램 | |
CN117036403A (zh) | 图像处理方法、装置、电子设备和存储介质 | |
CN117813626A (zh) | 从多视图立体(mvs)图像重建深度信息 | |
WO2022170327A1 (en) | Multi-view interactive digital media representation viewer |
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 |