具体实施方式
下面结合附图对本发明的较佳实施例进行详细阐述,以使本发明的优点和特征能更易于被本领域技术人员理解,从而对本发明的保护范围做出更为清楚明确的界定。
需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括……”限定的要素,并不排除在包括要素的过程、方法、物品或者设备中还存在另外的相同要素。
图1标示出了本发明一种提升车牌的中文字符自动检测识别率方法的一个具体实施方式。
在本发明的一个具体实施方式中,提升车牌的中文字符自动检测识别率方法主要包括模型前处理步骤S101,该步骤包括根据对实时采集的车牌图片进行标注得到的标注文件与车牌图片,建立车牌字符数据集。
在本发明的一个具体实施例中,标注文件的形成过程包括利用车牌识别算法对车牌的图片中的手动标注的数据进行训练,得到车牌识别权重文件;将车牌识别权重文件作为参数代入自动标注模型中,从而对车牌的图片进行再标注,省去了后期人工标注的时间与成本。
在本发明的一个具体实例中,初期用labelImg.exe软件对中国车牌图片中的字母、数字和中国省份汉字进行位置信息和类别信息的标注,形成图片名对应的***.xml文件,然后进行人为的检查标注,最后用车牌识别算法OCR对这样手动标注的数据进行训练形成初期的车牌识别权重文件,用初期的车牌识别权重文件作为参数代入模型自动标注程序中去对中国车牌进行标注形成.xml文件,然后人为进行检测去除不合格的标注。这种模型自动标注只需要前期用人工进行标注,并人工去检测标注是否合格,后期用模型自动标注程序进行标注代替人工标注,这样做的目的省去了后期人工标注的时间与成本。
在本发明的一个具体实例中,利用车牌图片和标注文件建立车牌字符数据集,其中标注文件包含车牌中的所有字符的位置信息和车牌中的所有字符的类别信息。
在本发明的一个具体实例中,图片是带有要识别目标的图片。
优选的,车牌的图片是经过二值化处理的图片,背景单一。
在本发明的一个具体实施方式中,在提升车牌的中文字符自动检测识别率方法中,模型前处理步骤S101还包括根据车牌字符数据集中的标注文件中的中文字符的类别,补充类别信息文件。
在本发明的一个具体实施例中,类别信息文件包含车牌字符数据集中的车牌字符的种类,种类包含车牌字符中的中文字符、字母字符及数字字符,其中,每一个字符代表一个种类,这样便于区分每一个字符。
在本发明的一个具体实例中,类别信息文件具体是用alpr-ocr-net.names记录的。传统车牌算法类别信息中包含数字和字母,其中数字部分0表示0,1表示1,2表示2,3表示3,4表示4,5表示5,6表示6,7表示7,8表示8,9表示9,共10种类别信息。字母部分A表示A,B表示B,C表示C,D表示D,E表示E,F表示F,G表示G,H表示H,J表示J,K表示K,L表示L,M表示M,N表示N,P表示P,Q表示Q,R表示Q,S表示S,T表示T,U表示U,V表示V,W表示W,X表示X,Y表示Y,Z表示Z,共24种类别信息。由于国内和国外的字母和数字方面是一样的,所以不动,但新加入了zh_jing,zh_hu,zh_jin,zh_yu1,zh_ji,zh_sx,zh_meng,zh_liao,zh_jl,zh_hei,zh_su,zh_zhe,zh_wan,zh_min,zh_gan,zh_lu,zh_yu,zh_e,zh_xiang,zh_yue,zh_gui1,zh_qiong,zh_cuan,zh_gui,zh_yun,zh_zang,zh_shan,zh_gan1,zh_qing,zh_ning,zh_xin,zh_shi,zh_ling,zh_gang,zh_ao,zh_jing1,zh_xue这37种类别信息。
在本发明的一个具体实施例中,对类别信息文件的补充包括车牌字符数据集中的车牌字符的类别信息以拼音的形式代表中国各个省份的简称,方便后续类别信息文件修正中文字符的形式。
在本发明的一个具体实例中,这37种类别信息是以拼音的方式表示中国车牌中的汉字,具体如下:zh_jing表示京,zh_hu表示沪,zh_jin表示津,zh_yu1表示渝,zh_ji表示冀,zh_sx表示晋,zh_meng表示蒙,zh_liao表示辽,zh_jl表示吉,zh_hei表示黑,zh_su表示苏,zh_zhe表示浙,zh_wan表示皖,zh_min表示闽,zh_gan表示赣,zh_lu表示鲁,zh_yu表示豫,zh_e表示鄂,zh_xiang表示湘,zh_yue表示粤,zh_gui1表示桂,zh_qiong表示琼,zh_cuan表示川,zh_gui表示贵,zh_yun表示云,zh_zang表示藏,zh_shan表示陕,zh_gan1表示甘,zh_qing表示青,zh_ning表示宁,zh_xin表示新,zh_shi表示使,zh_ling表示领,zh_gang表示港,zh_ao表示澳,zh_jing1表示警,zh_xue表示学。
在本发明的一个具体实施方式中,在提升车牌的中文字符自动检测识别率方法中,模型前处理步骤S101还包括根据经补充的类别信息文件,改写用于对神经网络进行描述的网络描述文件。
在本发明的一个具体实例中,网络描述文件用alpr-ocr-net.cfg记录。因为信息的类别种类和数目的改变,所以在alpr-ocr-net.cfg中修改类别数目和输出通道。
在本发明的一个具体实例中,将车牌识别算法中的batch=1改为batch=64,这样改进的目的是增加图片输入数量,这样可以对多个图片进过网络计算形成的loss进行反向传播时减小训练震荡。
在本发明的一个具体实例中,车牌识别算法中增加anchors数量,由原来的2个anchor机制增加到4个anchors机制,其中,代码中anchors集合框中的4个数由3个逗号隔开。
在本发明的一个具体实例中,车牌识别网络输出tensor是4*(71+5),其中,4代表4个anchors机制,71代表71个类别信息,5是由两个坐标点和一个置信度组成的,其中两个坐标点是4个数值。
在本发明的一个具体实例中,中国车牌图片是经过二值化处理过的图片,所以背景是单一的,即只包含字符目标和单一背景。为了提高OCR神经网络对车符(字符:汉字京、沪等,字母:A,B等,数字:1,2等)的检测概率,增加这部分的权重系数;由于识别的种类多,某些种类的图片比较少,所以适当的增加了预测类别的损失函数的权重。OCR算法的损失函数中的object_scale的值由40增加到55,class_scale的值由1增加到1.5。
图2标示出了本发明一种提升车牌的中文字符自动检测识别率方法的一个具体实施例,在本发明的一个具体实施例中,在模型前处理步骤之前还可以包括图像信息采集步骤S100,该步骤包括图像采集和处理。
在本发明的一个具体实例中,本方案中车牌识别应用于地下停车场中,在地下停车场中一个摄像头要对应1个或者2个或者3个或者3个以上的车辆,面对一个图片中可能出现1个车或者2个车或者3个车或者3个以上车的车牌,选用了Alpr算法(开源算法)。Alpr全称Automatic License Plate Recognition,即自动车牌识别,是一种基于摄像头无场景约束的自动识别车牌的技术。通过摄像头采集图像,将采集的图像在GTX1080tiGPU服务器或者其他型号的服务器上运行Alpr算法进行识别车牌。识别工作无须人工干预,可工作各种环境。使用Alpr算法可对多个车牌进行快速识别。Alpr算法在摄像头采集到的图片中先进行车辆识别,然后将每个车辆裁剪成一张图片,然后对裁剪后的单辆车进行车牌检测并进行矫正最终得到几乎正视的车牌图片。
在本发明的一个具体实施方式中,提升车牌的中文字符自动检测识别率方法主要还包括:模型训练步骤S102。该步骤包括将车牌字符数据集中的车牌字符的预训练权重加载在神经网络上,从而对车牌字符数据集进行特征提取,得到相应的车牌字符的特征,由神经网络对相应的车牌字符的每一个字符的特征依次进行学习,从而依次预测相应的车牌字符的每一个字符的位置信息和车牌字符的类别信息,利用类别信息文件依次对经预测的车牌字符的每一个字符的类别信息进行修正,利用经预测的车牌字符的每一个字符的位置信息、经修正的车牌字符的每一个字符的类别信息和标注文件中相应车牌字符的位置信息和类别信息,依次计算神经网络损失度,根据根据经依次计算的神经网络损失度进行反向传播,依次改写神经网络的参数,得到车牌字符数据集中的车牌字符的最终训练权重。
在本发明的一个具体实施例中,将车牌字符数据集中的车牌字符的预训练权重加载在神经网络上,从而对车牌字符数据集进行特征提取,得到相应的车牌字符的特征的过程包括对车牌字符数据集中的车牌图片与包含车牌字符位置信息和车牌字符类别信息的标注文件进行特征提取,其中标注文件与车牌图片一一对应,使得提取出来的特征更加具体。
在本发明的一个具体实施例中,利用类别信息文件依次对经预测的车牌字符的每一个字符的类别信息进行修正的过程包括类别信息文件将经预测的车牌字符的类别信息修正为与标注文件中相应的车牌字符的类别信息一样的形式,使得识别出的字符更加准确。
在本发明的一个具体实例中,根据根据经依次计算的神经网络损失度进行反向传播,依次改写神经网络的当前历史参数,得到车牌字符数据集中的车牌字符的最终训练权重的过程包括将经依次计算的神经网络损失度进行反向传播到神经网络中,改写神经网络的当前历史参数,使得神经网络的参数收敛于一个近似值。
在本发明的一个具体实施例中,得到车牌字符数据集中的车牌字符的最终训练权重的过程还包括将经改写的网络描述文件、预训练权重以及经补充的类别信息文件的路径和车牌字符数据集的路径作为参数进行训练,创新了训练方式。
在本发明的一个具体实例中,网络描述文件、类别信息文件以及预训练权重三者之间的运作关系是:首先用网络描述文件构建的神经网络中的主干网络加载预训练权重对车牌字符数据集进行特征提取;其次神经网络中的后端网络将主干网络提取好的特征进行再提取并预测目标的位置信息和类别信息;然后类别信息文件将预测出的目标类别信息转化为与标注文件中目标类别信息一样的形式,将预测出的位置信息、类别信息和标注文件中的位置信息、类别信息进行损失度loss计算,将loss值进行反向传播到后端网络,并改写其参数;最后重复上述的训练步骤直至达到训练次数,保存主干网络和后端网络的参数形成最终训练权重文件即***.weights文件。
在本发明的一个具体实例中,后端网络预测出来位置信息和标注文件中目标的位置信息都是数字形式,所以不用对预测出的位置信息做处理,预测出的类别信息和标注文件中目标的类别信息是不一样的,所以需要类别信息文件对预测出的类别信息进行处理。
在本发明的一个具体实例中,网络描述文件是用来构建神经网络的,分成主干网络和后端网络两个部分;类别信息文件记录要识别的目标有哪些类别;预训练权重由一堆带有格式存放的数字组成,目的是为了主干网络固化参数,作用是加速神经网络的收敛。预训练权重只是为了提取车牌特征,并不能检测和识别车牌当中的车牌字符,所以训练的目的为了形成不仅可以提取特征还可以检测和识别车牌字符的权重。
图3标示出了本发明一种提升车牌的中文字符自动检测识别率方法的模型训练阶段。
在本发明的一个具体实例中,传统车牌识别算法没有提供如何进行训练的方式,在此我们创新了自己的训练方式。传统车牌识别算法OCR是基于yolo算法改进,所以我们将darknet53作为预训练权重。训练方式是这样:./darknet detector train cfg/alpr-ocr-net.data cfg/alpr-ocr-net.cfg darknet53.conv.74;其中,车牌图片和标注文件以及类别目标信息是在cfg/alpr-ocr-net.data中体现,cfg/alpr-ocr-net.data中记录了类别目标信息alpr-ocr-net.names和中国车牌数据集的路径;网络描述文件在cfg/alpr-ocr-net.cfg中体现;预训练权重的作用在darknet53.conv.74中体现。
在本发明的一个具体实例中,将yolo算法中的detector.c进行编译,将alpr-ocr-net.cfg,darknet53.conv.74以及alpr-ocr-net.data作为detector.c的参数,然后运行./darknet detector train cfg/alpr-ocr-net.data cfg/alpr-ocr-net.cfgdarknet53.conv.74-gpus 1,开始OCR网络的训练,直到达到指定训练次数,得到最终训练权重,用alpr-ocr-net_final.weights记录。
在本发明的一个具体实例中,最终训练权重alpr-ocr-net_final.weights由一堆带有格式存放的数字组成,是训练阶段的产物,推理阶段需要用到。
在本发明的一个具体实施方式中,提供一种车牌识别方法,其利用提升车牌中文字符自动检测识别率的模型训练方法训练得到的模型,进行模型推理,其中,模型推理的过程包括,将车牌字符数据集中的车牌字符的最终训练权重加载在神经网络上,从而对实时采集的车牌图片进行特征提取,得到车牌图片中的字符特征;由神经网络对车牌图片中的字符特征进行学习,从而预测车牌图片中的字符的位置信息和车牌图片中的字符的类别信息;利用类别信息文件对车牌图片中的字符的类别信息进行修正;利用经修正的车牌图片中的字符的类别信息,对车牌图片中的字符进行识别;以及按照经预测的车牌图片中的字符的位置信息,对经识别的车牌图片中的字符进行排列并输出。
在本发明的一个具体实例中,模型推理的过程还包括将训练完的最终训练权重alpr-ocr-net_final.weights、类别信息文件alpr-ocr-net.names、网络描述文件alpr-ocr-net.cfg、图片路径作为参数送到送到ocr.py,在GTX1080tiGPU服务器或者其他型号的服务器端中运行ocr.py,从而进行中国车牌测试和识别。
图4标示出了本发明一种提升车牌的中文字符自动检测识别率方法的模型推理阶段。
在本发明的一个具体实例中,网络描述文件alpr-ocr-net.cfg、类别信息文件alpr-ocr-net.names以及训练得到的最终训练权重alpr-ocr-net_final.weights三者之间的运作关系是网络描述文件构建的神经网络中的主干网络和后端网络模型加载最终训练权重,主干网络对未知的中国车牌图片进行特征提取,后端网络对主干网络提取好的特征进行特征再提取,并预测车牌中字符的位置信息以及类别信息。类别信息文件的目的就是将预测出的目标类别信息转化为标注文件中目标类别一样的形式,然后按照位置信息对预测出的字符进行排列,最终输出和车牌字符顺序一样的车牌号。
在本发明的一个具体实例中,由于后端网络预测出来位置信息和标注文件中目标的位置信息都是数字形式,所以不用对预测出的位置信息做处理,而预测出的类别信息和标注文件中目标的类别信息是不一样的,所以需要类别信息文件对预测出的类别信息进行处理。
在本发明的一个具体实例中,将最终训练权重alpr-ocr-net_final.weights、类别信息文件alpr-ocr-net.names、网络描述文件alpr-ocr-net.cfg、图片路径作为参数送到ocr.py中对中国车牌进行预测识别。
图5标示出了本发明一种提升车牌的中文字符自动检测识别率装置的一个具体实施方式。
在本发明的一个具体实施方式中,提供一种提升车牌的中文字符自动检测识别率的模型训练装置包括模型前处理模块501,该模块用于根据对实时采集的车牌图片进行标注得到的标注文件与车牌图片,建立车牌字符数据集,用于根据车牌字符数据集中的中文字符的类别,补充类别信息文件,用于根据经补充的类别信息文件,改写用于对神经网络进行描述的网络描述文件。
在本发明的一个具体实例中,中国车牌字符数据集由带有要识别目标字符的图片和标注文件组成的,其中,标注文件在前期用人工进行标注,并人工去检测标注是否合格,后期用模型自动标注程序进行标注代替人工标注,这样省去了后期人工标注的时间与成本。
在本发明的一个具体实例中,类别信息文件新增添了37种类别信息,并以拼音的方式代表了中国37个省份的汉字,类别信息文件中一共有71种类别。
在本发明的一个具体实例中,网络描述文件的改进是根据新增添的字符信息种类和数目来更改的。
在本发明的一个具体实施方式中,提供一种提升车牌的中文字符自动检测识别率的模型训练装置还包括模型训练模块502,该模块用于将车牌字符数据集中的车牌字符的预训练权重加载在神经网络上,从而对车牌字符数据集进行特征提取,得到相应的车牌字符的特征,用于由神经网络对相应的车牌字符的每一个字符的特征依次进行学习,从而依次预测相应的车牌字符的每一个字符的位置信息和车牌字符的类别信息,用于利用类别信息文件依次对经预测的车牌字符的每一个字符的类别信息进行修正,用于利用经预测的车牌字符的每一个字符的位置信息、经修正的车牌字符的每一个字符的类别信息和标注文件中相应车牌字符的位置信息和类别信息,依次计算神经网络损失度,用于根据经依次计算的神经网络损失度进行反向传播,依次改写神经网络的当前历史参数,得到车牌字符数据集中的车牌字符的最终训练权重。
在本发明的一个具体实例中,网络描述文件构建的神经网络中的主干网络加载预训练权重对中国车牌图片字符数据集进行特征提取;其次神经网络中的后端网络将主干网络提取好的特征进行再提取并预测中国车牌图片字符的位置信息和类别信息;然后类别信息文件将预测出的中国车牌图片字符类别信息转化为与标注文件中目标类别信息一样的形式,将预测出的位置信息、类别信息和标注文件中的位置信息、类别信息进行损失度loss计算,将loss值进行反向传播到后端网络,并改写其参数;最后重复上述的训练步骤直至达到训练次数,保存主干网络和后端网络的参数形成不仅可以提取特征还可以检测和识别车牌字符的最终的权重文件即***.weights文件。
在本发明的一个具体实例中,模型训练模块还用于车牌识别算法对预训练权重的改进。
在本发明的一个具体实施方式中,一种计算机可读存储介质,其存储有计算机指令,计算机指令被操作以执行任一实施例描述的提升车牌的中文字符自动检测识别率方法。
在本发明所提供的几个实施例中,应该理解到,所揭露的装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,上述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
上述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
以上描述仅为本发明的实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。