【基于Xilinx ZYNQ7000的PYNQ框架项目】01人脸识别项目介绍与展示

01 项目介绍与展示

  • 前言
  • 一、项目内容
    • 环境与工具
    • 项目文件
  • 二、运行项目
    • 1. 登录开发板
    • 2. 运行代码
    • 3. 效果展示
  • 总结


前言


  本项目是一个嵌入式开发的人脸识别项目,为开发板自制PYNQ镜像,通过socket通信将笔记本摄像头画面实时传输至开发板,然后使用开发板上的人脸识别模型进行检测后,将识别画面传输回笔记本进行显示。
项目整体设计框架图如下所示:

【基于Xilinx ZYNQ7000的PYNQ框架项目】01人脸识别项目介绍与展示_第1张图片
系统处理流程图如下所示:

【基于Xilinx ZYNQ7000的PYNQ框架项目】01人脸识别项目介绍与展示_第2张图片


一、项目内容


环境与工具

开发板 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 运行在笔记本上的文件,用于向开发板传输摄像头视频流

二、运行项目


1. 登录开发板

使用MobaXterm,同时使用网口和串口登录开发板,以便使用终端操作开发板。用户默认登录密码是 xilinx 。

网口登录成功画面:

【基于Xilinx ZYNQ7000的PYNQ框架项目】01人脸识别项目介绍与展示_第3张图片
串口登录成功画面:

【基于Xilinx ZYNQ7000的PYNQ框架项目】01人脸识别项目介绍与展示_第4张图片

2. 运行代码

【开发板上】运行 server.py,通过socket机制接收笔记本摄像头的视频流;运行 control.py,实现人脸识别、按键检测、控制LED灯。

【笔记本上】运行 client.py(我的电脑里命名为了main.py,不影响),通过socket机制向开发板实时传输摄像头视频流。

串口终端运行 server.py:

运行 server.py
网口终端运行 control.py:

【基于Xilinx ZYNQ7000的PYNQ框架项目】01人脸识别项目介绍与展示_第5张图片
在笔记本电脑上运行 client.py:

【基于Xilinx ZYNQ7000的PYNQ框架项目】01人脸识别项目介绍与展示_第6张图片

3. 效果展示

实现效果为检测程序运行时,检测窗口显示检测结果,LED 灯以流水形式点亮;当检测到按下开发板上key1键时,终止检测程序,检测窗口关闭,熄灭全部 LED 灯。

运行所有程序,笔记本上弹出检测窗口:

【基于Xilinx ZYNQ7000的PYNQ框架项目】01人脸识别项目介绍与展示_第7张图片

开发板LED灯流水:

按下开发板的key1键,人脸检测程序关闭,LED灯全部熄灭:

网口终端输出如下内容:

【基于Xilinx ZYNQ7000的PYNQ框架项目】01人脸识别项目介绍与展示_第8张图片


总结


本篇文章只作简单效果展示,具体实现步骤和源码将在后续文章中详细给出。


有不清楚的地方,欢迎各位在评论区进行交流~

您的关注、点赞与收藏,是我持续创作优秀博客的最大动力!


本项目系列文章:
【基于Xilinx Zynq7000的PYNQ框架项目】02 PYNQ镜像制作

【基于xilinx Zynq7000的PYNQ框架项目】03 Socket实现开发板和电脑的实时视频传输并存储图片

【基于Xilinx ZYNQ7000的PYNQ框架项目】04开发板上运行人脸识别模型

【基于Xilinx ZYNQ7000的PYNQ框架项目】05使用Overlay库和python父子进程实现开发板按键控制LED灯流水或熄灭

我的个人主页:小黄能吃辣的CSDN主页

你可能感兴趣的:(单片机,嵌入式硬件,ubuntu,软件工程,课程设计,目标检测,tcp/ip)