车牌图像生成方法、装置、设备及介质与流程

文档序号:16846676发布日期:2019-02-12 22:22阅读:583来源:国知局
车牌图像生成方法、装置、设备及介质与流程

本发明涉及图像处理技术领域,尤其涉及一种车牌图像生成方法、装置、设备及介质。



背景技术:

随着我国国民经济的迅速发展,我国成为当今世界上公路基础设施建设速度最快的国家,也是交通需求增长最快的国家,人们机动车保有量大幅升高,机动车的规模也日渐剧增。我国机动车的数量年均增长15%以上,随着我国机动车数量的快速上升,由此引发的交通问题也越来越严重,因而在许多地方按照了摄像头,通过摄像头拍摄路过的车辆的车牌图像,并使用车牌图像识别算法来对车牌号码进行识别,从而对车辆进行管控。

目前的车牌图像识别算法,普遍使用机器学习算法,机器学习算法中的训练过程需要大量的车牌图像样本。而真实车牌图像样本获取难度大,受国家、省份、车辆类型等因素影响,车牌图像样本覆盖率低,因此如何获得大量具有训练价值的“真实”车牌图像是个难题。

当前,大部分的业内厂家还是采用摄像头采集车牌图像样本。这种人工采集的方式采集成本高效率低、实用性差,同时人工采集也会导致图片质量不稳定的问题。



技术实现要素:

本发明实施例提供一种车牌图像生成方法,以解决采集车牌图像样本效率低、实用性差且质量不稳定的问题。

第一方面,本发明实施例提供一种车牌图像生成方法,包括:

若接收到生成车牌图像的指令,则获取所述指令中包含的车牌类型;

根据所述车牌类型对应的车牌号码结构,生成随机的车牌号码;

从预设的字体库中选取与所述车牌号码中每个字符对应的字符图像,并将所述字符图像组合成初始车牌图像;

对所述初始车牌图像进行图像预处理,得到模拟车牌图像;

使用循环生成对抗网络算法,对所述模拟车牌图像进行特征转换,得到目标车牌图像。

第二方面,本发明实施例提供一种车牌图像生成装置,包括:

类型获取模块,用于若接收到生成车牌图像的指令,则获取所述指令中包含的车牌类型;

号码生成模块,用于根据所述车牌类型对应的车牌号码结构,生成随机的车牌号码;

图像合成模块,用于从预设的字体库中选取与所述车牌号码中每个字符对应的字符图像,并将所述字符图像组合成初始车牌图像;

图像预处理模块,用于对所述初始车牌图像进行图像预处理,得到模拟车牌图像;

特征转换模块,用于使用循环生成对抗网络算法,对所述模拟车牌图像进行特征转换,得到目标车牌图像。

第三方面,本发明实施例提供一种计算机设备,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述车牌图像生成方法的步骤。

第四方面,本发明实施例提供一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现上述车牌图像生成方法的步骤。

本发明实施例提供的车牌图像生成方法、装置、计算机设备及存储介质,在接收到生成车牌图像的指令后,获取该指令中包含的车牌类型,并根据车牌类型对应的预设车牌号码结构,生成随机的车牌号码,进而从预设的字体库中选取与该车牌号码中包含的字符相对应的字符图像,根据字符图像和车牌号码,生成初始车牌图像,并对生成的初始车牌图像进行预处理,并将预处理后的模拟车牌图像输入到循环生成对抗网络中进行训练,得到目标车牌图像,高效快捷地生成了接近真实车牌图像的模拟车牌图像,提高了车牌图像采集的效率,真实性较高,同时也保证了车牌图像的高质量的需求。

附图说明

为了更清楚地说明本发明实施例的技术方案,下面将对本发明实施例的描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。

图1是本发明实施例提供的车牌图像生成方法的应用环境示意图;

图2是本发明实施例提供的车牌图像生成方法的实现流程图;

图3是本发明实施例提供的车牌图像生成方法中步骤s50的实现流程图;

图4是本发明实施例提供的车牌图像生成方法中步骤s52的实现流程图;

图5是本发明实施例提供的车牌图像生成方法中步骤s40的实现流程图;

图6是本发明实施例提供的车牌图像生成方法中步骤s41的实现流程图;

图7是本发明实施例提供的车牌图像生成方法中步骤s43的实现流程图;

图8是本发明实施例提供的车牌图像生成装置的示意图;

图9是本发明实施例提供的计算机设备的示意图。

具体实施方式

下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

请参阅图1,图1示出本发明实施例提供的车牌图像生成方法的应用环境。该车牌图像生成方法应用在机动车的车牌图像生成场景中。该生成场景包括服务端和客户端,其中,服务端和客户端之间通过网络进行连接,用户通过发送生成指定类型的车牌图像的请求到服务端,服务端生成随机的车牌号码图像并对图像进行预处理和风格迁移,客户端具体可以但不限于是各种个人计算机、笔记本电脑、智能手机、平板电脑和便携式可穿戴设备,服务端具体可以用独立的服务器或者多个服务器组成的服务器集群实现。

请参阅图2,图2示出本发明实施例提供的一种车牌图像生成方法,以该方法应用在图1中的服务端为例进行说明,详述如下:

s10:若接收到生成车牌图像的指令,则获取指令中包含的车牌类型。

具体地,用户通过客户端,向服务端发送生成车牌图像的指令,服务端在接收到该指令后,获取指令中包含的车牌类型。

其中,车牌类型包括但不限于:车牌底色和车牌号码种类等,车牌底色包括但不限于:蓝色、黄色、白色、黑色和绿色等,车牌号码种类包括但不限于:民用汽车车牌、新能源车辆车牌、政府部门用车车牌和新军车牌等。

例如,在一具体实施方式中,服务端从用户发送的生成车牌图像的指令中,获取到的车牌类型为:底色为蓝色的民用汽车车牌。

s20:根据车牌类型对应的车牌号码结构,生成随机的车牌号码。

具体地,由步骤s10可知悉,车牌类型包括车牌号码种类,不同种类的车牌号码,对应有不同的车牌号码结构,在后台服务器中,存储有不同的车牌号码结构对应的车牌号码的生成方式,因而,可根据车牌类型对应的车牌号码结构,获取该车牌号码结构对应的车牌号码生成方式,继而使用该生成方式生成随机车牌号码,即可得到用户需求类型的随机车牌号码。

例如,在一具体实施方式中,指令中包含的车牌类型为:底色为蓝色的民用汽车车牌,则获取民用汽车车牌对应的车牌号码生成方式,生成一个随机的民用汽车车牌“皖a305y6”,在另一具体实施方式中,指令中包含的车牌类型为底色为黑色的新军车牌,则获取新军车牌对应的车牌号码生成方式,生成一个随机的新军车牌“ku13256”。

s30:从预设的字体库中选取车牌号码中每个字符对应的字符图像,并将字符图像组合成初始车牌图像。

具体地,在得到车牌号码之后,需要生成该车牌号码对应的车牌图片,由于车牌号码的字体为特殊字体,无法通过计算机直接输出,因而,本发明实施例采用的方式为:预先为车牌号码中的每个字符设置一个对应的字符图像,通过获取车牌号码中每个字符对应的字符图像,并将这些字符图像按照车牌号码中字符的顺序组合起来,并使用车辆类型中包含的底色作为背景色,生成初始车牌图像。

其中,一个字符图像中包含一个字符,且字体为车牌号码所用的特殊字体。

其中,预设的字体库中包含:0至9这10个阿拉伯数字的字符图像,26个英文大写字母的字符图像,和34个中国省份、直辖市、地区的简称中文字符,共计70个预设的字符图像。

例如,在一具体实施方式中,生成的随机车牌号码为“皖a305y6”,底色为蓝色,从预设的字体库中选取“皖”、“a”、“3”、“0”、“5”、“y”和“6”这7个字符图像,并按照“皖”、“a”、“3”、“0”、“5”、“y”和“6”的顺序进行组合,最后以蓝色为底色生成初始车牌图像。

值得说明的是,字符图像均为透明图像,即无底色的图像。

s40:对所述初始车牌图像进行图像预处理,得到模拟车牌图像。

具体地,由于车牌在自然环境下,会受到一些侵蚀污染,使得像素值分布会产生一些变化,在得到初始车牌图像之后,为了使得该图像更为接近真实车牌图像,需要对该图像进行图像预处理,使得该图像更为自然,更接近真实车牌图像。

