??本项目是一个嵌入式开发的人脸识别项目,为开发板自制PYNQ镜像,通过socket通信将笔记本摄像头画面实时传输至开发板,然后使用开发板上的人脸识别模型进行检测后,将识别画面传输回笔记本进行显示。
项目整体设计框架图如下所示:
系统处理流程图如下所示:
开发板 | ZYNQ_MINI(ZYNQ_ECO) |
---|---|
芯片型号 | ZYNQ-7000?XC7Z020 |
操作系统 | Ubuntu 18.04.06、windows11 |
镜像构建环境 | vivado 2020.1 PYNQ 2.6.0 (arm架构的) PetaLinux 2020.1 |
文件名(自拟) | 用途 |
---|---|
base_project | vivado工程文件夹,用于构建镜像 |
output | 构建镜像后的输出文件夹,用于烧录镜像进TF卡中,启动开发板 |
gpio_in_out | 运行在开发板上的文件夹,包含接收笔记本摄像头视频流的文件 server.py 、进行人脸检测的文件 faceDetect.py 、实现LED灯流水功能的 key.py 、控制按键即停的 control.py |
client.py | 运行在笔记本上的文件,用于向开发板传输摄像头视频流 |
使用MobaXterm,同时使用网口和串口登录开发板,以便使用终端操作开发板。
网口登录成功:
串口登录成功:
【开发板上】运行 server.py,通过socket机制接收笔记本摄像头的视频流;运行 control.py,实现人脸识别、按键检测、控制LED灯。
【笔记本上】运行 client.py(我的电脑里命名为了main.py,不影响),通过socket机制向开发板实时传输摄像头视频流。
串口终端运行 server.py:
网口终端运行 control.py:
在笔记本上运行 client.py:
实现效果为检测程序运行时,检测窗口显示检测结果,LED 灯以流水形式点亮;当检测到按下开发板上key1键时,终止检测程序,检测窗口关闭,熄灭全部 LED 灯。
笔记本上弹出检测窗口:
开发板LED灯流水:
按下开发板的key1键,人脸检测程序关闭,LED灯全部熄灭:
网口终端输出如下内容:
本篇文章只作简单效果展示,具体实现步骤和源码将在后续文章中详细给出。
有不清楚的地方,欢迎各位在评论区进行交流~
您的点赞与收藏,是我持续创作优秀博客的最大动力!
本项目系列文章:
【基于Xilinx Zynq7000的PYNQ框架项目】02 PYNQ镜像制作
【基于xilinx Zynq7000的PYNQ框架项目】03 Socket实现开发板和电脑的实时视频传输并存储图片
我的个人主页:小黄能吃辣的CSDN主页