基于移动边缘计算的车联网车牌号码识别算法

2021-11-20 01:57李猛坤柯正轩于定荣张建林贾军营刘利峰
计算机工程与设计 2021年11期
关键词:车牌号形态学正确率

李猛坤,柯正轩,于定荣,张建林,贾军营,刘利峰

(1.首都师范大学 管理学院,北京 100089;2.中国航天科技集团有限公司 北京神舟航天软件技术有限公司,北京 100094;3.中国中医科学院 中药研究所,北京 100700;4.沈阳风驰软件股份有限公司 风驰研究院,辽宁 沈阳 110167;5.誉才科技总部 北京誉才科技有限公司,北京 100040)

0 引 言

车牌号识别是一种道路交通系统中的基础应用,为当今社会交通带来了很大的便利,大量产品在固定摄像头情境下取得了巨大的成功,但对基于车联网的车牌识别算法却鲜有涉及。当前主流使用的车牌识别算法主要依据颜色特征、灰度检测等方法达成,其中有些方法抗干扰性差、有些方法需要大量计算、有些方法难以实现、有些方法则需要对自然环境条件的要求比较苛刻[1]。为了抵抗这些误差,需要使用较为重型的集中计算方式完成。

车联网系统脱胎于物联网,其计算处理能力与嵌入式系统相当。根据规划,在2025年前汽车DA、PA、CA的装配率将达到80%以上。在2020年全国汽车就已经达到了3.6亿辆,预计2025年将达到5亿;按照80%的装配率计算,全国车联网下的汽车总量将达到4亿辆,这和全国的2000万个固定式监控已经不在一个数量级中,传统固定式监控下的车牌识别技术框架已经无法满足未来大规模车联网环境下的需求,市场需要一种更轻量、更便捷的识别框架完成识别功能。

根据以上业务背景,本文将使用边缘计算技术[2-5]配合深度神经网络技术、MobileNet以及传统图像处理技术,提出一种低时延、低带宽需求、高精度的车牌识别框架与方法,以适应数年后大规模车联网环境下更严格的要求。

本文主要从以下两个内容进行研究。

(1)基于传统图像处理技术的改进算法。在传统图像处理技术的基础上,选取适当的算法理论,针对我国车牌号具体应用情况下对车牌号识别预处理方案进行改进。

(2)基于大规模车联网环境下的边缘计算方案。根据传统车牌号识别框架,引入车联网需求与边缘计算的相关方案,完成车联网边缘计算架构下的车牌号识别新框架。

1 业务与技术背景

作为近10年较为热门的话题,车牌与车牌号识别方法一直在进行着大量的改进。中山大学吴志攀、赵跃龙、罗中良、杜华英提到了在一种改进的方案以扭转神经网络在学习中陷入的局部最优问题[6]。山西欣奥特自动化工程公司的胡利娜[7]也完成了基于MATLAB工具的车牌号识别方法,验证技术可行性。李战明和徐锦钢也发表了《基于DSP的车牌号识别技术及应用研究》,成功将整个系统小型化,以嵌入式的方案完成车牌号识别[8]。

当前,在人工智能的发展下,尤其是基于TensorFlow的高速发展与升级,便捷地搭建大型深度神经网络成为可能,这为快速部署神经网络识别算法提供了强有力的支持。在近几年雾计算、边缘计算的快速发展趋势下,大量范式被提出并应用,为边缘计算的落地部署提供了保障。在大唐、百度、华为等工智能自动驾驶的领头羊的带领下,车联网技术标准在近5年也进行了多次快速迭代[9];在工信部的领导下,大量测试场也完成建设,为车联网的落地应用提供了帮助。

传统而流行的大型深度神经网络,如Alexnet、VGG、ResNet等,虽然学习能力和识别效果非常出众,但是都需要强大的算力完成计算,所以只有较重型云服务器才会部署深度神经网络完成机器学习。然而在边缘层的计算中,这些复杂的模型实在难以运用[10]。在内存和算力有限、低延迟快响应的要求下,使用传统CNN已经难以解决这些实际需求。2016年Google提出了一种轻量级的、需求算力更低的、可以在嵌入式系统和移动设备上使用的新型CNN模型“MobileNet”[11],且已经推出到MobileNetV3版本,未来还在持续更新。本算法将借鉴其对卷积算法中卷积核的分离变形,完成在边缘设备中的卷积计算加速和内存节约。

2 基于车联网边缘计算的车牌号识别框架

本文提出的基于车联网边缘计算的车牌号识别框架如图1所示。

