CN109447117B - 双层车牌识别方法、装置、计算机设备及存储介质 - Google Patents
双层车牌识别方法、装置、计算机设备及存储介质 Download PDFInfo
- Publication number
- CN109447117B CN109447117B CN201811119253.5A CN201811119253A CN109447117B CN 109447117 B CN109447117 B CN 109447117B CN 201811119253 A CN201811119253 A CN 201811119253A CN 109447117 B CN109447117 B CN 109447117B
- Authority
- CN
- China
- Prior art keywords
- license plate
- image
- target
- layer
- double
- 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.)
- Active
Links
- 238000000034 method Methods 0.000 title claims abstract description 50
- 238000003860 storage Methods 0.000 title claims abstract description 12
- 238000013527 convolutional neural network Methods 0.000 claims abstract description 17
- 238000005520 cutting process Methods 0.000 claims abstract description 12
- 230000006870 function Effects 0.000 claims description 42
- 230000011218 segmentation Effects 0.000 claims description 34
- 238000004422 calculation algorithm Methods 0.000 claims description 21
- 238000003708 edge detection Methods 0.000 claims description 19
- 238000004590 computer program Methods 0.000 claims description 16
- 238000007781 pre-processing Methods 0.000 claims description 13
- 238000012937 correction Methods 0.000 claims description 7
- 238000000605 extraction Methods 0.000 claims description 6
- 230000005484 gravity Effects 0.000 claims description 6
- 230000009466 transformation Effects 0.000 claims description 4
- 238000004364 calculation method Methods 0.000 claims description 3
- 238000001914 filtration Methods 0.000 claims description 3
- 238000005457 optimization Methods 0.000 claims description 2
- 230000005764 inhibitory process Effects 0.000 claims 1
- 238000012706 support-vector machine Methods 0.000 abstract description 21
- 239000010410 layer Substances 0.000 description 138
- 239000002356 single layer Substances 0.000 description 8
- 238000012545 processing Methods 0.000 description 7
- 230000001629 suppression Effects 0.000 description 7
- 230000008859 change Effects 0.000 description 6
- 229910052704 radon Inorganic materials 0.000 description 5
- SYUHGPGVQRZVTB-UHFFFAOYSA-N radon atom Chemical compound [Rn] SYUHGPGVQRZVTB-UHFFFAOYSA-N 0.000 description 5
- 238000010606 normalization Methods 0.000 description 4
- 238000001514 detection method Methods 0.000 description 3
- 238000010586 diagram Methods 0.000 description 3
- 238000009826 distribution Methods 0.000 description 3
- 238000013528 artificial neural network Methods 0.000 description 2
- 230000005540 biological transmission Effects 0.000 description 2
- 238000005260 corrosion Methods 0.000 description 2
- 230000007797 corrosion Effects 0.000 description 2
- 239000002355 dual-layer Substances 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 238000012544 monitoring process Methods 0.000 description 2
- 238000000513 principal component analysis Methods 0.000 description 2
- 230000008569 process Effects 0.000 description 2
- 238000012546 transfer Methods 0.000 description 2
- 238000009795 derivation Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000018109 developmental process Effects 0.000 description 1
- 230000009977 dual effect Effects 0.000 description 1
- 238000009499 grossing Methods 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 238000010801 machine learning Methods 0.000 description 1
- 239000000463 material Substances 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012806 monitoring device Methods 0.000 description 1
- 210000002569 neuron Anatomy 0.000 description 1
- 238000001228 spectrum Methods 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
Images
Classifications
-
- 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
- G06F18/2411—Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches based on the proximity to a decision surface, e.g. support vector machines
-
- 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/63—Scene text, e.g. street names
-
- 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
-
- 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
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02T—CLIMATE CHANGE MITIGATION TECHNOLOGIES RELATED TO TRANSPORTATION
- Y02T10/00—Road transport of goods or passengers
- Y02T10/10—Internal combustion engine [ICE] based vehicles
- Y02T10/40—Engine management systems
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- Multimedia (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Evolutionary Biology (AREA)
- Evolutionary Computation (AREA)
- Computer Vision & Pattern Recognition (AREA)
- General Engineering & Computer Science (AREA)
- Bioinformatics & Computational Biology (AREA)
- Artificial Intelligence (AREA)
- Life Sciences & Earth Sciences (AREA)
- Character Input (AREA)
- Image Analysis (AREA)
- Character Discrimination (AREA)
Abstract
本发明公开了一种双层车牌识别方法、装置、计算机设备和存储介质,所述方法包括:通过获取初始车牌图像,并对初始车牌图像进行预处理,得到目标车牌图像,并使用支持向量机对车牌层数进行判断,保证了对双层车牌的准确识别,若车牌层数为双层,则分别对每一层使用滑动窗口进行滑动,使得每一层车牌图像被分成多个包含部分重叠滑动窗口图像,车牌号码中的字符反复出现,避免了依赖人工划分的字符切割模板造成的车牌号码中的部分字符无法识别的情况,提高了双层车牌识别的通用性,同时,将得到的滑动窗口图像输入到卷积神经网络中进行识别,快速地得到多个对应的识别结果,提高了双层车牌识别的效率。
Description
技术领域
本发明涉及图像处理技术领域,尤其涉及一种双层车牌识别方法、装置、计算机设备及存储介质。
背景技术
随着社会经济的发展,越来越多的汽车出现在道路交通或者停车场所,它给人们的生活带来了许多便利,但汽车的管理也变得越来越复杂。例如车辆收费和管理,交通流量检测,停车场收费管理,违章车辆监控,假牌照车辆识别等具体问题。
针对这些问题,当前采用的主要方法是通过识别车牌来对车辆进行管理,当前通用车牌包括单层车牌和双层车牌,当前在对这些车牌进行识别时,主要采用的车牌识别技术是通过直接人为划定比例,对车牌图像进行分割,进而对分割后的图像进行车牌识别,这种方法识别准确率低,且无法判断车牌的层数,在车牌层数为双层时,会产生无法识别的情况,不具备鲁棒性和通用性。
发明内容
本发明实施例提供一种双层车牌识别方法、装置、计算机设备及存储介质,以解决当前对双层车牌识别准确率低和通用性弱的问题。
一种双层车牌识别方法,包括:
获取初始车牌图像;
对所述初始车牌图像进行预处理,得到大小为2a×2b个像素的目标车牌图像,其中,a、b为正整数;
采用支持向量机对所述目标车牌图像进行层数检测,得到目标层数,其中,所述目标层数包括单层和双层;
若所述目标层数为双层,则将所述目标车牌图像裁剪成两个大小均为2a×b个像素的临时图像,并将下层的2a×b个像素的临时图像作为下层图像,将上层的2a×b个像素的临时图像进行裁剪,获取中心区域的a×b个像素大小的图像,作为上层图像;
采用预设大小为c×b个像素的滑动窗口,以1个像素为步长,分别在所述上层图像中和所述下层图像中,从左至右进行滑动操作,并获取每次滑动时所述滑动窗口范围内的目标车牌图像,作为一个滑动窗口图像,其中,c<a且c为正整数;
在所述上层图像中,滑动a-c次后,终止在上层的滑动操作,得到a-c个滑动窗口图像,在所述下层图像上滑动2a-c次后,终止在所述下层图像的滑动操作,得到2a-c个滑动窗口图像,共得到3a-2c个滑动窗口图像;
将3a-2c个所述滑动窗口图像输入到卷积神经网络中进行识别,得到3a-2c个识别结果,其中,每个所述识别结果包括若干个字符;
将3a-2c个所述识别结果中的所有字符组成字符集,按照预设分割方式对所述字符集进行分割,从得到的每个子字符集中获取目标字符,并根据所述目标字符确定目标车牌号码。
一种双层车牌识别装置,包括:
获取模块,用于获取初始车牌图像;
预处理模块,用于对所述初始车牌图像进行预处理,得到大小为2a×2b个像素的目标车牌图像,其中,a、b为正整数;
判断模块,用于采用支持向量机对所述目标车牌图像进行层数检测,得到目标层数,其中,所述目标层数包括单层和双层;
分层模块,用于若所述目标层数为双层,则将所述目标车牌图像裁剪成两个大小均为2a×b个像素的临时图像,并将下层的2a×b个像素的临时图像作为下层图像,将上层的2a×b个像素的临时图像进行裁剪,获取中心区域的a×b个像素大小的图像,作为上层图像;
滑动模块,用于采用预设大小为c×b个像素的滑动窗口,以1个像素为步长,分别在所述上层图像中和所述下层图像中,从左至右进行滑动操作,并获取每次滑动时所述滑动窗口范围内的目标车牌图像,作为一个滑动窗口图像,其中,c<a且c为正整数;
终止模块,用于在所述上层图像中,滑动a-c次后,终止在上层的滑动操作,得到a-c个滑动窗口图像,在所述下层图像上滑动2a-c次后,终止在所述下层图像的滑动操作,得到2a-c个滑动窗口图像,共得到3a-2c个滑动窗口图像;
识别模块,用于将3a-2c个所述滑动窗口图像输入到卷积神经网络中进行识别,得到3a-2c个识别结果,其中,每个所述识别结果包括若干个字符;
分割模块,用于将3a-2c个所述识别结果中的所有字符组成字符集,按照预设分割方式对所述字符集进行分割,从得到的每个子字符集中获取目标字符,并根据所述目标字符确定目标车牌号码。
一种计算机设备,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述双层车牌识别方法的步骤。
一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现上述双层车牌识别方法的步骤。
上述双层车牌识别方法、装置、计算机设备及存储介质,一方面,通过获取初始车牌图像,并对初始车牌图像进行预处理,得到目标车牌图像,并使用支持向量机对车牌层数进行判断,保证了对双层车牌的准确识别,若车牌层数为双层,则分别对每一层使用滑动窗口进行滑动,使得每一层车牌图像被分成多个包含部分重叠滑动窗口图像,车牌号码中的字符反复出现,避免了依赖人工划分的字符切割模板造成的车牌号码中的部分字符无法识别的情况,提高了双层车牌识别的通用性;另一方面,将得到的滑动窗口图像输入到卷积神经网络中进行识别,快速地得到多个对应的识别结果,提高了双层车牌识别的效率。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对本发明实施例的描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1是本发明实施例提供的双层车牌识别方法的应用环境示意图;
图2是本发明实施例提供的双层车牌识别方法的实现流程图;
图3是本发明实施例提供的双层车牌识别方法中步骤S30的实现流程图;
图4是本发明实施例提供的双层车牌识别方法中步骤S20的实现流程图;
图5是本发明实施例提供的双层车牌识别方法中步骤S21的实现流程图;
图6是本发明实施例提供的双层车牌识别方法中步骤S80的实现流程图;
图7是本发明实施例提供的双层车牌识别装置的示意图;
图8是本发明实施例提供的计算机设备的示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
请参阅图1,图1示出本发明实施例提供的双层车牌识别方法的应用环境。该双层车牌识别方法应用在针对拍摄到的车辆的车牌进行车牌识别场景中。该识别场景包括服务端和客户端,其中,服务端和客户端之间通过网络进行连接,客户端将拍摄到车牌图像发送到服务端,服务端接收客户端发送的车牌图像并进行识别,客户端具体可以但不限于是超速摄像头、天网监控、电子警察、各种个人计算机、笔记本电脑、智能手机、平板电脑和便携式可穿戴设备,服务端具体可以用独立的服务器或者多个服务器组成的服务器集群实现。
请参阅图2,图2示出本发明实施例提供的一种双层车牌识别方法,以该方法应用在图1中的服务端为例进行说明,详述如下:
S10:获取初始车牌图像。
具体地,客户端得到初始车牌图像后,将初始车牌图像通过网络传输协议发送给服务端,服务端通过网络传输协议接收该初始车牌图像。
其中,客户端具体可以是超速摄像头、天网监控、电子警察等具有拍摄功能的监控设备,直接拍摄得到初始车牌图像,也可以是各种个人计算机、笔记本电脑、智能手机或平板电脑等智能终端设备,具有存储初始车牌图像的存储空间,以及和服务端进行网络交互的功能。
其中,网络传输协议包括但不限于:互联网控制报文协议(Internet ControlMessage Protocol,ICMP)、地址解析协议(ARP Address Resolution Protocol,ARP)和文件传输协议(File Transfer Protocol,FTP)等。
S20:对初始车牌图像进行预处理,得到大小为2a×2b个像素的目标车牌图像,其中,a、b为正整数。
具体地,由于拍摄的角度、距离,以及汽车的高速行驶等因素的影响,获取到的初始车牌图像质量不高,直接进行识别正确率较低,因而,需要先将初始车牌图像进行预处理,以便减少这些因素带来的影响,提高后续识别的准确率,对初始车牌图像进行预处理后,得到大小为2a×2b个像素的目标车牌图像。
其中,预处理包括但不限于:图像裁剪、归一化和倾斜校正等。
其中,a和b为预设的数值,其基本单位为1个像素的宽度,以2a为水平方向边长,即以2a个像素的宽度作为水平方向边长,以2b为竖直方向边长,即以2b个像素的宽度作为竖直方向边长,a和b为正整数,其具体数值可以根据需要进行设置,此处不作具体限制。
优选地,在本发明实施例中,a的值取70,b的值取28,即最后得到140×56的目标车牌图像。
S30:采用支持向量机对目标车牌图像进行层数检测,得到目标层数,其中,目标层数包括单层和双层。
具体地,通过使用预先训练好的支持向量机,对目标车牌图像的层数进行检测,从而得到该目标车牌图像的层数,作为目标层数。
其中,支持向量机(Support Vector Machine,SVM)是一种分类器,属于与机器学习算法有关的监督学习模型,一个支持向量机构造一个超平面,或无限维空间,其可以用于分类或回归,在本发明实施例中,预先训练好的支持向量机可以实现对目标车牌图像的层数进行识别。
S40:若目标层数为双层,则将目标车牌图像裁剪成两个大小均为2a×b个像素的临时图像,并将下层的2a×b个像素的临时图像作为下层图像,将上层的2a×b个像素的临时图像进行裁剪,获取中心区域的a×b个像素大小的图像,作为上层图像。
具体地,若步骤S30中得到的目标层数为双层,则将目标车牌图像裁剪成上下两个大小均为2a×b个像素的临时图像,并将下层的2a×b个像素的临时图像作为下层图像,对上层的2a×b个像素的临时图像进行裁剪,获取中心区域的a×b大小的图像,作为上层图像。
例如,在一具体实施方式中,a的值为70,b的值为28,即目标车牌图像的大小为140×56个像素,在目标层数为双层时,将目标车牌图像裁剪成上下两个140×28个像素的临时图像,并将下面的临时图像作为下层图像,裁剪出上层图像中心区域大小为70×28个像素的图像,作为上层图像。
S50:采用预设大小为c×b个像素的滑动窗口,以1个像素为步长,分别在上层图像中和下层图像中,从左至右进行滑动操作,并获取每次滑动时滑动窗口范围内的目标车牌图像,作为一个滑动窗口图像,其中,c<a且c为正整数。
具体地,通过预设大小为c×b个像素的滑动窗口,以1个像素为步长,在上层图像上和下层图像上从左至右进行滑动操作,每次滑动,获取滑动窗口范围内的目标车牌图像,作为一个滑动窗口图像,使得在多次滑动后,多个滑动窗口具有相同重叠的图像部分,有利于后续进行目标字符的优选。
其中,滑动窗口的宽度b和目标车牌图像的宽度相同,长度c可以根据实际情况进行设置,此处不做具体限制。
优选地,本发明实施例中c的数值设置为28,即使用一个28×28个像素的正方形作为滑动窗口进行滑动。
值得说明的是,若步骤S30中检测到的目标层数为单层,亦可采用这种滑动窗口的方式对目标车牌图像进行窗口滑动,得到多个滑动窗口图像,进而对滑动窗口图像进行识别,亦或采用通用车牌识别方法进行识别,此处不作具体限制。
S60:在上层图像中,滑动a-c次后,终止在上层的滑动操作,得到a-c个滑动窗口图像,在下层图像上滑动2a-c次后,终止在下层图像的滑动操作,得到2a-c个滑动窗口图像,共得到3a-2c个滑动窗口图像。
具体地,上层图像的长度为a,滑动窗口的长度为b,滑动步长为1,在经过a-c次滑动,滑动窗口的右端与目标车牌图像的右端重叠,即滑动窗口移动上层图像的最右端,此时一共得到a-c个滑动窗口图像,下层图像的长度为2a,滑动窗口的长度为b,滑动步长为1,在经过2a-c次滑动,滑动窗口的右端与下层图像的右端重叠,即滑动窗口移动到下层图像的最右端,此时一共得到2a-c个滑动窗口图像,一共得到3a-2c个滑动窗口图像。
S70:将3a-2c个滑动窗口图像输入到卷积神经网络中进行识别,得到3a-2c个识别结果,其中,每个识别结果包括若干个字符。
具体地,将步骤S60中得到的3a-2c个滑动窗口图像作为输入图像,输入到训练好的卷积神经网络中进行识别,在卷积神经网络的全连接层,预设有71个分类器,每个分类器对应一个预设字符,共71个预设字符,分别为:预设的35个汉字、预设的26个大写英文字母和预设的10个阿拉伯数字,滑动窗口图像经过卷积运算后,输入到全连接层,使用预设的71个分类器进行分类识别,得到3a-2c个识别结果。
值得说明的是,每个识别结果为这71个预设字符中的一个字符或多个字符。
其中,预设的35个汉字包括:京、津、冀、晋、蒙、辽、吉、黑、沪、苏、浙、皖、闽、赣、鲁、豫、鄂、湘、粤、桂、琼、渝、川、黔、滇、藏、陕、甘、青、藏、宁、新、台、港、澳。
其中,预设的26个大写英文字母包括:A、B、C、D、E、F、G、H、I、J、K、L、M、N、O、P、Q、R、S、T、U、V、W、X、Y、Z。
其中,预设的10个阿拉伯数字包括:0、1、2、3、4、5、6、7、8、9。
其中,卷积神经网(Convolutional Neural Network,CNN)是一种前馈神经网络,它的人工神经元可以响应一部分覆盖范围内的周围单元,可以快速高效进行图像处理。
S80:将3a-2c个识别结果中的字符组成字符集,按照预设分割方式对字符集进行分割,从得到的每个子字符集中获取目标字符,并根据目标字符确定目标车牌号码。
具体的,将3a-2c个识别结果中的字符组成字符集,并且按照预设分割方式对字符集进行分割,得到至少两个子字符集,进而从每个子字符集中优选出一个目标字符,通过将每个目标字符进行组合,得到目标车牌号码。
其中,预设分割方式可以是根据需要分割的子字符集数量,对字符集进行平均分割,也可以是根据预设范围或者预设分割点,对子字符集进行分割,也可根据实际情况进行设置,此处不作具体限定。
值得说明的是,由于车牌号码一般为7个字符,作为一种优选方式,本发明实施例将3a-2c个识别结果组成的字符集按照预设分割方式分割成7个子字符集。
本实施例中,通过获取初始车牌图像,并对初始车牌图像进行预处理,得到目标车牌图像,并使用支持向量机对车牌层数进行判断,保证了对双层车牌的准确识别,在车牌层数为双层时,分别对每一层使用滑动窗口进行滑动,使得每一层车牌图像被分成多个包含部分重叠滑动窗口图像,车牌号码中的字符反复出现,避免了依赖人工划分的字符切割模板造成的车牌号码中的部分字符无法识别的情况,提高了双层车牌识别的通用性,同时,将得到的滑动窗口图像输入到卷积神经网络中进行识别,快速地得到多个对应的识别结果,提高了双层车牌识别的效率。
在图2对应的实施例的基础之上,下面通过一个具体的实施例来对步骤S30中所提及的采用支持向量机对目标车牌图像进行层数检测,得到目标层数的具体实现方法进行详细说明。
请参阅图3,图3示出了本发明实施例提供的步骤S30的具体实现流程,详述如下:
S31:提取目标车牌图像的图像向量特征。
具体地,提取目标车牌图像的图像向量特征,作为支持向量机的输入特征。
其中,图像向量特征包括但不限于颜色向量特征、纹理向量特征、形状向量特征和空间关系向量特征,优选地,本发明实施例提取的图像向量特征为空间关系向量特征,通过将空间关系向量特征输入到支持向量机中,判断该目标车牌图像的目标层数。
其中,提取方式包括但不限于:主成分分析(Principal Component Analysis,PCA)特征提取算法、基于卷积神经网络的特征提取和局部二值模式(Local BinaryPattern,LBP)特征提取算法等。具体提取方式可根据实际需求进行设置,此处不作限制。
S32:使用如下公式计算图像特征的分类函数的函数值:
f(x)=wTx+b
其中,f(x)为分类函数,w为支持向量机的超平面的权值向量,wT为超平面的权值向量的转置,x为图像向量特征,b为预设的偏置值。
具体地,通过将步骤S31中提取的图像向量特征,输入到预先训练好的支持向量机中进行计算,在该支持向量机中使用上述公式得到该图像向量特征对应的分类函数的函数值,其中,w为该支持向量机的超平面的权值向量,wT为超平面的权值向量的转置,b为该支持向量机的偏置值。
其中,支持向量机通过核函数计算超平面的权值向量和偏置值,使用不同的核函数,计算得到的超平面的权值向量和偏置值不同,识别准确率也不同,常用的核函数包括但不限于:线性核函数、多项式核函数、高斯(Radial Basis Function,RBF)核函数和sigmoid核函数等。
优选地,本发明实施例采用基于高斯核函数的支持向量机,无论大样本还是小样本,基于高斯核函数的支持向量机都有比较高的识别准确率,而且其相对于其他类别的核函数参数更少,兼容性更强。
S33:若函数值大于或等于0,则确定目标层数为双层。
具体地,若步骤S32中计算得到的函数值大于或等于0,则确定该目标车牌图像的目标层数为双层。
需要说明的是,若步骤S32中计算得到的函数值小于0,则确定该目标车牌图像的目标层数为单层,针对单层的目标车牌图像,可使用通用的车牌识别算法进行识别,也可以使用本发明实施例中提及的采用滑动窗口的识别方法进行识别。
在本实施例中,提取目标车牌图像的图像向量特征,并将该图像向量特征输入到预设的支持向量机中进行计算分类函数的函数值,从而根据计算出的函数值判断目标层数,实现了对目标层数的自动判断,确保了双层车牌的准确判断。
在图2对应的实施例的基础之上,下面通过一个具体的实施例来对步骤S20中所提及的对初始车牌图像进行预处理,得到大小为2a×2b的目标车牌图像的具体实现方法进行详细说明。
请参阅图4,图4示出了本发明实施例提供的步骤S20的具体实现流程,详述如下:
S21:通过边缘检测算法,获取初始车牌图像中车牌的上边界和车牌的下边界。
具体地,由于拍摄的角度和距离等因素影响,拍摄到的车牌图像一般除了车牌区域之外,还会包括车牌区域外的一些非车牌图像,这些非车牌图像会对后续的车牌识别造成干扰,因而,为了提高后续车牌识别的准确率,需要通过边缘检查算法,找出初始车牌图像中车牌的上边界和车牌的下边界,从而确定初始车牌图像中的车牌范围。
其中,边缘检测算法是用来进行边缘检测的算法,边缘检测是图像处理和计算机视觉中的基本问题,在本发明实施例中,边缘检测的目的是标识车牌图像中亮度变化明显的点,即车牌边界的点,图像属性中的显著变化通常反映了属性的重要事件和变化,这些图像属性包括但不限于:深度上的不连续、表面方向不连续、物质属性变化和场景照明变化等。
其中,图像的边缘是指图象中灰度发生急剧变化的区域,图象灰度的变化情况可以用灰度分布的梯度来反映。
常用的边缘检测算法包括但不限于:索贝尔算子(Sobel operator)边缘检测算法、高斯拉普拉斯算子边缘检测算法、罗伯茨交叉边缘检测(Roberts Cross operator)算法和Canny多级边缘检测算法等。
优选地,被发明实施例采用的边缘检测算法为Canny多级边缘检测算法。
值得说明的是,根据边缘检测算法,得到的车牌的上边界和车牌的下边界为两段线段。即,得到车牌的上边界包括左右两个顶点,得到的车牌的下边界包括左右两个顶点。
S22:根据车牌的上边界和车牌的下边界,确定车牌的范围图像。
具体地,将步骤S21中得到的车牌的上边界和车牌的下边界连接起来,即,将车牌的上边界的左边顶点与车牌的下边界的左边顶点相连,将车牌的上边界的右边顶点与车牌的下边界的右边顶点相连,从而得到一个四边形,将这个四边形范围内的图像作为车牌的范围图像。
S23:使用拉东变换对范围图像进行倾斜校正,得到校正后的基础图像。
具体地,由于拍摄的角度和距离的影响,获取到的初始车牌图像会存在倾斜,进而得到的范围图像也存在倾斜,为了提高后续车牌识别的准确率,通过拉东变换对范围图像进行倾斜校正,从而得到校正后的基础图像。
其中,拉东(radon)变换是一种通过定方向投影叠加,找到最大投影值时角度,从而确定图像倾斜角度,进而进行校正,得到校正后的图像的方法。
S24:以基础图像的重心为中心,对基础图像进行裁剪,得到大小为a×b个像素的目标车牌图像。
具体地,以基础图像的重心为中心,以a为水平方向边长,以b为垂直方向边长,对步骤S23得到的基础图像进行裁剪,得到一个a×b个像素大小的矩形的目标车牌图像。
优选地,本发明实施例预设的a为140,b为28,即最后得到的140×28个像素的目标车牌图像。
例如,在一具体实施方式中,基础图像的重心的坐标为(82,21),水平方向边长为140,垂直方向边长为28,则得到左上角顶点坐标(12,7),右上角顶点坐标(152,7),左下角顶点坐标(12,35),右下角顶点坐标(152,35),由这四个顶点组成的140×28个像素的矩形,沿着这个矩形裁剪基础图像,得到该矩形范围内的图像,即目标车牌图像。
优选地,在得到目标车牌图像之后,本发明实施例还对目标车牌图像进行去均值和归一化,消除目标车牌图像中不同维度图像数据之间的差异。
其中,归一化是指将目标车牌图像中的图像特征幅度归一化到同样的范围,即使用每个图像特征除所有图像特征的标准差,将得到的结果作为该图像特征归一化后的图像特征。
其中,去均值是指将目标车牌图像中的图像特征各个维度都中心化为0,即将目标车牌图像的中心点拉回到坐标系原点上。
本实施例中,通过边缘检测算法,获取初始车牌图像中车牌的上边界和车牌的下边界,进而根据车牌的上边界和车牌的下边界,确定车牌的范围图像,再使用拉东变换对范围图像进行倾斜校正,得到校正后的基础图像,继而以基础图像的重心为中心,对基础图像进行裁剪,得到大小为a×b个像素的目标车牌图像,使得后续使用基础图像进行识别时,避免了由于车牌范围外的图像的干扰和倾斜因素导致的识别误差,增强了目标车牌图像的质量,有利于提高后续车牌识别的准确率。
在图4对应的实施例的基础之上,下面通过一个具体的实施例来对步骤S21中所提及的通过边缘检测算法,获取初始车牌图像中车牌的上边界和车牌的下边界的具体实现方法进行详细说明。
请参阅图5,图5示出了本发明实施例提供的步骤S21的具体实现流程,详述如下:
S211:通过高斯模糊对初始车牌图像进行噪音去除,得到去噪车牌图像。
具体的,车牌图像的边缘为高频信号,但图像的噪音也集中于高频信号,很容易被误识别为边缘,因而,需要去除图像的噪音,避免图像的噪音对确定边缘带来的干扰。在本发明实施例中,采用高斯模糊对初始车牌图像进行噪音去除,得到去噪车牌图像。
其中,车牌图像的边缘是指车牌区域与非车牌区域交界处的图象中灰度发生急剧变化的区域。图象灰度的变化情况可以用灰度分布的梯度来反映。
其中,图像的噪音,也即图像的噪声,是指存在于图像数据中的不必要的或多余的干扰信息,噪音的存在严重影响了图像的质量,因此在图像增强处理和分类处理之前,应予以纠正,在本发明实施例中,采用的纠正方法为使用高斯模糊去除噪音。
其中,高斯模糊(Gaussian Blur),也叫高斯平滑,它是一种图像模糊滤波器,它用正态分布计算图像中每个像素的变换,通常用它来减少图像噪声以及降低细节层次。
值得说明的是,图像边缘和噪音均为高频信号,因而高斯模糊的半径选择很重要,过大的半径很容易让一些弱边缘点检测不到,其半径的具体设置,可根据实际情况进行调整,此处不作限制。
S212:使用预设的梯度算子来计算去噪车牌图像的水平方向和垂直方向的梯度值,得到初始梯度值集合。
具体地,图像的边缘可以指向不同方向,通过使用预设的算子,计算去噪车牌图像的水平方向和垂直方向的梯度值,得到初始梯度值集合。
其中,数字图像就是离散的点值谱,也可以叫二维离散函数,图像的梯度就是这个二维离散函数的求导的结果,梯度算子,也即,用来计算梯度的方法。
其中,预设的梯度算子包括但不限于:索贝尔算子(Sobel operator)、Prewitt算子、罗伯茨算子(Roberts operator)和Canny算子。
优选的,本发明实施例采用的梯度算子为Canny算子。
S213:采用非最大值抑制的方式对初始梯度值集合进行边缘细化处理,得到一个像素宽的梯度边缘。
具体地,采用非最大值抑制的方式对初始梯度值集合进行边缘细化处理,得到一个像素宽的梯度边缘。
其中,非最大值抑制(Non Maximum Suppression,NMS)是抑制不是极大值的元素,可理解为局部进行最大值搜索,从而帮助保留局部最大梯度而抑制所有其他梯度值,这意味着只保留了梯度变化中最锐利的位置。
例如,在一具体实施方式中,在垂直方向,有4个像素宽度的梯度值构成了一个局部,在盖局部采用非最大值抑制的方式,搜索出这个局部的梯度值中梯度值最大的一个像素点,作为梯度边缘,从而实现了边缘细化。
S214:使用预设的双阈值过滤梯度边缘中的弱边缘点,得到梯度边缘中的强边缘点。
具体地,通过设置双阈值,即一个高阀值和一个低阀值来区分边缘像素。如果边缘像素点梯度值大于高阀值,则被认为是强边缘点,如果边缘梯度值小于高阀值,大于低阀值,则标记为弱边缘点,小于低阀值的点则被抑制掉,强边缘点可以确认为是真的边缘,但弱边缘点则可能是真的边缘,也可能是噪声或颜色变化引起的,为得到精确的结果,在本发明实施例中,弱边缘点也被抑制掉。
S215:根据强边缘点,确定车牌的上边界和车牌的下边界。
具体地,根据强边缘点,通过腐蚀延伸等图像处理,得到车牌的上边界和车牌的下边界。
其中,腐蚀可以消除强边缘点中独立的点,延伸可以将相邻但不相连的强边缘点连接起来。
本实施例中,通过高斯模糊对初始车牌图像进行噪音去除,得到去噪车牌图像,并使用预设的梯度算子来计算去噪车牌图像的水平方向和垂直方向的梯度值,得到初始梯度值集合,进而采用非最大值抑制的方式对初始梯度值集合进行边缘细化,得到一个像素宽的梯度边缘,使用预设的双阈值过滤梯度边缘中的弱边缘点,得到梯度边缘中的强边缘点,继而根据强边缘点,确定车牌的上边界和车牌的下边界,提高了车牌边缘检测的准确率,有利于后续对车牌范围的确定。
在图2对应的实施例的基础之上,下面通过一个具体的实施例来对步骤S80中所提及的将3a-2c个识别结果中的字符组成字符集,按照预设分割方式对字符集进行分割,从得到的每个子字符集中获取目标字符,并根据目标字符确定目标车牌号码的具体实现方法进行详细说明。
请参阅图6,图6示出了本发明实施例提供的步骤S80的具体实现流程,详述如下:
S81:依次将a-c个识别结果中的字符放入字符集X中,得到X={x1,x2,...,xq},其中,q为a-c个识别结果中包含的字符的总数,xi为字符集X中的第i个字符,i∈[1,q],q为正整数。
具体地,将每个识别结果中包含的字符依次放入初始值为空的字符集X中,得到X={x1,x2,...,xq},其中,q为a-c个识别结果中包含的字符的总数,xi为字符集X中的第i个字符。
例如,在一具体实施方式中,得到了112个识别结果,其中,前20个识别结果为:“”、“I”、“L”、“L”、“O”、“沪”、“沪”、“沪”、“沪”、“沪”、“沪”、“沪”、“沪”、“沪”、“沪、I”、“B”、“B”、“B”、“B”、“B”,其中,每个双引号中的内容为一个识别结果,每个识别结果可以为1个字符,也可以为空,也可以为多个字符,将这20个识别结果依次存入到字符集X中得到X={“I”、“L”、“L”、“O”、“沪”、“沪”、“沪”、“沪”、“沪”、“沪”、“沪”、“沪”、“沪”、“沪”、“I”、“B”、“B”、“B”、“B”、“B”}。
S82:根据k+1个预设范围,确定字符集X的k个切分点,其中,k<q,且k为正整数。
具体地,在步骤S81得到字符集X之后,需要将字符集X按照目标字符个数进行切分成多个子字符集,进而根据每个子字符集来确定一个目标字符。
在本发明实施例中,假定根据待识别的车牌的字符数量k+1,预先设置有k+1个范围,则根据k+1个预设范围来确定字符集X中的k个切分点。
其中,预设范围用来限定每个目标字符的优选范围,例如,第一个预设范围为(0,15],即将第一个识别结果到第15个识别结果作为第一个预设范围。
以步骤S81中的示例为例,若第一预设范围为(0,15],得到的字符集X={“I”、“L”、“L”、“O”、“沪”、“沪”、“沪”、“沪”、“沪”、“沪”、“沪”、“沪”、“沪”、“沪”、“I”、“B”、“B”、“B”、“B”、“B”},则选取第15个识别结果之后作为切分点,即将字符集X的第15个元素“I”和第16个元素“B”之间的位置作为第一个切分点。
值得说明的是,预设范围可以包括小数,例如,第二个预设范围为(15,31.5],即第二预设范围包括第16个识别结果到第31个识别结果的所有字符,以及第二个识别结果的前50%的字符。
其中,目标字符是指车牌号码字符中的字符,当前大多数的车牌号码为7个目标字符或者8个目标字符,因而目标字符的个数通常为7个或者8个,也可以根据实际需要设置为其他数值,此处不作具体限制。
S83:使用k个切分点对字符集X中的q个字符进行字符切分,得到k+1个子字符集。
具体地,使用得到的k个切分点对字符集X中的字符进行字符切分,得到k+1个子字符集,即得到k+1个优选范围。
其中,切分是指以两个相邻切分点为界限,将两个相邻切分点范围内的所有字符作为一个子字符集,对于第一个切分点,将第一个字符集到该切分点范围内的所有字符,作为第一个子字符集,对于最后一个切分点,将最后一个切分点到最后一个字符范围的所有字符作为最后一个子字符集。
S84:获取每个子字符集中出现次数最多的字符作为目标字符,得到k+1个目标字符。
具体地,针对每个子字符集,对该子字符集中每个字符出现的次数进行统计,将出现次数最多的字符作为该子字符集的目标字符,得到k+1个目标字符。
例如,在一具体实施方式中,其中一个子字符集为{“B”、“B”、“B”、“B”、“L”、“B”、“B”、“B”、“B”、“O”、“L”、“B”、“B”、“B”、“B”},经统计,得到结果为包含12个字符“B”,两个字符“L”,及一个字符“O”,将字符“B”作为该子字符集的目标字符。
值得说明的是,在车牌的实际使用中,车牌号码的第一个目标字符为汉字,但在神经网络的识别中,由于部分滑动图像中的汉字不全,可能到导致汉字被识别成大写英文字母,若得到的第一个目标字符为非中文字符时,则获取第一个子字符集中出现次数最多的中文字符作为第一个目标字符。
S85:按照k+1个预设范围的顺序,对k+1个目标字符进行组合,得到目标车牌号码。
具体地,按照照k+1个预设范围的顺序,对得到的k+1个目标字符进行排序,得到目标车牌号码。
例如,在一具体实施方式中,有7个预设范围,第一个预设范围对应的子字字符集的目标字符为“沪”,第二个预设范围对应的子字字符集的目标字符为“B”,第三个预设范围对应的子字字符集的目标字符为“2”,第四个预设范围对应的子字字符集的目标字符为“6”,第五个预设范围对应的子字字符集的目标字符为“A”,第六个预设范围对应的子字字符集的目标字符为“6”,第七个预设范围对应的子字字符集的目标字符为“3”,进行组合得到目标车牌号码为“沪B26A63”。
本实施例中,通过依次将3a-2c个识别结果中的字符放入字符集X中,并根据k+1个预设范围,确定字符集X的k个切分点,进而使用k个切分点对字符集X中的q个字符进行字符切分,得到k+1个子字符集,获取每个子字符集中出现次数最多的字符作为目标字符,得到k+1个目标字符,继而按照k+1个预设范围的顺序,对k+1个目标字符进行组合,得到目标车牌号码,使得无需对目标车牌图像进行分割,即可得到目标车牌图像中的字符,避免了按照预设的模板对目标车图像进行造成的部分字符无法识别,识别出的字符准确率不高的问题,提高了车牌识别的准确率和稳定性。
应理解,上述实施例中各步骤的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本发明实施例的实施过程构成任何限定。
在一实施例中,提供一种双层车牌识别装置,该双层车牌识别装置与上述实施例中双层车牌识别方法一一对应。如图7所示,该双层车牌识别装置包括获取模块10、预处理模块20、判断模块30、分层模块40、滑动模块50、终止模块60、识别模块70和分割模块80。各功能模块详细说明如下:
获取模块10,用于获取初始车牌图像;
预处理模块20,用于对初始车牌图像进行预处理,得到大小为2a×2b个像素的目标车牌图像,其中,a、b为正整数;
判断模块30,用于采用支持向量机对目标车牌图像进行层数检测,得到目标层数,其中,所述目标层数包括单层和双层。
分层模块40,用于若目标层数为双层,则将目标车牌图像裁剪成两个大小均为2a×b个像素的临时图像,并将下层的2a×b个像素的临时图像作为下层图像,将上层的2a×b的临时图像进行裁剪,获取中心区域的a×b个像素大小的图像,作为上层图像。
滑动模块50,用于采用预设大小为c×b个像素的滑动窗口,以1个像素为步长,在上层图像上和下层图像上,从左至右进行滑动操作,每次滑动,获取滑动窗口范围内的目标车牌图像,作为一个滑动窗口图像,其中,c<a且c为正整数;
终止模块60,用于在上层图像上,滑动a-c次后,终止在上层的滑动操作,得到a-c个滑动窗口图像,在下层图像上滑动2a-c次后,终止在下层的滑动操作,得到2a-c个滑动窗口图像,共得到3a-2c个滑动窗口图像;
识别模块70,用于将3a-2c个滑动窗口图像输入到卷积神经网络中进行识别,得到3a-2c个识别结果,其中,每个识别结果包括若干个字符;
分割模块80,用于将3a-2c个识别结果中的所有字符组成字符集,按照预设分割方式对字符集进行分割,从得到的每个子字符集中获取目标字符,并根据目标字符确定目标车牌号码。
进一步地,判断模块30包括:
提取单元31,用于提取目标车牌图像的图像向量特征;
计算单元32,用于使用如下公式计算图像特征的分类函数的函数值:
f(x)=wTx+b
其中,f(x)为分类函数,w为支持向量机的超平面的权值向量,wT为超平面的权值向量的转置,x为图像向量特征,b为预设的偏置值;
判断单元33,用于若函数值大于或等于0,则确定目标层数为双层。
进一步地,预处理模块20包括:
检测单元21,用于通过边缘检测算法,获取初始车牌图像中车牌的上边界和车牌的下边界;
确定单元22,用于根据车牌的上边界和车牌的下边界,确定车牌的范围图像;
校正单元23,用于使用拉东变换对范围图像进行倾斜校正,得到校正后的基础图像;
裁剪单元24,用于以基础图像的重心为中心,对基础图像进行裁剪,得到大小为a×b个像素的目标车牌图像。
进一步地,检测单元21包括:
去噪子单元211,用于通过高斯模糊对初始车牌图像进行噪音去除,得到去噪车牌图像;
计算子单元212,用于使用预设的梯度算子来计算去噪车牌图像的水平方向和垂直方向的梯度值,得到初始梯度值集合;
细化子单元213,用于采用非最大值抑制的方式对初始梯度值集合进行边缘细化,得到一个像素宽的梯度边缘;
过滤子单元214,用于使用预设的双阈值过滤梯度边缘中的弱边缘点,得到梯度边缘中的强边缘点;
定界子单元215,用于根据强边缘点,确定车牌的上边界和车牌的下边界。
进一步地,分割模块80包括:
生成单元81,用于依次将3a-2c个识别结果中的字符放入字符集X中,得到X={x1,x2,...,xq},其中,q为3a-2c个识别结果中包含的字符的总数,xi为字符集X中的第i个字符,i∈[1,q],q为正整数;
选取单元82,用于根据k+1个预设范围,确定字符集X的k个切分点,其中,k<q,且k为正整数;
切分单元83,用于使用k个切分点对字符集X中的q个字符进行字符切分,得到k+1个子字符集;
优选单元84,用于获取每个子字符集中出现次数最多的字符作为目标字符,得到k+1个目标字符;
组合单元85,用于按照k+1个预设范围的顺序,对k+1个目标字符进行组合,得到目标车牌号码。
关于双层车牌识别装置的具体限定可以参见上文中对于双层车牌识别方法的限定,在此不再赘述。上述双层车牌识别装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。
在一个实施例中,提供了一种计算机设备,该计算机设备可以是服务器,其内部结构图可以如图8所示。该计算机设备包括通过系统总线连接的处理器、存储器、网络接口和数据库。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统、计算机程序和数据库。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的数据库用于存储训练好的卷积神经网络模型和输入的初始车牌图像。该计算机设备的网络接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现一种双层车牌识别方法。
在一个实施例中,提供了一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,处理器执行计算机程序时实现上述实施例双层车牌识别方法的步骤,例如图2所示的步骤S10至步骤S80。或者,处理器执行计算机程序时实现上述实施例中双层车牌识别装置的各模块/单元的功能,例如图7所示模块10至模块80的功能。为避免重复,这里不再赘述。
在一个实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现上述方法实施例中双层车牌识别方法,或者,该计算机程序被处理器执行时实现上述装置实施例中双层车牌识别装置中各模块/单元的功能。为避免重复,这里不再赘述。
以上所述实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围,均应包含在本发明的保护范围之内。
Claims (6)
1.一种双层车牌识别方法,其特征在于,包括:
获取初始车牌图像;
对所述初始车牌图像进行预处理,得到大小为2a×2b个像素的目标车牌图像,其中,a、b为正整数;
提取所述目标车牌图像的图像向量特征;
使用如下公式计算所述图像向量特征的分类函数的函数值:
若所述函数值大于或等于0,则确定目标层数为双层;
若所述目标层数为双层,则将所述目标车牌图像裁剪成两个大小均为2a×b个像素的临时图像,并将下层的2a×b个像素的临时图像作为下层图像,将上层的2a×b的临时图像进行裁剪,获取中心区域的a×b个像素大小的图像,作为上层图像;
采用预设大小为c×b个像素的滑动窗口,以1个像素为步长,分别在所述上层图像中和所述下层图像中,从左至右进行滑动操作,并获取每次滑动时所述滑动窗口范围内的目标车牌图像,作为一个滑动窗口图像,其中,c<a且c为正整数;
在所述上层图像中,滑动a-c次后,终止在上层的滑动操作,得到a-c个滑动窗口图像,在所述下层图像上滑动2a-c次后,终止在所述下层图像的滑动操作,得到2a-c个滑动窗口图像,共得到3a-2c个滑动窗口图像;
将3a-2c个所述滑动窗口图像输入到卷积神经网络中进行识别,得到3a-2c个识别结果,其中,每个所述识别结果包括若干个字符;
根据k+1个预设范围,确定所述字符集X的k个切分点,其中,k<q,且k为正整数;
使用k个所述切分点对所述字符集X中的q个字符进行字符切分,得到k+1个子字符集;
获取每个所述子字符集中出现次数最多的字符作为目标字符,得到k+1个所述目标字符;
按照k+1个所述预设范围的顺序,对k+1个所述目标字符进行组合,得到所述目标车牌号码。
2.如权利要求1所述的双层车牌识别方法,其特征在于,所述对所述初始车牌图像进行预处理,得到大小为2a×2b个像素的目标车牌图像包括:
通过边缘检测算法,获取所述初始车牌图像中车牌的上边界和车牌的下边界;
根据所述车牌的上边界和所述车牌的下边界,确定车牌的范围图像;
使用拉东变换对所述范围图像进行倾斜校正,得到校正后的基础图像;
以所述基础图像的重心为中心,对所述基础图像进行裁剪,得到大小为2a×2b个像素的所述目标车牌图像。
3.如权利要求2所述的双层车牌识别方法,其特征在于,所述通过边缘检测算法,获取所述初始车牌图像中车牌的上边界和车牌的下边界包括:
通过高斯模糊对所述初始车牌图像进行噪音去除,得到去噪车牌图像;
使用预设的梯度算子来计算所述去噪车牌图像的水平方向和垂直方向的梯度值,得到初始梯度值集合;
采用非最大值抑制的方式对所述初始梯度值集合进行边缘细化处理,得到一个像素宽的梯度边缘;
使用预设的双阈值过滤所述梯度边缘中的弱边缘点,得到所述梯度边缘中的强边缘点;
根据所述强边缘点,确定所述车牌的上边界和所述车牌的下边界。
4.一种双层车牌识别装置,其特征在于,所述双层车牌识别装置包括:
获取模块,用于获取初始车牌图像;
预处理模块,用于对所述初始车牌图像进行预处理,得到大小为2a×2b个像素的目标车牌图像,其中,a、b为正整数;
提取单元,用于提取所述目标车牌图像的图像向量特征;
计算单元,用于使用如下公式计算所述图像向量特征的分类函数的函数值:
判断单元,用于若所述函数值大于或等于0,则确定目标层数为双层;
分层模块,用于若所述目标层数为双层,则将所述目标车牌图像裁剪成两个大小均为2a×b个像素的临时图像,并将下层的2a×b个像素的临时图像作为下层图像,将上层的2a×b个像素的临时图像进行裁剪,获取中心区域的a×b个像素大小的图像,作为上层图像;
滑动模块,用于采用预设大小为c×b的滑动窗口,以1个像素为步长,分别在所述上层图像中和所述下层图像中,从左至右进行滑动操作,并获取每次滑动时所述滑动窗口范围内的目标车牌图像,作为一个滑动窗口图像,其中,c<a且c为正整数;
终止模块,用于在所述上层图像中,滑动a-c次后,终止在上层的滑动操作,得到a-c个滑动窗口图像,在所述下层图像上滑动2a-c次后,终止在所述下层图像的滑动操作,得到2a-c个滑动窗口图像,共得到3a-2c个滑动窗口图像;
识别模块,用于将3a-2c个所述滑动窗口图像输入到卷积神经网络中进行识别,得到3a-2c个识别结果,其中,每个所述识别结果包括若干个字符;
选取单元,用于根据k+1个预设范围,确定所述字符集X的k个切分点,其中,k<q,且k为正整数;
切分单元,用于使用k个所述切分点对所述字符集X中的q个字符进行字符切分,得到k+1个子字符集;
优选单元,用于获取每个所述子字符集中出现次数最多的字符作为目标字符,得到k+1个所述目标字符;
组合单元,用于按照k+1个所述预设范围的顺序,对k+1个所述目标字符进行组合,得到所述目标车牌号码。
5.一种计算机设备,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现如权利要求1至3任一项所述双层车牌识别方法的步骤。
6.一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至3任一项所述双层车牌识别方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811119253.5A CN109447117B (zh) | 2018-09-25 | 2018-09-25 | 双层车牌识别方法、装置、计算机设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811119253.5A CN109447117B (zh) | 2018-09-25 | 2018-09-25 | 双层车牌识别方法、装置、计算机设备及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109447117A CN109447117A (zh) | 2019-03-08 |
CN109447117B true CN109447117B (zh) | 2023-06-30 |
Family
ID=65544415
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811119253.5A Active CN109447117B (zh) | 2018-09-25 | 2018-09-25 | 双层车牌识别方法、装置、计算机设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109447117B (zh) |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110210475B (zh) * | 2019-05-06 | 2021-05-18 | 浙江大学 | 一种非二值化和边缘检测的车牌字符图像分割方法 |
CN112686246B (zh) * | 2019-10-18 | 2024-01-02 | 深圳市优必选科技股份有限公司 | 一种车牌字符分割方法、装置、存储介质及终端设备 |
CN111695563B (zh) * | 2020-06-10 | 2022-07-05 | 北京筑梦园科技有限公司 | 一种单双层车牌识别方法、服务器及停车收费系统 |
CN111950659B (zh) * | 2020-09-01 | 2022-12-09 | 湖南国科微电子股份有限公司 | 双层车牌图像处理方法、装置、电子设备及存储介质 |
CN112215224A (zh) * | 2020-10-22 | 2021-01-12 | 深圳市平方科技股份有限公司 | 基于深度学习的挂车号码识别方法和装置 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106529532A (zh) * | 2016-11-07 | 2017-03-22 | 湖南源信光电科技有限公司 | 一种基于积分特征通道与灰度投影的车牌识别系统 |
CN107103317A (zh) * | 2017-04-12 | 2017-08-29 | 湖南源信光电科技股份有限公司 | 基于图像融合和盲反卷积的模糊车牌图像识别算法 |
WO2018028306A1 (zh) * | 2016-08-11 | 2018-02-15 | 杭州海康威视数字技术股份有限公司 | 一种车牌号码识别方法及装置 |
CN108073928A (zh) * | 2016-11-16 | 2018-05-25 | 杭州海康威视数字技术股份有限公司 | 一种车牌识别方法及装置 |
CN108416348A (zh) * | 2018-01-29 | 2018-08-17 | 重庆邮电大学 | 基于支持向量机和卷积神经网络的车牌定位识别方法 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9760789B2 (en) * | 2012-04-17 | 2017-09-12 | Conduent Business Services, Llc | Robust cropping of license plate images |
-
2018
- 2018-09-25 CN CN201811119253.5A patent/CN109447117B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2018028306A1 (zh) * | 2016-08-11 | 2018-02-15 | 杭州海康威视数字技术股份有限公司 | 一种车牌号码识别方法及装置 |
CN106529532A (zh) * | 2016-11-07 | 2017-03-22 | 湖南源信光电科技有限公司 | 一种基于积分特征通道与灰度投影的车牌识别系统 |
CN108073928A (zh) * | 2016-11-16 | 2018-05-25 | 杭州海康威视数字技术股份有限公司 | 一种车牌识别方法及装置 |
CN107103317A (zh) * | 2017-04-12 | 2017-08-29 | 湖南源信光电科技股份有限公司 | 基于图像融合和盲反卷积的模糊车牌图像识别算法 |
CN108416348A (zh) * | 2018-01-29 | 2018-08-17 | 重庆邮电大学 | 基于支持向量机和卷积神经网络的车牌定位识别方法 |
Non-Patent Citations (1)
Title |
---|
基于多尺度模板匹配和部件模型的车牌字符分割方法;裴明涛等;《北京理工大学学报》;第第34卷卷(第第9期期);第961-965页 * |
Also Published As
Publication number | Publication date |
---|---|
CN109447117A (zh) | 2019-03-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109492642B (zh) | 车牌识别方法、装置、计算机设备及存储介质 | |
CN109447117B (zh) | 双层车牌识别方法、装置、计算机设备及存储介质 | |
CN110414507B (zh) | 车牌识别方法、装置、计算机设备和存储介质 | |
US20200184187A1 (en) | Feature extraction and matching for biometric authentication | |
CN110569721A (zh) | 识别模型训练方法、图像识别方法、装置、设备及介质 | |
KR101848019B1 (ko) | 차량 영역 검출을 통한 차량 번호판 검출 방법 및 장치 | |
CN109472262A (zh) | 车牌识别方法、装置、计算机设备及存储介质 | |
CN108537099A (zh) | 一种复杂背景的车牌识别方法 | |
CN110660072B (zh) | 一种直线边缘的识别方法、装置、存储介质及电子设备 | |
CN114049499A (zh) | 用于连续轮廓的目标对象检测方法、设备及存储介质 | |
CN111080542B (zh) | 图像处理方法、装置、电子设备以及存储介质 | |
CN112861870B (zh) | 指针式仪表图像矫正方法、系统及存储介质 | |
CN106446921A (zh) | 一种高压输电线障碍物识别方法及装置 | |
CN112528868A (zh) | 一种基于改进Canny边缘检测算法的违章压线判别方法 | |
CN116434071B (zh) | 一种规整化建筑掩膜的确定方法、确定装置、设备及介质 | |
CN109522768A (zh) | Qr码的识别方法及装置 | |
WO2024016632A1 (zh) | 亮点定位方法、亮点定位装置、电子设备及存储介质 | |
Duan et al. | Real time road edges detection and road signs recognition | |
CN112184723B (zh) | 图像处理方法及装置、电子设备、存储介质 | |
CN109255792B (zh) | 一种视频图像的分割方法、装置、终端设备及存储介质 | |
CN108090425B (zh) | 一种车道线检测方法、装置及终端 | |
CN111915645B (zh) | 影像匹配方法、装置、计算机设备及计算机可读存储介质 | |
CN113781413A (zh) | 一种基于Hough梯度法的电解电容定位方法 | |
CN113159037B (zh) | 图片矫正方法、装置、计算机设备及存储介质 | |
CN112785550A (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |