PaddlePaddle / PaddleYOLO

🚀🚀🚀 YOLO series of PaddlePaddle implementation, PP-YOLOE+, RT-DETR, YOLOv5, YOLOv6, YOLOv7, YOLOv8, YOLOv10, YOLOX, YOLOv5u, YOLOv7u, YOLOv6Lite, RTMDet and so on. 🚀🚀🚀
https://github.com/PaddlePaddle/PaddleYOLO
GNU General Public License v3.0
552 stars 133 forks source link

ins_seg分支YOLOv5、v8和PPYOLOE seg目前支持训练了吗 #201

Closed panp4n closed 7 months ago

panp4n commented 10 months ago

问题确认 Search before asking

请提出你的问题 Please ask your question

请问ins_seg分支添加的YOLOv5、v8和PPYOLOE seg目前支持训练了吗,是否支持Fastdeploy部署 @nemonameless

nemonameless commented 10 months ago

PPYOLOE seg可训,其余暂不可训。暂未支持Fastdeploy。

panp4n commented 9 months ago

PPYOLOE seg可训,其余暂不可训。暂未支持Fastdeploy。

我尝试了PPYOLOE-seg(640640)训练自己的数据集,检测效果良好,但分割掩膜有明显的锯齿,尤其是小目标,且评估segm, mAP异常。 同样的数据集使用MaskRCNN(8001280)检测分割效果要好的多,且segm mAP正常。 以下为PPYOLOE-seg验证Log:

DONE (t=0.01s) creating index... index created! Running per image evaluation... Evaluate annotation type bbox DONE (t=0.23s). Accumulating evaluation results... DONE (t=0.03s). Average Precision (AP) @[ IoU=0.50:0.95 | area= all | maxDets=100 ] = 0.716 Average Precision (AP) @[ IoU=0.50 | area= all | maxDets=100 ] = 0.909 Average Precision (AP) @[ IoU=0.75 | area= all | maxDets=100 ] = 0.816 Average Precision (AP) @[ IoU=0.50:0.95 | area= small | maxDets=100 ] = 0.224 Average Precision (AP) @[ IoU=0.50:0.95 | area=medium | maxDets=100 ] = 0.664 Average Precision (AP) @[ IoU=0.50:0.95 | area= large | maxDets=100 ] = 0.762 Average Recall (AR) @[ IoU=0.50:0.95 | area= all | maxDets= 1 ] = 0.103 Average Recall (AR) @[ IoU=0.50:0.95 | area= all | maxDets= 10 ] = 0.548 Average Recall (AR) @[ IoU=0.50:0.95 | area= all | maxDets=100 ] = 0.787 Average Recall (AR) @[ IoU=0.50:0.95 | area= small | maxDets=100 ] = 0.350 Average Recall (AR) @[ IoU=0.50:0.95 | area=medium | maxDets=100 ] = 0.748 Average Recall (AR) @[ IoU=0.50:0.95 | area= large | maxDets=100 ] = 0.817 [12/15 17:56:40] ppdet.metrics.metrics INFO: The mask result is saved to mask.json. loading annotations into memory... Done (t=0.00s) creating index... index created! [12/15 17:56:40] ppdet.metrics.coco_utils INFO: Start evaluate... Loading and preparing results... DONE (t=0.03s) creating index... index created! Running per image evaluation... Evaluate annotation type segm DONE (t=0.28s). Accumulating evaluation results... DONE (t=0.02s). Average Precision (AP) @[ IoU=0.50:0.95 | area= all | maxDets=100 ] = 0.014 Average Precision (AP) @[ IoU=0.50 | area= all | maxDets=100 ] = 0.025 Average Precision (AP) @[ IoU=0.75 | area= all | maxDets=100 ] = 0.017 Average Precision (AP) @[ IoU=0.50:0.95 | area= small | maxDets=100 ] = 0.001 Average Precision (AP) @[ IoU=0.50:0.95 | area=medium | maxDets=100 ] = 0.006 Average Precision (AP) @[ IoU=0.50:0.95 | area= large | maxDets=100 ] = 0.017 Average Recall (AR) @[ IoU=0.50:0.95 | area= all | maxDets= 1 ] = 0.013 Average Recall (AR) @[ IoU=0.50:0.95 | area= all | maxDets= 10 ] = 0.053 Average Recall (AR) @[ IoU=0.50:0.95 | area= all | maxDets=100 ] = 0.054 Average Recall (AR) @[ IoU=0.50:0.95 | area= small | maxDets=100 ] = 0.005 Average Recall (AR) @[ IoU=0.50:0.95 | area=medium | maxDets=100 ] = 0.056 Average Recall (AR) @[ IoU=0.50:0.95 | area= large | maxDets=100 ] = 0.049 [12/15 17:56:40] ppdet.engine INFO: Total sample number: 5, average FPS: 0.500295790076311 [12/15 17:56:40] ppdet.engine INFO: Best test bbox ap is 0.718. 看预测的结果也挺正常,得分都挺高。 1 另外我发现训练PaddleYOLO中这几个实例分割,显存占用异常大,PPYOLOE-seg-s 640输入尺寸,2 batchsize就要占12G显存。其他YOLOv5、6、8 seg 12G显存只能跑1个batchsize。我在使用YOLOv5-seg\YOLOv8-seg官方代码训练时,可以使用更大的batchsize和更大的输入尺寸(1280),也不会爆显存,且检测和分割效果要好很多。 2

nemonameless commented 7 months ago

显存问题确实存在,后续有空会继续排查,谢谢