车牌污损分类模型的生成方法和车牌污损分类方法
文献发布时间:2023-06-19 10:51:07
技术领域
本申请涉及人工智能技术领域,具体涉及计算机视觉技术领域以及智能交通技术领域,具体涉及一种车牌污损分类模型的生成方法、车牌污损分类方法、装置、设备、存储介质和车牌污损分类模型。
背景技术
当今城镇的汽车数量逐渐增多,车辆管理日益重要,每一辆汽车都有专属车牌,因此车辆管理中的重要分支是对车辆的车牌的管理,如何改善已有的车牌识别技术,提高对污损车牌的识别效率,一直是研究的重点。目前,大多数车牌污损识别模型以整辆车的图片为输入,车牌在输入的图片中只占很小的比例,由于不同车型、不同道路、不同拍摄环境的影响,除车牌之外的图片信息较为复杂,使得处理图片过程很容易受这些复杂因素的影响,模型训练过程中能够学习到的车牌特征有限,容易造成过拟合的现象,模型训练效果并不理想,使用这类模型对车牌污损情况的识别效果无法令人满意,模型的鲁棒性不高。
发明内容
本申请提供一种车牌污损分类模型的生成方法、车牌污损分类方法、装置、设备、存储介质和车牌污损分类模型,以解决以上至少一个问题。
根据本申请的第一方面,提供了一种车牌污损分类模型的生成方法,包括:
获取训练数据,所述训练数据包括多个经过标注的车辆图像,标注内容包括车牌有污损或者车牌无污损,所述标注内容还包括车牌区域的位置信息;
使用所述训练数据对第一神经网络进行训练,训练完成后得到车牌污损分类模型,用于预测目标车辆图像中的车牌是否有污损;其中,训练时使用的损失函数包括交叉熵损失函数和类激活图损失函数,所述交叉熵损失函数用于对车牌是否有污损进行监督学习,所述类激活图损失函数用于对车牌位置进行监督学习,其中,通过将经过标注的车辆图像与所述经过标注的车辆图像对应的类激活图进行对比得到所述类激活图损失函数。
根据本申请的第二方面,提供了一种车牌污损分类方法,其基于以上方法所生成的车牌污损分类模型,所述车牌污损分类方法包括:
将目标车辆图像输入所述车牌污损分类模型中;
通过所述车牌污损分类模型预测目标车辆图像中的车牌是否有污损;
接收所述车牌污损分类模型输出的预测结果,所述预测结果包括车牌有污损或者车牌无污损。
根据本申请的第三方面,提供了一种车牌污损分类模型的生成装置,包括:
获取模块,用于获取训练数据,所述训练数据包括多个经过标注的车辆图像,标注内容包括车牌有污损或者车牌无污损,所述标注内容还包括车牌区域的位置信息;
训练模块,用于使用所述训练数据对第一神经网络进行训练,训练完成后得到车牌污损分类模型,用于预测目标车辆图像中的车牌是否有污损;其中,所述训练模块训练时使用的损失函数包括交叉熵损失函数和类激活图损失函数,所述交叉熵损失函数用于对车牌是否有污损进行监督学习,所述类激活图损失函数用于对车牌位置进行监督学习,其中,通过将经过标注的车辆图像与所述经过标注的车辆图像对应的类激活图进行对比得到所述类激活图损失函数。
根据本申请的第四方面,提供了一种车牌污损分类装置,其基于以上车牌污损分类模型的生成方法所生成的车牌污损分类模型,所述车牌污损分类装置包括:
输入模块,用于将目标车辆图像输入车牌污损分类模型中;
车牌污损分类模型,用于预测目标车辆图像中的车牌是否有污损;
接收模块,用于接收所述车牌污损分类模型输出的预测结果,所述预测结果包括车牌有污损或者车牌无污损。
根据本申请的第五方面,提供了一种电子设备,包括:
至少一个处理器;以及
与至少一个处理器通信连接的存储器;其中,
存储器存储有可被至少一个处理器执行的指令,指令被至少一个处理器执行,以使至少一个处理器能够执行如上的方法。
根据本申请的第六方面,提供了一种存储有计算机指令的非瞬时计算机可读存储介质,计算机指令用于使计算机执行如上的方法。
根据本申请的第七方面,提供了一种计算机程序产品,包括计算机程序,计算机程序在被处理器执行时实现如上的方法。
根据本申请的第八方面,提供了一种车牌污损分类模型,所述车牌污损分类模型是由以上所述的车牌污损分类模型的生成方法所生成的车牌污损分类模型。
根据本申请的实施例,对神经网络进行训练时采用的训练数据为标注有车牌区域以及车牌是否污损的车辆图像,并且利用专门设计的基于类激活图的损失函数,能够将网络中类激活图的高能区域限制在标注的车牌区域,可使网络关注车牌区域的特征,忽略车牌区域之外的其余背景特征,由于排除了图像中的背景特征,训练生成的模型能够更加准确地判断车牌污损情况,模型鲁棒性高。
应当理解,本部分所描述的内容并非旨在标识本申请的实施例的关键或重要特征,也不用于限制本申请的范围。本申请的其它特征将通过以下的说明书而变得容易理解。
附图说明
附图用于更好地理解本方案,不构成对本申请的限定。其中:
图1是本申请实施例的车牌污损分类模型的生成方法的流程框图;
图2是本申请实施例的车牌污损分类方法的流程框图;
图3是本申请实施例处理的一种车辆图像的示意图;
图4是本申请实施例的一种车牌污损分类模型的训练过程示意图;
图5是本申请实施例的车牌污损分类模型的生成装置的结构框图;
图6是本申请实施例的车牌污损分类装置的结构框图;
图7是实现本申请实施例的车牌污损分类模型的生成方法或车牌污损分类方法的电子设备的框图。
具体实施方式
以下结合附图对本申请的示范性实施例做出说明,其中包括本申请实施例的各种细节以助于理解,应当将它们认为仅仅是示范性的。因此,本领域普通技术人员应当认识到,可以对这里描述的实施例做出各种改变和修改,而不会背离本申请的范围和精神。同样,为了清楚和简明,以下的描述中省略了对公知功能和结构的描述。
图1示出了本申请实施例提供的一种车牌污损分类模型的生成方法的流程框图,该方法包括:
S101,获取训练数据,所述训练数据包括多个经过标注的车辆图像,标注内容包括车牌有污损或者车牌无污损,所述标注内容还包括车牌区域的位置信息;
S102,使用所述训练数据对第一神经网络进行训练,训练完成后得到车牌污损分类模型,用于预测目标车辆图像中的车牌是否有污损;
其中,训练时使用的损失函数包括交叉熵损失函数和类激活图损失函数,所述交叉熵损失函数用于对车牌是否有污损进行监督学习,所述类激活图损失函数用于对车牌位置进行监督学习,其中,通过将经过标注的车辆图像与所述经过标注的车辆图像对应的类激活图进行对比得到所述类激活图损失函数。
关于类激活图(class activation map,CAM),通常是基于输入图像生成的类激活的热力图,可表征每个位置相对于对应类别的重要程度。根据本申请的实施例,在对神经网络进行训练时,采用的训练数据为标注有车牌区域以及车牌是否污损的车辆图像,并且专门设计了基于类激活图的损失函数,能够将网络中类激活图的高能区域限制在标注的车牌区域,目的是使网络关注车牌区域的特征,忽略除车牌区域之外的其余背景特征,由于排除了图像中的背景特征,生成的模型能够更加准确、快速地判断车牌污损情况,便捷地完成车牌污损识别任务。
在本申请的实施例中,可选地,通过将经过标注的车辆图像与所述经过标注的车辆图像对应的类激活图进行对比得到所述类激活图损失函数,可通过如下处理实现:
通过所述第一神经网络提取经过标注的车辆图像的特征图;
基于所述特征图计算所述经过标注的车辆图像对应的类激活图;
将得到的类激活图与所述经过标注的车辆图像进行对比,将类激活图中的除去车牌区域之外的区域中的元素作为损失,得到所述类激活图损失函数。
通过上述处理,对得到的类激活图和标注的车牌区域进行对比,可认为类激活图中,落在车牌区域内的类激活图信息是有用信息,据此可判断车牌是否存在污损,而落在车牌区域以外的类激活图信息是无用的背景信息,应当忽略,因此将落在车牌区域以外的类激活图信息作为一种损失,构成类激活图损失函数,训练过程中应使其尽量小并趋于零。进一步,加上分类网络的交叉熵损失用于对车牌污损情况进行学习,训练完成后得到模型能够将预测处理的高能区域限制在车牌区域,忽略车牌之外的信息,因此能够压缩计算时间,提高模型处理效率,并且由于不易受到图像中与车牌无关的因素干扰,生成的模型鲁棒性好。
在本申请的实施例中,可选地,所述方法还包括:对所述类激活图进行上采样或者下采样,以使所述特征图与所述经过标注的车辆图像的尺寸相同。为了更好地对比类激活图与输入图像的差别,通过上采样或者下采样处理,将类激活图处理为与输入图像的尺寸一致,如此在对比过程中可更为准确的定位出车牌区域内的图像元素和车牌区域外的图像元素,便于后续步骤的处理。
在本申请的实施例中,可选地,使用bbox标注所述车牌区域的位置信息。这里,使用bbox(或称bondingbox)对车牌区域进行标记,也就是标注出了车牌区域的坐标信息(例如左上角顶点的坐标)和尺寸信息(宽度和高度),利用标注的bbox信息可对车牌区域定位,以将类激活图的高能区域集中在bbox包围的车牌区域。
在本申请的实施例中,可选地,所述类激活图损失函数通过下式表示:
其中,L
基于上述表达式,可在模型训练过程中将bbox内的元素置0,而保留bbox外的元素,目的是将bbox外的元素作为损失,在训练过程中通过参数调优不断减小bbox外的元素的值(使其趋于0),通过这种监督学习,可以使训练后的模型忽略bbox外的元素,而仅关注bbox内的元素,达到将高能区域限制在标注的车牌趋于的目的。
图2示出了本申请实施例提供的一种车牌污损分类方法,其基于如上所述的车牌污损分类模型的生成方法所生成的车牌污损分类模型,所述车牌污损分类方法包括:
S201,将目标车辆图像输入所述车牌污损分类模型中,
S202,通过所述车牌污损分类模型预测目标车辆图像中的车牌是否有污损;
S203,接收所述车牌污损分类模型输出的预测结果,所述预测结果包括车牌有污损或者车牌无污损。
本申请实施例的车牌污损分类模型可用于预测车辆图像中的车牌是否有污损,利用该模型对输入图片进行预测,完成车牌污损判别任务,该模型的鲁棒性好,适用于对各种环境条件下的车牌污损分类,预测结果可靠性高。
以上描述了本申请实施例的车牌污损分类模型的生成方法的多种实施方式以及取得的优势。以下通过具体的例子,详细描述本申请实施例的具体处理过程。
图3示意性地示出了本申请实施例处理的车辆图像,其中车牌区域以bbox包围框标记,参考图4,处理过程描述如下。
(一)提取车辆图片的特征图。
在本申请的一种实施方式中,可采用残差网络Res18作为待训练的分类网络,先对输入的车辆图片进行特征提取,得到车辆图片的特征图。
(二)计算分类网络的类激活图。
在本申请的一种实施方式中,将步骤(一)中得到的特征图与对应类别(如车牌污损类别)的权重相乘,可得到网络对于车牌的类激活图,初始权重可为随机数或为0。其中,类激活图CAM的具体计算公式如下:
其中,A为Res18网络输出的特征图,w为全连接层的权重,角标i表示特征图上的第i个元素,c为对应类别,这里,对于类激活图中每个位置的元素,在后续的全链接层都会有c个权重与之对应。
然后将得到的类激活图CAM做上采样或下采样处理,目的是使其与输入图片的尺寸一致,便于下一步处理。
(三)根据车牌标注框的信息计算损失
对得到的类激活图和标注的车牌区域进行对比,其中,将落在车牌区域以外的类激活图中的信息作为无用的背景信息,将这部分元素作为损失(loss),用于对车牌位置进行监督学习,另外,使用分类网络常用的交叉熵损失用于对车牌标注的污损情况进行监督学习,执行对Res18网络的训练,其中损失函数L具体如下:
L=L
其中,L
通过上述处理,在网络训练过程中可强迫类激活图大于0的部分都集中在bbox内部,对于落在bbox外部的x
如此,可将车牌污损类的类激活图数值最高的区域都集中在bbox内部,使网络关注的重点区域全部集中在车牌上,从而减少车牌区域以外的图像对最终车牌是否污损的分类造成的干扰,可增强模型的鲁棒性。
(四)训练分类网络更新参数
在本申请的一种实施方式中,根据步骤(三)中得到的损失,采用梯度下降的方法训练网络以更新网络参数。
通过步骤(一)到步骤(四)的迭代优化,模型收敛后或达到一定的训练时长后训练完成,可得到车牌污损分类模型,用于预测车辆图像中的车牌是否有污损。利用该模型对输入图片进行预测,完成车牌污损判别任务。
以上通过多个实施例从不同角度描述了本申请实施例的具体设置和实现方式。与上述至少一个实施例的处理方法相对应地,本申请实施例还提供一种车牌污损分类模型的生成装置100,参考图5,其包括:
获取模块110,用于获取训练数据,所述训练数据包括多个经过标注的车辆图像,标注内容包括车牌有污损或者车牌无污损,所述标注内容还包括车牌区域的位置信息;
训练模块120,用于使用所述训练数据对第一神经网络进行训练,训练完成后得到车牌污损分类模型,用于预测目标车辆图像中的车牌是否有污损;
其中,所述训练模块训练时使用的损失函数包括交叉熵损失函数和类激活图损失函数,所述交叉熵损失函数用于对车牌是否有污损进行监督学习,所述类激活图损失函数用于对车牌位置进行监督学习,其中,通过将经过标注的车辆图像与所述经过标注的车辆图像对应的类激活图进行对比得到所述类激活图损失函数。
可选地,所述训练模块120包括:
提取子模块,用于通过所述第一神经网络提取经过标注的车辆图像的特征图;
计算子模块,用于基于所述特征图计算所述经过标注的车辆图像对应的类激活图;
损失函数处理子模块,用于将得到的类激活图与所述经过标注的车辆图像进行对比,将类激活图中的除去车牌区域之外的区域中的元素作为损失,得到所述类激活图损失函数。
可选地,车牌污损分类模型的生成装置100还包括:
特征图处理模块130,用于对所述类激活图进行上采样或者下采样,以使所述类激活图与所述经过标注的车辆图像的尺寸相同。
可选地,使用bbox标注所述车牌区域的位置信息。
可选地,所述类激活图损失函数通过下式表示:
其中,L
与上述至少一个实施例的处理方法相对应地,本申请实施例还提供一种车牌污损分类装置200,其基于以上所述的车牌污损分类模型的生成方法所生成的车牌污损分类模型,参考图6,车牌污损分类装置200包括:
输入模块210,用于将目标车辆图像输入车牌污损分类模型中;
车牌污损分类模型220,用于预测目标车辆图像中的车牌是否有污损;
接收模块230,用于接收所述车牌污损分类模型输出的预测结果,所述预测结果包括车牌有污损或者车牌无污损。
本申请实施例各装置中的各模块的功能可以参见上述方法实施例中的对应描述的处理,在此不再赘述。
根据本申请的实施例,本申请还提供了一种电子设备、一种可读存储介质和一种计算机程序产品。
图7示出了可以用来实施本申请实施例的示例电子设备1000的示意性框图。电子设备旨在表示各种形式的数字计算机,诸如,膝上型计算机、台式计算机、工作台、个人数字助理、服务器、刀片式服务器、大型计算机、和其它适合的计算机。电子设备还可以表示各种形式的移动装置,诸如,个人数字处理、蜂窝电话、智能电话、可穿戴设备和其它类似的计算装置。本文所示的部件、它们的连接和关系、以及它们的功能仅仅作为示例,并且不意在限制本文中描述的和/或者要求的本申请的实现。
如图7所示,该电子设备包括:一个或多个处理器1001、存储器1002,以及用于连接各部件的接口,包括高速接口和低速接口。各个部件利用不同的总线互相连接,并且可以被安装在公共主板上或者根据需要以其它方式安装。处理器可以对在电子设备内执行的指令进行处理,包括存储在存储器中或者存储器上以在外部输入/输出装置(诸如,耦合至接口的显示设备)上显示图形用户界面(Graphical User Interface,GUI)的图形信息的指令。在其它实施方式中,若需要,可以将多个处理器和/或多条总线与多个存储器和多个存储器一起使用。同样,可以连接多个电子设备,各个设备提供部分必要的操作(例如,作为服务器阵列、一组刀片式服务器、或者多处理器系统)。图7中以一个处理器1001为例。
存储器1002即为本申请所提供的非瞬时计算机可读存储介质。其中,存储器存储有可由至少一个处理器执行的指令,以使至少一个处理器执行本申请所提供的车牌污损分类模型的生成方法或车牌污损分类方法。本申请的非瞬时计算机可读存储介质存储计算机指令,该计算机指令用于使计算机执行本申请所提供的车牌污损分类模型的生成方法或车牌污损分类方法。
存储器1002作为一种非瞬时计算机可读存储介质,可用于存储非瞬时软件程序、非瞬时计算机可执行程序以及模块,如本申请实施例中的车牌污损分类模型的生成方法或车牌污损分类方法对应的程序指令/模块。处理器1001通过运行存储在存储器1002中的非瞬时软件程序、指令以及模块,从而执行服务器的各种功能应用以及数据处理,即实现上述方法实施例中的车牌污损分类模型的生成方法或车牌污损分类方法。
存储器1002可以包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需要的应用程序;存储数据区可存储根据搜索结果的分析处理电子设备的使用所创建的数据等。此外,存储器1002可以包括高速随机存取存储器,还可以包括非瞬时存储器,例如至少一个磁盘存储器件、闪存器件、或其他非瞬时固态存储器件。在一些实施例中,存储器1002可选包括相对于处理器1001远程设置的存储器,这些远程存储器可以通过网络连接至搜索结果的分析处理电子设备。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
本申请实施例的车牌污损分类模型的生成方法或车牌污损分类方法对应的电子设备还可以包括:输入装置1003和输出装置1004。处理器1001、存储器1002、输入装置1003和输出装置1004可以通过总线或者其他方式连接,本申请图7实施例中以通过总线连接为例。
输入装置1003可接收输入的数字或字符信息,以及产生与搜索结果的分析处理电子设备的用户设置以及功能控制有关的键信号输入,例如触摸屏、小键盘、鼠标、轨迹板、触摸板、指示杆、一个或者多个鼠标按钮、轨迹球、操纵杆等输入装置。输出装置1004可以包括显示设备、辅助照明装置(例如,LED)和触觉反馈装置(例如,振动电机)等。该显示设备可以包括但不限于,液晶显示器(Liquid Crystal Display,LCD)、发光二极管(Light EmittingDiode,LED)显示器和等离子体显示器。在一些实施方式中,显示设备可以是触摸屏。
此处描述的系统和技术的各种实施方式可以在数字电子电路系统、集成电路系统、专用集成电路(Application Specific Integrated Circuits,ASIC)、计算机硬件、固件、软件、和/或它们的组合中实现。这些各种实施方式可以包括:实施在一个或者多个计算机程序中,该一个或者多个计算机程序可在包括至少一个可编程处理器的可编程系统上执行和/或解释,该可编程处理器可以是专用或者通用可编程处理器,可以从存储系统、至少一个输入装置、和至少一个输出装置接收数据和指令,并且将数据和指令传输至该存储系统、该至少一个输入装置、和该至少一个输出装置。
这些计算程序(也称作程序、软件、软件应用、或者代码)包括可编程处理器的机器指令,并且可以利用高级过程和/或面向对象的编程语言、和/或汇编/机器语言来实施这些计算程序。如本文使用的,术语“机器可读介质”和“计算机可读介质”指的是用于将机器指令和/或数据提供给可编程处理器的任何计算机程序产品、设备、和/或装置(例如,磁盘、光盘、存储器、可编程逻辑装置(programmable logic device,PLD)),包括,接收作为机器可读信号的机器指令的机器可读介质。术语“机器可读信号”指的是用于将机器指令和/或数据提供给可编程处理器的任何信号。
为了提供与用户的交互,可以在计算机上实施此处描述的系统和技术,该计算机具有:用于向用户显示信息的显示装置(例如,CRT(Cathode Ray Tube,阴极射线管)或者LCD(液晶显示器)监视器);以及键盘和指向装置(例如,鼠标或者轨迹球),用户可以通过该键盘和该指向装置来将输入提供给计算机。其它种类的装置还可以用于提供与用户的交互;例如,提供给用户的反馈可以是任何形式的传感反馈(例如,视觉反馈、听觉反馈、或者触觉反馈);并且可以用任何形式(包括声输入、语音输入或者、触觉输入)来接收来自用户的输入。
可以将此处描述的系统和技术实施在包括后台部件的计算系统(例如,作为数据服务器)、或者包括中间件部件的计算系统(例如,应用服务器)、或者包括前端部件的计算系统(例如,具有图形用户界面或者网络浏览器的用户计算机,用户可以通过该图形用户界面或者该网络浏览器来与此处描述的系统和技术的实施方式交互)、或者包括这种后台部件、中间件部件、或者前端部件的任何组合的计算系统中。可以通过任何形式或者介质的数字数据通信(例如,通信网络)来将系统的部件相互连接。通信网络的示例包括:局域网(Local Area Network,LAN)、广域网(Wide Area Network,WAN)和互联网。
计算机系统可以包括客户端和服务器。客户端和服务器一般远离彼此并且通常通过通信网络进行交互。通过在相应的计算机上运行并且彼此具有客户端-服务器关系的计算机程序来产生客户端和服务器的关系。
应该理解,可以使用上面所示的各种形式的流程,重新排序、增加或删除步骤。例如,本发申请中记载的各步骤可以并行地执行也可以顺序地执行也可以不同的次序执行,只要能够实现本申请公开的技术方案所期望的结果,本文在此不进行限制。
上述具体实施方式,并不构成对本申请保护范围的限制。本领域技术人员应该明白的是,根据设计要求和其他因素,可以进行各种修改、组合、子组合和替代。任何在本申请的精神和原则之内所作的修改、等同替换和改进等,均应包含在本申请保护范围之内。
- 车牌污损分类模型的生成方法和车牌污损分类方法
- 机动车遮挡和污损车牌行为的图像取证方法