当前位置:   article > 正文

opencv-python 疲劳驾驶检测_疲劳驾驶检测素材

疲劳驾驶检测素材

在别人的代码上修改得到的,源代码好像不太准确,主要的原理就是用dlib工具找到68个人脸关键点,然后计算点之间的欧氏距离,具体得看你想要实现什么功能

我主要检测眼睛上的点和嘴巴上的点,当眼睛上的某几个点之间的距离小于设置的阈值几帧后,判断为打盹,也就是疲劳驾驶,有时候人瞌睡的时候也会打哈欠,所以也检测了嘴巴的点,但没有做优化,嘴巴部分还可以更进一步优化的,不过太花时间了,就先不做了,思路知道就行,果然搞这个最后都变成了调参。

  1. # -*- coding: utf-8 -*-
  2. #导入工具包
  3. from scipy.spatial import distance as dist
  4. from collections import OrderedDict
  5. import numpy as np
  6. import argparse
  7. import time
  8. import dlib #人脸识别相关
  9. import cv2
  10. FACIAL_LANDMARKS_68_IDXS = OrderedDict([ #由于原生的字典是无序的,现在用这个来提供有序的地点
  11. ("mouth", (48, 68)),
  12. ("right_eyebrow", (17, 22)),
  13. ("left_eyebrow", (22, 27)),
  14. ("right_eye", (36, 42)),
  15. ("left_eye", (42, 48)),
  16. ("nose", (27, 36)),
  17. ("jaw", (0, 17))
  18. ])
  19. # http://vision.fe.uni-lj.si/cvww2016/proceedings/papers/05.pdf
  20. def eye_aspect_ratio(eye):
  21. # 计算距离,竖直的
  22. A = dist.euc
声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/2023面试高手/article/detail/237799
推荐阅读
相关标签
  

闽ICP备14008679号