999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于PYNQ 的運動目標檢測系統

2023-12-18 05:54:06陳支鵬
電子設計工程 2023年24期
關鍵詞:檢測系統

陳支鵬,張 霞,白 鵬,李 超

(西安郵電大學電子工程學院,陜西西安 710121)

運動目標檢測被廣泛應用于智能安防、自動駕駛、重點場所監控(如博物館、銀行、危險品庫房等)等眾多領域,其檢測結果可進一步用于目標跟蹤、目標行為識別等[1-2]。

傳統的運動目標檢測方法包括幀間差分法[3]、背景減除法[4]、光流法[5],三種方法各有其優缺點。其中,幀間差分法計算復雜度低、速度快、對光照變化不敏感,能夠滿足嵌入式終端設備對實時性的要求[6]。近年來,各種運動目標檢測優化算法層出不窮,且已經在CPU 平臺上實現了部署。但由于CPU自身設計架構的局限性,其難以支持并行計算從而導致處理效率存在明顯不足。現場可編程門陣列(Field Programmable Gate Array,FPGA)能夠在靈活性、性能、功耗、成本之間達到較好的平衡,因此在邊緣計算的嵌入式系統中得到廣泛應用[7-8]。相較于CPU,FPGA 并行計算能力可提升運算速率并降低時延。相較于ASIC,FPGA 具有開發周期短、靈活性強、性價比高的優勢。相較于GPU,FPGA 的功耗更低,更加適合嵌入式移動終端的應用場景。

為了在嵌入式移動終端上實現運動目標檢測,基于軟硬件協同設計的思路,采用Xilinx 的PYNQZ2 開發平臺,設計并實現了基于幀間差分法的運動目標檢測系統。該系統能夠實現多運動目標的同時檢測,且能夠適應光照變化的影響,具有一定的魯棒性和實時性。

1 系統設計方案

系統劃分為三個主要模塊,包括圖像采集模塊、圖像處理模塊以及圖像顯示模塊。圖像采集模塊使用USB 接口連接攝像頭采集視頻數據。圖像處理模塊包括RGB 轉灰度、形態學開運算、幀間差分等一系列操作。圖像顯示模塊使用HDMI 接口連接顯示器,顯示運動目標檢測結果。系統框圖如圖1所示。

圖1 系統總體設計圖

1.1 PYNQ開發平臺

PYNQ 全稱是Python Productivity for Zynq,即Zynq 的Python 生產力[9]。Zynq 是Xilinx 的片上系統,它擁有雙核ARM Cortex-A9 處理器+FPGA 可編程邏輯門陣列結構。Zynq 架構分為可編程邏輯PL 端和處理系統PS 端。PYNQ-Z2 是Xilinx 公司推出的一款FPGA 開發板,如圖2 所示,其以ZYNQ XC7Z020 FPGA 為核心,利用ZYNQ 中的可編程邏輯和ARM處理器的優勢可以構建強大的嵌入式系統。PYNQ的開源框架可以使嵌入式編程用戶在無需設計可編程邏輯電路的情況下充分發揮Xilinx ZYNQ SoC的功能[10],已在圖像分類、傳感器等多個領域得到了應用[11-15]。

圖2 PYNQ-Z2開發板

1.2 圖像采集模塊

該設計使用USB 接口的攝像頭(DF200-1080P)作為系統視頻采集工具,在PYNQ-Z2 的base overlay中調用HDMI 輸入的硬件電路,將視頻數據的一幀圖像在DDR 中存儲,便于后續圖像處理。所采集圖像的分辨率可為1 280×720 或800×600,像素格式為RGB888。

1.3 圖像處理模塊

首先將所采集的RGB 圖像轉為灰度圖像。其次是形態學開運算,即先腐蝕,再膨脹。開運算能夠將相互之間有細微連接關系的兩個物體分離開,保證每個物體完整性的同時,提高抗干擾性能和檢測精度。

當視頻圖像中有運動目標時,前后兩幀圖像就會有像素點上的變化。用后一幀圖像的像素點減去前一幀圖像的像素點即可得到運動目標所在的區域[16]。幀間差分法的實現流程如圖3 所示,首先緩存前一幀圖像數據,在當前幀圖像數據到來時,將兩幀圖像對應像素點的灰度值進行相減,并取其絕對值。接著進行圖像二值化操作,將差分圖像的像素點與設定的閾值進行比較,大于閾值時為255,該點即為運動目標點;小于閾值時為0,該點即為背景像素點。經過測試,選擇圖像二值化的閾值為20,得到的處理結果較好。最后將檢測到的連續運動目標區域用邊框進行標記,并送入圖像顯示模塊。

圖3 幀間差分法的實現流程

1.4 圖像顯示模塊

該設計通過HDMI 接口連接顯示器做圖像顯示工具,在PYNQ-Z2 的base overlay 中調用HDMI 輸出的硬件電路,將處理好的視頻圖像結果傳輸到顯示器顯示。輸出視頻格式與輸入格式一致。

2 運動目標檢測系統的實現

2.1 IP核的設計

系統的圖像處理模塊在可編程邏輯PL 部分實現,使用Xilinx Vitis HLS 工具對模塊內的每個操作進行硬件加速IP 核的開發,即通過高層次綜合工具將使用C++描述的算法代碼轉換為硬件IP 核。

使用Vitis HLS 的視頻庫函數來代替OpenCV 的功能函數。當視頻數據進入硬件加速后,需要使用AXIvideo2xfMat 轉換函數將視頻轉換成HLS 視頻庫可用格式,經過加速處理后再使用xfMat2AXIvideo轉換函數將視頻轉換成傳輸的數據流。

2.1.1 RGB轉灰度IP核設計

IP 核設計流程嚴格遵守HLS 開發工具相關要求。首先添加頭文件和編寫C++代碼文件,并確定IP 核的頂層函數。該IP 核使用cvtcolor 函數將彩色圖像轉換成灰度圖像。對函數相關參數以及輸入輸出參數進行定義,具體參數設置如表1 所示。添加DATAFLOW優化指令確保各個處理函數能并行執行。

表1 RGB轉灰度IP核參數設置

之后對C++代碼進行編譯仿真測試,驗證無誤后將其綜合成RTL 設計,并使用RTL 協同仿真驗證,生成綜合報告,最后導出為RTL IP 核。RGB 轉灰度操作IP 核模塊如圖4 所示。由于頂層傳遞參數為AXI _STREAM 類型的函數,所以聲 明src 和dst 為AXI_STREAM 協議的接口。需要寄存器控制IP 核處理圖像的大小、位寬等參數信息以及開始/停止等信號,將這些控制寄存器聲明為SLAVE_AXI_LITE的協議接口,s_axi_control 來控制和配置IP 核。本IP 核的控制路徑和數據路徑即AXI_LITE 和AXI_STREAM 都使用和ZYNQ_HP接口相同的時鐘,ap_clk為上述路徑的共同時鐘。ap_rst_n為復位信號,interrupt為中斷信號。

圖4 RGB轉灰度操作IP核模塊

2.1.2 形態學開運算IP核設計

形態學開運算是先進行腐蝕操作,再進行膨脹操作,使用3×3 矩陣的結構內核。腐蝕部分調用XILINX_VITIS_VISION 庫的erosion 函數加速核做處理,膨脹部分調用dilation 函數加速核做處理。輸入輸出及函數相關參數設置如表2 所示。

2.1.3 幀間差分IP核設計

幀間差分法中的幀間差分操作(即兩幀圖像相減并取絕對值)調用了absdiff 函數加速核做處理。幀間差分IP 核的相關參數設置如表3 所示。

2.1.4 圖像二值化IP核設計

幀間差分法中的圖像二值化操作調用了threshold 函數加速核做處理。相關參數設置如表4所示。

表4 圖像二值化IP核參數設置

2.2 系統通路搭建

2.2.1 數據傳輸通路配置

數據傳輸調用HDMI 模塊處理視頻輸入和輸出,輸入視頻數據通過VDMA 模塊緩存到DDR 存儲器,進行圖像處理時使用VDMA 模塊將數據從DDR中取出。經過處理的圖像數據同樣使用VDMA 模塊存入DDR 中。

2.2.2 圖像處理模塊配置

圖像處理模塊中各個IP 核按照處理流程進行連接,一幀RGB 圖像轉成灰度圖像,經過形態學開運算緩存到DDR 中,等待下一幀圖像經過相同處理后一同送入幀間差分IP 核做幀差處理,并將結果與閾值進行比較。硬件加速IP 核與DDR 存儲器之間調用VDMA 模塊傳輸數據。圖像處理模塊硬件連接示意圖如圖5 所示。

圖5 圖像處理模塊硬件連接示意圖

2.2.3 ZYNQ_PS IP配置

通路搭建需要對ZYNQ 芯片參數和系統I/O 口進行配置。ZYNQ 芯片的相關參數配置操作有對PS端和PL 端的接口進行配置;設置時鐘規范。該系統使用的HDMI、USB、SD 接口以及URAT 等I/O 接口均在ZYNQ 芯片的I/O 外設選項中進行配置。

2.3 Jupyter Notebook程序設計

PYNQ 開發平臺在處理系統PS 端使用Python 編程語言對硬件模塊進行操作調用,Xilinx 官方提供的函數庫文件也讓開發者很方便地使用Python 進行硬件開發。

在Jupyter Notebook 程序中首先對系統進行初始化,導入設計所需庫函數(Numpy,cv2 等)和Overlay。需要例化各IP 核并設置其參數:例化視頻的輸入輸出,例化圖像處理IP 核,設置視頻的分辨率,例化傳輸模塊IP 核,設置傳輸的視頻數據類型格式。對于控制類的數據傳輸,使用MMIO 接口來配置IP 寄存器,并使用write 函數將數據寫入對應地址。

例化定義完成后,控制視頻處理操作。將第一幀經過灰度處理和形態學開運算處理的圖像數據采集出來送入幀間差分IP 核中,手動設置10 ms 延遲后將第二幀經過相同處理后的圖像數據采集后送入幀間差分IP 核中,讓二者進行幀差運算。使用cv2函數分割處理找到目標邊框坐標并疊加到原圖像上,結果存放到HDMI 輸出緩存區。

3 系統測試

系統搭載在PYNQ-Z2 開發板上,測試之前先對開發板進行相應的環境配置,將設計的Overlay 燒寫到開發板中,并使用Python 語言進行操控。實際檢測效果如圖6 所示。

圖6 實際檢測效果圖

由圖6 可見,系統可同時對多個運動目標進行檢測,且經測試系統功耗為2.06 W。在相同平臺下將本系統與僅使用PS 端的無硬件加速系統進行對比,在不同輸入視頻分辨率下的檢測速度如表5 所示。

表5 檢測速度對比

由表5 可見,硬件加速后的運動目標檢測系統的檢測速度在視頻分辨率為800×600 時提升了約2.8 倍,在視頻分辨率為1 280×720時提升了約2.4倍。

對系統在不同光照條件下的魯棒性進行測試,檢測效果如圖7 所示。可見,該系統能夠較好地適應光照變化的影響。

圖7 不同光照條件下的檢測效果

4 結束語

基于軟硬件協同設計的基本思想在PYNQ-Z2平臺上實現了運動目標檢測系統。該系統可以同時檢測多個運動目標,處理速度也基本滿足實時性要求,適合嵌入式移動終端的應用場景運動目標檢測。

猜你喜歡
檢測系統
Smartflower POP 一體式光伏系統
工業設計(2022年8期)2022-09-09 07:43:20
“不等式”檢測題
“一元一次不等式”檢測題
“一元一次不等式組”檢測題
WJ-700無人機系統
“幾何圖形”檢測題
“角”檢測題
ZC系列無人機遙感系統
北京測繪(2020年12期)2020-12-29 01:33:58
基于PowerPC+FPGA顯示系統
半沸制皂系統(下)
主站蜘蛛池模板: 中文字幕丝袜一区二区| 波多野结衣视频一区二区 | 亚洲AⅤ无码日韩AV无码网站| 亚洲乱码在线视频| 99视频在线观看免费| 国产内射一区亚洲| 日韩成人高清无码| 国产午夜一级毛片| 国产精品偷伦在线观看| 精品国产91爱| 亚洲无码高清一区| 久久精品视频亚洲| 亚洲成A人V欧美综合| 波多野结衣第一页| jizz在线观看| 欧美自拍另类欧美综合图区| 国产精品中文免费福利| 国产精品自在在线午夜区app| 5388国产亚洲欧美在线观看| 精品一區二區久久久久久久網站| 在线看片中文字幕| yy6080理论大片一级久久| 亚洲国产欧美目韩成人综合| 美女无遮挡免费网站| 99资源在线| 亚洲成在人线av品善网好看| 国产AV无码专区亚洲精品网站| 韩日无码在线不卡| 麻豆精品在线播放| 国产精品内射视频| 国产午夜小视频| 欧美日韩成人在线观看| 一区二区午夜| 色哟哟国产精品| 成·人免费午夜无码视频在线观看 | 国产va在线观看| 欧美一级黄片一区2区| 国产永久在线视频| 久久天天躁狠狠躁夜夜躁| 欧美日韩激情在线| 国产成人禁片在线观看| 大陆国产精品视频| 97在线免费视频| 亚洲天堂伊人| 日本高清在线看免费观看| 日本一本在线视频| 国产第二十一页| 老司机久久99久久精品播放| 99热这里只有免费国产精品 | 香蕉视频在线观看www| 精品少妇人妻一区二区| 亚洲大学生视频在线播放| 亚洲AV无码久久天堂| 成年人午夜免费视频| 高清久久精品亚洲日韩Av| 午夜福利在线观看成人| 欧美精品另类| 亚洲日韩AV无码精品| 99资源在线| 国产一级二级三级毛片| 国产成人AV大片大片在线播放 | 国产精品欧美激情| 国产一区二区影院| 狠狠做深爱婷婷久久一区| 99视频在线观看免费| 国产精品私拍在线爆乳| 一级毛片在线免费视频| 日本精品影院| 国产免费人成视频网| 亚洲精品中文字幕无乱码| 国产成人免费手机在线观看视频 | 91色国产在线| 国产在线观看精品| 成人伊人色一区二区三区| 在线色国产| 一级毛片免费观看久| 国产黄色视频综合| 亚洲婷婷六月| 青青操视频在线| 高清码无在线看| 丁香亚洲综合五月天婷婷| 大香网伊人久久综合网2020|