袁柳 高陽陽 張?!±钲?/p>
摘要:針對圖像處理應(yīng)用特點,提出一種基于NetFPGA開發(fā)平臺的圖像處理框架。圖像處理框架由軟核、UART模塊、BRAM模塊、VDMA模塊和圖像處理模塊組成,提供統(tǒng)一圖像處理IP核接口。測試表明,該框架可以高效實現(xiàn)SIFT特征提取典型圖像處理應(yīng)用。
關(guān)鍵詞:FPGA;VDMA;圖像處理;軟核
中圖分類號:TP391 文獻(xiàn)標(biāo)識碼:A 文章編號:1007-9416(2019)05-0147-02
隨著大數(shù)據(jù)和人工智能行業(yè)發(fā)展,圖像處理應(yīng)用的數(shù)據(jù)量、運算量逐漸增大,傳統(tǒng)的CPU架構(gòu)無法滿足圖像處理數(shù)據(jù)密集型計算需要,需要GPU、FPGA等異構(gòu)計算方案。由于FPGA功耗低、硬件可編程、并行性高、適合嵌入式場合等特點,越來越多被應(yīng)用到圖像處理場合[1-3]。但是FPGA平臺存在開發(fā)難度大,缺乏統(tǒng)一框架等問題。本文基于NetFPGA開發(fā)平臺,設(shè)計并實現(xiàn)了一種基于VDMA的圖像處理框架,該框架可以提供統(tǒng)一的圖像處理IP核接口,便于下一步開發(fā)和代碼移植。
1 圖像處理框架組成
基于VDMA的圖像處理框架的系統(tǒng)框圖如圖1所示。本系統(tǒng)主要由軟核、BRAM模塊、VDMA模塊和圖像處理模塊、UART模塊組成,集成于FPGA中。其中:
MicroBlaze軟核為嵌入在FPGA中的RISC處理器軟核,具備處理速度快、可配置等特點,負(fù)責(zé)控制其他模塊完成各項功能;BRAM模塊提供可配置的存儲緩存功能,支持讀寫同步操作,用于緩存輸入圖像和圖像處理結(jié)果;VDMA模塊基于FPGA的IP核實現(xiàn),擁有2個DMA通道,為AXI4格式的圖像視頻數(shù)據(jù)流提供高速數(shù)據(jù)傳輸通道,用于完成BRAM和圖像處理模塊間的數(shù)據(jù)傳輸;圖像處理模塊設(shè)計統(tǒng)一的IP核接口,內(nèi)部為圖像處理應(yīng)用的邏輯實現(xiàn),用于完成核心的圖像處理功能;UART模塊用于將FPGA的圖像處理結(jié)果發(fā)送給PC端。
在進(jìn)行圖像處理應(yīng)用執(zhí)行時,主要通過如下步驟完成基于FPGA的圖像處理過程。首先將輸入圖像以數(shù)組的形式存儲在軟核的堆棧中;在應(yīng)用程序啟動后,通過軟核將輸入圖像數(shù)據(jù)緩存到BRAM中;再通過VDMA的讀通道讀出輸入圖像數(shù)據(jù)并將其發(fā)送至圖像處理模塊;圖像處理模塊調(diào)用統(tǒng)一的圖像處理IP核硬件接口完成圖像處理應(yīng)用執(zhí)行;然后通過VDMA的寫通道接收圖像處理模塊的輸出結(jié)果并緩存到BRAM中;最后通過軟核從BRAM中讀出處理結(jié)果并通過UART串口發(fā)送給PC端。
2 圖像處理模塊
圖像處理模塊IP核的硬件接口如圖2所示,不同的圖像處理應(yīng)用均可以使用統(tǒng)一的硬件接口。其中包括:輸入圖像數(shù)據(jù)接口,輸出圖像數(shù)據(jù)接口,控制接口和中斷信號接口。輸入圖像數(shù)據(jù)接口輸入Axi4格式的圖像數(shù)據(jù)流,圖像數(shù)據(jù)流格式統(tǒng)一定義為:數(shù)據(jù)流位寬支持8/16/32位,數(shù)據(jù)行數(shù)為圖像高度,列數(shù)為圖像寬度。輸出圖像數(shù)據(jù)接口輸出處理后的數(shù)據(jù)流,數(shù)據(jù)流格式被統(tǒng)一定義為:數(shù)據(jù)流寬度為8/16/32位,可以為輸出圖像數(shù)據(jù),也可以是輸出的圖像處理標(biāo)簽、準(zhǔn)確度結(jié)果等非圖像數(shù)據(jù),在輸出非圖像數(shù)據(jù)的情況下,數(shù)據(jù)流行數(shù)和列數(shù)由用戶定義。控制接口用于在軟核中控制圖像處理模塊,包括啟動、使能中斷、給參數(shù)賦值等。
3 系統(tǒng)測試
本文的測試系統(tǒng)基于NetFPGA SUME開發(fā)平臺實現(xiàn),該開發(fā)平臺集成一塊高性能Xilinx Virtex-7 XC7V690T FPGA,支持圖像數(shù)據(jù)應(yīng)用數(shù)據(jù)的存儲和高性能處理。本文基于NetFPGA SUME平臺,在CPU端安裝Ubuntu操作系統(tǒng)及FPGA驅(qū)動,利用Vivado HLS和Vivado 2018.2 完成FPGA端的開發(fā)工作。
在NetFPGA平臺的基礎(chǔ)上,本文以尺度不變特征轉(zhuǎn)換SIFT特征提取算法為例,驗證圖像處理框架的有效性和高效性。SIFT算法具備尺度不變性特征,被廣泛應(yīng)用于視頻、圖像特征提取領(lǐng)域。SIFT特征提取算法主要包括如下步驟:構(gòu)建多尺度高斯金字塔和DOG金字塔;空間極值點檢測;低質(zhì)量極值點剔除;關(guān)鍵方向匹配和特征點描述。
圖3給出SIFT特征提取算法的運行結(jié)果,測試表明該圖像處理框架可較好實現(xiàn)算法功能。表1給出SIFT特征提取算法在CPU和NetFPGA中的運行時間對比,其中CPU的OpenCV處理時間為74ms,F(xiàn)PGA在50Hz時鐘頻率下運行時間為78ms,執(zhí)行效率類似,可以在嵌入式低功耗下滿足圖像處理算法運行時間需求。
4 結(jié)語
本文提出一種基于NetFPGA實現(xiàn)的統(tǒng)一圖像處理框架,包括軟核、BRAM模塊、VDMA模塊、圖像處理模塊和URAT模塊。該框架提供統(tǒng)一的圖像處理IP核硬件接口,方便圖像處理應(yīng)用開發(fā)和移植?;趫D像處理框架實現(xiàn)了SIFT特征提取應(yīng)用,運行時間78ms,可以滿足圖像處理算法高效處理需求。
參考文獻(xiàn)
[1] 王闖.一種基于FPGA的實時圖像增強(qiáng)處理系統(tǒng)設(shè)計與實現(xiàn)[J].計算機(jī)應(yīng)用,2018,48(5):255-256.
[2] 劉桂華,陳林宇,肖得勝.基于FPGA的圖像多尺度特征點提取及匹配[J].電視技術(shù),2016,40(9):103-107.
[3] 李錦明,侯天喜,高文剛,成乃朋.基于FPGA和DSP的圖像拼接系統(tǒng)[J].儀表技術(shù)與傳感器,2018(7):46-49.