使用Python,OpenCV,dlib进行睡意检测,可以看做是对上一篇博客眨眼检测的进阶。
使用Python,OpenCV,dlib进行睡意检测
1. 睡意检测依赖及原理
- 依赖面部检测,面部标志检测,眼睛纵横比EAR(Eye aspect Ratio);
- 眼睛纵横比EAR的值将近似恒定。然后,该值将在眨眼期间迅速降低至零,睁眼后又回到恒定值;
- 假设一个驾驶员的眼睛连续闭合了n多帧,则可以认为其疲劳驾驶中,给其一个提醒。
2. 睡意检测步骤
- 通过面部检测,面部标志检测获取到眼睛的具体坐标;
- 分别计算左右眼的纵横比ear;
- 设置一个闭眼的纵横比ear阈值;设置一个连续闭眼帧数,以此判断是否提醒。
- 如果连续闭合了n帧,则提醒驾驶员;
睡意检测器可以在各种条件下工作,包括在道路上行驶时直射阳光以及在混凝土停车场中时的低/人造照明。