目录
二、face_recognition 人脸识别库的安装和测试方法
定位人脸,人脸识别,识别单张图片中人脸的关键点,识别人脸并使用方框标注,比较两个人脸是否属于一个人,识别未知图片中的人脸是谁,识别 USB 摄像头中的人脸,使用 Web 服务上传图片运行人脸识别,face_detection 命令测试示例
一、USB摄像头测试
2) 然后通过 lsmod 命令可以看到内核自动加载了下面的模块
3) 通过 v4l2-ctl 命令可以看到 USB 摄像头的设备节点信息为 /dev/video0
orangepi@orangepi:~$ sudo apt update
orangepi@orangepi:~$ sudo apt install -y v4l-utils
orangepi@orangepi:~$ v4l2-ctl --list-devices
注意 v4l2 中的 l 是小写字母 l ,不是数字 1 。另外 video 的序号不一定都是 video0 ,请以实际看到的为准。
a. 下载 mjpg-streamer
git clone https://github.com/jacksonliam/mjpg-streamer
git clone https://gitee.com/leeboby/mjpg-streamer
orangepi@orangepi:~$ sudo apt-get install -y cmake libjpeg8-dev
orangepi@orangepi:~$ sudo apt-get install -y cmake libjpeg62-turbo-dev
orangepi@orangepi:~$ cd mjpg-streamer/mjpg-streamer-experimental
orangepi@orangepi:~/mjpg-streamer/mjpg-streamer-experimental$ make -j4
orangepi@orangepi:~/mjpg-streamer/mjpg-streamer-experimental$ sudo make install
注意, video 的序号不一定都是 video0 ,请以实际看到的为准。
orangepi@orangepi:~/mjpg-streamer/mjpg-streamer-experimental$ export LD_LIBRARY_PATH=.
orangepi@orangepi:~/mjpg-streamer/mjpg-streamer-experimental$sudo ./mjpg_streamer -i "./input_uvc.so -d /dev/video0 -u -f 30" -o "./output_http.so -w ./www"


二、face_recognition 人脸识别库的安装和测试方法
注意,此小节的内容都是在 桌面版本 的 Linux 系统中测试的,所以请确保开发 板使用的系统为桌面版本的系统。另外下面的安装测试都是在 orangepi 用户下进行的,请保持环境一致。
https://github.com/ageitgey/face_recognition
https://github.com/ageitgey/face_recognition/blob/master/README_Simplified_Chinese.md
使用脚本自动安装 face_recognition 的方法
1) 首先在桌面中打开一个终端,然后下载 face_recognition_install.sh
orangepi@orangepi:~/Desktop$ wgethttps://gitee.com/leeboby/face_recognition_install/raw/master/face_recognition_install.sh
2) 然后执行下面的命令开始安装 face_recognition
orangepi@orangepi:~/Desktop$ bash face_recognition_install.sh
手动安装 face_recognition 的方法参考用户手册
三、face_recognition 的测试方法
注意,下面的操作都是在桌面中演示的,所以首先请连接好 HDMI 显示器,或者使用 NoMachine/VNC 远程登录 Linux 桌面来测试。
a. GitHub 官方的下载地址
orangepi@orangepi:~$ git clone https://github.com/ageitgey/face_recognition.git
orangepi@orangepi:~$ git clone https://gitee.com/leeboby/face_recognition.git
face_recognition/examples
https://github.com/ageitgey/face_recognition/blob/master/README_Simplified_Chinese.md
orangepi@orangepi:~$ cd face_recognition/examplesorangepi@orangepi:~/face_recognition/examples$ python3 find_faces_in_picture.py
b. 等待一段时间会弹出下面的图片,这就是在测试图片中定位到的人脸
orangepi@orangepi:~$ cd face_recognition/examplesorangepi@orangepi:~/face_recognition/examples$ python3 find_facial_features_in_picture.py
6) identify_and_draw_boxes_on_faces.py 用来识别人脸并使用方框标注,测试步骤如下所示
orangepi@orangepi:~$ cd face_recognition/examplesorangepi@orangepi:~/face_recognition/examples$ python3 identify_and_draw_boxes_on_faces.py
orangepi@orangepi:~$ cd face_recognition/examplesorangepi@orangepi:~/face_recognition/examples$ python3 face_distance.py
orangepi@orangepi:~$ cd face_recognition/examplesorangepi@orangepi:~/face_recognition/examples$ python3 \recognize_faces_in_pictures.py
orangepi@orangepi:~/face_recognition/examples$ python3 facerec_from_webcam_faster.py
orangepi@orangepi:~$ python3 -m pip install flask
orangepi@orangepi:~$ cd face_recognition/examples
root@orangepi:~/face_recognition/examples$ python3 web_service_example.py
orangepi@orangepi:~/face_recognition/examples$ curl -XPOST -F "file=@obama2.jpg" http://127.0.0.1:5001
test@test:~$ curl -XPOST -F "file=@obama2.jpg" http://192.168.1.79:5001
orangepi@orangepi:~/face_recognition/examples$ cp obama2.jpg /home/orangepi/Desktop/

智能家居项目目录
智能家居(5) —— 智能家居项目整合(语音控制线程,网络控制线程、烟雾报警线程)
网络编程知识预备(2) —— 三次握手与四次挥手、半连接状态、2MSL
网络编程知识预备(3) —— TCP流量控制(滑动窗口)、拥塞控制
网络编程知识预备(4) —— SOCKET、TCP、HTTP之间的区别与联系
网络编程知识预备(5) —— 了解应用层的HTTP协议与HTTPS协议
网络编程知识预备(6) —— libcurl库简介及其编程访问百度首页
智能家居(7) —— 人脸识别 & 翔云平台编程使用(编译openSSL支持libcurl的https访问、安装SSL依赖库openSSL)