用YOLOv3训练WIDER_FACE数据集

本文介绍了如何使用YOLOv3模型训练WIDER_FACE数据集,包括将标注文件转换为训练所需的格式,解决训练时可能遇到的问题,如检查图片存在、文件类型和行尾字符等。在测试阶段,提供了处理模型输出和计算IOU的脚本,并分享了在CUDA和CuDNN非默认路径下编译的解决办法,以及调整cfg文件参数以防止显存溢出。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

- 刚开始想训练的时候忘了百度一下没有没可以直接转换的脚本。。。就自己写了。。。
- 后来发现网上的转换脚本基本都是把 WIDER_FACE先转换成VOC再用yolo提供的准换工具,转成yolo所需格式。。。
- 自己写的是直接转成yolo所需的格式的,版本python3.6
GitHub地址:https://github.com/xp56/WIDER_FACE_data_conversion_for_YOLOv3

- 我个人喜欢写东西的时候把中间结果存成文件...

- 这样的话我可以把工作分成一段一段的......不容易弄混......如果不习惯的话可以把它改成一个文件。

---

训练时用

- data_conversion.py是将wide_faced的标注数据集转成yolov3所需要的标签。
- 每个图片转成对应名称的标签
- 由于yolov3需要的是归一化之后的中心坐标和W,H所以在转换方法中进行了归一化和数据转换

- train_list.py将标注文件转成yolov3所需要的train_list,valid_list也是用这个

- (注:如果你得到的train_list.py在训练时一直报错说找不到对应图片,先检查图片是否存在。然后注意转换文件的类型,是否是nux格式,notepad非常方便的查看,显示出所有字符,看一下行尾是不是LF!!!这个坑坑了我好半天!)


---

测试时用

- model_out_clean.py是将yolov3输出的valid文件进行class 值的筛选通过改变不同的阀值可以得到PR图

- model_out_convert.py是将model_out_clean.py的输出转化成wide_face数据格式,方便进行IOU计算

- count_IOU.py是进行检测结果与标注结果
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值