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

疲劳检测方法、装置、电子设备和可读存储介质与流程

2023-07-20 12:07:43 来源:中国专利 TAG:


1.本发明涉及图像处理技术领域,具体而言,涉及一种疲劳检测方法、装置、电子设备和可读存储介质。


背景技术:

2.疲劳驾驶极是指驾驶员在长时间连续行车后,产生生理机能和心理机能的失调,而在客观上出现驾驶技能下降的现象。驾驶疲劳会影响到驾驶员的注意力、感觉、知觉、思维、判断、意志、决定和运动等诸方面。疲劳后继续驾驶车辆,会感到困倦瞌睡,四肢无力,注意力不集中,判断能力下降,甚至出现精神恍惚或瞬间记忆消失,出现动作迟误或过早,操作停顿或修正时间不当等不安全因素,极易发生道路交通事故。目前,对驾驶员疲劳驾驶检测的准确性还有待提高。


技术实现要素:

3.基于上述研究,本发明实施例提供一种疲劳检测方法、装置、电子设备和可读存储介质,可以提高疲劳检测的准确性。
4.本发明的实施例可以通过以下实施方式实现:
5.第一方面,本发明实施例提供一种疲劳检测方法,所述方法包括:
6.获取待检对象的人脸时序图像;
7.对所述人脸时序图像进行状态检测,得到所述待检对象的状态时序信息;
8.根据所述状态时序信息,确定所述待检对象的目标疲态时间窗口,以及与所述目标疲态时间窗口前后相邻的目标状态时间窗口;
9.将所述目标疲态时间窗口对应的状态信息与所述目标状态时间窗口对应的状态信息进行差分计算,以检测所述待检对象是否处于疲劳状态。
10.在可选的实施方式中,所述状态时序信息包括眼部状态时序信息以及头部姿态时序信息;所述根据所述状态时序信息,确定所述待检对象的目标疲态时间窗口,以及与所述目标疲态时间窗口前后相邻的目标状态时间窗口,包括:
11.根据所述眼部状态时序信息,确定所述待检对象的闭眼时间窗口,以及与所述闭眼时间窗口前后相邻的睁眼时间窗口,将所述闭眼时间窗口设置为目标疲劳时间窗口,所述睁眼时间窗口设置为目标状态时间窗口;
12.所述将所述目标疲态时间窗口对应的状态信息与所述目标状态时间窗口对应的状态信息进行差分计算,检测所述待检对象是否处于疲劳状态,包括:
13.将所述目标疲态时间窗口对应的眼部状态信息和头部姿态信息与所述目标状态时间窗口对应的眼部状态信息和头部姿态信息进行差分计算,以检测所述待检对象是否处于疲劳状态。
14.在可选的实施方式中,所述将所述目标疲态时间窗口对应的眼部状态信息和头部姿态信息与所述目标状态时间窗口对应的眼部状态信息和头部姿态信息进行差分计算,以
检测所述待检对象是否处于疲劳状态,包括:
15.将所述目标疲态时间窗口对应的眼部状态信息与所述目标状态时间窗口对应的眼部状态信息进行差分计算,得到眼部差分状态值;
16.将所述目标疲态时间窗口对应的头部姿态信息与所述目标状态时间窗口对应的头部姿态信息进行差分计算,得到头部差分姿态值;
17.检测所述眼部差分状态值是否大于设定眼部阈值,以及所述头部差分姿态值是否大于设定头部阈值;
18.若所述眼部差分状态值大于设定眼部阈值和/或所述头部差分姿态值大于设定头部阈值,设定所述待检对象处于疲劳状态。
19.在可选的实施方式中,所述根据所述眼部状态时序信息,确定所述待检对象的闭眼时间窗口,以及与所述闭眼时间窗口前后相邻的睁眼时间窗口,包括:
20.根据所述眼部状态时序信息,确定得到连续闭眼的闭眼时段;
21.检测所述闭眼时段是否大于设定时长阈值;
22.若大于,根据所述闭眼时段对应的起始闭眼时刻以及终止闭眼时刻,确定得到闭眼时间窗口;
23.统计与所述闭眼时间窗口前后相邻的睁眼时段,根据所述睁眼时段对应的起始睁眼时刻以及终止睁眼时刻,确定得到睁眼时间窗口。
24.在可选的实施方式中,所述获取待检对象的人脸时序图像,包括:
25.获取针对所述待检对象的时序图像,对所述时序图像进行人脸识别,得到所述时序图像中的人脸检测框以及各所述人脸检测框的坐标信息;
26.确定所述时序图像的首帧图像的目标人脸检测框以及该目标人脸检测框的坐标信息;
27.根据所述首帧图像的目标人脸检测框的坐标信息以及所述时序图像的其他图像中的各人脸检测框的坐标信息,确定得到所述时序图像的其他图像中的目标人脸检测框;
28.对所述时序图像中的目标人脸检测框进行剪裁,得到人脸时序图像。
29.在可选的实施方式中,所述对所述人脸时序图像进行状态检测,得到所述待检对象的状态时序信息,包括:
30.根据预设的眼部状态检测网络,对所述人脸时序图像进行眼部状态检测,得到所述待检对象的眼部状态时序信息;
31.根据预设的头部姿态检测网络,对所述人脸时序图像进行头部姿态检测,得到所述待检对象的头部姿态时序信息;
32.根据所述眼部状态时序信息以及所述头部姿态时序信息,得到所述待检对象的状态时序信息。
33.在可选的实施方式中,所述眼部状态检测网络包括局部检测分支以及全局检测分支,所述根据预设的眼部状态检测网络,对所述人脸时序图像进行眼部状态检测,得到所述待检对象的眼部状态时序信息的步骤包括:
34.通过所述局部检测分支,对所述人脸时序图像进行区域处理,得到眼部局域图像,对所述眼部局域图像进行特征提取,得到所述待检对象的局部区域特征;
35.通过所述全局检测分支,对所述人脸时序图像进行特征提取,得到所述待检对象
的全局人脸特征,对所述局部区域特征以及所述全局人脸特征进行融合处理,得到所述待检对象的眼部状态时序信息。
36.在可选的实施方式中,所述头部姿态检测网络包括主干网络以及多个分支检测网络,所述根据预设的头部姿态检测网络,对所述人脸时序图像进行头部姿态检测,得到所述待检对象的头部姿态时序信息的步骤包括:
37.通过所述主干网络,对所述人脸时序图像进行特征提取,得到主干特征;
38.将所述主干特征分别输入至各所述分支检测网络,得到各所述分支检测网络对应的姿态预测值;
39.根据各所述分支检测网络对应的姿态预测值,得到所述待检对象的头部姿态时序信息。
40.第二方面,本发明实施例提供一种疲劳检测装置,所述疲劳检测装置包括:
41.图像获取模块,用于获取待检对象的人脸时序图像;
42.状态检测模块,用于对所述人脸时序图像进行状态检测,得到所述待检对象的状态时序信息;
43.时间确定模块,用于根据所述状态时序信息,确定所述待检对象的目标疲态时间窗口,以及与所述目标疲态时间窗口前后相邻的目标状态时间窗口;
44.疲劳检测模块,用于将所述目标疲态时间窗口对应的状态信息与所述目标状态时间窗口对应的状态信息进行差分计算,检测所述待检对象是否处于疲劳状态。
45.第三方面,本发明实施例提供一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现前述任一实施方式所述的疲劳检测方法。
46.第四方面,本发明实施例提供一种可读存储介质,所述可读存储介质包括计算机程序,所述计算机程序运行时控制所述可读存储介质所在校正设备执行前述任一实施方式所述的疲劳检测方法。
47.本发明实施例提供的疲劳检测方法、装置、电子设备和可读存储介质,通过获取待检对象的人脸时序图像,对人脸时序图像进行状态检测,得到待检对象的状态时序信息,根据状态时序信息,确定待检对象的目标疲态时间窗口,以及与目标疲态时间窗口前后相邻的目标状态时间窗口,然后将目标疲态时间窗口对应的状态信息与目标状态时间窗口对应的状态信息进行差分计算,即可检测待检对象是否处于疲劳状态。如此,通过确定待检对象的目标疲态时间窗口以及与目标疲态时间窗口前后相邻的目标状态时间窗口,将目标疲态时间窗口对应的状态信息与目标状态时间窗口对应的状态信息进行差分计算,来检测待检对象是否处于疲劳状态,降低了检测噪声的影响,可以有效提高疲劳检测的准确性。
附图说明
48.下面结合附图,通过对本发明的具体实施方式详细描述,将使本发明的技术方案及其它有益效果显而易见。
49.图1为本发明实施例提供的电子设备的一种结构示意图。
50.图2为本发明实施例提供的疲劳检测方法的一种流程示意图。
51.图3为本发明实施例提供的眼部状态检测网络的一种结构示意图。
52.图4为本发明实施例提供的头部姿态检测网络的一种结构示意图。
53.图5为本发明实施例提供的疲劳检测装置的一种方框示意图。
54.图标:100-电子设备;10-疲劳检测装置;11-图像获取模块;12-状态检测模块;13-时间确定模块;14-疲劳检测模块;20-存储器;30-处理器;40-通信单元。
具体实施方式
55.下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述。显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
56.在本发明的描述中,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括一个或者更多个所述特征。在本发明的描述中,“多个”的含义是两个或两个以上,除非另有明确具体的限定。
57.在本发明中,除非另有明确的规定和限定,第一特征在第二特征之“上”或之“下”可以包括第一和第二特征直接接触,也可以包括第一和第二特征不是直接接触而是通过它们之间的另外的特征接触。而且,第一特征在第二特征“之上”、“上方”和“上面”包括第一特征在第二特征正上方和斜上方,或仅仅表示第一特征水平高度高于第二特征。第一特征在第二特征“之下”、“下方”和“下面”包括第一特征在第二特征正下方和斜下方,或仅仅表示第一特征水平高度小于第二特征。
58.下文的公开提供了许多不同的实施方式或例子用来实现本发明的不同结构。为了简化本发明的公开,下文中对特定例子的部件和设置进行描述。当然,它们仅仅为示例,并且目的不在于限制本发明。此外,本发明可以在不同例子中重复参考数字和/或参考字母,这种重复是为了简化和清楚的目的,其本身不指示所讨论各种实施方式和/或设置之间的关系。此外,本发明提供了的各种特定的工艺和材料的例子,但是本领域普通技术人员可以意识到其他工艺的应用和/或其他材料的使用。
59.目前,对疲劳驾驶的检测大多通过检测驾驶员的面部特征,来判断驾驶员是否疲劳。在通过驾驶员的面部特征,检测驾驶员是否疲劳驾驶时,大多是通过检测驾驶员是否存在打哈欠以及闭眼等动作,来检测驾驶员是否疲劳驾驶。当驾驶员存在打哈欠以及闭眼等动作时,则判定驾驶员疲劳驾驶。但由于人的面部动作非常丰富,极易将驾驶员皱眉、向下看等动作误识别为闭眼,将说话、唱歌等动作误识别为打哈欠,造成设备的错误报警。因此,对疲劳驾驶检测的准确性还有待提高。
60.基于此,本实施例提供一种疲劳检测方法、装置、电子设备和可读存储介质,通过获取待检对象的人脸时序图像,对人脸时序图像进行状态检测,得到待检对象的状态时序信息,根据状态时序信息,确定待检对象的目标疲态时间窗口,以及与目标疲态时间窗口前后相邻的目标状态时间窗口,然后将目标疲态时间窗口对应的状态信息与目标状态时间窗口对应的状态信息进行差分计算,即可检测待检对象是否处于疲劳状态。如此,通过确定待检对象的目标疲态时间窗口以及与目标疲态时间窗口前后相邻的目标状态时间窗口,将目标疲态时间窗口对应的状态信息与目标状态时间窗口对应的状态信息进行差分计算,来检
测待检对象是否处于疲劳状态,降低了检测噪声的影响,可以有效提高疲劳检测的准确性。
61.请参阅图1,图1为本实施例提供的电子设备的一种结构示意图。如图1所示,电子设备100包括疲劳检测装置10、存储器20、处理器30以及通信单元40。存储器20、处理器30以及通信单元40各元件相互之间直接或间接地电性连接,以实现信号的传输或交互。例如,这些元件相互之间可通过一条或多条通讯总线或信号线实现电性连接。
62.在本实施例中,疲劳检测装置10包括至少一个可以软件或固件(firmware)的形式存储于存储器20中的软件功能模块。处理器30用于执行存储器20中存储的可执行模块(例如,疲劳检测装置10所包括的软件功能模块或计算机程序)。当电子设备100运行时,处理器30与存储器20之间通过总线通信,处理器30执行可执行模块或者计算机程序,实现本实施例所述的疲劳检测方法。
63.其中,存储器20可以是,但不限于,随机读取存储器(random access memory,ram),只读存储器(read only memory,rom),可编程只读存储器(programmable read-only memory,prom),可擦除只读存储器(erasable programmable read-only memory,eprom),电可擦除只读存储器(electric erasable programmable read-only memory,eeprom)等。
64.处理器30用以执行本实施例中描述的一个或多个功能。在一些实施例中,处理器30可以包括一个或多个处理核(例如,单核处理器(s)或多核处理器(s))。仅作为举例,处理器30可以包括中央处理单元(central processing unit,cpu)、专用集成电路(application specific integrated circuit,asic)、专用指令集处理器(application specific instructionsetprocessor,asip)、图形处理单元(graphics processing unit,gpu)、物理处理单元(physics processing unit,ppu)、数字信号处理器(digital signal processor,dsp)、现场可编程门阵列(field programmable gate array,fpga)、可编程逻辑器件(programmable logic device,pld)、控制器、微控制器单元、简化指令集计算机(reducedinstruction set computing,risc)或微处理器等,或其任意组合。
65.为了便于说明,在电子设备100中仅描述了一个处理器。然而,应当注意,本实施例中的电子设备100还可以包括多个处理器,因此本实施例中描述的一个处理器执行的步骤也可以由多个处理器联合执行或单独执行。例如,若电子设备的处理器执行步骤a和步骤b,则应该理解,步骤a和步骤b也可以由两个不同的处理器共同执行或者在一个处理器中单独执行。例如,处理器执行步骤a,第二处理器执行步骤b,或者处理器和第二处理器共同执行步骤a和b。
66.本实施例中,任一实施方式所揭示的流程定义的方法可以应用于处理器30中,或者由处理器30实现。
67.通信单元40用于通过网络建立电子设备100与其他设备之间的通信连接,并用于通过网络收发数据。
68.在一些实施方式中,网络可以是任何类型的有线或者无线网络,或者是他们的结合。仅作为示例,网络可以包括有线网络、无线网络、光纤网络、远程通信网络、内联网、因特网、局域网(local area network,lan)、广域网(wide area network,wan)、无线局域网(wireless local area networks,wlan)、城域网(metropolitan area network,man)、广域网(wide area network,wan)、公共电话交换网(public switched telephone network,pstn)、蓝牙网络、zigbee网络、或近场通信(near field communication,nfc)网络等,或其
任意组合。
69.在本实施例中,电子设备可以是笔记本电脑、超级移动个人计算机(ultra-mobile personal computer,umpc)、上网本、个人数字助理(personal digital assistant,pda)、物理服务器等设备,本实施例对电子设备的具体类型不作任何限制。
70.可以理解地,图1所示的结构仅为示意。电子设备还可以具有比图1所示更多或者更少的组件,或者具有与图1所示不同的配置。图1所示的各组件可以采用硬件、软件或其组合实现。
71.基于图1的实现架构,本实施例提供一种疲劳检测方法,由图1所示的电子设备执行,下面对本实施例提供的疲劳检测方法的步骤进行详细阐述。请结合参阅图2,本实施例所提供的疲劳检测方法包括步骤s101至步骤s104。
72.步骤s101:获取待检对象的人脸时序图像。
73.其中,待检对象可以为处于驾驶状态的驾驶员。在本实施例中,可以在驾驶员的前方设置图像采集设备,当待检对象在驾驶车辆时,图像采集设备实时采集待检对象的图像,然后将实时采集得到的图像回传至电子设备,由电子设备对实时采集得到的图像进行处理,得到待检对象的人脸时序图像。也可以在待检对象的前方设置视频采集设备,视频采集设备采集待检对象驾驶车辆时的视频,然后将视频回传至电子设备,由电子设备对视频进行抽帧处理,得到待检对象的人脸时序图像。
74.在可选的实施方式中,可以从待检对象处于驾驶状态后,对每个时刻的待检对象的人脸图像进行记录,然后每隔预设时间段读取记录的人脸图像,得到人脸时序图像。例如,预设时间段为10分钟,设定待检对象10点处于驾驶状态,则在10点开始,对每个时刻的待检对象的人脸图像进行记录,然后每隔10分钟读取一次记录的人脸图像,即在10点10分读取一次记录的人脸图像,得到10点至10点10分的人脸时序图像,在10点20分读取一次记录的人脸图像,得到10点10分至10点20分的人脸时序图像,在10点30分读取一次记录的人脸图像,得到10点20分至10点30分的人脸时序图像,以此类推,可以得到驾驶行程内每个预设时间段内的人脸时序图像。可以理解地,获取得到的人脸时序图像包括预设时间段内每个时刻的人脸图像,每个人脸图像对应一个时刻,人脸时序图像可以表示{i
t1
、i
t2
、i
t3
…itn
},其中,i
tn
为tn时刻的人脸图像。
75.步骤s102:对人脸时序图像进行状态检测,得到待检对象的状态时序信息。
76.由于驾驶员在疲劳驾驶时,常常会出现哈欠、闭眼、低头、偏头等动作,因此,在本实施例中,对人脸时序图像进行状态检测,可以包括对人脸时序图像进行嘴部、眼部以及头部等状态检测,相应地,状态检测结果则可以包括嘴部检测结果、眼部检测结果以及头部检测结果。
77.可选的,对人脸时序图像进行状态检测,可以通过基于神经网络的检测模型实现。其中,检测模型可以预先采用有监督的训练方式对神经网络进行训练得到,即通过已知真实值的样本数据去训练得到一个最优模型,再利用这个模型将所有的输入映射为相应的输出,对输出进行判断从而实现预测或者分类的目的。例如,对于检测模型,可以对多张人脸图像进行状态标记,包括眼部状态、头部状态的标记,得到样本集,然后将样本集输入至神经网络中进行训练,得到检测模型。在得到检测模型后,即可通过检测模型对人脸时序图像进行状态检测。
78.可选的,检测模型可以采用卷积神经网络、多任务卷积神经网络(multi-task convolutional neural network,mtcnn)等神经网络训练得到。
79.在本实施例中,对人脸时序图像进行状态检测,包括对人脸时序图像中每个人脸图像均进行状态检测,每个人脸图像均会得到对应一个状态检测结果,将每个人脸图像对应的状态检测结果按照人脸图像对应的时刻进行排序,即可得到待检对象的状态时序信息。可以理解地,由于每个人脸图像对应一个时刻,因此,每个人脸图像对应的状态检测结果也对应着一个时刻。
80.可以理解地,若对待检对象的状态检测包括眼部、嘴部以及头部等状态检测,则得到的待检对象的状态时序信息包括眼部状态的状态时序信息、嘴部状态的状态时序信息以及头部状态的时序信息等。
81.需要说明的是,由于本实施例是对待检对象进行疲劳检测,为了提高处理效率,节约算力,在每隔预设时间段获取得到人脸时序图像,对人脸时序图像进行状态检测后,若得到的状态检测结果中未包括疑似疲劳的状态检测结果,则对得到的人脸时序图像以及状态时序信息进行丢弃处理或者用于其他类型的处理,然后继续获取下一个预设时间段的人脸时序图像,若得到的状态检测结果中包括疑似疲劳的状态检测结果以及未疲劳的状态检测结果,则对得到的人脸时序图像以及状态时序信息进行下一步的处理,即确定目标疲态时间窗口以及目标状态时间窗口,检测是否属于真实疲劳状态。如此,可保证得到的待检对象的状态时序信息是存在疑似疲劳的状态信息以及未疲劳的状态信息。
82.例如,预设时间段为10分钟,在10点开始,对每个时刻的待检对象的人脸图像进行记录,在第一个预设时间段,即10点10分获取得到10点至10点10分的人脸时序图像,然后对10点至10点10分的人脸时序图像进行状态检测,若得到的状态检测结果中未包括疑似疲劳的状态检测结果,则放弃对10点至10点10分的人脸时序图像以及状态时序信息进行下一步的处理,继续获取下一个预设时间段,即10点10分至10点20分的人脸时序图像,对10点10分至10点20分的人脸时序图像进行状态检测,若得到的状态检测结果中包括疑似疲劳的状态检测结果以及未疲劳的状态检测结果,则对10点10分至10点20分的人脸时序图像以及状态时序信息进行下一步的处理,检测是否属于真实疲劳状态。然后继续获取下一个预设时间段,即10点20分至10点30分的人脸时序图像,对10点20分至10点30分的人脸时序图像进行状态检测,若得到的状态检测结果中未包括疑似疲劳的状态检测结果,则放弃对10点20分至10点30分的人脸时序图像以及状态时序信息进行下一步的处理,继续获取下一个预设时间段,即10点30分至10点40分的人脸时序图像,以此类推,直至驾驶行程结束。
83.其中,对于待检对象的状态检测若包括眼部、嘴部以及头部等状态检测,则疑似疲劳的状态检测结果可以是闭眼状态、嘴部张开以及头部偏离,未疲劳的状态检测结果则为睁眼状态、嘴部闭合以及头部未偏离。鉴于实际应用中,常常将驾驶员正常说话、唱歌时的嘴部动作判定为打哈欠,且存在驾驶员用手捂着嘴部动作或者戴口罩,无法正确识别出哈欠动作,同时由于不少驾驶员在驾驶时,会有头部偏离的不好驾驶习惯,导致疲态时间窗口的确定存在误差,因此,本实施例以眼部的状态检测结果来确定待检对象的状态时序信息是存在疑似疲劳的状态信息以及未疲劳的状态信息,当得到的待检对象的状态时序信息中存在闭眼状态以及睁眼状态时,则对得到的状态时序信息进行下一步处理,即确定待检对象的目标疲态时间窗口以及目标状态时间窗口。当得到的待检对象的状态时序信息未存在
闭眼时,则对得到的状态时序信息进行丢弃处理或者用于其他类型的处理。如此,用于确定待检对象的目标疲态时间窗口是存在闭眼的状态信息以及睁眼的状态信息。
84.步骤s103:根据状态时序信息,确定待检对象的目标疲态时间窗口,以及与目标疲态时间窗口前后相邻的目标状态时间窗口。
85.其中,由于得到的状态时序信息是存在疑似疲劳的状态信息以及未疲劳的状态信息,因此,根据状态时序信息,确定待检对象的目标疲态时间窗口时,可以根据状态时序信息中疑似疲劳的状态检测结果以及未疲劳的状态检测结果,来确定待检对象的目标疲态时间窗口以及与目标疲态时间窗口前后相邻的目标状态时间窗口。
86.在本实施例中,状态时序信息的状态检测结果是按照时间顺序进行排列的,每个时刻对应一个状态检测结果,每个时刻对应的状态检测结果为疑似疲劳的状态检测结果和未疲劳的状态检测结果中的一个,即每个时刻对应的状态检测结果要么是疑似疲劳的状态检测结果,要么是未疲劳的状态检测结果。
87.在根据状态时序信息中疑似疲劳的状态检测结果以及未疲劳的状态检测结果,确定待检对象的目标疲态时间窗口以及与目标疲态时间窗口前后相邻的目标状态时间窗口时,即可基于每个时刻对应的状态检测结果进行确定。首先根据每个时刻对应的状态检测结果,检测疑似疲劳的状态检测结果是否连续出现,在连续出现时,确定连续出现疑似疲劳的状态检测结果对应的疲劳时间段,在得到疲劳时间段后,即可对疲劳时间段前后相邻的未疲劳的状态检测结果对应的时间段进行统计,得到未疲劳时间段,然后将疲劳时间段设置为目标疲态时间窗口,将未疲劳时间段设置目标状态时间窗口。例如,设定时刻排序为t1、t2、t3、t4、t5、t6、t7、t8,对应的状态检测结果分别为未疲劳、疑似疲劳、未疲劳、未疲劳、疑似疲劳、疑似疲劳、疑似疲劳、未疲劳,则疑似疲劳的状态检测结果对应的疲劳时间段为t5-t7,则目标疲态时间窗口为[t5,t7],前后相邻的未疲劳的状态检测结果对应的时间段为t3-t5,t7-t8,则目标状态时间窗口为[t3,t5]以及[t7,t8]。
[0088]
以眼部、嘴部以及头部的状态时序信息进行举例说明,例如,眼部状态的状态时序信息的状态检测结果包括闭眼和睁眼的检测结果,其中,闭眼的检测结果为疑似疲劳的状态检测结果,睁眼的检测结果为未疲劳的状态检测结果则可以从眼部状态的状态时序信息中确定得到待检对象的连续闭眼时段,将连续闭眼时段对应的时间窗口设置为目标疲态时间窗口。然后确定目标疲态时间窗口前后相邻的睁眼时段,以前后相邻的睁眼时段,作为前后相邻的目标状态时间窗口。
[0089]
又例如,头部状态的时序信息的状态检测结果包括头部偏离以及头部未偏离的检测结果,其中,头部偏离的检测结果为疑似疲劳的状态检测结果,头部未偏离的检测结果为未疲劳的状态检测结果,则可以从头部状态的时序信息中确定得到待检对象的连续头部偏离的时段,将该时段对应的时间窗口设置为目标疲态时间窗口。然后确定目标疲态时间窗口前后相邻的头部未偏离时段,以前后相邻的头部未偏离时段,作为前后相邻的目标状态时间窗口。
[0090]
又例如,嘴部状态的状态时序信息的状态检测结果包括张嘴(打哈欠)以及闭嘴的检测结果,其中,张嘴的检测结果为疑似疲劳的状态检测结果,闭嘴的检测结果为未疲劳的状态检测结果,则可以从嘴部状态的状态时序信息中确定得到待检对象的连续张嘴时段,将该时段对应的时间窗口设置为目标疲态时间窗口。然后确定目标疲态时间窗口前后相邻
的闭嘴时段,以前后相邻的闭嘴时段,作为前后相邻的目标状态时间窗口。
[0091]
可以理解地,对于一个状态时序信息,若出现的疲劳时间段有多个,则对应的目标疲态时间窗口则有多个,相应地,目标状态时间窗口也会存在多个。由于本实施例是基于每个时刻对应的状态检测结果来确定目标疲态时间窗口以及目标状态时间窗口,而每个时刻对应的状态检测结果仅有一种情况,因此,在存在多个目标疲态时间窗口以及目标状态时间窗口时,各目标疲态时间窗口以及目标状态时间窗口并不会重叠。
[0092]
本实施例以一个目标疲态时间窗口以及与之前后相邻的目标状态时间窗口对本实施例提供的疲态检测方法进行说明,可以理解地,在存在多个目标疲态时间窗口时,对每个目标疲态时间窗口均采用相同方式进行检测。在一个状态时序信息中,对任意一个目标疲态时间窗口,只要检测为疲劳时,则认定该状态时序信息,待检测对象存在疲劳。
[0093]
需要说明的是,为了便于计算以及时间窗口确定规则的统一化,在本实施例中,以单一状态的状态时序信息来确定目标疲态时间窗口以及与目标疲态时间窗口前后相邻的目标状态时间窗口。例如,仅以眼部状态的状态时序信息来确定目标疲态时间窗口以及与目标疲态时间窗口前后相邻的目标状态时间窗口,或者,仅以嘴部状态的状态时序信息来确定目标疲态时间窗口以及与目标疲态时间窗口前后相邻的目标状态时间窗口,或者,仅以头部状态的状态时序信息来确定目标疲态时间窗口以及与目标疲态时间窗口前后相邻的目标状态时间窗口。可选的,本实施例以眼部状态的状态时序信息来确定目标疲态时间窗口以及与目标疲态时间窗口前后相邻的目标状态时间窗口。
[0094]
步骤s104:将目标疲态时间窗口对应的状态信息与目标状态时间窗口对应的状态信息进行差分计算,以检测待检对象是否处于疲劳状态。
[0095]
其中,在确定得到目标疲态时间窗口以及与目标疲态时间窗口前后相邻的目标状态时间窗口后,即将目标疲态时间窗口对应的状态信息与目标状态时间窗口对应的状态信息进行差分计算,根据目标疲态时间窗口对应的状态信息与目标状态时间窗口对应的状态信息的差分结果,检测待检对象是否处于疲劳状态。
[0096]
由于目标状态时间窗口表示的是与目标疲态时间窗口相邻的前一个目标状态时间窗口,以及与目标疲态时间窗口相邻的后一个目标状态时间窗口,在将目标疲态时间窗口对应的状态信息与目标状态时间窗口对应的状态信息进行差分计算时,可以先对两个目标状态时间窗口对应的状态信息进行加权平均,得到加权平均后的状态信息,然后将加权平均后的状态信息与目标疲态时间窗口对应的状态信息进行差分计算,得到差分结果。例如,目标疲态时间窗口的前一个目标状态时间窗口为[t1,t2],目标疲态时间窗口为[t2,t3],目标疲态时间窗口的后一个目标状态时间窗口为[t3,t4],则可以先将[t1,t2]与[t3,t4]的状态信息进行加权平均,得到加权平均后的状态信息,然后将加权平均后的状态信息,与[t2,t3]的状态信息进行差分,得到差分结果。
[0097]
也可以是分别将目标疲态时间窗口对应的状态信息与两个目标状态时间窗口对应的状态信息进行差分计算,得到两个初始差分结果,然后对两个初始差分结果进行加权平均,得到最终的差分结果。例如,目标疲态时间窗口的前一个目标状态时间窗口为[t1,t2],目标疲态时间窗口为[t2,t3],目标疲态时间窗口的后一个目标状态时间窗口为[t3,t4],则可以先将[t1,t2]与[t2,t3]的状态信息进行差分,得到第一初始差分结果,将[t3,t4]与[t2,t3]的状态信息进行差分,得到第二初始差分结果,然后将第一初始差分结果与
第二初始差分结果进行加权平均,得到最终的差分结果。具体实施方式可基于实际需求而设置,本实施例不做限制。
[0098]
在得到差分结果后,即可基于差分结果检测待检对象是否处于疲劳状态。在本实施例中,基于差分结果检测待检测对象是否处于疲劳状态时,可以设定差分阈值,将差分结果与差分阈值进行比较,若差分结果大于差分阈值,则判定待检对象处于疲劳状态。若差分结果未大于差分阈值,则判定待检对象未处于疲劳状态。
[0099]
需要说明的是,在本实施例中,若检测的状态有多种,则在将目标疲态时间窗口对应的状态信息与目标状态时间窗口对应的状态信息进行差分计算时,需要将每一种状态信息分别进行差分计算,得到每一种状态信息的差分结果。当存在至少一种状态信息的差分结果大于差分阈值时,则判定待检对象处于疲劳状态,当所有的状态信息的差分结果均未大于差分阈值时,则判定待检对象未处于疲劳状态。
[0100]
在本实施例中,差分阈值的设定可以基于历史数据中未疲劳驾驶时的状态信息与疲劳驾驶时的状态信息的差分值进行设定。
[0101]
本实施例提供的疲劳检测方法,通过确定待检对象的目标疲态时间窗口以及与目标疲态时间窗口前后相邻的目标状态时间窗口,将目标疲态时间窗口对应的状态信息与目标状态时间窗口对应的状态信息进行差分计算,来检测待检对象是否处于疲劳状态,降低了检测噪声的影响,可以有效提高疲劳检测的准确性,降低疲劳驾驶运营成本。
[0102]
鉴于实际应用中,车辆中除了驾驶员外,还可能存在其他的人员,例如副驾驶员、或者坐在后座的任意人员,因此,在获取待检对象的人脸时序图像时,获取得到的人脸时序图像中除了驾驶员的人脸图像外,还可能存在其他人员的人脸,为了避免其他人员的人脸,影响疲劳检测的准确性,在本实施例中,获取待检对象的人脸时序图像的步骤可以包括:
[0103]
(a)获取针对待检对象的时序图像,对时序图像进行人脸识别,得到时序图像中的人脸检测框以及各人脸检测框的坐标信息。
[0104]
(b)确定时序图像的首帧图像的目标人脸检测框以及该目标人脸检测框的坐标信息。
[0105]
(c)根据首帧图像的目标人脸检测框的坐标信息以及时序图像的其他图像中的各人脸检测框的坐标信息,确定得到时序图像的其他图像中的目标人脸检测框。
[0106]
(d)对时序图像中的目标人脸检测框进行剪裁,得到人脸时序图像。
[0107]
其中,待检对象的时序图像包括在每个时刻下获取得到的原始图像,对时序图像进行人脸识别,即对每个时刻下获取得到的原始图像进行人脸识别。
[0108]
可选的,对时序图像进行人脸识别,可以采用目标检测网络(如yolov4、yolov3)、vgg(visual geometry group network)等网络实现,可选的,在本实施例中,可选择目标检测网络对时序图像进行人脸识别,通过目标检测网络对时序图像进行人脸识别,得到时序图像中的人脸检测框以及各人脸检测框的坐标信息。
[0109]
在得到时序图像中的人脸检测框后,对于时序图像中的每个原始图像来说,该原始图像上所检测得到的人脸检测框,除了待检对象的人脸检测框之外,还可能存在其他人员的人脸检测框,因此,对于时序图像中的每个原始图像,需要该原始图像上所检测得到的人脸检测框中确定出待检对象的人脸检测框,即驾驶员的人脸检测框。
[0110]
在对时序图像中的每个原始图像,从人脸检测框中确定出待检对象的人脸检测框
时,可以先确定时序图像的首帧图像中待检对象的人脸检测框以及其坐标信息,将首帧图像中待检对象的人脸检测框作为首帧图像中的目标人脸检测框,然后根据首帧图像的目标人脸检测框的坐标信息以及时序图像的其他图像中的各人脸检测框的坐标信息,确定得到时序图像的其他图像中的目标人脸检测框,即其他图像中待检对象的人脸检测框。
[0111]
由于图像采集设备,通常设置于待检对象的正前方,因此,在采集图像时,待检对象的人脸通常是靠近于图像的中心,且相比于其他人员的人脸,所占面积要大。基于此,当图像采集设备设置于待检对象的正前方时在确定首帧图像的目标人脸检测框时,可以基于首帧图像中各人脸检测框的位置、面积进行确定,选取距离首帧图像中心最近且面积最大的人脸检测框作为目标人脸检测框。
[0112]
可以理解地,当图像采集设备设置于其他位置时,可以根据图像采集设备的位置与待检对象的位置来确定首帧图像中待检对象的目标人脸检测框。例如,待检对象的位置位于图像采集设备的左侧时,则可以将位于首帧图像的左侧,且面积最大的人脸检测框作为目标人脸检测框,待检对象的位置位于图像采集设备的右侧时,则可以将位于首帧图像的右侧,且面积最大的人脸检测框作为目标人脸检测框。
[0113]
在确定得到首帧图像中的目标人脸检测框后,可以首帧图像中的目标人脸检测框为基准信息,确定得到其他图像中的目标人脸检测框。其中,针对其他图像中的每个图像,可先根据该图像中的各人脸检测框的坐标信息以及该图像之前的各图像中的目标人脸检测框的坐标信息,计算得到该图像中各人脸检测框与该图像之前的各图像中的目标人脸检测框的变化距离,根据该图像中各人脸检测框与该图像之前的各图像中的目标人脸检测框的变化距离,确定得到该图像中的目标人脸检测框。
[0114]
鉴于实际应用中,驾驶员在进行驾驶时,位置变化幅度通常较小,因此,各帧图像中待检对象的人脸的位置变化也不大,基于此,在根据该图像中各人脸检测框与该图像之前的各图像中的目标人脸检测框的变化距离,确定该图像中的目标人脸检测框时,针对该图像中的每个人脸检测框,可计算该人脸检测框与该图像之前的各图像中的目标人脸检测框的变化距离之和,然后将该图像中变化距离之和最小的人脸检测框作为该图像中的目标人脸检测框,即该图像中待测对象的人脸检测框。即从第二帧开始,针对每帧图像中的每个人脸检测框,分别计算该人脸检测框与该帧图像之前的各图像中目标人脸检测框的变化距离,并将与该帧图像之前的各图像中目标人脸检测框的变化距离进行求和,得到该人脸检测框与该帧图像之前的各图像中目标人脸检测框的变化距离之后,针对每帧图像,将变化距离之后最小的人脸检测框,作为该帧图像的目标人脸检测框。
[0115]
例如,对于第二帧图像,则根据第二帧图像中各人脸检测框与首帧图像中的目标人脸检测框的坐标信息,计算第二帧图像中各人脸检测框与首帧图像中的目标人脸检测框的变化距离,然后选取变化距离最小的人脸检测框,作为第二帧图像中的目标人脸检测框,在确定得到第二帧图像中的目标人脸检测框后,在计算第三帧图像中的目标人脸检测框时,则可根据第三帧图像中各人脸检测框与首帧图像中的目标人脸检测框的坐标信息,计算第三帧图像中各人脸检测框与首帧图像中的目标人脸检测框的第一变化距离,根据第三帧图像中各人脸检测框与第二帧图像中的目标人脸检测框的坐标信息,计算第三帧图像中各人脸检测框与第二帧图像中的目标人脸检测框的第二变化距离,选取第一变化距离与第二变化距离之和最小的人脸检测框作为第三帧图像中的目标人脸检测框,在确定得到第三
帧图像中的目标人脸检测框后,在计算第四帧图像中的目标人脸检测框时,则可根据第四帧图像中各人脸检测框与首帧图像中的目标人脸检测框的坐标信息,计算第四帧图像中各人脸检测框与首帧图像中的目标人脸检测框的第一变化距离,根据第四帧图像中各人脸检测框与第二帧图像中的目标人脸检测框的坐标信息,计算第四帧图像中各人脸检测框与第二帧图像中的目标人脸检测框的第二变化距离,根据第四帧图像中各人脸检测框与第三帧图像中的目标人脸检测框的坐标信息,计算第四帧图像中各人脸检测框与第三帧图像中的目标人脸检测框的第三变化距离,选取第一变化距离、第二变化距离、第三变化距离之和最小的人脸检测框作为第四帧图像中的目标人脸检测框,以此类推,直至确定得到时序图像中最后一帧图像中的目标人脸检测框。
[0116]
以一具体实施方式进行说明,假设第二帧图像中的人脸检测框有人脸检测框a和人脸检测框b,第三帧图像中的人脸检测框有人脸检测框c和人脸检测框d,第二帧图像中,人脸检测框a与首帧图像中的目标人脸检测框的距离为l1,人脸检测框b与首帧图像中的目标人脸检测框的距离为l2,l1小于l2,则将人脸检测框a作为第二帧图像中的目标人脸检测框。第三帧图像中,人脸检测框c与首帧图像中的目标人脸检测框的距离为l3,与第二帧图像中的目标人脸检测框a的距离为l4,人脸检测框d与首帧图像中的目标人脸检测框的距离为l5,与第二帧图像中的目标人脸检测框a的距离为l6,其中,l3 l4<l5 l6,则将人脸检测框c作为第三帧图像中的目标人脸检测框,以此类推,对于第三帧之后的图像,也采用同样的处理方式。
[0117]
可选的,从第二帧开始,针对每个图像中的每个人脸检测框,可计算该人脸检测框与该图像之前的各图像中的目标人脸检测框的变化距离之和,可以通过以下公式计算得到:
[0118][0119]
其中,ai为第i帧图像的权重值,(xi,yi)为第i帧图像中目标人脸检测框的坐标信息,(xk,yk)为第k帧图像中人脸检测框的坐标信息,lk为距离之和。
[0120]
在可选的实施方式,还可以预先获取待检对象的人脸信息,在采集得到待检对象的时序图像,对时序图像进行人脸识别,得到时序图像中的人脸检测框后,可以将时序图像中的人脸检测框的人脸信息与预先获取的待检对象的人脸信息进行比对,将相似度最高的人脸检测框作为时序图像中的目标人脸检测框,即时序图像中待检对象的人脸检测框。
[0121]
在得到时序图像中每个图像中的目标人脸检测框后,对时序图像中每个图像中的目标人脸检测框进行剪裁,即可得到人脸时序图像,并基于人脸时序图像进行疲劳检测。
[0122]
鉴于实际应用中,常常将驾驶员正常说话、唱歌时的嘴部动作判定为打哈欠,且存在驾驶员用手捂着嘴部动作或者戴口罩,无法正确识别出哈欠动作,为了减少计算量,提高处理效率,在本实施例中,可以基于眼部状态以及头部状态来确定待测对象是否疲劳驾驶。基于此,本实施例的状态时序信息包括眼部状态时序信息以及头部姿态时序信息。
[0123]
为了能准确得到眼部状态时序信息以及头部姿态时序信息,在本实施例中,对人脸时序图像进行状态检测,得到待检对象的状态时序信息的步骤可以包括:
[0124]
根据预设的眼部状态检测网络,对人脸时序图像进行眼部状态检测,得到待检对
象的眼部状态时序信息。
[0125]
根据预设的头部姿态检测网络,对人脸时序图像进行头部姿态检测,得到待检对象的头部姿态时序信息。
[0126]
根据眼部状态时序信息以及头部姿态时序信息,得到待检对象的状态时序信息。
[0127]
其中,预设的眼部状态检测网络可以预先通过训练神经网络得到。在本实施例中,预设的眼部状态检测网络采用有监督的训练方式训练得到,可以预先对多张人脸图像中的眼部状态进行状态标记(睁眼或者闭眼),得到样本图像数据,然后将样本图像数据输入至神经网络中进行训练,得到眼部状态检测网络。
[0128]
相应地,对于预设的头部姿态检测网络,可以预先通过训练神经网络得到。在本实施例中,预设的头部姿态检测网络采用有监督的训练方式训练得到,可以预先对多张人脸图像中的头部姿态进行状态标记(偏离方向、角度等信息),得到样本图像数据,然后将样本图像数据输入至神经网络中进行训练,得到头部姿态检测网络。
[0129]
为了提高眼部状态识别的准确性,如图3所示,在本实施例中,眼部状态检测网络包括局部检测分支以及全局检测分支,通过局部检测分支获取眼部特征,通过全局检测分支获取表征人脸疲态信息的全局特征,将眼部特征与人脸的全局特征进行融合分类,以得到眼部的状态信息。基于此,在本实施例中,根据预设的眼部状态检测网络,对人脸时序图像进行眼部状态检测,得到待检对象的眼部状态时序信息的步骤包括:
[0130]
通过局部检测分支,对人脸时序图像进行区域处理,得到眼部局域图像,对眼部局域图像进行特征提取,得到待检对象的局部区域特征。
[0131]
通过全局检测分支,对人脸时序图像进行特征提取,得到待检对象的全局人脸特征,对局部区域特征以及全局人脸特征进行融合处理,得到待检对象的眼部状态时序信息。
[0132]
其中,在得到人脸时序图像后,将人脸时序图像中的每个人脸图像分别输入至局部检测分支以及全局检测分支进行检测。在本实施例中,对于局部检测分支,可以先对每个人脸图像进行区域检测,确定得到每个人脸图像中的眼部区域位置,然后根据眼部区域位置,从每个人脸图像中截取眼部局域图像。在得到每个人脸图像中的眼部局域图像后,对每个眼部局域图像进行特征提取,即可得到每个眼部局域图像的局部区域特征。在一种可选的实施方式中,也可以预先从人脸图像中裁剪出眼部局域图像,然后根据局部检测分支对眼部局域图像进行特征提取,得到局部区域特征。
[0133]
对于全局检测分支,可以先直接对每个人脸图像进行整个人脸区域进行状态特征提取,得到全局人脸特征,然后将每个人脸图像的全局人脸特征与局部区域特征进行融合处理,对融合后的特征进行分类,输出每个人脸图像对应的眼部状态的检测结果,即睁眼或者闭眼的检测结果。
[0134]
在得到对每个人脸图像输出的眼部状态检测结果后,即可得到待检对象的眼部状态时序信息。
[0135]
在本实施例中,局部检测分支以及全局检测分支可以采用卷积神经网络、循环神经网络、深度神经网络构成,具体不做限制。
[0136]
为了能准确得到待检对象的头部姿态信息,本实施例以欧拉角来表示待检对象的头部姿态,包括俯仰角、偏航角以及翻滚角。为了能得到每个角度的姿态信息,如图4所示,本实施例提供的头部姿态检测网络包括主干网络部分、三个结构相同的分支检测网络,每
个分支检测网络对应一个姿态角度的预测,每个分支检测网络包括全连接层以及softmax输出层。其中,主干网络可以卷积神经网络结构,如resnet50,通过主干网络获取头部的主干特征,通过分支检测网络对主干特征进行回归预测处理,输出头部的角度姿态信息。基于此,在本实施例中,根据预设的头部姿态检测网络,对人脸时序图像进行头部姿态检测,得到待检对象的头部姿态时序信息的步骤可以包括:
[0137]
通过主干网络,对人脸时序图像进行特征提取,得到主干特征。
[0138]
将主干特征分别输入至各分支检测网络,得到各角度检测网络对应的姿态预测值。
[0139]
根据各分支检测网络对应的姿态预测值,得到待检对象的头部姿态时序信息。
[0140]
其中,在得到人脸时序图像后,即可将人脸时序图像中的每个人脸图像分别输入至主干网络,通过主干网络对每个人脸图像进行特征提取,得到主干特征。在得到主干特征后,即可将主干特征分别输入至各分支检测网络,通过各分支检测网络的全连接层预测出该分支检测网络对应的姿态预测值(角度信息),通过各分支检测网络的softmax输出层输出对应的姿态预测值。
[0141]
在得到各分支检测网络对每个人脸图像输出的姿态预测值后,即可得到待检对象的头部姿态时序信息。
[0142]
在得到眼部状态时序信息以及头部姿态时序信息后,即可基于眼部状态时序信息以及头部姿态时序信息来确定待测对象是否疲劳驾驶。
[0143]
鉴于实际应用中,不少驾驶员在驾驶时,会有头部偏离的不好驾驶习惯,导致疲态时间窗口的确定存在误差,为了提高检测准确性,在基于眼部状态时序信息以及头部姿态时序信息来确定待测对象是否疲劳驾驶时,本实施例可基于眼部状态时序信息,来确定待检对象的目标疲态时间窗口,以及与目标疲态时间窗口前后相邻的目标状态时间窗口。基于此,根据状态时序信息,确定待检对象的目标疲态时间窗口,以及与目标疲态时间窗口前后相邻的目标状态时间窗口的步骤可以包括:
[0144]
根据眼部状态时序信息,确定待检对象的闭眼时间窗口,以及与闭眼时间窗口前后相邻的睁眼时间窗口,将闭眼时间窗口设置为目标疲劳时间窗口,睁眼时间窗口设置为目标状态时间窗口。
[0145]
在本实施例中,眼部状态时序信息表征对每个时刻的人脸图像所检测得到眼部状态,即睁开或闭眼。而当驾驶员疲劳驾驶时,常常会有闭眼的动作,因此,基于眼部状态时序信息,确定目标疲劳时间窗口时,可以根据眼部状态时序信息,确定待检对象的闭眼时间窗口,将闭眼时间窗口设置为目标疲劳时间窗口,然后将与闭眼时间窗口前后相邻的睁眼时间窗口设置为目标状态时间窗口。由于驾驶员在驾驶车辆的过程中,会存在眨眼的操作,为了避免将驾驶员眨眼动作,判定为驾驶员疲劳驾驶而导致的闭眼,在本实施例中,根据眼部状态时序信息,确定待检对象的闭眼时间窗口,以及与闭眼时间窗口前后相邻的睁眼时间窗口的步骤包括:
[0146]
根据眼部状态时序信息,确定得到连续闭眼的闭眼时段。
[0147]
检测闭眼时段是否大于设定时长阈值。
[0148]
若大于,根据闭眼时段对应的起始闭眼时刻以及终止闭眼时刻,确定得到闭眼时间窗口。
[0149]
统计与闭眼时间窗口前后相邻的睁眼时段,根据睁眼时段对应的起始睁眼时刻以及终止睁眼时刻,确定得到睁眼时间窗口。
[0150]
其中,由于眼部状态时序信息表征对每个时刻的人脸图像所检测得到眼部状态,因此,可以从眼部状态信息中确定得到连续闭眼的闭眼时段。在本实施例中,在从眼部状态信息中确定得到连续闭眼的闭眼时段时,若检测到某个时刻对应的眼部状态为闭眼状态时,则检测该时刻的下一时刻对应的眼部状态是否为闭眼状态,若该时刻的下一时刻为闭眼状态,则将该时刻作为时段起点,继续检测该时刻的下下时刻对应的眼部状态是否闭眼状态,若不是,则将该时刻的下一时刻作为时段终点,若该时刻的下下时刻对应的眼部状态依旧为闭眼状态,则继续往后检测,直至检测到对应的眼部状态不为闭眼状态,将不为闭眼状态所对应的时刻的上一时刻作为时段终点,根据时段起点以及时段终点,得到连续闭眼的闭眼时段。
[0151]
若该时刻的下一时刻不为闭眼状态,则放弃该时刻,继续往后检测,在检测对应的眼部状态为闭眼状态时,又重新开始判断,以获取连续闭眼的闭眼时段。
[0152]
由于驾驶员疲劳驾驶时,其闭眼时段大多会超过一定的时长,因此,在根据眼部状态时序信息,确定得到连续闭眼的闭眼时段后,即可检测闭眼时段是否大于设定时长阈值,若大于,则该闭眼时段,驾驶员可能处于疲劳驾驶,在长时间闭眼。因此,可根据该闭眼时段对应的起始闭眼时刻以及终止闭眼时刻,确定得到闭眼时间窗口,然后统计与闭眼时间窗口前后相邻的睁眼时段,根据睁眼时段对应的起始睁眼时刻以及终止睁眼时刻,确定得到睁眼时间窗口。其中,设定时长阈值可以根据实际需求而设置,例如2s、3s等等。
[0153]
例如,设定时刻排序为t1、t2、t3、t4、t5、t6、t7、t8,若闭眼时段对应的起始闭眼时刻为t3,终止闭眼时刻为t6,则统计t3之前且与t3相邻的睁眼状态的时长,以及t6之后且与t6相邻的睁眼状态的时长,若t2对应的眼部状态为睁眼,t1对应的眼部状态为闭眼,t7对应的眼部状态为睁眼,t8对应的眼部状态为闭眼,则与闭眼时间窗口[t3,t6]相邻的前一个睁眼时段为[t2,t3],与闭眼时间窗口[t3,t6]相邻的后一个睁眼时段为[t6,t7]。
[0154]
在得到睁眼时段后,根据睁眼时段对应起始睁眼时刻以及终止睁眼时刻,确定得到睁眼时间窗口。
[0155]
而在得到闭眼时间窗口以及与闭眼时间窗口前后相邻的睁眼时间窗口后,即得到了目标疲态时间窗口以及目标状态时间窗口。
[0156]
在得到目标疲态时间窗口以及目标状态时间窗口后,即可将目标疲态时间窗口对应的状态信息与目标状态时间窗口对应的状态信息进行差分计算,检测待测对象是否处于疲劳状态。
[0157]
由于本实施例的状态信息包括眼部状态信息以及头部状态信息,因此,将目标疲态时间窗口对应的状态信息与目标状态时间窗口对应的状态信息进行比较,检测待检对象是否处于疲劳状态的步骤包括:
[0158]
将目标疲态时间窗口对应的眼部状态信息和头部姿态信息与目标状态时间窗口对应的眼部状态信息和头部姿态信息进行差分计算,以检测待检对象是否处于疲劳状态。
[0159]
其中,将目标疲态时间窗口对应的眼部状态信息和头部姿态信息与目标状态时间窗口对应的眼部状态信息和头部姿态信息进行差分计算时,针对每种状态信息,需要单独进行差分计算,即目标疲态时间窗口对应的眼部状态信息与目标状态时间窗口对应的眼部
状态信息进行差分计算,目标疲态时间窗口对应的头部姿态信息与目标状态时间窗口对应的头部姿态信息进行差分计算。
[0160]
基于此,在本实施例中,将目标疲态时间窗口对应的眼部状态信息和头部姿态信息与目标状态时间窗口对应的眼部状态信息和头部姿态信息进行差分计算,以检测所述待检对象是否处于疲劳状态的步骤可以包括:
[0161]
(1)将目标疲态时间窗口对应的眼部状态信息与目标状态时间窗口对应的眼部状态信息进行差分计算,得到眼部差分状态值。
[0162]
(2)将目标疲态时间窗口对应的头部姿态信息与目标状态时间窗口对应的头部姿态信息进行差分计算,得到头部差分姿态值。
[0163]
(3)检测眼部差分状态值是否大于设定眼部阈值,以及头部差分姿态值是否大于设定头部阈值。
[0164]
(4)若眼部差分状态值大于设定眼部阈值和/或头部差分姿态值大于设定头部阈值,设定待检对象处于疲劳状态。
[0165]
其中,由于目标疲态时间窗口与目标状态时间窗口的长度可能不同,为了便于计算,在将目标疲态时间窗口对应的眼部状态信息与目标状态时间窗口对应的眼部状态信息进行差分计算时,可以先计算目标疲态时间窗口对应的眼部状态信息的眼部状态指标值,以及目标状态时间窗口对应的眼部状态信息的眼部状态指标值,然后将目标疲态时间窗口对应的眼部状态指标值与目标状态时间窗口对应的眼部状态指标值进行差分计算,得到眼部差分状态值。
[0166]
相应地,在将目标疲态时间窗口对应的头部姿态信息与目标状态时间窗口对应的头部姿态信息进行差分计算时,同样可以先计算目标疲态时间窗口对应的头部姿态信息的头部姿态指标值,以及目标状态时间窗口对应的头部姿态信息的头部姿态指标值,然后将目标疲态时间窗口对应的头部姿态指标值与目标状态时间窗口对应的头部姿态指标值进行差分计算,得到头部差分姿态值。
[0167]
而由于目标状态时间窗口表示的是与目标疲态时间窗口相邻的前一个目标状态时间窗口,以及与目标疲态时间窗口相邻的后一个目标状态时间窗口,在本实施例中,可以将前一个目标状态时间窗口与目标疲态时间窗口对应的眼部状态指标值进行差分计算,得到第一眼部差分状态值,将后一个目标状态时间窗口与目标疲态时间窗口对应的眼部状态指标值进行差分计算,得到第二眼部差分状态值,然后将第一眼部差分状态值以及第二眼部差分状态值加权平均,确定得到最终的眼部差分状态值。例如,目标疲态时间窗口的前一个目标状态时间窗口为[t1,t2],目标疲态时间窗口为[t2,t3],目标疲态时间窗口的后一个目标状态时间窗口为[t3,t4],则可以先计算[t1,t2]的眼部状态信息的眼部状态指标值a1,[t2,t3]的眼部状态信息的眼部状态指标值a2,[t3,t4]的眼部状态信息的眼部状态指标值a3,然后对a1与a2进行差分计算,得到第一眼部差分状态值a1,对a3与a2进行差分计算,得到第二眼部差分状态值a2,然后将a1与a2进行加权平均,得到最终的眼部差分状态值|a1-a2|。
[0168]
也可以将前一个目标状态时间窗口与后一个目标状态时间窗口对应的眼部状态指标值加权平均,得到加权平均后的眼部状态指标值,然后将加权平均后的眼部状态指标值与目标疲态时间窗口对应的眼部状态指标值进行差分计算,得到眼部差分状态值。例如,
目标疲态时间窗口的前一个目标状态时间窗口为[t1,t2],目标疲态时间窗口为[t2,t3],目标疲态时间窗口的后一个目标状态时间窗口为[t3,t4],则可以先计算[t1,t2]的眼部状态信息的眼部状态指标值a1,[t2,t3]的眼部状态信息的眼部状态指标值a2,[t3,t4]的眼部状态信息的眼部状态指标值a3,然后对a1和a3进行加权平均,得到a2’,将a2’与a2进行差分计算,得到眼部差分状态值|a2
’‑
a2|。
[0169]
相应地,将目标疲态时间窗口对应的头部姿态指标值与目标状态时间窗口对应的头部姿态指标值进行差分计算时,也可以采用上述方式,在此不过多赘述。需要说明的是,计算眼部差分状态值与计算头部差分姿态值时,需要保证方式相同。例如,若计算眼部差分状态值时,若是先对两个目标状态时间窗口对应的眼部状态信息的眼部状态指标进行加权平均,得到加权平均后的眼部状态指标值,然后将加权平均后的眼部状态指标值与目标疲态时间窗口对应的眼部状态指标值进行差分计算,得到眼部差分状态值,那么在计算头部差分姿态值时,也需要采用该方式。
[0170]
在本实施例中,眼部状态指标值可以是均值、中值、方差值等,头部姿态指标值可以是均值、中值、方差值等。
[0171]
在得到眼部差分状态值以及头部差分姿态值后,即可检测眼部差分状态值是否大于设定眼部阈值,以及头部差分姿态值是否大于设定头部阈值。若眼部差分状态值大于设定眼部阈值和/或头部差分姿态值大于设定头部阈值,设定待检对象处于疲劳状态。若眼部差分状态值未大于设定眼部阈值且头部差分姿态值未大于设定头部阈值,设定待检对象未处于疲劳状态。
[0172]
本实施例提供的疲劳检测方法,在眼部状态信息的基础上,增加头部姿态信息,基于眼部状态信息与头部姿态信息的结合,来检测疲劳状态,降低目前闭眼检测的误报率。同时,针对目前检测噪声大,检测不准确的问题,引入差分思想,通过确定待检对象的目标疲态时间窗口以及与目标疲态时间窗口前后相邻的目标状态时间窗口,将目标疲态时间窗口对应的状态信息与目标状态时间窗口对应的状态信息进行差分计算,来检测待检对象是否处于疲劳状态,降低了检测噪声的影响,可以有效提高疲劳检测的准确性,降低疲劳驾驶运营成本。
[0173]
基于同一发明构思,请结合参阅图5,本实施例还提供一种疲劳检测装置10,应用于图1所示的电子设备,如图5所示,本实施例提供的疲劳检测装置10包括图像获取模块11、状态检测模块12、时间确定模块13以及疲劳检测模块14。
[0174]
图像获取模块11,用于获取待检对象的人脸时序图像。
[0175]
状态检测模块12,用于对人脸时序图像进行状态检测,得到待检对象的状态时序信息。
[0176]
时间确定模块13,用于根据状态时序信息,确定待检对象的目标疲态时间窗口,以及与目标疲态时间窗口前后相邻的目标状态时间窗口。
[0177]
疲劳检测模块14,用于将目标疲态时间窗口对应的状态信息与目标状态时间窗口对应的状态信息进行差分计算,以检测待检对象是否处于疲劳状态。
[0178]
在可选的实施方式中,状态时序信息包括眼部状态时序信息以及头部姿态时序信息;时间确定模块13用于:
[0179]
根据眼部状态时序信息,确定待检对象的闭眼时间窗口,以及与闭眼时间窗口前
后相邻的睁眼时间窗口,将闭眼时间窗口设置为目标疲劳时间窗口,睁眼时间窗口设置为目标状态时间窗口。
[0180]
疲劳检测模块14用于:
[0181]
将目标疲态时间窗口对应的眼部状态信息和头部姿态信息与目标状态时间窗口对应的眼部状态信息和头部姿态信息进行差分计算,以检测待检对象是否处于疲劳状态。
[0182]
在可选的实施方式中,疲劳检测模块14用于:
[0183]
将目标疲态时间窗口对应的眼部状态信息与目标状态时间窗口对应的眼部状态信息进行差分计算,得到眼部差分状态值。
[0184]
将目标疲态时间窗口对应的头部姿态信息与目标状态时间窗口对应的头部姿态信息进行差分计算,得到头部差分姿态值。
[0185]
检测眼部差分状态值是否大于设定眼部阈值,以及头部差分姿态值是否大于设定头部阈值。
[0186]
若眼部差分状态值大于设定眼部阈值和/或头部差分姿态值大于设定头部阈值,设定待检对象处于疲劳状态。
[0187]
在可选的实施方式中,时间确定模块13用于:
[0188]
根据眼部状态时序信息,确定得到连续闭眼的闭眼时段。
[0189]
检测闭眼时段是否大于设定时长阈值。
[0190]
若大于,根据闭眼时段对应的起始闭眼时刻以及终止闭眼时刻,确定得到闭眼时间窗口。
[0191]
统计与闭眼时间窗口前后相邻的睁眼时段,根据睁眼时段对应的起始睁眼时刻以及终止睁眼时刻,确定得到睁眼时间窗口。
[0192]
在可选的实施方式中,图像获取模块11用于:
[0193]
获取针对待检对象的时序图像,对时序图像进行人脸识别,得到时序图像中的人脸检测框以及各人脸检测框的坐标信息。
[0194]
确定时序图像的首帧图像的目标人脸检测框以及该目标人脸检测框的坐标信息。
[0195]
根据首帧图像的目标人脸检测框的坐标信息以及时序图像的其他图像中的各人脸检测框的坐标信息,确定得到时序图像的其他图像中的目标人脸检测框。
[0196]
对时序图像中的目标人脸检测框进行剪裁,得到人脸时序图像。
[0197]
在可选的实施方式中,状态检测模块12用于:
[0198]
根据预设的眼部状态检测网络,对人脸时序图像进行眼部状态检测,得到待检对象的眼部状态时序信息。
[0199]
根据预设的头部姿态检测网络,对人脸时序图像进行头部姿态检测,得到待检对象的头部姿态时序信息。
[0200]
根据眼部状态时序信息以及头部姿态时序信息,得到待检对象的状态时序信息。
[0201]
在可选的实施方式中,眼部状态检测网络包括局部检测分支以及全局检测分支,状态检测模块12用于:
[0202]
通过局部检测分支,对人脸时序图像进行区域处理,得到眼部局域图像,对眼部局域图像进行特征提取,得到待检对象的局部区域特征。
[0203]
通过全局检测分支,对人脸时序图像进行特征提取,得到待检对象的全局人脸特
征,对局部区域特征以及全局人脸特征进行融合处理,得到待检对象的眼部状态时序信息。
[0204]
在可选的实施方式中,头部姿态检测网络包括主干网络以及多个分支检测网络,状态检测模块12用于:
[0205]
通过主干网络,对人脸时序图像进行特征提取,得到主干特征。
[0206]
将主干特征分别输入至各分支检测网络,得到各分支检测网络对应的姿态预测值。
[0207]
根据各分支检测网络对应的姿态预测值,得到待检对象的头部姿态时序信息。
[0208]
本实施例提供疲劳检测装置,通过获取待检对象的人脸时序图像,对人脸时序图像进行状态检测,得到待检对象的状态时序信息,根据状态时序信息,确定待检对象的目标疲态时间窗口,以及与目标疲态时间窗口前后相邻的目标状态时间窗口,然后将目标疲态时间窗口对应的状态信息与目标状态时间窗口对应的状态信息进行差分计算,即可检测待检对象是否处于疲劳状态。如此,通过确定待检对象的目标疲态时间窗口以及与目标疲态时间窗口前后相邻的目标状态时间窗口,将目标疲态时间窗口对应的状态信息与目标状态时间窗口对应的状态信息进行差分计算,来检测待检对象是否处于疲劳状态,降低了检测噪声的影响,可以有效提高疲劳检测的准确性。
[0209]
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的疲劳检测装置10的具体工作过程,可以参考前述方法中的对应过程,在此不再过多赘述。
[0210]
在上述基础上,本实施例还提供一种可读存储介质,所述可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现前述任一实施方式所述的疲劳检测方法。
[0211]
其中,可读存储介质可以是,但不限于,u盘、移动硬盘、只读存储器(rom,read-only memory)、随机存取存储器(ram,random access memory)、磁碟或者光盘等各种可以存储程序代码的介质。
[0212]
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的可读存储介质的具体工作过程,可以参考前述方法中的对应过程,在此不再过多赘述。
[0213]
综上,本发明实施例提供一种疲劳检测方法、装置、电子设备和可读存储介质,通过获取待检对象的人脸时序图像,对人脸时序图像进行状态检测,得到待检对象的状态时序信息,根据状态时序信息,确定待检对象的目标疲态时间窗口,以及与目标疲态时间窗口前后相邻的目标状态时间窗口,然后将目标疲态时间窗口对应的状态信息与目标状态时间窗口对应的状态信息进行差分计算,即可检测待检对象是否处于疲劳状态。如此,通过确定待检对象的目标疲态时间窗口以及与目标疲态时间窗口前后相邻的目标状态时间窗口,将目标疲态时间窗口对应的状态信息与目标状态时间窗口对应的状态信息进行差分计算,来检测待检对象是否处于疲劳状态,降低了检测噪声的影响,可以有效提高疲劳检测的准确性。
[0214]
以上对本发明实施例所提供的疲劳检测方法、装置、电子设备和可读存储介质进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的技术方案及其核心思想;本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例的
技术方案的范围。
再多了解一些

本文用于创业者技术爱好者查询,仅供学习研究,如用于商业用途,请联系技术所有人。

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