本申请涉及人工智能、图像识别和深度学习的技术领域,具体而言,涉及一种产品合格确定方法、装置、电子设备及存储介质。
背景技术:
在食品加工过程中,对于食品封口的检测是极其重要的一个环节,对于食品封口的检测具体例如:检测包装封口是否破损、密封是否不良和是否有连在一起的包装等等。目前对包装封口进行检测的方法,主要包括:人工检测方法、超声波检测法、压差法、射线检测法、红外无损检测法等方法;然而在具体的实践的过程中发现,使用这些方法对包装封口进行检测的准确率较低。
技术实现要素:
本申请实施例的目的在于提供一种产品合格确定方法、装置、电子设备及存储介质,用于改善对包装封口进行检测的准确率较低的问题。
本申请实施例提供了一种产品合格确定方法,包括:获得目标产品的包装图像;使用预先训练的孪生网络模型对所述包装图像中的缺陷进行识别,获得缺陷信息;根据所述缺陷信息确定所述目标产品是否合格。在上述的实现过程中,通过获得目标产品的包装图像;使用预先训练的孪生网络模型对包装图像中的缺陷进行识别,获得缺陷信息;根据缺陷信息确定目标产品是否合格;也就是说,通过孪生网络模型包括的两个神经网络模型进行联合决策,从而有效地提高了对包装封口进行检测的准确率。
可选地,在本申请实施例中,所述根据所述缺陷信息确定所述目标产品是否合格,包括:若所述缺陷信息包括候选边框,则确定所述目标产品不合格,所述候选边框表征所述包装图像中存在缺陷的位置范围。在上述的实现过程中,通过若缺陷信息包括候选边框,则确定目标产品不合格,候选边框表征包装图像中存在缺陷的位置范围;也就是说,通过孪生网络模型生成的候选边框来确定目标产品是否合格,从而有效地提高了对包装封口进行检测的准确率。
可选地,在本申请实施例中,所述缺陷信息包括:缺陷概率,所述缺陷概率表征所述目标产品存在缺陷的概率;所述根据所述缺陷信息确定所述目标产品是否合格,还包括:若所述缺陷信息不包括候选边框,且所述缺陷概率大于预设阈值,则确定所述目标产品不合格。在上述的实现过程中,通过若缺陷信息不包括候选边框,且缺陷概率大于预设阈值,则确定目标产品不合格;也就是说,通过孪生网络模型生成的候选边框和缺陷概率来确定目标产品是否合格,从而有效地提高了对包装封口进行检测的准确率。
可选地,在本申请实施例中,所述根据所述缺陷信息确定所述目标产品是否合格,还包括:若所述缺陷信息不包括候选边框,且所述缺陷概率小于等于所述预设阈值,则确定所述目标产品合格。在上述的实现过程中,通过若缺陷信息不包括候选边框,且缺陷概率小于等于预设阈值,则确定目标产品合格;也就是说,通过孪生网络模型生成的候选边框和缺陷概率来确定目标产品是否合格,从而有效地提高了对包装封口进行检测的准确率。
可选地,在本申请实施例中,还包括:获得多个正样本组和多个负样本组,所述正样本组包括:第一包装图像和第二包装图像,所述负样本组包括:第一包装图像和第三包装图像,所述第一包装图像和所述第二包装图像均是采集合格的第一产品包装获得的,所述第三包装图像是采集不合格的第二产品包装获得的;使用所述多个正样本组和所述多个负样本组对孪生神经网络进行训练,获得所述孪生网络模型。在上述的实现过程中,通过获得多个正样本组和多个负样本组,正样本组包括:第一包装图像和第二包装图像,负样本组包括:第一包装图像和第三包装图像,第一包装图像和第二包装图像均是采集合格的第一产品包装获得的,第三包装图像是采集不合格的第二产品包装获得的;使用多个正样本组和多个负样本组对孪生神经网络进行训练,获得孪生网络模型;从而有效地提高了获得孪生网络模型的速度。
可选地,在本申请实施例中,所述孪生网络模型包括:第一目标检测模型和第二目标检测模型,所述第一目标检测模型和所述第二目标检测模型共享权值;所述使用预先训练的孪生网络模型对所述包装图像中的缺陷进行识别,获得缺陷信息,包括:使用所述第一目标检测模型识别所述包装图像中的缺陷,获得第一特征图;使用所述第二目标检测模型识别所述包装图像中的缺陷,获得第二特征图;对所述第一特征图和所述第二特征图进行拼接、相加或者按位相乘,获得所述缺陷信息。在上述的实现过程中,通过使用第一目标检测模型识别包装图像中的缺陷,获得第一特征图;使用第二目标检测模型识别包装图像中的缺陷,获得第二特征图;对第一特征图和第二特征图进行拼接、相加或者按位相乘,获得缺陷信息;从而有效地提高了获得缺陷信息的速度。
可选地,在本申请实施例中,所述第一目标检测模型和所述第二目标检测模型均为yolo模型、rcnn模型、fastrcnn模型或者fasterrcnn模型。在上述的实现过程中,通过将第一目标检测模型和所述第二目标检测模型均设置为yolo模型、rcnn模型、fastrcnn模型或者fasterrcnn模型,从而有效地提高了对包装封口进行检测的准确率。
本申请实施例还提供了一种产品合格确定装置,包括:图像获得模块,用于获得目标产品的包装图像;信息获得模块,用于使用预先训练的孪生网络模型对所述包装图像中的缺陷进行识别,获得缺陷信息;合格确定模块,用于根据所述缺陷信息确定所述目标产品是否合格。在上述的实现过程中,通过获得目标产品的包装图像;使用预先训练的孪生网络模型对包装图像中的缺陷进行识别,获得缺陷信息;根据缺陷信息确定目标产品是否合格;也就是说,通过孪生网络模型包括的两个神经网络模型进行联合决策,从而有效地提高了对包装封口进行检测的准确率。
可选地,在本申请实施例中,所述合格确定模块,包括:第一确定模块,用于若所述缺陷信息包括候选边框,则确定所述目标产品不合格,所述候选边框表征所述包装图像中存在缺陷的位置范围。
可选地,在本申请实施例中,所述缺陷信息包括:缺陷概率,所述缺陷概率表征所述目标产品存在缺陷的概率;所述合格确定模块,还包括:第二确定模块,用于若所述缺陷信息不包括候选边框,且所述缺陷概率大于预设阈值,则确定所述目标产品不合格。
可选地,在本申请实施例中,所述合格确定模块,还包括:第三确定模块,用于若所述缺陷信息不包括候选边框,且所述缺陷概率小于等于所述预设阈值,则确定所述目标产品合格。
可选地,在本申请实施例中,还包括:样本组获得模块,用于获得多个正样本组和多个负样本组,所述正样本组包括:第一包装图像和第二包装图像,所述负样本组包括:第一包装图像和第三包装图像,所述第一包装图像和所述第二包装图像均是采集合格的第一产品包装获得的,所述第三包装图像是采集不合格的第二产品包装获得的;模型训练模块,用于使用所述多个正样本组和所述多个负样本组对孪生神经网络进行训练,获得所述孪生网络模型。
可选地,在本申请实施例中,所述孪生网络模型包括:第一目标检测模型和第二目标检测模型,所述第一目标检测模型和所述第二目标检测模型共享权值;所述信息获得模块,包括:第一识别模块,用于使用所述第一目标检测模型识别所述包装图像中的缺陷,获得第一特征图;第二识别模块,用于使用所述第二目标检测模型识别所述包装图像中的缺陷,获得第二特征图;特征计算模块,用于对所述第一特征图和所述第二特征图进行拼接、相加或者按位相乘,获得所述缺陷信息。
可选地,在本申请实施例中,所述第一目标检测模型和所述第二目标检测模型均为yolo模型、rcnn模型、fastrcnn模型或者fasterrcnn模型。
本申请实施例还提供了一种电子设备,包括:处理器和存储器,所述存储器存储有所述处理器可执行的机器可读指令,所述机器可读指令被所述处理器执行时执行如上所述的方法。
本申请实施例还提供了一种存储介质,该存储介质上存储有计算机程序,该计算机程序被处理器运行时执行如上所述的方法。
附图说明
为了更清楚地说明本申请实施例的技术方案,下面将对本申请实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本申请的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
图1示出的本申请实施例提供的产品合格确定方法的示意图;
图2示出的本申请实施例提供的孪生网络模型的网络结构示意图;
图3示出的本申请实施例提供的孪生网络模型的训练示意图;
图4示出的本申请实施例提供的产品合格确定装置的示意图;
图5示出的本申请实施例提供的电子设备的结构示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整的描述。
在介绍本申请实施例提供的产品合格确定方法之前,先介绍本申请实施例所涉及的一些概念,本申请实施例所涉及的一些概念如下:
人工智能(artificialintelligence,ai),是指研究、开发用于模拟、延伸和扩展人的智能的理论、方法、技术及应用的一门新的技术科学。人工智能是计算机科学的一个分支,人工智能企图了解智能的实质,并生产出一种新的能以人类智能相似的方式做出反应的智能机器,该领域的研究包括机器人、语言识别、图像识别、自然语言处理和专家系统等。
图像识别,是指利用计算机对图像进行处理、分析和理解,以识别各种不同模式的目标和对象的方法;其中,图像识别相关的任务例如:字符识别、目标检测和语义分割图像等等。
神经网络(neuralnetworks,nn)是由大量的和简单的处理单元(称为神经元)广泛地互相连接而形成的复杂网络系统,神经网络反映了人脑功能的许多基本特征,是一个高度复杂的非线性动力学习系统。
卷积神经网络(convolutionalneuralnetworks,cnn),是一种人工神经网络,人工神经网络的人工神经元可以响应周围单元,可以进行大型图像处理。卷积神经网络包括卷积层和池化层。卷积神经网络包括一维卷积神经网络、二维卷积神经网络以及三维卷积神经网络。
孪生网络(siamesenetwork),又称孪生神经网络,是一种两个共享权重的结构相同的神经网络,也可以理解为共享权重或共享权值的网络,即两个神经网络结构一模一样,且权重值也是一样的;这两个神经网络分别将输入映射到新的空间,形成输入在新的空间中的表示。
迁移学习(transferlearning),是一种机器学习方法,就是指把为第一任务构建的模型作为初始模型,将该初始模型用在为第二任务构建模型的过程方法;迁移学习具体例如:用来辨识汽车的知识(或者是模型)也可以被用来提升识别卡车的能力。
rcnn的全称是regioncnn,翻译为区域卷积神经网络,是第一个成功将深度学习应用到目标检测上的算法;r-cnn基于卷积神经网络,线性回归和支持向量机(svm)等算法,来实现目标检测的目的。rcnn的基本原理为:可以在图片上使用穷举法选出所有物体可能出现的区域框,对这些区域框提取特征并使用图像识别方法分类,得到所有分类成功的区域后,通过非极大值抑制输出结果。由rcnn演化出来的fastrcnn和fasterrcnn,这里的fastrcnn和fasterrcnn均是在rcnn上作出的改进。
yolo的全称为youonlylookonce,译为你只能看一眼,是指一种实时目标检测(real-timeobjectdetection)方法,yolo将目标区域预测和目标类别预测整合于单个神经网络模型中,实现在准确率较高的情况下快速目标检测与识别;yolo模型则是指根据上述的目标检测方法使用神经网络训练后的模型。
服务器是指通过网络提供计算服务的设备,服务器例如:x86服务器以及非x86服务器,非x86服务器包括:大型机、小型机和unix服务器。当然在具体的实施过程中,上述的服务器可以具体选择大型机或者小型机,这里的小型机是指采用精简指令集计算(reducedinstructionsetcomputing,risc)、单字长定点指令平均执行速度(millioninstructionspersecond,mips)等专用处理器,主要支持unix操作系统的封闭且专用的提供计算服务的设备;这里的大型机,又名大型主机,是指使用专用的处理器指令集、操作系统和应用软件来提供计算服务的设备。
需要说明的是,本申请实施例提供的产品合格确定方法可以被电子设备执行,这里的电子设备是指具有执行计算机程序功能的设备终端或者上述的服务器,设备终端例如:智能手机、个人电脑(personalcomputer,pc)、平板电脑、个人数字助理(personaldigitalassistant,pda)、移动上网设备(mobileinternetdevice,mid)、网络交换机或网络路由器等。
在介绍本申请实施例提供的产品合格确定方法之前,先介绍该产品合格确定方法适用的应用场景,这里的应用场景包括但不限于:使用该产品合格确定方法确定目标产品是否合格,使用该产品合格确定方法检测产品包装是否有缺陷,以及使用该产品合格确定方法确定产品包装中的缺陷位置等,这里的产品包括但不限于食品和玩具等产品,这里的食品包括饼干和果干等。
请参见图1示出的本申请实施例提供的产品合格确定方法的示意图;该产品合格确定方法包括模型应用和模型训练两个阶段的方法,下面先介绍模型应用阶段的方法,后面再介绍模型训练阶段的方法,其中,模型应用阶段的方法可以包括如下步骤:
步骤s110:获得目标产品的包装图像。
目标产品,是指带有包装的产品,这里的产品是指可提供给一个市场以供关注、获取、使用或消费,从而满足一定需要的事物;具体例如:食品包装袋中的食品,或者材料包装袋中的材料,或者玩具包装袋中的玩具等等;这里的食品例如饼干和果干等。
包装图像,是指获取上述的目标产品包装的图像,以确认上述的目标产品是否合格;这里的包装是指物件外部的保护层和装饰,不同的物件有不同的包装方式和材质,一些容器如盒子等也是专作为包装之用;这里的合格的标准包括:检测包装封口是否破损、密封是否不良和是否有连在一起的包装等等;这里的检测包装封口是否破损、密封是否不良和是否有连在一起的包装表示产品包装有缺陷,包装有缺陷的产品就确定为不合格的产品。
上述的获得目标产品的包装图像的实施方式例如:第一种方式,获取预先存储的包装图像,具体例如:从文件系统中获取包装图像,或者从数据库中获取包装图像;第二种方式,从其他终端设备接收获得包装图像,具体例如:接收终端设备发送包装图像等;第三种方式,使用爬虫软件获取互联网上的包装图像,或者使用浏览器等应用程序访问互联网获得包装图像;第四种方式,使用工业检测相机或者彩色数字照相机对产品包装进行拍照获得包装图像,这里的彩色数字照相机是指一种利用光电传感器把静态光学影像转换成电子数据的照相机。
在步骤s110之后,执行步骤s120:使用预先训练的孪生网络模型对包装图像中的缺陷进行识别,获得缺陷信息。
请参见图2示出的本申请实施例提供的孪生网络模型的网络结构示意图;孪生网络模型,是指使用训练数据和训练标签对孪生神经网络进行训练后,获得的神经网络模型;这里的孪生网络模型包括:第一目标检测模型和第二目标检测模型,第一目标检测模型和第二目标检测模型共享权值,这里的第一目标检测模型的网络结构和第二目标检测模型的网络结构可以是相同的。这里的训练过程也可以理解为学习的过程,因此,也可以对上述的孪生网络模型进行迁移学习。
缺陷信息,是指产品包装中的缺陷信息,这里的缺陷信息可以包括缺陷概率,缺陷概率表征产品包装图像中存在缺陷的概率,即缺陷概率表征产品包装是缺陷包装的概率,缺陷包装的情况例如:包装封口有破损、密封不良和包装连在一起等等。
上述的步骤s120的实施方式可以包括如下步骤:
步骤s121:使用第一目标检测模型识别包装图像中的缺陷,获得第一特征图。
目标检测模型,是指使用预设的训练数据对用于目标检测的神经网络进行训练后获得的神经网络模型,这里的预设的训练数据可以根据具体实际情况进行设置,例如:在图像识别的任务中,预设的训练数据是指需要识别的图像,在有监督学习训练过程中,需要对训练数据设置正确的标签。
上述的步骤s121的实施方式例如:第一目标检测模型可以包括yolo模型;使用yolo模型识别包装图像中的缺陷,获得第一特征图;这里的yolo模型具体还可以是yolov3模型。该步骤的实施方式又例如:第一目标检测模型还可以包括:rcnn模型、fastrcnn模型或者fasterrcnn模型;使用rcnn模型、fastrcnn模型或者fasterrcnn模型识别包装图像中的缺陷,获得第一特征图。
步骤s122:使用第二目标检测模型识别包装图像中的缺陷,获得第二特征图。
其中,该步骤的实施原理和实施方式与步骤s121的实施原理和实施方式是相似或类似的,区别仅在于,步骤s121中的第一目标检测模型是孪生网络模型中的其中一个目标检测模型,而步骤s122中的第二目标检测模型是孪生网络模型中的另一个不同于第一目标检测模型的模型,因此,这里不再对该步骤的实施方式和实施原理进行说明,如有不清楚的地方,可以参考对步骤s121的描述。
需要说明的是,上述的第一目标检测模型和第二目标检测模型均可以为yolo模型、rcnn模型、fastrcnn模型或者fasterrcnn模型等目标检测模型。在上述的实现过程中,通过将第一目标检测模型和第二目标检测模型均设置为yolo模型、rcnn模型、fastrcnn模型或者fasterrcnn模型,从而有效地提高了对包装封口进行检测的准确率。
步骤s123:对第一特征图和第二特征图进行拼接、相加或者按位相乘,获得缺陷信息。
上述的获得缺陷信息的实施方式例如:假设第一特征图为12,且第二特征图为21;若对第一特征图和第二特征图进行拼接操作,获得的缺陷信息为1221;若对第一特征图和第二特征图进行拼接相加,获得的缺陷信息为33;若对第一特征图和第二特征图进行拼接按位相乘,获得的缺陷信息为22。在上述的实现过程中,通过使用第一目标检测模型识别包装图像中的缺陷,获得第一特征图;使用第二目标检测模型识别包装图像中的缺陷,获得第二特征图;对第一特征图和第二特征图进行拼接、相加或者按位相乘,获得缺陷信息;从而有效地提高了获得缺陷信息的速度。
在步骤s120之后,执行步骤s130:根据缺陷信息确定目标产品是否合格。
可以理解的是,若上述的孪生网络模型采用yolo模型,那么可以使用yolo模型对包装图像中的缺陷进行识别,可以同时获得缺陷概率和候选边框,该候选边框表示包装图像中存在缺陷的位置范围,即上述的缺陷信息还可以包括候选边框;那么可以根据缺陷概率和候选边框共同确定目标产品是否合格,即上述的根据缺陷信息确定目标产品是否合格的实施方式,即步骤s130的实施方式包括如下步骤:
步骤s131:若缺陷信息包括候选边框,则确定目标产品不合格。
上述的步骤s131的实施方式例如:使用yolo模型对包装图像中的缺陷进行识别获得了候选边框,那么就可以直接确定目标产品不合格。在上述的实现过程中,通过若缺陷信息包括候选边框,则确定目标产品不合格,候选边框表征包装图像中存在缺陷的位置范围;也就是说,通过孪生网络模型生成的候选边框来确定目标产品是否合格,从而有效地提高了对包装封口进行检测的准确率。
步骤s132:若缺陷信息不包括候选边框,且缺陷概率大于预设阈值,则确定目标产品不合格。
预设阈值是指预先设置的限制阈值,该预设阈值可以根据具体实际情况进行设置,例如:可以设置为20%、50%或90%等。
上述的步骤s132的实施方式例如:使用yolo模型对包装图像中的缺陷进行识别不能获得候选边框,且缺陷概率大于预设阈值,那么就可以直接确定目标产品不合格。在上述的实现过程中,通过若缺陷信息不包括候选边框,且缺陷概率大于预设阈值,则确定目标产品不合格;也就是说,通过孪生网络模型生成的候选边框和缺陷概率来确定目标产品是否合格,从而有效地提高了对包装封口进行检测的准确率。
步骤s133:若缺陷信息不包括候选边框,且缺陷概率小于等于预设阈值,则确定目标产品合格。
上述的步骤s133的实施方式例如:使用yolo模型对包装图像中的缺陷进行识别不能获得候选边框,且缺陷概率小于等于预设阈值,那么就可以直接确定目标产品合格。在上述的实现过程中,通过若缺陷信息不包括候选边框,且缺陷概率小于等于预设阈值,则确定目标产品合格;也就是说,通过孪生网络模型生成的候选边框和缺陷概率来确定目标产品是否合格,从而有效地提高了对包装封口进行检测的准确率。
在上述的实现过程中,通过获得目标产品的包装图像;使用预先训练的孪生网络模型对包装图像中的缺陷进行识别,获得缺陷信息;根据缺陷信息确定目标产品是否合格;也就是说,通过孪生网络模型包括的两个神经网络模型进行联合决策,从而有效地提高了对包装封口进行检测的准确率。
可选的,在具体的实施过程中,上述的产品合格确定方法,还可以包括如下步骤:
在步骤s130之后,执行步骤s140:若目标产品的检测结果为不合格,电子设备向剔除设备发送控制信号,该控制信号用于使该剔除设备剔除该目标产品。
上述的步骤s140的实施方式例如:若目标产品的检测结果为不合格,即获知该目标产品是不合格的,那么可以向剔除设备发送控制信号,以使该剔除设备剔除该目标产品;这里的剔除设备是指剔除不合格产品的设备,这里的剔除设备例如可以是io(input/output)控制卡,使用io控制卡通知其它执行设备,让执行设备剔除该目标产品;这里的剔除设备也可以是机器人的手臂,这里的机器人是指自动执行工作的机器设备,既可以接受人类指挥,又可以运行预先编排的程序,也可以根据以人工智能技术制定的原则纲领行动。
上述的步骤s140的实施方式例如:电子设备通过传输控制协议(transmissioncontrolprotocol,tcp)向剔除设备发送控制信号,这里的tcp协议又名网络通讯协议,是internet最基本的协议、internet国际互联网络的基础,由网络层的ip协议和传输层的tcp协议组成。可以是基于传输控制协议/因特网互联协议(tcp/ip),也可以是基于超文本传输协议进行通信。
可以理解的是,在具体实施的过程中,若使用神经网络模型遇到新包装图像时,这里的新包装图像是指新的品种或类型的包装图像,具体例如:以前是饼干包装袋的包装图像,新包装图像为果冻或者果干的包装图像等等。以前训练好的神经网络模型并不一定能适用于新包装图像,如果将该神经网络模型对新包装重新进行训练,将会非常耗时从而导致无法满足实际生产的需求。因此,在使用上述的孪生网络模型对包装图像中的缺陷进行识别之前,需要对孪生网络模型进行迁移,计算出该网络的参数,从而使孪生网络模型在遇到新包装图像时,仍然可以使用以前训练好的孪生网络模型来对新包装图像进行识别,从而保证了对新包装图像进行识别的正确率。
如上面描述的,在本申请实施例中,该产品合格确定方法包括模型应用和模型训练两个阶段的方法,上面介绍了模型应用阶段的方法,下面介绍模型训练阶段的方法,模型训练阶段的方法可以包括如下步骤:
步骤s210:获得多个正样本组和多个负样本组。
其中,正样本组包括:第一包装图像和第二包装图像,负样本组包括:第一包装图像和第三包装图像,第一包装图像可以理解为基准(anchor)样本,第二包装图像可以理解为正(positive)样本,第三包装图像可以理解为负(negative)样本,第一包装图像和第二包装图像均是采集合格的第一产品包装获得的,第三包装图像是采集不合格的第二产品包装获得的。
上述的获得多个正样本组和多个负样本组的实施方式例如:这里的多个正样本组和多个负样本组可以作为整个数据压缩包来获取,那么具体的获取方式例如:第一种方式,获取预先存储的数据压缩包,从文件系统中获取数据压缩包,或者从数据库中获取数据压缩包;第二种方式,从其他终端设备接收获得数据压缩包;第三种方式,使用浏览器等软件获取互联网上的数据压缩包,或者使用其它应用程序访问互联网获得数据压缩包。当然,在具体的实施过程中,还可以通过图像采集或者图像增强的方式获取,这里的图像增强是指将原来不清晰的图像变得清晰或者强调某些关注的特征,抑制非关注的特征,进而改善图像质量、丰富信息量,加强图像判读和识别效果的图像处理方法。
步骤s220:使用多个正样本组和多个负样本组对孪生神经网络进行训练,获得孪生网络模型。
请参见图3示出的本申请实施例提供的孪生网络模型的训练示意图;上述的步骤s220的实施方式例如:使用多个正样本组和多个负样本组对yolo神经网络、rcnn神经网络、fastrcnn神经网络或者fasterrcnn神经网络进行训练,获得孪生网络模型。在具体的实施过程中,对孪生神经网络进行训练可以使用的损失函数可以是tripletloss函数,该tripletloss函数可以使用欧式距离表达如下:
l(a,p,n)=max(||f(a)-f(p)||2-||f(a)-f(n)||2 α,0);
其中,a表示基准(anchor)样本,p表示正(positive)样本,n表示负(negative)样本,tripletloss函数对于从头开始训练的模型以及预训练的模型,进行端到端深度度量学习优于大多数已发布方法,即该tripletloss函数可以使用公式表示如下:
其中,a表示基准(anchor)样本,p表示正(positive)样本,n表示负(negative)样本,tripletloss函数的作用是使基准(anchor)样本与正(positive)样本之间的距离减小,而基准(anchor)样本与负(negative)样本之间的距离增大。在上面描述的基础上,可以得到样本缺陷框的位置及缺陷概率,因此使用了新的损失函数,如下:
l(a,p,n)=α*l1 β*l2
其中,l1是后选边框的回归误差,l2是缺陷分类交叉熵;在经过大批量的样本训练后,yolo神经网络的权重参数得到优化,在输入新包装图像时,可以检测新包装图像是更接近良品(即合格的产品),还是不良品(即不合格的产品),同时也可以得到缺陷的候选边框的位置,这样相较于单个yolo神经网络具有更好的泛化能力,在面对新包装图像时,具有更强的适应性,从而有效地避免遇到新包装图像时需要重新训练网络的问题。
在上述的实现过程中,通过获得多个正样本组和多个负样本组,正样本组包括:第一包装图像和第二包装图像,负样本组包括:第一包装图像和第三包装图像,第一包装图像和第二包装图像均是采集合格的第一产品包装获得的,第三包装图像是采集不合格的第二产品包装获得的;使用多个正样本组和多个负样本组对孪生神经网络进行训练,获得孪生网络模型;从而有效地提高了获得孪生网络模型的速度。
请参见图4示出的本申请实施例提供的产品合格确定装置的示意图;本申请实施例提供了一种产品合格确定装置400,包括:
图像获得模块410,用于获得目标产品的包装图像。
信息获得模块420,用于使用预先训练的孪生网络模型对包装图像中的缺陷进行识别,获得缺陷信息。
合格确定模块430,用于根据缺陷信息确定目标产品是否合格。
可选地,在本申请实施例中,合格确定模块,包括:
第一确定模块,用于若缺陷信息包括候选边框,则确定目标产品不合格,候选边框表征包装图像中存在缺陷的位置范围。
可选地,在本申请实施例中,缺陷信息包括:缺陷概率,缺陷概率表征目标产品存在缺陷的概率;合格确定模块,还包括:
第二确定模块,用于若缺陷信息不包括候选边框,且缺陷概率大于预设阈值,则确定目标产品不合格。
可选地,在本申请实施例中,合格确定模块,还包括:
第三确定模块,用于若缺陷信息不包括候选边框,且缺陷概率小于等于预设阈值,则确定目标产品合格。
可选地,在本申请实施例中,还包括:
样本组获得模块,用于获得多个正样本组和多个负样本组,正样本组包括:第一包装图像和第二包装图像,负样本组包括:第一包装图像和第三包装图像,第一包装图像和第二包装图像均是采集合格的第一产品包装获得的,第三包装图像是采集不合格的第二产品包装获得的。
模型训练模块,用于使用多个正样本组和多个负样本组对孪生神经网络进行训练,获得孪生网络模型。
可选地,在本申请实施例中,孪生网络模型包括:第一目标检测模型和第二目标检测模型,第一目标检测模型和第二目标检测模型共享权值;信息获得模块,包括:
第一识别模块,用于使用第一目标检测模型识别包装图像中的缺陷,获得第一特征图。
第二识别模块,用于使用第二目标检测模型识别包装图像中的缺陷,获得第二特征图。
特征计算模块,用于对第一特征图和第二特征图进行拼接、相加或者按位相乘,获得缺陷信息。
可选地,在本申请实施例中,第一目标检测模型和第二目标检测模型均为yolo模型、rcnn模型、fastrcnn模型或者fasterrcnn模型。
应理解的是,该装置与上述的产品合格确定方法实施例对应,能够执行上述方法实施例涉及的各个步骤,该装置具体的功能可以参见上文中的描述,为避免重复,此处适当省略详细描述。该装置包括至少一个能以软件或固件(firmware)的形式存储于存储器中或固化在装置的操作系统(operatingsystem,os)中的软件功能模块。
请参见图5示出的本申请实施例提供的电子设备的结构示意图。本申请实施例提供的一种电子设备500,包括:处理器510和存储器520,存储器520存储有处理器510可执行的机器可读指令,机器可读指令被处理器510执行时执行如上的方法。
本申请实施例还提供了一种存储介质530,该存储介质530上存储有计算机程序,该计算机程序被处理器510运行时执行如上的产品合格确定方法。
其中,存储介质530可以由任何类型的易失性或非易失性存储设备或者它们的组合实现,如静态随机存取存储器(staticrandomaccessmemory,简称sram),电可擦除可编程只读存储器(electricallyerasableprogrammableread-onlymemory,简称eeprom),可擦除可编程只读存储器(erasableprogrammablereadonlymemory,简称eprom),可编程只读存储器(programmablered-onlymemory,简称prom),只读存储器(read-onlymemory,简称rom),磁存储器,快闪存储器,磁盘或光盘。
本申请实施例所提供的几个实施例中,应该理解到,所揭露的装置和方法,也可以通过其他的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,附图中的流程图和框图显示了根据本申请实施例的多个实施例的装置、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或代码的一部分,模块、程序段或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现方式中,方框中所标注的功能也可以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
另外,在本申请实施例各个实施例中的各功能模块可以集成在一起形成一个独立的部分,也可以是各个模块单独存在,也可以两个或两个以上模块集成形成一个独立的部分。
在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。
以上的描述,仅为本申请实施例的可选实施方式,但本申请实施例的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请实施例揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本申请实施例的保护范围之内。
1.一种产品合格确定方法,其特征在于,包括:
获得目标产品的包装图像;
使用预先训练的孪生网络模型对所述包装图像中的缺陷进行识别,获得缺陷信息;
根据所述缺陷信息确定所述目标产品是否合格。
2.根据权利要求1所述的方法,其特征在于,所述根据所述缺陷信息确定所述目标产品是否合格,包括:
若所述缺陷信息包括候选边框,则确定所述目标产品不合格,所述候选边框表征所述包装图像中存在缺陷的位置范围。
3.根据权利要求2所述的方法,其特征在于,所述缺陷信息包括:缺陷概率,所述缺陷概率表征所述目标产品存在缺陷的概率;所述根据所述缺陷信息确定所述目标产品是否合格,还包括:
若所述缺陷信息不包括候选边框,且所述缺陷概率大于预设阈值,则确定所述目标产品不合格。
4.根据权利要求3所述的方法,其特征在于,所述根据所述缺陷信息确定所述目标产品是否合格,还包括:
若所述缺陷信息不包括候选边框,且所述缺陷概率小于等于所述预设阈值,则确定所述目标产品合格。
5.根据权利要求1所述的方法,其特征在于,还包括:
获得多个正样本组和多个负样本组,所述正样本组包括:第一包装图像和第二包装图像,所述负样本组包括:第一包装图像和第三包装图像,所述第一包装图像和所述第二包装图像均是采集合格的第一产品包装获得的,所述第三包装图像是采集不合格的第二产品包装获得的;
使用所述多个正样本组和所述多个负样本组对孪生神经网络进行训练,获得所述孪生网络模型。
6.根据权利要求1-5任一所述的方法,其特征在于,所述孪生网络模型包括:第一目标检测模型和第二目标检测模型,所述第一目标检测模型和所述第二目标检测模型共享权值;所述使用预先训练的孪生网络模型对所述包装图像中的缺陷进行识别,获得缺陷信息,包括:
使用所述第一目标检测模型识别所述包装图像中的缺陷,获得第一特征图;
使用所述第二目标检测模型识别所述包装图像中的缺陷,获得第二特征图;
对所述第一特征图和所述第二特征图进行拼接、相加或者按位相乘,获得所述缺陷信息。
7.根据权利要求6所述的方法,其特征在于,所述第一目标检测模型和所述第二目标检测模型均为yolo模型、rcnn模型、fastrcnn模型或者fasterrcnn模型。
8.一种产品合格确定装置,其特征在于,包括:
图像获得模块,用于获得目标产品的包装图像;
信息获得模块,用于使用预先训练的孪生网络模型对所述包装图像中的缺陷进行识别,获得缺陷信息;
合格确定模块,用于根据所述缺陷信息确定所述目标产品是否合格。
9.一种电子设备,其特征在于,包括:处理器和存储器,所述存储器存储有所述处理器可执行的机器可读指令,所述机器可读指令被所述处理器执行时执行如权利要求1至7任一所述的方法。
10.一种存储介质,其特征在于,该存储介质上存储有计算机程序,该计算机程序被处理器运行时执行如权利要求1至7任一所述的方法。
技术总结