馮 鑫,汪陳躍,孫愛(ài)平,趙 強(qiáng),雷旭峰,董海翔,康麗珠,楊增鵬
?
基于ZYNQ的多傳感器實(shí)時(shí)圖像拼接技術(shù)研究
馮 鑫,汪陳躍,孫愛(ài)平,趙 強(qiáng),雷旭峰,董海翔,康麗珠,楊增鵬
(昆明物理研究所,云南 昆明 650223)
為滿足高速多傳感器大視場(chǎng)圖像處理系統(tǒng)結(jié)構(gòu)緊湊、高實(shí)時(shí)性的迫切要求,進(jìn)行了以全可編程平臺(tái)ZYNQ為基礎(chǔ)的多傳感器實(shí)時(shí)圖像拼接技術(shù)研究。重點(diǎn)介紹了該設(shè)計(jì)的基本架構(gòu)、工作原理及ZYNQ的功能模塊設(shè)計(jì)等,通過(guò)對(duì)圖像處理的結(jié)果表明,該技術(shù)滿足高速實(shí)時(shí)圖像處理的要求,同時(shí)可以擴(kuò)展到更為復(fù)雜的多傳感器大視場(chǎng)實(shí)時(shí)圖像處理任務(wù)。
ZYNQ;圖像拼接;實(shí)時(shí)圖像;多傳感器
隨著軍事分離口徑成像系統(tǒng)的發(fā)展,在多傳感器實(shí)時(shí)圖像處理系統(tǒng)中,如何在規(guī)定時(shí)間內(nèi)完成大量圖像數(shù)據(jù)的處理,滿足系統(tǒng)的實(shí)時(shí)性要求一直是人們重點(diǎn)關(guān)注的問(wèn)題。隨著大規(guī)模集成電路的發(fā)展,各種處理器及專用集成電路的性能不斷得到提高,人們對(duì)圖像處理系統(tǒng)的功能、性能、功耗、體積等都提出了更高的要求。常見(jiàn)的多傳感器大視場(chǎng)圖像處理系統(tǒng)大多采用多DSP+FPGA架構(gòu)[1-2]或者CPU+GPU架構(gòu)[3],這樣的架構(gòu)造成了該系統(tǒng)成本高、體積大、功耗高、設(shè)計(jì)相對(duì)不靈活、設(shè)計(jì)復(fù)雜,增加系統(tǒng)開(kāi)發(fā)周期等缺點(diǎn)。本系統(tǒng)鑒于滿足多傳感器圖像處理系統(tǒng)中數(shù)據(jù)運(yùn)算量大、實(shí)時(shí)性強(qiáng),數(shù)據(jù)傳輸率高,尤其是對(duì)體積、功耗要求嚴(yán)苛的情況下,開(kāi)展了以全可編程SOPC為基礎(chǔ)的多傳感器實(shí)時(shí)圖像拼接技術(shù)研究,不僅可以通過(guò)軟件增加系統(tǒng)的靈活性和可擴(kuò)展性,同時(shí)還能通過(guò)可編程硬件實(shí)現(xiàn)執(zhí)行更多的數(shù)據(jù)處理和決策功能[4]。
本系統(tǒng)采用美國(guó)Xilinx公司推出的業(yè)界第一款全可編程平臺(tái)ZYNQ作為圖像拼接技術(shù)研究的主要硬件平臺(tái)。主要包括圖像采集、圖像預(yù)處理、圖像傳輸、圖像配準(zhǔn)及圖像拼接顯示幾個(gè)模塊。系統(tǒng)設(shè)計(jì)框圖如圖1所示。
系統(tǒng)通過(guò)2個(gè)圖像傳感器采集圖像,經(jīng)過(guò)ZYNQ內(nèi)部的圖像采集及預(yù)處理,圖像傳輸,圖像存儲(chǔ),圖像配準(zhǔn)后,最終圖像顯示。ZYNQ片內(nèi)的PL(可編程邏輯)和PS(處理器系統(tǒng))之間的數(shù)據(jù)是通過(guò)基于AXI4.0協(xié)議的片內(nèi)總線傳輸?shù)?,AXI4.0是由ARM和Xilinx公司基于ARM公司的AMBA3.0總線協(xié)議共同提出的,是一種高性能、高帶寬、低延遲的片內(nèi)總線[5],通過(guò)AXI總線將Zynq-7000內(nèi)PS和PL緊密地耦合在一起。通過(guò)采集外部攝像頭1和攝像頭2的圖像數(shù)據(jù),經(jīng)過(guò)圖像預(yù)處理模塊,將數(shù)據(jù)打包成AXI4-Stream總線格式數(shù)據(jù),然后經(jīng)過(guò)Video DMA控制器,將數(shù)據(jù)從AXI_HP接口寫(xiě)入DDR3控制器后,寫(xiě)入外部DDR3存儲(chǔ)器,再將數(shù)據(jù)從DDR3中讀出,完成數(shù)據(jù)的高速率吞吐。數(shù)據(jù)以較高速率流入圖像配準(zhǔn)模塊,最后至圖像顯示模塊,完成跨時(shí)鐘域圖像處理,將數(shù)據(jù)解調(diào)成符合顯示時(shí)序的數(shù)據(jù)格式。
圖1 系統(tǒng)框圖
本文采用CMOS傳感器,傳感器陣列為640×480。CMOS傳感器具有高幀頻、可配置、功耗低、成本低等優(yōu)點(diǎn),在眾多領(lǐng)域都有應(yīng)用。本系統(tǒng)通過(guò)I2C總線對(duì)CMOS進(jìn)行配置,輸出RAW RGB格式的圖像數(shù)據(jù),每個(gè)像素為8bit。其配置電路,捕獲及預(yù)處理模塊如圖2、圖3所示。
圖像傳感器通過(guò)I2C接口配置后,給出配置結(jié)束信號(hào)i2c_cfg_done,接收此信號(hào)后才開(kāi)始進(jìn)行完整幀圖像采集。在像素時(shí)鐘cmos_pclk的節(jié)拍下,圖像數(shù)據(jù)cmos_data[7:0]在圖像傳感器的行有效信號(hào)cmos_href及場(chǎng)有效信號(hào)cmos_vsync的作用下,將數(shù)據(jù)輸入至ZYNQ。在ZYNQ內(nèi)部,對(duì)2路視頻流同時(shí)捕獲,將數(shù)據(jù)送至圖像預(yù)處理模塊。圖像預(yù)處理模塊接收到圖像采集模塊的數(shù)據(jù),通過(guò)插值算法將RAW RGB格式的數(shù)據(jù)轉(zhuǎn)換為RGB888格式的數(shù)據(jù),進(jìn)而得到了每秒60幀24位640×480像素。
圖像數(shù)據(jù)是基于AXI4-Stream總線協(xié)議進(jìn)行傳輸?shù)?,通過(guò)調(diào)用Xilinx公司提供的AXI Video DMA IP軟核實(shí)現(xiàn)數(shù)據(jù)傳輸。CPU通過(guò)接受來(lái)自圖像捕獲和預(yù)處理模塊的完成標(biāo)志信號(hào),通過(guò)AXI4-Lite總線配置AXI Video DMA模塊,初始化結(jié)束后開(kāi)始傳輸數(shù)據(jù)。圖像預(yù)處理模塊的輸出數(shù)據(jù)要轉(zhuǎn)化為基于AXI4-Stream總線協(xié)議格式,數(shù)據(jù)經(jīng)過(guò)AXI-HP接口,以DMA(Direct Memory Access)的方式將數(shù)據(jù)存儲(chǔ)至外部數(shù)據(jù)存儲(chǔ)器DDR3,在適當(dāng)?shù)臅r(shí)候再以DMA的方式從DDR3中讀出,再進(jìn)行后續(xù)的圖像配準(zhǔn)處理。DMA搬移數(shù)據(jù)的方式是PL與外部數(shù)據(jù)存儲(chǔ)器數(shù)據(jù)交互的時(shí)間最快、吞吐率最高的一種方式,可以極大的滿足系統(tǒng)的實(shí)時(shí)性,數(shù)據(jù)傳輸?shù)倪^(guò)程中并不占用CPU,進(jìn)而提高了系統(tǒng)性能。
圖2 圖像傳感器配置電路連接框圖
圖3 圖像捕獲及預(yù)處理框圖
圖像拼接算法的性能主要取決于圖像配準(zhǔn)的精度,配準(zhǔn)算法既要保證配準(zhǔn)精度算法的運(yùn)算時(shí)間又要滿足實(shí)時(shí)性的要求[6]。系統(tǒng)通過(guò)機(jī)械結(jié)構(gòu)固定好圖像傳感器,保證所成的圖像之間只存在水平方向的位移,所以這里采用可以有效提取出圖像位移的圖像配準(zhǔn)算法——相位相關(guān)法進(jìn)行圖像配準(zhǔn)點(diǎn)的提取。圖像的相位相關(guān)配準(zhǔn)算法,主要是將圖像進(jìn)行傅里葉變換,計(jì)算2幅圖像的互功率譜,再對(duì)互功率譜求傅里葉反變換得到?jīng)_激函數(shù),找出使該沖激函數(shù)取得最大值的位置,即為圖像的平移量。具體原理描述如下:
其中1(,)和2(,)分別代表2幅圖像,那么2幅圖像的變換關(guān)系可以表示為:
2(,)=1(-0,-0) (1)
根據(jù)傅里葉變換性質(zhì)可得:
式中:2(,)和1(,)是2(,)和1(,)的傅里葉變換。它們的互功率譜為:
式中:1*(,)是1(,)的復(fù)共軛,對(duì)互功率譜求傅里葉反變換,找到峰值的位置,即可以確定平移參數(shù)0與0。
計(jì)算一個(gè)點(diǎn)基2的快速傅里葉變換,需要有(/2)×log2次蝶形運(yùn)算和2×log2次數(shù)數(shù)據(jù)訪問(wèn)。圖像數(shù)據(jù)的傅里葉變換是對(duì)行列數(shù)據(jù)分別做傅里葉變換。一次復(fù)數(shù)的乘法運(yùn)算包括包含4次乘法運(yùn)算及3次加法運(yùn)算。一幅×的圖像經(jīng)過(guò)傅里葉變換后產(chǎn)生2個(gè)復(fù)數(shù),經(jīng)過(guò)開(kāi)方及除法運(yùn)算后,算法的復(fù)雜度大大提高。考慮到硬件實(shí)現(xiàn)的局限性及硬件算法的精度問(wèn)題,這里將采用Matlab對(duì)圖像進(jìn)行相位相關(guān)運(yùn)算[7]。固定好圖像傳感器之后,采集圖像,提取平移量,利用此平移量參與ZYNQ配準(zhǔn)控制邏輯。
圖像拼接顯示模塊的主要功能是完成基于AXI4-Stream總線數(shù)據(jù)的跨時(shí)鐘域處理。本文設(shè)計(jì)了圖像拼接顯示模塊用于完成AXI4-Stream總線的控制,發(fā)出DMA占用總線請(qǐng)求,訪問(wèn)DDR3存儲(chǔ)器,同時(shí)將基于AXI4-Stream總線數(shù)據(jù)解調(diào)為符合終端顯示的時(shí)序的數(shù)據(jù)。圖像拼接顯示模塊如圖5所示。
總線請(qǐng)求及數(shù)據(jù)解耦模塊通過(guò)發(fā)動(dòng)總線占用請(qǐng)求,發(fā)起讀取內(nèi)存請(qǐng)求,接收來(lái)自DMA控制器的數(shù)據(jù),并將總線數(shù)據(jù)解碼,將數(shù)據(jù)進(jìn)行行緩存。圖像顯示控制模塊根據(jù)接收到的coordinate[10:0]配準(zhǔn)點(diǎn)信息,發(fā)出控制地址pixel_addr_0[9:0]和pixel_addr_1[9:0],讀取相應(yīng)的像素?cái)?shù)據(jù)frame_pixel_0[23:0]和frame_pixel_1[23:0]。最終經(jīng)過(guò)圖像顯示模塊,可以輸出2路視頻圖像的所有信息。
圖4 圖像配準(zhǔn)模塊功能圖
圖5 圖像拼接顯示模塊框圖
表1表明在處理2路分辨率為640×480,幀率每秒60幀的數(shù)據(jù)所消耗的硬件資源數(shù)量。利用片內(nèi)PS的硬核處理器(ARM CortexA9處理器)完成相應(yīng)的硬件控制,極大地節(jié)省了相應(yīng)的邏輯資源。同時(shí)借助于外部存儲(chǔ)器及片內(nèi)總線數(shù)據(jù)傳輸結(jié)構(gòu),最大限度地節(jié)省PL的存儲(chǔ)資源。
表1 硬件資源消耗分析
設(shè)計(jì)要求2幅圖像的重疊區(qū)不大于7%。重疊區(qū)相對(duì)大,監(jiān)控的目標(biāo)視場(chǎng)角相對(duì)變小,信息損失,拼接起來(lái)相對(duì)容易。重疊區(qū)相對(duì)小,監(jiān)控的目標(biāo)視場(chǎng)角相對(duì)變大,信息豐富,拼接起來(lái)相對(duì)困難。圖6給出了2個(gè)具有重疊區(qū)的攝像頭所采集的圖像。圖7給出了拼接后的圖像。拼接后的圖像信息量大,沒(méi)有冗余信息,經(jīng)過(guò)實(shí)時(shí)處理之后,圖像的大小為1180×480,幀率為每秒60幀,圖像成像清晰。
表2給出了2路圖像的拼接前后的參數(shù),通過(guò)拼接前后的參數(shù)對(duì)比,可以看出每個(gè)圖像傳感器的水平視場(chǎng)角度為30°,拼接后的水平視場(chǎng)角為58.5°,有效地增大了目標(biāo)觀測(cè)的視場(chǎng)范圍,且重疊區(qū)保持在5%左右,滿足重疊區(qū)小于7%的設(shè)計(jì)要求。具備較好的成像效果,保證了系統(tǒng)的實(shí)時(shí)性,達(dá)到了預(yù)期的效果。
圖6 兩路采集圖像
圖7 ZYNQ拼接結(jié)果圖
表2 拼接前后參數(shù)對(duì)比
基于ZYNQ全可編程平進(jìn)行圖像拼接技術(shù)研究,進(jìn)行了實(shí)時(shí)圖像處理系統(tǒng)的采集、預(yù)處理、傳輸、拼接顯示的模塊設(shè)計(jì),完成了每秒60幀640×480p的圖像處理,與傳統(tǒng)設(shè)計(jì)方案相比,可以使多傳感器圖像處理系統(tǒng)體積更小,成本更低,同時(shí)具有較好的實(shí)時(shí)性,更符合未來(lái)實(shí)時(shí)圖像處理系統(tǒng)的發(fā)展需求。
[1] HAO Wei. Designing and develpoment of multi-DSP real-time image processing system based on FPGA[C]//, 2011: 1263-1265.
[2] 銀志軍. 基于多DSP和FPGA的實(shí)時(shí)圖像處理系統(tǒng)設(shè)計(jì)[J]. 光電技術(shù)應(yīng)用, 2012, 27(1): 76-80.
YIN Zhingjun. Design of real-time image processing system based on FPGA and multi-DSP[J]., 2012, 27(1): 76-80.
[3] 王雨曦, 王義坤, 葛明峰. 基于點(diǎn)特征算子的紅外圖像實(shí)時(shí)拼接系統(tǒng)[J]. 紅外技術(shù), 2015, 37(3): 204-209.
WANG Yuxi, WANG Yikun, GE Mingfeng. Point feature-based read-time infrared image mosaicking system[J]., 2015, 37(3): 204-209.
[4] 何賓. Xilinx All Programmable Zynq-7000 Soc設(shè)計(jì)指南[M]. 北京: 清華大學(xué)出版社, 2012: 13.
HE Bin.7000[M]. Beijing: Tsinghua university press, 2012: 13.
[5] Xilinx Inc. Xilinx AXI Reference Guide[R/OL]. [2015-09-09]. http:// www.xilinx.com/support/documentation/data_sheets/axi_reference_guide.
[6] 張?jiān)品? 基于DSP的實(shí)時(shí)圖像拼接技術(shù)[J]. 液晶與顯示, 2013, 28(6): 963-966.
ZHANG Yunfeng. Real-time image mosaic technology based on DSP[J]., 2013, 28(6): 963-966.
[7] 楊磊, 任龍, 劉慶, 等. 基于FPGA的大視場(chǎng)圖像實(shí)時(shí)拼接技術(shù)的研究與實(shí)現(xiàn)[J]. 紅外與激光工程, 2015, 44(6): 1929-1935.
YANG Lei, REN Long, Liu Qing, et al. Research and implementation of large field image real-time mosaic technology based on FPGA[J]., 2015, 44(6): 1929-1935.
Research on Real-time Multi-sensor Image Mosaic Technology Based on ZYNQ
FENG Xin,WANG Chenyue,SUN Aiping,ZHAO Qiang,LEI Xufeng,DONG Haixiang,KANG Lizhu,YANG Zengpeng
(,650223,)
This paper conducts a research on a real-time multi-sensor image mosaic technology based on the all programmable platform, ZYNQ,in order to satisfy the urgent requirement of the compact structure and high level real-time in high-speed multi-sensor image processing system. This paper focuses on the basic architecture, operation principle and functional module design in ZYNQ. The result of processing digital images proves that the technology satisfies the requirement of high-speed real-time image processing. It can expand into the task for more complicated multi-sensor real-time image processing.
ZYNQ,image mosaic,real-time image,multi-sensor
TP311
A
1001-8891(2016)03-0207-04
2015-09-09;
2016-01-12.
馮鑫(1989-),吉林通化人,碩士研究生,主要研究方向?yàn)閳D像處理。