李建偉, 段向歡, 徐夢夢, 薛桂香
(河北工業大學 人工智能與數據科學學院,天津 300401)
顯著性目標檢測在圖像分割[1]、運動目標跟蹤[2]等領域有廣泛的應用價值。視頻顯著性目標檢測需要根據視頻內容的時空特征提取完整的顯著性目標,相比圖像顯著性檢測更具挑戰。文獻[3]提出了基于梯度流域和能量優化函數的方法來檢測視頻中具有顯著時空特征的目標。文獻[4]以無監督的方式引用視頻的空間邊緣和時間運動邊界,通過計算和參考特征的測地距離來基本確定前景的位置以生成幀的時空顯著圖,并結合當前幀前景邊緣、背景信息和后續幀中背景區域的測地距離生成最終的顯著性圖。
近來,生成對抗網絡[5]基于博弈論并通過生成器和判別器相互影響直到判別器不能判斷生成器的輸出是真是假為止。Isola P等人[6]應用了cGAN,并將問題看作圖片翻譯問題。受此啟發,本文在此基礎上結合顯著性檢測原理,引入了條件生成對抗網絡。條件生成對抗網絡將傳入的原始圖片作為參考條件,能夠更有效指導整個網絡的訓練。通過對抗訓練后的生成器為想要的模型,對輸入的視頻序列生成效果較好的顯著圖序列。
為了進一步提高視頻顯著性目標檢測的準確率,本文基于彈性網絡的思想,提出了利用加權的L1和L2聯合作為正則項約束生成器的訓練,實驗結果表明,相比單純使用L1或L2作為正則項,效果更好。
生成對抗網絡結構分為生成器和判別器,通過訓練得到一種從輸入的隨機噪音z到輸出圖y的映射[5],即G∶z→y。特別地,條件生成對抗網絡通過訓練得到一種從輸入的隨機噪音z和被觀察圖象x到生成結果y的映射,即G∶{x,z}→y。
條件生成對抗網絡的生成器和判別器會一直相互對抗,直到經過訓練的生成器的輸出結果使判別器很難判斷是否是真實值。在此期間,判別器通過訓練盡可能提高自己的判別能力。生成器和判別器均由模塊堆疊,模塊共分為3層:卷積層、批標準化層、基于淘汰率(值為50 %)的修正線性單元(ReLU)層。卷積核數均為4,步長大小為2。位于生成器編碼端以及判別器中的卷積層對輸入的圖片進行下采樣,而位于生成器解碼端的卷積層對輸入的圖片進行上采樣,上下采樣的變化因子均為2。
1.1.1 生成器
考慮到顯著性目標檢測過程中原始圖片或視頻幀與其顯著圖的對應關系,受文獻[6]工作的啟發,采用了基于U-net[7]的生成器網絡。
U-net生成器網絡采用編碼器—解碼器結構。從編碼器的第一層開始,樣本輸入,圖片信息被傳播到下一層,不同的模塊間圖片被下采樣,直到最中間一層。之后程序開始逆轉,圖像在傳播過程中被上采樣,直到解碼器的最后一層。顯然,圖片信息在每一層傳播的過程中均會有損失。基于U-net生成器網絡中,在第i層和第n-i層之間添加了跳躍連接,其中,n表示所有層的數目。每個跳躍連接會相應地拼接第i層和第n-i層的所有通道,這將會改變解碼器中每一層的通道數目。
在解碼器的最后一層后,會添加一層卷積層來映射出所要輸出圖像的通道數目,以滿足輸出圖象的要求。之后用Tanh激活函數添加非線性因素。此外,編碼器的第一個卷積層后通常不需要連接批標準化層。編碼器的所有修正線性單元層均為泄露(leaky)的,斜率為0.2,而解碼器中則均為非泄露的。
1.1.2 判別器
與生成器結構相似,判別器也是基于卷積層、批量標準化層和ReLU層的多個模塊的堆疊。具體來講,共有4組這樣的模塊堆疊在判別器中,在最后一層會連接一個卷積層來轉換一維輸出,之后用Sigmoid激活函數。不同于生成器的是第一個卷積層不會被批標準化。判別器中應用的修正線性單元都是泄露的,斜率值為0.2。
在生成圖像或者視頻幀的問題中,一些損失函數會產生相對模糊的結果,例如L1,L2等,通常它們很難獲取圖像的高層信息,但某些情況下,可以準確地獲取低層次的信息。例如在顯著性檢測問題中,只要應用L1損失函數就能在一定程度上保證獲取低層次信息的準確性。本文提出的加權的L1,L2聯合正則約束能更好、更準確地保證低層次信息地獲取。只需要將關注點放在圖片的補丁(patch)結構,這里引入文獻[6]提出的PatchGAN。它是一個判別器結構,該判別器試圖分類圖像中的每個N×N大小的補丁塊是真實的還是生成的。在圖像上以卷積的方式運行判別器,它會平均所有響應以得到判別器的最終輸出。本文實驗中,N的值為70。
1.2.1 條件生成對抗網絡目標函數
條件生成對抗網絡目標函數可表示為
LcGAN(G,D)=Ex,y[logD(x,y)]+
Ex,z[log(1-D(x,G(x,z)))]
(1)
式中x為作為參考的變量,即原始的輸入圖片。y為真實值,z為隨機噪音變量。生成器G通過最小化目標函數以達到“欺騙”判別器,判別器D則試圖最大化目標函數以提高自己的判別能力,即
G*=argminGmaxxDLcGAN(G,D)
(2)
前人的工作表明,將傳統的損失函數和GAN目標函數結合往往會有更好的效果[8]。因此這里將L1項添加到GAN的目標函數中,即
LL1(G)=Ex,y,z[‖y-G(x,z)‖1]
(3)
1.2.2 彈性網絡(Elastic Net)
彈性網絡是一種利用L1和L2范式作為先驗正則項來進行訓練的線性回歸模型。這種組合適用于非零權重比較少的稀疏模型,且多個特征和另一個特征相關時。彈性網絡的目標函數為
argminβ{‖Y-XTβ‖2+λ2‖β‖2+λ1‖β‖1}
(4)
式中β為要學習的權重參數,{X,Y}為樣本,λ1,λ2分別為L1范式、L2范式的比例系數。L1范式可以實現稀疏化,進而實現特征的自動選擇,去除無用特征。L2范式旨在擬合數據,使得權重參數β的各個元素變得很小,這樣即使輸入值有很大的變化,輸出的預測值變化也會很有限,進而提高模型的抗干擾能力。彈性網絡聯合L1,L2來正則約束模型,既簡化了模型,避免過擬合,又增強了模型的穩定性和擬合能力。
1.2.3 L1,L2聯合正則下的對抗性目標函數
受彈性網絡的啟發,本文提出通過加權的L1,L2范式來聯合作為正則項約束條件生成對抗網絡的訓練。最終的目標函數為
G*=argminGmaxDLcGAN(G,D)+λ1LL1(G)+λ2LL2(G)
(5)
式中λ1,λ2分別為L1,L2損失函數的權重系數,本文中λ1和λ2的值分別取100和150。LL2(G)即
(6)
在提出的模型中,無論是訓練階段還是測試階段,均通過在生成器的一些層中添加淘汰率(dropout)來替代隨機噪音,并在一定程度上防止模型的過擬合。而且在網絡的輸出中,實驗結果僅僅表現出了小幅度的隨機性。在本文算法實現時將目標函數一分為二,即在優化判別器時,相對生成器,會學習得更慢一些,進而更好地指導生成器的訓練。
設計模型基于流行的深度學習框架Tensorflow來訓練和測試。實驗中,使用MSRA10K[9]和DUT-OMRON[10]等圖片數據集來訓練網絡,目的在于使模型能夠充分利用圖片的空間信息。為了保證視頻序列的時序特征,使用DAVIS[11]訓練集來訓練模型以提高獲取時空特征的能力。為了提高模型的泛化能力,在方法中采用了隨機抖動策略。訓練中沒有使用預訓練模型,均從零開始訓練,模型的權重通過均值為0、標準差為0.02的高斯分布進行初始化。為了優化網絡,實驗中使用了小批量隨機梯度下降法和Adam優化算法。學習率設置為0.000 2,沖量系數和權重衰減則分別為0.5 和0.99。
測試階段,采用了SegTrack v2數據集[12]和DAVIS測試數據集[11]。這兩個標準視頻數據集被廣泛用于顯著性檢測工作中,每個視頻序列的每一幀都會有完整的像素級標注。在測試過程中,運行生成器網絡的方式和訓練階段是基本一致的,但在測試階段添加了淘汰率而不再使用隨機噪音變量。進行批標準化時,使用的是測試階段生成的統計結果。實驗中,當訓練到20輪時,模型達到了很好的效果。之后又進行了繼續訓練,但并沒有得到更好的結果。
從定性和定量角度將其和目前主流的方法在SegTrack v2和DAVIS測試集上進行了對比。方法包括:融合顯著區域特征的顯著性(DRFI)[13],基于超像素級圖和時空傳播的顯著性(SGSP)[14],基于測地距離的視頻顯著性(SAGE)[4],通過梯度流域計算顯著性(GAFL)[3]。其中,第一個是圖像顯著性檢測的方法,其他的都是對于視頻顯著性的。
視覺效果對比如圖1所示。圖中每一行表示同一視頻幀上幾種方法的對比。對原始視頻幀和對應的真實值來說,從第一行開始,每2行來自同一個視頻,每3個視頻來自同一個數據集。從圖中可以看出,圖像顯著性檢測方法處理的結果會附帶很多顯著目標周圍的背景,造成顯著目標在結果中不易辨識。該方法處理的結果會損失一定的幀間信息,某些情況下可能會造成目標的不完整性,在多目標視頻中往往很難把握全部目標的信息。其他用于視頻的方法可以更好地處理幀間信息,且顯著目標周圍的背景也處理得較徹底,但SGSP得到的結果比較模糊,很難確定顯著目標的邊緣,丟失了不少細節信息;GAFL和SAGE兩種方法結果相對清晰,但由于計算成本比較高,很難滿足實時要求。相比而言,本文方法獲得的結果保留了清晰準確的信息,背景處理徹底,顯著目標更接近人工標注的真實值。此外,訓練好的模型在處理視頻時具有很高的運行效率,見表3。

圖1 視覺效果對比(第1列的Input表示原始圖片,第2列的GT表示對應的人工標注圖)
此外,本文采用兩種被廣泛使用的評價指標:F-measure和MAE對各種方法進行了定量分析。F-measure為查準率(Precision)和查全率(Recall)的統計加權調和平均值表示為
(7)
基于前人工作的推薦,這里設置β為0.3,以此來突出查準率的重要性。查準率對應于正確檢測到的顯著像素占檢測到的顯著像素總數的百分比。查全率對應于正確檢測到的顯著像素數占據真實的顯著像素總數的比例。為了更好地評估檢測模型,通常利用F-measure的值來綜合這兩種評價指標。
MAE用于評估由模型預測出的顯著概率圖P與相應的真實值G之間的逐像素平均差異
(8)
式中w和h分別為輸入的視頻幀的寬度和高度。
所有方法在SegTrack v2數據集和DAVIS測試集上的F-measure和MAE值如表1所示。

表1 不同算法在兩個公開數據集上的評價指標對比
從表中可以看出,對于F-measure(值越大效果越好)和MAE(值越小效果越好)這兩個評價指標,相比其他的方法,本文的模型都表現得更好,證明了它的有效性和優越性。
基于彈性網絡的啟發,也為了更好地訓練條件生成對抗網絡,尤其是生成器模型,提出利用加權的L1,L2損失函數來聯合作為正則項約束模型的訓練。在訓練集、測試集以及學習率、批量大小等基本參數不變的情況下,對比了單純使用L1,L2損失函數作為正則項和本文提出的方法等處理的結果。對比情況如表2所示。

表2 不同測試數據集上的正則項分析
從表中的數據可知,對于MAE和F-measure指標,聯合L1,L2損失函數一起作為正則項比單純使用其中某一個損失函數作為正則項效果要好,且通過調節兩個損失函數的權重,這里加大了L2損失函數的權重,取得了更好的結果。
為了對比各個方法的運行效率,本文分別從DAVIS測試集和SegTrack v2數據集隨機選擇一個視頻序列,不同方法處理視頻的效率對比見表3。其中,Cows來自DAVIS數據集,Frog來自SegTrack v2數據集。實驗的計算資源包括Intel(R) Core(TM) i5—7300HQ CPU(4核),計算機內存8 GB,Nvidia Geforce GTX 1050 GPU。
如表3所示,本文方法不需要超像素分割、平滑濾波等預處理以及光流計算,在處理視頻序列時具有很高的運行效率,相比其他的方法有數量級的提升。
在SegTrack v2、DAVIS等公開數據集上的對比實驗結果表明:本文所提方法優于其他先進的主流方法。對于一些更復雜、更具難度的場景,本文提出的方法依舊面臨著不小挑戰,這也說明GANs在視頻顯著性檢測領域中的研究還有很大的發展空間。