每年大约20%的致命交通事故由疲劳驾驶引起。特别是对于经常需要长时间在路上跑的大货车,疲劳驾驶更是引发事故的重要主观因素。 当驾驶员处于轻微疲劳时,会出现注意力不集中、反应迟钝;当处于中度疲劳时,有可能会出现操作笨拙、甚至会忘记操作;当处于重度疲劳时,会出现短时间睡眠现象或无意识操作,甚至失去对车辆的控制能力。 针对营运类车辆,交通部门发布的115号文件明确要求重点对疲劳驾驶等不安全行为进行提醒和预警。在风险和政策的双重影响下,疲劳驾驶检测和预警成为了DMS(Driver Monitor System)解决方案中一项重要的功能模块。 DMS的核心功能之一就是监测驾驶员的疲劳和注意力分散程度。通过摄像头+视觉算法实现,算法包含譬如:人脸识别、面部角度、姿势位置、眼部形态、、嘴部形态等。 但是这些丰富的功能单靠主机厂或者Tier1在短期内是没办法完成的,所以DMS系统多数是以主机厂+算法企业或Tier1+算法企业合作实现的。虹软科技在计算机视觉技术方面有长期的积累,专对于汽车行业视觉相关功能需求开发了DMS、ADAS、BSD等产品,近几年虹软科技智能驾驶算法业务加快速度进行发展,与多家主机厂和Tier1均有合作。 凭借多年的算法积累,虹软对于疲劳的算法是基于深度学习、使用CNN对司机眼睛、嘴巴、头部等进行多特征的提取和识别,然后还结合了车辆速度、连续驾驶的时长以及驾驶时间段等数据,来对疲劳状态做综合判定。 在疲劳检测中,通过DMS摄像头识别并获取驾驶员头部、面部图像后,首先会对图像预处理。先进行Resize处理,去除噪声强调有用信息,增强图像对比度,凸显图像细节,提高图像质量;再进行归一化处理,将图片的特征属性值调整到同一量纲,可以某些特定的程度上提升模型精度,同时加速模型训练。 算法处理模块中,通过landmark标注的方法将驾驶员的面部特征分类出来重点是对眼部和嘴部进行特征分类。 在对驾驶员的眼睛、嘴巴疲劳状态检验测试过程中,虹软算法使用了多帧检测的方法。 进行眼部和嘴部检测时,会进行占空比过滤。在检测时间段内对眼部的单帧检测结果进行统计,如果眼睛闭合的持续帧数占比超过占空比,则判定闭眼行为存在,即处于疲劳状态;如未达到占空比,则认为闭眼行为不存在;目前占空比定义在70%-80%之间。嘴部状态的占空比过滤同理。 结合以上方式,可以大幅度降低疲劳驾驶的误检率和漏检率,测试下来虹软方案的准确率基本都达到了95%以上。 应用到具体的疲劳检测场景中,除了对司机的特征抓取、分析外,还会结合车辆信息数据来进行判断分析。 DMS检测会遇到很多特殊场景,在实际使用时都比较在意不同环境、场景下的检测效果。虹软的测试场景覆盖很全,百万级测试集,最大限度地考虑到了不同光线、不同动作、不同场景下的多种情况,比如像顺光时有可能会出现的强光过曝,逆光时会造成的全黑画面,侧光时的光晕现象,夜间噪点多等等。 综合看下来,虹软的疲劳检测算法已经很成熟,能够适用于车载类设备的封装,也可以直接用他们的软硬一体化产品做疲劳检测和报警,具体还是看各自的需求作选择吧。测试中个人会使用了软硬一体化的产品,由车载终端和车载DMS摄像头,标定、调校最简单,而且支持数据接入平台,车辆综合管理的场景均适用,能有效帮助驾驶员提升行车安全、帮企业安全生产。