利用3D视觉进行自动化工业检查的制作方法

文档序号:12159032阅读:555来源:国知局
利用3D视觉进行自动化工业检查的制作方法与工艺

本申请要求2015年6月26日提交的序列号为62/185,444、名称为“利用3D视觉进行自动化工业检查”的美国临时性专利申请的优先权和利益,特此通过引用并入。

本申请还要求了2016年1月19日提交的序列号为62/280,625、名称为“利用3D视觉进行自动化工业检查”的美国临时性专利申请的优先权和利益,特此通过引用并入。

联邦赞助的研究或开发的声明

不适用。

技术领域

工业计算机视觉正在越来越多地采用3D图像作为用于检查的附加数据源。本申请探索使用3D图像数据在工业计算机视觉系统中进行自动化视觉检查。下述公开内容提供了用于自动化视觉工业检查的系统和方法,跨越了3D工业检查和2D工业检查之间的差异,以及给出了自动化3D工业检查方法背后的技术细节,包括示例。



背景技术:

当工业计算机视觉使用多个同样的算法和方法作为计算机视觉的学术/教育以及政府/军事的应用时,约束是不同的。与学术/教育计算机视觉系统相比,工业计算机视觉系统可以意味着更强的稳健性、可靠性以及稳定性。与政府/军事应用相比,它还可以意味着更低的成本。与计算机视觉的其它应用领域相比,自动化工业检查系统可以意味着低成本、可接受的精确度、高稳健性、高可靠性以及高机械和温度稳定性,这与下面或附随的受检制造过程相称。

为了使工业计算机视觉系统可靠,它的每一个部件,硬件和软件,均需可靠。摄像机是关键的硬件部件之一。用户级3D摄像机出现在用户应用中。这些摄像机的实例为例如微软的Kinect V2的飞行时间摄像机、例如英特尔的实感3D的立体摄像机以及例如Lytro的ILLUM的光场测量摄像机。这些摄像机都不足以可靠地用于工业应用,但是同样的成像原理以及基于结构化照明的那些可以用于工业3D摄像机。

使用2D图像自动化可视地检查对象的技术是本领域公知的。例如,参见美国专利5,640,200,“利用高效图像配准的黄金模板比较”,1997年6月17日,David J.Michael,本文通过引用将其完整并入。在使用2D图像进行检查时,3D图像能够转变成2D图像,并随后作为2D图像进行检查。然而,这么做导致丢失关于3D形状或体积的信息。检查从3D图像转化来的2D图像还可能使检查结果偏向在转化的2D图像中最可见的特征。通过或者片分3D数据或者数学上将3D数据投影至2D图像将3D图像转化为2D图像的技术在计算机图形渲染领域中是公知的。

与上面讨论的2D检查相比,直接检查3D点云在本领域中不是公知的。本说明书描述了用于直接检查的3D图像的3D检查技术,因而将这些技术直接应用于处理小块3D数据。



技术实现要素:

本实施方式通过提供利用3D视觉系统进行3维(3D)视觉检查的系统和方法,克服了现有技术的缺点。所述系统和方法包括:利用3D视觉系统获取3D对象的至少一个3D图像;利用3D视觉系统提取3D图像的3D可视运行时间掩模(mask);利用3D视觉系统比较3D运行时间可视掩模与3D参考可视掩模;以及利用3D视觉系统确定3D运行时间可视掩模和3D参考可视掩模之间是否存在像素差别。

根据本发明的另一个实施方式,公开了利用3D视觉系统进行3维(3D)视觉检查的方法。所述方法包括:利用3D视觉系统获取3D对象的至少一个3D图像;利用3D视觉系统将所述至少一个3D图像配准至(register to)3D参考图像;利用3D视觉系统比较配准的至少一个3D图像与3D参考图像;以及利用3D视觉系统检测配准的至少一个3D图像与3D参考图像之间的3D差别,其中该3D差别超过3D方差模型(variance model)。

在一些实施方式中,该方法进一步包括:过滤所述至少一个3D图像;以及其中将至少一个3D图像配准至3D参考图像包括将至少一个过滤的3D图像配准至3D参考图像。

在一些实施方式中,该方法进一步包括:过滤配准的至少一个过滤的3D图像;以及其中比较配准的至少一个过滤的3D图像与3D参考图像包括比较过滤的配准的至少一个过滤的3D图像与3D参考图像。

在一些实施方式中,检测配准的至少一个3D图像与3D参考图像之间的3D差别包括检测配准的至少一个过滤的3D图像与3D参考图像之间的3D差别。

在一些实施方式中,该方法进一步包括训练该3D视觉系统,该训练包括:利用3D视觉系统获取3D对象的至少一个3D训练图像;利用3D视觉系统,基于所述至少一个3D训练图像估计3D参考图像;以及利用3D视觉系统,基于3D参考图像估计3D方差模型。

在一些实施方式中,该方法进一步包括:过滤所述至少一个3D训练图像;以及其中基于所述至少一个3D训练图像估计3D参考图像包括基于至少一个过滤的3D训练图像估计3D参考图像。

在一些实施方式中,该方法进一步包括:过滤所述3D参考图像,以及其中基于3D参考图像估计3D方差模型包括基于过滤的3D参考图像估计3D方差模型。

根据本发明的另一个实施方式,公开了利用3D视觉系统进行3维(3D)视觉检查的方法。该方法包括:利用3D视觉系统获取3D对象的至少一个3D图像;利用3D视觉系统提取3D图像的3D可视运行时间掩模;利用3D视觉系统比较3D运行时间可视掩模与3D参考可视掩模;以及利用3D视觉系统确定3D运行时间可视掩模和3D参考可视掩模之间是否存在像素差别。

在一些实施方式中,该方法进一步包括确定像素差别是否超过3D方差模型。

在一些实施方式中,该方法进一步包括创建护理掩模(care mask)。

在一些实施方式中,该方法进一步包括将护理掩模施加至上述至少一个3D图像。

在一些实施方式中,通过结合3D视觉系统和用户输入来创建护理掩模。

在一些实施方式中,该方法进一步包括利用护理掩模限制3D参考可视掩模和3D运行时间可视掩模之间的比较区域。

在一些实施方式中,该方法进一步包括:将护理掩模用作该比较中的二进制掩模,以及消除不包含在所述护理掩模中的那些像素。

在一些实施方式中,该方法进一步包括:将护理掩模用作加权掩模(weighted mask),以及给护理掩模的一部分中的像素较大权重并且给护理掩模的其它区域中的像素较小权重。

根据本发明的另一实施方式,公开了利用3D视觉系统进行3维(3D)视觉检查的方法。该方法包括:利用3D视觉系统获取3D对象的至少一个3D图像;利用3D视觉系统将所述至少一个3D图像配准至3D参考图像;利用3D视觉系统比较所述至少一个3D图像与3D参考图像;以及利用3D视觉系统检测所述至少一个3D图像与3D参考图像之间的3D差别。

在一些实施方式中,3D差别超过3D方差模型。

在一些实施方式中,该方法进一步包括:过滤所述至少一个3D图像;以及其中将所述至少一个3D图像配准至3D参考图像包括将至少一个过滤的3D图像配准至3D参考图像。

在一些实施方式中,该方法进一步包括:过滤至少一个过滤的3D图像;以及其中比较至少一个过滤的3D图像与3D参考图像包括比较过滤的至少一个过滤的3D图像与3D参考图像。

在一些实施方式中,检测所述至少一个3D图像与3D参考图像之间的3D差别包括检测至少一个过滤的3D图像与3D参考图像之间的3D差别。

在一些实施方式中,该方法进一步包括训练该3D视觉系统,该训练包括:利用3D视觉系统获取3D对象的至少一个3D训练图像;利用3D视觉系统,基于所述至少一个3D训练图像估计3D参考图像;以及利用3D视觉系统,基于3D参考图像估计3D方差模型。

在一些实施方式中,该方法进一步包括:过滤所述至少一个3D训练图像;以及其中基于所述至少一个3D训练图像估计3D参考图像包括基于至少一个过滤的3D训练图像估计3D参考图像。

在一些实施方式中,该方法进一步包括过滤3D参考图像,以及其中基于3D参考图像估计3D方差模型包括基于过滤的3D参考图像估计3D方差模型。

在一些实施方式中,比较所述至少一个3D图像与3D参考图像,以及检测所述至少一个3D图像与3D参考图像之间的3D差别进一步包括:利用3D视觉系统将所述至少一个3D图像配准至3D参考图像;利用3D视觉系统比较配准的至少一个3D图像与3D参考图像;以及利用3D视觉系统检测所述配准的至少一个3D图像与3D参考图像之间的3D差别。

附图说明

图1是示出了激光轮廓传感器的操作原理的说明图。

图2是2D印刷电路板的顶视图和利用区域图像表示的印刷电路板的3D图像。

图3是印刷电路板的2d图像的透视图和同一印刷电路板的3D图像。

图4是示出了用于3D检查过程的训练阶段和运行时间阶段的流程图。

图5是列出了多个3D摄像机规格的图表。

图6是故障的印制电路板的2D透视图。

图7是图6的故障的印制电路板的区域图像视图和印制云表示。

图8是示出了用于包括可视掩模的3D检查过程的训练阶段和运行时间阶段的流程图。

图9是示出了用于使用可选护理掩模的3D检查过程的训练阶段和运行时间阶段的流程图。

具体实施方式

在详细解释本发明的任意实施方式之前,要理解本发明并不限于应用至下面的描述所记载或下面的附图所示出的构造细节和组件布置。本发明能够是其它实施方式,以及可以按不同方式实现或实施。而且,要理解本文所使用的用语和术语是出于描述的目的,不应当视为限制。本文使用“包括”、“包含”或“具有”以及其它变体意指包含其后所列的项及其等同体,还有额外项。除非另外规定或限制,术语“安装”、“连接”、“支撑”、“耦接”及其变体广泛使用,并包含直接和间接的安装、连接、支撑以及耦接。进一步地,“连接”和“耦接”并不限于物理或机械连接或耦接。

下面给出的讨论使得本领域技术人员能够制造和使用本发明的实施方式。对所示实施方式的各种修改对本领域技术人员来说是显而易见的,以及本文的通用原理可以应用于其它实施方式和应用,而不背离本发明的实施方式。这样,本发明的实施方式并不旨在受限于所示的实施方式,而是给予与本文所公开的原理和特征一致的最宽范围。下面的详细描述要参照附图阅读,其中不同图中的类似元件具有类似的引用编号。所述附图不必按规定比例,描述了所选的实施方式,以及并不旨在限制本发明的实施方式的范围。本领域技术人员会认识到本文所提供的实例具有许多有用的替代方式,落入本发明实施方式的范围内。

数十年来,自动化检查已经成为工业计算机视觉中的一个重要任务。它是主应用以及指导(例如用于组装的指导机器人)、标识/识别(例如读取条形码、字符、或颜色、形状或纹理的匹配)以及测量(尺寸测量)。

为了本申请的目的,检查能够定义为或者发现缺陷或着确定制造过程是否维持在公差内。作为一个非受限实例,缺陷能够定义为在可接受范围之外变化的测量的特征。

有许多个用2D工业计算机视觉质量检查的实例。这些质量检查可以被分成四组:表面检查、维度检查、结构检查以及操作检查。分类2D工业计算机视觉任务的另一个方式是通过利用系统测量的自由度:姿态、大小、形状、颜色、纹理或照度。

为工业检查考虑3D视觉而不是2D视觉的一个原因是当2D检查不够时。如果检查特征的特征为从3D图像提取的物理大小、面积或体积比2D图像更精确,以及如果3D图像的成本不太高,则这可能发生。如果这为真,可能使用3D图像。

当比较使用3D摄像机及3D数据集的3D计算机视觉和2D计算机视觉及2D图像时,许多元件是熟悉的。这包括摄像机和摄像机校正、多维图像数据及其关联的表示问题、用于噪声消除和信号增强的图像过滤以及图像配准或姿态估计。即便比较2D图像和同一部件的3D图像,各元件的细节都十分不同。

可以成像以搜索缺陷的3D对象的非限制性实例包括支架、涡轮叶片、牙刷或瓦。这些以及其它对象可以由许多不同类型的材料制成;例如,金属、塑料、木头和/或陶瓷。这些3D对象可以具有从粗糙到光滑变化的表面光洁度以及可以具有任意的颜色或图案。

