91欧美超碰AV自拍|国产成年人性爱视频免费看|亚洲 日韩 欧美一厂二区入|人人看人人爽人人操aV|丝袜美腿视频一区二区在线看|人人操人人爽人人爱|婷婷五月天超碰|97色色欧美亚州A√|另类A√无码精品一级av|欧美特级日韩特级

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

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

3天內不再提示

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

英碼科技 ? 來源:英碼科技 ? 作者:英碼科技 ? 2024-04-21 17:44 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

在教育、體育、安防、交通、醫(yī)療等領域中,實時人體關鍵點檢測應用發(fā)揮著至關重要的作用,比如在體育訓練時,實時人體關鍵點檢測可以精確、實時地捕捉運動員的動作,從而進行動作分析和優(yōu)化;在安防應用場景中,實時人體關鍵點檢測應用可以用來識別異常行為或特定姿態(tài),以達到場景安全防控的目的。

那么,什么是實時人體關鍵點檢測?
簡單來說,實時人體關鍵點檢測是一種計算機視覺技術,它能夠在圖像或視頻中實時地自動識別并標注出人體的關鍵部位,如關節(jié)點、頭部等。

實時人體關鍵點檢測在邊緣計算領域的應用非常重要和廣泛,今天我們來介紹:如何在英碼科技EA500I邊緣計算盒子上使用昇騰Mind SDK來實現實時人體關鍵點檢測。

案例概述

本應用以英碼科技EA500I邊緣計算盒子為主要硬件平臺,使用昇騰MindX SDK開發(fā)端到端人體關鍵點識別的參考設計,實現對視頻中的人體進行關鍵點識別的功能。

案例說明

本案例參考華為昇騰Mind SDK 實時人體關鍵點檢測,底層原理邏輯請參考:<昇騰社區(qū)應用案例>

前置條件

wKgaomYjXaCANyxYAARGWGREaIo093.png

一、環(huán)境安裝

●注意:


?以下操作以普通用戶HwHiAiUser安裝CANN包為例說明,推薦使用root用戶進行操作,如果是root用戶,請將安裝準備中所有的${HOME}修改為/usr/local。
?推薦按照本文檔路徑進行操作,如安裝在自定義路徑可能會導致環(huán)境沖突等問題

①配置相關環(huán)境

# 以安裝用戶在任意目錄下執(zhí)行以下命令,打開.bashrc文件。 vi ~/.bashrc # 在文件最后一行后面添加如下內容。 source ${HOME}/Ascend/ascend-toolkit/set_env.sh source /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 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環(huán)境 export NPU_HOST_LIB=${DDK_PATH}/runtime/lib64/stub #聲明CANN環(huán)境 # 執(zhí)行命令保存文件并退出。 :wq! # 執(zhí)行命令使其立即生效。 source ~/.bashrc # 創(chuàng)建samples相關依賴文件夾 mkdir -p ${THIRDPART_PATH} # 下載源碼并安裝git cd ${HOME} sudo apt-get install git git clone https://gitee.com/ascend/samples.git # 拷貝公共文件到samples相關依賴路徑中 cp -r ${HOME}/samples/common ${THIRDPART_PATH} # 拷貝media_mini等so文件以及相關頭文件 mkdir -p ${INSTALL_DIR}/driver cp /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/ #如路徑中沒有相關頭文件,可跳過該命令 # 下載案例源碼并安裝git cd ${HOME} git clone https://gitee.com/ascend/mindxsdk-referenceapps.git

②安裝x264插件

# 下載x264 cd ${HOME} git clone https://code.videolan.org/videolan/x264.git cd x264 # 安裝x264 ./configure --enable-shared --disable-asm make sudo make install sudo cp /usr/local/lib/libx264.so.164 /lib

wKgaomYjXiWAamFpAAHENFoOOwQ594.png

③安裝部署ffmpeg

# 下載ffmpeg cd ${HOME} wget http://www.ffmpeg.org/releases/ffmpeg-4.1.3.tar.gz --no-check-certificate tar -zxvf ffmpeg-4.1.3.tar.gz cd ffmpeg-4.1.3 # 安裝ffmpeg ./configure --enable-shared --enable-pic --enable-static --disable-x86asm --enable-libx264 --enable-gpl --prefix=${THIRDPART_PATH} #此步驟報錯可參考FAQ make -j8 make install # 添加環(huán)境變量 vi ~/.bashrc # 在文件最后一行后面添加如下內容。 export PATH=${HOME}/Ascend/thirdpart/aarch64/bin:$PATH # 執(zhí)行命令保存文件并退出。 :wq! # 執(zhí)行命令使其立即生效。 source ~/.bashrc

wKgaomYjXlGAGFfsAAfsa6cpNHA352.png

④安裝live555

# 下載相應版本的live555軟件包,該版本測試可用,部分版本的軟件包會有代碼編譯的報錯 cd ${HOME} wget http://www.live555.com/liveMedia/public/live.xxxx.xx.xx.tar.gz(請根據實際版本下載) tar -zxvf live.xxxx.xx.xx.tar.gz cd live/ # 修改config.linux vi config.linux 找到:CPLUSPLUS_FLAGS = $(COMPILE_OPTS) -Wall -DBSD=1 替換為:CPLUSPLUS_FLAGS = $(COMPILE_OPTS) -Wall -DBSD=1 -std=c++2a # 執(zhí)行命令保存文件并退出。 :wq! # 配置視頻循環(huán)推流,按照以下提示修改文件可以使自主搭建的rtsp循環(huán)推流,如果不作更改,則為有限的視頻流 cd ./liveMedia/ vi ByteStreamFileSource.cpp # 在liveMedia庫下的ByteStreamFileSource.cpp文件中的95行,找到: void ByteStreamFileSource::doGetNextFrame() { if (feof(fFid) || ferror(fFid) || (fLimitNumBytesToStream && fNumBytesToStream == 0)) { handleClosure(); return; } # 替換為: void ByteStreamFileSource::doGetNextFrame() { if (feof(fFid) || ferror(fFid) || (fLimitNumBytesToStream && fNumBytesToStream == 0)) { //handleClosure();** //return;** fseek(fFid, 0, SEEK_SET); } # 執(zhí)行命令保存文件并退出。 :wq! # 編譯并安裝 cd .. ./genMakefiles linux #注意后面這個參數是根據當前文件夾下config.獲取得到的,與服務器架構等有關。 make -j8 # 編譯完成后就會在當前目錄下生成mediaServer 文件夾,有一個live555MediaServer可執(zhí)行文件 # 防止推流丟幀 cd ../mediaServer vi DynamicRTSPServer.cpp 在mediaServer的DynamicRTSPServer.cpp文件中,修改每一處OutPacketBuffer::maxSize的值,更改到800000,該版本有三處需要修改。 # 執(zhí)行命令保存文件并退出。 :wq! # 修改了代碼后需要重新執(zhí)行編譯 cd .. make clean ./genMakefiles linux #注意后面這個參數是根據當前文件夾下config.獲取得到的,與服務器架構等有關。 make -j8 # 轉換MP4文件,把需要推流的人體MP4視頻文件上傳到相應目錄,執(zhí)行命令轉換成h264文件,相應參數請自行修改 ffmpeg -i test.mp4 -vcodec h264 -bf 0 -g 25 -r 10 -s 1280*720 -an -f h264 test1.264 //-bf B幀數目控制,-g 關鍵幀間隔控制,-s 分辨率控制 -an關閉音頻, -r 指定幀率 # 把轉換后的h264文件拷貝到${HOME}/live/mediaServer/路徑下 # 啟動推流 ./live555MediaServer # 啟動完成會輸出推流地址,其中rtsp_Url的格式是 rtsp://host:port/Data,host:port/路徑映射到mediaServer/目錄下,Data為視頻文件的路徑。例:rtsp://10.1.30.111:80/test1.h264 # 啟動成功后該終端窗口會一直推流,請另開一個終端窗口進行后續(xù)步驟

wKgaomYjXnuARSgQAALuoWK1Chw560.png

二、模型獲取&轉換

# 進入案例路徑,mindxsdk-referenceapps為前置步驟中下載的案例包 cd ${HOME}/mindxsdk-referenceapps/contrib/RTMHumanKeypointsDetection # 在models路徑下下載原始模型,下列鏈接可下載512x512的onnx模型文件 cd ./models wget https://mindx.sdk.obs.cn-north-4.myhuaweicloud.com/mindxsdk-referenceapps%20/contrib/RTMHumanKeypointsDetection/human-pose-estimation512.onnx --no-check-certificate # 進入"${RTMHumanKeypointsDetection代碼包目錄}/models/"目錄,對"insert_op.cfg"文件做以下修改 related_input_rank: 0 src_image_size_w: 512 # onnx模型輸入的寬,請根據對應模型進行修改,如使用本案例文檔下載的原始模型,則不需要修改 src_image_size_h: 512 # onnx模型輸入的高,請根據對應模型進行修改,如使用本案例文檔下載的原始模型,則不需要修改 crop: false # 使用ATC工具進行模型轉換 atc --model=./human-pose-estimation512.onnx --framework=5 --output=openpose_pytorch_512 --soc_version=Ascend310B1 --input_shape="data:1, 3, 512, 512" --input_format=NCHW --insert_op_conf=./insert_op.cfg

