利用邊緣監督資訊加速Mask R-CNN實例分割訓練

  • 2019 年 12 月 27 日
  • 筆記

今天跟大家分享一篇有意思的arXiv上新出的論文,作者來自德國寶馬汽車公司(BMW Car IT GmbH,Germany)的兩位實習生。

Mask R-CNN是實例分割的經典模型,作者通過在Mask R-CNN框架上附加一個新任務,達到更快的網路收斂速度。 該文對MaskR-CNN添加了一個新的預測任務,稱為Edge Agreement Head(也許可以翻譯為「邊緣協定預測端」?),它的靈感來自人工實例標註的方式。當人們對實例進行像素級標註的時候,僅僅會關注實例的邊緣部分,而實例內部則只需要簡單的複製邊緣的標註資訊就可以了。所以實例的mask邊緣非常有用,它們很好地表徵了實例。Edge Agreement Head的作用即鼓勵深度網路訓練時預測的實例mask邊緣與groundtruth的邊緣相似。

演算法思想

作者通過觀察Mask R-CNN訓練前期輸出的預測影像,發現很多時候邊緣都不在點上,很顯然,神經網路在走彎路。 請看下面的例子:

這是Mask R-CNN深度網路訓練前期的一些預測的Mask,發現它並沒有像人類一樣先把邊緣找出來,甚至缺失的很離譜(你可以預測的不很精細準確,但至少要表現出在向這個方向努力吧!)。 為了避免神經網路走彎路,作者把實例的邊緣資訊作為一種監督的指引,即將groundtruth進行邊緣濾波,讓神經網路同時去預測實例的邊緣。指了條明路。 Mask R-CNN的多任務損失函數:

具體的做法是,增加一個新分支,預測邊緣並與groundtruth的邊緣相比較,請看下圖

作者僅是對每個實例28*28大小區域內(所以增加的計算量有限)進行上述操作,通過添加簡單的3*3邊緣檢測計算預測和groundtruth的邊緣,因為邊緣檢測往往和影像平滑一起用,所以右邊的圖增加了平滑的步驟。 上圖中Lp代表計算兩者差異的方式,如下:

p代表像素差值的冪次方參數。

作者嘗試了普通的Sobel濾波和Laplacian濾波檢測邊緣。

作者通過Edge Agreement Head方式增加了一個損失函數,模型複雜度略微增加,沒添加任何額外的需要訓練的模型變數,訓練的計算成本增加很小,而網路推斷時不增加計算量。

實驗結果 作者在MS COCO 2017數據集上做了實驗,比較訓練達到160k steps時基準模型和提出的模型的COCO AP metrics精度。

Table 1說明當訓練達到160k steps時,使用Edge Agreement Head的模型訓練達到了更高的精度,尤其是使用Soble邊緣運算元的模型。 Table 2表明不使用影像平滑加速更加明顯,達到更高的精度。 預測結果比較圖示:

Table 4表明,拉長訓練時間,使用Edge Agreement Head仍然獲得了更高的精度。

該文沒有開源程式碼。

總結 這篇論文很簡單,但給出的結論很有意思,Edge Agreement Head相當於提供了更多的監督資訊,為深度網路指了一個方向,少走一些彎路。尤其在訓練早期,網路更容易迷茫的時候就更需要指條明路。 尤其值得一提的是,很顯然邊緣資訊可以有助於所有影像像素級理解的應用,比如深度估計、光流計算等,大家不妨一試。

論文地址: https://arxiv.org/abs/1809.07069v1