巨志勇,翟春宇,張文馨
(上海理工大學(xué) 光電信息與計(jì)算機(jī)工程學(xué)院,上海 200093)
圖像分割是圖像處理和計(jì)算機(jī)視覺不可或缺的一部分,也是近年來的研究熱點(diǎn)之一,廣泛應(yīng)用于計(jì)算機(jī)視覺、計(jì)算機(jī)圖形學(xué)、機(jī)器人等領(lǐng)域,已取得了一定的成果。精確分割出目標(biāo)物有著十分重要的意義,但目前很多分割方法仍存在著明顯的缺陷。文獻(xiàn)[1]采用的一維熵閾值分割方法在求解分割閾值時(shí)易受噪聲的干擾。二維熵閾值分割方法雖提高了分割的精度,但運(yùn)算量過大導(dǎo)致運(yùn)算時(shí)間過長。文獻(xiàn)[2]提出用K-means均值聚類算法對圖像進(jìn)行分割,較好地改善了欠擬合的問題,但是較容易陷入到局部最優(yōu)解,最終仍會(huì)出現(xiàn)過分割的現(xiàn)象。
考慮以上缺點(diǎn) ,本文利用支持向量機(jī)(Support Vector Machine,SVM)整體復(fù)雜性較低的特點(diǎn)來提升分割效率。同時(shí),SVM可以將圖像分割問題轉(zhuǎn)換成圖像像素的分類,提高分割精度[3-5]。
在支持向量機(jī)分割算法方面,文獻(xiàn)[6]采用分區(qū)域特征匹配方法,進(jìn)行二維圖像的分塊融合性檢測和特征塊匹配,根據(jù)超聲紋理的規(guī)則性特征分量進(jìn)行病理邊緣特征提取,并利用提取的精度作為約束條件,優(yōu)化SVM進(jìn)行分割。文獻(xiàn)[7]采用顯著性檢測得到大致的顯著區(qū)域和背景區(qū)域,并分別提取顏色等特征利用SVM進(jìn)行訓(xùn)練,有效解決了因?yàn)轱@著圖不均勻?qū)е路指罱Y(jié)果缺乏準(zhǔn)確邊緣的問題。
針對于區(qū)域生長算法噪聲及灰度不均可能會(huì)導(dǎo)致過分割的問題,基于文獻(xiàn)[6~7],本文提出了一種基于SVM的區(qū)域生長分割算法。該方法改進(jìn)了區(qū)域生長算法的人工參與的缺陷,解決了可能會(huì)導(dǎo)致的空洞和過分割問題,提升了分割精度,提高了分割效率。
為了使實(shí)驗(yàn)更加接近真實(shí)環(huán)境,獲得更好的仿真效果,本實(shí)驗(yàn)所采用的圖片大多數(shù)由研究者們自行拍攝,主要來源于生活中各種帶有標(biāo)簽的商品。但是考慮到實(shí)驗(yàn)所需要的數(shù)據(jù)集比較大,所以有部分商品圖片來源于網(wǎng)絡(luò)的公用數(shù)據(jù)集,主要包括帶有標(biāo)簽的水果蔬菜、衣服鞋帽、零食等,共計(jì)500張圖片。部分圖像如圖1所示。
圖1 圖像數(shù)據(jù)集
為了方便后續(xù)處理,實(shí)驗(yàn)人員將圖片的像素大小歸一化處理為640×480。本實(shí)驗(yàn)首先對圖片進(jìn)行預(yù)處理操作,包括對圖像的空間進(jìn)行變換以及圖像增強(qiáng)等。增強(qiáng)后的圖像無論在后期的特征提取,還是在進(jìn)行識別分類方面都有著較為明顯的效果[8]。
1.2.1 圖像增強(qiáng)
圖像增強(qiáng)[9]的目的是將原來不清晰的圖像變得清晰或強(qiáng)調(diào)某些感興趣的特征,抑制不感興趣的特征,改善圖像質(zhì)量,豐富圖像信息量,提升圖像細(xì)節(jié)和識別效果。圖像增強(qiáng)算法包括對比度拉伸、gamma校正、直方圖均衡化、直方圖規(guī)定化和同態(tài)濾波器。處理的圖像如圖2所示。
圖2 增強(qiáng)效果
在某些情況下,實(shí)驗(yàn)人員采集的數(shù)據(jù)特征不一定十分明顯,因此需要先處理成特定的直方圖,以便增強(qiáng)圖像中的灰度級。本實(shí)驗(yàn)采用直方圖規(guī)定化對圖像進(jìn)行增強(qiáng)。
1.2.2 彩色空間的轉(zhuǎn)換
在彩色圖像的處理過程中,不同顏色模型會(huì)影響后續(xù)的效果。最常見的顏色模型[10]有RGB、Lab、HSI、HSV等。在RGB顏色空間中,R、G、B分別表示三基色,世界上所有顏色均由這3種分量組合而成,但RGB顏色空間的亮度信息與色度信息沒有分離,關(guān)聯(lián)太大且每個(gè)通道都編入了亮度信息,邊緣像素信息不能得到較好的保存。因此本文將圖像從RGB色彩空間轉(zhuǎn)變至HSI空間進(jìn)行圖像增強(qiáng)。HSI色彩空間的色調(diào)、飽和度和亮度3個(gè)分量呈現(xiàn)圖像色彩,避開了RGB的缺陷,分離了圖像亮度與顏色分量,因此對亮度分量的增強(qiáng)操作不影響顏色信息,能有效避免圖像顏色失真,且對圖像的增強(qiáng)處理僅需在一個(gè)維度上進(jìn)行,提升了圖像處理速度。RGB向HSI顏色空間的轉(zhuǎn)換式如下
(1)
(2)
(3)
(4)
本文算法首先通過區(qū)域生長算法將包含標(biāo)簽的商品從無關(guān)背景當(dāng)中分割出來,從而得到帶有標(biāo)簽的前景區(qū)域與無關(guān)背景區(qū)域,再利用區(qū)域生長算法從前景區(qū)域提取商品,剩余區(qū)域即為目標(biāo)區(qū)域。根據(jù)目標(biāo)標(biāo)簽區(qū)域和商品區(qū)域?qū)?yīng)的坐標(biāo)到RGB圖像中找到相應(yīng)位置,并將各自特征向量作為SVM的正負(fù)訓(xùn)練樣本。最終使用SVM對整幅圖像精確分割出目標(biāo)區(qū)域。算法流程圖如圖3所示。
圖3 算法流程圖
區(qū)域生長算法[11]是一種影像分割技術(shù),其根據(jù)一定判斷條件,將具有相似準(zhǔn)則的像素合并起來連成區(qū)域。噪聲和灰度不均可能會(huì)導(dǎo)致空洞和過分割,因此該方法對圖像中陰影效果處理較差。區(qū)域生長主要分兩個(gè)步驟,首先是種子點(diǎn)的選?。黄浯问歉鶕?jù)像素點(diǎn)和種子之間的性質(zhì)進(jìn)行對比、合并向外生長,即可獲取目標(biāo)標(biāo)簽。
SVM處理分類問題的主要思想是尋找一個(gè)最優(yōu)分類超平面作為決策曲面,使兩類之間的分類間距達(dá)到最大,從而將最優(yōu)分類超平面轉(zhuǎn)換為求解二次規(guī)劃尋優(yōu)的對偶問題。該算法的復(fù)雜度取決于支持向量的個(gè)數(shù),所以該算法可有效地解決高維的問題。本實(shí)驗(yàn)中的輸入向量是正負(fù)樣本,設(shè)為xi,yi(i=1,2,3…)(xi∈Rd),對應(yīng)的分類標(biāo)記yi∈{-1,+1},SVM在高維特征向量中求解最優(yōu)分類超平面的問題是
(5)
式中,c為懲罰系數(shù)。c越大代表錯(cuò)誤越大,會(huì)導(dǎo)致w增加,即泛化能力下降。通過調(diào)節(jié)c的大小可以調(diào)整訓(xùn)練誤差。采用不同的核函數(shù)可以構(gòu)造不同的SVM分類算法[12]。常用的核函數(shù)包括線性核函數(shù)、多項(xiàng)式核函數(shù)、徑向基核函數(shù)(RBF核函數(shù))和Sigmoid核函數(shù)。本實(shí)驗(yàn)采用的是多項(xiàng)式核函數(shù),計(jì)算式為
(6)
式中,d代表多項(xiàng)式核函數(shù)的最高次項(xiàng),本實(shí)驗(yàn)中選用的是3;g代表核函數(shù)中的gamma參數(shù),決定SVM的復(fù)雜程度,本實(shí)驗(yàn)中為0.5。
2.3.1 區(qū)域生長算法的改進(jìn)
傳統(tǒng)的區(qū)域生長算法是一種半人工算法,需要實(shí)驗(yàn)者手動(dòng)指定種子點(diǎn)位置來進(jìn)行分割。為了彌補(bǔ)這一不足,本實(shí)驗(yàn)采用區(qū)域生長進(jìn)行分割。但在分割時(shí)可能會(huì)受到陰影的影響,錯(cuò)誤地將陰影部分和商品部分一起分割出來,不能完整準(zhǔn)確尋找到商品區(qū)域,所以本文采用第二次區(qū)域生長分割出商品本身以及部分陰影,進(jìn)一步得到標(biāo)簽區(qū)域。在第一次區(qū)域生長分割時(shí),將種子點(diǎn)自動(dòng)選取在(0,0)點(diǎn),使周圍像素根據(jù)種子點(diǎn)的特征來進(jìn)行生長,可以確定無關(guān)背景區(qū)域,從而確定前景區(qū)域。在第二次區(qū)域生長時(shí),先對商品進(jìn)行分割來獲得商品本身和標(biāo)簽上的部分陰影,使得剩余部分一定是標(biāo)簽的一部分,以便后續(xù)處理。本實(shí)驗(yàn)采用了多點(diǎn)生長的方法對區(qū)域生長進(jìn)行改進(jìn),即在前景區(qū)域隨機(jī)選取十個(gè)像素點(diǎn)作為種子點(diǎn)分別進(jìn)行生長并形成各自像素點(diǎn)集合。由于商品本身所占前景的比例遠(yuǎn)大于目標(biāo)標(biāo)簽,所以商品上的像素點(diǎn)在集合中出現(xiàn)次數(shù)一定會(huì)在一個(gè)閾值之上。本實(shí)驗(yàn)中選取閾值d為5進(jìn)行判斷,即如果在10個(gè)集合中像素點(diǎn)出現(xiàn)次數(shù)大于5次,則認(rèn)為該部分為商品本身區(qū)域,其余部分即為目標(biāo)標(biāo)簽區(qū)域。
2.3.2 SVM的改進(jìn)
自然圖像中的顏色通常只覆蓋整個(gè)彩色空間的小部分。在大多數(shù)圖像中,目標(biāo)區(qū)域或商品區(qū)域中一般不超過3個(gè)主色。通過分析彩色圖像的特點(diǎn),在目標(biāo)標(biāo)簽區(qū)域和商品本身區(qū)域分別選取3個(gè)主色,并將其對應(yīng)像素點(diǎn)的顏色、紋理等特征構(gòu)成特征向量,作為正負(fù)樣本的輸入向量,利用SVM分類器訓(xùn)練。
(1)主色的選取。在使用區(qū)域生長算法進(jìn)行分割時(shí),可能會(huì)受到光線的影響,產(chǎn)生的陰影會(huì)對圖像特征提取造成影響。因此,本實(shí)驗(yàn)需要先對商品區(qū)域和目標(biāo)標(biāo)簽區(qū)域進(jìn)行主色的提取,步驟如下:
步驟1分別對處理后得到的HSI圖像中的商品區(qū)域和目標(biāo)標(biāo)簽區(qū)域提取顏色直方圖,獲得兩個(gè)區(qū)域中的3個(gè)主要顏色信息;
步驟2對比兩個(gè)區(qū)域的顏色,若標(biāo)簽區(qū)域和商品區(qū)域都有著相同的像素級,則該顏色不是主色,否則是主色;
步驟3將判定為標(biāo)簽主色和商品主色的像素點(diǎn)位置分別進(jìn)行記錄,記為S1和S2。
(2)顏色特征的提取。在同精度下,Lab(亮度、紅色到綠色的范圍、黃色到藍(lán)色的范圍)顏色空間的位圖比RGB或CMYK位圖需要獲得更多的像素?cái)?shù)據(jù)。Lab空間所定義的色彩最多,與光線及設(shè)備無關(guān)。此外,lab處理速度與RGB顏色空間速度相近,比CMYK模式快很多,因此本文采用Lab顏色空間進(jìn)行顏色特征提取。轉(zhuǎn)換式如下:
①RGB轉(zhuǎn)XYZ
(7)
(8)
(9)
(10)
②XYZ轉(zhuǎn)Lab
(11)
(12)
其中,R、G、B分別為某點(diǎn)像素通道的值,取值范圍均為[0,255]。
綜上,本實(shí)驗(yàn)所提取的顏色特征如式(13)所示。
Fxy=(a,b)
(13)
(3)紋理特征的提取。紋理是一種反映圖像中同質(zhì)現(xiàn)象的視覺特征[13],它體現(xiàn)了物體表面的具有緩慢變化或者周期性變化的表面結(jié)構(gòu)組織排列屬性。本文通過以下步驟獲取紋理特征:
步驟2利用式(14)求取每個(gè)像素的4個(gè)方向梯度中絕對值的最大值,作為該像素的紋理特征
(14)
考慮到相鄰像素點(diǎn)具有相似的像素和特征,因此本文選自二維坐標(biāo)x、y作為空間向量特征。
綜上所述,圖像像素級特征向量表示為式(15)。
Zxy=(x,y,Fxy,Exy)
(15)
2.3.3 SVM和區(qū)域生長法相結(jié)合的分割方法
綜合SVM算法與區(qū)域生長分割方法,本文提出了基于SVM和區(qū)域生長的圖像分割方法,步驟如下:
步驟1將預(yù)處理得到的圖像通過區(qū)域生長算法[14]進(jìn)行第一次分割,標(biāo)記為背景區(qū)域,其他區(qū)域?yàn)閹в心繕?biāo)標(biāo)簽的商品區(qū)域;
步驟2分割商品標(biāo)簽。再一次使用改進(jìn)后的區(qū)域生長算法對具有相似紋理的商品本身進(jìn)行提取,標(biāo)記為商品區(qū)域。采用深度膨脹運(yùn)算獲得一個(gè)超過商品區(qū)域?qū)嶋H大小的物體,以確定其他區(qū)域全部都在目標(biāo)標(biāo)簽區(qū)域中。然后,用反向閾值將其余區(qū)域標(biāo)記為目標(biāo)標(biāo)簽區(qū)域[15];
步驟3確定目標(biāo)標(biāo)簽區(qū)域和商品區(qū)域的坐標(biāo),找到原圖像的對應(yīng)位置;
步驟4對商品區(qū)域和目標(biāo)標(biāo)簽區(qū)域進(jìn)行特征提取,得到Zxy,具體方法詳見章節(jié)2.3.2;
步驟5將得到的最終訓(xùn)練特征Zxy作為正負(fù)樣本分別放入SVM進(jìn)行訓(xùn)練,保存該模型;
步驟6當(dāng)處理新圖片時(shí),利用該模型按照特征直接提取標(biāo)簽部分的坐標(biāo);
步驟7將分割后的圖像與原圖像做交集運(yùn)算,即可將標(biāo)簽主體的彩色圖像從背景當(dāng)中分割出來。
各個(gè)步驟具體的效果圖如圖4所示。
圖4 分割處理過程
用SVM算法優(yōu)化區(qū)域生長算法的圖像分割方法,按照算法處理步驟,在Windows10操作系統(tǒng)平臺上,本文通過可視化開發(fā)平臺MATLAB R2018b編程加以實(shí)現(xiàn)。計(jì)算機(jī)的基本配置為CPU Intel(R)Core(TM)i5-5200U,2.20 GHz,運(yùn)行內(nèi)存為12 GB。
為了驗(yàn)證本文所提到的分割方法的實(shí)用性和有效性,本實(shí)驗(yàn)對帶有標(biāo)簽的商品分別用傳統(tǒng)形態(tài)學(xué)區(qū)域生長分割算法和本文改進(jìn)的算法作對比,進(jìn)行效果驗(yàn)證。
實(shí)驗(yàn)結(jié)果如圖5所示,第1行表示原始圖像;第2行表示用傳統(tǒng)的區(qū)域生長算法分割出的圖像;第3行是利用本文算法分割出目標(biāo)標(biāo)簽的位置圖;第4行代表本文算法分割的彩色標(biāo)簽圖片。根據(jù)分割效果圖可知,傳統(tǒng)的區(qū)域生長算法由于人工參與確定種子點(diǎn)位置,因此可以較好地確定標(biāo)簽位置,但卻不能有效處理陰影部分,當(dāng)商品上有比較復(fù)雜紋理的圖片也會(huì)出現(xiàn)過分割的問題。而本實(shí)驗(yàn)提出的算法中有效改進(jìn)了傳統(tǒng)算法中需要人工的參與分割的問題,且分割更加準(zhǔn)確,分割后的效果圖中保留了更多的目標(biāo)標(biāo)簽信息,有利于下一步識別工作。
圖5 實(shí)驗(yàn)對比圖
為了進(jìn)一步驗(yàn)證本文所提到的分割方法的準(zhǔn)確率和效率,采用分割準(zhǔn)確率和運(yùn)行時(shí)間作為指標(biāo)對本文算法進(jìn)行評定。
分割準(zhǔn)確率cor是分割結(jié)果相對于標(biāo)準(zhǔn)圖的欠擬合和過擬合的準(zhǔn)確率
N=z(x)
(16)
(17)
式中,T1表示的是準(zhǔn)確的標(biāo)簽分割圖像的像素點(diǎn)集合;T2表示的是本文算法分割出來的標(biāo)簽圖像的像素點(diǎn)集合;N代表像素點(diǎn)集合的個(gè)數(shù)。
表1表示的是分別采用傳統(tǒng)區(qū)域生長算法和本文算法對標(biāo)簽分割的準(zhǔn)確率與時(shí)間的對比。本實(shí)驗(yàn)對500張圖片分割處理,準(zhǔn)確率為平均準(zhǔn)確率,時(shí)間是分割的總運(yùn)行時(shí)間。
表1 準(zhǔn)確率與時(shí)間對比
由表1可知,處理較大規(guī)模的圖像時(shí),傳統(tǒng)區(qū)域生長算法無論是在準(zhǔn)確率和運(yùn)行時(shí)間上都不顯優(yōu)勢,而本文提出的彩色標(biāo)簽圖像分割算法可以有效地分割彩色圖像,較好地去掉周圍的邊緣噪聲[16],保留更多的細(xì)節(jié)。無論在分割的效率、精度,還是對彩色圖片的細(xì)節(jié)處理,本文算法都體現(xiàn)出明顯的優(yōu)勢。
本文提出的區(qū)域生長與SVM相結(jié)合的優(yōu)化算法,在傳統(tǒng)算法的基礎(chǔ)上增加了更正錯(cuò)誤檢測機(jī)制。在檢測時(shí),可根據(jù)已經(jīng)訓(xùn)練好的模型更加快速和準(zhǔn)確地確定目標(biāo)標(biāo)簽的位置,進(jìn)行精確分割,提高分割效率,有效改善了傳統(tǒng)算法中可能存在的過分割的問題。實(shí)驗(yàn)結(jié)果表明,和傳統(tǒng)的區(qū)域生長算法相比,采用本文算法不僅能夠更加有效地獲得更為精確的分割效果,還能保留標(biāo)簽本身的一些細(xì)節(jié),提高了分割效率,為下一步分類識別奠定了基礎(chǔ)。