点云优化方法、装置及设备与流程

    专利2022-07-08  107


    本申请实施例涉及光学检测技术领域,尤其涉及一种点云优化方法、装置及设备。



    背景技术:

    三维自动光学检测(3dautomaticopticinspection,3daoi)系统一般利用结构光成像原理获取目标物体的高精度三维点云。但是在实际测量中,由于相机像素解析力的限制,最终获取的三维点云会存在大量噪音以及空洞的情况,因而在获取到点云后需要对点云进行优化处理。

    原有的点云优化方式通常是使用移动最小二乘、统计滤波等方法对三维点云进行平滑及去噪处理,这些方法虽能够提升三维点云质量,但是会涉及大量的法向量计算,运算过程十分耗时,难以满足实时检测优化的需求。



    技术实现要素:

    本申请实施例提供了一种点云优化方法、装置及设备,可以高效地实现点云的优化处理,解决点云优化计算开销大且实时性差的问题,该技术方案如下:

    第一方面,本申请实施例提供了一种点云优化方法,包括:

    获取目标物体对应的三维点云;

    将该三维点云投影至相机成像平面,得到该三维点云对应的二维深度图;其中,该二维深度图中像素点的原始像素值为该三维点云中对应像素点的深度值;

    根据多个预设的方向滤波核,分别对该二维深度图进行卷积滤波操作,得到该二维深度图中每个该像素点对应的多个滤波像素值;其中,每个该方向滤波核的滤波边界分别表示不同形态的图像边缘;

    将每个该像素点的原始像素值替换为与该像素点的原始像素值之间差值最小的滤波像素值,得到优化后的二维深度图。

    第二方面,本申请实施例提供了一种电路板的点云优化方法,包括步骤:

    获取目标电路板对应的三维点云;

    将该三维点云投影至相机成像平面,得到该三维点云对应的二维深度图;其中,该二维深度图中像素点的原始像素值为该三维点云中对应像素点的深度值;

    根据多个预设的方向滤波核,分别对该二维深度图进行卷积滤波操作,得到该二维深度图中每个该像素点对应的多个滤波像素值;其中,每个该方向滤波核的滤波边界分别表示不同形态的图像边缘。

    将每个该像素点的原始像素值替换为与该像素点的原始像素值之间差值最小的滤波像素值,得到该目标电路板对应的优化后的二维深度图;

    将该优化后的二维深度图中像素点的像素值转化为该三维点云中对应像素点的深度值,得到该目标电路板对应的优化后的三维点云。

    第三方面,本申请实施例提供了一种点云优化装置,包括:

    第一点云获取单元,用于获取目标物体对应的三维点云;

    第一投影单元,用于将该三维点云投影至相机成像平面,得到该三维点云对应的二维深度图;其中,该二维深度图中像素点的原始像素值为该三维点云中对应像素点的深度值;

    第一滤波单元,用于根据多个预设的方向滤波核,分别对该二维深度图进行卷积滤波操作,得到该二维深度图中每个该像素点对应的多个滤波像素值;其中,每个该方向滤波核的滤波边界分别表示不同形态的图像边缘;

    第一优化单元,用于将每个该像素点的原始像素值替换为与该像素点的原始像素值之间差值最小的滤波像素值,得到优化后的二维深度图。

    第四方面,本申请实施例提供了一种电路板的点云优化装置,包括:

    第二点云获取单元,用于获取目标电路板对应的三维点云;

    第二投影单元,用于将该三维点云投影至相机成像平面,得到该三维点云对应的二维深度图;其中,该二维深度图中像素点的原始像素值为该三维点云中对应像素点的深度值;

    第二滤波单元,用于根据多个预设的方向滤波核,分别对该二维深度图进行卷积滤波操作,得到该二维深度图中每个该像素点对应的多个滤波像素值;其中,每个该方向滤波核的滤波边界分别表示不同形态的图像边缘;

    第二优化单元,用于将每个该像素点的原始像素值替换为与该像素点的原始像素值之间差值最小的滤波像素值,得到该目标电路板对应的优化后的二维深度图;

    第三点云获取单元,用于将该优化后的二维深度图中像素点的像素值转化为该三维点云中对应像素点的深度值,得到该目标电路板对应的优化后的三维点云。

    第五方面,本申请实施例提供了一种点云优化设备,包括:处理器、存储器以及存储在该存储器中并可在该处理器上运行的计算机程序,该处理器执行该计算机程序时实现如第一方面的点云优化方法的步骤或第二方面的电路板的点云优化方法的步骤。

    第六方面,本申请实施例提供了一种计算机可读存储介质,该计算机可读存储介质存储有计算机程序,该计算机程序被处理器执行时实现如第一方面的点云优化方法的步骤或第二方面的电路板的点云优化方法的步骤。

    本申请实施例通过把目标物体对应的三维点云投影至相机成像平面,实现了对点云数据的降维处理,得到了该三维点云对应的二维深度图,从而能够保证后续点云优化的实时性。之后,结合图像边缘形态的差异性,预设多个方向滤波核,使不同的方向滤波核的滤波边界充分体现不同形态的图像边缘,然后再通过每个预设的方向滤波核分别对二维深度图进行卷积滤波,得到每个像素点对应的多个滤波像素值,将每个该像素点的原始像素值替换为与该像素点的原始像素值之间差值最小的滤波像素值,得到优化后的二维深度图,进而不仅避免了常规滤波过程中复杂的参数调节,提高方法的鲁棒性,还能够在不影响图像边缘形态的情况下,实现对点云的平滑滤波处理,提高点云优化的准确性。

    为了更好地理解和实施,下面结合附图详细说明本申请的技术方案。

    附图说明

    图1为本申请一个实施例提供的点云优化方法的流程示意图;

    图2为本申请一个实施例提供的包括竖直滤波边界的方向滤波核的结构示意图;

    图3为本申请一个实施例提供的包括水平滤波边界的方向滤波核的结构示意图;

    图4为本申请一个实施例提供的包括倾斜滤波边界的方向滤波核的结构示意图;

    图5为本申请一个实施例提供的包括转角滤波边界的方向滤波核的结构示意图;

    图6为本申请一个实施例提供的点云优化方法中s103的流程示意图;

    图7为本申请一个实施例提供的点云优化方法中s104的流程示意图;

    图8为本申请一个实施例提供的二维深度图的优化结果对比示意图;

    图9为本申请另一个实施例提供的点云优化方法的流程示意图;

    图10为本申请一个实施例提供的电路板的点云优化方法的流程示意图;

    图11为本申请一个实施例提供的电路板的点云优化结果的对比示意图;

    图12为本申请一个实施例提供的点云优化装置的结构示意图;

    图13为本申请一个实施例提供的电路板的点云优化装置的结构示意图;

    图14为本申请一个实施例提供的点云优化设备的结构示意图。

    具体实施方式

    这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本申请相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本申请的一些方面相一致的装置和方法的例子。

    在本申请使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本申请。在本申请和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。还应当理解,本文中使用的术语“和/或”是指并包含一个或多个相关联的列出项目的任何或所有可能组合。

    应当理解,尽管在本申请可能采用术语第一、第二、第三等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本申请范围的情况下,第一信息也可以被称为第二信息,类似地,第二信息也可以被称为第一信息。取决于语境,如在此所使用的词语“如果”/“若”可以被解释成为“在……时”或“当……时”或“响应于确定”。

    请参阅图1,为本申请一个实施例提供的点云优化方法的流程示意图,该方法包括如下步骤:

    s101:获取目标物体对应的三维点云。

    在一个可选的实施例中,该点云优化方法的执行主体可以为三维激光扫描仪或三维光学检测仪等可直接采集三维点云的设备,也可以为上述设备中的组成部件,例如其内部的处理器或微处理器等;在另一个可选的实施例中,该点云优化方法的执行主体可以为与三维激光扫描仪或三维光学检测仪等设备建立数据连接的其他设备,其他设备通过三维激光扫描仪或三维光学检测仪等设备间接获取三维点云;在其他可选的实施例中,该点云优化方法的执行主体还可以是集成了三维激光扫描功能或三维光学检测功能的集成设备,也可以为集成设备中的组成部件。

    在本申请实施例中,以与三维光学检测仪建立数据连接的设备(以下称之为点云优化设备)为执行主体,执行该点云优化方法。

    具体地,点云优化设备先与三维光学检测仪建立数据连接,从三维光学检测仪中获取目标物体对应的三维点云。

    其中,该目标物体可以为任意形态或形状的物体,在一个可选的实施例中,该目标物体可以为印刷电路板(printedcircuitboards,pcb)。

    该目标物体对应的三维点云是表示目标物体表面特性的海量点的集合。

    点云优化设备通过该三维光学检测仪获取目标物体对应的三维点云的过程如下:首先,三维光学检测仪将将结构光照射在目标物体;接着,获取经由目标物体表面反射后在相机中的成像,通过解析成像中各个像素点的相位值,获取目标物体表面上各个点的三维坐标;最终,得到目标物体对应的三维点云。

    在本申请实施例中,在通过三维光学检测仪获取目标物体对应的三维点云时,将三维光学检测仪的相机成像平面与放置目标物体的平面平行,使得三维光学检测仪检测到的目标物体表面上各个点的三维坐标包括各个点的二维坐标和各个点与相机成像平面的距离值(也可以理解为各个点相对于相机成像平面的深度值)。

    s102:将该三维点云投影至相机成像平面,得到该三维点云对应的二维深度图;其中,该二维深度图中像素点的原始像素值为该三维点云中对应像素点的深度值。

    点云优化设备将目标物体对应的三维点云投影至相机成像平面,即将三维点云投影至二维平面,得到该三维点云对应的二维深度图,从而达到降低运算量的目的,满足实时优化的需求。

    在二维深度图中,像素点的原始像素值为该三维点云中对应像素点的深度值,像素点的二维坐标为三维点云中对应像素点的二维坐标。

    例如,三维点云中某个点的三维坐标为(x1,y1,z1),其中z1表示该点相对于相机成像平面的深度值,那么在将三维点云投影至相机成像平面后,该点在二维深度图中对应的像素点的二维坐标即为(x1,y1),像素值即为深度值z1。

    s103:根据多个预设的方向滤波核,分别对该二维深度图进行卷积滤波操作,得到该二维深度图中每个该像素点对应的多个滤波像素值;其中,每个该方向滤波核的滤波边界分别表示不同形态的图像边缘。

    由于物体边缘具有不规则性,因而其对应的图像边缘也会具有多种不同的形态。本申请实施例中,在该点云优化设备中预设了多个方向滤波核,通过多个方向滤波核的滤波边界表示不同形态的图像边缘,再利用不同的方向滤波核分别对二维深度图进行卷积滤波操作,从而解决滤波结果准确性低的技术问题。

    在图像处理领域中,每一个滤波核中均包括若干个滤波元素,滤波元素的值用于对像素点的像素值进行加权运算。通过滤波核对输入图像进行卷积滤波操作后,输出图像中每个像素点的滤波像素值是输入图像中该滤波核覆盖区域内像素点的像素值与滤波元素的值进行加权运算后的平均值,因此,可以理解的是,滤波核中滤波元素的值的大小会对得到的滤波像素值有直接影响,基于不同形态的图像边缘,调整方向滤波核中滤波元素的值,进而利用滤波元素的值的变化边界表示滤波核的滤波边界。

    在一个可选的实施例中,为更好地体现出方向滤波核的边界,将该方向滤波核划分为有效滤波区域和无效滤波区域,具体地,在对二维深度图进行卷积滤波操作之前,点云优化设备基于该图像边缘的不同形态,划分该方向滤波核中的有效滤波区域和无效滤波区域,生成多个该方向滤波核,通过该有效滤波区域和无效滤波区域的划分边界表示该滤波边界。其中,方向滤波核中该有效滤波区域中滤波元素的值为1,该无效滤波区域中滤波元素的值为0。

    需要说明的是,上述对方向滤波核中该有效滤波区域中滤波元素的值和无效滤波区域中滤波元素的值的设定并不具有限定作用,在其他可选的实施例中,该方向滤波核中该有效滤波区域中滤波元素的值和无效滤波区域中滤波元素的值可以进行适应性调整。

    在另一个可选的实施例中,对图像边缘的形态进行更为详细的划分,具体包括竖直形态、水平形态、倾斜形态和转角形态。进而,在基于该图像边缘的不同形态,划分该方向滤波核中的有效滤波区域和无效滤波区域,生成多个该方向滤波核时,可以具体拆分为如下划分方式:

    (1)根据该图像边缘的竖直形态,以竖直方向划分该方向滤波核中的有效滤波区域和无效滤波区域,生成包括竖直滤波边界的方向滤波核。

    具体地,请参阅图2,图2为本申请一个实施例提供的包括竖直滤波边界的方向滤波核的结构示意图,图2中所示的方向滤波核分别表示了图像边缘的右侧竖直形态和左侧竖直形态,有效滤波区域中滤波元素的值为1,无效滤波区域中滤波元素的值为0,有效滤波区域和无效滤波区域的划分边界即为竖直滤波边界。

    为了更好地观察方向滤波核的滤波边界,图2用不同的灰度值显示有效率滤波区域和无效滤波区域,可以看出,灰度值明显发生变化的边界就是滤波边界,这也与图像边缘的竖直形态吻合。

    (2)根据该图像边缘的水平形态,以水平方向划分该方向滤波核中的有效滤波区域和无效滤波区域,生成包括水平滤波边界的方向滤波核。

    具体地,请参阅图3,图3为本申请一个实施例提供的包括水平滤波边界的方向滤波核的结构示意图,图3中所示的方向滤波核分别表示了图像边缘的上侧水平形态和下侧水平形态,有效滤波区域中滤波元素的值为1,无效滤波区域中滤波元素的值为0,有效滤波区域和无效滤波区域的划分边界即为水平滤波边界。

    为了更好地观察方向滤波核的滤波边界,图3同样使用不同的灰度值显示有效率滤波区域和无效滤波区域,可以看出,灰度值明显发生变化的边界就是滤波边界,这也与图像边缘的水平形态吻合。

    (3)根据该图像边缘的倾斜形态,以倾斜方向划分该方向滤波核中的有效滤波区域和无效滤波区域,生成包括倾斜滤波边界的方向滤波核。

    具体地,请参阅图4,图4为本申请一个实施例提供的包括倾斜滤波边界的方向滤波核的结构示意图,图4中所示的方向滤波核分别表示了图像边缘的右下角倾斜形态、左上角倾斜形态、左下角倾斜形态和右上角倾斜形态,有效滤波区域中滤波元素的值为1,无效滤波区域中滤波元素的值为0,有效滤波区域和无效滤波区域的划分边界即为倾斜滤波边界。

    为了更好地观察方向滤波核的滤波边界,图4同样使用不同的灰度值显示有效率滤波区域和无效滤波区域,可以看出,灰度值明显发生变化的边界就是滤波边界,这也与图像边缘的倾斜形态吻合。

    (4)根据该图像边缘的转角形态,以角度改变方向划分该方向滤波核中的有效滤波区域和无效滤波区域,生成包括转角滤波边界的方向滤波核。

    具体地,请参阅图5,图5为本申请一个实施例提供的包括转角滤波边界的方向滤波核的结构示意图,图5中所示的方向滤波核分别表示了图像边缘的右下角转角形态、左下角转角形态、右上角转角形态和左上角转角形态,有效滤波区域中滤波元素的值为1,无效滤波区域中滤波元素的值为0,有效滤波区域和无效滤波区域的划分边界即为转角滤波边界。

    为了更好地观察方向滤波核的滤波边界,图5同样使用不同的灰度值显示有效率滤波区域和无效滤波区域,可以看出,灰度值明显发生变化的边界就是滤波边界,这也与图像边缘的转角形态吻合。

    上述4种划分该方向滤波核中的有效滤波区域和无效滤波区域,生成多个该方向滤波核的方式充分考虑了图像边缘的竖直形态、水平形态、倾斜形态和转角形态,能够有效提升卷积滤波结果的准确性。

    下面,将具体说明如何根据多个预设的方向滤波核对二维深度图进行卷积滤波操作,请参阅图6,步骤s103包括s1031~s1034,具体如下:

    s1031:根据第i个该方向滤波核的滤波中心在该二维深度图中对应的目标位置,得到该滤波中心对应的目标像素点。

    点云优化设备根据第i个该方向滤波核的滤波中心在该二维深度图中对应的目标位置,得到该滤波中心对应的目标像素点。

    其中,该方向滤波核的滤波中心在二维深度图中对应的目标位置,能够用于指示当前二维深度图中的哪一像素点进行滤波操作,该目标位置处的像素点即为目标像素点,也是待进行滤波的像素点。

    为助于理解,请同时参阅图2至图5,图中星标位置处即为每个方向滤波核的滤波中心。

    s1032:根据该目标位置和第i个该方向滤波核的滤波半径,得到该二维深度图中该方向滤波核覆盖的目标区域。

    该第i个方向滤波核的滤波半径并不表示该方向滤波核的形状为圆形,其只是用于计算方向滤波核能够覆盖的该二维深度图中的目标区域。

    以图2至图5所示的方向滤波核为例,其方向滤波核的滤波半径为2,也就是说,该方向滤波核的尺寸5*5,能够覆盖包括5*5个像素点的目标区域。

    s1033:基于该第i个方向滤波核中各个滤波元素的值、该目标区域内的像素点的原始像素值以及该第i个方向滤波核中有效滤波元素的数量,获取该目标像素点对应的第i个滤波像素值。

    点云优化设备先基于该第i个方向滤波核中各个滤波元素的值和该目标区域内的像素点的原始像素值,进行加权累加操作,得到该目标像素点的加权像素值,之后再根据加权像素值除以该第i个方向滤波核中有效滤波元素的数量,获取该目标像素点对应的第i个滤波像素值。

    具体地,点云优化设备根据第i个方向滤波核中各个滤波元素的值、目标区域内像素点的原始像素值、第i个方向滤波核中有效滤波元素的数量以及预设的滤波像素值计算公式,获取目标像素点对应的第i个滤波像素值。

    其中,该预设的滤波像素值计算公式如下:

    qi(centerx,centery)表示目标像素点对应的第i个滤波像素值,(centerx,centery)表示方向滤波核的滤波中心在二维深度图中对应的目标位置,也即所述目标像素点在所述二维深度图中的位置,(centerx k,centery l)表示各个滤波元素在方向滤波核中的位置,也即目标区域内的像素点在目素区域内的位置,wi(centerx k,centery l)表示第i个方向滤波核中位置为(centerx k,centery l)的滤波元素的值,p(centerx k,centery l)表示目标区域内位置为(centerx k,centery l)的像素点的原始像素值,r表示第i个方向滤波核的滤波半径,k≤r且|l|≤r,|k|表示滤波元素与滤波中心的水平距离,|l|表示滤波元素与滤波中心的竖直距离,1≤i≤n,n表示方向滤波核的个数。

    s1034:移动该第i个方向滤波核重复执行上述步骤,直至得到该二维深度图中每个像素点对应的第i个滤波像素值。

    点云优化设备移动该第i个方向滤波核重复执行上述步骤,直至得到该二维深度图中每个像素点对应的第i个滤波像素值。

    具体地,就是通过改变方向滤波核的滤波中心所对应的下一个目标像素点,计算下一个目标像素点对应的第i个滤波像素值,直至得到每个像素点对应的第i个滤波像素值。

    由于有多个方向滤波核,因此最终每个像素点对应的滤波像素值也有多个。

    s104:将每个该像素点的原始像素值替换为与该像素点的原始像素值之间差值最小的滤波像素值,得到优化后的二维深度图。

    点云优化设备获取到每个像素点的所有滤波像素值中与该像素点的原始像素值之间差值最小的滤波像素值,用其替换该像素点的原始像素值,从而得到优化后的二维深度图。

    具体地,点云优化设备执行如下步骤,获取每个像素点对应的与原始像素值之间差值最小的滤波像素值。

    初始化设置,令i=1,diffmin= ∞,qmin(centerx,centery)= ∞,

    获取位置为(centerx,centery)的像素点对应的第i个滤波像素值qi(centerx,centery),

    若qi(centerx,centery)-p(centerx,centery)<diffmin,

    则,

    否则,令i=i 1,

    若i≤n,则跳转回第二步,否则,输出qmin(centerx,centery),

    将位置为(centerx,centery)的像素点的原始像素值替换为qmin(centerx,centery)。

    点云优化设备重复执行上述步骤,直至得到各个位置的像素点对应的与原始像素值之间差值最小的滤波像素值,并完成替换操作,最终得到优化后的二维深度图。

    需要说明的是,在执行上述步骤中的第二步,获取位置为(centerx,centery)的像素点对应的第i个滤波像素值qi(centerx,centery)时,其可以是在执行第二步时才去计算qi(centerx,centery),也可以是在其他线程中完成qi(centerx,centery)的计算,执行第二步时直接获取使用,上述两种实现方式均在本申请的保护范围内,相对来说,在其他线程中完成qi(centerx,centery)的计算,此处直接获取使用的方式算法执行效率更高。

    本申请实施例通过把目标物体对应的三维点云投影至相机成像平面,实现了对点云数据的降维处理,得到了三维点云对应的二维深度图,从而能够保证后续点云优化的实时性。之后,结合图像边缘形态的差异性,预设多个方向滤波核,使不同的方向滤波核的滤波边界充分体现不同形态的图像边缘,然后再通过每个预设的方向滤波核分别对二维深度图进行卷积滤波,得到每个像素点对应的多个滤波像素值,将每个该像素点的原始像素值替换为与该像素点的原始像素值之间差值最小的滤波像素值,得到优化后的二维深度图,进而不仅避免了常规滤波过程中复杂的参数调节,提高方法的鲁棒性,还能够在不影响图像边缘形态的情况下,实现对点云的平滑滤波处理,提高点云优化的准确性。

    在一个可选的实施例中,请参阅图7,为了能够在对点云进行平滑处理的同时,有效去除噪音像素点,步骤s104还包括s1041~s1043:

    s1041:获取与该像素点的原始像素值之间差值最小的滤波像素值。

    点云优化设备获取与该像素点的原始像素值之间差值最小的滤波像素值,但是并不直接进行替换。

    s1042:若最小差值不大于预设无效差值阈值,将该像素点的原始像素值替换为与该像素点的原始像素值之间差值最小的滤波像素值,得到优化后的二维深度图。

    点云优化设备判断最小差值是否不大于预设无效差值阈值,若是,再将该像素点的原始像素值替换为与该像素点的原始像素值之间差值最小的滤波像素值。

    在本申请实施例中,该预设无效差值阈值是根据先验数据选定的阈值,具体可以根据实际情况进设置,在此不进行限定。

    s1043:若该最小差值大于预设无效差值阈值,将该像素点的原始像素值替换为空值。

    若最小差值大于预设无效差值阈值,这表明对该像素点进行滤波后,获取到的滤波像素值均与原始像素值相差较大,该像素点为噪音像素点的概率较大,因而,点云优化设备替换该像素点的原始像素值替换为空值,也就表示该点没有深度值,进而,在形成优化后的二维深度图时该像素点空缺。

    在本实施例中,点云优化设备在获取该像素点的原始像素值之间差值最小的滤波像素值之后,没有直接用其替换原始像素值,而是对最小差值进行判断,确认该最小差值是否大于预设无效差值阈值,若是则判断该像素点为噪音像素点,从而进行去除,进而保证了在点云进行平滑处理的同时,能够有效去除噪音像素点,进一步提高后续的点云优化效果。

    请参阅图8,图8为本申请一个实施例提供的二维深度图的优化结果对比示意图。在图8中,左侧为原本的二维深度图,右侧为优化后的二维深度图。根据图8可以看出,优化后的二维深度图中,点云更为平滑,噪音像素点被有效去除。

    在另一个可选的实施例中,为实现目标物体的三维重建,请参阅图9,在执行完步骤s104之后,还包括步骤s105:

    s105:将该优化后的二维深度图中像素点的像素值转化为该三维点云中对应像素点的深度值,得到该目标物体对应的优化后的三维点云。

    点云优化设备将该优化后的二维深度图中像素点的像素值转化为该三维点云中对应像素点的深度值,得到该目标物体对应的优化后的三维点云。

    优化后的三维点云能够更准确地反应物体表面的情况,同时噪音点能够被有效去除,同时在整个运算过程中均是针对二维数据进行处理,因此能够满足优化的实时性。

    由于pcb电路板在生产过程中会存在一定的缺陷,因此可以通过电路板的点云,对电路板的缺陷进行检测。但是,在获取电路板的点云时,由于电路板上存在光滑焊锡或元器件,会造成镜面反射,进而产生大量的噪声点云,这些噪音点云会严重影响检测结果,因此,在本申请的一个可选实施例中,针对电路板的点云进行优化,提出一种电路板的点云优化方法,请参阅图10,包括步骤s201~s205,具体如下:

    s201:获取目标电路板对应的三维点云。

    该目标电路板可以为任意型号的电路板,关于其型号在此不进行限定。

    需要强调的是,获取目标电路板对应的三维点云时,相机成像平面与该目标电路板所在平面平行。

    s202:将该三维点云投影至相机成像平面,得到该三维点云对应的二维深度图;其中,该二维深度图中像素点的原始像素值为该三维点云中对应像素点的深度值。

    s203:根据多个预设的方向滤波核,分别对该二维深度图进行卷积滤波操作,得到该二维深度图中每个该像素点对应的多个滤波像素值;其中,每个该方向滤波核的滤波边界分别表示不同形态的图像边缘。

    s204:将每个该像素点的原始像素值替换为与该像素点的原始像素值之间差值最小的滤波像素值,得到该目标电路板对应的优化后的二维深度图。

    s205:将该优化后的二维深度图中像素点的像素值转化为该三维点云中对应像素点的深度值,得到该目标电路板对应的优化后的三维点云。

    关于步骤s201至步骤s205的执行主体以及解释说明均已在步骤s102~s105中阐述,区别仅在与本次目标物体为电路板,具体过程不再进行赘述。本实施例提供的对电路板的点云优化方法能够实现点云的平滑处理,并且不需要设置复杂的参数,同时能够处理变化较大的离群噪音点。

    请参阅图11,图11为本申请一个实施例提供的电路板的点云优化结果的对比示意图。图11中上方的两幅图分别为原始的电路板点云图和双边滤波后的电路板点云图,图11中下方的一幅图为运用本申请实施例提出的电路板的点云优化方法后得到的电路板的点云图。由图11可以看出,本申请实施例提供的电路板的点云优化方法在进行电路板的点云优化时,去除了区域1中的噪音点,区域2的点云能够更好地反应出电路板的实际情况。

    在一个可选的实施例中,在执行完步骤s205之后,点云优化设备还可以根据该优化后的三维点云重建该目标电路板的三维影像,对该目标电路板进行缺陷检测。

    点云优化设备根据该优化后的三维点云重建该目标电路板的三维影像,实现了对该目标电路板的缺陷检测,提高检测准确性的同时保证了检测速度,能够适用于电路板生产线上高速、高精度缺陷检测的需求。

    请参见图12,为本申请一个实施例提供的点云优化装置的结构示意图。该装置可以通过软件、硬件或两者的结合实现成为点云优化设备的全部或一部分。该装置12包括第一点云获取单元121、第一投影单元122、第一滤波单元123和第一优化单元124:

    第一点云获取单元121,用于获取目标物体对应的三维点云;

    第一投影单元122,用于将该三维点云投影至相机成像平面,得到该三维点云对应的二维深度图;其中,该二维深度图中像素点的原始像素值为该三维点云中对应像素点的深度值;

    第一滤波单元123,用于根据多个预设的方向滤波核,分别对该二维深度图进行卷积滤波操作,得到该二维深度图中每个该像素点对应的多个滤波像素值;其中,每个该方向滤波核的滤波边界分别表示不同形态的图像边缘;

    第一优化单元124,用于将每个该像素点的原始像素值替换为与该像素点的原始像素值之间差值最小的滤波像素值,得到优化后的二维深度图。

    本申请实施例通过把目标物体对应的三维点云投影至相机成像平面,实现了对点云数据的降维处理,得到了三维点云对应的二维深度图,从而能够保证后续点云优化的实时性。之后,结合图像边缘形态的差异性,预设多个方向滤波核,使不同的方向滤波核的滤波边界充分体现不同形态的图像边缘,然后再通过每个预设的方向滤波核分别对二维深度图进行卷积滤波,得到每个像素点对应的多个滤波像素值,将每个该像素点的原始像素值替换为与该像素点的原始像素值之间差值最小的滤波像素值,得到优化后的二维深度图,进而不仅避免了常规滤波过程中复杂的参数调节,提高方法的鲁棒性,还能够在不影响图像边缘形态的情况下,实现对点云的平滑滤波处理,提高点云优化的准确性。

    可选的,该装置12还包括:

    滤波核生成单元,用于基于该图像边缘的不同形态,划分该方向滤波核中的有效滤波区域和无效滤波区域,生成多个该方向滤波核;其中,该有效滤波区域和无效滤波区域的划分边界为该滤波边界。

    可选的,该滤波核生成单元包括:

    第一滤波核生成单元,用于根据该图像边缘的竖直形态,以竖直方向划分该方向滤波核中的有效滤波区域和无效滤波区域,生成包括竖直滤波边界的方向滤波核;

    第二滤波核生成单元,用于根据该图像边缘的水平形态,以水平方向划分该方向滤波核中的有效滤波区域和无效滤波区域,生成包括水平滤波边界的方向滤波核;

    第三滤波核生成单元,用于根据该图像边缘的倾斜形态,以倾斜方向划分该方向滤波核中的有效滤波区域和无效滤波区域,生成包括倾斜滤波边界的方向滤波核;

    第四滤波核生成单元,用于根据该图像边缘的转角形态,以角度改变方向划分该方向滤波核中的有效滤波区域和无效滤波区域,生成包括转角滤波边界的方向滤波核。

    可选的,该第一滤波单元123包括步骤:

    第一获取单元,用于根据第i个该方向滤波核的滤波中心在该二维深度图中对应的目标位置,得到该滤波中心对应的目标像素点;

    第二获取单元,用于根据该目标位置和第i个该方向滤波核的滤波半径,得到该二维深度图中该方向滤波核覆盖的目标区域;

    第三获取单元,用于基于该第i个方向滤波核中各个滤波元素的值、该目标区域内的像素点的原始像素值以及该第i个方向滤波核中有效滤波元素的数量,获取该目标像素点对应的第i个滤波像素值;

    第四获取单元,用于移动该第i个方向滤波核重复执行上述步骤,直至得到该二维深度图中每个像素点对应的第i个滤波像素值。

    可选的,第一优化单元124包括:

    第五获取单元,用于获取与该像素点的原始像素值之间差值最小的滤波像素值;

    第三优化单元,用于若该最小差值不大于预设无效差值阈值,将该像素点的原始像素值替换为与该像素点的原始像素值之间差值最小的滤波像素值,得到优化后的二维深度图。

    可选的,第一优化单元124还包括:

    替换单元,用于若该最小差值大于预设无效差值阈值,将该像素点的原始像素值替换为空值。

    可选的,该装置12还包括:

    转化单元,用于将该优化后的二维深度图中像素点的像素值转化为该三维点云中对应像素点的深度值,得到该目标物体对应的优化后的三维点云。

    请参见图13,为本申请一个实施例提供的电路板的点云优化装置的结构示意图。该装置可以通过软件、硬件或两者的结合实现成为点云优化设备的全部或一部分。该装置13包括第第二点云获取单元131、第二投影单元132、第二滤波单元133、第二优化单元134和第三点云获取单元135:

    第二点云获取单元131,用于获取目标电路板对应的三维点云;

    第二投影单元132,用于将该三维点云投影至相机成像平面,得到该三维点云对应的二维深度图;其中,该二维深度图中像素点的原始像素值为该三维点云中对应像素点的深度值;

    第二滤波单元133,用于根据多个预设的方向滤波核,分别对该二维深度图进行卷积滤波操作,得到该二维深度图中每个该像素点对应的多个滤波像素值;其中,每个该方向滤波核的滤波边界分别表示不同形态的图像边缘;

    第二优化单元134,用于将每个该像素点的原始像素值替换为与该像素点的原始像素值之间差值最小的滤波像素值,得到该目标电路板对应的优化后的二维深度图;

    第三点云获取单元135,用于将该优化后的二维深度图中像素点的像素值转化为该三维点云中对应像素点的深度值,得到该目标电路板对应的优化后的三维点云。

    本申请实施例通过把电路板对应的三维点云投影至相机成像平面,实现了对点云数据的降维处理,得到了三维点云对应的二维深度图,从而能够保证后续点云优化的实时性。之后,结合图像边缘形态的差异性,预设多个方向滤波核,使不同的方向滤波核的滤波边界充分体现不同形态的图像边缘,然后再通过每个预设的方向滤波核分别对二维深度图进行卷积滤波,得到每个像素点对应的多个滤波像素值,将每个该像素点的原始像素值替换为与该像素点的原始像素值之间差值最小的滤波像素值,得到优化后的二维深度图,将该优化后的二维深度图中像素点的像素值转化为该三维点云中对应像素点的深度值,得到该目标电路板对应的优化后的三维点云,进而不仅避免了常规滤波过程中复杂的参数调节,提高方法的鲁棒性,还能够在不影响图像边缘形态的情况下,实现对电路板点云的平滑滤波处理,提高电路板点云优化的准确性。

    请参见图14,为本申请一个实施例提供的点云优化设备的结构示意图。如图14所示,该点云优化设备14可以包括:处理器140、存储器140以及存储在该存储器140并可以在该处理器140上运行的计算机程序142,例如:点云优化程序或电路板的点云优化程序;该处理器140执行该计算机程序142时实现上述各方法实施例中的步骤,例如图1所示的步骤s101至s104。或者,该处理器140执行该计算机程序142时实现上述各装置实施例中各模块/单元的功能,例如图12所示模块121至124的功能,或者图13所示模块131至135的功能。

    其中,该处理器140可以包括一个或多个处理核心。处理器140利用各种接口和线路连接该点云优化设备14内的各个部分,通过运行或执行存储在存储器141内的指令、程序、代码集或指令集,以及调用存储器141内的数据,执行点云优化设备14的各种功能和处理数据,可选的,处理器140可以采用数字信号处理(digitalsignalprocessing,dsp)、现场可编程门阵列(field-programmablegatearray,fpga)、可编程逻辑阵列(programblelogicarray,pla)中的至少一个硬件形式来实现。处理器140可集成中央处理器(centralprocessingunit,cpu)、图像处理器(graphicsprocessingunit,gpu)和调制解调器等中的一种或几种的组合。其中,cpu主要处理操作系统、用户界面和应用程序等;gpu用于负责触摸显示屏所需要显示的内容的渲染和绘制;调制解调器用于处理无线通信。可以理解的是,上述调制解调器也可以不集成到处理器140中,单独通过一块芯片进行实现。

    其中,存储器141可以包括随机存储器(randomaccessmemory,ram),也可以包括只读存储器(read-onlymemory)。可选的,该存储器141包括非瞬时性计算机可读介质(non-transitorycomputer-readablestoragemedium)。存储器141可用于存储指令、程序、代码、代码集或指令集。存储器141可包括存储程序区和存储数据区,其中,存储程序区可存储用于实现操作系统的指令、用于至少一个功能的指令(比如触控指令等)、用于实现上述各个方法实施例的指令等;存储数据区可存储上面各个方法实施例中涉及到的数据等。存储器141可选的还可以是至少一个位于远离前述处理器140的存储装置。

    本申请实施例还提供了一种计算机存储介质,该计算机存储介质可以存储有多条指令,该指令适用于由处理器加载并执行上述图1、图6、图7和图9或者图10所示实施例的方法步骤,具体执行过程可以参见图1、图6、图7和图9或者图10所示实施例的具体说明,在此不进行赘述。

    所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,仅以上述各功能单元、模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能单元、模块完成,即将该装置的内部结构划分成不同的功能单元或模块,以完成以上描述的全部或者部分功能。实施例中的各功能单元、模块可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中,上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。另外,各功能单元、模块的具体名称也只是为了便于相互区分,并不用于限制本申请的保护范围。上述系统中单元、模块的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。

    在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述或记载的部分,可以参见其它实施例的相关描述。

    本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。

    在本发明所提供的实施例中,应该理解到,所揭露的装置/终端设备和方法,可以通过其它的方式实现。例如,以上所描述的装置/终端设备实施例仅是示意性的,例如,该模块或单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通讯连接可以是通过一些接口,装置或单元的间接耦合或通讯连接,可以是电性,机械或其它的形式。

    该作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。

    另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。

    该集成的模块/单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明实现上述实施例方法中的全部或部分流程,也可以通过计算机程序来指令相关的硬件来完成,该计算机程序可存储于一计算机可读存储介质中,该计算机程序在被处理器执行时,可实现上述各个方法实施例的步骤。其中,该计算机程序包括计算机程序代码,该计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。

    本发明并不局限于上述实施方式,如果对本发明的各种改动或变形不脱离本发明的精神和范围,倘若这些改动和变形属于本发明的权利要求和等同技术范围之内,则本发明也意图包含这些改动和变形。


    技术特征:

    1.一种点云优化方法,其特征在于,包括步骤:

    获取目标物体对应的三维点云;

    将所述三维点云投影至相机成像平面,得到所述三维点云对应的二维深度图;其中,所述二维深度图中像素点的原始像素值为所述三维点云中对应像素点的深度值;

    根据多个预设的方向滤波核,分别对所述二维深度图进行卷积滤波操作,得到所述二维深度图中每个所述像素点对应的多个滤波像素值;其中,每个所述方向滤波核的滤波边界分别表示不同形态的图像边缘;

    将每个所述像素点的原始像素值替换为与所述像素点的原始像素值之间差值最小的滤波像素值,得到优化后的二维深度图。

    2.根据权利要求1所述的点云优化方法,其特征在于,所述根据多个预设的方向滤波核,分别对所述二维深度图进行卷积滤波操作之前,包括步骤:

    基于所述图像边缘的不同形态,划分所述方向滤波核中的有效滤波区域和无效滤波区域,生成多个所述方向滤波核;其中,所述有效滤波区域和无效滤波区域的划分边界为所述滤波边界。

    3.根据权利要求2所述的点云优化方法,其特征在于,所述图像边缘的形态包括竖直形态、水平形态、倾斜形态和转角形态,

    所述基于所述图像边缘的不同形态,划分所述方向滤波核中的有效滤波区域和无效滤波区域,生成多个所述方向滤波核,包括步骤:

    根据所述图像边缘的竖直形态,以竖直方向划分所述方向滤波核中的有效滤波区域和无效滤波区域,生成包括竖直滤波边界的方向滤波核;

    根据所述图像边缘的水平形态,以水平方向划分所述方向滤波核中的有效滤波区域和无效滤波区域,生成包括水平滤波边界的方向滤波核;

    根据所述图像边缘的倾斜形态,以倾斜方向划分所述方向滤波核中的有效滤波区域和无效滤波区域,生成包括倾斜滤波边界的方向滤波核;

    根据所述图像边缘的转角形态,以角度改变方向划分所述方向滤波核中的有效滤波区域和无效滤波区域,生成包括转角滤波边界的方向滤波核。

    4.根据权利要求1所述的点云优化方法,其特征在于,所述根据多个预设的方向滤波核,分别对所述二维深度图进行卷积滤波操作,得到所述二维深度图中每个所述像素点对应的多个滤波像素值,包括步骤:

    根据第i个所述方向滤波核的滤波中心在所述二维深度图中对应的目标位置,得到所述滤波中心对应的目标像素点;

    根据所述目标位置和第i个所述方向滤波核的滤波半径,得到所述二维深度图中所述方向滤波核覆盖的目标区域;

    基于所述第i个方向滤波核中各个滤波元素的值、所述目标区域内的像素点的原始像素值以及所述第i个方向滤波核中有效滤波元素的数量,获取所述目标像素点对应的第i个滤波像素值;

    移动所述第i个方向滤波核重复执行上述步骤,直至得到所述二维深度图中每个像素点对应的第i个滤波像素值。

    5.根据权利要求1所述的点云优化方法,其特征在于,将每个所述像素点的原始像素值替换为与所述像素点的原始像素值之间差值最小的滤波像素值,得到优化后的二维深度图,包括步骤:

    获取与所述像素点的原始像素值之间差值最小的滤波像素值和最小差值;

    若所述最小差值不大于预设无效差值阈值,将所述像素点的原始像素值替换为与所述像素点的原始像素值之间差值最小的滤波像素值,得到优化后的二维深度图。

    6.根据权利要求5所述的点云优化方法,其特征在于,还包括步骤:

    若所述最小差值大于预设无效差值阈值,将所述像素点的原始像素值替换为空值。

    7.根据权利要求1所述的点云的优化方法,其特征在于,所述得到优化后的二维深度图之后,还包括步骤:

    将所述优化后的二维深度图中像素点的像素值转化为所述三维点云中对应像素点的深度值,得到所述目标物体对应的优化后的三维点云。

    8.一种电路板的点云优化方法,其特征在于,包括步骤:

    获取目标电路板对应的三维点云;

    将所述三维点云投影至相机成像平面,得到所述三维点云对应的二维深度图;其中,所述二维深度图中像素点的原始像素值为所述三维点云中对应像素点的深度值;

    根据多个预设的方向滤波核,分别对所述二维深度图进行卷积滤波操作,得到所述二维深度图中每个所述像素点对应的多个滤波像素值;其中,每个所述方向滤波核的滤波边界分别表示不同形态的图像边缘;

    将每个所述像素点的原始像素值替换为与所述像素点的原始像素值之间差值最小的滤波像素值,得到所述目标电路板对应的优化后的二维深度图;

    将所述优化后的二维深度图中像素点的像素值转化为所述三维点云中对应像素点的深度值,得到所述目标电路板对应的优化后的三维点云。

    9.一种点云优化装置,其特征在于,包括:

    第一点云获取单元,用于获取目标物体对应的三维点云;

    第一投影单元,用于将所述三维点云投影至相机成像平面,得到所述三维点云对应的二维深度图;其中,所述二维深度图中像素点的原始像素值为所述三维点云中对应像素点的深度值;

    第一滤波单元,用于根据多个预设的方向滤波核,分别对所述二维深度图进行卷积滤波操作,得到所述二维深度图中每个所述像素点对应的多个滤波像素值;其中,每个所述方向滤波核的滤波边界分别表示不同形态的图像边缘;

    第一优化单元,用于将每个所述像素点的原始像素值替换为与所述像素点的原始像素值之间差值最小的滤波像素值,得到优化后的二维深度图。

    10.一种电路板的点云优化装置,其特征在于,包括:

    第二点云获取单元,用于获取目标电路板对应的三维点云;

    第二投影单元,用于将所述三维点云投影至相机成像平面,得到所述三维点云对应的二维深度图;其中,所述二维深度图中像素点的原始像素值为所述三维点云中对应像素点的深度值;

    第二滤波单元,用于根据多个预设的方向滤波核,分别对所述二维深度图进行卷积滤波操作,得到所述二维深度图中每个所述像素点对应的多个滤波像素值;其中,每个所述方向滤波核的滤波边界分别表示不同形态的图像边缘;

    第二优化单元,用于将每个所述像素点的原始像素值替换为与所述像素点的原始像素值之间差值最小的滤波像素值,得到所述目标电路板对应的优化后的二维深度图;

    第三点云获取单元,用于将所述优化后的二维深度图中像素点的像素值转化为所述三维点云中对应像素点的深度值,得到所述目标电路板对应的优化后的三维点云。

    11.一种点云优化设备,其特征在于,包括:处理器、存储器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现如权利要求1至7或者8所述方法的步骤。

    12.一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至7或者8所述方法的步骤。

    技术总结
    本发明涉及一种点云优化方法、装置及设备,该点云优化方法包括:获取目标物体对应的三维点云;将三维点云投影至相机成像平面,得到三维点云对应的二维深度图;其中,二维深度图中像素点的原始像素值为三维点云中对应像素点的深度值;根据多个预设的方向滤波核,分别对二维深度图进行卷积滤波操作,得到二维深度图中每个像素点对应的多个滤波像素值;其中,每个方向滤波核的滤波边界分别表示不同形态的图像边缘;将每个像素点的原始像素值替换为与像素点的原始像素值之间差值最小的滤波像素值,得到优化后的二维深度图。相对于现有技术,本申请通过预设多个方向滤波核,实现了对点云的平滑滤波处理,提高点云优化的准确性。

    技术研发人员:李玉成
    受保护的技术使用者:广州视源电子科技股份有限公司
    技术研发日:2020.11.16
    技术公布日:2021.03.12

    转载请注明原文地址:https://wp.8miu.com/read-16812.html

    最新回复(0)