基于PaddleOCR的车牌检测识别

这篇具有很好参考价值的文章主要介绍了基于PaddleOCR的车牌检测识别。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

前言

  • 由于本人水平有限,难免出现错漏,敬请批评改正。
  • 更多精彩内容,可点击进入YOLO系列专栏、自然语言处理
    专栏或我的个人主页查看
  • 基于DETR的人脸伪装检测
  • YOLOv7训练自己的数据集(口罩检测)
  • YOLOv8训练自己的数据集(足球检测)
  • YOLOv5:TensorRT加速YOLOv5模型推理
  • YOLOv5:IoU、GIoU、DIoU、CIoU、EIoU
  • 玩转Jetson Nano(五):TensorRT加速YOLOv5目标检测
  • YOLOv5:添加SE、CBAM、CoordAtt、ECA注意力机制
  • YOLOv5:yolov5s.yaml配置文件解读、增加小目标检测层
  • Python将COCO格式实例分割数据集转换为YOLO格式实例分割数据集
  • YOLOv5:使用7.0版本训练自己的实例分割模型(车辆、行人、路标、车道线等实例分割)

前提条件

  • 熟悉Python

相关介绍

  • Python是一种跨平台的计算机程序设计语言。是一个高层次的结合了解释性、编译性、互动性和面向对象的脚本语言。最初被设计用于编写自动化脚本(shell),随着版本的不断更新和语言新功能的添加,越多被用于独立的、大型项目的开发。
  • PaddleOCR(全称:Paddle Optical Character Recognition)是一个基于PaddlePaddle深度学习框架开发的开源OCR(光学字符识别)工具。OCR是一种技术,用于将印刷体或手写体的文本内容转换为可编辑的电子文本。PaddleOCR旨在通过深度学习技术实现高精度的文本检测、文本识别和版面分析等功能。
  • PaddleOCR项目提供了一个端到端的OCR解决方案,涵盖了以下主要功能:
    • 文本检测(Text Detection):识别图像中的文本区域,通常以矩形边界框表示。
    • 文本识别(Text Recognition):对于检测到的文本区域,进一步识别其中的字符和单词,将图像中的文本内容转化为可编辑的文本。
    • 版面分析(Layout Analysis):分析文档的版面结构,包括段落、标题、表格等,从而更好地理解文档的组织结构。
  • PaddleOCR项目使用深度学习模型,如卷积神经网络(CNN)和循环神经网络(RNN),来训练和优化用于文本检测和文本识别的模型。该项目的优势在于它能够处理多种语言和不同领域的文本,同时提供了易于使用的API和命令行界面,使开发者能够轻松地集成OCR技术到自己的应用中。
  • 总之,PaddleOCR是一个开源的、基于PaddlePaddle的OCR工具,旨在提供高精度的文本检测、文本识别和版面分析功能,以满足不同应用领域对OCR技术的需求。

PaddleOCR

  • 项目地址:https://github.com/PaddlePaddle/PaddleOCR.git
  • PaddleOCR官方教程文档:https://github.com/PaddlePaddle/PaddleOCR/blob/release/2.6/README_ch.md
  • :PaddleOCR官方教程文档写得十分详尽,有兴趣者,可自行查阅。之所以写这篇文章,是本人查阅完PaddleOCR官方教程文档后,对自己的项目需求,进行快速应用实现、部署的一次小记录。本文旨在快速应用实现,不究原理,后续有空再写。

环境要求

  • paddleocr==2.7.0.0
  • paddlepaddle==2.4.2
  • paddleslim: 2.2.2
  • shapely
  • scikit-image
  • imgaug
  • pyclipper
  • lmdb
  • tqdm
  • numpy
  • visualdl
  • rapidfuzz
  • opencv-python<=4.6.0.66
  • opencv-contrib-python<=4.6.0.66
  • cython
  • lxml
  • premailer
  • openpyxl
  • attrdict
  • PyMuPDF<1.21.0
  • Pillow>=10.0.0

车牌检测识别

准备数据集