图1 基于车联网边缘计算的车牌号识别框架

该框架主要包含图像预处理、车牌号粗定位、车牌号精细定位、卷积处理、字符分割和字符识别几个部分。在从视频接口中获取视频输入后,先关键帧提取完成载入,随后在图像预处理单元通过协比同调函数、高斯平滑、中值滤波、X向sobel滤镜、膨胀、腐蚀、再膨胀一系列数学形态学运算完成预处理,继而使用轮廓查找、面积筛选的方式完成粗定位,划出可能的位置。在精细定位单元中,使用方向筛选的方式完成精细定位,随后使用对角滤波法完成剪裁或筛选,得出车牌号最可能的位置。在获得精准定位数据后,即对剪裁后图像以MobileNet为基础实施卷积处理,随后任务卸载至云服务器。

在云服务器端,使用垂直投影法完成字符切割,对切割后的字符使用深度神经网络完成识别,最终对车辆进行反馈或进行其它处理。

2.1 预处理单元的改进

传统数学形态学处理包括高斯平滑、中值滤波、X向sobel滤镜、膨胀、腐蚀、再膨胀这几步。

高斯平滑用于消除噪声,使用高斯分布的核进行滤波处理。其中,二维高斯分布为

(1)

其中,σ2代表区域内总体方差。

中值滤波也是一种抑制噪声的技术,使用某一像素点的邻域像素点的中值替代原本的像素值。中值滤波可以有效清除孤立的脉冲噪声。

sobel滤镜分为X轴方向和Y轴方向,主要可以完成对图像边缘的探测。其中,3×3的sobel滤镜见表1和表2。

表1 横向sobel滤镜

表2 纵向sobel滤镜

使用sobel滤镜X向求梯度,进行二值化后,即可进行膨胀操作。对于二值图像,膨胀会将边界向外扩展,填补图片中较小的空洞。膨胀的函数为

D=X⊕B={(x,y)|BXY∩X≠0}

(2)

过程函数为

D=(X⊕B)(x,y)=max{X(x-i,y-j)+B(i,j)}

(3)

对于二值图像,腐蚀会将边界向内收缩,消除小而无意义的点或边界,常用于消除噪声。腐蚀的概念函数为

E=X⊗B={(x,y)|BXY⊆X}

(4)

其中,X为目标图像,B为结构元素。当B的原点移动至(x,y)处时,记为BXY。

过程函数为

E=(X⊗B)(x,y)=min{X(x-i,y-j)-B(-i,-j)}

(5)

开闭运算是在腐蚀和膨胀的基础上,进行进一步形态学处理的算子。先腐蚀后膨胀的运算方法被称为开运算,先膨胀后腐蚀的运算被称为闭运算。开运算一般用于清除噪声,闭运算一般用来平滑内部小型空洞。

图2经过完整的数学形态学预处理运算,即可获得如图3的图像,预处理完成。

图2 基础例图

图3 经图像预处理的图2

2.2 MobileNet深度可分离卷积

MobileNet是Google研发的一种新一代轻量级的CNN,自提出后用于部署在各种嵌入式设备和移动端设备中,可以在保持模型性能的前提下降低模型大小,提升了速度而精度不失去太多;这就为将卷积算法部署于条件更为苛刻的边缘设备中提供了技术支持。

MobileNet的基础卷积单元是深度可分离卷积。深度可分离卷积是一种可分解的卷积操作,可以分解为空间卷积(depthwise convolution)和通道卷积(pointwise convolution),如图4所示。其中Dk为平方核的维数,M为输入通道数,N为输出通道数。

图4 可分解卷积

空间卷积和标准卷积的不同点在于,标准卷积的卷积核是作用在所有的输入通道上(input channels)的;而空间卷积针对每个输入通道均采用不同的卷积核,每卷积核对应一个输入通道。对于深度可分离卷积,首先是采用空间卷积对不同输入通道分别卷积,然后采用通道卷积将不同通道的输出结果再进行组合。这样的结果与直接进行标准卷积是相同的,但是却能大大降低参数量和运算量,节约时间和存储空间。推导过程如下。

设输入大小为Hin×Win×Cin, 输出大小为Hout×Wout×Cout。 设卷积核大小为k,则:

传统卷积中,参数量 (params)=k2CinCout, 计算量为k2CinCout×HoutWout。

由图5可知,深度可分离卷积参数量为k2Cin+CinCout, 计算量为k2Cin×HoutWout+CinCout×HoutWout。

图5 普通卷积和深度可分离卷积的区别

可知,深度可分离卷积加速比为

实验结果如表3所示。根据文献[11]可知,深度可分离卷积对比一般卷积可达到近9倍加速。

表3 普通卷积和深度可分离卷积实际运行对比

3 核心算法设计

3.1 建 模

3.1.1 协比同调函数

在处理有色图片时,面对较为复杂、有大量干扰的图像,传统的数学形态学处理会面临较大困难,在经过开闭运算之后,大量噪声将被统计为形态学边界,随后被认定为车牌号预选区域。这为识别造成了不小的干扰。

再度以图2为例,这是一张强干扰的图片,使用传统的数学形态学将会造成较大误差。

其中地板具有格子的属性,易被识别为边缘,如图6中被斜框标出所示。

图6 地砖干扰

后方斑驳的树枝因为多种巧合的原因也会形成一个封闭的矩形空间,成为候选区域,如图7所示。

图7 树影干扰

后方地砖上方的格子砖也会成为干扰,如图8所示。

图8 瓷砖干扰

识别出的车牌号区域,如图9所示。

图9 车牌号区域

综上可知,由于多种干扰原因,车牌号区域识别出现了较大误差,在强干扰情况下传统识别准确率不到15%。为了解决这一情况,可以使用协比同调函数对图像进行第一次加工,消除一部分干扰。协比同调激活函数如式(6)所示

(6)

其中,x为图像某一颜色通道内所有点的色彩值(0-255)的平均值,φ(x) 为跃迁阈值。其图像如图10所示。

图10 协比同调激活函数图像

在获得跃迁阈值φ(x) 后,则遍历图片每个像素点,依次使用跃迁函数完成跃迁。跃迁函数如式(7)所示

(7)

其中,x为该通道某点的色彩强度值(0-255),φ(x) 为该通道跃迁阈值,y为该通道该点的色彩强度输出值。经过协比同调函数,图2被调整为图11。

图11 经协比同调函数调整的图2

3.1.2 对角角度筛选

在完成粗定位后,获取的候选区域是经过膨胀处理的,所以剪裁出的边框将明显大于实际边框,如图3所示。这就为字符分割造成了很大误差。

由于已经完成了粗定位,画面中其它元素的干扰将较小。在不考虑其它误差的情况下,可以使用直接从画面中提取蓝色的方法直接进行精细定位。

在现实中,并非所有车牌都正对拍摄方向,或者说大部分情况中车牌都和拍摄方向有一定角度,这就导致了车牌在定位过程中不是以一个矩形出现的,而是有一些角度的平行四边形。利用这一特性就可以再度进行一次筛选,去掉候选区域中的干扰项,提升实验准确率。

依然如图9所示,车牌区域在候选区域的中央位置呈平行四边形。此时,从左上角开始,依次使用行优先和列优先遍历方法,寻找第一个蓝色的像素点,获取车牌区域左上角的坐标UL;再从右下角开始,依次使用行优先和列优先遍历方法反向遍历,寻找第一个蓝色的像素点,获取车牌区域右下角的坐标LR。

计算两点之间连线与UL水平坐标的夹角θ,计算公式为

(8)

由多次训练经验可知,车牌号图像长宽比例大概在2~5 之间,夹角θ的取值范围应在15°~45°之间。不符合此规律或甚至未定位到蓝色坐标的图像皆可放弃。

3.2 实验设计

使用正交实验法完成实验设计。

3.2.1 实验预处理

准备10种不同场景实际道路中车辆行驶中录制视频并平均截取500 帧,对每帧图片均使用灰度转化、高斯平滑、中值滤波、sobel滤镜、膨胀、腐蚀、膨胀几步传统数学形态学方法进行先行处理,图像数据及位置标注如图12所示。

图12 图像数据及标注位置

3.2.2 实验主体设计

5000张图片完成预处理后成为数据集,使用相同的数据集进行4次实验。4次实验方式见表4。在完成主体实验后,使用TensorFlow深度神经网络完成识别,并记录正确率。实验完成后,在结果中对比使用总时间、粗定位准确率、精细定位准确率、神经网络识别正确率。

3.2.3 实验环境

使用Python语言编程并完成实验。

CPU:Inter(R)Core(TM)i7-7500

GPU:Inter(R)HD Graphics 620

3.2.4 正交表

表4中处理速度单位为秒/图,粗定位准确率指5000张通过实际道路拍摄图片中通过传统车牌识别算法以及协比同调函数可提取的车牌次数。精细定位准确率指在粗定位基础上通过对角角度筛选达成的准确率。神经网络识别正确率指在总实验数据集中的识别正确率。

4 实验与数据分析

4.1 协比同调函数

根据表4的正交实验可得,在未使用协比同调函数时,

表4 实验正交表

实际道路行驶状态下车牌号粗定位正确率不到3%;使用协比同调函数后,正确率提升至8%。干扰筛出率(指车牌号粗定位正确率/使用协比同调函数后车牌号粗定位正确率)超过50%。但处理时间将有明显提升。

4.2 对角角度筛选

根据表4的正交实验可得,在未使用对角角度筛选时,实际道路行驶状态下车牌号精细定位正确率近7%;使用对角角度筛选后,总正确率提升至近15%,干扰筛出率(指车牌号精细定位正确率/使用对角角度筛选后车牌号精细定位正确率)近50%。处理时间提升不明显。

4.3 深度神经网络迭代折线图

使用所提方法前后深度神经网络正确率迭代折线图分别如图13和图14所示。

图13 使用所提方法前深度神经网络正确率迭代折线

图14 使用所提方法后深度神经网络正确率迭代折线

5 结束语

在目前人工智能技术快速发展趋势之下,为配合我国2025年车联网要求总体部署,为减轻总体带宽要求、降低网络延迟,本文借鉴边缘计算的架构方法和最新的低参数卷积方法,提出了在大规模车联网环境中以边缘计算为架构的车牌号识别总体框架,并依据这种新需求完成了一种以优化的数学形态学和深度神经网络为技术路线的算法实现。

传统的识别技术框架无法直接应用在汽车上,所以在未来大规模车联网部署下,整体技术框架将难以应对超大带宽、超低时延的技术需求。为解决这种技术需求,除利用5G等更高速蜂窝通信技术外,更应该从系统架构上解决问题。通过借鉴边缘计算的方案,将整体架构分为设备层、边缘层和云服务器3层,在边缘层中,使用汽车自带的微型计算机或嵌入式设备完成多项图像预处理工作,之后再与云服务器通讯,即可大幅降低所需通信带宽。在边缘层中,通过多项先进的数学形态学技术、快速的卷积技术和一部分改进的数学形态学技术,加快图像处理速度和准确性,在提高图像利用率的同时加快预处理速度,达成降低总处理时长、降低处理时延的目的。

在基础设备层,使用车载摄像头作为图像获取设备,通过汽车总线将视频传输至汽车内置电脑进行预处理。

车辆内置微型计算机或嵌入式设备扮演了边缘层的角色。车辆内置微型计算机或嵌入式设备通过一定采样频率,对视频流进行关键帧采样。在关键帧采样完毕后,进行如前文所提到的数学形态学处理并截取车牌号可能存在的图像位置,随后使用精准定位的方式再度缩小范围。最终完成以深度可分离卷积为核心操作的卷积处理,通过PTSP将任务卸载至云服务器。

在云服务器,基于垂直投影法的字符分割技术将会将已经卷积完成的车牌号图像分割为单字符图像,并依次使用深度神经网络进行识别,最终得到识别完毕的车牌号,并通过移动网络反馈至车辆本身或道路交通管理系统。

在完成数学形态学技术的改进中,实验结果表明,在基于车联网的环境下,协比同调函数和对角角度筛选方法在无法使用背景减除法等传统方法的情况下,可以大幅提升定位精度,继而提升识别准确率。同时,MobileNet的可分离卷积也有效为边缘计算的环境下完成卷积计算提供了加速支持。这些方案在一定程度下降低了带宽需求,并提升了识别准确性。

综上所述,本文提出的大规模车联网环境中以边缘计算为架构的车牌号识别总体框架和几种改进的数学形态学技术均基本达到了预期要求,实验原型机在实验理想状态下可以正常输出且输出结果达到预期效果。本文的研究结果可以为公安应急处突、边境敌我识别等适合边缘计算部署的情境提供一定的技术支撑,且可适应数年后至2025年大规模车联网环境下对边缘计算、人工智能更严格的要求。

猜你喜欢
车牌号形态学正确率
门诊分诊服务态度与正确率对护患关系的影响
差一点
我出高考数学题(十八)
生意
品管圈活动在提高介入手术安全核查正确率中的应用
差一点儿
生意
高速公路收费数据车牌号质量分析
医学微观形态学在教学改革中的应用分析
数学形态学滤波器在转子失衡识别中的应用