目录
一、USB摄像头测试
二、face_recognition 人脸识别库的安装和测试方法
三、face_recognition 的测试方法
face_recognition的使用
定位人脸,人脸识别,识别单张图片中人脸的关键点,识别人脸并使用方框标注,比较两个人脸是否属于一个人,识别未知图片中的人脸是谁,识别 USB 摄像头中的人脸,使用 Web 服务上传图片运行人脸识别,face_detection 命令测试示例
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"
注意,此小节的内容都是在 桌面版本 的 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 的方法参考用户手册
注意,下面的操作都是在桌面中演示的,所以首先请连接好 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 "[email protected]" http://127.0.0.1:5001
test@test:~$ curl -XPOST -F "[email protected]" http://192.168.1.79:5001
orangepi@orangepi:~/face_recognition/examples$ cp obama2.jpg /home/orangepi/Desktop/
智能家居(1) —— 工厂模式引入&工厂模式实现继电器控制
智能家居(2) —— 工厂模式实现烟雾报警
智能家居(3) —— 串口通信(语音识别)线程控制
智能家居(4) —— 网络服务器线程控制
智能家居(5) —— 智能家居项目整合(语音控制线程,网络控制线程、烟雾报警线程)
网络编程知识预备(1) —— 7层OSI网络模型
网络编程知识预备(2) —— 三次握手与四次挥手、半连接状态、2MSL
网络编程知识预备(3) —— TCP流量控制(滑动窗口)、拥塞控制
网络编程知识预备(4) —— SOCKET、TCP、HTTP之间的区别与联系
网络编程知识预备(5) —— 了解应用层的HTTP协议与HTTPS协议
网络编程知识预备(6) —— libcurl库简介及其编程访问百度首页
智能家居(6) —— 香橙派摄像头安装实现监控功能
智能家居(7) —— 人脸识别 & 翔云平台编程使用(编译openSSL支持libcurl的https访问、安装SSL依赖库openSSL)
智能家居(8) —— 香橙派摄像头加入设备工厂