日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 人工智能 > ChatGpt >内容正文

ChatGpt

OpenHarmony AI图像识别开发—基于润和Hi3516开发套件

發布時間:2023/12/2 ChatGpt 71 豆豆
生活随笔 收集整理的這篇文章主要介紹了 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/ -pcp 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

總結

以上是生活随笔為你收集整理的OpenHarmony AI图像识别开发—基于润和Hi3516开发套件的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。