1.公交驾驶员疲劳参数补偿以及双轨并行检测方法,包括如下步骤:
S1、制定图像数据标签;
对驾驶员的眨眼、打哈欠的图像数据制定标签,具体包括:
a)眨眼:将从时间序列的角度对图像数据进行标注,即在睁眼到闭眼,再从闭眼到睁眼的完整过程中,由人工判断将完全闭眼的图像数据标注为闭眼状态,其余数据均标注为睁眼状态;
b)打哈欠:根据佩戴口罩与不佩戴口罩的打哈欠图像数据设定不同的标注方法;未佩戴口罩的打哈欠数据从连续时间序列的角度对图像的嘴部区域进行标注,且避免与正常讲话交流状态混淆,在多次实验后确定截取未佩戴口罩打哈欠完整时间序列图像中部X%的图像数据并对其嘴部区域标注为张嘴,其余均标注为闭嘴状态;
将口罩区域、眼部及附近区域的特点进行结合,佩戴口罩的打哈欠图像数据从完整时间序列的角度对图像的大面部撑开的口罩、眼部及附近区域进行标注;由于佩戴口罩后对于嘴部区域特征几乎消失,打哈欠的开始以及结束部分图像不再大幅度撑开口罩以及面部神情开始恢复平静,因此为提高佩戴口罩时打哈欠计数准确性,取佩戴口罩打哈欠完整时间序列图像中部Y%的图像数据标注为打哈欠;
S2、设立参数补偿方法;
由图像数据预处理方法原理可知,当前闭眼、张嘴、打哈欠的图像帧预测数量相较于人脸关键点算法偏少,因此设立疲劳参数补偿方法;基于Dlib库利用人脸关键点算法计算出公交驾驶员在正脸状态下闭眼、张嘴的帧数,并与当前数据预处理方法进行比较,根据比值进行补偿;
S21)计算眼睛纵横比;
EAR为眼睛纵向界标与横向界标之间的欧式距离比值,可直接反应眼睛闭合程度;根据眼睛6个关键点位置;EAR计算公式为当公交驾驶员眼睛睁开时,EAR值保持动态平衡,即处于小幅波动;但当公交驾驶员眼睛闭合时,EAR值会迅速下降,并在眼睛再次睁开时迅速恢复到动态平衡;因此EAR值在结合P80标准后可直接反应眼睛睁闭状态;截取多位公交模拟驾驶员正脸状态下眨眼图像,利用Dlib库中人脸关键点检测器计算驾驶员左右眼EAR值并取均值;
S22)计算嘴巴纵横比;
参考眼睛纵横比定义方法,根据嘴巴8个特征点,嘴巴纵横比MAR特征点计算公式为嘴巴纵横比由嘴部内轮廓的8个特征点计算所得,可直接反应嘴部的张开程度;由图公交驾驶员在停靠站时会与上下车乘客进行频繁交流,需设定MAR阈值区分打哈欠和正常说话时嘴部张开幅度;
S23)确立EAR和MAR阈值;
为确定公交驾驶员正脸状态下EAR值和MAR值的波动范围,截取视频中正脸状态数据,并分别计算处理后的视频流数据中EAR和MAR的最大值、最小值;最后参考perclos中P80指标确定EAR和MAR阈值,阈值计算公式为EAR=(EAR,max‑EAR,min)(1‑X1)+EAR,min (3)MAR=(MAR,max‑MAR,min)(1‑X2)+MAR,min (4)取X1为0.8,即表示眼睛闭合程度大于眼睑覆盖瞳孔的80%时视为闭眼;同理,X2取0.2,即嘴巴张开程度大于最大张度的80%视为打哈欠动作;
S24)求取补偿参数;
由上述方法确定EAR和MAR阈值,完整截取公交驾驶员正脸状态下眨眼、打哈欠未佩戴口罩图像序列帧,根据阈值确定闭眼和打哈欠帧数,并将此帧数与目标检测算法标签设置帧数比较,以此计算出比值,比值S的计算公式为分别统计了眨眼次数为100次、500次、1000次时关键点帧数与目标检测标签帧数,计算得到比值Seye区间;通过增加眨眼样本数量提高比值Seye的精准度;
打哈欠帧数统计方法与眨眼相同,计算得到关键点帧数与目标检测标签帧数比值Syawn区间;
由于比值Syawn是未佩戴口罩情况,根据目标检测标签预处理方法,戴口罩情况下Syawn‑mask值计算公式为S3、疲劳状态时间序列双轨划分;
图像帧按时间序列检测完毕后输出各项区域检测结果,结合车速车况按完整时间片段结果划分至双轨时间序列,即正常驾驶序列和怠速驾驶序列;正常驾驶序列为公交车处于正常驾驶状态,怠速驾驶序列指公交车处于停靠站、等待交通信号灯、礼让行人驾驶员有较长等待时间的驾驶状态;两个序列将时间片分别进行拼接,并在各自的序列上从连续时间角度分析疲劳状态,具体步骤如下:S31:结合车速车况传感器实时获取公交车车速,再次校核车速车况采集设备与移动端图像采集设备时间维度的一致性;
S32:将公交车车速为0km/h以及从0km/h恢复车速作为时间片划分节点;避免节点划分时将眼部检测眨眼和嘴部检测打哈欠计数的完整序列打断,因此比较节点前后计数序列帧数,将计数序列完整划分至帧数多的一侧时间序列;
S33:若10秒内未出现公交车车速为0km/h的情况,则直接将该10秒时间片对应的图像帧检测结果划分给正常驾驶序列;若出现节点,则先将节点前的时间片对应的图像帧检测结果划分给正常驾驶序列,并从节点开始计算公交车怠速时长;若怠速时长小于5秒,即公交车在5秒内恢复了车速,经过多次可知公交车驾驶员在此期间注意力并未发生明显转移,仍专注于路面状况,处于正常驾驶状态;因此从恢复车速的节点划分,并将车速为0km/h的节点到恢复车速的节点的时间片段及相关结果划分至正常驾驶序列;若怠速时长大于5秒且少于10秒,则将车速为0km/h的节点到恢复车速的节点的时间片段及结果划分至怠速驾驶序列;若怠速时长大于10秒,则以每10秒作为时间片长度划分,并将划分的时间片段以及最后小于等于10秒的时间片段依次划分至怠速驾驶序列;
S34:两个驾驶序列分别将划分至各自的时间片及对应的图像帧检测结果进行拼接,并将图像帧结果重新对应两个序列时间维度,即各自从头开始,以帧数作为横坐标;
S4、设定疲劳状态时间序列双轨预警机制;
由于进行时间序列双轨划分,因此需要对两个驾驶序列分别设定预警机制;分析数据包括眨眼帧数、眨眼频率、张嘴帧数、打哈欠次数;定义percloseye计算单位内闭眼帧数与总帧数的比例关系,能反映出眼睛闭合持续时间占检测时间的比值以及驾驶员疲劳状态,如公式7所示;眨眼次数Neye则按各序列计数相加;
式中,teye表示眼睛闭合帧数;Teye表示单位时间的总帧数;
根据每分钟内时间和帧数之间的关系,定义perclosmouth和perclosmouth‑mask,以此疲劳评判描述为局部连续性的单位时间内张嘴特征频率的增加,如公式8、9所示;
式中,tmouth表示张嘴的帧数;Tmouth表示单位时间的总帧数;tmouth‑mask表示打哈欠帧数;
Tmouth‑mask表示单位时间的总帧数;
S41)设定正常驾驶序列预警机制:
经过模拟驾驶平台实验发现公交驾驶员在专注驾驶时眨眼频次明显降低,且在较长时间专注后因眼睛干涩会出现短时间内多次眨眼的现象;当驾驶员处于疲劳状态时,会出现眼睛迟钝的现象,眨眼频率会低于正常值;此外,一些驾驶员会通过频繁眨眼来抵抗疲劳,导致眨眼频率高于正常值,所以眨眼频率过低或过高都表示疲劳程度的加深;根据上述现象,正常驾驶序列驾驶预警机制如下,单位时间为1分钟:式中,percloseye表示闭眼帧数所占单位时间比值,perclosmouth表示张嘴帧数所占单位时间比值,perclosmouth‑mask表示佩戴口罩情况下打哈欠帧数所占单位时间比值,Neye表示单位时间眨眼次数,stateseye表示眼睛检测结果;满足上述任意条件则判定该公交驾驶员在正常驾驶序列下为疲劳状态,进行预警提醒;
S42)设定怠速驾驶序列预警机制:
经过模拟驾驶平台实验发现公交驾驶员因在正常驾驶情况下专注度较高,车辆处于怠速状态后,整体专注度降低,存在打哈欠、眨眼频率大幅度提高的情况,但在怠速阶段进行短暂修正后仍可正常驾驶车辆;根据上述现象,怠速驾驶序列驾驶预警机制如下,单位时间为1分钟:式中字符表示含义与公式10相同。