?
概述
我們將在Hi3516DV300 SDK的基礎(chǔ)之上進(jìn)行開發(fā),分別為手部檢測(cè)+手勢(shì)識(shí)別實(shí)驗(yàn),垃圾分類實(shí)驗(yàn)。手部檢測(cè)+手勢(shì)識(shí)別實(shí)驗(yàn)以及垃圾分類實(shí)驗(yàn),主要基于訓(xùn)練好的wk模型在板端進(jìn)行部署,并充分發(fā)揮海思IVE、NNIE硬件加速能力,完成AI推理和業(yè)務(wù)處理。
?
目錄
ai_sample在Hi3516DV300 SDK基礎(chǔ)上進(jìn)行開發(fā),在利用媒體通路的基礎(chǔ)上,通過捕獲VPSS幀進(jìn)行預(yù)處理操作,并送至NNIE進(jìn)行推理,結(jié)合AI CPU算子最終得到AI Flag并進(jìn)行相應(yīng)業(yè)務(wù)處理,該AI sample集成了垃圾分類、手勢(shì)檢測(cè)識(shí)別兩個(gè)基礎(chǔ)場景,運(yùn)用到媒體理論、多線程、IPC通信、IVE、NNIE等思想,實(shí)現(xiàn)了一個(gè)輕量級(jí)sample,方便開發(fā)者了解taurus Hi3516DV300的AI能力,ai_sample目錄結(jié)構(gòu)如下:
//device/soc/hisilicon/hi3516dv300/sdk_linux/sample/taurus/ai_sample
│ BUILD.gn # 編譯ohos ai_sample需要的gn文件
├─ai_infer_process # AI前處理、推理、后處理相關(guān)接口
│ ├─ai_infer_process.c
│ └─ai_infer_process.h
├─dependency
│ ├─audio_test.c
│ └─audio_test.h
├─ext_util # 常用的基礎(chǔ)接口、可移植操作系統(tǒng)接口posix等
│ ├─base_inteRFace.c
│ ├─base_interface.h
│ ├─misc_util.c
│ ├─misc_util.h
│ ├─posix_help.c
│ └─posix_help.h
├─mpp_help # 封裝的媒體相關(guān)接口
│ ├─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 # 手部檢測(cè)+手勢(shì)識(shí)別sample
│ ├─hand_classify.c
│ ├─hand_classify.h
│ ├─yolov2_hand_detect.c
│ └─yolov2_hand_detect.h
└─smp
├─sample_ai_main.cpp
├─sample_media_ai.c
└─sample_media_ai.h
?
拷貝第三方庫
步驟1:在源碼的根目錄下,分步執(zhí)行下面的命令,拷貝第三方庫至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。

?
編譯
在編譯ai_sample之前,需確保OpenHarmony 小型系統(tǒng)的主干代碼已經(jīng)整編通過,且已經(jīng)按照《修改源碼及配置文件適配Taurus開發(fā)板》的內(nèi)容進(jìn)行修改。在單編ai_sample之前,需修改目錄下的一處依賴,進(jìn)入//device/soc/hisilicon/hi3516dv300/sdk_linux目錄下,通過修改BUILD.gn,在deps下面新增target,"sample/taurus/ai_sample:hi3516dv300_ai_sample",如下圖所示:

點(diǎn)擊Deveco Device Tool工具的Build按鍵進(jìn)行編譯,具體的編譯過程這里不再贅述,編譯成功后,如下圖所示:

編譯成功后,即可在out/hispark_taurus/ipcamera_hispark_taurus_linux/rootfs/bin目錄下,生成 ohos_camera_ai_demo可執(zhí)行文件,如下圖所示:

?
拷貝可執(zhí)行程序和依賴文件至開發(fā)板的mnt目錄下
方式一:使用SD卡進(jìn)行資料文件的拷貝
首先需要自己準(zhǔn)備一張SD卡:
步驟1:將編譯后生成的可執(zhí)行文件拷貝到SD卡中。
步驟2:將devicesochisiliconhi3516dv300sdk_linuxoutlib目錄下的libvb_server.so和 libmpp_vbs.so拷貝至SD卡中
步驟3:將device/soc/hisilicon/hi3516dv300/sdk_linux/sample/taurus/目錄下的models文件夾和aac_file文件夾拷貝至SD卡中。(前提是按照《獲取sample依賴的資源文件到本地》文檔獲取了資源文件)

步驟4:可執(zhí)行文件拷貝成功后,將內(nèi)存卡插入開發(fā)板的SD卡槽中,可通過掛載的方式掛載到板端,可選擇SD卡 mount指令進(jìn)行掛載。
mount -t vfat /dev/mmcblk1p1 /mnt
# 其中/dev/mmcblk1p1需要根據(jù)實(shí)際塊設(shè)備號(hào)修改
掛載成功后,如下圖所示:

方式二:使用NFS掛載的方式進(jìn)行資料文件的拷貝
首先需要自己準(zhǔn)備一根網(wǎng)線:
步驟1:參考博客鏈接中的內(nèi)容,進(jìn)行nfs的環(huán)境搭建;
步驟2:將編譯后生成的可執(zhí)行文件拷貝到Windows的nfs共享路徑下;
步驟3:將devicesochisiliconhi3516dv300sdk_linuxoutlib目錄下的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共享路徑下后,執(zhí)行下面的命令,將Windows的nfs共享路徑掛載至開發(fā)板的mnt目錄下
mount -o nolock,addr=192.168.200.1 -t nfs 192.168.200.1:/d/nfs /mnt
?
拷貝mnt目錄下的文件至正確的目錄下
執(zhí)行下面的命令,拷貝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

執(zhí)行下面的命令,給ohos_camera_ai_demo文件可執(zhí)行權(quán)限
chmod 777 /userdata/ohos_camera_ai_demo
審核編輯 :李倩
-
cpu
+關(guān)注
關(guān)注
68文章
11054瀏覽量
216294 -
手勢(shì)識(shí)別
+關(guān)注
關(guān)注
8文章
227瀏覽量
48195 -
圖像識(shí)別
+關(guān)注
關(guān)注
9文章
526瀏覽量
38964
原文標(biāo)題:OpenHarmony AI圖像識(shí)別開發(fā)—基于潤和Hi3516開發(fā)套件
文章出處:【微信號(hào):HarmonyOS_Community,微信公眾號(hào):電子發(fā)燒友開源社區(qū)】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。
發(fā)布評(píng)論請(qǐng)先 登錄
潤和AI Camera Hi3516DV300燒錄后,屏幕顯示異常
DA14594 BLE Pro開發(fā)套件 開源 (原理圖+BOM+PCB)

Hi3516DV300產(chǎn)品介紹和開發(fā)手冊(cè)下載

平臺(tái)介紹及基本使用(SC171開發(fā)套件V3)
潤和的Hi3861開發(fā)版如何連接華為云
潤和的Hi3861開發(fā)板如何連接華為云
新品 | 視美泰AIoT鴻蒙開發(fā)套件SC-3568HA正式上市,已成功適配OpenHarmony 5.0 Release版本

【正點(diǎn)原子STM32H7R3開發(fā)套件試用體驗(yàn)】開發(fā)套件開箱報(bào)告
AM243x LaunchPad?開發(fā)套件用戶指南

潤和軟件星閃派物聯(lián)網(wǎng)開發(fā)套件資料+答疑帖
TPS63802HDKEVM-硬件開發(fā)套件

潤和軟件啟動(dòng)鯤鵬原生開發(fā)合作
中科創(chuàng)達(dá)旗下創(chuàng)通聯(lián)達(dá)Qualcomm RB3 Gen 2 Lite開發(fā)套件上市銷售
潤開鴻“龍芯+OpenHarmony”開發(fā)平臺(tái)DAYU431先鋒派新品發(fā)布

評(píng)論