我之前写的关于DuerOS开发日记:
今天看了2017百度世界大会上李彦宏董事长介绍了百度的疲劳驾驶检测,正好我之前阿德里安·罗斯布鲁克的文章中介绍了利用Facial landmarks + drowsiness detection with OpenCV and dlib在树莓派上进行疲劳驾驶检测,当然这个准确性肯定没有百度的准确但是给我们玩是够了的。阿德里安·罗斯布鲁克他在文章中利用的是TrafficHAT进行警告我进行了简化,使用espeak进行语音警告'hi,wake up!'。
现在进入正题。
硬件:一个树莓派一个音箱。
1.软件安装
关于numpy、dlib、opencv在树莓派上的安装我在【君奉天|开发日记】人脸识别-更新已完结,可用求顶中已经详细介绍过了,大家可以去看一下。
sudo pip install RPi.GPIO
sudo pip install gpiozero
sudo pip install imutils
sudo apt-get install espeak python espeak
sudo apt-get install python-pyaudio
2.软件检测
检测软件是否安装
python
>>> import RPi.GPIO
>>> import gpiozero
>>> import numpy
>>> import dlib
>>> import cv2
>>> import imutils
如果没有报错,说明成功了。在此说明我这里用的是python2.7为例的。
我们测试一下espeak:
espeak "hello world
但可能会爆这个错误。
通过下面四步即可解决。
pulseaudio --kill
jak_control start
jak_control exit
pulseaudio --start
3.代码
以下是test.py代码。
from imutils.video import VideoStream
from imutils import face_utils
import numpy as np
import argparse
import imutils
import time
import dlib
import cv2
def euclidean_dist(ptA, ptB):
# compute and return the euclidean distance between the two
#