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

    文章

    225

    浏览量

    47785
  • DPU
    DPU
    +关注

    关注

    0

    文章

    356

    浏览量

    24167
  • 深度学习
    +关注

    关注

    73

    文章

    5497

    浏览量

    121096
收藏 人收藏

    评论

    相关推荐

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

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

    使用PYNQ训练和实现BNN

    使用 PYNQ 可以轻松在 FPGA 上实现加速 AI/ML,而无需编写一行 HDL!让我们看看如何做到这一点。
    的头像 发表于 08-05 17:15 516次阅读
    使用<b class='flag-5'>PYNQ</b>训练和<b class='flag-5'>实现</b>BNN

    IaaS+on+DPU(IoD)+下一代高性能算力底座技术白皮书

    AWS 与阿里云在 DPU 的应用方面也有成功案例,借助其软硬件全栈自研的优势,快速完成了云计算系统的改造工作,实现DPU 大规模落地部署,在降低自身运营成本的同时为客户提供更好的使用体验,并产生
    发表于 07-24 15:32

    基于PYNQ的智能垃圾分类系统

    pynq 开发平台设计,同时结合了机械控制和神经网络等知识,拥有可以自主识别垃圾并分类的功能,以 FPGA 作为核心处理器最大程度的实现了垃圾识别与分类。该智能垃圾桶将人工分类垃圾
    发表于 07-09 18:44

    鸿蒙ArkTS声明式开发:跨平台支持列表 组合手势

    手势识别组合,即多种手势组合为复合手势,支持连续识别、并行识别和互斥
    的头像 发表于 06-19 09:33 410次阅读
    鸿蒙ArkTS声明式开发:跨平台支持列表 组合<b class='flag-5'>手势</b>

    基于毫米波雷达的手势识别算法

    远程手势识别模型。然后,我们设计了一个CNN学习点的特征以进行识别。(ii)我们利用毫米波雷达传感器
    发表于 06-05 19:09

    基于毫米波雷达的手势识别神经网络

    具体的软硬件实现点击 http://mcu-ai.com/ MCU-AI技术网页_MCU-AI 概要 手势识别是智能教育领域的关键技术,毫米波信号具有分辨率高、穿透能力强等优点。本文介绍了一种
    发表于 05-23 12:12

    OpenHarmony实战开发-手势事件

    手势表示由单个或多个事件识别的语义动作(例如:点击、拖动和长按)。一个完整的手势也可能由多个事件组成,对应手势的生命周期。支持的事件有:
    的头像 发表于 04-29 13:57 380次阅读

    基于FPGA技术的手势识别控制型多功能机械臂系统

    首先通过图像采集设备获取手势图像,通过手势建模将获取的手势图像用数学模型描述出来,最后根据得到的手势
    发表于 04-27 11:21 1216次阅读

    HarmonyOS开发实例:【手势截屏】

    基于手势处理和截屏能力,介绍了手势截屏的实现过程。样例主要包括以下功能
    的头像 发表于 04-11 22:38 497次阅读
    HarmonyOS开发实例:【<b class='flag-5'>手势</b>截屏】

    苹果智能戒指专利曝光,支持多种交互方式与“石头剪刀”游戏

    该智能戒指的专有技术为“皮肤间接触检测(Skin-To-Skin Contact Detection)”,主要研发了如何能够准确识别两个身体部位之间的接触或运动的各种技术和方案。
    的头像 发表于 03-27 10:39 443次阅读

    【开源获奖案例】隔空手势识别测试系统

    ——来自迪文开发者论坛本期为大家推送迪文开发者论坛获奖开源案例——隔空手势识别测试系统。工程师采用7英寸COF智能屏,通过T5LOS核与PAJ7620U2手势识别传感器进行数据交互,不
    的头像 发表于 03-16 08:12 572次阅读
    【开源获奖案例】隔空<b class='flag-5'>手势</b><b class='flag-5'>识别</b>测试系统

    Apple Watch或新增动作识别手势:可感应用户动作,实现手势输入

    此外,美国商标和专利局近日公示的清单显示,苹果已获授《来自可穿戴设备的动作和手势输入》的专利,编号 US 11914772 B2,揭示苹果正在挖掘更多有关 Apple Watch 的手势可能性。
    的头像 发表于 02-29 11:24 796次阅读

    《数据处理器:DPU编程入门》DPU计算入门书籍测评

    都是兼职DPU,比如说用DSP和FPU兼职DPU的工作。或者说是并不是DPU核的形式制作的FPGA-DPU,而是使用了基本的FPGA语言开
    发表于 12-24 10:54

    《数据处理器:DPU编程入门》读书笔记

    目前业界所公认的以数据为中心的体系结构下的创新。综上,DPU对数据中心来说,是通过更明细的分工实现效率的提升、实现总体系统的成本最优化。 DPU
    发表于 12-21 10:47