会员体验
专利管家(专利管理)
工作空间(专利管理)
风险监控(情报监控)
数据分析(专利分析)
侵权分析(诉讼无效)
联系我们
交流群
官方交流:
QQ群: 891211   
微信请扫码    >>>
现在联系顾问~
首页 / 专利库 / 人工智能 / 训练数据 / 一种车牌识别训练数据的合成方法

一种车牌识别训练数据的合成方法

阅读:1029发布:2020-05-12

IPRDB可以提供一种车牌识别训练数据的合成方法专利检索,专利查询,专利分析的服务。并且本发明涉及一种车牌识别训练数据的合成方法,它包括以下步骤:S1.创建一张背景图像;遍历背景图像中的每一个像素,各像素都有随机概率p1在背景图像上生成不同的基础要素图案;S2.从车身图像数据库中随机选出一张车身图像,从选取的车身图像中随机裁剪出局部车身图像,将背景图像和局部车身图像合并形成复合图像;S3.在复合图像上随机选取区域绘制车牌图像。本发明的优点在于:本发明的车牌识别训练数据的合成方法具有经济、高效和量大的优点,解决了传统的人工数据收集方法中的耗费人力物力、效率低下的问题,能快速为车牌识别深度学习模型提供了无限的训练数据。,下面是一种车牌识别训练数据的合成方法专利的具体信息内容。

1.一种车牌识别训练数据的合成方法,其特征在于,它包括以下步骤:

S1.创建一张背景图像img1,其宽为w1像素,高为h1像素;遍历背景图像img1中的每一个像素,各像素都有随机概率p1在背景图像img1上生成不同的基础要素图案;

S2.从车身图像数据库中随机选出一张车身图像,从选取的车身图像中随机裁剪出局部车身图像img2,将背景图像img1和局部车身图像img2合并形成复合图像img_mix,上述车身图像数据库中的车身图像均不含有车牌信息;

S3.在复合图像img_mix上随机选取区域绘制车牌图像。

2.根据权利要求1所述的一种车牌识别训练数据的合成方法,其特征在于:步骤S1中基础要素图案通过OpenCV图形库内的图形绘制函数进行绘制,图形绘制函数包括ellipse、polylines、rectangle,绘制时从上述三个图形绘制函数中随机选取一个。

3.根据权利要求2所述的一种车牌识别训练数据的合成方法,其特征在于:步骤S1中基础要素图案的尺寸、粗细以及灰度分别通过factor1、factor2、factor3进行控制,factor1、factor2、factor3分别为不同数值区间内的随机值。

4.根据权利要求1所述的一种车牌识别训练数据的合成方法,其特征在于,步骤S2中:车身图像数据库中的车身图像为宽320像素、高515像素的灰度图像;

从随机选取的车身图像中裁剪出一张宽320像素、高320像素的局部车身图像img2,所裁剪的局部车身图像img2的左上角在原图像上的坐标为(0,y),y取值于区间[0,195]中的一个随机值;

背景图像img1为宽512像素、高320像素的灰度图像,背景图像img1与局部车身图像img2混合时,img2左上角在img1上的坐标为(x,0),x取值于区间[0,192]中的一个随机值。

5.根据权利要求1所述的一种车牌识别训练数据的合成方法,其特征在于,步骤S2中复合图像img_mix通过以下混合公式得到:img_mix=img1*rate+img2*(1-rate),其中rate取值于区间[0,1]中的一个随机值。

6.根据权利要求1-5任意一项所述的一种车牌识别训练数据的合成方法,其特征在于,步骤S3包括以下子步骤:S3-1:将车牌图像划分为三个组成部分,分别为车牌背景、车牌边框和车牌号码;

S3-2:确定车牌背景、车牌边框和车牌号码三者的灰度值;

S3-3:选定车牌类型并根据所选定的车牌类型随机产生对应的车牌号码;

S3-4:确定车牌背景、车牌边框和车牌号码的尺寸以及相对位置;

S3-5:确定车牌背景、车牌边框和车牌号码在复合图像img_mix上的位置;

S3-6:将车牌背景、车牌边框和车牌号码绘制在复合图像img_mix上。

7.根据权利要求6所述的一种车牌识别训练数据的合成方法,其特征在于,步骤S3-4具体过程如下:先选定车牌号码中的字体尺寸plate_size;根据字体尺寸plate_size计算出车牌号码所在矩形包围框的宽w2,高h2;进而计算出车牌背景以及车牌边框的宽为w2+2*delta,高为h2+2*delta;最后车牌边框的线条宽度取值于特定区间中的随机值;其中delta=h2*factor5,factor5=0.2。

8.根据权利要求7所述的一种车牌识别训练数据的合成方法,其特征在于,步骤S3-5具体过程如下:假设车牌号码左上角坐标所取的随机值为(x1,y1),则其右下角坐标为(x1+w2,y1+h2),车牌背景和车牌边框的左上角坐标为(x1-delta,y1-delta),右下角坐标为(x1+w2+delta,y1+h2+delta)。

9.根据权利要求6所述的一种车牌识别训练数据的合成方法,其特征在于,它还包括步骤S4:对步骤S3中得到的绘有车牌图像的复合图像img_mix进行随机模糊程度的高斯模糊和动感模糊处理。

10.根据权利要求6所述的一种车牌识别训练数据的合成方法,其特征在于,它还包括步骤S5:对步骤S4所得合成图像进行概率为p2的透视变换,透视变换中合成图像在x、y、z三个维度方向上的透视角度随机变化的范围均为[-30,30]。

说明书全文

一种车牌识别训练数据的合成方法

技术领域

[0001] 本发明涉及一种图像合成技术,特别是一种车牌识别训练数据的合成方法,该技术基于程序自动生成并标注能够模拟用户实际拍摄的车牌图像的合成图像,为车牌文本的定位和识别深度学习模型的训练提供充足的图像数据。

背景技术

[0002] 车牌识别程序基于一系列计算机算法,用于对摄像头拍摄的汽车图像中的车牌进行定位和识别,广泛用于停车场、高速公路等场景,目前主流的车牌识别程序都基于深度学习算法。
[0003] 基于深度学习的车牌识别程序是一种深度学习模型,程序刚建立之初,就像刚出生的婴儿,程序系统内部没有任何知识积累,对于图像中的车牌号码也没有任何预测能力。需要后期向深度学习模型提供大量标注好的车牌图像数据,使其通过不断的前向计算并反向调节参数来学习图像数据中的潜在知识,以获得智能预测车牌号码的能力,这个过程叫做训练或学习。训练过程中的数据是深度学习模型的知识来源,其重要性不言而喻,可以说训练数据的好坏决定了最终训练出的深度学习模型的好坏。
[0004] 当前车牌识别深度学习模型的训练数据主要通过人工采集和标注的方法来获得。大致流程是:首先通过招募一定的人力或在道路上安置摄像头等方法拍摄数以万计来自全国各个省份的不同类型和场景的车牌图像;然后由数据标注员将车牌图像中车牌号码所在矩形框的坐标信息以及车牌号码标注出来。
[0005] 传统的人工采集和标注车牌图像数据的方法具有诸多的局限性:(1)需要耗费大量的人力、物力和财力;(2)可用于训练的车牌图像数据制作周期长;(3)特殊类型的车牌图像难以获得,比如领事馆车、警车、军车等。

发明内容

[0006] 本发明的目的在于提供一种车牌识别训练数据的合成方法,该技术经济,高效,且生成的车牌图像数据数量无限,可为车牌识别深度学习模型提供足够的数据。
[0007] 本发明的目的通过如下技术方案实现:一种车牌识别训练数据的合成方法,它包括以下步骤:
[0008] S1.创建一张背景图像img1,其宽为w1像素,高为h1像素;遍历背景图像img1中的每一个像素,各像素都有随机概率p1在背景图像img1上生成不同的基础要素图案;
[0009] S2.从车身图像数据库中随机选出一张车身图像,从选取的车身图像中随机裁剪出局部车身图像img2,将背景图像img1和局部车身图像img2合并形成复合图像img_mix,上述车身图像数据库中的车身图像均不含有车牌信息;
[0010] S3.在复合图像img_mix上随机选取区域绘制车牌图像。
[0011] 较之现有技术而言,本发明的优点在于:
[0012] 本发明的车牌识别训练数据的合成方法具有经济、高效和量大的优点,解决了传统的人工数据收集方法中的耗费人力物力、效率低下的问题,能快速为车牌识别深度学习模型提供了无限的训练数据。此外,程序可以合成双层车牌的车牌图像,使得训练出来的深度学习模型可以识别双侧车牌的车牌号码。

附图说明

[0013] 图1是本发明一种车牌识别训练数据的合成方法的流程图。
[0014] 图2是车牌图像在二维坐标系下的演示图。
[0015] 图3是本发明所生成的用于车牌识别训练的合成图像。
[0016] 图4是本发明所生成的用于车牌识别训练的合成图像。
[0017] 图5是本发明所生成的用于车牌识别训练的合成图像。
[0018] 图6是本发明所生成的用于车牌识别训练的合成图像。
[0019] 图7是本发明所生成的用于车牌识别训练的合成图像。
[0020] 图8是本发明所生成的用于车牌识别训练的合成图像。
[0021] 图9是本发明所生成的用于车牌识别训练的合成图像。
[0022] 图10是本发明所生成的用于车牌识别训练的合成图像。

具体实施方式

[0023] 下面结合说明书附图和实施例对本发明内容进行详细说明:
[0024] 如图1至10所示为本发明提供的一种车牌识别训练数据的合成方法的实施例示意图。
[0025] 一种车牌识别训练数据的合成方法,它包括以下步骤:
[0026] 步骤1:
[0027] S1.创建一张背景图像img1,其宽为w1像素,高为h1像素;遍历背景图像img1中的每一个像素,各像素都有随机概率p1(随机概率p1取值于区间[0,0.002]中的一个随机值)在背景图像img1上生成不同的基础要素图案;
[0028] 背景图像img1为单通道图像,w1为512像素、h1为320像素,其灰度取值于区间[0,255]中的一个随机值。
[0029] 步骤S1中基础要素图案通过OpenCV图形库内的图形绘制函数进行绘制,图形绘制函数包括ellipse、polylines、rectangle,绘制时从上述三个图形绘制函数中随机选取一个。基础要素图案绘制时以上述像素点为中心进行绘制。
[0030] ellipse、polylines、rectangle分别用来绘制曲线、折线、矩形等基本图形,以模拟现实场景中的曲线、折线和矩形。
[0031] 步骤S1中基础要素图案的尺寸、粗细以及灰度分别通过factor1、factor2、factor3进行控制,factor1、factor2、factor3分别为不同数值区间内的随机值。
[0032] 在背景图像img1上绘制基础要素图案期间,随机概率p1起到了控制背景图像中基础要素图案数量的作用,另外使用3个取值随机的控制因子factor1、factor2、factor3分别用来控制所绘制的基础要素图案的尺寸、粗细和灰度。
[0033] 3个控制因子在每次生成基础要素图案时的值都是不同的,都源于一定范围内的随机值,3个控制因子的取值范围分别是[5,600]、[1,200]、[0,255]。
[0034] 在绘制折线时,使用附加的一个控制因子vertex_num用来控制折线中顶点的数量,vertex_num取值于区间[2,50]中的一个随机值。这样在每次生成背景图像img1时才能产生任意复杂的背景图像,所生成的背景图像img1也能对现实场景的随机性有一定的模拟能力。
[0035] 步骤2:
[0036] S2.从车身图像数据库中随机选出一张车身图像,从选取的车身图像中随机裁剪出局部车身图像img2,将背景图像img1和局部车身图像img2合并形成复合图像img_mix,上述车身图像数据库中的车身图像均不含有车牌信息;
[0037] 步骤S2中:车身图像数据库中的车身图像为宽320像素、高515像素的灰度图像;从随机选取的车身图像中裁剪出一张宽320像素、高320像素的局部车身图像img2,所裁剪的局部车身图像img2的左上角在原图像上的坐标为(0,y),y取值于区间[0,195]中的一个随机值;
[0038] 背景图像img1为宽512像素、高320像素的灰度图像,背景图像img1与局部车身图像img2混合时,img2左上角在img1上的坐标为(x,0),x取值于区间[0,192]中的一个随机值。
[0039] 步骤S2中复合图像img_mix通过以下混合公式得到:
[0040] img_mix=img1*rate+img2*(1-rate),其中rate取值于区间[0,1]中的一个随机值。
[0041] 车身图像数据库中的车身图像使用ccpd数据集中的2000张不含车牌的车身图像数据集,它们的原始尺寸都是宽720像素、高1160像素的彩色图像。这里将它们都缩小并转换为宽320像素、高515像素的灰度图像。
[0042] 步骤3:
[0043] S3.在复合图像img_mix上随机选取区域绘制车牌图像。
[0044] 步骤S3包括以下子步骤:
[0045] S3-1:将车牌图像划分为三个组成部分,分别为车牌背景、车牌边框和车牌号码;
[0046] S3-2:确定车牌背景、车牌边框和车牌号码三者的灰度值;
[0047] 车牌背景、车牌边框和车牌号码的灰度都取值于区间[0,255]中的随机值,但是期间要保证车牌背景和车牌号码的灰度差值的绝对值大于20,以保证车牌号码和车牌背景不会因灰度值太相似而混在一起无法区分。
[0048] S3-3:选定车牌类型并根据所选定的车牌类型随机产生对应的车牌号码;
[0049] 首先随机选择一个车牌类型(目前支持的车牌类型有蓝牌、黄牌、绿牌、白牌和黑牌),然后生成一个该车牌类型所对应的随机的车牌号码,比如对于蓝牌,生成的车牌号码可以是“闽A698KH”。
[0050] S3-4:确定车牌背景、车牌边框和车牌号码的尺寸以及相对位置;
[0051] 步骤S3-4具体过程如下:
[0052] 先选定车牌号码中的字体尺寸plate_size;根据字体尺寸plate_size计算出车牌号码所在矩形包围框的宽w2,高h2;进而计算出车牌背景以及车牌边框的宽为w2+2*delta,高为h2+2*delta;最后车牌边框的线条宽度取值于特定区间中的随机值;其中delta=h2*factor5,factor5=0.2。
[0053] 由于车牌号码位于车牌背景和车牌边框的正中间,车牌背景和车牌边框与车牌号码的相对位置不变,经测量发现车牌满足以下公式:
[0054] h2/delta=factor5=0.2
[0055] 所以确定字体尺寸plate_size即可得出车牌号码所在矩形包围框的宽w2和高h2,进而得出车牌背景以及车牌边框的宽和高。
[0056] 字体尺寸plate_size取值于区间[15,70]中的随机值,单位是像素。
[0057] 车牌边框的线条宽度取值于区间[1,6]中的随机值。
[0058] S3-5:确定车牌背景、车牌边框和车牌号码在复合图像img_mix上的位置;
[0059] 由于车牌背景和车牌边框与车牌号码的相对位置不变,所以这里只需要为车牌号码分配一个随机的位置坐标即可。但由于车牌识别模型的需要,这里还要有一个限制:车牌号码距离复合图像img_mix的上下左右四个边界的距离均不能小于padding(padding取值为10像素)。
[0060] 所以车牌号码左上角坐标的x值随机取值于区间[padding,w1-padding-w2],y值随机取值于区间[padding,h1-padding-h2]。
[0061] 步骤S3-5具体过程如下:
[0062] 假设车牌号码左上角坐标所取的随机值为(x1,y1),则其右下角坐标为(x1+w2,y1+h2),车牌背景和车牌边框的左上角坐标为(x1-delta,y1-delta),右下角坐标为(x1+w2+delta,y1+h2+delta)。
[0063] 其中,x1+w2=x2,y1+h2=y2,x1-delta=x3,y1-delta=y4,x1+w2+delta=x4,y1+h2+delta=y4。
[0064] S3-6:将车牌背景、车牌边框和车牌号码绘制在复合图像img_mix上。
[0065] 通过上述几个步骤获取到关键的参数后,就可以使用Pillow图形库的text()函数和OpenCV图形库的rectangle()函数将车牌号码、车牌背景和车牌边框绘制到复合图像img_mix上。
[0066] 步骤4:
[0067] 对步骤S3中得到的绘有车牌图像的复合图像img_mix进行随机模糊程度的高斯模糊和动感模糊处理,以模拟现实场景中所拍摄图像的模糊效果。
[0068] 步骤5:
[0069] 对步骤S4所得合成图像进行概率为p2的透视变换,透视变换中合成图像在x、y、z三个维度方向上的透视角度随机变化的范围均为[-30,30],以此来模拟现实场景中拍摄车牌时可能变化的角度。至此便完成了一张合成的黑白车牌图像。
[0070] 本发明最终合成的是黑白图像,相比于彩色图像,黑白图像数据量更小(是彩色RGB图像数据量的1/3),而且黑白图像不会损失车牌号码信息,这有助于加速深度学习模型的处理速度。
高效检索全球专利

IPRDB是专利检索,专利查询,专利分析-国家发明专利查询检索分析平台,是提供专利分析,专利查询专利检索等数据服务功能的知识产权数据服务商。

我们的产品包含105个国家的1.26亿组数据,专利查询、专利分析

电话:13651749426

侵权分析

IPRDB的侵权分析产品是IPRDB结合多位一线专利维权律师和专利侵权分析师的智慧,开发出来的一款特色产品,也是市面上唯一一款帮助企业研发人员、科研工作者、专利律师、专利分析师快速定位侵权分析的产品,极大的减少了用户重复工作量,提升工作效率,降低无效或侵权分析的准入门槛。

立即试用