掌桥专利:专业的专利平台
掌桥专利
首页

疲劳监测方法及系统、行车记录仪和智能座舱

文献发布时间:2023-06-19 11:22:42


疲劳监测方法及系统、行车记录仪和智能座舱

技术领域

本公开涉及图像处理技术,尤其涉及一种疲劳监测方法及系统、行车记录仪和智能座舱。

背景技术

目前,在很多场景中都应用到了疲劳检测技术,例如疲劳驾驶检测,再例如对上课的学生、上班的员工进行疲劳检测。

现有技术中的疲劳监测方法是通过图像识别技术,确定被检测对象的眼睛、嘴巴开合状态,进而根据这些状态来确定被检测对象是否存在疲劳状态。例如,通过图像识别技术确定被检测对象打哈欠,则可以认为该用户存在疲劳情况。

但是,通过识别被检测对象的眼睛、嘴巴的开合状态,来确定被检测对象是否存在疲劳状态时,需要准确的确定被检测对象的眼睛、嘴巴的开合状态,而影响这一状态的外因较多,导致现有技术中的疲劳检测结果不够准确。

发明内容

本公开提供一种疲劳监测方法及系统、行车记录仪和智能座舱,以解决现有技术中疲劳检测结果不够准确的问题。

为解决上述技术问题,本公开披露一种可选的实现方式,其提供一种疲劳监测方法,该方法包括:

采集待检测对象的人脸图像,并识别所述人脸图像中的关键点;

根据预设三维模型、所述人脸图像中的关键点确定待检测对象的头部姿态,并根据所述头部姿态、所述关键点确定待检测对象的是否存在疲劳状态;

根据一段时间内采集的所述待检测对象的的所述疲劳状态,确定疲劳检测结果。

在另一可选实现方式中披露一种疲劳监测系统,该系统包括图像采集装置,用于采集待检测对象的人脸图像;识别装置,用于识别所述人脸图像中的关键点;数据处理装置,用于根据预设三维模型、所述人脸图像中的关键点确定所述待检测对象的头部姿态,并根据所述头部姿态、所述关键点确定所述待检测对象是否存在疲劳状态;数据分析装置,用于根据一段时间内采集的所述待检测对象的所述疲劳状态,确定疲劳检测结果。

在一种可选的实现方式中,披露一种行车记录仪,该行车记录仪包括:

前置图像采集装置,用于采集车辆前方的影像;

后置图像采集装置,用于采集待检测对象的人脸图像;

前述任一实施例披露的疲劳监测系统,用于根据所述头部姿态和所选取的面部器官关键点间纵横距离的比值来判断所述待检测对象是否存在疲劳状态。

在一种可选的实现方式中,披露一种智能座舱,该智能座舱包括:

车载摄像头,用于采集座舱内的驾驶员和/或乘客的人脸图像;

前述任一实现方式披露的疲劳监测系统,该疲劳监测系统设置于车机端,用于监测座舱内的驾驶员和/或乘客的疲劳状态。

与现有技术相比,本公开披露的疲劳监测的技术方案具有如下技术效果:

通过实施本公开的技术方案,可根据采集的人脸图像进行检测,先确定出待识别对象的头部姿态,再结合头部姿态以及人脸图像中的关键点,确定人脸图像中的对象是否处于疲劳状态,进而根据一段时间内采集的人脸图像对应的疲劳状态,确定最终的疲劳检测结果。其中,结合头部姿态以及人脸图像中的关键点确定人脸图像中的对象是否处于疲劳状态,能够避免头部姿态改变造成对五官状态识别不准确,进而造成误识别的问题。

附图说明

图1为本公开一示例性实施例示出的系统架构示意图;

图2为本公开一示例性实施例示出的应用场景示意图;

图3为本公开一示例性实施例示出的疲劳监测方法的流程示意图;

图4为本公开另一示例性实施例示出的疲劳监测方法的流程示意图;

图4A为本公开一示例性实施例示出的头部姿态示意图;

图4B为本公开一示例性实施例示出的关键点的示意图;

图5为本公开一示例性实施例示出的疲劳监测系统的结构示意图;

图6为本公开一示例性实施例示出的行车记录仪的结构示意图;以及,

图7为本公开一示例性实施例示出的智能座舱车机端的结构示意图。

具体实施方式

这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本公开相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本公开的一些方面相一致的装置和方法的例子。

本公开实施例为解决现有技术中进行疲劳状态检测时,由于人的头部姿态改变,而导致无法有效且准确地识别人的疲劳状态的问题,提出一种疲劳检测的技术方案,本方案中结合头部姿态以及人脸图像中的关键点,对疲劳状态进行检测,能够提高识别准确率。

为便于理解本公开的技术方案,这里结合图1对本公开涉及的设备进行一下说明,图1为本公开一示例性实施例示出的设备架构示意图。

如图1所示,本实施例提供的方案可以应用在如图1所示的设备中。该设备可以应用在教室中、办公场所以及车辆等场景中。当该设备应用在教室或者办公场所时,该设备主要包括至少一个图像采集装置11,还可以包括一电子装置12,其中,图像采集装置11与电子装置12可以通过有线或无线的方式连接。另外,当该设备应用在车辆等小型空间时,该设备主要包括一图像采集装置11和一电子装置12,该图像采集装置11可以设置(内嵌或者外部设置)在电子装置12上(图中未示出),即作为一个整体设备来使用。

作为一种可选的实现方式,图像采集装置12可以将采集的人脸图像发送到电子装置12中,电子装置12可以根据接收的图像进行疲劳检测。

图2为本公开一示例性实施例示出的应用场景图。

以驾驶员疲劳监测为例,在驾驶过程中存在的疲劳状态,通常包括两种疲劳状态:精神疲劳和肌体疲劳。其中,精神疲劳通常是指驾驶员因为长时间驾驶造成的精神困意,主要表现为打哈欠、频繁点头、眼睛疲劳(闭眼睡觉)等。肌体疲劳通常是指因为长期开车造成的腰酸背痛等肌体表现。而可采用的检测疲劳的方法主要有两类:接触式和非接触式。接触式方法主要通过脑电图、心电图,通过跟身体接触的信号来分析测试。非接触式方法主要是通过人的面目表情特征及车辆行为判别来进行检测。

人的面部表情特征主要是指:人在困乏时,眨眼频率增加、眨眼速度变慢、眼球活性降低、打哈欠、点头等特征,都可以表露出一定的疲劳。车辆行为判别主要通过打方向盘的异常行为及车辆异常的行驶轨迹进行疲劳判别。本公开所提到的驾驶员疲劳检测主要是针对精神疲劳的检测,所使用的方法为通过非接触式的人的面目表情特征方法进行疲劳检测。

其中,非接触式的面部表情特征方法是一种基于人脸面部关键点的疲劳监测方法,检测打哈欠和眼睛疲劳的状态,通过研究眼睛及嘴巴的开闭状态来进行评判是否发生打哈欠及眼睛疲劳的状态,开闭状态可以通过人脸关键点眼睛部件和嘴巴部件的横纵比进行表示。对于非接触式检测方法,基于人脸面部关键点的疲劳检测,但即便人脸关键点特征精度非常高的状态下,要通过眼睛或嘴巴的横纵比来确定开闭状态,依然存在非常大的挑战,其中头部姿态变换就对横纵比造成极大的影响。本公开下面披露的技术方案旨在提出一种能够适应不同头部姿态的横纵比方法,从而达到疲劳检测自适应的目的。

这里,如图2所示,当该设备应用在车辆上以检测驾驶人员是否存在疲劳时,可以将该设备作为一个整体设置在车辆的前侧,以能够在不影响驾驶员开车的同时,也便于检测驾驶人员的人脸图像。另外,为了更为灵活,还可以将设备分离,即设备中的图像采集装置11设置在车辆中,可以将图像采集装置11设置在车辆前侧,使其能够拍摄到司机的人脸图像。如图1中所示的电子装置12可以设置在车辆中,例如可以是车载电脑,或者集成在车载电脑上。图像采集装置11可以与车载电脑通过有线的方式连接。

实际应用时,人脸检测是一种在任意图像中能够准确的找到人脸并能够输出人脸位置的技术。通过人脸检测算法,能够相对准确的找到人脸的位置,这个位置通常使用矩形框进行标识,输出为矩形框的坐标和人脸的置信度。

人脸检测算法是整个人脸识别任务的基础,主要包括机器学习算法和深度学习算法,机器学习算法具有速度快、占用计算资源低的特性,能够较好的应用到算力较差的设备上;深度学习算法的准确度较高,但其对算力要求较为严格。

图3为本公开一示例性实施例示出的疲劳监测方法的流程示意图。如图3所示,本实施例披露的疲劳监测方法包括以下步骤:

步骤301,采集待检测对象的人脸图像,并识别人脸图像中的关键点。

本步骤中,可以由图1中的电子设备来执行本实施例提供的方法,该电子设备具备数据存储及处理能力。

作为一种可选的实施方式,上述实施例还可以通过如图1所示的图像采集装置采集人脸图像,例如,可以采集司机的人脸图像,还可以采集学生的人脸图像,从而通过采集的图像对这些人员进行疲劳检测。

在一可选实施例中,上述电子设备中可以预先设置有人脸检测方法,用于对接收的图像进行识别,从而确定人脸图像中的面部特征。

电子设备中还可以设置关键点识别方法,可以在确定的人脸中标注出预设数量的关键点。通过这些关键点能够标注出人脸中的五官位置。例如可以识别68个关键点、85个关键点、27个关键点等。通过不同的识别方法能够识别得到不同数量的关键点。例如,通过Dlib-ERT算法、PFLD算法能够在人脸中识别出68个关键点。对于进一步采用的算法本实施例不对此进行限制,只以此进行举例说明,例如LAB、Wing Loss、DCFE等算法深度学习模型也同样适用于本实施例提供的方案。

