我国每年汽车违章事件多发,如违章停车、车辆压实线、不礼让行人等,通过从布控的监控视频中挖掘违法信息十分有意义。目前人力无法处理海量的数据,利用深度学习技术可以有效地解决这个问题。在违法车辆中最有效的信息就是车牌,所以需要在开放场景下识别出车牌号码对违规人员处罚。虽然目前已经有很多车牌检测与识别的商业系统以及方法,但是主要应用于停车场等简单场景。在开放场景中,由于车辆处于复杂的背景,车辆以不同的速度行驶,朝向摄像头的方向多样,造成车牌发生倾斜旋转等变化。目前已有的方法将车牌检测和车牌识别分为两个独立的模块,这两个模块分别基于目标检测和光学字符识别,很难解决开放场景的问题,也无法在速度和精度上同时都达到良好的性能。为了解决开放场景中的车牌识别问题,本课题组提出了一个统一的端到端可训练的车牌识别网络HomoNet。该网络可以同时优化车牌检测和车牌识别,并且可以完成对畸变车牌的校正。具体来说,我们提出将车牌检测任务转化为车牌关键点定位任务。该方法去除了目标检测中的区域建议网络以及大量的预测矩形框,通过回归车牌四个角点的热力图,完成对车牌的定位,同时提高了车牌检测的速度与精度。针对多角度变化的车牌问题,我们提出了基于单应变换的单应池化操作,该操作改变了单应变换的流程,通过归一化坐标系,栅格化坐标网格以及采样插值操作使其可以微分,把车牌校正为水平方向,在神经网络中训练。针对多种车牌类型车牌字符长度不定的问题,我们通过设计识别网络,利用连续时间分类解码进行解决。最后整个网络统一优化,调节车牌检测和车牌识别的损失函数比重,获得最优的车牌识别结果。
如图1所示,我们提出了一种基于单应变换的单应池化(Homopooling)操作的车牌识别统一网络,单应变换相当于使用四个点确定车牌位置,即使存在一个误差点,四个点仍然可以提取所有有效信息,并对倾斜进行校正,提高识别的准确性。我们设计的网络整体框架如图2所示,命名为HomoNet,包括三个子模块: 车牌关键点检测模块、单应池化模块和车牌识别模块。输入一张车辆图片,车牌关键点检测模块会定位出车牌的具体位置,然后单应池化模块校正倾斜的车牌为水平方向,最后由车牌识别网络识别出车牌的每一位字符。三个子模块是一个统一网络,同时训练优化检测与识别,使两个任务互相促进,达到最优结果。
图1. 车牌识别网络
图2. 端到端网络框架
图3. 不同数据集的检测结果(第1行为AOLP数据集,第2行为CCPD数据集,第3行为BGY数据集)
为了验证所提出的方法,我们在 AOLP、 CCPD 和 BGY 三个不同的数据集上进行了大量的实验,即使在黑暗、强光、旋转、倾斜、自然场景等复杂情况下,我们所设计的网络都可以有效的检测出车牌的关键点。和已有的方法进行比较,HomoNet 在取得了最好的识别准确率时保持了很快的运算速度,如在 AOLP 数据集上检测精度为 99.9%,速度为 18.1ms;端到端的精度为 95.58%,速度为 22.5ms。我们提出的一体化网络HomoNet实现了开放场景下快速准确的车牌检测与识别,细节如图3所示。