作者 | 文永亮
學校 | 哈爾濱工業大學(深圳)
研究方向 | 目標檢測
概要
這是一篇發表於CVPR2019的關於顯著性目標檢測的paper,《BASNet:Boundary-Aware Salient Object Detection》[1]顯而易見的就是關注邊界的顯著性檢測,主要創新點在loss的設計上,使用了交叉熵、結構相似性損失、IoU損失這三種的混合損失,使網絡更關注於邊界質量,而不是像以前那樣只關注區域精度。在單個GPU上能跑25 fps,在六種公開數據集上能達到 state-of-the-art的效果。作者也在github上放出了源碼:https://github.com/NathanUA/BASNet
模型架構
這個網絡結構的特點:
- 采用深層編碼器-解碼器的結構得到一個粗糙的結果
- 采用RRM(Residual Refinement Module)修正結果,使用了殘差模塊
其中“粗糙“定義為兩個方面:
- 如Fig 2(b)所示,粗糙表現在邊界無法與GT對齊。
- 如Fig 2(c)所示,粗糙表現在不均勻的區域預測概率。
而經過前面步驟的得到的真正的粗糙結果通常都是帶有以上兩個問題。
loss上的設計
三種loss的疊加對應三個層次:(這讓我想起了之前的Libra R-CNN也是三個平衡對應三個層次)
\(\ell_{b c e}^{(k)}\) 對應pixel-level,\(\ell_{s s i m}^{(k)}\) 對應patch-level,\(\ell_{i o u}^{(k)}\) 對應map-level。
\(\ell_{bce}\) 就是最基本的最常用的二值交叉熵,其中\(G(r,c)\in\{0,1\}\) 表示(r, c)像素點是否為GT label,\(S(r,c)\) 表示預測出(r, c)像素點為顯著物體的概率。
從結構相似性指標引出結構相似性損失:
\[\operatorname{SSIM}(x, y)=\frac{\left(2 \mu_{x} \mu_{y}+c_{1}\right)\left(2 \sigma_{x y}+c_{2}\right)}{\left(\mu_{x}^{2}+\mu_{y}^{2}+c_{1}\right)\left(\sigma_{x}^{2}+\sigma_{y}^{2}+c_{2}\right)} \]作為結構相似性理論的實現,結構相似度指數從圖像組成的角度將結構信息定義為獨立於亮度、對比度的,反映場景中物體結構的屬性,並將失真建模為亮度、對比度和結構三個不同因素的組合。用均值作為亮度的估計,標准差作為對比度的估計,協方差作為結構相似程度的度量。[2]
\(\ell_{ssim}\) 是結構相似性損失,SSIM就是structural similarity index的意思,這是本文關注邊界的重點部分,是為了評估圖片質量的,捕捉結構化信息,是用於學習顯著性目標與GT之間的結構化信息的。結構相似性損失的表達如上面的公式(3)所示。
簡單的來說,就是要計算兩張圖的結構相似性,我們需要開一個局部窗口(N x N大小的),計算窗口內的結構相似性損失,以像素為單位滑動,最后取所有窗口的結構相似性損失的平均。 具體計算方式就是令兩張圖片的對應像素點表示為為\(x\)和\(y\),其中\(x=\{x_j:j=1, ...,N^2\}\) 和\(y=\{y_j:j=1,...,N^2\}\) ,因為窗口大小為\(N\times N\) ,\(\mu_x,\mu_y\) 和$\sigma_x,\sigma_y $ 分別是\(x\)和\(y\)的均值和方差,\(\sigma_{xy}\)為\(x\)和\(y\)的協方差。\(C_1=0.01^2\)和\(C_2=0.03^2\)是為了避免分母為0。
SSIM損失作用於patch-level的,關鍵在於它着眼於邊界,但是這個標准真的能着眼於邊界嗎?具體地講,就是會對邊界對不上的地方加大懲罰嗎?作者用熱力圖(heatmap)可視化了整個訓練過程損失的變化,用來闡述各種loss的作用。

可以看到Fig 3的這三行熱力圖變化,顏色越紅代表損失對待該像素點的權重越大,也就是越重視該點,越藍表示權重對待越小。從第一行的BCE損失變化可以看出,BCE損失是pixel-wise的,它是一個非常公平的損失函數,對待前景和背景一開始區別不大,訓練過程中幾乎達到了任何像素點都一視同仁。
而第二行關於結構相似性損失的變化,可以看到無論\(\hat{P}_{fg}\)和\(\hat{P}_{bg}\)怎么變化都是對顯著物體邊界賦予較高的權重。
第三個損失是IoU損失,就是交疊率損失,數學表達式如下:
其中的\(S(r,c),G(r,c)\)都與\(\ell_{ssim}\)表示的一致。文中也沒有對其做過多的解釋。
實驗結果
對於RRM模塊,作者在對比實驗中用了下面三種,(c)是文章所用的結構:
對於不同的結構和不同的損失函數做了組合對比實驗,得到下面的表格:
其中的\(F_{\beta}\)如下:
\(relaxF_\beta\)是邊界評價標准,可以參考文獻[3]。
下面是各種loss的情況下,顯著性檢測的效果,在傳統困難的多物體重合與背景差別不大的情況下,從效果圖中能看到三種loss一起的效果跟有結構性損失的效果都表現的不錯。
各種方法的對比下,在\(relaxF_\beta\)的標准下始終能夠達到state-of-the-art的效果,但是對於\(maxF_\beta\)這個評價標准,並不能在所有的數據集上做到最好,這也是因為這個方法着眼於解決邊界質量。
總結
BASNet該方法主要的亮點在於引入結構相似性損失,最后三種損失(BCE損失,SSIM損失,IoU損失)相加,同時考慮,着眼於解決邊界模糊問題,更注重邊界質量,因為在結構相似性損失下,邊界的損失會比顯著性物體內部或其他地方賦予的權重更高。文章也嘗試從三種層次上解答為什么設計三個損失,結構還算清晰。但是個人認為主要還是結構相似性損失的引入比較有價值。
參考文獻
[1]. Xuebin Qin, Zichen Zhang, Chenyang Huang, Chao Gao, Masood Dehghan, Martin Jagersand. BASNet: Boundary-Aware Salient Object Detection. The IEEE Conference on Computer Vision and Pattern Recognition (CVPR), 2019, pp. 7479-7489
[2]. Zhou Wang, Eero P Simoncelli, and Alan C Bovik. Multiscale structural similarity for image quality assessment. In The Thrity-Seventh Asilomar Conference on Signals, Systems & Computers, 2003, volume 2, pages 1398–1402. IEEE, 2003.
[3]. Marc Ehrig and J´erˆome Euzenat. Relaxed precision and recall for ontology matching. In Proc. K-Cap 2005 workshop on Integrating ontology, pages 25–32. No commercial editor., 2005.