看 Intel OpenVINO DL Stream 如何加速視頻推理
隨著人工智能興起,利用“深度學(xué)習(xí)”技術(shù)進(jìn)行計(jì)算機(jī)視覺工作已是很普遍的應(yīng)用,如圖像分類、對(duì)象檢測(cè)等。通常只需將單張圖像送入訓(xùn)練好的模型中進(jìn)行推理即可得到輸出結(jié)果,但當(dāng)遇到視頻文件或串流視頻時(shí),逐格(by Frame)圖像分析就變得很沒效率,因?yàn)閹g時(shí)間差距過短(通常為1/30~1/60秒),場(chǎng)景中的對(duì)象位移量(變形量)可能過小,導(dǎo)致幀間得到幾乎相同的計(jì)算結(jié)果(對(duì)象位置、尺寸及分類),浪費(fèi)計(jì)算資源,也讓系統(tǒng)看起來反應(yīng)過慢。
本文引用地址:http://2s4d.com/article/202106/426307.htm為了使視頻文件及串流視頻在分析上能加快反應(yīng),Intel OpenVINO Toolkit(以下簡(jiǎn)稱OpenVINO)整合了GStreamer、OpenCV并提供DL Streamer-GStreamer Video Analytics(GVA)Plugin,讓用戶可以更靈活地進(jìn)行設(shè)置,使其在視頻(連續(xù)圖像)分析上更具效率。接下來就幫大家介紹“什么是串流視頻?”、“什么是GStreamer?”、“如何安裝OpenVINO DL Streamer環(huán)境”、“串流視頻分析及優(yōu)化流程”,最后再以一個(gè)實(shí)時(shí)追蹤車輛、行人的范例來介紹如何使用命令行操作,希望能幫大家對(duì)DL Streamer有更多認(rèn)識(shí)。
*什么是串流視頻?什么是GStreamer?
相信大家都用過數(shù)字相機(jī)或攝像頭,隨便拍一張照片都是幾百萬甚至上千萬像素,如果在不壓縮的情況下,一張超高畫質(zhì)(Full HD)圖像分辨率為1920 x 1080像素(俗稱200萬或2M),每個(gè)彩色像素紅綠藍(lán)各使用1 Byte(8 bit)來表示,則要儲(chǔ)存這張圖像就要6.22 MByte。若以這個(gè)分辨率拍攝每秒30幀(frame)的視頻時(shí),則1秒鐘就要186.6 Mbyte,1分鐘11.2 GByte,一臺(tái)1 TByte(1,000 GByte)的硬盤也不過只能存不到90分鐘視頻,所以就有了利用人眼對(duì)紋理頻率(平滑、雜亂紋理)、色彩濃度感知能力不同,發(fā)明了各種破壞性壓縮方式來縮小圖像及視頻的文件大小,如jpg,mp4等格式,讓圖像、視頻大小縮小數(shù)十到百倍,而人眼也很難分辨其差異。
雖然圖像壓縮已解決儲(chǔ)存大小的問題,但如果想從網(wǎng)絡(luò)上看一部視頻卻要等所有視頻都下載完才能觀看,這也太不方便了。于是就有人提出可以把取得圖像、壓縮、傳送、解壓縮、顯示變成一個(gè)像水管(pipeline)依序分段工作的作法,視頻(連續(xù)圖像)內(nèi)容就像水一樣在水管中流動(dòng),使用者收到一小段資料就可以開始播放,不必等到視頻全部下載完才能觀看。而且視頻內(nèi)容只需暫存在緩沖區(qū),不一定要存在硬盤中,可節(jié)省儲(chǔ)存空間,因此透過此種方式傳送的視頻就稱為串流視頻(Stream Video)。目前像大家??吹腨outube、各種直播或者是網(wǎng)絡(luò)監(jiān)控?cái)z像頭(IP Camera)都是采用這樣的作法,當(dāng)然我們也可以把存在硬盤中的文件當(dāng)作串流視頻讀取,這樣也可大幅增進(jìn)播放效率。
目前市面上有很多串流視頻的處理軟件及開發(fā)工具,其中GStreamer[1]就是最廣為人知的開源工具。它主要在Liunx上運(yùn)行,有很多硬件(CPU,GPU,DSP,CODEC,ASIC等)廠商都對(duì)其進(jìn)行了優(yōu)化,使得影音內(nèi)容在壓縮(編碼Encode)/解壓縮(解碼Decode)效率大幅提升。如Fig.1所示,GStreamer采取功能方塊作法,每個(gè)方塊根據(jù)不同工作項(xiàng)目會(huì)有不同輸入(sink)和輸出信號(hào)源(src),再按照需求將前后串聯(lián)起來。以一個(gè)影音播放器(player)為例,首先開啟影音文件,再將其分解(demuxer)成聲音(src_01)和視頻(src_02)兩組信號(hào)源,再按照聲音和視頻格式給予對(duì)應(yīng)的解碼器(decoder),最后再由對(duì)應(yīng)的揚(yáng)聲器和顯示器將聲音和視頻播出來,完成串流影音文件播放工作。當(dāng)然這里是采取一邊讀取文件一邊播放的串流型式存在。
Fig.1 GStreamer串流影音播放工作流程。[2]
*如何安裝OpenVINO DL Streamer環(huán)境
OpenVINO為了方便大家使用DL Streamer,同樣地在Docker Hub上提供了現(xiàn)成的映像文件(Image)給大家下載,不熟悉如何使用Docker安裝的人,可以參考「【Intel OpenVINO?教學(xué)】如何利用Docker快速構(gòu)建OpenVINO開發(fā)環(huán)境」[3]。不過上次文中使用的ubuntu18_dev這個(gè)映像文件并不支持DL Streamer,GStreamer,Speech Libraries及Intel Media SDK,所以要重新到Docker Hub下載ubuntu18_data_dev映像文件,執(zhí)行下方指令即可獲得映像文件(約8.28 GByte)。不過這些文件有點(diǎn)大,下載時(shí)間從數(shù)分鐘到數(shù)十分鐘不等,具體視網(wǎng)絡(luò)速度而定。
#到Docker Hub下載映像文件
docker pull openvino/ubuntu18_data_dev
#檢查是否下載成功
docker images
Fig.2 Intel OpenVINO DL Streamer映像文件下載成功畫面。
另外補(bǔ)充一下,若非使用Docker安裝,則要注意軟件工作環(huán)境需滿足下列條件。
OpenVINO 2021.1(Inference Engine 2.1.0)或以上版本
Linux Kernel 4.15或以上版本
GStreamer 1.16或以上版本
更多DL Streamer完整說明可參考Intel官方Github openvinotoolkit/dlstreamer_gst。[4]
*串流視頻分析及優(yōu)化流程
OpenVINO目前整合了GStreamer的串流視頻工具(VAAPI,labav等)、原有的推理引擎(Inference Engine,IE)、OpenCV等函數(shù)庫(kù),搭建DL Streamer串流視頻分析插件(GStreamer Video Analytics Pulgin,GVA),方便讓開發(fā)者創(chuàng)建的應(yīng)用程序能輕松地發(fā)揮硬件加速計(jì)算組件的效能,如Fig.3所示。
Fig.3 OpenVINO DL Streamer Software Stack。(圖片來源:Intel IOTG)
接下來就以一個(gè)常見的應(yīng)用來舉例什么是串流視頻分析(Stream Video Analytics)。假設(shè)一個(gè)商店在門口處裝了一組網(wǎng)絡(luò)監(jiān)控?cái)z像頭(IP Camera),想要利用拍到的圖像來得知進(jìn)門的顧客是否為重要客人(VIP)或者是黑名單(Blocklist)客戶,此時(shí)就要對(duì)拍到的連續(xù)圖像進(jìn)行人臉識(shí)別,這就是串流視頻分析。
一個(gè)完整的串流視頻分析工作包括接收已壓縮的視頻、解碼(解壓縮)、前處理(如圖像格式轉(zhuǎn)換、亮度/色彩/對(duì)比調(diào)整等)、分析/推理(圖像分類、對(duì)象檢測(cè)等)、后處理(將結(jié)果以文字、繪圖等方式迭回原圖像上),最后視輸出方式可選擇直接輸出到屏幕顯示或著再重新編碼(壓縮)成文件儲(chǔ)存回硬盤中,如Fig.4中間列所示。
其中在推理部份可以是多種工作串接而成的,也可同時(shí)處理二種以上工作,在OpenVINO GVA Plugin中提供了多種函數(shù)(元素Element)可供使用、包括檢測(cè)(gvadetect)、分類(gvaclassify)、追蹤(gvatrack)、水印(gvawatermark)、發(fā)布(gvapublish)等,而更多完整的介紹及用法可參考官網(wǎng)Github說明[5][6]。如Fig.4上方列即表示使用了檢測(cè)、識(shí)別、追蹤及水印等元素來完成推理及顯示工作。
Fig.4 DL Streamer串流視頻分析工作流程圖。(OmniXRI Feb.2021整理制作)
在這一連串工作中,并不是所有工作都交給CPU來處理,而是將其分配給最適合、效率最高的硬件來執(zhí)行才是最理想的。比方說文件的存?。ㄓ脖P和內(nèi)存間數(shù)據(jù)搬移)、格式轉(zhuǎn)換、繪圖等非矩陣運(yùn)算工作交給CPU,解碼/編碼等大量數(shù)學(xué)運(yùn)算交給GPU,而神經(jīng)網(wǎng)絡(luò)推理所需的巨量矩陣運(yùn)算工作則由AI芯片(也可以是GPU,VPU,FPGA,NPU,ASIC等)完成,如此就能得到最佳的工作效率。一般串流視頻播放速度大約是1/30秒一個(gè)幀(Frame),所以當(dāng)傳輸及計(jì)算速度夠快時(shí),就能同時(shí)計(jì)算多個(gè)串流視頻,如Fig.4下方列所示。
接下來說明如何提升推理效率,如同本文一開始提到的,如果對(duì)串流視頻的每一幀都進(jìn)行推理,則系統(tǒng)執(zhí)行效率會(huì)變得很差,很難達(dá)成每秒30幀的計(jì)算,如Fig.5左上圖所示(這里僅以檢測(cè)為例,另可加入分類識(shí)別及其它工作項(xiàng)目)。為改善執(zhí)行效率,可令對(duì)象檢測(cè)及分類次數(shù)減少,因?yàn)閹g對(duì)象的位置、尺寸、外形可能變動(dòng)不大,不需一直執(zhí)行推理工作。如Fig.5左下圖所示,對(duì)象檢測(cè)和圖像分類的間隔數(shù)量可以設(shè)成不同(也可相同),而幀間隔數(shù)量則視視頻中對(duì)象移動(dòng)速度而定。但是采用這種方式有個(gè)缺點(diǎn),有些幀可能不進(jìn)行推理,所以會(huì)造成沒有結(jié)果內(nèi)容可以迭合回原圖像中,畫面會(huì)有閃爍情況發(fā)生。
如果想更精準(zhǔn)表示對(duì)象的微小位移,則使用傳統(tǒng)的對(duì)象追蹤方式會(huì)比直接使用神經(jīng)網(wǎng)絡(luò)進(jìn)行對(duì)象檢測(cè)更快。只要在兩個(gè)檢測(cè)幀中間加入追蹤動(dòng)作,就可自動(dòng)為中間幀找出對(duì)象的位置,改善對(duì)象檢測(cè)位置偏差及畫面閃爍問題,如Fig.5右圖所示。目前提供了兩種追蹤模式,zero-term會(huì)給每個(gè)對(duì)象一個(gè)獨(dú)立編號(hào)(unique ID)方便在任一幀中查找,而short-term則會(huì)找出幀間最接近的內(nèi)容位置。
Fig.5串流視頻分析優(yōu)化方式比較圖。左上圖:每一幀全都進(jìn)行對(duì)象檢測(cè),無優(yōu)化。左下圖:每6個(gè)幀檢測(cè)一次,4個(gè)幀分類一次。右圖:間隔檢測(cè)及分類并加入追蹤補(bǔ)足。(OmniXRI Feb.2021整理制作)
更多OpenVINO中GStreamer及DL Streamer的原理及使用方式可參考官方提供的Youtube視頻說明[7][8][9][10]。
*DL Streamer范例說明
目前DL Streamer提供多種執(zhí)行范例,包括直接命令行指令(gst-launch)、C/C++/Python程序等,接下來就以直接命令行指令方式來進(jìn)行介紹。啟動(dòng)Docker后這些范列預(yù)設(shè)會(huì)安裝在
/opt/intel/openvino_2021.2.185/data_processing/dl_streamer/samples路徑下
(openvino后方數(shù)字代表對(duì)應(yīng)版本)。執(zhí)行范例前要先下載相關(guān)預(yù)訓(xùn)練模型及參數(shù)文件,其工作命令如下所示。
#開放權(quán)限,允許本地連接,方便后面Docker中啟用X Window GUI功能xhost+local:root
#以Docker方式運(yùn)行DL Streamer范例之命令,其中另增加--user root 用戶權(quán)力,方便在Docker中安裝文本編輯器(nano,vim等)
docker run-it--device/dev/dri:/dev/dri--d evi ce-cgroup-rule='c 189:*rmw'- v~/.Xauthority:/root/.Xauthority-v/tmp/.X11-unix/:/tmp/.X11-unix/-e DISPLAY=$DISPLAY-v/dev/bus/usb:/dev/bus/usb--rm--u ser root openvino/ubuntu18_data_dev:latest
#啟動(dòng)Docker完成會(huì)出現(xiàn)下列提示字符,最后數(shù)字為OpenVINO安裝版本
openvino e3a20b255ff3:/opt/intel/openvino_2021.2.185$
#接著更新Docker中系統(tǒng)套件及安裝文本編輯器nano方便后續(xù)修改范例程序
apt update
apt install nano
#下載范例程序所需模型及參數(shù),相關(guān)范例程序也在此路徑下
cd data_processing/dl_streamer/samples
./download_models.sh
#完成下載后默認(rèn)會(huì)將模型及參數(shù)存放在
/home/openvino/intel/dl_streamer/model路徑下
由于啟動(dòng)Docker的命令中有--rm,所以每次離開后會(huì)清空所有新增內(nèi)容,再重新啟動(dòng)時(shí)要重新執(zhí)行上述安裝及下載動(dòng)作,以免造成范例無法運(yùn)行問題。更多關(guān)于該映像文件不同啟動(dòng)方式及參數(shù),可參考Intel官方Docker Hub/openvino/ubuntu18_data_dev說明[11]。
在/data_processing/dl_streamer/samples/gst_launch/下主要是提供以gst-launch命令行方式執(zhí)行串流視頻分析的范例,有人臉檢測(cè)及識(shí)別、語音事件檢測(cè)、車輛行人追蹤、中介數(shù)據(jù)發(fā)布等應(yīng)用,這里會(huì)以車輛行人追蹤分析為例進(jìn)行說明。
首先進(jìn)到/vehicle_pedestrian_tracking路徑下,執(zhí)行vehicle_pedestrian_tracking.sh即可看到執(zhí)行結(jié)果。
#切換工作路徑至范例程序所在路徑
cd
/data_processing/dl_streamer/samples/gst_launch/vehicle_pedestrian_tracking
#執(zhí)行車輛行人追蹤分析范例,可選配輸入三項(xiàng)參數(shù),也可不輸入使用默認(rèn)值
./vehicle_pedestrian_tracking.sh[輸入影片][偵測(cè)間隔幀數(shù)][推理精度]
為更清楚說明執(zhí)行參數(shù)目的及運(yùn)作指令方式,以下就將vehicle_pedestrian_tracking.sh內(nèi)容完整顯示于Fig.6并補(bǔ)充說明如下:
輸入視頻(FILE):可支持本地端(硬盤中)影音文件(*.mp4等)、網(wǎng)絡(luò)攝像頭(Webcam)、串流攝像頭(IP Camera)網(wǎng)址(rtps://)或者一般網(wǎng)絡(luò)串流文件(http://)。本范例默認(rèn)值為https://github.com/intel-iot-devkit/sample-videos/blob/master/personbicycle-car-detection.mp4,也就是說,不輸入此項(xiàng)參數(shù)時(shí)會(huì)自動(dòng)上網(wǎng)讀取這個(gè)串流視頻,注意計(jì)算機(jī)必須連網(wǎng)才能正確執(zhí)行。
檢測(cè)間隔幀數(shù)(DETECTION_INTERVAL):為加速串流視頻分析,可設(shè)定間隔幀數(shù)
(Frame)減少計(jì)算,其概念如Fig.5左下圖所示。可另外搭配下方追蹤項(xiàng)目使用,補(bǔ)齊中間幀的檢測(cè)工作。默認(rèn)為10,以一般視頻幀速度(FPS)為每秒30幀來算,相當(dāng)于1/3秒檢測(cè)一次。對(duì)于對(duì)象移動(dòng)緩慢的場(chǎng)景已足夠使用,可視需求調(diào)整長(zhǎng)短。
推理精度(INFERENCE_PRICISION):可根據(jù)需求選擇不同推理精度,預(yù)設(shè)為FP32,
即推理模型的權(quán)重值是以32位浮點(diǎn)數(shù)表示。若想加快計(jì)算可選擇FP16(16位浮點(diǎn)數(shù))或INT8(8位整數(shù)),當(dāng)然這樣可能會(huì)犧牲一點(diǎn)推理的正確性。
以上三組為可自由設(shè)定的參數(shù),若只想使用默認(rèn)值可不輸入,若只想修改檢測(cè)間隔幀數(shù),此時(shí)第一項(xiàng)參數(shù)必須設(shè)成""(空字符串)令其使用默認(rèn)值,否則將無法正確運(yùn)作。
除了這些自由設(shè)定參數(shù)外,范例中還有許多參數(shù)可以調(diào)整,但需自行以文字編輯器(如nano,vim等)載入再修改。以下分別說明幾個(gè)重要參數(shù)。
推理設(shè)備(INFERENCE_DEVICE):預(yù)設(shè)為CPU,可自行修改成GPU,MYRIAD,HDDL等不同設(shè)備。但使用GPU前要確定是INTEL 6到10代繪圖處理器Iris或HD系列,或者11代X e,OpenVINO不支持NVIDIA或AMD的GPU。另外模型大小不一,所以不保證所有模型一定可以在CPU以外設(shè)備上使用。另外提醒,如果在Linux上手動(dòng)安裝OpenVINO,需另外安裝Intel OpenCL驅(qū)動(dòng)程序,否則將無法正確使用GPU。
追蹤型式(TRACKING_TYPE):預(yù)設(shè)為short-term,另可選擇zero-term。主要用于協(xié)助補(bǔ)齊檢測(cè)及分類未工作之幀的計(jì)算。
重新分類幀數(shù)間隔(RECLASSIFY_INTERVAL):默認(rèn)為10,這個(gè)數(shù)字可檢測(cè)間隔幀數(shù)相同亦可不同,視需求而定。同樣地也可搭配追蹤型式補(bǔ)齊未分類中間幀數(shù)的分類結(jié)果。
在這個(gè)范例中主要使用四個(gè)GVA Plugin并搭配指定模型來完成工作,包括:
gvadetect:負(fù)責(zé)車輛、腳踏車、行人檢測(cè),對(duì)應(yīng)person-vehicle-bike-detectioncrossroad-0078。
gvainference:負(fù)責(zé)人員及車輛屬性推理,分別對(duì)應(yīng)person-attributes-recognitioncrossroad-0230及vehicle-attributes-recognition-barrier-0039。
gvatrack:負(fù)責(zé)補(bǔ)齊未進(jìn)行對(duì)象檢測(cè)及分類推理中間幀的分析結(jié)果。
gvawatermark:負(fù)責(zé)將分析結(jié)果產(chǎn)生的圖框和文字迭合回原圖像中,方便用戶了解運(yùn)行速度及是否有正確檢測(cè)及分類推理。
videoconvert:視頻格式(色彩空間)轉(zhuǎn)換。
fpsdisplaysink:渲染(Rendering)輸出結(jié)果到屏幕速度。
更完整的參數(shù)說明可參考官網(wǎng)[12]。
Fig.6以命令行方式進(jìn)行串流視頻車輛行人分析范例(vehicle_pedestrian_tracking.sh)說明。
再來簡(jiǎn)單比較一下在不同參數(shù)下的執(zhí)行結(jié)果。測(cè)試條件為:Intel Core i5-4400 3.1GHz 4核4線程,8GByte內(nèi)存,OpenVINO Docker Image:ubuntu18_data_dev(OpenVINO 2021.2.185 for DL Streamer)。分別以下列三種方式進(jìn)行比較。其中不啟動(dòng)追蹤方式即是將Fig.6中對(duì)象追蹤(藍(lán)色虛線框)那兩行指令刪除。實(shí)驗(yàn)結(jié)果如Fig.7所示。?
檢測(cè)、分類間隔皆為1且不啟動(dòng)追蹤:執(zhí)行時(shí)CPU四核平均使用率53.8%,推理負(fù)擔(dān)極重,平均速度12.02 FPS。每一個(gè)幀都會(huì)顯示檢測(cè)到的對(duì)象及分類結(jié)果。
檢測(cè)、分類間隔皆為10且不啟動(dòng)追蹤:執(zhí)行時(shí)CPU四核平均使用率7.5%,推理負(fù)擔(dān)極輕,平均速度11.67 FPS。每十個(gè)幀會(huì)顯示檢測(cè)到的對(duì)象及分類結(jié)果,故畫面會(huì)有點(diǎn)閃爍。
檢測(cè)、分類間隔皆為10且啟動(dòng)追蹤:執(zhí)行時(shí)CPU四核平均使用率21.65%,推理負(fù)擔(dān)中等,平均速度11.60 FPS。由于有啟動(dòng)追蹤功能,所以每一個(gè)幀都會(huì)顯示檢測(cè)到的對(duì)象及分類結(jié)果。
整體來說只測(cè)試一個(gè)串流視頻還沒讓CPU耗盡所有資源,所以應(yīng)該還可以同時(shí)接受多個(gè)視頻(串流攝像頭、網(wǎng)絡(luò)攝像頭)或更多分析項(xiàng)目。另外加長(zhǎng)檢測(cè)及分類幀數(shù)間隔明顯會(huì)令系統(tǒng)計(jì)算量大幅減少。如果再加上追蹤功能,除可滿足逐格分析外又不會(huì)耗損太多計(jì)算資源,這樣就可容納更多串流視頻一起工作。
Fig.7不同測(cè)試條件實(shí)驗(yàn)結(jié)果,左行為輸出圖像,右行為CPU及內(nèi)存使用情況。(OmniXRI Feb.2021整理制作)
*小結(jié)
在當(dāng)前網(wǎng)絡(luò)發(fā)達(dá)的年代,不論是智能零售、智能安防、智慧城市等各種應(yīng)用都離不開串流攝像頭或網(wǎng)絡(luò)視頻的傳送方式。有了像Intel OpenVINO DL Streamer這類智能分析工具后,就能更容易滿足大量輸入,快速推理的需求。本文篇幅有限,無法一一展現(xiàn)這項(xiàng)工具的所有細(xì)節(jié),剩下部份請(qǐng)大家多多去探索。
*參考文獻(xiàn)
[1]GStreamer open source multimedia framework
https://gstreamer.freedesktop.org/
[2]GStreamer pipeline https://gstreamer.freedesktop.org/documentation/applicationdevelopment/introduction/basics.html
[3]許哲豪,”【Intel OpenVINO?教學(xué)】如何利用Docker快速建置OpenVINO開發(fā)環(huán)境”http://omnixri.blogspot.com/2021/01/intel-openvinodockeropenvino.html[4]Github–openvinotoolkit/dlstreamer_gst https://github.com/openvinotoolkit/dlstreamer_gst
[5]Github-openvinotoolkit/dlstreamer_gst/Elements https://github.com/openvinotoolkit/dlstreamer_gst/wiki/Elements
[6]GStreamer Video Analytics(GVA)Plugin https://openvinotoolkit.github.io/dlstreamer_gst/index.html
[7]Intel Software,"Full Pipeline Simulation Using GStreamer|OpenVINO?toolkit|Ep.47|Intel Software"https://youtu.be/fWhPV_IqDy0
[8]Intel Software,"Full Pipeline Simulation Using GStreamer Samples|OpenVINO?toolkit|Ep.48|Intel Software"https://youtu.be/EqHznsUR1sE
[9]Intel Software,"DL Streamer Tracking Element|OpenVINO?toolkit|Ep.64|Intel Software"https://youtu.be/z4Heorhg3tM
[10]Intel Software,"DL-Streamer Python Custom Element|OpenVINO?toolkit|Ep.66|Intel Software"https://youtu.be/SDGE9Vyd-bY
[11]Docker Hub openvino/ubuntu18_data_dev,“Intel?Distribution of OpenVINO?toolkit Docker image for Ubuntu*18.04 LTS”https://hub.docker.com/r/openvino/ubuntu18_data_dev
[12]Intel OpenVINO Toolktit,“Vehicle and Pedestrian Tracking Sample(gst-launch command line)”
https://docs.openvinotoolkit.org/latest/gst_samples_gst_launch_vehicle_pedestrian_tracking_README.html
評(píng)論