劉 峰,王信佳,于 波,徐福龍
(中國科學(xué)院大學(xué),北京 100049)
(中國科學(xué)院 沈陽計算技術(shù)研究所,沈陽 110168)
隨著手持式攝像設(shè)備、無人機(jī)、定點監(jiān)控攝像設(shè)備等的廣泛應(yīng)用,低亮度視頻的圖像質(zhì)量問題也日益突出.我們在圖像采集的過程中,往往由于照明和天氣的條件不佳,導(dǎo)致采集到的圖像出現(xiàn)曝光不足、對比度低、圖像整體偏暗等現(xiàn)象,導(dǎo)致獲取的視頻大多無法直接進(jìn)行分析和使用,需要后期大量的調(diào)試.因此,有效的低照度視頻質(zhì)量增強算法在現(xiàn)實應(yīng)用中很有意義,特別是視頻會議、監(jiān)控識別、醫(yī)學(xué)成像分析領(lǐng)域有著重要的作用.
現(xiàn)階段已經(jīng)有了許多低照度圖像增強的算法,比如直方圖均衡化、伽馬變換、時空遞歸濾波器等等.Guo[1]提出了LIME 算法來增強低照度圖像.該算法將找到的每個像素光照度在R、G、B 三通道中的最大值估計作為初始照明圖的照度映射,得到初始照度圖,從而通過光照圖來實現(xiàn)相應(yīng)的增強,但是處理之后噪點過多;程芳瑾等人[2]通過改進(jìn)Retinex 算法來增強低照度視頻.該算法在處理像素顏色時,將其看成一個由R、G、B 分量組成的矢量,再通過用彩色矢量之間的夾角余弦值來描述顏色之間的區(qū)別,最終通過夾角余弦值對MSR 結(jié)果進(jìn)行調(diào)整,但實際計算速度較慢,并且有一些矢量相近顏色會出現(xiàn)干擾的情況.Dong 等人[3]提出了基于暗原色先驗的低照度圖像增強算法.同時利用了后續(xù)幀間的時間相關(guān)性來加速計算.該算法在圖像對比度方面有顯著的效果,但是在去霧處理中無法對圖像進(jìn)行去噪,而且在快速去霧過程中,降低了圖像的保真度.在Dong 等人[3]的基礎(chǔ)上,有許多人對其進(jìn)行了改進(jìn).比如劉洋等人[4]使用時域累積信息對視頻進(jìn)行去噪預(yù)處理.但是該處理方法所使用的時域雙邊濾波在去噪效果上還是不佳,而且時間較慢.黃勇等人[5]使用導(dǎo)向濾波處理透射率,但是在計算速度上還是沒有較大的改善.
本文在暗原色先驗和保邊濾波的基礎(chǔ)上,提出了一種改進(jìn)的,基于暗原色先驗的低照度視頻增強算法,引入快速導(dǎo)向濾波去噪,不但能簡化計算,提高效率,而且快速導(dǎo)向濾波的保邊去噪性能要優(yōu)于雙邊濾波,去噪效率上要優(yōu)于導(dǎo)向濾波.
He 等人[6]通過對大量真實環(huán)境下的照片進(jìn)行分析和比對,發(fā)現(xiàn)在無霧條件下,絕大多數(shù)有效場景區(qū)域,某些像素點總會至少有一個顏色通道具有極低的值,例如游人,建筑,植物的顏色構(gòu)成,都會包含紅色,藍(lán)色,綠色等帶有低通道的色彩.利用這個先驗建立的去霧模型,能夠估算出霧的濃度并且復(fù)原得到高質(zhì)量的去霧干擾的圖像.對于任意的真實圖像J,它的暗原色可以表示為:
式中,Jc代表圖像J的某一個顏色通道,Ω(x)是像素點x的一塊方形鄰域.觀測得知對于非天空清晰無霧的圖像,Jdark的強度總是很低且趨近于0,故稱Jdark為J的暗原色.
Dong 等人[3]在He 等人[6]工作的基礎(chǔ)上,發(fā)現(xiàn)低照度圖像在求反之后,圖像表征及直方圖表征與去霧之前的圖像具有很高的相似度.并且求反后的圖像,背景區(qū)域的像素至少在一個通道內(nèi)強度很低.這說明該理論同樣適用于低照度的圖像.
導(dǎo)向濾波[7]是一種保邊濾波.它在計算上的時間復(fù)雜度是O(N),即與當(dāng)前圖像像素點個數(shù)N成線性關(guān)系,與濾波器大小無關(guān)[8].導(dǎo)向濾波還能夠有效地抑制梯度翻轉(zhuǎn)的現(xiàn)象.而快速導(dǎo)向濾波[9]在導(dǎo)向濾波的基礎(chǔ)上,進(jìn)一步簡化計算,通過下采樣,將時間復(fù)雜度降低為O(N/s2),其中s為采樣率.該濾波能夠通過引導(dǎo)圖像保留邊緣信息,磨平區(qū)域信息中的噪點,因此能有效改善低照度圖像改進(jìn)算法中噪點過多的問題.
基于1.1 節(jié)的結(jié)論,以Dong 等人[3]的增強算法為基礎(chǔ),并對其進(jìn)行改進(jìn).首先對輸入的低照度視頻進(jìn)行逐幀求反,再對每一幀進(jìn)行去霧處理,同時利用快速導(dǎo)向濾波對大氣光透射圖進(jìn)行優(yōu)化,最后對結(jié)果再次求反,獲得增強后的視頻.整體步驟如圖1所示.
圖1 本文算法流程圖
對一副低照度圖像,首先對其進(jìn)行取反的操作:
其中,c是彩色通道,Ic(x)是輸入圖像中像素點x在當(dāng)前通道的值,Rc(x)是取反之后圖像中像素點x在當(dāng)前通道的值.霧天圖像模型一般可以這樣建模:
其中,J為無霧狀態(tài)下的圖像,R為霧天情況下的圖像,t(x)是折射率,也就是指無霧圖像中的亮度被拍攝設(shè)備獲取得到的比例,A指大氣光成分.此時,J(x)t(x)是直接衰減項,A(1-t(x))描述為大氣光的補償部分.將式(3)變形,得:
求出t(x)即可由R(x)反推得J(x).
在去霧算法中,折射率t被定義為如下形式:
使用保霧參數(shù)ω,取ω為0.95,來使恢復(fù)的圖像看起來更為自然.取Ω(x)局部方形塊的大小為3×3,在此大小下,有較快的計算速率,且在圖像精細(xì)化上也足夠達(dá)到我們的要求.大氣光成分A會隨著拍攝時天氣環(huán)境而發(fā)生變化,但在單獨的畫面上,它被認(rèn)為是一個常量.估計大氣光值時,采用暗原色輔助計算,可使結(jié)果更貼近真實.選取暗原色中最亮的0.1%像素作為備選像素集合,且對集合內(nèi)像素的強度進(jìn)行排序,取強度最大的像素點為大氣光的估計值.
式(4)中的t是一個非常粗略的估計,如果直接使用,在邊緣處會有塊效應(yīng),無法清晰描述圖像內(nèi)部色塊的邊緣信息.He 等人[6]使用soft matting 來改善t,但是在時間效率上非常低,無法滿足視頻傳輸?shù)膶崟r性.黃勇等人[5]使用導(dǎo)向濾波處理透射率,但是在計算速度上還是沒有較大的改善.本文采用快速導(dǎo)向濾波代替soft matting,利用求反后的圖像R的灰度圖對透射率t進(jìn)行快速導(dǎo)向濾波,從而解決邊緣信息保真度和時間復(fù)雜度的問題.
眾所周知,噪聲和邊緣最大的區(qū)別,是噪聲區(qū)域周圍的像素梯度一般較大,并且以噪聲為中心,周圍梯度變化基本相似.而邊緣則出現(xiàn)了梯度的階躍,并且像素梯度變化最大的方向在邊緣的法線方向,從法線方向到邊緣的切線方向,梯度變化幅度遞減.一般的濾波無法區(qū)分噪聲和邊緣,因此只能用處理噪聲的方式來處理邊緣信息,導(dǎo)致邊緣被模糊.
而快速導(dǎo)向濾波[9]針對的是邊緣細(xì)節(jié)信息.該濾波在輸入時,不僅需要輸入待處理圖像P,還需要輸入引導(dǎo)圖像I.而輸出圖像q是P和I共同作用的產(chǎn)物.
濾波器公式為:
引導(dǎo)圖像I確定加權(quán)平均運算中所采用的權(quán)值.
假設(shè)導(dǎo)向濾波器在導(dǎo)向圖I和輸出圖像q之間在一個二維窗口內(nèi)是一個局部線性模型:為了讓引導(dǎo)圖像提供的信息在邊緣判定上效果較好,只有當(dāng)引導(dǎo)圖像與輸出圖像q存在線性關(guān)系時,才認(rèn)為有效.即:
a和b是當(dāng)窗口中心位于k時該線性函數(shù)的系數(shù).
一般認(rèn)為輸出圖像q是由輸入圖像p去掉了噪聲干擾n所得的.也就是有公式:
通過上述三個公式,解出n最小時的a和b.此時使用最小二乘法進(jìn)行計算.
為了使得結(jié)果更加符合實際,使用嶺回歸進(jìn)行優(yōu)化計算,引入正則項:
求得:
但這樣使得計算的時間復(fù)雜度較高.快速導(dǎo)向濾波和普通導(dǎo)向濾波的區(qū)別,就是快速導(dǎo)向濾波對輸入圖像和引導(dǎo)圖像進(jìn)行了下采樣預(yù)處理.由于輸入圖p和導(dǎo)向圖I都是透射圖,本身就對清晰度的要求不高,因此在處理之前,先對p和I進(jìn)行雙線性插值下采樣,采樣時縮小到原圖的1/4,那么對應(yīng)濾波器的窗口半徑r’=r/4,最終在對獲得的和矩陣進(jìn)行上采樣,恢復(fù)到原大小,并計算出q.這樣的處理,使計算量大大減少.雖然在下采樣和上采樣時會有一定額外的計算,但是總體還是能夠減少大量的時間.
至此,通過快速導(dǎo)向濾波求得新透視圖t,帶入到式(4)中,求出J(x),再對J(x)進(jìn)行翻轉(zhuǎn),就可以得到增強后的圖像.
為了有效的驗證本算法性能,對低照度圖像做了以下3 組對照實驗,選取的對照組為Dong 算法和普通導(dǎo)向濾波的增強算法.分別從亮度通道直方圖,亮度均值,時間來客觀衡量各算法的性能,對3 種算法的增強能力進(jìn)行比較與分析.選取的3 張圖片具體參數(shù)如下:
表1 圖片具體參數(shù)
以下是圖片結(jié)果,從左上到右下分別為:原圖,文獻(xiàn)[3]算法,導(dǎo)向濾波算法,本文算法.
圖2 A 圖的處理結(jié)果
圖3 YCbCr 色彩空間下各圖亮度直方圖
從主觀上分析:文獻(xiàn)[3]算法在3 張圖片上對于非暗區(qū)域的亮度和對比度提升都相當(dāng)明顯.但是由于該算法未對折射率圖t進(jìn)行處理,也沒有去噪,所以整體噪點較多,且無法較好處理暗區(qū)域.圖A 中,車、燈、路面雖然都有明顯提升,但是左邊地面區(qū)域噪點非常嚴(yán)重.同時,由于對比度提升過大,導(dǎo)致顏色也嚴(yán)重失真.圖B 中,文獻(xiàn)[3]算法效果尚可,但是噪點依然明顯.不管是地面還是車廂,都可看到明顯的失真情況.圖C 同理,雖然車、樓和雪都被較好地提亮了,但是樓道燈光和雪堆都出現(xiàn)了失真的情況.導(dǎo)向濾波和本文快速導(dǎo)向濾波均為對文獻(xiàn)[3]算法的改進(jìn),故放在一起進(jìn)行對比.圖A 中,我們看到,雖然快速導(dǎo)向濾波進(jìn)行了下采樣和還原,但是并沒有丟失太多信息,整體效果與導(dǎo)向濾波相比,除了左邊地面略有失真之外基本沒有差別,而時間縮短了50%以上.圖B 同理,本文算法在車廂、路燈、樹木、天空和路面上均沒有明顯噪點,在左邊空調(diào)上方的提亮效果甚至優(yōu)于導(dǎo)向濾波.圖C 上兩種算法效果差異較大,導(dǎo)向濾波處理的圖片整體較亮,但是由于圖片清晰度的原因,反而將圖中車輛前地面的原圖自帶噪點體現(xiàn)得更加明顯.而本文算法雖然亮度不如導(dǎo)向濾波算法,但是車輛前地面并無太大瑕疵.
圖4 B 圖的處理結(jié)果
圖5 YCbCr 色彩空間下各圖亮度直方圖
首先分析數(shù)據(jù).從直方圖來看,文獻(xiàn)[3]算法的亮度直方圖整體還是靠左,相對原圖并沒有太大的改善.導(dǎo)向濾波和本文的快速導(dǎo)向濾波在直方圖上差異較小,都對原式直方圖有向右變換的趨勢,說明亮度增強的有效性.從亮度均值來看,不管是圖A,B,還是圖C,導(dǎo)向濾波算法和本文算法都在原有均值上提高了一倍以上.文獻(xiàn)[3]算法在圖A 和圖B 上提升了4 倍,但是在圖C 上提升較小,提升效果不穩(wěn)定.而導(dǎo)向濾波算法和本文算法的發(fā)揮比較穩(wěn)定,基本保持2-3 倍的提升.最后,從時間上看,本文算法優(yōu)于導(dǎo)向濾波算法優(yōu)于文獻(xiàn)[3]算法,且3 種算法均會因為圖片分辨率提升而提升.在分辨率較小的圖A 和圖B 上,本文算法相較導(dǎo)向濾波能保證50%的提升.在圖C 上只提升了41%,原因是圖C 的分辨率較大,在上采樣和下采樣時有較大的花費.綜合實際情況,本文算法已經(jīng)能夠滿足一般視頻拍攝,相較文獻(xiàn)[3]算法和導(dǎo)向濾波算法,從效果和時間效率上都有明顯提升.
表2 各參數(shù)定量分析及對比
綜上,可以看到本文算法不論是從提亮情況、整體效果還是處理時間,相較文獻(xiàn)[3]算法和導(dǎo)向濾波算法,均有明顯提升.
圖6 C 圖的處理結(jié)果
圖7 YCbCr 色彩空間下各圖亮度直方圖
通過本文從現(xiàn)有的暗原色去霧算法為基礎(chǔ)出發(fā),使用快速導(dǎo)向濾波對透視圖進(jìn)行處理,最終能夠從亮度均值,時間效率和主觀感受等方面驗證其有效性,在實際實驗過程中相較文獻(xiàn)[3]算法和基于導(dǎo)向濾波的提升算法有較大改善.未來的工作可考慮如何在上采樣和下采樣還原過程中進(jìn)一步減少計算,使快速導(dǎo)向濾波更快,以滿足分辨率更高的視頻.