CN113011423A - 一种基于ctpn系统文本线构造优化计算方法及其应用 - Google Patents
一种基于ctpn系统文本线构造优化计算方法及其应用 Download PDFInfo
- Publication number
- CN113011423A CN113011423A CN201911331391.4A CN201911331391A CN113011423A CN 113011423 A CN113011423 A CN 113011423A CN 201911331391 A CN201911331391 A CN 201911331391A CN 113011423 A CN113011423 A CN 113011423A
- Authority
- CN
- China
- Prior art keywords
- text
- license plate
- network
- ctpn
- layer
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000004364 calculation method Methods 0.000 title claims abstract description 11
- 238000005457 optimization Methods 0.000 title claims description 13
- 230000006870 function Effects 0.000 claims description 39
- 238000011176 pooling Methods 0.000 claims description 21
- 238000010276 construction Methods 0.000 claims description 17
- 238000000034 method Methods 0.000 claims description 17
- 238000001514 detection method Methods 0.000 claims description 13
- 238000012549 training Methods 0.000 claims description 13
- 238000013519 translation Methods 0.000 claims description 12
- 230000009466 transformation Effects 0.000 claims description 9
- 230000007704 transition Effects 0.000 claims description 9
- 230000008569 process Effects 0.000 claims description 6
- 230000008859 change Effects 0.000 claims description 3
- 238000005516 engineering process Methods 0.000 claims 2
- 230000000694 effects Effects 0.000 abstract description 4
- 238000011160 research Methods 0.000 abstract description 3
- 238000013527 convolutional neural network Methods 0.000 description 34
- 230000004913 activation Effects 0.000 description 10
- 238000013528 artificial neural network Methods 0.000 description 10
- 238000012360 testing method Methods 0.000 description 9
- 238000010586 diagram Methods 0.000 description 7
- 230000011218 segmentation Effects 0.000 description 7
- 230000002457 bidirectional effect Effects 0.000 description 6
- 238000000605 extraction Methods 0.000 description 6
- 238000012545 processing Methods 0.000 description 6
- 239000003086 colorant Substances 0.000 description 4
- 230000008034 disappearance Effects 0.000 description 4
- 238000013459 approach Methods 0.000 description 2
- 238000013135 deep learning Methods 0.000 description 2
- 230000002708 enhancing effect Effects 0.000 description 2
- 239000000284 extract Substances 0.000 description 2
- 238000009432 framing Methods 0.000 description 2
- 230000001939 inductive effect Effects 0.000 description 2
- 230000010354 integration Effects 0.000 description 2
- 238000012886 linear function Methods 0.000 description 2
- 230000000116 mitigating effect Effects 0.000 description 2
- 238000010606 normalization Methods 0.000 description 2
- 238000007781 pre-processing Methods 0.000 description 2
- 238000007670 refining Methods 0.000 description 2
- 238000012546 transfer Methods 0.000 description 2
- 238000004804 winding Methods 0.000 description 2
- 238000005452 bending Methods 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V30/00—Character recognition; Recognising digital ink; Document-oriented image-based pattern recognition
- G06V30/10—Character recognition
- G06V30/14—Image acquisition
- G06V30/148—Segmentation of character regions
- G06V30/153—Segmentation of character regions using recognition of characters or words
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/24—Classification techniques
- G06F18/241—Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/045—Combinations of networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/20—Image preprocessing
- G06V10/26—Segmentation of patterns in the image field; Cutting or merging of image elements to establish the pattern region, e.g. clustering-based techniques; Detection of occlusion
- G06V10/267—Segmentation of patterns in the image field; Cutting or merging of image elements to establish the pattern region, e.g. clustering-based techniques; Detection of occlusion by performing operations on regions, e.g. growing, shrinking or watersheds
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V20/00—Scenes; Scene-specific elements
- G06V20/60—Type of objects
- G06V20/62—Text, e.g. of license plates, overlay texts or captions on TV images
- G06V20/625—License plates
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- Evolutionary Computation (AREA)
- Life Sciences & Earth Sciences (AREA)
- Artificial Intelligence (AREA)
- General Engineering & Computer Science (AREA)
- Computing Systems (AREA)
- Software Systems (AREA)
- Molecular Biology (AREA)
- Computational Linguistics (AREA)
- Biophysics (AREA)
- Biomedical Technology (AREA)
- Mathematical Physics (AREA)
- General Health & Medical Sciences (AREA)
- Health & Medical Sciences (AREA)
- Multimedia (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Bioinformatics & Computational Biology (AREA)
- Evolutionary Biology (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Image Analysis (AREA)
Abstract
本发明公开了一种基于CTPN系统文本线构造优化计算方法及其应用,地下停车场的光线往往不够充足,因此大多数地下停车场拍摄出的车牌图像效果不佳,再加之灯光昏暗等其他因素的影响,导致图像对比度差从而引起识别误差,所以基于非高清图像的车牌识别的研究就变得非常有必要。而部分车牌字符存在双行的情形,且车牌字符区域往往没有可区分于车身颜色的底色,进一步增加了车牌自动识别的难度。本发明旨在提出可用于自动识别非高清的双行车牌的解决方案,确保非高清车牌的识别准确率满足实际应用需求。
Description
技术领域
本发明涉及车牌检测识别系统及应用领域。
背景技术
澳门目前使用的车牌规格是基于葡萄牙在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′x=Aw·dx(A)+Ax (1)
G′y=Ah·dy(A)+Ay (2)
式中Aw和Ah分别表示A的宽度和高度。
对于缩放,有公式(3)和公式(4):
G′w=Aw·exp(dw(A)) (3)
G′h=Ah·exp(dh(A)) (4)
要把握上面公式的规律,可以对dx(A)、dy(A)、dw(A)、dh(A)进行回归训练,这里可以看作是一种线性变换,目标函数可以使用公式(5)表示:
损失函数可用公式(6)表示:
结合上述原理,在使用Faster RCNN进行训练时,目标窗口和真实窗口之间的平移量(tx,ty)和尺度因子(tw,th)可由公式(7)、(8)、(9)、(10)求得:
式(7)-(10)中的wa和ha,是检测目标窗口A的宽和高,要除以宽和高是因为CNN具有尺度不变性,回归函数适应于任何尺寸的图。
(二)车牌字符检测识别
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通过特征重用来发掘网络的潜力,同时让每一层只学习非常少的特征图,以达到降低冗余的目的。其输出公式如下:
xl=Hl([x0,x1,…,xl-1]) (13)
式(13)中的xl表示第l层的输出,[x0,x1,…,xl-1]表示将0到l-1层的输出特征相连,Hl代表第l层的变换函数,通常对应Batch Normalization(BN),ReLU和Convolution(Conv)。
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′x=Aw·dx(A)+Ax (1)
G′y=Ah·dy(A)+Ay (2)
式中Aw和Ah分别表示A的宽度和高度。
对于缩放,有公式(3)和公式(4):
G′w=Aw·exp(dw(A)) (3)
G′h=Ah·exp(dh(A)) (4)
要把握上面公式的规律,可以对dx(A)、dy(A)、dw(A)、dh(A)进行回归训练,这里可以看作是一种线性变换,目标函数可以使用公式(5)表示:
损失函数可用公式(6)表示:
结合上述原理,在使用Faster RCNN进行训练时,目标窗口和真实窗口之间的平移量(tx,ty)和尺度因子(tw,th)可由公式(7)、(8)、(9)、(10)求得:
式(7)-(10)中的wa和ha,是检测目标窗口A的宽和高,要除以宽和高是因为CNN具有尺度不变性,回归函数适应于任何尺寸的图。
(二)车牌字符检测识别
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通过特征重用来发掘网络的潜力,同时让每一层只学习非常少的特征图,以达到降低冗余的目的。其输出公式如下:
xl=Hl([x0,x1,…,xl-1]) (13)
式(13)中的xl表示第l层的输出,[x0,x1,…,xl-1]表示将0到l-1层的输出特征相连,Hl代表第l层的变换函数,通常对应Batch Normalization(BN),ReLU和Convolution(Conv)。
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车牌识别的结果统计
以上实施例的说明对本发明的原理及实施方式进行了阐述,只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。
Claims (3)
1.一种基于CTPN系统文本线构造优化计算方法,所述CTPN(Connectionist TextProposal Network)文本检测技术车牌定位系统,通过CNN和BLSTM学到一组“空间+序列”特征后,在"FC"卷积层后接入RPN网络,RPN网络在图中设置许多方框,即为Anchor,经过CNN判断Anchors中前景图像(文本)和背景图像,然后得到一系列的Anchors,这些Anchors形成Anchor组,将Anchor组内的这些小长条连接构造成一个矩形,即为文本区域(Textproposal),接着采用文本线构造办法,把这些text proposal连接成一个文本框,然后对文本框进行文本线构造优化计算,其特征在于:CTPN系统文本线构造优化计算方法为:对文本框进行平移和缩放。
2.根据权利要求1所述的一种基于CTPN系统文本线构造优化计算方法,其特征在于:文本框完成平移和缩放通过以下处理:假设A为检测到的目标窗口,G为真实窗口,G′是相比A更为接近真实窗口的目标窗口,使A能够映射形成G′,只需经过平移和缩放:
对于平移,有公式(1)和公式(2):
G′x=Aw·dx(A)+Ax (1)
G′y=Ah·dy(A)+Ay (2)
式中Aw和Ah分别表示A的宽度和高度。
对于缩放,有公式(3)和公式(4):
G′w=Aw·exp(dw(A)) (3)
G′h=Ah·exp(dh(A)) (4)
要把握上面公式的规律,可以对dx(A)、dy(A)、dw(A)、dh(A)进行回归训练,这里可以看作是一种线性变换,目标函数可以使用公式(5)表示:
损失函数可用公式(6)表示:
式中t*表示目标窗口和真实窗口之间的平移量(tx,ty)和尺度因子(tw,th)。
3.权利要求1所述的一种基于CTPN系统文本线构造优化计算方法在非高清车牌识别系统中的应用,其特征在于:
(1)车牌定位
所述非高清车牌识别系统包括:基于改进的CTPN(Connectionist Text ProposalNetwork)的车牌自动定位系统和基于Densenet(densely connected convolutionalnetworks)网络的车牌字符识别系统。基于改进的CTPN(Connectionist Text ProposalNetwork)的车牌自动定位系统应用步骤为:所述CTPN(Connectionist Text ProposalNetwork)文本检测技术车牌定位系统,通过CNN和BLSTM学到一组“空间+序列”特征后,在"FC"卷积层后接入RPN网络,RPN网络在图中设置许多方框,即为Anchor,经过CNN判断Anchors中前景图像(文本)和背景图像,然后得到一系列的Anchors,这些Anchors形成Anchor组,将Anchor组内的这些小长条连接构造成一个矩形,即为文本区域(Textproposal),接着采用文本线构造办法,把这些text proposal连接成一个文本框,然后对文本框进行文本线构造优化计算,即通过以下处理:假设A为检测到的目标窗口,G为真实窗口,G′是相比A更为接近真实窗口的目标窗口,使A能够映射形成G′,只需经过平移和缩放:
对于平移,有公式(1)和公式(2):
G′x=Aw·dx(A)+Ax (1)
G′y=Ah·dy(A)+Ay (2)
式中Aw和Ah分别表示A的宽度和高度。
对于缩放,有公式(3)和公式(4):
G′w=Aw·exp(dw(A)) (3)
G′h=Ah·exp(dh(A)) (4)
要把握上面公式的规律,可以对dx(A)、dy(A)、dw(A)、dh(A)进行回归训练,这里可以看作是一种线性变换,目标函数可以使用公式(5)表示:
损失函数可用公式(6)表示:
结合上述原理,在使用Faster RCNN进行训练时,目标窗口和真实窗口之间的平移量(tx,ty)和尺度因子(tw,th)可由公式(7)、(8)、(9)、(10)求得:
式(7)-(10)中的wa和ha,是检测目标窗口A的宽和高,要除以宽和高是因为CNN具有尺度不变性,回归函数适应于任何尺寸的图。
(2)车牌字符检测识别
所述Densenet系统包含3个Dense Block,每个Dense Block中包含4个Bottlenecklayers,即BN-ReLU-Conv(1x1)-BN-ReLU-Conv(3x3)结构,并在每个Dense Block之间加入1个过渡层(transition layer),过渡层包含一个卷积层(Convolutional layer)及最大池化层,以改变特征图的尺寸。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911331391.4A CN113011423A (zh) | 2019-12-21 | 2019-12-21 | 一种基于ctpn系统文本线构造优化计算方法及其应用 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911331391.4A CN113011423A (zh) | 2019-12-21 | 2019-12-21 | 一种基于ctpn系统文本线构造优化计算方法及其应用 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN113011423A true CN113011423A (zh) | 2021-06-22 |
Family
ID=76382799
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201911331391.4A Pending CN113011423A (zh) | 2019-12-21 | 2019-12-21 | 一种基于ctpn系统文本线构造优化计算方法及其应用 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113011423A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113569844A (zh) * | 2021-06-29 | 2021-10-29 | 深圳市捷顺科技实业股份有限公司 | 一种车牌检测的方法及装置 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108960229A (zh) * | 2018-04-23 | 2018-12-07 | 中国科学院信息工程研究所 | 一种面向多方向的文字检测方法和装置 |
CN110378332A (zh) * | 2019-06-14 | 2019-10-25 | 上海咪啰信息科技有限公司 | 一种集装箱码头箱号和车号识别方法及系统 |
-
2019
- 2019-12-21 CN CN201911331391.4A patent/CN113011423A/zh active Pending
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108960229A (zh) * | 2018-04-23 | 2018-12-07 | 中国科学院信息工程研究所 | 一种面向多方向的文字检测方法和装置 |
CN110378332A (zh) * | 2019-06-14 | 2019-10-25 | 上海咪啰信息科技有限公司 | 一种集装箱码头箱号和车号识别方法及系统 |
Non-Patent Citations (3)
Title |
---|
GAO HUANG ET AL: "Densely Connected Convolutional Networks", 《ARXIV》 * |
吕俊奇 等: "多层卷积特征融合的行人检测", 《计算机工程与设计》 * |
李新炜 等: "深度学习在文字识别领域的应用", 《电子技术与软件工程》 * |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113569844A (zh) * | 2021-06-29 | 2021-10-29 | 深圳市捷顺科技实业股份有限公司 | 一种车牌检测的方法及装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110363182B (zh) | 基于深度学习的车道线检测方法 | |
CN105046196B (zh) | 基于级联卷积神经网络的前车车辆信息结构化输出方法 | |
CN108154102B (zh) | 一种道路交通标志识别方法 | |
CN109657632B (zh) | 一种车道线检测识别方法 | |
CN104751142B (zh) | 一种基于笔划特征的自然场景文本检测方法 | |
CN110619327A (zh) | 一种复杂场景下基于深度学习的实时车牌识别方法 | |
CN109726717B (zh) | 一种车辆综合信息检测系统 | |
CN103310211B (zh) | 一种基于图像处理的填注标记识别方法 | |
CN106709530A (zh) | 基于视频的车牌识别方法 | |
CN106022232A (zh) | 基于深度学习的车牌检测方法 | |
CN106529532A (zh) | 一种基于积分特征通道与灰度投影的车牌识别系统 | |
CN105913093A (zh) | 一种用于文字识别处理的模板匹配方法 | |
CN104809481A (zh) | 一种基于自适应色彩聚类的自然场景文本检测的方法 | |
CN103971128A (zh) | 一种面向无人驾驶车的交通标志识别方法 | |
CN104778453A (zh) | 一种基于红外行人亮度统计特征的夜间行人检测方法 | |
CN109409356B (zh) | 一种基于swt的多方向中文印刷体文字检测方法 | |
CN110866430A (zh) | 一种车牌识别方法及装置 | |
CN104573685A (zh) | 一种基于线性结构提取的自然场景文本检测方法 | |
CN110889398A (zh) | 一种基于相似度网络的多模态图像能见度检测方法 | |
CN107832762A (zh) | 一种基于多特征融合的车牌定位与识别方法 | |
CN106503748A (zh) | 一种基于s‑sift特征和svm训练器的车型识别算法 | |
CN106529461A (zh) | 一种基于积分特征通道和svm训练器的车型识别算法 | |
CN113537211A (zh) | 一种基于非对称iou的深度学习车牌框定位方法 | |
CN111339932B (zh) | 一种掌纹图像预处理方法和系统 | |
CN110969164A (zh) | 基于深度学习端对端的低照度成像车牌识别方法及装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
RJ01 | Rejection of invention patent application after publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20210622 |