論文閱讀 2017-Not All Pixels Are Equal: Difficulty-Aware Semantic Segmentation via Deep Layer Cascade

最近在讀一篇2017的CVPR的論文,Not All Pixels Are Equal: Difficulty-Aware Semantic Segmentation
via Deep Layer Cascade,並非所有像素都是相等的:通過深層級聯實現困難感知的語義分割。下面從論文進行細緻的分析。

摘要

我們提出了一個深層級聯(Layer cascade, LC)的方法來提高精度和分割速度。與那些多個模型組合的傳統模型級聯(Model cascade, MC)不一樣,層級聯將單個深層模型視爲多個子模型的級聯。訓練前期的子模型來處理簡單和高置信的區域,然後逐漸地將較難的區域前饋給下一個子模型進行處理。

深的層級聯

在這裏插入圖片描述
上圖是IRNet的網絡結構,即Inception-ResNet-v2,這個網絡不是這個論文提出,詳細的結構說明可以從網上查到。

作者將IRNet轉爲IRNet-LC,網絡結構如下圖所示。從結構能夠看出,對於那些已經確定標籤的結果,不用再進行下一步的分割,而下一次分割只處理那些不確定標籤的區域。
在這裏插入圖片描述
作者將整個網絡分爲3個階段。
第一階段,識別出像素標籤,其餘區域前傳。輸入一個3×512×5123\times 512 \times 512的圖片,經過階段1的前三層+2層卷積,產生21×64×6421\times 64\times 64的特徵圖L1L^1。對每個特徵圖,有21維的向量,對這個向量使用softmax函數進行歸一化。對於最高像素大於0.95的確定是最終結果,不再進行下一階段的傳遞。對於那些仍未被標記的像素區域傳入下一階段。
第二階段,識別出更加細緻的標籤,其餘區域前傳。方法同階段1
第三階段,確定最終標籤。根據更新的區域,計算最終標籤。

區域卷積

階段2和階段3只卷積那些需要前向處理的像素,也就是那些無法確定標籤的像素,下圖a表示了傳統區域卷積的形式。下圖b表示了區域卷積的形式。實現方法就是在卷積上面加了個掩膜(目標區域爲1,其他爲0)。區域卷積的濾波只在ROI上卷積,忽略其他區域,這樣能減少許多計算量,假設這個ROI爲MM。其他區域的值直接被設置爲0,類似的卷積很常見,Faster RCNN就是一個經典的例子。

特別的下圖c表示了區域卷積在殘差模型上的表示,h(I)=I+conv(I)h(I) = I + conv(I)。將卷積方式定義爲上述的區域卷積,反向傳播時只傳播目標區域導數即可。
在這裏插入圖片描述

總結

文章主要結構就是這樣,其核心就是區域卷積,將整個階段劃分爲3個階段,不斷地剔除已經標記出的結果,只進一步處理有效區域,這也是其速度快的核心原因。

對於其提高精度的說明,我認爲之前的網絡背景部分佔據了大量的信息,迭代時候背景誤差主導。而考慮區域之後,其實是目標主導,這樣能夠有效地對目標進行訓練,提高精度。

論文中作者給出的速度是42ms,使用的是Titan X顯卡,如果應用於嵌入式,實時性上還是需要繼續考慮的,但是區域卷積是個趨勢,後續也會繼續跟蹤相關文獻,進行進一步理解

備註:論文代碼只提供了區域卷積層的代碼,完整代碼沒有給出,但是根據論文自己其實也能復現,論文我主要關注其思想,具體細節只有復現才能知道,後續有相關不清楚的地方歡迎評論區討論,我會及時進行分析解答。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章