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

    文章

    229

    浏览量

    48398
  • DPU
    DPU
    +关注

    关注

    0

    文章

    397

    浏览量

    25108
  • 深度学习
    +关注

    关注

    73

    文章

    5571

    浏览量

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

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

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

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

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

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

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

    小编最近接了活,要在我们最新的MCU产品RT700上做手势识别的开发,可能小伙伴们才听过RT700,小编先来简单介绍一下。
    的头像 发表于 07-22 11:17 ?1291次阅读
    基于恩智浦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

    【嘉楠堪智K230开发板试用体验】01 Studio K230开发板Test2——手掌,手势检测,字符检测

    | 01Studio查看同样是基于AI视觉开发框架做的 实验视频一同放在最后了。 手掌检测做完了,我们肯定要做相关手势进行分类,做我们需要的部分,同样在例程01studio中也有相关的部分,会实现如下
    发表于 07-10 09:45

    【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>难题的策略与方法--【其利天下技术】

    DPU232—高度集成USB到UART桥接控制器 国产替代方案

    的USB供应商ID、产品ID、产品描述字符串、电源描述符、设备发行号和设备序号。EEPROM通过USB端口在应用板上编程,这使得该产品在制造和调试过程中就可以实现DPU232进行编程。产品特性集成USB
    发表于 04-01 10:53

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

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

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

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

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

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

    基于PYNQ和机器学习探索MPSOC笔记

    引言:《Exploring Zynq MPSoC With PYNQ and Machine Learning Applications》是当年Zynq Book(ZYNQ-7000)的升级版本,在
    的头像 发表于 11-16 11:32 ?780次阅读
    基于<b class='flag-5'>PYNQ</b>和机器学习探索MPSOC笔记

    24G雷达模块LD2450 支持人体移动轨迹跟踪与手势识别

    运动目标的测距、测角和测速,不到30元的超低成本目标运动轨迹跟踪方案,支持定制手势识别功能。传感器硬件由AloT毫米波雷达芯片、高性能一发两收微带天线和低成本MCU
    的头像 发表于 10-27 08:03 ?1471次阅读
    24G雷达模块LD2450 支持人体移动轨迹跟踪与<b class='flag-5'>手势</b><b class='flag-5'>识别</b>

    Cortex-A55国产处理器_教学实验箱_操作案例分享:5-21 手势识别实验

    一、实验目的 熟悉Qt程序的开发流程。 掌握Qt Creator的基础开发使用。 通过编写Qt程序实现手势识别的显示界面。 二、实验原理 Qt工程的创建步骤包括: (1)创建Qt工程; (2)GUI
    发表于 10-15 16:18