Pluto丶N 2023-05-26 16:49 采纳率: 16.7%
浏览 168
已结题

如何在原有的yolov5模型中增加新的类别

我现在用的是yolov5,用yolov5s模型进行识别,但是现在coco128数据集中是没有类A,识别不到类别A,现在想在原有的模型基础上新增A类别的识别,如何实现呢?

  • 写回答

1条回答 默认 最新

  • 断水流大撕兄 HarmonyOS创作领域新星创作者 2023-05-26 17:04
    关注

    本次回答借鉴于GPT
    在Yolov5模型中增加新的类别主要分两步:

    1. 扩充类别数量。这主要包括:
    • 修改model.py中nc的值,增加1。例如原来为80,增加A类后变为81。
    • 修改data/coco128.yaml文件,在categories字段中增加A类相关信息,如id和name等。
    1. fine-tune模型。这步骤需要:
    • 准备包含A类样本的数据集,并按照Yolov5的数据格式进行组织。
    • 运行命令python train.py --img 640 --batch 16 --epochs 100 --data coco128.yaml --weights yolov5s.pt --mc 0.8开始fine-tune模型。
      • --weights yolov5s.pt指定基于yolov5s预训练权重开始。
      • 运行一定EPOCHS后,A类的精度会逐步提高。
    • 测试fine-tuned模型的识别效果,如果A类精度达标,fine-tuning完成;否则需要继续训练。

    所以,总结来说,增加Yolov5识别新类别的步骤是:

    1. 修改模型配置,包括nc和数据集配置文件,增加新类信息。
    2. 准备包含新类样本的数据集。
    3. 基于原模型权重,fine-tune一定EPOCH,直到新类精度达标。Fine-tuning时,只需要调整比较少的EPOCH,通常在10到50之间,因为大部分特征都已经在预训练模型中学到,只需要微调即可适应新数据。
      如果对上述流程有任何不明白的地方,请 feel free to ask。我会尽量详细解释每一步的具体操作和原理。

    望采纳!

    评论

报告相同问题?

问题事件

  • 已结题 (查看结题原因) 8月17日
  • 修改了问题 5月26日
  • 创建了问题 5月26日

悬赏问题

  • ¥15 R语言卸载之后无法重装,显示电脑存在下载某些较大二进制文件行为,怎么办
  • ¥15 java 的protected权限 ,问题在注释里
  • ¥15 这个是哪里有问题啊?
  • ¥15 关于#vue.js#的问题:修改用户信息功能图片无法回显,数据库中只存了一张图片(相关搜索:字符串)
  • ¥15 texstudio的问题,
  • ¥15 spaceclaim模型变灰色
  • ¥15 求一份华为esight平台V300R009C00SPC200这个型号的api接口文档
  • ¥15 字符串比较代码的漏洞
  • ¥15 欧拉系统opt目录空间使用100%
  • ¥15 ul做导航栏格式不对怎么改?