王 茜,何小海,吳曉紅,吳小強(qiáng),滕奇志
(四川大學(xué) 電子信息學(xué)院 圖像信息研究所,四川 成都 610065)
圖像分割是圖像處理的重要手段之一[1],是將圖像分為不同的區(qū)域, 區(qū)域內(nèi)具有一定的相似性,不同區(qū)域之間的特征差異較為明顯。 2001 年,Boykov 等[2]提出 GraphCut 算法,用戶在待分割圖像背景和前景上畫線,指明少量前景像素和背景像素,算法建立s-t 圖,利用最小割最大流實(shí)現(xiàn)圖像分割。 GraphCut 算法采用灰度直方圖,無法分割彩色圖像。針對該問題,Rother 等[3]提出 GrabCut 算法,用戶用矩形框標(biāo)記前景位置,通過k-means 將像素聚類為 k 類,初始化 k 個(gè) GMM 模型,構(gòu)建能量函數(shù)并利用該函數(shù)對圖像進(jìn)行分割。 由于 GrabCut 算法操作簡單,分割精度較高而被廣泛關(guān)注和應(yīng)用,國內(nèi)外的許多學(xué)者對該算法進(jìn)行了改進(jìn)。 周良芬等[4]采用二次分水嶺對梯度圖像做預(yù)處理,增強(qiáng)圖像邊緣點(diǎn),再利用熵的特性優(yōu)化能量分割函數(shù),提高圖像分割精度,但是增加了算法的復(fù)雜程度。 董茜等[5]通過SLIC 超像素算法對圖像進(jìn)行分割,利用分割的超像素圖建立加權(quán)圖,減少節(jié)點(diǎn)數(shù),提高分割效率,但傳統(tǒng)SLIC 在紋理明顯處會出現(xiàn)不規(guī)則超像素塊。 白雪冰等[6]將圖像從 RGB 空間轉(zhuǎn)化到 Lab 空間, 再利用 SLICO 算法對圖像進(jìn)行預(yù)處理, 改善GMM 模型參數(shù),使分割不受背景凹凸紋理的干擾,可優(yōu)化分割,但是仍然存在少部分過分割的問題。楊小鵬等[7]采用 Faster R-CNN[8]減少用戶交互,融入圖像位置信息提高GrabCut 分割效果,但對紋理復(fù)雜的圖像分割效果無明顯改善。 劉靜等[9]針對背景復(fù)雜、細(xì)節(jié)豐富的皮影提取問題,采用相對總變差平滑的方法優(yōu)化GrabCut 分割,由于算法具有交互性,主觀的選取會影響分割結(jié)果。 詹琦梁等[10]利用Mask RCNN 算法對待分割圖像進(jìn)行初步分割,再結(jié)合SLIC 超像素分割得到的超像素塊,獲得初始三元圖,最后利用GrabCut 算法對其進(jìn)行分割,客觀上提高了分割精確度,卻消耗了更多的運(yùn)行時(shí)間。
針對以上對特征不明顯、紋理復(fù)雜圖像分割效果不好且用戶操作過多等問題,本文提出一種結(jié)合圖像增強(qiáng)、目標(biāo)檢測和改進(jìn)k-means 聚類的GrabCut 算法。
GrabCut 是對 GraphCut 的改進(jìn),是交互式分割,其定義了吉布斯能量函數(shù),通過求解能量函數(shù)中的min-cut,對圖像進(jìn)行分割。 下式是能量函數(shù)表達(dá)式:
GrabCut 需要用戶用矩形框標(biāo)注感興趣的區(qū)域,框外的圖像定義為背景,框內(nèi)的像素被定義為可能的背景和可能的前景。 通過k-means 算法將矩形框內(nèi)的像素聚類為 k 類,初始化 GMM 中 k 個(gè)模型。 按式(2)計(jì)算矩形框中像素的RGB 值,判斷像素屬于哪個(gè)高斯分量模型:
式中,θ=(μ,δ2),其中,μ 為均值,δ2為方差。
區(qū)域數(shù)據(jù)項(xiàng)表示某個(gè)像素屬于背景或者前景的概率的負(fù)對數(shù),按式(3)進(jìn)行計(jì)算:
確定每個(gè)像素屬于前景和背景的概率之后,按式(4)計(jì)算平滑項(xiàng):
式中,m,n 表示像素坐標(biāo);C 表示相鄰顏色對的集合;dis(m,n)-1表示相鄰像素之間的歐幾里得距離,此 處取 1;β=(2〈(zm-zn)2〉)-1,〈·〉表 示圖像樣 本 的期望。
根據(jù)吉布斯能量項(xiàng),構(gòu)建 s-t 圖,通過式(5)最大流/最小割對圖像進(jìn)行分割:
圖像上某個(gè)像素的紋理特征是指該像素與其領(lǐng)域內(nèi)點(diǎn)的關(guān)系,不同的物體具有不同的紋理特征,根據(jù)紋理特征能對圖像進(jìn)行更好的分類。 本文采用Ojala 提出來的描述圖像紋理特征的 LBP 算子[11],該算子具有旋轉(zhuǎn)不變性和灰度不變性等優(yōu)點(diǎn)。
下式為LBP 的特征定義:
式 中,gc表 示中心 點(diǎn) 像 素 值 ;g1~g8表 示 八 領(lǐng) 域 像素值。
以 3×3 模板為單位,將中間像素 gc作為閾值,若八領(lǐng)域的像素值大于gc,標(biāo)記該像素點(diǎn)為 1,否則標(biāo)記為 0。 經(jīng)過比較可產(chǎn)生一個(gè) 8 位二進(jìn)制數(shù),轉(zhuǎn)化為十進(jìn)制則得到中間像素 LBP 值,LBP 值反映該點(diǎn)的紋理信息。 按下式計(jì)算:
由于GrabCut 是用戶交互式圖像分割算法,為減少操作,本文利用YOLOv4[12]進(jìn)行目標(biāo)檢測,輸出前景。 YOLOv4 是 YOLO3 的 提升。 圖 1 是前景目 標(biāo)檢測的組成部分。
圖1 YOLOv4 網(wǎng)絡(luò)結(jié)構(gòu)
在輸入端中加入Mosaic 數(shù)據(jù)增強(qiáng)等,進(jìn)而豐富檢測數(shù)據(jù)集,提高網(wǎng)絡(luò)魯棒性。 主干網(wǎng)絡(luò)中則運(yùn)用了各種各樣的新方式,包括 CSPDarknet53、Mish 激活函數(shù)和 Dropblock。 CSPDarknet53 是 CSPNet 的借鑒,包含 5 個(gè) CSP 模塊,目的是增強(qiáng) CNN 學(xué)習(xí)能力,降低計(jì)算和內(nèi)存成本。 Dropblock 是為了緩解過擬合。Neck 模塊采用 SPP 模 塊 、FPN+PAN 結(jié)構(gòu)。 SSP 能增加主干特征接收范圍,融合多尺度特征。 FPN+PAN結(jié)構(gòu)能夠從不同主干聚合不同檢測層的參數(shù)。Prediction 中采用 CIOU_Loss 作為目標(biāo)檢測任務(wù)的損失函數(shù),使預(yù)測框更精準(zhǔn)。
本文采用COCO2017 數(shù)據(jù)集,包含人、鳥、車、飛機(jī)、交通燈等90 類待識別物體,實(shí)驗(yàn)選用人、花、鳥、飛機(jī)、樹、葉六類作為訓(xùn)練集。 采用 MSRA10K 作為測試集,利用 YOLOv4 檢測前景目標(biāo),標(biāo)注其矩形框,從而減少了用戶操作。
在 GrabCut 原始算法中,k-means 算法只對圖像的顏色信息進(jìn)行了聚類,下式是原始像素特征:
式中,zR,zG,zB表示像素點(diǎn) xi的 RGB 分量值。
該特征單一,容易導(dǎo)致圖像在初始分類像素分類錯(cuò)誤。 考慮到圖像整體信息,在聚類時(shí)融合圖像的位置信息和紋理特征信息,優(yōu)化GMM 模型參數(shù),下式是優(yōu)化后的特征:
式中,W,H 表示圖像的寬和高;zx,zy表示像素點(diǎn) xi在圖像中的位置;zLBP表示像素點(diǎn) xi的 LBP 紋理特征值。
圖2 是圖像聚類效果對比,在第一幅對比圖中,原始算法中花瓣邊緣處和花瓣中心大部分被分為兩個(gè)高斯分量, 改進(jìn)后花朵整體基本處于一個(gè)高斯分量。在第二幅對比圖中,原始算法楓葉整體分布雜亂,在改進(jìn)后,像素分配的高斯分量更合理了。 從對比中可以看出, 添加像素位置信息和紋理特征信息之后,能合理分配像素高斯分量,有效減少算法迭代次數(shù)。
圖2 聚類效果對比
本文算法首先使用基于奇異值分解和引導(dǎo)濾波的圖像增強(qiáng)法[13]對特征不明顯的圖像進(jìn)行改善。 然后,采用YOLOv4 模型標(biāo)記前景圖像矩形框位置。 將圖像像素位置信息和LBP 算子提取的像素紋理特征信息融入 k-means 算法,優(yōu)化 GMM 模型參數(shù),改進(jìn)GrabCut 算法。利用分割圖像掩膜獲得原始分割圖像,并做邊緣平滑處理。 本文算法框圖如圖3 所示。
圖3 GrabCut 改進(jìn)后的算法框圖
本文算法首先對特征不明顯的圖像進(jìn)行圖像增強(qiáng),再利用YOLOv4 輸出待分割圖像前景所在位置矩形框,將圖像中像素的位置信息和由LBP 算子提取的像素紋理信息融入k-means 聚類中,優(yōu)化GMM 模型參數(shù),完成對圖像的分割。
本文實(shí)驗(yàn)步驟如下:
(1)通過 Max-RGB 模型[14]得到圖像初始光照分量,以 3×3 為模板,對圖像進(jìn)行奇異值分解,取最大奇異值作為中心點(diǎn)光照。 再利用初始光照分量進(jìn)行引導(dǎo)濾波,得到增強(qiáng)圖像Len。
(2)將圖像 Len送入 YOLOv4 模型中,輸出目標(biāo)矩形框位置。
(3)在 k-means 聚類中融入圖像 Len的像素位置信息和紋理特征信息,利用已經(jīng)確定的背景像素、可能的前景和可能的背景像素初始化GMM 模型參數(shù)。
(4)利用 max-flow 算法求得 min-cut,迭代優(yōu)化GMM 模型參數(shù),分割圖像 Len,得到前景圖像 Lf。
(5)對圖像 Lf進(jìn)行閾值分割,獲取前景圖像掩膜Lmask。
(6)掩膜圖像 Lmask與原始圖像 L 結(jié)合,得到分割圖像 Lse。
(7)對圖像 Lse做平滑處理,改善圖像質(zhì)量。
3.3.1 實(shí)驗(yàn)結(jié)果分析
從 MSRA10K 數(shù)據(jù)集中選取 YOLOv4 訓(xùn)練類別的圖像,用 GrabCut 原始算法、文獻(xiàn)[15]算法和本文算法對圖像進(jìn)行分割, 并對本文算法進(jìn)行評估。 圖4是不同算法分割對比圖。
圖4 不同算法分割對比
第一組是將由花朵組成的愛心從背景木板分割開,圖像前景背景的紋理都較為復(fù)雜,GrabCut 原始算法和文獻(xiàn)[15]都誤將模板上的缺陷劃為了背景,而本文算法則較為完整地分割出前景圖像。 第二組是分割棒球手和球場,GrabCut 原始算法將棒球員的手錯(cuò)誤地劃分為背景,文獻(xiàn)[15]對手的細(xì)節(jié)部位處理不到位,相比之下,本文算法對棒球手的部位手分割更為細(xì)致。第三組是區(qū)分鷹和海面,GrabCut 原始算法、文獻(xiàn)[15]和本文算法都獲得了很好的分割效果,但是本文算法對鷹邊緣的分割效果勝于對比文獻(xiàn)。
3.3.2 在巖石分割中的應(yīng)用
圖5 是將本文算法應(yīng)用于巖石的分割。 由于本文算法考慮了巖石紋理和背景紋理的區(qū)別,避免了分割之后空洞的產(chǎn)生,但是本文算法仍然需要進(jìn)一步的改進(jìn),以提升分割效果。
圖5 實(shí)際應(yīng)用對比圖
分割是圖像處理中重要的一部分,精確分割感興趣的區(qū)域有利于后續(xù)工作的開展,例如將分割運(yùn)用于巖石的識別和三維重建,有利于巖石標(biāo)本圖譜的構(gòu)建和數(shù)字化存儲巖石標(biāo)本。
針對GrabCut 算法對特征不明顯、紋理復(fù)雜的圖像分割效果不佳的問題,本文提出了基于GrabCut的改進(jìn)分割算法。 首先,對待分割的圖像進(jìn)行預(yù)處理圖像增強(qiáng),增強(qiáng)圖像對比度,避免圖像在分割時(shí)出現(xiàn)空洞;然后,利用YOLOv4 對圖像前景目標(biāo)所在位置進(jìn)行標(biāo)記,降低用戶交互復(fù)雜度;其次,對GrabCut 算法進(jìn)行改進(jìn),從圖像整體信息考慮,融合圖像位置信息和紋理特征信息,分割圖像;經(jīng)處理獲得前景圖像的掩膜,再與原圖融合,得到原始前景圖像;最后對圖像邊緣進(jìn)行平滑處理。 經(jīng)實(shí)驗(yàn)表明,本文算法能夠有效地提高圖像分割的準(zhǔn)確度和可靠性。