CN109460704B - 一种基于深度学习的疲劳检测方法、系统和计算机设备 - Google Patents

一种基于深度学习的疲劳检测方法、系统和计算机设备 Download PDF

Info

Publication number
CN109460704B
CN109460704B CN201811087559.7A CN201811087559A CN109460704B CN 109460704 B CN109460704 B CN 109460704B CN 201811087559 A CN201811087559 A CN 201811087559A CN 109460704 B CN109460704 B CN 109460704B
Authority
CN
China
Prior art keywords
eye
face
position information
deep learning
learning model
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.)
Active
Application number
CN201811087559.7A
Other languages
English (en)
Other versions
CN109460704A (zh
Inventor
袁嘉言
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Xiamen Ruiwei Information Technology Co ltd
Original Assignee
Xiamen Ruiwei Information Technology Co ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Xiamen Ruiwei Information Technology Co ltd filed Critical Xiamen Ruiwei Information Technology Co ltd
Priority to CN201811087559.7A priority Critical patent/CN109460704B/zh
Publication of CN109460704A publication Critical patent/CN109460704A/zh
Application granted granted Critical
Publication of CN109460704B publication Critical patent/CN109460704B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V20/00Scenes; Scene-specific elements
    • G06V20/50Context or environment of the image
    • G06V20/59Context or environment of the image inside of a vehicle, e.g. relating to seat occupancy, driver state or inner lighting conditions
    • G06V20/597Recognising the driver's state or behaviour, e.g. attention or drowsiness
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/045Combinations of networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V20/00Scenes; Scene-specific elements
    • G06V20/40Scenes; Scene-specific elements in video content
    • G06V20/41Higher-level, semantic clustering, classification or understanding of video scenes, e.g. detection, labelling or Markovian modelling of sport events or news items
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V40/00Recognition of biometric, human-related or animal-related patterns in image or video data
    • G06V40/10Human or animal bodies, e.g. vehicle occupants or pedestrians; Body parts, e.g. hands
    • G06V40/16Human faces, e.g. facial parts, sketches or expressions
    • G06V40/161Detection; Localisation; Normalisation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V40/00Recognition of biometric, human-related or animal-related patterns in image or video data
    • G06V40/10Human or animal bodies, e.g. vehicle occupants or pedestrians; Body parts, e.g. hands
    • G06V40/16Human faces, e.g. facial parts, sketches or expressions
    • G06V40/168Feature extraction; Face representation
    • G06V40/171Local features and components; Facial parts ; Occluding parts, e.g. glasses; Geometrical relationships

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Health & Medical Sciences (AREA)
  • General Physics & Mathematics (AREA)
  • General Health & Medical Sciences (AREA)
  • Multimedia (AREA)
  • Oral & Maxillofacial Surgery (AREA)
  • Computational Linguistics (AREA)
  • Software Systems (AREA)
  • Biomedical Technology (AREA)
  • Molecular Biology (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Evolutionary Computation (AREA)
  • Mathematical Physics (AREA)
  • Data Mining & Analysis (AREA)
  • Biophysics (AREA)
  • Artificial Intelligence (AREA)
  • Human Computer Interaction (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Image Analysis (AREA)

Abstract

本发明公开了一种基于深度学习的疲劳检测方法、系统和计算机设备,方法包括:获取当前帧视频流图片;通过基于第一深度学习模型的人脸跟踪算法提取当前帧视频流图片的人脸位置信息和人眼位置信息;所述人脸位置信息包括人脸框的位置信息;所述人眼位置信息包括每只眼睛左右两个眼角的特征点位置信息;基于所述人眼位置信息,通过基于第二深度学习模型的眼睛状态识别算法提取眼睛上下边缘特征点landmark的位置信息;根据眼睛上下边缘特征点landmark的位置信息计算眼睛张开程度,判断出疲劳状态。本发明能够快速跟踪到人脸位置及提取提取眼睛上下边缘特征点,且识别精度更高,从而快速准确地检测出疲劳状态。

Description

一种基于深度学习的疲劳检测方法、系统和计算机设备
技术领域
本发明涉及汽车驾驶辅助终端领域,具体涉及一种基于深度学习的疲劳检测方法、系统和计算机设备。
背景技术
随着社会的快速发展,道路上交通车辆呈现井喷式增长,交通事故也频繁发生。发生交通事故最主要的原因是司机疲劳驾驶,在行车过程中反应过慢。所以,实时检测司机开车时的疲劳状态是非常重要的,及时的提醒司机往往能够大大减少交通事故的发生。目前疲劳检测的方法也是多种多样的,就视觉识别方法来说有以下几种:
(1)纯图像算法处理的疲劳检测算法:adaboost人脸检测算法检测人脸;对人脸区域进行水平投影和垂直投影定位人眼;根据大津法取阈值二值化眼睛区域;最后,通过二值化之后的图像判断眼睛的是张开还是闭合。优点:速度很快,在良好的光照条件有比较好的识别效果;缺点:无法适应复杂的光照条件,所以应用场景单一。
(2)传统的机器学习疲劳检测算法:利用adaboost或者JDA算法进行人脸检测,然后使用LBP特征进行人脸特征点定位并且跟踪,跟踪人脸特征点可以找到人眼位置,将人眼区域输进去支持向量机里面分类判断疲劳状态。优点:速度也是较快,模型鲁棒性增强;缺点:无法区分眼睛张开程度,对于小眼睛情况全部认为是闭眼。
(3)深度学习的疲劳检测算法:利用MTCNN检测人脸,同时利用MTCNN输出的人脸特征点定位眼睛,将定位出来的眼睛输入深度学习模型通过直接分类判断疲劳。优点是:人脸定位准确,疲劳分类准确;缺点:MTCNN人脸检测速度比较慢,分类结果不能实时反映眼睛张开状态。
发明内容
本发明的主要目的在于提出一种基于深度学习的疲劳检测方法、系统和计算机设备,能够使得识别速度更快,识别效果更好。
本发明采用如下技术方案:
一方面,本发明提供一种基于深度学习的疲劳检测方法,包括:
获取当前帧视频流图片;
通过基于第一深度学习模型的人脸跟踪算法提取当前帧视频流图片的人脸位置信息和人眼位置信息;
基于所述人眼位置信息,通过基于第二深度学习模型的眼睛状态识别算法提取眼睛上下边缘特征点landmark的位置信息;所述人脸位置信息包括人脸框的位置信息;所述人眼位置信息包括每只眼睛左右两个眼角的特征点位置信息;
根据眼睛上下边缘特征点landmark的位置信息计算眼睛张开程度,判断出疲劳状态。
优选的,所述通过基于第一深度学习模型的人脸跟踪算法获得当前帧视频流图片的人脸位置信息和人眼位置信息,具体包括:
步骤a1,判断当前帧视频流图片的前一帧是否检测有检测到人脸;如果没有,使用MTCNN算法检测当前帧视频流图片的人脸位置并保存,不再执行其他步骤;否则,执行步骤a2;
步骤a2,将前一帧检测到的人脸位置扩大预设倍数后作为当前帧人脸框图并归一化到指定尺寸;
步骤a3,通过第一深度学习模型识别出当前帧人脸框图是否包括人脸;如果包括,执行步骤a4;
步骤a4,通过第一深度学习模型提取当前帧人脸框图的人脸位置信息;并通过第一深度学习模型提取当前帧人脸框图的人眼位置信息。
优选的,所述第一深度学习模型输出3个全连层,分别为fc1、fc2和fc3;其中,fc1全连接层输出2个神经元用于人脸分类,fc2输出4个神经元用于人脸框位置提取,fc3输出8个神经元用于人眼位置提取。
优选的,所述第一深度学习模型的损失函数如下:
L=L1+L2+L3
L1表示人脸分类使用的交叉熵损失函数,表示如下:
Figure GDA0002516354480000021
其中,yi表示分类0或者1的标签,0表示不是人脸,1表示为人脸;pi表示模型预测的概率值;n表示损失函数L1的分类个数,n=2,包括0和1两个分类;
L2表示人脸框位置提取使用的欧式损失函数,表示如下:
Figure GDA0002516354480000022
其中,
Figure GDA0002516354480000023
Figure GDA0002516354480000024
分别表示当前预测人脸框的4个值与当前人脸框标签的4个值;m表示损失函数L2的回归个数,回归人脸框有四个值,m=4;
L3表示人眼位置提取使用的欧式损失函数,表示如下:
Figure GDA0002516354480000031
其中,
Figure GDA0002516354480000032
Figure GDA0002516354480000033
分别表示当前预测人眼位置点的8个值与当前人眼位置点标签的8个值;l表示损失函数L3的回归个数,人眼有8个特征点,需要回归16个值,l=16。
优选的,所述通过基于第二深度学习模型的眼睛状态识别算法提取眼睛上下边缘特征点landmark的位置信息,具体包括:
步骤b1,基于提取的人眼位置,以左右两个眼角特征点间的距离为眼睛尺寸,将一只眼睛的中心扩大预设倍数后作为当前帧人眼框图并归一化到指定尺寸;
步骤b2,通过第二深度学习模型识别出当前帧人眼框图是否包括人眼;如果包括,执行步骤b3;
步骤b3,通过第二深度学习模型提取当前帧人眼框图的眼睛上下边缘特征点landmark的位置信息;其中,眼睛上下边缘特征点landmark包括左右两个眼角的特征点、上眼睑边缘特征点和下眼睑边缘特征点;所述上眼睑和下眼睑的边缘特征点点数相同且呈对称分布。
优选的,所述第二深度学习模型输出2个全连层,分别为fc4和fc5;其中,fc4全连接层输出2个神经元用于人眼分类;fc5输出预设个神经元用于眼睛上下边缘特征点landmark位置提取。
优选的,所述第二深度学习模型的损失函数如下:
L_eye=L1_eye+L2_eye
L1_eye表示人眼分类使用的交叉熵损失函数,表示如下:
Figure GDA0002516354480000034
其中,yi_eye表示分类0、1或-1的标签,0表示不是人眼,1表示是人眼,-1表示部分人眼;pi_eye表示模型预测的概率值;n_eye表示损失函数L1_eye的分类个数,n_eye=3,包括0、1和-1三个分类;
L2_eye表示眼睛上下边缘特征点landmark位置提取使用的欧式损失函数,表示如下:
Figure GDA0002516354480000035
其中,
Figure GDA0002516354480000036
Figure GDA0002516354480000037
分别表示当前预测眼睛上下边缘特征点landmark的若干个值与当前眼睛上下边缘特征点landmark标签的若干个值;m_eye表示预设的眼睛上下边缘特征点landmark个数。
优选的,所述根据眼睛上下边缘特征点landmark的位置信息计算眼睛张开程度,判断出疲劳状态,具体包括:
根据眼睛上下边缘特征点landmark的位置信息计算眼睛张开程度;
根据眼睛张开程度,使用Perclos中P80准则判断司机是否疲劳。
第二方面,本发明提供一种基于深度学习的疲劳检测系统,包括:
图片获取模块,用于获取当前帧视频流图片;
人脸跟踪及位置提取模块,用于通过基于第一深度学习模型的人脸跟踪算法提取当前帧视频流图片的人脸位置信息和人眼位置信息;所述人脸位置信息包括人脸框的位置信息;所述人眼位置信息包括每只眼睛左右两个眼角的特征点位置信息;
人眼特征点提取模块,用于基于所述人眼位置信息,通过基于第二深度学习模型的眼睛状态识别算法提取眼睛上下边缘特征点landmark的位置信息;
疲劳分析模块,用于根据眼睛上下边缘特征点landmark的位置信息计算眼睛张开程度,判断出当前帧是否为疲劳状态。
第三方面,本发明提供一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,其特征在于,所述处理器执行所述计算机程序时实现所述的疲劳检测方法。
与现有技术相比,本发明的有益效果如下:
(1)本发明一种基于深度学习的疲劳检测方法、系统和计算机设备,能够在嵌入式RAM平台上实现疲劳状态检测,且在白天复杂环境或者黑夜不同光线下有很高的识别率;
(2)本发明一种基于深度学习的疲劳检测方法、系统和计算机设备,基于第一深度学习模型对MTCNN检测到的人脸进行快速跟踪,跟踪目的是提高每帧人脸检测速度,同时输出跟踪获得当前帧的人脸位置和人眼位置;
(3)本发明一种基于深度学习的疲劳检测方法、系统和计算机设备,基于第二深度学习模型输出眼睛图像的分数(是否眼睛)以及眼睛上下边缘特征点landmark的位置,通过眼睛分数和landmark计算眼睛张开程度;并根据眼睛张开程度,使用Perclos中P80准则判断司机是否疲劳。
上述说明仅是本发明技术方案的概述,为了能够更清楚地了解本发明的技术手段,从而可依照说明书的内容予以实施,并且为了让本发明的上述和其他目的、特征和优点能够更明显易懂,以下列举本发明的具体实施方式。
根据下文结合附图对本发明具体实施例的详细描述,本领域技术人员将会更加明了本发明的上述及其他目的、优点和特征。
附图说明
图1为本发明实施例的基于深度学习的疲劳检测方法的流程图;
图2为本发明实施例的基于深度学习的疲劳检测方法前向预测的整体流程图;
图3为本发明实施例的第一深度学习模型的训练流程图;
图4为本发明实施例的第一深度学习模型训练数据标注图;
图5为本发明实施例的第二深度学习模型的训练流程图;
图6为本发明实施例的第二深度学习模型训练数据标注图;
图7为本发明实施例的基于深度学习的疲劳检测系统结构框图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明实施方式作进一步的详细描述。
参见图1所示,本实施例一种基于深度学习的疲劳检测方法,包括:
S101,获取当前帧视频流图片;
S102,通过基于第一深度学习模型的人脸跟踪算法提取当前帧视频流图片的人脸位置信息和人眼位置信息;所述人脸位置信息包括人脸框的位置信息;所述人眼位置信息包括每只眼睛左右两个眼角的特征点位置信息;
S103,基于所述人眼位置信息,通过基于第二深度学习模型的眼睛状态识别算法提取眼睛上下边缘特征点landmark的位置信息;
S104,根据眼睛上下边缘特征点landmark的位置信息计算眼睛张开程度,判断出疲劳状态。
具体的,参见图2所示,基于深度学习的疲劳检测方法具体包括:
S201,获取当前帧视频流图片。
S202,判断当前帧图片的前一帧是否检测到人脸。
S203,如果前一帧没有检测到人脸,使用MTCNN算法全图检测人脸,并且保存当前帧人脸位置,不做后面疲劳检测处理;所述MTCNN算法使用现有的算法,本实施例不做具体描述。
步骤204,如果当前帧的前一帧已经检测到人脸,将之前检测到的人脸位置扩大1.5倍并且尺寸归一化到64*64,使用第一深度学习模型进行跟踪,快速输出新的人脸位置,如果跟踪到人脸,保存下当前人脸位置信息和人眼位置信息。参见图4所示,所述人脸位置信息包括人脸框的位置信息;所述人眼位置信息包括每只眼睛左右两个眼角的特征点位置信息。
步骤205,根据获得的每只眼睛左右两个眼角的特征点位置信息,以一只眼睛左右两个眼角的特征点距离为眼睛的尺寸,将以一只眼睛的中心扩大1.5倍并且尺寸归一化到64*64的正方形作为眼睛的区域。
步骤206,将提取的眼睛区域输入第二深度学习模型预测,输出当前的区域是否是眼睛分数,如果不是眼睛则不做疲劳检测,如果是眼睛则根据预测的眼睛上下边缘特征点landmark位置计算人眼张开程度。
具体的,是否是眼睛的分类结果是通过眼睛分数来体现的,因此,只有第二深度学习模型识别出的眼睛分数达到一定的值后才认为识别到了眼睛。
参见图6所示,眼睛上下边缘特征点landmark包括左右两个眼角的特征点、上眼睑边缘特征点和下眼睑边缘特征点;所述上眼睑和下眼睑的边缘特征点点数相同且呈对称分布。具体的,可以根据对称的上眼睑特征点和下眼睑的边缘特征点做距离计算来判断人眼张开程度。当结果距离大时则认为张开,当结果距离很小则认为闭合,判断张开和闭合的阈值可以由实际测试获得。
步骤207,根据Perclos中P80的准则判断司机是否疲劳,统计2.5s内司机眼睛瞳孔超过80%被遮住的帧数占总帧数的比例是否大于0.4;如果大于,则认为疲劳;否则,判断为不疲劳。
进一步的,参见图3所示,所述第一深度学习模型的训练流程包括:
S301,收集人脸图片并标注人脸框和左右两个眼角的特征点。
具体的,收集各种应用场景(白天,夜晚,强光,暗光,逆光和正常光照)的人脸红外图片,并且标注人脸框位置face(x,y,w,h)和每只左右两个眼角的特征点,标注标准如4所示。其中,人脸框为正方形,人脸框用于跟踪,左右两个眼角的特征点用于定位眼睛位置。
S302,样本和标签的预处理。
具体的,在视频流中不同帧之间人脸位置会发生改变,如果帧率快的话人脸上下左右变化偏移量的不大可以使用跟踪算法修正人脸位置以及预测左右两个眼角的特征点位置。以人脸中心区域扩大人脸的1.5倍作为标准框,然后以标准框为基准类似训练MTCNN数据生成方式一样随机生成正负样本。最终处理出来的图片尺寸归一化到64*64,标签分为3部分,分类标签0或者1,目标框回归标签为scale_x,scale_y,scale_w,scale_h(其中,scale_x表示人脸框左上角点的x坐标,scale_y表示人脸框左上角点的y坐标,scale_w表示人脸框左上角点向右的宽度大小,scale_h表示人脸框左上角点向下的高度发小),两只眼睛左右两个眼角的特征点的定位标签为scale_point1_x,scale_point1_y,scale_point2_x,scale_point2_y,scale_point3_x,scale_point3_y,scale_point4_x,scale_point4_y,分别表示两只眼睛左右两个眼角的特征点的x和y坐标值。带scale标识的是经过编码过后的标签,具体的处理方式可以参考MTCNN的数据处理方式。
S303,样本的训练。
本实施例所使用的第一深度学习网络基本架构是基于lightcnn架构作精简的,网络输入大小是64*64。图片经过网络提取特征后输出为3个全连层fc1、fc2和fc3,fc1输出2个神经元用于人脸分类,fc2输出4个神经元用于人脸框位置提取,fc3输出8个神经元用于两只眼睛左右两个眼角的特征点的提取。
训练时,人脸分类使用交叉熵损失函数计算,表示如下:
Figure GDA0002516354480000071
其中,yi表示分类0或者1的标签,0表示不是人脸,1表示为人脸;pi是网络预测出来fc1经过caffe框架softmax层计算后输出的概率值;n表示损失函数L1的分类个数,n=2,包括0和1两个分类。
人脸框框位置提取的损失使用欧式损失函数计算,表示如下:
Figure GDA0002516354480000072
其中,
Figure GDA0002516354480000073
Figure GDA0002516354480000074
分别表示当前预测人脸框的4个值与当前人脸框标签的4个值;m表示损失函数L2的回归个数,回归人脸框有四个值,m=4。
两只眼睛左右两个眼角的特征点的提取也是使用欧式函数计算,表示如下:
Figure GDA0002516354480000075
其中,
Figure GDA0002516354480000076
Figure GDA0002516354480000077
分别表示当前预测人眼位置点的8个值与当前人眼位置点标签的8个值;l表示损失函数L3的回归个数,人眼有8个特征点,需要回归16个值,l=16。
最终整个网络的损失函数:L=L1+L2+L3,学习网络参数目的是使网络输出与标签之间的总损失L达到最小。
进一步的,参见图5所示,所述第二深度学习模型的训练流程包括:
S501,收集眼睛图片并标注眼睛上下边缘特征点landmark。
具体的,以1:1的比例收集张开眼睛和闭合眼睛的图片,为了增加泛化能力,需要收集各种光照环境的图片。
参见图6所示,本实施例之中,眼睛上下边缘特征点landmark标注的方式是人眼8点信息(当然也可以更多或更少个点,但上眼睑和下眼睑的边缘特征点点数需相同且呈对称分布,且必须包括人眼左右两个角点),并且以人眼左右两个角点为基准,计算这两点的距离然后以人眼中心扩大1.5倍的框当做人眼框eye(x,y,w,h);
S502,样本和标签的预处理。
具体的,样本和标签的预处理训练样本的生成方式与训练MTCNN中训练Onet的方式相似,使用Onet样本生成的方式主要为了进行样本增强。具体为在摄像头拍摄到的图片上随机生成一定大小的候选区域roi,当候选区域与人眼眶区域的IOU>0.65认为是正样本,IOU<0.3认为是负样本,0.4<=IOU<=0.65认为是部分样本。正样本的分类标签为1表示是眼睛,负样本的分类标签为0表示不是眼睛,部分样本的标签为-1表示部分眼睛;其中正样本和部分样本的8点特征点标签为:scale_point1_x,scale_point1_y,scale_point2_x,scale_point2_y,scale_point3_x,scale_point3_y,scale_point4_x,scale_point4_y,scale_point5_x,scale_point5_y,scale_point6_x,scale_point6_y,scale_point7_x,scale_point7_y,scale_point8_x,scale_point8_y,分别图6中8个特征点的x和y坐标值。带scale标识的是经过编码过后的标签,具体的处理方式可以参考MTCNN的数据处理方式。
S503,样本的训练。
具体的,本实施例所使用的第二深度学习网络基本架构也是基于lightcnn架构作精简的,网络的输入是64*64,其中,fc4全连接层输出2个神经元用于人眼分类;fc5输出预设个神经元用于眼睛上下边缘特征点landmark位置提取。
L1_eye表示人眼分类使用的交叉熵损失函数,表示如下:
Figure GDA0002516354480000081
其中,yi_eye表示分类0、1或-1的标签,0表示不是人眼,1表示是人眼,-1表示部分人眼;pi_eye表示模型预测的概率值。需要说明的是,-1的标签仅用于样本处理时做标注,样本训练时并不作为分类结果输出,即fc4全连接层输出2个神经元的分类结果为0和1,0表示不是人眼,1表示是人眼;n_eye表示损失函数L1_eye的分类个数,n_eye=3,包括0、1和-1三个分类。
L2_eye表示眼睛上下边缘特征点landmark位置提取使用的欧式损失函数,表示如下:
Figure GDA0002516354480000091
其中,
Figure GDA0002516354480000092
Figure GDA0002516354480000093
分别表示当前预测眼睛上下边缘特征点landmark的若干个值与当前眼睛上下边缘特征点landmark标签的若干个值;m_eye表示预设的眼睛上下边缘特征点landmark个数。
最终整个网络的损失函数:L_eye=L1_eye+L2_eye,学习网络参数目的是使网络输出与标签之间的总损失L_eye达到最小。
参见图7所示,本实施例一种基于深度学习的疲劳检测系统,包括:
图片获取模块701,用于获取当前帧视频流图片;
人脸跟踪及位置提取模块702,用于通过基于第一深度学习模型的人脸跟踪算法提取当前帧视频流图片的人脸位置信息和人眼位置信息;所述人脸位置信息包括人脸框的位置信息;所述人眼位置信息包括每只眼睛左右两个眼角的特征点位置信息;
人眼特征点提取模块703,用于基于所述人眼位置信息,通过基于第二深度学习模型的眼睛状态识别算法提取眼睛上下边缘特征点landmark的位置信息;
疲劳分析模块704,用于根据眼睛上下边缘特征点landmark的位置信息计算眼睛张开程度,判断出当前帧是否为疲劳状态。
各模块具体的实现方法与一种基于深度学习的疲劳检测方法各步骤的具体实现一致,此处不再重复描述。
本实施例还公开了一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现所述疲劳检测方法。
本发明的基于第一深度学习模型的人脸跟踪算法,在前一帧已经检测到人脸的基础下,利用之前的人脸位置实现跟踪,不需要全图重新检测人脸,大大加快了人脸检测的速度,最终经过优化的第一深度学习深度学习模型,使用腾讯的NCNN框架在处理频率1GHz的四核芯片上使用单核处理达到20ms左右的跟踪速度。跟踪带来的益处:每一帧全图检测人脸速度达不到实时,利用深度学习跟踪效果比传统的跟踪算法效果更好,同时相当于检测人脸速度达到50帧每秒。
本发明的基于第二深度学习模型的眼睛状态识别算法,通过第二深度学习模型输出的眼睛上下边缘的特征点定位,然后通过特征点的对应的位置关系,根据眼睛上下边缘的特征点计算眼睛的张开程度。数据丰富前提下,通过深度学习模型定位的特征点更加准确,而且应对各种复杂环境人眼landmark定位有更好的鲁棒性。相比于使用分类方式判断眼睛是否闭合的方法,利用landmark可以实时计算眼睛的张开程度,实时检测眼睛张开变化趋势,可以获得更好的判断效果。所述第二深度学习模型在上面所提到的处理芯片中预测一次的速度是30ms左右。所以,正常情况下使用第一深度学习模型和第二深度学习模型识别一张图片的总和时间大约在50ms左右,而且使用深度学习跟踪和识别疲劳获得更精确的识别结果。
上述仅为本发明的具体实施方式,但本发明的设计构思并不局限于此,凡利用此构思对本发明进行非实质性的改动,均应属于侵犯本发明保护范围的行为。

Claims (8)

1.一种基于深度学习的疲劳检测方法,其特征在于,包括:
获取当前帧视频流图片;
通过基于第一深度学习模型的人脸跟踪算法提取当前帧视频流图片的人脸位置信息和人眼位置信息;所述人脸位置信息包括人脸框的位置信息;所述人眼位置信息包括每只眼睛左右两个眼角的特征点位置信息;
基于所述人眼位置信息,通过基于第二深度学习模型的眼睛状态识别算法提取眼睛上下边缘特征点landmark的位置信息;
根据眼睛上下边缘特征点landmark的位置信息计算眼睛张开程度,判断出疲劳状态;
所述第一深度学习模型输出3个全连层,分别为fc1、fc2和fc3;其中,fc1全连接层输出2个神经元用于人脸分类,fc2输出4个神经元用于人脸框位置提取,fc3输出8个神经元用于人眼位置提取;
所述第一深度学习模型的损失函数如下:
L=L1+L2+L3
L1表示人脸分类使用的交叉熵损失函数,表示如下:
Figure FDA0002516354470000011
其中,yi表示分类0或者1的标签,0表示不是人脸,1表示为人脸;pi表示模型预测的概率值;n表示损失函数L1的分类个数,n=2,包括0和1两个分类;
L2表示人脸框位置提取使用的欧式损失函数,表示如下:
Figure FDA0002516354470000012
其中,
Figure FDA0002516354470000013
Figure FDA0002516354470000014
分别表示当前预测人脸框的4个值与当前人脸框标签的4个值;m表示损失函数L2的回归个数,回归人脸框有四个值,m=4;
L3表示人眼位置提取使用的欧式损失函数,表示如下:
Figure FDA0002516354470000015
其中,
Figure FDA0002516354470000016
Figure FDA0002516354470000017
分别表示当前预测人眼位置点的8个值与当前人眼位置点标签的8个值;l表示损失函数L3的回归个数,人眼有8个特征点,需要回归16个值,l=16。
2.根据权利要求1所述的基于深度学习的疲劳检测方法,其特征在于,所述通过基于第一深度学习模型的人脸跟踪算法获得当前帧视频流图片的人脸位置信息和人眼位置信息,具体包括:
步骤a1,判断当前帧视频流图片的前一帧是否检测有检测到人脸;如果没有,使用MTCNN算法检测当前帧视频流图片的人脸位置并保存,不再执行其他步骤;否则,执行步骤a2;
步骤a2,将前一帧检测到的人脸位置扩大预设倍数后作为当前帧人脸框图并归一化到指定尺寸;
步骤a3,通过第一深度学习模型识别出当前帧人脸框图是否包括人脸;如果包括,执行步骤a4;
步骤a4,通过第一深度学习模型提取当前帧人脸框图的人脸位置信息;并通过第一深度学习模型提取当前帧人脸框图的人眼位置信息。
3.根据权利要求1所述的基于深度学习的疲劳检测方法,其特征在于,所述通过基于第二深度学习模型的眼睛状态识别算法提取眼睛上下边缘特征点landmark的位置信息,具体包括:
步骤b1,基于提取的人眼位置,以左右两个眼角特征点间的距离为眼睛尺寸,将一只眼睛的中心扩大预设倍数后作为当前帧人眼框图并归一化到指定尺寸;
步骤b2,通过第二深度学习模型识别出当前帧人眼框图是否包括人眼;如果包括,执行步骤b3;
步骤b3,通过第二深度学习模型提取当前帧人眼框图的眼睛上下边缘特征点landmark的位置信息;其中,眼睛上下边缘特征点landmark包括左右两个眼角的特征点、上眼睑边缘特征点和下眼睑边缘特征点;所述上眼睑和下眼睑的边缘特征点点数相同且呈对称分布。
4.根据权利要求3所述的基于深度学习的疲劳检测方法,其特征在于,所述第二深度学习模型输出2个全连层,分别为fc4和fc5;其中,fc4全连接层输出2个神经元用于人眼分类;fc5输出预设个神经元用于眼睛上下边缘特征点landmark位置提取。
5.根据权利要求4所述的基于深度学习的疲劳检测方法,其特征在于,所述第二深度学习模型的损失函数如下:
L_eye=L1_eye+L2_eye
L1_eye表示人眼分类使用的交叉熵损失函数,表示如下:
Figure FDA0002516354470000021
其中,yi_eye表示分类0、1或-1的标签,0表示不是人眼,1表示是人眼,-1表示部分人眼;pi_eye表示模型预测的概率值;n_eye表示损失函数L1_eye的分类个数,n_eye=3,包括0、1和-1三个分类;
L2_eye表示眼睛上下边缘特征点landmark位置提取使用的欧式损失函数,表示如下:
Figure FDA0002516354470000031
其中,
Figure FDA0002516354470000032
Figure FDA0002516354470000033
分别表示当前预测眼睛上下边缘特征点landmark的若干个值与当前眼睛上下边缘特征点landmark标签的若干个值;m_eye表示预设的眼睛上下边缘特征点landmark个数。
6.根据权利要求1所述的基于深度学习的疲劳检测方法,其特征在于,所述根据眼睛上下边缘特征点landmark的位置信息计算眼睛张开程度,判断出疲劳状态,具体包括:
根据眼睛上下边缘特征点landmark的位置信息计算眼睛张开程度;
根据眼睛张开程度,使用Perclos中P80准则判断司机是否疲劳。
7.一种基于深度学习的疲劳检测系统,其特征在于,包括:
图片获取模块,用于获取当前帧视频流图片;
人脸跟踪及位置提取模块,用于通过基于第一深度学习模型的人脸跟踪算法提取当前帧视频流图片的人脸位置信息和人眼位置信息;所述人脸位置信息包括人脸框的位置信息;所述人眼位置信息包括每只眼睛左右两个眼角的特征点位置信息;
人眼特征点提取模块,用于基于所述人眼位置信息,通过基于第二深度学习模型的眼睛状态识别算法提取眼睛上下边缘特征点landmark的位置信息;
疲劳分析模块,用于根据眼睛上下边缘特征点landmark的位置信息计算眼睛张开程度,判断出当前帧是否为疲劳状态;
所述第一深度学习模型输出3个全连层,分别为fc1、fc2和fc3;其中,fc1全连接层输出2个神经元用于人脸分类,fc2输出4个神经元用于人脸框位置提取,fc3输出8个神经元用于人眼位置提取;
所述第一深度学习模型的损失函数如下:
L=L1+L2+L3
L1表示人脸分类使用的交叉熵损失函数,表示如下:
Figure FDA0002516354470000034
其中,yi表示分类0或者1的标签,0表示不是人脸,1表示为人脸;pi表示模型预测的概率值;n表示损失函数L1的分类个数,n=2,包括0和1两个分类;
L2表示人脸框位置提取使用的欧式损失函数,表示如下:
Figure FDA0002516354470000041
其中,
Figure FDA0002516354470000042
Figure FDA0002516354470000043
分别表示当前预测人脸框的4个值与当前人脸框标签的4个值;m表示损失函数L2的回归个数,回归人脸框有四个值,m=4;
L3表示人眼位置提取使用的欧式损失函数,表示如下:
Figure FDA0002516354470000044
其中,
Figure FDA0002516354470000045
Figure FDA0002516354470000046
分别表示当前预测人眼位置点的8个值与当前人眼位置点标签的8个值;l表示损失函数L3的回归个数,人眼有8个特征点,需要回归16个值,l=16。
8.一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至6中任一项所述的方法。
CN201811087559.7A 2018-09-18 2018-09-18 一种基于深度学习的疲劳检测方法、系统和计算机设备 Active CN109460704B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201811087559.7A CN109460704B (zh) 2018-09-18 2018-09-18 一种基于深度学习的疲劳检测方法、系统和计算机设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201811087559.7A CN109460704B (zh) 2018-09-18 2018-09-18 一种基于深度学习的疲劳检测方法、系统和计算机设备

Publications (2)

Publication Number Publication Date
CN109460704A CN109460704A (zh) 2019-03-12
CN109460704B true CN109460704B (zh) 2020-09-15

Family

ID=65606768

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201811087559.7A Active CN109460704B (zh) 2018-09-18 2018-09-18 一种基于深度学习的疲劳检测方法、系统和计算机设备

Country Status (1)

Country Link
CN (1) CN109460704B (zh)

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109977867A (zh) * 2019-03-26 2019-07-05 厦门瑞为信息技术有限公司 一种基于机器学习多特征融合的红外活体检测方法
CN110826396B (zh) * 2019-09-18 2022-04-22 云知声智能科技股份有限公司 一种视频中眼睛状态检测方法及装置
CN110765898B (zh) * 2019-10-09 2022-11-22 东软睿驰汽车技术(沈阳)有限公司 一种图像中物体及其关键点的确定方法和装置
CN113128312B (zh) * 2020-01-14 2023-12-22 普天信息技术有限公司 挖掘机位置和工作状态检测方法及装置
CN113208591B (zh) * 2020-01-21 2023-01-06 魔门塔(苏州)科技有限公司 一种眼睛开闭距离的确定方法及装置
CN111488845A (zh) * 2020-04-16 2020-08-04 深圳市瑞立视多媒体科技有限公司 眼睛视线的检测方法、装置、设备及存储介质
CN111488844B (zh) * 2020-04-16 2023-10-20 深圳市瑞立视多媒体科技有限公司 眼睛状态的检测方法、装置、设备及存储介质
CN111931677A (zh) * 2020-08-19 2020-11-13 北京影谱科技股份有限公司 一种人脸检测方法及装置、人脸表情检测方法及装置
CN114267080B (zh) * 2021-12-30 2023-03-24 淮阴工学院 一种基于角度变化的无差别眨眼识别方法

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4513898B2 (ja) * 2008-06-09 2010-07-28 株式会社デンソー 画像識別装置
CN104091150A (zh) * 2014-06-26 2014-10-08 浙江捷尚视觉科技股份有限公司 一种基于回归的人眼状态判断方法
CN105769120A (zh) * 2016-01-27 2016-07-20 深圳地平线机器人科技有限公司 疲劳驾驶检测方法和装置
CN106096670A (zh) * 2016-06-17 2016-11-09 北京市商汤科技开发有限公司 级联卷积神经网络训练和图像检测方法、装置及系统
CN106650688A (zh) * 2016-12-30 2017-05-10 公安海警学院 基于卷积神经网络的眼部特征检测方法,装置及识别系统
CN107194346A (zh) * 2017-05-19 2017-09-22 福建师范大学 一种汽车疲劳驾驶预测方法
CN107748858A (zh) * 2017-06-15 2018-03-02 华南理工大学 一种基于级联卷积神经网络的多姿态眼睛定位方法
CN108294759A (zh) * 2017-01-13 2018-07-20 天津工业大学 一种基于cnn眼部状态识别的驾驶员疲劳检测方法

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4513898B2 (ja) * 2008-06-09 2010-07-28 株式会社デンソー 画像識別装置
CN104091150A (zh) * 2014-06-26 2014-10-08 浙江捷尚视觉科技股份有限公司 一种基于回归的人眼状态判断方法
CN105769120A (zh) * 2016-01-27 2016-07-20 深圳地平线机器人科技有限公司 疲劳驾驶检测方法和装置
CN106096670A (zh) * 2016-06-17 2016-11-09 北京市商汤科技开发有限公司 级联卷积神经网络训练和图像检测方法、装置及系统
CN106650688A (zh) * 2016-12-30 2017-05-10 公安海警学院 基于卷积神经网络的眼部特征检测方法,装置及识别系统
CN108294759A (zh) * 2017-01-13 2018-07-20 天津工业大学 一种基于cnn眼部状态识别的驾驶员疲劳检测方法
CN107194346A (zh) * 2017-05-19 2017-09-22 福建师范大学 一种汽车疲劳驾驶预测方法
CN107748858A (zh) * 2017-06-15 2018-03-02 华南理工大学 一种基于级联卷积神经网络的多姿态眼睛定位方法

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
A Driver Face Monitoring System for Fatigue and Distraction Detection;Mohamad-Hoseyn Sigari等;《International Journal of Vehicular Technology》;20131231;第1-12页 *
Joint Face Detection and Alignment Using Multitask Cascaded Convolutional Networks;Kaipeng Zhang等;《IEEE SIGNAL PROCESSING LETTERS》;20161031;第23卷(第10期);第1499-1503页 *
人眼检测技术研究进展;常胜江等;《数据采集与处理》;20150630;第30卷(第6期);第1131-1146页 *

Also Published As

Publication number Publication date
CN109460704A (zh) 2019-03-12

Similar Documents

Publication Publication Date Title
CN109460704B (zh) 一种基于深度学习的疲劳检测方法、系统和计算机设备
Anagnostopoulos et al. A license plate-recognition algorithm for intelligent transportation system applications
Busta et al. Deep textspotter: An end-to-end trainable scene text localization and recognition framework
CN105930791B (zh) 基于ds证据理论的多摄像头融合的路面交通标志识别方法
CN109460699B (zh) 一种基于深度学习的驾驶员安全带佩戴识别方法
US7724962B2 (en) Context adaptive approach in vehicle detection under various visibility conditions
CN109902806A (zh) 基于卷积神经网络的噪声图像目标边界框确定方法
US10445602B2 (en) Apparatus and method for recognizing traffic signs
JP7206082B2 (ja) 交通標識を認識するためのシステムおよび方法
CN111310850B (zh) 车牌检测模型的构建方法及系统、车牌检测方法及系统
Romdhane et al. An improved traffic signs recognition and tracking method for driver assistance system
CN109886086B (zh) 基于hog特征和线性svm级联分类器的行人检测方法
CN110929593A (zh) 一种基于细节辨别区别的实时显著性行人检测方法
CN103295016A (zh) 基于深度与rgb信息和多尺度多方向等级层次特征的行为识别方法
CN113158850B (zh) 基于深度学习的船舶驾驶员疲劳检测方法和系统
CN109086772A (zh) 一种扭曲粘连字符图片验证码的识别方法及系统
CN107315990A (zh) 一种基于xcs‑lbp特征以及级联aksvm的行人检测算法
CN111274886A (zh) 一种基于深度学习的行人闯红灯违法行为分析方法及系统
CN104915642A (zh) 前方车辆测距方法及装置
Escalera et al. Fast greyscale road sign model matching and recognition
CN116935361A (zh) 一种基于深度学习的驾驶员分心行为检测方法
Barodi et al. An enhanced artificial intelligence-based approach applied to vehicular traffic signs detection and road safety enhancement
CN116872961B (zh) 用于智能驾驶车辆的控制系统
CN106407904A (zh) 一种确定刘海区域的方法及装置
CN117475353A (zh) 基于视频的异常烟雾识别方法及系统

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant