Vitis 視頻分析 SDK 是在 AMD 平臺(tái)上構(gòu)建 AI 驅(qū)動(dòng)的智能視頻分析解決方案的完整軟件棧。它從 USB/MIPI 攝像頭、視頻文件或者 RTSP 流中獲取輸入,并使用 Vitis AI 實(shí)現(xiàn)各種基于人工智能的應(yīng)用,如智能城市、行人檢測(cè)、健康監(jiān)測(cè)、智慧零售、缺陷檢測(cè)等等。
對(duì)于開(kāi)發(fā)者,VVAS 以基礎(chǔ)插件、軟件加速庫(kù)的形式提供了一個(gè)框架,并為用戶(hù)開(kāi)發(fā)自己的插件以控制定制的硬件加速器提供了簡(jiǎn)化接口。有了這個(gè)框架,用戶(hù)可以輕松地將他們的定制加速器/內(nèi)核集成到 Vitis Video Analytics SDK 中。它建立在 XRT、Vitis 和 Vitis AI 之上,并對(duì)這些復(fù)雜的接口進(jìn)行了抽象化,使開(kāi)發(fā)人員更容易構(gòu)建視頻分析應(yīng)用。
用戶(hù)通過(guò) Core API 可以完成軟硬件的調(diào)度。這四個(gè) API 是:
xlnx_kernel_init()
xlnx_kernel_deinit()
xlnx_kernel_start()
xlnx_kernel_done()
我們首先介紹如何將軟件應(yīng)用集合到 VVAS 框架中。軟件應(yīng)用指的是只在 CPU 上執(zhí)行,不使用 FPGA 部分的自定義插件。我們以 smartcam 應(yīng)用中的 AI Rendering 插件作為例子。相關(guān)代碼可以從參考鏈接中找到。
AI Rendering 插件的主要功能是繪制檢測(cè)到的物體。當(dāng) DPU 推理結(jié)果(如檢測(cè)到的人臉的坐標(biāo))傳遞給 AI Rendering 插件后,該插件負(fù)責(zé)在原始幀中的物體周?chē)L制邊界框。
xlnx_kernel_init() API 只在插件初始化的時(shí)候被 VVAS 調(diào)用一次。軟件應(yīng)用可以在這個(gè)函數(shù)中執(zhí)行一次性初始化操作。
xlnx_kernel_start() API 在處理輸入緩沖區(qū)中的每個(gè)幀調(diào)用這個(gè) API,以便進(jìn)一步處理。軟件應(yīng)用可以執(zhí)行每幀操作,如更新?tīng)顟B(tài)機(jī),讀/寫(xiě) IP 的寄存器,然后指示 kernel 處理輸入。
xlnx_kernel_done() VVAS 基礎(chǔ)插件會(huì)調(diào)用這個(gè) API 來(lái)確認(rèn) kernel 是否已經(jīng)完成處理緩沖區(qū)中的幀。加速應(yīng)用可以在這個(gè)函數(shù)中實(shí)現(xiàn)邏輯,以通過(guò)這個(gè) API 了解 kernel 的狀態(tài)。
xlnx_kernel_deinit() 這個(gè) API 在 kernel 結(jié)束運(yùn)行時(shí)被 VVAS 基礎(chǔ)插件調(diào)用。加速應(yīng)用必須執(zhí)行任何清理、去初始化任務(wù),如釋放私有句柄和內(nèi)部?jī)?nèi)存分配。
以上代碼編譯后成為 vvas 插件的一部分,并放置在 /opt/xilinx/kv260-smartcam/lib/ 目錄下。
在 smartcam 的 GStreamer 應(yīng)用中,調(diào)用 drawresult 的相關(guān)代碼為:
其中 drawresult.json 中需要指明使用的庫(kù)文件名為 libvvas_airender.so:
審核編輯:湯梓紅
-
amd
+關(guān)注
關(guān)注
25文章
5468瀏覽量
134160 -
接口
+關(guān)注
關(guān)注
33文章
8598瀏覽量
151152 -
攝像頭
+關(guān)注
關(guān)注
60文章
4841瀏覽量
95693 -
Video
+關(guān)注
關(guān)注
0文章
195瀏覽量
45187 -
Vitis
+關(guān)注
關(guān)注
0文章
146瀏覽量
7430
原文標(biāo)題:開(kāi)發(fā)者分享|使用 VVAS 開(kāi)發(fā)軟件應(yīng)用
文章出處:【微信號(hào):gh_2d1c7e2d540e,微信公眾號(hào):XILINX開(kāi)發(fā)者社區(qū)】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論