开源 YOLO + LPRnet 高性能、轻量级的国内燃油车蓝牌和新能源车绿牌识别源代码...

cbec82b2c454eb0dc519408cc5e7dd3f.jpeg

项目源码,文末联系小编

在停车场、小区出入口、高速收费站,我们经常看到自动识别车牌的闸机,用于记录车辆的车牌号码、出入时间,可实现自动化、规范化管理,有效降低人力成本和通行卡证制作成本,大幅度提升管理效率,那么车牌识别是如何工作的呢?

12e880cda1e41bf179fdf568a8ec5c82.png

车牌识别技术跨越了图像处理、模式识别、机器学习等多个学科领域,且要求该系统在各种复杂多变的实际应用场景中都能保持高度的准确性和鲁棒性。车牌识别分为两个过程,先是使用 YOLO 目标检测算法进行车牌检测定位,然后应用 LPRNet 算法完成车牌字符识别。

01

YOLO 目标检测算法

edf7800ca0eadb35179ace948af828ba.png

YOLO(You Only Look Once)算法采用一个单独的CNN模型实现end-to-end的目标检测,整个系统如上图所示:首先将输入图片resize到448x448,然后送入CNN网络,最后处理网络预测结果得到检测的目标。相比R-CNN算法,其是一个统一的框架,其速度更快,而且 YOLO 的训练过程也是end-to-end的。

fb49122f148f63b9e0b827623ce1d7bc.png

YOLO采用卷积网络来提取特征,然后使用全连接层来得到预测值。网络结构参考GooLeNet模型,包含24个卷积层和2个全连接层,如图8所示。对于卷积层,主要使用1x1卷积来做channle reduction,然后紧跟3x3卷积。对于卷积层和全连接层,采用Leaky ReLU激活函数:max(x,0.1x)。但是最后一层却采用线性激活函数。

性能优势

由于 YOLO采用单管道策略的CNN网络来实现检测,其训练与预测都是end-to-end,因此YOLO算法比较简洁且速度快。第二点由于Yolo是对整张图片做卷积,所以其在检测目标有更大的视野,它不容易对背景误判。其实我觉得全连接层也是对这个有贡献的,因为全连接起到了attention的作用。另外,Yolo的泛化能力强,在做迁移时,模型鲁棒性高。

02

LPRNet 车牌字符识别算法

a1f5b3deaeb857ff474cb23285474a6b.png

LPRNet(License Plate Recognition Network)是一种专门设计用于车牌识别的深度学习模型。它采用了一种端到端的训练方法,能够直接从原始图像中识别出车牌文本,无需进行传统的字符分割步骤。

这种设计使得LPRNet在处理车牌识别任务时更加高效和准确,特别是在面对复杂背景或不同国家的车牌样式时。LPRNet通常包括以下几个关键组成部分:

  • 卷积神经网络(CNN):用于从输入图像中提取特征。CNN能够识别图像中的局部模式和纹理信息,这对于检测车牌的边角和字符非常有用。

  • 循环神经网络(RNN)或Transformer结构:用于处理序列数据,即车牌上的字符序列。RNN或Transformer能够学习字符之间的关系,从而提高车牌识别的准确性。

  • 损失函数:用于训练网络,使其能够更准确地识别车牌。常见的损失函数包括交叉熵损失,它用于衡量预测标签和真实标签之间的差异。

  • 优化器:用于更新网络的权重,以最小化损失函数。常用的优化器包括Adam和SGD。

LPRNet的优势在于其端到端的训练方式,这意味着从车牌检测到车牌识别的整个过程可以在单个网络中完成,从而提高效率和准确性。此外,LPRNet可以针对不同的车牌类型和场景进行定制,使其具有很强的适应性。

LPRNet_Pytorch 模型

LPRNet_Pytorch 是一个基于 PyTorch 框架的开源车牌识别模型。它继承了 LPRNet 的核心特点,并利用了 PyTorch 的灵活性和易用性。

  • 端到端设计:可以直接从图像输入到字符输出,无需复杂的预处理或后处理步骤。

  • 高效性:可以在边缘设备上运行,如无人机或移动设备,适用于实时车牌识别场景。

  • 模块化:代码结构清晰,模块化设计使得用户可以轻松地调整模型的架构,如改变卷积层、循环层或损失函数等。

  • 易于训练和部署:提供了完整的训练脚本和预训练模型,用户可以快速开始自己的训练任务,并且可以将训练好的模型部署到不同的环境中。

  • 支持多种车牌格式:处理不同国家和地区常见的各种车牌格式,包括中国的蓝牌、黄牌、新能源车牌等。

  • 开源和社区支持:用户可以获取最新的更新和改进,参与贡献自己的代码和改进。

  • 强大的性能:在多个车牌识别数据集上进行了测试,表现出了优秀的准确率和实时性,能够满足实际应用的需求。

  • 易于扩展:允许用户根据需要添加额外的功能,例如车牌颜色识别、车牌污损修复等。

03

LPRNet 车牌识别应用场景

bfb108894dc7a26c89f24c0fe765aa37.png

高速通道

25b25267ff091431a6bcb122edfb91b2.jpeg

道闸高清摄像头拍摄车牌照片或视频,后台进行识别,自动将车牌信息精准录入后台系统,可实现智能化收取高速费、治理闯红灯、超速等违规行为。

产品管理

2630857c5981129f773239a569f9c9b3.jpeg

智慧公路场景识别车辆闯入车道抓拍、可视化监测、路况监控等方面都发挥着举足轻重的作用,具有车牌识别率高、识别速度快、适应复杂恶劣天气等多种优势,助力卡口监测服务升级。

停车场无感支付

ddd63d49a7190a346066e5fffff12e1e.jpeg

车牌识别相机和无感支付系统相结合,自动准确的核实车辆身份,缩短车辆缴费等待时间,提高车辆通行效率,避免高峰期拥堵。

无人值守称重

22e4fe10b0819ca90f4a15fab1b68a06.jpeg

无人值守称重行业,应用车牌识别相机,在车辆称重的同时自动识别车牌号、记录车辆图像,检测数据等信息。车辆信息实时自动上传到管理中心实现联网操作,汽车可在无人干预的情况下迅速、准确、安全、稳定、可靠的完成整个称重流程,实现计量过程中数据采集的全智能化。

04

YOLO + LPRNet 安装部署

参数说明

参数说明默认
--source照片文件夹路径./inference/images/
--output保存结果路径./inference/output
--conf-thresobject confidence threshold0.4
--iou-thresIOU threshold for NMS0.5
--view-img显示结果false
--save-txt保存结果为txtfalse
--augmentaugmented inferencefalse
  • 克隆代码

$ git clone https://gitee.com/kiloGrand/license-plate-recognition.git
  • 运行

$ python ./main.py --source ../car --output ./output

9162a50568b328f6afbd8b4bc8c856c7.png

如有需求请联系小编 : beacon0418

往期推荐

de0562e2bd6dfbd66ff0869ebf728fed.png

☞ 高德地图: 红绿灯倒计时大揭秘

☞ 高速“车牌付”会取代 ETC 吗?

☞ 国内七大 IoT 物联网平台对比

☞ 我为什么放弃中移物联OneNET平台

☞ 这苦逼的IoT物联网我竟坚持了十年

☞ 打工人上班摸鱼, AI 监控老板行踪

a14bd2050ed611748dbb2ac948398961.png

dbff14f2b7416de3d9d28e2f77601bf3.png

30ee083b9fd57277a3158677aa763427.gif

67caddba42423875909f9aa5b58249f2.gif

7bc0c3c65813005e30590f9176f79888.gif

a303296d309643dfd1d7e8618ee117a5.gif

  • 6
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值