朱正偉 張 靜 饒 鵬 陳 忻
1(常州大學(xué) 江蘇 常州 213164)2(中國(guó)科學(xué)院上海技術(shù)物理研究所 上海 200083)
多視圖前景目標(biāo)分割是指從來(lái)自不同視點(diǎn)的多個(gè)圖像中分割前景對(duì)象,其在計(jì)算機(jī)視覺(jué)中有著重要應(yīng)用。在多視圖立體視覺(jué)中,為了減小時(shí)間成本,三維重建的第一步通常就是對(duì)前景目標(biāo)進(jìn)行精確提取。另外,前景目標(biāo)分割也是目標(biāo)跟蹤的重要步驟。
在多視圖中分割前景目標(biāo)最簡(jiǎn)單的方法是單獨(dú)處理每幅圖像,分別分割出前景目標(biāo)。一般來(lái)講,這類方法[1-3]需要通過(guò)用戶交互來(lái)獲取如每個(gè)前景目標(biāo)的邊界框或前、背景涂鴉等初始輸入。而基于圖像的三維重建往往需要大量的圖像,大量對(duì)圖像進(jìn)行分割是對(duì)人力的浪費(fèi)。
用于三維重建的多視圖圖像具有相同的前景對(duì)象,因此考慮利用不同輸入圖像之間顏色、紋理、形狀等外觀屬性的統(tǒng)計(jì)相似性,采用協(xié)同分割的思想進(jìn)行多視圖圖像前景目標(biāo)的分割[4]。Rother等[5]提出了一種基于馬爾科夫隨機(jī)場(chǎng)(MRF)的能量模型,并在模型中加入匹配公共部分的外觀直方圖的全局約束,通過(guò)TRGC優(yōu)化對(duì)模型近似求解來(lái)實(shí)現(xiàn)多圖像前景目標(biāo)協(xié)同分割。Mukherjee等[6]建立了類似于文獻(xiàn)[4]的能量模型,但與其不同的是,Mukherjee等通過(guò)二范式來(lái)衡量前景直方圖之間的差異,并采用二次偽布爾優(yōu)化來(lái)近似求解分割結(jié)果。與文獻(xiàn)[5-6]的懲罰模型不同,Hochbaum等[7]建立了獎(jiǎng)勵(lì)模型。Vicente等[8]將能量函數(shù)進(jìn)行了優(yōu)化,優(yōu)化后的函數(shù)包含平滑項(xiàng)和全局約束,并提出了基于Boyov-Jolly模型的擴(kuò)展模型。然而,這些方法僅在分辨率相對(duì)較低的圖像中進(jìn)行粗略分割,且分割邊界也不夠精細(xì),分割出的前景目標(biāo)不能滿足三維重建的需求。此外,文獻(xiàn)[6-7]仍需根據(jù)用戶交互建立先驗(yàn)?zāi)P汀R虼?,本文在先前的方法基礎(chǔ)上進(jìn)行了改進(jìn),實(shí)現(xiàn)多視圖前景目標(biāo)自動(dòng)分割。
前景目標(biāo)分割及重建方法步驟如下:
Step1對(duì)輸入圖像進(jìn)行顏色、幾何一致性測(cè)量;
Step2構(gòu)建基于MRF的能量函數(shù);
Step3利用Graph Cut迭代求解能量函數(shù),得到第一次分割結(jié)果;
Step4KL散度檢測(cè)顏色混合區(qū)域;
Step5對(duì)顏色混合區(qū)域使用Matting細(xì)化邊界,得到第二次分割結(jié)果;
Step6將精細(xì)分割后的多視圖照片用于三維重建得到前景物體三維模型。
本文算法大致可分為三個(gè)階段,首先通過(guò)對(duì)圖像進(jìn)行顏色、幾何一致性分析,確定前景目標(biāo)所在區(qū)域。然后構(gòu)建能量方程,方程的數(shù)據(jù)項(xiàng)使用多個(gè)輸入圖像上的顏色和幾何一致性來(lái)定義的似然相似度,平滑項(xiàng)使用在每個(gè)輸入圖像中單獨(dú)定義的圖像的局部結(jié)構(gòu)。之后利用Graph Cut算法迭代地更新顏色和幾何測(cè)量值,初步實(shí)現(xiàn)前景目標(biāo)分割。為了使分割更加貼近物體邊界,本文引入第二階段算法對(duì)分割結(jié)果進(jìn)一步細(xì)化,通過(guò)評(píng)估局部像素帶內(nèi)的顏色分步來(lái)確定前景背景顏色混合的未知區(qū)域,并使用Matting細(xì)化前景對(duì)象的分割邊界,得到高質(zhì)量的分割結(jié)果。算法的第三階段將以上分割的結(jié)果用于三維物體重建,以此提高三維重建的速度。本文算法在多圖像分割上避免了大量的人工交互,能夠自動(dòng)從多視圖圖像中分割出前景目標(biāo),即使對(duì)于高分辨率圖像,本文算法仍能獲得良好的分割邊緣。將該算法用于三維重建的前期圖像處理,可大大提高三維重建的速度。
本文用高斯混合模型GMM為每個(gè)圖像的前景和背景顏色分布構(gòu)建顏色模型,并根據(jù)顏色模型計(jì)算某像素點(diǎn)屬于前景和背景的可能性。此外,在構(gòu)建GMM之前先使用雙邊濾波去除圖像噪聲及微小細(xì)節(jié),避免顏色分布的過(guò)度擬合。本文的高斯混合模型包括前景GMM和背景GMM,定義如下:
(1)
為了實(shí)現(xiàn)所有視圖中一致前景目標(biāo)的分割,本文假設(shè)在所有不同視點(diǎn)前景對(duì)象都完全位于攝像機(jī)視野范圍內(nèi)。對(duì)于輸入的多視圖圖像的每個(gè)視點(diǎn),通過(guò)檢查點(diǎn)在圖像上的投影是否在當(dāng)前的前景二值分割范圍內(nèi),可以投票給假設(shè)點(diǎn)H(x)。為了測(cè)量前景的幾何一致性,本文使用S型函數(shù)(Sigmoid Function)定義如下所示的幾何模型:
(2)
式中:sk(x)=max(pk(H(x)))是投票最高得分,K是輸入圖像的數(shù)量,參數(shù)λ用于控制能量函數(shù)形狀,在本文中λ=20。若投票最高得分sk(x)小于K,則認(rèn)為此像素幾何不一致。
1.3.1MRF能量方程的構(gòu)造
第一階段的分割目標(biāo)是在多視圖圖像I={I1,I2,…,In}中,估計(jì)前景目標(biāo)的二值掩碼圖像X={X1,X2,…,Xn},其中n表示輸入圖像的數(shù)量。在MRF框架中,此階段的分割可被表述為單一能量函數(shù)[9]。在先前研究的基礎(chǔ)上,本文構(gòu)造了如下能量方程:
E=λEd+En
(3)
式中:Ed為能量方程的數(shù)據(jù)項(xiàng),Ed=ρ(x)Ec+(1-ρ(x))·Eg。En為能量方程的平滑項(xiàng),En=λnc·Enc+λng·Eng。與先前研究不同的是,本文能量方程的數(shù)據(jù)項(xiàng)包括顏色模型Ec和幾何模型Eg。對(duì)顏色模型中概率取負(fù)對(duì)數(shù),可將最大后驗(yàn)概率估計(jì)問(wèn)題轉(zhuǎn)換為MRF框架中的能量最小化問(wèn)題。
數(shù)據(jù)項(xiàng)中參數(shù)ρ表示權(quán)重,用來(lái)平衡顏色和幾何一致性。
(4)
像素顏色與前景GMM和背景GMM距離接近時(shí),相應(yīng)減小顏色模型的權(quán)重,同時(shí)增加幾何模型的權(quán)重。P(Ik(x)|Gf表示像素Ik(x)是前景Gf的概率。
平滑項(xiàng)用來(lái)主要體現(xiàn)相鄰像素之間不連續(xù)的懲罰,本文使用顏色能量Enc和幾何能量Eng定義兩個(gè)相鄰節(jié)點(diǎn)xp和xq的能量,如式(5)、式(6)所示:
Enc(xp,xq)=∑p,q|xp,xq|·exp[-β(Ip(x)-Iq(x))2]
(5)
(6)
式中:參數(shù)β由圖像的對(duì)比度決定,圖像本身對(duì)比度越低,β值越大,enb表示背景能量。
1.3.2MRF能量方程的求解
本文使用圖割(Graph Cut)算法對(duì)式(3)中的能量方程進(jìn)行求解,以此得到第一階段二值分割的結(jié)果。在Graph Cut中,圖像的分割可以看作像素標(biāo)記問(wèn)題,本文將前景目標(biāo)和背景的標(biāo)簽分別設(shè)為1和0,將最小化圖割問(wèn)題轉(zhuǎn)換為最小化能量方程問(wèn)題,從而實(shí)現(xiàn)前景目標(biāo)和背景的分割。
Graph Cut分割原理如圖1所示。首先使用無(wú)向圖表示要分割的圖像,Graph Cut圖包括普通頂點(diǎn)和兩個(gè)終端頂點(diǎn),頂點(diǎn)具體對(duì)應(yīng)輸入圖像的每個(gè)像素,圖中連接兩個(gè)相鄰頂點(diǎn)的線叫做邊,每條邊都有非負(fù)的權(quán)值,在圖割中可以權(quán)值可以理解為分割代價(jià)。圖割的目標(biāo)就是求解令邊的權(quán)值之和最小時(shí)得最小割(min cut)。由于最小割等價(jià)與網(wǎng)絡(luò)的最大流,因此本文采用文獻(xiàn)[10]的方法最小化能量方程,迭代地對(duì)能量方程進(jìn)行求解,直至E收斂。
圖1 Graph Cut分割示意圖
第一階段通過(guò)使用Graph Cut迭代地求解能量函數(shù),得到初步分割結(jié)果。若將分割結(jié)果直接用于三維重建,相對(duì)粗糙的邊緣會(huì)降低三維模型的完整度,因此引入第二階段過(guò)程,使用Matting[11]將部分前景目標(biāo)分割邊緣進(jìn)一步優(yōu)化。
首先檢測(cè)第一階段分割邊緣中模糊的邊界,也就是前景和背景不確定的區(qū)域。本文使用局部邊界區(qū)域中的KL散度(Kullback-Leibler divergence)衡量前景-背景的不確定程度。局部顏色混合的效果近似于兩種不同顏色的線性組合[12],因此使用線性模型衡量局部顏色分步的KL散度,公式如下:
(7)
沿第一階段分割的邊界均勻地采樣種子點(diǎn),并使用上述線性模型衡量每個(gè)種子點(diǎn)局部顏色分部的KL散度。邊界清晰附近的區(qū)域,顏色樣本集中在線性模型的兩端,而邊界模糊的區(qū)域,顏色樣本的分布會(huì)集中在線性模型的中間。通過(guò)找到投影顏色靠近局部線性模型中間的像素,可以檢測(cè)出第一階段分割結(jié)果中前景—背景不確定區(qū)域。
為了能得到更精細(xì)的分割結(jié)果,同時(shí)提高計(jì)算效率,僅對(duì)第一階段分割結(jié)果中前景-背景不確定區(qū)域使用Matting進(jìn)行邊緣優(yōu)化,求解alpha matte的目標(biāo)函數(shù):
a*=arg minααTLα+λ1(α-αg)T(α-αg)+
λ2(α-αb)TW(α-αb)
(8)
式中:L是Matting拉普拉斯矩陣;αg是第一階段分割結(jié)果;αb是邊界像素的約束;W是對(duì)角矩陣,如果像素是邊界像素,則其輸入等于1,否則為0;λ1、λ2是平衡兩個(gè)約束的權(quán)重。
考慮到重建成本和通用性問(wèn)題,本文選取更常見(jiàn)的普通相機(jī),從多視圖圖像中恢復(fù)物體三維結(jié)構(gòu)。三維重建方法步驟如下:
Step1SIFT算法進(jìn)行特征點(diǎn)檢測(cè);
Step2SIFT算法完成特征點(diǎn)之間的匹配;
Step3SFM技術(shù)得到稀疏點(diǎn)云;
Step4通過(guò)CMVS獲得稠密點(diǎn)云;
Step5MeshLab軟件生成物體三維模型。
將分割后的多視圖圖像序列作為三維重建的輸入,首先使用SIFT[13]檢測(cè)特征點(diǎn),并在不同圖像之間進(jìn)行特征點(diǎn)的匹配。然后利用SFM技術(shù)建立三維物體的稀疏點(diǎn)云,稠密點(diǎn)云則通過(guò)將稀疏點(diǎn)云輸入CMVS[14]獲得,最后使用MeshLab軟件生成物體三維模型。
為了驗(yàn)證分割算法的有效性及其對(duì)重建結(jié)果的影響,本文首先進(jìn)行了數(shù)據(jù)的采集。數(shù)據(jù)采集使用一臺(tái)相機(jī)環(huán)繞物體拍攝得到。本文所用相機(jī)的型號(hào)是(索尼ILCE-7RM2),鏡頭型號(hào)SEL50F18,焦距50 mm,拍攝角度差值約20°。在無(wú)遮擋的情況下拍攝示意圖如圖2所示。每組數(shù)據(jù)由20張尺寸為1 200×800的圖像組成。
圖2 拍攝示意圖
為了說(shuō)明分割算法的效果及不同分割算法對(duì)三維重建的影響,本文在采集的數(shù)據(jù)上進(jìn)行了測(cè)試,并將無(wú)圖像分割、利用Grab Cut算法分割以及使用本文分割算法的多視圖圖像及三維重建結(jié)果進(jìn)行了定性與定量的比較。其中,圖3、圖4是對(duì)室內(nèi)物體和室外物體進(jìn)行數(shù)據(jù)采集、自動(dòng)分割的結(jié)果,從左到右分別為原圖、Grab Cut分割結(jié)果、本文分割結(jié)果。結(jié)果顯示,在前景后景顏色分布較為接近時(shí),單純依靠Grab Cut算法難以得到良好的分割邊緣,而本文的分割算法能在無(wú)需人工交互的前提下自動(dòng)分割得到完整的前景目標(biāo)。
(a) 原圖 (b) Grab Cut分割 (c) 本文分割圖3 室內(nèi)物體分割結(jié)果
(a) 原圖 (b) Grab Cut分割 (c) 本文分割圖4 室外物體分割結(jié)果
圖5展示了對(duì)無(wú)分割、Grab Cut方法分割、本文算法分割后的多視圖圖像進(jìn)行三維重建的結(jié)果。由于Grab Cut算法在分割時(shí)損失了一部分的邊緣信息,導(dǎo)致三維重建結(jié)果不夠完整。
(a) 原圖 (b) Grab Cut分割 (c) 本文分割圖5 采用不同方法分割后三維重建結(jié)果
為了進(jìn)一步評(píng)價(jià)本文算法,將一組照片不分割、Grab Cut算法、本文算法分割的分割和重建總時(shí)間進(jìn)行了對(duì)比,對(duì)比結(jié)果如表1所示。對(duì)于單幅圖像分割,Grab Cut平均需要14.26 s,而本文算法平均需要12.00 s;不對(duì)圖像進(jìn)行任何分割,直接進(jìn)行三維重建需要耗時(shí)12 652.47 s,使用Grab Cut分割后再重建需4 915.59 s,本文算法分割后重建需5 568.76 s。本文算法分割后重建時(shí)間更長(zhǎng)是由于其邊緣完整,保留了更多的特征點(diǎn),在重建結(jié)果上也可清晰地看到本文算法分割后重建結(jié)果大幅度優(yōu)于Grab Cut分割再重建的結(jié)果。
表1 分割和重建消耗時(shí)間對(duì)比 s
圖像分割作為圖像處理的基礎(chǔ),在計(jì)算機(jī)視覺(jué)領(lǐng)域有著不可忽視的作用。如仍采用人工交互方式進(jìn)行多視圖圖像的前景目標(biāo)分割,過(guò)程過(guò)于繁瑣且浪費(fèi)人力。本文提出一種用于三維重建的前景目標(biāo)自動(dòng)分割算法,首先根據(jù)圖像序列的顏色一致性和幾何一致性,確定前景后景大致區(qū)域,并以此構(gòu)建能量方程,用Graph Cut求解能量方程得到粗略分割結(jié)果;然后使用Matting細(xì)化分割邊界,得到高質(zhì)量的分割結(jié)果;最后使用分割后圖片重建出物體三維模型。實(shí)驗(yàn)表明,本文提出的分割算法速度快、分割質(zhì)量高、無(wú)需人工交互,將本文分割算法用于三維重建前期圖像處理,可在大幅度縮短三維重建時(shí)間的同時(shí),獲得與不分割時(shí)精度相當(dāng)?shù)娜S模型。
今后的研究將考慮將多視圖圖像前景自動(dòng)分割和物體三維重建集成在同一程序內(nèi),實(shí)現(xiàn)自動(dòng)的基于序列圖像的物體三維重建。