IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 人工智能 -> OpenHarmony AI图像识别开发—基于润和Hi3516开发套件 -> 正文阅读

[人工智能]OpenHarmony AI图像识别开发—基于润和Hi3516开发套件

1. 概述

我们将在Hi3516DV300 SDK的基础之上进行开发,分别为手部检测+手势识别实验,垃圾分类实验。手部检测+手势识别实验以及垃圾分类实验,主要基于训练好的wk模型在板端进行部署,并充分发挥海思IVE、NNIE硬件加速能力,完成AI推理和业务处理。

2. 目录

  • ai_sample在Hi3516DV300 SDK基础上进行开发,在利用媒体通路的基础上,通过捕获VPSS帧进行预处理操作,并送至NNIE进行推理,结合AI CPU算子最终得到AI Flag并进行相应业务处理,该AI sample集成了垃圾分类、手势检测识别两个基础场景,运用到媒体理论、多线程、IPC通信、IVE、NNIE等思想,实现了一个轻量级sample,方便开发者了解taurus Hi3516DV300的AI能力,ai_sample目录结构如下:
//device/soc/hisilicon/hi3516dv300/sdk_linux/sample/taurus/ai_sample
│  BUILD.gn                    # 编译ohos ai_sample需要的gn文件
├─ai_infer_process             # AI前处理、推理、后处理相关接口
│  ├─ai_infer_process.c
│  └─ai_infer_process.h
├─dependency                  # ai sample依赖的一些功能,如语音播报
│  ├─audio_test.c
│  └─audio_test.h
├─ext_util					  # 常用的基础接口、可移植操作系统接口posix等
│  ├─base_interface.c
│  ├─base_interface.h
│  ├─misc_util.c
│  ├─misc_util.h
│  ├─posix_help.c
│  └─posix_help.h
├─mpp_help        		     # 封装的媒体相关接口
│  ├─include
│  │  ├─ive_img.h
│  │  └─vgs_img.h
│  └─src
│    ├─ive_img.c
│    └─vgs_img.c
├─scenario
│  ├─cnn_trash_classify        # 垃圾分类sample
│  │   ├─cnn_trash_classify.c
│  │   └─cnn_trash_classify.h
│  └─hand_classify             # 手部检测+手势识别sample
│      ├─hand_classify.c
│      ├─hand_classify.h
│      ├─yolov2_hand_detect.c
│      └─yolov2_hand_detect.h
└─smp					   # ai sample主入口及媒体处理文件
  ├─sample_ai_main.cpp
  ├─sample_media_ai.c
  └─sample_media_ai.h

3.拷贝第三方库

  • 步骤1:在源码的根目录下,分步执行下面的命令,拷贝第三方库至ai sample中
mkdir device/soc/hisilicon/hi3516dv300/sdk_linux/sample/taurus/ai_sample/third_party/src/ -p

cp third_party/iniparser device/soc/hisilicon/hi3516dv300/sdk_linux/sample/taurus/ai_sample/third_party/src/ -rf

  • 步骤2:使用IDE打开device/soc/hisilicon/hi3516dv300/sdk_linux/sample/taurus/ai_sample/third_party/src/iniparser/src/iniparser.c文件,把第15行的1024改成8192。
#define ASCIILINESZ         ((8192))  // (1024)

4. 编译

在编译ai_sample之前,需确保OpenHarmony 小型系统的主干代码已经整编通过,且已经按照《修改源码及配置文件适配Taurus开发板》的内容进行修改。在单编ai_sample之前,需修改目录下的一处依赖,进入//device/soc/hisilicon/hi3516dv300/sdk_linux目录下,通过修改BUILD.gn,在deps下面新增target,"sample/taurus/ai_sample:hi3516dv300_ai_sample",如下图所示:

  • 点击Deveco Device Tool工具的Build按键进行编译,具体的编译过程这里不再赘述,编译成功后,如下图所示:

  • 编译成功后,即可在out/hispark_taurus/ipcamera_hispark_taurus_linux/rootfs/bin目录下,生成 ohos_camera_ai_demo可执行文件,如下图所示:

5. 拷贝可执行程序和依赖文件至开发板的mnt目录下

方式一:使用SD卡进行资料文件的拷贝

  • 首先需要自己准备一张SD卡

  • 步骤1:将编译后生成的可执行文件拷贝到SD卡中。

  • 步骤2:将device\soc\hisilicon\hi3516dv300\sdk_linux\out\lib\目录下的libvb_server.so和 libmpp_vbs.so拷贝至SD卡中

  • 步骤3:将device/soc/hisilicon/hi3516dv300/sdk_linux/sample/taurus/目录下的models文件夹和aac_file文件夹拷贝至SD卡中。(前提是按照《获取sample依赖的资源文件到本地》文档获取了资源文件)

  • 步骤4:可执行文件拷贝成功后,将内存卡插入开发板的SD卡槽中,可通过挂载的方式挂载到板端,可选择SD卡 mount指令进行挂载。
mount -t vfat /dev/mmcblk1p1 /mnt
# 其中/dev/mmcblk1p1需要根据实际块设备号修改
  • 挂载成功后,如下图所示:

方式二:使用NFS挂载的方式进行资料文件的拷贝

  • 首先需要自己准备一根网线

  • 步骤1:参考博客链接中的内容,进行nfs的环境搭建

  • 步骤2:将编译后生成的可执行文件拷贝到Windows的nfs共享路径下

  • 步骤3:将device\soc\hisilicon\hi3516dv300\sdk_linux\out\lib\目录下的libvb_server.so和 libmpp_vbs.so拷贝至Windows的nfs共享路径下

  • 步骤4:将device/soc/hisilicon/hi3516dv300/sdk_linux/sample/taurus/目录下的models文件夹aac_file文件夹拷贝至Windows的nfs共享路径下(前提是按照《获取sample依赖的资源文件到本地》文档获取了资源文件)

  • 步骤5:依赖文件拷贝至Windows的nfs共享路径下后,执行下面的命令,将Windows的nfs共享路径挂载至开发板的mnt目录下
mount -o nolock,addr=192.168.200.1 -t nfs 192.168.200.1:/d/nfs /mnt

6.拷贝mnt目录下的文件至正确的目录下

  • 执行下面的命令,拷贝mnt目录下面的ohos_camera_ai_demo至userdata目录,拷贝mnt目录下面的libvb_server.so和 libmpp_vbs.so至/usr/lib/目录下,再将models和aac_file文件夹拷贝至userdata目录下
cp /mnt/ohos_camera_ai_demo  /userdata/
cp /mnt/*.so /usr/lib/
cp /mnt/models  /userdata/ -rf
cp /mnt/aac_file  /userdata/ -rf

  • 执行下面的命令,给ohos_camera_ai_demo文件可执行权限
chmod 777 /userdata/ohos_camera_ai_demo
  人工智能 最新文章
2022吴恩达机器学习课程——第二课(神经网
第十五章 规则学习
FixMatch: Simplifying Semi-Supervised Le
数据挖掘Java——Kmeans算法的实现
大脑皮层的分割方法
【翻译】GPT-3是如何工作的
论文笔记:TEACHTEXT: CrossModal Generaliz
python从零学(六)
详解Python 3.x 导入(import)
【答读者问27】backtrader不支持最新版本的
上一篇文章      下一篇文章      查看所有文章
加:2022-05-07 11:11:00  更:2022-05-07 11:12:11 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/26 7:17:50-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码