图1示出了激光轮廓传感器100的操作原理。基于三角剖分,摄影头和激光可以从基线分离距离查看对象。因为查看的激光线的位置直接对应所述对象的高度,所以这些位置可以以区域图像或点云的形式转换成3D高度数据。注意这仅仅是创建了单行3D高度数据。为了覆盖整个对象,必须移动摄像机或对象。典型地,在运动阶段,对象在摄像机之下移动,或者通过机器人移动传送带或摄像机。图2示出了2D印刷电路板200的顶视图,以及使用区域图像表示202的印刷电路板的3D图像。

图3示出了印刷电路板200的2D图像和同一印刷电路板的3D图像302之间的某些差异。2D图像是电路板表面的透视映射。它包括关于板表面上图案-成像光学系统所扭曲的电路板表面的反射率-以及入射照明的信息。3D图像包括关于印刷电路板自身的3D形状、大小以及尺寸的信息。反射率值可能轻微影响外观的3D形状,引起假象或可能不可见。

图3还示出了印刷电路板的2D图像和同一印制电路板的3D图像之间的差别,但有透视图。注意到2D图像可以具有非常不同的强透视的外观。前景宽得多,背景比较窄。另一方面,两幅图中的基础3D数据是相同的。只是从不同的视点显示3D图像以及没有在图像数据中编码透视。

摄像机硬件也可能非常不同,3D工业摄像机一般更加复杂,成本可能比2D工业摄像机更高(正在变得商品化)。

2D和3D摄像机之间的校正过程也非常不同。关于2D视觉,除了诸如如果对象是平面的之类的特殊情况下,一个完全校正的摄像机(估计的内在和外在)并不隐含对象空间中的校正。关于3D视觉,摄像机校正常常可以导致对象空间校正。也就是说,在3D视觉中,校正的对象维度-物理维度-能够可用。

在2D工业计算机视觉系统中,摄像光学器件经常是灵活和可互换的。结果,选择2D摄像机透镜是由必须执行任何所需的透镜校正的系统集成商来完成的。3D摄像机很少有这种灵活性,因为制造商通常固定了透镜或光学配置。但是,这可能有好处,因为3D摄像机制造商在制造时能够完成校正(或部分校正)。但是它确实给系统集成商更多职责以在交换透镜不是选项的情况下选择正确的3D摄影机规格。

图像表示在3D中也可能是不同的。在2D视觉中,图像几乎总是表示为单色或颜色亮度的2D阵列。在3D视觉中,图像可以是3D点的集合-点云-或深度/高度值的2D阵列-可视表面的区域图像表示-或者标量或量测量的3D阵列-密集体积表示。任何处理都需要适应图像表示。

此外,3D图像数据中噪音可能是不同的。由于遮断或信号返回糟糕,摄像机不能获取密集3D数据。以及摄像机能够知道它在哪里丢失图像数据。噪音可能采取虚反射或孤立点的形式,取决于3D摄像机的细节。用于噪音去除的3D中图像过滤的选择应当取决于3D摄像机的具体特性。

因此,3D视觉系统可以用于工业检查,下面将更加详细地描述。本申请中所描述的用于工业检查的方法在某些实施方式中可以用于检测正常变形之外的制作部件的3D变形。某些缺陷实例可以是3D对象丢失的材料或当3D对象与3D参考对象比较时不包括在那个3D对象内的材料。然而,还能够利用3D视觉系统检测其它缺陷,例如组件的位置、组件的高度以及组件的方位等。

图4概述了3D检查方法。该方法被分解成训练阶段400,其能够在设置检查以及估计参考校正模板和正常变形时进行。此外,还有运行时间阶段450,其中测试部件成像、配准到“黄金部件”(为了校正,此为参考校正模板)以及与其比较,且其中如果缺陷超出测试部件上的正常变形,则可以检测到它们。

在设置过程期间能够进行训练阶段400。它与收集具有可接受变形(“训练图像”)的被检对象的3D图像以及理解这些变形关联。进一步地,收集代表性数据是成功检查的关键部分。该代表性数据集可用于创建和验证参考校正模型。该代表性数据集还可用于创建和验证方差模型。如下更详细描述的,所述训练步骤包括:收集“好”样本的多个实例以及获取好样本(“训练图像”)的3D图像;2)利用点云校正或其它合适的3D校正技术与另一个(或第一个)“好”样本进行校正;3)根据所有校准的样本,递增地或者以批处理模式(例如,创建统计部件——均值+各表面小块的标准偏差)学习好部件的可接受变形。

