专栏名称: IoT物联网技术
聊聊 云计算,IoT物联网。
目录
相关文章推荐
中核集团  ·  中核集团一周要闻上新! ·  2 天前  
中核集团  ·  卓越绩效大家谈⑥ ·  2 天前  
中核集团  ·  校园招聘🥰 ·  3 天前  
中核集团  ·  校园招聘🤗 ·  3 天前  
51好读  ›  专栏  ›  IoT物联网技术

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

IoT物联网技术  · 公众号  ·  · 2024-07-13 19:12

正文

项目源码,文末联系小编

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


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

01


YOLO 目标检测算法

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

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 车牌字符识别算法

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 车牌识别应用场景

高速通道


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


产品管理


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


停车场无感支付


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


无人值守称重


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

04


YOLO + LPRNet 安装部署

参数说明


参数 说明 默认
--source 照片文件夹路径 ./inference/images/
--output 保存结果路径 ./inference/output
--conf-thres object confidence threshold 0.4
--iou-thres IOU threshold for NMS 0.5
--view-img 显示结果 false
--save-txt 保存结果为txt false
--augment






请到「今天看啥」查看全文