Boominathan L , Kruthiventi S S S , Babu R V . CrowdNet: A Deep Convolutional Network for Dense Crowd Counting[J]. 2016.
貢獻(xiàn):
????使用深度和淺度哪轿,完全卷積網(wǎng)絡(luò)deep and shallow, fully convolutional networks
的組合來預(yù)測(cè)給定靜態(tài)人群圖像的密度圖
伦意。這種組合用于有效地捕獲高級(jí)語義信息high-level semantic information
(面部/身體檢測(cè)器)和低級(jí)特征low-level features
(斑點(diǎn)檢測(cè)器),這是大規(guī)模變化下人群計(jì)數(shù)所必需的。
????由于大多數(shù)人群數(shù)據(jù)集具有有限的訓(xùn)練樣本(<100圖像)车柠,并且基于深度學(xué)習(xí)的方法需要大量訓(xùn)練數(shù)據(jù)立砸,因此我們執(zhí)行多尺度數(shù)據(jù)增強(qiáng)multi-scale data augmentation
洞坑。以這種方式增加訓(xùn)練樣本有助于指導(dǎo)CNN學(xué)習(xí)尺度不變表示缠局。
具體實(shí)現(xiàn):
????攝像機(jī)附近的人通常被捕獲在很大程度上的細(xì)節(jié),即他們的臉部以及有時(shí)他們的整個(gè)身體被捕獲妈拌。然而拥坛,在人們遠(yuǎn)離相機(jī)或從空中視點(diǎn)捕獲圖像的情況下,每個(gè)人僅被表示為頭部斑點(diǎn)head blob
尘分。在這兩種情況下對(duì)人的有效檢測(cè)要求模型在高度語義水平(面部/身體檢測(cè)器)
同時(shí)操作猜惋,同時(shí)還識(shí)別低級(jí)別的頭部模式
。我們的模型使用深度和淺層卷積神經(jīng)網(wǎng)絡(luò)的組合來實(shí)現(xiàn)這一點(diǎn)培愁。
深層網(wǎng)絡(luò):
????在深層網(wǎng)絡(luò)中著摔,類比了VGG的結(jié)構(gòu):VGG網(wǎng)絡(luò)有5個(gè)max-pool層,每個(gè)層的步幅為2定续,因此得到的輸出特征的空間分辨率僅為輸入圖像的1/32倍谍咆。
????在我們對(duì)VGG模型的改編中,我們將第四個(gè)max-pool層的步幅設(shè)置為1私股,并完全刪除第5個(gè)max-pool層摹察。 這使網(wǎng)絡(luò)能夠以輸入分辨率的1/8進(jìn)行預(yù)測(cè)。 我們使用膨脹卷積
處理第四個(gè)最大池層中步幅的移除引起的感受野不匹配倡鲸。
淺層網(wǎng)絡(luò):
????在我們的模型中供嚎,我們的目標(biāo)是使用淺卷積網(wǎng)絡(luò)識(shí)別從遠(yuǎn)離相機(jī)的人身上產(chǎn)生的低水平頭部斑點(diǎn)圖案。由于斑點(diǎn)檢測(cè)不需要捕獲高級(jí)語義峭状,因此我們將該網(wǎng)絡(luò)設(shè)計(jì)為僅具有3個(gè)卷積層的淺層克滴。每一層都有24個(gè)過濾器,內(nèi)核大小為5X5优床。為了使該網(wǎng)絡(luò)的預(yù)測(cè)空間分辨率等于其深部對(duì)應(yīng)的預(yù)測(cè)空間分辨率劝赔,我們?cè)诿總€(gè)卷積層之后使用池層。我們的淺網(wǎng)絡(luò)主要用于探測(cè)小的頭部斑點(diǎn)胆敞。為了確保不因最大池而丟失計(jì)數(shù)望忆,我們?cè)跍\網(wǎng)絡(luò)中使用平均池層
罩阵。
????我們連接深層和淺層網(wǎng)絡(luò)的預(yù)測(cè),每個(gè)網(wǎng)絡(luò)的空間分辨率是輸入圖像的1/8启摄,并使用1x1卷積層進(jìn)行處理。 使用雙線性插值bilinear interpolation將該層的輸出上采樣upsample到輸入圖像的大小
幽钢,以獲得最終的人群密度預(yù)測(cè)歉备。 可以通過對(duì)預(yù)測(cè)密度圖的求和來獲得圖像中人的總數(shù)。 通過反向傳播相對(duì)于地面實(shí)況計(jì)算的L2損失來訓(xùn)練網(wǎng)絡(luò)匪燕。
標(biāo)注方法:
????通過使用歸一化為和的高斯核模糊
每個(gè)頭部注釋來生成基本事實(shí)蕾羊。這種模糊導(dǎo)致密度圖的總和與人群中的總?cè)藬?shù)相同。以這樣一種方式準(zhǔn)備基本事實(shí)使CNN更容易了解基本事實(shí)帽驯,因?yàn)镃NN不再需要準(zhǔn)確的頭部注釋
龟再。它還提供了有關(guān)哪些區(qū)域?qū)τ?jì)數(shù)有貢獻(xiàn)以及貢獻(xiàn)多少的信息。這有助于培訓(xùn)CNN正確預(yù)測(cè)人群密度和人數(shù)尼变。
數(shù)據(jù)擴(kuò)充:
????由于CNN需要大量的訓(xùn)練數(shù)據(jù)利凑,因此我們對(duì)我們的訓(xùn)練數(shù)據(jù)集進(jìn)行了廣泛的擴(kuò)充。我們主要執(zhí)行兩種增強(qiáng)嫌术。第一種類型的增強(qiáng)有助于解決人群圖像中的尺度變化問題哀澈,而第二種類型提高了CNN在極易出錯(cuò)的區(qū)域(即高度密集的人群區(qū)域)的表現(xiàn)
。
????一:為了使CNN對(duì)尺度變化具有魯棒性robust度气,我們從每個(gè)訓(xùn)練圖像的多尺度金字塔表示中裁剪patches 割按。我們考慮0.5到1.2的比例,以步驟0.1為單位磷籍,乘以原始圖像分辨率(如圖3所示)來構(gòu)建圖像金字塔image pyramid
适荣。我們從這個(gè)金字塔形表示中裁剪出225X225個(gè)patches ,重疊率為50%overlap
院领。通過這種增強(qiáng)弛矛,CNN可以識(shí)別不同規(guī)模的人。
????二:我們觀察到CNN和高度密集的人群本身難以處理栅盲。為了克服這個(gè)問題汪诉,我們通過更頻繁地采樣高密度patch來增加訓(xùn)練數(shù)據(jù)。
實(shí)驗(yàn)結(jié)果:
????使用5折交叉驗(yàn)證5-fold cross validation
來評(píng)估方法的性能谈秫。我們將數(shù)據(jù)集隨機(jī)分成五塊split
扒寄,每塊包含10個(gè)圖像。在交叉驗(yàn)證的每個(gè)折疊中拟烫,我們考慮用于訓(xùn)練網(wǎng)絡(luò)的四個(gè)塊(40個(gè)圖像)和用于對(duì)其性能進(jìn)行驗(yàn)證的剩余塊(10個(gè)圖像)该编。我們按照先前描述的數(shù)據(jù)增強(qiáng)方法從40個(gè)訓(xùn)練圖像中的每一個(gè)中采樣225X225個(gè)補(bǔ)丁。該程序每次平均產(chǎn)生50,292個(gè)訓(xùn)練補(bǔ)丁硕淑。我們的網(wǎng)絡(luò)使用隨機(jī)梯度下降SGD
優(yōu)化進(jìn)行訓(xùn)練课竣,學(xué)習(xí)率
為1e-7嘉赎。
????使用平均絕對(duì)誤差(MAE)來量化我們方法的性能。MAE計(jì)算數(shù)據(jù)集中所有圖像的實(shí)際計(jì)數(shù)和預(yù)測(cè)計(jì)數(shù)之間的絕對(duì)差異的平均值于樟。
?
論文地址:https://arxiv.org/pdf/1608.06197v1.pdf
源碼:github地址:deep-crowd-counting_crowdnet
?
可參考:
1公条、人群密度估計(jì)之CrowdNet
這種網(wǎng)絡(luò)的訓(xùn)練一般有3種方法:1,自己擼一個(gè)data數(shù)據(jù)層迂曲。在caffe源碼中實(shí)現(xiàn)原始圖片和密度圖向blob的傳遞靶橱。可以參考在caffe 中添加Crowd counting 數(shù)據(jù)層
2路捧,自己使用matlab生成密度圖关霸,做成LMDB,輸入的時(shí)候杰扫,分別讀取data和label队寇,這里需要注意,絕對(duì)不要使用shuffle章姓,因?yàn)閐ata和label需要一一對(duì)應(yīng)
3佳遣,還是自己生成密度圖,然后做成hdf5啤覆,這個(gè)好處就是支持double類型的密度圖苍日,感覺精度會(huì)更好點(diǎn)。
2窗声、人群密度估計(jì)--CrowdNet: A Deep Convolutional Network for Dense Crowd Counting
3相恃、人群密度估計(jì)-Crowd Density
論文采用了兩個(gè)網(wǎng)絡(luò)的融合,可以理解為不同的網(wǎng)絡(luò)提取的特征不同笨觅,上面 Max Pool 對(duì)邊緣特征(細(xì)節(jié))提取較好拦耐,下面的 Shallow Net 采用 Avrg Pool 對(duì)于整體特征描述較好,兩個(gè)網(wǎng)絡(luò)通過一個(gè) concat 進(jìn)行連接见剩,然后1*1的conv進(jìn)行降維杀糯,非常簡(jiǎn)單。
這里面有兩個(gè)細(xì)節(jié)要注意:
1)文中采用了膨脹卷積
苍苞,提取整體特征固翰,這個(gè)現(xiàn)在用的也比較多了,估計(jì)都很熟羹呵;
2)數(shù)據(jù)增廣
骂际,采用了不同尺度的樣本采樣,Hard mining
策略冈欢,也都是老套路了歉铝;