基于yolov8-paddleocr-车牌识别

1 介绍

使用yolov8模型进行车牌区域识别,然后使用paddlecor模型将字体提取出来,由于数据量很大,支持复杂环境下的识别。数据集共29642张,其中27642张用了做训练,2000张用来做验证。

2 训练yolov8模型

yolov8详细介绍可以在网上找资料看,训练很简单,安装完包就一行train训练就行。

python 复制代码
from ultralytics import YOLO

# 29642 # 27642 训练 2000 测试
if __name__ == '__main__':
    model = YOLO("yolov8m.yaml")  # build a new model from scratch
    results = model.train(data="data.yaml", epochs=20, batch = 8)  # train the model

3 OCR识别

3.1 导入paddleocr模型

python 复制代码
os.environ['KMP_DUPLICATE_LIB_OK'] = 'True'  # 设置允许重复加载动态链接库,若不允许,使用jupyter运行时内核会挂掉
# Paddleocr目前支持的多语言语种可以通过修改lang参数进行切换
# 例如`ch`, `en`, `fr`, `german`, `korean`, `japan`
ocr = PaddleOCR(rec_model_dir = "models/ocr",use_angle_cls=False,
                use_gpu=False,lang="ch", show_log=False)  # need to run only once to download and load model into memory

3.2 导入yolov8模型,进行推理

python 复制代码
#导入yolov8模型
model = YOLO("models/yolov8n/best.pt")  # load a pretrained model (recommended for training)

3.3 进行推理

对于每张图片,先识别出车牌的位置,然后再提取字符。

python 复制代码
  if img is not None:
        car_num, xyxy, xywhn = get_yolov8_result(model, img)
        roi_out_path = os.path.join(roi_path, file)
        if car_num == 1:
            # 表示只有一个位置是车牌
            xyxy_tr = torch.tensor(xyxy)  # 转换为tensor类型
            ROI = save_one_box(xyxy_tr, img, file=Path(roi_out_path), BGR=True)  # 提取车牌区域
            ocr_text = ocr.ocr(ROI, cls=False)  # 输入到百度模型进行ocr识别
            if len(ocr_text[0]) != 0:
                # 表示这个位置是车牌
                number_plate = process_car_text(ocr_text)  # 处理车牌
                xywhn_str = process_xywhn(xywhn)
                line_str = file + "," + xywhn_str + "," + number_plate + "\n"
                write_append_content(output_file_path, line_str)

4 结果展示

提取到的ROI车牌区域

提取到的车牌结果,只展示部分结果

完整代码可以咨询:https://docs.qq.com/doc/DWEtRempVZ1NSZHdQ

相关推荐
大鱼>1 天前
地平线BPU部署实战:YOLOv8在J5/X3上的算法适配与性能优化
算法·yolo·性能优化
stsdddd1 天前
YOLO系列目标检测数据集大全【第二十九期】
yolo·目标检测·目标跟踪
大鱼>1 天前
YOLO边缘部署深度指南:从YOLOv8n到NPU加速的全链路优化
yolo·aiot
AI棒棒牛1 天前
第 03 讲《监督学习:数据、标签、Loss与训练循环》
人工智能·学习·yolo·目标检测·yolo26
FL16238631291 天前
国内快递面单识别检测数据集VOC+YOLO格式422张6类别
人工智能·yolo·机器学习
stsdddd2 天前
YOLO系列目标检测数据集大全【第三十期】
yolo·目标检测·目标跟踪
YOLO数据集集合2 天前
无人机航拍地质灾害智能识别 山体滑坡实例分割数据集落地实战 | 泥石流监测 道路险情封堵 深度学习模型训练方案10296期
人工智能·深度学习·yolo·目标检测·无人机
音沐mu.2 天前
【73】墙壁建筑缺陷数据集(有v5/v8模型)/YOLO墙壁建筑缺陷检测
yolo·目标检测·目标检测数据集·墙壁建筑缺陷数据集·墙壁建筑缺陷检测
前网易架构师-高司机2 天前
带标注的辣椒病叶数据集,识别率95.9%,可识别三种病害和健康叶子,9916张图,支持yolo,coco json,voc xml,文末有模型训练代码
yolo·json·数据集·病害·叶病·病叶·辣椒
动物园猫2 天前
直升机停机坪目标检测数据集分享(适用于YOLO系列深度学习分类检测任务)
深度学习·yolo·目标检测