【技术短文】基于深度负相关学习的人群计数方法
SIGAI 特邀作者:cnns
原創聲明:本文為 SIGAI 原創文章,僅供個人學習使用,未經允許,不得轉載,不能用于商業目的。
1.???? 人群計數
監控視頻中的人群自動計數有著重要的社會意義和市場應用前景。充分利用興趣區域的人數統計信息可以為一些人群密集的商場、車站、廣場等公共場合的安全預警提供有效的指導。還可以帶來經濟效益,例如,提高服務質量、分析顧客行為、廣告投放和優化資源配置等。因此,該問題已成為計算機視覺和智能視頻監控領域的重要研究內容。
近年來,隨著計算機視覺技術的持續發展,大量的人群計數方法被提出。基于人群特征回歸人群人數的方法是當前的主流方法。此回歸方法將人群視為一個整體,利用圖像特征和人群人數之間的回歸關系實現行人計數。這類方法能夠有效地解決人群遮擋問題,具有大規模人群計數的能力。直接的回歸一個圖像中總的人數在實際中準確率不夠理想,因為總人數所包含和表達的人群信息極其有限。近年來大多數基于回歸的方法首先根據標注的人頭位置和核密度估計生成每個人群圖像所對應的人群密度圖(如圖1所示),然后基于人群特征回歸人群密度圖,最后計算人群密度圖的數值總和作為最終的預測人數。人群密度圖保留了人群的分布信息,因此包含了更多和更豐富的人群信息,這對于獲得更準確的預測結果是非常關鍵的。
圖1 人群密度圖
?
2. 深度人群計數模型
深度學習通過多層結構將底層特征逐步轉換為更加抽象的高層特征,具有優異的特征學習能力,學到的特征對數據有更本質的刻畫。深度卷積神經網絡(Convolutional neural network, CNN)是最成功的深度模型之一,在計算機視覺領域有著廣泛的應用。CNN 憑借特有的卷積–池化 (Convolution-pooling) 結構獲的特征對平移、縮放和旋轉具有不變性,相比于底
層特征,判別能力和魯棒性更強。近年來很多深度人群計數模型被提出(如圖2所示),這些方法主要關注如何獲取更好的人群特征用于描述更復雜人群,例如多尺度、嚴重遮擋和不均勻分布的人群。文獻[1]首次提出將深度卷積神經網絡用于人群計數,該方法基于深度卷積特征同時回歸總人數和人群密度圖。這種端到端的多任務學習方法法相比于傳統方法具有準確率高和魯棒性好的優點,但是對于多尺度的行人和嚴重遮擋問題效果并不理想。針對這些復雜的問題,文獻[2]提出一種多列的深度卷積神經網絡模型(Multi-column Convolutional neural network, MCNN)。在MCNN中,不同列實際上是具有不同卷積核的子網絡,理論上不同子網絡可以處理不同尺度的行人。通過大量實驗驗證,MCNN在處理多尺度的行人和嚴重遮擋問題時具有更好的效果。文獻[3]進一步提出一種轉換網絡(Switching Convolutional Neural Network, Switch-CNN),該網絡使用了幾個卷積核大小和深度不同的CNN。Switch-CNN首先將圖像分成多個圖像塊,然后根據圖像塊的內容信息來選擇合適的CNN網絡進行人群密度估計。Switch-CNN。該方法進一步提升了人群計數的準確率和對多尺度、遮擋的魯棒性。然而由于顯存和人群數據集規模的限制,人群網絡的寬度和深度的增加是有限度的。當人群數據集比較小時,很深或很寬的人群模型的訓練變得極其困難,很容易過擬合。
?
3. 集成學習
模型的回歸誤差可以被分解成偏置(Bias)和方差(Variance)。當模型出現過擬合問題時一般伴隨著低偏置和高方差現象。集成學習一般通過顯著減小方差來提高單一模型的泛化能力。基于這個角度,我們提出利用深度集成學習來提高人群計數的性能。
? 圖2 當前深度人群計數模型
本文旨在解決以下兩個技術難點:1)如何訓練一組有足夠多樣性(Diversity)的深度回歸器。文獻[4]證明, 好的集成學習系統往往有著很強的多樣性。2)如何有效地訓練深度集成學習系統。傳統的集成學習一般會獨立的訓練多個分類或回歸器。除了低效率的缺陷以外,由于不同的回歸器彼此之間沒有限制,產生的回歸器之間會有很強的相關性,進而降低了模型整體的多樣性,從而導致模型抑制過擬合的能力受限。
?
4. 深度負相關學習
我們首次提出將負相關學習的思想應用在深度學習模型中。由于深度學習模型的參數眾多,
?
圖3 傳統集成學習和負相關學習
?
同時訓練多個深度學習模型往往需要很多工程技巧并且效率低下。因此,我們要解決的關鍵問題是如何在不增加模型參數規模的情況下得到深度負相關學習模型。我們想要達到兩個目的:1)訓練單個網絡得到多個有足夠多樣性的輸出。2)不增加網絡的參數規模。我們提出的方案是對深度卷積模型最后一層的特征圖進行分組,然后不同的輸出連接不同的分組,這相當于同時訓練了多個弱回歸器,最終得到一個強的回歸器。我們通過使用已有的組卷積(Group Convolution)實現提出的方案。提出的網絡模型如圖4所示。在我們設計的系統中,我們利用文獻[5]的方式同時訓練多個回歸器并加入約束來減弱回歸器之間的相關性。我們的方法有效的增強了模型整體的多樣性,從而提高了模型抑制過擬合的能力。
?
?
5. 實驗及結果
圖4 深度負相關學習模型
實驗使用了三個標準人群計數數據集:UCF_CC_50、Shanghaitech和WorldExpo’10。實驗結果表明提出的方法相比于已有的方法具有更高的準確率。
? 圖5 定性實驗結果
?
圖6 定量實驗結果
6. 參考文獻
[1] Zhang C, Li H, Wang X, et al. Cross-scene crowd counting via deep convolutional neural networks[C]//Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition. 2015: 833-841.
[2] Zhang Y, Zhou D, Chen S, et al. Single-image crowd counting via multi-column convolutional neural network[C]//Proceedings of the IEEE conference on computer vision and pattern recognition. 2016: 589-597.
[3] Sam D B, Surya S, Babu R V. Switching convolutional neural network for crowd counting[C]//Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition. 2017, 1(3): 6.
[4] Brown, Gavin, Jeremy L. Wyatt, and Peter Tiňo. "Managing diversity in regression ensembles."?Journal of machine learning research?6.Sep (2005): 1621-1650.
[5] Liu Y, Yao X. Ensemble learning via negative correlation[J]. Neural networks, 1999, 12(10): 1399-1404.
[6] Shi Z, Zhang L, Liu Y, et al. Crowd Counting With Deep Negative Correlation Learning[C]//Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition. 2018: 5382-5390.
?
推薦閱讀
[1]?機器學習-波瀾壯闊40年?SIGAI 2018.4.13.
[2]?學好機器學習需要哪些數學知識?SIGAI 2018.4.17.
[3]?人臉識別算法演化史?SIGAI 2018.4.20.
[4]?基于深度學習的目標檢測算法綜述?SIGAI 2018.4.24.
[5]?卷積神經網絡為什么能夠稱霸計算機視覺領域?? SIGAI 2018.4.26.
[6]?用一張圖理解SVM的脈絡??SIGAI 2018.4.28.
[7]?人臉檢測算法綜述??SIGAI 2018.5.3.
[8]?理解神經網絡的激活函數?SIGAI 2018.5.5.
[9]?深度卷積神經網絡演化歷史及結構改進脈絡-40頁長文全面解讀?SIGAI 2018.5.8.
[10]?理解梯度下降法?SIGAI 2018.5.11.
[11]?循環神經網絡綜述—語音識別與自然語言處理的利器?SIGAI 2018.5.15
[12]?理解凸優化??SIGAI 2018.5.18
[13] 【實驗】理解SVM的核函數和參數?SIGAI 2018.5.22
[14] 【SIGAI綜述】行人檢測算法?SIGAI 2018.5.25
[15]?機器學習在自動駕駛中的應用—以百度阿波羅平臺為例(上) SIGAI 2018.5.29
[16]?理解牛頓法?SIGAI 2018.5.31
[17] 【群話題精華】5月集錦—機器學習和深度學習中一些值得思考的問題?SIGAI 2018.6.1
[18]?大話Adaboost算法?SIGAI 2018.6.2
[19]?FlowNet到FlowNet2.0:基于卷積神經網絡的光流預測算法?SIGAI 2018.6.4
[20]?理解主成分分析(PCA)?SIGAI 2018.6.6
[21]?人體骨骼關鍵點檢測綜述??SIGAI 2018.6.8
[22]?理解決策樹?SIGAI 2018.6.11
[23]?用一句話總結常用的機器學習算法?SIGAI 2018.6.13
[24]?目標檢測算法之YOLO?SIGAI 2018.6.15
[25]?理解過擬合?SIGAI 2018.6.18
[26]?理解計算:從√2到AlphaGo ——第1季 從√2談起?SIGAI 2018.6.20
[27]?場景文本檢測——CTPN算法介紹??SIGAI 2018.6.22
[28]?卷積神經網絡的壓縮和加速?SIGAI 2018.6.25
[29]?k近鄰算法?SIGAI 2018.6.27
[30]?自然場景文本檢測識別技術綜述?SIGAI 2018.6.27
[31]?理解計算:從√2到AlphaGo ——第2季?神經計算的歷史背景?SIGAI 2018.7.4
[32]?機器學習算法地圖?SIGAI2018.7.6
[33]? 反向傳播算法推導-全連接神經網絡 SIGAI2018.7.9
[34]? 生成式對抗網絡模型綜述 SIGAI0709.
[35]? 怎樣成為一名優秀的算法工程師SIGAI0711.
[36]. 理解計算:從根號2到AlphaGo——第三季 神經網絡的數學模型 SIGAI0716
[37] 【技術短文】人臉檢測算法之S3FD
?
原創聲明:本文為 SIGAI 原創文章,僅供個人學習使用,未經允許,不得轉載,不能用于商業目的。
?
?
?
?
總結
以上是生活随笔為你收集整理的【技术短文】基于深度负相关学习的人群计数方法的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: SpringBoot集成Redis--配
- 下一篇: JHipster生成微服务架构的应用栈(