孟 慶 春(鄭州工業(yè)應(yīng)用技術(shù)學(xué)院信息工程學(xué)院 河南 鄭州 451100)
顯著性目標(biāo)檢測(cè)作為圖像的預(yù)處理模塊,可用于目標(biāo)檢測(cè)、目標(biāo)跟蹤、目標(biāo)分割等各種方面。近年來(lái),顯著性目標(biāo)檢測(cè)成為國(guó)內(nèi)外計(jì)算機(jī)視覺(jué)研究的熱點(diǎn)問(wèn)題。早期的顯著性目標(biāo)檢測(cè)研究多是基于視覺(jué)對(duì)比度,此后局部對(duì)比度和全局對(duì)比度也逐漸在顯著性目標(biāo)檢測(cè)中得到應(yīng)用[1]。視覺(jué)對(duì)比主要是采用不同類(lèi)型手工標(biāo)識(shí)的低層次特征(如顏色、強(qiáng)度和紋理)在像素或分段級(jí)別上的對(duì)比。盡管手工標(biāo)識(shí)在大多數(shù)簡(jiǎn)單的靜態(tài)圖像中表現(xiàn)良好,但對(duì)于復(fù)雜背景或較小目標(biāo)等復(fù)雜情況,大多數(shù)視覺(jué)對(duì)比算法均難以進(jìn)行顯著性目標(biāo)檢測(cè)[2]。局部對(duì)比度特征可能無(wú)法檢測(cè)顯著性目標(biāo)內(nèi)部的同質(zhì)區(qū)域造成目標(biāo)“空洞”,全局對(duì)比度會(huì)受到復(fù)雜背景的影響[3]。雖然基于機(jī)器學(xué)習(xí)的顯著性檢測(cè)模型已經(jīng)開(kāi)發(fā),但這些模型主要是結(jié)合不同手工標(biāo)識(shí)特征或融合不同算法來(lái)生成多個(gè)顯著性目標(biāo)圖像[4]。近幾年,顯著性目標(biāo)檢測(cè)算法大多數(shù)采用了深度卷積神經(jīng)網(wǎng)絡(luò)(Convolutional Neural Network,CNN),大都獲得了比手工標(biāo)識(shí)特征更魯棒的效果[5]。此外,由于CNN通常是在數(shù)據(jù)集上進(jìn)行視覺(jué)識(shí)別任務(wù)的預(yù)訓(xùn)練,所以采用CNN提取的特征還包括更高層次的語(yǔ)義信息。然而,由于大多數(shù)算法所采用的CNN操作都是補(bǔ)丁級(jí)而非像素級(jí),所以每個(gè)像素被簡(jiǎn)單地分配包圍補(bǔ)丁的顯著性值,導(dǎo)致最終檢測(cè)的顯著性目標(biāo)圖像通常是模糊的,特別是顯著性目標(biāo)的邊界模糊現(xiàn)象尤為明顯。而且這類(lèi)算法的所有圖像塊都被看作獨(dú)立的數(shù)據(jù)樣本進(jìn)行分類(lèi)或回歸,所以需要運(yùn)行至少數(shù)千次CNN(每個(gè)圖像塊一次)才能獲取一個(gè)完整的顯著性映射,這將導(dǎo)致計(jì)算和存儲(chǔ)的冗余,消耗大量的時(shí)間和空間。
為進(jìn)一步提高顯著性目標(biāo)檢測(cè)的精確度并解決上述基于CNN顯著性檢測(cè)算法的局限性,本文結(jié)合卷積神經(jīng)網(wǎng)絡(luò)[6],給出一種基于深度網(wǎng)絡(luò)的顯著性目標(biāo)檢測(cè)算法(SOD2N)。SOD2N算法是一種基于端到端的深度對(duì)比網(wǎng)絡(luò),其中“端到端”是指深度網(wǎng)絡(luò)只需要在輸入圖像上運(yùn)行一次便可以生成相同像素級(jí)的顯著性圖像,從而克服上述基于CNN的顯著性檢測(cè)算法的局限性。SOD2N算法首先介紹了一種顯著性目標(biāo)檢測(cè)的端到端深度對(duì)比網(wǎng)絡(luò),其是由一個(gè)全卷積流和一個(gè)流形排序組成,然后利用條件隨機(jī)場(chǎng)CRF將兩個(gè)流進(jìn)行最優(yōu)權(quán)值的融合,從而可以更好地提高檢測(cè)精度。SOD2N算法引入一個(gè)多尺度的全卷積網(wǎng)絡(luò)作為深度對(duì)比度的第一個(gè)流,直接從原始輸入圖像中運(yùn)行一次即可得到像素級(jí)的顯著性圖像,不僅抑制了冗余信息并突出目標(biāo),而且獲取了多尺度特征圖之間的視覺(jué)對(duì)比度,解決了目標(biāo)邊界不連續(xù)的情況。此外,SOD2N算法還改進(jìn)了GMR[7]流形排序算法,通過(guò)基于圖像四邊的邊界先驗(yàn)知識(shí)進(jìn)行流形排序,然后依據(jù)前景與背景是相對(duì)的這一理論提出背景計(jì)算,不僅有效抑制了背景冗余信息,加強(qiáng)了目標(biāo)區(qū)域,而且還提高了算法的魯棒性。SOD2N算法與已有算法的區(qū)別主要有以下兩個(gè)方面,一是采用端到端的卷積深度對(duì)比網(wǎng)絡(luò),從原始輸入圖像中運(yùn)行一次即可得到相同像素級(jí)的顯著性圖像,而已有采用基于卷積神經(jīng)網(wǎng)絡(luò)的檢測(cè)算法需要每個(gè)圖像塊運(yùn)行一次卷積神經(jīng)網(wǎng)絡(luò);二是利用基于圖像四邊的邊界先驗(yàn)知識(shí)改進(jìn)了GMR流形排序算法,可以有效抑制背景冗余信息,使顯著性目標(biāo)輪廓可以得到很好的保留,而已有采用基于卷積神經(jīng)網(wǎng)絡(luò)的檢測(cè)算法存在邊界模糊的現(xiàn)象非常明顯。
近年來(lái),國(guó)內(nèi)外專(zhuān)家學(xué)者對(duì)顯著性目標(biāo)檢測(cè)進(jìn)行了諸多研究,提出了一些比較有代表性的顯著性目標(biāo)檢測(cè)方案。例如:LR算法是一種結(jié)合低層特征和高層知識(shí)進(jìn)行顯著性檢測(cè)的方案,用低秩矩陣表示非顯著區(qū)域,用稀疏噪聲表示顯著區(qū)域,然后將高級(jí)知識(shí)融合成先驗(yàn)映射作為目標(biāo)函數(shù),可以有效提高顯著性檢測(cè)的性能[8]。AC算法是一種通過(guò)計(jì)算像素與整個(gè)圖像的平均顏色差來(lái)進(jìn)行顯著性檢測(cè)的方案,而且可以結(jié)合最大環(huán)繞算法降低背景顯著性[9]。HC算法將圖像分割算法運(yùn)用到顯著性目標(biāo)檢測(cè)中,將區(qū)域之間的位置距離作為權(quán),計(jì)算每個(gè)區(qū)域與其他區(qū)域之間的加權(quán)色差和,取得了較好的顯著性檢測(cè)效果[10]。RC算法是一種形式化能量最小化框架的方法,通過(guò)多尺度超像素的上下文分析計(jì)算圖像的顯著性映射,然后結(jié)合顯著性和物體邊界信息提取物體級(jí)形狀先驗(yàn),且每次迭代后優(yōu)先更新顯著性映射和形狀[11]。CB算法是一種基于凸點(diǎn)邊界的顯著性檢測(cè)方法,其中凸點(diǎn)邊界是通過(guò)從原始圖像中保留比已有檢測(cè)方法多得多的頻率內(nèi)容來(lái)保持,可以得到較好的精度和查全率[12]。GS算法是一種利用自然圖像中的邊界先驗(yàn)和連通先驗(yàn)來(lái)進(jìn)行顯著性檢測(cè)的方法,在顯著性目標(biāo)檢測(cè)中可以獲得更高的精度[13]。SF算法是一種基于對(duì)比的顯著性估計(jì)方法,該方法將圖像分解為緊湊的、感知同質(zhì)的元素并抽象出不必要的細(xì)節(jié),再利用高維高斯濾波器實(shí)現(xiàn)完全對(duì)比度和顯著性的統(tǒng)一估計(jì),獲得了較好的顯著性檢測(cè)性能[14]。PCA是一種快速計(jì)算模式差異(既可以是圖案或者顏色,也可以是添加的線(xiàn)索或先驗(yàn))的顯著性檢測(cè)方法,利用圖像中補(bǔ)丁的內(nèi)部統(tǒng)計(jì)信息來(lái)識(shí)別顯著性特征[15]。SS算法是一種基于圖像特征的顯著性檢測(cè)方法,通過(guò)圖像簽名形成一種近似前景來(lái)獲取與背景對(duì)比的差異信息,該方法獲取的顯著性圖像更接近于人類(lèi)感知效果,且運(yùn)行時(shí)間更短[16]。
SOD2N算法采用的深度網(wǎng)絡(luò)主要包括引入的多尺度全卷積網(wǎng)絡(luò)以及改進(jìn)的流形排序算法。下面主要介紹與SOD2N算法相關(guān)的多尺度全卷積網(wǎng)絡(luò)和流行排序顯著性方法。
在全卷積流中引入一個(gè)端到端卷積網(wǎng)絡(luò),即引入一個(gè)將輸入圖像映射到像素級(jí)顯著圖的回歸網(wǎng)絡(luò)。在訓(xùn)練過(guò)程中,主要是針對(duì)固定大小的224×224 RGB靜態(tài)圖像。首先,在預(yù)處理過(guò)程中將每個(gè)像素減去平均RGB值(主要根據(jù)訓(xùn)練集計(jì)算得到)。然后,圖像通過(guò)一個(gè)由3×3接收域過(guò)濾獲得的卷積層,其中一個(gè)是利用1×1卷積濾波器,這里看作是輸入通道的線(xiàn)性變換。卷積步長(zhǎng)固定為1個(gè)像素,層輸入的空間填充可使空間分辨率在卷積后保持不變,即填充1像素為3×3的卷積層,空間共用由5個(gè)最大共用層實(shí)現(xiàn)。由于并不是所有的卷積層都是最大共用層實(shí)現(xiàn),所以空間共用都采用了一些卷積層。其中,最大共用層在2×2像素窗口上執(zhí)行,其步長(zhǎng)為2。
一個(gè)卷積層(在不同的體系結(jié)構(gòu)中有不同的深度)包括三個(gè)完全連接層,前兩個(gè)連接層各包含4 096個(gè)通道,第三個(gè)連接層執(zhí)行1 000路ILSVRC分類(lèi),因此包含1 000個(gè)通道(每個(gè)類(lèi)一個(gè))。其中,最后一個(gè)層是最大軟層,而且在所有網(wǎng)絡(luò)中完全連接層的配置是相同的,且所有隱藏層都配有整流裝置。

(1)
式中:fi和fj表示節(jié)點(diǎn)i和節(jié)點(diǎn)j相對(duì)于查詢(xún)節(jié)點(diǎn)的排序值,即節(jié)點(diǎn)i和節(jié)點(diǎn)j的顯著值;參數(shù)μ表示平滑約束項(xiàng)。對(duì)式(1)中的f求導(dǎo)并令其等于0,則可得最優(yōu)解。排序函數(shù)的最優(yōu)解過(guò)程用矩陣表示為:
f*=(I-αS)-1y
(2)

考慮到收斂問(wèn)題及最后的效果比較,根據(jù)文獻(xiàn)[17]采用非歸一化的拉普拉斯矩陣,使效果更加優(yōu)化,則式(2)可變換為式(3)。
f*=(D-αW)-1y
(3)
選取圖像的四邊邊界為查詢(xún)對(duì)象Qt,根據(jù)式(3)可計(jì)算Qt的顯著性如式(4)所示。
(4)

S(i)=St(i)×Sb(i)×Sl(i)×Sr(i)
(5)
SOD2N算法的基本思想是:首先,設(shè)計(jì)一個(gè)端到端的多尺度全卷積網(wǎng)絡(luò)作為深度對(duì)比度的第一個(gè)流,使其直接從原始輸入圖像中運(yùn)行一次即可得到像素級(jí)的顯著性圖像;其次,通過(guò)基于圖像四邊的邊界先驗(yàn)知識(shí)改進(jìn)GMR流形排序算法,根據(jù)前景與背景是相對(duì)的這一理論提出背景計(jì)算,可更好地模擬區(qū)域間的視覺(jué)對(duì)比和區(qū)域邊界的視覺(jué)顯著性;最后,采用基于完全連接的CRF像素顯著性細(xì)化模型提高相鄰像素之間顯著值的一致性,可以使得生成的顯著性目標(biāo)突出,輪廓能得到很好的保留,產(chǎn)生的像素精度也更平滑,突出目標(biāo)也能得到很好的保留。
在全卷積流中,設(shè)計(jì)一個(gè)端到端卷積網(wǎng)絡(luò),可以將它看作是一個(gè)回歸網(wǎng)絡(luò),將輸入圖像映射到像素級(jí)顯著性映射。SOD2N算法選擇VGG16作為預(yù)訓(xùn)練網(wǎng)絡(luò),并修改它以滿(mǎn)足要求。為了將其重新應(yīng)用到稠密圖像顯著性預(yù)測(cè)網(wǎng)絡(luò)中,VGG16的兩個(gè)完全連接層首先被轉(zhuǎn)換成具有1×1核的卷積層[18]。然而直接以卷積的方式評(píng)估產(chǎn)生的網(wǎng)絡(luò),將會(huì)生成一個(gè)非常稀疏的具有32像素步幅的預(yù)測(cè)映射,這是由于原來(lái)的VGG16網(wǎng)絡(luò)有5個(gè)集中層,其中每個(gè)集中層的步長(zhǎng)為2。為使預(yù)測(cè)圖更加密集,在最后兩個(gè)最大集中層跳過(guò)二次采樣,以保持在最后一個(gè)集中層之后是8像素步幅。為了在接下來(lái)的卷積層中保留原始的接收?qǐng)觯ㄟ^(guò)引入零來(lái)增加其卷積核的大小。SOD2N算法可以保持核的完整性,并且卷積使用2或4個(gè)像素的步長(zhǎng)(倒數(shù)第二個(gè)集中層之后的三個(gè)卷積層中的2像素步幅和最后兩個(gè)轉(zhuǎn)換后的1×1卷積層中的4個(gè)像素步長(zhǎng))對(duì)輸入特征圖進(jìn)行稀疏采樣。
VGG16網(wǎng)絡(luò)中包含5個(gè)集中層和下采樣層,每個(gè)層都有一個(gè)越來(lái)越大的接收字段,其中包含上下文信息。SOD2N算法為了設(shè)計(jì)基于視覺(jué)對(duì)比度對(duì)顯著性的深層網(wǎng)絡(luò),進(jìn)一步開(kāi)發(fā)了上述VGG16全卷積擴(kuò)展的多尺度版本,將三個(gè)額外的卷積層連接到VGG16的前4個(gè)最大集中層中的每一個(gè)。其中:第一個(gè)額外卷積層有3×3核和128個(gè)通道;第二個(gè)額外卷積層有1×1核和128個(gè)通道;第三個(gè)額外卷積層(輸出特征映射)有1×1核和單通道。為了使4組額外卷積層的輸出特征圖具有相同大小(8次采樣分辨率),這4組中第一層的步長(zhǎng)分別設(shè)為4、2、1和1。雖然得到的4個(gè)輸出映射具有相同的大小,但其是使用大小不同的接收字段生成的,因此在4個(gè)不同的尺度上表示上下文特征,進(jìn)一步將這4個(gè)功能映射與上述端到端擴(kuò)展的最終輸出映射堆疊在一起,疊加的特征映射(5通道)送入1×1核和單輸出通道的最終卷積層,即推斷出的顯著性映射,稱(chēng)這種大小的顯著性圖為S1。
突出的物體通常形狀不規(guī)則,相應(yīng)的顯著性目標(biāo)沿物體邊界就會(huì)具有不連續(xù)性。多尺度全卷積網(wǎng)絡(luò)工作在下采樣像素級(jí),而并非對(duì)顯著性不連續(xù)物體邊界進(jìn)行建模。為了更好地模擬區(qū)域間的視覺(jué)對(duì)比和區(qū)域邊界的視覺(jué)顯著性,在SOD2N算法的深度網(wǎng)絡(luò)中設(shè)計(jì)了流形排序的顯著性目標(biāo)檢測(cè)算法。
首先四邊邊界不能完整地檢測(cè)效果,通過(guò)相乘的方式將四邊邊界合并,接著對(duì)基于圖像四邊的邊界先驗(yàn)知識(shí)進(jìn)行流形排序,然后依據(jù)前景與背景是相對(duì)的這一理論提出背景先驗(yàn)的計(jì)算,如式(6)所示。
Sbg(i)=1-S(i)
(6)
式中:Sbg(i)是SOD2N算法改進(jìn)的背景先驗(yàn),稱(chēng)改進(jìn)算法生成的顯著性圖為S2。
由于深度對(duì)比度網(wǎng)絡(luò)中的兩種流都將顯著性值分配給單個(gè)像素,而不考慮相鄰像素之間顯著值的一致性,因此提出一種基于完全連接的CRF[19]像素顯著性細(xì)化模型,以提高空間一致性。所給模型使用式(7)的能量函數(shù)解決了二元像素標(biāo)號(hào)問(wèn)題。
(7)
式中:L表示所有像素的二進(jìn)制標(biāo)記(顯著性或不顯著性)賦值;P(li)是像素xi具有標(biāo)簽li的概率,表示像素xi顯著的可能性,p(1)=si,p(0)=1-si,其中si是融合顯著性映射s在像素xi處的顯著值;θij(li,lj)是一個(gè)對(duì)偶式。該能量函數(shù)的最小化是基于CRF分布的平均場(chǎng)近似,可以利用高維濾波來(lái)加速計(jì)算。在能量最小化結(jié)束時(shí),利用每個(gè)能量的后驗(yàn)概率生成一個(gè)像素突出的顯著性映射,稱(chēng)為生成的顯著性圖像。SOD2N算法提出的顯著性細(xì)化模型生成的顯著性目標(biāo)突出,輪廓可以得到很好的保留,不僅能產(chǎn)生更平滑的像素精度,而且還能很好地保留突出目標(biāo)。
實(shí)驗(yàn)采用經(jīng)典的顯著性目標(biāo)檢測(cè)數(shù)據(jù)庫(kù)ASD進(jìn)行對(duì)比實(shí)驗(yàn),ASD圖像數(shù)據(jù)庫(kù)是顯著性檢測(cè)運(yùn)用較為廣泛的公開(kāi)數(shù)據(jù)庫(kù),而且給出了人工標(biāo)注的真實(shí)值,以便于定量和定性的性能評(píng)價(jià)。實(shí)驗(yàn)選取近幾年具有代表性且與所給方法具有相關(guān)性的LR、AC、HC、RC、CB、GMR、GS、SF、PCA和SS共10種算法進(jìn)行性能比較。實(shí)驗(yàn)采用P-R曲線(xiàn)和F-measure兩項(xiàng)指標(biāo)來(lái)比較SOD2N算法與其他10種算法的優(yōu)劣。
P-R曲線(xiàn)[20]是最常用的評(píng)價(jià)顯著性目標(biāo)檢測(cè)算法優(yōu)劣的指標(biāo)。其中:準(zhǔn)確率(Precision)表示算法預(yù)測(cè)正確的像素個(gè)數(shù)與所有顯著像素個(gè)數(shù)的比值;查全率(Recall)表示算法預(yù)測(cè)正確的像素個(gè)數(shù)與真值的顯著像素個(gè)數(shù)的比值。SOD2N算法與其他10種經(jīng)典算法在ASD數(shù)據(jù)庫(kù)中的P-R曲線(xiàn)如圖1所示。可見(jiàn),SOD2N算法的P-R曲線(xiàn)高于其他算法,基本處于[0.96,1.00]區(qū)間內(nèi)。AC算法的P-R曲線(xiàn)最低,處于[0.45,0.65]區(qū)間內(nèi),LR、HC和CB算法的P-R曲線(xiàn)有一定提升但仍然較低,處于[0.78,0.81]區(qū)間內(nèi),SF、PCA和SS的P-R曲線(xiàn)雖然處于[0.91,0.95]區(qū)間內(nèi),但與SOD2N算法相比,它們的準(zhǔn)確率仍較低,而且與GMR(P-R曲線(xiàn)處于[0.95,0.98]區(qū)間內(nèi))和GS算法(P-R曲線(xiàn)處于[0.94,0.98]區(qū)間內(nèi))相比,SOD2N算法的準(zhǔn)確率也有一定的提升,則表明SOD2N算法的準(zhǔn)確率要明顯高于其他算法,即SOD2N算法在該指標(biāo)上的性能優(yōu)于其他10種方法,由此證明了SOD2N算法所做改進(jìn)的可行性。

