dlib疲劳检测_传统方法眼角定位和dilb 进行疲劳检测(眨眼检测)

传统方法眼角定位和dilb 进行疲劳检测(眨眼检测)

发布时间:2018-08-14 09:57,

浏览次数:747

, 标签:

dilb

安装第三方库文件

* opencv

* Dlib,安装方法见

https://www.learnopencv.com/install-opencv-3-and-dlib-on-windows-python-only/

* Numpy

* Imutils (一系列使得opencv 便利的功能,包括图像旋转、缩放、平移,骨架化、边缘检测、显示matplotlib

图像(imutils.opencv2matplotlib(image))

传统方法进行眼角定位

思路是:

1、利用opencv 自带训练好的 haarcascade_frontalface_default.xml 和 haarcascade_eye.xml

来检测脸部和眼睛

以脸部加载xml为例:

face=cv2.CascadeClassifier('haarcascade_frontalface_default.xml')

face.load(脸部xml的完整路径)

以上是加载xml方法,有很多介绍直接是face=cv2.CascadeClassifier(脸部xml的完整路径),通常会报错。

2、加载完xml 文件后,下一步就是detect,opencv

函数为detectMultiScale(img,scaleFactor,minNeighbors,minsize,maxsize)

scaleFactor 是压缩率,越小金字塔数目越多,相应的检测准确相对好点

minNeighbors 是同一张脸至少被检测n次才认为是真正的

Minszie以元组方式,(检测眼睛时候会用到,避免鼻子和其他部位产生的假阳性)

3、先检测脸,然后再脸的基础上再检测眼睛,到了这一步后,就是自己设计检测的眼角方法:

1)找轮廓,取最大轮廓

2)凸缺陷检测,得到所有凸点

3)眼角如何确定?----将凸点的x,y值相加,排序,最小的为左边眼角,最大的为右边眼角(见测试图)

dlib 疲劳检测

* 下载shape_predictor_68_face_landmarks.dat 文件,这是68个眼部特征点

* 初始化检测器和预测器 detector=dlib.get_frontal_face_detector() predictor =

dlib.shape_predictor(“dat文件路径”)

3 如何确定疲劳?

1) 计算眼睛的宽高比

2)当前帧两双眼睛宽高比与前一帧的差值的绝对值大于0.2,则认为是疲劳

程序如下:

# -*- coding: utf-8 -*- import os import numpy as np import cv2 import dlib

import sys from imutils import face_util

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值