Open lxproot opened 1 month ago
感谢你的指正~
如果你想计算目标级别的虚警,请参考我另外的工作 EDGSP,那里面我用的就是纯目标级别的虚警。
感谢您的回复。 1.对于F1没有计算结果,我排查后发现是在test的时候没有做 update 操作。 2.test.py文件存在多处BUG,具体我修改了什么地方我忘了,只记得有①img = Variable(img)在test中被注释,导致GPU好像无法运行。②dataset_names的传参,好像使用type=list的话,会导致我传入 NUAA 被解析成 ['N','U','A','A']这样的形式,这一步也需要修改。
3.对于PDFA的问题,可能我描述的不太清楚?你好像误解了我的意思,我举个例子重新表述一遍。 代码中是使用 image_area_total 这个列表存放了 image(预测图)的识别区域面积,然后用 image_area_match 列表存放能被 label(标签)匹配的识别面积,但这就有一个问题,如下。 例如我的 image_area_total = [5,5,5],也就是三个面积相同大小的区域。 那么如果只有第一个面积[5]匹配到(剩下的 [5,5] 没有匹配到),由于 image_area_match = [5] 在代码 self.dismatch = [x for x in self.image_area_total if x not in self.image_area_match] 我们不难发现 dismatch的结果会=[],但实际上我们期望的结果是 [5,5] 不知道这么说你有没有发现这个代码的不合理,也就是说 相同面积大小的区域,只要有一个被匹配了,其他没有匹配的块也被认为了匹配。
1.F1那个的确是没有给update,是我上传之前不小心删注释的时候删掉了,测试代码当时上传的确实比较马虎。 2.因为在上传代码前我是在cpu上调整的,因此想在GPU运行需要自己做一下调整;dataset这个我也是自己随手调试了下,后续就没有在git上更新。 3.我明白你说的意思了,感谢你的指出,确实存在这种比较特殊的情况。 test文件在Pd 和Fa的判定上需要进一步优化,我看BasicIRSTD工具包“[https://github.com/XinyiYing/BasicIRSTD”]里面的计算方式似乎更合理一些。 你可以参考这个工具包做测试,不过我相信这并不会影响SCTransNet与其他IRSTD算法的相对性能。
感谢您的回复。
确实这种特殊的情况很少出现,并且可能是因为SCTransNet比较优秀,目前我用的数据测试识别基本正确,所以没有这种漏判,对数值影响不大。
但我认为还是有必要指出这个BUG,这可能使得PDFA虚高,若有其他同学参考了您的代码,可能就会错误预估了自己模型的性能,同时也可能使得参考的baseline指标虚高。
我没有疑问了,最后感谢您对这个问题的跟进。
作者你好,有两个问题。
1.感觉PD_FA的指标的计算有问题,用面积值当索引来检查有没有匹配,但是会出现一种情况就是比如两个区域的面积都是2,一个是匹配的 一个是不匹配的,但是因为用面积当索引,所以只要面积为2的有一个匹配,另一个不匹配的也没办法发现
2.F1的输出结果一直为0