论文背景

《LPRNet:基于深度神经网络的车牌识别》作者来自Intel,提出了一种无需字符分割、端到端、实时运行的轻量级卷积神经网络LPRNet。

论文核心贡献

  • 首创无RNN的实时车牌识别:LPRNet首次证明了可以不依赖循环神经网络(RNN/LSTM),仅用全卷积网络(FCN)实现端到端车牌识别,极大降低了计算复杂度(单次推理仅0.34 GFLOPs)。
  • 支持变长车牌:通过CTC Loss直接处理不定长字符序列,无需固定车牌长度,适用于各国不同格式-车牌(特别是字符复杂的中国车牌)。
  • 高准确率+实时性能:在中国车牌数据集上达到95%准确率,在Intel i7-6700K CPU上仅需1.3ms/张,GTX 1080 GPU上仅需3ms/张。

模型主干

  1. Backbone网络
  • 输入:94×24像素的RGB车牌图像
  • 首先,输入图像会经过空间变换器层的预处理该步骤虽非必需,但有助于探索如何对输入图像进行变换以提升其识别特征。为确定最优变换参数,采用了原始LocNet 架构。

  • 核心模块:Small Basic Block
  • 完整Backbone网络

    最后的1×13宽卷积直接捕捉字符横向上下文,替代了LSTM的功能。

  1. 全局上下文嵌入(Global Context)
  • 对Backbone输出做全局平均池化 → 全连接层 → 得到全局特征向量
  • 将该向量平铺并拼接到每个空间位置的特征图上
  • 类似ParseNet的思想,弥补局部感受野的不足

  1. CTC Loss
  • 解决的问题:
    长度不匹配:输入图像宽度不固定(如车牌变形、拍摄距离变化),但输出字符序列长度恒为7位
    无需字符分割:传统方法需要先定位7个字符区域再分别识别,LPRNet通过CNN直接提取整个车牌特征图,每列对应一个时间步
    重复字符处理:车牌中可能出现"AA"、"11"这种连续相同字符,CTC通过blank符号,考虑所有可能的字符对齐方式,最大化目标字符串的总概率,避免解码歧义
  • 例子
    使用了blank符号,将下图为例
    在解码端,相同的字符进行合并,如果说输出的长度是[]京[]FF[]A[]9[]11[]5[]22[],就会等同于上面的京FA9152
    推理:使用Greedy Search或Beam Search

  1. 可选的STN空间变换网络
    LocNet预测6个仿射变换参数,对输入图像进行校正
    训练技巧:前5k iterations关闭STN,等识别网络初步收敛后再启用,避免梯度异常
    效果:提升2.8-5.2%精度
  2. 后处理(Post-filtering
    基于国家车牌模板规则(如"京X·XXXXX"格式)过滤非法结果
    仅与Beam Search配合使用,从Top-N候选中筛选首个合法字符串
Logo

智能硬件社区聚焦AI智能硬件技术生态,汇聚嵌入式AI、物联网硬件开发者,打造交流分享平台,同步全国赛事资讯、开展 OPC 核心人才招募,助力技术落地与开发者成长。

更多推荐