dlib疲劳检测_使用OpenCv和Dlib进行打哈欠检测

OpenCV: OpenCV是一个用于计算机视觉的库函数,最初是用c++编写的。

Dlib: Dlib是一个Python库,包含了数据挖掘、数据结构、机器学习、图像处理等工具。

打哈欠检测与应用

打哈欠检测就是使用OpenCV和Dlib来检测打哈欠(由于疲劳或无聊而张大嘴巴深吸气)。可广泛应用于自驾车、驾驶员疲劳检测、驾驶员睡意检测、驾驶员意识检测等领域。

安装OpenCv和Dlib库

OpenCv的安装如下:

pip install opencv-python

Dlib的安装如下:

pip install cmakepip install dlib

导入Opencv,Dlib和Numpy库

设置dat文件

我们将.dat文件放置到工作目录中,它是一个可以识别面部特征并提供信息的模型。Dlib将从文件中提取所有信息,使用opencv查找不同的特征。

定义函数获取landmarks并使用颜色对其进行注释

形状预测器(dat文件)用于从图像中提取信息,例如眼角,鼻子周围的区域等。图像被转换为矩阵,并且annotate_landmarks()函数标记这些特征/信息,其他函数使用这些特征/信息来提取各种像上嘴唇,上嘴等

提取有关各种特征的关键信息,以检测打哈欠

当yawn_status为True时,打开摄像头并定义打哈欠标准,然后相应地分配操作。Python实现如下:

如果lip_distance大于25,则(yawn_status)被定义为打呵欠。在这种情况下,屏幕上会出现“Employee is Yawning”的文字,然后我们播放mp3文件。如果Yawn_status为true,则“Yawn Count”将继续显示该对象打哈欠的次数。

实时显示Landmark如下所示

你可能感兴趣的:(dlib疲劳检测)