一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

基于人脸关键点检测的头部姿态分析方法、系统及设备与流程

2022-08-10 22:43:16 来源:中国专利 TAG:


1.本发明涉及计算机视觉技术领域,特别涉及一种基于人脸关键点检测的头部姿态分析方法、系统及设备。


背景技术:

2.导致交通事故的重要原因之一是驾驶员在驾驶过程中没有及时关注到车辆前方的路面环境。在驾驶驾驶过程中,驾驶员的注意力被分散主要变现为驾驶员的头部偏转,例如低头捡东西、低头打瞌睡、右上角抬头调试天窗、向左转头看街边广告牌、向右转头调试车载多媒体平台或与副驾驶交流等分心行为都会导致驾驶员无法将注意力集中到车辆前方的路面环境,对交通安全造成威胁。
3.随着人工智能技术的发展,引入计算机视觉技术监测驾驶员的分心行为。一般是将监控设备装载到驾驶室,通过监控设备采集驾驶员实时图像,使用人脸检测算法从驾驶员实时图像中截取出人脸图像,再基于人脸关键点检测算法从人脸图像中提取人脸的五官和轮廓的关键点,最后使用欧拉角3d仿射变换将关键点映射到三维空间,进而估算出驾驶员的头部偏转角度。
4.但当头部偏转角度较大时,人脸关键点检测算法提取关键点的精确程度度会明显下降,导致关键点的位置漂移,再依赖欧拉角3d放射变换来估算驾驶员的头部偏转角度的话,会导致实际头部偏转角度严重不符。也就是说,该方法严重依赖人脸检测算法、人脸关键点检测算法等前置算法的检测结果的精确程度度,任何一个环节误差较大都将导致最后估算的驾驶员的头部偏转角度出现较大偏差。


技术实现要素:

