热门标签 | HotTags
当前位置:  开发笔记 > 前端 > 正文

VIM3开发(4)项目应用

  https:docs.khadas.comlinuxvim3RSTPCamera.html   https:docs.khadas.comlinuxvim3NPUPrebuil

 

 

https://docs.khadas.com/linux/vim3/RSTPCamera.html

 

 

 https://docs.khadas.com/linux/vim3/NPUPrebuiltUsage.html

 

 

 

 


安装 OpenCV4

 

sudo apt install libopencv-dev python3-opencv

  


获取 NPU 演示

板子上默认没有安装 NPU Demo。你需要先从github下载

github上的repository地址为:https ://github.com/khadas/aml_npu_demo_binaries

git通过命令克隆到板子。

 

$ cd {workspace}
$ git clone --recursive https://github.com/khadas/aml_npu_demo_binaries

  

或者直接下载压缩包,然后解压到板子上

NPU Demo中有三个目录:

detect_demo:相机动态识别
的yolo系列模型集合detect_demo_picture:识别图片的yolo系列模型集合
inceptionv3:识别图片的inception模型

  


初始模型



  1. 初始模型不需要在系统中安装任何库。进入inceptionv3目录

$ cd {workspace}/aml_npu_demo_binaries/inceptionv3
$ ls
dog_299x299.jpg goldfish_299x299.jpg imagenet_slim_labels.txt VIM3 VIM3L


  1. 如果你的板子是VIM3,进入VIM3目录,如果是VIM3L,进入VIM3L目录。这里以 VIM3 为例

$ cd {workspace}/aml_npu_demo_binaries/inceptionv3/VIM3
$ inceptionv3 inception_v3.nb run.sh


  1. run.sh

  2. $ cd {workspace}/aml_npu_demo_binaries/inceptionv3/VIM3
    $ ./run.sh
    创建神经网络:59ms 或 59022us
    验证...
    验证图:0ms 或 739us
    开始运行图 [1] 次...
    运行 1 次:20.00 ms 或 20497.00us
    vxProcessGraph 执行时间:
    总计 20.00ms 或 20540.00us
    平均 20.54ms 或 20540.00us
    --- Top5 ---
    2:0.833984
    795:0.009102
    974:0.003592
    408:0.0022107
    393:0.002

    通过查询imagenet_slim_labels.txt,结果是一条金鱼,也被正确识别了  





  1. 识别其他图片

$ cd {workspace}/aml_npu_demo_binaries/inceptionv3/VIM3
$ ./inceptionv3 inception_v3.nb path/to/picture

  笔记

图片的大小必须和模型的大小对应,所以这里,inceptionv3模型的输入是299x299x3,传入的识别图片也必须是299x299

 


Yolo 系列型号

yolo系列模型的应用分为相机动态识别和图像识别两部分。


安装和卸载库

yolo系列机型需要将库安装到系统中。无论是使用相机动态识别还是识别图片,都共享同一个库。

进入detect_demo_picture

cd {工作区}/aml_npu_demo_binaries/detect_demo_picture

  安装

sudo ./INSTALL

  卸载

sudo ./UNINSTALL

  


type参数说明

type参数是输入参数,无论是使用相机动态识别还是识别图片都必须选择。该参数主要用于指定运行的yolo系列机型。

0:yoloface 模型
1:yolov2 模型
2:yolov3 模型
3:yolov3_tiny 模型
4:yolov4 模型

  


运行环境描述

NPU Demo可以在X11或者framebuffer模式下运行,选择对应的demo运行即可。


X11 / 帧缓冲

演示fb在帧缓冲模式下运行。

演示x11在 X11 模式下运行。


说明性示例

这是一个例子detect_demo_picture

$ cd {workspace}/aml_npu_demo_binaries/detect_demo_picture
$ ls
1080p.bmp detect_demo_x11 detect_demo_xfb INSTALL lib nn_data README.md UNINSTALL


  1. detect_demo_fb 是一个使用opencv4识别图片在framebuffer下运行的demo

  2. detect_demo_x11 是一个使用opencv4识别图片在X11下运行的demo



图片识别

识别图片的命令格式

$ cd {workspace}/aml_npu_demo_binaries/detect_demo_picture
$ ./detect_demo_xx -m <类型> -p


  

运行结果如下,

detect_demo_picture_x11_cv4


动态相机识别

相机说明

使用usbUSB摄像头的demo,mipi使用mipi摄像头的demo。

摄像机动态识别命令格式

