CN110400315A - 一种缺陷检测方法、装置及*** - Google Patents

一种缺陷检测方法、装置及*** Download PDF

Info

Publication number
CN110400315A
CN110400315A CN201910711135.1A CN201910711135A CN110400315A CN 110400315 A CN110400315 A CN 110400315A CN 201910711135 A CN201910711135 A CN 201910711135A CN 110400315 A CN110400315 A CN 110400315A
Authority
CN
China
Prior art keywords
image
original image
camera
transformation
training
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN201910711135.1A
Other languages
English (en)
Other versions
CN110400315B (zh
Inventor
付兴银
李广
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beijing Megvii Technology Co Ltd
Beijing Maigewei Technology Co Ltd
Original Assignee
Beijing Maigewei Technology Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Beijing Maigewei Technology Co Ltd filed Critical Beijing Maigewei Technology Co Ltd
Priority to CN201910711135.1A priority Critical patent/CN110400315B/zh
Publication of CN110400315A publication Critical patent/CN110400315A/zh
Application granted granted Critical
Publication of CN110400315B publication Critical patent/CN110400315B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/21Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
    • G06F18/214Generating training patterns; Bootstrap methods, e.g. bagging or boosting
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/0002Inspection of images, e.g. flaw detection
    • G06T7/0004Industrial image inspection

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Artificial Intelligence (AREA)
  • General Engineering & Computer Science (AREA)
  • Evolutionary Computation (AREA)
  • Computing Systems (AREA)
  • Biomedical Technology (AREA)
  • General Health & Medical Sciences (AREA)
  • Computational Linguistics (AREA)
  • Biophysics (AREA)
  • Mathematical Physics (AREA)
  • Software Systems (AREA)
  • Molecular Biology (AREA)
  • Quality & Reliability (AREA)
  • Health & Medical Sciences (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Evolutionary Biology (AREA)
  • Image Analysis (AREA)

Abstract

本申请涉及缺陷检测技术领域,提供一种缺陷检测方法、装置及***。其中,缺陷检测方法包括:获取包含第一零件的第一原始图像;确定第一原始图像中与第一零件对应的第一前景区域;清除第一原始图像中第一背景区域内的图像信息,获得待检测图像;利用预训练的神经网络模型在待检测图像中检测第一零件表面存在的缺陷。上述方法由于清除了第一背景区域内的图像信息,因此第一背景区域的内容基本不会影响神经网络模型的检测过程,也基本不会出现在背景区域中误检出缺陷的情况,从而可以提高缺陷检测的精度,降低误检率。

Description

一种缺陷检测方法、装置及***
技术领域
本发明涉及缺陷检测技术领域,具体而言,涉及一种缺陷检测方法、装置及***。
背景技术
在工业领域,经常需要对零部件表面的缺陷进行检测。随着人工智能技术和计算机视觉技术的发展,工业缺陷的检测也越来越智能化。在目前提出的一些检测方案中,首先通过相机拍摄得到零件的图像,然后将图像输入至事先建立好的检测模型中,由模型输出检测结果。然而,由于零件的图像中通常并不只包含零件,还包含有背景,上述方案中的模型在进行检测时经常会将背景中的内容误检为缺陷,导致缺陷检测的精度下降。
发明内容
本申请实施例的目的在于提供一种缺陷检测方法、装置及***,以改善上述技术问题。
为实现上述目的,本申请提供如下技术方案:
第一方面,本申请实施例提供一种缺陷检测方法,包括:获取包含第一零件的第一原始图像;确定所述第一原始图像中与所述第一零件对应的第一前景区域;确定所述第一原始图像中与所述第一零件对应的第一前景区域,并清除所述第一原始图像中第一背景区域内的图像信息,获得待检测图像,其中,所述第一背景区域为所述第一原始图像中除所述第一前景区域以外的区域;利用预训练的神经网络模型在所述待检测图像中检测所述第一零件表面存在的缺陷。
上述方法对于获取到的第一原始图像并不直接进行检测,而是首先清除掉第一原始图像中第一背景区域内的图像信息,然后再利用神经网络模型在获得的待检测图像中进行零件表面的缺陷检测。由于第一背景区域内的图像信息已经被清除,因此第一背景区域的内容基本不会影响神经网络模型的检测过程,也基本不会出现在第一背景区域中误检出缺陷的情况,从而可以提高缺陷检测的精度,降低误检率。
此外,由于神经网络模型具有良好的学习和泛化能力,因此利用预训练的神经网络模型进行缺陷检测,也有利于提高缺陷检测的精度。
在第一方面的一种实现方式中,所述清除所述第一原始图像中第一背景区域内的图像信息,包括:将所述第一原始图像中第一背景区域内的部分置为单一颜色。
缺陷既然能够在图像中被检测出来,缺陷位置的零件表面必然和周围的零件表面存在颜色差异,在将第一原始图像中第一背景区域内的部分置为单一颜色后,第一背景区域内所有的像素的颜色都是相同的,不存在差异,因此在检测时基本不会出现在第一背景区域中误检出缺陷的情况。
在第一方面的一种实现方式中,所述单一颜色与所述第一零件的颜色的相似程度小于预设阈值。
在将第一原始图像中第一背景区域内的部分置为单一颜色时,可以尽量选择与第一零件的颜色差异比较大的颜色,避免在待检测图像中因难以区别第一零件与背景而影响检测效果。
在第一方面的一种实现方式中,所述确定所述第一原始图像中与所述第一零件对应的第一前景区域,包括:确定相机在采集所述第一原始图像时的位姿与所述第一零件的三维模型的位姿之间的第一变换,其中,所述第一零件的三维模型具有预设的位姿;利用所述第一变换将所述第一零件的三维模型投影到所述第一原始图像中,并将投影形成的区域确定为所述第一前景区域,或者,利用所述第一变换对所述第一零件的三维模型进行投影,形成第一掩膜图像,并将所述第一原始图像与所述第一掩膜图像相与后未被所述第一掩膜图像所掩盖的区域确定为所述第一前景区域。
第一零件的三维模型可以预先构建好,例如,可以通过绘图软件进行绘制获得,或者,通过对第一零件的同型号零件进行三维重建获得。采用三维模型投影的方式确定第一前景区域比较精确,从而有利于在第一原始图像中区分第一前景区域和第一背景区域,进而提高检测精度。
在第一方面的一种实现方式中,所述确定相机在采集所述第一原始图像时的位姿与所述第一零件的三维模型的位姿之间的第一变换,包括:获取所述相机在采集所述第一原始图像时采集的所述第一原始图像中的场景的深度数据;在所述深度数据对应的点云与所述第一零件的三维模型对应的点云之间进行点云配准,确定两个点云之间的所述第一变换。
在第一方面的一种实现方式中,所述确定相机在采集所述第一原始图像时的位姿与所述第一零件的三维模型的位姿之间的第一变换,包括:获取所述相机在进行标定时的位姿与所述第一零件的三维模型的位姿之间的第二变换;获取所述相机在采集所述第一原始图像时的位姿与所述相机在进行标定时的位姿之间的第三变换;将所述第三变换与所述第二变换的乘积确定为所述第一变换。
要对第一零件的三维模型进行投影,需要获得相机在采集第一原始图像时的位姿与第一零件的三维模型的位姿之间的第一变换,上面提供了两种获得第一变换的实现方式。
第一种实现方式是:用相机采集深度数据,并利用深度数据对应的点云和三维模型对应的点云做点云配准,第一种实现方式需要相机具有采集深度数据的功能,例如,可以采用RGB-D相机。
第二种实现方式是:在开始检测第一零件时,先对相机的位姿与三维模型的位姿进行标定,即获得标定时两个位姿之间的第二变换。而相机在采集第一原始图像时的位姿与相机在进行标定时的位姿之间的第三变换在一些情况下可以获得:例如,相机按照预设的方式平移和/或旋转,直至达到某个预设好的位姿时采集第一原始图像,由于相机的平移和/或旋转行为是预设的,所以第三变换可以得到;又例如,相机设置在机器人的机械臂的末端,机械臂进行平移和/或旋转所导致的位姿变换可以由机器人记录,所以第三变换可以得到。在获得了第三变换和第二变换后,可以将第三变换和第二变换相乘获得第一变换(这里的相乘是指变换对应的矩阵相乘)。采用第二种实现方式计算第一变换具有较高的效率。
若检测第一零件时需要在多个不同的位置以及不同的角度进行多次拍摄,则可以针对每次拍摄都采用上述第一种实现方式计算第一变换,也可以只针对第一次拍摄(即标定)采用上述第一种实现方式计算第一变换,针对之后的每次拍摄都采用上述第二种实现方式计算第一变换。
在第一方面的一种实现方式中,所述利用预训练的神经网络模型在所述待检测图像中检测所述第一零件表面存在的缺陷,包括:利用预训练的神经网络模型在所述待检测图像中检测所述第一零件表面是否存在缺陷,或者,检测所述第一零件表面缺陷所在的位置。
在一些应用中,只需要检测出第一零件表面是否存在缺陷,即输出“是”和“否”两种结果之一即可;在另一些应用中,则要输出零件表面缺陷所在的位置,例如在待检测图像中输出一个或多个包括缺陷的矩形框。
在第一方面的一种实现方式中,所述获取包含第一零件的第一原始图像,包括:获取相机在多个预设的位置以及多个预设的角度下对所述第一零件进行拍摄得到的第一原始图像。
为全面地检测第一零件表面的缺陷,首先需要全面地采集第一零件的表面的图像,从而可以利用相机在多个预设的位置处进行拍摄,而在每个预设的位置处相机又可以按照多个预设的角度进行拍摄。其中,相机可以是一个,依次移动至各个预设的位置,并依次转动至各个预设的角度进行拍摄;相机也可以是多个,比如在每个预设的位置处设置一个相机,并控制每个相机依次转动至各个预设的角度进行拍摄,或者,在每个预设的位置处都设置多个相机,每个相机朝向一个预设的角度进行拍摄。
在第一方面的一种实现方式中,所述获取相机在多个预设的位置以及多个预设的角度下对所述第一零件进行拍摄得到的第一原始图像,包括:控制末端设置有相机的机械臂依次移动至多个预设的位置、并在每个位置处依次转动至多个预设的角度对所述第一零件进行拍摄,获取拍摄得到的第一原始图像。
机械臂可以在一定范围内自由平移和/或旋转,因此可以比较精确地控制相机完成拍摄,同时,由于机械臂经常用于工业生产,属于工厂中比较容易获得的设备,因此采用机械臂控制相机移动的方案实施难度低。
在第一方面的一种实现方式中,在所述获取包含零件的原始图像之前,所述方法还包括:获取包含第二零件的第二原始图像;确定所述第二原始图像中与所述第二零件对应的第二前景区域;清除所述第二原始图像中第二背景区域内的图像信息,获得训练图像,其中,所述第二背景区域为所述第二原始图像中除所述第二前景区域以外的区域,所述训练图像用于训练所述神经网络模型。
在第一方面的一种实现方式中,所述清除所述第二原始图像中第二背景区域内的图像信息,包括:将所述第二原始图像中第二背景区域内的部分置为单一颜色。
在第一方面的一种实现方式中,所述确定所述第二原始图像中与所述第二零件对应的第二前景区域,包括:确定相机在采集所述第二原始图像时的位姿与所述第二零件的三维模型的位姿之间的第四变换,其中,所述第二零件的三维模型具有预设的位姿;利用所述第四变换将所述第二零件的三维模型投影到所述第二原始图像中,并将投影形成的区域确定为所述第二前景区域,或者,利用所述第四变换对所述第二零件的三维模型进行投影,形成第二掩膜图像,并将所述第二原始图像与所述第二掩膜图像相与后未被所述第二掩膜图像所掩盖的区域确定为所述第二前景区域。
以上三种实现方式是用于训练神经网络的训练集的采集过程,该过程和检测零件缺陷的步骤比较类似,不再重复阐述。
在第一方面的一种实现方式中,在所述获得训练图像之后,所述方法还包括:利用所述训练图像以及对所述训练图像进行标注后获得的标注信息训练所述神经网络模型,或者,向服务器发送所述训练图像,以使所述服务器能够利用所述训练图像以及对所述训练图像进行标注后获得的标注信息训练所述神经网络模型。
神经网络模型的训练可以和零件表面缺陷的检测在同一设备上执行,例如,位于检测现场的计算机。但由于训练过程消耗计算资源巨大,因此也可以将训练图像发送至服务器,在服务器上进行训练,训练好神经网络模型后,再将模型部署到检测现场的计算机上,用于实际的检测。
第二方面,本申请实施例提供一种缺陷检测装置,包括:第一图像获取模块,用于获取包含第一零件的第一原始图像;第一前景确定模块,用于确定所述第一原始图像中与所述第一零件对应的第一前景区域;第一背景清除模块,用于确定所述第一原始图像中与所述第一零件对应的第一前景区域,并清除所述第一原始图像中第一背景区域内的图像信息,获得待检测图像,其中,所述第一背景区域为所述第一原始图像中除所述第一前景区域以外的区域;检测模块,用于利用预训练的神经网络模型在所述待检测图像中检测所述第一零件表面存在的缺陷。
第三方面,本申请实施例提供一种缺陷检测***,包括:机器人,所述机器人的机械臂末端设置有相机;控制设备,用于向所述机器人发送控制指令,控制所述相机采集包含第一零件的第一原始图像,以及,用于确定所述第一原始图像中与所述第一零件对应的第一前景区域,清除所述第一原始图像中第一背景区域内的图像信息,获得待检测图像,并利用预训练的神经网络模型在所述待检测图像中检测所述第一零件表面存在的缺陷,其中,所述第一背景区域为所述第一原始图像中除所述第一前景区域以外的区域。
在第三方面的一种实现方式中,所述相机包括RGB-D相机。
第四方面,本申请实施例提供一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序指令,所述计算机程序指令被处理器读取并运行时,执行第一方面或第一方面的任意一种可能的实现方式提供的方法的步骤。
第五方面,本申请实施例提供一种电子设备,包括:存储器以及处理器,所述存储器中存储有计算机程序指令,所述计算机程序指令被所述处理器读取并运行时,执行第一方面或第一方面的任意一种可能的实现方式提供的方法的步骤。
附图说明
为了更清楚地说明本申请实施例的技术方案,下面将对本申请实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本申请的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
图1示出了本申请实施例提供的一种缺陷检测***的示意图;
图2示出了本申请实施例提供的一种缺陷检测方法的流程图;
图3(A)至图3(C)示出了本申请实施例提供的缺陷检测方法的检测检测效果的示意图;
图4示出了本申请实施例提供的一种缺陷检测装置的功能模块图;
图5示出了本申请实施例提供的一种电子设备的示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行描述。应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
图1示出了本申请实施例提供的缺陷检测***100的示意图。参照图1,缺陷检测***包括机器人110和控制设备120,机器人110和控制设备120之间可以通过有线或无线的方式进行数据交互。机器人110可以进一步包括机器人本体116、与机器人本体116连接的机械臂114以及设置在机械臂114末端的相机112。控制设备120上实现了本申请实施例提供的缺陷检测方法(方法步骤在图2中阐述)。简单来说,在需要检测零件表面的缺陷时,先放置好零件,然后控制设备120向机器人本体116发送控制指令,机器人本体116根据接收到的控制指令对机械臂114进行控制,例如,控制机械臂114进行平移和/或旋转,从而带动相机112进行平移和/或旋转,直至相机112到达合适的位置和/或转动至合适的角度,并对零件进行拍摄。相机112拍摄到的图像经机器人本体116传回控制设备120,在控制设备120上进行缺陷检测并输出检测结果。
其中,控制设备120可以是,但不限于专用设备、台式机、笔记本电脑、平板电脑、智能手机等实体设备,或者虚拟机等虚拟设备。控制设备120可以是一台设备,也可以是多台设备的组合。控制设备120可以设置在检测现场,实时进行缺陷检测,并输出检测结果给现场的工作人员查看。当然控制设备120也可以设置在远程,或者,控制设备120还可以和机器人110集成在一起。
在不同的实现方式中,相机112可以是普通相机,也可以是RGB-D相机,若相机112是RGB-D相机,在拍摄零件的图像时还可以采集图像中的场景的深度数据(深度数据的用途在后文介绍)。可选的,也可以将一个普通相机和一个深度相机设置在一起,实现类似RGB-D相机的功能。
图2示出了本申请实施例提供的一种缺陷检测方法的流程图。该方法并不直接检测包含零件的原始图像,而是设法先清除原始图像中背景区域内的图像信息,然后再将获得的图像用于缺陷检测,由于背景区域中的内容不会再对检测过程产生干扰,所以该方法可以提高缺陷检测的精度。需要指出,图2中的方法可以应用于缺陷检测***中,但也可以应用于其他***或设备中。参照图2,该方法包括:
步骤S200:获取第一原始图像。
第一原始图像是指包含待检测的零件的图像,后文中为了区分缺陷检测阶段使用的零件和模型训练阶段使用的零件,将待检测的零件称为第一零件。例如,参考图3(A),***的矩形框表示第一原始图像,中间的圆柱体表示第一零件,第一零件表面A、B位置处存在缺陷(后文简称缺陷A和缺陷B),缺陷A和缺陷B也是缺陷检测的目标,另外,在放置第一零件的桌面表面C位置处也存在处缺陷(后文简称缺陷C),缺陷C不是第一零件表面的缺陷,不是缺陷检测的目标。
第一原始图像可以通过相机对第一零件的表面进行拍摄而获得。在一些实现方式中,为全面地检测第一零件表面的缺陷,需要全面地采集第一零件的表面的图像,从而可以利用相机在多个预设的位置处进行拍摄,而在每个预设的位置处相机又可以按照多个预设的角度进行拍摄。例如,对于圆柱形的第一零件,可以沿其周向确定10个拍摄位置,每个拍摄位置处又确定10个拍摄角度,以便拍摄的图像能够尽可能覆盖第一零件的表面。
进一步的,拍摄用的相机可以是一个,相机依次移动至各个预设的位置,并依次转动至各个预设的角度进行拍摄。例如,在缺陷检测***中,机械臂可以在控制设备的控制下进行移动,从而将设置在机械臂末端的相输送至预设的位置,并转动至预设的角度,以完成第一原始图像的采集任务。当然,拍摄用的相机也可以是多个,例如,在每个预设的位置处设置一个相机,并控制每个相机依次转动至各个预设的角度进行拍摄,或者,在每个预设的位置处都设置多个相机,每个相机固定朝向一个预设的角度进行拍摄。在后文中,为简单起见,主要以相机是一个的情况为例进行阐述,但这不应当视为对本申请保护范围的限制。
对于采集到的每幅第一原始图像,处理的方式是类似的,因此后续步骤主要针对其中一幅第一原始图像的情况作阐述。
步骤S201:确定第一原始图像中的第一前景区域。
第一前景区域是指第一原始图像中与第一零件对应的区域,例如在图3(A)中,圆柱体占据的区域就是第一前景区域。
确定第一前景区域有多种方式,在一些实现方式中,可以采用某些图像处理的方法,例如对第一原始图像进行图像分割,将前景物体和背景分割开来。
在另一些实现方式中,若能够事先获得第一零件的三维模型,还可以首先确定相机在采集第一原始图像时的位姿与第一零件的三维模型的位姿之间的第一变换。然后,通过对第一零件的三维模型进行投影的方式确定第一前景区域,具体至少包括以下两种方式:
其一,利用第一变换将第一零件的三维模型投影到第一原始图像中,投影形成的区域即为第一前景区域。
其二,先利用第一变换对第一零件的三维模型进行投影以形成第一掩膜图像,再将第一原始图像与第一掩膜图像相与后未被第一掩膜图像所掩盖的区域确定为第一前景区域。例如,第一掩膜图像可以和第一原始图像具有相同的尺寸,图像的像素值可以取0或1两种值,第一掩膜图像中位于三维模型投影形成的区域内的像素值为1,位于该区域外的像素值为0,第一原始图像与第一掩膜图像对应位置的像素进行“与”操作后,第一原始图像中的部分像素的像素值将被置零(被掩盖),其值未被置零的像素形成的区域即为第一前景区域(未被掩盖)。
第一零件的三维模型可以通过不同的方式获取:例如,可以通过绘图软件(如采用CAD等)按照第一零件的设计标准进行绘制得到,并且,由于工厂在制造第一零件时很可能已经绘制好了它的三维模型,因此可以直接在本申请的方案中使用;又例如,可以通过扫描的方式(如采用深度相机、三维扫描仪等)实现第一零件的三维重建,等等。采用三维模型投影的方式确定第一前景区域,不必对第一原始图像本身进行复杂的处理,因此该方式简单快捷,精确度也比较高,进而有利于提高后续的检测精度。
需要指出,上面所谓第一零件的三维模型,是指和当前正在检测的这个零件所有同型号的零件共用的模型,并不仅仅针对当前正在检测的这个零件。并且,该三维模型本身可以是不存在缺陷的:对于采用绘制的方式,三维模型本来就没有缺陷;对于采用三维重建的方式,只要基于一个没有缺陷的零件进行重建就可以了。
对于第一零件的三维模型可以为其预设一个位姿,以便进行第一变换的计算,由于三维模型只是一个虚拟的零件,所以这个位姿可以任意设定。第一变换的计算至少包括如下两种方式:
第一种方式
首先获取相机在采集第一原始图像时采集的第一原始图像中的场景的深度数据,然后在深度数据对应的点云与第一零件的三维模型对应的点云之间进行点云配准,确定两个点云之间的第一变换。
在介绍图1时已经提到,可以利用RGB-D相机进行深度数据的采集,在RGB-D相机中,采集第一原始图像的普通摄像头和采集深度数据的深度测量模块距离很近,因此可以认为针对的是同一场景。基于深度数据可以获得一片点云,由于相机在不同位置以及不同角度拍摄第一零件时,产生的深度数据是不同的,所以相机在采集第一原始图像时获得的点云实际上也包含了相机在采集第一原始图像时的位姿信息。而根据第一零件的三维模型可以获得另一片点云,该点云表征的是第一零件的三维模型的位姿信息(即上文提到的给三维模型预设的一个位姿),从而,在这两片点云之间做点云配准,就可以获得相机采集第一原始图像时的位姿与第一零件的三维模型的位姿之间的第一变换。
点云配准的一种方式是分为粗配准和精配准两个阶段进行。粗配准就是在完全不清楚两片点云的相对位置关系的情况下,找到这两片点云近似的旋转矩阵以及平移矩阵,例如,可以基于PPF(Point Pair Feature)做粗配准。精配准就是在已知旋转平移的初值的情况下(由粗配准获得),进一步计算得到更加精确的旋转矩阵以及平移矩阵,例如,可以采用ICP(Iterative Closest Point)算法做精配准。
关于点云的配准,可以根据零件的形态特征选择合适的点云特征以及配准算法。另外,对于从深度数据获得的点云,由于深度数据针对的是整个场景,并非仅仅针对第一零件,因此还可以在进行配准前将属于背景的点云数据过滤掉,以改善配准效果。
第二种方式
在开始检测第一零件时,先对相机的初始位姿与第一零件的三维模型的位姿进行标定,即获得此时两个位姿之间的第二变换。例如,相机要在10个预设的位置拍摄第一零件,每个位置处又要分10个预设的角度进行拍摄,则相机的初始位姿可以是对第一零件进行首次拍摄(相机位于第一个预设的位置,且转动至第一个预设的角度)时的位姿。第二变换的计算可以采用点云配准的方式,在上面介绍获取第一变换的第一种方式时已经介绍过该方法,此处不再重复阐述。
获得第二变换后,还需要获得相机在采集第一原始图像时的位姿与相机在进行标定时的位姿之间的第三变换。由于相机的拍摄一般是受控行为,因此第三变换是可以获得的:例如,相机按照预设的方式平移和/或旋转,直至达到某个预设好的位姿时采集第一原始图像,由于相机的平移和/或旋转行为是预设的,所以第三变换可以得到;又例如,即使相机不是按照预定的方式移动,但由于相机设置在机器人的机械臂的末端,机械臂进行平移和/或旋转所导致的位姿变换可以由机器人记录,所以第三变换也是可以得到的。
在获得了第三变换和第二变换后,可以将第三变换和第二变换相乘获得第一变换。在数学上,位姿变换可以用变换矩阵的形式表示,因此第三变换和第二变换相乘可以是指位姿变换对应的变换矩阵相乘。
以上两种获取第一变换的方式,第一种方式计算精确性高,不过点云配准计算量较大,第二种方式由于可以在标定获得第二变换后,直接通过数学计算的方式得到第一变换,因此具有较高的效率。
还是举之前提到的例子,相机要在10个预设的位置拍摄第一零件,每个位置处又要分10个预设的角度进行拍摄。则可以只针对首次拍摄(标定时)采用上述第一种方式计算第一变换,针对之后的99次拍摄都采用上述第二种方式计算第一变换(此时第二种方式中用到的第二变换就是标定时获得的第一变换)。当然,针对100次拍摄全都采用第一种方式计算第一变换也是可以的,只是计算量相对较大而已。
此外,需要注意,若通过第二种方式计算第一变换,则必须先进行标定,这种标定过程对于每个要检测的零件都要重新进行一次。
在获得了第一变换后,利用第一变换就可以对第一零件的三维模型进行投影,例如,在OpenGL中,可以根据三维模型(采用网格mesh结构)、第一变换以及相机的内参完成第一零件的三维模型到第一原始图像投影。仍然参考图3(A),若投影结果是理想的,则中间的圆柱体所在的区域为第一前景区域。
步骤S202:清除第一原始图像中第一背景区域内的图像信息,获得待检测图像。
第一背景区域为第一原始图像中除第一前景区域以外的区域,在步骤S201中确定第一前景区域后,第一原始图像中的背景区域也就确定了。仍然参考图3(A),第一原始图像中除圆柱体以外的区域就是第一背景区域,理想情况下,第一背景区域中不包含第一零件。
第一原始图像中第一背景区域内的图像信息表征第一背景区域内存在的物体,这些物体可能对缺陷检测过程造成干扰,因此,可以于步骤S202中将这些图像信息清除掉,避免影响缺陷检测。例如,在图3(A)中,第一背景区域中存在放置第一零件的桌面,桌面上的缺陷C有可能被误检为第一零件表面存在的缺陷,但如果清除了第一背景区域中表征桌面的图像信息,则误检可以被避免。需要指出,第一背景区域中的反光、纹理、物体等都有可能引起误检,并不是说只有第一背景区域中的缺陷才会引起误检,在图3(A)中只是以缺陷C为例而已。将第一原始图像中第一背景区域内的图像信息清除后,获得的图像称为待检测图像。
进一步的,缺陷既然能够在图像中被检测出来,缺陷位置的零件表面必然和周围的零件表面存在颜色差异,因此在一些实现方式中,可以通过将第一原始图像中第一背景区域内的部分置为单一颜色的方式来清除图像信息,这样处理后,由于第一背景区域内所有的像素的颜色都是相同的,不存在差异,因此可以改善在第一背景区域中误检出缺陷的问题。参照图3(B),第一背景区域用阴影示出,表示已经被置为单一颜色,此时第一原始图像在第一背景区域内的桌面以及桌面上的缺陷C均已经不复存在,图3(B)中获得的即为待检测图像。
在将第一原始图像中第一背景区域内的部分置为单一颜色时,选择的单一颜色与第一零件的颜色的相似程度可以小于预设阈值。这种可选方案的目的在于尽量选择与第一零件的颜色差异比较大的颜色作为上述单一颜色,避免在待检测图像中因难以区别第一零件与背景而影响检测效果。例如,如果事先知道第一零件是浅色,上述单一颜色可以选择黑色;又例如,如果事先知道第一零件是深色,上述单一颜色可以选择白色;又例如,如果事先不知道第一零件是什么颜色,可以根据第一原始图像中第一前景区域内的像素估算第一零件的颜色,然后再自动选择与其相似程度小于预设阈值的颜色作为上述单一颜色。
清除第一原始图像中第一背景区域内的图像信息不限于上述重新着色的方式,例如,在一些实现方式中,也可以将第一原始图像中第一背景区域内的部分置为透明的。
另外,还需要指出,步骤S202和步骤S201可以先后执行,也可以同时执行,例如,若第一前景区域是通过第一原始图像与第一掩膜图像相与的方式确定的,在执行与操作确定出第一前景区域的同时,第一背景区域中的像素可能被置零(相当于置为黑色),即同时也完成了步骤S202的内容。
步骤S203:利用预训练的神经网络模型在待检测图像中检测第一零件表面存在的缺陷。
将待检测图像输入至训练好的神经网络模型中,模型会输出检测结果。根据检测需求的不同,可以训练不同类型的模型,从而输出不同的检测结果。例如,在一些应用中,只需要检测出第一零件表面是否存在缺陷即可,此时神经网络模型只需要输出“是”和“否”两种结果之一,此时的神经网络模型可以是一个二分类模型,选择VGG、ResNet、GoogleNet等模型架构进行训练即可。在另一些应用中,则需要检测出缺陷在第一零件表面的位置(当然如果能够检测出缺陷位置必然是存在缺陷的),此时神经网络模型需要输出一个或多个包括缺陷的矩形框,这些矩形框的顶点坐标和涵盖范围表征了缺陷所在的位置。例如,参照图3(C),模型在待检测图像中输出了包含缺陷A和缺陷B的两个矩形框(虚线示出)。这些应用中的神经网络模型可以采用YOLO、Faster-RCNN、SSD、RetinaNet等模型架构。
若要检测多种零件表面的缺陷,可以针对每种零件训练一个神经网络模型。例如,要检测汽车轮毂和汽车车门两种零件,可以训练两个神经网络模型。当然,也不排除,对于一些结构比较相似的零件,可以共用一个神经网络模型的情况,例如,要检测汽车轮毂X和汽车轮毂Y两种零件,X和Y的区别仅在于轮毂的细部花纹略有区别,也可以只训练一个神经网络模型,以节省时间和计算资源。
上述缺陷检测方法对于获取到的第一原始图像并不直接进行检测,而是首先清除掉第一原始图像中第一背景区域内的图像信息,然后再利用神经网络模型在获得的待检测图像中进行零件表面的缺陷检测。由于第一背景区域内的图像信息已经被清除,因此第一背景区域的内容基本不会影响神经网络模型的检测过程,也基本不会出现在第一背景区域中误检出缺陷的情况,从而可以提高缺陷检测的精度,降低误检率。此外,由于神经网络模型具有良好的学习和泛化能力,因此利用预训练的神经网络模型进行缺陷检测,也有利于提高缺陷检测的精度。
并且,由于该方法可以有效屏蔽背景对检测结果的影响,使得在进行缺陷检测对检测环境的要求降低了(例如,不一定非要选择简单背景的环境进行检测),从而该方法适用范围较广,实用性较高。
下面简单介绍缺陷检测方法中使用的神经网络模型的训练过程,训练过程可以发生在步骤S200之前。其步骤如下:
(a)获取包含第二零件的第二原始图像。
第二原始图像是指包含训练用的零件的图像,后文中将训练用的零件称为第二零件。为保证模型的检测效果,第二零件与第一零件可以是同一型号的零件,或者,和第一零件结构近似的零件。第二零件可以选择没有缺陷的零件,以及,包含各种类型的缺陷的零件,以便增强训练获得的模型的鲁棒性。
另外,在相机对第二原始图像进行采集时,可以尽量仿照实际检测时的场景,这样训练获得的模型检测效果较好。例如,检测时零件放在桌子上进行图像采集,则训练时零件也放在桌子上进行图像采集;检测时零件正面朝上进行图像采集,则训练时零件也正面朝上进行图像采集;检测时要在10个预设的位置对零件进行拍摄,则训练时也可以在10个预设的位置对零件进行拍摄,等等。
步骤(a)的其余内容可以参考步骤S200,不再重复阐述。
(b)确定第二原始图像中与第二零件对应的第二前景区域。
确定第二前景区域和确定第一前景区域可以采用类似的方式。对于其中利用第二零件的三维模型确定第二前景区域的方式,可以这样实现:首先确定相机在采集第二原始图像时的位姿与第二零件的三维模型的位姿之间的第四变换,其中,第二零件的三维模型具有预设的位姿;然后利用第四变换将第二零件的三维模型投影到第二原始图像中,并将投影形成的区域确定为第二前景区域,或者,利用第四变换对第二零件的三维模型进行投影,形成第二掩膜图像,并将第二原始图像与第二掩膜图像相与后未被第二掩膜图像所掩盖的区域确定为第二前景区域。
而确定第四变换,至少包括以下两种方式:
第一种方式,首先获取相机在采集第二原始图像时采集的第二原始图像中的场景的深度数据;然后在深度数据对应的点云与第二零件的三维模型对应的点云之间进行点云配准,确定两个点云之间的第四变换。
第二种方式,首先获取相机在进行标定时的位姿与第二零件的三维模型的位姿之间的第五变换;然后获取相机在采集第二原始图像时的位姿与相机在进行标定时的位姿之间的第六变换;最后将第六变换确定为第三变换与第二变换的乘积。这里的标定可以在相机对第二零件进行首次拍摄时进行,标定的方式可以采用点云配准的方式。
步骤(b)的其余内容可以参考步骤S201,不再重复阐述。
(c)清除第二原始图像中第二背景区域内的图像信息,获得训练图像。
第二背景区域是指第二原始图像中除第二前景区域以外的区域,训练图像为用于训练神经网络模型的图像,大量的训练图像可以构成训练集。清除第二原始图像中第二背景区域内的图像信息的方式可以采用,但不限于将第二原始图像中第二背景区域内的部分置为单一颜色。进一步的,该单一颜色在选取时可以选择与第二零件的颜色的相似程度小于预设阈值的颜色。
步骤(c)的其余内容可以参考步骤S202,不再重复阐述。
(d)对训练图像进行标注。
在有监督的学习中,需要对训练样本进行标注,并将标注信息作为样本的标签保存下来。根据需求的不同,标注信息的内容是不同的:例如,可以标注训练图像中的第二零件表面是否包含缺陷,标注信息中包含有“是”和“否”两种标签;又例如,可以标注训练图像中的第二零件表面缺陷所在的位置,标注信息中包含有缺陷所在的矩形框。标注可以采用,但不限于人工标注的方式。
(e)利用训练图像以及标注信息训练神经网络模型。
神经网络模型可能的训练过程是:在一轮训练中,将一个或多个训练图像输入至模型中获得模型输出的检测结果,利用检测结果和标注信息计算模型的预测损失,根据预测损失调整模型的参数,进行多轮训练直至满足训练结束条件。
若标注信息中包含有“是”和“否”两种标签,则训练好的神经网络模型在用于检测时,可以输出第一零件的表面是否存在缺陷;若标注信息中包含有缺陷所在的矩形框,则训练好的神经网络模型在用于检测时,可以输出第一零件的表面缺陷所在的位置。
上述步骤(a)、(b)、(c)和步骤(d)、(e)可能在同一设备上执行,也可能不在同一设备上执行。例如,步骤(a)、(b)、(c)可以在缺陷标注***中的控制设备上执行,而步骤(d)、(e)可以在服务器上执行。因为控制设备可能是位于检测现场的计算机,但由于训练过程消耗计算资源巨大,控制设备可能难以承担,所以在步骤(c)执行完后,可以将训练图像发送到服务器(或者,也可以拷贝后上传到服务器),在服务器上进行标注和训练,训练好神经网络模型后,再将模型部署到控制设备上,用于实际的检测。其中,在服务器上进行标注,是指标注员利用终端设备访问服务器进行标注。上面所称的服务器,可以是普通的服务器,也可以是云服务器。
图4示出了本申请实施例提供的缺陷检测装置300的功能模块图。参照图4,缺陷检测装置300包括:第一图像获取模块310,用于获取包含第一零件的第一原始图像;第一前景确定模块320,用于确定所述第一原始图像中与所述第一零件对应的第一前景区域;第一背景清除模块330,用于清除所述第一原始图像中第一背景区域内的图像信息,获得待检测图像,其中,所述第一背景区域为所述第一原始图像中除所述第一前景区域以外的区域;检测模块340,用于利用预训练的神经网络模型在所述待检测图像中检测所述第一零件表面存在的缺陷。
在一些实现方式中,第一背景清除模块330清除所述第一原始图像中第一背景区域内的图像信息,包括:将所述第一原始图像中第一背景区域内的部分置为单一颜色。
在一些实现方式中,所述单一颜色与所述第一零件的颜色的相似程度小于预设阈值。
在一些实现方式中,第一前景确定模块320确定所述第一原始图像中与所述第一零件对应的第一前景区域,包括:确定相机在采集所述第一原始图像时的位姿与所述第一零件的三维模型的位姿之间的第一变换,其中,所述第一零件的三维模型具有预设的位姿;利用所述第一变换将所述第一零件的三维模型投影到所述第一原始图像中,并将投影形成的区域确定为所述第一前景区域,或者,利用所述第一变换对所述第一零件的三维模型进行投影,形成第一掩膜图像,并将所述第一原始图像与所述第一掩膜图像相与后未被所述第一掩膜图像所掩盖的区域确定为所述第一前景区域。
在一些实现方式中,第一前景确定模块320确定相机在采集所述第一原始图像时的位姿与所述第一零件的三维模型的位姿之间的第一变换,包括:获取所述相机在采集所述第一原始图像时采集的所述第一原始图像中的场景的深度数据;在所述深度数据对应的点云与所述第一零件的三维模型对应的点云之间进行点云配准,确定两个点云之间的所述第一变换。
在一些实现方式中,第一前景确定模块320确定相机在采集所述第一原始图像时的位姿与所述第一零件的三维模型的位姿之间的第一变换,包括:获取所述相机在进行标定时的位姿与所述第一零件的三维模型的位姿之间的第二变换;获取所述相机在采集所述第一原始图像时的位姿与所述相机在进行标定时的位姿之间的第三变换;将所述第三变换与所述第二变换的乘积确定为所述第一变换。
在一些实现方式中,检测模块340利用预训练的神经网络模型在所述待检测图像中检测所述第一零件表面存在的缺陷,包括:利用预训练的神经网络模型在所述待检测图像中检测所述第一零件表面是否存在缺陷,或者,检测所述第一零件表面缺陷所在的位置。
在一些实现方式中,第一图像获取模块310获取包含第一零件的第一原始图像,包括:获取相机在多个预设的位置以及多个预设的角度下对所述第一零件进行拍摄得到的第一原始图像。
在一些实现方式中,第一图像获取模块310获取相机在多个预设的位置以及多个预设的角度下对所述第一零件进行拍摄得到的第一原始图像,包括:控制末端设置有相机的机械臂依次移动至多个预设的位置、并在每个位置处依次转动至多个预设的角度对所述第一零件进行拍摄,获取拍摄得到的第一原始图像。
在一些实现方式中,缺陷检测装置300还包括:第二图像获取模块,用于在第一图像获取模块310获取包含零件的原始图像之前,获取包含第二零件的第二原始图像;第二前景确定模块,用于确定所述第二原始图像中与所述第二零件对应的第二前景区域;第二背景清除模块,用于清除所述第二原始图像中第二背景区域内的图像信息,获得训练图像,其中,所述第二背景区域为所述第二原始图像中除所述第二前景区域以外的区域,所述训练图像用于训练所述神经网络模型。
在一些实现方式中,第二背景清除模块清除所述第二原始图像中第二背景区域内的图像信息,包括:将所述第二原始图像中第二背景区域内的部分置为单一颜色。
在一些实现方式中,第二前景确定模块确定所述第二原始图像中与所述第二零件对应的第二前景区域,包括:确定相机在采集所述第二原始图像时的位姿与所述第二零件的三维模型的位姿之间的第四变换,其中,所述第二零件的三维模型具有预设的位姿;利用所述第四变换将所述第二零件的三维模型投影到所述第二原始图像中,并将投影形成的区域确定为所述第二前景区域,或者,利用所述第四变换对所述第二零件的三维模型进行投影,形成第二掩膜图像,并将所述第二原始图像与所述第二掩膜图像相与后未被所述第二掩膜图像所掩盖的区域确定为所述第二前景区域。
在一些实现方式中,缺陷检测装置300还包括:训练模块,用于在第二背景清除模块获得训练图像之后,利用所述训练图像以及对所述训练图像进行标注后获得的标注信息训练所述神经网络模型,或者,向服务器发送所述训练图像,以使所述服务器能够利用所述训练图像以及对所述训练图像进行标注后获得的标注信息训练所述神经网络模型。
本申请实施例提供的缺陷检测装置300,其实现原理及产生的技术效果在前述方法实施例中已经介绍,为简要描述,装置实施例部分未提及之处,可参考方法施例中相应内容。
图5示出了本申请实施例提供的电子设备400的一种可能的结构。参照图5,电子设备400包括:处理器410、存储器420以及通信接口430,这些组件通过通信总线440和/或其他形式的连接机构(未示出)互连并相互通讯。
其中,存储器420包括一个或多个(图中仅示出一个),其可以是,但不限于,随机存取存储器(Random Access Memory,简称RAM),只读存储器(Read Only Memory,简称ROM),可编程只读存储器(Programmable Read-Only Memory,简称PROM),可擦除只读存储器(Erasable Programmable Read-Only Memory,简称EPROM),电可擦除只读存储器(Electric Erasable Programmable Read-Only Memory,简称EEPROM)等。处理器410以及其他可能的组件可对存储器420进行访问,读和/或写其中的数据。
处理器410包括一个或多个(图中仅示出一个),其可以是一种集成电路芯片,具有信号的处理能力。上述的处理器410可以是通用处理器,包括中央处理器(CentralProcessing Unit,简称CPU)、微控制单元(Micro Controller Unit,简称MCU)、网络处理器(Network Processor,简称NP)或者其他常规处理器;还可以是专用处理器,包括数字信号处理器(Digital Signal Processor,简称DSP)、专用集成电路(Application SpecificIntegrated Circuits,简称ASIC)、现场可编程门阵列(Field Programmable Gate Array,简称FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。
通信接口430包括一个或多个(图中仅示出一个),可以用于和其他设备进行直接或间接地通信,以便进行数据的交互。通信接口430可以是以太网接口;可以是移动通信网络接口,例如3G、4G、5G网络的接口;还是可以是具有数据收发功能的其他类型的接口。
在存储器420中可以存储一个或多个计算机程序指令,处理器410可以读取并运行这些计算机程序指令,以实现本申请实施例提供的缺陷检测方法的步骤以及其他期望的功能。
可以理解,图5所示的结构仅为示意,电子设备400还可以包括比图5中所示更多或者更少的组件,或者具有与图5所示不同的配置。图5中所示的各组件可以采用硬件、软件或其组合实现。例如,本申请实施例提供的缺陷检测***中的控制设备即可以采用电子设备400的结构实现。
本申请实施例还提供一种计算机可读存储介质,该计算机可读存储介质上存储有计算机程序指令,所述计算机程序指令被计算机的处理器读取并运行时,执行本申请实施例提供的缺陷检测方法的步骤。例如,计算机可读存储介质可以实现为图5中电子设备400中的存储器420。
在本申请所提供的实施例中,应该理解到,所揭露装置和方法,可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,又例如,多个单元或组件可以结合或者可以集成到另一个***,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些通信接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
另外,作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
再者,在本申请各个实施例中的各功能模块可以集成在一起形成一个独立的部分,也可以是各个模块单独存在,也可以两个或两个以上模块集成形成一个独立的部分。
以上所述仅为本申请的实施例而已,并不用于限制本申请的保护范围,对于本领域的技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。

Claims (18)

1.一种缺陷检测方法,其特征在于,包括:
获取包含第一零件的第一原始图像;
确定所述第一原始图像中与所述第一零件对应的第一前景区域;
清除所述第一原始图像中第一背景区域内的图像信息,获得待检测图像,其中,所述第一背景区域为所述第一原始图像中除所述第一前景区域以外的区域;
利用预训练的神经网络模型在所述待检测图像中检测所述第一零件表面存在的缺陷。
2.根据权利要求1所述的缺陷检测方法,其特征在于,所述清除所述第一原始图像中第一背景区域内的图像信息,包括:
将所述第一原始图像中第一背景区域内的部分置为单一颜色。
3.根据权利要求2所述的缺陷检测方法,其特征在于,所述单一颜色与所述第一零件的颜色的相似程度小于预设阈值。
4.根据权利要求1所述的缺陷检测方法,其特征在于,所述确定所述第一原始图像中与所述第一零件对应的第一前景区域,包括:
确定相机在采集所述第一原始图像时的位姿与所述第一零件的三维模型的位姿之间的第一变换,其中,所述第一零件的三维模型具有预设的位姿;
利用所述第一变换将所述第一零件的三维模型投影到所述第一原始图像中,并将投影形成的区域确定为所述第一前景区域,
或者,利用所述第一变换对所述第一零件的三维模型进行投影,形成第一掩膜图像,并将所述第一原始图像与所述第一掩膜图像相与后未被所述第一掩膜图像所掩盖的区域确定为所述第一前景区域。
5.根据权利要求4所述的缺陷检测方法,其特征在于,所述确定相机在采集所述第一原始图像时的位姿与所述第一零件的三维模型的位姿之间的第一变换,包括:
获取所述相机在采集所述第一原始图像时采集的所述第一原始图像中的场景的深度数据;
在所述深度数据对应的点云与所述第一零件的三维模型对应的点云之间进行点云配准,确定两个点云之间的所述第一变换。
6.根据权利要求4所述的缺陷检测方法,其特征在于,所述确定相机在采集所述第一原始图像时的位姿与所述第一零件的三维模型的位姿之间的第一变换,包括:
获取所述相机在进行标定时的位姿与所述第一零件的三维模型的位姿之间的第二变换;
获取所述相机在采集所述第一原始图像时的位姿与所述相机在进行标定时的位姿之间的第三变换;
将所述第三变换与所述第二变换的乘积确定为所述第一变换。
7.根据权利要求1所述的缺陷检测方法,其特征在于,所述利用预训练的神经网络模型在所述待检测图像中检测所述第一零件表面存在的缺陷,包括:
利用预训练的神经网络模型在所述待检测图像中检测所述第一零件表面是否存在缺陷,或者,检测所述第一零件表面缺陷所在的位置。
8.根据权利要求1-7中任一项所述的缺陷检测方法,其特征在于,所述获取包含第一零件的第一原始图像,包括:
获取相机在多个预设的位置以及多个预设的角度下对所述第一零件进行拍摄得到的第一原始图像。
9.根据权利要求8所述的缺陷检测方法,其特征在于,所述获取相机在多个预设的位置以及多个预设的角度下对所述第一零件进行拍摄得到的第一原始图像,包括:
控制末端设置有相机的机械臂依次移动至多个预设的位置、并在每个位置处依次转动至多个预设的角度对所述第一零件进行拍摄,获取拍摄得到的第一原始图像。
10.根据权利要求1所述的缺陷检测方法,其特征在于,在所述获取包含零件的原始图像之前,所述方法还包括:
获取包含第二零件的第二原始图像;
确定所述第二原始图像中与所述第二零件对应的第二前景区域;
清除所述第二原始图像中第二背景区域内的图像信息,获得训练图像,其中,所述第二背景区域为所述第二原始图像中除所述第二前景区域以外的区域,所述训练图像用于训练所述神经网络模型。
11.根据权利要求10所述的缺陷检测方法,其特征在于,所述清除所述第二原始图像中第二背景区域内的图像信息,包括:
将所述第二原始图像中第二背景区域内的部分置为单一颜色。
12.根据权利要求11所述的缺陷检测方法,其特征在于,所述确定所述第二原始图像中与所述第二零件对应的第二前景区域,包括:
确定相机在采集所述第二原始图像时的位姿与所述第二零件的三维模型的位姿之间的第四变换,其中,所述第二零件的三维模型具有预设的位姿;
利用所述第四变换将所述第二零件的三维模型投影到所述第二原始图像中,并将投影形成的区域确定为所述第二前景区域,
或者,利用所述第四变换对所述第二零件的三维模型进行投影,形成第二掩膜图像,并将所述第二原始图像与所述第二掩膜图像相与后未被所述第二掩膜图像所掩盖的区域确定为所述第二前景区域。
13.根据权利要求10-12中任一项所述的缺陷检测方法,其特征在于,在所述获得训练图像之后,所述方法还包括:
利用所述训练图像以及对所述训练图像进行标注后获得的标注信息训练所述神经网络模型,或者,向服务器发送所述训练图像,以使所述服务器能够利用所述训练图像以及对所述训练图像进行标注后获得的标注信息训练所述神经网络模型。
14.一种缺陷检测装置,其特征在于,包括:
第一图像获取模块,用于获取包含第一零件的第一原始图像;
第一前景确定模块,用于确定所述第一原始图像中与所述第一零件对应的第一前景区域;
第一背景清除模块,用于清除所述第一原始图像中第一背景区域内的图像信息,获得待检测图像,其中,所述第一背景区域为所述第一原始图像中除所述第一前景区域以外的区域;
检测模块,用于利用预训练的神经网络模型在所述待检测图像中检测所述第一零件表面存在的缺陷。
15.一种缺陷检测***,其特征在于,包括:
机器人,所述机器人的机械臂末端设置有相机;
控制设备,用于向所述机器人发送控制指令,控制所述相机采集包含第一零件的第一原始图像,以及,用于确定所述第一原始图像中与所述第一零件对应的第一前景区域,清除所述第一原始图像中第一背景区域内的图像信息,获得待检测图像,并利用预训练的神经网络模型在所述待检测图像中检测所述第一零件表面存在的缺陷,其中,所述第一背景区域为所述第一原始图像中除所述第一前景区域以外的区域。
16.根据权利要求15所述的缺陷检测***,其特征在于,所述相机包括RGB-D相机。
17.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机程序指令,所述计算机程序指令被处理器读取并运行时,执行所如权利要求1-13中任一项所述的方法的步骤。
18.一种电子设备,其特征在于,包括:存储器以及处理器,所述存储器中存储有计算机程序指令,所述计算机程序指令被所述处理器读取并运行时,执行所如权利要求1-13中任一项所述的方法的步骤。
CN201910711135.1A 2019-08-01 2019-08-01 一种缺陷检测方法、装置及*** Active CN110400315B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910711135.1A CN110400315B (zh) 2019-08-01 2019-08-01 一种缺陷检测方法、装置及***

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910711135.1A CN110400315B (zh) 2019-08-01 2019-08-01 一种缺陷检测方法、装置及***

Publications (2)

Publication Number Publication Date
CN110400315A true CN110400315A (zh) 2019-11-01
CN110400315B CN110400315B (zh) 2020-05-05

Family

ID=68327366

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910711135.1A Active CN110400315B (zh) 2019-08-01 2019-08-01 一种缺陷检测方法、装置及***

Country Status (1)

Country Link
CN (1) CN110400315B (zh)

Cited By (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111062915A (zh) * 2019-12-03 2020-04-24 浙江工业大学 一种基于改进YOLOv3模型的实时钢管缺陷检测方法
CN111652883A (zh) * 2020-07-14 2020-09-11 征图新视(江苏)科技股份有限公司 基于深度学习的玻璃表面缺陷检测方法
CN112903703A (zh) * 2021-01-27 2021-06-04 广东职业技术学院 一种基于图像处理的陶瓷表面缺陷检测方法及***
CN113096094A (zh) * 2021-04-12 2021-07-09 成都市览图科技有限公司 三维物体表面缺陷检测方法
CN113469997A (zh) * 2021-07-19 2021-10-01 京东科技控股股份有限公司 平面玻璃的检测方法、装置、设备和介质
CN113538436A (zh) * 2021-09-17 2021-10-22 深圳市信润富联数字科技有限公司 零件缺陷的检测方法、装置、终端设备及存储介质
CN113870267A (zh) * 2021-12-03 2021-12-31 深圳市奥盛通科技有限公司 缺陷检测方法、装置、计算机设备及可读存储介质
CN114354621A (zh) * 2021-12-29 2022-04-15 广州德志金属制品有限公司 一种自动检测产品外观的方法及***
CN114998357A (zh) * 2022-08-08 2022-09-02 长春摩诺维智能光电科技有限公司 基于多信息分析的工业检测方法、***、终端和介质
CN116363085A (zh) * 2023-03-21 2023-06-30 江苏共知自动化科技有限公司 基于小样本学习和虚拟合成数据的工业零件目标检测方法
WO2024044913A1 (en) * 2022-08-29 2024-03-07 Siemens Aktiengesellschaft Method, apparatus, electronic device, storage medium and computer program product for detecting circuit board assembly defect

Citations (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20020054694A1 (en) * 1999-03-26 2002-05-09 George J. Vachtsevanos Method and apparatus for analyzing an image to direct and identify patterns
CN101510957A (zh) * 2008-02-15 2009-08-19 索尼株式会社 图像处理设备、方法、程序、摄像机设备、通信***
CN102768767A (zh) * 2012-08-06 2012-11-07 中国科学院自动化研究所 刚体在线三维重建与定位的方法
CN106409711A (zh) * 2016-09-12 2017-02-15 佛山市南海区广工大数控装备协同创新研究院 一种太阳能硅晶片缺陷检测***及方法
US20180047208A1 (en) * 2016-08-15 2018-02-15 Aquifi, Inc. System and method for three-dimensional scanning and for capturing a bidirectional reflectance distribution function
CN108520274A (zh) * 2018-03-27 2018-09-11 天津大学 基于图像处理及神经网络分类的高反光表面缺陷检测方法
CN109087286A (zh) * 2018-07-17 2018-12-25 江西财经大学 一种基于计算机图像处理和模式识别的检测方法及应用
CN109215085A (zh) * 2018-08-23 2019-01-15 上海小萌科技有限公司 一种利用计算机视觉与图像识别的物品统计算法
CN109636772A (zh) * 2018-10-25 2019-04-16 同济大学 基于深度学习的不规则形状金属加工表面的缺陷检测方法
US20190139214A1 (en) * 2017-06-12 2019-05-09 Sightline Innovation Inc. Interferometric domain neural network system for optical coherence tomography
CN109840508A (zh) * 2019-02-17 2019-06-04 李梓佳 一个基于深度网络架构自动搜索的机器人视觉控制方法,设备及存储介质

Patent Citations (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20020054694A1 (en) * 1999-03-26 2002-05-09 George J. Vachtsevanos Method and apparatus for analyzing an image to direct and identify patterns
CN101510957A (zh) * 2008-02-15 2009-08-19 索尼株式会社 图像处理设备、方法、程序、摄像机设备、通信***
CN102768767A (zh) * 2012-08-06 2012-11-07 中国科学院自动化研究所 刚体在线三维重建与定位的方法
US20180047208A1 (en) * 2016-08-15 2018-02-15 Aquifi, Inc. System and method for three-dimensional scanning and for capturing a bidirectional reflectance distribution function
CN106409711A (zh) * 2016-09-12 2017-02-15 佛山市南海区广工大数控装备协同创新研究院 一种太阳能硅晶片缺陷检测***及方法
US20190139214A1 (en) * 2017-06-12 2019-05-09 Sightline Innovation Inc. Interferometric domain neural network system for optical coherence tomography
CN108520274A (zh) * 2018-03-27 2018-09-11 天津大学 基于图像处理及神经网络分类的高反光表面缺陷检测方法
CN109087286A (zh) * 2018-07-17 2018-12-25 江西财经大学 一种基于计算机图像处理和模式识别的检测方法及应用
CN109215085A (zh) * 2018-08-23 2019-01-15 上海小萌科技有限公司 一种利用计算机视觉与图像识别的物品统计算法
CN109636772A (zh) * 2018-10-25 2019-04-16 同济大学 基于深度学习的不规则形状金属加工表面的缺陷检测方法
CN109840508A (zh) * 2019-02-17 2019-06-04 李梓佳 一个基于深度网络架构自动搜索的机器人视觉控制方法,设备及存储介质

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
吴挺 等: "基于主动式全景视觉传感器的管道内部缺陷检测方法", 《仪器仪表学报》 *
宇文旋: "基于机器视觉的轴承表面缺陷检测与分类***研究", 《中国优秀硕士学位论文全文数据库 工程科技II辑》 *
徐信 等: "拉深件缺陷在线检测***设计", 《锻压技术》 *

Cited By (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111062915A (zh) * 2019-12-03 2020-04-24 浙江工业大学 一种基于改进YOLOv3模型的实时钢管缺陷检测方法
CN111062915B (zh) * 2019-12-03 2023-10-24 浙江工业大学 一种基于改进YOLOv3模型的实时钢管缺陷检测方法
CN111652883A (zh) * 2020-07-14 2020-09-11 征图新视(江苏)科技股份有限公司 基于深度学习的玻璃表面缺陷检测方法
CN111652883B (zh) * 2020-07-14 2024-02-13 征图新视(江苏)科技股份有限公司 基于深度学习的玻璃表面缺陷检测方法
CN112903703A (zh) * 2021-01-27 2021-06-04 广东职业技术学院 一种基于图像处理的陶瓷表面缺陷检测方法及***
CN113096094B (zh) * 2021-04-12 2024-05-17 吴俊� 三维物体表面缺陷检测方法
CN113096094A (zh) * 2021-04-12 2021-07-09 成都市览图科技有限公司 三维物体表面缺陷检测方法
CN113469997B (zh) * 2021-07-19 2024-02-09 京东科技控股股份有限公司 平面玻璃的检测方法、装置、设备和介质
CN113469997A (zh) * 2021-07-19 2021-10-01 京东科技控股股份有限公司 平面玻璃的检测方法、装置、设备和介质
CN113538436A (zh) * 2021-09-17 2021-10-22 深圳市信润富联数字科技有限公司 零件缺陷的检测方法、装置、终端设备及存储介质
CN113870267A (zh) * 2021-12-03 2021-12-31 深圳市奥盛通科技有限公司 缺陷检测方法、装置、计算机设备及可读存储介质
CN114354621A (zh) * 2021-12-29 2022-04-15 广州德志金属制品有限公司 一种自动检测产品外观的方法及***
CN114354621B (zh) * 2021-12-29 2024-04-19 广州德志金属制品有限公司 一种自动检测产品外观的方法及***
CN114998357A (zh) * 2022-08-08 2022-09-02 长春摩诺维智能光电科技有限公司 基于多信息分析的工业检测方法、***、终端和介质
CN114998357B (zh) * 2022-08-08 2022-11-15 长春摩诺维智能光电科技有限公司 基于多信息分析的工业检测方法、***、终端和介质
WO2024044913A1 (en) * 2022-08-29 2024-03-07 Siemens Aktiengesellschaft Method, apparatus, electronic device, storage medium and computer program product for detecting circuit board assembly defect
CN116363085B (zh) * 2023-03-21 2024-01-12 江苏共知自动化科技有限公司 基于小样本学习和虚拟合成数据的工业零件目标检测方法
CN116363085A (zh) * 2023-03-21 2023-06-30 江苏共知自动化科技有限公司 基于小样本学习和虚拟合成数据的工业零件目标检测方法

Also Published As

Publication number Publication date
CN110400315B (zh) 2020-05-05

Similar Documents

Publication Publication Date Title
CN110400315A (zh) 一种缺陷检测方法、装置及***
Liu et al. A detection and recognition system of pointer meters in substations based on computer vision
WO2022170844A1 (zh) 一种视频标注方法、装置、设备及计算机可读存储介质
JP6305171B2 (ja) シーン内の物体を検出する方法
CN111192293B (zh) 一种运动目标位姿跟踪方法及装置
CN106971408B (zh) 一种基于时空转换思想的摄像机标定方法
TW201629909A (zh) 三維物件識別技術
WO2021136386A1 (zh) 数据处理方法、终端和服务器
CN108362205B (zh) 基于条纹投影的空间测距方法
CN110111364A (zh) 运动检测方法、装置、电子设备及存储介质
CN104680570A (zh) 一种基于视频的动作捕捉***及方法
CN111399634B (zh) 一种手势引导物体识别的方法及装置
US20220088455A1 (en) Golf ball set-top detection method, system and storage medium
CN110942092A (zh) 一种图形图像识别方法及识别***
CN107767366B (zh) 一种输电线路拟合方法及装置
CA3185292A1 (en) Neural network analysis of lfa test strips
CN109345567A (zh) 物体运动轨迹识别方法、装置、设备和存储介质
CN116168040B (zh) 元器件的方向检测方法、装置、电子设备及可读存储介质
CN101980299B (zh) 基于棋盘标定的摄像机映射方法
CN112146589A (zh) 一种基于zynq平台的三维形貌测量***及方法
Zhang et al. High-speed vision extraction based on the CamShift algorithm
CN214410073U (zh) 一种工业相机与深度相机结合的三维检测定位***
CN116071562A (zh) 一种植物种子识别方法、装置、电子设备及存储介质
CN113256721B (zh) 一种室内多人三维高精度定位方法
CN109918988A (zh) 一种结合成像仿真技术的可移植的无人机检测***

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant