Chasel-Tsui / mmdet-rfla

ECCV22: RFLA
MIT License
254 stars 23 forks source link

实验结果是用Pycocotools里面的cocoeval评估的吗? #3

Closed baowenshuwh closed 3 weeks ago

baowenshuwh commented 2 years ago

作者,您好!我用YOLOv5训练了AI-TOD,然后将训练结果拿到cocoeval上做评估,在conf_thres=0.25, iou_thres=0.45的情况下,得到的评估性能似乎太好,请问您论文上的实验评估方式是用cocoeval吗?

Chasel-Tsui commented 2 years ago

作者,您好!我用YOLOv5训练了AI-TOD,然后将训练结果拿到cocoeval上做评估,在conf_thres=0.25, iou_thres=0.45的情况下,得到的评估性能似乎太好,请问您论文上的实验评估方式是用cocoeval吗?

您好,我用的也是cocoeval,AI-TOD每张图包含目标数量较多,在评估时需要将maxdet以及每张图的预测数量调大(1000~3000),效果应该会有提升,但是这样测试速度会比较慢。

baowenshuwh commented 1 year ago

谢谢您的回复,我发现问题所在了。除此之外,我是以yolo系列为baseline检测AI-TOD数据集,在保证达到实时检测的情况下,尽可能提高检测的性能。最终结果是低于原论文中提出的benchmark,请问这样做有意义吗?希望您能够指导指导!

Chasel-Tsui commented 1 year ago

谢谢您的回复,我发现问题所在了。除此之外,我是以yolo系列为baseline检测AI-TOD数据集,在保证达到实时检测的情况下,尽可能提高检测的性能。最终结果是低于原论文中提出的benchmark,请问这样做有意义吗?希望您能够指导指导!

是工程导向的吗,还是想以YOLO搭一个baseline做研究呢。如果是项目导向,对实时性有较大要求,可以试一试多train一些epoch以及多尺度训练,应该会涨不少精度,单阶段算法在极小目标上收敛很慢,此外还可以试一试YOLOX,效果应该会比v5好。如果以YOLO为baseline打算继续做研究的话,我觉得以YOLO为代表的one-stage算法在极小目标上还有比较大的提升空间,如果能显著提升单阶段的性能/收敛速度的话(不一定要打得过多阶段),也会是一项不错的工作:)

baowenshuwh commented 1 year ago

谢谢您的回复,我发现问题所在了。除此之外,我是以yolo系列为baseline检测AI-TOD数据集,在保证达到实时检测的情况下,尽可能提高检测的性能。最终结果是低于原论文中提出的benchmark,请问这样做有意义吗?希望您能够指导指导!

是工程导向的吗,还是想以YOLO搭一个baseline做研究呢。如果是项目导向,对实时性有较大要求,可以试一试多train一些epoch以及多尺度训练,应该会涨不少精度,单阶段算法在极小目标上收敛很慢,此外还可以试一试YOLOX,效果应该会比v5好。如果以YOLO为baseline打算继续做研究的话,我觉得以YOLO为代表的one-stage算法在极小目标上还有比较大的提升空间,如果能显著提升单阶段的性能/收敛速度的话(不一定要打得过多阶段),也会是一项不错的工作:)

目前是在做论文工作,我是一名研二的学生。我观察到光学遥感图像中对于小目标的检测效率问题似乎少有关注,大多是在做一个性能上的提升,而YOLO系列在速度上占优,所以想着通过保持一定的检测速度来提高检测性能,在工程项目上似乎也能有所推广。

Chasel-Tsui commented 1 year ago

可以的,实时性检测也是一个值得研究的方向,加油!或许可以参考一下SNIP,SNIPER,DMNet 这样的思路来减少计算量~

baowenshuwh commented 1 year ago

可以的,实时性检测也是一个值得研究的方向,加油!或许可以参考一下SNIP,SNIPER,DMNet 这样的思路来减少计算量~

好的,感谢您的答复。

baowenshuwh commented 1 year ago

您好,之前和您提到的用u版yolo系列做您这个AI-TOD的检测实验。我后来用您的ai-cocoapi评估了一下u版yolov3的结果,可是和您论文中的mmdetection版的yolov3评估相差很大。想请教请教您原因。以下是我的评估结果 Evaluate annotation type bbox DONE (t=537.03s). Accumulating evaluation results... DONE (t=8.84s). Average Precision (AP) @[ IoU=0.50:0.95 | area= all | maxDets=3000 ] = 0.245 Average Precision (AP) @[ IoU=0.25 | area= all | maxDets=3000 ] = -1.000 Average Precision (AP) @[ IoU=0.50 | area= all | maxDets=3000 ] = 0.561 Average Precision (AP) @[ IoU=0.75 | area= all | maxDets=3000 ] = 0.179 Average Precision (AP) @[ IoU=0.50:0.95 | area=verytiny | maxDets=3000 ] = 0.111 Average Precision (AP) @[ IoU=0.50:0.95 | area= tiny | maxDets=3000 ] = 0.258 Average Precision (AP) @[ IoU=0.50:0.95 | area= small | maxDets=3000 ] = 0.322 Average Precision (AP) @[ IoU=0.50:0.95 | area=medium | maxDets=3000 ] = 0.446 Average Recall (AR) @[ IoU=0.50:0.95 | area= all | maxDets= 1 ] = 0.070 Average Recall (AR) @[ IoU=0.50:0.95 | area= all | maxDets=100 ] = 0.348 Average Recall (AR) @[ IoU=0.50:0.95 | area= all | maxDets=3000 ] = 0.384 Average Recall (AR) @[ IoU=0.50:0.95 | area=verytiny | maxDets=3000 ] = 0.175 Average Recall (AR) @[ IoU=0.50:0.95 | area= tiny | maxDets=3000 ] = 0.396 Average Recall (AR) @[ IoU=0.50:0.95 | area= small | maxDets=3000 ] = 0.486 Average Recall (AR) @[ IoU=0.50:0.95 | area=medium | maxDets=3000 ] = 0.568 Optimal LRP @[ IoU=0.50 | area= all | maxDets=3000 ] = 0.784 Optimal LRP Loc @[ IoU=0.50 | area= all | maxDets=3000 ] = 0.285 Optimal LRP FP @[ IoU=0.50 | area= all | maxDets=3000 ] = 0.289 Optimal LRP FN @[ IoU=0.50 | area= all | maxDets=3000 ] = 0.445

Class-specific LRP-Optimal Thresholds

[0.223 0.384 0.398 0.232 0.384 0.478 0.153 0.299]

Chasel-Tsui commented 1 year ago

您好,之前和您提到的用u版yolo系列做您这个AI-TOD的检测实验。我后来用您的ai-cocoapi评估了一下u版yolov3的结果,可是和您论文中的mmdetection版的yolov3评估相差很大。想请教请教您原因。以下是我的评估结果 Evaluate annotation type bbox DONE (t=537.03s). Accumulating evaluation results... DONE (t=8.84s). Average Precision (AP) @[ IoU=0.50:0.95 | area= all | maxDets=3000 ] = 0.245 Average Precision (AP) @[ IoU=0.25 | area= all | maxDets=3000 ] = -1.000 Average Precision (AP) @[ IoU=0.50 | area= all | maxDets=3000 ] = 0.561 Average Precision (AP) @[ IoU=0.75 | area= all | maxDets=3000 ] = 0.179 Average Precision (AP) @[ IoU=0.50:0.95 | area=verytiny | maxDets=3000 ] = 0.111 Average Precision (AP) @[ IoU=0.50:0.95 | area= tiny | maxDets=3000 ] = 0.258 Average Precision (AP) @[ IoU=0.50:0.95 | area= small | maxDets=3000 ] = 0.322 Average Precision (AP) @[ IoU=0.50:0.95 | area=medium | maxDets=3000 ] = 0.446 Average Recall (AR) @[ IoU=0.50:0.95 | area= all | maxDets= 1 ] = 0.070 Average Recall (AR) @[ IoU=0.50:0.95 | area= all | maxDets=100 ] = 0.348 Average Recall (AR) @[ IoU=0.50:0.95 | area= all | maxDets=3000 ] = 0.384 Average Recall (AR) @[ IoU=0.50:0.95 | area=verytiny | maxDets=3000 ] = 0.175 Average Recall (AR) @[ IoU=0.50:0.95 | area= tiny | maxDets=3000 ] = 0.396 Average Recall (AR) @[ IoU=0.50:0.95 | area= small | maxDets=3000 ] = 0.486 Average Recall (AR) @[ IoU=0.50:0.95 | area=medium | maxDets=3000 ] = 0.568 Optimal LRP @[ IoU=0.50 | area= all | maxDets=3000 ] = 0.784 Optimal LRP Loc @[ IoU=0.50 | area= all | maxDets=3000 ] = 0.285 Optimal LRP FP @[ IoU=0.50 | area= all | maxDets=3000 ] = 0.289 Optimal LRP FN @[ IoU=0.50 | area= all | maxDets=3000 ] = 0.445

Class-specific LRP-Optimal Thresholds

[0.223 0.384 0.398 0.232 0.384 0.478 0.153 0.299]

论文里的数据为了公平比较,是在单尺度以及没有加trick的情况下训练12epoch,如果yolov3训练久一点加上数据增强,确实会高很多

baowenshuwh commented 1 year ago

您好,之前和您提到的用u版yolo系列做您这个AI-TOD的检测实验。我后来用您的ai-cocoapi评估了一下u版yolov3的结果,可是和您论文中的mmdetection版的yolov3评估相差很大。想请教请教您原因。以下是我的评估结果 Evaluate annotation type bbox DONE (t=537.03s). Accumulating evaluation results... DONE (t=8.84s). Average Precision (AP) @[ IoU=0.50:0.95 | area= all | maxDets=3000 ] = 0.245 Average Precision (AP) @[ IoU=0.25 | area= all | maxDets=3000 ] = -1.000 Average Precision (AP) @[ IoU=0.50 | area= all | maxDets=3000 ] = 0.561 Average Precision (AP) @[ IoU=0.75 | area= all | maxDets=3000 ] = 0.179 Average Precision (AP) @[ IoU=0.50:0.95 | area=verytiny | maxDets=3000 ] = 0.111 Average Precision (AP) @[ IoU=0.50:0.95 | area= tiny | maxDets=3000 ] = 0.258 Average Precision (AP) @[ IoU=0.50:0.95 | area= small | maxDets=3000 ] = 0.322 Average Precision (AP) @[ IoU=0.50:0.95 | area=medium | maxDets=3000 ] = 0.446 Average Recall (AR) @[ IoU=0.50:0.95 | area= all | maxDets= 1 ] = 0.070 Average Recall (AR) @[ IoU=0.50:0.95 | area= all | maxDets=100 ] = 0.348 Average Recall (AR) @[ IoU=0.50:0.95 | area= all | maxDets=3000 ] = 0.384 Average Recall (AR) @[ IoU=0.50:0.95 | area=verytiny | maxDets=3000 ] = 0.175 Average Recall (AR) @[ IoU=0.50:0.95 | area= tiny | maxDets=3000 ] = 0.396 Average Recall (AR) @[ IoU=0.50:0.95 | area= small | maxDets=3000 ] = 0.486 Average Recall (AR) @[ IoU=0.50:0.95 | area=medium | maxDets=3000 ] = 0.568 Optimal LRP @[ IoU=0.50 | area= all | maxDets=3000 ] = 0.784 Optimal LRP Loc @[ IoU=0.50 | area= all | maxDets=3000 ] = 0.285 Optimal LRP FP @[ IoU=0.50 | area= all | maxDets=3000 ] = 0.289 Optimal LRP FN @[ IoU=0.50 | area= all | maxDets=3000 ] = 0.445

Class-specific LRP-Optimal Thresholds

[0.223 0.384 0.398 0.232 0.384 0.478 0.153 0.299]

论文里的数据为了公平比较,是在单尺度以及没有加trick的情况下训练12epoch,如果yolov3训练久一点加上数据增强,确实会高很多

原来是这样啊。u版yolo系列大多都是需要几百个epoch来会收敛,那么我从实际应用角度出发,应该是不需要对比这些benchmark吧

baowenshuwh commented 1 year ago

我一直都是从工程应用的角度去思考一些模型的应用价值。刚好也是做小目标的检测。就想引用您的数据集

Chasel-Tsui commented 1 year ago

嗯嗯是的,如果工程应用的话只管刷精度就好了,如果是论文中方法对比的话写清楚实验实现细节即可

baowenshuwh commented 1 year ago

嗯嗯是的,如果工程应用的话只管刷精度就好了,如果是论文中方法对比的话写清楚实验实现细节即可

非常感谢您的指导。现在大致有了明确的路线。再次感谢