智能家居(6) —— 香橙派摄像头安装实现监控功能

这篇具有很好参考价值的文章主要介绍了智能家居(6) —— 香橙派摄像头安装实现监控功能。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

智能家居(6) —— 香橙派摄像头安装实现监控功能

目录

一、USB摄像头测试

二、face_recognition 人脸识别库的安装和测试方法

三、face_recognition 的测试方法


face_recognition的使用

        定位人脸,人脸识别,识别单张图片中人脸的关键点,识别人脸并使用方框标注,比较两个人脸是否属于一个人,识别未知图片中的人脸是谁,识别 USB 摄像头中的人脸,使用 Web 服务上传图片运行人脸识别,face_detection 命令测试示例

一、USB摄像头测试

1) 首先将 USB 摄像头插入到 Orange Pi 开发板的 USB 接口中

2) 然后通过 lsmod 命令可以看到内核自动加载了下面的模块

智能家居(6) —— 香橙派摄像头安装实现监控功能

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

 智能家居(6) —— 香橙派摄像头安装实现监控功能

注意 v4l2 中的 l 是小写字母 l ,不是数字 1
另外 video 的序号不一定都是 video0 ,请以实际看到的为准。
4) 使用 mjpg-streamer 测试 USB 摄像头

        a. 下载 mjpg-streamer

                a) Github 的下载地址:
git clone https://github.com/jacksonliam/mjpg-streamer
                b) Gitee 的镜像下载地址为:
git clone https://gitee.com/leeboby/mjpg-streamer
        b. 安装依赖的软件包
                a) Ubuntu 系统
orangepi@orangepi:~$ sudo apt-get install -y cmake libjpeg8-dev
                b) Debian 系统
orangepi@orangepi:~$ sudo apt-get install -y cmake libjpeg62-turbo-dev
        c. 编译安装 mjpg-streamer
 
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
        d. 然后输入下面的命令启动 mjpg_streamer
注意, 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"
vi start.sh 智能家居(6) —— 香橙派摄像头安装实现监控功能
        
        e. 然后在和开发板同一局域网的 Ubuntu PC 或者 Windows PC 或者手机的浏览器中输入【开发板的 IP 地址 :8080 】就能看到摄像头输出的视频了
智能家居(6) —— 香橙派摄像头安装实现监控功能
        
        f. 推荐使用 mjpg-streamer 来测试 USB 摄像头,比 motion 流畅很多,使用 mjpg-streamer 感觉不到任何卡顿

二、face_recognition 人脸识别库的安装和测试方法

        注意,此小节的内容都是在 桌面版本 Linux 系统中测试的,所以请确保开发 板使用的系统为桌面版本的系统。
        另外下面的安装测试都是在 orangepi 用户下进行的,请保持环境一致。
face_recognition 源码仓库的地址为:
https://github.com/ageitgey/face_recognition
face_recognition 中文版本的说明文档为:
https://github.com/ageitgey/face_recognition/blob/master/README_Simplified_Chi
nese.md

使用脚本自动安装 face_recognition 的方法

1) 首先在桌面中打开一个终端,然后下载 face_recognition_install.sh

orangepi@orangepi:~/Desktop$ wget 
https://gitee.com/leeboby/face_recognition_install/raw/master/face_recognition_install.sh

2) 然后执行下面的命令开始安装 face_recognition

orangepi@orangepi:~/Desktop$ bash face_recognition_install.sh
3) face_recognition 安装完后会自动下载 face_recognition 的源码,然后自动运行face_recognition 中的一些示例,如果最后能看到桌面上弹出了下面的这些图片就说明 face_recognition 安装测试成功了

 手动安装 face_recognition 的方法参考用户手册

三、face_recognition 的测试方法

        注意,下面的操作都是在桌面中演示的,所以首先请连接好 HDMI 显示器,或
者使用 NoMachine/VNC 远程登录 Linux 桌面来测试。
1) face_recognition 的源码中有一些示例代码,我们可以直接用来测试,face_recognition 源码的下载地址如下所示:

        a. GitHub 官方的下载地址

orangepi@orangepi:~$ git clone https://github.com/ageitgey/face_recognition.git
        b. Gitee 镜像下载地址
orangepi@orangepi:~$ git clone https://gitee.com/leeboby/face_recognition.git
2) face_recognition 示例代码的路径如下所示
face_recognition/examples
3) face_recognition 的中文说明文档链接如下所示,使用 face_recognition 前请仔细阅
读下
https://github.com/ageitgey/face_recognition/blob/master/README_Simplified_Chi
nese.md
4) find_faces_in_picture.py 用来在图片中定位人脸的位置,测试步骤如下所示
        a. 在桌面中打开一个终端,然后进入 face_recognition/examples 目录,再执行下面的命令
orangepi@orangepi:~$ cd face_recognition/examples
orangepi@orangepi:~/face_recognition/examples$ python3 find_faces_in_picture.py
I found 1 face(s) in this photograph.
A face is located at pixel location Top: 241, Left: 419, Bottom: 562, Right: 740

        b. 等待一段时间会弹出下面的图片,这就是在测试图片中定位到的人脸

5) find_facial_features_in_picture.py 用来识别单张图片中人脸的关键点,测试步骤如下所示
        
        a. 在桌面中打开一个终端,然后进入 face_recognition/examples 目录,再执行下面的命令
orangepi@orangepi:~$ cd face_recognition/examples
orangepi@orangepi:~/face_recognition/examples$ python3  find_facial_features_in_picture.py
        b. 等待一段时间会弹出下面的图片,可以看到将人脸轮廓都标注出来了

6) identify_and_draw_boxes_on_faces.py 用来识别人脸并使用方框标注,测试步骤如下所示

        a. 在桌面中打开一个终端,然后进入 face_recognition/examples 目录,再执行下面的命令
orangepi@orangepi:~$ cd face_recognition/examples
orangepi@orangepi:~/face_recognition/examples$ python3  identify_and_draw_boxes_on_faces.py
        b. 等待一段时间会弹出下面的图片,可以看到将图片中的人脸都使用方框标注出来了,并且正确显示了人物的名字
7) face_distance.py 用来在不同精度上比较两个人脸是否属于一个人,首先打开一个终端,然后进入 face_recognition/examples 目录,再执行下面的命令就可以看到测试的输出结果
orangepi@orangepi:~$ cd face_recognition/examples
orangepi@orangepi:~/face_recognition/examples$ python3 face_distance.py
The test image has a distance of 0.35 from known image #0
- With a normal cutoff of 0.6, would the test image match the known image? True
- With a very strict cutoff of 0.5, would the test image match the known image? True
The test image has a distance of 0.82 from known image #1
- With a normal cutoff of 0.6, would the test image match the known image? False
- With a very strict cutoff of 0.5, would the test image match the known image?
        False
8) recognize_faces_in_pictures.py 用来识别未知图片中的人脸是谁。首先打开一个终端,然后进入 face_recognition/examples 目录,再执行下面的命令,等待一端时间后就能看到测试结果
orangepi@orangepi:~$ cd face_recognition/examples
orangepi@orangepi:~/face_recognition/examples$ python3 \
recognize_faces_in_pictures.py
Is the unknown face a picture of Biden? False
Is the unknown face a picture of Obama? True
Is the unknown face a new person that we've never
9) facerec_from_webcam_faster.py 用来识别 USB 摄像头中的人脸,测试步骤如下所示:
        a. 首先请将 USB 摄像头插入开发板的 USB 接口中,然后通过 v4l2-ctl 注意 v4l2 中的 l 是小写字母 l ,不是数字 1 )命令查看下 USB 摄像头的设备节点的序号
        b. 然后在桌面中打开一个终端,进入 face_recognition/examples 目录后,首先修改下 facerec_from_webcam_faster.py 中使用的摄像头的设备序号。比如上面通过 v4l2-ctl --list-devices 命令查看到 USB 摄像头为 /dev/video1 ,那就修改 cv2.VideoCapture(0) 中的 0 1
        
        c. 然后执行下面的命令运行 facerec_from_webcam_faster.py
orangepi@orangepi:~/face_recognition/examples$ python3 facerec_from_webcam_faster.py
        d. 等待一段时间会弹出摄像头的显示画面
        e. 此时可以将摄像头对准自己,当摄像头检测到人脸时,会将检测到的人脸使用方框框起来。注意,检测人脸时,摄像头显示的画面会比较卡顿,请不 要移动过快
        f. 还可以打开一张奥巴马的图片,然后使用摄像头对准打开的图片,可以看到不仅能将人脸标注出来,还能正确显示检测到的人脸的名字。注意,检测人 脸时,摄像头显示的画面会比较卡顿,请不要移动过快
10) web_service_example.py 是一个非常简单的使用 Web 服务上传图片运行人脸识别的案例,后端服务器会识别这张图片是不是奥巴马,并把识别结果以 json 键值对输出,测试步骤如下所示:
        a. 在桌面中打开一个终端,然后进入 face_recognition/examples 目录,再执行下面的命令( 如果是使用脚本自动安装的 face_recognition ,那么就不需要 安装 flask

orangepi@orangepi:~$ python3 -m pip install flask

orangepi@orangepi:~$ cd face_recognition/examples

root@orangepi:~/face_recognition/examples$ python3 web_service_example.py

        b. 然后运行下面的命令就可以返回图片识别的结果(注意,下面的命令执行路径为 face_recognition/examples
orangepi@orangepi:~/face_recognition/examples$ curl -XPOST -F "file=@obama2.jpg" http://127.0.0.1:5001
{
"face_found_in_image": true,
"is_picture_of_obama": true
}
        c. 我们也可以将 face_recognition/examples/obama2.jpg 这张图片拷贝到其他的 Linux 电脑中,当然也可以自己准备一张名为 obama2.jpg 的图片,然后在 Linux 电脑中可以使用下面的命令远程通过开发板运行的服务来识别人脸(注意命令中的 IP 地址需要替换为开发板的 IP 地址, file 后的文件名需 要替换为想要测试的图片的名字

 test@test:~$ curl -XPOST -F "file=@obama2.jpg" http://192.168.1.79:5001

        d. 使用浏览器测试的方法如下所示:
                a) 首先打开浏览器,然后在浏览器的地址栏输入开发板的 IP 地址 :5001 ,然后就能看到下面的页面

智能家居(6) —— 香橙派摄像头安装实现监控功能

                b) 然后将 obama2.jpg 复制到桌面
orangepi@orangepi:~/face_recognition/examples$ cp obama2.jpg /home/orangepi/Desktop/
                c) 然后在浏览器中选择刚才复制的图片
                d) 然后点击 Upload 上传刚才选择的图片进行人脸识别
                e) 等待一段时间后就会显示检测的结果
11) face_detection 命令测试示例
详情请看用户手册

智能家居项目目录

智能家居(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) —— 香橙派摄像头加入设备工厂文章来源地址https://www.toymoban.com/news/detail-404445.html

到了这里,关于智能家居(6) —— 香橙派摄像头安装实现监控功能的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 智能车摄像头算法——圆环元素

    搜上下边线,处理圆环的时,可以利用上下边线的特点。 找凸起的弧,用于圆环的检测。如下图红色的线。 RoundaboutGetArc函数中传入的num代表着,要检测的这个圆弧大小,要求这个圆弧包含多少个点。 以左圆环为例: 先判断边线丢不丢线,不丢线再进行下一步。由于是遍历

    2024年04月27日
    浏览(57)
  • 智能车摄像头三轮PID参数调节

    代码已上传CSDN,包含摄像头和PID控制,设置了VIP可取这个小门槛,有兴趣可以点击下方链接自取哈。 https://download.csdn.net/download/weixin_53129688/87714428 https://download.csdn.net/download/weixin_53129688/87714428  

    2024年02月11日
    浏览(45)
  • 智能车摄像头基本循迹控制

    基于摄像头的三种基本巡线控制 开源代码地址: https://github.com/ittuann/Enterprise_E 博客目录: https://blog.csdn.net/sorcererr/article/details/124989905 https://ittuann.github.io/2021/08/30/Car.html 摄像头程序处理后会给出一条中线,使用计算中线与标准值误差,赋予转向环PID。 三行巡线: 类似于线性

    2024年02月11日
    浏览(34)
  • 基于图片、无人机、摄像头拍摄进行智能检测功能

    根据要求进行无人机拍摄的视频或图片进行智能识别,开发过程需要事项 1、根据图片案例进行标记,进行模型训练 2、视频模型训练 开发语言为python 根据需求功能进行测试结果如下 根据车辆识别标记进行的测试结果截图 测经过查看视频 8月1日 封装一个API接口进行调用图片

    2024年02月13日
    浏览(40)
  • 树莓派4B摄像头安装+Ubuntu22.04系统摄像头识别

    树莓派4B安装上摄像头后,是不能立即使用的,需要进行一些配置才能使用,本文详细说明了配置过程和测试结果。 执行以下命令,检测是否可以识别摄像头: 结果如下: 返回结果:supported=0 detected=0,说明此时摄像头硬件还没有识别出来,而且设备是不支持摄像头配件的,

    2024年02月22日
    浏览(80)
  • 人工智能在图像处理中的应用:智能摄像头与视觉识别

    人工智能(Artificial Intelligence, AI)是一种计算机科学的分支,旨在模拟人类智能的行为和能力。其中,图像处理和视觉识别是人工智能领域中的重要应用领域。随着计算能力的提高和数据量的增加,人工智能在图像处理和视觉识别方面取得了显著的进展。 智能摄像头是一种具有

    2024年02月20日
    浏览(64)
  • jetson nano 智能小车1.0(实现键盘控制、加装摄像头)

    实验剩了一个jetson nano 开发板,闲着也是闲着,拿过来搞点好玩的,jetson nano 和树莓派差不多,加个L298N电机驱动板模块,买两个直流电机就行,目前图省事儿使用无线键盘控制,缺点是不知道程序目前的执行状态,后面考虑加个led指示灯 1.1主要硬件 jetson nano主控板一个 L2

    2024年04月25日
    浏览(43)
  • 毕业设计:基于深度学习的摄像头人脸识别系统 人工智能

    目录 前言 课题背景和意义 实现技术思路 一、算法理论基础 1.1 人脸检测技术 1.2 活体检测技术 二、 数据集 2.1 数据集 2.2 数据扩充 三、实验及结果分析 3.1 实验环境搭建 3.2 模型训练 最后     📅大四是整个大学期间最忙碌的时光,一边要忙着备考或实习为毕业后面临的就

    2024年04月27日
    浏览(59)
  • 第十八届全国大学生智能汽车竞赛——摄像头算法(附带个人经验)

    参加了第十六,十七和第十八届全国大学生智能车竞赛,对摄像头的学习有部分心得,分享给大家,三届车赛,车赛生涯也算是到了尽头。打算从基础的算法开始,给各位一些个人看法,也是对车赛的一次总结。 闲话 :其实摄像头的算法有很多种,弄了两年摄像头,也只是

    2024年02月07日
    浏览(45)
  • 边缘计算AI智能盒子的视频源必须是固定点监控摄像头吗?

    边缘计算AI盒子的视频输入源,要求是RTSP或者GB28181,可以是固定点监控摄像头(枪机、球机等),也可以是移动摄像头,例如执法记录仪、智能安全帽、布控球等,但由于RTSP输入要求摄像头有固定IP,而4G/5G拨号的移动摄像头是无法提供固定IP的,因此,这种情况下,可以不

    2024年02月04日
    浏览(52)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包