f-BRS: Rethinking Backpropagating Refinement for Interactive Segmentation解析
f-BRS: Rethinking Backpropagating Refinement for Interactive Segmentation[2]?是 CVPR 2020 的文章,文章提出了一種新穎的反向傳播優化方案(f-BRS),該方案可在網絡的中間特征上運行,并且只需要對網絡的一小部分進行正向和反向傳遞。實驗結果在準確性和速度方面設定了最高的結果。
f-BRS 的優化過程可以通過以下 demo 進行演示。
可以看到,f-BRS 可以在得到交互式前景和背景的點擊下,在進行傳播的過程中,不僅可以從輸入進行反向傳遞也可以從相應的特征提取的模塊節點下進行反向傳播優化網絡,這將在推理上可以實現大幅度的速度提升,值得說的是后端優化的節點并沒有帶來多大分割精度上的損失。
我們看一下模型的實現細節,整個模型結構如圖 2 所示。
▲圖2.f-BRS模型結構
模型的輸入為原圖 image 和已經處理好的前景背景的點。如何處理好這些前景和背景的點呢,這就需要通過一個 Distance Maps 去實現,也就是圖上畫出來的。
說的通俗一點,這個 Distance 就是怎樣確定前景點和對應的 mask 上的區域,源碼下采用 num_max 作為前景點的最多個數,默認是 10 個。也就是最多在一個區域標記 10 個前景點和 10 個背景點,通過將這些點進行距離映射處理后得到與圖像尺寸相當的 channel 為 2 的距離圖。
得到 Distance Maps 后,我們的輸入就是對應的 Image 的,有人可能又要質疑了,你是怎么確定前景點和背景點的呢?處理前景點和背景點的任務其實是要人通過交互的輸入進行的。怎么去程序化呢?也就是讓電腦模擬人的輸入進行交互呢?
這其實很簡單的,就是通過已有的真實圖像的 Mask 去確定,Mask 在目標物體位置區域內是 1,否則全為 0。隨機選擇 1 的位置作為前景點,0 的位置作為背景點,允許重復的情況下選擇 10 個前景點和 10 個背景點(坐標(-1,-1) 的情況下表示放棄標點)。
文章在對數據進行增強的時候,利用了 Python 下的 albumentations 包,這是個專門實現數據增強的模塊,其中包括 Compose, ShiftScaleRotate, PadIfNeeded, RandomCrop, RGBShift, RandomBrightnessContrast, RandomRotate90, Flip。
對于后續的網絡架構,我們以 ResNet34 為例,對網絡進行了詳細展開,得到的結果如圖 3 所示,對模型中的 BatchSize 進行省略,輸入的圖像尺寸為?。
▲圖3.f-BRS基于ResNet34實現細節
中間的特征節點?f-BRS-A、?f-BRS-B?和?f-BRS-C?在圖 3 中進行了標注,在進行部分反向傳播的時候,也是以這幾個節點為基礎進行操作。模型采用了較為成熟的 Skip project 和 ASPP 方法,這里還要再強調一下文章提出的?zoom in方式,使用的 zoom in 分為 5 個階段。
階段一是確定目標下的邊界框
階段一是確定目標下的邊界框
適度小的擴展找到的邊界框
適度小的擴展找到的邊界框
通過得到的邊界框對圖像進行剪裁
通過得到的邊界框對圖像進行剪裁
上采樣得到的中心區域
上采樣得到的中心區域
再次預測邊界
再次預測邊界
Zoom in 方式的采用可以在不添加任何互動點擊的情況下得到更好的結果。同時 zoom in 的使用將之前已有的交互式分割方法也可以得到較好的提升,這種方式還是很值得借鑒的。
f-BRS 在 GrabCut、Berkeley、SBD 和 DAVIS 數據集上均取得了優異的結果。
▲圖4.f-BRS各數據集下實驗結果
總結
以上是生活随笔為你收集整理的f-BRS: Rethinking Backpropagating Refinement for Interactive Segmentation解析的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 1.Java(初级)编程教程(油管 th
- 下一篇: 如何读懂英文文献?