尧图建网站 尧图建网站 YAOTU WEB BUILD 免费咨询
ARTICLE DETAIL

资讯详情

深耕网站建设与建站编程的一线实战洞察。

YOLOv5 自定义数据集:四步做出车牌检测训练集的新手向完整指南

YOLOv5 自定义数据集:四步做出车牌检测训练集的新手向完整指南 YOLOv5 自定义数据集四步做出车牌检测训练集的新手向完整指南【免费下载链接】Chinese_license_plate_detection_recognitionyolov5 车牌检测 车牌识别 中文车牌识别 检测 支持12种中文车牌 支持双层车牌项目地址: https://gitcode.com/GitHub_Trending/ch/Chinese_license_plate_detection_recognition网上现成的车牌数据集大多是大路货白天、晴天、正角度拍的多换成你自己的监控画面准确率往往一落千丈。这篇按 YOLOv5 自定义数据集的完整流程带你做一份属于自己的车牌检测训练集收图、去重、标注、组目录、训练前自检照着做就能拿到一份能直接喂给 train.py 的数据。先拉下项目代码git clone https://gitcode.com/GitHub_Trending/ch/Chinese_license_plate_detection_recognition动手前先答好 3 个问题先回答要部署在哪、精度要求多高、标注能花多少时间答案决定数据做多大规模合并成一张场景需求清单维度要覆盖什么底线要求部署机位前装记录仪 / 固定监控 / 停车场闸机覆盖你实际部署的 2~3 个拍摄角度时段白天、夜晚、弱光夜间与低照度样本 ≥ 20%车牌类型蓝、黄、新能源绿、警、双层牌等业务里要识别的类型一个都不能少图像质量清晰、运动模糊、远距小目标必须混入车牌宽度不足画面 1/20 的远图最少样本量数据集总规模总量 ≥ 3000 张单类车牌 ≥ 800 张标注时间预算工具效率1000 张约 1~2 人天从 0 到 1 拿到可用数据集的四步 第一步图从哪来、要多少三个渠道按优先级排自己的监控 / 车辆视频截帧——和部署场景最贴合训出来的车牌检测训练集上线效果最稳公开的车辆图像数据集——项目 data/ 目录下就配有现成的 yaml 配置可参考但场景偏单一网络爬取——注意图片授权且必须严格去重。去重用感知哈希pHash一种内容近似就算重复的指纹算法批量过滤同一画面反复出现不会带来新信息反而加重过拟合。规模起步 3000 张追求效果上 1 万张train/val 按 8:1:1 切分需要评测时再留出 test 集。 第二步标注要点标注工具怎么选工具输出格式优点短板LabelImgXMLPascal VOC矩形标注经典款、上手最快需自行转换 YOLOLabelmeJSON矩形、多边形都行需转换项目自带 json2yolo.py 可转CVATYOLO/COCO 直出在线协作、一键转换部署稍重只标矩形选 LabelImg 足够想数据标注格式一步到位就选 CVAT。YOLO 格式写起来很简单一张图配一个同名的 .txt 文件一个框占一行顺序是类别 ID、中心点 x、中心点 y、宽、高除类别外全部是 0~1 的归一化数值像素值 ÷ 图宽/图高。比如0 0.512 0.634 0.125 0.089表示第 0 类中心在 (51.2%, 63.4%)宽占画面 12.5%、高占 8.9%。最容易错的点把左上角当成中心点填进去。三条标注规矩框紧贴牌面轮廓含固定螺丝不含保险杠和装饰牌框被遮挡的牌不跳过可见部分的标注标准见后文避坑手册类别 ID 从 0 开始编号映射关系必须与 data.yaml 一致。 第三步目录结构与 data.yamlYOLOv5 的规矩images 与 labels 镜像对应train/val 平级切分配置文件只说清东西在哪、有几类。plate_dataset/ ├── images/ │ ├── train/ # 训练图 │ └── val/ # 验证图 ├── labels/ │ ├── train/ # 训练标注与图同名 .txt │ └── val/ # 验证标注 └── data.yaml # 数据集配置train: ../plate_dataset/images/train val: ../plate_dataset/images/val nc: 2 names: [single_plate, double_plate]labels/ 路径可以不写框架默认按 images 同级结构去找 labels 目录nc类别数必须等于 names 的长度路径写相对路径即可。✅ 第四步训练前自检images/train 的图数量 labels/train 的 .txt 数量val 同理标注每行 5 个数值全部落在 0~1 区间标签中最大的类别 ID 小于 nctrain 和 val 里没有任何同名图防数据泄漏特殊类型新能源、双层、夜间都有样本随机抽 5 张图框能贴住车牌️ 训练参数速查模型怎么选、哪些参数最常调模型选型模型参数量速度适用场景YOLOv5n1.9M最快边缘设备、优先保实时YOLOv5s7.2M快新手首次训练首选YOLOv5m21.2M中精度要求更高YOLOv5l / x46.5M / 86.7M慢研究或高端 GPU最常调的 7 个超参参数作用建议起点--img输入分辨率640远距小目标多可上 1280--batch每轮图片数显存能开多大开多大常见 16~32--epochs训练轮数100提前收敛可砍到 50--lr0初始学习率从零训练 0.01微调降到 0.001--weights起点权重官方 COCO 预训练权重--data数据集配置你自己的 data.yaml 路径--close-mosaic最后 N 轮关 Mosaic10Mosaic 增强是把 4 张图拼成 1 张训练样本对小目标检出的提升很明显默认概率 1.0 不用动。⚠️ 避坑手册训不动、训不准都先看这 5 条坑 1文件数量对不上现象第一个 epoch 就抛 FileNotFoundError或验证指标全为 0。原因标注文件名与图片扩展名不一致如 .jpeg 和 .jpg 混用或部分图缺 .txt。解法先核对两个目录的文件数量缺标注的回补或删图别等训练报错再查。坑 2坐标越界现象训练报 labels out of range 警告loss 剧烈震荡。原因标注工具导出的是未归一化的像素坐标或框画出了画面边界。解法用脚本批量裁剪到 0~1 区间再抽几张图人工核对框位。坑 3类别 ID 对不上现象某一类永远检测不出来对应损失曲线一条直线。原因yaml 里 names 的顺序和标注时的 ID 映射不一致。解法标注规范第一页写明映射表0什么、1什么标完逐份核对。坑 4遮挡车牌漏标现象干净图效果好遮挡大的图掉得厉害。原因标注员把看不清的牌直接跳过了。解法事先统一口径——可见面积过半就标、不足过半不标——并抽样复核。坑 5Mosaic 用过头现象训练指标好看实际单图部署时小车牌漏检。原因末段不关 Mosaic模型从没见过干净的输入分布。解法保留 close-mosaic10最后 10 轮关拼图让模型收敛。YOLOv5 自定义数据集不难难在纪律样本够杂、标注够干净、自检够狠。数据集备好后下一步直接跑 train.py 训 100 轮边训边看验证集混淆矩阵迭代。【免费下载链接】Chinese_license_plate_detection_recognitionyolov5 车牌检测 车牌识别 中文车牌识别 检测 支持12种中文车牌 支持双层车牌项目地址: https://gitcode.com/GitHub_Trending/ch/Chinese_license_plate_detection_recognition创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
返回列表