(b)圖1 各種算法的精確率-召回率曲線(xiàn)
F-measure綜合了準(zhǔn)確率和查全率,是衡量圖像檢索算法好壞的一個(gè)量化性能評(píng)價(jià)指標(biāo),其計(jì)算公式如下:
(8)
式中:β表示調(diào)節(jié)準(zhǔn)確率和召回率的權(quán)重參數(shù),主要是為了加強(qiáng)準(zhǔn)確率的比重,通常設(shè)β2=0.3。F-measure值隨著繪制P-R曲線(xiàn)時(shí)的閾值T變化的曲線(xiàn)圖,如圖2所示。可以看出,SOD2N算法的F-measure值達(dá)到8.67,與其他10種算法相比是最高的,而對(duì)比算法中,F(xiàn)-measure值較高的是GMR算法和LR算法,分別為8.25和8.13,而F-measure值最低的是AC算法,僅為5.18,其他幾種算法的F-measure值與SOD2N算法相比也較低,由此也說(shuō)明了SOD2N算法的檢測(cè)性能優(yōu)于對(duì)比算法。

圖2 不同算法的F-measure值比較
此外,實(shí)驗(yàn)還定性比較了SOD2N算法與其他10種算法的視覺(jué)效果。首先從ASD數(shù)據(jù)庫(kù)中隨機(jī)抽取目標(biāo)尺寸大小不同的圖像,然后將10種顯著性算法計(jì)算出的顯著圖與SOD2N算法計(jì)算出的顯著圖進(jìn)行視覺(jué)效果對(duì)比,如圖3所示,從左到右依次分別為:輸入的原圖像、LR、AC、HC、RC、CB、GMR、GS、SF、PCA、SS、SOD2N算法和“ground-truth”圖。
可以看出,SOD2N算法可檢測(cè)不同大小目標(biāo)的圖像,且視覺(jué)效果更好。HC、CB、PCA、SS算法顯著性檢測(cè)圖像的視覺(jué)效果明顯較差;LR算法檢測(cè)大目標(biāo)比較模糊;AC、RC算法無(wú)法有效檢測(cè)較小目標(biāo);SF算法對(duì)于圖像的顏色敏感度較低,尤其是對(duì)于同樣基于背景先驗(yàn)的GMR和GS算法,盡管從視覺(jué)效果圖中看出其能檢測(cè)到目標(biāo),但當(dāng)遇到目標(biāo)稍微接觸到邊界的特殊情況時(shí),就會(huì)造成誤判,無(wú)法有效區(qū)分不同顏色和亮度;GS算法出現(xiàn)了邊緣模糊。SOD2N算法能夠很好地解決這些問(wèn)題,從而說(shuō)明了SOD2N算法的優(yōu)越性。
SOD2N算法是一種用于顯著性目標(biāo)檢測(cè)的端到端深度對(duì)比網(wǎng)絡(luò),深層網(wǎng)絡(luò)由像素級(jí)全卷積和改進(jìn)的GMR流形排序兩個(gè)互補(bǔ)部分組成,然后由完全聯(lián)通的CRF模型進(jìn)行最優(yōu)權(quán)重的融合,進(jìn)一步優(yōu)化了檢測(cè)結(jié)果的空間相干性和輪廓獨(dú)立性。最后通過(guò)與其他10種算法的定量和定性比較,可以看出SOD2N算法不僅精確度更高,而且可以有效解決顯著性目標(biāo)邊界模糊的問(wèn)題,這也表明了SOD2N算法的可行性和優(yōu)越性。