一种操作对象状态识别方法及装置转让专利

申请号 : CN202011090028.0

文献号 : CN112232175B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 吴翔余程鹏

申请人 : 南京领行科技股份有限公司

摘要 :

本申请涉及状态识别技术领域,尤其涉及一种操作对象状态识别方法及装置,从待识别视频中获得包含有操作对象的人脸的各人脸区域图像;分别针对所述各人脸区域图像中的任意一人脸区域图像,确定该人脸区域图像中特定的两个像素点之间的连线,并通过计算连线与预设的标准水平连线之间的夹角,获得该人脸区域图像的偏转角度;基于偏转角度,对该人脸区域图像进行角度校正;识别角度校正后的人脸区域图像中操作对象的面部状态类别;根据各人脸区域图像中操作对象的面部状态类别,确定所述待识别视频中的操作对象是否处于疲劳状态,这样,基于校正后的人脸区域图像识别操作对象的状态,能够防止因人脸角度过大导致识别精度不高的问题。

权利要求 :

1.一种操作对象状态识别方法,其特征在于,包括:

分别对目标摄像头采集的待识别视频中包含的各待识别图像进行人脸检测,获得包含有操作对象的人脸的各人脸区域图像,其中,所述目标摄像头表征车辆的前挡风玻璃与前车门之间的柱子上设置的摄像头;

分别针对所述各人脸区域图像中的任意一人脸区域图像执行以下步骤,获得每张人脸区域图像中操作对象的状态类别:确定该人脸区域图像中特定的两个像素点之间的连线,并通过计算所述连线与预设的标准水平连线之间的夹角,获得该人脸区域图像的偏转角度;基于所述偏转角度,对该人脸区域图像进行角度校正,获得角度校正后的人脸区域图像;识别所述角度校正后的人脸区域图像中操作对象的面部状态类别;

根据所述各人脸区域图像中操作对象的面部状态类别,确定所述待识别视频中的操作对象是否处于疲劳状态;

其中,基于所述偏转角度,对该人脸区域图像进行角度校正,获得角度校正后的人脸区域图像,具体包括:以所述偏转角度为预设的仿射变换矩阵的参数,分别将该人脸区域图像中的各像素点对应的坐标与所述仿射变换矩阵相乘,获得校正后的各像素点的坐标;

基于所述校正后的各像素点的坐标,获得角度校正后的人脸区域图像。

2.如权利要求1所述的方法,其特征在于,根据如下方式获得包含有操作对象的人脸的各人脸区域图像:获取目标摄像头采集的待识别视频;

分别针对所述待识别视频中包含的各待识别图像中的任意一待识别图像,基于已训练的人脸检测模型,以该待识别图像为输入参数,对该待识别图像进行人脸检测,确定所述操作对象的人脸在该待识别图像上的位置信息,并基于所述位置信息,获得包含有所述操作对象的人脸的人脸区域图像,其中,所述人脸检测模型为根据人脸区域图像样本集进行迭代训练获得的,所述人脸区域图像样本集中包含有多个人脸区域图像样本。

3.如权利要求1所述的方法,其特征在于,若特定的两个像素点分别为左眼中心点和右眼中心点,则确定该人脸区域图像中特定的两个像素点之间的连线,并通过计算所述连线与预设的标准水平连线之间的夹角,获得该人脸区域图像的偏转角度,具体包括:确定该人脸区域图像中的左眼中心点和右眼中心点之间的双眼连线;

计算所述双眼连线与预设的水平双眼连线之间的夹角,并将所述夹角作为该人脸区域图像的偏转角度。

4.如权利要求1所述的方法,其特征在于,识别角度校正后的人脸区域图像中操作对象的面部状态类别,具体包括:基于已训练的人脸关键点检测模型,以角度校正后的人脸区域图像为输入参数,对所述角度校正后的人脸区域图像进行人脸关键点检测,获得所述角度校正后的人脸区域图像的各人脸关键点图像;

根据所述各人脸关键点图像中的特定的人脸关键点图像,识别所述操作对象的面部状态类别。

5.如权利要求4所述的方法,其特征在于,若特定的人脸关键点图像为左眼关键点图像和右眼关键点图像,则根据所述各人脸关键点图像中的特定的人脸关键点图像,识别所述操作对象的面部状态类别,具体包括:基于已训练的第一识别模型,以所述左眼关键点图像和所述右眼关键点图像为输入参数,确定所述左眼关键点图像的左眼状态类别,并确定所述右眼关键点图像的右眼状态类别;

根据所述左眼状态类别和所述右眼状态类别,确定所述操作对象的面部状态类别。

6.如权利要求4所述的方法,其特征在于,若特定的人脸关键点图像为嘴巴关键点图像,则根据所述各人脸关键点图像中的特定的人脸关键点图像,识别所述操作对象的面部状态类别,具体包括:基于已训练的第二识别模型,以所述嘴巴关键点图像为输入参数,确定所述嘴巴关键点图像的嘴巴状态类别;

根据所述嘴巴状态类别,确定所述操作对象的面部状态类别。

7.如权利要求4‑6任一项所述的方法,其特征在于,若所述面部状态类别为疲劳状态类别和未疲劳状态类别,则根据所述各人脸区域图像中操作对象的面部状态类别,确定所述待识别视频中的操作对象是否处于疲劳状态,具体包括:若确定连续N个人脸区域图像中操作对象的面部状态类别为疲劳状态类别,则确定所述待识别视频中的操作对象处于疲劳状态,其中,所述N大于等于预设阈值,并N为正整数。

8.一种操作对象状态识别装置,其特征在于,包括:

检测模块,用于分别对目标摄像头采集的待识别视频中包含的各待识别图像进行人脸检测,获得包含有操作对象的人脸的各人脸区域图像,其中,所述目标摄像头表征车辆的前挡风玻璃与前车门之间的柱子上设置的摄像头;

