PeterH0323/Smart_Construction

重新训练无person检测框的问题

laomaup opened this issue · 5 comments

您好,重新训练了您公开的数据集,里面好像仅标注了head和helmat,期初以为按照python train.py --img 640 --batch 16 --epochs 10 --data ./data/custom_data.yaml --cfg ./models/custom_yolov5.yaml --weights ./weights/yolov5s.pt训练,--weights ./weights/yolov5s.pt包括了person的检测。可训练完发现并没有person框,只有head和helmat框。
README.md里面的5. 增加数据集的分类中的说明,是不是就解决person检测问题的,利用原始yolov5生成person标注信息?

在,gen_data里merge.py有说明,用coco模型来检测安全帽数据集,来生成person标签

是的,使用 5. 增加数据集的分类 可以进行人体的增加,下面是我增加人体的方法:

注意:安全帽数据集里面的 person 指的是 head(没有佩戴安全帽的人头)

  1. 安全帽数据集使用 /data/gen_data/gen_head_helmet.py生成好标签
  2. 使用 yolov5x.pt来进行人体的判断,命令加上保存json
  3. 然后 data/gen_data/merge_data.py在将所有推理到的json中的 person 加入到已生成好的标签中

@PeterH0323 请问你得到的先验anchor的数值是在加入person的标签对么。我的理解就是原来的没有合并数据集只有两类,头部和安全帽,然后用coco模型检测出person,加入变成三类,最后三类标签聚集得到你在READ.md的anchor数值大小,之后在训练,不知道理解对不对?

@chuanfuye
是的,如果是想做得好的话,是需要像您所说的那样子进行,先将所有类都合并好成每个图片对应的文件里面,然后再进行聚类

由于提问者长时间未回复,这个 issue 先关闭了,如果后续有疑问的话欢迎继续提 issue ,感谢大家的关注和支持!