在框402处,可以选择3D摄像机。有许多利用不同的成像原理、商业上可从不同的卖家获得的工业化3D摄像机。涉及的成像原理的实例为“Shape-from”技术、立体摄影、结构化光线、飞行时间以及光场生成。可获取的3D成像设备的实例可以包括诸如康耐视(Cognex)公司的DS1000系列的激光轮廓摄像机,诸如微软的Kinect V2的飞行时间摄像机,以及诸如英特尔的实感3D摄像机的立体摄影摄像机。

因周围光线的限制、受限的动作捕获能力、表面属性、噪音特性或分辨率,涉及的成像原理可以限定能够检查什么。然而,即便是成像原理允许进行检查,3D摄像机一般具有固定的光学器件。因此,不像选择仅仅限制像素分辨率、大小、格式和接口的2D摄像机,3D摄像机一般也具有固定的工作距离、视场、照明以及x,y和z的分辨率。图5为3D摄像机规格500的实例,结果是必须谨慎选择3D摄像机。

此外,3D图像数据不像2D图像,因为3D图像数据可以具有不同的表示,诸如点云(来自成像设备的具有x,y,z坐标的3D点集合)或者区域图像(z深度或z高度数据的2D阵列)。

训练阶段期间,在处理框404,能够获取多个3D图像以收集3D训练数据集。然后选择具有可接受变形的3D图像以创建3D校准模型,其能用于将训练模型与另一个进行校正,以及允许估计均方差数据。还可以收集额外的图像以用于进一步的验证和测试。

在处理框406,能够过滤获取的图像。在一个实施方式中,能够过滤所述图像以消除假象,从而改进校正。目标是消除降低校正准确度的假象。此类假象可能是部件上的反射高光所产生的虚尖峰。尖峰能够定义为远离所述部件表面的孤立点。移除这些假象需要检测它们。分离或独立的过滤能够用于为校准消除假象,为检查验消除假象。该检查过滤可能发生在后续阶段。可能地,过滤器的非受限实例可以包括:从检测到的遮断跨丢失的数据内插,消除诸如孤立的像素(尖峰或洞)的成像假象以及密度归一化。该过滤还可以用于为校准选择图像分辨率以及确保训练图像具有同样的图像分辨率。该过滤还可以用于消除检查期间不应当考虑的外露层或小区域。此外,利用像康耐视(Cognex)的VisionPro的商业软件或使用开源工具进行该过滤。

在处理框408处,能够估计3D参考图像。能够利用具有过滤步骤406期间所确定的可接受变形的3D图像生成3D校正模型。该3D校准模型可用于估计训练图像与那个校正模型的相对校准-平移和旋转,或者一次一个、递增或者立刻全部,以批处理模式。能够利用本领域公知的3D校正技术进行这一相对校正的评估,以相互校正3D图像。例如,利用例如Cognex VisionPro工具包中存在的商业图像配准工具,或使用诸如可从http://www.pointcloud.org或3DTK获取的PCL库的开源配准工具;或者可从http://sourceforge.net/projects/slam6d/获得的3D工具包。接下来,利用通过3D配准工具获取的相对校正的估计,3D图像可以选择性地相互校正,并重新渲染成尽可能接近的校正。通过常规的3D计算机图形技术进行重新渲染,尽管该重新渲染步骤是可选的,但是由于它简化了后续步骤所以是值得的。

在处理框410处,能够再次过滤图像。处理框410处的过滤步骤可用于为方差估计调整模型的分辨率以设置合适的比例来发现缺陷。不像用于校正的过滤,尖峰和洞可能留在图像中。能够直接在区域图像数据上或通过重网格化点云数据来调整模型的分辨率。

最后,在处理框412,能够估计3D方差模型。在一个实施方式中,可以估计用于重渲染或校正的3D图像的内的各表面位置或表面小块的统计数据。这些统计数据可以包括平均位置、平均表面方位、位置的标准偏差以及表面方位的标准偏差等等。可选地,在每个维度中,可以按不同的分辨率收集这些3D统计数据。收集这些统计数据可以考虑丢失的像素(例如因收集图像的视点,某些小块在某些训练图像中不可见)。一般来说,对于任何表面位置或小块,丢失的像素不应当对图像统计数据起作用。收集统计数据还能够考虑根据3D数据(例如,反射和部分透明部件可能使得难以估计平均表面小块)估计表面小块的困难性。

现在转到运行时间过程450,能够看到一个用于获取单个测试部件的3D图像、将所述图像校正到参考部件并确定存在的缺陷的过程。如下更详细描述的,运行时间过程450一般可以包括:1)获取“测试”样本;2)利用点云校正或其它合适的3D校正技术校正所述“测试”样本;3)将训练过程400期间确定的“好”统计部件与校准的“测试”样本进行比较;4)以每个可用的图像分辨率标识潜在缺陷。所述潜在缺陷对应于超过与统计部件的差别的阈值(阈值X标准偏差)的“测试”样本的候选表面小块,或者超过与所述“测试”样本的阈值差别阈值的平均“好”样本的候选表面小块。第一组缺陷能够对应于所述“测试”样本中未匹配的特征。第二组缺陷可以对应所述“好”样本中未匹配的特征。

在过程框452,用户可以选择3D摄像机。训练时使用与设置过程期间所用的相同的摄像机和相同的成像条件是很关键的。否则,摄像机变化或成像变化可能显示为缺陷,在过程框454,能够获取3D测试图像以查找缺陷。

在处理框456中,能够过滤获取的图像。第一过滤步骤可以是为校正或姿势估计过滤图像。目标可以是消除可能降低校正算法的准确性或稳健性的假象。此类假象可以是部件上的镜面高光产生的虚尖峰。尖峰能够定义为远离所述部件表面的孤立点。消除这些尖峰或孤立点需要检测它们,消除它们,用数据中的洞或正确内插的数据来代替它们。

在处理框458中,3D测试图像可以配准至3D参考图像。接着,能够使用合适的3D校正技术找到测试部件相对所述参考图像的平移和旋转。这可以通过利用诸如Cognex VisionPro工具包中存在的那些商业图像配准工具、或者使用来自可从http://www.pointcloud.org或3DTK获得的PCL库的开源配准工具或者可从http://sourceforge.net/projects/slam6d/获得的3D工具包来完成。

在处理框460,可以重新渲染和过滤图像。此处,可以重新渲染该3D图像数据以使用参考图像进行校正。然后,可以过滤3D图像,以典型地匹配表面密度。其它的3D图像数据归一化过滤也能够在该步骤进行。

在处理框462,能够将3D测试图像与3D参考图像进行比较,一旦3D测试图像被校正、过滤和重新渲染,它就可以直接与参考3D数据进行比较。例如,可以直接比较表面小块或个体像素。如下讨论的,如果差异满足数个统计测试至少之一,它们能够记为潜在缺陷。

在处理框464,可以检测超过3D方差模型的图像数据差别。为了被认作是缺陷,所标识的潜在缺陷必须满足数个统计测试至少之一。统计测试的实例可以包括:1)对于“好”样本上最近的平均表面小块,与校正的“测试”样本表面小块的距离太大;2)校正“测试”样本表面小块的方位与“好”样本上最近的平均表面小块的方位的差别太大;3)对于所述“测试”样本上最近的平均表面小块,与校正的“好”样本表面小块的距离太大;4)校正的“好”样本表面小块的方位与所述“测试”样本上最近的平均表面小块的方位的差别太大。通过设置固定的阈值或与所述均值的多个标准偏差,上述每一个统计测试可以通过系统自动选择。可以将统计测试的结果指定为缺陷。

图6示出了有缺陷的印刷电路板600的2D图像。板500示出了对应于丢失或错放的组件的四个板上的可能缺陷。图7示出了作为区域图像的有缺陷的印刷电路板600的3D区域图像700。所述统计测试标识的四个缺陷对应于参考编号702a-d。3D区域图像710示出了有缺陷的印刷电路板600的3D图像,其被视作具有四个缺陷702a-d的点云。

如上所讨论的,3D校正(校正物体的3D图像)本质上不同于2D校正。例如,为了3D校对和3D检查,必须处理由于自遮断而丢失的像素、摄像机和发光体的视觉几何以及由于自遮断而丢失的部分3D图像。此外,3D图像和2D图像之间,标识图像差别在本质上是不同的。例如,由于3D点位置的噪音,点对点减法(如利用2D图像进行的)一般在3D中并不有效。相反,给定分辨率的平面到平面或面到面的比较通常能提供更好的数据。

本申请涵盖了3D工业计算机视觉检查。工业计算机视觉日益采纳3D图像作为用于检查的附加数据源。本申请描述了使用3D图像数据进行工业计算机视觉中的自动化视觉检查。定义了自动化视觉工业检查,以及提供了3D工业检查和2D工业检查之间的差别。最后,提供了实例以给出自动化3D工业检查方法后面的技术细节。

现在转到图8,可以看到用于为丢失的像素逻辑地评估3D图像的过程。为丢失的像素逻辑地评估3D图像可以允许评估图像,这样能够评估丢失的像素以确定丢失的像素是否是由于成像对象中材料的缺失,或者丢失的像素是否是诸如遮断、自遮断和/或图像捕获噪音的成像错误的结果。图8的逻辑评估过程可以提供分析,以提供缺失的材料和成像错误之间的差别。图8概述了类似于关于图4讨论的3D检查方法。例如,该方法被分成训练阶段80,其能在设置所述检查且估计参考校正模板和正常变形时发生。此外,有运行时间阶段820,其中测试部件能够成像、配准到“黄金部件”并与之比较(对于校正,这是参考校正模板),且其中如果缺陷超过测试部件上的正常变形,可以检测到缺陷。

训练过程800可以在处理框802执行选择3D摄像机的步骤,在处理框804执行收集3D训练数据集(多个3D图像获得)的步骤,以及在处理框806执行过滤图像的步骤。这些过程的操作可以与如关于上面描述的训练过程400所讨论的相同。在处理框808,可以提取3D可视训练掩模。在一个实施方式中,通过3D摄像机可以自动提取3D可视训练掩模。或者,用户可以选择所获取图像的区域作为3D训练可视掩码。进一步地,通过结合3D摄像机的自动生成和用户规定来提取3D训练可视掩模。在其它实施方式中,3D训练可视掩模可以由外部设备提取,诸如控制器、计算机或其它可应用设备。3D训练可视掩模可以评估过滤的图像以检测处理框806中过滤的图像中存在或缺失像素。

一旦在处理块308处提取3D训练可视掩模,则可以在处理框810估计3D参考图像。能够如上面训练过程400中所描述的估计该3D参考图像。一旦在处理框810估计了3D参考图像,则可以在处理框812估计3D参考可视掩模。类似于上述描述的用于估计3D参考图像的方法,可以使用在处理框808提取的3D训练可视掩模来估计3D参考可视掩模。3D校正模型可以用于估计3D训练可视掩模与校正模型的相对校正-平移和旋转,或者一次一个、递增地,或者全部立刻,以批处理模式。可以使用本领域公知的3D校正技术估计该相对校正,以互相校正3D图像。例如,使用诸如Cognex VisionPro工具包中存在的那些商业图像配准工具,或者诸如可从http://www.pointcloud.org或3DTK获得的PCL库的使用开源配准工具,或者可从http://sourceforge.net/projects/slam6d/获得的3D工具包。接下来,3D图像可以彼此校正,以及使用通过3D配准工具获取的相对校正的估计被重新渲染成尽可能接近的校正。能够通过常规的3D计算机图形技术进行重新渲染。尽管该重新渲染步骤是可选的,但是由于它简化了后续步骤所以是值得的。

一旦在处理框812估计3D参考可视掩模,则可以在处理框814过滤所估计的3D参考图像,以及在处理框816处估计3D方差模型。可以使用如上讨论的训练过程400中所描述的过程估计该3D方差模型816。

一旦训练过程800完成,然后可以执行运行时间过程820。运行时间过程820可以在处理框822使用在处理框802所选择的3D摄像机来在处理框824获取至少一个或多个3D测试图像。在一个实施方式中,在处理框824可以获取测试图像。然后能够在处理框826过滤测试图像。可以利用上面描述的运行时间过程450中所描述的方法分别在处理框822、824以及826中执行利用选择的摄像机获取测试图像、随后过滤获取的图像。在处理框828,可以提取3D运行时间可视掩模。在一个实施方式中,3D运行时间可视掩模可以通过3D摄像机自动提取。进一步地,可以通过结合3D摄像机的自动生成以及用户规定来提取3D运行时间可视掩模。在其它实施方式中,3D运行时间可视掩模可以通过外部设备提取,诸如控制器、计算机或其它可应用设备。3D运行时间可视掩模可以评估过滤的图像以检测处理框826中过滤的图像内存在或缺失像素。

在处理框830,类似于上面描述的运行时间过程450中所描述的,可以将3D测试图像配准至3D参考图像。在处理框832,可以重新渲染和过滤图像。此处,3D图像数据可以被重新渲染,以利用参考图像进行校正。然后,可以过滤所述3D图像数据以一般匹配表面密度。在此步骤,也可能发生其它3D图像数据归一化过滤。

如上面描述的运行时间过程450中所描述的,在处理框834,比较3D测试图像和3D参考图像。在处理框836,能够比较3D参考可视掩模和3D运行时间可视掩模。与处理框834中3D图像的比较相反,在处理框836执行的比较可以使用逻辑比较过程以验证精确地引起混合像素。实例比较方法可以包括使用逻辑运算符(“AND(与)”,“OR(或)”,“XOR(异或)”等)。例如,可以使用AND运算符来比较3D参考可视掩模和3D运行时间可视掩模。在使用AND运算符的情况下,如果3D参考可视掩模和3D运行时间可视掩模中均存在像素,则将仅输出逻辑“1”值。相比之下,如果3D参考可视掩模和3D运行时间掩模至少之一中存在像素,将数次会逻辑“1”。或者,可以使用其它比较方法,包括求平均值、中值分析、表决系统和/或诸如上面讨论的校正方法学。

通过比较估计的3D参考可视掩模和3D运行时间可视掩模,可能验证缺少任意像素是由于缺少对象上的材料,不是诸如遮断、成像噪音等所引起的那些成像错误。进一步地,为了捕获的图像中存在或缺少像素,上述方法学允许有效地评估训练图像和运行时间图像。例如,上述分析可以确定给定的像素是否存在于训练过程800中且不在运行时间过程820中;不在训练过程800中且存在于运行时间过程820;或者,不在训练过程800和运行时间过程820中。可以使用该信息以进一步评估获取的3D图像。此外,所述比较数据可以用于获取的3D图像的统计分析,诸如上面所描述的统计分析。

转到图9,可以看到用于逻辑评估3D图像的过程900。过程900包括上述所描述的与图4和8中所示的类似的步骤。过程900包括训练过程902。训练过程包括上面关于图8中所描述的处理框802、804、806、808、810、812、814和816。在处理框904,可以创建可选的护理掩模。该护理掩模用于选择3D对象的兴趣域。在一个实施方式中,由护理掩模选择的兴趣域可以是3D对象的2D区域。或者,由护理掩模选择的兴趣域可以是3D对象的3D区域。此外,由护理掩模选择的兴趣域可以是获取的3D对象的图像的一个或多个特定像素。例如,由护理掩模选择的兴趣域可以是获取的3D对象的图像的一组特定像素。可以由用户创建所述护理掩模。例如,用户可以选择应当包含在护理掩模中的3D图像区域。或者,可以由成像系统自动创建所述护理掩模。进一步地,可以结合成像系统和用户输入来创建所述护理掩模。

在处理框920,可以看到运行时间过程。运行时间过程920可以包括如关于图8中所描述的处理框822、824、826、828、830、832以及838。在处理框922,将3D测试图像与3D参考图像和护理掩模进行比较。该护理掩模可以限制3D测试图像与3D参考图像之间的比较区域。在一个实施方式中,护理掩模可以用作所述比较中的二进制掩模,从而消除那些不包含在所述护理掩模内的像素。或者,所述护理掩模可以用作加权掩模,从而给一部分护理掩模内的像素更大权重,给所述护理掩模的其它区域中的像素更小权重。如上所述,可以由用户创建所述护理掩模,因此所述用户可以指定处理框904中部分护理掩模所提供的权重。

在处理框904,利用护理掩码可以比较估计3D参考可视掩模和3D运行时间可视掩模。该护理掩模可以限制3D参考可视掩模和3D运行时间可视掩模之间的比较区域。在一个实施方式中,护理掩模可以用作所述比较中的二进制掩模,从而消除不包含在护理掩模内的那些像素。或者,所述护理掩模可以用作加权掩模,从而给一部分护理掩模内的像素更大权重,给所述护理掩模的其它区域中的像素更小权重。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1