雷坤鵬, 馮新喜, 余旺盛
(空軍工程大學信息與導航學院, 西安, 710077)
陰影廣泛存在于圖像與視頻中,往往會對圖像及視頻處理產生不利影響,例如:①導致圖像偽彩色、圖像信息丟失以及圖像分割錯誤[1];②在航空影像中干擾影像中信息的提取、識別和判讀[2];③在城市車輛跟蹤檢測時,會影響車輛的形狀和大小,降低車輛檢測的準確度,給后續的跟蹤、分類等工作帶來困擾[3]。因此陰影檢測就成為圖像處理中的重要一步,具有重要的研究意義與價值。
目前根據檢測技術的不同,陰影檢測可以分為基于模型的方法[4-5]、基于陰影特征的方法[6-7]和基于機器學習的方法[8-9]。本文采用一種超像素算法與分類器結合的機器學習方法,超像素算法由Ren等人在2003年提出[10],經過十幾年的發展,主要分為兩大類:一類是基于圖論的方法[11-12],一類是基于聚類的方法[13-14]。SLIC超像素算法是一種代表性的基于聚類的方法,該方法由Achanta等人[15]在2010年提出,因其快速、簡單近幾年被廣泛地應用于圖像處理的多個領域,基于SLIC的改進研究也是近年來圖像分割領域的熱點問題。
針對陰影檢測過程中存在的邊緣紋理檢測率不高,陰影檢測過程中易出現像素空洞及檢測結果誤差大等問題,本文提出了一種基于SLIC0[16]超像素分割與SVM相結合的單幅圖像陰影檢測算法。在此基礎上設計了融合光照與彩色特征的分類特征向量構造方法,有效提高了陰影檢測的精度。
SLIC超像素分割算法是一種思想簡單、快速、實現方便的算法,其生成的超像素具有緊湊、近似均勻等特點,能夠較好地保持物體輪廓,符合人們對圖像分割的要求。算法步驟如下:
1)顏色空間轉換
SLIC超像素分割算法為保證分割精度,需先將RGB空間圖像轉換為CIELab空間圖像,同時生成一個5維向量V=[L,a,b,x,y],該向量由每個像素的光照與彩色分量(L,a,b)和空間坐標(x,y)構成。
2)生成種子點
在進行分割前需要人為設定K個超像素,將超像素的種子點均勻地分配在像素點個數為N的圖像上,每個超像素包含的像素個數為N/K,則相鄰種子點的距離S近似為:
S=sqrt(N/K)
(1)
3)調整種子點位置
在生成種子點時,種子點可能會落在梯度較大的超像素邊緣與噪聲像素點上,影響聚類效果。因此需要重新定位種子點,一般選取初始種子點3×3鄰域內梯度最小的點。
4)計算距離度量
像素點與種子點間的相似度通過空間距離與顏色距離表示,采用歐氏距離度量準則:
(2)
(3)
(4)
5)局部迭代聚類
SLIC超像素分割算法將搜索范圍限制在種子點鄰域2S×2S的范圍內,在限制范圍內計算所有像素點到種子點的距離度量,重復迭代并賦值,將相似特征像素生成超像素。
6)增強連通性
經過局部迭代聚類后一般會出現分割后超像素塊過小、超像素塊中存在其他類面積較小的超像素塊等。通過增強連通性可以有效解決這些問題。
傳統SLIC算法分割的結果圖中,每一個超像素采用的緊湊性參數為固定值,超像素在平滑區域是平滑的,而在不規則區域是高度紋理化的,即SLIC在平滑區域產生大小規則的光滑超像素,在紋理區域產生不規則、邊界粗糙的超像素。當固定超像素個數K=500時,改變參數m,可以看出,當m較小時,分割得到的超像素區域雜亂無章,毫無規律;隨著m增大,超像素區域的規則性越來越強,見圖1。

圖1 不同緊湊性參數對超像素分割的影響
為達到更好的檢測效果,需根據不同的圖像人工調節參數m,增加了人機交互的負擔。SLIC0算法通過自適應的修改參數m,很好地解決了這一問題。因此本文選取SLIC0分割算法對原圖像進行超像素分割,提取陰影邊界。
傳統SLIC對圖像中的所有超像素使用相同的緊湊參數m,同一張圖像中SLIC在光滑區域產生規則的光滑超像素,在紋理區域產生高度不規則的超像素。SLIC0則可以自適應地為每個超像素分配緊湊性參數。SLIC0算法對式(4)進行了改進,采用上一次迭代過程中最大的顏色距離mLab和空間距離mxy,作為下次迭代的緊湊性參數m與超像素邊界長度S。改進后的距離度量公式為:
(5)
SLIC0算法根據圖像不同區域紋理復雜度,自適應調整緊湊性參數,使分割出的超像素塊形狀更加規則、大小相近,同時并不影響分割的精度與效率。
SLIC0算法分割生成的是大量的超像素塊,并不能直接反映圖像的陰影區域,因此需要選取合適的合并方法對超像素塊合并,來得到所需的圖像陰影區域。本文采用分類合并的思路,提出一種基于融合特征的支持向量機作為區域合并的分類器,采用基于亮度特征與顏色特征融合的方法,將融合后的特征作為SVM分類器的訓練樣本,將SLIC0分割結束后的種子點色度與亮度融合信息作為測試數據,對種子點進行分類。最后對種子點及其超像素塊內的像素點賦以陰影標簽與非陰影標簽以達到區域合并的目的。
圖像中的陰影區域是光線在傳播過程中被遮擋而產生的,其亮度較非陰影區域低。亮度改變,則像素的色度也會發生改變。在陰影識別過程中只通過色度或明度進行判斷,這類基于單一特征的分類算法魯棒性較差。本文采用Lab顏色空間基于亮度(L)與色度(a、b)特征融合的SVM分類方法來增加超像素分類合并的準確性。
首先,在光照特征的基礎上增加彩色補償量[17],即:
Q=L+LC
(6)
式中:LC為彩色補償量,其計算方法為:
LC=x·sgn (30×a)·|30×a|α+
x·sgn (30×b)·|30×b|α
(7)
得到光照與彩色融合信息后,將其作為支持向量機的訓練樣本與測試樣本。
支持向量機通過定義核函數將低維向量映射到高維空間中,以此解決低維空間線性不可分問題,同時避免了向高維映射時產生維度災難的問題。其原理見圖2,是在高維空間中找到使兩類數據的數據點間隔最大的平面,并在此平面兩側找到互相平行的兩個臨界超平面,臨界超平面的距離越大,該分類器的誤差越小。

圖2 SVM分類原理圖
超平面通過公式(8)線性方程描述:
wTx+c=0
(8)
式中:wT=(w1,w2,…,wn)為最大間隔平面的法向量;c為位移項;x=(x1,x2,…,xn),其中xi到超平面的距離為:
(9)
為了求出最大間隔的超平面,用(w,c)表示臨界超平面,由于超平面滿足式(8),則必然滿足:
ζwTx+ζc=0
(10)
此時,存在ζ使臨界超平面能夠建立如下不等式方程:
(11)
位于臨界超平面上的點使式(11)等號成立,也稱為“支持向量”,兩個不同類別的支持向量到超平面的距離之和為:
(12)
式(12)應滿足式(11)。
要求“最大間隔”地劃分超平面,即能滿足式(12)中約束的參數w、c,使得γ最大,僅需||w||-1最大,即可求得最大間隔劃分超平面所對應的模型,令:
f(x)=wTx+c
(13)
通過上述融合特征的SVM分類算法,實現超像素塊的二分類,陰影區域為黑色,非陰影區域為白色,從而達到陰影檢測的目的。
本文算法采用機器學習的思想,先通過聚類算法將輸入圖像分割處理,再通過分類算法將聚類分割后的區域分類,得到陰影掩膜,來達到陰影檢測的目的。算法基本流程如圖3所示。

圖3 本文算法基本流程圖
本文算法在i5-4210H處理器、2.90 GHz主頻CPU、8.00 GB內存的PC機上使用MATLAB 2017a軟件編程實現。目前,用于圖像陰影檢測算法性能評估的公開數據集主要有SBU[18]、Guo[19]等。本文采用SBU數據集中的圖像對單幅圖像陰影檢測算法進行仿真實驗比較與性能分析,其部分代表性測試圖像如圖4所示。

圖4 SBU數據集部分測試圖像
將本文算法與Otsu閾值法檢測方法、傳統SVM分類檢測法進行對比,超像素個數為K=500,SVM采用RBF核,懲罰因子為1,檢測結果見圖5。

圖5 實驗結果
從圖5中可以看出,Otsu閾值法在顏色較為單一的圖像中效果較好,如實驗2、5、7,能夠較好地檢測出陰影,得到陰影掩膜,但在顏色較為復雜的圖像中檢測性能明顯下降,出現像素空洞與誤檢,如實驗1、3、4、6,陰影檢測效果差。從實驗中可以看出,采用單一特征SVM分類的方法對超像素塊分類合并,其對色度相似的區域分類效果不理想,易出現誤分類,陰影檢測效果相較于本文算法較差。本文采用SLIC0聚類分割能夠很好地將像素點問題化為區域性問題,可較好地解決識別過程中的像素空洞問題,同時通過光照與色度融合的SVM分類器對超像素塊分類合并,以提高超像素塊分類的準確度。實驗結果表明,本文算法在色彩相對復雜的圖像中陰影檢測的效果也比較理想。
為更加客觀地評價所提算法,本文以SBU數據集標注的陰影掩膜作為標準,以結構相似度(structural similarity,SSIM)與峰值信噪比(peak signal to noise ratio,PSNR)作為性能指標對實驗結果進行定量分析,二者表達式如下:
(14)
式中:MSE為圖像X和參考圖像Y的均方誤差:
(15)
SSIM(X,Y)=L(X,Y)·C(X,Y)·S(X,Y)
(16)
其中L(X,Y),C(X,Y),S(X,Y)表示如下:
(17)
(18)
(19)
式中:uX,uY分別表示圖像X和Y的均值;σX,σY分別表示圖像X和Y的標準差;σXY代表圖像X和Y協方差;C1、C2和C3為常數。
本文算法與參考算法的定量分析結果見表1~2。

表1 不同檢測算法陰影檢測的PSNR值比較

表2 不同檢測算法陰影檢測的SSIM值比較
從表中數據比較可以看出,本文算法檢測出的陰影掩膜無論是PSNR指標還是SSIM指標均優于其他兩種參考算法,說明本文算法的陰影檢測效果較參考算法更具優勢。
本文提出了一種基于SLIC0超像素分割的單幅圖像陰影檢測算法,首先利用SLIC0算法對圖像進行超像素分割,再利用設計的基于色度特征與亮度特征融合的SVM分類器將超像素塊分類合并,得到陰影檢測結果。與Otsu閾值法和基于單一特征SVM分類的圖像陰影檢測算法相比,本文算法能夠較好地適應復雜顏色環境,取得更具魯棒性的陰影檢測結果,同時具有較高的檢測精度。