yun-liu / RCF

Richer Convolutional Features for Edge Detection
Other
752 stars 259 forks source link

关于NYUD数据集的训练 #65

Open zzzzzz0407 opened 5 years ago

zzzzzz0407 commented 5 years ago

您好,拜读了您的论文,我看对于BSDS有个阈值x,用来选择忽略的label,但您在论文里讲到因为NYUD是单人标注因此阈值x在NYUD是不需要的;我看了BSDS以及NYUD的GT,发现它们的label范围均是[0,255],是否这里是做一样的操作?(0, 128)这部分依然可以忽略?期待您的回复!还有测试NYUD也是用BSDS那个脚本吗,我没在它本身的官网看见测试代码

yun-liu commented 5 years ago

谢谢您关注我们的工作。edge的标注是二值的,即0或者1,也可以是0或者255;BSDS是由多个人标记的,每个人标记的结果都会有有些偏差,取均值之后才会变为[0,255];而NYUD是由一个标记的,每个点要么是0要么是255,所以取阈值在这里没有意义。请下载数据集并结合数据来观察。

zzzzzz0407 commented 5 years ago

我确实下了您放在github上的NYUD的数据集,然后发现训练集里面的label确实是[0,255]的形式,好多像素值都是100左右,所以感觉挺诧异的。

yun-liu commented 5 years ago

我刚刚去check了我的数据,没有出现你说的这种情况啊,值要么是0要么是255。要不你用另一篇论文提供的数据吧,在这里 https://github.com/s-gupta/rcnn-depth 论文 是 Learning Rich Features from RGB-D Images for Object Detection and Segmentation

zzzzzz0407 commented 5 years ago

哈哈哈打扰了,不过我是用您的http://mftp.mmcheng.net/liuyun/rcf/data/NYUD.tar.gz这个链接下载的数据集,然后我截了张图 image,这张图是GT里面的GT/img_5003.png,肉眼看确实是0/1双色,但实际却是有差距,然后我做了跟BSDS一样的操作,好在效果还行吧。 PS:还有一个很神奇的现象,就是我看您训练是1张一张训,然后10次回传一下;然后我分别试了您的这种方法,以及对大图像直接裁剪至指定大小(480,320),发现(480,320)在我的模型上的效果会比您的那种训练方式好很多,按理说您那种方式的数据会有一个scale尺度扩充效果更好才是。在RCF模型上(pytorch)您那种方式效果要好上0.5%吧。所以真的很奇怪,主要我不是很懂BN的机制,因为您的模型是没有BN的所以与batchsize无关,而我的模型里面有BN层,我不知道单张训练的话是不是BN计算效果会很差(因为pytorch里面跨GPU的BN是数据不共享的,我不确定分开计算梯度是否也对BN计算有影响,而BN在小batch时效果很差)。哈哈哈说了这么多废话打扰了。

zzzzzz0407 commented 5 years ago

实在不好意思,我忽然发现我的数据是做了插值了,因为失误打扰到您!

yun-liu commented 5 years ago

我也想到你可能插值或者把数据保存成.jpg了

yun-liu commented 5 years ago

没关系,祝你顺利!