海思hi3516dv300芯片AI圖像模塊學習(十四) YOLOV3 的視頻流的VIO處理

NNIE處理VIO視頻流的輸入圖像流程如圖所示,輸入圖像從vi輸出到達VPSS后分成兩路信號,一路在VPSS進行下采樣后輸入到NNIE中計算,得到歸一化的RIO信息。一路保持原圖分辨率,等待NNIE處理結(jié)束將其和roi信息輸入到VGS中,在原圖上標注ROI信息。最后標注好的圖像通過VO輸出到屏幕。
具體實現(xiàn)流程如下:
1.初始化結(jié)構(gòu)體和變量

其中 PIC_SIZE_E enSize = PIC_CIF; //enSize是輸入到nnie網(wǎng)絡的下采樣圖片的分辨率PIC_CIF=/* 352 * 288 */,這個可以根據(jù)檢測網(wǎng)絡的需求變化
2.初始系統(tǒng)和配置VIO信息(重點在VPSS中的分流和下采樣)

輸入了前面的enSize?下采樣信息,vo開關(guān)

GetPicSize獲得傳感器原圖分辨率,和輸入的下采樣分辨率、打開2個vpss通道

根據(jù)上述信息配置vpss

3.加載模型和配置軟硬件參數(shù),配置硬件參數(shù)之前基本一樣

軟件配置的閾值在自定義層和輸出roi信息中會使用

4.yolov3的數(shù)據(jù)輸入、網(wǎng)絡推理、結(jié)果輸出流程?

5.將VPSS中的兩路信號取出來
stExtFrmInfo和stBaseFrmInfo

將數(shù)據(jù)、軟硬件配置輸入到網(wǎng)絡推理函數(shù)

把存在pstExtFrmInfo里的vpss圖片幀,放到硬件配置的輸入圖片地址里0段的第0層

6.根據(jù)硬件配置調(diào)用NNIE推理網(wǎng)絡

7.不支持層中實現(xiàn)YOLO的最后3*n*m*(5+k)向量到ROI信息的變換,這里大量調(diào)用了軟件配置中的信息

最后將坐標、置信度和類別信息存到硬件輸出roi信息的內(nèi)存地址里ps32DstRoi

8.把上述硬件配置中的結(jié)果讀取到軟件配置的長方形框的結(jié)構(gòu)體中,同樣包含坐標、置信度和類別信息


9.根據(jù)軟件配置中的rect結(jié)構(gòu)體,調(diào)用VGS在原圖像stBaseFrmInfo上畫框

10.輸出到vo進行屏幕顯示

整體流程結(jié)束,一定要注意軟件配置的更改。