實時視頻圖像的清晰度檢測算法研究
實時視頻圖像的質(zhì)量分析已成為眾多應(yīng)用領(lǐng)域性能好壞的關(guān)鍵因素之一,因此實時視頻圖像的清晰度檢測變得尤為重要。目前針對實時視頻圖像清晰度檢測的研究較少,圖像清晰度檢測算法的研究對象主要針對靜止的圖像。現(xiàn)有的圖像清晰度檢測算法大致分為空域和頻域兩類。在空域中多采用基于梯度的算法,如拉普拉斯(Laplace)算法、差分平方和(SPSMD)算法、Sobel算子等。此類算法計算簡潔、快速、抗噪性能好、可靠性較高。在頻域中多采用圖像的FFT變換(或其他變換),如功率譜(Power-spectra)算法等[1-2]。此類算法的檢測效果好,但計算復(fù)雜度高、計算時間長,不適合應(yīng)用在基于軟件實現(xiàn)的實時檢測系統(tǒng)中。
當前對實時視頻圖像的一種重要應(yīng)用是對運動目標的檢測,常用的目標檢測方法有幀差法、背景減法、光流法及運動能量法[3],其中最簡單而又快捷的方法是背景差法。其基本思想是通過對輸入圖像與背景圖像進行比較來分割運動目標,關(guān)鍵環(huán)節(jié)是背景圖像的提取。目前常用的背景提取方法有多幀圖像平均法、灰度統(tǒng)計法、中值濾波法、基于幀差的選擇方法、單高斯建模等。參考文獻[4]中對以上算法做了充分的研究。
本文是針對實時視頻圖像的清晰度檢測,基于實時視頻圖像背景基本保持不變的環(huán)境。通過比較上述算法,針對實時視頻圖像的特點,提出一種基于背景提取與Sobel算子相結(jié)合的實時視頻圖像的清晰度檢測算法。
1 實時視頻圖像的清晰度檢測算法原理
當視頻播放畫面超過24幀/s時,根據(jù)視覺暫留原理,人眼無法辨別每幅單獨的靜態(tài)畫面,看上去是平滑連續(xù)的視覺效果。視頻中的事物通常分為靜止和運動兩類,連續(xù)多幀畫面中保持靜止的物體可視為靜止的背景,連續(xù)多幀畫面中位置變化的物體可視為運動的前景。因此,實時視頻圖像中的每幀圖像都可以劃分為靜止的背景和運動的前景兩類區(qū)域。由于視頻序列圖像中運動的前景區(qū)域隨機變化,引起圖像像素點梯度值的隨機改變,使得實時視頻圖像的清晰度檢測較難實現(xiàn)。因此,本文的算法是利用實時視頻圖像中靜止的背景區(qū)域檢測視頻序列圖像的清晰度,即由背景提取和清晰度檢測兩部分組成。
1.1 實時視頻圖像的背景提取
由參考文獻[5]可知,視頻序列中幀圖像的靜止背景區(qū)域由灰度值變化較小的像素點構(gòu)成,每個像素點都有一個對應(yīng)的像素值,這個值在一段時間內(nèi)保持不變;運動的前景區(qū)域由灰度值變化較大的像素點構(gòu)成,各像素點在不同的幀圖像中的位置改變,形成運動軌跡。背景提取的目標就是根據(jù)實時視頻圖像中像素值的上述特點,找出圖像中背景像素點的值。采用多幀圖像累加平均的方法來獲取圖像的背景,從統(tǒng)計學(xué)角度,運動物體可視為隨機噪聲,而均值可以降噪,采用多幀圖像累加取均值可消除運動物體,獲得靜止的背景圖片。背景圖像的計算公式為:
式中,f(x,y)為圖像灰度,gx和gy可以用卷積模板來實現(xiàn),如圖1所示。
傳統(tǒng)的邊緣檢測中,Sobel算子利用如圖1的水平和垂直兩個方向的模板,但實際情況中的梯度方向是未知的,因此利用兩個方向計算出來的結(jié)果存在一定的誤差。為了提高梯度計算精度,將模板的數(shù)量增加到4個,如圖2所示,即0°、45°、90°、135° 4個方向。雖然繼續(xù)增加模板的數(shù)量可以進一步提高計算精度,但考慮到計算效率,模板數(shù)量不宜過多。
2 算法描述
本算法大致分為三步:
(1)截取一段實時視頻圖像,獲取初始背景圖像。
(2)利用當前實時視頻圖像更新初始背景,獲得待檢測的背景圖像。
(3)根據(jù)Sobel算子計算背景圖像的邊緣梯度值之和,根據(jù)閾值判斷背景圖像的清晰度,得到實時視頻圖像的清晰度評價值。
算法描述如下:
從實時視頻圖像中截取一段時長為1 min的視頻圖像,每5 s進行1次采樣,共得到12幀圖像。為減少計算量,將采樣得到的12幀圖像由RGB空間轉(zhuǎn)換到灰度空間。對圖像中每個像素點的灰度值f(x,y)累加求平均,得到實時視頻圖像的初始背景圖像。計算公式為:
式中,n為邊緣點的個數(shù)。將value與清晰的實時視頻圖像背景的清晰度檢測范圍值(經(jīng)大量的實時視頻圖像實驗得到)比較,若value∈T(α1,α2),則實時視頻圖像是清晰的;若valueT(α1,α2),則實時視頻圖像是模糊的。
3 實驗結(jié)果與分析
目前,大部分的攝像系統(tǒng)都是基于RGB顏色空間,每個像素點在RGB空間中是一個三維矢量。為了減少計算量,使用灰度圖像序列,即將彩色視頻序列轉(zhuǎn)換成灰度視頻序列,基于灰度視頻圖像完成提取背景及實時視頻圖像的清晰度檢測。
實驗程序在PC機上運行,編程軟件是Matlab R2007b,采用的是24位RGB視頻序列,30幀/s,每幀圖片的分辨率是320×240。從實時視頻圖像中提取背景圖像后,本文分別采用Sobel算子、平方梯度法和快速檢測法三種算法對圖像的清晰度進行檢測。
實驗拍攝的視頻圖如圖3所示。視頻中杯子為移動的物體,杯子由視野的右側(cè)移動到視野的左側(cè),背景物體基本保持不變。圖3中的圖片1和圖片2分別是從實驗視頻中截取的圖片,杯子的位置不斷改變,圖片3為清晰的實時視頻圖像的背景圖像,其像素梯度值作為判斷視頻序列圖像清晰度的參考閾值,如表1所示。圖3中的圖征4~9分別是從6段不同的實時視頻圖像中提取的背景圖片。6段視頻序列圖像的清晰度逐漸減弱,其背景圖像也越來越模糊?;谏鲜霰尘皥D,本文采用了三種算法:Sobel算子清晰度檢測、平方梯度算法和快速檢測法。其中Sobel算子清晰度檢測如文中所述,平方梯度算法將微分值平方,計算公式為:
式中,圖像大小為M×N,f(x,y)表示(x,y)處的灰度值[6]??焖贆z測法是先求圖像的灰度均值,分別計算灰度值大于和小于圖像灰度均值的像素點的均值H和L,然后利用評價因子F=(H-L)/(H+L)來檢測實時視頻圖像的清晰度。
三種算法對實時視頻圖像的清晰度檢測結(jié)果如表1所示。清晰度評價值經(jīng)過歸一化處理,便于算法準確度性能的比較。由表1可知,Sobel算子清晰度檢測和平方梯度算法的清晰度評價值的變化趨勢與幅度和肉眼觀測到的事實基本相符,視頻序列圖像越模糊,清晰度評價值越小,即實時視頻圖像1、2、3的清晰度評價值在評價范圍內(nèi),實時視頻圖像是清晰的,實時視頻圖像4、5、6的清晰度評價值在評價范圍之外,實時視頻圖像是模糊的。快速檢測算法對清晰度的敏感度低,視頻很模糊時,評價值仍然較大,不能很好地衡量清晰度的變化幅度。表2比較了三種算法的時間性能,可知Sobel算子清晰度檢測算法與快速算法計算時間較為接近,平方梯度算法計算時間最長。綜上所述,平方梯度算法評價效果較好,但實時性較差;快速算子計算速率高,但對模糊的靈敏度低;Sobel算子的評價效果好,實時性也符合系統(tǒng)的要求。
為了對實時視頻圖像的清晰度進行實時檢測,針對實時視頻圖像的特點,本文提出了采用背景提取和Sobel算子相結(jié)合的清晰度檢測算法,該算法在幀圖像清晰度檢測時計算效率高,能夠自動實時地完成實時視頻圖像的清晰度檢測。但目前此算法僅適用于實時視頻圖像中背景基本不變或微小變化的場景。如果背景圖像變化幅度較大,需要調(diào)整判斷視頻清晰度的評價范圍作為新的評價標準,這也是后續(xù)工作的研究重點,以使該算法在更多的場景中應(yīng)用。
評論