秦春霞楊珂任萍鄭潔3趙遠鵬陳貴鋒
(1.西北工業(yè)大學(xué) 電子與信息學(xué)院,西安 710129; 2.西北工業(yè)大學(xué) 第365所,西安 710065;3.山西汾西重工有限責(zé)任公司,太原 030027; 4.國家電網(wǎng)陜西省電力公司檢修公司,西安 710000)
在無人機對地偵察中,需要獲取地面感興趣目標較為清晰的圖像數(shù)據(jù),但空中霧霾等因素會影響獲取的圖像質(zhì)量K.M.He等提出基于暗通道先驗的圖像去霧算法,利用軟摳圖細化透射率[1];其后K.M.He采用導(dǎo)向濾波來提高運行效率,但該算法對空中區(qū)域的處理效果尚需改善[2];Berman利用霧度線基礎(chǔ)上,利用不同的透射系數(shù)恢復(fù)了距離圖和無霧圖像[3]。F.Meng等提出一種有效的正則化去霧算法,通過探索固有的邊界約束來恢復(fù)無霧圖像[4]。范新南等利用亮通道先驗和模糊聚類對霧圖進行場景分類[5];王晗等提出信息熵與保真度相結(jié)合的單幅圖像去霧方法。雖然上述算法在去霧效果上都有各自優(yōu)勢,但需要滿足機載實時處理等應(yīng)用需求方面,需要解決相關(guān)工程應(yīng)用實現(xiàn)。針對機載視頻去霧處理系統(tǒng)需要,周曉波[6]和龔亮[7]分別采用FPGA實現(xiàn)相關(guān)去霧算法,李昂[8]和張海濱[9]利用ARM實現(xiàn)去霧算法效果。上述方法都可以得到較好的去霧效果,但存在時序和邏輯功能實現(xiàn)復(fù)雜、硬件資源和功耗要求高,外圍接口電路設(shè)計也較復(fù)雜等問題,機載視頻處理應(yīng)用得到限制。為此,本文采用具有去霧功能的ASIC芯片TS1601[10],根據(jù)機載視頻處理需要,利用Freescale公司i.MX6嵌入式系統(tǒng)[11]設(shè)計系統(tǒng)控制初始化、去霧控制、去霧視頻壓縮處理、接口電路和指令響應(yīng)等軟件設(shè)計。
系統(tǒng)機載圖像去霧處理流程:首先,采用Techwell公司TW9912芯片采集模擬數(shù)據(jù)[12],采用Semtech公司GS2971芯片獲取數(shù)字高清數(shù)據(jù)[13],設(shè)計BT.656/BT.1120數(shù)字視頻信號輸出;其次,采用TSSI公司專用去霧處理芯片TS1601設(shè)計相關(guān)去霧處理[10];接著,采用i.MX6處理器完成TS1601、視頻采集和遙控遙測指令接收處理工作;最后,針對無人機信道受限情況,完成i.MX6數(shù)字視頻信號H.264的壓縮和數(shù)據(jù)組幀等工作。系統(tǒng)總體框圖如圖1所示。
圖1 圖像去霧系統(tǒng)總體框圖
此外,采用Winbond公司W(wǎng)25Q80BV芯片設(shè)計SPI Flash存儲,設(shè)計實現(xiàn)TS1601和TW9912采集芯片I2C接口控制功能、GS2971芯片GSPI接口配置和控制、遙控/遙測指令處理電路完成機載遙控接收和遙測指令回報等。
TSSI公司的TS1601是一款高清視頻處理芯片,具有去霧處理、2D/3D圖像去噪等功能。TS1601可接收/發(fā)送BT.656和BT.1120格式等通用數(shù)字視頻信號。TS1601具有以下幾點:1)輸入輸出的格式:分別接收模擬視頻輸出的BT.656和數(shù)字高清視頻輸出的BT.1120;2)外圍接口:外圍接口有16個GPIO口,可被復(fù)用為I2C總線和UART等接口,還有專用SPI總線接口[6]等接口的控制和通信;3)低功耗:TS1601處理芯片具有低功耗;4)設(shè)計簡單:去霧算法參數(shù)設(shè)置可以實時調(diào)整,時序、邏輯功能、去霧參數(shù)等實現(xiàn)相對簡單。
標準模擬視頻采集芯片的D1圖像分辨率為奇偶場720×288兩幅BT.656隔行數(shù)據(jù),如果將其輸出到i.MX6的720×576逐行視頻接口,就會出現(xiàn)top和bottom兩幅720×288(奇偶幀)視頻效果。常用隔行轉(zhuǎn)逐行處理方法有以下幾種:1)對top和bottom兩場交錯生成一幀圖像處理算法;2)用top或bottom一場代替一幀圖像,但其插值算法會損害圖像清晰度;3)圖像運動補償算法,算法CPU占用和處理時間較大,達不到實時要求;4)采用TW9912等芯片內(nèi)部硬件處理方法,通過內(nèi)部反交錯引擎的隔行掃描視頻轉(zhuǎn)換成逐行BT.656視頻數(shù)字信號,由硬件完成復(fù)雜的運動補償?shù)葓D像處理算法,視頻采集效果最好,并且不占用系統(tǒng)處理資源,可滿足系統(tǒng)實時處理需要。因此,將TW9912設(shè)計為逐行輸出,計算其輸出像素時鐘pixclk并對i.MX6的視頻接口進行配置。BT.656并行接口除了傳輸4:2:2的YCbCr視頻數(shù)據(jù)流外,還有行、列同步所用的控制信號。TW9912一幀PAL制式分辨率為720×576的圖像數(shù)據(jù)由一個625行、每行1728字節(jié)(1 440+280+4+4=1 728)的數(shù)據(jù)塊組成。其中,23~311行(288)是偶數(shù)場視頻數(shù)據(jù),336~624行(288)是奇數(shù)場視頻數(shù)據(jù),其余為垂直控制信號。根據(jù)公式:像素時鐘pixclk=行數(shù)據(jù)×行數(shù)×幀率。對于PAL制式分辨率為720×576的隔行掃描圖像數(shù)據(jù),pixclk頻率為:PAL:(1 440+280+4+4)×625×25=27 000 000。如果采用逐行輸出方式,PAL制式的pixclk應(yīng)為54 MHz,比隔行輸出pixclk=27 MHz增大一倍,其幀數(shù)也增大一倍由PAL:25->50。此外,由于在視頻圖像的采集過程中,不同端口大小、不同階段,數(shù)據(jù)的字節(jié)順序是非常重要的。為了對圖像數(shù)據(jù)進行靈活打包,在視頻接口軟件設(shè)計數(shù)據(jù)緩存交換空間進行打包。
數(shù)字視頻信號芯片GS2971是一款支持標清、高清和3 Gb/s多種速率的SDI接收器,該芯片利用SPI總線進行初始化配置和控制。設(shè)計中,設(shè)計GS2971完成接入SDI視頻YCBCR數(shù)據(jù)轉(zhuǎn)換和BT.1120輸出,經(jīng)過匹配電阻接入i.MX6視頻處理芯片,保持視頻信號傳輸阻抗匹配。
根據(jù)系統(tǒng)功能和設(shè)計的需要,系統(tǒng)軟件采用模塊化設(shè)計,其中主程序、去霧處理算法、H.264壓縮處理、遙控指令響應(yīng)程序、遙測信息回報等軟件分別采用嵌入式平臺軟件編程。
系統(tǒng)主程序流程如圖2所示。主處理程序主要分為芯片初始化、芯片探測、事件發(fā)送和響應(yīng)操作和內(nèi)核循環(huán)5個模塊。根據(jù)需要,系統(tǒng)處理主程序采用嵌入式模塊化的設(shè)計思想,軟硬件有機結(jié)合構(gòu)成一個功能完整的一體化的控制模塊。具體設(shè)計如下:
上電后,程序?qū)ο到y(tǒng)進行初始化,完成視頻接口芯片TW9912和GS2971、去霧處理芯片TS1601初始化工作、i.MX6嵌入式系統(tǒng)初始化、串口初始化、系統(tǒng)相關(guān)處理事件初始化;實現(xiàn)模塊化設(shè)計,針對系統(tǒng)各個接口和去霧處理參數(shù)配置腳本設(shè)計;系統(tǒng)初始化時,可以根據(jù)系統(tǒng)硬件設(shè)置和控制參數(shù)情況,直接調(diào)用對應(yīng)腳本文件,能夠快速、直接、準確地配置模塊參數(shù);內(nèi)核循環(huán)流程,設(shè)計無人機視頻H.264壓縮碼率受控處理軟件,解決壓縮編碼的運動估計搜索范圍、最大關(guān)鍵幀間距、SPI接口緩沖區(qū)碼率控制機制問題,完成系統(tǒng)SPI輸出碼率受限軟件設(shè)計[12]。
圖2 系統(tǒng)處理主程序軟件流程圖
無人機機載去霧處理系統(tǒng)在滿足去霧功能基礎(chǔ)上,i.MX6接收的遙控指令包括同步幀頭和控制指令等,接收和處理的遙控和遙測指令數(shù)據(jù)需要逐字節(jié)進行解析、判斷、處理和回報。設(shè)計遙控指令的每幀指令由64個字節(jié)組成,前兩個字節(jié)為遙控指令幀頭。當嵌入式系統(tǒng)串口接收到遙控指令后,系統(tǒng)根據(jù)遙控指令幀結(jié)構(gòu)完成相應(yīng)遙控解譯操作。其他功能設(shè)計如下:
1)機載去霧系統(tǒng)初始化:由于系統(tǒng)通過初始化完成相關(guān)TS1601去霧接口和狀態(tài)配置,因此需要關(guān)閉系統(tǒng)中斷響應(yīng)并在去霧配置完成后再根據(jù)需要開啟。
2)TS1601芯片的去霧功能初始化:根據(jù)機載視頻去霧處理要求,完成TS1601芯片的去霧處理算法參數(shù)設(shè)置(參見2.3節(jié)),系統(tǒng)采用配置腳本方式,快速準確實現(xiàn)機載去霧處理模式設(shè)置。TS1601芯片初始化流程如圖3所示。
圖3 TS1601芯片初始化流程
無人機機載視頻大多是場景變化緩慢對地觀測場景,應(yīng)針對機載圖像特性和實際工程情況設(shè)計去霧參數(shù)。對于機載獲取的圖像霧化主要表現(xiàn)為圖像對比度和明度減小,去霧處理上需要提高圖像對比度和明度。因此,機載視頻去霧參數(shù)系統(tǒng)采用大氣散射模型從機載圖像去霧I(x)、大氣光值A(chǔ)和透射率t(x)中恢復(fù)出圖像J(x)[1]:
(1)
(2)
式中,Ω(x)表示一塊方形區(qū)域,Ic表示含霧圖像的一個顏色通道。在求取透射率圖時使用最小值濾波并不符合機載視頻圖像景物深度基本一致的情況[1-3,5],改進的去霧算法復(fù)雜度較高[3-5],不利于機載景物深度變化較大的區(qū)域透射率的實時估算。例如,超低能見度情況下地面霧霾濃度過大,圖像去霧處理時會使去霧后的圖像噪聲偏大,需要進行不完全去霧;當?shù)孛婺芤姸容^高霧霾濃度很低,不需要對圖像進行去霧處理。針對機載圖像視場變化緩慢的快速去霧處理,本文提出一種機載圖像HSV分量確定透射率。
首先,機載圖像色調(diào)、飽和度和明度各分量的平均值分別為:
(4)
式中,Sum(H),Sum(S)和Sum(V)為圖像中所有像素點色調(diào)分量H、飽和度分量S、明度分量V的總和,N1、N2、N3為分量值不為0的像素點數(shù)量,AveH,AveS和AveV為圖像中各分量的平均值。根據(jù)實驗數(shù)據(jù)測試分析,結(jié)合飛機總體設(shè)計對機載圖像去霧處理系統(tǒng)技術(shù)指標要求,將機載含霧圖像按照如下含霧等級設(shè)定。
含霧圖像等級1:
(AveH<100)&&(AveS<0.07)&&(AveV<0.5)
(5)
含霧圖像等級2:
(AveH<125)&&(AveS<0.2)&&(AveV<0.48)
(6)
其次,根據(jù)HSV分量確定含霧圖像等級對透射率進行調(diào)整,在含霧圖像等級為1的區(qū)域需要對透視率進行放大,而在含霧圖像等級為2的區(qū)域需要對透視率保持不變,定義透射率為:
(7)
式中,閾值M定義為含霧圖像中對比度大于圖像HSV分量對比度閾值S(一般取S=2)的像素值個數(shù)p占總像素點個數(shù)n相比,即:M=p/n。無人機機載含霧圖像表現(xiàn)為對比度較差,所選取的閾值M也應(yīng)該不同:圖像中對比度區(qū)域較小的圖像選取較大的M值;圖像對比度較大選取較小的閾值M。本文按照含霧等級的去霧處理方法,不同于文獻[2-4]復(fù)雜參數(shù)計算方法,計算效率得到提高并且系統(tǒng)實時性也得到保障。
視頻去霧處理芯片TS1601中有視頻去霧寄存器、I2C總線的寄存器、SPI總線寄存器、OSD寄存器等多種寄存器。通過設(shè)置相關(guān)去霧寄存器(DEMIST_ENABLE、DEMIST_WIN_LT等)的狀態(tài)來達到去霧的目的。其他有關(guān)圖像去噪,視頻OSD功能處理等軟件流程略。
無人機機載視頻大多是場景變化緩慢對地觀測場景,應(yīng)針對機載圖像特性和實際工程情況采用不同去霧方式和模式對視頻進行實時去霧處理。設(shè)計視頻去霧處理軟件如下:首先進行去霧功能的初始化,包括設(shè)置去霧最大的亮度和最大的色度;其次,根據(jù)輸入設(shè)備判定并更新相應(yīng)的腳本參數(shù);然后,去霧系統(tǒng)根據(jù)從串口接收到的去霧指令進行處理,獲得去霧事件的ID號和參數(shù)temp,并根據(jù)事件的ID號判斷去霧事件的類型。在去霧事件中軟件設(shè)計中:1)若temp=0,設(shè)置去霧的工作模式為關(guān)閉的狀態(tài);2)若temp=1,設(shè)置去霧的工作模式為全雙工方式,設(shè)置去霧的工作電平為高電平有效,根據(jù)獲取的參數(shù)temp=1選擇去霧模式1并對相關(guān)的寄存器進行設(shè)置;3)若temp=2,設(shè)置去霧的工作模式為全雙工方式,設(shè)置去霧的工作電平為低電平有效,根據(jù)獲取的參數(shù)temp=1選擇去霧模式2并對相關(guān)的寄存器進行設(shè)置。
采用實際硬件平臺,完成相關(guān)去霧處理方法的實驗測試。實驗測試采用實際采集圖像和相關(guān)公開測試圖像進行測試對比,圖像去霧效果對比如圖4和圖5所示。圖4(a)、(b)表示含霧等級1去霧效果圖,圖4(c)、(d)表示含霧等級2去霧效果圖。從含霧等級1結(jié)果看,由于含霧量一般,區(qū)域透射率保持不變,而含霧等級2其含霧量較大,區(qū)域透射率需要進行調(diào)整,兩種等級去霧后的圖像都接近于自然。
圖4 去霧前和去霧后處理效果對比圖
為了更加客觀地比較含霧等級去霧處理的效果,選擇典型文獻[2-4]去霧方法進行比較,并利用TenenGrad函數(shù)、方差函數(shù)、平均梯度梯度函數(shù)等3種清晰度評價函數(shù)[15]來評價去霧效果,并對得到函數(shù)值做歸一化處理,結(jié)果如表1所示。由圖5測試結(jié)果可見,根據(jù)含霧等級對透射率進行進行分析和加權(quán)調(diào)整,相對于文獻[2-4]具有良好的的適應(yīng)性。K.M.He等算法[2]對于大部分圖像具有良好的去霧效果,所提暗通道先驗方法存在對大氣光近似目標場景估計不足等問題,缺乏層次感,去霧圖像整體亮度偏暗并存在失真情況,圖5(b)第二幅圖像左上角還會出現(xiàn)不均勻色塊情況;Berman等[3]算法整體亮度和色彩對比度上有所提升,但是某些圖像的邊緣出現(xiàn)偽輪廓,如圖5(c)第一幅圖像遠處的模糊場景并沒有清晰恢復(fù);F.Meng等[4]算法對于弱光照區(qū)域會出現(xiàn)對比度和亮度偏低的情況,如圖5(d)第三幅圖像所示天空區(qū)域圖像信息丟失并出現(xiàn)色塊。由表1可見,本文算法絕大多數(shù)情況下各項評價指標是最優(yōu)的,D.Berman等[3]和F.Meng等[4]算法分別在圖5(c)第二幅圖和圖5(d)第一幅圖TenenGrad函數(shù)指標客觀評價要優(yōu)于本文方法,但本文方法在保持去霧優(yōu)良效果的同時還保持較快處理速度,進一步增強算法的實用性。
圖5 文獻方法和本文方法去霧前和去霧后處理效果對比圖
本文提出一種無人機機載圖像去霧處理系統(tǒng)設(shè)計。系統(tǒng)可根據(jù)機載含霧圖像等級進行去霧圖像參數(shù)化分析,完成相關(guān)圖像壓縮、遙控遙測指令接收和發(fā)送、機載實時去霧
表1 去霧性能客觀評價結(jié)果
等處理工作,滿足機載視頻圖像去霧系統(tǒng)實時性處理需要。實驗測試結(jié)果表明,該系統(tǒng)滿足無人機機載視頻去霧處理的需求,可有效降低圖像去霧處理復(fù)雜度,具有功耗小、易實現(xiàn)和適應(yīng)性強等特點,滿足無人機機載圖像實時性去霧處理要求。