在线观看www成人影院-在线观看www日本免费网站-在线观看www视频-在线观看操-欧美18在线-欧美1级

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

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

3天內不再提示

基于昇騰AI | 英碼科技EA500I使用AscendCL實現垃圾分類和視頻物體分類應用

英碼嵌入式 ? 2024-05-01 08:26 ? 次閱讀

現如今,人工智能迅猛發展,AI賦能產業發展的速度正在加快,“AI+”的需求蜂擁而來,但AI應用快速落地的過程中仍存在很大的挑戰:向下需要適配的硬件,向上需要完善的技術支持,兩者缺一不可。


基于此,昇騰推出了系列化行業SDK和參考設計,通過把千行百業細分場景的開發經驗和行業知識沉淀下來、水平復制,從而大幅度降低門檻、簡化開發、提升效率。而英碼科技是昇騰重要的APN合作伙伴、金牌分銷商,具有較強的自主設計硬件能力,雙方緊密攜手,打造軟硬結合、更符合行業需求的算力底座,賦能產業快速、低成本數字化轉型。今天來介紹英碼科技EA500I邊緣計算盒子使用AscendCL快速實現垃圾分類和視頻物體分類應用的案例,幫助開發者降低學習成本、簡化開發流程,縮短項目周期!

案例概述①垃圾分類應用:基于AscendCL,使用EA500I實現對圖片中的垃圾類別進行檢測,并輸出有檢測類別的圖片;


②視頻物體分類應用:基于GoogLeNet分類網絡,使用EA500I實現對視頻幀中的物體進行識別分類,并將分類的結果展示在PC網頁上。



案例說明本案例底層原理邏輯請參考華為昇騰AscendCL<垃圾分類>,和<視頻物體分類>案例。


前置條件

627aa50c-0751-11ef-9118-92fbcf53809c.jpg

基于EA500I實現垃圾分類應用

1環境安裝

注意事項:


?以下操作以普通用戶HwHiAiUser安裝CANN包為例說明,推薦使用root用戶進行操作,如果是root用戶,請將安裝準備中所有的${HOME}修改為/usr/local。

?推薦按照本文檔路徑進行操作,如安裝在自定義路徑可能會導致環境沖突等問題


1、配置相關環境

# 以安裝用戶在任意目錄下執行以下命令,打開.bashrc文件。vi ~/.bashrc # 在文件最后一行后面添加如下內容。source ${HOME}/Ascend/ascend-toolkit/set_env.shsource /home/work/MindX_SDK/mxVision-5.0.RC3/set_env.sh
export CPU_ARCH=`arch`export THIRDPART_PATH=${HOME}/Ascend/thirdpart/${CPU_ARCH} #代碼編譯時鏈接samples所依賴的相關庫文件export PYTHONPATH=${THIRDPART_PATH}/acllite:$PYTHONPATH #設置pythonpath為固定目錄export LD_LIBRARY_PATH=${THIRDPART_PATH}/lib:$LD_LIBRARY_PATH #運行時鏈接庫文件export INSTALL_DIR=${HOME}/Ascend/ascend-toolkit/latest #CANN軟件安裝后的文件存儲路徑,根據安裝目錄自行修改export DDK_PATH=${HOME}/Ascend/ascend-toolkit/latest #聲明CANN環境export NPU_HOST_LIB=${DDK_PATH}/runtime/lib64/stub #聲明CANN環境# 執行命令保存文件并退出。:wq! # 執行命令使其立即生效。source ~/.bashrc# 創建samples相關依賴文件夾mkdir -p ${THIRDPART_PATH}# 下載源碼并安裝gitcd ${HOME}sudo apt-get install gitgit clone https://gitee.com/ascend/samples.git# 拷貝公共文件到samples相關依賴路徑中cp -r ${HOME}/samples/common ${THIRDPART_PATH} # 拷貝media_mini等so文件以及相關頭文件mkdir -p ${INSTALL_DIR}/drivercp /usr/lib64/libmedia_mini.so ${INSTALL_DIR}/driver/ #如路徑中沒有相關so文件,可跳過該命令cp /usr/lib64/libslog.so ${INSTALL_DIR}/driver/cp /usr/lib64/libc_sec.so ${INSTALL_DIR}/driver/cp /usr/lib64/libmmpa.so ${INSTALL_DIR}/driver/cp /usr/local/Ascend/include/peripheral_api.h ${INSTALL_DIR}/driver/ #如路徑中沒有相關頭文件,可跳過該命令

2、安裝python-acllite

# 安裝ffmpeg部分依賴sudo apt-get install -y libavformat-dev libavcodec-dev libavdevice-dev libavutil-dev libswscale-dev # 安裝其它依賴pip3 install --upgrade pippip3 install Cythonsudo apt-get install pkg-config libxcb-shm0-dev libxcb-xfixes0-dev# 安裝avpip3 install av# 安裝pillow 的依賴sudo apt-get install libtiff5-dev libjpeg8-dev zlib1g-dev libfreetype6-dev liblcms2-dev libwebp-dev tcl8.6-dev tk8.6-dev python-tk# 安裝numpy和PILpip3 install numpypip3 install Pillow# 將acllite目錄拷貝到第三方文件夾中。后續編譯依賴libmedia_mini.so,編譯完成后需替換此處的acllite文件夾cp -r ${HOME}/samples/python/common/acllite ${THIRDPART_PATH}# C碼庫編譯,本庫包含Atlas200dk的板載攝像頭訪問接口,該接口是在C碼(lib/src/目錄)基礎上做的python封裝。cd ${HOME}/samples/python/common/acllite/lib/srcmake # 編譯生成的libatalsutil.so在../atlas200dk/目錄下。# 再次將acllite目錄拷貝到第三方文件夾中,保證當前使用的是更新后的代碼。cp -r ${HOME}/samples/python/common/acllite ${THIRDPART_PATH}

2模型獲取&轉換

# 進入案例路徑,samples為前置步驟中下載的案例包cd ${HOME}/samples/python/contrib/garbage_picture# 在model路徑下下載原始模型wget https://obs-9be7.obs.cn-east-2.myhuaweicloud.com:443/003_Atc_Models/AE/ATC%20Model/garbage/mobilenetv2.air --no-check-certificatewget https://obs-9be7.obs.cn-east-2.myhuaweicloud.com/models/garbage_picture/insert_op_yuv.cfg --no-check-certificate# 使用ATC工具進行模型轉換atc --model=./mobilenetv2.air --framework=1 --output=garbage_yuv --soc_version=Ascend310B1 --insert_op_conf=./insert_op_yuv.cfg --input_shape="data:1,3,224,224" --input_format=NCHW

3測試數據獲取

# 創建并進入data文件夾cd ${HOME}/samples/python/contrib/garbage_picturemkdir datacd data# 下載圖片數據wget https://obs-9be7.obs.cn-east-2.myhuaweicloud.com/models/garbage_picture/newspaper.jpgwget https://obs-9be7.obs.cn-east-2.myhuaweicloud.com/models/garbage_picture/bottle.jpg wget https://obs-9be7.obs.cn-east-2.myhuaweicloud.com/models/garbage_picture/dirtycloth.jpg# 進入案例運行路徑 cd ../src

4運行案例

運行python代碼:

# 此處的data為測試數據路徑python3 classify_test.py ../data/

?運行成功后如無報錯會顯示以下信息


6299d2f6-0751-11ef-9118-92fbcf53809c.png

5案例展示

在案例根目錄out文件夾下會生成帶有檢測類別的圖片:

基于EA500I實現視頻物體分類應用

1環境安裝

注意事項:


?以下操作以普通用戶HwHiAiUser安裝CANN包為例說明,推薦使用root用戶進行操作,如果是root用戶,請將安裝準備中所有的${HOME}修改為/usr/local。

?推薦按照本文檔路徑進行操作,如安裝在自定義路徑可能會導致環境沖突等問題。


1、配置相關環境

# 以安裝用戶在任意目錄下執行以下命令,打開.bashrc文件。vi ~/.bashrc # 在文件最后一行后面添加如下內容。export CPU_ARCH=`arch`export THIRDPART_PATH=${HOME}/Ascend/thirdpart/${CPU_ARCH} #代碼編譯時鏈接samples所依賴的相關庫文件export LD_LIBRARY_PATH=${THIRDPART_PATH}/lib:$LD_LIBRARY_PATH #運行時鏈接庫文件export INSTALL_DIR=${HOME}/Ascend/ascend-toolkit/latest #CANN軟件安裝后的文件存儲路徑,根據安裝目錄自行修改export DDK_PATH=${HOME}/Ascend/ascend-toolkit/latest #聲明CANN環境export NPU_HOST_LIB=${DDK_PATH}/runtime/lib64/stub #聲明CANN環境# 執行命令保存文件并退出。:wq! # 執行命令使其立即生效。source ~/.bashrc # 創建samples相關依賴文件夾mkdir -p ${THIRDPART_PATH}# 下載源碼并安裝gitcd ${HOME}sudo apt-get install gitgit clone https://gitee.com/ascend/samples.git# 拷貝公共文件到samples相關依賴路徑中cp -r ${HOME}/samples/common ${THIRDPART_PATH}# 拷貝media_mini等so文件以及相關頭文件mkdir -p ${INSTALL_DIR}/drivercp /usr/lib64/libmedia_mini.so ${INSTALL_DIR}/driver/ #如路徑中沒有相關so文件,可跳過該命令cp /usr/lib64/libslog.so ${INSTALL_DIR}/driver/cp /usr/lib64/libc_sec.so ${INSTALL_DIR}/driver/cp /usr/lib64/libmmpa.so ${INSTALL_DIR}/driver/cp /usr/local/Ascend/include/peripheral_api.h ${INSTALL_DIR}/driver/ #如路徑中沒有相關頭文件,可跳過該命令

2、安裝opencv

# 執行以下命令安裝opencv (注:請確保安裝的版本是3.x)sudo apt-get install libopencv-dev# 如果安裝的opencv版本為4.x,請執行下列命令鏈接對應頭文件sudo ln -s /usr/include/opencv4/opencv2 /usr/include/


3、安裝protobuf&presentagent

# 安裝protobuf相關依賴sudo apt-get install autoconf automake libtool# 下載protobuf源碼cd ${HOME}git clone -b 3.13.x https://gitee.com/mirrors/protobufsource.git protobuf# 編譯安裝protobufcd protobuf./autogen.sh./configure --prefix=${THIRDPART_PATH}make cleanmake -j8sudo make install# 進入presentagent源碼目錄并編譯cd ${HOME}/samples/cplusplus/common/presenteragent/proto ${THIRDPART_PATH}/bin/protoc presenter_message.proto --cpp_out=./ #該步驟報錯可參考FAQ# 開始編譯presentagnetcd ..make -j8make install

2模型轉換&獲取

注意事項:


?本案例使用基于Caffe的GoogLeNet模型,獲取模型的命令已提供,如果開發者需要更多模型信息可參考:https://gitee.com/ascend/ModelZoo-TensorFlow/tree/master/TensorFlow/contrib/cv/googlenet/ATC_googlenet_caffe_AE

# 進入案例路徑,samples為前置步驟中下載的案例包cd ${HOME}/samples/cplusplus/level2_simple_inference/1_classification/googlenet_imagenet_video/model# 在model路徑下下載原始模型wget https://obs-9be7.obs.cn-east-2.myhuaweicloud.com/003_Atc_Models/AE/ATC%20Model/classification/googlenet.caffemodelwget https://obs-9be7.obs.cn-east-2.myhuaweicloud.com/003_Atc_Models/AE/ATC%20Model/classification/googlenet.prototxt# 在model路徑下下載模型配置文件wget https://obs-9be7.obs.cn-east-2.myhuaweicloud.com/models/googlenet_imagenet_video/insert_op.cfg# 使用ATC工具進行模型轉換atc --model="./googlenet.prototxt" --weight="./googlenet.caffemodel" --framework=0 --output="googlenet" --soc_version=Ascend310B1 --insert_op_conf=./insert_op.cfg --input_shape="data:1,3,224,224" --input_format=NCHW

3編譯運行案例

1、執行編譯腳本

# 進入腳本路徑cd ${HOME}/samples/cplusplus/level2_simple_inference/1_classification/googlenet_imagenet_video/scripts# 賦予腳本權限 chmod +x sample_build.sh # 執行編譯腳本bash sample_build.sh

?執行編譯腳本后請根據實際情況選擇arm/x86格式,在EA500I上進行操作請選擇:arm


634ec864-0751-11ef-9118-92fbcf53809c.png


?編譯腳本中會自動下載相關視頻素材:cat.mp4,如開發者使用其它素材,可以在sample_build.sh處刪除該命令

6358e79a-0751-11ef-9118-92fbcf53809c.png

?編譯完成后會生成相關文件并提示complete


6364de24-0751-11ef-9118-92fbcf53809c.png

2、執行腳本運行案例

# 賦予腳本權限 chmod +x sample_run.sh # 執行運行腳本bash sample_run.sh

?執行運行腳本后,如果有本設備有多個ip,請選擇能連通外網的ip并進行輸入,例:10.1.30.111


63b4423e-0751-11ef-9118-92fbcf53809c.png


?執行成功后,會提示successfully,并提供相關的網頁鏈接


63d7b732-0751-11ef-9118-92fbcf53809c.png

?運行腳本默認讀取cat.mp4素材,如開發者使用其它素材,可以在sample_run.sh處更改素材路徑


63f83520-0751-11ef-9118-92fbcf53809c.png

4案例展示

打開瀏覽器輸入提供的網頁鏈接與端口號,例:10.1.30.111:7007


?進入下圖界面后,等待狀態欄變為綠色,可以單擊“Refresh“刷新,當有數據時相應的Channel 的Status變成綠色。


?狀態欄正常后,點擊右側的View Name下的名字 ,例:classify

?進入視頻物體分類界面后,會在視頻左上角顯示檢測的物體類別,視頻上方顯示視頻幀率,開發者可進行截圖、錄像等功能。

5相關FAQ

1、安裝protobuf&presentagent時執行${THIRDPART_PATH}/bin/protoc presenter_message.proto --cpp_out=./ 報錯:protoc not such file or directory


?該報錯可能是protobuf安裝問題:

# 回到protobuf安裝路徑cd /usr/local/probuf# 再次執行make installmake install# 查看${THIRDPART_PATH}/bin/下是否有protoc

2、執行編譯腳本時報錯如下圖:


644a7060-0751-11ef-9118-92fbcf53809c.png

?該報錯可能是opencv版本問題:

# 進入報錯代碼vi ../src/classify_process.cpp# 修改報錯代碼第279行(請根據實際代碼行數修改)修改成:cv::IMWRITE_JPEG_QUALITY# 執行命令保存文件并退出:wq!# 重新執行編譯腳本bash sample_build.sh

結語

以上就是英碼科技EA500I邊緣計算盒子基于昇騰AscendCL快速實現垃圾分類和視頻物體分類應用的案例。選購英碼科技基于昇騰AI芯片推出的邊緣計算產品,即可參照以上流程快速實現相關應用,大幅降低開發學習時間,縮短項目周期!如有技術問題和產品定制需求,歡迎留言交流~

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • 硬件
    +關注

    關注

    11

    文章

    3328

    瀏覽量

    66218
  • AI
    AI
    +關注

    關注

    87

    文章

    30887

    瀏覽量

    269066
  • 人工智能
    +關注

    關注

    1791

    文章

    47274

    瀏覽量

    238468
收藏 人收藏

    評論

    相關推薦

    系列雙處理邊緣計算盒子DA500I,打造高效低延遲的視覺推理解決方案

    時效率較低,容易出現性能瓶頸,導致延遲增大;而GPU雖然在圖像處理上表現優秀,但功耗較高且不能靈活應對多樣化任務。 為應對這一挑戰,科技推出系列首款雙處理的邊緣計算盒子—DA
    的頭像 發表于 11-14 14:45 ?232次閱讀
    <b class='flag-5'>昇</b><b class='flag-5'>騰</b>系列雙處理邊緣計算盒子DA<b class='flag-5'>500I</b>,打造高效低延遲的視覺推理解決方案

    基于PYNQ的智能垃圾分類系統

    的問題,減輕社會和居民的壓力,如果可以實現可回收垃圾二次分類,對生活垃圾自主分類就顯得尤為重要。于此,我們決定設計這樣一個作品—智能識別自動
    發表于 07-09 18:44

    APN最佳伙伴—科技AI算力計算產品亮相WAIC 2024

    WAIC2024的成功舉辦,必將推動人工智能技術的發展實現新的跨越,科技也從中收獲滿滿!未來,科技將繼續深耕人工智能領域,持續為行業
    的頭像 發表于 07-09 16:50 ?488次閱讀
    <b class='flag-5'>昇</b><b class='flag-5'>騰</b>APN最佳伙伴—<b class='flag-5'>英</b><b class='flag-5'>碼</b>科技<b class='flag-5'>AI</b>算力計算產品亮相WAIC 2024

    基于AI Yolov7模型遷移到平臺EA500I邊緣計算盒子的實操指南

    近年來,國產化替代的進程正在加快。在眾多國產平臺中,平臺具有高性能、低功耗、易擴展、軟件棧全面成熟等優勢,其產品和技術在國內眾多領域實現了廣泛應用;作為
    的頭像 發表于 06-26 17:51 ?636次閱讀
    基于<b class='flag-5'>昇</b><b class='flag-5'>騰</b><b class='flag-5'>AI</b>  Yolov7模型遷移到<b class='flag-5'>昇</b><b class='flag-5'>騰</b>平臺<b class='flag-5'>EA500I</b>邊緣計算盒子的實操指南

    基于Vision Board上的openMV垃圾分類

    通過在Vision Board部署openMV實現垃圾分類
    的頭像 發表于 06-17 10:49 ?648次閱讀
    基于Vision Board上的openMV<b class='flag-5'>垃圾</b><b class='flag-5'>分類</b>

    如何基于OrangePi?AIpro開發AI推理應用

    香橙派AIpro開發板采用AI技術路線,接口豐富且具有強大的可擴展性,提供8/20TOPS澎湃算力,可廣泛使用于AI邊緣計算、深度視覺學習及視頻
    的頭像 發表于 06-04 14:23 ?532次閱讀
    如何基于OrangePi?AIpro開發<b class='flag-5'>AI</b>推理應用

    科技受邀參加鯤鵬南北雙峰會, 共同打造數智化新質生產力!

    基于平臺推出的一系列算力產品,以吸睛的直觀方式演示行業創新解決方案,以及分享科技如何攜手
    的頭像 發表于 05-17 16:23 ?1266次閱讀

    一步步帶你快速上手嵌入式EA200I-DK開發板:接口功能測試&amp;典型應用演示(免燒錄)

    近期,嵌入式聯合重磅推出了基于310系列AI
    的頭像 發表于 05-06 13:56 ?1212次閱讀
    一步步帶你快速上手<b class='flag-5'>英</b><b class='flag-5'>碼</b>嵌入式<b class='flag-5'>EA200I</b>-DK開發板:接口功能測試&amp;典型應用演示(免燒錄)

    基于AI | 科技EA500I使用AscendCL實現垃圾分類視頻物體分類應用

    。 ? 基于此,推出了系列化行業SDK和參考設計,通過把千行百業細分場景的開發經驗和行業知識沉淀下來、水平復制,從而大幅度降低門檻、簡化開發、提升效率。而科技是
    的頭像 發表于 04-26 08:38 ?409次閱讀
    基于<b class='flag-5'>昇</b><b class='flag-5'>騰</b><b class='flag-5'>AI</b> | <b class='flag-5'>英</b><b class='flag-5'>碼</b>科技<b class='flag-5'>EA500I</b>使用<b class='flag-5'>AscendCL</b><b class='flag-5'>實現</b><b class='flag-5'>垃圾</b><b class='flag-5'>分類</b>和<b class='flag-5'>視頻</b><b class='flag-5'>物體</b><b class='flag-5'>分類</b>應用

    嵌入式推出系列AI智能計算模組和開發套件:多規格算力,支持國產化定制!

    了基于310系列AI推理芯片的AI智能計算模組EA200I和開發套件EA200I-DK,具有
    的頭像 發表于 04-22 10:33 ?695次閱讀
    <b class='flag-5'>英</b><b class='flag-5'>碼</b>嵌入式推出<b class='flag-5'>昇</b><b class='flag-5'>騰</b>系列<b class='flag-5'>AI</b>智能計算模組和開發套件:多規格算力,支持國產化定制!

    科技EA500I基于Mind SDK實現實時人體關鍵點檢測

    ,實時人體關鍵點檢測應用可以用來識別異常行為或特定姿態,以達到場景安全防控的目的。 那么,什么是實時人體關鍵點檢測? 簡單來說,實時人體關鍵點檢測是一種計算機視覺技術,它能夠在圖像或視頻中實時地自動識別并標注出
    的頭像 發表于 04-21 17:44 ?997次閱讀
    <b class='flag-5'>英</b><b class='flag-5'>碼</b>科技<b class='flag-5'>EA500I</b>基于<b class='flag-5'>昇</b><b class='flag-5'>騰</b>Mind SDK<b class='flag-5'>實現</b>實時人體關鍵點檢測

    科技EA500I基于Mind SDK實現實時人體關鍵點檢測

    ,實時人體關鍵點檢測應用可以用來識別異常行為或特定姿態,以達到場景安全防控的目的。*圖片來源社區官網那么,什么是實時人體關鍵點檢測?簡單來說,實時人體關鍵點檢測是
    的頭像 發表于 04-20 08:25 ?568次閱讀
    <b class='flag-5'>英</b><b class='flag-5'>碼</b>科技<b class='flag-5'>EA500I</b>基于<b class='flag-5'>昇</b><b class='flag-5'>騰</b>Mind SDK<b class='flag-5'>實現</b>實時人體關鍵點檢測

    官宣!科技榮獲APN分銷金牌認證,攜手共建算力底座

    4月15日,華為技術有限公司正式為廣州信息科技有限公司頒發“APN分銷金牌認證證書”,授牌儀式在
    的頭像 發表于 04-16 10:37 ?504次閱讀
    官宣!<b class='flag-5'>英</b><b class='flag-5'>碼</b>科技榮獲<b class='flag-5'>昇</b><b class='flag-5'>騰</b>APN分銷金牌認證,攜手共建算力底座

    系列產品應用】科技EA500I邊緣計算盒子接口使用示例和目標檢測算法演示(附視頻

    EA500I科技聯合華為精心打造的AI邊緣計算盒子,其搭載
    的頭像 發表于 03-29 08:39 ?353次閱讀

    【技術干貨】教你如何基于華為CANN架構快速實現模型推理應用

    正因為資源極其豐富,浩如星辰,想要快速尋找,到摸索清楚其中的原理,并最終結合自己手上的項目實現應用部署,人力成本、時間成本將增加不少,不利于快速推進項目。 ? 現在~好消息來了! 經過科技工程師們的認真梳理,本篇文章,我們以
    的頭像 發表于 03-08 08:36 ?1808次閱讀
    【技術干貨】教你如何基于華為<b class='flag-5'>昇</b><b class='flag-5'>騰</b>CANN架構快速<b class='flag-5'>實現</b>模型推理應用
    主站蜘蛛池模板: 国产在线永久视频| 国模精品| 爱爱小视频免费看| 天天干天天拍天天操| aaa在线| 综合色99| 欧美一级二级三级视频| 在线天堂中文在线网| 爱射综合| 亚洲三级视频在线观看| 国产亚洲视频在线播放大全| 精品视频一区在线观看| 亚洲美女激情视频| 成人欧美精品一区二区不卡| 777午夜精品免费播放| 天堂网在线www| 午夜小视频男女在线观看| 在线免费观看一区二区三区| 欧美一区二区三区黄色| 手机看片福利盒子久久| 嘿嘿嘿视频在线观看| 华人永久免费视频| 91网站网站网站在线| 手机精品在线| 天天干天天舔天天射| 99在线国产| 澳门三级bd高清| 亚洲综合色色图| 久久久久999| 18性夜影院午夜寂寞影院免费| 视频一区 日韩| 日韩一级特黄| 五月婷久久| 亚洲日本中文字幕天天更新| 久久99久久精品国产99热| 国产一卡二卡≡卡四卡无人| 免费h视频网站| 鲁一鲁色一色| 欧美性猛交xxxx黑人喷水| 欧美三级不卡在线观线看高清| 精品乱人伦一区二区三区|