文章目錄
-
- (cvpr2020 oral)Polar Mask : Single Shot Instance Segmentation with Polar Representation
-
-
- 1. Architecture
- 2. Polar Mask Segmentation
-
- (cvpr2020 oral)AdderNet: Do We Really Need Multiplications in Deep Learning?
- (cvpr2020 oral)BBN: Bilateral-Branch Network with Cumulative Learning
- (cvpr2020)CentripetalNet: Pursuing High-quality Keypoint Pairs for Object Detection
- (cvpr2020)Attention Convolutional Binary Neural Tree for Fine-Grained Visual Categorization
- (cvpr2020)Learning in the Frequency Domain
- (cvpr2020)Single-Stage Semantic Segmentation from Image Labels
- (非CVPR) Scalable Arrow Detection in Biomedical Images
- 參考資料
前言 最近需要分享看過的論文,是以針對目标檢測和圖像分割兩個大的題目,看cvpr2020相關的論文。
(cvpr2020 oral)Polar Mask : Single Shot Instance Segmentation with Polar Representation
論文位址
代碼位址
作者本人的解讀
摘要 這篇文章提出了一種anchor-box free的single-shot圖像分割方法,概念上來說就是進行完全卷積,可以把這個方法嵌入到許多現有的檢測方法中。
1. Architecture
下圖是Polar Mask的結構圖,包含:主幹網絡,FPN,和針對特定任務的heads. 這篇論文裡使用功能的backbone和FPN是與FCOS論文中的相同。

2. Polar Mask Segmentation
- Polar Representation 首先,給定一個執行個體的輪廓,使用極坐标進行表示,采樣一個中心點 ( x c , y c ) (x_c, y_c) (xc,yc)和在輪廓上的點 ( x i , y i ) , i = 1 , 2 , . . . , N (x_i, y_i), i=1,2,...,N (xi,yi),i=1,2,...,N. 從中心點出發均勻等角度間隔的發射 n n n條線段 Δ θ ( n = 36 , Δ θ = 1 0 ∘ ) \Delta \theta (n=36, \Delta \theta=10^\circ) Δθ(n=36,Δθ=10∘),執行個體的輪廓就是用中心點和 n n n條線段表示出來。角度間隔是實作确定的,是以隻需要預測出線段的長度,是以我們可以将圖像分割的任務公式化為極坐标下的執行個體中心點的分類和密度距離回歸。
- Mass Center 執行個體中心的選擇有很多,比如框中心和重心,本文通過實驗驗證了重心更有利,重心落入執行個體内部的可能性更大,極端情況暫時除外。
- Distance Regression 在進行極坐标表示的過程中包含一些特殊情況,這些像素是影響
-
Polar Centerness 由于文章預測出來的中心點是針對框的,但是我們在意的是預測的輪廓,是以論文中引入了Polar Centerness,給定 n n n條線段,論文提出了Polar Centerness,給中心點進行重新權重。在結構圖中添加了與分類分支平行的一個單層分支,來預測某個位置的Polar Centerness,Polar Centerness的引入能夠讓網絡提高精度。
「2」「======」cvpr2020論文學習 - Polar IOU Loss 不需要調整權重就可以讓mask分支快速且穩定的收斂。
(cvpr2020 oral)AdderNet: Do We Really Need Multiplications in Deep Learning?
論文連結
代碼連結
論文解讀
摘要 這篇文章在釋出的時候引起熱議,實作一個無乘法的神經網絡的同時達到了與乘法神經網絡近似的效果。現有的gpu卡無法輕松的安裝在移動端裝置上,是以有必要在充分利用移動端能夠提供的計算資源的基礎上研究深度學習網絡。
-
Adder Network
AdderNet網絡幾乎不包含乘法,将某中間層的輸入定義為X,filter定義為F,輸出feature為Y。函數S(…)表示了輸出Y與輸入的X和F之間的關系,普通的神經網絡的 S ( x , y ) = x × y S(x,y)=x\times y S(x,y)=x×y。
這裡我們就可以更換這個度量函數表示濾波器和輸入特征之間的關系。隻有加法的度量函數比如L1距離,公式可以重新定義:
-
Optimization
傳統的CNN通過反向傳播計算梯度,通過梯度下降的方法優化網絡參數,在Adder Net中求導計算為:
sgn是符号函數,求導結果隻有+1,0,-1三個輸出,不能很好的描述輸入與filter之間的距離關系,是以将符号函數去掉後,但為了防止梯度爆炸,添加了一個HT函數防止梯度爆炸。「2」「======」cvpr2020論文學習 「2」「======」cvpr2020論文學習 -
Adaptive Learning Rate Scaling
傳統CNN中,經常使用BN來讓網絡的各層輸出分布近似,讓網絡計算更加穩定。假設X和F都是均值為0的标準正态分布,CNN中的方差計算式為(6),在這個公式中如果給卷積核F的方差很小,輸出Y的方差就與輸入X的方差相近。
AdderNet中,輸出Y的方差表達式為(7),在這個表達式中我們無法給定F一個方差,讓輸入與輸出之間的方差分布近似,輸出的量級可能會随着網絡的加深爆炸。但「2」「======」cvpr2020論文學習 如果對AdderNet使用普通的BN進行歸一化, y = γ x − μ β σ β − β y=\gamma \frac{x-\mu_\beta}{\sigma_\beta}-\beta y=γσβx−μβ−β,其中 γ 和 β \gamma和\beta γ和β是可學習的參數, μ 和 σ \mu和\sigma μ和σ是輸出特征的均值和方差,反向計算梯度的時候,如公式9。AdderNet的方差很大(分母較大),是以導緻梯度很小不利于網絡的學習,是以提出了基于歸一化的自适應學習率.「2」「======」cvpr2020論文學習 「2」「======」cvpr2020論文學習 每層的梯度計算公式為 Δ F l = γ × α l × Δ L ( F l ) \Delta F_l=\gamma \times \alpha_l \times \Delta L(F_l) ΔFl=γ×αl×ΔL(Fl),其中 γ \gamma γ為整個網絡的全局學習率, Δ L ( F l ) \Delta L(F_l) ΔL(Fl)表示第 l l l層的梯度, α l \alpha_l αl是第 l l l層的學習率。
AdderNet計算濾波器與輸入之間內插補點,量值大小應近似而有利于特征提取,由于每層的特征都進行歸一化,量級都一樣,是以每層的濾波器量級也應該相似,将每層的學習率計算為:
其中k表示 F l F_l Fl中的元素個數, η \eta η表示控制所有adder層的超參數。通過這個方法能相同且以更快的更新速度優化每層的濾波器。「2」「======」cvpr2020論文學習 - 分類結果
給出在CIFAR資料集上的效果對比:
給出在ImageNet上的分類結果:
下圖給出了CNN和ANN的濾波器對比圖,發現兩種網絡的梯度計量方式雖然不同,但濾波器的紋理特征都比較明顯,可以起到提取特征的作用。
(cvpr2020 oral)BBN: Bilateral-Branch Network with Cumulative Learning
論文連結
代碼連結
摘要 這篇論文主要針對的問題是自然界中資料的長尾分布問題,即少數類别占據了大多資料,而大多數類别隻有少量的資料,提出的BBN網絡能夠先學正常的資訊,然後學習長尾資料的特征。這篇文章将整個分類模型分成兩個階段:特征提取階段和分類器學習階段。
-
How class re-balancing strategies work?
當采用類别資料均衡的測略進行訓練能夠讓模型更加注意長尾分布資料,提高模型分類性能。對此現象作出一個猜想,這種類别均衡政策能夠極大的提升分類器的性能,但可能破壞了原始資料分布損害模型的通用性。為了證明這一猜想,作者采用了一個two-stage的訓練方式,首先,采用cross-entropy、re-balancing 或re-weight方法訓練能夠得到多個特征提取器,然後固定特征提取部分的參數,采用不同的訓練方式來訓練第二階段的分類器。Cross-Entropy(CE):使用原始不均衡資料集、交叉熵損失函數進行普通訓練;Re-Sampling (RS): 在原始資料基礎上進行采樣,均衡後進行模型的訓練;Re-Weighting(RW):按照樣本數量多少的倒數對樣本進行權重。
從垂直的方向上看,在進行了RS或RW操作後的分類器性能是有所提升的;從水準方向上看,進行了RS或RW操作後降低了特征提取器的分辨能力。「2」「======」cvpr2020論文學習 -
Overall Framework
BBN包括三部分:包含特征學習和分類器學習的Conventional Learning Branch和Re-balancing branch,兩個分支共享除了最後一個殘差塊之外的殘差網絡參數。将訓練樣本經過各自分支的處理之後輸入到各個分支網絡中,得到了 f c f_c fc和 f r f_r fr,繼而設計一個累積學習政策,最終的類别通過softmax函數得到,最終的訓練仍然是端到端的形式。
「2」「======」cvpr2020論文學習 「2」「======」cvpr2020論文學習 -
Proposed bilateral-branch structure
描述了兩個細節:資料采樣和兩個分支的權值共享,權值共享有兩個好處:conventional分支的良好學習也有利于re-balancing分支的學習;共享權值也能夠降低計算的複雜度。
-
Proposed cumulative learning strategy
提出了comulative 學習政策來調整兩個網絡學習的重點,這個政策讓模型的學習中點從關注普遍特征到關注長尾分布的資料,就是公式中 α \alpha α, α \alpha α的值是随着訓練的epoch數變化的。
-
Inference phase
在infer階段,由于兩個分支同等重要是以将自适應 α \alpha α設定為0.5。
- Results
「2」「======」cvpr2020論文學習
(cvpr2020)CentripetalNet: Pursuing High-quality Keypoint Pairs for Object Detection
摘要 這篇文章提出了CentripetalNet,此網絡預測corners的位置和向心位移,并根據位移對齊找到比對的corners。在這裡我将corners了解成為拐點。此外還設計了一個cross-star deformable卷積網絡來進行特征自适應。Furthermore,通過在anchor-free 的探測器上equip一個輪廓預測子產品來研究執行個體分割。
基于關鍵點的檢測器取得了不錯的效果,但是錯誤的關鍵點比對也極大影響了檢測器的性能。本文提出的CentripetalNet通過向心位移來比對拐點,預測拐點的位置和向心位移,比對位移結果對齊的拐點。由于結合了位置資訊,本文所提的方法比傳統的嵌入式方法準确率更高。corner pooling将邊界框内部的資訊提取到了border上,是以設計了cross-star deformable卷積網絡進行特征自适應。此外在網絡中的添加輪廓預測子產品來進行anchor-free的執行個體分割。
-
CentripetalNet
CentripetalNet包含四個部分:拐點預測子產品、向心偏移子產品、cross-start deformable卷積子產品和instance 輪廓head。首先通過CornerNet pipeline産生候選拐點,對所有的候選拐點,通過向心偏移程式得到高品質的拐點對并預測出bounding boxes。然後,提出了一個corss-star deformable convolution,其偏移場是通過拐點到其對應中心的偏移處學習的,目的是進行特征自适應來豐富拐點位置的視覺特征,這對于提高centripetal shift module的準确性非常重要。最終,增加了instance mask module來進一步的提升detector的表現,同時将我們的方法擴充到instance segmentation領域。本文的方法可以将預測bounding boxes的centripetalNet shift module看作是region proposals,使用ROIAlign來提取區域特征,并采用卷積網絡預測segmentation mask. CentripetalNet通過端到端的方式進行訓練。
-
Corner Matching
屬于同一邊界框的一對角應該共享該框的中心。我們可以通過預測出來的拐點的位置和向心位移确定出邊界框的中心,這樣就比較容易的比較一對corners的中心是否足夠接近,是否與拐點對組成邊界框的中心足夠接近。
-
Cross-star Deformable Convolution
由于corner pooling,在feature maps上就會出現一些’cross stars’, 'cross stars’的邊界保留了object的上下文資訊,因為corner pooling使用max和sum操作将物體的位置資訊可擴充到拐點。我們發現cross star的形狀與bouding box的形狀有關,要了解cross star的幾何結構,可以在網絡中采用相應物體的尺寸來顯示的給offset field提供資訊。但我們發現如圖4,cross star的左上角部分應該得到較少的關注,因為在物體外有比較多的無效資訊,針對這種情況,我們在offset field branch前面嵌入guiding shift,guiding shift中包含了形狀和方向資訊。
「2」「======」cvpr2020論文學習 -
Instant Mask Head
如果想要得到執行個體的分割輪廓,首先,預訓練CentripetalNet幾個epoch,選擇得到較高的k個proposals,進行RoIAlign後得到feature maps,經過4個3x3的卷積層後,使用一個transposed 卷積層上采樣到28x28的mask map。
(cvpr2020)Attention Convolutional Binary Neural Tree for Fine-Grained Visual Categorization
摘要細粒度分類(Fine-Grained Visual Categorization, FGVC)是圖檔分類的一個分支,由于類别間的相似性非常大,一般人比較難區分,是以是個很有研究意義的領域。受神經樹研究的啟發,論文設計了結合注意力卷積的二叉神經樹結構(attention convolutional binary neural tree architecture, ACNet)用于弱監督的細粒度分類,在樹結構的邊上結合了注意力卷積操作,在每個節點使用路由函數來定義從根節點到葉節點的計算路徑。這樣的結構讓算法有類似神經網絡的表達能力,能夠從粗到細的層級學習特征,不同的分支專注不同的局部區域,最後結合所有葉子結點的預測值進行最終的預測。添加了attention transformer子產品來加強網絡擷取關鍵特征的能力來進行準确分類。
ACNet包含四個子產品,分别是主幹網絡(backbone network)、分支路由(branch routing)、attention transformer和标簽預測(label prediction)。
-
Backbone network module
由于細粒度的關鍵特征都是高度局部化的,需要相對較小的感受域來進行特征提取,這裡的backbone采用了預訓練的截斷VGG16,輸入改為448*448;
-
Branch routing module分支路由
使用分支路由确定将樣本配置設定到哪一個葉節點上。k-th層的i-th路由子產品由1x1卷積和global context block組成,context modeling和fusion步驟使用了simplified NL block,在transform中使用了SE block,這個子產品能夠很好的結合上下文悉資訊進行特征提取,最後使用global average pooling、element-wise square-root 、L2正則化以及simoid激活的全連接配接層輸出。
「2」「======」cvpr2020論文學習 -
Attention transformer
Attention transformer子產品用于加強網絡擷取關鍵特征的能力,在卷積層後面添加如圖的結構,該子產品的旁路輸出一個大小為CX1X1的channel attention map對輸入特征進行權重。
「2」「======」cvpr2020論文學習 - Label Prediction 通過求和所有葉子節點的預測結果和路徑累計機率的乘積作為最終的預測結果,最終的預測結果加和為1.
- Loss function損失函數由兩部分組成,葉節點預測産生的損失和最最終結果産生的損失。
(cvpr2020)Learning in the Frequency Domain
摘要 現有的神經網絡主要在固定輸入大小的空間域中運作,在實際應用中,通常圖像較大,是以需要将圖像降采樣為神經網絡的固定輸入大小,下采樣會導緻部分資訊丢失進而使得網絡精度下降。受到數字信号理論的啟發,從頻域的角度分析頻譜偏差,提出一種基于學習的頻率選擇方法,來識别可以去除但無損精度的頻率分量。本文所提的頻域學習方法利用了熟知的神經網絡結構,如:ResNet50、Mobilenet-V2和mask R-CNN,同時接受頻域資訊作為輸入。通過實驗表明頻域學習方法比傳統的下采樣方法精度更高,同時還可以進一步減小輸入資料量。
本文中建議在頻域中重塑高分辨率圖像,而不是在空間調整圖像大小,并将reshape後的DCT系數輸入到CNN中進行inference。本文的方法幾乎不需要修改現存的以RGB圖像作為輸入的CNN模型,它可作為正常的資料預處理流程的替代品,實驗證明與輸入資料大小相等或者更小的RGB方法相比,我們的方法在圖像分類、檢測和分割任務中有更高的準确性。所提的方法能夠使得所需晶片通信帶寬的減少。
傳統的方法中,通常在CPU上對高分辨率RGB圖像進行預處理,然後将其傳輸到GPU/AI加速器來進行實時推理。RGB格式的未壓縮圖像通常較大,是以CPU與GPU之間的通信帶寬要求通常很高,這種帶寬可能成為系統性能的瓶頸。為了降低計算成本和通信帶寬的要求,将圖檔下采樣為較小的圖檔會導緻資訊丢失進而降低精度。在本文的方法中,高分辨率RGB圖像仍然在CPU上進行處理,但首先将圖像轉換到YCbCr顔色空間,然後轉移到頻域,相同頻率的分量被分到同一個通道中,形成了多個頻道。在進行傳輸過程中,保留最重要的頻道傳輸到GPU上進行infer,這種方法的精度更高。
在實際應用中,隻需要删除輸入的CNN層,保留剩下的子產品,修改輸入的通道數量來适應圖檔DCT系數輸入的尺寸,這樣修改後的模型可以保持與原模型相似的參數和計算複雜度。
-
Data Pre-processing in Frequency Domain
資料預處理流程如圖2所示。我們遵循空間域中的預處理和擴充流程,包括圖像大小調整,裁剪和翻轉(圖2中的空間調整大小和裁剪)。 然後将圖像轉換到YCbCr顔色空間并轉換到頻域(圖2中的DCT轉換)。 将相同頻率的二維DCT系數分組到一個通道中,以形成三維DCT立方體(圖2中的DCT整形。 選擇有影響力的頻道的子集(圖2中的DCT頻道選擇)。 YCbCr顔色空間中的標明通道串聯在一起形成一個張量(圖2中串聯的DCT)。最後,通過從訓練資料集計算出的均值和方差對每個頻道進行歸一化。從大小為448x448x3的輸入圖像轉換為DCT,在空間域上保留的資訊比224x224x3對應的資訊多四倍,代價是輸入特征尺寸的四倍。
-
Learning-based Frequency Channel Selection
輸入的尺寸為W × H × C,通過average pooling轉化成tensor2,然後通過一個卷積層變為tensor3,tensor3分别乘上兩個可訓練參數變為tensor4,最後一唯的兩個參數分别表示每個channel打開和關閉的機率。通過通道篩選後得到tensor5,某個頻率是否使用是通過伯努利分布進行采樣來決定,伯努利分布的p是通過1×1×C×2張量中的最後一唯資料計算得出的。ti
「2」「======」cvpr2020論文學習
(cvpr2020)Single-Stage Semantic Segmentation from Image Labels
摘要 弱監督的情況下提升語義分割的準确性是以增加模型的複雜度或進行複雜的多階段訓練為代價的。在這篇文章中,首先定義了弱監督方法的三個理想屬性:局部一緻性、語義保真性和完整性。基于以上屬性,這篇文章提出了基于分割的網絡模型和自我監督的訓練方案,在one-stage中訓練來自圖像級注釋的語義mask。盡管提出的方法較為簡單,但我們方法取得的結果與更複雜的網絡相比更有優勢。
這篇文章有些晦澀,讀了一部分之後有些讀不下去了,就先擱置了
提出了三個新穎的元件:一個新的類别的聚合函數、局部輪廓細化子產品和随機門(a new class aggregation function, a local mask refinement module, and a stochastic gate)。
(非CVPR) Scalable Arrow Detection in Biomedical Images
摘要 這篇文章提出了在生物醫學影像中檢測出箭頭的方法,提出一種signature,通過對比候選區域signature和理論signature進行對比,判斷是否含有箭頭。
參考資料
Addernet
論文集錦