概覽概覽
視頻分析是指通過視頻處理、推論和分析操作將視頻流轉(zhuǎn)化為洞察力,用于醫(yī)療保健、零售、娛樂和工業(yè)等商業(yè)領(lǐng)域,視頻分析所使用的算法對(duì)輸入視頻流進(jìn)行物體探測(cè)、分類、識(shí)別、計(jì)數(shù)和跟蹤。
使用這一案例的特點(diǎn)是可互操作的集裝箱化微服務(wù),用于開發(fā)和部署使用建造的優(yōu)化視頻分析管道Intel? DL Streamer包件提供的預(yù)制集裝箱圖像使開發(fā)商能夠用自己的深層學(xué)習(xí)模型和管道取代集裝箱中使用的深層學(xué)習(xí)模型和管道。工業(yè)邊緣觀察(EII)用于在邊緣設(shè)備上進(jìn)行視頻分析的軟件堆疊 。
開發(fā)者可以通過使用預(yù)先制造的Docker* 圖像和簡(jiǎn)單地以眾所周知的JSON格式配置視頻分析管道來節(jié)省開發(fā)和部署時(shí)間。
選定配置 下載下載微觀服務(wù)和下列軟件。
配置 下載完成時(shí)間 :45分鐘 45分鐘
語言:Python* 3
可用軟件 :
邊緣視頻分析
Deep Learning Streamer (Intel? DL Streamer) Pipeline Server
目標(biāo)系統(tǒng)要求
下列處理器之一:
6th to 11th generation Intel? Core? processors
1st to 3rd generation of Intel? Xeon? Scalable processors
Intel Atom? processor with Intel? Streaming SIMD Extensions 4.2 (Intel? SSE4.2)
至少8GB內(nèi)存。
至少64GB硬盤。
互聯(lián)網(wǎng)連接。
Ubuntu* 20.04 LTS Kernel 5.4?
引用到OpenVINO? Toolkit System Requirements支持的 GPU 和 VPU 處理器。
? Use Kernel 5.8 for 11th generation Intel? Core? processors.
如何運(yùn)作
邊緣視頻分析
這是用于部署最佳視頻分析分析管道的Python* 微型服務(wù),作為Docker圖像在包件中提供。Intel? DL Streamer用于推斷的管道服務(wù)器。 Docker 圖像使用Intel? DL Streamer Pipeline Server as a library. The microservice can be started in one of two modes – Edge Insights Industrial (EII) to deploy with EII software stack or Edge Video Analytics (EVA) to deploy independent of the EII stack.
Edge Video Analytics (EVA) Mode: Provides the same RESTful APIs as Intel? DL Streamer Pipeline Server to discover, start, stop, customize,和monitor pipeline execution和supports MQTT和Kafka message brokers for publishing the inference results. For the REST API definition, refer to the Restfforforfor Microsservices 微服務(wù)接口.
工業(yè)(EII)模式的邊緣透視:支持管道執(zhí)行的 EII 配置管理器,以及發(fā)布推論結(jié)果的 EI 信息管道,使其與工業(yè)的邊緣透視軟件堆疊。
圖1:建筑圖圖
注意: 可以選擇, 人們也可以從 Docker 樞紐下載 docker 圖像, 來運(yùn)行獨(dú)立版本的微服務(wù)。 這是斷層視頻分析微服務(wù), 沒有安裝信息總線出版商和 gst- udfloader 元素等工業(yè)部件的邊緣透視, 因此容器大小較小 。
圖2 建筑圖圖 - 獨(dú)立版本
微服務(wù)資源
在邊緣視頻分析微觀服務(wù)中使用的以下配置文件、腳本和工具已列入邊緣視頻分析資源拉鏈文件:
docker- competable. yml 轉(zhuǎn)換器用于邊緣視頻分析微服務(wù) 和 MQTT 經(jīng)紀(jì)人的文件配置、創(chuàng)建和啟動(dòng)容器 。
管道和模型列表文件夾中包含“邊緣視頻分析微觀服務(wù)嵌入器”圖像中所包含的管道和示范定義文件。這些文件可以通過體積遞增來修改和使用“邊緣視頻分析微觀服務(wù)嵌入器”圖像。
工具/模型下下加載器工具工具從openvinotoolkit/open_model_zoo.
約克基多文件夾中包含一個(gè)配置 MQTT 代理器的文件, 以查看推斷結(jié)果 。
GST-UDF-LOADER元素
gst-udf-loader gstreamer 插件支持 python 和 本地(c) UDFs 的裝載和執(zhí)行。 UDF 是用戶定義的功能,使用戶能夠在 EVAM 定義的管道中添加任何預(yù)處理或后處理邏輯。
集裝箱發(fā)動(dòng)機(jī)和管弦
該軟件包使用Docker和Docker Compose進(jìn)行自動(dòng)集裝箱管理。
Docker集裝箱框架是企業(yè)環(huán)境中廣泛使用的集裝箱框架,允許將各種應(yīng)用及其依賴性包裝在一起,作為自足單位運(yùn)行。
Docker Compose是一個(gè)用于定義和運(yùn)行多集裝箱套件應(yīng)用程序的工具。
開始
第1步:安裝微觀服務(wù)
選定配置 下載下載微服務(wù),然后按以下步驟安裝。
配置 下載
打開一個(gè)新的終端, 轉(zhuǎn)到下載的文件夾并解zip 下載的軟件包 :
unzip video_analytics.zip
轉(zhuǎn)到視頻分析/目錄 :
cd video_analytics
更改可執(zhí)行的邊緣軟件文件的權(quán)限 :
chmod 755 edgesoftware
在下面運(yùn)行安裝微服務(wù)的命令 :
sudo ./edgesoftware install
安裝期間,您將被提示產(chǎn)品鍵。產(chǎn)品鍵包含在Intel發(fā)來的郵件中,該郵件確認(rèn)您的下載。
圖3:產(chǎn)品鍵
When the installation is complete, you see the message?“Installation of package complete”和the installation status for each module.
圖4 圖4:安裝完成
要校驗(yàn)安裝, 請(qǐng)列出使用以下命令下載的 Docker 圖像 :
sudo docker images
如果安裝成功, 您將會(huì)看到類似 :
圖5:安裝成功?
注:
路徑中將可用安裝失敗日志 :/var/log/esb-cli/video_analytics_何 地是下載的邊緣視頻分析微服務(wù)版本。
Docker 樞紐可直接下載邊緣視頻分析微服務(wù)嵌入圖像, 使用以下命令 :
docker pull intel/邊緣 _ 視頻_分析_微觀服務(wù):
安裝獨(dú)立版本
Docker 樞紐可使用以下命令直接從 Docker 樞紐下載獨(dú)立版本的 邊緣視頻分析微服務(wù) 的 docker 圖像 :
docker pull intel/邊緣 _ 視頻_分析_微觀服務(wù):-standalone
步驟2:運(yùn)行邊緣視頻分析
在此步驟中,您將運(yùn)行邊緣視頻分析微服務(wù),包括樣品物體探測(cè)、物體分類、物體跟蹤、面部檢測(cè)、情感識(shí)別、動(dòng)作識(shí)別和環(huán)境音頻探測(cè)管道,這些已經(jīng)包含在多克圖像中。
添加文件權(quán)限 :
跳轉(zhuǎn)到工作目錄Edge_Video_Analytics_Resources帶有命令 :
cd 視頻分析/Video_Analytics_/Edge_Video_Analytics_Resources/
添加文件權(quán)限以使用命令運(yùn)行腳本 :
sudo chmod +x docker/run.sh sudo chmod +x 工具/模型下下加載器/model_downloader.sh
?下載模型 :
通過運(yùn)行命令從工作目錄中 Open Model Zoo 下載所需的模型 :
sudo ./工具/模型下下加載器/model_downloader.sh --model-list models_list/models.list.yml
模型列表可以通過打開models_list/models.list.yml 文件。
通過瀏覽模式目錄, 檢查下載是否成功 :
圖6:模型目錄
注:示范清單可以修改或更新。
運(yùn)行微服務(wù):
以命令啟動(dòng)應(yīng)用程序 :sudo docker 合成
檢查終端中的成功信息 。
圖7 圖7:成功信息
打開一個(gè)新的終端,檢查集裝箱是否使用以下命令運(yùn)行:
sudo docker ps -–format 'table{{.Image}}t{{.Status}}t{{.Names}}'
命令輸出應(yīng)該顯示兩個(gè) docker 容器邊緣 _ 視頻_分析_微觀服務(wù)和日食- 日食- 日食具有咨商地位或具有Up.
圖8:集裝箱運(yùn)行中的集裝箱
利用REST請(qǐng)求,獲取集裝箱內(nèi)現(xiàn)有模型和管道清單:
打開一個(gè)新的終端 。
運(yùn)行以下命令以獲取微服務(wù)中可用的模型列表 :
curl --location -X GET 'http://localhost:8080/models'
運(yùn)行以下命令以獲取微服務(wù)中可用的管道列表。 管道以名稱/ version tuple 顯示。 名稱反映動(dòng)作, 版本提供此動(dòng)作的更多細(xì)節(jié) 。
curl --location -X GET 'http://localhost:8080/pipelines'
注:如果這些步驟由于代理問題而失敗,則提及排除故障段 次 頁 次
發(fā)送ReST請(qǐng)求以運(yùn)行物體探測(cè)管道:
通過替換創(chuàng)建 REST 請(qǐng)求在下面的曲線命令中,您系統(tǒng)的 IP 地址為 IP 。 (如果您在 PRC 區(qū)域,請(qǐng)參考下面的第二個(gè)選項(xiàng)。 )
引用到自定義視頻分析管道請(qǐng)求以理解 " STP-REST " 申請(qǐng)格式。
curl --location -X POST 'http://localhost:8080/pipelines/object_detection/person_vehicle_bike' --header 'Content-Type: application/json' --data-raw '{ "source": { "uri": "https://github.com/intel-iot-devkit/sample-videos/raw/master/person-bicycle-car-detection.mp4?raw=true", "type": "uri" }, "destination": { "metadata": { "type": "mqtt", "host": ":1883", "topic": "vaserving" }, "frame": { "type": "rtsp", "path": "vasserving" } } }'
對(duì)于 PRC 用戶,請(qǐng)使用下面顯示的鏈接替換在下面的卷軸命令中,使用您的系統(tǒng)的 IP 地址。
引用到自定義視頻分析管道請(qǐng)求以理解 " STP-REST " 申請(qǐng)格式。
curl --location -X POST 'http://localhost:8080/pipelines/object_detection/person_vehicle_bike' --header 'Content-Type: application/json' --data-raw '{ "source": { "uri": "file:///home/pipeline-server/resources/classroom.mp4", "type": "uri" }, "destination": { "metadata": { "type": "mqtt", "host": ":1883", "topic": "vaserving" }, "frame": { "type": "rtsp", "path": "vasserving" } } }'
注:對(duì)于低于0.7.2的EVAM版本,在工作目錄不同時(shí),對(duì)uri使用以下文字:檔案: /app/resources/lechroom.mp4
打開一個(gè)新的終端并運(yùn)行修改的卷軸命令。 REST 請(qǐng)求將返回管道實(shí)例 ID, 可用于查詢管道狀態(tài) 。
例如,就第一期而言,根據(jù)請(qǐng)求,管道(例如,a6d67224eacc11ec9f360242c0a8603)將歸還,隨后又以遞增號(hào)返回請(qǐng)求。
檢查結(jié)果:?
顯示微服務(wù)日志的初始終端窗口現(xiàn)在顯示新發(fā)送請(qǐng)求的日志, 包括管道實(shí)例、 狀態(tài)和 RTSP 流鏈接。 管道狀態(tài)將顯示隊(duì)列、 運(yùn)行和完成 。
圖9:核對(duì)結(jié)果
使用管道實(shí)例ID發(fā)送 Get 請(qǐng)求,檢查輸油管狀況:
curl --location -X GET 'http://localhost:8080/pipelines/object_detection/person_vehicle_bike//status'
何 地是管道實(shí)例。
從GET請(qǐng)求中收到的答復(fù)與以下各點(diǎn)相似:
{ "avg_fps": 27.014388149183596, "elapsed_time": 2.2934277057647705, "id": a6d67224eacc11ec9f360242c0a86003, "start_time": 1641468940.5196402, "state": "RUNNING" }
注:如果輸油管線已經(jīng)終止,那么國(guó)家將顯示為"COMPLETED".
打開 VLC 播放器中的輸出 RTSP 流, 以查看替換后輸入視頻上的推推結(jié)果在您的系統(tǒng) IP 地址的下列 URL 中:rtsp:// :8554/vasserving
請(qǐng)注意, 管道應(yīng)該在 RUNNING 狀態(tài)下查看輸出視頻。 如果管道已經(jīng)結(jié)束, 請(qǐng)使用卷曲命令重新開始, 然后查看視頻 。
圖10: 推斷結(jié)果
發(fā)送 REST 請(qǐng)求的替代方法 :
REST請(qǐng)求也可以通過郵遞員應(yīng)用程序發(fā)送,使用與前幾個(gè)步驟相同的卷曲命令。
要安裝 Postman 應(yīng)用程序,請(qǐng)執(zhí)行以下步驟:
轉(zhuǎn)到郵差下載.
在想要的位置提取安裝文件 。
提取后,雙擊應(yīng)用程序,并用您現(xiàn)有的賬戶簽名,或創(chuàng)建新賬戶簽名。
正在運(yùn)行獨(dú)立版本
獨(dú)立版本的邊緣視頻分析分析微服務(wù)與 EVA 模式相似,不同之處在于它沒有任何 EII 組件,因此只能以 EVA 模式運(yùn)行。結(jié)構(gòu)結(jié)構(gòu)圖圖,它是全容器圖像的脫光版。需要以下步驟才能運(yùn)行獨(dú)立的微服務(wù)版本。
如果尚未完成, 請(qǐng)使用命令下載雙向視頻分析微服務(wù)獨(dú)立版本的 docker 圖像 :
$ docker pull intel/邊緣 _ 視頻_分析_微觀服務(wù):1.0.0-standalone
為提升微服務(wù),請(qǐng)使用以下命令:
$ docker run -itd --rm -p 8080:8080 -p 8554:8554 -e ENABLE_RTSP=true -e RTSP_PORT=8554 -e ENABLE_WEBRTC=true -e WEBRTC_SIGNALING_SERVER=ws://localhost:8443 -e RUN_MODE=EVA intel/邊緣 _ 視頻_分析_微觀服務(wù):1.0.0-standalone
向輸油管服務(wù)器發(fā)送 REST 請(qǐng)求以運(yùn)行 對(duì)象_ 分類/ 車輛/ 屬性管道。 以下 CURL 命令為我們這樣做 。 回復(fù)將包含管道例 id (例如: a6d67224eacc11ec11ec9f360242c0a8603) , 用于使用輸油管- 服務(wù)器狀態(tài) API 查詢管道狀態(tài) 。
$ curl localhost:8080/pipelines/object_classification/vehicle_attributes -X POST -H 'Content-Type: application/json' -d '{ "source": { "uri": "https://github.com/intel-iot-devkit/sample-videos/blob/master/car-detection.mp4?raw=true", "type": "uri" }, "destination": { "metadata": { "type": "file", "path": "/tmp/results.jsonl /tmp/results.jsonl /tmp/results.jsonl /tmp/results.jsonl", "format": "json-lines" }, "frame": { "type": "rtsp", "path": "pipeline-server" } }, "parameters": { "detection-device": "CPU" } }'
微觀服務(wù)處公布元元數(shù)據(jù)的推推到一個(gè)本地文件,可在以下網(wǎng)址查閱:/tmp/results.jsonl /tmp/results.jsonl /tmp/results.jsonl /tmp/results.jsonl處理后的框架還作為RTSP流提供,可在下列地點(diǎn)查閱:trtsp://localhost:8554/管道-服務(wù)器,并且可以使用 RTSP 查看器查看。
添加模型和定制管道
可使用可用的下載腳本下載更多模型here.
您可以查詢pipeline server docs創(chuàng)建自定義管道,并使用邊緣視頻分析微服務(wù)。
假設(shè)其他模型和管道分別以${pwd}/模型和${pwd}/管道提供,則設(shè)定了以下環(huán)境變量。
$ export MODEL_DIR=$(pwd)/models $ export PIPELINE_DIR=$(pwd)/pipelines
為提升微服務(wù),請(qǐng)使用以下命令:
$ docker run -itd --rm --privileged --device=/dev:/dev --device-cgroup-rule='c 189:* rmw' --device-cgroup-rule='c 209:* rmw' --group-add 109 -p 8080:8080 -p 8554:8554 -e ENABLE_RTSP=true -e RTSP_PORT=8554 -e ENABLE_WEBRTC=true -e WEBRTC_SIGNALING_SERVER=ws://localhost:8443 -e RUN_MODE=EVA -e DETECTION_DEVICE=CPU -e CLASSIFICATION_DEVICE=CPU -v ${MODEL_DIR}:/home/pipeline-server/models -v ${PIPELINE_DIR}:/home/pipeline-server/pipelines intel/邊緣 _ 視頻_分析_微觀服務(wù):${TAG}
正在運(yùn)行 iGPU 上的推斷
要啟用對(duì) iGPU 推論的支持, 您將需要將額外的旗幟傳遞到 docker 運(yùn)行命令上, 詳情如下 。
$ docker run -itd --rm --privileged --device=/dev:/dev --device-cgroup-rule='c 189:* rmw' --device-cgroup-rule='c 209:* rmw' --group-add 109 -p 8080:8080 -p 8554:8554 -e ENABLE_RTSP=true -e RTSP_PORT=8554 -e ENABLE_WEBRTC=true -e WEBRTC_SIGNALING_SERVER=ws://localhost:8443 -e RUN_MODE=EVA intel/邊緣 _ 視頻_分析_微觀服務(wù):${TAG}
可選: 帶視頻分析測(cè)試模塊進(jìn)行測(cè)試
安裝完成后,您可通過運(yùn)行視頻分析測(cè)試模塊測(cè)試您的設(shè)置。
詳情,請(qǐng)參見Intel? Edge Software Device Qualification (Intel? ESDQ) for Video Analytics.
教腳
教程1: 在 GPU 上運(yùn)行物件探測(cè)管道
此教程將演示如何更改運(yùn)行 GPU 上的推論的推論設(shè)備 。
您將再次運(yùn)行相同的對(duì)象_ 檢測(cè)管道, 但這次您將使用集成的 GPU 進(jìn)行檢測(cè)推理, 設(shè)置檢測(cè)- 檢測(cè)設(shè)備參數(shù) 。
完成所有步驟Get Started上文一節(jié)。
在目標(biāo)設(shè)備上,檢查以下命令的輸出并獲得設(shè)備組:
stat -c '%g' /dev/dri/render*
在 docker-competect.yml 文件中添加設(shè)備組 :
group_add: - 109
通過替換創(chuàng)建 REST 請(qǐng)求the 在下面的卷軸命令中,使用您的系統(tǒng)的 IP 地址。
請(qǐng)注意REST機(jī)體的參數(shù)部分。
curl --location -X POST 'http://localhost:8080/pipelines/object_detection/person_vehicle_bike' --header 'Content-Type: application/json' --data-raw '{ "source": { "uri": "https://github.com/intel-iot-devkit/sample-videos/raw/master/person-bicycle-car-detection.mp4?raw=true", "type": "uri" }, "destination": { "metadata": { "type": "mqtt", "host": ":1883", "topic": "vaserving" }, "frame": { "type": "rtsp", "path": "vasserving" } }, "parameters": { "detection-device": "GPU" } }'
注:
GPU 電導(dǎo)內(nèi)插在首次裝入時(shí)動(dòng)態(tài)構(gòu)建 OpenCL 內(nèi)核,導(dǎo)致產(chǎn)生推論結(jié)果前的延遲 ~ 30 秒。
Additional configuration might be needed to run inference on GPU depending on the HW. Refer Configurations for Intel? Processor Graphics (GPU) to download和install install_NEO_OCL_driver.sh (system reboot might be needed).
打開一個(gè)新的終端并運(yùn)行卷軸命令。 REST 請(qǐng)求將返回管道實(shí)例 ID (例如, a6d67224eacc11ec9f360242c0a8603) , 可用于查詢管道狀態(tài) 。
校對(duì)結(jié)果運(yùn)行邊緣視頻分析以上步驟。
教學(xué)圖2:使用 USB 相機(jī)輸入的 RUN 邊緣視頻分析分析微觀服務(wù)
在此教程中, 您將把物體探測(cè)管道的輸入源更改為 USB 相機(jī) 。
完成所有步驟Get Started上文一節(jié)。
在Ubuntu上,通過執(zhí)行以下命令,列出所有可用的視頻設(shè)備:是/dev/Vide*
創(chuàng)建 curl 請(qǐng)求, 以便使用視頻設(shè)備作為源。 例如, 如果命令的輸出為 / dev/ Video0, 那么對(duì) curl 命令源進(jìn)行如下修改 :
curl --location -X POST 'http://localhost:8080/pipelines/object_detection/person_vehicle_bike' --header 'Content-Type: application/json' --data-raw '{ "source": { "device": "/dev/video0", "type": "webcam" }, "destination": { "metadata": { "type": "mqtt", "host": ":1883", "topic": "vaserving" }, "frame": { "type": "rtsp", "path": "vasserving" } } }'
打開一個(gè)新的終端并運(yùn)行卷軸命令。 REST 請(qǐng)求將返回管道實(shí)例 ID (例如, a6d67224eacc11ec9f360242c0a8603) , 可用于查詢管道狀態(tài) 。
校對(duì)結(jié)果運(yùn)行邊緣視頻分析以上步驟。
注意: 請(qǐng)確定設(shè)備源參數(shù)中使用了正確的設(shè)備節(jié)點(diǎn) 。
教程 3: 在邊緣視頻分析微服務(wù)中以新模式運(yùn)行新管道
在此教程中, 您將創(chuàng)建一個(gè)基于 人- 檢測(cè)管道的新管道, 它將使用 人- 檢測(cè)- retail- 0013 模型。 管道和模式文件夾將被安裝到邊緣視頻分析微服務(wù)上, 無需重建 Docker 圖像。 您可以遵循同樣的步驟創(chuàng)建任何新的管道 。
完成所有步驟Get Started上文一節(jié)。
下載新模型。
要從開放型動(dòng)物園下載新模型,請(qǐng)?jiān)谀P椭刑砑幽P图?xì)節(jié)。 list. yml 顯示于 Edge_Video_Analytics_Resources/models_list 路徑中。
對(duì)于人-檢測(cè)-零售-0013,在文件模型.list.yml的結(jié)尾處添加以下條目。
- model: person-detection-retail-0013 alias: object_detection version: person_detection precision: [FP16,FP32]
然后,在一個(gè)新的終端中運(yùn)行以下命令,下載模型。
cd 視頻分析/Video_Analytics_/Edge_Video_Analytics_Resources/ # 何 地 is the Package version downloaded sudo ./工具/模型下下加載器/model_downloader.sh --model-list models_list/models.list.yml
命令執(zhí)行完成后,下載的模型人-探測(cè)儀應(yīng)在模型/物體-探測(cè)目錄下提供。
如果您沒有使用來自開放型動(dòng)物園的模型,請(qǐng)?jiān)谀P湍夸浿兄苯訌?fù)制您的模型。
圖11:下載新模型
創(chuàng)建新管道
您將在管道/ 目標(biāo)/ 探測(cè)中創(chuàng)建一個(gè)新的管道。 既然您正在以現(xiàn)有人_ 車輛_ 自行車管道為基礎(chǔ), 請(qǐng)復(fù)制人_ 車輛_ 自行車文件夾, 將其重命名為人_ 探測(cè), 然后更新管道.json , 以便使用新模式 。
在同一終端中( 從路徑 Edge_ Video_Analytics_Resources) 執(zhí)行命令 :
sudo cp -r pipelines/object_detection/person_vehicle_bike/ pipelines/object_detection/person_detection
在新復(fù)制的管道/物體/探測(cè)/人/探測(cè)/管道.json中,編輯管道.json文件的模板和說明部分。 json使用以下線條,將示范路徑指定為模型/物體/探測(cè)/人/探測(cè),以便使用模型人-探測(cè)-零售-0013來探測(cè)物體。
將模板定義為 :
"template": ["uridecodebin name=source"," ! gvadetect model={models[object_detection][person_detection][network]} name=detection"," ! gvametaconvert name=metaconvert ! gvametapublish name=destination"," ! appsink name=appsink" ],
說明的定義是:
"description": "Person Detection based on person-detection-retail-0013",
請(qǐng)參見界定媒體分析管道了解輸油管模板和界定自己的輸油管。
使用添加了模型和管道的微型運(yùn)行服務(wù)
以命令啟動(dòng)應(yīng)用程序 :
sudo docker 合成
此步驟會(huì)大量掛載模型和管道目錄。 您可以在一個(gè)單獨(dú)的終端中檢查容器是否正在使用 sudo docker ps 命令運(yùn)行 。
檢查新的管道和模式
打開一個(gè)新終端并運(yùn)行以下命令以獲取可用的模型列表 :
curl --location -X GET 'http://localhost:8080/models'
運(yùn)行以下命令以獲取管道列表 。 管道以名稱/ version tuple 顯示。 名稱反映動(dòng)作, 版本提供動(dòng)作的更多細(xì)節(jié) 。
curl --location -X GET 'http://localhost:8080/pipelines'
您應(yīng)該看到列表中新添加的管道和模型 。
對(duì)象_ 檢測(cè)/ 人_ 檢測(cè)運(yùn)行管道
打開一個(gè)新的終端并輸入下面的曲線命令,用于下文給出的物件_ 檢測(cè)/ 人_ 檢測(cè)管道:
curl --location -X POST 'http://localhost:8080/pipelines/object_detection/person_detection' --header 'Content-Type: application/json' --data-raw '{ "source": { "uri": "https://github.com/intel-iot-devkit/sample-videos/raw/master/store-aisle-detection.mp4?raw=true", "type": "uri" }, "destination": { "metadata": { "type": "mqtt", "host": ":1883", "topic": "vaserving" }, "frame": { "type": "rtsp", "path": "vasserving" } } }'
何 地 is the IP address of the system.
The above curl command returns the pipeline instance. Use this pipeline instance to get the status by updating the in the below command:
curl --location --request GET 'http://localhost:8080/pipelines/object_detection/person_detection//status'

圖12: 人員探測(cè)運(yùn)行管道
微服務(wù)日志將顯示,天體探測(cè)/人探測(cè)管道實(shí)例已經(jīng)建立,管道狀態(tài)已經(jīng)改為RUNNING,并結(jié)束了。
圖13:管道日志
教程 4: 安裝邊緣視頻分析外殼圖
注:此教程從第2022.1號(hào)釋放起支持。
注:此教義假設(shè)您有一個(gè)寬網(wǎng)可用分組 。
在此教程中, 您將使用制導(dǎo)圖在 寬網(wǎng) 群集中部署邊緣視頻分析微服務(wù)。 使用 drawnchart 組合圖 。 用于樣本部署的 Guard 圖表包 邊緣視頻分析微服務(wù)和 MQTT 經(jīng)紀(jì)人。 要下載制導(dǎo)圖, 請(qǐng)使用定制的下載選項(xiàng) 。
完成所有步驟Get Started Guide. When the installation is complete, you see the message?“Installation of package complete”和the installation status for each module.
圖14:成功安裝
將模型、管道和資源文件夾復(fù)制到 /可選/英特爾/評(píng)價(jià)/庫(kù)伯涅茨工人節(jié)點(diǎn)。
上述先決條件完成后,安裝如下圖表:helm install evam ./chart/
Figure 15: Chart Installation
Get the IP IP 地址 :
kubectl get pods -o wide
Figure 16: Retrieving IP Address
更新管道請(qǐng)求指令以觸發(fā)管道。 替換EVAM_POD_IP, MQTT_POD_IP上面有 IP 地址 。
curl --location -X POST 'http://:8080/pipelines/object_detection/person_vehicle_bike' --header 'Content-Type: application/json' --data-raw '{ "source": { "uri": "file:///home/pipeline-server/resources/person-bicycle-car-detection.mp4", "type": "uri" }, "destination": { "metadata": { "type": "mqtt", "host": ":1883", "topic": "vaserving" } } }'
注:使用 GitHub URL 支持代理服務(wù)器網(wǎng)絡(luò)時(shí), 視頻文件使用 GitHub URL 可能無法工作 。 相反, 下載視頻文件并添加到資源目錄/可選/英特爾/評(píng)價(jià)立方公尺內(nèi)立體體體積的路徑。
獲取 MQTT 訂閱者的推斷輸出 :
docker run -it --entrypoint 約克基多_sub 日食- 日食- 日食:latest --topic vaserving -p 1883 -h
Figure 17: Inference Output
概述和下一步步驟
使用“邊緣視頻分析微服務(wù)” 學(xué)習(xí)如何進(jìn)行視頻分析。
學(xué)習(xí)更多
繼續(xù)學(xué)習(xí),見下列指南和軟件資源:
GitHub
Docker Image
Helm Charts (概覽概覽)
Microservice Endpoints
自定義視頻分析管道請(qǐng)求
界定媒體分析管道
Intel? Edge Software Device Qualification (Intel? ESDQ) for Video Analytics
排除故障
確保您在完全安裝期間有一個(gè)活躍的互聯(lián)網(wǎng)連接。 如果您隨時(shí)失去互聯(lián)網(wǎng)連接, 安裝可能會(huì)失敗 。
如果安裝在從 Intel 注冊(cè)處下載和提取圖像時(shí)失敗安裝, 然后重新運(yùn)行安裝命令sudo ./edgesoftware install通過提供產(chǎn)品鑰匙。
確保您正在使用一個(gè)新的 Ubuntu* 安裝。 早期軟件, 特別是 Docker 和 Docker Compose 可能會(huì)引起問題 。
在代理環(huán)境中,如果設(shè)定了單一用戶代理(即. bashrc 鍵) 然后部分組件安裝可能失敗或安裝掛掛掛。 請(qǐng)確定您已經(jīng)設(shè)置了代理服務(wù)器/貝茨/環(huán)境.
如果您的系統(tǒng)在代理服務(wù)器網(wǎng)絡(luò)中, 請(qǐng)?jiān)诃h(huán)境環(huán)境欄內(nèi)docker- competable. yml 轉(zhuǎn)換器文件。
HTTP_PROXY=http:/// HTTPS_PROXY=http://// NO_PROXY=localhost,127.0.0.1
輸入代理代理服務(wù)器的詳細(xì)信息docker- competable. yml 轉(zhuǎn)換器顯示如下:
如果缺少代理細(xì)節(jié), 則無法獲取運(yùn)行管道所需的源視頻文件, 并在容器內(nèi)安裝所需的包件 。
運(yùn)行命令sudo - E docker 合成(參考步驟8(安裝邊緣視頻分析微觀服務(wù))
在自定義模式下, 如果目標(biāo)設(shè)備在代理服務(wù)器后面, Helm CLI 安裝可能會(huì)失敗。 要修正它, 請(qǐng)更新 apag 代理服務(wù)器的細(xì)節(jié) 。
sudo snap set system proxy.http=http://// sudo snap set system proxy.https=http:////
如果集裝箱顯示有沖突錯(cuò)誤,則停止/刪除集裝箱。
要?jiǎng)h除邊緣 _ 視頻_分析_微觀服務(wù)和mqtt_ 經(jīng)紀(jì)人,使用以下任何一種備選辦法:
執(zhí)行下列命令:
sudo docker stop 邊緣 _ 視頻_分析_微觀服務(wù) mqtt_ 經(jīng)紀(jì)人 sudo docker rm 邊緣 _ 視頻_分析_微觀服務(wù) mqtt_ 經(jīng)紀(jì)人
或者運(yùn)行sudo docker 合成向下從路徑 :視頻分析/Video_Analytics_/Edge_Video_Analytics_Resources
支助論壇支助論壇
If you're unable to resolve your issues, contact the?支助論壇支助論壇.?
概覽概覽
視頻分析是指通過視頻處理、推論和分析操作將視頻流轉(zhuǎn)化為洞察力,用于醫(yī)療保健、零售、娛樂和工業(yè)等商業(yè)領(lǐng)域,視頻分析所使用的算法對(duì)輸入視頻流進(jìn)行物體探測(cè)、分類、識(shí)別、計(jì)數(shù)和跟蹤。
使用這一案例的特點(diǎn)是可互操作的集裝箱化微服務(wù),用于開發(fā)和部署使用建造的優(yōu)化視頻分析管道Intel? DL Streamer包件提供的預(yù)制集裝箱圖像使開發(fā)商能夠用自己的深層學(xué)習(xí)模型和管道取代集裝箱中使用的深層學(xué)習(xí)模型和管道。工業(yè)邊緣觀察(EII)用于在邊緣設(shè)備上進(jìn)行視頻分析的軟件堆疊 。
開發(fā)者可以通過使用預(yù)先制造的Docker* 圖像和簡(jiǎn)單地以眾所周知的JSON格式配置視頻分析管道來節(jié)省開發(fā)和部署時(shí)間。
選定配置 下載下載微觀服務(wù)和下列軟件。
配置 下載
完成時(shí)間 :45分鐘 45分鐘
語言:Python* 3
可用軟件 :
邊緣視頻分析
Deep Learning Streamer (Intel? DL Streamer) Pipeline Server
目標(biāo)系統(tǒng)要求
下列處理器之一:
6th to 11th generation Intel? Core? processors
1st to 3rd generation of Intel? Xeon? Scalable processors
Intel Atom? processor with Intel? Streaming SIMD Extensions 4.2 (Intel? SSE4.2)
至少8GB內(nèi)存。
至少64GB硬盤。
互聯(lián)網(wǎng)連接。
Ubuntu* 20.04 LTS Kernel 5.4?
引用到OpenVINO? Toolkit System Requirements支持的 GPU 和 VPU 處理器。
? Use Kernel 5.8 for 11th generation Intel? Core? processors.
如何運(yùn)作
邊緣視頻分析
這是用于部署最佳視頻分析分析管道的Python* 微型服務(wù),作為Docker圖像在包件中提供。Intel? DL Streamer用于推斷的管道服務(wù)器。 Docker 圖像使用Intel? DL Streamer Pipeline Server as a library. The microservice can be started in one of two modes – Edge Insights Industrial (EII) to deploy with EII software stack or Edge Video Analytics (EVA) to deploy independent of the EII stack.
Edge Video Analytics (EVA) Mode: Provides the same RESTful APIs as Intel? DL Streamer Pipeline Server to discover, start, stop, customize,和monitor pipeline execution和supports MQTT和Kafka message brokers for publishing the inference results. For the REST API definition, refer to the Restfforforfor Microsservices 微服務(wù)接口.
工業(yè)(EII)模式的邊緣透視:支持管道執(zhí)行的 EII 配置管理器,以及發(fā)布推論結(jié)果的 EI 信息管道,使其與工業(yè)的邊緣透視軟件堆疊。
圖1:建筑圖圖
注意: 可以選擇, 人們也可以從 Docker 樞紐下載 docker 圖像, 來運(yùn)行獨(dú)立版本的微服務(wù)。 這是斷層視頻分析微服務(wù), 沒有安裝信息總線出版商和 gst- udfloader 元素等工業(yè)部件的邊緣透視, 因此容器大小較小 。
圖2 建筑圖圖 - 獨(dú)立版本
微服務(wù)資源
在邊緣視頻分析微觀服務(wù)中使用的以下配置文件、腳本和工具已列入邊緣視頻分析資源拉鏈文件:
docker- competable. yml 轉(zhuǎn)換器用于邊緣視頻分析微服務(wù) 和 MQTT 經(jīng)紀(jì)人的文件配置、創(chuàng)建和啟動(dòng)容器 。
管道和模型列表文件夾中包含“邊緣視頻分析微觀服務(wù)嵌入器”圖像中所包含的管道和示范定義文件。這些文件可以通過體積遞增來修改和使用“邊緣視頻分析微觀服務(wù)嵌入器”圖像。
工具/模型下下加載器工具工具從openvinotoolkit/open_model_zoo.
約克基多文件夾中包含一個(gè)配置 MQTT 代理器的文件, 以查看推斷結(jié)果 。
GST-UDF-LOADER元素
gst-udf-loader gstreamer 插件支持 python 和 本地(c) UDFs 的裝載和執(zhí)行。 UDF 是用戶定義的功能,使用戶能夠在 EVAM 定義的管道中添加任何預(yù)處理或后處理邏輯。
集裝箱發(fā)動(dòng)機(jī)和管弦
該軟件包使用Docker和Docker Compose進(jìn)行自動(dòng)集裝箱管理。
Docker集裝箱框架是企業(yè)環(huán)境中廣泛使用的集裝箱框架,允許將各種應(yīng)用及其依賴性包裝在一起,作為自足單位運(yùn)行。
Docker Compose是一個(gè)用于定義和運(yùn)行多集裝箱套件應(yīng)用程序的工具。
開始
第1步:安裝微觀服務(wù)
選定配置 下載下載微服務(wù),然后按以下步驟安裝。
配置 下載
打開一個(gè)新的終端, 轉(zhuǎn)到下載的文件夾并解zip 下載的軟件包 :
unzip video_analytics.zip
轉(zhuǎn)到視頻分析/目錄 :
cd video_analytics
更改可執(zhí)行的邊緣軟件文件的權(quán)限 :
chmod 755 edgesoftware
在下面運(yùn)行安裝微服務(wù)的命令 :
sudo ./edgesoftware install
安裝期間,您將被提示產(chǎn)品鍵。產(chǎn)品鍵包含在Intel發(fā)來的郵件中,該郵件確認(rèn)您的下載。
圖3:產(chǎn)品鍵
When the installation is complete, you see the message?“Installation of package complete”和the installation status for each module.
圖4 圖4:安裝完成
要校驗(yàn)安裝, 請(qǐng)列出使用以下命令下載的 Docker 圖像 :
sudo docker images
如果安裝成功, 您將會(huì)看到類似 :
圖5:安裝成功?
注:
路徑中將可用安裝失敗日志 :/var/log/esb-cli/video_analytics_何 地是下載的邊緣視頻分析微服務(wù)版本。
Docker 樞紐可直接下載邊緣視頻分析微服務(wù)嵌入圖像, 使用以下命令 :
docker pull intel/邊緣 _ 視頻_分析_微觀服務(wù):
安裝獨(dú)立版本
Docker 樞紐可使用以下命令直接從 Docker 樞紐下載獨(dú)立版本的 邊緣視頻分析微服務(wù) 的 docker 圖像 :
docker pull intel/邊緣 _ 視頻_分析_微觀服務(wù):-standalone
步驟2:運(yùn)行邊緣視頻分析
在此步驟中,您將運(yùn)行邊緣視頻分析微服務(wù),包括樣品物體探測(cè)、物體分類、物體跟蹤、面部檢測(cè)、情感識(shí)別、動(dòng)作識(shí)別和環(huán)境音頻探測(cè)管道,這些已經(jīng)包含在多克圖像中。
添加文件權(quán)限 :
跳轉(zhuǎn)到工作目錄Edge_Video_Analytics_Resources帶有命令 :
cd 視頻分析/Video_Analytics_/Edge_Video_Analytics_Resources/
添加文件權(quán)限以使用命令運(yùn)行腳本 :
sudo chmod +x docker/run.sh sudo chmod +x 工具/模型下下加載器/model_downloader.sh
?下載模型 :
通過運(yùn)行命令從工作目錄中 Open Model Zoo 下載所需的模型 :
sudo ./工具/模型下下加載器/model_downloader.sh --model-list models_list/models.list.yml
模型列表可以通過打開models_list/models.list.yml 文件。
通過瀏覽模式目錄, 檢查下載是否成功 :
圖6:模型目錄
注:示范清單可以修改或更新。
運(yùn)行微服務(wù):
以命令啟動(dòng)應(yīng)用程序 :sudo docker 合成
檢查終端中的成功信息 。
圖7 圖7:成功信息
打開一個(gè)新的終端,檢查集裝箱是否使用以下命令運(yùn)行:
sudo docker ps -–format 'table{{.Image}}t{{.Status}}t{{.Names}}'
命令輸出應(yīng)該顯示兩個(gè) docker 容器邊緣 _ 視頻_分析_微觀服務(wù)和日食- 日食- 日食具有咨商地位或具有Up.
圖8:集裝箱運(yùn)行中的集裝箱
利用REST請(qǐng)求,獲取集裝箱內(nèi)現(xiàn)有模型和管道清單:
打開一個(gè)新的終端 。
運(yùn)行以下命令以獲取微服務(wù)中可用的模型列表 :
curl --location -X GET 'http://localhost:8080/models'
運(yùn)行以下命令以獲取微服務(wù)中可用的管道列表。 管道以名稱/ version tuple 顯示。 名稱反映動(dòng)作, 版本提供此動(dòng)作的更多細(xì)節(jié) 。
curl --location -X GET 'http://localhost:8080/pipelines'
注:如果這些步驟由于代理問題而失敗,則提及排除故障段 次 頁 次
發(fā)送ReST請(qǐng)求以運(yùn)行物體探測(cè)管道:
通過替換創(chuàng)建 REST 請(qǐng)求在下面的曲線命令中,您系統(tǒng)的 IP 地址為 IP 。 (如果您在 PRC 區(qū)域,請(qǐng)參考下面的第二個(gè)選項(xiàng)。 )
引用到自定義視頻分析管道請(qǐng)求以理解 " STP-REST " 申請(qǐng)格式。
curl --location -X POST 'http://localhost:8080/pipelines/object_detection/person_vehicle_bike' --header 'Content-Type: application/json' --data-raw '{ "source": { "uri": "https://github.com/intel-iot-devkit/sample-videos/raw/master/person-bicycle-car-detection.mp4?raw=true", "type": "uri" }, "destination": { "metadata": { "type": "mqtt", "host": ":1883", "topic": "vaserving" }, "frame": { "type": "rtsp", "path": "vasserving" } } }'
對(duì)于 PRC 用戶,請(qǐng)使用下面顯示的鏈接替換在下面的卷軸命令中,使用您的系統(tǒng)的 IP 地址。
引用到自定義視頻分析管道請(qǐng)求以理解 " STP-REST " 申請(qǐng)格式。
curl --location -X POST 'http://localhost:8080/pipelines/object_detection/person_vehicle_bike' --header 'Content-Type: application/json' --data-raw '{ "source": { "uri": "file:///home/pipeline-server/resources/classroom.mp4", "type": "uri" }, "destination": { "metadata": { "type": "mqtt", "host": ":1883", "topic": "vaserving" }, "frame": { "type": "rtsp", "path": "vasserving" } } }'
注:對(duì)于低于0.7.2的EVAM版本,在工作目錄不同時(shí),對(duì)uri使用以下文字:檔案: /app/resources/lechroom.mp4
打開一個(gè)新的終端并運(yùn)行修改的卷軸命令。 REST 請(qǐng)求將返回管道實(shí)例 ID, 可用于查詢管道狀態(tài) 。
例如,就第一期而言,根據(jù)請(qǐng)求,管道(例如,a6d67224eacc11ec9f360242c0a8603)將歸還,隨后又以遞增號(hào)返回請(qǐng)求。
檢查結(jié)果:?
顯示微服務(wù)日志的初始終端窗口現(xiàn)在顯示新發(fā)送請(qǐng)求的日志, 包括管道實(shí)例、 狀態(tài)和 RTSP 流鏈接。 管道狀態(tài)將顯示隊(duì)列、 運(yùn)行和完成 。
圖9:核對(duì)結(jié)果
使用管道實(shí)例ID發(fā)送 Get 請(qǐng)求,檢查輸油管狀況:
curl --location -X GET 'http://localhost:8080/pipelines/object_detection/person_vehicle_bike//status'
何 地是管道實(shí)例。
從GET請(qǐng)求中收到的答復(fù)與以下各點(diǎn)相似:
{ "avg_fps": 27.014388149183596, "elapsed_time": 2.2934277057647705, "id": a6d67224eacc11ec9f360242c0a86003, "start_time": 1641468940.5196402, "state": "RUNNING" }
注:如果輸油管線已經(jīng)終止,那么國(guó)家將顯示為"COMPLETED".
打開 VLC 播放器中的輸出 RTSP 流, 以查看替換后輸入視頻上的推推結(jié)果在您的系統(tǒng) IP 地址的下列 URL 中:rtsp:// :8554/vasserving
請(qǐng)注意, 管道應(yīng)該在 RUNNING 狀態(tài)下查看輸出視頻。 如果管道已經(jīng)結(jié)束, 請(qǐng)使用卷曲命令重新開始, 然后查看視頻 。
圖10: 推斷結(jié)果
發(fā)送 REST 請(qǐng)求的替代方法 :
REST請(qǐng)求也可以通過郵遞員應(yīng)用程序發(fā)送,使用與前幾個(gè)步驟相同的卷曲命令。
要安裝 Postman 應(yīng)用程序,請(qǐng)執(zhí)行以下步驟:
轉(zhuǎn)到郵差下載.
在想要的位置提取安裝文件 。
提取后,雙擊應(yīng)用程序,并用您現(xiàn)有的賬戶簽名,或創(chuàng)建新賬戶簽名。
正在運(yùn)行獨(dú)立版本
獨(dú)立版本的邊緣視頻分析分析微服務(wù)與 EVA 模式相似,不同之處在于它沒有任何 EII 組件,因此只能以 EVA 模式運(yùn)行。結(jié)構(gòu)結(jié)構(gòu)圖圖,它是全容器圖像的脫光版。需要以下步驟才能運(yùn)行獨(dú)立的微服務(wù)版本。
如果尚未完成, 請(qǐng)使用命令下載雙向視頻分析微服務(wù)獨(dú)立版本的 docker 圖像 :
$ docker pull intel/邊緣 _ 視頻_分析_微觀服務(wù):1.0.0-standalone
為提升微服務(wù),請(qǐng)使用以下命令:
$ docker run -itd --rm -p 8080:8080 -p 8554:8554 -e ENABLE_RTSP=true -e RTSP_PORT=8554 -e ENABLE_WEBRTC=true -e WEBRTC_SIGNALING_SERVER=ws://localhost:8443 -e RUN_MODE=EVA intel/邊緣 _ 視頻_分析_微觀服務(wù):1.0.0-standalone
向輸油管服務(wù)器發(fā)送 REST 請(qǐng)求以運(yùn)行 對(duì)象_ 分類/ 車輛/ 屬性管道。 以下 CURL 命令為我們這樣做 。 回復(fù)將包含管道例 id (例如: a6d67224eacc11ec11ec9f360242c0a8603) , 用于使用輸油管- 服務(wù)器狀態(tài) API 查詢管道狀態(tài) 。
$ curl localhost:8080/pipelines/object_classification/vehicle_attributes -X POST -H 'Content-Type: application/json' -d '{ "source": { "uri": "https://github.com/intel-iot-devkit/sample-videos/blob/master/car-detection.mp4?raw=true", "type": "uri" }, "destination": { "metadata": { "type": "file", "path": "/tmp/results.jsonl /tmp/results.jsonl /tmp/results.jsonl /tmp/results.jsonl", "format": "json-lines" }, "frame": { "type": "rtsp", "path": "pipeline-server" } }, "parameters": { "detection-device": "CPU" } }'
微觀服務(wù)處公布元元數(shù)據(jù)的推推到一個(gè)本地文件,可在以下網(wǎng)址查閱:/tmp/results.jsonl /tmp/results.jsonl /tmp/results.jsonl /tmp/results.jsonl處理后的框架還作為RTSP流提供,可在下列地點(diǎn)查閱:trtsp://localhost:8554/管道-服務(wù)器,并且可以使用 RTSP 查看器查看。
添加模型和定制管道
可使用可用的下載腳本下載更多模型here.
您可以查詢pipeline server docs創(chuàng)建自定義管道,并使用邊緣視頻分析微服務(wù)。
假設(shè)其他模型和管道分別以${pwd}/模型和${pwd}/管道提供,則設(shè)定了以下環(huán)境變量。
$ export MODEL_DIR=$(pwd)/models $ export PIPELINE_DIR=$(pwd)/pipelines
為提升微服務(wù),請(qǐng)使用以下命令:
$ docker run -itd --rm --privileged --device=/dev:/dev --device-cgroup-rule='c 189:* rmw' --device-cgroup-rule='c 209:* rmw' --group-add 109 -p 8080:8080 -p 8554:8554 -e ENABLE_RTSP=true -e RTSP_PORT=8554 -e ENABLE_WEBRTC=true -e WEBRTC_SIGNALING_SERVER=ws://localhost:8443 -e RUN_MODE=EVA -e DETECTION_DEVICE=CPU -e CLASSIFICATION_DEVICE=CPU -v ${MODEL_DIR}:/home/pipeline-server/models -v ${PIPELINE_DIR}:/home/pipeline-server/pipelines intel/邊緣 _ 視頻_分析_微觀服務(wù):${TAG}
正在運(yùn)行 iGPU 上的推斷
要啟用對(duì) iGPU 推論的支持, 您將需要將額外的旗幟傳遞到 docker 運(yùn)行命令上, 詳情如下 。
$ docker run -itd --rm --privileged --device=/dev:/dev --device-cgroup-rule='c 189:* rmw' --device-cgroup-rule='c 209:* rmw' --group-add 109 -p 8080:8080 -p 8554:8554 -e ENABLE_RTSP=true -e RTSP_PORT=8554 -e ENABLE_WEBRTC=true -e WEBRTC_SIGNALING_SERVER=ws://localhost:8443 -e RUN_MODE=EVA intel/邊緣 _ 視頻_分析_微觀服務(wù):${TAG}
可選: 帶視頻分析測(cè)試模塊進(jìn)行測(cè)試
安裝完成后,您可通過運(yùn)行視頻分析測(cè)試模塊測(cè)試您的設(shè)置。
詳情,請(qǐng)參見Intel? Edge Software Device Qualification (Intel? ESDQ) for Video Analytics.
教腳
教程1: 在 GPU 上運(yùn)行物件探測(cè)管道
此教程將演示如何更改運(yùn)行 GPU 上的推論的推論設(shè)備 。
您將再次運(yùn)行相同的對(duì)象_ 檢測(cè)管道, 但這次您將使用集成的 GPU 進(jìn)行檢測(cè)推理, 設(shè)置檢測(cè)- 檢測(cè)設(shè)備參數(shù) 。
完成所有步驟Get Started上文一節(jié)。
在目標(biāo)設(shè)備上,檢查以下命令的輸出并獲得設(shè)備組:
stat -c '%g' /dev/dri/render*
在 docker-competect.yml 文件中添加設(shè)備組 :
group_add: - 109
通過替換創(chuàng)建 REST 請(qǐng)求the 在下面的卷軸命令中,使用您的系統(tǒng)的 IP 地址。
請(qǐng)注意REST機(jī)體的參數(shù)部分。
curl --location -X POST 'http://localhost:8080/pipelines/object_detection/person_vehicle_bike' --header 'Content-Type: application/json' --data-raw '{ "source": { "uri": "https://github.com/intel-iot-devkit/sample-videos/raw/master/person-bicycle-car-detection.mp4?raw=true", "type": "uri" }, "destination": { "metadata": { "type": "mqtt", "host": ":1883", "topic": "vaserving" }, "frame": { "type": "rtsp", "path": "vasserving" } }, "parameters": { "detection-device": "GPU" } }'
注:
GPU 電導(dǎo)內(nèi)插在首次裝入時(shí)動(dòng)態(tài)構(gòu)建 OpenCL 內(nèi)核,導(dǎo)致產(chǎn)生推論結(jié)果前的延遲 ~ 30 秒。
Additional configuration might be needed to run inference on GPU depending on the HW. Refer Configurations for Intel? Processor Graphics (GPU) to download和install install_NEO_OCL_driver.sh (system reboot might be needed).
打開一個(gè)新的終端并運(yùn)行卷軸命令。 REST 請(qǐng)求將返回管道實(shí)例 ID (例如, a6d67224eacc11ec9f360242c0a8603) , 可用于查詢管道狀態(tài) 。
校對(duì)結(jié)果運(yùn)行邊緣視頻分析以上步驟。
教學(xué)圖2:使用 USB 相機(jī)輸入的 RUN 邊緣視頻分析分析微觀服務(wù)
在此教程中, 您將把物體探測(cè)管道的輸入源更改為 USB 相機(jī) 。
完成所有步驟Get Started上文一節(jié)。
在Ubuntu上,通過執(zhí)行以下命令,列出所有可用的視頻設(shè)備:是/dev/Vide*
創(chuàng)建 curl 請(qǐng)求, 以便使用視頻設(shè)備作為源。 例如, 如果命令的輸出為 / dev/ Video0, 那么對(duì) curl 命令源進(jìn)行如下修改 :
curl --location -X POST 'http://localhost:8080/pipelines/object_detection/person_vehicle_bike' --header 'Content-Type: application/json' --data-raw '{ "source": { "device": "/dev/video0", "type": "webcam" }, "destination": { "metadata": { "type": "mqtt", "host": ":1883", "topic": "vaserving" }, "frame": { "type": "rtsp", "path": "vasserving" } } }'
打開一個(gè)新的終端并運(yùn)行卷軸命令。 REST 請(qǐng)求將返回管道實(shí)例 ID (例如, a6d67224eacc11ec9f360242c0a8603) , 可用于查詢管道狀態(tài) 。
校對(duì)結(jié)果運(yùn)行邊緣視頻分析以上步驟。
注意: 請(qǐng)確定設(shè)備源參數(shù)中使用了正確的設(shè)備節(jié)點(diǎn) 。
教程 3: 在邊緣視頻分析微服務(wù)中以新模式運(yùn)行新管道
在此教程中, 您將創(chuàng)建一個(gè)基于 人- 檢測(cè)管道的新管道, 它將使用 人- 檢測(cè)- retail- 0013 模型。 管道和模式文件夾將被安裝到邊緣視頻分析微服務(wù)上, 無需重建 Docker 圖像。 您可以遵循同樣的步驟創(chuàng)建任何新的管道 。
完成所有步驟Get Started上文一節(jié)。
下載新模型。
要從開放型動(dòng)物園下載新模型,請(qǐng)?jiān)谀P椭刑砑幽P图?xì)節(jié)。 list. yml 顯示于 Edge_Video_Analytics_Resources/models_list 路徑中。
對(duì)于人-檢測(cè)-零售-0013,在文件模型.list.yml的結(jié)尾處添加以下條目。
- model: person-detection-retail-0013 alias: object_detection version: person_detection precision: [FP16,FP32]
然后,在一個(gè)新的終端中運(yùn)行以下命令,下載模型。
cd 視頻分析/Video_Analytics_/Edge_Video_Analytics_Resources/ # 何 地 is the Package version downloaded sudo ./工具/模型下下加載器/model_downloader.sh --model-list models_list/models.list.yml
命令執(zhí)行完成后,下載的模型人-探測(cè)儀應(yīng)在模型/物體-探測(cè)目錄下提供。
如果您沒有使用來自開放型動(dòng)物園的模型,請(qǐng)?jiān)谀P湍夸浿兄苯訌?fù)制您的模型。
圖11:下載新模型
創(chuàng)建新管道
您將在管道/ 目標(biāo)/ 探測(cè)中創(chuàng)建一個(gè)新的管道。 既然您正在以現(xiàn)有人_ 車輛_ 自行車管道為基礎(chǔ), 請(qǐng)復(fù)制人_ 車輛_ 自行車文件夾, 將其重命名為人_ 探測(cè), 然后更新管道.json , 以便使用新模式 。
在同一終端中( 從路徑 Edge_ Video_Analytics_Resources) 執(zhí)行命令 :
sudo cp -r pipelines/object_detection/person_vehicle_bike/ pipelines/object_detection/person_detection
在新復(fù)制的管道/物體/探測(cè)/人/探測(cè)/管道.json中,編輯管道.json文件的模板和說明部分。 json使用以下線條,將示范路徑指定為模型/物體/探測(cè)/人/探測(cè),以便使用模型人-探測(cè)-零售-0013來探測(cè)物體。
將模板定義為 :
"template": ["uridecodebin name=source"," ! gvadetect model={models[object_detection][person_detection][network]} name=detection"," ! gvametaconvert name=metaconvert ! gvametapublish name=destination"," ! appsink name=appsink" ],
說明的定義是:
"description": "Person Detection based on person-detection-retail-0013",
請(qǐng)參見界定媒體分析管道了解輸油管模板和界定自己的輸油管。
使用添加了模型和管道的微型運(yùn)行服務(wù)
以命令啟動(dòng)應(yīng)用程序 :
sudo docker 合成
此步驟會(huì)大量掛載模型和管道目錄。 您可以在一個(gè)單獨(dú)的終端中檢查容器是否正在使用 sudo docker ps 命令運(yùn)行 。
檢查新的管道和模式
打開一個(gè)新終端并運(yùn)行以下命令以獲取可用的模型列表 :
curl --location -X GET 'http://localhost:8080/models'
運(yùn)行以下命令以獲取管道列表 。 管道以名稱/ version tuple 顯示。 名稱反映動(dòng)作, 版本提供動(dòng)作的更多細(xì)節(jié) 。
curl --location -X GET 'http://localhost:8080/pipelines'
您應(yīng)該看到列表中新添加的管道和模型 。
對(duì)象_ 檢測(cè)/ 人_ 檢測(cè)運(yùn)行管道
打開一個(gè)新的終端并輸入下面的曲線命令,用于下文給出的物件_ 檢測(cè)/ 人_ 檢測(cè)管道:
curl --location -X POST 'http://localhost:8080/pipelines/object_detection/person_detection' --header 'Content-Type: application/json' --data-raw '{ "source": { "uri": "https://github.com/intel-iot-devkit/sample-videos/raw/master/store-aisle-detection.mp4?raw=true", "type": "uri" }, "destination": { "metadata": { "type": "mqtt", "host": ":1883", "topic": "vaserving" }, "frame": { "type": "rtsp", "path": "vasserving" } } }'
何 地 is the IP address of the system.
The above curl command returns the pipeline instance. Use this pipeline instance to get the status by updating the in the below command:
curl --location --request GET 'http://localhost:8080/pipelines/object_detection/person_detection//status'

圖12: 人員探測(cè)運(yùn)行管道
微服務(wù)日志將顯示,天體探測(cè)/人探測(cè)管道實(shí)例已經(jīng)建立,管道狀態(tài)已經(jīng)改為RUNNING,并結(jié)束了。
圖13:管道日志
教程 4: 安裝邊緣視頻分析外殼圖
注:此教程從第2022.1號(hào)釋放起支持。
注:此教義假設(shè)您有一個(gè)寬網(wǎng)可用分組 。
在此教程中, 您將使用制導(dǎo)圖在 寬網(wǎng) 群集中部署邊緣視頻分析微服務(wù)。 使用 drawnchart 組合圖 。 用于樣本部署的 Guard 圖表包 邊緣視頻分析微服務(wù)和 MQTT 經(jīng)紀(jì)人。 要下載制導(dǎo)圖, 請(qǐng)使用定制的下載選項(xiàng) 。
完成所有步驟Get Started Guide. When the installation is complete, you see the message?“Installation of package complete”和the installation status for each module.
圖14:成功安裝
將模型、管道和資源文件夾復(fù)制到 /可選/英特爾/評(píng)價(jià)/庫(kù)伯涅茨工人節(jié)點(diǎn)。
上述先決條件完成后,安裝如下圖表:helm install evam ./chart/
Figure 15: Chart Installation
Get the IP IP 地址 :
kubectl get pods -o wide
Figure 16: Retrieving IP Address
更新管道請(qǐng)求指令以觸發(fā)管道。 替換EVAM_POD_IP, MQTT_POD_IP上面有 IP 地址 。
curl --location -X POST 'http://:8080/pipelines/object_detection/person_vehicle_bike' --header 'Content-Type: application/json' --data-raw '{ "source": { "uri": "file:///home/pipeline-server/resources/person-bicycle-car-detection.mp4", "type": "uri" }, "destination": { "metadata": { "type": "mqtt", "host": ":1883", "topic": "vaserving" } } }'
注:使用 GitHub URL 支持代理服務(wù)器網(wǎng)絡(luò)時(shí), 視頻文件使用 GitHub URL 可能無法工作 。 相反, 下載視頻文件并添加到資源目錄/可選/英特爾/評(píng)價(jià)立方公尺內(nèi)立體體體積的路徑。
獲取 MQTT 訂閱者的推斷輸出 :
docker run -it --entrypoint 約克基多_sub 日食- 日食- 日食:latest --topic vaserving -p 1883 -h
Figure 17: Inference Output
概述和下一步步驟
使用“邊緣視頻分析微服務(wù)” 學(xué)習(xí)如何進(jìn)行視頻分析。
學(xué)習(xí)更多
繼續(xù)學(xué)習(xí),見下列指南和軟件資源:
GitHub
Docker Image
Helm Charts (概覽概覽)
Microservice Endpoints
自定義視頻分析管道請(qǐng)求
界定媒體分析管道
Intel? Edge Software Device Qualification (Intel? ESDQ) for Video Analytics
排除故障
確保您在完全安裝期間有一個(gè)活躍的互聯(lián)網(wǎng)連接。 如果您隨時(shí)失去互聯(lián)網(wǎng)連接, 安裝可能會(huì)失敗 。
如果安裝在從 Intel 注冊(cè)處下載和提取圖像時(shí)失敗安裝, 然后重新運(yùn)行安裝命令sudo ./edgesoftware install通過提供產(chǎn)品鑰匙。
確保您正在使用一個(gè)新的 Ubuntu* 安裝。 早期軟件, 特別是 Docker 和 Docker Compose 可能會(huì)引起問題 。
在代理環(huán)境中,如果設(shè)定了單一用戶代理(即. bashrc 鍵) 然后部分組件安裝可能失敗或安裝掛掛掛。 請(qǐng)確定您已經(jīng)設(shè)置了代理服務(wù)器/貝茨/環(huán)境.
如果您的系統(tǒng)在代理服務(wù)器網(wǎng)絡(luò)中, 請(qǐng)?jiān)诃h(huán)境環(huán)境欄內(nèi)docker- competable. yml 轉(zhuǎn)換器文件。
HTTP_PROXY=http:/// HTTPS_PROXY=http://// NO_PROXY=localhost,127.0.0.1
輸入代理代理服務(wù)器的詳細(xì)信息docker- competable. yml 轉(zhuǎn)換器顯示如下:
如果缺少代理細(xì)節(jié), 則無法獲取運(yùn)行管道所需的源視頻文件, 并在容器內(nèi)安裝所需的包件 。
運(yùn)行命令sudo - E docker 合成(參考步驟8(安裝邊緣視頻分析微觀服務(wù))
在自定義模式下, 如果目標(biāo)設(shè)備在代理服務(wù)器后面, Helm CLI 安裝可能會(huì)失敗。 要修正它, 請(qǐng)更新 apag 代理服務(wù)器的細(xì)節(jié) 。
sudo snap set system proxy.http=http://// sudo snap set system proxy.https=http:////
如果集裝箱顯示有沖突錯(cuò)誤,則停止/刪除集裝箱。
要?jiǎng)h除邊緣 _ 視頻_分析_微觀服務(wù)和mqtt_ 經(jīng)紀(jì)人,使用以下任何一種備選辦法:
執(zhí)行下列命令:
sudo docker stop 邊緣 _ 視頻_分析_微觀服務(wù) mqtt_ 經(jīng)紀(jì)人 sudo docker rm 邊緣 _ 視頻_分析_微觀服務(wù) mqtt_ 經(jīng)紀(jì)人
或者運(yùn)行sudo docker 合成向下從路徑 :視頻分析/Video_Analytics_/Edge_Video_Analytics_Resources
支助論壇支助論壇
If you're unable to resolve your issues, contact the?支助論壇支助論壇.?
審核編輯 黃宇
-
視頻分析
+關(guān)注
關(guān)注
0文章
37瀏覽量
11019 -
邊緣
+關(guān)注
關(guān)注
0文章
27瀏覽量
2159
發(fā)布評(píng)論請(qǐng)先 登錄
邊緣智能:數(shù)字化浪潮下的變革新引擎

利用邊緣計(jì)算和工業(yè)計(jì)算機(jī)實(shí)現(xiàn)智能視頻分析

《RK3588核心板:AIoT邊緣計(jì)算的革命性引擎,能否解鎖智能物聯(lián)新范式?》
邊緣計(jì)算網(wǎng)關(guān)賦能零售業(yè):智能客流分析技術(shù)革新

天波與你聊聊:邊緣計(jì)算網(wǎng)關(guān)在4S車店客流分析應(yīng)用

AI賦能邊緣網(wǎng)關(guān):開啟智能時(shí)代的新藍(lán)海
一文讀懂邊緣計(jì)算盒子在視頻監(jiān)控場(chǎng)景中的重要作用

AI模型部署邊緣設(shè)備的奇妙之旅:邊緣端設(shè)備的局域網(wǎng)視頻流傳輸方案
AI模型部署邊緣設(shè)備的奇妙之旅:邊緣端設(shè)備的局域網(wǎng)視頻流傳輸方案

晶圓邊緣需要鋪滿電路的原因分析

邊緣網(wǎng)關(guān)的介紹
邊緣計(jì)算與邊緣設(shè)備的關(guān)系
邊緣計(jì)算對(duì)網(wǎng)絡(luò)延遲的影響
淺談邊緣計(jì)算網(wǎng)關(guān)公司
如何選擇合適的邊緣ai分析一體機(jī)解決方案

評(píng)論