0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

基于DPU-PYNQ来实现石头剪刀布的手势识别

454398 来源: PYNQ开源社区微信公众号 作者: PYNQ开源社区微信 2020-09-29 11:00 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

简介

本案例主要基于DPU-PYNQ来实现一个常见的手势识别--石头剪刀布,目的是让大家了解如何使用DPU开发深度学习应用的整个流程。本案例分为三个部分:分别是PC模型训练、VitisAI模型编译、Edge模型部署三个部分。PC模型训练是通过tensorflow对数据集进行分析训练,得到需要的tf模型;VitisAI模型编译是通过vitis ai工具链,对tf模型进行量化、编译,转换成dpu可以运行的模型;Edge模型部署是在U96上调度使用编译好的模型。

Git仓库:https://github.com/linxiaobo110/rps_u96.git

在PC上训练NN模型

数据集

数据集使用的是谷歌发布的开源数据集:

https://www.tensorflow.org/datasets/catalog/rock_paper_scissors

训练环境说明

议在有显卡的环境下训练,本教程使用的python环境所需的库如下所示:

python 3.7

tensorflow 2.0

numpy

opencv

matplotlib

sklearn

在安装好的python环境下,使用spyder或者命令行运行train.py:

python train.py

正常运行时会有以下输出:

1、打印部分数据集图片(注意观察图片是否正常),以及各种标签的样本数量:

2、打印训练过程以及训练精度的变化

在Vitis AI里编译NN模型

把训练好的模型通过vitis AI编译后才可以在U96上运行。

1、把训练好的模型拷贝到DpuCarU96的vitisAI目录,同时需要把vitisAI/dataset_valid下的验证集换成用户自己的数据,至少50张图片。

2、启动vitis AI的docker,并把工程里的vitisAI目录拷贝到docker虚拟机里。

./docker_run.sh xilinx/vitis-ai

3、在vitisAI的dockder里,激活tensorflow的环境:

conda activate vitis-ai-tensorflow

4、在vitisAI的dockder里,运行权值固化、权值量化、模型编译等脚本可以得到以下输出:

编译完完的模型在./vitisAI/compile_results目录下,里面的.elf文件是下一阶段的教程所需要的。

在Utral96上调用NN模型

1、把仓库拷贝到U96的jupyter_notebook目录下,如果要使用用户的模型,请把里面的.elf文件换成vitisAI教程里生成的elf文件。

2、在U96的终端上,把elf模型编译程序共享库:

sudo ./1.compile.sh

3、在U96的终端上,查看IP地址:

sudo ifconfig

4、在用户PC上,打开浏览器,输入IP地址,即可进入jupyter Notebook。

5、在用户PC上,按照jupyterNotebook的提示逐步地运行程序,即可看到效果。

6、在用户PC上,使用USB摄像头的实时识别实验。USB摄像头需要连接在Ultral96上。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 手势识别
    +关注

    关注

    8

    文章

    232

    浏览量

    49299
  • DPU
    DPU
    +关注

    关注

    0

    文章

    417

    浏览量

    27149
  • 深度学习
    +关注

    关注

    73

    文章

    5608

    浏览量

    124637
收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    瑞芯微(EASY EAI)RV1126B 手势识别算法识别

    1.手势识别算法简介Gestures手势识别算法一种先进的姿势估计模型,使用关键点数据集进行训练,能够检测图像或视频中人物的21个关键点与26种手势
    的头像 发表于 04-07 10:36 134次阅读
    瑞芯微(EASY EAI)RV1126B <b class='flag-5'>手势</b><b class='flag-5'>识别</b>算法<b class='flag-5'>识别</b>

    无刷电剪刀驱动方案避坑指南|其利天下量产经验全分享

    随着园林修剪、服装纺织、钣金加工等行业的自动化升级,无刷电剪刀凭借寿命长、效率高、噪音低的优势,全面替代传统有刷电剪刀成为行业主流。而一款无刷电剪刀的剪切精度、续航能力、运行稳定性与量产可靠性,核心
    的头像 发表于 03-10 09:00 671次阅读
    无刷电<b class='flag-5'>剪刀</b>驱动方案避坑指南|其利天下量产经验全分享

    基于DPU的智能盘框方案,华为如何大幅提升AI推理的效率?

    DPU
    脑极体
    发布于 :2026年01月20日 12:53:10

    STM32驱动PAJ7620手势识别传感器

    原文链接:[https://www.yourcee.com/newsinfo/2925937.html] 传感器简介 PAJ-7620U2是由原相科技公司开发的一款手势识别芯片, 内集成了光学数组式
    的头像 发表于 01-06 09:16 1195次阅读
    STM32驱动PAJ7620<b class='flag-5'>手势</b><b class='flag-5'>识别</b>传感器

    零知IDE——基于STM32F103RBT6的PAJ7620U2手势控制WS2812 RGB灯带系统

    基于STM32F103RBT6的手势控制LED系统,通过PAJ7620U2传感器识别手势动作,驱动WS2812B灯带实现交互式灯光效果。系统采用软件I2C通信和SPI+DMA驱动方案,
    的头像 发表于 12-29 17:48 2101次阅读
    零知IDE——基于STM32F103RBT6的PAJ7620U2<b class='flag-5'>手势</b>控制WS2812 RGB灯带系统

    ALINX教程分享_Zynq UltraScale+ MPSoC PYNQ3.1.2移植

    本教程在 Ubuntu22.04.1 虚拟机中安装了 Xilinx 2024.1 的开发环境,基于该环境从源码编译 PYNQ 3.1.2 工程,生成能够在 ALINX AXU15EGB 开发板上运行的 PYNQ 系统镜像。
    的头像 发表于 11-30 16:06 6129次阅读
    ALINX教程分享_Zynq UltraScale+ MPSoC <b class='flag-5'>PYNQ</b>3.1.2移植

    基于K1的的人工智能终端及应用开发-手势-语音-人脸--第一阶段

    ;) TTS_AVAILABLE = False class GestureRecognizer: \"\"\"手势识别器\"\"\"
    发表于 10-28 15:28

    【技术讨论】智能戒指手势交互:如何优化PCBA成本与实现<20ms低延迟?

    元件的小批量贴片,如何有效控制加工损耗与成本? 低延迟手势识别:目标是将传感器数据采集、姿态解算到蓝牙指令发出的端到端延迟控制在10ms以内。在软件层面,除优化传感器FIFO与中断服务程序(ISR)外
    发表于 10-18 13:04

    无需手持更灵活!纳祥科技智能帽夹灯方案(红外感应+手势控制)

    控制技术,有效解决了传统手持电筒笨重、依赖手持操作的局限性。方案概述本方案以低功耗单片机为中枢,支持感应和常规2种工作模式:感应模式可通过红外对管实现手势识别
    的头像 发表于 10-10 15:09 682次阅读
    无需手持更灵活!纳祥科技智能帽夹灯方案(红外感应+<b class='flag-5'>手势</b>控制)

    拳力以赴!基于 RT-Thread 与瑞萨 VisionBoard 的 AIoT 猜拳系统实战 | 技术集结

    本项目的题目为:石头剪刀猜拳识别。本项目实现了基本猜拳识别、根据
    的头像 发表于 09-06 10:04 3664次阅读
    拳力以赴!基于 RT-Thread 与瑞萨 VisionBoard 的 AIoT 猜拳系统实战 | 技术集结

    XenG202G | 挥手手势识别参考设计(三维)

    WEMAKERFSMART-赋予万物感知的灵魂-矽典微ICLEGENDMICROXenG202G挥手手势识别(三维)毫米波传感器特征手势识别:非接触式控制,高精度
    的头像 发表于 08-29 08:25 862次阅读
    XenG202G | 挥手<b class='flag-5'>手势</b><b class='flag-5'>识别</b>参考设计(三维)

    零成本钢铁侠手套!树莓派+OpenCV 秒变手势遥控器!

    大家好,这是一个树莓派和OpenCV的连载专题。使用树莓派与OpenCV实现姿态估计和面部特征点追踪使用树莓派与OpenCV实现面部和运动追踪的云台系统使用树莓派和OpenCV实现手部识别
    的头像 发表于 08-16 16:16 1573次阅读
    零成本钢铁侠手套!树莓派+OpenCV 秒变<b class='flag-5'>手势</b>遥控器!

    如何打造一个属于自己的手势识别应用

    上一期小编给大家介绍了和MediaPipe的相遇之路,本期小编将带着大家一起动手,如何打造一个属于自己的手势识别应用。
    的头像 发表于 07-29 10:12 1283次阅读
    如何打造一个属于自己的<b class='flag-5'>手势</b><b class='flag-5'>识别</b>应用

    基于恩智浦Mi.MX RT700 MCU实现手势识别开发

    小编最近接了活,要在我们最新的MCU产品RT700上做手势识别的开发,可能小伙伴们才听过RT700,小编先来简单介绍一下。
    的头像 发表于 07-22 11:17 2101次阅读
    基于恩智浦Mi.MX RT700 MCU<b class='flag-5'>实现</b><b class='flag-5'>手势</b><b class='flag-5'>识别</b>开发

    攻克园林电动剪刀难题的策略与方法--【其利天下技术】

    结果进行分析目前电动剪刀存在的难点,并结合其利天下研发的无刷电剪刀驱动方案学习如何解决以下问题。一、现有驱动方案的难点安全性问题:部分电动剪刀存在使用者拉动触发器
    的头像 发表于 06-04 18:28 855次阅读
    攻克园林电动<b class='flag-5'>剪刀</b>难题的策略与方法--【其利天下技术】