PeterH0323 / Smart_Construction

Base on YOLOv5 Head Person Helmet Detection on Construction Sites,基于目标检测工地安全帽和禁入危险区域识别系统,🚀😆附 YOLOv5 训练自己的数据集超详细教程🚀😆2021.3新增可视化界面❗❗
GNU General Public License v3.0
2.24k stars 469 forks source link

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

Closed laomaup closed 3 years ago

laomaup commented 3 years ago

您好,重新训练了您公开的数据集,里面好像仅标注了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标注信息?

jingzhouhuang commented 3 years ago

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

PeterH0323 commented 3 years ago

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

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

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

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

PeterH0323 commented 3 years ago

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

PeterH0323 commented 3 years ago

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