人脸识别之疲劳检测(一)基本实现

图像采集、显示部分使用OpenCV

使用Openface 2 detect landmarks

face detect 用的MTCNN,论文地址:https://arxiv.org/abs/1604.02878v1            

github地址:https://github.com/kpzhang93/MTCNN_face_detection_alignment

训练完的model直接加载即可,该方法需要一定的上下文,单帧图像landmarks测试效果不好。

dlib检测出共68个landmarks,和libfacedetect landmarks数量相同,多于SSD的32个特征点,可在嵌入式embedded and mobile设备上实时运行,

其中眼睛部分共6个特征点(单眼),能检测出睁眼、闭眼状态(利用纵横比加权计算),通过PERCLOS计算判段是否疲劳。可检测出眼球凝视状态和凝视方位,具体效果有待测试,个人感觉特征点偏少。

该方法使用了Openface的最新版本,github地址:

https://github.com/TadasBaltrusaitis/OpenFace

眼睛部分少于Eye tracking的18个特征点(单眼),Eye tracking 在眼球有三个特征点,tracking

  • 6
    点赞
  • 62
    收藏
    觉得还不错? 一键收藏
  • 6
    评论
实现基于人脸识别疲劳驾驶检测,你可以按照以下步骤来设计算法: 1. 数据收集:收集大量的驾驶员疲劳和非疲劳状态下的人脸图像数据。这些图像应该包括不同姿势、光照条件和表情的驾驶员。 2. 人脸检测与关键点标定:使用人脸检测算法(如Haar级联检测器、YOLO等)来定位图像中的人脸,并使用关键点标定算法(如Dlib库)来标记人脸中的关键点(如眼睛、嘴巴等)。 3. 特征提取:基于关键点的位置,计算一些特征来表示人脸的状态。例如,可以计算眼睛的闭合程度、眼睛的红色程度等。 4. 疲劳判定模型训练:使用已标注好的数据集,训练一个机器学习模型(如支持向量机、随机森林、深度学习模型等)来判断人脸状态是否疲劳。将特征作为输入,标记为疲劳或非疲劳状态作为输出。 5. 实时检测:在实时视频流中,循环执行以下步骤: a. 使用人脸检测算法检测人脸,并使用关键点标定算法标记关键点。 b. 基于关键点计算特征。 c. 使用训练好的模型对特征进行预测,判断是否为疲劳状态。 d. 根据预测结果采取相应的措施,如发出警报、提醒驾驶员休息等。 这样,你就可以实现一个基于人脸识别疲劳驾驶检测系统。请注意,这只是一个基本的框架,具体的实现细节和算法选择可以根据实际需求进行调整和优化。
评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值