譚志國,歐建平,張 軍,沈先耿
(1.國防科技大學電子科學學院,湖南 長沙 410073;2.武警警官學院信息通信系,四川 成都 610213)
由于深度圖像能直接反映景物表面三維幾何信息,且具有不受光照、陰影等因素影響等優勢,在計算機視覺領域越來越引起人們的關注。隨著深度圖像傳感器技術的逐步成熟,基于飛行時間TOF(Time Of Fly)、結構光等技術的低廉深度圖像傳感器設備已經大量投入市場,在機器人工業、互動游戲等行業得到廣泛應用。
區域分割是深度圖像處理中的重要部分,是圖像識別、理解工作的基礎。目前,深度圖像的分割方法主要可分為兩類:一類是把深度圖像轉化為三維點云,通過對點云的坐標、法向量等特征進行聚類和分類,實現分割。如文獻[1]將深度圖像轉化為點云數據,而后把行值、列值以及3維的單位法向量構成圖像中像素點的6維特征向量,采用模式聚類方法,實現了圖像分割。文獻[2]則在點云數據基礎上計算其構成表面的高斯曲率,從而對 8 種表面類型進行分類,并利用二次曲面擬合,進行區域增長與圖像數據的分割。文獻[3]采用邊緣和曲面擬合相結合的方法,在點云數據中提取邊緣,根據邊緣信息估計曲面的位置和數量信息,由此來實現圖像的分割。文獻[4]采用高斯混合模型對點云法向量聚類,從而實現對深度圖像中平面提取和圖像的分割。該類方法在一定程度上可以達到較好的分割效果,但由于轉化為點云后圖像數據由規格化數據變為散亂數據,從而使得數據處理量增大,且預處理以及特征提取的計算量大,使得該類算法的實時性難以保證。另一類是把深度圖像作為一般灰度圖像數據來處理。由于深度圖像數據信息單一(主要是物體景深值),比較適合于閾值分割類算法,比如Otsu閾值分割及其改進算法[5 - 7]、二維直方圖閾值分割法[8,9]等。但由于深度傳感器獲取的圖像存在較強噪聲,使得該類算法應用于深度圖像分割時往往難以達到理想的分割效果。為此,文獻[10,12]同時利用顏色和深度圖相互補充的策略來實現圖像分割,存在的問題則是首先需要對彩色圖像與深度圖像進行配準,分割的實時性難以保證,而且這類分割方法也都以初始的深度圖像分割為基礎;此外,部分深度傳感器不同時提供彩色圖像數據,也使得算法實際應用受到一定限制。
針對上述問題,本文提出一種利用多特征組合的深度圖像分割算法。該方法首先構建梯度直方圖,運用Otsu閾值分割得到候選分割區域;而后在各候選分割區域上運用深度Otsu閾值分割得到候選分割目標;最后在空域上對候選分割目標進行分割、合并與去噪,得到最終的圖像分割結果。本文主要的貢獻在于提出一種多特征的深度圖像組合分割策略,適用于實時深度圖像分割。
Otsu分割算法是一種基于最大類間距的聚類圖像分割算法,通常是以灰度作為像素特征。從廣義角度來說,選定不同特征采用Otsu算法,同樣可對圖像進行有效分割。不失一般性,下文中對算法原理進行討論時,不特指灰度級而用特征級來代替。
設圖像I(x,y)的像素所具有特征的特征級為L=1,2,…,l,對?i∈L的特征級,位于該特征級i的像素總數為fi,則總的像素數N=f1+f2+…+fl。給定圖像f(x,y),其特征級為i的像素出現的概率為:

(1)
假設圖像I中存在m個待區分的類,則有m-1個閾值t1,t2,…,tm-1用來將I分為m個類,表示為:
C1=0,1,…t1,…,Cn=
tn+1,tn+2,…,tn+1,…,
Cm=tm+1,tm+2,…,tm+1
(2)
根據Otsu準則,類間方差定義為:


(3)

最優閾值則為使得σ取得最大值的一組閾值。
上述Otsu算法若直接計算多個閾值是較為復雜的,且分割效果不一定理想。若把直方圖劃分為數個局部,對每個局部區域進行單閾值分割,不但能降低算法的復雜度,而且可使局部分割效果達到最佳。因此,確定局部區域的數目則是多閾值分割的關鍵。
眾所周知,單閾值Otsu算法實質是在統計直方圖波峰之間尋找類間最大距的最佳閾值,從而劃分兩個獨立的波峰。因此,可通過在直方圖中尋找獨立的波峰來對劃分區域(聚類數目)進行確定。在此基礎上,運用單閾值Otsu算法得到區域中的分割閾值。關于單閾值Otsu算法不做詳述,文中直接使用文獻[7]中的快速分割算法。
圖像分割本質上是對其中像素分類的過程,而Otsu算法實際是根據像素的某一特征實現的類間最大距離的分類。實際中,通過某一種特征對像素進行分類,往往難以達到理想效果。為此文獻[8,9]利用兩種特征(灰度與灰度均值或灰度與飽和度等)構成二維直方圖,再通過Otsu或其它優化算法計算最佳閾值,但導致的問題是運算量增加,不適于實時處理,且在深度圖像噪聲影響下難以達到較好的分割效果。本文在圖像中構建不同特征屬性下的一維直方圖,通過層次組合的方式實現有效的圖像分割。考慮深度圖像的分布特點,選取圖像像素的深度、梯度以及空域位置信息作為像素分類的特征。

hdk=nk,k=1,2,…,K
(4)
其中,nk為在深度級k上的圖像像素數目。
(2)梯度直方圖構建。梯度反映的是深度圖像中深度值的變化情況,而通常深度值變化較大的部位都位于場景內的目標、物體等的邊緣以及圖像中的噪聲部分。通過梯度維的分割可以把圖像粗略地分為目標、邊緣與噪聲部分。
深度圖像I(x,y)可視為二維離散函數,其梯度G(x,y)則是對二維離散函數的求導:G(x,y)=idx(x,y)+jdy(x,y),其中,


(5)


hgk=nk,k=1,2,…,J
(6)
其中nk為在梯度級k上的圖像像素數目。
由于深度圖像存在一定噪聲,信息量相對要少,且當背景復雜,場景中目標、背景集中時難以進行有效分割。為此,本文擬采用如圖1所示的分割策略。

Figure 1 Hierarchical segmentation strategy based on multi-feature圖1 多特征層次化的組合分割策略


(7)

Figure 2 Segmentation on feature dimension圖2 特征維度分割示意圖
經過梯度與深度特征維度的閾值分割,實際圖像中的候選目標在空域上是分開或是相連的。此時,在空域特征維上對候選目標進行處理,采取先分割再合并的策略,最后去除噪聲和雜點。從而圖2的分割效果如圖3所示。

Figure 3 Segmentation and combination on space domain圖3 空域分割合并示意圖
空域分割合并的基本原則如下:
(1)候選區域空域上不連通的部分進行分割。
(2)空域上鄰接的不同候選區域,當鄰接區域面積較大且鄰接區域梯度值相近時進行合并。鄰接區域是指圖像中兩個候選區域鄰接的像素區域。設區域Di與Dj鄰接,則Di與Dj的鄰接區域記為Ni,j,如圖4中標i像素部分所示,Dj與Di的鄰接區域即為Nj,i,如圖4中標j像素部分所示。

Figure 4 Conjunctive pixels圖4 鄰接區域示意圖
上述原則可描述為給定一個面積閾值tarea和一個梯度閾值tgrdt,當Ni,j≥tareaorNj,i≥tarea,有GNi,j-GNj,i≤tgrdt時,區域Di與Dj合并。GNj,i為對應Nj,i區域的梯度平均值。
(3)小于一定面積值(連通區域中小于一定像素數目)的區域作為噪聲和雜點去除。
基本步驟:
(1)遍歷候選目標集Cnd_Obj1,Cnd_Obj2, …,Cnd_Objn;
(2)對符合原則(1)的候選目標進行分割,得到連通區域集D1,D2,…,Dm;
(3)遍歷連通區域集;
(4)將符合原則(2)的區域進行連通;
(5)符合原則(3)的區域作為噪聲去除;
(6)整理得到目標集Obj1,…,Objo,輸出結果。
本文實驗平臺為Windows7操作系統,CPU主頻為2.6 GHz,內存為4 GB,用Matlab15b編程實現算法。選取20幅TOF傳感器采集的深度圖像(圖像大小均為320×240)進行圖像分割實驗。實驗中,分別與Otsu多閾值算法[6]、二維直方圖雙斜率分割算法[7]、二維直方圖分水嶺分割算法[8]進行比較,文中分別記為Otsu、RODS和WSHST。圖5和圖6給出其中一次的實驗結果。
圖5給出了本文算法進行分割的過程。圖5a是深度圖的原圖,圖5b是通過梯度Otsu閾值分割算法分割后的結果。

Figure 5 Depth image segmentation procedure圖5 本文算法分割圖像的過程
可以看出,經過梯度分割后,圖像根據梯度直方圖被自動分為兩部分,這里可簡單地稱之為噪聲部分和目標部分。圖5c是對噪聲部分進行深度Otsu分割的結果,該結果顯示噪聲部分中大部分像素都被劃分到不同候選目標中,而這些像素在梯度維上梯度值較高,深度值不連續,分割后大都為孤立的點,在最終的空域處理上將被作為噪聲去除,其中也存在部分整塊目標,從分析來看是由于傳感器獲取目標數據時,在目標上產生的噪點。圖5d是對目標部分的深度分割結果,根據深度圖像大致被分為7塊區域(包括其中噪聲點,不同灰度分別表示不同的候選目標區域)。可以看出,圖像中有的目標被較好地分割出來,但其中也存在一定的噪聲,因此需要在后續處理中進行矯正和調整。圖6b給出了本文算法的最終分割結果。從圖中可以看出,圖5c和圖5d中的目標與噪聲,或被分割、或被合并、或被去除,場景中主要目標都被準確地分割出來,噪聲也被較為干凈地去除。存在的問題是,少部分目標邊緣由于噪聲原因,不夠自然平滑。
圖6給出了四組在不同噪聲強度和不同復雜程度背景下的室內深度圖像分割結果。

Figure 6 Segmentation results comparison among different algorithms圖6 不同算法分割結果比較
圖6a為深度圖像的原圖,從左至右原圖中的噪聲逐漸增大。圖6b~圖6d給出了三種算法的實驗結果。Otsu算法分割的結果如圖6c所示,當噪聲較小時,與本文算法在梯度分割后進行的深度分割結果比較接近,但在不同場景中隨著噪聲影響的增大,以及本身場景的復雜性,對于同一目標以及不同目標區域的分割存在交錯,難以較好地實現目標的完全分割。WSHST算法通過二維直方圖在一定程度上把邊緣、目標分割開來,在噪聲較小的場景中,分割相對準確,但是隨著噪聲增強,噪聲與目標的分割效果不理想,如圖6d所示。RODS算法由于使用雙閾值,在圖像中只能對噪聲與場景部分進行分割,在復雜圖像中難以有效地對場景、目標進行有效分割,如圖6e所示。表1給出了各種算法運行的平均時間對比。

Table 1 Time consuming on segmentationcomparison among different algorithms
從實驗的結果圖來看,本文算法對于含有一定噪聲的深度圖像分割效果優于Otsu、WSHST和RODS算法,能在一定程度上克服噪聲給分割帶來的不利影響,且能有效地把場景中可能存在的目標景物進行有效分割。原因如下:
(1)本文算法采樣組合分割的策略,通過初步梯度Otsu閾值的分割,在一定程度上去除了噪聲部分的影響,從而使得在深度Otsu閾值分割時效果有一定的提升。WSHST算法采用了梯度與深度的二維直方圖,可能由于噪聲影響原因,使得分割時對于邊緣信息更為敏感,但對于目標、景物內部噪聲則分割效果不理想。
(2)本文算法進行閾值分割后,在空域上進行了分割合并與去除處理,抑制了區域外的雜點和區域內的噪聲,同時對目標等進行了規整,使得整體的分割效果優于其他算法。
(3)從時間開銷角度看,由于本文算法在空域上進行了后續處理,因此較Otsu、RODS算法開銷大。但值得注意的是,RODS算法是雙閾值算法,而WSHST算法采用構建二維直方圖,在二維圖中再利用分水嶺方法尋找分割閾值,在一定程度上增加了算法的復雜度。
本文提出了一種多特征組合的深度圖像分割算法,在一定程度上能克服深度傳感器獲取圖像時噪聲帶來的不利影響。通過先梯度閾值分割而后深度閾值分割的策略,改善了噪聲對閾值分割的不利影響;通過空域上的分割合并等處理,在對場景去噪的同時,也實現了場景中目標、景物的有效分割。文中實驗結果表明,算法能適用于單一深度信息的深度圖像分割,這將有助于物體識別、場景分割等任務的完成。下一步工作將結合該算法應用于特定目標的檢測與識別。