一直思考如何解决戴目镜戴口罩识别闭眼打哈欠
这个问题确实是DMS落地的一个硬骨头。口罩挡住嘴,眼镜反光挡住眼,传统的EAR(眼睛纵横比)和MAR(嘴巴纵横比)直接失效。不过行业内已经有不少人在啃这个,方向大致可以归纳成几条:
红外摄像头是基础
这是目前最主流的方案。红外光可以穿透大部分墨镜镜片,夜间也能工作,基本解决了"眼镜反光"的问题。 但红外对口罩无能为力,嘴部区域照样被挡住。
口罩场景:靠"上半张脸"推断
已有研究专门针对戴口罩场景做了优化,核心思路是:嘴被挡住了,就用其他特征补。
- 眼部特征强化:眨眼频率、闭眼时长(PERCLOS)仍然可用,而且戴口罩后眼部区域反而更突出,检测精度可以做到95%以上。
- 头部姿态:疲劳时会有微点头(0.5-2Hz),这个跟嘴眼无关,口罩挡不住。
- 面部关键点补偿:用优化过的landmark检测器,即使大面积遮挡也能推断出被挡住区域的状态。
眼镜场景:时序行为代替单帧判断
有研究提出一个思路:不依赖某一帧能不能看清眼睛,而是看一段时间内的行为模式——比如眨眼间隔的熵值、眼睑运动的能量变化、头部微动频率,把这些时序特征融合起来,即使眼睛完全被挡住也能检测出困倦,准确率超过90%。
多模态融合是趋势
单靠视觉总有盲区,所以越来越多方案在加其他信号:
- 心率/呼吸:通过rPPG(远程光电容积描记)从面部肤色微小变化提取心率,疲劳时心率变异性会改变。
- 方向盘握力、座椅压力:辅助判断驾驶员是否还在正常操控。
- 脑电:精度最高,但成本高、体验差,目前主要在商用车队和科研场景。
对你来说,几个务实的建议
1. 红外摄像头必须上,这是解决眼镜问题的最低成本方案。
2. 口罩场景不要死磕嘴部,把眼部+头部姿态+时序行为做扎实,已经能覆盖大部分疲劳特征。
3. 数据集要自己建:找一批人戴不同款式眼镜、不同口罩拍视频,专门训练遮挡场景下的模型。公开数据集里戴口罩的样本太少。
4. RV1106算力有限,模型要轻量化。可以考虑把遮挡检测做成一个独立模块——先判断"当前是否被遮挡",再动态切换检测策略。
这个方向不是无解的,只是需要多特征融合,不能只靠眼睛和嘴巴两个指标。你之前一直在想这个问题,说明已经意识到它是产品落地的关键卡点了。先把红外+眼部+头部姿态这三块跑通,口罩场景的准确率就能达到可用水平。
要不要说说遮挡检测模块怎么动态切换检测策略?这块是RV1106上实现的关键。
我知道答案
回答被采纳将会获得 0 酷币 + 88 酷币 已有0人回答
|