处理模块,用于分别针对所述各人脸区域图像中的任意一人脸区域图像执行以下步骤,获得每张人脸区域图像中操作对象的状态类别:确定该人脸区域图像中特定的两个像素点之间的连线,并通过计算所述连线与预设的标准水平连线之间的夹角,获得该人脸区域图像的偏转角度;基于所述偏转角度,对该人脸区域图像进行角度校正,获得角度校正后的人脸区域图像;识别所述角度校正后的人脸区域图像中操作对象的面部状态类别;

确定模块,用于根据所述各人脸区域图像中操作对象的面部状态类别,确定所述待识别视频中的操作对象是否处于疲劳状态;

其中,基于所述偏转角度,对该人脸区域图像进行角度校正,获得角度校正后的人脸区域图像时,处理模块具体用于:以所述偏转角度为预设的仿射变换矩阵的参数,分别将该人脸区域图像中的各像素点对应的坐标与所述仿射变换矩阵相乘,获得校正后的各像素点的坐标;

基于所述校正后的各像素点的坐标,获得角度校正后的人脸区域图像。

9.一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现权利要求1‑7任一项所述方法的步骤。

10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于:所述计算机程序被处理器执行时实现权利要求1‑7任一项所述方法的步骤。

说明书 :

一种操作对象状态识别方法及装置

技术领域

[0001] 本申请涉及状态识别技术领域,尤其涉及一种操作对象状态识别方法及装置。

背景技术

[0002] 目前,在车辆行驶过程中,驾驶员疲劳是造成恶性交通事故的重要原因之一,严重危害交通安全,因此,如何能够实现对驾驶员的疲劳状态的识别,成为了一个亟待解决的问题。
[0003] 为了解决上述问题,现有技术中,通常是拍摄驾驶员的图像,并根据拍摄到的图像,识别驾驶员的疲劳状态,但是,如果将摄像头安装在驾驶员的正前方,会遮挡驾驶员的行驶视线,并且,如果将摄像头安装在驾驶员正前方的方向盘时,驾驶员会遮挡住摄像头,导致不能更好地获取到驾驶员的图像,因此,摄像头往往安装在车辆的左侧A柱,但是,由于摄像头设置在车辆的A柱,因此获取到的驾驶员的人脸图像角度很大,那么,在进行人脸关键点检测时,检测精度较低,很难精确定位人脸关键点,这样,就会降低驾驶员的疲劳状态识别的准确度。

发明内容

[0004] 本申请实施例提供一种操作对象状态识别方法及装置,以提高驾驶员的疲劳状态识别的准确度。
[0005] 本申请实施例提供的具体技术方案如下:
[0006] 一种操作对象状态识别方法,包括:
[0007] 分别对目标摄像头采集的待识别视频中包含的各待识别图像进行人脸检测,获得包含有操作对象的人脸的各人脸区域图像,其中,所述目标摄像头表征车辆的前挡风玻璃与前车门之间的柱子上设置的摄像头;
[0008] 分别针对所述各人脸区域图像中的任意一人脸区域图像执行以下步骤,获得每张人脸区域图像中操作对象的状态类别:确定该人脸区域图像中特定的两个像素点之间的连线,并通过计算所述连线与预设的标准水平连线之间的夹角,获得该人脸区域图像的偏转角度;基于所述偏转角度,对该人脸区域图像进行角度校正,获得角度校正后的人脸区域图像;识别所述角度校正后的人脸区域图像中操作对象的面部状态类别;
[0009] 根据所述各人脸区域图像中操作对象的面部状态类别,确定所述待识别视频中的操作对象是否处于疲劳状态。
[0010] 可选的,根据如下方式获得包含有操作对象的人脸的各人脸区域图像:
[0011] 获取目标摄像头采集的待识别视频;
[0012] 分别针对所述待识别视频中包含的各待识别图像中的任意一待识别图像,基于已训练的人脸检测模型,以该待识别图像为输入参数,对该待识别图像进行人脸检测,确定所述操作对象的人脸在该待识别图像上的位置信息,并基于所述位置信息,获得包含有所述操作对象的人脸的人脸区域图像,其中,所述人脸检测模型为根据人脸区域图像样本集进行迭代训练获得的,所述人脸区域图像样本集中包含有多个人脸区域图像样本。
[0013] 可选的,若特定的两个像素点分别为左眼中心点和右眼中心点,则确定该人脸区域图像中特定的两个像素点之间的连线,并通过计算所述连线与预设的标准水平连线之间的夹角,获得该人脸区域图像的偏转角度,具体包括:
[0014] 确定该人脸区域图像中的左眼中心点和右眼中心点之间的双眼连线;
[0015] 计算所述双眼连线与预设的水平双眼连线之间的夹角,并将所述夹角作为该人脸区域图像的偏转角度。
[0016] 可选的,基于所述偏转角度,对该人脸区域图像进行角度校正,获得角度校正后的人脸区域图像,具体包括:
[0017] 以所述偏转角度为预设的仿射变换矩阵的参数,分别将该人脸区域图像中的各像素点对应的坐标与所述仿射变换矩阵相乘,获得校正后的各像素点的坐标;
[0018] 基于所述校正后的各像素点的坐标,获得角度校正后的人脸区域图像。
[0019] 可选的,识别角度校正后的人脸区域图像中操作对象的面部状态类别,具体包括:
[0020] 基于已训练的人脸关键点检测模型,以角度校正后的人脸区域图像为输入参数,对所述角度校正后的人脸区域图像进行人脸关键点检测,获得所述角度校正后的人脸区域图像的各人脸关键点图像;
[0021] 根据所述各人脸关键点图像中的特定的人脸关键点图像,识别所述操作对象的面部状态类别。
[0022] 可选的,若特定的人脸关键点图像为左眼关键点图像和右眼关键点图像,则根据所述各人脸关键点图像中的特定的人脸关键点图像,识别所述操作对象的面部状态类别,具体包括:
[0023] 基于已训练的第一识别模型,以所述左眼关键点图像和所述右眼关键点图像为输入参数,确定所述左眼关键点图像的左眼状态类别,并确定所述右眼关键点图像的右眼状态类别;
[0024] 根据所述左眼状态类别和所述右眼状态类别,确定所述操作对象的面部状态类别。
[0025] 可选的,若特定的人脸关键点图像为嘴巴关键点图像,则根据所述各人脸关键点图像中的特定的人脸关键点图像,识别所述操作对象的面部状态类别,具体包括:
[0026] 基于已训练的第二识别模型,以所述嘴巴关键点图像为输入参数,确定所述嘴巴关键点图像的嘴巴状态类别;
[0027] 根据所述嘴巴状态类别,确定所述操作对象的面部状态类别。
[0028] 可选的,若所述面部状态类别为疲劳状态类别和未疲劳状态类别,则根据所述各人脸区域图像中操作对象的面部状态类别,确定所述待识别视频中的操作对象是否处于疲劳状态,具体包括:
[0029] 若确定连续N个人脸区域图像中操作对象的面部状态类别为疲劳状态类别,则确定所述待识别视频中的操作对象处于疲劳状态,其中,所述N大于等于预设阈值,并N为正整数。
[0030] 一种操作对象状态识别装置,包括:
[0031] 检测模块,用于分别对目标摄像头采集的待识别视频中包含的各待识别图像进行人脸检测,获得包含有操作对象的人脸的各人脸区域图像,其中,所述目标摄像头表征车辆的前挡风玻璃与前车门之间的柱子上设置的摄像头;
[0032] 处理模块,用于分别针对所述各人脸区域图像中的任意一人脸区域图像执行以下步骤,获得每张人脸区域图像中操作对象的状态类别:确定该人脸区域图像中特定的两个像素点之间的连线,并通过计算所述连线与预设的标准水平连线之间的夹角,获得该人脸区域图像的偏转角度;基于所述偏转角度,对该人脸区域图像进行角度校正,获得角度校正后的人脸区域图像;识别所述角度校正后的人脸区域图像中操作对象的面部状态类别;
[0033] 确定模块,用于根据所述各人脸区域图像中操作对象的面部状态类别,确定所述待识别视频中的操作对象是否处于疲劳状态。
[0034] 可选的,获得包含有操作对象的人脸的各人脸区域图像时,检测模块具体用于:
[0035] 获取目标摄像头采集的待识别视频;
[0036] 分别针对所述待识别视频中包含的各待识别图像中的任意一待识别图像,基于已训练的人脸检测模型,以该待识别图像为输入参数,对该待识别图像进行人脸检测,确定所述操作对象的人脸在该待识别图像上的位置信息,并基于所述位置信息,获得包含有所述操作对象的人脸的人脸区域图像,其中,所述人脸检测模型为根据人脸区域图像样本集进行迭代训练获得的,所述人脸区域图像样本集中包含有多个人脸区域图像样本。
[0037] 可选的,若特定的两个像素点分别为左眼中心点和右眼中心点,则确定该人脸区域图像中特定的两个像素点之间的连线,并通过计算所述连线与预设的标准水平连线之间的夹角,获得该人脸区域图像的偏转角度时,处理模块具体用于:
[0038] 确定该人脸区域图像中的左眼中心点和右眼中心点之间的双眼连线;
[0039] 计算所述双眼连线与预设的水平双眼连线之间的夹角,并将所述夹角作为该人脸区域图像的偏转角度。
[0040] 可选的,基于所述偏转角度,对该人脸区域图像进行角度校正,获得角度校正后的人脸区域图像时,处理模块具体用于:
[0041] 以所述偏转角度为预设的仿射变换矩阵的参数,分别将该人脸区域图像中的各像素点对应的坐标与所述仿射变换矩阵相乘,获得校正后的各像素点的坐标;
[0042] 基于所述校正后的各像素点的坐标,获得角度校正后的人脸区域图像。
[0043] 可选的,识别角度校正后的人脸区域图像中操作对象的面部状态类别时,处理模块具体用于:
[0044] 基于已训练的人脸关键点检测模型,以角度校正后的人脸区域图像为输入参数,对所述角度校正后的人脸区域图像进行人脸关键点检测,获得所述角度校正后的人脸区域图像的各人脸关键点图像;
[0045] 根据所述各人脸关键点图像中的特定的人脸关键点图像,识别所述操作对象的面部状态类别。
[0046] 可选的,若特定的人脸关键点图像为左眼关键点图像和右眼关键点图像,则根据所述各人脸关键点图像中的特定的人脸关键点图像,识别所述操作对象的面部状态类别时,处理模块具体用于:
[0047] 基于已训练的第一识别模型,以所述左眼关键点图像和所述右眼关键点图像为输入参数,确定所述左眼关键点图像的左眼状态类别,并确定所述右眼关键点图像的右眼状态类别;
[0048] 根据所述左眼状态类别和所述右眼状态类别,确定所述操作对象的面部状态类别。
[0049] 可选的,若特定的人脸关键点图像为嘴巴关键点图像,则根据所述各人脸关键点图像中的特定的人脸关键点图像,识别所述操作对象的面部状态类别,处理模块具体用于:
[0050] 基于已训练的第二识别模型,以所述嘴巴关键点图像为输入参数,确定所述嘴巴关键点图像的嘴巴状态类别;
[0051] 根据所述嘴巴状态类别,确定所述操作对象的面部状态类别。
[0052] 可选的,若所述面部状态类别为疲劳状态类别和未疲劳状态类别,则确定模块具体用于:
[0053] 若确定连续N个人脸区域图像中操作对象的面部状态类别为疲劳状态类别,则确定所述待识别视频中的操作对象处于疲劳状态,其中,所述N大于等于预设阈值,并N为正整数。
[0054] 一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现上述操作对象状态识别方法的步骤。
[0055] 一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现上述操作对象状态识别方法的步骤。
[0056] 本申请实施例中,分别对目标摄像头采集的待识别视频中包含的各待识别图像进行人脸检测,获得包含有操作对象的人脸的各人脸区域图像,分别针对各人脸区域图像中的任意一人脸区域图像执行以下步骤,获得每张人脸区域图像中操作对象的状态类别:确定该人脸区域图像中特定的两个像素点之间的连线,并通过计算连线与预设的标准水平连线之间的夹角,获得该人脸区域图像的偏转角度,基于偏转角度,对人脸区域图像进行角度校正,获得角度校正后的人脸区域图像,识别角度校正后的人脸区域图像中操作对象的面部状态类别,根据各人脸区域图像中操作对象的面部状态类别,确定待识别视频中的操作对象是否处于疲劳状态,这样,在识别包含有操作对象的人脸的人脸区域图像之前,先根据人脸区域图像中的特定的两个像素点,对人脸区域图像进行角度校正,并基于校正后的人脸区域图像进行操作对象的面部状态识别,能够提高在大角度下拍摄到的人脸区域图像的操作对象疲劳状态的识别的精度。

附图说明

[0057] 图1为本申请实施例中一种操作对象状态识别方法的流程图;
[0058] 图2为本申请实施例中点旋转的示意图;
[0059] 图3为本申请实施例中一种操作对象状态识别方法的另一流程图;
[0060] 图4为本申请实施例中操作对象状态识别装置的结构示意图;
[0061] 图5为本申请实施例中电子设备的结构示意图。

具体实施方式

[0062] 下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,并不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
[0063] 目前,在车辆行驶过程中,驾驶员疲劳是造成恶性交通事故的重要原因之一,严重危害交通安全,因此,如何能够实现对驾驶员的疲劳状态的识别,成为了一个亟待解决的问题。
[0064] 随着移动互联网技术发展,人脸关键点检测技术已经推广到司机状态监控、智能家居、智能手机应用等各个领域,因此,通过对包含有驾驶员的人脸的图像进行人脸关键点检测通常是通过在车辆的A柱上设置摄像头,并基于A柱上设置的摄像头拍摄到包含有驾驶员的人脸的图像,并对包含有驾驶员的人脸的图像进行人脸关键点检测,能够实现对驾驶员的状态进行识别,但是,由于摄像头设置在车辆的A柱上,因此,获取到的驾驶员的图像往往存在很大的角度,那么,现有技术中的人脸关键点检测算法对于大角度情况的检测精度较低,很难精确定位人脸关键点,这样,就会降低驾驶员的疲劳状态识别的精度。
[0065] 为了解决上述问题,本申请实施例中提供了一种操作对象状态识别方法,分别对目标摄像头采集的待识别视频中包含的各待识别图像进行人脸检测,获得包含有操作对象的人脸的各人脸区域图像,分别针对各人脸区域图像中的任意一人脸区域图像执行以下步骤,获得每张人脸区域图像中操作对象的状态类别:确定该人脸区域图像中特定的两个像素点之间的连线,并通过计算连线与预设的标准水平连线之间的夹角,获得该人脸区域图像的偏转角度,基于偏转角度,对人脸区域图像进行角度校正,获得角度校正后的人脸区域图像,识别角度校正后的人脸区域图像中操作对象的面部状态类别,根据各人脸区域图像中操作对象的面部状态类别,确定待识别视频中的操作对象是否处于疲劳状态,这样,根据人脸区域图像中的特定的两个像素点,确定人脸区域图像的偏转角度,并基于偏转角度对人脸区域图像进行角度校正,基于角度校正后的人脸区域图像进行人脸关键点检测时,能够提高人脸关键点检测的精度,并提高在大角度的情况下人脸关键点定位精度,可以精确地定位操作对象的人脸关键点图像,从而能够提高操作对象的状态识别的准确度。
[0066] 基于上述实施例,参阅图1所示,为本申请实施例中一种操作对象状态识别方法的流程图,具体包括:
[0067] 步骤100:分别对目标摄像头采集的待识别视频中包含的各待识别图像进行人脸检测,获得包含有操作对象的人脸的各人脸区域图像。
[0068] 其中,目标摄像头表征车辆的前挡风玻璃与前车门之间的柱子上设置的摄像头。
[0069] 本申请实施例中,驾驶员监控系统(Driver Monitor System,DMS)的A柱摄像头采集操作对象的待识别视频,待识别视频中包含有连续的多个时间点的待识别图像,然后,将待识别视频传输至后台服务器中,后台服务器在接收到待识别视频之后,分别对目标摄像头采集的待识别视频中包含的各待识别图像进行人脸检测,确定各待识别图像中的包含有操作对象的人脸的人脸检测框,并基于确定出的人脸检测框,从待识别图像中截取包含有操作对象的人脸的人脸区域图像,并且,还能够获取到初步定位的操作对象的左眼关键点对应的坐标和右眼关键点对应的坐标。
[0070] 其中,本申请实施例中的操作对象例如可以为驾驶员,当操作对象为驾驶员时,每一个待识别图中包含有一个人脸区域图像。
[0071] 具体地,执行步骤100时,具体包括:
[0072] S1:获取目标摄像头采集的待识别视频。
[0073] 本申请实施例中,目标摄像头拍摄到操作对象的待识别视频,待识别视频中包含有连续多个时间点的待识别图像,并将拍摄到的待识别视频传输至后台服务器,进而后台服务器获取目标摄像头传输的待识别视频。
[0074] S2:分别针对待识别视频中包含的各待识别图像中的任意一待识别图像,基于已训练的人脸检测模型,以该待识别图像为输入参数,对该待识别图像进行人脸检测,确定操作对象的人脸在该待识别图像上的位置信息,并基于位置信息,获得包含有操作对象的人脸的人脸区域图像。
[0075] 其中,人脸检测模型为根据人脸区域图像样本集进行迭代训练获得的,人脸区域图像样本集中包含有多个人脸区域图像样本。
[0076] 本申请实施例中,分别针对待识别视频中包含的各待识别图像中的任意一待识别图像,将任意一个待识别图像输入至已训练的人脸检测模型中,确定操作对象在任意一个待识别图像上的位置,并获得操作对象的人脸在任意一个待识别图像上的位置信息,并基于确定出的位置信息,获得包含有操作对象人脸的人脸检测框,进而获得包含有操作对象的人脸的人脸区域图像。
[0077] 其中,人脸检测模型中的人脸检测算法是基于reinaface的。
[0078] 并且,人脸区域图像样本集中包含有多个人脸区域图像样本,多个人脸区域图像样本由DMS摄像头采集实际场景中的人脸区域图像样本进而获得的,人脸检测模型为根据人脸区域图像样本集进行迭代训练获得的,当人脸检测模型的损失函数最小化时,获得训练完成的人脸检测模型,人脸检测模型的损失函数采用CloU Loss,例如可以表示为:
[0079]
[0080] 其中,b表示预测人脸检测框的中心点,bgt表示真实人脸检测框的中心点,ρ表示预测人脸检测框的中心点和真实人脸检测框的中心点之间的欧式距离,c表示能够同时包含预测人脸检测框和真实人脸检测框的最小闭包区域的对角线距离。
[0081] μ是预测人脸检测框B和真实人脸检测框(groundtruth)G长宽比的距离:
[0082]
[0083] α是权重系数,具体可以表示为:
[0084]
[0085] 步骤110:分别针对各人脸区域图像中的任意一人脸区域图像执行以下步骤,获得每张人脸区域图像中操作对象的状态类别:确定该人脸区域图像中特定的两个像素点之间的连线,并通过计算连线与预设的标准水平连线之间的夹角,获得该人脸区域图像的偏转角度;基于偏转角度,对该人脸区域图像进行角度校正,获得角度校正后的人脸区域图像;识别角度校正后的人脸区域图像中操作对象的面部状态类别。
[0086] 本申请实施例中,当操作对象为驾驶员时,由于DMS的摄像头装在驾驶员的正前方时,会挡住驾驶员的行驶视线,并且,DMS的摄像头装在正前方方向盘时,会遮挡摄像头,导致不能更好地获取驾驶员的待识别视频,因此,DMS摄像头往往装在车辆左侧的A柱上,这样获取到的驾驶员的待识别视频中的人脸角度往往很大,导致人脸关键点定位精度不高,根据实际测量,当DMS摄像头安装在车辆A柱时,驾驶员直视前方时,其相对于A柱摄像头的角度达到右偏20°,并且,驾驶员不会一直很端正地坐着,这样会导致获取到的驾驶员的人脸会有一定的角度旋转,这个旋转角度又能够达到20°~30°。
[0087] 因此,为了解决这个问题,本申请实施例中先对人脸区域图像进行角度校正,具体地,分别针对各人脸区域图像,确定任意一个人脸区域图像中的特定的两个像素点之间的连线,并通过计算连线与预设的标准水平连线之间的夹角,确定该人脸区域图像的偏转角度,并根据确定出的偏转角度,对该人脸区域图像进行角度校正,将偏转的人脸区域图像转换为角度校正后的人脸区域图像,获得角度校正后的人脸区域图像,并识别角度校正后的人脸区域图像中操作对象的面部状态类别。
[0088] 本申请实施例中,提供了一种可能的实施方式,可以根据人脸区域图像中的左眼中心点和右眼中心点来确定出人脸区域图像的偏转角度,则在确定任意一个人脸区域图像的偏转角度时,具体包括:
[0089] S1:确定该人脸区域图像中的左眼中心点和右眼中心点之间的双眼连线。
[0090] 本申请实施例中,在获得任意一个人脸区域图像之后,以人脸区域图像的左下角为原点,建立二维坐标系,并在建立二维坐标系之后,确定任意一个人脸区域图像的左眼中心点的左眼中心点坐标和右眼中心点的右眼中心点坐标,并确定左眼中心点和右眼中心点之间的双眼连线。
[0091] 需要说明的是,在获得任意一个人脸区域图像时,同时还会获取到初步检测出的人脸关键点对应的坐标,即左眼中心点坐标和右眼中心点坐标。
[0092] S2:计算双眼连线与预设的水平双眼连线之间的夹角,并将夹角作为该人脸区域图像的偏转角度。
[0093] 本申请实施例中,在确定出左眼中心点和右眼中心点之间的连线之后,计算双眼连线与预设的水平双眼连线之间的夹角,并将确定出的夹角作为该人脸区域图像的偏转角度。
[0094] 例如,将左眼中心点和右眼中心点连接之后,获得双眼的中心点之间的连线,并确定出连线与在水平状态下的双眼的中心点的连线之间的夹角,这个夹角即为人脸区域图像的偏转角度,在具体实现时,可以通过左眼中心点坐标和右眼中心点坐标进而计算,假设左眼中心点坐标和右眼中心点坐标假设左眼中心点坐标为(Lx,Ly),右眼中心点坐标为(Rx,Ry),则偏转角度β例如可以表示为:
[0095] β=tan‑1(Ly‑Ry/Lx‑Rx)
[0096] 在获得偏转角度之后,就能够根据偏转角度,对人脸区域图像进行角度校正,下面对本申请实施例中基于偏转角度对人脸区域图像进行人脸校正的方式进行详细阐述,具体包括:
[0097] S1:以所述偏转角度为预设的仿射变换矩阵的参数,分别将该人脸区域图像中的各像素点对应的坐标与所述仿射变换矩阵相乘,获得校正后的各像素点的坐标。
[0098] 本申请实施例中,获取预设的仿射变换矩阵,并将计算获得的偏转角度作为仿射变换矩阵的参数,然后,将该人脸区域图像中的各像素点对应的坐标与以偏转角度为参数的仿射变换矩阵相乘,获得校正后的各像素点的坐标。
[0099] 下面对本申请实施例中获取预设的仿射变换矩阵的步骤进行详细阐述。
[0100] 假设绕坐标轴原点旋转,参阅图2所示,为本申请实施例中点旋转的示意图,由点(A,B)旋转到点(A1,B1)。
[0101] 根据三角函数公式可得:
[0102] 公式A:
[0103] 公式B:
[0104] 公式C:A2+B2=A12+B12
[0105] 由三角函数公式可得公式D,公式D具体可以表示为:
[0106]
[0107] 将公式D代入公式A和公式B,可得公式E,公式E具体可以表示为:
[0108]
[0109] 将公式E代入公式C,可得公式F,公式F具体可以表示为:
[0110] A12=(Acosβ‑Bsinβ)2
[0111] 将公式F代入公式C,可得公式G,公式G具体可以表示为:
[0112] B12=(Asinβ‑Bcosβ)2
[0113] 由公式F和公式G可得:
[0114]
[0115] 根据上述公式可得,仿射变换矩阵为:
[0116]
[0117] 以上只考虑理想情况,现将其推广到任意一个旋转中心(A0,B0),则:
[0118]
[0119] S2:基于校正后的各像素点的坐标,获得角度校正后的人脸区域图像。
[0120] 本申请实施例中,确定出各校正后的像素点之后,由于各校正后的像素点能够组成人脸区域图像,因此,获得角度校正后的人脸区域图像。
[0121] 在获得角度校正后的人脸区域图像之后,识别角度校正后的人脸区域图像中操作对象的面部状态类别,具体包括:
[0122] S1:基于已训练的人脸关键点检测模型,以角度校正后的人脸区域图像为输入参数,对角度校正后的人脸区域图像进行人脸关键点检测,获得角度校正后的人脸区域图像的各人脸关键点图像。
[0123] 本申请实施例中,在获得角度校正后的人脸区域图像之后,将角度校正后的人脸区域图像输入至已训练的人脸关键点检测模型中,对角度校正后的人脸区域图像进行人脸关键点检测,获得校正后的人脸区域图像的各人脸关键点,以及包含有各人脸关键点的图像。
[0124] S2:根据各人脸关键点图像中的特定的人脸关键点图像,识别操作对象的面部状态类别。
[0125] 本申请实施例中,基于各人脸关键点图像中的特定的人脸关键点图像,识别操作对象的面部状态类别。
[0126] 例如,可以根据左眼关键点图像和右眼关键点图像识别操作对象的面部状态类别。
[0127] 又例如,可以根据嘴巴关键点图像识别操作对象的面部状态类别。
[0128] 下面分别对基于左眼关键点图像和右眼关键点图像,以及基于嘴巴关键点图像是被操作对象的面部状态类别的步骤进行详细阐述。
[0129] 若特定的人脸关键点图像为左眼关键点图像和右眼关键点图像,则具体包括:
[0130] A1:基于已训练的第一识别模型,以左眼关键点图像和右眼关键点图像为输入参数,确定左眼关键点图像的左眼状态类别,并确定右眼关键点图像的右眼状态类别。
[0131] 本申请实施例中,第一状态识别模型例如可以为二分类模型,基于已训练的第一状态识别模型,以左眼关键点图像为输入参数,确定左眼关键点图像的左眼状态类别为睁眼或闭眼,并以右眼关键点图像为输入参数,确定右眼关键点图像的右眼状态类别为睁眼或闭眼。
[0132] 其中,左眼状态类别例如可以为睁眼和闭眼,右眼状态类别例如可以为睁眼和闭眼,左眼关键点图像表征包含有操作对象的左眼的图像,右眼关键点图标表征包含有操作对象的右眼的图像。
[0133] A2:根据左眼状态类别和右眼状态类别,确定操作对象的面部状态类别。
[0134] 本申请实施例中,可以根据左眼状态类别和右眼状态类别确定操作对象的面部状态类别。
[0135] 例如,假设角度校正后的人脸区域图像中,左眼状态类别为闭眼,且右眼状态类别为闭眼,则确定角度校正后的人脸区域图像中操作对象的面部状态类别为疲劳状态类别。
[0136] 又例如,假设角度校正后的人脸区域图像中,左眼状态类别为闭眼,且右眼状态类别为睁眼,则确定角度校正后的人脸区域图像中操作对象的面部状态类别为未疲劳状态类别。
[0137] 若特定的人脸关键点图像为嘴巴关键点图像,则具体包括:
[0138] A1:基于已训练的第二识别模型,以嘴巴关键点图像为输入参数,确定所述嘴巴关键点图像的嘴巴状态类别。
[0139] 本申请实施例中,基于已训练的第二状态识别模型,将嘴巴关键点图像输入至已训练的第二状态识别模型中,确定嘴巴关键点图像的嘴巴状态类别。
[0140] 其中,嘴巴状态类别例如可以为打哈欠和未张开。
[0141] 进一步地,本申请实施例中,还可以通过计算嘴巴关键点图像的外接矩形框的高度,进而确定嘴巴关键点图像的嘴巴状态类别。
[0142] 例如,当驾驶员在打哈欠时嘴巴会张的很大,而驾驶员未在打哈欠时嘴巴是闭着的,则当驾驶员在打哈欠时,嘴巴关键点图像的外接矩形框的高度值会很大,而驾驶员未在打哈欠时,嘴巴关键点图像的外接矩形框的高度值会很小,因此,可以设置高度值阈值,当外接矩形框的高度值大于预设高度值阈值时,则确定嘴巴关键点图像的嘴巴状态类别为打哈欠,当外接矩形框的高度值小于等于预设高度值阈值时,则确定嘴巴关键点图像的嘴巴状态类别为未张开。
[0143] A2:根据嘴巴状态类别,确定操作对象的面部状态类别。
[0144] 例如,假设角度校正后的人脸区域图像的嘴巴状态类别为张开,则确定校正后的人脸区域图像中操作对象的面部状态类别为疲劳状态类别。
[0145] 又例如,假设角度校正后的人脸区域图像的嘴巴状态类别为未张开,则确定校正后的人脸区域图像中操作对象的面部状态类别为未疲劳状态类别。
[0146] 步骤120:根据各人脸区域图像中操作对象的面部状态类别,确定待识别视频中的操作对象是否处于疲劳状态。
[0147] 本申请实施例中,执行步骤120时,具体包括:
[0148] 若确定连续N个人脸区域图像中操作对象的面部状态类别为疲劳状态类别,则确定待识别视频中的操作对象处于疲劳状态。
[0149] 其中,N大于等于预设阈值,并N为正整数。
[0150] 本申请实施例中,若确定连续预设多个人脸区域图像中,操作对象的面部状态类别为疲劳,则确定待识别视频中的操作对象处于疲劳状态。
[0151] 进一步地,在确定出操作对象为疲劳状态之后,生成告警指令,并将告警指令发送至车载控制设备,进而车载控制设备根据告警指令进行车内语音预警,提示操作对象安全驾驶,注意休息,若后台服务器持续确定出操作对象处于疲劳状态,则认为调取车内摄像头,强制司机寻找安全地方休息,这样,报警机制采用语音报警和后台认为强制干预方式,能够大大减少因操作对象疲劳造成的意外事故。
[0152] 本申请实施例中,分别对目标摄像头采集的待识别视频中包含的各待识别图像进行人脸检测,获得包含有操作对象的人脸的各人脸区域图像,分别针对各人脸区域图像中的任意一人脸区域图像执行以下步骤,获得每张人脸区域图像中操作对象的状态类别:确定该人脸区域图像中特定的两个像素点之间的连线,并通过计算连线与预设的标准水平连线之间的夹角,获得该人脸区域图像的偏转角度,基于偏转角度,对人脸区域图像进行角度校正,获得角度校正后的人脸区域图像,识别角度校正后的人脸区域图像中操作对象的面部状态类别,根据各人脸区域图像中操作对象的面部状态类别,确定待识别视频中的操作对象是否处于疲劳状态,这样,根据左眼中心点和右眼中心点,获取人脸区域图像的偏转角度,并基于偏转角度,对人脸区域图像进行人脸角度校正,这样,角度校正后人脸关键点检测精度能够显著提高,能够更加精确地获取左眼关键点图像、右眼关键点图像和嘴巴关键点图像,从而能够提高在大角度下操作对象的状态识别的精度。
[0153] 基于上述实施例,参阅图3所示,为本申请实施例中一种操作对象状态识别方法的另一流程图,具体包括:
[0154] 步骤300:DMS摄像头获取包含有驾驶员人脸的待识别视频。
[0155] 步骤301:分别对DMS摄像头采集的待识别视频中包含的各待识别图像进行人脸检测。
[0156] 步骤302:判断是否检测到驾驶员的人脸,若是,则执行步骤303,若否,则重新执行步骤300。
[0157] 步骤303:对检测到的包含有人脸的人脸区域图像进行角度校正,获得角度校正后的人脸区域图像。
[0158] 本申请实施例中,确定人脸区域图像中特定的两个像素点之间的连线,通过计算所述连线与预设的标准水平连线之间的夹角,获得该人脸区域图像的偏转角度,基于偏转角度,对人脸区域图像进行角度校正,获得角度校正后的人脸区域图像。
[0159] 步骤304:人脸关键点检测。
[0160] 本申请实施例中,基于已训练的人脸关键点检测模型,以角度校正后的人脸区域图像为输入参数,对角度校正后的人脸区域图像进行人脸关键点检测,获得角度校正后的人脸区域图像的各人脸关键点图像。
[0161] 步骤305:获取各人脸关键点图像中的左眼关键点图像,右眼关键点图像和嘴巴关键点图像。
[0162] 步骤306:根据左眼关键点图像,右眼关键点图像和嘴巴关键点图像,识别驾驶员的面部状态类别。
[0163] 步骤307:判断待识别视频中的驾驶员是否处于疲劳状态,若是,则执行步骤308,若否,则执行步骤311。
[0164] 本申请实施例中,根据各人脸区域图像中驾驶员的面部状态类别,判断待识别视频中的驾驶员是否处于疲劳状态。
[0165] 步骤308:语音报警提醒。
[0166] 步骤309:TSP后台持续受到报警信息。
[0167] 步骤310:调取车内摄像头并与驾驶员进行语音对话。
[0168] 本申请实施例中,调取车内摄像头,并进行语音对话,强制驾驶员寻找安全地方休息。
[0169] 步骤311:结束。
[0170] 本申请实施例中,通过对人脸区域图像进行角度校正,能够提高人脸关键点定位精度,从而可以获取精确的左眼位置、右眼位置和嘴巴位置,有助于对驾驶员疲劳状态进行实时检测,减少因司机疲劳造成的意外事故。
[0171] 基于同一发明构思,本申请实施例中还提供了一种操作对象状态识别装置,该操作对象状态识别装置可以是硬件结构、软件模块、或硬件结构加软件模块。基于上述实施例,参阅图4所示为本申请实施例中操作对象状态识别装置的结构示意图,具体包括:
[0172] 检测模块400,用于分别对目标摄像头采集的待识别视频中包含的各待识别图像进行人脸检测,获得包含有操作对象的人脸的各人脸区域图像,其中,所述目标摄像头表征车辆的前挡风玻璃与前车门之间的柱子上设置的摄像头;
[0173] 处理模块410,用于分别针对所述各人脸区域图像中的任意一人脸区域图像执行以下步骤,获得每张人脸区域图像中操作对象的状态类别:确定该人脸区域图像中特定的两个像素点之间的连线,并通过计算所述连线与预设的标准水平连线之间的夹角,获得该人脸区域图像的偏转角度;基于所述偏转角度,对该人脸区域图像进行角度校正,获得角度校正后的人脸区域图像;识别所述角度校正后的人脸区域图像中操作对象的面部状态类别;
[0174] 确定模块420,用于根据所述各人脸区域图像中操作对象的面部状态类别,确定所述待识别视频中的操作对象是否处于疲劳状态。
[0175] 可选的,获得包含有操作对象的人脸的各人脸区域图像时,检测模块400具体用于:
[0176] 获取目标摄像头采集的待识别视频;
[0177] 分别针对所述待识别视频中包含的各待识别图像中的任意一待识别图像,基于已训练的人脸检测模型,以该待识别图像为输入参数,对该待识别图像进行人脸检测,确定所述操作对象的人脸在该待识别图像上的位置信息,并基于所述位置信息,获得包含有所述操作对象的人脸的人脸区域图像,其中,所述人脸检测模型为根据人脸区域图像样本集进行迭代训练获得的,所述人脸区域图像样本集中包含有多个人脸区域图像样本。
[0178] 可选的,若特定的两个像素点分别为左眼中心点和右眼中心点,则确定该人脸区域图像中特定的两个像素点之间的连线,并通过计算所述连线与预设的标准水平连线之间的夹角,获得该人脸区域图像的偏转角度时,处理模块410具体用于:
[0179] 确定该人脸区域图像中的左眼中心点和右眼中心点之间的双眼连线;
[0180] 计算所述双眼连线与预设的水平双眼连线之间的夹角,并将所述夹角作为该人脸区域图像的偏转角度。
[0181] 可选的,基于所述偏转角度,对该人脸区域图像进行角度校正,获得角度校正后的人脸区域图像时,处理模块410具体用于:
[0182] 以所述偏转角度为预设的仿射变换矩阵的参数,分别将该人脸区域图像中的各像素点对应的坐标与所述仿射变换矩阵相乘,获得校正后的各像素点的坐标;
[0183] 基于所述校正后的各像素点的坐标,获得角度校正后的人脸区域图像。
[0184] 可选的,识别角度校正后的人脸区域图像中操作对象的面部状态类别时,处理模块410具体用于:
[0185] 基于已训练的人脸关键点检测模型,以角度校正后的人脸区域图像为输入参数,对所述角度校正后的人脸区域图像进行人脸关键点检测,获得所述角度校正后的人脸区域图像的各人脸关键点图像;
[0186] 根据所述各人脸关键点图像中的特定的人脸关键点图像,识别所述操作对象的面部状态类别。
[0187] 可选的,若特定的人脸关键点图像为左眼关键点图像和右眼关键点图像,则根据所述各人脸关键点图像中的特定的人脸关键点图像,识别所述操作对象的面部状态类别时,处理模块410具体用于:
[0188] 基于已训练的第一识别模型,以所述左眼关键点图像和所述右眼关键点图像为输入参数,确定所述左眼关键点图像的左眼状态类别,并确定所述右眼关键点图像的右眼状态类别;
[0189] 根据所述左眼状态类别和所述右眼状态类别,确定所述操作对象的面部状态类别。
[0190] 可选的,若特定的人脸关键点图像为嘴巴关键点图像,则根据所述各人脸关键点图像中的特定的人脸关键点图像,识别所述操作对象的面部状态类别,处理模块410具体用于:
[0191] 基于已训练的第二识别模型,以所述嘴巴关键点图像为输入参数,确定所述嘴巴关键点图像的嘴巴状态类别;
[0192] 根据所述嘴巴状态类别,确定所述操作对象的面部状态类别。
[0193] 可选的,若所述面部状态类别为疲劳状态类别和未疲劳状态类别,则确定模块420具体用于:
[0194] 若确定连续N个人脸区域图像中操作对象的面部状态类别为疲劳状态类别,则确定所述待识别视频中的操作对象处于疲劳状态,其中,所述N大于等于预设阈值,并N为正整数。
[0195] 基于上述实施例,参阅图5所示为本申请实施例中电子设备的结构示意图。
[0196] 本申请实施例提供了一种电子设备,该电子设备可以包括处理器510(Center Processing Unit,CPU)、存储器520、输入设备530和输出设备540等,输入设备530可以包括键盘、鼠标、触摸屏等,输出设备540可以包括显示设备,如液晶显示器(Liquid Crystal Display,LCD)、阴极射线管(Cathode Ray Tube,CRT)等。
[0197] 存储器520可以包括只读存储器(ROM)和随机存取存储器(RAM),并向处理器510提供存储器520中存储的程序指令和数据。在本申请实施例中,存储器520可以用于存储本申请实施例中任一种操作对象状态识别方法的程序。
[0198] 处理器510通过调用存储器520存储的程序指令,处理器510用于按照获得的程序指令执行本申请实施例中任一种操作对象状态识别方法。
[0199] 基于上述实施例,本申请实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现上述任意方法实施例中的操作对象状态识别方法。
[0200] 本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD‑ROM、光学存储器等)上实施的计算机程序产品的形式。
[0201] 本申请是参照根据本申请的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
[0202] 这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
[0203] 这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
[0204] 显然,本领域的技术人员可以对本申请进行各种改动和变型而不脱离本申请的精神和范围。这样,倘若本申请的这些修改和变型属于本申请权利要求及其等同技术的范围之内,则本申请也意图包含这些改动和变型在内。