热门标签 | 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系统上构建Web服务器的详细步骤
    本文详细介绍了如何在Linux系统上搭建Web服务器的过程,包括安装Apache、PHP和MySQL等关键组件,以及遇到的一些常见问题及其解决方案。 ... [详细]
  • CentOS 7.6环境下Prometheus与Grafana的集成部署指南
    本文旨在提供一套详细的步骤,指导读者如何在CentOS 7.6操作系统上成功安装和配置Prometheus 2.17.1及Grafana 6.7.2-1,实现高效的数据监控与可视化。 ... [详细]
  • 本文详细介绍了Linux系统中的进程管理函数,涵盖了获取进程ID、用户ID、创建子进程、信号处理等关键操作。通过这些函数,开发者可以更好地控制和管理进程行为。 ... [详细]
  • cJinja:C++编写的轻量级HTML模板引擎
    本文介绍了cJinja,这是一个用C++编写的轻量级HTML模板解析库。它利用ejson来处理模板中的数据替换(即上下文),其语法与Django Jinja非常相似,功能强大且易于学习。 ... [详细]
  • 本文详细介绍如何在 Windows 环境下安装 Ubuntu 12.04 版本的 Linux 操作系统,包括必要的软件下载、配置步骤以及注意事项。 ... [详细]
  • 随着技术社区的发展,越来越多的技术爱好者选择通过撰写博客来分享自己的学习经验和项目进展。本文将介绍一个具体案例,即将一套原本运行于Windows平台的代码成功移植到Linux(Redhat)环境下的过程与挑战。 ... [详细]
  • 本文提供了在 Kali Linux 2020.01 x64 版本上安装 Docker 的详细步骤,包括环境准备、使用清华大学镜像源、配置 APT 仓库以及安装过程中的常见问题处理。 ... [详细]
  • 利用SSH隧道实现外网对局域网机器的安全访问
    本文探讨了一种常见的网络配置问题及其解决方案,即如何在外网环境下安全地访问位于局域网内的计算机。特别介绍了使用SSH反向隧道技术来实现这一目标的具体步骤和注意事项。 ... [详细]
  • 使用LVS与ldirectord实现高可用负载均衡
    本文介绍了如何通过LVS(Linux Virtual Server)结合ldirectord工具来实现服务器的健康检查及负载均衡功能。环境设置包括一个LVS节点和两个真实服务器节点,通过配置ldirectord进行健康状态监测,确保系统的高可用性。 ... [详细]
  • 本文汇集了一系列具有强烈设计感的网站模板,特别是来自知名平台WrapBootstrap的响应式网站模板。这些模板不仅美观,而且功能强大,适合各种类型的网站建设需求。 ... [详细]
  • 本文探讨了如何在Hive(基于Hadoop)环境中编写类似SQL的语句,以去除字段中的空格。特别是在处理邮政编码等数据时,去除特定位置的空格是常见的需求。 ... [详细]
  • 本文详细介绍了如何使用 HTML 和 CSS 对文件上传按钮进行样式美化,使用户界面更加友好和美观。 ... [详细]
  • Java实体类属性命名规范:首字母大写与EL表达式取值问题
    本文探讨了Java实体类中属性名的命名规范,特别是首字母大写对EL表达式取值的影响。通过详细分析和示例,帮助开发者理解这一常见问题并提供解决方案。 ... [详细]
  • 软件工程课堂测试2
    要做一个简单的保存网页界面,首先用jsp写出保存界面,本次界面比较简单,首先是三个提示语,后面是三个输入框,然 ... [详细]
  • 本文介绍如何在Linux系统中卸载预装的OpenJDK,安装指定版本的JDK 1.8,并配置防火墙以确保系统安全性和软件兼容性。 ... [详细]
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社区 版权所有