这里以公开CCPD2020车牌数据集作为主要数据集进行训练,但此公开数据集并不是PaddleOCR所要求的数据集格式,所以需要转化。

  • 该数据集可以从这里下载 https://aistudio.baidu.com/aistudio/datasetdetail/101595
  • PaddleOCR数据格式制作,后续有空再写。详细可查阅 PaddleOCR官方教程文档:https://github.com/PaddlePaddle/PaddleOCR/blob/release/2.6/README_ch.md

车牌文本检测

下载预训练模型

  • 下载地址:https://paddleocr.bj.bcebos.com/PP-OCRv3/chinese/ch_PP-OCRv3_det_distill_train.tar

下载完成后,解压放到PaddleOCR/models目录下
基于PaddleOCR的车牌检测识别,YOLO系列,人工智能,ocr,paddlepaddle

微调、训练车牌检测数据集

python tools/train.py -c configs/det/ch_PP-OCRv3/ch_PP-OCRv3_det_student.yml -o  Global.pretrained_model=models/ch_PP-OCRv3_det_distill_train/student.pdparams  Global.save_model_dir=output/CCPD/det Global.eval_batch_step="[0, 772]" Optimizer.lr.name=Const Optimizer.lr.learning_rate=0.0005 Optimizer.lr.warmup_epoch=0 Train.dataset.data_dir=../../datasets/CCPD2020/ccpd_green Train.dataset.label_file_list=[../../datasets/CCPD2020/PPOCR/train/det.txt] Eval.dataset.data_dir=../../datasets/CCPD2020/ccpd_green Eval.dataset.label_file_list=[../../datasets/CCPD2020/PPOCR/test/det.txt]

基于PaddleOCR的车牌检测识别,YOLO系列,人工智能,ocr,paddlepaddle
基于PaddleOCR的车牌检测识别,YOLO系列,人工智能,ocr,paddlepaddle

评估训练好的模型

python tools/eval.py -c configs/det/ch_PP-OCRv3/ch_PP-OCRv3_det_student.yml -o Global.pretrained_model=output/CCPD/det/best_accuracy.pdparams Eval.dataset.data_dir=../../datasets/CCPD2020/ccpd_green Eval.dataset.label_file_list=[../../datasets/CCPD2020/PPOCR/test/det.txt]

基于PaddleOCR的车牌检测识别,YOLO系列,人工智能,ocr,paddlepaddle
基于PaddleOCR的车牌检测识别,YOLO系列,人工智能,ocr,paddlepaddle

导出模型

python tools/export_model.py -c configs/det/ch_PP-OCRv3/ch_PP-OCRv3_det_student.yml -o Global.pretrained_model=output/CCPD/det/best_accuracy.pdparams Global.save_inference_dir=output/det/infer

基于PaddleOCR的车牌检测识别,YOLO系列,人工智能,ocr,paddlepaddle

车牌文本识别

下载预训练模型

  • 下载地址:https://paddleocr.bj.bcebos.com/PP-OCRv3/chinese/ch_PP-OCRv3_rec_train.tar

下载完成后,解压放到PaddleOCR/models目录下
基于PaddleOCR的车牌检测识别,YOLO系列,人工智能,ocr,paddlepaddle

微调、训练车牌识别数据集

python tools/train.py -c configs/rec/PP-OCRv3/ch_PP-OCRv3_rec.yml -o Global.pretrained_model=models/ch_PP-OCRv3_rec_train/student.pdparams Global.save_model_dir=output/CCPD/rec/ Global.eval_batch_step="[0, 90]" Optimizer.lr.name=Const Optimizer.lr.learning_rate=0.0005 Optimizer.lr.warmup_epoch=0 Train.dataset.data_dir=../../datasets/CCPD2020/PPOCR  Train.dataset.label_file_list=[../../datasets/CCPD2020/PPOCR/train/rec.txt] Eval.dataset.data_dir=../../datasets/CCPD2020/PPOCR Eval.dataset.label_file_list=[../../datasets/CCPD2020/PPOCR/test/rec.txt]

基于PaddleOCR的车牌检测识别,YOLO系列,人工智能,ocr,paddlepaddle
基于PaddleOCR的车牌检测识别,YOLO系列,人工智能,ocr,paddlepaddle

评估训练好的模型

python tools/eval.py -c configs/rec/PP-OCRv3/ch_PP-OCRv3_rec.yml -o Global.pretrained_model=output/CCPD/rec/best_accuracy.pdparams Eval.dataset.data_dir=../../datasets/CCPD2020/PPOCR Eval.dataset.label_file_list=[../../datasets/CCPD2020/PPOCR/test/rec.txt]

基于PaddleOCR的车牌检测识别,YOLO系列,人工智能,ocr,paddlepaddle

基于PaddleOCR的车牌检测识别,YOLO系列,人工智能,ocr,paddlepaddle

导出模型

python tools/export_model.py -c configs/rec/PP-OCRv3/ch_PP-OCRv3_rec.yml -o Global.pretrained_model=output/CCPD/rec/best_accuracy.pdparams Global.save_inference_dir=output/CCPD/rec/infer

基于PaddleOCR的车牌检测识别,YOLO系列,人工智能,ocr,paddlepaddle

进行预测

基于PaddleOCR的车牌检测识别,YOLO系列,人工智能,ocr,paddlepaddle

python tools/infer/predict_system.py --det_model_dir=output/CCPD/det/infer/ --rec_model_dir=output/CCPD/rec/infer/ --image_dir="test.jpg"

基于PaddleOCR的车牌检测识别,YOLO系列,人工智能,ocr,paddlepaddle

测试结果图

基于PaddleOCR的车牌检测识别,YOLO系列,人工智能,ocr,paddlepaddle

参考

[1] https://github.com/PaddlePaddle/PaddleOCR.git
[2] https://github.com/PaddlePaddle/PaddleOCR/blob/release/2.6/README_ch.md
[3] https://github.com/detectRecog/CCPD文章来源地址https://www.toymoban.com/news/detail-647390.html

  • 由于本人水平有限,难免出现错漏,敬请批评改正。
  • 更多精彩内容,可点击进入YOLO系列专栏、自然语言处理
    专栏或我的个人主页查看
  • YOLOv5:添加SE、CBAM、CoordAtt、ECA注意力机制
  • YOLOv5:yolov5s.yaml配置文件解读、增加小目标检测层
  • YOLOv5:IoU、GIoU、DIoU、CIoU、EIoU
  • YOLOv7训练自己的数据集(口罩检测)
  • YOLOv8训练自己的数据集(足球检测)
  • 玩转Jetson Nano(五):TensorRT加速YOLOv5目标检测
  • YOLOv5:使用7.0版本训练自己的实例分割模型(车辆、行人、路标、车道线等实例分割)
  • Python将COCO格式实例分割数据集转换为YOLO格式实例分割数据集
  • 基于DETR的人脸伪装检测
  • 使用Kaggle GPU资源免费体验Stable Diffusion开源项目
  • YOLOv5:TensorRT加速YOLOv5模型推理

