【发布时间】:2021-12-09 17:38:24
【问题描述】:
我正在尝试训练自定义对象检测器,对 yolov5 架构可以训练的目标类对象的数量是否有限制。 例如——coco 数据集有 80 个目标类,假设我要检测 500 个对象类型,是否建议使用 yolov5。
这可以解释原因吗?
【问题讨论】:
标签: python object object-detection yolov5
我正在尝试训练自定义对象检测器,对 yolov5 架构可以训练的目标类对象的数量是否有限制。 例如——coco 数据集有 80 个目标类,假设我要检测 500 个对象类型,是否建议使用 yolov5。
这可以解释原因吗?
【问题讨论】:
标签: python object object-detection yolov5
您可以向任何网络添加任意数量的课程。 yolo 架构以更加关注推理时间而不是性能而闻名。虽然在常规数据集上取得了不错的效果,但 yolo 模型是为速度而构建的。
但本质上,您需要一个具有良好主干(深而宽)的网络,可以真正从您的图像中获得丰富的特征。
根据我的经验,确实没有直截了当的答案。如果您要检测大/中/小对象,这也取决于您的数据集。我真的建议尝试不同的模型,因为每个模型在自定义数据集上的表现都会不同。从这里你选择最好的。最先进的模型与迁移学习和微调的最佳模型没有直接关系。
对我来说,Yolo 和所有其他单次检测器是最适合微调目的的(RetinaNet 迄今为止最适合我的用例),它们非常适合超参数调整,因为您可以训练它们快速测试什么有效,什么无效。使用两阶段检测器(Faster-RCNN 等)我从来没有取得整体良好的结果,主要是因为训练过程不同而且慢得多。
我建议您阅读此article,它解释了架构类型、优缺点。
此外,如果您想为超过 500 个类别训练模型,Tensorflow 对象检测 API 具有针对 OpenImages 数据集(600 个类别)的预训练模型,并且 LVIS 数据集(1200 个类别)上有 Detectron 2。如果您想微调到数据集中相似数量的类,我建议您从在更多类上训练的模型开始。
【讨论】: