零件异常检测方法、模型训练方法及装置与流程

文档序号:19810447发布日期:2020-01-31 18:15阅读:326来源:国知局
零件异常检测方法、模型训练方法及装置与流程
本申请涉及计算机视觉
技术领域
,特别涉及一种零件异常检测方法、模型训练方法及装置。
背景技术
:工业机器人、接待机器人等各种专用机器人的应用使得人们的生活更加便捷。机器人上会有不同功能的零件。例如,通常在机器人组装过程中,机器人底盘需要安装大量螺丝将机器人底部进行封装。此外,机器人中通常设置有嵌入式设备,嵌入式设备中都有主控板,其中,发光二极管(lightemittingdiode,led)灯可展示主控板的工作状态。但是,基于各种原因,机器人上的零件可能会出现异常,例如,对于螺丝而言,有可能会因为各种各样的原因造成底部螺丝的缺失。这些螺丝缺失的地方如果未被及时发现,会对机器人的安全性能造成一定的影响。对于led灯而言,led灯的工作状态有可能会出现异常。通常在工业生产过程中,由人去检测机器人上各种零件的状态,例如人用肉眼观察机器人底盘螺丝是否缺失,以及用肉眼观察每一块主控板led灯的状态,该方法耗时耗力,且人工疲劳时易产生失误,易造成零件的误检。技术实现要素:本申请提供了一种零件异常检测方法、模型训练方法及装置,用至少解决现有技术中异常零件的检测效率低的问题。第一方面,本申请实施例提供一种零件异常检测方法,所述方法包括:获取待检测区域的待检测图像,所述待检测区域包括至少一个零件;将所述待检测图像输入至预先训练的神经网络模型;获取所述神经网络模型的输出结果,所述输出结果中包括所述待检测图像中包含的各个零件的位置信息及各个零件的状态信息,所述状态信息用于指示所述零件处于正常状态或异常状态。第二方面,本申请实施例提供一种用于零件异常检测的神经网络模型训练方法,包括:获取训练图像以及所述训练图像的标注数据;其中,所述训练图像为包括待检测区域的图像,所述待检测区域包括至少一个零件,所述标注数据用于标注所述训练图像中各个零件的位置信息及各个零件的状态信息,所述状态信息用于指示所述零件处于正常状态或异常状态;根据所述训练图像和所述训练图像的标注数据,对神经网络模型进行训练。第三方面,本申请实施例提供一种零件异常检测装置,所述装置包括:待检测图像获取模块,用于获取待检测区域的待检测图像,所述待检测区域包括至少一个零件;输入模块,用于将所述待检测图像输入至预先训练的神经网络模型;输出结果获取模块,用于获取所述神经网络模型的输出结果,所述输出结果中包括所述待检测图像中包含的各个零件的位置信息及各个零件的状态信息,所述状态信息用于指示所述零件处于正常状态或异常状态。第四方面,本申请实施例提供一种用于零件异常检测的神经网络模型训练装置,包括:获取模块,用于获取训练图像以及所述训练图像的标注数据;其中,所述训练图像为包括待检测区域的图像,所述待检测区域包括至少一个零件,所述标注数据用于标注所述训练图像中各个零件的位置信息及各个零件的状态信息,所述状态信息用于指示所述零件处于正常状态或异常状态;训练模块,用于根据所述训练图像和所述训练图像的标注数据,对神经网络模型进行训练。第五方面,本申请实施例提供一种电子设备,包括:至少一个处理器;以及与所述至少一个处理器通信连接的存储器;其中,所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行第一方面或第二方面所述的方法。第六方面,本申请实施例提供一种计算机存储介质,存储有计算机可执行指令,所述计算机可执行指令用于执行第一方面或第二方面所述的方法。本申请实施例中,首先获取待检测区域的待检测图像,然后将待检测图像输入至预先训练的神经网络模型,最后获取神经网络模型的输出结果,输出结果中包括待检测图像中包含的各个零件的位置信息及各个零件的状态信息,状态信息用于指示零件处于正常状态或异常状态。通过该方式检测工业设备的零件状况,可以提高零件异常的检测效率。针对机器人底盘螺丝是否缺失以及每一块主控板led灯的状态的检测,相对现有技术,可实现自动检测,故而可节约人工成本,且检测的准确度和检测效率显著提高。此外,通过该方式检测出机器人的零件异常后,用户可及时调整异常零件,以确保机器人的正常工作。本申请的其它特征和优点将在随后的说明书中阐述,并且部分地从说明书中变得显而易见,或者通过实施本申请而了解。本申请的目的和其他优点可通过在所写的说明书、权利要求书、以及附图中所特别指出的结构来实现和获得。附图说明为了更清楚地说明本发明实施例的技术方案,下面将对本发明实施例中所需要使用的附图作简单地介绍,显而易见地,下面所介绍的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。图1为本申请实施例提供的一种零件异常检测的应用场景图;图2为本申请实施例提供的一种零件异常检测方法的流程示意图;图3为本申请实施例提供的机器人底盘待检测区域及检测结果图;图4为本申请实施例提供的一种用于零件异常检测的网络模型训练方法的流程示意图;图5为本申请实施例提供的不同通道的特征图的示意图;图6为本申请实施例提供的标定部位的示意图;图7为本申请实施例提供的一种神经网络模型的训练流程示意图;图8为本申请实施例提供的主板待检测区域及检测结果图;图9为本申请实施例提供的一种零件异常检测装置的结构示意图;图10为本申请实施例提供的一种用于零件异常检测的神经网络模型训练装置的结构示意图;图11为本申请实施例提供的电子设备的结构示意图。具体实施方式为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述。需要说明的是,本申请中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应所述理解这样使用的数据在适当情况下可以互换,以便这里描述的本公开的实施例能够以除了在这里图示或描述的那些以外的顺序实施。以下示例性实施例中所描述的实施方式并不代表与本申请相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本申请的一些方面相一致的装置和方法的例子。在计算机视觉任务中,基于卷积神经网络的模型以其强大的图像特征提取能力在各种传统的图像特征提取方法占据优势。卷积神经网络是一种利用卷积核在图像上面滑动,然后自动学习图像特征的一种图像处理算法。卷积神经网络可以应用于目标跟踪、目标检测、图像分割等多种计算机视觉处理任务。神经网络模型被应用在生产生活的方方面面,如:文字识别、字符串匹配、图像识别等。神经网络模型可以根据用户设置好的模型参数自主学习输入数据的特征,并结合输入数据特征反馈输出结果,如,用于提取深度图像特征的神经网络模型,输入数据可以为图像数据,反馈的输出结果为图像的特征数据。通常神经网络模型的模型参数需要多次训练得到,进而获取恰当的模型参数来处理输入数据。有鉴于此,本申请采用神经网络模型进行零件异常的检测,在一个实施例中,本申请基于神经网络模型处理具有细小零件的图像,通过采用深度分割的方法将图像进行背景和前景分离,以便于在工业生产中准确地对细小零件状态进行检测,进而根据得到的检测结果及时检查和更换异常的零件。如图1所示,为本申请实施例提供的应用场景示意图。该场景中包括:图像采集设备11和服务器12。图像采集设备11采集待检测区域的图像,如:图像采集设备11为摄像头,待检测区域为机器人底盘,则可通过摄像头采集机器人底盘图像,并将该图像传输至服务器进行数据处理,服务器通过神经网络模型提取机器人底盘图像中零件的特征,经过神经网络的特征提取后,可提取各零件的位置信息以及零件状态,其中位置信息是为了表征零件位置特征的信息,零件状态为了表征零件的工作状况,如零件状态为螺丝缺失。此外,为了更好的提取零件的特征,还可将待检测区域的图像进行背景和前景的分离,以便于神经网络模型在提取零件特征时,可以忽略其他图像因素的影响,如:机器人底盘图像中,还可能包括:轮子、开关,这些是零件异常检测所不需要的图像,可将他们作为背景,而螺丝的图像作为前景,这样便可更加准确的提取螺丝的图像特征,进而确定螺丝的状态。此外,需要说明的是,本申请实施例中对待检测区域的图像处理可以由服务器来执行,也可以由具备分析处理能力的智能设备(如智能设备的控制器)执行,也可以部分由智能设备(如智能设备的控制器)执行部分数据处理后再交由服务器执行,本申请对此并不限定。本申请在应用训练好的神经网络模型后,可参阅图2,进行零件异常检测方法,具体包括:步骤201:获取待检测区域的待检测图像,待检测区域包括至少一个零件。需要说明的是,待检测区域为机器人或其他工业设备包括多个设备零件的区域,例如:检测机器人底盘中包含的螺丝是否异常;又如,检测嵌入式设备的主板中包含的led灯是否异常,等。待检测图像可以为通过智能设备的摄像头实时采集的图像,也可以为通过网络传输来的需要检测的图像,在此不作具体限定,可根据用户需求选择图像的采集方式。步骤202:将待检测图像输入至预先训练的神经网络模型。即通过预先训练的神经网络模型对待检测图像中包含的零件进行识别。步骤203:获取神经网络模型的输出结果,输出结果中包括所述待检测图像中包含的各个零件的位置信息及各个零件的状态信息,状态信息用于指示零件处于正常状态或异常状态。神经网络模型可以自主学习图像的多种特征,通过神经网路模型的数据处理会提取图像多部分通道的特征图,本申请中通过神经网络模型提取零件的特征,以便于确定零件的状态。在一个实施例中,神经网络模型的输出结果可以通过输出检测结果图的方式输出,其中,检测结果图中标识有待检测图像中的各个零件的位置,并在检测结果图中各个零件所在区域内采用不同显示效果标识各零件的不同状态。如图3所示,示出了机器人底盘待检测区域及检测结果图,其中图3的3-a为机器人底盘待检测区域图,3-b为机器人底盘的检测结果图,其中,3-a中螺丝间的相对位置关系与检测结果图中各位置标识间的相对位置关系相互对应,如:图3-a中通过圆圈标记的10个螺丝,与图3-b中的10个标号的圆圈相互对应,如:图3-a中左上方的轮子左侧的螺丝对应图3-b中位置标号0,右侧的螺丝对应位置标号1,图3-a中右下方的轮子周围的四个螺丝分别对应图3-b中位置标识6、7、8以及9,针对10螺丝与3-b中对应的位置标识不在一一说明,此外,在3-b中通过带阴影的圆圈的显示效果进行示意,表示位置标号为3的螺丝缺失,其他为通过圆圈标记的位置标识的螺丝均未缺失。在实际应用中还可以通过不同的显示效果区别零件转态,可采用颜色区分如:红色代表螺丝正常,绿色代表螺丝缺失;蓝色代表led灯正常,紫色代表led灯不亮。当然,也可以采用图案区分等,本申请不对此进行限定。通过输出检测结果图的方式展示检测结果,便于向用户清楚展示各零件的对应位置以及零件状态。为了更好的通过神经网络模型提取待检测区域中各个零件的特征,需要对神经网络模型进行训练,可参照图4所述的方法对用于零件异常检测的神经网络模型进行训练,该方法包括:步骤401:获取训练图像以及训练图像的标注数据;其中,训练图像为包括待检测区域的图像,待检测区域包括至少一个零件,标注数据用于标注训练图像中各个零件的位置信息及各个零件的状态信息,状态信息用于指示所述零件处于正常状态或异常状态。在一个实施例中,训练图像包括:待检测区域的不同拍摄角度的图像;或各待检测区域的不同拍摄角度的图像经过随机旋转后得到的图像;以及待检测区域的不同拍摄角度的图像和将各待检测区域的不同拍摄角度的图像经过随机旋转后得到的图像。通过该方式可以丰富训练图像,以便神经网络模型可以多方位学习训练图像的特征。步骤402:根据训练图像和该训练图像的标注数据,对神经网络模型进行训练。本申请实施例通过对带有标注数据的图像进行学习,使得神经网络能够学习到零件的位置以及状态,以便于自动的对图像进行零件异常检测。在一个实施例中,训练图像中包括正样本和负样本,正样本包括训练图像中各零件所在区域的图像像素点;负样本包括训练图像中除零件之外的区域的图像像素点;则步骤402中根据训练图像和训练图像的标注数据,对神经网络模型进行训练,可实施为根据训练图像中的正样本及正样本的标注数据和负样本及负样本的标注数据,对神经网络模型进行训练;其中,正样本的标注数据中包括:各零件的位置信息以及各零件的状态信息;负样本的标注数据中包括:负样本包含的像素点的位置信息以及状态信息。例如,若零件的状态为正常,则可配置其状态信息为正值;若零件的状态为异常,则可配置其状态信息为负值。而负样本包含的像素点的状态信息可以配置为0,即不需要对背景进行状态识别。需要说明的是,训练图像中包括正样本和负样本,通过正样本及正样本的标注数据和负样本及负样本的标注数据,对神经网络模型进行训练,可以使神经网络模型更准确地学习零件特征。上文阐述了训练采用的样本的特点,针对位置信息和状态信息的检测层面而言,在一个实施例中,根据训练图像和训练图像的标注数据,对神经网络模型进行训练时,可实施为:步骤a1:提取训练图像的图像特征,图像特征中包括用于表征训练图像中各零件位置的第一通道的特征图,以及用于表征训练图像中各零件状态的第二通道的特征图。步骤a2:根据第一通道的特征图中的特征值,确定各零件的位置信息;以及,根据第二通道的特征图中的特征值,确定各零件的状态信息。例如,在一个实施例中,不同通道的特征图大小相同,如图5所示,示出了不同通道的特征图。例如,图5中第一通道和第二通道的矩形框表示原始图像中的同一零件,第一通道的特征图中矩形框内的特征点表征该零件的位置特征,而第二通道的特征图中矩形框内的特征点表征该零件的状态特征。在一个实施例中,步骤a2之后,为了便于直观的了解零件的检测结果,还可实施为:根据所确定的各零件的位置信息和各零件的状态信息,生成检测结果图,其中,检测结果图中标识有训练图像中的各个零件的位置信息,并在检测结果图中各个零件所在区域内采用不同显示效果标识各零件的不同状态。步骤a3:根据所确定的各零件的位置信息和各零件的状态信息、以及训练图像的标注数据,对神经网络模型进行训练。实施时,可采用同一通道的特征图实现位置信息和状态信息的检测,本申请实施例中,零件的位置信息和状态信息检测分别采用不同通道的特征图,即位置信息检测采用第一通道的特征图、状态信息的检测采用第二通道的特征图,采用不同通道的特征图进行检测有利于训练神经网络模型在图像特征提取过程中分别专注于各通道的特征提取,使得提取的特征更加符合训练任务的要求,即训练任务为位置,则形成的第一通道的特征图更加满足位置信息检测的要求,与此同时,第二通道的特征图更加符合状态信息检测的要求,使得检测的结果更加准确。在一个实施例中,获取第一通道的特征图及第二通道的特征图,包括:步骤b1:对训练图像进行特征提取,获得训练图像的背景通道的特征图、各个零件分别对应的位置通道的特征图、以及各个零件的状态分别对应的状态通道的特征图。需要说明的是,在对训练图像进行特征提取的时候,可以分别提取背景通道的特征图以及各个零件分别对应的位置通道的特征图构成的多通道的特征图,以及背景通道的特征图以及各个零件分别对应的位置通道的特征图构成的多通道的特征图,在此不做具体限定。步骤b2:将位置通道的特征图以及训练图像的背景通道的特征图进行特征融合,得到第一通道的特征图;以及,将与状态通道的特征图以及训练图像的背景通道的特征图进行特征融合,得到第二通道的特征图。例如,可采用最大索引的方式进行特征融合,假设待检测区域若包括3个零件,假定考虑图像的背景和前景特征,则第一通道的特征图对应的通道数可为4,第一通道的特征图中对应4个通道,其中,三个通道用于提取不同零件的位置特征,一个通道用于提取背景的位置特征。假设将这个4通道的特征图设置在一个xyz的空间坐标系下,x和y表示特征图的长和宽,z表示通道数。最终要得到一个只有一层的通道的特征图,在这一层的图里面第一个零件所在位置的像素点标定为1,第二个零件所在位置的像素点标定为2,第三个零件所在位置的像素点标定为3,背景所在位置的像素点标定为0,依据上述像素点的标定值的大小在xyz的空间坐标系下依序排列各层的通道的特征图,本申请通过选取z值最大的那个位置的通道的特征图作为索引,将其它层的特征点透传至该索引层的通道的特征图,实现特征融合获取第一通道的特征图,具体选取规则可根据实际需求设定,如:选取数值第二大的位置的作为索引,进行特征融合得到的第一通道的特征图,在此不做具体限定。在一个实施例中,确定各个零件的位置信息包括但不限于如下方式:方式一、将同一特征值归类来确定各个零件的位置信息,具体可参照如下步骤执行:步骤c1:针对第一通道的特征图,将特征值满足设定的取值条件的特征点确定为属于同一零件。步骤c2:针对每个零件对应的特征点,根据该零件的各特征点在所述第一通道的特征图中的位置坐标值,确定该零件的位置坐标信息。在一个实施例中,发明人研究发现,仅仅采用检测的方式虽然能够一定程度上提高零件检测的效率。但对细小零件的检测可能还需要改进,有鉴于此,本申请实施例中为了能够进一步提高对细小零件的检测精度,在训练网络模型时,将提取的多个通道的特征图用于不同的用途。按用途分为第一通道的特征图,第二通道的特征图。在实施时,以零件的像素点为前景,区别于零件的像素点的内容为背景。需要说明的是,为了能够在训练网络模型时能够较好的完成相应特征的提取,以便于部分通道的特征图能够独立的较好的完成相应的识别任务(即位置信息识别,状态识别以及前景背景的分离)。将图像的背景和前景区分出来也能够便于神经网络模型提取零件的状态,如:待检测区域中包括:齿轮、螺丝、开关,而需要检测的零件为螺丝,故而可将齿轮、开关识别为背景,只关注螺丝的图像信息,通过该方式可以排除背景信息对零件状态检测的干扰,进一步地提高零件状态的检测效率。例如,可以将同一零件对应的像素点的位置坐标平均值作为该零件的位置坐标值,或者,选择该零件的聚类中心上的像素点的位置坐标值作为该零件对应的像素点的位置坐标值,或者,确定该零件的外部轮廓的几何中心点的位置坐标值确定为该零件对应的像素点的位置坐标值。当然需要说明的是,具体实施时,可根据实际需求选择确定零件对应的像素点的位置坐标值的方法,或者采用出本申请实施例描述的方式之外的方法计算各零件对应的像素点的位置坐标值,只要能够唯一表征一个零件的位置信息即可,本申请对此不作限定。步骤c3:根据位置坐标信息和位置标识的对应关系,确定该零件的位置坐标信息对应的位置标识作为该零件的位置信息。在一个实施例中,第一通道的特征图用于识别各个零件的位置信息,设定的取值条件为在第一通道的特征图中不同的零件对应不同的特征值,如:待检测区域的图像中包括5个零件,将待检测区域的图像输入到神经网络模型后提取第一通道的特征图。其中,第一通道的特征图中包括5种不同特征值的特征点,如表1所示,神经网络模型提取的不同零件位置的特征点的特征值不同。表1零件标识零件1零件2零件3零件4零件5特征值a1a2a3a4a5将特征值相同的特征点聚为一类作为同一零件的特征,并将这些特征点的几何中心点作为零件的位置,基于同样的方法分别获取5个零件的位置坐标信息,并基于各零件的位置坐标值确定对应的位置信息,进而获取各个零件的位置信息。需要说明的是,此处可以是一个坐标值和零件标识对应,也可以是一个坐标范围和一个零件标识对应,如:坐标值(x1,y1)对应零件1,也可以是坐标范围(x1-x2,y1-y2)对应零件1。在实际应用时可根据需求进行选择,在此不再具体限定。通过该方式获取各个零件的位置标识,操作简便,易于实施。方式二、为了避免由于图像变形(如图像旋转)导致的位置坐标值确定的不够准确,亦或者由于同一种零件在机器人上散列安装在各处,识别各零件具体位置有些难度,本申请实施例中,为了提高位置信息识别的精度,引用了待识别的各个零件之中或周围的具体唯一的特定特征的标定部位,作为各个零件的参考部位,以便于精确的识别出各零件的位置。实施时,标定部位如图6所示,为三角形围成的区域,图6中圆圈所示的为各个零件。若待检测区域包括指定的标定部位,则所述第一通道的特征图中包括所述标定部位的特征,基于标定部位的特征确定各个零件的位置信息,可参照如下步骤执行:步骤d1:从第一通道的特征图中提取标定部位的特征点。步骤d2:根据各标定部位的特征点在第一通道的特征图的位置坐标,确定标定部位的位置坐标信息。在第一通道的特征图中若标定部位所在位置的特征值是1,(在第一通道的特征图中其他位置的特征值都不会是1,将所有特征值为1的特征点的坐标相加求和后取平均值就可以得到标定部位的坐标。步骤d3:根据各零件的位置坐标信息,以及标定部位的位置坐标信息,确定各零件与所述标定部位的相对位置关系。步骤d4:根据预设的相对位置关系和位置标识的对应关系,确定各零件的位置信息。需要说明的是,训练图像中的标定部位同样是具有标注的,基于各零件与标定部位的相对位置关系可以准确地确定各零件的位置坐标信息,如:零件在相对标定部位的位置为向左位移3向上位移2,故而可以唯一确定一个零件。基于确定好位置坐标零件与位置标识的对应关系,获取各个零件的位置标识。上述的方法可用于led灯异常状态检测,针对主板在图像中随机翻转问题,本申请提出两种方法:1、使用标定部位获取个零件的位置坐标信息,如上文所述在此不在重复说明,将标定部位作为检测锚点,从检测出的特征点的相对位置估算出主板中led灯的相对位置。2、在训练数据生成过程中加入随机的翻转,使得神经网络在训练的过程中就可以学习到不同角度的信息。综上所述,通过该方式检测工业设备的零件状况,可以提高零件异常的检测效率。在一个实施例中,根据第二通道的特征图中的特征值,确定各零件的状态信息,包括:步骤e1:在第二通道的特征图中,分别确定各零件对应的特征值。在一个实施例中,假定待检测区域的图像中包括3个零件,最多具有两种零件状态,正常和异常。在经过特征融合得到第二通道的特征图之前的多通道的特征图中包括3个通道,其中,1个通道用于提取背景特征,2个通道用于标识零件状态;若3个零件均正常或均异常,那么通道数为2,其中,1个通道用于提取背景特征,1个通道用于标识零件状态;故而可知零件状态越多对应的通道数越多,零件状态越少对应的通道数越少,本申请中提到零件状态仅两种,但在实际应用时并不限定仅包括两种状态的零件异常检测,也可以包含更多的状态,每个状态对应一个通道的特征图即可。步骤e2:根据第二通道的特征图中的特征值与状态的对应关系,确定各零件的状态。在一个实施例中,状态不同对应特征值不同,例如表征状态的特征值包括第一特征值以及第二特征值;所述第一特征值用于表征零件正常;所述第二特征值用于表征零件异常。以螺丝为例,零件正常即为螺丝不缺失,零件异常即为螺丝缺失;而以led灯为例时,零件正常即为led灯正常发光,零件异常即为led灯发光的颜色不正常或不能发光。当然,具体实施时,led发光灯的颜色不正常或不能发光也可分别作为单独的状态进行识别。此外,采用神经网络模型处理图像后,零件的状态可通过特征值来确定,如:经过训练特征值a为零件正常,特征值b为零件异常。通过第一通道的特征图已获取了各零件的位置信息,再基于第二通道的特征图获取各零件的状态信息,即可获取各个位置信息的零件的具体状况,如:位置信息1的零件异常、位置信息5的零件正常。通过该方式提高了零件的检测效率,即能够自动的根据图像特征,分析出零件的位置以及各位置零件的状态,无需人工肉眼观察。在训练神经网络模型的过程中,还需计算该训练图像输入至神经网络模型后的输出结果与该训练图像的标注数据间的损失量以调整神经网络模型的参数,可实施为:基于第一通道的特征图中的特征值,计算神经网络模型识别的训练图像中的各个零件的位置信息对应的第一损失量;以及基于第二通道的特征图中的特征值计算关于识别的各个零件的状态信息的第二损失量;以及基于所述第一通道的特征图中的特征值,和/或,基于所述第二通道的特征图中的特征值计算关于背景和前景分离的第三损失量,之后,再基于第一损失量、第二损失量以及第三损失量,计算神经网络模型的总损失量。通过计算损失量来调整网络模型参数,可以使得网络模型更好地实现背景和前景的分离、识别各个零件的位置信息以及识别各个零件的状态信息,进而使得神经网络模型对零件异常的检测更加准确。在计算第一损失量、第二损失量以及第三损失量时,可通过如下两种方式进行计算,也可以将两种方式进行结合。方式1:基于预设的正样本和负样本的比例计算第一损失量、第二损失量以及第三损失量神经网络模型可根据配置的正负样本的数量比例,其中,正样本的数量小于负样本的数量,然后在第一通道的特征图和第二通道的特征图中分别选取正样本和负样本;再根据所选取的正样本和负样本,分别计算第一损失量、第二损失量以及第三损失量。由于在第一通道的特征图和第二通道的特征图中,具有零件的待检测区域中正样本所占比值比负样本所占比值小,直接计算第一损失量、第二损失量以及第三损失量,会使得大部分数据都是和负样本相关的,在实际识别时,负样本的数据并不用于识别位置信息和状态信息,但是实际训练时负样本的数量很多,且负样本在训练时不能够忽略(由于正样本和负样本均是训练样本中的像素点,不能完全拆分),因此为了使得网络模型更好地学习正样本的特征,本申请实施例中将正负样本进行统计,然后采用将正负样本比例控制在预设的比例,如:正样本和负样本的比例为1:3,来实现正负样本均衡训练,虽然训练图像中可能负样本依然远远大于正样本的数量,但通过正负样本的数量比例,能够降低负样本对学习的影响,进而使得网络模型在训练正负样本时实现均衡。方式2、基于设置的样本权重值计算第一损失量、第二损失量以及第三损失量根据正样本的样本权重值和负样本的样本权重值,分别计算第一损失量、第二损失量以及第三损失量,正样本的样本权重值大于负样本的样本权重值。进一步,正样本还可以包括第一正样本以及第二正样本,第一正样本为正样本中包含的处于异常状态的零件图像像素点,第二正样本中包含的处于正常状态的零件图像像素点;第一正样本的样本权重值(记为第一权重值)大于第二正样本的样本权重值(记为第二权重值);第一正样本的样本权重值、第二正样本的样本权重值均大于负样本的样本权重值(记为第三权重值)。进一步,可根据以下方式分别计算第一损失量、第二损失量及第三损失量:情况1、第一损失量的获取方法包括:通过第一通道的特征图中第一正样本的位置信息与该第一正样本的标注数据中的位置信息,计算关于该第一正样本的位置信息的位置第一损失分量;通过第一通道的特征图中第二正样本的位置信息与所述第二正样本的标注数据中的位置信息,计算关于该第二正样本的位置信息的位置第二损失分量;通过所述第一通道的特征图中负样本的位置信息与所述负样本的标注数据中的位置信息,计算关于该负样本的位置信息的位置第三损失分量;将所述第一权重值与所述位置第一损失分量的乘积、所述第二权重值与所述位置第二损失分量的乘积、以及所述第三权重值与所述位置第三损失分量的乘积进行累加,以获取所述第一损失量。情况2、第二损失量的获取方法包括:通过第二通道的特征图中第一正样本的状态信息与该第一正样本的标注数据中的状态信息,计算关于该第一正样本的状态信息的状态第一损失分量;通过第二通道的特征图中第二正样本的状态信息与该第二正样本的标注数据中的状态信息,计算关于该第二正样本的状态信息的状态第二损失分量;通过第二通道的特征图中负样本的状态信息与该负样本的标注数据中的状态信息,计算关于该负样本状态信息的状态第三损失分量;将所述第一权重值与所述状态第一损失分量的乘积、所述第二权重值与所述状态第二损失分量的乘积、以及所述第三样本权重值与所述状态第三损失分量的乘积进行累加,以获取所述第二损失量。情况3、第三损失量的获取方法包括:需要说明的是,可分别通过第一通道的特征图的正样本和负样本相关信息或第二通道的特征图的正样本和负样本相关信息,计算第三损失量,也可采用两个特征图中的正样本和负样本相关信息通过设置运算规则来计算第三损失量,在此不在具体限定。方式a、通过第一通道的特征图计算关于背景和前景分离的前背景的第三损失分量。具体如下:通过所述第一通道的特征图中的第一正样本的前背景信息与该正样本的标注数据中的前背景信息,计算关于该第一正样本的背景和前景分离的前背景第一损失分量;通过所述第一通道的特征图中的第二正样本的前背景信息与所述正样本标注数据中的前背景信息,计算关于该第二正样本的背景和前景分离的前背景第二损失分量;通过所述第一通道的特征图中负样本的前背景信息与所述负样本标注数据的前背景信息,计算关于该负样本的背景和前景分离的前背景第三损失分量;将所述第一权重值与所述前背景第一损失分量的乘积、所述第二权重值与所述前背景第二损失分量的乘积、所述第三权重值与所述前背景第三损失分量的乘积进行累加,以获取所述第三损失量。方式b、通过第二通道的特征图计算关于背景和前景分离的前背景的第三损失分量。通过所述第二通道的特征图中的第一正样本的前背景信息与该正样本的标注数据中的前背景信息,计算关于该第一正样本的背景和前景分离的前背景第一损失分量;以及通过所述第二通道的特征图中的第二正样本的前背景信息与所述正样本标注数据中的前背景信息,计算关于该第二正样本的背景和前景分离的前背景第二损失分量;通过所述第二通道的特征图中负样本的前背景信息与所述负样本标注数据的前背景信息,计算关于该负样本的背景和前景分离的前背景第三损失分量;以及将所述第一权重值与所述前背景第一损失分量的乘积、所述第二权重值与所述前背景第二损失分量的乘积、所述第三权重值与所述前背景第三损失分量的乘积进行累加,以获取所述第三损失量。方式c、通过第一通道的特征图和第二通道的特征图计算关于背景和前景分离的前背景的第三损失分量。需要说明的是可基于第一通道的特征图和第二通道的特征图,依据方式a和方式b的方式分别提取关于第一正样本的背景和前景分离的前背景第一损失分量、关于第二正样本的背景和前景分离的前背景第二损失分量以及关于负样本的背景和前景分离的前背景第三损失分量,然后可将得到的同一损失分量进行求和处理,再取平均值,或者分别设置对应的比例系数进行乘积运算再进行求和的方式获取最终的关于第一正样本的背景和前景分离的前背景第一损失分量、关于第二正样本的背景和前景分离的前背景第二损失分量以及关于负样本的背景和前景分离的前背景第三损失分量,如:通过方式1计算得到的第一样本关于背景和前景分离的前背景第一损失分量为a,通过方式2计算得到的第一样本关于背景和前景分离的前背景第一损失分量为b,若采用取平均的方法,可知最终的的第一样本关于背景和前景分离的前背景第一损失分量的取值为(a+b)/2,其他分量亦是这样的计算方式,不在一一说明。最后将最终的损失分量分别与对应的权重值的乘积进行求和处理,以获取第三损失分量。通过该方式可更好的学习正样本的特征,如正样本包括30个螺丝,但是螺丝缺失的仅为1个,因此可以在训练时针对缺失螺丝的图像设置的权重值大于针对螺丝不缺失的图像的权重值,以便于网络模型对螺丝缺失的图像进行重点学习,基于同样的原理对零件异常的样本图像进行训练,在此不再重复说明。此外需要说明的是,在得到第一通道的特征图和第二通道的特征图后,可以基于方式一选取预设比例数量的正样本和负样本,然后基于方式二设置样本权重值,针对选取的与预设比例数量的正样本和负样本按照设置的样本权重值计算第一损失量、第二损失量以及第三损失量。通过该方式可以使得神经网络模型进一步加深对正样本特征的学习。此外,神经网络模型训练时,可分批次获取部分训练图像,本申请实施例中还可以通过增大零件异常样本图像(即第一正样本)的获取概率使得神经网络模型重点学习零件异常样本。在一个实施例中,如前文所述,该神经网络模型可基于图像分割成背景和前景来提取图像的特征,通过该神经网络模型可以提取各个零件的位置信息以及各个零件的状态,因此在神经网络模型的训练时需要训练神经网络模型所采用的损失函数可考虑不同任务的识别损失得到的总损失量,之后通过梯度回传到神经网络模型的特征提取网络中,以调整神经网络模型的参数。参阅图7,为神经网络模型的训练流程的示意图,将样本图像输入至神经网络中进行图像特征提取。将神经网络模型的最后一层输出的特征图分成三部分分别与第一通道的特征图、第二通道的特征图以及背景和前景的通道的特征图对应,分别计算各个零件的位置信息的第一损失量、各个零件的状态的第二损失量以及训练图像的背景和前景分离的第三损失量。根据第一损失量、第二损失量以及第三损失计算得到总损失量(例如,求和处理),并梯度回传到神经网络模型,以调整该神经网络模型的各参数的参数值。通过该方式训练用于零件异常检测的网络模型,可以加强对零件异常的样本图像的训练度,使得网络模型可以更好地学习异常零件的特征,以便于准确地检测出异常的零件。此外,通过计算损失量来调整网络模型,有利于提高网络模型特征提取的准确度。在实际的生产和应用中,可将上述的方法应用至主板的图像中的led灯的异常检测问题。利用训练好的神经网络模型,可以识别主板上面的led灯各个状态,具体分为以下几类:检测出主板上面led灯的颜色以及状态(led灯状态共包含5种:红、绿、蓝、混色、不亮)。检测出主板上面led灯的序号并且标出。基于本申请提出的零件异常检测方法可用于led灯异常状态检测。本申请利用神经网络模型进行led灯的异常状况检测,首先需要通过摄像头采集一批包含led灯的图像数据,然后通过人工标注的方式在图像中标出led灯的位置。这些图像和位置坐标会用于训练检测led灯异常状态的神经网络。在检测阶段,将图片输入训练好的神经网络,网络就可以输出识别结果。在led灯异常状态检测时,由于主板在图像中有多个角度,led灯所在位置也变得随机。另外,led灯的像素值在整幅图像中所占比例过小,会在神经网络的训练过程中产生正负样本不均衡的问题。如图8所示,为根据标定部位确定零件位置信息的示意图,图8-a示出了主板待检测区域图,8-b为主板led灯检测结果图,其中,图8-a中矩形标注的区域为标定部位,图8-b中示出的12个标号的led与图8-a相对应,其中,标号5的led灯异常,通过带阴影的圆圈进行示意。本申请将led灯的分类问题转化为分割问题来求解,最终使得分类得到的效果更加精确。对于每一个led灯标号的确定也采用相似的设计,同样取得了很好的效果。led灯的状态(比如颜色,亮或不亮)将它们看做像素点的分类问题来解决的。比如将蓝色的灯作为第一类,红色的作为第二类。将led灯的序号也看做是分类问题,比如序号为1的灯设置为第一类,那么一共12个灯就可以将序号分为12类。所以led灯的状态和序号本质上都是像素点的分类问题。之所以要对灯标定序号,目的是为了准确的找到有问题的灯对应的位置。接下来介绍本申请实施例提供的零件异常检测装置如图9所示,该装置包括:待检测图像获取模块91、输入模块92以及输出结果获取模块93。需要说明的是,待检测图像获取模块91,用于获取待检测区域的待检测图像,所述待检测区域包括至少一个零件。输入模块92,用于将所述待检测图像输入至预先训练的神经网络模型。输出结果获取模块93,用于获取所述神经网络模型的输出结果,所述输出结果中包括所述待检测图像中包含的各个零件的位置信息及各个零件的状态信息,所述状态信息用于指示所述零件处于正常状态或异常状态。在一个实施例中,所述输出结果为通过输出检测结果图的方式输出,其中,所述检测结果图中标识有所述待检测图像中的各个零件的位置,并在所述检测结果图中各个零件所在区域内采用不同显示效果标识各零件的不同状态。参阅图10为,本申请实施例提供的一种用于零件异常检测的神经网络模型训练装置,包括:获取模块101以及训练模块102。具体的:获取模块101,用于获取训练图像以及所述训练图像的标注数据;其中,所述训练图像为包括待检测区域的图像,所述待检测区域包括至少一个零件,所述标注数据用于标注所述训练图像中各个零件的位置信息及各个零件的状态信息,所述状态信息用于指示所述零件处于正常状态或异常状态。训练模块102,用于根据所述训练图像和所述训练图像的标注数据,对神经网络模型进行训练。在一个实施例中,所述训练图像中包括正样本和负样本,所述正样本包括所述训练图像中各零件所在区域的图像像素点;所述负样本包括所述训练图像中除零件之外的区域的图像像素点;所述训练模块,具体用于:根据所述训练图像中的所述正样本及所述正样本的标注数据和所述负样本及所述负样本的标注数据,对所述神经网络模型进行训练;其中,所述正样本的标注数据中包括:各零件的位置信息以及各零件的状态信息;所述负样本的标注数据中包括:所述负样本包含的像素点的位置信息以及状态信息。在一个实施例中,训练图像包括:所述待检测区域的不同拍摄角度的图像;和/或,各所述待检测区域的不同拍摄角度的图像经过随机旋转后得到的图像。在一个实施例中,所述训练模块,具体用于:提取所述训练图像的图像特征,所述图像特征中包括用于表征所述训练图像中各零件位置的第一通道的特征图,以及用于表征所述训练图像中各零件状态的第二通道的特征图;根据所述第一通道的特征图中的特征值,确定各零件的位置信息;以及,根据所述第二通道的特征图中的特征值,确定各零件的状态信息;根据所确定的各零件的位置信息和各零件的状态信息、以及所述训练图像的标注数据,对所述神经网络模型进行训练。在一个实施例中,所述装置还包括:检测结果图生成模块,用以根据所确定的各零件的位置信息和各零件的状态信息,生成检测结果图,其中,所述检测结果图中标识有所述训练图像中的各个零件的位置信息,并在所述检测结果图中各个零件所在区域内采用不同显示效果标识各零件的不同状态。在一个实施例中,训练模块具体用于:对所述训练图像进行特征提取,获得所述训练图像的背景通道的特征图、各个零件分别对应的位置通道的特征图、以及所述各个零件的状态分别对应的状态通道的特征图;将所述位置通道的特征图以及所述训练图像的背景通道的特征图进行特征融合,得到所述第一通道的特征图;以及,将所述与状态通道的特征图以及所述训练图像的背景通道的特征图进行特征融合,得到所述第二通道的特征图。在一个实施例中,所述训练模块,具体用于:基于所述第一通道的特征图的特征值,计算所述神经网络模型识别的所述训练图像中的各个零件的位置信息对应的第一损失量;基于所述第二通道的特征图的特征值计算关于识别的各个零件的状态信息的第二损失量;基于所述第一通道的特征图的特征值,和/或,基于所述第二通道的特征图的特征值计算关于所述训练图像背景和前景分离的第三损失量;基于所述第一损失量、所述第二损失量以及所述第三损失量,计算所述神经网络模型的总损失量。在一个实施例中,所述训练模块,具体用于:根据配置的正负样本的数量比例,在所述第一通道的特征图和所述第二通道的特征图中分别选取正样本和负样本,所述正样本的数量小于所述负样本的数量;根据所选取的正样本和负样本,分别计算所述第一损失量、所述第二损失量以及所述第三损失量。在一个实施例中,所述装置还包括:样本权重值设置模块,用于根据所述正样本的样本权重值和所述负样本的样本权重值,分别计算所述第一损失量、所述第二损失量以及所述第三损失量,其中,所述正样本的样本权重值大于所述负样本的样本权重值。在一个实施例中,所述正样本包括第一正样本以及第二正样本,所述第一正样本为所述正样本中包含的处于异常状态的零件图像像素点,所述第二正样本中包含的处于正常状态的零件图像像素点;所述第一正样本的样本权重值大于所述第二正样本的样本权重值;所述第一正样本的样本权重值、所述第二正样本的样本权重值均大于所述负样本的样本权重值。在一个实施例中,所述训练模块具体用于:针对所述第一通道的特征图,将特征值满足设定的取值条件的特征点确定为属于同一零件;针对每个零件对应的特征点,根据该零件的各特征点在所述第一通道的特征图中的位置坐标值,确定该零件的位置坐标信息;以及根据位置坐标信息和位置标识的对应关系,确定该零件的位置坐标信息对应的位置标识作为该零件的位置信息。在一个实施例中,所述待检测区域包括指定的标定部位,所述训练模块具体用于:从所述第一通道的特征图中提取所述标定部位的特征点;以及根据各所述标定部位的特征点在所述第一通道的特征图的位置坐标,确定所述标定部位的位置坐标信息;所述训练模块根据位置坐标信息和位置标识的对应关系,确定该零件的位置坐标信息对应的位置标识作为该零件的位置信息,具体用于:根据各零件的位置坐标信息,以及标定部位的位置坐标信息,确定各零件与所述标定部位的相对位置关系;根据预设的相对位置关系和位置标识的对应关系,确定各零件的位置信息。在一个实施例中,所述训练模块具体用于:在所述第二通道的特征图中,分别确定各零件对应的特征值;根据第二通道的特征图中的特征值与状态的对应关系,确定各零件的状态。在介绍了本申请示例性实施方式中的零件异常检测方法、模型训练方法及装置之后,接下来,介绍本申请的另一示例性实施方式的电子设备。所属
技术领域
的技术人员能够理解,本申请的各个方面可以实现为系统、方法或程序产品。因此,本申请的各个方面可以具体实现为以下形式,即:完全的硬件实施方式、完全的软件实施方式(包括固件、微代码等),或硬件和软件方面结合的实施方式,这里可以统称为“电路”、“模块”或“系统”。在一些可能的实施方式中,根据本申请的电子设备可以至少包括至少一个处理器、以及至少一个存储器。其中,存储器存储有计算机程序,当计算机程序被处理器执行时,使得处理器执行本说明书上述描述的根据本申请各种示例性实施方式的零件异常检测方法中的步骤或用于零件异常检测的网络模型训练方法的步骤。例如,处理器可以执行如图2中所示的步骤201-步骤203或如图4中所述的步骤401-步骤402。下面参照图11来描述根据本申请的这种实施方式的电子设备130。图11显示的电子设备130仅仅是一个示例,不应对本申请实施例的功能和使用范围带来任何限制。如图11所示,电子设备130以通用智能终端的形式表现。电子设备130的组件可以包括但不限于:上述至少一个处理器131、上述至少一个存储器132、连接不同系统组件(包括存储器132和处理器131)的总线133。总线133表示几类总线结构中的一种或多种,包括存储器总线或者存储器控制器、外围总线、处理器或者使用多种总线结构中的任意总线结构的局域总线。存储器132可以包括易失性存储器形式的可读介质,例如随机存取存储器(ram)1321和/或高速缓存存储器1322,还可以进一步包括只读存储器(rom)1323。存储器132还可以包括具有一组(至少一个)程序模块1324的程序/实用工具1325,这样的程序模块1324包括但不限于:操作系统、一个或者多个应用程序、其它程序模块以及程序数据,这些示例中的每一个或某种组合中可能包括网络环境的实现。电子设备130也可以与一个或多个外部设备134(例如键盘、指向设备等)通信,和/或与使得该电子设备130能与一个或多个其它智能终端进行通信的任何设备(例如路由器、调制解调器等等)通信。这种通信可以通过输入/输出(i/o)接口135进行。并且,智能终端130还可以通过网络适配器136与一个或者多个网络(例如局域网(lan),广域网(wan)和/或公共网络,例如因特网)通信。如图所示,网络适配器136通过总线133与用于电子设备130的其它模块通信。应当理解,尽管图中未示出,可以结合电子设备130使用其它硬件和/或软件模块,包括但不限于:微代码、设备驱动器、冗余处理器、外部磁盘驱动阵列、raid系统、磁带驱动器以及数据备份存储系统等。在一些可能的实施方式中,本申请提供的零件异常检测方法的各个方面还可以实现为一种程序产品的形式,其包括计算机程序,当程序产品在计算机设备上运行时,计算机程序用于使计算机设备执行本说明书上述描述的根据本申请各种示例性实施方式的零件异常检测方法中的步骤或用于零件异常检测的网络模型训练方法的步骤。例如,处理器可以执行如图2中所示的步骤201-步骤203或如图4中所述的步骤401-步骤402。程序产品可以采用一个或多个可读介质的任意组合。可读介质可以是可读信号介质或者可读存储介质。可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式盘、硬盘、随机存取存储器(ram)、只读存储器(rom)、可擦式可编程只读存储器(eprom或闪存)、光纤、便携式紧凑盘只读存储器(cd-rom)、光存储器件、磁存储器件、或者上述的任意合适的组合。本申请的实施方式的用于零件异常检测的程序产品可采用便携式紧凑盘只读存储器(cd-rom)并包括计算机程序,并可在智能终端上运行。但本申请的程序产品不限于此,在本文件中,可读存储介质可以是任何包含或存储程序的有形介质,该程序可被指令执行系统、装置或者器件使用或者与其结合使用。可读信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了可读计算机程序。这种传播的数据信号可以采用多种形式,包括——但不限于——电磁信号、光信号或上述的任意合适的组合。可读信号介质还可以是可读存储介质以外的任何可读介质,该可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。应当注意,尽管在上文详细描述中提及了装置的若干单元或子单元,但是这种划分仅仅是示例性的并非强制性的。实际上,根据本申请的实施方式,上文描述的两个或更多单元的特征和功能可以在一个单元中具体化。反之,上文描述的一个单元的特征和功能可以进一步划分为由多个单元来具体化。此外,尽管在附图中以特定顺序描述了本申请方法的操作,但是,这并非要求或者暗示必须按照该特定顺序来执行这些操作,或是必须执行全部所示的操作才能实现期望的结果。附加地或备选地,可以省略某些步骤,将多个步骤合并为一个步骤执行,和/或将一个步骤分解为多个步骤执行。本申请是参照根据本申请实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。尽管已描述了本申请的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例做出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本申请范围的所有变更和修改。显然,本领域的技术人员可以对本申请进行各种改动和变型而不脱离本申请的精神和范围。这样,倘若本申请的这些修改和变型属于本申请权利要求及其等同技术的范围之内,则本申请也意图包含这些改动和变型在内。当前第1页1 2 3 
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1