知乎:
b站:/
上一篇博客:yolov5 训练crowded human 【visible body detection】
在对拥挤人群(我应用场景是学生课堂)进行检测时,采用现有的模型代码,有一定问题,比如直接采用yolov8、yolov7、yolov5、yolov3、faster rcnn等,在拥挤场景的检测效果不佳,但使用crowded human数据集重训练后的yolov7,效果很好。crowded human数据集标签如下,有Head BBox、Visible BBox、Full BBox。如下图显示:
YOLOv7x训练权重及训练相关文件
YOLOv7x权重:
链接:=4lf2
提取码:4lf2
YOLOv7x 训练相关文件:
链接:=s77o
提取码:s77o
google drive:=sharing
crowdhuman_vbody_yolov5m:
=sharing
crowdhuman_vbody_yolov5m:
链接:=td3j
提取码:td3j
CrowdHuman的论文
CrowdHuman: A Benchmark for Detecting Human in a Crowd:.00123.pdf
yolov5-crowdhuman的代码,这里是训练后的head detection和 full body detection 的模型,并没有 visible body detection。
yolov5-crowdhuman:
这是githun中对CrowdHuman论文的翻译
PaperWeekly/CrowdHuman.md:.md
这一个博客就非常重要了,是我能完成这篇博客的核心
目标检测 YOLOv5 CrowdHuman数据集格式转YOLOv5格式:
YOLOv5-Tools-main源码
我也将这个同步到了自己的github中:
也同步到了码云:[](
CrowdHuman dataset下载链接:.html
下载后有这些文件:
YOLOv5-Tools的功能之一就是讲crowded human转化为yolo可以使用的数据集格式,即coco数据集格式。
YOLOv5-Tools代码链接:
我也将这个同步到了自己的github中:
也同步到了码云:
选择社区景象()
cd /root/autodl-tmp
git clone
YOLOv5-Tools中有1个关键文件:
/root/autodl-tmpYOLOv5-Tools-main/CrowHuman2YOLO/data/gen_txts_hfv.py
crowdhuman 数据集位于:/root/autodl-pub/CrowdHuman
crowded human数据转化为yolo数据集格式,执行下面的代码
cd /root/autodl-tmp/YOLOv5-Tools-main/CrowHuman2YOLO/data/mv /root/autodl-tmp/CrowdHuman/* /root/autodl-tmp/YOLOv5-Tools-main/CrowHuman2YOLO/data/rawbash prepare_data_hfv.sh 608x608
然后目录/root/autodl-tmp/YOLOv5-Tools-main/CrowHuman2YOLO/data/raw/Images的结构如下
Images
├── 273271,1017c000ac1360b7.jpg
├── 273271,10355000e3a458a6.jpg
├── 273271,1039400091556057.jpg
├── 273271,104ec00067d5b782.jpg
├── ...
└── 284193,ff25000b6a403e9.jpg
使用文件计数命令可以数出Images文件夹下文件数量
cd /root/autodl-tmp/YOLOv5-Tools-main/CrowHuman2YOLO/data/raw/Images
ls -l|grep "^-"| wc -l
结果是:19370
还有个路径也有生成结果:/home/YOLOv5-Tools-main/CrowHuman2YOLO/data/crowdhuman-608x608
结构如下
crowdhuman-608x608
├── 273271,1017c000ac1360b7.jpg
├──
├── 273271,10355000e3a458a6.jpg
├──
├── ...
├── 284193,ff25000b6a403e9.jpg
├──
├──
└──
我们看看的内容
再看看的内容
再看看的内容
讲crowded human生成coco标准文件夹格式
3.3节只是将crowded human数据集转化为了coco结构的数据集,但是图像文件和标注文本文件需要重构,
首先按照下面路径创建文件夹:
# 数据集生成目录
to_train_img_path = '/root/autodl-tmp/CrowdHuman/images/train/'
to_val_img_path = '/root/autodl-tmp/CrowdHuman/images/val/'
to_train_label_path = '/root/autodl-tmp/CrowdHuman/labels/train/'
to_val_label_path = '/root/autodl-tmp/CrowdHuman/labels/val/'
并修改:/root/autodl-tmp/YOLOv5-Tools-main/CrowHuman2YOLO/data/gen_coco_stru.py
然后重构命令:
cd /root/autodl-tmp/YOLOv5-Tools-main/CrowHuman2YOLO/data/
python gen_coco_stru.py
结果如下:
/root/autodl-tmp/CrowdHuman/images/
crowdedHuman
├── Images
│ ├── train
│ │ ├── 273271,1017c000ac1360b7.jpg
│ │ ├── 273271,10355000e3a458a6.jpg
│ │ ├── 273271,1039400091556057.jpg
│ │ ├── ...
│ │ └── 284193,ff01000db10348e.jpg
│ ├── val
│ │ ├── 273271,104ec00067d5b782.jpg
│ │ ├── 273271,10f400006b6fb935.jpg
│ │ ├── 273271,118910008d823f61.jpg
│ │ ├── ...
│ │ └── 284193,ff25000b6a403e9.jpg
└── labels ├── train│ ├── │ ├── │ ├── │ ├── ...│ └── └── val├── ├── ├── ├── ...└──
cd /root/autodl-tmp/CrowdHuman/images/train
ls -l|grep "^-"| wc -l
cd /root/autodl-tmp/CrowdHuman/images/val
ls -l|grep "^-"| wc -l
cd /root/autodl-tmp/CrowdHuman/labels/train
ls -l|grep "^-"| wc -l
cd /root/autodl-tmp/CrowdHuman/labels/val
ls -l|grep "^-"| wc -l
images/train: 15000
images/val: 4370
labels/train: 15000
labels/val: 4370
CrowdHuman YOLO格式数据我已经上传百度网盘,·:
链接:=vre3
提取码:vre3
下载yolov7x的模型,
然后上传到平台中
训练需要在 /data/SCB/yolov7-main/data/ 下创建:crowdhuman.yaml,其内容如下:
执行下面的代码
cd /data/SCB/yolov7-main/data/
vim crowdhuman.yaml
train: /data/CrowdHuman/images/train
val: /data/CrowdHuman/images/val
#test: #number of classes
nc: 3# class names
names: ['head', 'full body', 'visible body']
进入:/data/SCB/yolov7-main/training/yolov7x.yaml
然后修改:
执行下面的训练代码:
cd /data/SCB/yolov7-main/
python train.py --data ./data/crowdhuman.yaml --cfg ./cfg/training/yolov7x.yaml --weights yolov7x.pt --batch-size 8 --epochs 200 --project runs/train/CrowdHumanYOLOv7x
Class Images Labels P R mAP@.5 mAP@.5:.95: all 4365 282433 0.873 0.799 0.855 0.571head 4365 82364 0.882 0.803 0.855 0.551full body 4365 100536 0.881 0.809 0.865 0.582visible body 4365 99533 0.857 0.785 0.845 0.581
200 epochs completed in 38.834 hours.
python test.py --data data/crowdhuman.yaml --weights runs/train/CrowdHumanYOLOv7x/exp/weights/last.pt
val: Scanning '/data/CrowdHuman/labels/val.cache' images 4370 found, 0 missing, 1 empty, 5 corrupted: 100%|█████████████████████████████████████████████████| 4370/4370 [00:00<?, ?it/s]Class Images Labels P R mAP@.5 mAP@.5:.95: all 4365 282433 0.877 0.796 0.856 0.572head 4365 82364 0.887 0.797 0.854 0.55full body 4365 100536 0.883 0.811 0.869 0.585visible body 4365 99533 0.862 0.78 0.845 0.581
Speed: 2.9/0.8/3.7 ms inference/NMS/total per 640x640 image at batch-size 32
Results saved to runs/test/exp3
原图
yolov7x
yolov7x_crowdhuman
原图
yolov7x
yolov7x_crowdhuman
confusion_matrix.png
F1_curve.png
P_curve.png
PR_curve.png
R_curve.png
results.png
本文发布于:2024-02-04 21:34:27,感谢您对本站的认可!
本文链接:https://www.4u4v.net/it/170716951459821.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
留言与评论(共有 0 条评论) |