前言:
在深度學習和計算機視覺中,人們正在努力提取特徵,為各種視覺任務輸出有意義的表示。在一些任務中,我們只關注物件的幾何形狀,而不管顏色、紋理和照明等。這就是邊界檢測的作用所在。
關注公眾號CV技術指南,及時獲取更多計算機視覺技術總結文章。
問題定義
圖1是一個邊界檢測的例子,顧名思義,邊界檢測是從影像中檢測物件邊界的任務。這是一個不適定的問題,因為問題設定本身存在歧義。如圖所示,對於室內房間影像(左),ground truth(中)定義房間內的ground truth物件邊界,並且預測(右)估計房間的物件邊界。然而,我們可以看到,估計的邊界遠不止是ground truth,包括來自房間佈局、窗簾,甚至沙發紋理的不必要的邊界線。提取乾淨且有意義的物件邊界並不容易。
原始方法
邊界檢測的一個直接解決方案是將其視為語義分割問題。在標註中簡單地將邊界為1和其他區域標記為0,我們可以將其表示為一個二分類語義分割問題,以二值交叉熵損失為損失函式。然而,它有兩個原因:高度不平衡的標籤分佈和每畫素交叉熵損失的內在問題。
Cross Entropy Loss的侷限性
當使用交叉熵損失時,標籤的統計分佈對訓練精度起著很重要的作用。標籤分佈越不平衡,訓練就越困難。雖然加權交叉熵損失可以減輕難度,但改進並不顯著,交叉熵損失的內在問題也沒有得到解決。在交叉熵損失中,損失按每畫素損失的平均值計算,每畫素損失按離散值計算,而不知道其相鄰畫素是否為邊界。因此,交叉熵損失只考慮微觀意義上的損失,而不是全域性考慮,這還不足以預測影像水平。
圖2 具有交叉熵損失的邊界預測
如圖2所示。對於輸入影像(左),比較了交叉熵損失(中)和加權交叉熵損失(右)的預測。右邊的邊界比中間的要好得多,但預測的邊界並不乾淨,骯髒的草地紋理邊界仍然存在。
Dice Loss
Dice Loss起源於Sørensen-Dice係數,這是20世紀40年代用來測量兩個樣本之間的相似性的統計資料。它是由米勒塔裡等人帶到計算機視覺的。2016年進行三維醫學影像分割。
圖3 骰子係數
上式顯示了骰子係數方程,其中pi和gi分別表示對應的畫素預測值和ground truth。在邊界檢測場景中,pi和gi的值為0或1,表示畫素是否為邊界,是的時候值為1,否則值為0。因此,分母是預測和ground truth的總邊界畫素的和,數值是正確預測的邊界畫素的和,因為只有當pi和gi值匹配時(兩個值1)才遞增。
圖4 骰子係數(設定檢視)
圖4是圖3的另一個檢視。從集理論的角度來看,其中骰子係數(DSC)是兩個集合之間重疊的度量。例如,如果兩組A和B完全重疊,DSC的最大值為1。否則,DSC開始減少,如果兩個組完全不重疊,則最小值為0。因此,DSC的範圍在0到1之間,越大越好。因此,我們可以使用1-DSC作為骰子損失來最大化兩組之間的重疊。
在邊界檢測任務中,ground truth邊界畫素和預測的邊界畫素可以被視為兩個集合。通過利用Dice Loss,這兩組被訓練一點地重疊。如圖4所示。分母考慮全域性尺度上的邊界畫素的總數,而數值考慮區域性尺度上的兩個集合之間的重疊。因此,Dice Loss在本地和全域性上都考慮了損失資訊,這對於高精度至關重要。
結果
圖5 邊界預測的結果
如圖5所示。使用Dice Loss(c列)的預測結果比其他方法(d、e列)具有更高的精度。特別是對於薄邊界,因為只有當預測的邊界畫素與ground truth薄邊界重疊,並且在其他區域沒有預測的邊界畫素時,才可以減少Dice Loss
參考論文
V-Net: Fully Convolutional Neural Networks for Volumetric Medical Image Segmentation, Milletari et al., 3DV 2016
Learning to Predict Crisp Boundaries, Deng et al., ECCV 2018
原文連結:
https://medium.com/ai-salon/understanding-dice-loss-for-crisp-boundary-detection-bb30c2e5f62b
本文來源於公眾號 CV技術指南 的論文分享系列。
歡迎關注公眾號 CV技術指南 ,專注於計算機視覺的技術總結、最新技術跟蹤、經典論文解讀。
在公眾號中回覆關鍵字 “技術總結” 可獲取以下文章的彙總pdf。
其它文章
在做演算法工程師的道路上,你掌握了什麼概念或技術使你感覺自我提升突飛猛進?