其中,图像预处理包括但不限于:像素值随机扰动、高斯模糊和锐化等。

s50:使用循环生成对抗网络算法,对模拟车牌图像进行特征转换,得到目标车牌图像。

具体地,使用循环生成对抗网络算法,将模拟车牌图像和真实车牌图像中的特征进行相互转换,得到更为接近真实车牌图像的目标车牌图像。

其中,循环生成对抗网络算法是通过两个生成对抗网络进行循环训练,使得最终得到的训练图像尽可能的保留模拟车牌图像和真实车牌图像中的共同特征,对两个图像中较大区别的特征,尽可能地使用真实车牌图像中的特征来进行弥补,使得最后得到的目标车牌图像尽可能地保留自身的特征,并接近于真实车牌图像。

值得说明的是,每个生成对抗网络包括至少一个生成网络和至少一个判别网络,优选地,在本发明实施例中,包含两个生成对抗网络,分别为第一生成对抗网络和第二生成对抗网络。

本实施例中,在接收到生成车牌图像的指令后,获取该指令中包含的车牌类型,并根据车牌类型对应的预设车牌号码结构,生成随机的车牌号码,进而从预设的字体库中选取与该车牌号码中包含的字符相对应的字符图像,根据字符图像和车牌号码,生成初始车牌图像,并对生成的初始车牌图像进行预处理和风格迁移,高效快捷地生成了接近真实车牌图像的模拟车牌图像,提高了车牌图像采集的效率,真实性较高,同时也保证了车牌图像的高质量的需求。

在图2对应的实施例的基础之上,下面通过一个具体的实施例来对步骤s50中所提及的使用循环生成对抗网络算法,对模拟车牌图像进行特征转换,得到目标车牌图像的具体实现方法进行详细说明。

请参阅图3,图3示出了本发明实施例提供的步骤s50的具体实现流程,详述如下:

s51:获取预设的真实车牌图像。

具体地,在生成模拟车牌图像后,需要对模拟车牌图像进行特征转换,即将真实车牌图像的部分特征转换到模拟车牌图像上,得到模拟车牌图像更接近真实车牌图像,因而,首先需要从预设的真实车牌图像集合中选取一张真实车牌图像,作为用来进行特征转换的图像。

值得说明的是,预设真实图像样本集合所需的真实图像样本并不是很大,是对模拟车牌图像进行优化,训练的目的是为了将模拟车牌图像与真实车牌图像进行特征互换,使得模拟车牌图像接近真实车牌图像的特征更为明显,即更接近真实车牌图像,因而真实车牌图像中的内容与模拟车牌图像中的内容,并不一致也能训练。

s52:以真实车牌图像为目标,将模拟车牌图像输入到预设的循环生成对抗网络中进行训练,得到训练图像。

具体地,以真实车牌图像为目标,使用预设的循环生成对抗网络对模拟车牌图像进行训练,得到训练图像,该训练图像具有模拟车牌图像的部分特征和真实车牌图像的部分特征。

其中,循环生成对抗网络包括两个网络:循环网络和生成对抗网络。

生成对抗网络(generativeadversarialnetworks,gan)是一种深度学习模型,该深度学习模型采用复杂分布上无监督学习方法,通过框架中生成模型(generativemodel)和判别模型(discriminativemodel)这两个模型之间的互相博弈学习得到准确的学习结果。

循环网络是指在两个生成对抗网络之间进行循环,即,将第一个生成对抗网络得到的学习结果作为输入,输入到第二个生成对抗网络中,进而将第二个对抗网络中的学习结果作为输入,输入到第一个生成对抗网络中,反复循环,直到达到预设的循环次数。

例如,在一具体实施方式中,存在两个生成对抗网络fx和fy,以真实车牌图像为目标图像,使用fx对模拟车牌图像进行训练,得到一个第一训练图像,进而以模拟车牌图像为目标,使用fy对第一训练图像进行训练,得到训练图像,即完成一个循环,继续以真实车牌图像为目标图像,使用得到的训练图像为输入,进行循环训练,直到训练次数达到预设次数,

s53:若训练次数未达到预设次数,则将训练图像重新输入到预设的循环生成对抗网络进行训练。

具体地,步骤s52中每进行一次循环,即为训练一次,当训练次数未达到预设次数,则返回步骤s52,继续将得到的训练图像输入到循环生成对抗网络中进行训练。

其中,预设次数可以根据实际需要进行设置,预设次数越多,生成的图片质量越好,但同时消耗时间也越久,效率相应会降低。

优选地,本发明实施例预设次数为300次。

s54:若训练次数达到预设次数,则终止训练,并将最终得到的训练图像作为目标车牌图像。

具体地,当步骤s52中循环训练的次数达到预设次数,则停止训练,并将得到的训练图像作为目标车牌图像。

本实施例中,通过获取预设的真实车牌图像,以真实车牌图像为目标,将模拟车牌图像输入到预设的循环生成对抗网络中进行训练,得到训练图像,并将训练图像作为输入进行循环训练,当训练次数达到预设次数,则终止训练,并将最终得到的训练图像作为目标车牌图像,使得得到的目标车牌图像更接近为真实车牌图像,提升了目标车牌图像的真实性,增强了目标车牌图像的质量。

在图3对应的实施例的基础之上,下面通过一个具体的实施例来对步骤s52中所提及的以真实车牌图像为目标,将模拟车牌图像输入到预设的循环生成对抗网络中进行训练,得到训练图像的具体实现方法进行详细说明。

请参阅图4,图4示出了本发明实施例提供的步骤s52的具体实现流程,详述如下:

s521:将模拟车牌图像作为第一输入图像,将真实车牌图像作为第一目标图像,将第一输入图像输入到第一生成网络中,以第一目标图像为目标,进行第一生成训练,得到初始训练图像。

具体地,将模拟车牌图像作为第一输入图像,输入到第一生成对抗网络中,使用第一生成对抗网络中的第一生成网络进行训练,得到初始训练图像。

其中,第一生成对抗网络是以真实车牌图像作为第一目标图像进行训练,即第一生成对抗网络训练的目的就是让输入该网络的图像尽可能的接近真实车牌图像。

优选地,在本发明实施例中,第一生成对抗网络包括一个生成网络和一个判别网络,分别为第一生成网络和第一对抗网络,第二生成对抗网络包括一个生成网络和一个判别网络,分别为第二生成网络和第二对抗网络。

s522:通过第一判别网络,计算第一训练图像与第一目标图像之间的损失,得到第一循环损失。

具体地,将经过第一生成网络训练后得到的初始训练图像后,将该初始训练图像输入到判别网络中进行计算,得到第一训练图像和第一目标图像之间的损失,即第一循环损失。

其中,判别网络用来判别一张图片是不是“真实的”。它的输入参数是x,x在本步骤在代表模拟车牌图像,输出d(x)代表x为真实车牌图片的概率,如果为1,就代表100%是真实车牌图片,而输出为0,就代表不可能是真实车牌图片,优选地,在本发明实施例中,概率大于50%的特征,即判定可能是真实车牌图像的特征,概率小于50%的特征,即判定不可能是真实车牌图像的特征,需要进行损失更新。

其中,第一训练图像与第一目标图像之间的损失,即通过计算第一训练图像中特征为第一目标图像中的特征的概率,将第一训练图像的特征是第一目标图像的特征概率小于50%的这些特征,作为损失特征,即第一循环损失。

值得说明的是,在训练过程中,生成网络的目标就是尽量生成真实的图片去欺骗判别网络,而判别网络的目标就是尽量把生成网络生成的图片和真实图片区别开来。这样,生成网络和区别网络就构成了一个动态的“博弈过程”,在每次判别网络计算之后,找出与真实图像之间的误差,即第一循环损失,进而用该损失对第一生成网络进行更新,使得在下一次使用第一生成网络进行训练时,使得得到的第一训练图像更为接近真实车牌图像。

s523:将第一循环损失更新到第一生成网络。

具体地,将步骤s522中得到的第一循环损失更新到第一生成网络,使得第一生成网络在后续进行生成训练时,得到的第一训练图像更接近真实车牌图像。

s524:将第一训练图像作为第二输入图像,将模拟车牌图像作为第二目标图像,将第二输入图像输入到第二生成网络中,以第二目标图像为目标,进行第二生成训练,得到训练图像。

具体地,将模拟车牌图像作为目标图像,将得到的第一训练图像作为第二输入图像,输入到第二生成网络中进行训练,得到训练图像。

需要说明的是,第二生成对抗网络是以模拟车牌图像作为第二目标图像进行训练,即第二生成对抗网络训练的目的是让输入该网络的图像尽可能的接近模拟车牌图像的特征,经过第一生成训练和第二生成训练,使得得到的图像尽可能地取得模拟车牌图像和真实车牌图像之间的共同部分,尽可能避开模拟车牌图像和真实车牌图像之间差别大的特别。

具体实现方法可参考步骤s521的描述,为避免重复,此处不再赘述。

s525:通过第二判别网络,计算训练图像与第二目标图像之间的损失,得到第二循环损失。

具体地,通过第二判别网络,计算训练图像与模拟车牌图像之间的损失,得到第二循环损失,具体实现过程可参见步骤s522的描述,为避免重复,此处不再赘述。

s526:将第二循环损失更新到第二生成网络。

具体地,将步骤s525中得到的第二循环损失更新到第二生成网络,使得第二生成网络在后续进行生成训练时,得到的训练图像保留更多的模拟车牌图像特征。

本实施例中,将模拟车牌图像作为第一输入图像,将真实车牌图像作为第一目标图像,将第一输入图像输入到第一生成网络中,以第一目标图像为目标,进行第一生成训练,得到初始训练图像,进而通过第一判别网络,计算第一训练图像与第一目标图像之间的损失,得到第一循环损失,将第一循环损失更新到第一生成网络,继而将第一训练图像作为第二输入图像,将模拟车牌图像作为第二目标图像,将第二输入图像输入到第二生成网络中,以第二目标图像为目标,进行第二生成训练,得到训练图像,再通过第二判别网络,计算训练图像与第二目标图像之间的损失,得到第二循环损失,进而将第二循环损失更新到第二生成网络,使得在经过不断训练,模拟车牌图像与真实车牌图像之间的共同特征越来越多,即,模拟车牌图像越来越接近真实车牌图像,增强了模拟车牌图像的真实性,提高了模拟车牌图像的质量。

在图2对应的实施例的基础之上,下面通过一个具体的实施例来对步骤s40中所提及的对所述初始车牌图像进行图像预处理,得到模拟车牌图像的具体实现方法进行详细说明。

请参阅图5,图5示出了本发明实施例提供的步骤s40的具体实现流程,详述如下:

s41:对初始车牌图像中像素点的像素值进行随机扰动,得到像素值随机分布的第一车牌图像。

具体地,实际拍摄的真实车牌图像,由于新旧纯度不一,车牌表面的像素值会发生一些变化,为使得到的车牌图像更接近真实车牌图像,需要对初始车牌图像进行像素值随机扰动,进而得到像素值随机分布的第一车牌图像。

其中,随机扰动是指针对每个点的像素值,按照预设方式进行随机变化像素值。

例如,在一具体实施方式中,预设方式为:按照扰动范围为本身的[-20,20]的范围进行随机扰动,其中某像素点的rgb像素值为(6,12,230),经过该预设方式的随机扰动后变为(8,12,226)。

值得说明的是,像素值中每种色素的范围为[0,255],即扰动后最大值为255,最小值为0。

s42:将第一车牌图像进行腐蚀膨胀处理,得到第二车牌图像。

具体地,在步骤s41进行像素值的随机扰动之后,可能出现一些像素值与周边像素值偏差较大的像素点,通过对第一车牌图像进行图像腐蚀膨胀处理,使得第一车牌图像更为自然。

其中,腐蚀的作用是消除物体边界点,使目标缩小,可以消除小于结构元素的噪声点;膨胀的作用是将与物体接触的所有背景点合并到物体中,使目标增大,可添补目标中的空洞。图像处理中的开运算是先腐蚀后膨胀的过程,可以消除图像上细小的噪声,并平滑物体边界。图像处理中的闭运算时先膨胀后腐蚀的过程,可以填充物体内细小的空洞,并平滑物体边界。

优选地,本发明实施例采用开运算的方式来使得图像平滑,即先进行腐蚀操作后进行膨胀操作。

s43:通过高斯模糊算法对第二车牌图像进行模糊处理,得到模拟车牌图像。

具体地,拍摄的真实车牌图像由于受到环境因素和拍摄因素的影响,会有一些热噪声和散粒噪声等,针对第二车牌图像,使用高斯模糊算法在图像中添加高斯白噪声,得到模拟车牌图像,使得模拟车牌图像更接近真实车牌图像。

