王淳
(四川大學(xué)計(jì)算機(jī)學(xué)院,成都610065)
陰影是大多數(shù)室外場景中常見的現(xiàn)象,在實(shí)際的圖像處理中會(huì)帶來許多問題。在圖像分割中,陰影邊界可能與真實(shí)物體邊界混淆。在運(yùn)動(dòng)估計(jì)中,光流的計(jì)算容易受到陰影引起的光照變化的影響。在監(jiān)控中,由于陰影的影響,可能會(huì)跟蹤錯(cuò)誤的目標(biāo)。因此,在計(jì)算機(jī)視覺領(lǐng)域,陰影檢測是一項(xiàng)非常重要且有意義的工作。
目前,單幀圖片的陰影檢測已經(jīng)有許多成熟的方法。從技術(shù)角度出發(fā),這些方法大體上可以分為兩類:基于物理模型的陰影檢測和基于陰影特征的陰影檢測。基于物理模型的陰影檢測方法是指通過先驗(yàn)信息,如光照、場景信息、運(yùn)動(dòng)目標(biāo)等,建立陰影模型,從而實(shí)現(xiàn)對(duì)陰影的檢測。Xiong等人[1]使用Retinex增強(qiáng)算法分別處理圖像中的陰影區(qū)域和非陰影區(qū)域,通過在陰影邊緣強(qiáng)制添加平滑光和引入陰影邊緣遮罩,降低了陰影去除過程中陰影邊緣的影響。Tian等人[2]基于圖像形成理論,推導(dǎo)了描述陰影與其非陰影背景之間衰減關(guān)系的三色衰減模型(TAM)。根據(jù)普朗克黑體輻照度定律,利用太陽光和天光的光譜功率分布(SPD)確定TAM的參數(shù),提出了一種基于TAM的多步陰影檢測算法?;陉幱疤卣鞯年幱皺z測是根據(jù)陰影區(qū)域和非陰影區(qū)域的特征,如亮度差、梯度、紋理等,訓(xùn)練分類器,從而識(shí)別出陰影與非陰影。
近年來,結(jié)合陰影特征,通過機(jī)器學(xué)習(xí)等方式來檢測陰影與非陰影的方法得到了越來越多的關(guān)注。2010年,Zhu等人[3]討論了從單色自然圖像中識(shí)別陰影的問題。從光照、紋理和梯度特征出發(fā),訓(xùn)練分類器從而提升決策樹,并集成到一個(gè)條件隨機(jī)場中,增強(qiáng)像素標(biāo)簽的局部一致性。2010年,Lalonde等人[4]假設(shè)室外場景中構(gòu)成地面的材料類型相對(duì)有限,建立了一個(gè)由三層過程組成的檢測器,包括在一組圍繞每個(gè)圖像邊緣計(jì)算的陰影敏感特征上訓(xùn)練決策樹分類器、基于條件隨機(jī)場的優(yōu)化以對(duì)檢測到的陰影邊緣進(jìn)行分組從而生成相應(yīng)的陰影輪廓以及合并任何特定訓(xùn)練的分類器來檢測圖像中的地面。2013年,Guo等人[5]提出了一種基于區(qū)域的方法,預(yù)測分割出來的不同區(qū)域之間的相對(duì)光照條件,并按對(duì)進(jìn)行分類。2016年,Tian等人[6]通過驗(yàn)證Canny邊兩邊的像素值是否滿足由陰影特性導(dǎo)出的三個(gè)陰影驗(yàn)證準(zhǔn)則,將邊緣分為陰影邊緣和非陰影邊緣。
除去傳統(tǒng)的陰影檢測方法,水平集方法在醫(yī)學(xué)圖像分割、邊緣檢測等方面有很大的應(yīng)用,是目前非常受關(guān)注的研究方向,而活動(dòng)輪廓模型是此方法中典型的模型之一。活動(dòng)輪廓模型是一條能量遞減曲線,分為基于邊界和基于區(qū)域兩類,總體的目的都是通過演化輪廓使得內(nèi)部能量和外部能量之和最小,從而讓演化輪廓最終停止于目標(biāo)邊緣附近。1989年,Mumford等人提出了Mumford-Shah模型(即MS模型)[7],這是一種基于區(qū)域的模型。2001年,Chan等人簡化了MS模型,提出Chan-Vese模型(即CV模型)[8]。
但是,水平集方法多用于醫(yī)學(xué)圖像等灰度圖的分割。王斌等人[9]提出了一種基于圖像邊緣和區(qū)域信息的先驗(yàn)水平集圖像分割方法,有效地分割出圖像中的目標(biāo)。朱曉舒等人[10]提出了一種新的基于凸優(yōu)化的自適應(yīng)CV模型,有效地提高了分割效率。薛維琴等人[11]提出一種耦合了血管影像的幾何信息、邊緣信息和區(qū)域信息的水平集分割方法,在分割嚴(yán)重灰度不均勻的血管造影影像上能夠準(zhǔn)確提取血管,并精確定位血管邊緣。
本文基于傳統(tǒng)的Chan-Vese模型,引入了形狀模板和錨點(diǎn),將水平集方法應(yīng)用于單幀彩色圖片的陰影檢測,克服了傳統(tǒng)CV模型僅僅依賴灰度進(jìn)行演化并且容易陷入局部最優(yōu)的問題,得到了較為準(zhǔn)確的陰影邊緣。
2001年,Chan和Vese簡化了MS模型,對(duì)演化過程中的曲線進(jìn)行了平滑約束,提出了CV模型。該模型在原來的能量函數(shù)的基礎(chǔ)上,添加了長度項(xiàng)和面積項(xiàng),CV模型的能量函數(shù)如下:
其中:λ1,λ2>0,ν≥0(一般取λ1=λ2=1,ν=0);邊界C將圖像劃分為outside(C)和inside(C)兩塊區(qū)域;c1和c2分別是演化曲線C內(nèi)部和外部的灰度均值。通過計(jì)算內(nèi)部區(qū)域圖像灰度值與常數(shù)c1的平方誤差以及外部區(qū)域圖像灰度值與常數(shù)c2的平方誤差,驅(qū)使曲線向目標(biāo)邊緣演化。能量函數(shù)的第一項(xiàng)和第二項(xiàng)為擬合項(xiàng),負(fù)責(zé)使曲線C向目標(biāo)輪廓演化;第三項(xiàng)是長度項(xiàng),使獲得的能量曲線足夠短和光滑。
構(gòu)建好能量泛函之后,通常采用水平集方法來使得能量函數(shù)最小化。將曲線C用水平集函數(shù)?(x,y)代替,當(dāng)點(diǎn)(x,y)在曲線 C 內(nèi)部時(shí),?(x,y)>0;當(dāng)點(diǎn)(x,y)在曲線 C外部時(shí),?(x,y)<0;當(dāng)點(diǎn)(x,y)恰好在曲線 C上時(shí),?(x,y)=0。于是:
其中:H(?)是海氏(Heaviside)函數(shù)。演化曲線C內(nèi)部和外部的灰度均值c1和c2的計(jì)算公式如下:
通過求解公式(2)對(duì)應(yīng)的歐拉-拉格朗日方程,得到如下的演化方程:
在傳統(tǒng)的活動(dòng)輪廓模型常應(yīng)用于的場景中,由于往往是對(duì)醫(yī)學(xué)圖像等灰度圖進(jìn)行圖像分割或者邊緣檢測,因此CV模型可以得到較好的結(jié)果。但在單幀彩色圖片的陰影檢測中,由于場景的復(fù)雜性,陰影往往會(huì)落于多種不同材質(zhì)上面,從而使得待檢測的陰影被分為亮度差異較大的幾部分,在這種情況下,傳統(tǒng)的CV模型的效果會(huì)變差甚至失效,因此,本文加入了形狀模板約束,使得演化輪廓的過程受到該因素的影響。
形狀模板約束的能量函數(shù)的定義方法有許多種,最常見的分為單目標(biāo)和多目標(biāo)兩種。對(duì)于單目標(biāo)的形狀先驗(yàn)?zāi)P?,可表示為,但?jì)算復(fù)雜度較高,需要針對(duì)每一個(gè)像素點(diǎn),分別去計(jì)算它們到形狀模板輪廓的最小值,不適用于在很多場景中都要求計(jì)算效率的陰影檢測工作。文獻(xiàn)[12]提出了一種新的表示形式,給每個(gè)像素分配一個(gè)該像素位于形狀內(nèi)部的概率,一定程度上解決了上述方法的問題。形狀概率的表示形式如下:
該方法計(jì)算復(fù)雜度較低、表示形式簡單,因此,文章采用該方法來設(shè)定形狀模板。形狀約束的能量函數(shù)如下:
求導(dǎo)后得到添加形狀先驗(yàn)?zāi)0宓腃V模型:
圖1是添加形狀模板前后的效果對(duì)比。
圖1
錨點(diǎn)限制項(xiàng)是由Ukwatta等人[13]提出的,文章采用此項(xiàng)能量,在細(xì)節(jié)方面進(jìn)一步提升陰影檢測的準(zhǔn)確率。添加錨點(diǎn)項(xiàng)后的效果如圖2所示。
圖2
從圖2中可以看出,增加了錨點(diǎn)項(xiàng)后,結(jié)果會(huì)在細(xì)節(jié)上更加準(zhǔn)確。實(shí)際上,錨點(diǎn)項(xiàng)的作用就是在錨點(diǎn)附近產(chǎn)生一個(gè)吸引力,使得演化輪廓的過程中一定會(huì)經(jīng)過預(yù)先設(shè)定的錨點(diǎn)。錨點(diǎn)項(xiàng)的定義為:其中NA是錨點(diǎn)的個(gè)數(shù),Ai(x)是一個(gè)以錨點(diǎn)xi A為中心,rA為半徑的圓形區(qū)域:
從(8)、(9)兩式可以看出,由于活動(dòng)輪廓模型的最終目的是使得內(nèi)外能量之和最小,因此若要使得錨點(diǎn)項(xiàng)的能量最小,當(dāng)演化輪廓在一個(gè)錨點(diǎn)半徑rA的范圍內(nèi)時(shí),就會(huì)受到錨點(diǎn)的吸引力,使得演化輪廓經(jīng)過錨點(diǎn)。當(dāng)演化輪廓經(jīng)過所有的錨點(diǎn)時(shí),錨點(diǎn)項(xiàng)的能量便達(dá)到最小值。
首先是一組草地上的例子,見圖3。
圖3
由圖3可以看出,在形狀模板結(jié)果已經(jīng)很準(zhǔn)確的情況下,便沒有必要添加錨點(diǎn)。
如圖4,形狀模板有效地控制了演化輪廓,而添加錨點(diǎn)項(xiàng)后,細(xì)節(jié)部分更為精確。
圖4
如圖5所示,當(dāng)陰影位于不同材質(zhì)的區(qū)域使得同一個(gè)目標(biāo)的陰影分為亮度差異較大的幾部分時(shí),形狀模板的作用便會(huì)減弱,此時(shí)添加錨點(diǎn)有助于吸引演化輪廓經(jīng)過錨點(diǎn),從而得到較好的結(jié)果。
圖5
本文提出了一種改進(jìn)的CV模型,通過添加形狀模板約束和錨點(diǎn)約束,實(shí)現(xiàn)了單幀彩色圖片的陰影檢測,特別是解決了當(dāng)陰影由于材質(zhì)原因分為亮度差異較大的幾部分時(shí)的問題。單幀圖片的陰影檢測已經(jīng)有許多成熟的方法,本文舍棄傳統(tǒng)的陰影檢測方法,從水平集這個(gè)角度切入,得到了較好的結(jié)果。
該方法的不足之處在于,形狀模板和錨點(diǎn)的特殊性使得該方法處理視頻中的陰影檢測問題時(shí)需耗費(fèi)大量的人力以及時(shí)間,因此不適用于對(duì)視頻的陰影檢測。在后續(xù)的工作中,將重點(diǎn)解決形狀模板的初始化以及錨點(diǎn)設(shè)置的問題,從而使得該方法可以進(jìn)一步應(yīng)用于視頻中的陰影檢測。