crowd counting_[crowd_counting]-MANet_arxiv1901
1.Contribution
主要是研究了segmentation的mask如何作用于counting,會(huì)獲得更好的效果
2.Model
(1)backbone
Part1:
C(1, 64, 3)-C(64, 64, 3)-MP-C(64, 128, 3)-C(128, 128, 3)-MP-C(128, 128, 3)
C(輸入通道,輸出通道,卷積核尺寸),MP代表max pooling
Part2:
part2是兩個(gè)串聯(lián)起來的模塊,模塊結(jié)構(gòu)就是上圖的(b)
(2)mask prediction和density map prediction
mask prediction的結(jié)構(gòu)就是兩層卷積C(256, 256, 3)-C(256, 1, 1). density map分支由于mask作用的策略不同,而不同。
(3)關(guān)于mask分支的ground truth的制作
本文對(duì)counting分支的ground truth采用的是固定高斯核的方法,而mask分支的ground truth就是把counting的ground truth非0的值都變成1,變成一個(gè)分割的ground truth
3.5種使用mask的方案
結(jié)構(gòu)說明,a1代表backbone產(chǎn)生的feature map,有256層,b1代表mask分支產(chǎn)生的feature map 256層,最后通過一個(gè)1x1的卷積產(chǎn)生1層的mask,c1跟b1一樣,是通過跟mask分支一樣結(jié)構(gòu)的counting分支產(chǎn)生的256層的feature map,也要經(jīng)過一個(gè)1x1的卷積產(chǎn)生1層的density map,d1和e1在方案四中解釋
5種方案:
①方案一
train時(shí),直接用ground truth作為mask作用于counting分支,test時(shí),才用mask分支predict的二值化mask作用于counting分支
②方案二
train時(shí),將mask分支輸出的,還沒有經(jīng)過二值化的mask作用于counting分支,兩個(gè)map點(diǎn)乘的,獲得組后的density map,這樣好處在于mask的作用比二值化來的smooth,同時(shí)counting分支的反向傳播可以更新mask分支
③方案三
同方案二,唯一的不同在于predict的mask經(jīng)過二值化再去作用于counting分支,但是由于二值化問題,counting分支的loss無法傳播到mask分支,所以中間加了個(gè)STE操作,STE的解釋要看paper:
《Estimating or propagating gradients through stochastic neurons for conditional computation》
這樣的話,counting分支的loss依舊可以反向傳播到mask分支
④方案四
不直接將mask乘到density map上,而是將mask通過C(1,256,1)轉(zhuǎn)化為與a1一樣256層的feature map,即d1,然后與a1 concat起來,變成512層的feature map,最后經(jīng)過C(512, 256, 3)-C(256, 256, 3)-C(256, 1, 1),變成1層的density map輸出
在train時(shí),直接用segmentation的ground truth作為mask去產(chǎn)生256層feature,test時(shí),用的是mask分支產(chǎn)生的二值化的mask去轉(zhuǎn)化為256層的feature
⑤方案五
結(jié)構(gòu)同方案四,只是train時(shí)用的不是ground truth,而是用mask分支預(yù)測(cè)的沒有二值化的mask去轉(zhuǎn)化為feature,預(yù)測(cè)時(shí),也是如此。
4.Experiment
(1)loss
Lm是mask分支分割用的loss,為每個(gè)點(diǎn)作為二分類的BCEloss,Lr是density map的loss,就是MSE, α沒說是多少
(2)訓(xùn)練細(xì)節(jié)
Adam,lr=1e-5,Adam訓(xùn)練11個(gè)epoch后,轉(zhuǎn)用SGD,每20個(gè)epoch,lr*0.1。采用固定size的patch,隨機(jī)從training data中crop出來,同時(shí)采用鏡像對(duì)稱護(hù)理
(3)5種方案的實(shí)驗(yàn)結(jié)果對(duì)比
baseline1是只有backbone+counting分支
baseline2是更深版本的baseline1
可以發(fā)現(xiàn)方案1用二值化的mask,效果反而變差了,方案2說明mask是有用的,方案3效果差是因?yàn)椴捎枚祷膍ask,盡管counting的loss可以傳播到mask分支,但是二值化后傳播效果也不好,方案4說明盡管采用了二值化的mask,但是轉(zhuǎn)化為feature的方式要更好,方案5則進(jìn)一步說明了不用二值化的mask,以及轉(zhuǎn)化為feature的效果
(4)mask分支的作用
為了排除不是因?yàn)殡p路網(wǎng)絡(luò)結(jié)構(gòu),而確實(shí)是因?yàn)閙ask的作用,所以設(shè)置了這個(gè)實(shí)驗(yàn),baseline3跟方案5的結(jié)構(gòu)很像,但是取消了segmentation的訓(xùn)練,整個(gè)網(wǎng)絡(luò)就是一個(gè)單純的雙路網(wǎng)絡(luò),上面實(shí)驗(yàn)證明,加了mask的訓(xùn)練是有用的
(5)公開數(shù)據(jù)集上的結(jié)果
①ShanghaiTech
②UCF_CC_50
③WorldExpo'10
④MALL
5.Comment
本文最大的貢獻(xiàn)在于探究了mask如何作用于counting是最好的,也證明了相比于直接將mask和density map相乘,將mask轉(zhuǎn)化為feature map要更好
總結(jié)
以上是生活随笔為你收集整理的crowd counting_[crowd_counting]-MANet_arxiv1901的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 5个方法除静电电脑如何消除静电
- 下一篇: 妈妈终于给你买了天文望远镜妈妈终于给你买