拉链缺陷检测方法和装置
技术领域
本发明涉及机器学习和计算机视觉技术领域,具体涉及一种拉链缺陷检测方法、一种拉链缺陷检测装置、一种计算机设备、一种非临时性计算机可读存储介质和一种计算机程序产品。
背景技术
拉链因为具有较多的链齿,并配以布料,缺陷率较高。因此有必要在投入市场前进行缺陷检测。
目前对于拉链缺陷的检测大多是通过人工视力观察的方式来完成的,速度慢,效率低下,人工成本高。
发明内容
本发明为解决上述技术问题,提供了一种拉链缺陷检测方法和装置,能够实现对拉链明显缺陷的快速检测,并同时能够保证对拉链各种缺陷的全面检测,检测效率较高,人工成本较低,且检测准确率较高。
本发明采用的技术方案如下:
一种拉链缺陷检测方法,包括以下步骤:获取待检测产品图像;将所述待检测产品图像输入one-stage目标检测模型,得到所述待检测产品图像中的拉链区域,并得到所述待检测产品图像中是否存在明显缺陷的检测结果;对所述拉链区域的图像进行处理;将处理后的所述拉链区域的图像与不存在缺陷的拉链图像进行比对,得到所述待检测产品图像中是否存在非明显缺陷的检测结果。
所述one-stage目标检测模型为yolo模型。
所述明显缺陷包括拉链齿位缺失缺陷,所述非明显缺陷包括对位不齐缺陷和布料抽丝缺陷。
对所述拉链区域的图像进行处理包括对所述拉链区域的图像进行灰度化和锐化处理。
一种拉链缺陷检测装置,包括:获取模块,所述获取模块用于获取待检测产品图像;第一检测模块,所述第一检测模块用于将所述待检测产品图像输入one-stage目标检测模型,得到所述待检测产品图像中的拉链区域,并得到所述待检测产品图像中是否存在明显缺陷的检测结果;处理模块,所述处理模块用于对所述拉链区域的图像进行处理;第二检测模块,所述第二检测模块用于将处理后的所述拉链区域的图像与不存在缺陷的拉链图像进行比对,得到所述待检测产品图像中是否存在非明显缺陷的检测结果。
一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时,实现上述拉链缺陷检测方法。
一种非临时性计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现上述拉链缺陷检测方法。
一种计算机程序产品,当所述计算机程序产品中的指令由处理器执行时,执行上述拉链缺陷检测方法。
本发明的有益效果:
本发明通过将待检测产品图像输入one-stage目标检测模型,得到待检测产品图像中的拉链区域,并得到待检测产品图像中是否存在明显缺陷的检测结果,以及将处理后的拉链区域的图像与不存在缺陷的拉链图像进行比对,得到待检测产品图像中是否存在非明显缺陷的检测结果,由此,能够实现对拉链明显缺陷的快速检测,并同时能够保证对拉链各种缺陷的全面检测,检测效率较高,人工成本较低,且检测准确率较高。
附图说明
图1为本发明实施例的拉链缺陷检测方法的流程图;
图2为本发明实施例的拉链缺陷检测装置的方框示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
如图1所示,本发明实施例的拉链缺陷检测方法包括以下步骤:
S1,获取待检测产品图像。
在本发明的一个实施例中,可通过相机对待检测产品进行拍照,例如可通过工业相机对拉链进行拍照,在拍照时可在漫反射环境中连续曲面打光,以得到高质量的产品图像。
S2,将待检测产品图像输入one-stage目标检测模型,得到待检测产品图像中的拉链区域,并得到待检测产品图像中是否存在明显缺陷的检测结果。
在本发明的一个实施例中,one-stage目标检测模型可为yolo模型,例如yolov1、yolov2或yolov3。在本发明的其他实施例中,one-stage目标检测模型还可为SSD、SqueezeDet或DetectNet等模型。用于得到待检测产品图像中是否存在明显缺陷的检测结果的one-stage目标检测模型可由one-stage目标检测算法通过大量的样本拉链图像训练得到,样本拉链图像可包括存在明显缺陷的图像和不存在缺陷的图像。
在本发明的一个实施例中,明显缺陷可为拉链齿位缺失缺陷,也可为其他特征明显的缺陷,例如平直度较差。相对而言,不明显缺陷为特征不明显的缺陷,例如对位不齐缺陷和布料抽丝缺陷等。
one-stage目标检测模型主要通过卷积层完成特征提取操作后,进入目标检测层,即利用提取出来的特征图寻找原图中出现类似特征的区域组,最后通过筛选层,寻找以上特征相似度最高的一个区域,并屏蔽其他区域组。通过one-stage目标检测模型,无需经过region proposal阶段,即产生候选区域的阶段,直接产生拉链齿位缺失缺陷的概率和位置坐标值,经过单次检测即可直接得到检测结果,因此有着更快的检测速度。本发明实施例的该检测方式在牺牲一定精度的情况下保证了检出率和速度,针对明显缺失的特征精度问题不会影响最终结果。
针对对位不齐缺陷和布料抽丝缺陷等不明显缺陷,可获取待检测产品图像中的拉链区域,经下述步骤进行检测。
进一步地,上述的拉链区域可缩小并替换为可能存在不明显缺陷的区域。具体地,用于得到可能存在不明显缺陷的区域的one-stage目标检测模型可由one-stage目标检测算法通过大量的样本拉链图像训练得到,样本拉链图像可包括存在不明显缺陷的图像和不存在缺陷的图像。由于不明显缺陷的误检率普遍偏高,因此可经下述步骤进行进一步检测确认。
S3,对拉链区域的图像进行处理。
具体地,可对拉链区域的图像进行灰度化和锐化处理。
S4,将处理后的拉链区域的图像与不存在缺陷的拉链图像进行比对,得到待检测产品图像中是否存在非明显缺陷的检测结果。
在本发明的一个实施例中,可利用OpenCV的图像比对算法将拉链区域的图像与不存在缺陷的拉链图像进行比对,得到相关性比较值,并将与不存在缺陷的拉链图像的相关性比较值小于预设阈值的链区域的图像确定为存在非明显缺陷的图像。
根据本发明实施例的拉链缺陷检测方法,通过将待检测产品图像输入one-stage目标检测模型,得到待检测产品图像中的拉链区域,并得到待检测产品图像中是否存在明显缺陷的检测结果,以及将处理后的拉链区域的图像与不存在缺陷的拉链图像进行比对,得到待检测产品图像中是否存在非明显缺陷的检测结果,由此,能够实现对拉链明显缺陷的快速检测,并同时能够保证对拉链各种缺陷的全面检测,检测效率较高,人工成本较低,且检测准确率较高。
对应上述实施例的拉链缺陷检测方法,本发明还提出一种拉链缺陷检测装置。
如图2所示,本发明实施例的拉链缺陷检测装置包括获取模块10、第一检测模块20、处理模块30和第二检测模块40。其中,获取模块10用于获取待检测产品图像;第一检测模块20用于将待检测产品图像输入one-stage目标检测模型,得到待检测产品图像中的拉链区域,并得到待检测产品图像中是否存在明显缺陷的检测结果;处理模块30用于对拉链区域的图像进行处理;第二检测模块40用于将处理后的拉链区域的图像与不存在缺陷的拉链图像进行比对,得到待检测产品图像中是否存在非明显缺陷的检测结果。
在本发明的一个实施例中,可通过相机对待检测产品进行拍照,例如可通过工业相机对拉链进行拍照,在拍照时可在漫反射环境中连续曲面打光,以得到高质量的产品图像。
在本发明的一个实施例中,one-stage目标检测模型可为yolo模型,例如yolov1、yolov2或yolov3。在本发明的其他实施例中,one-stage目标检测模型还可为SSD、SqueezeDet或DetectNet等模型。one-stage目标检测模型可由one-stage目标检测算法通过大量的样本拉链图像训练得到,样本拉链图像可包括存在明显缺陷的图像和不存在缺陷的图像。
在本发明的一个实施例中,明显缺陷可为拉链齿位缺失缺陷,也可为其他特征明显的缺陷,例如平直度较差。相对而言,不明显缺陷为特征不明显的缺陷,例如对位不齐缺陷和布料抽丝缺陷等。
one-stage目标检测模型主要通过卷积层完成特征提取操作后,进入目标检测层,即利用提取出来的特征图寻找原图中出现类似特征的区域组,最后通过筛选层,寻找以上特征相似度最高的一个区域,并屏蔽其他区域组。通过one-stage目标检测模型,无需经过region proposal阶段,即产生候选区域的阶段,直接产生拉链齿位缺失缺陷的概率和位置坐标值,经过单次检测即可直接得到检测结果,因此有着更快的检测速度。本发明实施例的该检测方式在牺牲一定精度的情况下保证了检出率和速度,针对明显缺失的特征精度问题不会影响最终结果。
针对对位不齐缺陷和布料抽丝缺陷等不明显缺陷,第一检测模块可获取待检测产品图像中的拉链区域,经第二检测模块40进行检测。
进一步地,上述的拉链区域可缩小并替换为可能存在不明显缺陷的区域。具体地,用于得到可能存在不明显缺陷的区域的one-stage目标检测模型可由one-stage目标检测算法通过大量的样本拉链图像训练得到,样本拉链图像可包括存在不明显缺陷的图像和不存在缺陷的图像。由于不明显缺陷的误检率普遍偏高,因此可经第二检测模块40进行进一步检测确认。
处理模块30具体可对拉链区域的图像进行灰度化和锐化处理。
在本发明的一个实施例中,第二检测模块40可利用OpenCV的图像比对算法将拉链区域的图像与不存在缺陷的拉链图像进行比对,得到相关性比较值,并将与不存在缺陷的拉链图像的相关性比较值小于预设阈值的链区域的图像确定为存在非明显缺陷的图像。
根据本发明实施例的拉链缺陷检测装置,通过将待检测产品图像输入one-stage目标检测模型,得到待检测产品图像中的拉链区域,并得到待检测产品图像中是否存在明显缺陷的检测结果,以及将处理后的拉链区域的图像与不存在缺陷的拉链图像进行比对,得到待检测产品图像中是否存在非明显缺陷的检测结果,由此,能够实现对拉链明显缺陷的快速检测,并同时能够保证对拉链各种缺陷的全面检测,检测效率较高,人工成本较低,且检测准确率较高。
对应上述实施例,本发明还提出一种计算机设备。
本发明实施例的计算机设备包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,处理器执行该计算机程序时,可实现根据本发明上述实施例的拉链缺陷检测方法。
根据本发明实施例的计算机设备,处理器执行存储在存储器上的计算机程序时,通过将待检测产品图像输入one-stage目标检测模型,得到待检测产品图像中的拉链区域,并得到待检测产品图像中是否存在明显缺陷的检测结果,以及将处理后的拉链区域的图像与不存在缺陷的拉链图像进行比对,得到待检测产品图像中是否存在非明显缺陷的检测结果,由此,能够实现对拉链明显缺陷的快速检测,并同时能够保证对拉链各种缺陷的全面检测,检测效率较高,人工成本较低,且检测准确率较高。
对应上述实施例,本发明还提出一种非临时性计算机可读存储介质。
本发明实施例的非临时性计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时可实现根据本发明上述实施例的拉链缺陷检测方法。
根据本发明实施例的非临时性计算机可读存储介质,处理器执行存储在其上的计算机程序时,通过将待检测产品图像输入one-stage目标检测模型,得到待检测产品图像中的拉链区域,并得到待检测产品图像中是否存在明显缺陷的检测结果,以及将处理后的拉链区域的图像与不存在缺陷的拉链图像进行比对,得到待检测产品图像中是否存在非明显缺陷的检测结果,由此,能够实现对拉链明显缺陷的快速检测,并同时能够保证对拉链各种缺陷的全面检测,检测效率较高,人工成本较低,且检测准确率较高。
对应上述实施例,本发明还提出一种计算机程序产品。
当本发明实施例的计算机程序产品中的指令由处理器执行时,可执行根据本发明上述实施例的拉链缺陷检测方法。
根据本发明实施例的计算机程序产品,处理器执行其中的指令时,通过将待检测产品图像输入one-stage目标检测模型,得到待检测产品图像中的拉链区域,并得到待检测产品图像中是否存在明显缺陷的检测结果,以及将处理后的拉链区域的图像与不存在缺陷的拉链图像进行比对,得到待检测产品图像中是否存在非明显缺陷的检测结果,由此,能够实现对拉链明显缺陷的快速检测,并同时能够保证对拉链各种缺陷的全面检测,检测效率较高,人工成本较低,且检测准确率较高。
在本发明的描述中,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括一个或者更多个该特征。“多个”的含义是两个或两个以上,除非另有明确具体的限定。
在本发明中,除非另有明确的规定和限定,术语“安装”、“相连”、“连接”、“固定”等术语应做广义理解,例如,可以是固定连接,也可以是可拆卸连接,或成一体;可以是机械连接,也可以是电连接;可以是直接相连,也可以通过中间媒介间接相连,可以是两个元件内部的连通或两个元件的相互作用关系。对于本领域的普通技术人员而言,可以根据具体情况理解上述术语在本发明中的具体含义。
在本发明中,除非另有明确的规定和限定,第一特征在第二特征“上”或“下”可以是第一和第二特征直接接触,或第一和第二特征通过中间媒介间接接触。而且,第一特征在第二特征“之上”、“上方”和“上面”可是第一特征在第二特征正上方或斜上方,或仅仅表示第一特征水平高度高于第二特征。第一特征在第二特征“之下”、“下方”和“下面”可以是第一特征在第二特征正下方或斜下方,或仅仅表示第一特征水平高度小于第二特征。
在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本发明的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不必针对相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任一个或多个实施例或示例中以合适的方式结合。此外,在不相互矛盾的情况下,本领域的技术人员可以将本说明书中描述的不同实施例或示例以及不同实施例或示例的特征进行结合和组合。
流程图中或在此以其他方式描述的任何过程或方法描述可以被理解为,表示包括一个或更多个用于实现特定逻辑功能或过程的步骤的可执行指令的代码的模块、片段或部分,并且本发明的优选实施方式的范围包括另外的实现,其中可以不按所示出或讨论的顺序,包括根据所涉及的功能按基本同时的方式或按相反的顺序,来执行功能,这应被本发明的实施例所属技术领域的技术人员所理解。
在流程图中表示或在此以其他方式描述的逻辑和/或步骤,例如,可以被认为是用于实现逻辑功能的可执行指令的定序列表,可以具体实现在任何计算机可读介质中,以供指令执行系统、装置或设备(如基于计算机的系统、包括处理器的系统或其他可以从指令执行系统、装置或设备取指令并执行指令的系统)使用,或结合这些指令执行系统、装置或设备而使用。就本说明书而言,“计算机可读介质”可以是任何可以包含、存储、通信、传播或传输程序以供指令执行系统、装置或设备或结合这些指令执行系统、装置或设备而使用的装置。计算机可读介质的更具体的示例(非穷尽性列表)包括以下:具有一个或多个布线的电连接部(电子装置),便携式计算机盘盒(磁装置),随机存取存储器(RAM),只读存储器(ROM),可擦除可编辑只读存储器(EPROM或闪速存储器),光纤装置,以及便携式光盘只读存储器(CDROM)。另外,计算机可读介质甚至可以是可在其上打印所述程序的纸或其他合适的介质,因为可以例如通过对纸或其他介质进行光学扫描,接着进行编辑、解译或必要时以其他合适方式进行处理来以电子方式获得所述程序,然后将其存储在计算机存储器中。
应当理解,本发明的各部分可以用硬件、软件、固件或它们的组合来实现。在上述实施方式中,多个步骤或方法可以用存储在存储器中且由合适的指令执行系统执行的软件或固件来实现。例如,如果用硬件来实现,和在另一实施方式中一样,可用本领域公知的下列技术中的任一项或他们的组合来实现:具有用于对数据信号实现逻辑功能的逻辑门电路的离散逻辑电路,具有合适的组合逻辑门电路的专用集成电路,可编程门阵列(PGA),现场可编程门阵列(FPGA)等。
本技术领域的普通技术人员可以理解实现上述实施例方法携带的全部或部分步骤是可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,该程序在执行时,包括方法实施例的步骤之一或其组合。
此外,在本发明各个实施例中的各功能单元可以集成在一个处理模块中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。所述集成的模块如果以软件功能模块的形式实现并作为独立的产品销售或使用时,也可以存储在一个计算机可读取存储介质中。
上述提到的存储介质可以是只读存储器,磁盘或光盘等。尽管上面已经示出和描述了本发明的实施例,可以理解的是,上述实施例是示例性的,不能理解为对本发明的限制,本领域的普通技术人员在本发明的范围内可以对上述实施例进行变化、修改、替换和变型。