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

    浏览量

    48719
  • DPU
    DPU
    +关注

    关注

    0

    文章

    407

    浏览量

    26191
  • 深度学习
    +关注

    关注

    73

    文章

    5590

    浏览量

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

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

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

    本教程在 Ubuntu22.04.1 虚拟机中安装了 Xilinx 2024.1 的开发环境,基于该环境从源码编译 PYNQ 3.1.2 工程,生成能够在 ALINX AXU15EGB 开发板上运行的 PYNQ 系统镜像。
    的头像 发表于 11-30 16:06 2467次阅读
    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 247次阅读
    无需手持更灵活!纳祥科技智能帽夹灯方案(红外感应+<b class='flag-5'>手势</b>控制)

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

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

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

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

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

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

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

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

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

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

    【嘉楠堪智K230开发板试用体验】手势识别

    本次将测评嘉楠科技的k230开发板识别手掌形状分类的功能 一、系统概述 本测评报告详细分析了一个基于K230开发板的手势识别系统。该系统通过深度学习模型实现了手掌检测和
    发表于 07-12 23:22

    【BPI-CanMV-K230D-Zero开发板体验】人脸检测、手势识别、车牌识别

    【BPI-CanMV-K230D-Zero开发板体验】人脸检测、手势识别、车牌识别 本文介绍了香蕉派 CanMV K230D Zero 开发板结合 MIPI 摄像头实现人脸检测、人脸关
    发表于 06-30 20:44

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

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

    PT2513B芯片如何解决电剪刀电机控制器痛点

    在电动工具市场中,电剪刀作为一款常用设备,其性能的优劣直接影响到工作效率和用户体验。而电机控制器作为电剪刀的核心部件,其性能的好坏又取决于所采用的芯片。钧敏科技主推的普诚(PTC)无刷电机控制芯片 PT2513B,正是一款专为解决电剪刀
    的头像 发表于 03-03 17:59 987次阅读

    普诚 PT2513B 芯片:电剪刀电机控制器的理想之选

    在电动工具市场中,电剪刀作为一款常用设备,其性能的优劣直接影响到工作效率和用户体验。而电机控制器作为电剪刀的核心部件,其性能的好坏又取决于所采用的芯片。钧敏科技主推的普诚(PTC)无刷电机控制芯片
    的头像 发表于 03-03 15:16 749次阅读

    如何用OpenCV进行手势识别--基于米尔全志T527开发板

    本文将介绍基于米尔电子MYD-LT527开发板(米尔基于全志T527开发板)的OpenCV手势识别方案测试。摘自优秀创作者-小火苗米尔基于全志T527开发板一、软件环境安装1.安装OpenCVsudoapt-getinstalllibopencv-devpython3-o
    的头像 发表于 12-13 08:04 1762次阅读
    如何用OpenCV进行<b class='flag-5'>手势</b><b class='flag-5'>识别</b>--基于米尔全志T527开发板