其中,高斯白噪声(whitegaussiannoise)中的高斯是指概率分布是高斯分布,而白噪声是指它的二阶矩不相关,一阶矩为常数,且先后信号在时间上的相关性。

本实施例中,对初始车牌图像中像素点的像素值进行随机扰动,得到像素值随机分布的第一车牌图像,进而将第一车牌图像进行腐蚀膨胀处理,得到第二车牌图像,继而通过高斯模糊算法对第二车牌图像进行模糊处理,得到模拟车牌图像,使得得到的模糊车牌图像相比于初始车牌图像,更接近真实车牌图像,提高了模拟车牌图像的质量。

在图5对应的实施例的基础之上,下面通过一个具体的实施例来对步骤s41中所提及的对所述初始车牌图像中像素点的像素值进行随机扰动,得到像素值随机分布的第一车牌图像的具体实现方法进行详细说明。

请参阅图6,图6示出了本发明实施例提供的步骤s41的具体实现流程,详述如下:

s411:从预设的真实车牌图像中随机选取预设个数的像素点,作为采样点。

具体地,为使得初始车牌图像尽可能的接近真实车牌图像,从拍摄的真实车牌图像中随机选取一些像素点,作为采样点,进而在后续根据这些采样点的像素变化范围来对初始车牌图像中的像素点的像素值进行随机扰动。

例如,在一具体实施方式中,选取预设的50张底色为蓝色的真实车牌图像,从每张真实车牌图像中随机获取10个像素点作为采样点,得到500个采样点。

s412:获取每个采样点的rgb颜色值,并根据rgb颜色值的分布范围确定对像素值进行随机扰动的目标幅度。

具体地,获取每个采样点的rgb颜色值,并根据这些rgb颜色值,确定采样点的rgb颜色值的分布范围,将这个分布范围作为像素值进行随机扰动的目标幅度。

其中,rgb颜色是工业界的一种颜色标准,是通过对红、绿、蓝三个颜色通道的变化以及它们相互之间的叠加来得到各式各样的颜色的,rgb即是代表红、绿、蓝三个通道的颜色,这个标准几乎包括了人类视力所能感知的所有颜色,是目前运用最广的颜色系统之一,rgb颜色值即rgb颜色的值,它包括红色通道的值、绿色通道的值和蓝色通道的值。

值得说明的是,上述红色通道的值、绿色通道的值和蓝色通道的值的扰动范围可以相同,也可以不同。

s413:随机选择初始车牌图像中的像素点作为目标像素点,并在目标幅度的范围内,随机改变目标像素点的像素值,得到像素值随机分布的第一车牌图像。

具体地,在确定对像素值进行随机扰动的目标幅度后,从初始车牌图像中随机选取像素点作为目标像素点,并在上述目标幅度范围内,对目标像素点进行随机扰动,进而得到像素值随机分布的第一车牌图像。

其中,随机扰动是指对像素值作随机改变。

值得说明的是,选取作为目标像素点的像素点,可以是车牌图像中的部分像素点,也可以说初始车牌图像中的所有像素点,可根据实际情况进行选取。

优选地,本发明实施例在车牌号码字符周围的像素点中随机选取一些像素点作为目标像素点。本实施例中,通过从预设的真实车牌图像中随机选取预设个数的像素点,作为采样点,并获取每个采样点的rgb颜色值,并根据rgb颜色值的分布范围确定对像素值进行随机扰动的目标幅度,进而随机选择初始车牌图像中的像素点作为目标像素点,并在目标幅度的范围内,随机改变目标像素点的像素值,得到像素值随机分布的第一车牌图像,使得第一车牌图像的像素值被随机扰动,更为接近真实车牌图像,有利于提高模拟车牌图像的质量。

在图5对应的实施例的基础之上,下面通过一个具体的实施例来对步骤s43中所提及的通过高斯模糊算法对第二车牌图像进行模糊处理,得到模拟车牌图像的具体实现方法进行详细说明。

请参阅图7,图7示出了本发明实施例提供的步骤s43的具体实现流程,详述如下:

s431:获取第二车牌图像中每个像素点的像素值。