$ cd {workspace}/aml_npu_demo_binaries/detect_demo
$ ./detect_xx_xx -d <视频节点> -m <类型>

下面是x11环境下使用opencv4调用yolov3的例子。

$ cd {workspace}/aml_npu_demo_binaries/detect_demo
$ ./detect_demo_x11_usb -d /dev/video1 -m 2

  

打开相机后,识别结果会显示在屏幕上

检测演示_x11_cv4



推荐阅读
  • 嵌入式开发环境搭建与文件传输指南
    本文详细介绍了如何为嵌入式应用开发搭建必要的软硬件环境,并提供了通过串口和网线两种方式将文件传输到开发板的具体步骤。适合Linux开发初学者参考。 ... [详细]
  • PyCharm下载与安装指南
    本文详细介绍如何从官方渠道下载并安装PyCharm集成开发环境(IDE),涵盖Windows、macOS和Linux系统,同时提供详细的安装步骤及配置建议。 ... [详细]
  • 本文详细介绍了 Dockerfile 的编写方法及其在网络配置中的应用,涵盖基础指令、镜像构建与发布流程,并深入探讨了 Docker 的默认网络、容器互联及自定义网络的实现。 ... [详细]
  • 在Linux系统中配置并启动ActiveMQ
    本文详细介绍了如何在Linux环境中安装和配置ActiveMQ,包括端口开放及防火墙设置。通过本文,您可以掌握完整的ActiveMQ部署流程,确保其在网络环境中正常运行。 ... [详细]
  • 使用Vultr云服务器和Namesilo域名搭建个人网站
    本文详细介绍了如何通过Vultr云服务器和Namesilo域名搭建一个功能齐全的个人网站,包括购买、配置服务器以及绑定域名的具体步骤。文章还提供了详细的命令行操作指南,帮助读者顺利完成建站过程。 ... [详细]
  • 简化报表生成:EasyReport工具的全面解析
    本文详细介绍了EasyReport,一个易于使用的开源Web报表工具。该工具支持Hadoop、HBase及多种关系型数据库,能够将SQL查询结果转换为HTML表格,并提供Excel导出、图表显示和表头冻结等功能。 ... [详细]
  • 本文探讨了如何在Classic ASP中实现与PHP的hash_hmac('SHA256', $message, pack('H*', $secret))函数等效的哈希生成方法。通过分析不同实现方式及其产生的差异,提供了一种使用Microsoft .NET Framework的解决方案。 ... [详细]
  • 本文详细介绍了 BERT 模型中 Transformer 的 Attention 机制,包括其原理、实现代码以及在自然语言处理中的应用。通过结合多个权威资源,帮助读者全面理解这一关键技术。 ... [详细]
  • QBlog开源博客系统:Page_Load生命周期与参数传递优化(第四部分)
    本教程将深入探讨QBlog开源博客系统的Page_Load生命周期,并介绍一种简洁的参数传递重构方法。通过视频演示和详细讲解,帮助开发者更好地理解和应用这些技术。 ... [详细]
  • 技术分享:从动态网站提取站点密钥的解决方案
    本文探讨了如何从动态网站中提取站点密钥,特别是针对验证码(reCAPTCHA)的处理方法。通过结合Selenium和requests库,提供了详细的代码示例和优化建议。 ... [详细]
  • 1:有如下一段程序:packagea.b.c;publicclassTest{privatestaticinti0;publicintgetNext(){return ... [详细]
  • 本文详细介绍了如何在Linux系统上安装和配置Smokeping,以实现对网络链路质量的实时监控。通过详细的步骤和必要的依赖包安装,确保用户能够顺利完成部署并优化其网络性能监控。 ... [详细]
  • CentOS7源码编译安装MySQL5.6
    2019独角兽企业重金招聘Python工程师标准一、先在cmake官网下个最新的cmake源码包cmake官网:https:www.cmake.org如此时最新 ... [详细]
  • 如何配置Unturned服务器及其消息设置
    本文详细介绍了Unturned服务器的配置方法和消息设置技巧,帮助用户了解并优化服务器管理。同时,提供了关于云服务资源操作记录、远程登录设置以及文件传输的相关补充信息。 ... [详细]
  • 在Ubuntu 16.04 LTS上配置Qt Creator开发环境
    本文详细介绍了如何在Ubuntu 16.04 LTS系统中安装和配置Qt Creator,涵盖了从下载到安装的全过程,并提供了常见问题的解决方案。 ... [详细]
author-avatar
Anruoxia52
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有