掌桥专利:专业的专利平台
掌桥专利
首页

图像识别方法和装置、存储介质及电子设备

文献发布时间:2024-04-18 19:58:30


图像识别方法和装置、存储介质及电子设备

技术领域

本申请涉及计算机领域,具体而言,涉及一种图像识别方法和装置、存储介质及电子设备。

背景技术

在很多工业场景下,为了生产组装一款工业产品,往往需要涉及大量的工业零件。而在对这些工业零件进行批量生产的过程中,由于其体积较小,不可避免地会出现很多存在缺陷的残次零件(也可称作NG(No Good)品),因而在应用这些工业零件之前,通常需要先对其进行异常缺陷检测。

目前针对工业零件常用的异常检测方法是:采集待检测零件的图像和正常零件(也可称作OK品)的图像,然后基于二者的图像进行特征比对,若二者特征相似度较高,则将待检测零件识别为OK品;若二者特征相似度较低,则将待检测零件识别为NG品。

然而,当待检测零件上的缺陷较小或者较轻微时,其特征可能与OK品的特征之间的差别并不大,从而导致对NG品的漏检。也就是说,相关技术中提供的针对工业零件的图像识别方式存在识别结果准确性较低的问题。

针对上述的问题,目前尚未提出有效的解决方案。

发明内容

本申请实施例提供了一种图像识别方法和装置、存储介质及电子设备,以至少解决现有的工业零件的图像识别方式识别结果准确性较低的技术问题。

根据本申请实施例的一个方面,提供了一种图像识别方法,包括:获取对目标零件对象进行图像采集所得到的目标图像;利用具有孪生网络结构的异常零件识别网络提取上述目标图像的图像特征,其中,上述图像特征包括上述孪生网络结构中的第一网络对上述目标图像提取到的第一图像特征,及上述孪生网络结构中的第二网络对上述目标图像提取到的第二图像特征,上述第一网络是用于获取样本图像对中显示有正常零件对象的正样本图像的图像特征的参考网络,上述第二网络是利用基于上述正样本图像所合成的显示有异常零件对象的负样本图像进行训练;获取上述第一图像特征与上述第二图像特征之间的特征相似度;基于上述特征相似度确定出对上述目标图像的识别结果,其中,上述识别结果用于指示上述目标图像中的上述目标零件对象是否为上述异常零件对象。

根据本申请实施例的另一方面,还提供了一种图像识别装置,包括:第一获取单元,用于获取对目标零件对象进行图像采集所得到的目标图像;识别单元,用于利用具有孪生网络结构的异常零件识别网络提取上述目标图像的图像特征,其中,上述图像特征包括上述孪生网络结构中的第一网络对上述目标图像提取到的第一图像特征,及上述孪生网络结构中的第二网络对上述目标图像提取到的第二图像特征,上述第一网络是用于获取样本图像对中显示有正常零件对象的正样本图像的图像特征的参考网络,上述第二网络是利用基于上述正样本图像所合成的显示有异常零件对象的负样本图像进行训练;第二获取单元,用于获取上述第一图像特征与上述第二图像特征之间的特征相似度;确定单元,用于基于上述特征相似度确定出对上述目标图像的识别结果,其中,上述识别结果用于指示上述目标图像中的上述目标零件对象是否为上述异常零件对象。

根据本申请实施例的又一方面,还提供了一种计算机可读的存储介质,该计算机可读的存储介质中存储有计算机程序,其中,该计算机程序被设置为运行时执行上述图像识别方法。

根据本申请实施例的又一个方面,提供一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行如以上图像识别方法。

根据本申请实施例的又一方面,还提供了一种电子设备,包括存储器和处理器,上述存储器中存储有计算机程序,上述处理器被设置为通过所述计算机程序执行上述的图像识别方法。

在本申请实施例中,获取对目标零件对象进行图像采集所得到的目标图像。然后,利用具有孪生网络结构的异常零件识别网络提取目标图像的图像特征,其中,图像特征包括孪生网络结构中的第一网络对目标图像提取到的第一图像特征,及孪生网络结构中的第二网络对目标图像提取到的第二图像特征,第一网络是用于获取样本图像对中显示有正常零件对象的正样本图像的图像特征的参考网络,第二网络是利用基于正样本图像所合成的显示有异常零件对象的负样本图像进行训练。获取第一图像特征与第二图像特征之间的特征相似度。进而,基于特征相似度确定出对目标图像的识别结果,其中,识别结果用于指示目标图像中的目标零件对象是否为异常零件对象。换言之,采用本申请实施例,利用异常零件识别网络对目标图像进行识别。具体而言,利用异常零件识别网络中包括的第一网络对目标图像进行识别得到的第一图像特征,利用孪生网络结构中包括的第二网络对目标图像进行识别得到的第二图像特征。从而利用第一图像特征与第二图像特征之间的相似度来确定目标图像的识别结果。也就是说,由于在本申请实施例中,通过异常零件识别网络中的各个分支网络(即,第一网络、第二网络)分别提取出的待检测零件所对应的目标图像的特征之间相似度,来确定待检测的目标零件对象是否存在异常缺陷。而并不是单一的根据待检测零件所对应图像的图像特征与正常零件所对应图像的图像特征之间的相似度,来确定目标图像的识别结果。从而解决了现有技术中工业零件的图像识别方式的识别结果准确性较低的技术问题,达到了提升工业零件的图像识别方式的识别结果准确性的技术效果。

附图说明

此处所说明的附图用来提供对本申请的进一步理解,构成本申请的一部分,本申请的示意性实施例及其说明用于解释本申请,并不构成对本申请的不当限定。在附图中:

图1是根据本申请实施例的一种可选的图像识别方法的应用环境的示意图;

图2是根据本申请实施例的一种可选的图像识别方法的流程图;

图3是根据本申请实施例的一种可选的图像识别方法的示意图;

图4是根据本申请实施例的一种可选的图像识别方法的示意图;

图5是根据本申请实施例的一种可选的图像识别方法的示意图;

图6是根据本申请实施例的一种可选的图像识别方法的示意图;

图7是根据本申请实施例的一种可选的图像识别方法的流程图;

图8是根据本申请实施例的一种可选的图像识别方法的示意图;

图9是根据本申请实施例的一种可选的图像识别方法的示意图;

图10是根据本申请实施例的一种可选的图像识别方法的流程图;

图11是根据本申请实施例的一种可选的图像识别方法的示意图;

图12是根据本申请实施例的一种可选的图像识别方法的流程图;

图13是根据本申请实施例的一种可选的图像识别方法的流程图;

图14是根据本申请实施例的一种可选的图像识别装置的结构示意图;

图15是根据本申请实施例的一种可选的电子设备的结构示意图。

具体实施方式

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

需要说明的是,本申请的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本申请的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。

根据本申请实施例的一个方面,提供了一种图像识别方法,可选地,作为一种可选的实施方式,上述图像识别方法可以但不限于应用于如图1所示的环境中。如图1所示,终端设备102包括了存储器104,用于存储终端设备102运行过程中产生的各项数据、处理器106,用于处理运算上述各项数据、显示器108,用于显示所述目标图像。终端设备102可以通过网络110与服务器112之间进行数据交互。服务器112与数据库114相连,数据库114用于存储各项数据。终端设备102可以运行用于对目标图像进行识别的程序应用。

进一步地,上述方法在图1所示环境中对应的具体应用过程,如以下步骤所示:

执行步骤S102-S104,终端设备102获取对目标零件对象进行图像采集所得到的目标图像。终端设备102将目标图像通过网络110将目标图像发送给服务器112。

然后执行步骤S106-S110,服务器112在接收到目标图像的情况下,利用具有孪生网络结构的异常零件识别网络提取目标图像的图像特征,其中,图像特征包括孪生网络结构中的第一网络对目标图像提取到的第一图像特征,及孪生网络结构中的第二网络对目标图像提取到的第二图像特征,第一网络是用于获取样本图像对中显示有正常零件对象的正样本图像的图像特征的参考网络,第二网络是利用基于正样本图像所合成的显示有异常零件对象的负样本图像进行训练。服务器112获取第一图像特征与第二图像特征之间的特征相似度。服务器112基于特征相似度确定出对目标图像的识别结果,其中,识别结果用于指示目标图像中的目标零件对象是否为异常零件对象。

接着执行步骤S112,服务器112网络110将目标图像的识别结果发送给终端设备102。

在本申请实施例中,获取对目标零件对象进行图像采集所得到的目标图像。然后,利用具有孪生网络结构的异常零件识别网络提取目标图像的图像特征,其中,图像特征包括孪生网络结构中的第一网络对目标图像提取到的第一图像特征,及孪生网络结构中的第二网络对目标图像提取到的第二图像特征,第一网络是用于获取样本图像对中显示有正常零件对象的正样本图像的图像特征的参考网络,第二网络是利用基于正样本图像所合成的显示有异常零件对象的负样本图像进行训练。获取第一图像特征与第二图像特征之间的特征相似度。进而,基于特征相似度确定出对目标图像的识别结果,其中,识别结果用于指示目标图像中的目标零件对象是否为异常零件对象。换言之,采用本申请实施例,利用异常零件识别网络对目标图像进行识别。具体而言,利用异常零件识别网络中包括的第一网络对目标图像进行识别得到的第一图像特征,利用孪生网络结构中包括的第二网络对目标图像进行识别得到的第二图像特征。从而利用第一图像特征与第二图像特征之间的相似度来确定目标图像的识别结果。也就是说,由于在本申请实施例中,通过异常零件识别网络中的各个分支网络(即,第一网络、第二网络)分别提取出的待检测零件所对应的目标图像的特征之间相似度,来确定待检测的目标零件对象是否存在异常缺陷。而并不是单一的根据待检测零件所对应图像的图像特征与正常零件所对应图像的图像特征之间的相似度,来确定目标图像的识别结果。从而解决了现有技术中工业零件的图像识别方式的识别结果准确性较低的技术问题,达到了提升工业零件的图像识别方式的识别结果准确性的技术效果。

可选地,在本实施例中,上述终端设备可以是配置有目标客户端的终端设备,可以包括但不限于以下至少之一:手机(如Android手机、iOS手机等)、笔记本电脑、平板电脑、掌上电脑、MID(Mobile Internet Devices,移动互联网设备)、PAD、台式电脑、智能语音交互设备、智能家电、车载终端等。目标客户端可以是视频客户端、即时通信客户端、浏览器客户端、教育客户端等。上述网络可以包括但不限于:有线网络,无线网络,其中,该有线网络包括:局域网、城域网和广域网,该无线网络包括:蓝牙、WIFI及其他实现无线通信的网络。上述服务器可以是单一服务器,也可以是由多个服务器组成的服务器集群,或者是云服务器。上述仅是一种示例,本实施例中对此不作任何限定。

可选地,作为一种可选的方案,如图2所示,上述图像识别方法包括:

S202,获取对目标零件对象进行图像采集所得到的目标图像;

可选地,上述图像识别方法可以但不限于应用于工业零件的异常检测场景当中。具体而言,利用异常零件识别网络中的第一网络提取目标零件对象所对应的目标图像的第一图像特征,利用异常零件识别网络中的第二网络提取目标零件对象所对应的目标图像的第二图像特征。从而基于取第一图像特征与第二图像特征之间的特征相似度,确定标零件对象的是否为异常零件对象。此外,上述图像识别方法还可以应用于对除了工业零件以外的其他任意一种对象的分类,或异常检测场景当中,在本实施例中对此并不进行任何限定。

进一步地,假设上述图像识别方法应用于工业零件的异常检测场景,上述目标零件对象可以但不限于用于指示待检测的工业零件,如,螺丝、齿轮、链条、滑轮等等,在本申请中对此并不进行任何限定。上述对目标零件对象进行图像采集所得到的目标图像,可以但不限于为对待检测的工业零件的各个角度分别进行拍摄得到图像。

可选地,在本实施例中,在上述获取对目标零件对象进行图像采集所得到的目标图像之后,上述方法可以但不限于还包括:利用目标零件对象对应的模板图像,来校正目标图像中的目标零件对象的显示位置,得到校正后的目标图像。其中,模板图像中显示有与目标零件对象属于同一类零件的参考零件对象。

S204,利用具有孪生网络结构的异常零件识别网络提取目标图像的图像特征,其中,图像特征包括孪生网络结构中的第一网络对目标图像提取到的第一图像特征,及孪生网络结构中的第二网络对目标图像提取到的第二图像特征,第一网络是用于获取样本图像对中显示有正常零件对象的正样本图像的图像特征的参考网络,第二网络是利用基于正样本图像所合成的显示有异常零件对象的负样本图像进行训练;

需要说明的是,上述具有孪生网络结构的异常零件识别网络中可以但不限于用于指示由教师网络与学生网络组成的蒸馏神经网络。其中,初始的学生网络与教师网络的网络结构相同。进一步地,假设上述具有孪生网络结构的异常零件识别网络为由教师网络与学生网络组成的蒸馏神经网络,那么上述第一网络可以但不限于用于指示上述教师网络,上述第二网络可以但不限于用于指示上述学生网络,在异常零件识别网络(即,蒸馏神经网络)的训练过程中,利用第一网络(即,教师网络)对显示有正常零件对象的正样本图像进行特征提取,以得到正样本图像特征。然后,利用负样本图像对第二网络(即,学生网络)进行训练,并不断调整第二网络(即,学生网络)中的参数,直到利用第二网络(即,学生网络)提取的负样本图像的负样本图像特征与上述正样本图像特征之间的损失函数达到预定阈值。在上述负样本图像特征与上述正样本图像特征之间的损失函数达到预定阈值的情况下,确定上述异常零件识别网络(即,蒸馏神经网络)已训练完成。进而可以将待检测图片输入至异常零件识别网络(即,蒸馏神经网络),如果通过该异常零件识别网络(即,蒸馏神经网络)中的第一网络(即,教师网络)提取的图像特征与通过该异常零件识别网络(即,蒸馏神经网络)中的第二网络(即,学生网络)提取的图像特征相同,则说明上述待检测图片中包括的对象与正样本图像中包括的对象属于同一类别。相应地,如果通过第一网络(即,教师网络)提取的图像特征与通过第二网络(即,学生网络)提取的图像特征不同,则说明上述待检测图片中包括的对象与负样本图像中包括的对象属于同一类别。

可选地,在本实施例中上述第一网络还可以是利用样本图像对中显示有正常零件对象的正样本图像进行训练得到的,上述第二网络还可以是利用样本图像对中的正样本图像以及基于正样本图像所合成的显示有异常零件对象的负样本图像进行训练得到的。举例而言,假设上述具有孪生网络结构的异常零件识别网络为由教师网络与学生网络组成的蒸馏神经网络,上述第一网络为上述教师网络,上述第二网络为上述学生网络。对异常零件识别网络(即,蒸馏神经网络)进行训练过程包括以下步骤:针对第一网络(即,教师网络),将正常零件对象的正样本图像输入至第一网络(即,教师网络)中,获取第一网络(即,教师网络)对正样本图像提取到的图像特征,将该图像特征与正样本图像的实际图像特征进行比对。不断重复上述步骤,不断地调整第一网络(即,教师网络)的网络参数。直到第一网络(即,教师网络)对正样本图像提取到的图像特征与正样本图像的实际图像特征之间的损失函数小于预定阈值。针对第二网络(即,学生网络),将正常零件对象的正样本图像输入至第二网络(即,学生网络)中,获取第二网络(即,学生网络)对正样本图像提取到的图像特征,将该图像特征与训练好的第一网络(即,教师网络)对该正样本图像提取到的图像特征进行比对。并将异常零件对象的负样本图像输入至第二网络(即,学生网络)中,获取第二网络(即,学生网络)对负样本图像提取到的图像特征,将该图像特征与训练好的第一网络(即,教师网络)对该负样本图像提取到的图像特征进行比对。不断重复上述步骤,不断地调整第二网络(即,学生网络)中的网络参数。直到第二网络(即,学生网络)对正样本图像提取到的图像特征与第一网络(即,教师网络)对该正样本图像提取到的图像特征,且第二网络(即,学生网络)对负样本图像提取到的图像特征与第一网络(即,教师网络)对该负样本图像提取到的图像特征之间的损失函数小于预定阈值。

假设上述第一网络是利用样本图像对中显示有正常零件对象的正样本图像进行训练得到的,上述第二网络是利用样本图像对中的正样本图像以及基于正样本图像所合成的显示有异常零件对象的负样本图像进行训练得到的。在本实施例中,在获取对目标零件对象进行图像采集所得到的目标图像之前,方法还包括:S1,获取K个显示有正常零件对象的正样本图像和L个显示有异常零件对象的负样本图像,其中,K为大于1的自然数,L为大于1的自然数;S2,利用K个正样本图像和L个负样本图像,对初始化的异常零件识别网络进行训练,直至第二网络的输出特征与第一网络的输出特征之间的比对结果达到收敛条件。

可选地,上述利用K个正样本图像和L个负样本图像,对初始化的异常零件识别网络进行训练,直至第二网络的输出特征与第一网络的输出特征之间的比对结果达到收敛条件还可以包括:利用K个正样本图像和L个负样本图像,对初始化的异常零件识别网络进行训练,在第二网络的输出特征与第一网络的输出特征之间的比对结果未达到收敛条件的情况下,对异常零件识别网络进行训练中的相关参数进行调整。然后,继续对调整后的异常零件识别网络进行训练,直至第二网络的输出特征与第一网络的输出特征之间的比对结果达到收敛条件。

可选地,上述利用K个正样本图像和L个负样本图像,对初始化的异常零件识别网络进行训练,直至第二网络的输出特征与第一网络的输出特征之间的比对结果达到收敛条件还可以包括:利用K个正样本图像训练初始化的异常零件识别网络中的第一网络,直至达到第一子收敛条件;将K个正样本图像和L个负样本图像,输入达到第一子收敛条件的第一网络和初始化的异常零件识别网络中的第二网络进行训练,直至达到第二子收敛条件,其中,第二子收敛条件指示正样本图像输入达到第一子收敛条件的第一网络后得到的第一样本子图像特征与正样本图像输入第二网络后得到的第二样本子图像特征之间的特征相似度大于第七阈值,但负样本图像输入达到第一子收敛条件的第一网络后得到的第三样本子图像特征与负样本图像输入第二网络后得到的第四样本子图像特征之间的特征相似度小于第八阈值。

需要说明的是,上述获取L个显示有异常零件对象的负样本图像可以但不限于包括:获取K个显示有正常零件对象的正样本图像;对从K个正样本图像中获取的L个正样本图像进行调整,以得到L个负样本图像。

可选地,上述利用K个正样本图像和L个负样本图像,对初始化的异常零件识别网络进行训练,直至第二网络的输出特征与第一网络的输出特征之间的比对结果达到收敛条件包括:

S1,利用K个正样本图像训练初始化的异常零件识别网络中的第一网络,直至达到第一子收敛条件;S2,将K个正样本图像和L个负样本图像,输入达到第一子收敛条件的第一网络和初始化的异常零件识别网络中的第二网络进行训练,直至达到第二子收敛条件,其中,第二子收敛条件指示正样本图像输入达到第一子收敛条件的第一网络后得到的第一样本子图像特征与正样本图像输入第二网络后得到的第二样本子图像特征之间的特征相似度大于第七阈值,但负样本图像输入达到第一子收敛条件的第一网络后得到的第三样本子图像特征与负样本图像输入第二网络后得到的第四样本子图像特征之间的特征相似度小于第八阈值。

需要说明的是,上述第一子收敛条件可以但不限于包括:正样本图像输入第一网络后得到的图像特征与正样本图像的实际图像特征之间的相似度大于第九阈值。

举例而言,上述利用K个正样本图像训练初始化的异常零件识别网络中的第一网络,直至达到第一子收敛条件可以但不限于包括:依次将K个正样本图像中的第i个正样本图像作为当前正样本图像,并执行以下步骤直至达到第一子收敛条件:将当前正样本图像输入至第一网络,得到第一网络输出的图像特征;获取上述第一网络输出的图像特征与正样本图像的实际图像特征之间的相似度;确定上述相似度是否大于第九阈值,如果上述相似度大于第九阈值则停止训练。如果上述相似度小于第九阈值则获取下一个正样本图像作为当前正样本图像,并重复执行以上步骤。

需要说明的,在本实施例中初始化的第一网络以及初始化的第二网络所采用的网络结构相同,可以但不限于采用深度卷积神经网络结构(Residual Network-50,简称:ResNet-50)、卷积神经网络模型(Vision Transformer,简称:ViT)、深度卷积神经网络模型((Visual Geometry Group16,简称:VGG-16)预训练模型等等,在本实施例中对此并不进行任何限定。

作为一种可选的实施方式,上述将K个正样本图像和L个负样本图像,输入达到第一子收敛条件的第一网络和初始化的异常零件识别网络中的第二网络进行训练,直至达到第二子收敛条件可以但不限于包括:依次将K个正样本图像中的第i个正样本图像作为当前正样本图像,将L个负样本图像中的第i个负样本图像作为当前负样本图像,执行以下步骤直至达到第二子收敛条件:将当前正样本图像与当前负样本图像,分别输入至达到第一子收敛条件的第一网络中,得到第一样本子图像特征和第三样本子图像特征。并将当前正样本图像与当前负样本图像,分别输入至达到第二网络中,得到第二样本子图像特征和第四样本子图像特征。然后,确定第一样本子图像特征与第二样本子图像特征之间的特征相似度是否大于第七阈值,第三样本子图像特征与负样本与第四样本子图像特征之间的特征相似度是否小于第八阈值。进而,在第一样本子图像特征与第二样本子图像特征之间的特征相似度大于第七阈值,且第三样本子图像特征与负样本与第四样本子图像特征之间的特征相似度小于第八阈值的情况下,停止训练。

S206,获取第一图像特征与第二图像特征之间的特征相似度;

S208,基于特征相似度确定出对目标图像的识别结果,其中,识别结果用于指示目标图像中的目标零件对象是否为异常零件对象。

需要说明的是,在本实施例中可以但不限于采用回归损失函数来确定第一图像特征与第二图像特征之间的特征相似度。举例而言,采用如下所示的均方误差(L2 loss)回归损失函数来获取第一图像特征与第二图像特征之间的特征相似度:

其中,上述函数中的参数n为目标图像所对应的图像特征维度数量,上述函数中的参数x

作为一种可选的实施方式,假设上述图像识别方法应用于工业零件的异常检测场景当中,假设上述目标零件对象为螺丝零件,上述目标图像为采集到的包括螺丝零件的图像。由如图3所示的以下步骤对上述方法进行举例解释说明:

执行步骤S302,获取对螺丝零件进行图像采集所得到的目标图像。

然后执行步骤S304,利用具有孪生网络结构的异常零件识别网络302提取目标图像的第一图像特征以及第二图像特征。具体而言,利用异常零件识别网络中的教师网络304对目标图像进行特征提取得到的第一图像特征,并利用异常零件识别网络中的学生网络306对目标图像进行特征提取得到的第二图像特征。

进而执行步骤S306,对第一图像特征与第二图像特征进行比对,获取第一图像特征与第二图像特征之间的特征相似度。

接着执行步骤S308,确定第一图像特征与第二图像特征之间的相似度是否大于预定阈值。在大于预定阈值的情况下,执行步骤S310-1,确定目标图像属于用于指示正常零件的第二类图像,螺丝零件中不存在瑕疵。在大于预定阈值的情况下,执行步骤S310-2,确定目标图像属于用于指示异常零件的第一类图像,螺丝零件中存在瑕疵。

其中,学生网络对正样本图像提取到的图像特征与第一网络对该正样本图像提取到的图像特征之间特征相同,且学生网络对负样本图像提取到的图像特征与教师网络对该负样本图像提取到的图像特征不同。

在本申请实施例中,获取对目标零件对象进行图像采集所得到的目标图像。然后,利用具有孪生网络结构的异常零件识别网络提取目标图像的图像特征,其中,图像特征包括孪生网络结构中的第一网络对目标图像提取到的第一图像特征,及孪生网络结构中的第二网络对目标图像提取到的第二图像特征,第一网络是用于获取样本图像对中显示有正常零件对象的正样本图像的图像特征的参考网络,第二网络是利用基于正样本图像所合成的显示有异常零件对象的负样本图像进行训练。接着,获取第一图像特征与第二图像特征之间的特征相似度。进而,基于特征相似度确定出对目标图像的识别结果,其中,识别结果用于指示目标图像中的目标零件对象是否为异常零件对象。换言之,采用本申请实施例,利用异常零件识别网络对目标图像进行识别。具体而言,利用异常零件识别网络中包括的第一网络对目标图像进行识别得到的第一图像特征,利用孪生网络结构中包括的第二网络对目标图像进行识别得到的第二图像特征。从而利用第一图像特征与第二图像特征之间的相似度来确定目标图像的识别结果。也就是说,由于在本申请实施例中,通过异常零件识别网络中的各个分支网络(即,第一网络、第二网络)分别提取出的待检测零件所对应的目标图像的特征之间相似度,来确定待检测的目标零件对象是否存在异常缺陷。而并不是单一的根据待检测零件所对应图像的图像特征与正常零件所对应图像的图像特征之间的相似度,来确定目标图像的识别结果。从而解决了现有技术中工业零件的图像识别方式的识别结果准确性较低的技术问题,达到了提升工业零件的图像识别方式的识别结果准确性的技术效果。

可选地,作为一种可选的方案,基于特征相似度确定出对目标图像的识别结果包括:

在特征相似度小于或等于第一阈值的情况下,确定目标零件对象为异常零件对象,并确定识别结果是目标图像属于用于指示异常零件的第一类图像;

在特征相似度大于或等于第二阈值的情况下,确定目标零件对象为正常零件对象,并确定识别结果是目标图像属于用于指示正常零件的第二类图像;

其中,第一阈值小于第二阈值。

可选地,在本实施例中,可以但不限于利用第一图片特征与第二图片特征之间的损失函数来获取上述特征相似度。其中,第一图片特征与第二图片特征之间的损失函数值越大,第一图片特征与第二图片特征之间的特征相似度越小;相应地,第一图片特征与第二图片特征之间的损失函数值越小,第一图片特征与第二图片特征之间的特征相似度越大。

作为一种可选的实施方式,假设第一图片特征与第二图片特征之间的相似度为0.2,假设上述第一阈值为0.3、上述第二阈值为0.5,由以下步骤对上述方法进行举例解释说明:对第一图像特征与第二图像特征进行比对,获取第一图像特征与第二图像特征之间的特征相似度为0.2。确定第一图像特征与第二图像特征之间的特征相似度(0.2)小于第一阈值(0.3),进而确定识别结果是目标图像属于用于指示异常零件的第一类图像。换言之,目标零件对象是异常零件。

作为另一种可选的实施方式,仍假设第一图片特征与第二图片特征之间的相似度为0.6,假设上述第一阈值为0.3、上述第二阈值为0.5,由以下步骤对上述方法进行举例解释说明:对第一图像特征与第二图像特征进行比对,获取第一图像特征与第二图像特征之间的特征相似度为0.6。确定第一图像特征与第二图像特征之间的特征相似度(0.6)大于第二阈值(0.5),进而确定识别结果是目标图像属于用于指示正常零件的第二类图像。换言之,目标零件对象是正常零件。

在本申请实施例中,在特征相似度小于或等于第一阈值的情况下,确定目标零件对象为异常零件对象,并确定识别结果是目标图像属于用于指示异常零件的第一类图像;在特征相似度大于或等于第二阈值的情况下,确定目标零件对象为正常零件对象,并确定识别结果是目标图像属于用于指示正常零件的第二类图像;其中,第一阈值小于第二阈值。也就是说,由于在本申请实施例中,通过异常零件识别网络中的各个分支网络(即,第一网络、第二网络)分别提取出的待检测零件所对应的目标图像的特征之间相似度,来确定待检测的目标零件对象是否存在异常缺陷。而并不是单一的根据待检测零件所对应图像的图像特征与正常零件所对应图像的图像特征之间的相似度,来确定目标图像的识别结果。从而解决了现有技术中工业零件的图像识别方式的识别结果准确性较低的技术问题,达到了提升工业零件的图像识别方式的识别结果准确性的技术效果。

可选地,作为一种可选的方案,在获取对目标零件对象进行图像采集所得到的目标图像之后,上述方法还包括:

S1,获取与目标零件对象对应的模板图像,其中,模板图像中显示有与目标零件对象属于同一类零件的参考零件对象,且参考零件对象为正常零件对象;

可选地,在本实施例中,可以但不限于基于以下步骤获取上述模板图像:获取检测的绝对正常无瑕疵的零件对象作为参考零件对象,然后对该参考零件对象所有需要检测的图像点位进行图像采集,得到模板图像。

S2,按照模板图像中参考零件对象的显示位置,对目标图像中的目标零件对象的显示位置进行校正,得到校正后的图像,其中,校正后的图像中的目标零件对象与模板图像中的参考零件对象处于显示对齐状态。

需要说明的是,上述目标图像中的目标零件对象的显示位置可以但不限于包括:目标零件对象在目标图像中的显示方向、角度、以及在目标图像中的位置。上述目标零件对象与模板图像中的参考零件对象处于显示对齐状态可以但不限于用于指示,目标零件对象在目标图像中的显示方向、角度、以及位置,与参考零件对象在模板图像中的显示方向、角度、以及位置一致。进一步地,可以但不限于利用目标图像与模板图像之间的变换矩阵来对目标图像中的目标零件对象的显示位置进行校正。

举例而言,假设图4中(a)所示的图像为目标图像,目标图像中包括的目标零件对象是螺丝零件,图4中(b)所示的图像为模板图像,模板图像中包括的参考零件对象也是螺丝零件。上述按照模板图像中参考零件对象的显示位置,对目标图像中的目标零件对象的显示位置进行校正,得到校正后的图像可以但不限于包括:对图4中(a)中的目标零件对象进行调整,使得的目标零件对象的目标零件对象的显示方向、角度、以及位置与图4中(b)中的参零件对象的显示方向、角度、以及位置一致。

在本申请实施例中,获取与目标零件对象对应的模板图像,其中,模板图像中显示有与目标零件对象属于同一类零件的参考零件对象,且参考零件对象为正常零件对象。然后,按照模板图像中参考零件对象的显示位置,对目标图像中的目标零件对象的显示位置进行校正,得到校正后的图像,其中,校正后的图像中的目标零件对象与模板图像中的参考零件对象处于显示对齐状态。换言之,采用本申请实施例,利用目标零件对象对应的模板图像,来校正目标图像中的目标零件对象的显示位置,使得目标图像更加规范,进而使得利用异常零件识别网络提取目标图像的图像特征更加准确,从而实现了提升工业零件的图像识别方式的识别结果准确性的技术效果。

可选地,作为一种可选的方案,按照模板图像中参考零件对象的显示位置,对目标图像中的目标零件对象的显示位置进行校正,得到校正后的图像包括:

S1,对模板图像中的参考零件对象进行边缘检测处理,得到第一对象轮廓图,并对目标图像中的目标零件对象进行边缘检测处理,得到第二对象轮廓图;

需要说明的是,可以但不限于微分法、差分边缘检测方法、罗伯茨Roberts边缘检测算子、索贝尔Sobel边缘检测算子、拉普拉斯边缘检测算子等等方式对模板图像中的参考零件对象和目标图像中的目标零件对象进行边缘检测处理。在本实施例中对此并不进行任何限定。

其中,Roberts边缘检测算子根据任意一对互相垂直方向上的差分可用来计算梯度的原理,采用对角线方向相邻两像素之差。然后计算出Roberts的梯度幅度值,Roberts检测器较为简单,但具有一些功能上的限制,例如,它是非对称的,而且不能检测诸如45°倍数的边缘。然而,它还是经常用于硬件实现中,因为它既简单又快速。索贝尔Sobel边缘检测算子是对数字图像的每个像素,考察它上下左右邻点灰度的加权差。拉普拉斯边缘检测算子是一种二阶微分算子,与其它边缘检测方法的不同之处在于,该方法是一种各向同性的检测方法,即其边缘的增强程度与边缘的方向无关,从而可以满足不同走向的边缘锐化的要求。

S2,将第一对象轮廓图转化为第一对象轮廓点集,并将第二对象轮廓图转化为第二对象轮廓点集;

可选地,上述将第一对象轮廓图转化为第一对象轮廓点集可以但不限于包括:将第一对象轮廓图中所有的关键位置利用非极大值抑制(Non Maximum Suppression,简称NMS)算法转化为第一坐标系中的点,得到第一对象轮廓点集。相应地,上述第二对象轮廓图转化为第二对象轮廓点集可以但不限于包括:将第二对象轮廓图中所有的关键点利用非极大值抑制(Non Maximum Suppression,简称NMS)算法转化为第二坐标系中的点,得到第二对象轮廓点集。其中,NMS算法广泛应用于传统的特征提取和深度学习的目标检测算法中。NMS算法的原理是通过筛选出局部极大值得到最优解。在2维边缘提取中体现在提取边缘轮廓后将一些梯度方向变化率较小的点筛选掉,避免造成干扰。在三维关键点检测中也起到重要作用,筛选掉特征中非局部极值。

需要说明的是,在上述将第一对象轮廓图转化为第一对象轮廓点集,并将第二对象轮廓图转化为第二对象轮廓点集之后,还可以但不限于包括:剔除第一对象轮廓点集以及第二对象轮廓点集中包括的误差点。

举例而言,假设图5中(a)所示的图像为目标图像,目标图像中包括的目标零件对象是螺丝零件,图5中(b)所示的图像为模板图像,模板图像中包括的参考零件对象也是螺丝零件。上述对模板图像中的参考零件对象进行边缘检测处理,得到第一对象轮廓图,并对目标图像中的目标零件对象进行边缘检测处理,得到第二对象轮廓图可以但不限于包括:对图5中(a)中的目标零件对象进行边缘检测处理,得到如图5中(c)所示的目标零件对象的轮廓图(即,第一对象轮廓图)。对图5中(b)中的参考零件对象进行边缘检测处理,得到如图5中(d)所示的参考零件对象的轮廓图(即,第二对象轮廓图)。

接着,上述将第一对象轮廓图转化为第一对象轮廓点集,并将第二对象轮廓图转化为第二对象轮廓点集可以但不限于包括:对图5中(c)中的参考零件对象的第一对象轮廓图利用NMS算法,转化为如图5中(e)所示的参考零件对象的轮廓点集(即,第一对象轮廓点集);并对图5中(d)中的目标零件对象的第二对象轮廓图,利用NMS算法转化为如图5中(f)所示的目标零件对象的轮廓点集(即,第二对象轮廓点集)。

然后,剔除如图5中(e)所示的参考零件对象的轮廓点集(即,第一对象轮廓点集)中不属于参考零件对象的误差点,并剔除如图5中(f)所示的目标零件对象的轮廓点集(即,第二对象轮廓点集)中不属于目标零件对象的误差点。获取到如图5中(g)所示的不存在误差点的第一对象轮廓点集,以及如图5中(h)所示的不存在误差点的第二对象轮廓点集。

S3,基于第一对象轮廓点集和第二对象轮廓点集之间的点位对应关系,确定校正变换矩阵;

需要说明的是,在基于第一对象轮廓点集和第二对象轮廓点集之间的点位对应关系,确定校正变换矩阵之前,上述方法可以但不限于还包括:利用最近邻搜索方法,确定第一对象轮廓点集中包括的各个点与第二对象轮廓点集中包括的各个点的匹配关系。其中,最近邻搜索也称作最近点搜索,是指在一个尺度空间中搜索与查询点最近点的优化问题。最近邻搜索在很多领域中都有广泛应用,如:计算机视觉、信息检索、数据挖掘、机器学习,大规模学习等。在计算机视觉领域中应用最广,如:计算机图形学、图像检索、复本检索、物体识别、场景识别、场景分类、姿势评估,特征匹配等。

可选地,假设图6中(a)所示的点集为第一对象轮廓点集,图6中(b)所示的点集为第二对象轮廓点集。以第一对象轮廓点集中的点A,与第二对象轮廓点集中的点A1为例,由以下步骤对上述方法进行举例说明:分别确定第一对象轮廓点集中各个点在第一对象轮廓点集所在的第一坐标系中的坐标,并分别确定第二对象轮廓点集中各个点在第二对象轮廓点集所在的第二坐标系中的坐标。其中,如图6中(a)所示第一对象轮廓点集中的点A在第一坐标系中的坐标为(-9,-2),如图6中(b)所示第二对象轮廓点集中的点A1在第二坐标系中的坐标为(-6,-8)。然后,利用最近邻搜索方法,确定第一对象轮廓点集中各个点与第二对象轮廓点集中各个点之间匹配关系,其中,第一对象轮廓点集中的点A与第二对象轮廓点集中的点A1都是螺丝零件尾部的点,二者存在匹配关系{(-9,-2),(-6,-8)}。

进一步地,上述基于第一对象轮廓点集和第二对象轮廓点集之间的点位对应关系,确定校正变换矩阵可以但不限于包括:基于机器视觉(Random Sample Consensus,简称:ransac)算法,利用第一对象轮廓点集和第二对象轮廓点集之间的点位对应关系确定校正变换矩阵。

S4,利用校正变换矩阵对目标图像中的第二对象轮廓点集进行位置校正,得到包含第三对象轮廓点集的校正后的图像,其中,第三对象轮廓点集中各个轮廓点在校正后的图像中的显示位置将与第一对象轮廓点集中各个轮廓点在模板图像中的显示位置分别对应。

可选地,在本实施例中,上述利用校正变换矩阵对目标图像中的第二对象轮廓点集进行位置校正,得到包含第三对象轮廓点集的校正后的图像可以但不限于包括:将目标图像中的第二对象轮廓点集与校正变换矩阵相乘,得到包含第三对象轮廓点集的校正后的图像。

在本申请实施例中,对模板图像中的参考零件对象进行边缘检测处理,得到第一对象轮廓图,并对目标图像中的目标零件对象进行边缘检测处理,得到第二对象轮廓图。然后,将第一对象轮廓图转化为第一对象轮廓点集,并将第二对象轮廓图转化为第二对象轮廓点集。然后,基于第一对象轮廓点集和第二对象轮廓点集之间的点位对应关系,确定校正变换矩阵。接着,利用校正变换矩阵对目标图像中的第二对象轮廓点集进行位置校正,得到包含第三对象轮廓点集的校正后的图像,其中,第三对象轮廓点集中各个轮廓点在校正后的图像中的显示位置将与第一对象轮廓点集中各个轮廓点在模板图像中的显示位置分别对应。换言之,采用本申请实施例,利用目标零件对象对应的模板图像,来校正目标图像中的目标零件对象的显示位置,使得目标图像更加规范,进而使得利用异常零件识别网络提取目标图像的图像特征更加准确,从而实现了提升工业零件的图像识别方式的识别结果准确性的技术效果。

可选地,作为一种可选的方案,基于第一对象轮廓点集和第二对象轮廓点集之间的点位对应关系,确定校正变换矩阵包括:

S1,确定待估计的当前变换矩阵;

S2,利用当前变换矩阵对第二对象轮廓点集进行变换处理,获取到参考轮廓点集;

S3,基于第一对象轮廓点集中各个轮廓点与参考对象轮廓点集中各个轮廓点之间的点位对应关系,确定参考轮廓点集中各个轮廓点的显示位置各自与第一对象轮廓点集中各个轮廓点的显示位置之间的位置误差,得到多个点位误差;

需要说明的是,在上述基于第一对象轮廓点集中各个轮廓点与第二对象轮廓点集中各个轮廓点之间的点位对应关系,确定参考轮廓点集中各个轮廓点的显示位置各自与第一对象轮廓点集中各个轮廓点的显示位置之间的位置误差,得到多个点位误差之后,上述方法还包括:从参考轮廓点集中剔除点位误差大于第五阈值的轮廓点,其中,第五阈值为大于0的整数。

S4,利用多个点位误差确定出参考轮廓点集与第一对象轮廓点集之间的变换误差;

S5,在变换误差并未满足误差收敛条件的情况下,对当前变换矩阵进行调整,得到调整后的变换矩阵,并利用调整后的变换矩阵对第二对象轮廓点集进行变换处理;

S6,在变换误差满足误差收敛条件的情况下,将当前变换矩阵确定为校正变换矩阵。

可选地,在本实施例中,上述在变换误差满足误差收敛条件的情况下,将当前变换矩阵确定为校正变换矩阵可以但限于包括:在变换误差连续N次均小于第六阈值的情况下,将当前变换矩阵确定为校正变换矩阵。

作为一种可选的实施方式,由如图7所示的以下步骤对上述方法进行举例解释说明:

执行步骤S702,确定待估计的当前变换矩阵,其中,当前变换矩阵为随机的初始化变换矩阵。

然后,执行步骤S704,利用当前变换矩阵对第二对象轮廓点集进行变换处理,获取到参考轮廓点集。

进而,执行步骤S706,建立参考轮廓点集中各个轮廓点与第一对象轮廓点集中各个轮廓点之间的点位对应关系。

接着,执行步骤S708,基于第一对象轮廓点集中各个轮廓点与参考对象轮廓点集中各个轮廓点之间的点位对应关系,确定参考轮廓点集中各个轮廓点的显示位置各自与第一对象轮廓点集中各个轮廓点的显示位置之间的位置误差。

举例而言,假设参考轮廓点集中包括K个轮廓点,第一对象轮廓点集中包括K个轮廓点,那么参考轮廓点集中的第k个轮廓点与第一对象轮廓点集中的第k个轮廓点之间的位置误差,如公式(2)所示。是参考轮廓点集中的第k个轮廓点与第一对象轮廓点集中的第k个轮廓点之间的二阶欧式距离:

其中,w

参考轮廓点集中的第k个轮廓点与第一对象轮廓点集中的第k个轮廓点之间的点位误差为:

其中,W

进而,执行步骤S710,利用多个点位误差确定出参考轮廓点集与第一对象轮廓点集之间的变换误差。

举例而言,仍假设参考轮廓点集中包括K个轮廓点,第一对象轮廓点集中包括K个轮廓点。那么参考轮廓点集与第一对象轮廓点集之间的变换误差为:

其中,F为参考轮廓点集与第一对象轮廓点集之间的变换误差,W

进而,执行步骤S712,判断变换误差是否满足误差收敛条件。举例而言,假设参考轮廓点集与第一对象轮廓点集之间的变换误差为F,确定F是否小于第六阈值。

在变换误差满足误差收敛条件的情况下,执行步骤S714,将当前变换矩阵确定为校正变换矩阵,并确定对目标图像中的第二对象轮廓点集的校正处理已完成。在变换误差未满足误差收敛条件的情况下,执行步骤S716,对当前变换矩阵进行调整,具体而言,基于Ransac算法,利用第一对象轮廓点集和参考轮廓点集之间的点位对应关系确定调整后的变换矩阵,并将调整后的变换矩阵确定为当前变换矩阵。

然后,执行步骤S718-S724,利用调整后的当前变换矩阵对参考对象轮廓点集进行变换处理。建立参考轮廓点集中各个轮廓点与第一对象轮廓点集中各个轮廓点点之间的点位对应关系。基于第一对象轮廓点集中各个轮廓点与参考对象轮廓点集中各个轮廓点之间的点位对应关系,确定参考轮廓点集中各个轮廓点的显示位置各自与第一对象轮廓点集中各个轮廓点的显示位置之间的位置误差。利用多个点位误差确定出参考轮廓点集与第一对象轮廓点集之间的变换误差。

进一步地,执行步骤S726,判断变换误差是否满足误差收敛条件。在变换误差满足误差收敛条件的情况下,执行步骤S728,将当前变换矩阵确定为校正变换矩阵,并确定对目标图像中的第二对象轮廓点集的校正处理已完成。在变换误差未满足误差收敛条件的情况下,重复执行步骤S716-S726,直到变换误差满足误差收敛条件。

在本申请实施例中,确定待估计的当前变换矩阵。然后,利用当前变换矩阵对第二对象轮廓点集进行变换处理,获取到参考轮廓点集。接着,基于第一对象轮廓点集中各个轮廓点与第二对象轮廓点集中各个轮廓点之间的点位对应关系,确定参考轮廓点集中各个轮廓点的显示位置各自与第一对象轮廓点集中各个轮廓点的显示位置之间的位置误差,得到多个点位误差。进而,利用多个点位误差确定出参考轮廓点集与第一对象轮廓点集之间的变换误差。然后,在变换误差并未满足误差收敛条件的情况下,对当前变换矩阵进行调整,得到调整后的变换矩阵,并利用调整后的变换矩阵对第二对象轮廓点集进行变换处理。在变换误差满足误差收敛条件的情况下,将当前变换矩阵确定为校正变换矩阵。换言之,采用本申请实施例,利用目标零件对象对应的模板图像,来校正目标图像中的目标零件对象的显示位置,使得目标图像更加规范,进而使得利用异常零件识别网络提取目标图像的图像特征更加准确,从而实现了提升工业零件的图像识别方式的识别结果准确性的技术效果。

可选地,作为一种可选的方案,利用具有孪生网络结构的异常零件识别网络提取目标图像的图像特征包括:

S1,对目标图像进行区域划分,得到N个目标图像块,N为大于1的正整数;

S2,利用异常零件识别网络对N个目标图像块进行特征提取,得到图像特征。

可选地,在本实施例中,上述对目标图像进行区域划分,得到N个目标图像块可以但不限于包括以下至少之一:将目标图像按照目标尺寸大小进行划分,得到N个具有相同尺寸大小的图像块;将N个图像块确定为N个目标图像块;从目标图像中截取N个关键图像块,其中,关键图像块为目标图像中目标零件对象的关键对象部位所在的图像块;将N个关键图像块确定为N个目标图像块。

进一步地,上述利用异常零件识别网络对N个目标图像块进行特征提取,得到图像特征可以但不限于包括:将N个目标图像块中的每个目标图像块依次确定为当前图像块,并执行以下步骤:将当前图像块输入至第一网络中,得到第一当前子图像特征,并将当前图像块输入至第二网络中,得到第二当前子图像特征,其中,第一图像特征中包括第一当前子图像特征,第二图像特征中包括第二当前子图像特征。

在本申请实施例中,对目标图像进行区域划分,得到N个目标图像块,N为大于1的正整数。然后,利用异常零件识别网络对N个目标图像块进行特征提取,得到图像特征。换言之,采用本申请实施例,通过对目标图像进行区域划分得到N个目标图块的方式,使得在利用异常零件识别网络对N个目标图像块进行特征提取得到图像特征的过程中,只要检测到N个目标图像块中的一个图块存在问题,就可以确定目标零件对象是异常零件对象,进而实现了提升图像识别的识别效率的技术效果。进一步地,对目标图像进行区域划分得到N个目标图块,使得在利用异常零件识别网络对N个目标图像块进行特征提取得到图像特征的过程中,在检测到N个目标图像块中的某一个图块存在问题的情况下,可以快速地定位到异常目标零件对象中的异常位置,从而便于对异常目标零件对象进行修复。

可选地,作为一种可选的方案,对目标图像进行区域划分,得到N个目标图像块包括以下之一:

将目标图像按照目标尺寸大小进行划分,得到N个具有相同尺寸大小的图像块;将N个图像块确定为N个目标图像块;

举例而言,假设目标图像为如图8中(a)所示的图像,如图8中(b)所示按照预定尺寸将目标图像进行划分,得到4个尺寸大小完全相同的目标图块。

从目标图像中截取N个关键图像块,其中,关键图像块为目标图像中目标零件对象的关键对象部位所在的图像块;将N个关键图像块确定为N个目标图像块。

需要说明的是,在本实施例中上述目标零件对象的关键对象部位可以但不限于用于指示,目标零件对象上需要被检测是否存在瑕疵的部位。如,螺丝零件上的螺帽和螺纹。

作为一种可选的实施方式,假设目标图像为如图9中(a)所示的图像,由以下步骤对上述方法进行举例说明:确定如图9中(a)所示,确定目标图像中包括的目标零件对象是一个螺丝零件,确定需要对螺丝零件上的螺帽和螺纹尾部进行检测。然后,如图9中(b)所示,从目标图像中截取2个关键图像块,即,如图9中(b)所示的螺帽所在的图块和螺纹尾部所在的图块。

在本申请实施例中,将目标图像按照目标尺寸大小进行划分,得到N个具有相同尺寸大小的图像块;将N个图像块确定为N个目标图像块。使得在利用异常零件识别网络对N个目标图像块进行特征提取得到图像特征的过程中,只要检测到N个目标图像块中的一个图块存在问题,就可以确定目标零件对象是异常零件对象,进而提升图像识别的识别效率。从目标图像中截取N个关键图像块,其中,关键图像块为目标图像中目标零件对象的关键对象部位所在的图像块;将N个关键图像块确定为N个目标图像块。从而减少了异常零件识别网络所需处理数据,进而进一步地提升了图像识别的识别效率。

可选地,作为一种可选的方案,利用异常零件识别网络对N个目标图像块进行特征提取,得到图像特征包括:

将N个目标图像块中的每个目标图像块依次确定为当前图像块,并执行以下步骤:

将当前图像块输入至第一网络中,得到第一当前子图像特征,并将当前图像块输入至第二网络中,得到第二当前子图像特征,其中,第一图像特征中包括第一当前子图像特征,第二图像特征中包括第二当前子图像特征。

可选地,作为一种可选的实施例,假设上述N个目标图像块中包括:目标图像块A、目标图像块B、目标图像块C。在目标图像中的目标零件对象是为正常零件对象的情况下,由以下步骤对上述方法进行举例解释说明:

将目标图像块A作为输入至第一网络中,得到第一子图像特征A1,并将目标图像块A输入至第二网络中,得到第二子图像特征A2。获取第一子图像特征A1与第一子图像特征A2之间的特征相似度,进而确定特征相似度大于第二阈值。接着,将目标图像块B作为输入至第一网络中,得到第一子图像特征B1,并将目标图像块B输入至第二网络中,得到第二子图像特征B2。获取第一子图像特征B1与第一子图像特征B2之间的特征相似度,进而确定特征相似度大于第二阈值。然后,将目标图像块C作为输入至第一网络中,得到第一子图像特征C1,并将目标图像块C输入至第二网络中,得到第二子图像特征C2。获取第一子图像特征C1与第一子图像特征C2之间的特征相似度,进而确定特征相似度大于第二阈值。进而确定目标图像中的目标零件对象是为正常零件对象。

可选地,作为另一种可选的实施例,仍假设上述N个目标图像块中包括:目标图像块A、目标图像块B、目标图像块C。在目标图像中的目标零件对象是为异常零件对象且异常区域位于目标图像块B所对应的部位的情况下,由以下步骤对上述方法进行举例解释说明:

将目标图像块A作为输入至第一网络中,得到第一子图像特征A1,并将目标图像块A输入至第二网络中,得到第二子图像特征A2。获取第一子图像特征A1与第一子图像特征A2之间的特征相似度,进而确定特征相似度大于第二阈值。接着,将目标图像块B作为输入至第一网络中,得到第一子图像特征B1,并将目标图像块B输入至第二网络中,得到第二子图像特征B2。获取第一子图像特征B1与第一子图像特征B2之间的特征相似度,进而确定特征相似度小于第一阈值,也就是说,目标图像中的目标零件对象是为异常零件对象。然后,将目标图像块C作为输入至第一网络中,得到第一子图像特征C1,并将目标图像块C输入至第二网络中,得到第二子图像特征C2。获取第一子图像特征C1与第一子图像特征C2之间的特征相似度,进而确定特征相似度大于第二阈值。进而确定目标图像中的目标零件对象是为异常零件对象,且异常零件对象的异常区域位于目标图像块B所对应的部位。

在本申请实施例中,将N个目标图像块中的每个目标图像块依次确定为当前图像块,并执行以下步骤:将当前图像块输入至第一网络中,得到第一当前子图像特征,并将当前图像块输入至第二网络中,得到第二当前子图像特征,其中,第一图像特征中包括第一当前子图像特征,第二图像特征中包括第二当前子图像特征。换言之,采用本申请实施例,通过对目标图像进行区域划分得到N个目标图块的方式,使得在利用异常零件识别网络对N个目标图像块进行特征提取得到图像特征的过程中,只要检测到N个目标图像块中的一个图块存在问题,就可以确定目标零件对象是异常零件对象,进而实现了提升图像识别的识别效率的技术效果。进一步地,对目标图像进行区域划分得到N个目标图块,使得在利用异常零件识别网络对N个目标图像块进行特征提取得到图像特征的过程中,在检测到N个目标图像块中的某一个图块存在问题的情况下,可以快速地定位到异常目标零件对象中的异常位置,从而便于对异常目标零件对象进行修复。

可选地,作为一种可选的方案,在获取对目标零件对象进行图像采集所得到的目标图像之前,上述方法包括:

S1,获取K个显示有正常零件对象的正样本图像和K个显示有异常零件对象的负样本图像,得到K个样本图像对,其中,负样本图像是对正样本图像进行调整后合成的,K为大于1的自然数;

可选地,在本实施例中,在上述获取K个显示有正常零件对象的正样本图像和K个显示有异常零件对象的负样本图像,得到K个样本图像对之前,上述方法可以但不限于还包括:依次对K个显示有正常零件对象的正样本图像中分别包括的零件对象的显示位置进行校正,进而分别基于上述对K个显示有正常零件对象的正样本图像,合成K个显示有异常零件对象的负样本图像。其中,具体显示位置进行校正的方法,请参考上文中记载的有关对目标图像中的目标零件对象的显示位置进行校正的实施例。在本实施例中对此不再赘述。

S2,利用K个样本图像对训练初始化的异常零件识别网络,直至第二网络的输出特征与第一网络的输出特征之间的比对结果达到收敛条件。

可选地,上述利用K个样本图像对训练初始化的异常零件识别网络,直至第二网络的输出特征与第一网络的输出特征之间的比对结果达到收敛条件还可以包括:利用K个正样本图像和K个负样本图像,对初始化的异常零件识别网络进行训练。在训练的过程中,第一网络的参数固定不变,利用第一网络对K个显示有正常零件对象的正样本的输出特征影响第二网络的训练,并不断调整第二网络中的网络参数。使得第二网络的输出特征与第一网络的输出特征之间的比对结果达到收敛条件。假设第一网络的参数固定不变,上述第二网络的输出特征与第一网络的输出特征之间的比对结果达到收敛条件可以但不限于包括:正样本图像输入第一网络后得到的第一样本子图像特征,与正样本图像输入第二网络后得到的第二样本子图像特征之间的相似度大于第三阈值。但负样本图像输入第一网络后得到的第三样本子图像特征,与负样本图像输入第二网络后得到的第四样本子图像特征之间的特征相似度小于第四阈值。

在本申请实施例中,获取K个显示有正常零件对象的正样本图像和K个显示有异常零件对象的负样本图像,得到K个样本图像对,其中,负样本图像是对正样本图像进行调整后合成的,K为大于1的自然数。然后,利用K个样本图像对训练初始化的异常零件识别网络,直至第二网络的输出特征与第一网络的输出特征之间的比对结果达到收敛条件。换句话说,采用本申请实施例,通过丰富的样本数据对异常零件识别网络进行训练,从而提升了异常零件识别网络的精度。从而实现了提升工业零件的图像识别方式的识别结果准确性的技术效果。

可选地,作为一种可选的方案,利用K个样本图像对训练初始化的异常零件识别网络,直至第二网络的输出特征与第一网络的输出特征之间的比对结果达到收敛条件包括:

从K个样本图像对中获取当前样本图像对,并执行以下操作:

S1,将当前样本图像对中的当前正样本图像输入第一网络,并将当前样本图像对中的当前负样本图像输入第二网络;

S2,在当前负样本图像输入第二网络后得到的当前负样本子图像特征与当前正样本图像输入第一网络后得到的当前正样本子图像特征之间的特征相似度小于第三阈值的情况下,获取下一对样本图像对作为当前样本图像对;

S3,在当前负样本图像输入第二网络后得到的当前负样本子图像特征与当前正样本图像输入第一网络后得到的当前正样本子图像特征之间的特征相似度大于或等于第三阈值的情况下,对训练收敛统计结果加一处理;

S4,在训练收敛统计结果达到第四阈值的情况下,确定达到收敛条件。

需要说明的,在本实施例中初始化的第一网络以及初始化的第二网络所采用的网络结构相同,可以但不限于采用深度卷积神经网络结构(Residual Network-50,简称:ResNet-50)、卷积神经网络模型(Vision Transformer,简称:ViT)、深度卷积神经网络模型((Visual Geometry Group16,简称:VGG-16)预训练模型等等,在本实施例中对此并不进行任何限定。

可选地,上述收敛统计结果用于统计当前负样本图像输入第二网络后得到的当前负样本子图像特征与当前正样本图像输入第一网络后得到的当前正样本子图像特征之间的特征相似度大于或等于第三阈值的次数。在该次数达到第四阈值的情况下,确定异常零件识别网络足够可靠,并结束训练。

可选地,在本实施例中,在上述将当前样本图像对中的当前正样本图像输入第一网络,并将当前样本图像对中的当前负样本图像输入第二网络之前,上述方法可以但不限于包括:对当前正样本图像进行图块划分,得到N个当前正样本图像块。并对当负正样本图像进行图块划分,得到N个当前负样本图像块。具体图块的划分方法,请参考上文中记载的有关对目标图像进行图块划分的实施例,在本实施例中对此不再赘述。

相应地,上述将当前样本图像对中的当前正样本图像输入第一网络,并将当前样本图像对中的当前负样本图像输入第二网络可以但不限于包括:将当前正样本图像对应的N个当前正样本图像块输入第一网络,并将当前负样本图像对应的N个当前负样本图像块输入第二网络,其中,N为正整数。

进一步地,上述在当前负样本图像输入第二网络后得到的当前负样本子图像特征与当前正样本图像输入第一网络后得到的当前正样本子图像特征之间的特征相似度大于或等于第三阈值的情况下,对训练收敛统计结果加一处理;在训练收敛统计结果达到第四阈值的情况下,确定达到收敛条件可以但不限于包括:将上述N个当前正样本图像块中的每一个图像块输入第一网络后得到的图像特征,分别与上述N个当前负样本图像块中的每一个图像块输入第二网络后得到的图像特征之间的特征相似度大于或等于第三阈值的情况下,对训练收敛统计结果加一处理;在训练收敛统计结果达到第四阈值的情况下,确定达到收敛条件。

作为一种可选的实施例,由如图10所示的以下步骤对上述方法进行举例解释说明:

步骤S1002,获取正样本图像。具体而言,获取K个显示有正常零件对象的正样本图像。

步骤S1004,对正样本图像进行校正。具体而言,分别对K个正样本图像中的各个正样本图像中显示的零件对象的显示位置进行校正。

步骤S1006,获取样本图像对。具体地,依次对K个正样本图像进行调整以合成K个显示有异常零件对象的负样本图像。生成K个样本图像对,其中,每个样本图像对中包括一个正样本图像和由该正样本图像合成的负样本图像。

步骤S1008,确定当前样本图像对,将K个样本图像对中的第i个样本图像对确定为当前样本图像对,其中,i为小于K的正整数。

步骤S1010,对样本图像对中的图像进行图块划分。具体地,将当前样本图像对中的正样本图像划分为N个正样本图像块,并将当前样本图像对中的负样本图像也划分为与正样本图像中的N个正样本图像块中的各个图像块分别对应的N个负样本图像块(如,正样本图像中的N个正样本图像块是螺纹块和螺母块,那么负样本图像中的N个负样本图像块也应该是螺纹块和螺母块)。

步骤S1012-1,基于第一网络提取正样本图像的图像特征。具体而言,依次将N个正样本图像块输入至第一网络当中,得到N个正样本图像块特征。

步骤S1012-2,基于第二网络提取负样本图像的图像特征。具体而言,依次将N个负样本图像块输入至第二网络中,得到N个负样本图像块特征。

步骤S1014,特征比对,具体而言,分别比对N个正样本图像块特征与N个负样本图像块特征之间的特征相似度。

如果在N个正样本图像块特征,分别与N个负样本图像块特征之间的特征比对后,确定存在相似度小于第三阈值的正样本图像块特征与负样本图像块特征。执行步骤S1016-1,调整第二网络中的参数,并获取下一个样本图像对作为当前样本图像对。

如果在N个正样本图像块输入至第一网络后得到的N个正样本图像块特征,分别与N个负样本图像块输入至第二网络后得到N个负样本图像块特征之间的特征比对后,确定N个正样本图像块特征分别与N个负样本图像块特征之间的相似度之间的相似度均大于或等于第三阈值。执行步骤S1016-2,对训练收敛统计结果加一处理;确定训练收敛统计结果是否达到第四阈值,如果达到阈值则确定完成训练,如果未达到阈值则继续获取下一个样本图像对作为当前样本图像对。

在本申请实施例中,从K个样本图像对中获取当前样本图像对,并执行以下操作:将当前样本图像对中的当前正样本图像输入第一网络,并将当前样本图像对中的当前负样本图像输入第二网络;在当前负样本图像输入第二网络后得到的当前负样本子图像特征与当前正样本图像输入第一网络后得到的当前正样本子图像特征之间的特征相似度小于第三阈值的情况下,获取下一对样本图像对作为当前样本图像对;在当前负样本图像输入第二网络后得到的当前负样本子图像特征与当前正样本图像输入第一网络后得到的当前正样本子图像特征之间的特征相似度大于或等于第三阈值的情况下,对训练收敛统计结果加一处理;在训练收敛统计结果达到第四阈值的情况下,确定达到收敛条件。从而保证,在零件对象是正常零件对象的情况下,利用第一网络对将零件对象所对应的图像提取的图像特征,与利用第二网络对将零件对象所对应的图像提取的图像特征是相同的。在零件对象是异常零件对象的情况下,利用第一网络对将零件对象所对应的图像提取的图像特征,与利用第二网络对将零件对象所对应的图像提取的图像特征是不同的。进而确保了对目标图像的识别结果的准确性,从而实现了提升工业零件的图像识别方式的识别结果准确性的技术效果。

可选地,作为一种可选的方案,获取K个显示有正常零件对象的正样本图像和K个显示有异常零件对象的负样本图像,得到K个样本图像对包括:

S1,获取K个显示有正常零件对象的正样本图像;

S2,对K个正样本图像进行调整,以合成K个负样本图像,其中,正样本图像为显示有正常零件对象的样本模板图像。

可选地,在本实施例中,对K个正样本图像进行调整,以合成K个负样本图像可以但不限于包括以下至少之一:

1)在正样本图像中加入白噪声,以生成负样本图像;

2)获取多个异常零件图像块,其中,异常零件图像块中显示有与目标零件对象属于同一类零件的零件缺陷;将多个异常零件图像块中的一个或至少两个异常零件图像块,覆盖在正样本图像上,以生成负样本图像;

3)将正样本图像输入异常零件生成网络,以得到负样本图像,其中,异常零件生成网络是利用正样本图像和异常零件图像块进行训练后所得到的用于生成显示有异常零件对象的网络,异常零件图像块中显示有与目标零件对象属于同一类零件的零件缺陷。

在本申请实施例中,获取K个显示有正常零件对象的正样本图像。然后,对K个正样本图像进行调整,以合成K个负样本图像,其中,正样本图像为显示有正常零件对象的样本模板图像。换言之,在本申请实施例中,通过K个显示有正常零件对象的正样本图像来获取丰富的负样本图像,使得通过丰富的负样本图像进行训练得到的第二网络具有良好的鲁棒性。从而实现了提升工业零件的图像识别方式的识别结果准确性的技术效果。

可选地,作为一种可选的方案,对K个正样本图像进行调整,以合成K个负样本图像包括以下之一:

S1,在正样本图像中加入白噪声,以生成负样本图像;

可选地,在本实施例中,上述在正样本图像中加入白噪声,以生成负样本图像可以但不限于包括:在正样本图像中高斯噪声,以生成负样本图像。

S2,获取多个异常零件图像块,其中,异常零件图像块中显示有与目标零件对象属于同一类零件的零件缺陷;将多个异常零件图像块中的一个或至少两个异常零件图像块,覆盖在正样本图像上,以生成负样本图像;

需要说明的是,在上述将多个异常零件图像块中的一个或至少两个异常零件图像块,覆盖在正样本图像上之后上述方法还包括:对覆盖有异常零件图像块的正样本图块进行和谐化处理。

进一步地,假设正样本图像为如图11中(a)所示的螺丝零件所对应的图像,上述异常零件图像块可以但不限于用于指示如图11中(b)所示的螺丝零件中经常出现缺陷的部位所对应的缺陷图块,即,有瑕疵的螺帽所对应的图块。覆盖有异常零件图像块的正样本图块可以但不限于如图11中(c)所示,其中,有瑕疵的螺帽所对应的图块覆盖在了正样本图像中螺丝零件的螺帽区域上。

S3,将正样本图像输入异常零件生成网络,以得到负样本图像,其中,异常零件生成网络是利用正样本图像和异常零件图像块进行训练后所得到的用于生成显示有异常零件对象的网络,异常零件图像块中显示有与目标零件对象属于同一类零件的零件缺陷。

需要说明的,在上述将正样本图像输入异常零件生成网络,以得到负样本图像之前,上述方法可以但不限于包括:获取正样本图像和与样本异常零件图像,不断通过正样本图像和与样本异常零件图像块对初始化的异常零件生成网络进行训练,并调整异常零件生成网络中的参数。直到将一个正样本图像与异常零件图像块输入至异常零件生成网络后,可以得到与目标零件对象属于同一类零件的负样本图像。

进一步地,上述将正样本图像输入异常零件生成网络,以得到负样本图像可以但不限于包括:将正样本图像输入异常零件生成网络与异常零件图像块输入异常零件生成网络,以得到负样本图像。

在本实施例中,在正样本图像中加入白噪声,以生成负样本图像;获取多个异常零件图像块,其中,异常零件图像块中显示有与目标零件对象属于同一类零件的零件缺陷;将多个异常零件图像块中的一个或至少两个异常零件图像块,覆盖在正样本图像上,以生成负样本图像;将正样本图像输入异常零件生成网络,以得到负样本图像,其中,异常零件生成网络是利用正样本图像和异常零件图像块进行训练后所得到的用于生成显示有异常零件对象的网络,异常零件图像块中显示有与目标零件对象属于同一类零件的零件缺陷。换言之,在本申请实施例中,通过K个显示有正常零件对象的正样本图像来获取丰富的负样本图像,使得通过丰富的负样本图像进行训练得到的第二网络具有良好的鲁棒性。从而实现了提升工业零件的图像识别方式的识别结果准确性的技术效果。

作为一种可选的实施方式,由如图12所示的以下步骤对上述异常零件识别网络的训练步骤进行举例解释说明:

S1202,获取正样本图像。

S1204,利用图像配准模块对正样本图像进行配准处理。

S1206,利用图像块划分模块对正样本图像进行图块划分。

S1208-1,在学习模块中基于教师网络提取正样本图像的图像特征。

S1208-2,在负样本图像块模块中基于正样本图像合成负样本图像。

S1208-3,在学习模块中基于学生网络提取正样本图像的图像特征以及负样本图像的图像特征。

S1210,在特征对比模块中对基于教师网络提取正样本图像的图像特征与基于学生网络提取正样本图像的图像特征以及负样本图像的图像特征进行特征比对。具体而言,在基于教师网络提取正样本图像的图像特征与基于学生网络提取正样本图像的图像特征之间的损失函数小于预定阈值,且基于教师网络提取正样本图像的图像特征与基于学生网络提取负样本图像的图像特征之间的损失函数小于预定阈值的情况下,结束训练。否则将调整学生网络的参数,并重复执行步骤S1202-S1210,直至基于教师网络提取正样本图像的图像特征与基于学生网络提取正样本图像的图像特征之间的损失函数小于预定阈值,且基于教师网络提取正样本图像的图像特征与基于学生网络提取负样本图像的图像特征之间的损失函数小于预定阈值。

需要说明的是,上述教师网络用于指示上文中的第一网络,上述学生网络用于指示上文中的第二网络。在本申请实施例中,通过丰富的样本数据对异常零件识别网络进行训练,从而提升了异常零件识别网络的精度。从而实现了提升工业零件的图像识别方式的识别结果准确性的技术效果。

作为一种可选的实施方式,由如图13所示的以下步骤对上述异常零件识别网络的应用步骤进行举例解释说明:

S1302,获取目标图像。

S1304,图像配准模块对目标图像进行配准处理。

S1306,利用图像块划分模块对目标图像进行图块划分。

S1308-1,在学习模块中基于教师网络提取目标图像的图像特征。

S1308-2,在学习模块中基于学生网络提取目标图像的图像特征。

S1310,在特征对比模块中对基于教师网络提取目标图像的图像特征与基于学生网络提取正样本图像的图像特进行特征比对,得到特征相似度。

S1312,基于特征相似度确定对目标图像的识别结果。具体而言,在基于教师网络提取目标图像的图像特征与基于学生网络提取目标图像的图像特征之间的损失函数小于预定阈值的情况下,确定识别结果用于指示目标图像中的目标零件对象是否为正常零件对象;在基于教师网络提取目标图像的图像特征与基于学生网络提取目标图像的图像特征之间的损失函数大于或等于预定阈值的情况下,确定识别结果用于指示目标图像中的目标零件对象是否为异常零件对象。

需要说明的是,上述教师网络用于指示上文中的第一网络,上述学生网络用于指示上文中的第二网络。在本申请实施例中,通过异常零件识别网络中的各个分支网络(即,第一网络、第二网络)分别提取出的待检测零件所对应的目标图像的特征之间相似度,来确定待检测的目标零件对象是否存在异常缺陷。而并不是单一的根据待检测零件所对应图像的图像特征与正常零件所对应图像的图像特征之间的相似度,来确定目标图像的识别结果。从而解决了现有技术中工业零件的图像识别方式的识别结果准确性较低的技术问题,达到了提升工业零件的图像识别方式的识别结果准确性的技术效果。

作为又一种可选的实施方式,上述图像识别方法中所利用到的模块如下所示包括:

1)图像配准模块:

图像配准模块首先需要收集一组模板图,收集方式是用一个黄金样本(经过检测的绝对正常的样本),对该样本在所有需要检测的图像点位进行拍照,收集到的这组图片即为模板图。图像配准的目的,是将输入的测试图片进行校正,使其位置能和相应点位的模板图完全对齐,以便于后续能精确提取特定区域的图像块。具体而言,目标图像和模版图的位置、角度差别较大,通过图像配准模块,可以计算出模版图和目标图像之间的变换矩阵T,应用变换矩阵T,即可得到配准后的目标图像,配准后的目标图像,其视觉上的位置、角度都和模版图是对齐的,后续即可根据模版图中预先标定的检测坐标框,来截取目标图像中的相应图像块。

在本实施例中图像配准模块算法为最小误差迭代法,构建误差函数,定义待估计参数,基于当前的估计,用迭代算法优化参数以逐步减少误差函数。具体地,对目标图像和模板图进行边缘检测,获得其对应的轮廓图,然后对轮廓图分区并行做NMS操作,转化为2D轮廓点集,目标图像和模板图之间的2D轮廓点集平均误差,即为误差函数,具体函数如下所示:

其中,F为误差函数,K为模版图中轮廓点的数量,p

2)图像块划分模块:

图像块划分模块的目的之一是缩小单次异常检测图像感受野。具体而言,由于很多缺陷都是尺寸较小、程度较轻微的,如果将整个图像输入到异常检测网络中进行检测,由于图像中大多数区域都是正常区域,异常区域只占很小的一部分,检测难度会很大,而先划分图像块再检测,异常区域相对于图像块的面积是较大的,检测难度会降低。图像块划分模块的目的第二个目的是可以定位到异常缺陷位置,如果将整个图像输入到异常检测网络中进行检测,即使能判定出某图像是异常图像,也难以定位到异常缺陷的位置,而先划分图像块再检测,只要判定出某图像块是异常,则可判定整个图像都是异常的,而图像块在图像中的位置,即是异常缺陷所在的位置。

在本实施例中,可以但不限于直接将一张图像划分为28×28个同样大小的图像块,这种划分方法的优点是普适性很强,任何异常检测任务都可以这么划分。此外,还可以基于模板图手动设置划分区域,目标图像片基于模板图配准后,即可根据手动设置好的划分区域进行划分,这样可以使得划分出的区域具有更明显的语义特征。

3)合成异常图像块模块:

合成异常图像块模块的目是提高学生网络对于异常缺陷的鲁棒性,在本实施例中可以但不限于通过以下多种方法来合成异常图像块,以提升异常图像块的缺陷多样性:

方法一,加入白噪声。具体而言,在正常图像块中,随机加入一些白噪声即可得到合成的异常图像块,噪声的大小、位置可以设置一个范围,加入不同的随机白噪声,以模拟各种程度和各种大小的缺陷。

方法二,粘贴缺陷图像块。具体而言,对于现有的某些缺陷,通过抠图软件FluidMask将其抠取下来,然后随机粘贴到正常图像块中。然后,对该合成图像块做一个图像和谐化处理,得到可用的异常图像块。

方法三,通过网络生成缺陷。具体而言,设计一个轻量级的图像处理技术(Inpainting)网络,通过缺陷部分的正常图像和该缺陷部分对Inpainting网络进行训练,使得将缺陷部分的正常图像和该缺陷部分输入至Inpainting网络后,得到的输出结果为带有缺陷的合成异常图像块。

4)特征学习模块:

在本实施例中,学生网络和教师网络的网络结构和初始参数是相同的,可以采用预训练好的ResNet-50网络。在学习过程中,教师网络的参数是固定的,而学生网络的参数是可学习的。具体而言,向学生网络和教师网络输入同样的正常图像块,使其输出特征尽可能相似。目的是使得在测试阶段,对于同样的正常图像块输入,学生网络和教师网络会输出相似的特征。此外,在向教师网络输入正常图像块的同时,还会向学生网络输入用该正常图像块合成的异常图像块,使其输出特征尽可能相似。目的是使得在测试阶段,对于同样的异常图像块输入,教师网络会输出异常图像块的特征,而学生网络由于其对于异常缺陷的鲁棒性,会输出正常图像块的特征,因此教师网络和学生网络会输出相似度较低的特征。

进一步地,在本实施例中,特征学习模块的损失函数即是归一化后的L2 loss损失函数,范围在0-1之间,两特征越相似,损失函数越小。

5)特征对比模块:

特征对比模块即为测试阶段的判定模块,对于输入的目标图像,分别计算其教师网络和学生网络输出的特征,然后计算两个特征之间的L2 loss,若loss值小于0.5,说明这两个特征的相似度较高,说明目标图像是正常图像。若loss值大于0.5,说明这两个特征的相似度较低,说明该目标图像是异常图像,进而说明目标图像像是异常图像,而异常缺陷的位置,即在该异常图像块的位置。

需要说明的是,对于前述的各方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本申请并不受所描述的动作顺序的限制,因为依据本申请,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定是本申请所必须的。

根据本申请实施例的另一个方面,还提供了一种用于实施上述图像识别方法的图像识别装置。如图14所示,该装置包括:

第一获取单元1402,用于获取对目标零件对象进行图像采集所得到的目标图像;

识别单元1404,用于利用具有孪生网络结构的异常零件识别网络提取目标图像的图像特征,其中,图像特征包括孪生网络结构中的第一网络对目标图像提取到的第一图像特征,及孪生网络结构中的第二网络对目标图像提取到的第二图像特征,第一网络是用于获取样本图像对中显示有正常零件对象的正样本图像的图像特征的参考网络,第二网络是利用基于正样本图像所合成的显示有异常零件对象的负样本图像进行训练;

第二获取单元1406,用于获取第一图像特征与第二图像特征之间的特征相似度;

确定单元1408,用于基于特征相似度确定出对目标图像的识别结果,其中,识别结果用于指示目标图像中的目标零件对象是否为异常零件对象。

可选地,上述确定单元包括:

第一确定模块,用于在特征相似度小于或等于第一阈值的情况下,确定目标零件对象为异常零件对象,并确定识别结果是目标图像属于用于指示异常零件的第一类图像;

第二确定模块,用于在特征相似度大于或等于第二阈值的情况下,确定目标零件对象为正常零件对象,并确定识别结果是目标图像属于用于指示正常零件的第二类图像;其中,第一阈值小于第二阈值。

可选地,上述装置还包括:

第三获取单元,用于获取与目标零件对象对应的模板图像,其中,模板图像中显示有与目标零件对象属于同一类零件的参考零件对象,且参考零件对象为正常零件对象;

校正单元,用于按照模板图像中参考零件对象的显示位置,对目标图像中的目标零件对象的显示位置进行校正,得到校正后的图像,其中,校正后的图像中的目标零件对象与模板图像中的参考零件对象处于显示对齐状态。

可选地,上述校正单元包括:

检测模块,用于对模板图像中的参考零件对象进行边缘检测处理,得到第一对象轮廓图,并对目标图像中的目标零件对象进行边缘检测处理,得到第二对象轮廓图;

转化模块,用于将第一对象轮廓图转化为第一对象轮廓点集,并将第二对象轮廓图转化为第二对象轮廓点集;

第三确定模块,用于基于第一对象轮廓点集和第二对象轮廓点集之间的点位对应关系,确定校正变换矩阵;

校正模块,用于利用校正变换矩阵对目标图像中的第二对象轮廓点集进行位置校正,得到包含第三对象轮廓点集的校正后的图像,其中,第三对象轮廓点集中各个轮廓点在校正后的图像中的显示位置将与第一对象轮廓点集中各个轮廓点在模板图像中的显示位置分别对应。

可选地,上述第三确定模块还用于:确定待估计的当前变换矩阵;利用当前变换矩阵对第二对象轮廓点集进行变换处理,获取到参考轮廓点集;基于第一对象轮廓点集中各个轮廓点与参考轮廓点集中各个轮廓点之间的点位对应关系,确定参考轮廓点集中各个轮廓点的显示位置各自与第一对象轮廓点集中各个轮廓点的显示位置之间的位置误差,得到多个点位误差;利用多个点位误差确定出参考轮廓点集与第一对象轮廓点集之间的变换误差;在变换误差并未满足误差收敛条件的情况下,对当前变换矩阵进行调整,得到调整后的变换矩阵,并利用调整后的变换矩阵对第二对象轮廓点集进行变换处理;在变换误差满足误差收敛条件的情况下,将当前变换矩阵确定为校正变换矩阵。

可选地,上述识别单元包括:

划分模块,用于对目标图像进行区域划分,得到N个目标图像块,N为大于1的正整数;

提取模块,用于利用异常零件识别网络对N个目标图像块进行特征提取,得到图像特征。

可选地,上述划分模块还用于将目标图像按照目标尺寸大小进行划分,得到N个具有相同尺寸大小的图像块;将N个图像块确定为N个目标图像块;从目标图像中截取N个关键图像块,其中,关键图像块为目标图像中目标零件对象的关键对象部位所在的图像块;将N个关键图像块确定为N个目标图像块。

可选地,上述提取模块还用于将N个目标图像块中的每个目标图像块依次确定为当前图像块,并执行以下步骤:将当前图像块输入至第一网络中,得到第一当前子图像特征,并将当前图像块输入至第二网络中,得到第二当前子图像特征,其中,第一图像特征中包括第一当前子图像特征,第二图像特征中包括第二当前子图像特征。

可选地,上述装置还包括:

第四获取单元,用于获取K个显示有正常零件对象的正样本图像和K个显示有异常零件对象的负样本图像,得到K个样本图像对,其中,负样本图像是对正样本图像进行调整后合成的,K为大于1的自然数;

训练单元,用于利用K个样本图像对训练初始化的异常零件识别网络,直至第二网络的输出特征与第一网络的输出特征之间的比对结果达到收敛条件。

可选地,上述训练单元还用于:从K个样本图像对中获取当前样本图像对,并执行以下操作:将当前样本图像对中的当前正样本图像输入第一网络,并将当前样本图像对中的当前负样本图像输入第二网络;在当前负样本图像输入第二网络后得到的当前负样本子图像特征与当前正样本图像输入第一网络后得到的当前正样本子图像特征之间的特征相似度小于第三阈值的情况下,获取下一对样本图像对作为当前样本图像对;在当前负样本图像输入第二网络后得到的当前负样本子图像特征与当前正样本图像输入第一网络后得到的当前正样本子图像特征之间的特征相似度大于或等于第三阈值的情况下,对训练收敛统计结果加一处理;在训练收敛统计结果达到第四阈值的情况下,确定达到收敛条件。

可选地,上述第四获取单元包括:

获取模块,用于获取K个显示有正常零件对象的正样本图像;

调整模块,用于对K个正样本图像进行调整,以合成K个负样本图像,其中,正样本图像为显示有正常零件对象的样本模板图像。

可选地,调整模块还用于:在正样本图像中加入白噪声,以生成负样本图像;获取多个异常零件图像块,其中,异常零件图像块中显示有与目标零件对象属于同一类零件的零件缺陷;将多个异常零件图像块中的一个或至少两个异常零件图像块,覆盖在正样本图像上,以生成负样本图像;将正样本图像输入异常零件生成网络,以得到负样本图像,其中,异常零件生成网络是利用正样本图像和异常零件图像块进行训练后所得到的用于生成显示有异常零件对象的网络,异常零件图像块中显示有与目标零件对象属于同一类零件的零件缺陷。

具体实施例,请参考上述图像识别方法中实施例,在此处不再进行赘述。

根据本申请实施例的又一个方面,还提供了一种用于实施上述图像识别方法的电子设备。本实施例以该电子设备为终端为例来说明。如图15所示,该电子设备包括存储器1502和处理器1504,该存储器1502中存储有计算机程序,该处理器1504被设置为通过计算机程序执行上述任一项方法实施例中的步骤。

可选地,在本实施例中,上述电子设备可以位于计算机网络的多个网络设备中的至少一个网络设备。

可选地,在本实施例中,上述处理器可以被设置为通过计算机程序执行以下步骤:

S1,获取对目标零件对象进行图像采集所得到的目标图像;

S2,利用具有孪生网络结构的异常零件识别网络提取目标图像的图像特征,其中,图像特征包括孪生网络结构中的第一网络对目标图像提取到的第一图像特征,及孪生网络结构中的第二网络对目标图像提取到的第二图像特征,第一网络是用于获取样本图像对中显示有正常零件对象的正样本图像的图像特征的参考网络,第二网络是利用基于正样本图像所合成的显示有异常零件对象的负样本图像进行训练;

S3,获取第一图像特征与第二图像特征之间的特征相似度;

S4,基于特征相似度确定出对目标图像的识别结果,其中,识别结果用于指示目标图像中的目标零件对象是否为异常零件对象。

可选地,本领域普通技术人员可以理解,图15所示的结构仅为示意,电子设备也可以是智能手机(如Android手机、iOS手机等)、平板电脑、掌上电脑以及移动互联网设备(Mobile Internet Devices,MID)、PAD等终端设备。图15其并不对上述电子设备的结构造成限定。例如,电子设备还可包括比图15中所示更多或者更少的组件(如网络接口等),或者具有与图15所示不同的配置。

其中,存储器1502可用于存储软件程序以及模块,如本申请实施例中的图像识别方法和装置对应的程序指令/模块,处理器1504通过运行存储在存储器1502内的软件程序以及模块,从而执行各种功能应用以及数据处理,即实现上述的图像识别方法。存储器1502可包括高速随机存储器,还可以包括非易失性存储器,如一个或者多个磁性存储装置、闪存、或者其他非易失性固态存储器。在一些实例中,存储器1502可进一步包括相对于处理器1504远程设置的存储器,这些远程存储器可以通过网络连接至终端。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。其中,存储器1502具体可以但不限于用于存储目标图像。作为一种示例,如图15所示,上述存储器1502中可以但不限于包括上述图像识别装置中的第一获取单元1402、识别单元1404、第二获取单元1406及确定单元1408。此外,还可以包括但不限于上述图像识别装置中的其他模块单元,本示例中不再赘述。

可选地,上述的传输装置1506用于经由一个网络接收或者发送数据。上述的网络具体实例可包括有线网络及无线网络。在一个实例中,传输装置1506包括一个网络适配器(Network Interface Controller,NIC),其可通过网线与其他网络设备与路由器相连从而可与互联网或局域网进行通讯。在一个实例中,传输装置1506为射频(Radio Frequency,RF)模块,其用于通过无线方式与互联网进行通讯。

此外,上述电子设备还包括:连接总线1508,用于连接上述电子设备中的各个模块部件。

在其他实施例中,上述终端设备或者服务器可以是一个分布式系统中的一个节点,其中,该分布式系统可以为区块链系统,该区块链系统可以是由该多个节点通过网络通信的形式连接形成的分布式系统。其中,节点之间可以组成点到点的网络,任意形式的计算设备,比如服务器、终端等电子设备都可以通过加入该点到点的网络而成为该区块链系统中的一个节点。

根据本申请的一个方面,提供了一种计算机程序产品,该计算机程序产品包括计算机程序/指令,该计算机程序/指令包含用于执行上述方法的程序代码。在这样的实施例中,该计算机程序可以通过通信部分从网络上被下载和安装,和/或从可拆卸介质被安装。在该计算机程序被中央处理器执行时,执行本申请实施例提供的各种功能。

根据本申请的一个方面,提供了一种计算机可读存储介质,计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行上述方法。

可选地,在本实施例中,上述计算机可读存储介质可以被设置为存储用于执行以下步骤的计算机程序:

S1,获取对目标零件对象进行图像采集所得到的目标图像;

S2,利用具有孪生网络结构的异常零件识别网络提取目标图像的图像特征,其中,图像特征包括孪生网络结构中的第一网络对目标图像提取到的第一图像特征,及孪生网络结构中的第二网络对目标图像提取到的第二图像特征,第一网络是用于获取样本图像对中显示有正常零件对象的正样本图像的图像特征的参考网络,第二网络是利用基于正样本图像所合成的显示有异常零件对象的负样本图像进行训练;

S3,获取第一图像特征与第二图像特征之间的特征相似度;

S4,基于特征相似度确定出对目标图像的识别结果,其中,识别结果用于指示目标图像中的目标零件对象是否为异常零件对象。

可选地,在本实施例中,本领域普通技术人员可以理解上述实施例的各种方法中的全部或部分步骤是可以通过程序来指令终端设备相关的硬件来完成,该程序可以存储于一计算机可读存储介质中,存储介质可以包括:闪存盘、只读存储器(Read-Only Memory,ROM)、随机存取器(Random Access Memory,RAM)、磁盘或光盘等。

上述实施例中的集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在上述计算机可读取的存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在存储介质中,包括若干指令用以使得一台或多台计算机设备(可为个人计算机、服务器或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。

在本申请的上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。

在本申请所提供的几个实施例中,应该理解到,所揭露的客户端,可通过其它的方式实现。其中,以上所描述的装置实施例仅仅是示意性的,例如所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,单元或模块的间接耦合或通信连接,可以是电性或其它的形式。

所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。

另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。

以上所述仅是本申请的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本申请原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本申请的保护范围。

相关技术
  • 图像中文本的识别方法及装置、电子设备、存储介质
  • 一种漆面识别方法、装置、存储介质及电子设备
  • 欺诈行为识别方法、装置、电子设备及可读存储介质
  • 命名实体识别方法、装置、电子设备、机器可读存储介质
  • 一种虚假主叫识别方法、装置、电子设备及存储介质
  • 一种图像识别方法、图像识别装置、电子设备和存储介质
  • 一种应用于多图像融合的图像识别方法、装置、电子设备及存储介质
技术分类

06120116498154