三、編譯運行案例

# 修改RTMHumanKeypointsDetection/pipeline目錄下的rtmOpenpose.pipeline文件中mxpi_rtspsrc0的內容。 "mxpi_rtspsrc0": { "factory": "mxpi_rtspsrc", "props": { "rtspUrl":"rtsp://xxx.xxx.xxx.xxx:xxxx/xxx.264", // 修改為自己所使用的的服務器和文件名,例:rtsp://10.1.30.111:80/test1.h264 "channelId": "0" }, "next": "mxpi_videodecoder0" }, # 注意檢查om模型文件名是否和pipeline/rtmOpenpose.pipeline中的mxpi_tensorinfer0 插件 modelPath 屬性值相同,若不同需改為一致。 "mxpi_tensorinfer0":{ "next":"mxpi_rtmopenposepostprocess0", "factory":"mxpi_tensorinfer", "props":{ "dataSource": "mxpi_imageresize0", "modelPath":"./models/openpose_pytorch_512.om"http://檢查om模型文件名是否正確 } }, # 若修改了模型的輸入尺寸,還需要將 mxpi_imageresize0 插件中的 resizeWidth 和 resizeHeight 屬性改成修改后的模型輸入尺寸值;將 mxpi_rtmopenposepostprocess0 插件中的 inputWidth 和 inputHeight 屬性改成修改后的模型輸入尺寸值。 "mxpi_imageresize0":{ "next":"queue3", "factory":"mxpi_imageresize", "props":{ "interpolation":"2", "resizeWidth":"512",//輸入的寬,請根據對應模型進行修改 "resizeHeight":"512",//輸入的高,請根據對應模型進行修改 "dataSource":"mxpi_videodecoder0", "resizeType":"Resizer_KeepAspectRatio_Fit" } }, ...... "mxpi_rtmopenposepostprocess0":{ "next":"queue4", "factory":"mxpi_rtmopenposepostprocess", "props":{ "imageSource":"mxpi_videodecoder0", "inputHeight":"512",//輸入的高,請根據對應模型進行修改 "dataSource":"mxpi_tensorinfer0", "inputWidth":"512"http://輸入的寬,請根據對應模型進行修改 } }, # 將pipeline里面的 mxpi_videoencoder0 插件中的 imageHeight 和 imageWidth 更改為上傳視頻的實際高和寬。 "mxpi_videoencoder0":{ "props": { "inputFormat": "YUV420SP_NV12", "outputFormat": "H264", "fps": "1", "iFrameInterval": "50", "imageHeight": "720",#上傳視頻的實際高 "imageWidth": "1280"#上傳視頻的實際寬 }, # 本項目需要使用mxpi_opencvosd 插件,使用前需要生成所需的模型文件。執(zhí)行MindX SDK開發(fā)套件包安裝目錄下operators/opencvosd/generate_osd_om.sh腳本生成所需模型文件。 例:bash /home/work/MindX_SDK/mxVision-5.0.RC3/operators/opencvosd/generate_osd_om.sh # 編譯項目 cd ${HOME}/mindxsdk-referenceapps/contrib/RTMHumanKeypointsDetection vi CMakeLists.txt # 在target_link_libraries處添加:cpprest 例:target_link_libraries(main glog mxbase cpprest plugintoolkit mxpidatatype streammanager mindxsdk_protobuf) cd ./plugins bash build.sh # 運行推理 bash run.sh # 運行成功后如無報錯會在當前路徑下生成一個out.h264文件 # 轉換為MP4文件 ffmpeg -i out.h264 -c copy output.mp4

wKgZomYjXx-AMRNVAAI6L1e8kFA948.png

wKgaomYjXx-AQV2RAAEWrWbYJik521.png

四、案例展示

轉換為MP4文件后,可以看到視頻中的人體關鍵點。

wKgaomYjXzeAD2VHAASbObMgCB8764.png

至此,實時人體關鍵點檢測應用部署成功,以下是英碼科技技術工程師在實際操作過程中遇到的相關FAQ,供大家參考~

五、相關FAQ

①安裝ffmpeg執(zhí)行命令:./configure時報錯:“Unable to create and execute files in /tmp. Set the TMPDIR environm”

?該報錯可能是環(huán)境問題

# 聲明相關環(huán)境 export TMPDIR=~/tmp-ffmpeg mkdir $TMPDIR # 之后再執(zhí)行./configure .......

②如果在使用Live555進行拉流時,依舊出現”The input frame datawas too large for our buffer“問題,導致丟幀。

?嘗試進行下列優(yōu)化在“l(fā)ive/liveMedia/StreamParser.cpp”中擴展幀解析buffer大小,即BANK_SIZE,默認值為150k,根據傳輸的H264數據幀大小,至少設置為300k。否則超出大小,可能會被Live555拋棄。

wKgZomYjX4SAbLVtAAEUCBaKCgI224.png

在“l(fā)ive/liveMedia/MediaSink.cpp”中增加OutPacketBuffer::maxSize大小,同樣為了容納超大幀數據,否則可能會導致數據丟失,設置為 600000。

wKgaomYjX5yAU18OAAEKXva7WBI759.png

在“l(fā)ive/liveMedia/MultiFramedRTPsource.cpp”中增加socket發(fā)送緩沖區(qū)大小,即increaseSendBufferTo函數的參數值--increaseRecieveBufferTo(env, RTPgs-> socketNUm(), 2000000)”

wKgaomYjX7eANakdAAFqfe74GAg359.png

結語

以上就是英碼科技EA500I邊緣計算盒子基于昇騰Mind SDK實現實時人體關鍵點檢測應用的全部操作內容,將持續(xù)推出更多基于昇騰AI芯片的邊緣計算盒子和技術干貨,歡迎大家持續(xù)關注和留言交流~

審核編輯 黃宇

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

    關注

    463

    文章

    54010

    瀏覽量

    466157
  • AI
    AI
    +關注

    關注

    91

    文章

    39793

    瀏覽量

    301454
  • SDK
    SDK
    +關注

    關注

    3

    文章

    1101

    瀏覽量

    51737
  • 邊緣計算
    +關注

    關注

    22

    文章

    3527

    瀏覽量

    53462
收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關推薦
    熱點推薦

    香橙派系列開發(fā)板如何部署OpenClaw

    香橙派系列開發(fā)板解鎖專業(yè)級智能體,OpenClaw擁抱高算力未來 上兩篇文章我們給出了香橙派此芯及RK系列產品部署OpenClaw的教程,接下來我們將這只智能小龍蝦接入到系列開
    發(fā)表于 02-25 10:13

    【正點原子STM32N647開發(fā)板試用】--手掌關鍵點檢測

    本篇講述實現攝像頭采集畫面圖像,檢測識別并繪制手掌關鍵點。 同樣作為邊緣AI識別應用,ST工程分為FSBL啟動、模型生成、APP應用。一.手掌關鍵
    發(fā)表于 02-02 23:39

    AI+FPGA助力生態(tài)新篇章|2025AI技術研討會·杭州站成功舉辦

    和杭州人工智能計算中心共同承辦。會議聚焦AI技術創(chuàng)新、行業(yè)解決方案落地及生態(tài)鏈協同發(fā)展三大核心議題。內容涵蓋底層硬件,大模型適配與調優(yōu)等關鍵
    的頭像 發(fā)表于 12-24 08:05 ?606次閱讀
    AI+FPGA助力<b class='flag-5'>昇</b><b class='flag-5'>騰</b>生態(tài)新篇章|2025<b class='flag-5'>昇</b><b class='flag-5'>騰</b>AI技術研討會·杭州站成功舉辦

    國產AI芯片真能扛住“算力內卷”?海思的這波操作藏了多少細節(jié)?

    最近行業(yè)都在說“算力是AI的命門”,但國產芯片真的能接住這波需求嗎? 前陣子接觸到海思910B,實測下來有點超出預期——7nm工藝下算力直接拉到256 TFLOPS,比上一代提升了40%,但功耗
    發(fā)表于 10-27 13:12

    【HD300I 】青翼凌云科技基于 310P 的全國產化智能計算模組

    HD300I 是一款基于 310P 的全國產化智能計算模組。該模 組將 310P 芯片集成在了一個 140*80mm 的板卡上,可以
    的頭像 發(fā)表于 09-24 19:45 ?2106次閱讀
    【HD300<b class='flag-5'>I</b> 】青翼凌云科技基于<b class='flag-5'>昇</b><b class='flag-5'>騰</b> 310P 的全國產化智能計算模組

    華為與全球開發(fā)者共贏生態(tài)

    在華為全聯接大會2025期間,華為計算業(yè)務總裁張迪煊發(fā)表了“以開發(fā)者為中心,加速自主創(chuàng)新,共贏生態(tài)”的主題演講,宣布CANN技術指導委員會正式成立,并表示
    的頭像 發(fā)表于 09-20 15:57 ?1946次閱讀

    商湯科技聯合華為實現超節(jié)點適配多項創(chuàng)新

    近日,商湯大裝置SenseCore與384超節(jié)點率先完成全面適配。
    的頭像 發(fā)表于 09-05 15:22 ?899次閱讀

    【開發(fā)實例】基于BPI-CanMV-K230D-Zero開發(fā)板實現人體關鍵點的實時動態(tài)識別

    本文介紹了香蕉派CanMVK230DZero開發(fā)板通過攝像頭實現人體關鍵點的實時動態(tài)檢測識別的項目設計。https://bbs.elecfa
    的頭像 發(fā)表于 07-08 08:04 ?1353次閱讀
    【開發(fā)實例】基于BPI-CanMV-K230D-Zero開發(fā)板<b class='flag-5'>實現</b><b class='flag-5'>人體</b><b class='flag-5'>關鍵</b>點的<b class='flag-5'>實時</b>動態(tài)識別

    【BPI-CanMV-K230D-Zero開發(fā)板體驗】人體關鍵點檢測

    【BPI-CanMV-K230D-Zero開發(fā)板體驗】人體關鍵點檢測 本文介紹了香蕉派 CanMV K230D Zero 開發(fā)板通過攝像頭實現人體
    發(fā)表于 06-28 13:18

    華為人工智能伙伴峰會成功舉行

    近日,在華為中國合作伙伴大會期間,人工智能伙伴峰會在深圳正式召開。會上,華為計算業(yè)務總裁張迪煊發(fā)表了《與時代 共
    的頭像 發(fā)表于 04-01 15:38 ?1364次閱讀

    DeepSeek在上的模型部署的常見問題及解決方案

    2024年12月26日,DeepSeek-V3橫空出世,以其卓越性能備受矚目。該模型發(fā)布即支持,用戶可在硬件和MindIE推理引擎上實現
    的頭像 發(fā)表于 03-25 16:53 ?2419次閱讀
    DeepSeek在<b class='flag-5'>昇</b><b class='flag-5'>騰</b>上的模型部署的常見問題及解決方案

    創(chuàng)思遠達與合作推動AI PC應用創(chuàng)新

    近日,端側智能領域創(chuàng)新者創(chuàng)思遠達攜手,基于算力平臺正式發(fā)布一系列AIPC應用。雙方深度融合了
    的頭像 發(fā)表于 03-25 10:22 ?1369次閱讀

    Deepseek進入業(yè)務深水區(qū),為什么需要大EP?

    行業(yè)智能化的高鐵,由大EP+DeepSeek的雙軌鋪成
    的頭像 發(fā)表于 03-17 15:09 ?1899次閱讀
    Deepseek進入業(yè)務深水區(qū),為什么需要<b class='flag-5'>昇</b><b class='flag-5'>騰</b>大EP?

    (原創(chuàng))310B(8T/20T)算力主板定制方案

    310B(20T)算力主板規(guī)格書 1.功能、性能與接口a)310B 20T算力處理器, 4個64位TAISHAN V200M處理器核,最高主頻1.8GHz,計算加速器如下:1)
    發(fā)表于 03-16 21:43

    潤和軟件將持續(xù)深化“+DeepSeek”技術路線

    近日,“+DeepSeek 智算引擎創(chuàng)新行”江蘇省首站活動在南京成功舉辦,本次活動由南京江北新區(qū)產業(yè)技術研創(chuàng)園指導,江蘇省人工智能學會、江蘇鯤鵬·生態(tài)創(chuàng)新中心主辦。江蘇潤和軟件
    的頭像 發(fā)表于 03-08 09:39 ?1429次閱讀