掌桥专利:专业的专利平台
掌桥专利
首页

技术领域

本发明涉及车牌检测识别系统及应用领域。

背景技术

澳门目前使用的车牌规格是基于葡萄牙在1937年至1992年使用的车牌规格,车牌底色为黑色,车牌字符为白色。最初时,澳门普通小汽车使用的车牌由“M”字母开头,随后由“MA”、“MB”开头,以此类推,字母后面跟四位数字,每两位数字之间增加一位“-”分隔符,车牌总位数为5位至6位。此外,澳门车牌分为两类,第一类车牌将所有字母数字排成一行,而第二类车牌则将字母置于第一行,数字置于第二行,并省去字母与数字之间的连接符。

此外,交通事务局还会发放两种新车的试车牌,均为红底白字。试车牌一种由“ES”开头,一般用于汽车行未出售的新车;一种由“EX”开头,一般为正式试车牌,相当于中国大陆的临时车牌,用于车辆尚未获得正式牌号之前。目前澳门车牌的定位及识别研究非常少,且澳门车牌的特点导致其识别存在如下现有技术方案尚未完全解决的难点:

(1)车牌定位难点

大陆车牌的常用颜色为蓝色、黄色、黑色及绿色,在光线充足的情况下,可以使用HSV颜色模型进行定位。然而绝大多数澳门车牌都使用黑色作为车牌底色,同时很多车辆的车身颜色也是黑色,车牌颜色与车身颜色相同时,颜色定位就没有用武之地了。此外,车牌定位还会受到光线、天气等环境影响,以及车牌自身的弯曲、字迹模糊等因素影响,这使得定位澳门车牌变得比较困难。

(2)字符分割难点

澳门车牌与大陆车牌不同,没有车牌上方固定的两个铆钉,省去了去除铆钉的环节。澳门交通事务局网站内提供了澳门车辆注册号牌的技术规格表,表中规定了车辆号牌的大小及字体的大小。澳门车牌分为单行车牌及上下两行的车牌,上下两行的车牌除了需要进行竖直方向的分割外,还需要进行水平方向的分割。且澳门车辆号牌多种多样的号牌规格,导致无法使用给定的标准宽度对校正后的车牌进行字符分割。

(3)字符识别难点

澳门交通事务局给出了车辆注册号牌的字体规格的规定,但并未强制规定车牌使用字体,这使得澳门车牌具有复杂多变的字体类型,也使得识别澳门车牌字符更加困难。在车牌的实际使用中,部分字体的“O”和“0”、“I”和“1”十分相似,部分数字的写法与现有大陆车牌的数字字体数据集有较大的出入,这些问题都为识别澳门车牌字符带来了挑战。如,数字“4”的字形差异较大,给识别澳门车牌带来了困难。此外,“B”和“8”、“O”和“0”、“I”和“1”、“S”和“5”等一系列字母和汉字的字形十分相近,特征不明显,给机器识别带来了挑战,如图中的“S”就被识别成了“5”。

综上,车牌种类的多样性,一国车牌有多种不用类型用途的车牌,车牌底色繁多,与字符颜色也有非常多的组合,而又没有铆钉边框等可用于定位的参考物时,车牌很难定位,这对车牌的识别率有极大影响。此外,车牌图像质量不高,再加上目前尚未建成包括澳门车牌在内的完整字符库,导致目前成熟的技术方案对于非高清澳门车牌识别存在准确度低等缺点。

发明内容

地下停车场的光线往往不够充足,因此大多数地下停车场拍摄出的车牌图像效果不佳,再加之灯光昏暗等其他因素的影响,导致图像对比度差从而引起识别误差,所以基于非高清图像的车牌识别的研究就变得非常有必要。而部分地区车牌字符存在双行的情形,且车牌字符区域往往没有可区分于车身颜色的底色,进一步增加了车牌自动识别的难度。本发明旨在提出可用于自动识别非高清的双行澳门车牌的解决方案,确保非高清车牌的识别准确率满足实际应用需求。

本发明的思路是,车牌是有文本特征的,如果直接通过判断图片中的文本所在位置,这样也可以定位到车牌的位置,本发明使用的CTPN文本检测技术,可以省去预处理等过程,提高了执行效率和识别率。

为实现上述目的,本发明采用的技术方案为:

所采用的非高清车牌识别系统包括:基于改进的CTPN(Connectionist TextProposal Network)的车牌自动定位系统和基于Densenet(densely connectedconvolutional networks)网络的车牌字符识别系统。系统应用如下:

(一)车牌定位

CTPN是一种结合LSTM和CNN深度网络用于检测复杂场景中横向分布的文字,基本思路是先检测文本行的一部分,再把他们连接起来构成一个完整文本行。CTPN基于FasterR-CNN,在其基础上有所改进,加入了LSTM层,由于文字是连续的,LSTM层正好可以学习序列特征,用于检测文字是非常合适的。

1、FasterR-CNN训练

FasterR-CNN可分为Convlayers(卷积层)、RPN网络、RoiPooling、Classification(回归分类)四个部分,如图1所示。

在将图片输入Convlayers后,可对图片进行特征提取,然后输出feature maps。

Faster R-CNN使用RPN网络(Region Proposal Networks)进行候选区域的推荐,输入featrue maps,输出为多个候选区域(region proposals)。

Roi Pooling层收集输入的feature maps和proposals,综合这些信息后提取proposal feature maps,为接下来的分类作准备。

回归分类过程利用proposal feature maps计算proposal的类别,输出最终的检测框精确位置。

2、CTPN网络结构,如图2所示。

其基础网络首先通过VGG16进行底层特征提取最后一个卷积映射(conv5)密集的滑动3*3空间窗口用于特征提取。这个CVON5特征图的尺寸由输入图像来决定,而卷积时的步长却限定为16,感受野被固定为228个像素。接着实现双向LSTM,增强关联序列的信息学习:每行的序列窗口通过双向LSTM(BLSTM)循环连接,其中每个窗口的卷积特征(3*3*C)被用作256维的BLSTM(包括两个128维的LSTM)的输入。接下来RNN层连接到512维的全连接层,最后是输出层,联合预测K个Anchor的分数(文本、非文本),纵轴坐标(包括中心位置的高(y坐标)和矩形框的高度)和水平偏移,用于精修文本框水平边缘精度。

3、FC卷积层

CTPN通过CNN和BLSTM学到一组“空间+序列”特征后,在"FC"卷积层后接入RPN网络。RPN网络在图中设置许多方框,也就是Anchor。这些Anchors有点类似于数学中的积分,通过许许多多的方框将目标区域也就是文字区域框出。如图3所示。

4、文本线构造

经过CNN判断Anchors中哪些具有前景图像(文本),哪些只有背景图像,然后得到一系列的Anchors,这些Anchors形成了几个Anchor组,将Anchor组内的这些小长条连接构造成一个矩形,即为文本区域(Text proposal)。如图4所示,有两个Anchor组,也就是有两个文本区域(红、蓝区域分别为一个文本区域)。文本线构造就是要将这些相邻的矩形合并成一个大的矩形,框出文本。要想得到的矩形方框能够将文本全部包含进去,就要取相邻所有矩形中横坐标最小值和纵坐标最大值(以左上角为原点建立平面直角坐标系),但是直接取这两个值并不严谨,因为没有判断所有的矩形是否相邻,如果没有相邻,最后的检测结果中可能会出现大面积的非目标区域(非文本)。

下面为一种双向文本线构造方法。如图5所示,以x方向为每个Anchor设定一个index,同一个x值,在y方向上,按从上到下的顺序设定index。图中每个Anchor中有一个Score值,实为Softmax分类器计算出的一个向量,可看作一种未归一化的对数概率分布。

以index为9的Anchor为例简述该文本框构造算法思路:

1)以index9为起点,沿x正方向(水平向右)扫描,寻找与相邻Anchor水平距离小于50像素的候选Anchor,并记录下来作为候选Anchor;

2)在这些候选Anchor中选择水平方向overlap>0.7的Anchor,记录下它们的index;

3)比较它们的Score,选取最大值者,将Graph(9,12)值设为True。

接着对其它Anchor作同样判断处理。再判断文本框组合是否为当前最长连接,如pair(box6,box12)为当前最长连接,随后index为10的Anchor执行同样的步骤,找到index12,然后从index12向x负方向寻找,找到index6,但是index10的Score小于index6的Score,所以pair(box10,box12)不是最长连接。

最后将每个文本框的左上角坐标和右下角坐标记录到图中,遍历图便可得到文本框。

5、文本线构造优化算法

前面提到的经典的文本框构造算法,是基于图的遍历,这种方法相对稳定,对图中设定的Anchors进行逐一比对,确定最后文本框左上角和右下角两个顶点坐标,遍历图,将文本框画出。这种方法存在其的一些问题,需要优化,如图6所示。

从图6中可以看出,这个文本框只框住了双行车牌的数字部分(下面一行),这样定位到的车牌并不完整,会使车牌识别结果不正确。如果将上面的英文字符部分视为Anchor组Anchor1,下面的数字字符部分视为Anchor组Anchor2,在对Anchor2左上角顶点进行这是由于在对Anchor左上角拟合时,容易将Anchor1右下角的顶点加入拟合,这样对上面的Anchor1进行顶点拟合时,会缺失一条直线,所以无法生成上面的文本框,因此,只能框出部分文本。

要解决上述文本框缺失问题,可以对得到的文本框进行缩放,如图7所示。

其中,假设A为检测到的目标窗口,G为真实窗口,G′是相比A更为接近真实窗口的目标窗口,使A能够映射形成G′,只需经过平移和缩放:

对于平移,有公式(1)和公式(2):

G′

G′

式中A

对于缩放,有公式(3)和公式(4):

G′

G′

要把握上面公式的规律,可以对d

损失函数可用公式(6)表示:

结合上述原理,在使用Faster RCNN进行训练时,目标窗口和真实窗口之间的平移量(t

式(7)-(10)中的w

训练bouding box regression网络回归分支,输入cnn feature

(二)车牌字符检测识别

Densenet具有的全连接层特点可以保留图像中细微特征,并将其向网络更深层传递,因此该网络可以将车牌字符中的细微特征吸收并传递。

1、卷积神经网络

卷积神经网络(Convolutional Neural Network),简称CNN,是深度学习中一种具有代表性的结构。卷积神经网络与传统图像处理算法的不同之处在于不需要对原始图像进行复杂的预处理,它可以直接将原始图像输入到网络中并进行一系列的工作,因此卷积神经网络在图像识别、物体识别等领域都有广泛的应用。

一个卷积神经网络由输入层、卷积层、激活函数、池化层及全连接层组成,如图8所示。

卷积层(Convolutional layer)是为了提取输入参数的不同特征,通常采用一个n*n大小的卷积核对图像进行卷积操作。卷积操作实际上就是将卷积核上的权值乘上输入图像上的值,然后将得到的结果进行求和。如图所示,对一个3*3的输入图像采用2*2的卷积核,并设定步长为1,就会得到一个2*2的卷积图像,而每个像素的值是由卷积核对原图像进行加权求和得出的。

激活函数层,又称非线性层,其作用就是将非线性因素引入神经网络中,使得神经网络可以去逼近任何的非线性函数,这样就可以让神经网络适用于许许多多的非线性模型当中。而如果不使用激活函数的话,每层输出的结果都将是输入的一个线性函数,无论经过多少层的神经网络,输出始终都是输入的线性组合。激活函数中,常用的非线性激活函数有Simgoid函数、tanh函数及ReLU函数。

ReLU函数形式如下:

ReLU函数在正区间ReLU函数因其具有计算速度快、收敛速度快、在正区间避免梯度消失问题的特点,在近年来得到了广泛的应用。

池化层(Pooling Layer)是用来降低参数的,一般有最大池化和平均池化两种,作用是提取局部的均值和最大值,而最大池化则是最常见的一种池化方式,如图10所示。

全连接层(Fully Connected Layer)在整个卷积神经网络中起到“分类器”的作用。

2、Densenet网络

Densenet是由Gao Huang等人在2017年提出的一个新的神经网络,它借鉴了深度残差网络(ResNet)和Inception网络,但是Densenet却是一个全新的网络结构,它吸收了深度残差网络的精华,并对此进行创新,使得网络性能进一步提升。Densenet为了减轻梯度消失的现象,在ResNet的基础上,加强对每一层连接。Densenet中的每一个Dense Block中,所有层都两两连接,使得网络中每一层都接受它前面所有层的特征作为输入。传统网络中,具有L层的网络一般有L个连接,而在Densenet中,L层的网络具有L(L+1)/2个连接,这样使得网络参数减少,每层网络的计算量也因此减少。Densenet通过特征重用来发掘网络的潜力,同时让每一层只学习非常少的特征图,以达到降低冗余的目的。其输出公式如下:

x

式(13)中的x

Densenet中的每一个具有全连接层的块被称为Dense Block,多个Dense Block构成一个深层的Densenet,而在每个Dense Block之间依靠卷积和池化来缩小特征尺寸。因此Densenet的优势为:减轻了梯度消失(vanishing-gradient);加强了特征的传递;更有效地利用了各个特征;一定程度上减少了参数数量。

由于需要保留车牌字符更多的细微特征,本发明基于Densenet完成车牌字符检测识别。Densenet可以更有效地吸收了车牌各字符之间的特征,对澳门车牌各类字体的识别有较好的表现。

本Densenet包含3个Dense Block,每个Dense Block中包含4个Bottlenecklayers,即BN-ReLU-Conv(1x1)-BN-ReLU-Conv(3x3)结构,并在每个Dense Block之间加入1个过渡层(transition layer),过渡层包含一个卷积层及最大池化层,以改变特征图的尺寸。经过Densenet网络识别的车牌结果如图12所示。

3、车牌输出技术流程,如图13所示。

4、整个处理只需要两步完成,相比现有技术方案需要经过预处理、车牌区域定位、车牌区域切分、车牌字符分割和识别多步处理,更加快捷,可满足无感停车等应用场景的实时性要求。

基于CTPN的车牌区域定位不用考虑车牌的一些几何特性,如存在倾斜畸变,只需检测图片中的文字,更具通用性;此外,本发明改进了CTPN的文本线构造算法,有效解决了文本框缺失问题,满足双行车牌准确定位需要。

图14是经过调整后的文本框,对比图6未优化前的文本框,可见优化后的定位更为精准。再如图15所示,优化后的车牌定位(右)能够更从容地定位车牌上的文本区域,而现有技术方案的车牌定位(左)的文本框可能会压到文本边缘,这样可能会对识别造成一定影响。

在获得较为完整的车牌字符定位框后,为了方便后续的识别工作,可以将其分割成上下两个文本框。

澳门双行车牌的字符高度所占比例是上下对称的,也就是说在理想情况下(文本框上下边缘正好处于车牌的上下边缘)只要取优化后文本框的高的中点,上框的下边缘和下框的上边缘只需高于该点,便可将英文字符区域和数字字符区域分开,但实际得到的文本框并不一定恰好处于车牌边缘,所以要适当调整上下两个框的取值点。经大量测试,设定上文本框的高为原文本框的0.72,宽度变为原来的0.8,下文本框的高为原文本框的0.65,宽度不变。使用该阈值可以将原文本框完整地分割为上下两个文本框,分割后的文本框也能将车牌上下两行字符框住,如图16。

Densenet吸收了深度残差网络(ResNet)的精华,Densenet的每一个Dense Block为全连接,可以保留图像中细微特征,并将其向网络更深层传递,从而可有效地利用各个特征,提高了对相似字符的区分度,进而可提高车牌识别准确度。

附图说明

图1为本发明Faster R-CNN网络。

图2为本发明的CTPN网络结构。

图3为本发明的Anchors示意图

图4为本发明的Text proposal示意图。

图5为本发明的文本线构造。

图6为本发明的未优化前构造的文本框。

图7为本发明的回归窗口

图8为本发明的卷积神经网络模型图

图9为本发明的卷积层

图10为本发明的池化层

图11为本发明的Dense Block

图12为本发明的Densenet网络结构图

图13为本发明的输出车牌流程

图14为本发明的改进算法定位的框图

图15为本发明的车牌定位结果示例:左,现有技术方案定位结果;右,优化后车牌定位

图16为本发明的文本框分割

图17为本发明的数据集图片示例

图18为本发明的车牌可能区域

图19为本发明的本发明精确定位结果

图20为本发明的排除非车牌文本

图21为本发明的本发明识别车牌效果示例

具体实施方式

本发明的思路是,车牌是有文本特征的,如果直接通过判断图片中的文本所在位置,这样也可以定位到车牌的位置,本发明使用的CTPN文本检测技术,可以省去预处理等过程,提高了执行效率和识别率。

所采用的非高清车牌识别系统包括:基于改进的CTPN(Connectionist TextProposal Network)的车牌自动定位系统和基于Densenet(densely connectedconvolutional networks)网络的车牌字符识别系统。系统应用如下:

(一)车牌定位

CTPN是一种结合LSTM和CNN深度网络用于检测复杂场景中横向分布的文字。CTPN基于FasterR-CNN,在其基础上有所改进,加入了LSTM层,由于文字是连续的,LSTM层正好可以学习序列特征,用于检测文字是非常合适的。

1、FasterR-CNN训练

FasterR-CNN可分为Convlayers(卷积层)、RPN网络、RoiPooling、Classification(回归分类)四个部分,如图1所示。

在将图片输入Convlayers后,可对图片进行特征提取,然后输出feature maps。

Faster R-CNN使用RPN网络(Region Proposal Networks)进行候选区域的推荐,输入featrue maps,输出为多个候选区域(region proposals)。

RoiPooling层收集输入的feature maps和proposals,综合这些信息后提取proposal feature maps,为接下来的分类作准备。

回归分类过程利用proposal feature maps计算proposal的类别,输出最终的检测框精确位置。

2、CTPN网络结构,如图2所示。

其基础网络首先通过VGG16进行底层特征提取最后一个卷积映射(conv5)密集的滑动3*3空间窗口用于特征提取。这个CVON5特征图的尺寸由输入图像来决定,而卷积时的步长却限定为16,感受野被固定为228个像素。接着实现双向LSTM,增强关联序列的信息学习:每行的序列窗口通过双向LSTM(BLSTM)循环连接,其中每个窗口的卷积特征(3*3*C)被用作256维的BLSTM(包括两个128维的LSTM)的输入。接下来RNN层连接到512维的全连接层,最后是输出层,联合预测K个Anchor的分数(文本、非文本),纵轴坐标(包括中心位置的高(y坐标)和矩形框的高度)和水平偏移,用于精修文本框水平边缘精度。

3、FC卷积层

CTPN通过CNN和BLSTM学到一组“空间+序列”特征后,在"FC"卷积层后接入RPN网络。RPN网络在图中设置许多方框,也就是Anchor。这些Anchors有点类似于数学中的积分,通过许许多多的方框将目标区域也就是文字区域框出。如图3所示。

4、文本线构造

经过CNN判断Anchors中哪些具有前景图像(文本),哪些只有背景图像,然后得到一系列的Anchors,这些Anchors形成了几个Anchor组,将Anchor组内的这些小长条连接构造成一个矩形,即为文本区域(Text proposal)。如图4所示,有两个Anchor组,也就是有两个文本区域(红、蓝区域分别为一个文本区域)。文本线构造就是要将这些相邻的矩形合并成一个大的矩形,框出文本。要想得到的矩形方框能够将文本全部包含进去,就要取相邻所有矩形中横坐标最小值和纵坐标最大值(以左上角为原点建立平面直角坐标系),但是直接取这两个值并不严谨,因为没有判断所有的矩形是否相邻,如果没有相邻,最后的检测结果中可能会出现大面积的非目标区域(非文本)。

下面为一种双向文本线构造方法。如图5所示,以x方向为每个Anchor设定一个index,同一个x值,在y方向上,按从上到下的顺序设定index。图中每个Anchor中有一个Score值,实为Softmax分类器计算出的一个向量,可看作一种未归一化的对数概率分布。

以index为9的Anchor为例简述该文本框构造算法思路:

(1)以index9为起点,沿x正方向(水平向右)扫描,寻找与相邻Anchor水平距离小于50像素的候选Anchor,并记录下来作为候选Anchor;

(2)在这些候选Anchor中选择水平方向overlap>0.7的Anchor,记录下它们的index;

(3)比较它们的Score,选取最大值者,将Graph(9,12)值设为True。

接着对其它Anchor作同样判断处理。再判断文本框组合是否为当前最长连接,如pair(box6,box12)为当前最长连接,随后index为10的Anchor执行同样的步骤,找到index12,然后从index12向x负方向寻找,找到index6,但是index10的Score小于index6的Score,所以pair(box10,box12)不是最长连接。

最后将每个文本框的左上角坐标和右下角坐标记录到图中,遍历图便可得到文本框。

5、文本线构造优化算法

前面提到的经典的文本框构造算法,是基于图的遍历,这种方法相对稳定,对图中设定的Anchors进行逐一比对,确定最后文本框左上角和右下角两个顶点坐标,遍历图,将文本框画出。这种方法存在其的一些问题,需要优化,如图6所示。

从图6中可以看出,这个文本框只框住了双行车牌的数字部分(下面一行),这样定位到的车牌并不完整,会使车牌识别结果不正确。如果将上面的英文字符部分视为Anchor组Anchor1,下面的数字字符部分视为Anchor组Anchor2,在对Anchor2左上角顶点进行这是由于在对Anchor左上角拟合时,容易将Anchor1右下角的顶点加入拟合,这样对上面的Anchor1进行顶点拟合时,会缺失一条直线,所以无法生成上面的文本框,因此,只能框出部分文本。

要解决上述文本框缺失问题,可以对得到的文本框进行缩放,如图7所示。

其中,A为检测到的Foreground Anchors,G为真实窗口,G’是相比A更为接近真实窗口的目标窗口。现需要找到一种关系,使A能够映射形成G’。

从A变为G’,只需经过平移和缩放。

对于平移,有公式(1)和公式(2):

G′

G′

式中A

对于缩放,有公式(3)和公式(4):

G′

G′

要把握上面公式的规律,可以对d

损失函数可用公式(6)表示:

结合上述原理,在使用Faster RCNN进行训练时,目标窗口和真实窗口之间的平移量(t

式(7)-(10)中的w

训练bouding box regression网络回归分支,输入cnnfeature

(二)车牌字符检测识别

Densenet具有的全连接层特点可以保留图像中细微特征,并将其向网络更深层传递,因此该网络可以将车牌字符中的细微特征吸收并传递。

1、卷积神经网络

卷积神经网络(Convolutional Neural Network),简称CNN,是深度学习中一种具有代表性的结构。卷积神经网络与传统图像处理算法的不同之处在于不需要对原始图像进行复杂的预处理,它可以直接将原始图像输入到网络中并进行一系列的工作,因此卷积神经网络在图像识别、物体识别等领域都有广泛的应用。

一个卷积神经网络由输入层、卷积层、激活函数、池化层及全连接层组成,如图8所示。

卷积层(Convolutional layer)是为了提取输入参数的不同特征,通常采用一个n*n大小的卷积核对图像进行卷积操作。卷积操作实际上就是将卷积核上的权值乘上输入图像上的值,然后将得到的结果进行求和。如图所示,对一个3*3的输入图像采用2*2的卷积核,并设定步长为1,就会得到一个2*2的卷积图像,而每个像素的值是由卷积核对原图像进行加权求和得出的。

激活函数层,又称非线性层,其作用就是将非线性因素引入神经网络中,使得神经网络可以去逼近任何的非线性函数,这样就可以让神经网络适用于许许多多的非线性模型当中。而如果不使用激活函数的话,每层输出的结果都将是输入的一个线性函数,无论经过多少层的神经网络,输出始终都是输入的线性组合。激活函数中,常用的非线性激活函数有Simgoid函数、tanh函数及ReLU函数。

ReLU函数形式如下:

ReLU函数在正区间ReLU函数因其具有计算速度快、收敛速度快、在正区间避免梯度消失问题的特点,在近年来得到了广泛的应用。

池化层(Pooling Layer)是用来降低参数的,一般有最大池化和平均池化两种,作用是提取局部的均值和最大值,而最大池化则是最常见的一种池化方式,如图10所示。

全连接层(Fully Connected Layer)在整个卷积神经网络中起到“分类器”的作用。

2、Densenet网络

Densenet是由Gao Huang等人在2017年提出的一个新的神经网络,它借鉴了深度残差网络(ResNet)和Inception网络,但是Densenet却是一个全新的网络结构,它吸收了深度残差网络的精华,并对此进行创新,使得网络性能进一步提升。Densenet为了减轻梯度消失的现象,在ResNet的基础上,加强对每一层连接。Densenet中的每一个Dense Block中,所有层都两两连接,使得网络中每一层都接受它前面所有层的特征作为输入。传统网络中,具有L层的网络一般有L个连接,而在Densenet中,L层的网络具有L(L+1)/2个连接,这样使得网络参数减少,每层网络的计算量也因此减少。Densenet通过特征重用来发掘网络的潜力,同时让每一层只学习非常少的特征图,以达到降低冗余的目的。其输出公式如下:

x

式(13)中的x

Densenet中的每一个具有全连接层的块被称为Dense Block,多个Dense Block构成一个深层的Densenet,而在每个Dense Block之间依靠卷积和池化来缩小特征尺寸。因此Densenet的优势为:减轻了梯度消失(vanishing-gradient);加强了特征的传递;更有效地利用了各个特征;一定程度上减少了参数数量。

由于需要保留车牌字符更多的细微特征,本发明基于Densenet完成车牌字符检测识别。Densenet可以更有效地吸收了车牌各字符之间的特征,对澳门车牌各类字体的识别有较好的表现。

本Densenet包含3个Dense Block,每个Dense Block中包含4个Bottlenecklayers,即BN-ReLU-Conv(1x1)-BN-ReLU-Conv(3x3)结构,并在每个Dense Block之间加入1个过渡层(transition layer),过渡层包含一个卷积层及最大池化层,以改变特征图的尺寸。经过Densenet网络识别的车牌结果如图12所示。

3、车牌输出技术流程,如图13所示。

4、整个处理只需要两步完成,相比现有技术方案需要经过预处理、车牌区域定位、车牌区域切分、车牌字符分割和识别多步处理,更加快捷,可满足无感停车等应用场景的实时性要求。

基于CTPN的车牌区域定位不用考虑车牌的一些几何特性,如存在倾斜畸变,只需检测图片中的文字,更具通用性;此外,本发明改进了CTPN的文本线构造算法,有效解决了文本框缺失问题,满足双行车牌准确定位需要。

图14是经过调整后的文本框,对比图6未优化前的文本框,可见优化后的定位更为精准。再如图15所示,优化后的车牌定位(右)能够更从容地定位车牌上的文本区域,而现有技术方案的车牌定位(左)的文本框可能会压到文本边缘,这样可能会对识别造成一定影响。

在获得较为完整的车牌字符定位框后,为了方便后续的识别工作,可以将其分割成上下两个文本框。

双行车牌的字符高度所占比例是上下对称的,也就是说在理想情况下(文本框上下边缘正好处于车牌的上下边缘)只要取优化后文本框的高的中点,上框的下边缘和下框的上边缘只需高于该点,便可将英文字符区域和数字字符区域分开,但实际得到的文本框并不一定恰好处于车牌边缘,所以要适当调整上下两个框的取值点。经大量测试,设定上文本框的高为原文本框的0.72,宽度变为原来的0.8,下文本框的高为原文本框的0.65,宽度不变。使用该阈值可以将原文本框完整地分割为上下两个文本框,分割后的文本框也能将车牌上下两行字符框住,如图16。

Densenet吸收了深度残差网络(ResNet)的精华,Densenet的每一个Dense Block为全连接,可以保留图像中细微特征,并将其向网络更深层传递,从而可有效地利用各个特征,提高了对相似字符的区分度,进而可提高车牌识别准确度。

5、测试

(1)测试数据集介绍

数据集图片共1661张,分辨率为1280*720,从中挑选出150张(单行车牌75张,双行车牌75张)作为测试集。由于本数据集大多数是停车场卡口拍摄的,停车场内的光线较暗,车牌照片存在清晰度差、对比度低、亮度偏暗的情况,且干扰因素也较多,例如一些道路指示牌、车身贴纸等,如图17所示。

(2)车牌定位

车牌定位还包括去除干扰文本区域,测试结果示例如图18所示。

图18选出了三个车牌的可能区域,可以很明显看出左侧的矩形不是车牌区域。现有技术方案对可能区域的选取只是根据预处理后的图像中的边缘整体形成的矩形区域。之后加入面积、长宽比等判断条件后,可以准确选出车牌位置。

而本发明使用CTPN技术,可以不用预处理,直接检测图片文本区域,排除一些可能区域,从而精确定位到车牌位置,结果如图19所示。

此外除了车牌,车辆上还有许多文本,包括车身本身的贴纸,以及车窗反光道路指示牌。对此,本发明做了一定处理,选取以“M”开头,其字符串长度为8作为双行车牌,所以最后只留下车牌区域,如图20所示。

(3)车牌识别

车牌字符识别效果示例如图21所示。

测试同时统计了车牌定位和识别准确率,定位率指的是由定位成功的图像数目除以车牌图像总数得到的概率,识别率指的是在识别成功的图像数目除以定位成功的图像总数,统计结果如表1所示。其中75张单行车牌可定位到73张,并能识别出70张,单行车牌识别率达到95.9%;未优化前,双行车牌定位准确率为43%,而本发明的双行车牌定位准确率达到了81.3%。75张双行车牌中,排除车牌定位失败的双行车牌,共有61张定位成功,其中57张识别成功,双行车牌识别率达到93.4%。

表1车牌识别的结果统计

以上实施例的说明对本发明的原理及实施方式进行了阐述,只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。

技术分类

06120112965027