其中,可以通过预设的关键点识别算法识别出人脸图像中的关键点,从而进一步的根据这些关键点进行头部姿态估计,并在这些关键点中识别五官关键点,通过五官关键点来确定五官状态,进而结合头部姿态估计、五官状态来进行疲劳检测。

步骤302,根据预设三维模型、人脸图像中的关键点确定待检测对象的头部姿态,并根据头部姿态、关键点确定待检测对象是否存在疲劳状态。

其中,具体可以根据头部姿态、以及被检测面部的关键器官的关键点间横纵距离比值,确定待检测对象的是否存在疲劳状态。

其中,电子设备中可以预先设置有三维模型,该三维模型是指头部的三维模型,可以根据人脸图像中的关键点调整该预设三维模型,使其姿态与被拍摄的对象头部姿态一致。

可选地,预设三维模型中也可以具有五官,可以根据人脸图像中的与五官对应的关键点关联人脸图像与预设三维模型,进而将人脸图像映射到预设三维模型中。例如,可以先匹配人脸图像与预设三维模型中的五官,并对预设三维模型进行调整,使得预设三维模型中的五官相对位置与人脸图像中的五官位置一致,还可以对预设三维模型进行调整,使得人脸图像中的其他关键点也能够匹配到预设三维模型中,从而得到实际三维模型。例如,可以采用pnp投影方法,将人脸图像投影到三维模型中。

进一步的,得到实际三维模型后,可以将其与预设三维模型比对,从而确定头部姿态。预设三维模型在世界中的头部姿态是没有角度的,可以认为姿态角都为0度,进一步是指俯仰角(Pitch)、偏航角(Yaw)、翻转角(Roll)的角度都为0。而将人脸图像映射到预设三维模型得到的实际三维模型可能具有一定姿态,例如俯仰角(Pitch)、偏航角(Yaw)、翻转角(Roll)中的至少一个不为0。因此,通过比对预设三维模型与实际三维模型,能够确定头部姿态,例如各个方向的旋转角度。

其中,若仅根据人脸图像识别对象是否存在闭眼情况,当对象的头部姿态为低头、仰头或向左、向右旋转时,识别的眼部信息、嘴部信息可能不准确。因此,本实施例提供的方法,结合头部姿态以及人脸图像中的关键点共同确定对象是否存在疲劳状态。

可选地,例如用户闭眼时,可以认为对象存在疲劳状态。还可以结合眼睛的开合情况、嘴部的开合情况共同确定待检测对象是否存在疲劳状态,例如闭眼、张嘴,则可以认为用户打哈欠,即存在疲劳状态。

步骤303,根据一段时间内采集的待检测对象的的疲劳状态,确定疲劳检测结果。

例如,当待检测对象眨眼时,采集到的人脸图像中眼部可能属于闭合状态,这种情况下也有可能被识别为疲劳状态。因此,为了避免检测结果失误,本实施例提供的方法中,根据一段时间内采集的人脸图像对应的疲劳状态,确定疲劳检测结果,而不是根据单个人脸图像的疲劳状态,确定疲劳检测结果。

实际应用时,可以统计在一段时间内对象的出现疲劳状态次数,例如通过统计这段时间内采集的人脸图像中,出现疲劳状态的次数,来判断被监测对象的当前疲劳状态。若这一次数超出次数阈值,则可以认为被监测对象当前处于疲劳状态;否则,认为对象当其处于正常状态。

作为另一种可选的实施方式,上述实施例还可以通过确定一段时间内出现的疲劳状态次数与该时间段时长的比值,来判断被监测对象当前的疲劳状态。例如:若该比值大于比值阈值,则认为对象当前处于疲劳状态;否则,认为对象当前处于正常状态。

例如,上述实施例提供的方法用于检测司机是否疲劳,则在检测到对象处于疲劳状态时,还可以进一步的对该司机进行提示,例如,当电子装置12为车载电脑时,可以通过语音方式,即播放一段语音“现在处于疲劳驾驶,请注意休息”以提示司机。又或者播放预设音乐,从而使司机处于清醒状态。又或者查询离司机所驾驶车辆最近的可停车地点,并基于该可停车地点重新规划行驶路线,以指引司机前往可停车地点。

再如,上述实施例提供的方法用于检测学生是否疲劳,例如检测通过网络上课的学生是否处于疲劳状态。则在检测到对象处于疲劳状态时还可以进一步的对该对象进行警告,例如通过语音方式进行警告。或在检测到对象处于疲劳状态时,可以在用户终端侧显示警告语,从而提醒对象。

本实施例提供的方法用于进行疲劳检测,该方法由设置有本实施例提供的方法的设备执行,该设备通常以硬件和/或软件的方式来实现。

本实施例提供的疲劳监测方法,在根据采集的人脸图像进行检测时,先确定出待识别对象的头部姿态,再结合头部姿态以及人脸图像中的关键点,确定人脸图像中的对象是否处于疲劳状态,进而根据一段时间内采集的人脸图像对应的疲劳状态,确定最终的疲劳检测结果。其中,结合头部姿态以及人脸图像中的关键点确定人脸图像中的对象是否处于疲劳状态,能够避免头部姿态改变造成对五官状态识别不准确,进而造成误识别的问题。

图4为本公开另一示例性实施例示出的疲劳监测方法的流程示意图。如图4所示,本实施例提供的疲劳监测方法包括:

步骤401,采集待检测对象的人脸图像。

步骤401与步骤301中采集人脸图像的原理和实现方式类似,此处不再赘述。

步骤402,识别人脸图像中的面部特征,并从面部特征中识别出用于表征待检测对象五官特征的关键点。

在本实施例中,关于人脸检测算法,用来识别出人脸图像中的面部特征,可采用机器学习算法,例如:本实施例可采用Dlib算法(HOG+SVM)识别面部特征。其中,Dlib是一个成熟开源的视觉工具包,内置独立的人脸检测和人脸关键点检测算法,能够快速的搭建人脸检测环境。Dlib进行人脸检测主要包括两步:第一步,特征提取生成特征描述,主要使用HOG(Histogram of Oriented Gradient,方向梯度直方图)特征;第二步,通过支持向量机SVM(Support Vector Machine,支持向量机)进行特征分类,从而确定符合人脸特征的区域,并输出人脸框,以确定面部特征。

作为一种可选实现方式,对于人脸图像中的面部特征的识别,上述实施例还可以采用MTCNN、Retinaface、DSFD、faceBoxes等方法识别人脸图像中的人脸。本实施例以MTCNN为例,MTCNN包括三层网络P-NET、R-NET、O-NET,三层网络呈流水线逐步递进,主要功能说明如下:

P-NET用于候选脸部窗口的获取和边界框的回归,之后使用边界框校准脸部窗口,最后通过非极大值抑制NMS合并窗口;

R-NET进行过滤筛选由P-NET输出的候选脸部窗口,同时获取边界框,之后使用边界框校准脸部窗口,最后通过非极大值抑制NMS合并窗口;

O-NET进行过滤筛选由P-NET输出的候选脸部窗口,同时获取边界框,之后使用边界框校准脸部窗口,通过非极大值抑制NMS合并窗口,最后输出人脸边界框,以确定面部特征。

可选地,在识别出面部特征之后,还可以从面部特征中进一步确定关键点,其实现方案至少包括以下两种:

第一种实现方案:采用机器学习算法

例如,采用Dlib-ERT算法实现。Dlib-ERT是一种快速进行正面人脸关键点检测的有效方法,并且在人脸偏侧角度较小的范围内,具备快而准的特性,即便在低价位的手机等设备上,也能保证20fps+的高效检测。

Dlib-ERT算法属于级联回归方法的一种,其基本思想:通过建立一个级联的残差回归树(GBDT),使得人脸的形状一步一步回归到真实人脸形状,每一个GBDT的每一个叶子节点上都存储着一个残差回归量,当输入落到一个节点上时,就将残差添加到该输入上,起到回归的目的,最终将所有残差叠加在一起,就完成了人脸对齐的目的。

Dlib-ERT算法的评价标准:采用检测得到的关键点的位置和真实的人脸关键点的位置偏差值作为评价标准,其归一化方法可详细参照公式:

其中分子表示预测值与真实值的欧式距离,分母表示为两眼中心点之间的欧式距离。

采用第一种实现方案,可以人脸偏侧角度较小的范围内,具备快而准的特性,即便在低价位的手机等设备上,也能保证20fps+的高效检测。采用第二种实现方案,可以简单、快速的实现关键点识别,本领域技术人员,可以基于应用场景,以及使用需求,任意选择。

第二种实现方案:采用深度学习算法

例如:采用PFLD算法实现。PFLD的模型分为主网络和辅网络两部分,且两部分均根据mobilenet v2网络进行对应修改。

主网络完成人脸特征的提取,并输出对应的人脸68个点的坐标。

辅网络用于估计人脸的旋转角Euler(Pitch/Yaw/Roll/),并且对应计算与真值的误差;此外结合图像类别(光照/化妆/遮挡/表情/模糊等)在训练中对数据进行数据均衡。PFLD的Loss损失函数如下:

其中M表示训练样本的数量,N为关键点数量,本专利中仅指68点。C为图像类别。K=3,即θ

步骤403,根据关键点中的第一预设关键点,建立人脸图像与预设三维模型的映射矩阵。

本步骤中,预先设置的三维模型中也具有五官,因此,可以根据第一预设关键点建立脸图像与预设三维模型的映射矩阵,其中,第一预设关键点可以是用于表征人脸中五官特征的关键点。例如,一个第一预设关键点用于表征左眼位置,一个第一预设关键点用于表征右眼位置,一个第一预设关键点用于表征鼻子位置,两个第一预设关键点分别用于表征两个嘴角的位置。

例如:人脸图像中的五个第一预设关键点分别为P

本实施例中,可通过将人脸图像中的第一预设关键点的像素坐标,映射到三维空间中,从而得到映射矩阵。

步骤404,根据映射矩阵调整预设三维模型得到实际三维模型。

其中,可以根据确定的映射矩阵调整预设三维模型,使得预设三维模型的姿态与人脸图像中的头部姿态一致。

可选地,可以调整三维模型中的五官,使其相对位置与人脸图像中的五官一致。例如,可以将预设三维模型中的Q

进一步的,在调整完预设三维模型后,可以将识别出的人脸映射到该三维模型中,进而得到实际三维模型。

实际应用时,可以连续的采集人脸图像,并对其进行识别,并且可以根据新识别的人脸对实际三维模型调整,从而得到新的三维模型。例如根据人脸中五官的位置与实际三维模型中五官位置的对应关系,即可以根据上述映射矩阵进行调整。

步骤405,根据实际三维模型确定待检测对象的头部姿态。

其中,实际三维模型与待检测对象的头部姿态一致,因此,可以确定实际三维模型的头部姿态,进而确定待检测对象的头部姿态。

可选地,通过比对实际三维模型与预设三维模型,根据比对结果确定头部姿态。预设三维模型在三维空间中,头部姿态是正的,其俯仰角、偏航角、翻滚角均是0,可以比对实际三维模型在预设三维模型的基础上的偏转角度,并将确定的偏转角度确定为待检测对象的头部姿态。

图4A为本公开一示例性实施例示出的头部姿态示意图。如图4A所示,实际三维模型在x轴方向相较于预设三维模型的偏转角度为俯仰角(pitch),实际三维模型在y轴方向相较于预设三维模型的偏转角度为偏航角(yaw),实际三维模型在z轴方向相较于预设三维模型的偏转角度为翻滚角(roll)。

作为一种可选的实现方式,本实施例的方案中可以采用头俯仰角、偏航角来进行疲劳检测。

其中,在对人脸中的五官进行识别时,人脸中的眼睛开合程度、嘴巴开合程度都不会随着Roll变化而变化,因此,本实施例提供的方法中头部姿态至少包括俯仰角、偏航角。

当pitch、yaw发生变化时,识别人脸中的眼睛开合程度、嘴巴开合程度会发生变化,因此,需要结合这两个头部姿态数据确定待检测对象的疲劳状态。

据发明人调研发现:现有技术仅根据待检测对象眼部、嘴巴的开合程度来确定其是否存在疲劳状态,但由于头部姿态的改变,导致识别出的眼部、嘴巴的开合程度存在不准确的问题。因此,本实施例披露的技术方案中还确定头部姿态,从而能够结合头部姿态以及识别的眼部、嘴巴的开合程度来进行疲劳检测,进而提高疲劳检测的准确程度。

步骤406,根据关键点中的第二预设关键点确定点间横向距离、点间纵向距离。

图4B为本公开一示例性实施例示出的被检测面部关键点的示意图。如图4B所示,通过面部关键点检测方法,能够识别出人脸中包括的68个关键点,例如点0-67。本实施例中,可以获取关键点中的第二预设关键点,并进一步获取这些关键点对应的位置。对于人脸图像来说,该位置可以是像素坐标。可选地,第二预设关键点包括用于表征眼睛位置的关键点、用于表征嘴巴的关键点,例如为点36-47、48、54、61-63、65-67,这些点即是第二预设关键点。

进一步的,根据第二预设关键点能够确定出人脸中的眼睛和嘴巴的开合程度。其中,可以先根据第二预设关键点确定点间横向距离、点间纵向距离。点间横向距离用于表示眼睛或嘴巴的横向长度,点间纵向距离用于表示眼睛或嘴巴在纵向的张开程度。

例如,可以计算点37与41、38与40、36与39之间的距离,这些距离能够表征左眼的开合程度。此外,还可以计算点43与47、44与46、42与45之间的距离,以及点61与67、62与66、63与65、48-54之间的距离。其中,点37与41、38与40、43与47、44与46、61与67、62与66、63与65的距离d为点间纵向距离。36与39、42与45、48-54之间的距离为点间横向距离。

步骤407,根据点间横向距离、点间纵向距离、头部姿态确定纵横比值。

其中,本实施例不仅仅通过确定的点间横向距离、点间纵向距离来确定待检测对象的眼睛和嘴巴的开合程度,还同时结合对象的头部姿态进行确定,从而得到更准确的眼睛和嘴巴的状态。

实际应用时,当头部存在抬头、低头、向左旋转、向右旋转等情况时,采集的人脸图像中眼睛和嘴巴的状态与实际状态会有差异,因此,结合头部姿态能够更准确的眼睛和嘴巴的状态。

其中,可以根据所述点间纵向距离、所述俯仰角确定纵向中间值;根据所述点间横向距离、所述偏航角确定横向中间值;根据所述纵向中间值、所述横向中间值确定纵横比值。

基于上述实施例,在一可选实施例中,可以根据下式确定关键器官的纵横比,例如眼睛的纵横比、嘴巴的纵横比:

上述公式中:

1)pcr为闭眼或张嘴的纵横比;

2)f

其中,可根据需求,结合关键点来确定眼部、嘴巴在纵向的开合程度d

3)f

其中,d

本实施例中,取mTpcr作为闭眼或张嘴的平均阈值,通过该方程计算的到mTpcr能够具备一定的大角度判别闭眼或张嘴的能力。通过本实施例的闭眼或张嘴的横纵比公式,能够在一定程度上解决因转头/摇头/偏侧等姿态变化,导致判断睁闭眼、张闭嘴不够准确的问题。

本实施例可通过f

作为一种可选的实现方式,在确定左眼纵横比时,可以根据左眼对应的点间纵向距离、点间横向距离进行确定。如图4B所示,眼睛具有两个点间纵向距离,此时,可以分别计算这两个点间纵向距离对应的纵横比,再将两个纵横比的均值作为左眼对应的纵横比,为:

这里,结合一示例,对头部姿态估计和闭眼/张嘴检测做进一步分析说明:

1)头部姿态估计:

上述实施例利用二维人脸图像进行头部姿态估计,通过建立一个世界坐标系3D头部模型,该3D头部模型作为初始的标准模型,所处的世界中头部姿态角Euler(Pitch/Yaw/Roll)都为0度,同时将2D人脸的若干关键点与3D头部人脸的对应位置关键点建立映射矩阵F,面部关键点通常选用眼睛角点(36,45),鼻子角点(33),和嘴巴角点(48,54)等至少5个角点进行矩阵F的构建。其算法实现可为:通过获取的人脸关键点2D作为输入,通过矩阵F运算,可以映射到3D世界坐标系中,在3D坐标系中可以与标准3D模型进行比对计算,即可获得当前头部的姿态角Euler(Pitch/Yaw/Roll)。

2)闭眼/张嘴检测

通常,在计算点到点间的距离可采用下述公式:

左眼睛的横纵比公式可为:

右眼睛的横纵比公式可为:

嘴巴的横纵比公式可为:

在基于关键点的闭眼/张嘴的判别中,通常会直接取Ler/Rer/mr的平均阈值mTLer/mTRer/mTmr作为判别的主要依据,即Ler>mTLer为左眼睁眼状态,反之则为左眼闭眼状态,同样Rer>mTRer为右眼睁眼状态,反之为右眼闭眼状态,mr>mTmr为嘴巴张开状态,反之为嘴巴闭合状态。

在头部运动的过程中,伴随着Pitch、Yaw、Roll三个角度的变化,闭眼/张嘴的横纵比都会与之呈现对应的变化。通过分析可知,在Roll变化过程中,横纵比在二维平面内的投影值不变;在Pitch变化过程中,横纵比在二维平面内纵向存在Pitch夹角的投影值,即d(37,41),d(38,40),d(43,47),d(44,46),d(61,67),d(62,66),d(63,65)均会因Pitch偏离0度夹角,造成在二维平面内的投影值减小;同样在Yaw变化过程中,横纵比在二维平面内横向存在Yaw夹角的投影值,即d(36,39),d(42,45),d(48,54)均会因Yaw偏离0度夹角,造成在二维平面内的投影值减小。因为头部运动,这就造成了mTLer/mTRer/mTmr变成动态的阈值,从而对大角度的俯仰头、左右摇摆头状态下的闭眼/张嘴评测出现严重失真误判。

因此,经与通常做法比较可见,本公开的实施例通过结合头部姿态,增强在大角度下对闭眼或张嘴的判别能力,通过上述闭眼或张嘴的纵横比公式在人脸较大的俯仰角下也能够具备对闭眼/张嘴的判别能力,并且,在人脸较大的左右摆头下也能够具备对闭眼/张嘴的判别能力。

这里,在一可选实施例中,还可通过深度学习来进行端到端的算法流程,举例说明如下:

步骤一:通过人脸检测,获取人脸框选区域;

步骤二:通过人脸关键点检测,粗略定位人脸面部关键点位置,输出68个点;

步骤三:通过输出的68个面部关键点,选择分别选择出左眼、右眼及嘴巴三个部分的关键点位置,并通过其关键点信息获取各自的框选区域;

步骤四:针对步骤三得到的三个框选区域,分别进行眼睛是否闭眼、嘴巴是否张开进行分类判别,分类方式采用深度学习框架提取对应的特征信息,并进行二分类输出,最终可得到眼睛闭合、眼睛张开、嘴巴闭合、嘴巴张开等四种状态信息。

