backseason / PoolNet

Code for our CVPR 2019 paper "A Simple Pooling-Based Design for Real-Time Salient Object Detection"
MIT License
630 stars 153 forks source link

关于测试图片的一些问题 #54

Closed pengqianli closed 4 years ago

pengqianli commented 4 years ago

作者您好,我在运行代码时,在测试阶段发现了一些小问题(前面也有人提出来过): 1、您的模型由于池化操作,导致无法处理单边过小的图片(例如DUT-OMRON中的sun_akxddynsopjifavt.jpg无法处理,HKU-S数据集的部分图片等等),对于这个问题您回答说把图片resize变大即可。我的问题是:您的模型能处理的最小的单边size是多少?(小于这个size我需要resize变大)。 2、您在论文中说test过程是使用的原图大小(显然对于部分图片并不可行),我想知道对于这部分图片,您resize操作是如何进行的?(是按照某一倍率resize变大,还是直接resize为统一大小?如果是,倍率/大小是多少?)还是说,这部分图片您直接忽略而没有计算相应指标? 注:您提供的pre-computed 结果在DUT-OMRON(5166 vs 5168)与HKU-S(1447 vs 4447)上也不全(我猜想是因为上面的原因)

backseason commented 4 years ago
  1. 只需要保证从backbone中输出的最后一个stage的feature map的长(宽)大于等于8(FAM最大kernel的pooling)即可,如果你理解了网络的结构,很容易就可以计算出来。
  2. 对于2中的问题,我在test中没有遇到。对于DUT-OMRON中差两张图片的问题,是我当时下载的数据里面就没有这两张,当时也没有很在意,你们可以自行forward这两张图片,测试结果的变化应该可以忽略不计;对于HKU-IS数据集,其中有3000张图片有被其他方法作为train的数据,所以为了避免出现问题,只有剩余的1447张图片被用作test。
  3. paper中所有的eval结果都是重新统一计算的,即使用相同的数据集和图片数以及相应的list。DUT-OMRON差两张图片是一个失误也是事实,所有其他方法的eval也是在5166张图片上计算的。
pengqianli commented 4 years ago

谢谢您,我明白了,非常感谢!