使用Dice loss實現清晰的邊界檢測

​ 前言:

在深度學習和電腦視覺中,人們正在努力提取特徵,為各種視覺任務輸出有意義的表示。在一些任務中,我們只關注對象的幾何形狀,而不管顏色、紋理和照明等。這就是邊界檢測的作用所在。

關注公眾號CV技術指南,及時獲取更多電腦視覺技術總結文章。

 

問題定義

圖1 邊界檢測

圖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

原文鏈接:

//medium.com/ai-salon/understanding-dice-loss-for-crisp-boundary-detection-bb30c2e5f62b

 

本文來源於公眾號 CV技術指南 的論文分享系列。

歡迎關注公眾號 CV技術指南 ,專註於電腦視覺的技術總結、最新技術跟蹤、經典論文解讀。

在公眾號中回復關鍵字 「技術總結」 可獲取以下文章的匯總pdf。

其它文章

使用Dice loss實現清晰的邊界檢測

PVT–無卷積密集預測的多功能backbone

CVPR2021 | 開放世界的目標檢測

Siamese network總結

視覺目標檢測和識別之過去,現在及可能

在做演算法工程師的道路上,你掌握了什麼概念或技術使你感覺自我提升突飛猛進?

電腦視覺專業術語總結(一)構建電腦視覺的知識體系

欠擬合與過擬合技術總結

歸一化方法總結

論文創新的常見思路總結

CV方向的高效閱讀英文文獻方法總結

電腦視覺中的小樣本學習綜述   

知識蒸餾的簡要概述   

優化OpenCV影片的讀取速度

NMS總結   

損失函數技術總結

注意力機制技術總結   

特徵金字塔技術總結   

池化技術總結

數據增強方法總結   

CNN結構演變總結(一)經典模型

CNN結構演變總結(二)輕量化模型 

CNN結構演變總結(三)設計原則

如何看待電腦視覺未來的走向   

CNN可視化技術總結(一)特徵圖可視化

CNN可視化技術總結(二)卷積核可視化

CNN可視化技術總結(三)類可視化

CNN可視化技術總結(四)可視化工具與項目