5.本发明要解决的技术问题是为了克服现有技术中由于严重依赖前置算法的检测准确程度,导致检测结果容易出现较大偏差的缺陷,提供一种基于人脸关键点检测的头部姿态分析方法、系统及设备。
6.第一方面,本发明提供一种基于人脸关键点检测的头部姿态分析方法,所述方法包括:
7.获取目标驾驶员的人脸图像;
8.提取所述人脸图像中的人脸关键点;
9.根据所述人脸关键点计算所述目标驾驶员的头部偏转角度,其中所述头部偏转角度包括水平偏转角度和垂直偏转角度;
10.若所述头部偏转角度均不大于第一阈值,使用所述头部偏转角度表征所述目标驾驶员的头部姿态;
11.若仅所述水平偏转角度或仅所述垂直偏转角度大于所述第一阈值,提取所述人脸图像中预设脸部区域的区域关键点,根据所述区域关键点之间距离的比值重新获取大于所述第一阈值的所述水平偏转角度或所述垂直偏转角度,得到新的头部偏转角度,使用新的
头部偏转角度表征所述目标驾驶员的头部姿态;
12.若所述头部偏转角度均大于所述第一阈值,根据所述人脸图像获取头部偏转方向表征所述目标驾驶员的头部姿态。
13.较佳地,所述预设脸部区域包括第一区域、第二区域及第三区域,所述根据所述区域关键点之间距离的比值重新获取大于所述第一阈值的所述水平偏转角度或所述垂直偏转角度的步骤具体包括:获取所述第一区域的区域关键点到所述第二区域的区域关键点的第一距离,获取所述第二区域的区域关键点到所述第三区域的区域关键点的第二距离,根据所述第一距离和所述第二距离计算大于所述第一阈值的所述水平偏转角度或所述垂直偏转角度。
14.较佳地,若所述水平偏转角度大于所述第一阈值,所述第一区域为脸部左边缘区,所述第二区域为脸部中间区,所述第三区域为脸部右边缘区;若所述垂直偏转角度大于所述第一阈值,所述第一区域为眉眼区,所述第二区域为鼻嘴区,所述第三区域为下巴区。
15.较佳地,所述获取目标驾驶员的人脸图像的步骤具体包括:获取待测图像,使用第一目标检测算法从所述待测图像中获取目标驾驶员的人脸图像。
16.较佳地,所述提取所述人脸图像中的人脸关键点的步骤具体包括:使用人脸关键点检测算法提取所述人脸图像中的人脸关键点。
17.较佳地,所述根据所述人脸关键点计算所述目标驾驶员的头部偏转角度的步骤具体包括:通过欧拉角3d仿射将所述人脸关键点与人脸的五官位置进行对应,计算所述目标驾驶员的头部偏转角度。
18.较佳地,所述根据所述人脸图像获取头部偏转方向表征所述目标驾驶员的头部姿态的步骤具体包括:使用第二目标检测算法获取所述人脸图像中的头部偏转角度表征所述目标驾驶员的头部姿态。
19.较佳地,所述预设脸部区域包括多个标记关键点,使用所述预设脸部区域中标记关键点的坐标平均值表征所述区域关键点。
20.在上述发明内容中,第一目标检测算法和第二目标检测算法为目前现有的目标检测算法中的任意一种,人脸关键点检测算法为目前现有的人脸关键点检测算法中任意一种。
21.其中,第一目标检测算法和第二目标检测算法可以为相同的目标检测算法,也可以为不同的目标检测算法。
22.并且,第一目标检测算法需要经过针对人脸检测进行相应的训练。第二目标检测算法需要经过针对不同的头部偏转角度检测进行相应的训练。人脸关键点检测算法也需要经过针对人脸关键点检测进行相应的训练。
23.第二方面,本发明提供一种基于人脸关键点检测的头部姿态分析系统,所述系统包括:
24.人脸图像获取模块,用于获取目标驾驶员的人脸图像;
25.人脸关键点提取模块,用于提取所述人脸图像中的人脸关键点;
26.头部偏转角度计算模块,用于根据所述人脸关键点计算所述目标驾驶员的头部偏转角度,其中所述头部偏转角度包括水平偏转角度和垂直偏转角度;
27.第一头部姿态估计模块,若所述头部偏转角度均不大于第一阈值,用于使用所述
头部偏转角度表征所述目标驾驶员的头部姿态;
28.第二头部姿态估计模块,若仅所述水平偏转角度或仅所述垂直偏转角度大于所述第一阈值,用于提取所述人脸图像中预设脸部区域的区域关键点,根据所述区域关键点之间距离的比值重新获取大于所述第一阈值的所述水平偏转角度或所述垂直偏转角度,得到新的头部偏转角度,使用新的头部偏转角度表征所述目标驾驶员的头部姿态;
29.第三头部姿态估计模块,若所述头部偏转角度均大于所述第一阈值,用于根据所述人脸图像获取头部偏转方向表征所述目标驾驶员的头部姿态。
30.较佳地,所述预设脸部区域包括第一区域、第二区域及第三区域,所述第二头部姿态估计模块包括:
31.距离获取单元,用于获取所述第一区域的区域关键点到所述第二区域的区域关键点的第一距离,获取所述第二区域的区域关键点到所述第三区域的区域关键点的第二距离;
32.偏转角度计算单元,用于根据所述第一距离和所述第二距离计算大于所述第一阈值的所述水平偏转角度或所述垂直偏转角度。
33.较佳地,若所述水平偏转角度大于所述第一阈值,所述第一区域为脸部左边缘区,所述第二区域为脸部中间区,所述第三区域为脸部右边缘区;若所述垂直偏转角度大于所述第一阈值,所述第一区域为眉眼区,所述第二区域为鼻嘴区,所述第三区域为下巴区。
34.较佳地,所述人脸图像获取模块用于获取待测图像,使用第一目标检测算法从所述待测图像中获取目标驾驶员的人脸图像。
35.较佳地,所述人脸关键点提取模块用于使用人脸关键点检测算法提取所述人脸图像中的人脸关键点。
36.较佳地,所述头部偏转角度计算模块用于通过欧拉角3d仿射将所述人脸关键点与人脸的五官位置进行对应,计算所述目标驾驶员的头部偏转角度。
37.较佳地,所述第三头部姿态估计模块用于使用第二目标检测算法获取所述人脸图像中的头部偏转角度表征所述目标驾驶员的头部姿态。
38.较佳地,所述预设脸部区域包括多个标记关键点,使用所述预设脸部区域中标记关键点的坐标平均值表征所述区域关键点。
39.在上述发明内容中,第一目标检测算法和第二目标检测算法为目前现有的目标检测算法中的任意一种,人脸关键点检测算法为目前现有的人脸关键点检测算法中任意一种。
40.其中,第一目标检测算法和第二目标检测算法可以为相同的目标检测算法,也可以为不同的目标检测算法。
41.并且,第一目标检测算法需要经过针对人脸检测进行相应的训练。第二目标检测算法需要经过针对不同的头部偏转角度检测进行相应的训练。人脸关键点检测算法也需要经过针对人脸关键点检测进行相应的训练。
42.第三方面,本发明提供一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行计算机程序时实现上述任一申请实施例中的基于人脸关键点检测的头部姿态分析方法。
43.第四方面,本发明提供一种计算机可读存储介质,其上存储有计算机程序,所述计
算机程序被处理器执行时实现上述任一申请实施例中的基于人脸关键点检测的头部姿态分析方法。
44.本发明的积极进步效果在于:
45.本发明的基于人脸关键点检测的头部姿态分析方法、系统及设备,通过采取多种检测方法将检测过程分层,精准分析不同的头部姿态。
46.在头部偏转角度较小时,仅使用传统的检测方法获取头部偏转角度。如果头部偏转角度在水平或垂直的偏转角度较大,通过提取预设脸部区域的区域关键点,根据不同区域关键点之间距离的比值重新获取该方向的头部偏转角度,不仅可以减少对前置算法检测结果的严重依赖,排除仿射变换的大量不准确性,而且重新估计该方向的头部偏转角度,提高本发明的鲁棒性。如果头部偏转角度在水平和垂直的偏转角度都较大,直接获取头部偏转角度表征头部姿态。
附图说明
47.图1为本发明实施例1的基于人脸关键点检测的头部姿态分析方法的流程图;
48.图2为本发明实施例1中通过欧拉角3d仿射结果示意图;
49.图3为本发明实施例1中预设脸部区域示意图;
50.图4为本发明实施例1中头部偏转示意图;
51.图5为本发明实施例2的基于人脸关键点检测的头部姿态分析系统的较佳实施方式的模块示意图;
52.图6为本发明实施例3的电子设备的结构示意图。
具体实施方式
53.下面通过实施例的方式进一步说明本发明,但并不因此将本发明限制在所述的实施例范围之中。
54.实施例1
55.如图1所示,本发明实施例1提供一种基于人脸关键点检测的头部姿态分析方法,包括步骤s1-s4:
56.步骤s1、获取目标驾驶员的人脸图像。
57.在本步骤中,作为较佳的实施方式,可以先获取待测图像,再使用第一目标检测算法从待测图像中获取目标驾驶员的人脸图像。
58.示例性的,当第一目标检测算法选用canny算法时,可以简单、快速地实现目标检测。首先对待测图像进行高斯滤波,选用sobel算子计算待测图像的梯度和梯度方向,得到粗糙的头部边缘;然后应用非极大值抑制过滤头部边缘中非边缘的像素点,将头部边缘进一步细化;最后采用双阈值筛选边缘的方式来获得准确的头部边缘,根据头部边缘截取出目标驾驶员的人脸图像。
59.其中,可以通过在目标驾驶员正前方安装监控设备来采集实时图像作为待测图像。监控设备一般放置在仪表台上方、正对目标驾驶员正常驾驶时鼻尖的位置。为不妨碍目标驾驶员的视线,监控设备可以比鼻尖的高度略低5厘米。
60.步骤s2、提取所述人脸图像中的人脸关键点。
61.在本步骤中,作为较佳的实施方式,可以使用人脸关键点检测算法提取人脸图像中的人脸关键点。
62.步骤s3、根据所述人脸关键点计算所述目标驾驶员的头部偏转角度,其中所述头部偏转角度包括水平偏转角度和垂直偏转角度。
63.在本步骤中,作为较佳的实施方式,可以通过欧拉角3d仿射将所述人脸关键点与人脸的五官位置进行对应,计算所述目标驾驶员的头部偏转角度。
64.示例性的,通过欧拉角3d仿射将所述人脸关键点与人脸的五官位置进行对应得到如图2所示的三维空间人脸五官在2d中的投影,根据这些人脸关键点计算目标驾驶员的头部偏转角度,并在水平方向(left-right)和垂直(up-down)方向上进行表示。
65.步骤s4、根据不同的头部偏转角度选择不同的方法表征头部姿态,具体的包括步骤s41-s43:
66.步骤s41、若所述头部偏转角度均不大于第一阈值,使用所述头部偏转角度表征所述目标驾驶员的头部姿态。
67.步骤s42、若所述水平偏转角度或所述垂直偏转角度大于所述第一阈值,提取所述人脸图像中预设脸部区域的区域关键点,根据所述区域关键点之间距离的比值重新获取所述水平偏转角度或所述垂直偏转角度,使用所述头部偏转角度表征所述目标驾驶员的头部姿态。
68.在本步骤中,作为较佳的实施方式,预设脸部区域至少包括第一区域、第二区域及第三区域三个区域。
69.因此,所述根据所述区域关键点之间距离的比值重新获取所述水平偏转角度或所述垂直偏转角度的步骤具体包括:获取所述第一区域的区域关键点到所述第二区域的区域关键点的第一距离,获取所述第二区域的区域关键点到所述第三区域的区域关键点的第二距离,根据所述第一距离和所述第二距离计算所述水平偏转角度或所述垂直偏转角度。
70.示例性的,将脸部在垂直和水平方向上划分出如图3所示的眉眼区、鼻嘴区、下巴区、脸部左边缘区、脸部中间区及脸部右边缘区。也就是说,如果垂直偏转角度大于第一阈值,所述第一区域为眉眼区,所述第二区域为鼻嘴区,所述第三区域为下巴区;如果水平偏转角度大于第一阈值,所述第一区域为脸部左边缘区,所述第二区域为脸部中间区,所述第三区域为脸部右边缘区。
71.其中,眉眼区为包括上眼眶和眉毛在内的矩形区域,鼻嘴区为包括鼻头、鼻翼、鼻底在内的矩形区域,下巴区为包括嘴部所对应的下颏在内的矩形区域,脸部左边缘区为包括左侧下颌角到左耳根部在内的矩形区域,脸部中间区为包括唇中、鼻梁及鼻山根在内的矩形区域,脸部右边缘区为包括右侧下颌角到右耳根部在内的矩形区域。这些矩形区域也可以根据需要自行调整。
72.特别的是,作为较佳的实施方式,预设脸部区域包括多个标记关键点,使用预设脸部区域中标记关键点的坐标平均值表征区域关键点。
73.示例性的,在图3中的人脸具有98个标记关键点。具体地,将眼部以下的脸部边缘从0依次标号到32,将左侧眉毛从33依次标号到41,将右侧眉毛的边缘从42依次标号到50,将鼻山到鼻头的直线上从51依次标号到54,将鼻底左侧到鼻底右侧的边缘从55依次标号到59,将左眼轮廓从60依次标号到67,将右眼轮廓从68依次标号到75,将嘴部边缘从76依次标
号到87,将唇中轮廓从88依次标号到95,最后将左眼瞳孔标记为96,右眼瞳孔标记为97。
74.其中,眉眼区选取标号为33至50的标记关键点,鼻嘴区选取标号为55至59的标记关键点,下巴区选取标号为12至20的标记关键点,脸部左边缘区选取标号为0至4的标记关键点,脸部中间区选取标号为51至54的标记关键点,脸部右边缘区选取标号为28至32的标记关键点。
75.因此,根据33至50的标记关键点的坐标平均值来表征眉眼区的区域关键点a,根据55至59的标记关键点的坐标平均值来表征鼻嘴区的区域关键点位b;根据12至20的标记关键点的坐标平均值来表征下巴区的区域关键点c,根据0至4的标记关键点的坐标平均值来表征脸部左边缘区的区域关键点d,根据51至54的标记关键点的坐标平均值来表征脸部中间区的区域关键点e,根据28至32的标记关键点的坐标平均值来表征脸部右边缘区的区域关键点f。
76.由于人脸三庭五眼的比例,目标驾驶员正脸情况下ab应与bc理论上相等。如图4的左边部分所示,如果头部存在垂直偏转角度,ab与bc就不再相等,如图4的右边部分所示,如果头部存在水平偏转角度,同理的,de与ef也不再相等。因此,需要根据ab和bc之间的距离比重新计算垂直偏转角度,以及根据de和ef之间的距离比重新计算水平偏转角度。
77.示例性的,收集大量正常脸型、偏长脸型、偏宽脸型的人脸样本图像,且这些人脸样本图像中的头部仅在水平或垂直有偏转角度。从中提取人脸关键点样本,获取在水平或垂直方向上偏转了标志性角度的第一距离和第二距离,计算第一距离和第二距离的比值。
78.例如,已经获知水平向左偏转30度的比值为0.43,水平向左偏转45度的比值为0.27,而当前检测得到的比值为0.30,则可使用线性插入法估算公式计算将比值作为x、偏转角度作为y构建线性函数,然后将当前检测得到的比值0.3作为x代入线性函数求解y作为偏转角度。
79.这么做的原因是:在头部仅朝水平或垂直有偏转角度的情况下,经试验验证,同一方向上随着角度变化,比值没有线性变化,是因为人脸转动是三维的运动,图片里只能观察到二维单方向上关键点的运动。所以变化不是线性的,而是随着三维点投射到二维点上的变化为变化,一般表现为成倍数增加或者减少。所以不好使用平均数,加权数等数学方式建模。且实际驾驶过程中,不需要对驾驶员面部角度进行过于精确地测量。
80.步骤s43、若所述头部偏转角度均大于所述第一阈值,根据所述人脸图像获取头部偏转方向表征所述目标驾驶员的头部姿态。
81.在本步骤中,作为较佳的实施方式,若所述头部偏转角度均大于所述第一阈值,使用第二目标检测算法获取头部偏转角度表征所述目标驾驶员的头部姿态。
82.其中,第二目标检测算法需要经过针对不同的头部偏转角度检测进行相应的训练。
83.示例性的,用于训练的样本图像包括头部向左上、左下、右上、右下偏转大于第一阈值的人脸图像。将目标驾驶员的人脸图像输入第二目标检测算法,输出目标驾驶员的头部偏转方向为左上、左下、右上或右下。
84.本实施例提供的基于人脸关键点检测的头部姿态分析方法,在头部偏转角度较小时,仅使用传统的检测方法获取头部偏转角度。如果头部偏转角度在单一方向的偏转角度较大,通过提取预设脸部区域的区域关键点,根据不同区域关键点之间距离的比值重新获
取该方向的头部偏转角度,不仅可以减少对前置算法检测结果的严重依赖,排除仿射变换的大量不准确性,而且重新估计该方向的头部偏转角度,提高本实施例的鲁棒性。如果头部偏转角度在水平和垂直的偏转角度都较大,直接获取头部偏转方向表征头部姿态。
85.实施例2
86.如图5所示,本发明实施例2提供一种基于人脸关键点检测的头部姿态分析系统,包括:
87.人脸图像获取模块51,用于获取目标驾驶员的人脸图像;
88.人脸关键点提取模块52,用于提取所述人脸图像中的人脸关键点;
89.头部偏转角度计算模块53,用于根据所述人脸关键点计算所述目标驾驶员的头部偏转角度,其中所述头部偏转角度包括水平偏转角度和垂直偏转角度;
90.第一头部姿态估计模块54,若所述头部偏转角度均不大于第一阈值,用于使用所述头部偏转角度表征所述目标驾驶员的头部姿态;
91.第二头部姿态估计模块55,若仅所述水平偏转角度或仅所述垂直偏转角度大于所述第一阈值,用于提取所述人脸图像中预设脸部区域的区域关键点,根据所述区域关键点之间距离的比值重新获取大于所述第一阈值的所述水平偏转角度或所述垂直偏转角度,得到新的头部偏转角度,使用新的头部偏转角度表征所述目标驾驶员的头部姿态;
92.第三头部姿态估计模块56,若所述头部偏转角度均大于所述第一阈值,用于根据所述人脸图像获取头部偏转方向表征所述目标驾驶员的头部姿态。
93.作为较佳的实时方式,人脸图像获取模块51用于获取待测图像,使用第一目标检测算法从所述待测图像中获取目标驾驶员的人脸图像。
94.示例性的,当第一目标检测算法选用canny算法时,可以简单、快速地实现目标检测。首先对待测图像进行高斯滤波,选用sobel算子计算待测图像的梯度和梯度方向,得到粗糙的头部边缘;然后应用非极大值抑制过滤头部边缘中非边缘的像素点,将头部边缘进一步细化;最后采用双阈值筛选边缘的方式来获得准确的头部边缘,根据头部边缘截取出目标驾驶员的人脸图像。
95.其中,可以通过在目标驾驶员正前方安装监控设备来采集实时图像作为待测图像。监控设备一般放置在仪表台上方、正对目标驾驶员正常驾驶时鼻尖的位置。为不妨碍目标驾驶员的视线,监控设备可以比鼻尖的高度略低5厘米。
96.作为较佳的实施方式,人脸关键点提取模块52用于使用人脸关键点检测算法提取人脸图像中的人脸关键点。
97.作为较佳的实施方式,头部偏转角度计算模块53用于通过欧拉角3d仿射将所述人脸关键点与人脸的五官位置进行对应,计算所述目标驾驶员的头部偏转角度。
98.示例性的,通过欧拉角3d仿射将所述人脸关键点与人脸的五官位置进行对应得到如图2所示的三维空间人脸五官在2d中的投影,根据这些人脸关键点计算目标驾驶员的头部偏转角度,并在水平方向(left-right)和垂直(up-down)方向上进行表示。
99.作为较佳的实施方式,预设脸部区域至少包括第一区域、第二区域及第三区域三个区域。因此,所述第二头部姿态估计模块55包括:
100.距离获取单元551,用于获取所述第一区域的区域关键点到所述第二区域的区域关键点的第一距离,获取所述第二区域的区域关键点到所述第三区域的区域关键点的第二
距离;
101.偏转角度计算单元552,用于根据所述第一距离和所述第二距离计算所述水平偏转角度或所述垂直偏转角度。
102.示例性的,将脸部在垂直和水平方向上划分出如图3所示的眉眼区、鼻嘴区、下巴区、脸部左边缘区、脸部中间区及脸部右边缘区。也就是说,如果垂直偏转角度大于第一阈值,所述第一区域为眉眼区,所述第二区域为鼻嘴区,所述第三区域为下巴区;如果水平偏转角度大于第一阈值,所述第一区域为脸部左边缘区,所述第二区域为脸部中间区,所述第三区域为脸部右边缘区。
103.其中,眉眼区为包括上眼眶和眉毛在内的矩形区域,鼻嘴区为包括鼻头、鼻翼、鼻底在内的矩形区域,下巴区为包括嘴部所对应的下颏在内的矩形区域,脸部左边缘区为包括左侧下颌角到左耳根部在内的矩形区域,脸部中间区为包括唇中、鼻梁及鼻山根在内的矩形区域,脸部右边缘区为包括右侧下颌角到右耳根部在内的矩形区域。这些矩形区域也可以根据需要自行调整。
104.特别的是,作为较佳的实施方式,预设脸部区域包括多个标记关键点,使用预设脸部区域中标记关键点的坐标平均值表征区域关键点。
105.示例性的,在图3中的人脸具有98个标记关键点。具体地,将眼部以下的脸部边缘从0依次标号到32,将左侧眉毛从33依次标号到41,将右侧眉毛的边缘从42依次标号到50,将鼻山到鼻头的直线上从51依次标号到54,将鼻底左侧到鼻底右侧的边缘从55依次标号到59,将左眼轮廓从60依次标号到67,将右眼轮廓从68依次标号到75,将嘴部边缘从76依次标号到87,将唇中轮廓从88依次标号到95,最后将左眼瞳孔标记为96,右眼瞳孔标记为97。
106.其中,眉眼区选取标号为33至50的标记关键点,鼻嘴区选取标号为55至59的标记关键点,下巴区选取标号为12至20的标记关键点,脸部左边缘区选取标号为0至4的标记关键点,脸部中间区选取标号为51至54的标记关键点,脸部右边缘区选取标号为28至32的标记关键点。
107.因此,根据33至50的标记关键点的坐标平均值来表征眉眼区的区域关键点a,根据55至59的标记关键点的坐标平均值来表征鼻嘴区的区域关键点位b;根据12至20的标记关键点的坐标平均值来表征下巴区的区域关键点c,根据0至4的标记关键点的坐标平均值来表征脸部左边缘区的区域关键点d,根据51至54的标记关键点的坐标平均值来表征脸部中间区的区域关键点e,根据28至32的标记关键点的坐标平均值来表征脸部右边缘区的区域关键点f。
108.由于人脸三庭五眼的比例,目标驾驶员正脸情况下ab应与bc理论上相等。如图4的左边部分所示,如果头部存在垂直偏转角度,ab与bc就不再相等,如图4的右边部分所示,如果头部存在水平偏转角度,同理的,de与ef也不再相等。因此,需要根据ab和bc之间的距离比重新计算垂直偏转角度,以及根据de和ef之间的距离比重新计算水平偏转角度。
109.示例性的,收集大量正常脸型、偏长脸型、偏宽脸型的人脸样本图像,且这些人脸样本图像中的头部仅在水平或垂直有偏转角度。从中提取人脸关键点样本,获取在水平或垂直方向上偏转了标志性角度的第一距离和第二距离,计算第一距离和第二距离的比值。
110.例如,已经获知水平向左偏转30度的比值为0.43,水平向左偏转45度的比值为0.27,而当前检测得到的比值为0.30,则可使用线性插入法估算公式计算将比值作为x、偏
转角度作为y构建线性函数,然后将当前检测得到的比值0.3作为x代入线性函数求解y作为偏转角度。
111.这么做的原因是:在头部仅朝水平或垂直有偏转角度的情况下,经试验验证,同一方向上随着角度变化,比值没有线性变化,是因为人脸转动是三维的运动,图片里只能观察到二维单方向上关键点的运动。所以变化不是线性的,而是随着三维点投射到二维点上的变化为变化,一般表现为成倍数增加或者减少。所以不好使用平均数,加权数等数学方式建模。且实际驾驶过程中,不需要对驾驶员面部角度进行过于精确地测量。
112.作为较佳的实施方式,若所述头部偏转角度均大于所述第一阈值,第三头部姿态估计模块56用于使用第二目标检测算法获取头部偏转角度表征所述目标驾驶员的头部姿态。
113.其中,第二目标检测算法需要经过针对不同的头部偏转角度检测进行相应的训练。
114.示例性的,用于训练的样本图像包括头部向左上、左下、右上、右下偏转大于第一阈值的人脸图像。将目标驾驶员的人脸图像输入第二目标检测算法,输出目标驾驶员的头部偏转方向为左上、左下、右上或右下。
115.本实施例提供的基于人脸关键点检测的头部姿态分析系统,在头部偏转角度较小时,通过人脸图像获取模块51、人脸关键点提取模块52、头部偏转角度计算模块53及第一头部姿态估计模块54,仅使用传统的检测方法获取头部偏转角度。如果头部偏转角度在单一方向的偏转角度较大,再通过第二头部姿态估计模块55提取预设脸部区域的区域关键点,根据不同区域关键点之间距离的比值重新获取该方向的头部偏转角度,不仅可以减少对前置算法检测结果的严重依赖,排除仿射变换的大量不准确性,而且重新估计该方向的头部偏转角度,提高本实施例的鲁棒性。如果头部偏转角度在水平和垂直的偏转角度都较大,通过第三头部姿态估计模块56直接获取头部偏转方向表征头部姿态。
116.实施例3
117.图6为本发明实施例3提供的一种电子设备的结构示意图。电子设备包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,处理器执行程序时实现实施例1的基于人脸关键点检测的头部姿态分析方法。图6显示的电子设备30仅仅是一个示例,不应对本发明实施例的功能和使用范围带来任何限制。
118.如图6所示,电子设备30可以通用计算设备的形式表现,例如其可以为服务器设备。电子设备30的组件可以包括但不限于:上述至少一个处理器31、上述至少一个存储器32、连接不同系统组件(包括存储器32和处理器31)的总线33。
119.总线33包括数据总线、地址总线和控制总线。
120.存储器32可以包括易失性存储器,例如随机存取存储器(ram)321和/或高速缓存存储器322,还可以进一步包括只读存储器(rom)323。
121.存储器32还可以包括具有一组(至少一个)程序模块324的程序/实用工具325,这样的程序模块324包括但不限于:操作系统、一个或者多个应用程序、其它程序模块以及程序数据,这些示例中的每一个或某种组合中可能包括网络环境的实现。
122.处理器31通过运行存储在存储器32中的计算机程序,从而执行各种功能应用以及数据处理,例如本发明实施例1的基于人脸关键点检测的头部姿态分析方法。
123.电子设备30也可以与一个或多个外部设备34(例如键盘、指向设备等)通信。这种通信可以通过输入/输出(i/o)接口35进行。并且,模型生成的设备30还可以通过网络适配器36与一个或者多个网络(例如局域网(lan),广域网(wan)和/或公共网络,例如因特网)通信。如图4所示,网络适配器36通过总线33与模型生成的设备30的其它模块通信。应当明白,尽管图中未示出,可以结合模型生成的设备30使用其它硬件和/或软件模块,包括但不限于:微代码、设备驱动器、冗余处理器、外部磁盘驱动阵列、raid(磁盘阵列)系统、磁带驱动器以及数据备份存储系统等。
124.应当注意,尽管在上文详细描述中提及了电子设备的若干单元/模块或子单元/模块,但是这种划分仅仅是示例性的并非强制性的。实际上,根据本发明的实施方式,上文描述的两个或更多单元/模块的特征和功能可以在一个单元/模块中具体化。反之,上文描述的一个单元/模块的特征和功能可以进一步划分为由多个单元/模块来具体化。
125.实施例4
126.本实施例提供了一种计算机可读存储介质,其上存储有计算机程序,程序被处理器执行时实现实施例1的基于人脸关键点检测的头部姿态分析方法中的步骤。
127.其中,可读存储介质可以采用的更具体可以包括但不限于:便携式盘、硬盘、随机存取存储器、只读存储器、可擦拭可编程只读存储器、光存储器件、磁存储器件或上述的任意合适的组合。
128.在可能的实施方式中,本发明还可以实现为一种程序产品的形式,其包括程序代码,当程序产品在终端设备上运行时,程序代码用于使终端设备执行实现实施例1的基于人脸关键点检测的头部姿态分析方法中的步骤。
129.其中,可以一种或多种程序设计语言的任意组合来编写用于执行本发明的程序代码,程序代码可以完全地在用户设备上执行、部分地在用户设备上执行、作为一个独立的软件包执行、部分在用户设备上部分在远程设备上执行或完全在远程设备上执行。
130.虽然以上描述了本发明的具体实施方式,但是本领域的技术人员应当理解,这仅是举例说明,本发明的保护范围是由所附权利要求书限定的。本领域的技术人员在不背离本发明的原理和实质的前提下,可以对这些实施方式做出多种变更或修改,但这些变更和修改均落入本发明的保护范围。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献