具体地,依次读取第二车牌图像中每个像素点的像素值。

s432:针对每个像素点,采用如下公式更新每个像素点的像素值,得到每个像素点的临时像素值:

其中,f(x)为每个像素点的临时像素值,x为每个像素点的像素值,μ为预设的平均值,σ为预设的标准方差,π为圆周率,是以自然常数e为底,以为指数的指数函数的值。

具体地,针对每个像素点,通过上述公式,计算其进行高斯变换后得到的临时像素值。

其中,σ为预设的标准方差,其获取方式为:根据预设真实车牌图像中每个像素点的像素值,计算预设的真实车牌图像中像素点的标准方差,进而将该标准方差作为预设的标准方差σ。

其中,μ为预设的平均值,其获取方法与预设的标准方差σ相同,为避免重复,此处不再赘述。

s433:将每个像素点的临时像素值按照预设的压缩方式,缩放到0至255之间,得到每个像素点的目标像素值。

具体地,在经过高斯变换后,所述像素值存在过大或者过小的情况,此时,需要对像素值进行压缩,即将像素值缩放到0至255之间,具体方式为:获取最大的像素值,计算最大像素值与255的比例,作为缩放比例,同时,将所有像素嗲你的像素值除以该缩放比例,得到每个像素点的目标像素值。

值得说明的是,像素值的三个通道,每个通道都会获取一个最大值作为像素值在这个通道的最大值,进而进行该通道缩放比例的计算。

例如,在一具体实施方式中,一像素点的像素值为(116,52,296),该像素点的蓝色通道的像素值为所有蓝色通道的最大像素值,因而将296/255的值作为蓝色通道的缩放比例,同时,将每个像素点的蓝色通道的像素值均除以296/255的值,即可得到该像素点在蓝色通道的目标像素值,同理可得红色通道和绿色通道的目标像素值。

s434:使用每个像素点的目标像素值,对第二车牌图像进行更新,得到模拟车牌图像。

具体地,使用步骤s433中计算得到的目标像素值,替换第二车牌图像中的像素值,进而得到模拟车牌图像。

本实施例中,获取第二车牌图像中每个像素点的像素值,进而使用高斯模糊,对第二车牌图像中每个像素点的像素值进行更新,得到临时像素值,并将每个像素点的临时像素值按照预设的压缩方式,缩放到0至255之间,得到每个像素点的目标像素值,使用每个像素点的目标像素值,对第二车牌图像进行更新,得到模拟车牌图像,从而使得模拟车牌图像更接近真实车牌图像,保证了模拟车牌图像质量的稳定性。

应理解,上述实施例中各步骤的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本发明实施例的实施过程构成任何限定。

在一实施例中,提供一种车牌图像生成装置,该车牌图像生成装置与上述实施例中车牌图像生成方法一一对应。如图8所示,该车牌图像生成装置包括类型获取模块10、号码生成模块20、图像合成模块30、图像预处理模块40和风格迁移模块50。各功能模块详细说明如下:

类型获取模块10,用于若接收到生成车牌图像的指令,则获取指令中包含的车牌类型;

号码生成模块20,用于根据车牌类型对应的车牌号码结构,生成随机的车牌号码;

图像合成模块30,用于从预设的字体库中选取车牌号码中每个字符对应的字符图像,并将字符图像组合成初始车牌图像;

图像预处理模块40,用于对初始车牌图像进行图像预处理,得到模拟车牌图像;

特征转换模块50,用于使用循环生成对抗网络算法,对模拟车牌图像进行特征转换,得到目标车牌图像。

进一步地,图像预处理模块40包括:

随机扰动单元41,用于对所述初始车牌图像中像素点的像素值进行随机扰动,得到像素值随机分布的第一车牌图像;

腐蚀膨胀单元42,用于将所述第一车牌图像进行腐蚀膨胀处理,得到第二车牌图像;

高斯模糊单元43,用于通过高斯模糊算法对所述第二车牌图像进行模糊处理,得到模拟车牌图像。

进一步地,随机扰动模块41包括:

样点获取子单元411,用于从预设的真实车牌图像中随机选取预设个数的像素点,作为采样点;

范围确定子单元412,用于获取每个采样点的rgb颜色值,并根据rgb颜色值的分布范围确定对像素值进行随机扰动的目标幅度;

