韓 團(tuán) 軍
(陜西理工大學(xué) 物理與電信工程學(xué)院, 陜西 漢中 723000)
隨著紅外圖像處理技術(shù)和焦平面陣列技術(shù)的不斷發(fā)展,紅外圖像處理系統(tǒng)在軍事成像、安防工程和工業(yè)監(jiān)測(cè)中的應(yīng)用越來(lái)越廣泛,紅外圖像中常含有大量的椒鹽噪聲,且圖像對(duì)比度較低,使得視覺(jué)效果較差。同時(shí)紅外圖像處理系統(tǒng)對(duì)算法的實(shí)時(shí)處理要求較高,一般圖像處理算法運(yùn)算量較大[1-4]。這樣就要求處理芯片有很高的處理速度和較大的數(shù)據(jù)吞吐量。傳統(tǒng)的硬件平臺(tái)采用DSP對(duì)紅外圖像進(jìn)行處理,其處理復(fù)雜算法的速度較慢,無(wú)法滿足圖像處理實(shí)時(shí)性要求,限制了對(duì)紅外圖像算法的廣發(fā)應(yīng)用。為了提高紅外圖像的質(zhì)量和增強(qiáng)系統(tǒng)處理圖像的實(shí)時(shí)性,結(jié)合已有的紅外圖像實(shí)時(shí)處理算法,本文提出了一種基于FPGA的紅外圖像處理系統(tǒng)硬件平臺(tái)設(shè)計(jì)過(guò)程,通過(guò)該系統(tǒng)可以消除紅外圖像的非均勻性,同時(shí)可以對(duì)紅外圖像進(jìn)行增強(qiáng),對(duì)椒鹽噪聲進(jìn)行的濾除。通過(guò)硬件測(cè)試,系統(tǒng)能夠?qū)崟r(shí)處理紅外圖像的各種算法,且效果較好。該系統(tǒng)具備設(shè)計(jì)靈活、移植性方便、消耗資源較少,具有一定的工程開(kāi)發(fā)和應(yīng)用價(jià)值[5-7]。
整個(gè)系統(tǒng)硬件平臺(tái)主要實(shí)現(xiàn)了對(duì)紅外探頭采集的紅外圖像進(jìn)行了非均勻性校正,為了便于后面的處理,對(duì)含有噪聲圖像進(jìn)行平滑濾波去噪處理,針對(duì)圖像對(duì)比度不高的問(wèn)題,對(duì)除噪后的圖像進(jìn)行了直方圖均衡處理來(lái)提高圖像的對(duì)比度。處理完成后的圖像由PAL模擬視頻直接顯示。各處理模塊是在同一塊FPGA上實(shí)現(xiàn)。整個(gè)系統(tǒng)硬件框圖如圖1所示。
圖1 系統(tǒng)的硬件框圖
非均勻性一點(diǎn)溫度定標(biāo)算法的實(shí)現(xiàn)需要先用溫度的均勻輻射黑體輻照探測(cè)器,得到此時(shí)每個(gè)探測(cè)元的響應(yīng)輸出,并求出其平均值。于是對(duì)于每個(gè)探測(cè)元有:
將D存儲(chǔ)起來(lái),并在正常景物下對(duì)每個(gè)探測(cè)元輸出響應(yīng)進(jìn)行實(shí)時(shí)減法校正,即可消除這種偏差。從算法上不難看出,一點(diǎn)定標(biāo)法實(shí)質(zhì)上是對(duì)焦平面的非均勻噪聲中的加性噪聲作了很好的補(bǔ)償,
A=Y2-D
其中:A為一點(diǎn)校正后響應(yīng);Y2為輸出響應(yīng)。
在具體實(shí)現(xiàn)時(shí),先用溫度均勻的輻射黑體輻照探測(cè)器,通過(guò)編寫(xiě)代碼獲取偏差值,然后將其保存在FPGA的雙端口RAM中。實(shí)際處理時(shí),選取整個(gè)圖像中的160×120像素的范圍進(jìn)行一點(diǎn)校正。在程序設(shè)計(jì)時(shí)列計(jì)數(shù)器pixelcount和行計(jì)數(shù)器linecount_in伴隨著6.75MHz像素時(shí)鐘遞增。當(dāng)pixelcount=80, linecount_in=60時(shí),RAM寫(xiě)使能信號(hào)有效,RAM地址回到0。當(dāng)80 圖2 偏差從RAM讀出進(jìn)程代碼片段 快速中值濾波算法是將一個(gè)含有N×N像素的二維陣列,對(duì)其先執(zhí)行一次行排序運(yùn)算,然后執(zhí)行一次列排序運(yùn)算,完成后對(duì)對(duì)角線上的像素得到中值輸出。設(shè)計(jì)硬件實(shí)現(xiàn)了一個(gè)3×3窗口的快速中值濾波算法結(jié)構(gòu),如圖3所示,這樣設(shè)計(jì)的濾波比傳統(tǒng)線性濾波和均值濾波運(yùn)算量有很大減少。列排序運(yùn)算需要9次比較運(yùn)算,行排序也同樣需要9次比較運(yùn)算,最后將對(duì)角線上的3個(gè)像素值進(jìn)行比較后取中值,需要3次比較運(yùn)算。因此快速中值算法對(duì)一組9個(gè)像素取中值運(yùn)算一共需要進(jìn)行21次比較運(yùn)算,和傳統(tǒng)的濾波算法執(zhí)行36次運(yùn)算次數(shù)相比較可以看出,快速中值濾波算法可以大大降低運(yùn)算次數(shù)。運(yùn)算量減少對(duì)硬件實(shí)現(xiàn)上可以節(jié)省芯片的內(nèi)部資源,同時(shí)可以提高硬件對(duì)圖像的處理速度。系統(tǒng)利用移位寄存器宏模塊設(shè)計(jì)了一個(gè)深度為158的FIFO,使用嵌入式存儲(chǔ)器來(lái)實(shí)現(xiàn)移位寄存器塊,它能節(jié)省邏輯單元LE和布線資源,提供了更加有效的實(shí)現(xiàn)方法。由于Quartus II軟件中的altshift_taps 宏模塊沒(méi)有正好等于158的FIFO,可以選用移位寄存器實(shí)現(xiàn)FIFO的功能。1個(gè)w×m×n移位寄存器,由輸入數(shù)據(jù)寬度w,抽頭長(zhǎng)度m和抽頭數(shù)n來(lái)決定,移位寄存器的抽頭長(zhǎng)度m最大值是256,當(dāng)需要更大容量的移位寄存器塊可以級(jí)聯(lián)。由于w沒(méi)有正好14位,可以選16位移位寄存器。運(yùn)用圖中的移位寄存器組成一個(gè)深度為158的FIFO,抽頭數(shù)n都為1。最終完成了一個(gè)如圖3所示中值濾波結(jié)構(gòu),利用3×3窗口在FPGA 進(jìn)行了有效設(shè)計(jì)[8-10]。通過(guò)對(duì)設(shè)計(jì)進(jìn)行編譯可以看出,快速中值濾波算法要比傳統(tǒng)中值濾波算法節(jié)省大量的硬件資源。編譯后對(duì)3×3模板進(jìn)行了仿真,結(jié)果見(jiàn)圖4,表1為兩種算法對(duì)邏輯資源的利用率。 圖3 3×3中值濾波結(jié)構(gòu) 圖4 3×3模板時(shí)序仿真結(jié)果 表1 傳統(tǒng)中值濾波算法和快速中值濾波算法使用資源比較 系統(tǒng)對(duì)圖像進(jìn)行了噪聲濾除后,圖形質(zhì)量變得更加清晰。但是紅外圖像還受到光照條件的影響,如果光照不均勻會(huì)嚴(yán)重影響視覺(jué)效果。直方圖均衡就是對(duì)圖像顯示效果進(jìn)行增強(qiáng)處理,設(shè)計(jì)中算法是利用灰度點(diǎn)通過(guò)概率計(jì)算實(shí)現(xiàn)圖像有效增強(qiáng)。在設(shè)計(jì)中圖像處理中所需的數(shù)據(jù),是從FPGA中外圍帶有的SRAM中得到,得到的一維數(shù)組寬8位的數(shù)據(jù),讀取時(shí)鐘f為50 MHz。通過(guò)改進(jìn)傳統(tǒng)增強(qiáng)算法在FPGA利用宏模塊和邏輯鎖定來(lái)實(shí)現(xiàn),灰度級(jí)累加完成后結(jié)果存在list中。如果有像素?cái)?shù)據(jù)從外部存儲(chǔ)器輸入到直方圖均衡化模塊,其像素?cái)?shù)據(jù)就作為list的讀地址,將其對(duì)應(yīng)的讀出的數(shù)據(jù)乘以L-1,再除以n,得到的就是均衡化后的像素?cái)?shù)據(jù)[11-17]。設(shè)計(jì)中直方圖均衡化模塊在硬件平臺(tái)的內(nèi)部邏輯框圖如圖5所示。 系統(tǒng)對(duì)PAL制式正極性電視信號(hào)發(fā)生器進(jìn)行了時(shí)序仿真和設(shè)計(jì)。輸入像素時(shí)鐘pixelclk為6.75 MHz,幀頻25 Hz,幀周期40 MHz/s,場(chǎng)頻50 Hz,場(chǎng)周期20 ms,行頻15.625 Hz,行周期64 μs程序?qū)?幀細(xì)分為1 250行,每場(chǎng)625行,行周期32 μs,如果將2行32 μs看做一行即就是PAL制視頻標(biāo)準(zhǔn)。通過(guò)設(shè)計(jì)仿真可以得到復(fù)合同步信號(hào)仿真結(jié)果,復(fù)合同步信號(hào)由前均衡脈沖(5個(gè)凹槽)、后均衡脈沖(5個(gè)凹槽)和行同步脈沖組成 。復(fù)合同步信號(hào)仿真結(jié)果如圖6所示。 圖5 直方圖均衡化模塊內(nèi)部邏輯框圖 FPGA是本系統(tǒng)的核心部分,用來(lái)完成數(shù)據(jù)緩存、圖像濾波以及圖像增強(qiáng)等。為了便于系統(tǒng)的升級(jí)、擴(kuò)展,在FPGA外部添加了FLASH和SRAM,以便于存儲(chǔ)數(shù)據(jù)和運(yùn)行程序,配置芯片用來(lái)存放芯片的配置信息,避免數(shù)據(jù)掉電后丟失,DA轉(zhuǎn)換器主要是實(shí)現(xiàn)數(shù)字信號(hào)到模擬信號(hào)的轉(zhuǎn)化,TFT顯示屏PAL模擬視頻接口與系統(tǒng)結(jié)合,完成紅外圖像的顯示,電源和復(fù)位模塊保證系統(tǒng)的正常工作,整個(gè)測(cè)試系統(tǒng)框圖如圖7所示。 圖6 復(fù)合同步信號(hào)仿真圖 圖7 整個(gè)測(cè)試系統(tǒng)框圖 系統(tǒng)選用的是Altera公司生產(chǎn)的CycloneIIIEP3C55F484C8型號(hào)的FPGA芯片對(duì)整個(gè)系統(tǒng)的每一個(gè)設(shè)計(jì)模塊進(jìn)行了硬件下載測(cè)試,系統(tǒng)的終端如圖8所示。終端對(duì)系統(tǒng)模擬視頻信號(hào)顯示采用320×240 TFT真彩顯示屏。該系統(tǒng)可以對(duì)外場(chǎng)采集或模擬生成的紅外圖像進(jìn)行預(yù)處理。在一點(diǎn)校正前的圖像中存在固定溢出的像素點(diǎn),一般表現(xiàn)為離散的最亮點(diǎn)或最暗點(diǎn),通過(guò)一點(diǎn)校正后圖像,離散的最亮點(diǎn)或最暗點(diǎn)被去除,證明所設(shè)計(jì)的一點(diǎn)校正算法有良好的處理效果,處理前后的對(duì)比結(jié)果如圖9所示。 圖8 測(cè)試終端 圖9 一點(diǎn)校正前后圖像在終端對(duì)比顯示 將一幅未經(jīng)處理的原始紅外圖像加入了孤立的噪聲點(diǎn),輸入給FPGA中值濾波器得到濾波后的圖像。試驗(yàn)結(jié)果可以看出,原始圖像中孤立的噪聲點(diǎn)得到了有效的濾除,對(duì)含有噪聲的圖像采用中值濾波算法的硬件下載顯示結(jié)果如圖10所示??梢钥闯?,整個(gè)系統(tǒng)對(duì)噪聲濾處較好。同時(shí)對(duì)一幅亮度較低的紅外圖像進(jìn)行直方圖均衡化,可以看出處理后的圖像亮度、對(duì)比度明顯提升,圖像細(xì)節(jié)得到了很好的體現(xiàn),增強(qiáng)處理結(jié)果如圖11所示。 圖10 中值濾波前后圖像在終端的對(duì)比顯示 圖11 直方圖均衡化前后圖像在終端對(duì)比顯示 本文實(shí)現(xiàn)了一種基于FPGA紅外圖像處理系統(tǒng)硬件平臺(tái),解決了紅外圖像由于在處理過(guò)程中圖像的分辨率低、圖像對(duì)比度不高、噪聲較大而且具有非均勻性以及圖像是灰度圖像等缺陷。利用模塊化設(shè)計(jì)方法,通過(guò)一塊CycloneIIIEP3C55F484c8芯片為核心處理器,對(duì)整個(gè)系統(tǒng)的各個(gè)模塊進(jìn)行了硬件下載測(cè)試。處理前后圖像對(duì)比可以看出,整個(gè)系統(tǒng)完成了紅外圖形的各種算法處理,結(jié)果較好,驗(yàn)證了設(shè)計(jì)正確性。整個(gè)系統(tǒng)平臺(tái)在紅外圖像處理方面具有一定的應(yīng)用價(jià)值。2.2 快速中值濾波算法的FPGA實(shí)現(xiàn)
2.3 直方圖均衡化算法的FPGA實(shí)現(xiàn)
2.4 PAL模擬視頻接口的FPGA實(shí)現(xiàn)
3 硬件實(shí)驗(yàn)結(jié)果
4 結(jié) 語(yǔ)