CVPR 2020 | ADSCNet: 自糾正自適應膨脹率計數網絡解讀
導讀:在CVPR 2020上,商湯智慧交通產品線團隊提出的自糾正自適應膨脹率計數網絡,針對計數任務中點標注位置不一致和透視現象造成巨大的尺度變化的問題提出了有效的網絡設計和監督方法。在監督方式方面,ADSCNet利用網絡學習的結果來糾正不一致的人工標注從而更有效的訓練;在網絡設計方面,ADSCNet提出自適應膨脹率的卷積結構,不同位置采用不同的膨脹率來適應尺度的變化。ADSCNet在四個公開數據集上均有顯著的提升。
論文名稱: Adaptive Dilated Network with Self-Correction Supervision for Counting
問題和挑戰
目標計數作為計算機視覺的一個重要方向。在工業界有著廣泛的應用,例如交通場景下的擁堵判斷,視頻監視下的流量統計以及地鐵中的人流分析等。近年來,使用卷積神經網絡(CNN)的方法取得了顯著的進展。但是,這項任務仍然具有挑戰:
a. 由于密集的場景,對于目標多采用點標注的方式,這就帶來標注位置不一致的問題,如下圖(a)的黃點,點的位置可能在嘴上,眼睛,耳朵等。那么究竟哪里才是更有利于網絡學習的位置呢?
b. 如下圖(b)在監控的密集的場景下,不但在不同的場景中目標的尺度差異大,而且在同一張圖中也有由于透視現象造成目標會有巨大的尺度變化。
方法介紹
針對以上提出的問題,我們提出了一個新穎的計數框架,如下圖所示。它由自適應膨脹卷積網絡和自校正監督組成。在這一部分,我們首先會從高斯混合模型(GMM)的角度理解傳統的目標密度圖,然后我們將介紹如何利用一種期望最大化(EM)的方式進行自糾正更新標簽,最后將介紹自適應膨脹率卷積的網絡結構和實現細節。
1. 自糾正的監督方式
動機:隨著模型的訓練的進行,不一致的點標注會影響網絡學習的上限。通過觀察發現學習一定時間以后,網絡預測的密度在響應位置一致性上好于人工標注。所以我們希望通過利用網絡的預測來糾正標注的位置,從而得到更一致同時更有利于網絡學習的密度圖標簽。
方法:
將高斯密度圖看作一個高斯混合模型(GMM):
其中D表示高斯密度圖,K表示目標個數,x表示圖中的位置
這里可以用人工標注的點作為均值,固定值為方差,生成高斯混合模型的初始分布,而網絡預測的密度圖可以近似看作網絡根據圖像特征預測的一個目標分布。我們的方法就是利用網絡預測來以一種類似期望值最大化(EM)的方式更新高斯混合模型從而得到適合的標簽。
具體方式如下:
E步驟:
我們使用后驗概率來評估第位置和第
高斯分布的“責任”。
然后用模型預測的密度圖糾正“責任”。
M步驟:
重新估計高斯混合模型的參數
其中X表示位置矩陣隨著E和M交替執行,我們會得到更一致響應的標簽。在更新的過程,由于已知每個目標對于整體的分布是相同的,所以對于重新估計的權重系數π我們會固定為1/K.
自糾正損失函數:
提出的自糾正損失函數包含兩個部分,一個部分是直接全圖和糾正后密度圖比較L1距離,這部分關注整圖數量上的誤差,第二部分為權重系數的監督,主要關注個體,保證對于整體的貢獻一致
總體而言,提出的自糾正監督具有許多理想的屬性。 首先,它能夠容忍標注偏差。 動態更新目標密度圖可以糾正某些標簽的偏差,以幫助模型學習到一致的特征表達。 其次,對于方差的變化是魯棒的。 可以根據圖像特征采用迭代調整方差以適應響應區域。 第三,它對象數量的變化很敏感。 混合系數的波動有效地反映了漏檢和誤檢。 下面展示了密度圖估計中的四種常見情況(抖動,方差增加和高斯核的變化)自糾正的對比。
2. 自適應膨脹率網絡結構
我們從兩個角度設計了自適應膨脹卷積
1) 從尺度變化方面,我們使用連續的感受野也來匹配連續的尺度變化。
2) 為了學習空間感知,不同的位置回采用不同的膨脹率來進行采樣。
下圖為我們的自適應膨脹卷積的過程:
步驟1:以相同特征為輸入,通過標準3×3卷積層得到一張與原圖相同大小的單通道的膨脹率圖。特別地,我們添加了一個ReLU層來保證膨脹率圖上值都為非負數。
步驟2:對特征進行自適應感受野的采樣,不同位置的采樣網格大小為膨脹率圖對應位置的值,這個值可能會是小數,這里我們采用了雙線性插值進行采樣
步驟3:對采樣值進行加權求和得到新的特征
我們的自適應膨脹率卷積不需要額外的尺度標簽,只需要最后的密度標簽就可以讓網絡自己學習適應不同尺度的目標。同時相比較形變卷積[1],我們的采樣網格中是完全對稱的,采樣的特征不會有相對目標位置上的偏差,和最終目標的位置有更好的一致性,更加適合計數這種位置敏感性的任務。
實驗結果
下圖為可視效果的對比,可以看出,ADSCNet相比較傳統的監督預測的密度圖主要有兩方面的優勢:1.不同目標更一致的響應強度 2.不同目標響應的位置更加一致。響應點主要集中頭部的左上角輪廓處,表明了相對于人工標注的眼睛,鼻子等,頭部輪廓是相對更不容易遮擋,更適合計數任務的特征點。通過下圖第四列可以看到整體上大的目標需要更大感受野,一些有語義的背景目標也需要更大的感受野去區分。
同時我們也進行消融實驗的對比,首先我嘗試了有效的數據增加方式,加入BN和增大batchsize來確立新的Baseline。我們這里復現了CSRNet[2]和MCNN[3]作為Baseline方法進行比較,如下圖首先是自糾正監督的效果。自適應監督在三個baseline上取得了一致的提升。 他們相對的MAE提升分別為6.19%,8.57%,8.72%。
而自適應膨脹卷積方面,我對比了不同的固定膨脹率和多列網絡組合以及形變卷積的效果。相比較固定的膨脹率,我們只增加了有限的運算,卻取得了明顯的提升。
最后和當前SOTA的對比,ADSCNet在四個公開數據集取得更優的表現,并有著明顯的提升,表明了我們方法的有效性。
結語
在本文中,我們為計數問題提出了一種新穎的監督學習框架。它利用模型估計來迭代地糾正GT,并提出自糾正損失函數同時監督整體的數量和個體的分布。同時這種方法可以應用到所有基于CNN的方法中。另一方面,我們提出了自適應膨脹卷積,它通過每個位置的動態地學習不同的膨脹率以適應目標巨大的尺度變化。在四個數據集上進行的實驗表明,它可以顯著提升計數網絡的性能。 同時也說明了利用模型從圖像特征上學習的信息能夠被用于糾正標注來提升性能。
References
[1] Dai, Jifeng, et al. Deformable convolutional networks. In ICCV, 2017.
[2] Li, Yuhong, Xiaofan Zhang, and Deming Chen. Csrnet: Dilated convolutional neural networks for understanding the highly congested scenes. In CVPR, 2018.
[3] Zhang, Yingying, et al. Single-image crowd counting via multi-column convolutional neural network. In CVPR, 2