性能先进的模型并不一定在整体上都是最先进的,就如在目前所公开的最强目标检测模型ppyoloe+[yolov8虽然是最新一代模型,其使用CIoU做box loss,在公开coco上的指标是不如ppyoloe+,这应该是由于object365数据集的加持
]使用GIOU作为loss来进行框回归优化([这两个模型除了iou loss外均使用了DFL来使模型快速将tlbr(边框的四个位置)回归到目标框附近
])。然而,在已知的信息中GIOU、SIOU、EIOU等最新IOU loss都比CIOU更利于边框优化。在pytorch下通常可以看到将SIOU、EIOU添加到yolov5或yolov8中的实践,并声称替换IOU loss后模型有所涨点;为此阅读了paddledetection中的源码,分析了其中iou loss的实现,发现有CIOU、GIOU、SIOU的实现方式,并没有EIOU、WIOU的实现方式。最终,参考pytorch的实现方式,将其改为paddle版本的EIOU、WIOU,并将其使用在ppyoloe+的训练中。
这里推荐大家使用最新的paddledetection(version 2.6),因为ppyoloe的代码在2.4中与2.6中实现细节不一样。
网络网络 | 输入尺寸 | 图片数/GPU | 学习率策略 | TRT-FP16-Latency(ms) | mAPval 0.5:0.95 |
---|