本实施例披露的上述算法中,步骤四实现了眼睛、嘴巴是否开闭的端到端的二分类输出,本实施例在一定的条件下可以通过采集大量的姿态数据用于二分类模型的训练,作为取代前述实施例披露的头部姿态估计和闭眼/张嘴横纵比计算方法的处理方法。

步骤408,比对纵横比值与纵横比阈值,并根据比对结果确定是否存在疲劳状态。

作为一种可选的实现方式,上述实施例可设置纵横比阈值,进一步可以确定每个器官对应的纵横比阈值。例如左眼对应的阈值,右眼对应的阈值,嘴巴对应的阈值。其中,左眼对应的阈值与右眼对应的阈值可以是相同的。

上述实施例中,可预先设置用于根据纵横比值与纵横比阈值,确定是否存在疲劳状态的规则。例如,若一帧人脸图像中,两只眼睛的纵横比值均小于对应的阈值,则认为存在疲劳状态。再如,若两只眼睛的纵横比值均小于对应的阈值,且嘴巴的纵横比值大于对应的阈值,则认为存在疲劳状态。此处的存在疲劳状态是指人脸图像中的人脸出现了疲劳状态。

步骤409,确定预设时间长度内出现的疲劳次数与时间段长度的比值,若比值大于预设比值,则检测结果为疲劳,否则检测结果为不疲劳。

其中,若仅根据单帧图像中出现的疲劳状态确定待检测对象是疲劳的,可能存在不准确的情况。例如,用户打喷嚏时可能会闭眼,若此时拍摄到了人脸图像并对其进行识别,可能识别结果为疲劳,因此,本实施例提供的方法根据一段时间内采集的人脸图像对应的识别结果,确定这段时间内疲劳状态出现的次数,进而可以更准确地确定待检测对象是否是疲劳的。例如,在2分钟中内拍摄了100张人脸图像,其中有70张存在疲劳状态,则出现疲劳状态的次数为70。因此,通过可以确定疲劳状态出现次数与这段时间的时长比值,并根据比值确定是否存在疲劳情况。

作为一种可选的实现方式,上述实施例可以预先设置一段时间的长度,作为标准参考值,例如以2分钟作为一个时间段,则时间段之间可以具有重叠部分,也可以相互独立。例如,将第0-2分钟作为一个时间段,再将1-3分钟作为一个时间段;也可以,将0-2分钟作为一个时间段,再将2-4分钟作为一个时间段。即时间段之间的步长可以根据需求进行设置。

作为一种可选的实现方式,上述实施例还可以设置预设比值,作为标准参考值,若疲劳次数与时间段长度的比值大于预设比值,则可以认为待检测对象出现疲劳的次数较多,该对象可能存在疲劳情况,例如疲劳驾驶的情况。其中,预设比值可以根据需求进行设置,例如可以结合预设时间长度进行设置。

作为一种可选的实现方式,当确定检测结果为疲劳,则可执行步骤410和/或411。

在一可选实施例中,还可以通过对大量的人眼状态、打哈欠状态及其他疲劳状态进行分类训练,并通过深度学习分类模型训练数据,从而获取识别模型。可以使用识别模型对采集的人脸图像进行检测,以确定待检测对象是否存在疲劳状态。

步骤410,播放音频或产生振动,以提示待检测对象,或输出给监测系统。

步骤411,向后台服务器反馈疲劳信息,以使后台服务器记录疲劳信息。

其中,确定待检测对象存在疲劳状态时,可以通过播放音频或产生振动的方式提醒该对象,从而使其恢复清醒状态。这里,提醒音频可以是音乐、提示语等。可选地,还可通过可穿戴设备来产生振动,例如手环。

基于上述任一实施例,作为一种可选实现方式,本实施例还可以在检测到疲劳状态后,获取疲劳信息。例如:疲劳信息可包括时间信息、位置信息、以及步骤409中确定的出现的疲劳次数与时间段长度的比值。

在一可选实施例中,还可以将上述实施例中的疲劳信息发送到与电子设备关联的后台服务器中,以使后台服务器记录疲劳信息。本实施例可结合实际需求,记录的疲劳信息可以用于挖掘对驾驶安全有效的推荐方案。

基于上述实施例,以驾驶员疲劳决策为例,可采用PERCLOS指标,PERCLOS(Percentage of EyeIid CIosure over the PupiI,over Time,简称PERCLOS)为卡内基梅隆研究所提出的度量疲劳(瞌睡)的物理量,其定义为单位时间内(一般取1分钟或者30秒)眼睛闭合一定比例(70%或80%)所占的时间,满足下式时就认为发生了疲劳。RERCLOS计算公式如下:

以上对本公开的疲劳监测方法实施例进行了示例性说明,下面基于上述各实施例披露对应的产品实施例,以实现上述各实施例披露的疲劳监测方法:

图5为本公开一示例性实施例示出的疲劳监测系统的结构示意图。如图5所示,本公开还提供一种疲劳监测系统,该系统包括:图像采集装置、识别装置、数据处理装置及数据分析装置,其中:

图像采集装置用于采集待检测对象的人脸图像;识别装置用于识别人脸图像中的关键点;数据处理装置用于根据预设三维模型、人脸图像中的关键点确定待检测对象的头部姿态,并根据头部姿态、关键点确定待检测对象是否存在疲劳状态;数据分析装置用于根据一段时间内采集的待检测对象的疲劳状态,确定疲劳检测结果。

作为一种可选的实现方式,该疲劳监测系统还可包括智能网联设备,该智能网联设备用于连接互联网和/或其他设备,其他设备可为如云端服务器、移动设备或其他车辆等。

在本实施例中,疲劳监测系统是一种在线监测设备,通过智联网联设备,与连接对象进行数据交互,辅助驾驶,提升驾驶安全性。

作为一种可选的实现方式,该疲劳监测系统还可包括云端服务器,云端服务器与车机端通过如智能网联设备互联,用于记录疲劳信息和/或输出安全驾驶方案,在后台服务器上可就收集的数据做进一步的分析处理,生成安全驾驶方案,或被检测对象的状态监测报告等。

作为一种可选的实现方式,该疲劳监测系统还可包括警示装置,该警示装置与数据分析装置连接,基于疲劳监测系统数据分析装置得到的疲劳状态结果,输出警示信号。

由于产品实施例披露的技术方案,与前述对应的方法实施例具有相同的发明构思,因此本部分的进一步实现方式和相应的技术效果,可参照前述相应的方法实施例,不再重复说明。

图6为本公开一示例性实施例示出的行车记录仪的结构示意图。如图6所示,本公开还提供一种行车记录仪,该行车记录仪包括:

前置图像采集装置,用于采集车辆前方的影像;

后置图像采集装置,用于采集待检测对象的人脸图像;

基于前述任一实施例披露的疲劳监测系统,该疲劳监测系统用于根据头部姿态和所选取的面部器官关键点间纵横距离的比值来判断待检测对象是否存在疲劳状态。

上述实施例中,前置图像采集装置61用于采集车辆前方的影像,疲劳监测系统62可将车辆前方的影像存储到存储装置63中,后置图像采集装置64用于采集待检测对象的人脸图像。

上述实施例中,疲劳监测系统可进一步用于识别人脸图像中的关键点,根据预设三维模型、人脸图像中的关键点确定待检测对象的头部姿态,并根据头部姿态、选取的面部器官关键点间纵横距离的比值确定待检测对象是否存在疲劳状态;根据一段时间内采集的待检测对象的疲劳状态,确定疲劳检测结果。

作为一种可选的实现方式,本公开还提供一种智能座舱,该智能座舱包括:车载摄像头和前述任一实施例披露的疲劳监测系统。车载摄像头用于采集座舱内的驾驶员和/或乘客的人脸图像。该疲劳监测系统设置于车机端,用于监测座舱内的驾驶员和/或乘客的疲劳状态。

图7为本公开一示例性实施例示出的智能座舱车机端的结构示意图。如图7所示,基于上述实施例,车机端疲劳监测系统72与车载摄像头71连接;车载摄像头71用于采集待检测对象的人脸图像,车机端疲劳监测系统72可进一步用于:识别人脸图像中的关键点,根据预设三维模型、人脸图像中的关键点确定待检测对象的头部姿态,并根据头部姿态、面部关键点间纵横距离的比值确定待检测对象是否存在疲劳状态;根据一段时间内采集的待检测对象的疲劳状态,确定疲劳检测结果。

因此,通过实施上述公开的实现方式,能够适应不同头部姿态的横纵比方法,结合头部姿态增强在大角度下对闭眼/张嘴的判别能力,从而达到疲劳检测自适应的目的。

进一步来讲,上述实施例可根据采集的人脸图像进行检测,先确定出待识别对象的头部姿态,再结合头部姿态以及人脸图像中的关键点,确定人脸图像中的对象是否处于疲劳状态,进而根据一段时间内采集的人脸图像对应的疲劳状态,确定最终的疲劳检测结果。其中,结合头部姿态以及人脸图像中的关键点,确定人脸图像中的对象是否处于疲劳状态,能够避免头部姿态改变造成对五官状态识别不准确,进而造成误识别的问题。特别是,上述实施例解决了因为转头/摇头/偏侧等姿态变化,导致判断睁闭眼、张闭嘴不够准确的问题。

本领域普通技术人员可以理解:实现上述各方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成。前述的程序可以存储于一计算机可读取存储介质中。该程序在执行时,执行包括上述各方法实施例的步骤;而前述的存储介质包括:ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质。

最后应说明的是:以上各实施例仅用以说明本公开的技术方案,而非对其限制;尽管参照前述各实施例对本公开进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本公开各实施例技术方案的范围。

相关技术
  • 疲劳监测方法及系统、行车记录仪和智能座舱
  • 疲劳驾驶监测方法、系统及智能识别系统
技术分类

06120112900269