![b98d11425f183fb37e2dfde220f4050b.png](https://i-blog.csdnimg.cn/blog_migrate/ae58ef414fb8881c6d9597d2e9ec9559.jpeg)
![4d8cd37334f9dc3e05a916263bf638d6.png](https://i-blog.csdnimg.cn/blog_migrate/cd22d197879f20df253f429101010173.jpeg)
1.Contribution
(1)主要是提出了基于GTA5的GCC数据集
数据集下载地址:
https://gjy3035.github.io/GCC-CL/gjy3035.github.io(2)提出了在如何在GCC上train,然后在传统的通用数据集上test的迁移学习方案,方案基于Cycle GAN,提出了SE Cycle GAN
(3)也提出了他们自己的counting模型SFCN,不过该模型本身不是亮点
2.GCC dataset
提出GCC数据集的目的是当前已经有的数据集图片数量太少,很容易overfitting,基于GTA5场景制作出的GCC数据集,拥有丰富的场景,大量的图片。
![6895c64de63d165c52d54292f012f9c6.png](https://i-blog.csdnimg.cn/blog_migrate/ffa5fe3681d25563b5770e717a8addf4.jpeg)
(1)场景的选择
基于GTA5,选择了100个地点,然后每个地点通过改变相机的位姿,最终获得400个场景,然后通过不同的ROI获得不同的图片
(2)人模型的设计
选择了265个人的模型,每个人的模型有不同的肤色,性别,形状,然后又衣服,发型等6个不同的外观参数,在场景中采用随机的动作
(3)场景合成
原始GTA5每个场景不超过256人,为了产生人多的图片,需要进行场景合成,就是将不同场景下的人拼到一块儿
![be88f4bd4d72edde521395b5cf424eff.png](https://i-blog.csdnimg.cn/blog_migrate/eb26f315f80e1241e874738f82f92199.jpeg)
最终人数分布如下:
![1c11532f23cbba2fe0627ea085e0f8ab.png](https://i-blog.csdnimg.cn/blog_migrate/86ce20624826f1bb2bc649a5cc5b876a.jpeg)
(4)添加了不同环境因素
通过设置不同的时间因素,以及天气因素,产生不同的环境:
![efad32f878ecfa8a52c316767f1e9bc4.png](https://i-blog.csdnimg.cn/blog_migrate/cc122c1df4770c49bb4733359692ad58.jpeg)
(5)如何利用GCC数据集
![962ffea8e3af7fe25c05ec7e181cd426.png](https://i-blog.csdnimg.cn/blog_migrate/40404c85b0e483a6af1f85d6348f42c2.jpeg)
①先在GCC在pretain,然后在其他数据集上进行fine-tune,有点在利用在ImageNet上pretrain模型的意思
②在GCC上train,然后直接在其他数据集上,不过中间利用了SE CycleGAN去将GCC的图片色调改成了测试数据集的风格,才去train,和test
3.SFCN
(1)模型配置
为了进行counting,本文也提出了自己的counting模型SFCN(Spatial FCN):
![a4b72375fce054ac958cd25517d0a210.png](https://i-blog.csdnimg.cn/blog_migrate/96cf3268d4ecdc04eef76333172ad1a8.jpeg)
就是一个简单的单列全卷积,encoder-decoder的结构
![625e3aaa58e8582f9867d94b8fb7f8f9.png](https://i-blog.csdnimg.cn/blog_migrate/4a79c25f43c3f6ba5dbd7708c0161fce.jpeg)
提出了采用两种不同backbone的模型,这里有个特殊的部分为Spatial Encoder结构,是《Spatial as deep: Spatial cnn for traffic scene understanding》这篇paper中提出的,具体看那篇paper
基本上backbone+Dilation conv+spatial encoder+upsample4个结构
采用1e-5的lr,Adam+MSE
(2)ablation study
①在GCC上训练的情况,采用了三种不同的训练集测试集划分方法:
![194669d387259e1b40fac7274e731f69.png](https://i-blog.csdnimg.cn/blog_migrate/ebdc62f87733a45df5083058bf460221.jpeg)
第一种是75%train,25%test,第二种是每个场景(共4个相机),1个相机用来test,其他3个用来train,第三种是以场景为单位,75个场景做train,25个场景做test
②在GCC上pretrain,在其他数据集上fine tune
![6c1f3804807164bd528f5001d8eacbea.png](https://i-blog.csdnimg.cn/blog_migrate/e4d1d50cba6ad49dac8dd510b819675e.jpeg)
感觉如果不用ResNet做backbone,效果不如用了ImageNet的CSRNet
4.SE CycleGAN & DA
DA是domain adaption,就是领域自适应,有点像迁移学习,要在让在数据集A上train的模型,更好地在数据集B上test,本文要做到的就是如何在GCC上train,然后在其他数据集上获得更好的效果
之所以要提到DA这个概念是因为GTA的图片太卡通了,相比于实际场景,有一定Gap
(1)SE Cycle GAN
本文采用SE CycleGAN,其实就是给CycleGAN添加了SSIM的loss
![e431e00f18d5de08481f4d28a79cfa60.png](https://i-blog.csdnimg.cn/blog_migrate/59a76a0ff31a5b5d6951c9c551875ebc.jpeg)
根据CycleGAN的原理,GCC的图片要通过一个Generator,产生于另一个数据集风格相似的图片,并让对应的distriminator去判断,然后又用另一个Generator转变回来,期望转变过去又转变回来的图片跟原来的图片越相似越好,
同理,另一条路是从另一个数据集转变到GCC的风格,再转变回去,采用的loss如下:
![e6b9e3ca202870969f6fcfdf7b8c92f8.png](https://i-blog.csdnimg.cn/blog_migrate/ca4bf8ffce37e439cd573d2a7dc117ee.jpeg)
![82bf02dcd67e68758088650f1a8a18da.png](https://i-blog.csdnimg.cn/blog_migrate/cfc6fca79b1305a68a68379493608c04.jpeg)
![2d38c92bca1361f1ca91478578b2f026.png](https://i-blog.csdnimg.cn/blog_migrate/998e3302a93f72045f9a8bdb84e972c0.jpeg)
LGAN是Discriminator判断的loss,Lcycle是转变过去又转变回来的比较相似度的loss,λ是多少没说
因为要比较图像相似度,参考SANet采用SSIM作为loss,本文引入了SSIM作为loss,将CycleGAN转变为SE CycleGAN:
![0ccdf7076704e830b7e6c7a7db278636.png](https://i-blog.csdnimg.cn/blog_migrate/7b9884e7aa6a836cc2285061633a2fe2.jpeg)
![02e3960a8ddaae1d4c3cb45d0491b86e.png](https://i-blog.csdnimg.cn/blog_migrate/f33a1536f7e1a625bf17950748f38953.jpeg)
μ设置为1
用了SE CycleGAN风格转换结果如下:
![3d711d3c1c0e753d8deed02e114cf16f.png](https://i-blog.csdnimg.cn/blog_migrate/eeb298f9dc13b40be8d9bebab783cd3c.jpeg)
(2)Density/Scene Regulation
Density Regulation,为了防止density map某些点预测了很大的值这种现象,本文设置了density map每个点出值得上限,超过这个上限,就把这个点设为0
Scene Regulation是对于不同的测试数据集,比如WorldExpo10,其人数不超过500,那么在GCC中也要选择少人数的场景图片进行train
(3)ablation Study
①用不用CycleGAN进行风格转换的对比
![952a5b2aeb76673058e3224988fd5ad9.png](https://i-blog.csdnimg.cn/blog_migrate/e20223b295fedd03b9d4ced1a5e49e65.jpeg)
![296216b9db0acc0c34091f23e38003e8.png](https://i-blog.csdnimg.cn/blog_migrate/79babb0a8345d28fbd800d8cdb3b4f2c.jpeg)
发现如果没有Density/Scene Regulation,加了GAN反而效果变差了,可能是因为加了GAN导致图像变模糊,带来了一些细节的丢失
5.评价
本文最大的亮点在于提出了GCC数据集,在这上面pretrain是否能取代ImageNet,似乎持保留意见,不过对于容易overfitting的counting社区来说,确实是一个不错的数据集