bubbliiiing / yolov8-pytorch

这是一个yolov8-pytorch的仓库,可以用于训练自己的数据集。
GNU General Public License v3.0
641 stars 76 forks source link

训练结果差别:在一个其他数据集上训练YOLOv8n 该项目和官方代码结果差别好大 #54

Open lecomet opened 7 months ago

lecomet commented 7 months ago

我想问一下我都是在同一个数据集上测试YOLOv8 这是官方代码的结果 Class Images Instances Box(P R mAP50 mAP50-95): all 1499 5209 0.582 0.459 0.476 0.269
这是我用该项目代码测得的结果: Average Precision (AP) @[ IoU=0.50:0.95 | area= all | maxDets=100 ] = 0.442 Average Precision (AP) @[ IoU=0.50 | area= all | maxDets=100 ] = 0.699 Average Precision (AP) @[ IoU=0.75 | area= all | maxDets=100 ] = 0.481 为什么会差别这么大

youlikesoilove commented 7 months ago

请问你找到原因了吗?我也是这个情况,不过,看别的commit说,你需要单独去在验证集里计算mAP才是准的(验证集)。直接实时的那个好像使用测试集进行计算的。

lecomet commented 7 months ago

@youlikesoilove 谢谢你的建议 我有空在test集上试试

youlikesoilove commented 7 months ago

@youlikesoilove 谢谢你的建议 我有空在test集上试试

不用谢,如果有结果的话,请速通知我。实验室没有做这方面的,故而非常渴望与大家交流。

lecomet commented 7 months ago

@youlikesoilove 这是我使用get_map.py得到的结果 不过感觉差不多 Average Precision (AP) @[ IoU=0.50:0.95 | area= all | maxDets=100 ] = 0.495 Average Precision (AP) @[ IoU=0.50 | area= all | maxDets=100 ] = 0.771 Average Precision (AP) @[ IoU=0.75 | area= all | maxDets=100 ] = 0.543

caixiongjiang commented 7 months ago

方面的,故而

前后处理,数据增强策略都不同,这点差别也正常。

lecomet commented 7 months ago

@caixiongjiang 差的挺多的感觉 作者这个项目mAP50=0.771 官方那个mAP50=0.476.。。。不知道哪出问题了

caixiongjiang commented 7 months ago

为什么可以相差这么多?

caixiongjiang commented 7 months ago

训练参数设置的相同吗?官方那个是改配置文件的

lecomet commented 7 months ago

参数都是差不多的 我感觉可能一个用VOC评估 一个用COCO评估 想不出其他什么原因会差距这么大。。。

caixiongjiang commented 7 months ago

参数都是差不多的 我感觉可能一个用VOC评估 一个用COCO评估 想不出其他什么原因会差距这么大。。。

你是用的是自己的数据集吗?我记得评估COCO数据集才用COCO的那个工具。

lecomet commented 7 months ago

自己的数据集 coco评估应该都能用

youlikesoilove commented 7 months ago

给大家看看我的 【B导】epoch = 100 Average Precision (AP) @[ IoU=0.50:0.95 | area= all | maxDets=100 ] = 0.534 Average Precision (AP) @[ IoU=0.50 | area= all | maxDets=100 ] = 0.911 Average Precision (AP) @[ IoU=0.75 | area= all | maxDets=100 ] = 0.576 Average Precision (AP) @[ IoU=0.50:0.95 | area= small | maxDets=100 ] = -1.000 Average Precision (AP) @[ IoU=0.50:0.95 | area=medium | maxDets=100 ] = 0.236 Average Precision (AP) @[ IoU=0.50:0.95 | area= large | maxDets=100 ] = 0.548 Average Recall (AR) @[ IoU=0.50:0.95 | area= all | maxDets= 1 ] = 0.278 Average Recall (AR) @[ IoU=0.50:0.95 | area= all | maxDets= 10 ] = 0.606 Average Recall (AR) @[ IoU=0.50:0.95 | area= all | maxDets=100 ] = 0.614 Average Recall (AR) @[ IoU=0.50:0.95 | area= small | maxDets=100 ] = -1.000 Average Recall (AR) @[ IoU=0.50:0.95 | area=medium | maxDets=100 ] = 0.376 Average Recall (AR) @[ IoU=0.50:0.95 | area= large | maxDets=100 ] = 0.627

【官方】epoch = 65 AP50=0.902 AP95=0.526 (此时AP不怎么降了,但是Loss还在降)

ccl-private commented 1 month ago

@youlikesoilove @lecomet 你们有比较过训练速度吗,我这边不知道为什么【B导】版本训练速度慢非常多

DeepSpace98 commented 2 weeks ago

@youlikesoilove @lecomet 你们有比较过训练速度吗,我这边不知道为什么【B导】版本训练速度慢非常多

b导的训练速度确实挺奇怪的,我用他写的分割模型那几个(deeplab)训练速度也很慢