到了这里,关于基于PaddleOCR的车牌检测识别的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 毕业设计-基于深度学习玉米叶病虫害识别系统 YOLO python 机器学习 目标检测 人工智能 算法

    目录 前言 设计思路 一、课题背景与意义 二、算法理论原理 2.1 卷积神经网络 2.2 YOLOv5算法 三、检测的实现 3.1 数据集 3.2 实验环境搭建 3.3 实验及结果分析 实现效果图样例 最后        📅大四是整个大学期间最忙碌的时光,一边要忙着备考或实习为毕业后面临的就业升学做准

    2024年02月03日
    浏览(136)
  • 毕业设计选题-计算机视觉:复杂场景下的车牌识别系统 人工智能 深度学习 YOLO

    目录 前言 项目背景与简介 主要设计思路 一、算法理论技术 1.1 神经网络基础 1.2 深度神经网络 1.3 目标检测 二、数据处理 2.1 数据采集 三、实现的效果 更多帮助     📅大四是整个大学期间最忙碌的时光,一边要忙着备考或实习为毕业后面临的就业升学做准备,一边要为毕业设

    2024年02月03日
    浏览(101)
  • 【深度学习实践】基于深度学习的车牌识别(python,车牌检测+车牌识别)

    车牌识别具有广泛的应用前景,基于传统方法的车牌识别效果一般比较差,随着计算机视觉技术的快速发展,深度学习的方法能够更好的完成车牌识别任务。  本文提供了车牌识别方案的部署链接,您可以在网页上体验该模型的效果:车牌识别方案在线体验 本文介绍了使用

    2024年02月03日
    浏览(43)
  • 车牌识别算法 基于yolov5的车牌检测+crnn中文车牌识别 支持12种中文车牌识别

    1.单行蓝牌 2.单行黄牌 3.新能源车牌 4.白色警用车牌 5 教练车牌 6 武警车牌 7 双层黄牌 8 双层武警 9 使馆车牌 10 港澳牌车 11 双层农用车牌 12 民航车牌 效果如下: 车牌检测+关键点定位 1.第一步是目标检测,目标检测大家都很熟悉,常见的yolo系列,这里的话我用的是我修改后

    2024年02月04日
    浏览(89)
  • 基于机器视觉的车牌检测-字符识别

    一般步骤 字符识别常用的有以下四类: 第一类:结构识别方法。 第二类:统计识别方法。 第三类:BP神经网络方法。 第四类:模板匹配方法。 模板匹配方法是最常用的方法。 主要内容 模板匹配的车牌识别包括以下几点主要内容: 第一,建库。建立标准化的字符模板库;

    2024年02月02日
    浏览(41)
  • 使用flask将paddleocr车牌检测模型部署到服务器上

    提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 最近,需要写一个程序把PaddleOcr的车牌检测模型部署到服务器上,写成接口的形式,方便他人调用。经过1个星期的努力,终于实现基本功能。因为是第一次接触,所以踩了很多弯路,当然,网上很多教

    2024年01月17日
    浏览(58)
  • 人工智能详细笔记:计算机视觉、目标检测与R-CNN系列 YOLO系列模型

    计算机视觉概述 :计算机视觉是一种利用计算机算法和数学模型来模拟和自动化人类视觉的学科领域。 计算机视觉的地位 :计算机视觉(CV)与自然语言处理(NLP)、语音识别(SR)并列为机器学习方向的三大热点方向。 计算机视觉的常见任务 :下面将从粗粒度到细粒度介

    2024年02月08日
    浏览(54)
  • 人工智能学习07--pytorch21--目标检测:YOLO系列理论合集(YOLOv1~v3)

    如果直接看yolov3论文的话,会发现有好多知识点没见过,所以跟着视频从头学一下。 学习up主霹雳吧啦Wz大佬的学习方法: 想学某个网络的代码时: 到网上搜这个网络的讲解 → 对这个网络大概有了印象 → 读论文原文 ( 很多细节都要依照原论文来实现, 自己看原论文十分

    2024年02月10日
    浏览(73)
  • 基于Java(SpringBoot框架)毕业设计作品成品(32)AI人工智能毕设AI车辆大全车牌识别系统设计与实现

    博主介绍: 《Vue.js入门与商城开发实战》《微信小程序商城开发》图书作者,CSDN博客专家,在线教育专家,CSDN钻石讲师;专注大学生毕业设计教育和辅导。 所有项目都配有从入门到精通的基础知识视频课程,免费 项目配有对应开发文档、开题报告、任务书、PPT、论文模版

    2024年02月08日
    浏览(61)
  • 毕业设计选题- 基于深度学习的海洋生物目标检测系统 YOLO 人工智能

    目录 前言 课题背景和意义 实现技术思路 一、基于深度学习的海洋生物目标检测研究主题 二、水下图像处理算法的研究 2.1Retinex算法 2.2直方图均衡化算法 2.3暗通道去雾算法 三、基于深度学习的目标检测算法 海洋生物目标检测实现效果 最后        📅大四是整个大学期间最

    2024年02月01日
    浏览(161)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包