像素扰动子单元413,用于随机选择初始车牌图像中的像素点作为目标像素点,并在目标幅度的范围内,随机改变目标像素点的像素值,得到像素值随机分布的第一车牌图像。

进一步地,高斯模糊模块43包括:

像素值获取子单元431,用于获取第二车牌图像中每个像素点的像素值;

像素值更新子单元432,用于针对每个像素点,采用如下公式更新每个像素点的像素值,得到每个像素点的临时像素值:

其中,f(x)为每个像素点的临时像素值,x为每个像素点的像素值,μ为预设的平均值,σ为预设的标准方差,π为圆周率,是以自然常数e为底,以为指数的指数函数的值;

像素值压缩子单元433,用于将每个像素点的临时像素值按照预设的压缩方式,缩放到0至255之间,得到每个像素点的目标像素值;

图像更新子单元434,用于使用每个像素点的目标像素值,对第二车牌图像进行更新,得到模拟车牌图像。

进一步地,特征转换模块50包括:

图像获取单元51,用于获取预设的真实车牌图像;

图像训练单元52,用于以真实车牌图像为目标,将模拟车牌图像输入到预设的循环生成对抗网络中进行训练,得到训练图像;

循环训练单元53,用于若训练次数未达到预设次数,则将训练图像重新输入到预设的循环生成对抗网络进行训练;

图像确定单元54,用于若训练次数达到预设次数,则终止训练,并将最终得到的训练图像作为目标车牌图像。

进一步地,图像训练单元52包括:

第一训练子单元521,用于将模拟车牌图像作为第一输入图像,将真实车牌图像作为第一目标图像,将第一输入图像输入到第一生成网络中,以第一目标图像为目标,进行第一生成训练,得到初始训练图像;

第一计算子单元522,用于通过第一判别网络,计算第一训练图像与第一目标图像之间的损失,得到第一循环损失;

第一更新子单元523,用于将第一循环损失更新到第一生成网络;

第二训练子单元524,用于将第一训练图像作为第二输入图像,将模拟车牌图像作为第二目标图像,将第二输入图像输入到第二生成网络中,以第二目标图像为目标,进行第二生成训练,得到训练图像;

第二计算子单元525,用于通过第二判别网络,计算训练图像与第二目标图像之间的损失,得到第二循环损失;

第二更新子单元526,用于将第二循环损失更新到第二生成网络。

关于车牌图像生成装置的具体限定可以参见上文中对车牌图像生成方法的限定,在此不再赘述。上述车牌图像生成装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。

在一个实施例中,提供了一种计算机设备,该计算机设备可以是服务器,其内部结构图可以如图9所示。该计算机设备包括通过系统总线连接的处理器、存储器、网络接口和数据库。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统、计算机程序和数据库。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的数据库用于存储预设的车牌号码结构和字符库。该计算机设备的网络接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现一种车牌图像生成方法。

在一个实施例中,提供了一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,处理器执行计算机程序时实现上述实施例车牌图像生成方法的步骤,例如图2所示的步骤s10至步骤s50。或者,处理器执行计算机程序时实现上述实施例中车牌图像生成装置的各模块/单元的功能,例如图8所示模块10至模块50的功能。为避免重复,此处不再赘述。

在一个实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现上述方法实施例中车牌图像生成方法,或者,该计算机程序被处理器执行时实现上述装置实施例中车牌图像生成装置中各模块/单元的功能。为避免重复,此处不再赘述。

本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可包括只读存储器(rom)、可编程rom(prom)、电可编程rom(eprom)、电可擦除可编程rom(eeprom)或闪存。易失性存储器可包括随机存取存储器(ram)或者外部高速缓冲存储器。作为说明而非局限,ram以多种形式可得,诸如静态ram(sram)、动态ram(dram)、同步dram(sdram)、双数据率sdram(ddrsdram)、增强型sdram(esdram)、同步链路(synchlink)dram(sldram)、存储器总线(rambus)直接ram(rdram)、直接存储器总线动态ram(drdram)、以及存储器总线动态ram(rdram)等。

所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,仅以上述各功能单元、模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能单元、模块完成,即将所述装置的内部结构划分成不同的功能单元或模块,以完成以上描述的全部或者部分功能。

以上所述实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围,均应包含在本发明的保护范围之内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1