-
Notifications
You must be signed in to change notification settings - Fork 16
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
密度图问题 #5
Comments
ShanghaiTech数据集的人头坐标是整数的,其他数据集不太清楚 |
@kongjibai 我的结果确实是小数,实验过程和结果如下:
|
@Ling-Bao 另外,我还有几个问题想要请教下:
|
(1)这里的代码实现比较尴尬,在我训练完tf模型后才发现调用了两次self.g_L_bn_e2(),但name='g_L_e1_con'/'g_L_e2_con',阴差让错的不统一但结果是对的;后面没有时间训练新的模型就没有将代码统一起来。
建议:如果需要新训练模型又想统一代码风格,可以将第一个self.g_L_bn_e2()改为self.g_L_bn_e1()。 (2)没太明天你的问题。这里实现的功能是将图像沿长、宽中线分为4个等大小块(同理也需要将密度图分为4个等大小块),然后一次性送入self.generator_small()模型获取估计密度图。
说明:这里的实现是该模型实现的难点,对应论文中的一致性损失,包括几种可能的方案。(1)将图像分为4块,然后一次性送入self.generator_small()模型,这是我项目中的做法;(2)分为4块后,分别送入self.generator_small()模型,等4块都计算好后再计算一致性损失;(3)构建4个self.generator_small()模型,然后分别将不同的块送入对应的self.generator_small()模型,这种做法感觉不太符合论文中的描述,论文中使用的是共享权重。 (3)由整图的密度图确实不知道准确的4个子块的密度图;因为直接分割密度图获取的子密度图,在分割线上的人头数量是不准确的。这个问题也是该论文的创新所在,作者基于分块的密度图应恒等于全图的密度图(或人数恒等)这一事实,构造了一致性损失函数来解决这个问题。 (4)由于时间有限,我所做的训练并没有严格按照论文的参数来做。其次是训练数据集的质量不好,首先是数据集图像的尺寸(720*720,直接resize或填补或在原图中截取的选择,可能导致结果有细微差别);其次是人头密度的高斯核半径不完全符合真实的人头半径。 最后,非常感谢你对项目的提问,本项目ACSCP_cGAN和mscnn均有许多不严谨的地方,都并没有完全按照论文的设计来进行实现。如果你需要在本项目的基础上复现论文,是可以很容易做到的。主要给你两个意见:一是获取更好的训练标注数据集对模型进行训练;二是在实现ACSCP_cGAN的一致性损失时,可以多与论文原作者进行请教,确定具体实现的方案。 |
@Ling-Bao 感谢您的回复! |
(1)点赞哈,我这里的写法确实有问题,只是凑巧图像长宽相等,在调试的时候没有发现。 |
Hi, you may be interested in my implementation in pytorch. It includes the density map generation. |
为什么ground truth里面标记的头的坐标不是整数?
The text was updated successfully, but these errors were encountered: