项目大概分为两部分,首先使用yolov5进行目标检测并截图;然后对图片一系列的处理后使用LPRNet进行字符识别
基于yolov5和LPRNet车牌识别
yolov5检测部分
环境搭建
1.首先在官网下载源码并解压。
2.下载anaconda并创建虚拟环境:
官网下载安装包后进行安装,注意安装过程中添加环境变量到path要yes。然后创建虚拟环境conda create -n abc python=3.7
(这里abc是环境名称,可以自己取);进入环境,linux用命令:conda activate abc
,windows用命令:activate abc
。
3.在yolov5目录下打开终端,输入命令:
pip install -r requirements.txt -i https://pypi.tuna.tsinghua.edu.cn/simple
自动安装yolov5所需环境,一般来说会遇到一些错误,兵来将挡水来土掩,报什么错就解决什么问题(有问题也可以评论或私信)。
数据处理
1.数据集标定,要是有自己的数据集可以自己标定,这里我已经整理了一部分质量较高的数据集且标定好了,可以直接使用。创建一个文件夹dataset用来存放数据集,结构如下,分为训练集和训练集,训练集当中分为images和labels分别存放图片和对应的标签。可以使用labelme或者labelimg进行画标注框生成label,用labelme只能生成json格式,需要转darknet格式,参考我之前写的博文进行转换。
├── dataset
└── train
└── images
└── labels
└──test
└── images
└── txt
如果测试集仅仅大概的看检测效果而不计算map的话可以不用txt标签,只要一个images即可,若要计算map,参考另一篇博文。
2.创建数据的配置文件,在data目录下创建license.yaml。可以参考我的yaml文件的内容格式:
# YOLOv5 🚀 by Ultralytics, GPL-3.0 license
# COCO128 dataset https://www.kaggle.com/ultralytics/coco128 (first 128 images from COCO train2017) by Ultralytics
# Example usage: python train.py --data coco128.yaml
# parent
# ├── yolov5
# └── datasets</