0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
电子发烧友
开通电子发烧友VIP会员 尊享10大特权
海量资料免费下载
精品直播免费看
优质内容免费畅学
课程9折专享价
創(chuàng)作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內(nèi)不再提示

OpenHarmony基于潤和Hi3516開發(fā)套件

電子發(fā)燒友開源社區(qū) ? 來源:HarmonyOS官方合作社區(qū) ? 作者:HarmonyOS官方合作社 ? 2022-05-07 10:16 ? 次閱讀

?

概述

我們將在Hi3516DV300 SDK的基礎之上進行開發(fā),分別為手部檢測+手勢識別實驗,垃圾分類實驗。手部檢測+手勢識別實驗以及垃圾分類實驗,主要基于訓練好的wk模型在板端進行部署,并充分發(fā)揮海思IVE、NNIE硬件加速能力,完成AI推理和業(yè)務處理。

?

目錄

ai_sample在Hi3516DV300 SDK基礎上進行開發(fā),在利用媒體通路的基礎上,通過捕獲VPSS幀進行預處理操作,并送至NNIE進行推理,結(jié)合AI CPU算子最終得到AI Flag并進行相應業(yè)務處理,該AI sample集成了垃圾分類、手勢檢測識別兩個基礎場景,運用到媒體理論、多線程、IPC通信、IVE、NNIE等思想,實現(xiàn)了一個輕量級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前處理、推理、后處理相關接口│ ├─ai_infer_process.c│ └─ai_infer_process.h├─dependency         # ai sample依賴的一些功能,如語音播報│ ├─audio_test.c│ └─audio_test.h├─ext_util                     # 常用的基礎接口、可移植操作系統(tǒng)接口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

?

拷貝第三方庫

步驟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

951c6a8e-cd9e-11ec-bce3-dac502259ad0.png

步驟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)

953ce552-cd9e-11ec-bce3-dac502259ad0.png

?

編譯

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

9556e7b8-cd9e-11ec-bce3-dac502259ad0.png

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

957c5890-cd9e-11ec-bce3-dac502259ad0.png

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

958d5230-cd9e-11ec-bce3-dac502259ad0.png

?

拷貝可執(zhí)行程序和依賴文件至開發(fā)板的mnt目錄下

方式一:使用SD卡進行資料文件的拷貝

首先需要自己準備一張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依賴的資源文件到本地》文檔獲取了資源文件)

95ae0a5c-cd9e-11ec-bce3-dac502259ad0.png

步驟4:可執(zhí)行文件拷貝成功后,將內(nèi)存卡插入開發(fā)板的SD卡槽中,可通過掛載的方式掛載到板端,可選擇SD卡 mount指令進行掛載。

mount -t vfat /dev/mmcblk1p1 /mnt
# 其中/dev/mmcblk1p1需要根據(jù)實際塊設備號修改

掛載成功后,如下圖所示:

95cfaeaa-cd9e-11ec-bce3-dac502259ad0.png

方式二:使用NFS掛載的方式進行資料文件的拷貝

首先需要自己準備一根網(wǎng)線:

步驟1:參考博客鏈接中的內(nèi)容,進行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依賴的資源文件到本地》文檔獲取了資源文件)。

95f2c4a8-cd9e-11ec-bce3-dac502259ad0.png

步驟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

960a1202-cd9e-11ec-bce3-dac502259ad0.png

執(zhí)行下面的命令,給ohos_camera_ai_demo文件可執(zhí)行權(quán)限

chmod 777 /userdata/ohos_camera_ai_demo

審核編輯 :李倩


聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學習之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • cpu
    cpu
    +關注

    關注

    68

    文章

    10922

    瀏覽量

    213332
  • 手勢識別
    +關注

    關注

    8

    文章

    225

    瀏覽量

    47885
  • 圖像識別
    +關注

    關注

    9

    文章

    522

    瀏覽量

    38436

原文標題:OpenHarmony AI圖像識別開發(fā)—基于潤和Hi3516開發(fā)套件

文章出處:【微信號:HarmonyOS_Community,微信公眾號:電子發(fā)燒友開源社區(qū)】歡迎添加關注!文章轉(zhuǎn)載請注明出處。

收藏 0人收藏

    評論

    相關推薦

    鴻蒙OpenHarmony【基于Hi3516DV300開發(fā)板(時鐘應用開發(fā))】

    如何快速搭建基于OpenHarmony標準系統(tǒng)(Hi3516DV300開發(fā)板)的應用開發(fā)環(huán)境,并基于一個時鐘APP示例逐步展示應用的創(chuàng)建、開發(fā)
    的頭像 發(fā)表于 05-08 15:27 ?1272次閱讀
    鴻蒙<b class='flag-5'>OpenHarmony</b>【基于<b class='flag-5'>Hi3516</b>DV300<b class='flag-5'>開發(fā)</b>板(時鐘應用<b class='flag-5'>開發(fā)</b>)】

    鴻蒙OpenHarmony南向:【Hi3516標準系統(tǒng)入門(命令行方式)】

    除小型系統(tǒng)外,Hi3516DV300開發(fā)板還支持標準系統(tǒng)。此章節(jié)簡要介紹如何使用命令行在Hi3516DV300開發(fā)板上進行標準系統(tǒng)的開發(fā)
    的頭像 發(fā)表于 05-08 09:26 ?967次閱讀
    鴻蒙<b class='flag-5'>OpenHarmony</b>南向:【<b class='flag-5'>Hi3516</b>標準系統(tǒng)入門(命令行方式)】

    鴻蒙OpenHarmony南向:【Hi3516開發(fā)板介紹】

    Hi3516DV300作為新一代行業(yè)專用Smart HD IP攝像機SOC,集成新一代ISP(Image Signal Processor)、H.265視頻壓縮編碼器以及高性能NNIE引擎,具備低碼率、高畫質(zhì)、低功耗等特點,并具備強勁的智能處理和分析能力。
    的頭像 發(fā)表于 05-06 16:13 ?738次閱讀
    鴻蒙<b class='flag-5'>OpenHarmony</b>南向:【<b class='flag-5'>Hi3516</b><b class='flag-5'>開發(fā)</b>板介紹】

    鴻蒙OpenHarmony【小型系統(tǒng) 燒錄】(基于Hi3516開發(fā)板)

    針對Hi3516DV300開發(fā)板,除了DevEco Device Tool(操作方法請參考燒錄))外,還可以使用HiTool進行燒錄。
    的頭像 發(fā)表于 04-28 15:03 ?1395次閱讀
    鴻蒙<b class='flag-5'>OpenHarmony</b>【小型系統(tǒng) 燒錄】(基于<b class='flag-5'>Hi3516</b><b class='flag-5'>開發(fā)</b>板)

    HarmonyOS開發(fā):【基于命令行(開發(fā)環(huán)境)】

    支持在Windows環(huán)境下進行編譯,如Hi3861、Hi3516系列開發(fā)板。因此,建議使用Ubuntu的編譯環(huán)境對源碼進行編譯。同時,開發(fā)板的燒錄需要在Windows環(huán)境中進行。
    的頭像 發(fā)表于 04-25 17:54 ?1318次閱讀
    HarmonyOS<b class='flag-5'>開發(fā)</b>:【基于命令行(<b class='flag-5'>開發(fā)</b>環(huán)境)】

    鴻蒙OpenHarmony【小型系統(tǒng)運行案例】 (基于Hi3516開發(fā)板)

    在完成Hi3516DV300的燒錄后,還需要設置BootLoader引導程序,才能運行OpenHarmony系統(tǒng)。
    的頭像 發(fā)表于 04-23 21:00 ?519次閱讀
    鴻蒙<b class='flag-5'>OpenHarmony</b>【小型系統(tǒng)運行案例】 (基于<b class='flag-5'>Hi3516</b><b class='flag-5'>開發(fā)</b>板)

    鴻蒙OpenHarmony【小型系統(tǒng)編譯】 (基于Hi3516開發(fā)板)

    DevEco Device Tool支持Hi3516DV300開發(fā)板的源碼一鍵編譯功能,提供編譯工具鏈和編譯環(huán)境依賴的檢測及一鍵安裝,簡化復雜編譯環(huán)境的同時,提升了編譯的效率。
    的頭像 發(fā)表于 04-23 15:53 ?583次閱讀
    鴻蒙<b class='flag-5'>OpenHarmony</b>【小型系統(tǒng)編譯】 (基于<b class='flag-5'>Hi3516</b><b class='flag-5'>開發(fā)</b>板)

    OpenHarmony開發(fā)實例:【電話簿聯(lián)系人Contacts】

    Contacts應用是基于OpenHarmony SDK開發(fā)的安裝在和HiSpark Taurus AI Camera(Hi3516d)開發(fā)
    的頭像 發(fā)表于 04-23 09:44 ?897次閱讀
    <b class='flag-5'>OpenHarmony</b><b class='flag-5'>開發(fā)</b>實例:【電話簿聯(lián)系人Contacts】

    OpenHarmony開發(fā)實例:【 待辦事項TodoList】

    TodoList應用是基于OpenHarmony SDK開發(fā)的安裝在和HiSpark Taurus AI Camera(Hi3516d)開發(fā)
    的頭像 發(fā)表于 04-22 22:00 ?829次閱讀
    <b class='flag-5'>OpenHarmony</b><b class='flag-5'>開發(fā)</b>實例:【 待辦事項TodoList】

    OpenHarmony鴻蒙南向開發(fā)案例:【智能貓眼(基于3516開發(fā)板)】

    基于Hi3516開發(fā)板,使用開源OpenHarmony開發(fā)的RTSP協(xié)議流媒體應用。達到將Hi3516
    的頭像 發(fā)表于 04-19 22:01 ?719次閱讀
    <b class='flag-5'>OpenHarmony</b>鴻蒙南向<b class='flag-5'>開發(fā)</b>案例:【智能貓眼(基于<b class='flag-5'>3516</b><b class='flag-5'>開發(fā)</b>板)】

    鴻蒙OpenHarmony【搭建Ubuntu環(huán)境】

    支持在Windows環(huán)境下進行編譯,如Hi3861、Hi3516系列開發(fā)板。因此,建議使用Ubuntu的編譯環(huán)境對源碼進行編譯。
    的頭像 發(fā)表于 04-19 16:53 ?1346次閱讀
    鴻蒙<b class='flag-5'>OpenHarmony</b>【搭建Ubuntu環(huán)境】

    鴻蒙OpenHarmony【搭建Windows環(huán)境】

    支持在Windows環(huán)境下進行編譯,如Hi3861、Hi3516系列開發(fā)板。因此,建議使用Ubuntu的編譯環(huán)境對源碼進行編譯。
    的頭像 發(fā)表于 04-19 15:42 ?688次閱讀
    鴻蒙<b class='flag-5'>OpenHarmony</b>【搭建Windows環(huán)境】

    OpenHarmony南向開發(fā)案例:【智能照相機】

    基于Hi3516開發(fā)板,使用OpenHarmony3.0-LTS開發(fā)的應用。通過獲取攝像頭數(shù)據(jù),實現(xiàn)預覽拍照以及路視頻等功能。并且通過后臺AI服務識別喚醒詞來進行語音控制拍照及錄制視頻
    的頭像 發(fā)表于 04-18 22:19 ?503次閱讀
    <b class='flag-5'>OpenHarmony</b>南向<b class='flag-5'>開發(fā)</b>案例:【智能照相機】

    OpenHarmony南向開發(fā)案例:【智能油煙機】

    基于Hi3516開發(fā)板,使用開源OpenHarmony開發(fā)的應用。
    的頭像 發(fā)表于 04-18 15:54 ?1128次閱讀
    <b class='flag-5'>OpenHarmony</b>南向<b class='flag-5'>開發(fā)</b>案例:【智能油煙機】

    OpenHarmony南向開發(fā)案例:【智能中控屏】

    基于Hi3516開發(fā)板,使用開源OpenHarmony開發(fā)的應用。通過控制面板可以控制同一局域網(wǎng)內(nèi)的空調(diào),窗簾,燈等智能家居設備。
    的頭像 發(fā)表于 04-17 16:12 ?465次閱讀
    <b class='flag-5'>OpenHarmony</b>南向<b class='flag-5'>開發(fā)</b>案例:【智能中控屏】

    電子發(fā)燒友

    中國電子工程師最喜歡的網(wǎng)站

    • 2931785位工程師會員交流學習
    • 獲取您個性化的科技前沿技術(shù)信息
    • 參加活動獲取豐厚的禮品