王巧月,陳樹越
常州大學 信息科學與工程學院,江蘇 常州213164
近年來,隨著環境的逐步惡化,霧霾現象變得更加嚴重,大霧天氣的出現越來越頻繁。霧霾和霧現象的形成是由于懸浮在大氣中的小顆粒引起可見度降低,這些小顆粒會造成光的散射,從而導致獲得的圖像或視頻的對比度和顏色質量下降[1],限制場景中遠區域的可見性,因此也阻礙了計算機視覺系統的性能。交通監控系統是城市交通系統的重要組成部分,交通監控的車牌識別環節在交通問題處理上起到至關重要的作用,如肇事車輛偵查、交通違規違法行為定責。受大霧天氣影響,交通監控拍下的模糊圖像無法獲得有用的車牌信息,從而導致車牌識別率大大降低,甚至無法正常工作。
霧隨著成像場景深度的增加而增加,由于二維圖像中缺乏深度信息,所以早期的去霧方法依賴于外部信息[2],但是通常情況下外部信息不可用,從而限制了方法的實用性。對此,單圖像去霧方法應運而生,單圖像去霧方法不需要外部信息,根據圖像霧度與深度有關,霧圖的清晰度是空間變化的[3],因此得出霧圖形成的物理模型,但是物理模型中還是需要深度信息,所以大多數現有的單圖像去霧方法需要施加先驗信息。如He 等人[4]提出的暗通道先驗(DCP)、Tan[5]提出的對比度先驗和顏色衰減先驗[6]。利用圖像增強技術的圖像去霧方法不依賴于物理模型,比較常用的圖像增強去霧方法包括直方圖均衡化法、同態濾波法、小波變換法、曲波變換法和Retinex 算法[7]。以上是基于物理模型和非物理模型的一些傳統去霧方法,此外還有近來比較流行的基于深度學習的圖像去霧方法。基于學習的去霧方法不是直接估計透射傳輸圖,而是通過給定的機器學習模型,從已知的模糊霧圖和其對應的清晰無霧圖數據集中學習將圖像鏈接到合理的傳輸圖的映射。可以從簡單的線性技術到卷積神經網絡[8-10],學習到霧圖與其傳輸圖的映射關系。其中數據集的獲取是一大難題,一般需要已知真實的場景深度信息[11]。并且由于需要多個輸入圖像和較差的計算速度,實時應用的可行性受到限制[12]。為解決大霧天氣下車牌識別困難,很多研究將圖像去霧算法加入車牌識別過程中。多數為單純改進去霧算法,或者改進車牌識別算法。如將改進的Retinex算法應用于車牌識別中[13],在車牌識別中使用全局直方圖處理和Retinex 算法相結合的去霧方法,或者應用于車牌檢測的改進暗通道去霧方法[14],這些方法本質上只是改進的去霧算法在實際應用中的一例,并不是針對霧天車牌特點的特定去霧算法。
本文根據車牌的文本特征、配色簡單的特點,給出了一種車牌圖像色彩遷移和正則化約束去霧算法。設定清晰的車牌圖像為目標圖像,利用色彩遷移的方法恢復霧天車牌圖像的色彩信息,實現去霧。為了更好地提高車牌識別率,除了恢復霧圖的色彩信息,還需處理關鍵的字跡信息,所以依據車牌文字特征,利用文本像素的強度特征和梯度特征作為先驗知識,對車牌圖像進行正則化約束,在去除影響字符識別結果的干擾噪聲時更好地保留車牌文字的邊緣細節,有效提高車牌識別效果。
針對霧天環境下拍攝到的車牌圖像,車牌顏色變質、字跡模糊導致車牌識別困難這一問題,給出了一種車牌圖像色彩遷移和正則化約束去霧算法。算法主要由色彩遷移去霧和文本修復兩部分組成。色彩遷移去霧部分采用MKL 色彩遷移算法[15],改變最少顏色數量有效將清晰車牌的顏色信息遷移至霧天模糊的車牌,恢復霧天車牌顏色信息,達到去霧效果。文本修復部分主要利用文本像素的強度特征和梯度特征作為先驗知識,對車牌圖像進行正則化約束,去除圖像噪聲,增強文本邊緣和圖像對比度,使圖像更有利于車牌的識別。該去霧算法首先對霧天的車牌圖像進行去霧處理恢復顏色信息,然后進行車牌圖像文本的修復,算法總體示意圖如圖1所示。

圖1 算法總體示意圖
霧天拍攝到的圖像變得模糊,圖像整體偏白,且隨著場景深度的增加而更加模糊,甚至會徹底丟失原始圖像信息,為此需要進行圖像去霧處理,恢復圖像信息。霧天拍攝到的車牌圖像,車牌底色及車牌號碼顏色變得異常,導致識別困難,因此想到對車牌圖像進行調色,使之顏色與清晰的車牌圖像顏色一致,從而實現去霧的效果。所以該算法采用色彩遷移變換的方法實現車牌去霧恢復色彩信息。
色彩遷移方法有基于示例圖像的顏色統計信息匹配的線性變換方式,結合圖像紋理和顏色的圖像表觀遷移[16],以及基于CNN的漸進式復雜照明圖像外觀傳遞[17]。該方法可有效實現參考圖像到源圖像的色彩遷移。針對霧圖車牌圖像的調色,這里采用F.Piti′e 等提出的Monge-Kantorovitch 線性變換(MKL)實現目標圖像到原始圖像色彩的遷移變換。該方法通過統計圖像色彩信息得出原始圖像到目標圖像的線性映射關系,改變最少顏色數量實現色彩的遷移。由于處理的車牌圖像色彩搭配簡單且目標圖像特征明確,所以采用該方法即可快速且有效地實現車牌色彩的恢復,達到去霧效果同時保證其處理速度。
彩色圖像可以用該圖像的RGB 顏色樣本集(R(i),G(i),B(i))表示圖像的顏色統計信息。u表示霧天模糊車牌圖像,v表示清晰的車牌圖像即目標圖像,原始圖像與目標圖像的調色板對應于各自的概率密度分布f和g。色彩的遷移工作就是找到合適的映射,使得原始圖像u映射后的新圖像t(u)的分布與目標圖像的分布g匹配。整個映射過程中傳遞函數t需滿足式(1):

其中,T為一N×N的3 維矩陣,μu和μv表示霧天模糊車牌圖像u和清晰的目標車牌圖像v的均值,Σu和Σv表示u和v的協方差矩陣。若想得出映射傳遞函數,主要任務就是求解矩陣T。令A、B分別表示u和v的協方差的平方根矩陣,Σu=AAT,Σv=BBT,則矩陣T的推導計算過程如下:

由式(4)可得TA=B,即T=BA-1。協方差矩陣的平方根求解方法較多,較為流行的方法是平方根分解法(SRD),將協方差矩陣分解為對稱正定矩陣,具體分解公式為:


其中,f為u的概率密度函數,I(t)是關于傳輸函數t的變換位移最小化目標函數。該目標函數的求解方法被稱為Monge-Kantorovitch(MK)解決方案[18],利用該解決方案得出矩陣T為:

基于MK 解決方案求解的映射函數方法稱為MKL變換,基于MKL 的色彩遷移變換處理霧天模糊的車牌圖像處理結果如圖2所示。

圖2 車牌圖像色彩遷移去霧效果圖
圖2 中第一排為模擬的不同程度霧情況下的車牌圖像塊,隨著霧的增大,圖像變得模糊,色彩變質,字跡不清晰。第二排是與第一排對應的,利用MKL 色彩遷移方法,以清晰圖像為目標圖像的色彩遷移后圖像。從圖中可以看出對于不同霧圖,該方法可以有效恢復圖像色彩信息,達到去霧效果。但當圖像霧度特別大時,處理后的圖像字跡邊緣不清晰,所以需要進一步處理來修復文本信息。
色彩遷移后的車牌圖像包含較多噪聲,且圖像中文本邊緣不清晰,針對此問題,設計車牌圖像文本修復算法,采用文本像素的強度特征和梯度特征作為先驗知識,構建車牌圖像重建模型,有效平滑圖像,保留文本邊緣信息。
待修復車牌圖像I(x)可以理解為由包含大部分信息的基礎層S(x)和細節層D(x)組成,如式(9)所示,保留基礎層去除包含細小紋理及噪聲的細節層可達到平滑圖像和去噪的效果。為求解基礎層,需要構建式(10)所示代價函數:

其中,x表示像素點,由于需要得到的基礎層圖像S(x)需要保留重要的文本邊緣信息,所以需要加入正則化約束項,構建下列正則化模型:

其中,λ為權重參數,ρT(S(x))為該模型的文本特征先驗知識。
圖像的梯度內容反映圖像的邊緣變化情況,在車牌圖像中主要的邊緣信息就是車牌字跡的邊緣,所以車牌圖像的梯度內容可以表示車牌文字的變化。利用已知的清晰文本圖像的特征作為車牌圖像恢復的先驗知識,可以使得恢復后的圖像擁有較好的文本邊緣信息。分析文本圖像的強度特征和梯度特征發現,清晰的文本圖像的像素強度分布比較均勻,且在0 值處為峰值,而模糊的文本圖像的像素強度分布不均勻,且幾乎沒有像素強度為0,所以可以將圖像非零像素值作為先驗知識之一,L0范數表示非0元素數量,所以定義:

ρ(x)表示圖像x的非零值數量,以此為像素強度標準,作為文本圖像強度先驗。模糊文本圖像的梯度非零值比清晰文本圖像的梯度非零值更加集中,所以可定義ρ(?x)作為文本圖像梯度先驗。結合文本圖像的強度和梯度先驗知識,可得恢復清晰車牌基礎層的先驗約束項ρT(S(x))如下:

其中,σ表示權重。則式(11)變為:

基于半二次分裂方法求解上式,引入中間變量u和g=(gh,gv)T代替S(x)和?S(x),則式(14)的最小化問題可變為:

上式可分解為如下3個子問題求解:

式(16)為最小二乘問題,求解得:

其中,F(?)和F-1(?)分別表示快速傅里葉變換和快速傅里葉逆變換,表示共軛矩陣,?h和?v分別表示水平和垂直方向微分。當已知S(x)時,式(17)和式(18)可求解得:

色彩遷移后的車牌圖像,經過上述車牌圖像文本修復算法處理后的效果如圖3所示。
圖3中展示了算法各部分處理效果圖,從圖中可以發現經過文字修復算法處理后的圖像,有效解決了色彩遷移后的圖像噪聲大、文本邊緣不清晰的問題,使得恢復的霧圖更加接近原始清晰圖像。

圖3 去霧效果圖
實驗從主觀和客觀兩方面來分析評價算法,以證明算法的有效性。主觀上觀察車牌圖像去霧效果,客觀上評價其對車牌識別的提升效果。實驗數據由通過加霧處理模擬合成的霧天車牌圖像和實際拍攝的霧天車牌圖像組成。車牌霧圖共1 100張,其中合成的霧圖600張,清晰的交通監控拍下的車牌圖像數據由OpenITS提供,選取其中600張車牌圖像,利用霧圖成像原理公式合成三組不同霧度的霧圖各200 張,設置透射率為0.6 時合成第一組薄霧車牌霧圖,透射率為0.4 時合成第二組中等霧車牌霧圖,透射率為0.2 時合成第三組濃霧車牌霧圖。實際拍攝的自然霧圖500 張,根據霧圖特征,霧越大霧圖越模糊且越亮,所以利用圖像亮度與對比度的差值決定霧圖霧度。首先根據實驗設定清晰圖像與霧圖亮度與對比度差值范圍作為判定是否有霧的閾值范圍,經過實驗統計設定閾值范圍為0.4~0.8;然后計算出圖像中每個像素點亮度與對比度的差值,若該像素點差值在閾值范圍內則判定該像素點為霧點;最后統計出圖像中霧點所占比例,即為圖像霧密度,以此作為圖像分組依據。圖像共450 張,被分成3 組;第一組圖像霧度較輕,霧密度為10%~40%,共100 張;第二組圖像霧度中等,霧密度為40%~70%,共150 張;第三組圖像霧度較大,霧密度大于70%,共250張。
設計算法的主要目的是恢復車牌色彩信息和文本邊緣信息,使其更有利于車牌的識別。由于算法處理對象和目標的特殊性,缺少同類只針對車牌的去霧算法用來比較分析,所以利用幾種主流的圖像去霧算法,還有一些涉及到車牌或應用與車牌檢測的去霧算法,對同樣的霧天車牌圖像進行去霧處理,比較去霧效果從而分析算法性能。用于對比的去霧算法包括一種應用于車牌檢測的改進暗原色去霧算法(改進DCP)、顏色衰減先驗算法(Color Attenuation Prior,CAP)、基于Retinex 的汽車牌照圖像去霧算法(改進Retinex)、基于邊界約束和上下文正則化去霧算法(Boundary Constraint and Contextual Regularization,BCCR)[19]和一種基于深度學習的端到端的去霧算法(DehazeNet,DNet)。針對加霧處理的合成的薄霧、中等霧、濃霧三組不同霧度的車牌圖像,各方法去霧結果如圖4所示。

圖4 合成車牌霧圖及各算法去霧效果圖
根據圖4所示的效果圖可以看出,針對薄霧情況下的車牌圖像,各算法都有一定的去霧效果,其中改進DCP和本文去霧效果良好;針對中等霧和濃霧情況下的車牌圖像,大多算法去霧效果較差,BCCR 去霧后字跡變得明顯但背景顏色失真整體對比度下降。總體而言本文算法去霧圖恢復的信息最為完整,車牌文本清晰飽滿,圖像背景干凈無噪聲,更有利于后期車牌識別中的字符分割和識別。針對薄霧、中等霧、濃霧三組不同霧濃度的自然車牌霧圖,各算法去霧效果如圖5所示。

圖5 自然車牌霧圖及各算法去霧效果圖
如圖5 所示,CAP 和DNet 去霧算法對于自然車牌霧圖的去霧效果較差,霧圖幾乎無明顯變化,改進DCP去霧算法針對薄霧情況有一定的去霧效果,但對于中等霧和濃霧情況,車牌去霧效果變差。相比較而言,本文算法的車牌去霧效果明顯,且去霧后的車牌圖像清晰,前景的文本與背景對比度明顯,突出重要的文本信息。
車牌圖像色彩遷移和正則化約束去霧算法的處理對象是有霧的車牌圖像,對車牌圖像進行去霧的根本目的在于提高車牌的識別率,所以為了檢測算法的有效性,比較有霧車牌圖像去霧前和去霧后的車牌識別率,觀察算法對車牌識別率的影響。采用較為常用的車牌識別系統EasyPR[20]進行車牌的識別,比較不同去霧算法處理后的車牌識別率變化,從而評價車牌去霧算法性能。對于車牌識別效率的評價,設置0字符錯誤率(0-error),1字符錯誤率(1-error)和中文字符準確率(Chinese-precision)為評價指標,這些指標值越大表明識別效果越好,其中0字符錯誤即表示車牌字符全部正確識別。針對合成的車牌霧圖,薄霧、中等霧和濃霧三組霧圖及不同算法去霧后的車牌識別結果如表1所示。
從表1 中的識別結果可以看出,BCCR 算法去霧后的車牌圖像對比度降低,車牌識別結果各項指標反而下降,不能達到提高車牌識別率的目的。對于薄霧和中等霧情況下的車牌圖像,除了BCCR和MSR算法,其他去霧算法處理后的各項指標都有所提高,其中本文算法的各項指標最好;對于濃霧情況下的車牌,大部分算法去霧后的各項指標都有所下降,CAP算法去霧后的0-error提升效果很小,且1-error和Chinese-precision也有輕微下降,一直表現良好的改進DCP 算法的各項指標提升效果也有所降低。總體比較而言,改進DCP 和本文算法提升效果較為明顯,本文算法在不同霧度情況下對于車牌識別率的提升效果更為穩定。針對自然車牌霧圖,不同霧度下原始霧圖及各算法去霧后的車牌識別結果如表2所示。
受拍攝環境、距離及亮度等因素的影響,拍攝的自然霧圖要比合成的車牌霧圖復雜許多,所以對于自然霧圖的處理更加考驗算法的性能。從表2 中可以看出除本文算法以外的大部分去霧算法對于自然車牌霧圖識別率的提升效果大不如合成霧圖,尤其是在濃霧情況下,所以較難滿足復雜自然情況下的去霧需求。比較去霧算法對車牌識別率的影響可以看出變化趨勢和表1大體一致,對于薄霧情況下較為有效,霧度較大時提升效果較差,而本文算法表現較好,尤其是1 字符錯誤率(1-error)和中文字符準確率(Chinese-precision)提高至80%左右,相比較原始霧圖提升幅度較大。

表1 合成車牌霧圖及去霧后車牌識別結果 %

表2 自然車牌霧圖及去霧后車牌識別結果 %
車牌識別的0 字符錯誤率更能代表車牌識別率的好壞,所以以0 字符錯誤率為主要指標來進一步分析,繪制合成車牌霧圖及自然車牌霧圖在不同霧度情況下各算法去霧后車牌圖像的車牌識別0 字符錯誤率曲線圖如圖6所示。
從圖6可以看出,算法去霧后的識別率較去霧前有不同程度的提高,不同霧度下識別率的變化趨勢較為一致,霧度越大識別率越低。但對于合成車牌霧圖本文算法去霧后的車牌識別率一直維持在較高水平,且對于自然車牌霧圖本文算法去霧后的車牌識別率提升幅度較大。從圖中可知,不管是合成車牌霧圖還是自然車牌霧圖,本文算法去霧后的車牌圖像識別率都表現良好,相比較原始霧圖車牌識別率提升效果明顯。各算法對于車牌識別0字符錯誤率的提升結果如表3、表4所示。

圖6 車牌霧圖及去霧后識別0-error曲線圖
從表3、表4中可以看出,BCCR算法和改進Retinex算法并沒有達到提高車牌識別率的效果,反而降低了識別率。除此之外,對于薄霧車牌圖像,各算法都有一定的提升效果,但是對于中等霧和濃霧的車牌圖像,車牌識別率的提升效果明顯減弱,尤其對與濃霧車牌圖像提升效果較差。相比之下,本文算法在不同霧度下都有較好的提升效果,對于濃霧車牌圖像的識別率提升效果尤為明顯。對于不同霧度下的合成車牌霧圖,本文算法去霧后的車牌識別0 字符錯誤率相對于去霧前平均提高122.79%,對于自然車牌霧圖,提高了208.57%。充分說明了算法對霧天車牌識別率的提升效果有效性和穩定性。

表3 合成車牌霧圖識別0-error提升結果 %

表4 自然車牌霧圖識別0-error提升結果 %
當霧度極高時,原始車牌圖像的字跡與背景的區分非常弱,從而導致無法準確將對應的字跡顏色和背景顏色正確遷移,進而使得下一步文本修復部分的參數不適導致圖像失真。但這種情況極少出現,總體而言,本文算法可以較大程度地滿足去霧需求,提高車牌識別率。
根據車牌圖像配色簡單及其文本特征,給出了包含恢復色彩信息和文本修復兩個部分的一種車牌圖像色彩遷移和正則化約束去霧算法,有效提高霧天車牌識別率。首先利用MKL 色彩遷移的方法,能夠有效快速地恢復霧天車牌圖像的色彩信息;利用文本像素的強度特征和梯度特征作為先驗知識,對車牌圖像進行正則化約束,更好地去除無用噪聲、保留車牌文字邊緣細節,從而更加有效地提高車牌識別效果。通過主客觀分析評價算法對于合成的車牌霧圖和自然的車牌霧圖在薄霧、中等霧及濃霧情況下的去霧效果及去霧后車牌識別效果,結果表明算法去霧效果明顯且適應不同霧度環境,去霧后的車牌圖像車牌識別率明顯提高且較為穩定。