郭春鳳,莊展梁,葉文森
(1.福建師范大學福清分校 電子與信息工程學院,福建 福州 350300;2.泉州經濟技術開發區實驗學校,福建 泉州 362000)
近年來,隨著信息技術的迅猛發展,視頻中的前景提取技術被廣泛應用于人類生活和工作的各個領域,例如道路交通監控、三維立體建模、醫學圖像的分析、軍事目標檢測與識別等.而紋理是人類視覺系統中對物體表面的一種感知形式,是一種非常重要的視覺線索,是各種圖像普遍存在又較難描述的特征[1].紋理特征能夠反應物體表面的粗糙度、方向性和規則性[2].本文中,筆者從紋理特征入手,提取前景目標.是否能成功獲取紋理特征,將影響到后續的前景提取效果.
目前,國內外提取紋理特征的方法主要有4類:統計法、結構法、模型法、信號處理法[3].傳統統計法的灰度共生矩陣計算量大,并且在目標與背景相近時提取效果不是很好;而基于結構的紋理特征提取法具有計算量小、特征維度低、支持旋轉不變性等優點[4].本文將傳統統計法的灰度共生矩陣算法與結構法進行相互結合,通過對8鄰域的基元陣進行擴充,提出20鄰域灰度-基元共生矩陣,并只取熵作為其特征統計量.這不僅在很大程度上減小了計算量,而且簡化了計算過程的復雜性,使表達更加準確,提取效果顯著提高.
Haralick[5]等人首次提出了灰度共生矩陣,其思想是利用圖像的空間內相隔一定距離的2個像素間的灰度關系,通過統計灰度的空間相關性來描述紋理特征[6].
灰度共生矩陣是對圖像上保持某種距離的2個像素分別具有某灰度的狀況進行統計得到的[7],它不同于灰度直方圖只反映單個像素的灰度分布概況,而是描述了成對像素的灰度組合分布.
灰度共生矩陣可用如下矩陣表示:

式(1)中:i,j分別為2個像素的灰度;L為圖像的灰度級數;φ為2個像素間的位置關系,用δ=(Δx,Δy)表示,即2個像素在x和y方向上的距離分別為Δx,Δy.不同的δ決定了2個像素間的距離和方向,一般取0,45,90,135°這4個方向.
當2個像素間位置關系δ選定后,就生成距離為δ下的灰度共生矩陣pδ,即

共生矩陣中元素表示一種灰度組合下出現的次數.如元素pδ=(1,0)表示了圖像上位置關系為δ的2個像素灰度分別為1和0的情況出現的次數.顯然不同的位置關系(距離或方向),元素值就不同.
結構分析方法的主要目標是找出紋理基元,在紋理基元所構成的結構上探索紋理規律.紋理基元的提取過程并不容易,在不考慮邊界像素的情況下,每個圖像中的每個像素都有4鄰域和8鄰域.通過每個像素的4鄰域或8鄰域都能計算出基元陣,在基元陣的基礎上可以計算圖像的其他紋理特征量,從而進行圖像的紋理分析.
基元陣由基元值構成,所謂的基元值是以鄰域像素對該像素的矩來度量[8].假設有1幅圖像f(i,j),i=0,1,2,…,Lx-1;j=0,1,2.…,Ly-1,在不考慮邊界像素的情況下,計算每個像素的4鄰域像素灰度對該像素的矩[8]:

計算每個像素的8鄰域像素灰度對該像素的矩[9]:

其中INT為取整操作.
矩值m(i,j)作為最小紋理基元的特征值,可以得到基元陣的表達式如下:

本文對8鄰域的基元矩陣進行擴充,將其擴充為20鄰域的基元矩陣,如圖1和圖2所示的簡單基元結構示意圖.

圖1 8鄰域基元陣

圖2 本文提出的20鄰域基元矩陣
本文取20鄰域點對中心點的矩值計算公式為
在陷入黑暗前,我最后望了一眼布滿枯黃的荷塘。那些枯黃的荷葉在湖面上像是一只只垂死老人的手,血色盡失,筋脈分明。


本文提出的20鄰域灰度-基元共生矩陣GP(|i,j d,θ),由灰度共生矩陣和本文提出的20鄰域基元陣共同構建,i=0,1,2,…,L1;j=0,1,2,…,L2.其中L1為灰度共生矩陣的最大灰度值,L2為20鄰域基元陣中的最大基元值.GP矩陣的大小由灰度共生矩陣和20鄰域基元陣決定,即(L1+1)×(L2+1),此值往往較大.
為減少計算量,在創建灰度基元共生矩陣之前,需先壓縮量化為N級,N一般取8,16,32,64,128,256[10].本文取N=16.
矩陣中的元素GP(i,j|d,θ)為θ方向上距離為d的灰度值為i、基元值為j的點對數量.例如GP(1 ,2 |1,0°)=5,即表示在某幅圖像的灰度-基元共生矩陣中,在0°方向(水平方向)上相距1個像素,灰度值為1(i=1),基元值為2(j=2)的點對數是5.
定義灰度-基元共生矩陣后,將傳統的特征量熵引進灰度-基元共生矩陣的特征計算,建立圖像的紋理特征.
熵

熵是圖像所具有的信息量的度量,紋理信息也屬于圖像信息[11].若圖像沒有任何紋理,則熵值幾乎為零.若細紋理多,則熵值較大;圖像越平滑,熵越小.
本文將8鄰域基元陣擴充為20鄰域基元陣.通過將灰度共生矩陣和20鄰域基元陣的結合,提出20鄰域灰度-基元共生矩陣,其對視頻中前景提取的思路如下:
1)從第1幀開始,逐幀讀取視頻的每一幀,并將其彩色圖像轉換成灰度圖像.直至第100幀,作為背景訓練.
2)計算每幀灰度圖像各個點的20鄰域灰度-基元共生矩陣,并依此計算各像素點的熵值B,保存100幀背景訓練的各像素點的熵值數據.
3)讀取t時刻(t>100幀)的圖像,計算每個像素點的20鄰域灰度-基元共生矩陣,并依此計算每個像素點在該時刻的熵值Pt.
4)將t時刻的熵值Pt和背景數據中的熵值B進行判斷分析,若P包含在[Bmin,Bmax]之間,則說明該點為背景點,否則為前景點.
5)對圖像進行去噪處理,優化前景目標.
6)t=t+1,讀取t+1時刻的圖像,返回步驟3)進行操作.
為驗證本文算法的有效性,筆者進行了仿真實驗,并將傳統的灰度共生矩陣算法與本文算法所提取的效果進行比對.
本文的實驗是在基于Windows 10.1和MATLAB 2015b的平臺上進行和操作完成的,測試所用的視頻采集來自某十字路口的交通監控視頻圖像序列,視頻攝像機安裝固定.將本文算法與傳統的灰度共生矩陣算法進行仿真測試,對比結果如圖3所示.

圖3 不同算法對視頻中運動物體進行提取的效果比對

表1 不同算法的前景提取所耗費的時間
圖3為本文算法和傳統的灰度共生矩陣算法對視頻中運動物體進行提取的效果比對圖.其中:圖3a、3d、3g為原始視頻經灰度轉換化后的灰度圖像;圖3b、3e、3h為用傳統的灰度共生矩陣算法對視頻中前景進行提取的提取效果圖;圖3c、3f、3k為采用本文提出的灰度-基元共生矩陣算法進行視頻中前景提取的效果圖.表1為本文算法和傳統灰度共生矩陣算法的前景提取所耗費的時間數據.
依據圖3比對可發現,相比于傳統的灰度共生矩陣算法的提取效果,本文所提的20鄰域灰度-基元共生矩陣算法對前景的提取效果更佳.由于20鄰域灰度-基元共生矩陣具有特征維度低、支持旋轉不變性等優點,其采集的數據是中心點周圍的20個點,比8鄰域的8個點更能體現中心像素點的性質,因此不會出現對個別運動物體(尤其是目標與背景顏色相近時)漏檢的情況,也不會出現對單個完整的運動物體提取不全的情況.本實驗結果表明,相對于傳統算法,本文的方法能夠更好地對視頻中的運動物體進行提取.
依據表1數據可知,本文算法每幀前景提取的平均時間為5.801 s.雖高于傳統算法所耗費的時間,但由于其具有較好的提取效果,且CPU 5.801s耗時不算高,因而更有應用價值.若對實時性有較高需求,可換用GPU進行計算,可再減少本文算法的耗時,以便于更好應用.
因此,綜上所述,本文的方法能比傳統算法更好地對視頻中的運動物體進行提取.
本文中,筆者通過紋理特征研究了前景提取的問題,提出了基于20鄰域灰度-基元共生矩陣的新算法.該算法是在傳統統計法的灰度共生矩陣的基礎上,與結構法的基元陣結合,是對8鄰域基元陣的一種擴充.通過使用紋理特征量熵并分析熵值的變化情況,對視頻中的前景和背景進行判斷.實驗結果表明,與傳統的灰度共生矩陣方法相比,本文提出的方法能夠更好地對視頻中的運動物體進行提取,具有一定的工程應用價值.