一、车牌识别
近年来,随着深度学习和神经网络等技术的发展,车牌检测与识别技术取得了显著的进展,不断提升了识别准确率和鲁棒性,为智能交通和安防监控等领域的应用提供了更多可能性。车牌检测与识别技术在智能交通系统、停车场管理、安防监控等领域具有重要应用价值。其主要意义包括:
-
提高交通管理效率:可以实现对车辆的自动识别和跟踪,提高交通违章检测和管理的效率。
-
增强安全监控能力:通过对车辆的自动识别,可以实现对车辆行驶轨迹的监控和追踪,增强安全监控的能力。
-
便捷停车管理:可用于停车场的自动识别和计费,提高停车管理的便捷性和效率。
-
犯罪侦查:在刑事侦查中,车辆的识别可以帮助警方快速锁定嫌疑车辆,提高破案效率。
二、检测车牌类型:
12种中文车牌类型包括:1.单行蓝牌 2.单行黄牌 3.新能源车牌 4.白色警用车牌 5 教练车牌 6 武警车牌 7 双层黄牌 8 双层武警 9 使馆车牌 10 港澳牌车 11 双层农用车牌 12 民航车牌
三、车牌识别测试:
测试demo: 以yolov7-lite-s 为例,测试文件夹imgs,结果保存再 result 文件夹中。
python detect_rec_plate.py --detect_model weights/yolov7-lite-s.pt --rec_model weights/plate_rec.pth --source imgs --output result
四、车牌识别训练
下载数据集,数据从CCPD和CRPD数据集中选取并转换的,数据集格式为yolo格式:
label x y w h pt1x pt1y pt2x pt2y pt3x pt3y pt4x pt4y
关键点依次是(左上,右上,右下,左下) 坐标都是经过归一化,x,y是中心点除以图片宽高,w,h是框的宽高除以图片宽高,ptx,pty是关键点坐标除以宽高。修改 data/plate.yaml train和val路径,换成你的数据路径。
train: /your/train/path #修改成你的路径
val: /your/val/path #修改成你的路径
# number of classes
nc: 2 #这里用的是2分类,0 单层车牌 1 双层车牌
# class names
names: [ 'single','double']
训练 以yolov7-lite-s 为例,结果存在run文件夹中。
python train.py --batch-size 32 --data data/plate.yaml --img 640 640 --cfg cfg/yolov7-lite-s.yaml --weights weights/yolov7-lite-s.pt --name yolov7 --hyp data/hyp.face.yaml
代码和数据集分享: