The results are different
您好,我用您的python版本的eval测试了RCF的结果,同时也用matlab版本的eval做了对比,发现结果不一样的——
以上是python版本的
这个是matlab版本的
结果有误差这是一个问题,关键是OIS不可能会低于ODS的。
最后还是感谢您的python代码,根据您的代码思路,我也对matlab版本代码有了一定的了解
感谢反馈,已更新。
感谢反馈,已更新。
感谢您的更新,我其实还有些问题想问一下的,就是为什么我单纯地根据ODS的定义用不同的阈值迭代不同的图片,再计算tp,fp和fn不能得到论文一样的结果呢?在您的代码里哪里还对图像做了什么处理吗?不知您是否方便可以留个联系方式,有些问题想向您请教一下
根据阈值迭代的时候主要是算了这个 https://github.com/Walstruzz/edge_eval_python/blob/3e2a532ab939f71794d4cc3eb74cbf0797982b4c/impl/correspond_pixels.py#L427
根据阈值迭代的时候主要是算了这个 https://github.com/Walstruzz/edge_eval_python/blob/3e2a532ab939f71794d4cc3eb74cbf0797982b4c/impl/correspond_pixels.py#L427
这个是必须的吗?我计算阈值的时候是直接一个while循环从0.01到0.99
根据阈值迭代的时候主要是算了这个 https://github.com/Walstruzz/edge_eval_python/blob/3e2a532ab939f71794d4cc3eb74cbf0797982b4c/impl/correspond_pixels.py#L427
我计算真阳性的时候直接拿二值化后的边缘图和gt想与操作&,最后得到的tp值和您的代码给出的tp值相差挺大的,您知道这是为什么吗?按照F1-score的公式中,tp的计算确实应该就是得到边缘图和gt图中相同的像素的个数吧?
这个倒不太清楚,它在eval的时候其实是当某个点在一个小邻域存在gt中的像素点时则认为预测对了,而不是直接算&那么严格。
Hello, I have a question that I don't quite understand. Is it necessary to refine the shape of the binary image? Is it okay not to refine? What is the basis for thinning?
edge_eval_python/impl/edges_eval_dir.py 75
if _thin:
_e1 = bwmorph_thin(_e1)