人群密度估計 CrowdCount


最近在看人群密度估計方面的東西,把博客看到的一些方法簡單總結一下,后續繼續添加。

1.論文《CrowdNet: A Deep Convolutional Network for DenseCrowd Counting》2015CVPR

論文采用了兩個網絡(3x3和5x5)的融合,可以理解為不同的網絡提取的特征不同,上面 Max Pool 對邊緣特征(細節)提取較好,下面的 Shallow Net 采用 Avrg Pool 對於整體特征描述較好,兩個網絡通過一個 concat 進行連接,然后1*1的conv進行降維。

實驗結果表明多個網絡進行融合的方法要比單一的網絡融合效果要好。

網絡架構為:

 

論文地址:https://arxiv.org/pdf/1608.06197v1.pdf

github地址:https://github.com/davideverona/deep-crowd-counting_crowdnet

2.論文《Single-Image CrowdCounting via Multi-Column Convolutional Neural Network2016CVPR

論文也采用的是多個網絡架構融合的思想,分成(5x5,7x7,9x9)三種網絡結構,最后再融合三個網絡的特征圖,論文在各個數據集上都取得了state-of-the-art的效果。

多列架構的原因是:三列對應於不同大小的感受野(大,中,小),使每個列卷積神經網絡的功能對由於透視或不同的圖像分辨率造成的人/頭大小變化是自適應的(因此,整體網絡是強大的)。

網絡架構為:

論文地址:https://www.cv-foundation.org/openaccess/content_cvpr_2016/papers/Zhang_Single-Image_Crowd_Counting_CVPR_2016_paper.pdf

github地址(非官方):https://github.com/svishwa/crowdcount-mcnn

 簡單梳理一下論文中2. Multi-column CNN for Crowd Counting關於生成密度圖時采用脈沖函數卷積高斯核的方式來定義密度圖。假設標注點的位置為xi,那么具有N個頭的標簽可以被表示為:

 

這里把它與高斯函數做卷積變成一個連續的函數。但是這種密度函數假設每個xi在圖像空間中是獨立的。然而事實上,每個xi是在3D場景中一個人群密度的樣本,並且由於透視失真,不同樣本xi相關的像素與場景中區域的不同尺度一致。於是為了精確估計群體密度,需要考慮透視變換。如果假設在一個人頭區域的周圍,人群的密度是均勻的,它的最近鄰給出了一個對於幾何形變的合理的估計。 為了使得密度圖能夠更好地與不同視角(不同人頭大小)且人群很密的圖像對應起來,作者對傳統的基於高斯核的密度圖做了改進,提出了基於幾何適應高斯核的密度圖,由下式表示:

(通俗理解就是:密度圖是由delta脈沖函數與一個高斯函數卷積得來,這里先卷積再求和。)

注:其實delta函數是一個簡單的脈沖函數,在范圍內積分求和值為1,N個人頭再求和即得N個人頭的標簽;

對於每一個人頭的xi點,給出了k個近鄰距離的的平均值di,於是,與xi相關的像素對應於場景中地面上的一個區域,這個區域的半徑與di成正比。於是,為了估計像素xi周圍的人群密度,為我們需要把H(x)卷積一個自適應的高斯核的,這個高斯核的的方差σi是可變的並且和di成比例。

總結就是把標簽H和一個自適應核的高斯核函數進行卷積,這個高斯核函數的方差為β與xi的K個最近鄰平均距離的乘積。在程序中的體現就是從ground truth中提取xi點,做高斯卷積,高斯卷積的sigma是K=2時近鄰的平均距離。

(原文內容:Interesting we found that usually the head size is related to the distance between the centers of two neighboring persons in crowded scenes.所以實驗中K=2.)

 3.論文《Switching Convolutional Neural Network for Crowd Counting2017CVPR

針對人群密度估計問題提出了一個 Switch-CNN網絡,大的思路就是根據圖像塊的內容信息來選擇合適的CNN網絡進行人群密度估計。
首先將圖像分成3*3=9 個圖像塊,然后使用一個 CNN網絡對每個圖像塊進行分類,看它適合使用哪個CNN網絡來進行密度估計,這里提供了3個CNN網絡來進行密度估計。

對於圖像中的人群密度,有的區域密度大,有的區域密度小,這里我們對圖像進行分塊處理。

Switch-CNN網絡架構:

這里的三個CNN網絡設計R1,R2,R3 和 第二篇CVPR2016年論文中的 MCNN 是一樣的。 對於 switch classifier 我們以 VGG16網絡為基礎

 論文地址:http://openaccess.thecvf.com/content_cvpr_2017/papers/Sam_Switching_Convolutional_Neural_CVPR_2017_paper.pdf

github地址:https://github.com/val-iisc/crowd-counting-scnn

 

 

看到一篇非常nice的博客:http://m.blog.csdn.net/u011285477/article/details/51954989

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM