相交棱的检测方法、设备、系统、存储介质及程序产品与流程
未命名
10-25
阅读:111
评论:0
1.本发明涉及图像处理技术领域,尤其涉及一种相交棱的检测方法、设备、系统、存储介质及程序产品。
背景技术:
2.三维重建是指根据单视图或多视图的图像重建三维信息的过程,已被广泛应用于无人驾驶、医疗机器人以及虚拟现实等领域。
3.在工业领域,通常需要检测两个物体表面的相交棱,以基于相交棱做后续的处理操作。示例性的,在焊接领域,常常需要将两个工件进行焊接以得到一个焊接后的工件,当在焊接时需要获取焊缝的位置,以准确焊接,或者,在焊接后需要获取焊缝位置,以检查焊缝是否符合焊接要求。因此,如何准确获取相交棱的位置是急需解决的技术问题。
技术实现要素:
4.本发明提供一种相交棱的检测方法、设备、系统、存储介质及程序产品,用于准确确定相交棱的位置。
5.第一方面,本发明提供一种相交棱的检测方法,所述相交棱为两个夹角小于180
°
的物体表面的相交棱,应用于3d相机,所述3d相机包括光机和相机;所述相交棱的检测方法包括:
6.获取所述光机向待测物投影的多个方向的条纹图像,以及所述相机拍摄所述待测物得到的拍摄图像;其中,各条纹图像中条纹的方向不同;所述待测物包括所述相交棱;
7.对于所述相机的靶面上的任一目标像素点,根据多个方向中的至少部分方向的条纹图像和所述拍摄图像,确定该条纹图像对应的相位线,其中,该条纹图像对应的相位线为所述光机的靶面上与所述目标像素点相匹配的、且与该条纹图像中条纹的方向平行的直线;
8.根据各个目标像素点对应的相位线,确定所述待测物的点云数据;
9.根据所述待测物的点云数据,确定所述相交棱。
10.可选的,根据各个目标像素点对应的相位线,确定所述待测物的点云数据,包括:
11.针对每一目标像素点,根据多个方向中的至少部分方向的条纹图像对应的、与所述目标像素点匹配的相位线,确定所述目标像素点是否有效像素点;所述有效像素点对应于所述待测物上不受多重反射影响的位置点;
12.对各个所述有效像素点进行三维重建,得到所述待测物的点云数据。
13.可选的,根据多个方向中的至少部分方向的条纹图像对应的、与所述目标像素点匹配的相位线,确定所述目标像素点是否有效像素点,包括:
14.确定所述光机的靶面上所述目标像素点对应的极线;
15.根据所述极线与至少两个方向的条纹图像对应的相位线的相交信息,确定所述目标像素点是否为有效像素点;
16.其中,所述至少两个方向的条纹图像为所述多个方向的条纹图像中的任意两个方向的条纹图像。
17.可选的,根据所述极线与至少两个方向的条纹图像对应的相位线的相交信息,确定所述目标像素点是否为有效像素点,包括:
18.根据所述目标像素点对应的第一相位线和所述目标像素点对应的第二相位线的交点以及所述极线,确定所述目标像素点是否为有效像素点;
19.其中,所述第一相位线和第二相位线为所述至少两个方向的条纹图像对应的相位线中的任意两个相位线。
20.可选的,根据所述目标像素点对应的第一相位线和所述目标像素点对应的第二相位线的交点以及所述极线,确定所述目标像素点是否为有效像素点,包括:
21.确定所述交点到所述极线的垂直距离;
22.根据所述垂直距离与阈值确定所述目标像素点是否为有效像素点;其中,当所述垂直距离小于所述阈值时,所述目标像素点为所述有效像素点。
23.可选的,所述方法还包括:
24.接收用户输入的、在光机的靶面上允许的像素误差个数;
25.将所述像素误差个数在重建平面上对应的变化距离确定为所述阈值;所述重建平面为与所述光机的靶面平行且距离所述光机的靶面为预设距离的平面。
26.可选的,根据所述极线与至少两个方向的条纹图像对应的相位线的相交信息,确定所述目标像素点是否为有效像素点,包括:
27.确定所述至少两个方向的条纹图像对应的相位线与所述极线相交形成的多边形;
28.根据所述多边形的基础数据,确定所述目标像素点是否为有效像素点;
29.所述至少两个条纹图像中每一条纹图像的条纹方向与所述极线均不平行。
30.可选的,所述基础数据包括所述多边形的重心到所述多边形各边的距离;或者,所述多边形的重心到所述多边形各边的加权距离;
31.当所述多边形为三角形时,所述基础数据还包括所述三角形的面积。
32.可选的,根据所述多边形的基础数据,确定所述目标像素点是否为有效像素点,包括:
33.将所述基础数据与差距阈值进行比较,确定所述目标像素点是否为有效像素点;
34.其中,当所述基础数据包括两个方向的条纹图像对应的相位线和所述极线所形成的三角形的面积时,所述差距阈值为标准三角形的面积;标准三角形为当三角形的最短边与对应顶点的距离为允许最大偏差值时形成的三角形;所述允许最大偏差值为直线位置重复性测试标准差的倍数值;
35.当所述基础数据包括所述多边形的重心到所述多边形各边的距离时,所述差距阈值由多边形每条边对应的允许最大偏差值确定;
36.当所述基础数据包括所述多边形的重心到所述多边形各边的加权距离时,所述差距阈值为多边形的边数。
37.可选的,对各个所述有效像素点进行三维重建,包括:
38.针对每一有效像素点,将所述有效像素点对应的第一相位线或所述第二相位线与所述极线的交点确定为重建点;
39.根据所述有效像素点和所述有效像素点对应的重建点确定所述有效像素点对应的三维空间点。
40.可选的,对各个所述有效像素点进行三维重建,包括:
41.针对每一有效像素点,将所述有效像素点对应的多边形的重心确定为重建点;
42.根据所述有效像素点和所述有效像素点对应的重建点确定所述有效像素点对应的三维空间点。
43.可选的,所述待测物为工件,所述相交棱为对所述工件进行焊接时的焊缝。
44.第二方面,本发明提供一种电子设备,包括:至少一个处理器和存储器;
45.所述存储器存储计算机执行指令;
46.所述至少一个处理器执行所述存储器存储的计算机执行指令,使得所述至少一个处理器执行如第一方面任一项所述的方法。
47.第三方面,本发明提供一种相交棱的检测系统,所述系统包括3d相机和第二方面所述的电子设备;
48.所述3d相机包括光机和相机,所述光机用于向待测物投影的多个方向的条纹图像,所述相机用于拍摄所述待测物得到的拍摄图像;
49.所述电子设备用于执行如第一方面任一项所述的方法。
50.第四方面,本发明提供一种计算机可读存储介质,所述计算机可读存储介质中存储有计算机执行指令,当处理器执行所述计算机执行指令时,实现如第一方面任一项所述的方法。
51.第五方面,本发明提供一种计算机程序产品,包括计算机程序,所述计算机程序在被处理器执行时实现如第一方面任一项所述的方法。
52.本发明提供的一种相交棱的检测方法、设备、系统、存储介质及程序产品,应用于3d相机,所述3d相机包括光机和相机;所述相交棱的检测方法包括:获取所述光机向待测物投影的多个方向的条纹图像,以及所述相机拍摄所述待测物得到的拍摄图像;其中,各条纹图像中条纹的方向不同;所述待测物包括所述相交棱;对于所述相机的靶面上的任一目标像素点,根据各个方向的条纹图像和所述拍摄图像,确定该条纹图像对应的相位线,其中,该条纹图像对应的相位线为所述光机的靶面上与所述目标像素点相匹配的、且与该条纹图像中条纹的方向平行的直线;根据各个目标像素点对应的相位线,确定所述待测物的点云数据;根据所述待测物的点云数据,确定所述相交棱,由于相交棱的位置不受多重反射影响,通过投射多个方向的条纹图像确定多条相位线,根据多条相位线的位置关系可以确定未受多重反射影响的像素点,从而准确确定相交棱。
附图说明
53.此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本发明的实施例,并与说明书一起用于解释本发明的原理。
54.图1为本发明实施例提供的一种应用场景图;
55.图2为本发明实施例提供的一种三维重建的示意图;
56.图3为本发明实施例提供的一种黑白条纹错乱的示意图;
57.图4为本发明实施例提供的一种相交棱的检测方法的流程示意图;
58.图5为本发明实施例提供的一种通过两条相位线的交点与极线的垂直距离确定目标像素点是否为有效点的示意图;
59.图6为本发明实施例提供的一种三个方向的相位线的位置关系的示意图;
60.图7为本发明实施例提供的一种基于现有技术的方法得到的待测物的点云图;
61.图8为本发明实施例提供的一种基于本发明的方法得到的待测物的点云图;
62.图9为本发明实施例提供的一种电子设备的结构示意图。
63.通过上述附图,已示出本发明明确的实施例,后文中将有更详细的描述。这些附图和文字描述并不是为了通过任何方式限制本发明构思的范围,而是通过参考特定实施例为本领域技术人员说明本发明的概念。
具体实施方式
64.这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本发明相一致的所有实施方式。
65.图1为本发明实施例提供的一种应用场景图,如图1所示,物体1和物体2组成待测物,物体1和物体2之间存在一个相交棱(图1中箭头所指向的线),图1中的相交棱是指相互垂直的b面和c面相交的线,工厂通常存在确定相交棱的位置的需求。在实际中确定相交棱的两个平面不一定垂直。
66.针对上述问题,通常采用3d相机来获取相交棱的位置,3d相机中包含光机和相机,光机可以向待测物投射某一方向的条纹图像,相机可以拍摄投射有条纹图像的待测物。针对相机靶面上的一点p,根据拍摄图像中p这个像素点对应的条纹图像可以得到一条相位线,该相位线是位于光机靶面上的一条相位线。例如,根据拍摄图像确定的相机靶面上p点的解码信息为10100,若光机靶面上某一相位线的编码信息也为10100,则确定该相位线与p点对应,也就是光机靶面上与p点对应的点经过该相位线。
67.图2为本发明实施例提供的一种三维重建的示意图,如图2所示,对于相机的靶面上p点,相机的光心o2与p点连线的延长线在光机靶面上存在一个映射,该映射即为p点在光机靶面上的极线l1,也就是光机靶面上与p点对应的点经过该极线,因此根据极线和一条相位线l2即可确定光机靶面上与p点的对应点,再根据光机的光心o1和光机靶面上与p点的对应点可以确定出p点对应的三维空间点。
68.图3为本发明实施例提供的一种黑白条纹错乱的示意图,如图3所示,可以发现图中存在正常黑白条纹和发生错乱的黑白条纹,如图1所示,对于b面和c面为相互垂直的两个面,这两个面会存在相互反射,所以会出现黑白条纹发生错乱,而对于b面和c面的相交棱则不受多重反射的影响。
69.当黑白条纹发生错乱时,在根据拍摄的错误的黑白条纹解出相位线时,则相位线也是错误的,因此,根据极线和一条相位线确定的相机靶面上p点对应的三维空间点则会出现错误,也就是解出的b面和c面位置对应的点为飞点,也就是无法确定b面和c面位置的真实三维空间点,即使可以确定相交棱位置对应的真实三维空间点,但是相交棱位置对应的真实三维空间点也淹没在b面和c面位置对应的飞点中,依旧无法检测出相交棱的位置。
70.基于上述问题,本发明考虑通过光机投射多个方向的条纹图像,从而针对相机靶
面上的一个目标像素点,可以在光机靶面上得到对应的多条相位线,当相机靶面上的该点对应于待测物上不受多重反射影响的位置时,则可以正确解出光机靶面上的多条相位线,且则光机靶面上的多条相位线会交于一点;当相机靶面上的该点对应于待测物上受多重反射影响的位置时,则无法正确解出光机靶面上的多条相位线,且解出的光机靶面上的多条相位线所对应的交点会较为分散或距离较远,因此,通过多条相位线可以确定出相机靶面上的部分像素点,也就是未受多重反射影响的位置点所对应的像素点。最终,可以将这些未受多种反射影响的像素点进行三维重建,从而可以得到相交棱的位置。
71.需要说明的是,本发明中对于术语的简要说明,仅是为了方便理解接下来描述的实施方式,而不是意图限定本发明的实施方式。除非另有说明,这些术语应当按照其普通和通常的含义理解。
72.下面以具体的实施例对本发明的技术方案以及本发明的技术方案进行详细说明。下面这几个具体的实施例可以相互结合,对于相同或相似的概念或过程可能在某些实施例中不再赘述。在本发明的描述中,除非另有明确的规定和限定,各术语应在本领域内做广义理解。下面将结合附图,对本发明的实施例进行描述。
73.图4为本发明实施例提供的一种相交棱的检测方法的流程示意图,所述相交棱为两个夹角小于180
°
的物体表面的相交棱,应用于3d相机,所述3d相机包括光机和相机;如图4所示,所述方法包括:
74.步骤s401、获取所述光机向待测物投影的多个方向的条纹图像,以及所述相机拍摄所述待测物得到的拍摄图像;其中,各条纹图像中条纹的方向不同;所述待测物包括所述相交棱。
75.本实施例的执行主体可以为电子设备,电子设备与3d相机可以进行数据的传输。3d相机中存在光机和相机,其中,光机和相机之间存在固定的位置关系。
76.3d相机中的相机的数量可以为一个或多个,相机可以拍摄待测物在某一视角下的图像。光机可以用于投射多个方向的条纹图像,在任一方向的条纹图像中包含多个条纹图像,如黑白条纹图像,且多个条纹图像沿同一方向设置。示例性的,光机在某一时刻可以投射a方向的条纹图像,条纹图像的数量为多个;在下一时刻可以投射b方向的条纹图像,条纹图像的数量也为多个。
77.由于需要检测相交棱的位置,所以在投射条纹图像时,可以向待测物的容易观察到相交棱的一面投射条纹图像,相机在拍摄图像时,也可以拍摄待测物上存在相交棱的一面。由于相交棱为两个平面的交线,两个平面的夹角小于180
°
,因此,因此投射在待测物上的条纹图像会出现多重反射,从而导致在两个平面上的条纹图像会发生错乱。但是对于相交棱的位置,则不会受反射影响,条纹不会发生错乱。因此,通过确定拍摄图像中各个像素点对应的待测物上的位置点不受多重反射影响时,则可以得到相交棱的位置。
78.步骤s402、对于所述相机的靶面上的任一目标像素点,根据多个方向中的至少部分方向的条纹图像和所述拍摄图像,确定该条纹图像对应的相位线,其中,该条纹图像对应的相位线为所述光机的靶面上与所述目标像素点相匹配的、且与该条纹图像中条纹的方向平行的直线。
79.对于相机的靶面上的一个目标像素点,可以根据光机投射的各个条纹图像,以及拍摄图像来确定相位线。具体的,针对投射的一个方向的条纹图像来说,对于相机靶面上的
目标像素点,可以通过拍摄图像获取该目标像素点对应的条纹的解码信息(例如10100),示例性的,该条纹图像为竖直方向的黑白条纹,则在光机的靶面上可以遍历各条竖相位线,找到与解码信息相同的编码信息所对应的竖相位线,即编码信息也为10100的竖相位线。因此,针对一个目标像素点来说,根据一个方向的条纹图像可以确定出光机靶面上的一条相位线。
80.当存在多个方向的条纹图像时,则可以确定光机靶面上的至少部分方向的条纹图像对应的相位线。示例性的,投射5个方向的条纹图像时,则可以确定出5条相位线,或者,还可以仅确定其中的3条相位线或4条相位线。此处可以确定至少3条相位线,当仅存在两条相位线时,则两条相位线交于一点,当存在三条相位线时,则若目标像素点未受多重反射影响,则三条相位线交于一点,或者,三条相位线的交点会较为聚集;反之,则三条相位线的交点会较为分散或距离较远,因此,通过3条相位线可以对目标像素点是否受多重反射影响。
81.此外,确定的光机靶面上的相位线与投射的条纹图像的方向一致,示例性的,当投射的条纹图像的竖直方向的条纹时,则确定的相位线为竖相位线。
82.步骤s403、根据各个目标像素点对应的相位线,确定所述待测物的点云数据。
83.针对一个目标像素点来说,可以得到多条相位线,根据多条相位线可以最终确定待测物的点云数据,即待测物的点云数据为目标像素点为不受多重反射影响的位置点的点云数据。也就是说,可以根据各个目标像素点对应的相位线,确定所述待测物中不受多重反射影响的位置点的点云数据。
84.具体的,当目标像素点对应于待测物上受多重反射影响的位置点时,则不对该目标像素点进行三维重建,最终获取的待测物的点云数据中不包含该目标像素点的点云数据;或者,目标像素点对应于待测物上受多重反射影响的位置点时,可以将确定的该目标像素点对应的三维空间点从待测物的点云数据中删除。
85.示例性的,针对图1所述的待测物,获取的待测物的点云数据包含相交棱的点云数据,以及待测物上不受多重反射影响的其他位置点的点云数据,而不包含发生多重反射的b面与c面各个位置点的点云数据。
86.步骤s404、根据所述待测物的点云数据,确定所述相交棱。
87.当在获取待测物的点云数据后,可以从点云数据中确定相交棱所在的位置。由于点云数据中不包含发生多重反射的位置点对应的点云数据,则在点云图像上发生多重反射的位置点呈黑色,而相交棱则位于发生多重反射的位置点附近,且呈一条直线,因此,点云图像上黑色区域中的一条线即为相交棱所在的位置。
88.本发明提供的一种相交棱的检测方法,应用于3d相机,所述3d相机包括光机和相机;所述相交棱的检测方法包括:获取所述光机向待测物投影的多个方向的条纹图像,以及所述相机拍摄所述待测物得到的拍摄图像;其中,各条纹图像中条纹的方向不同;所述待测物包括所述相交棱;对于所述相机的靶面上的任一目标像素点,根据各个方向的条纹图像和所述拍摄图像,确定该条纹图像对应的相位线,其中,该条纹图像对应的相位线为所述光机的靶面上与所述目标像素点相匹配的、且与该条纹图像中条纹的方向平行的直线;根据各个目标像素点对应的相位线,确定所述待测物的点云数据;根据所述待测物的点云数据,确定所述相交棱,由于相交棱的位置不受多重反射影响,通过投射多个方向的条纹图像确定多条相位线,根据多条相位线的位置关系可以确定未受多重反射影响的像素点,从而准
确确定相交棱。
89.可选的,根据各个目标像素点对应的相位线,确定所述待测物的点云数据,包括:
90.针对每一目标像素点,根据多个方向的条纹图像对应的、与所述目标像素点匹配的相位线,确定所述目标像素点是否有效像素点;所述有效像素点对应于所述待测物上不受多重反射影响的位置点;对各个所述有效像素点进行三维重建,得到所述待测物的点云数据。
91.当在确定待测物的点云数据时,可以先确定目标像素点会否为有效像素点,当该目标像素点为有效像素点时,则继续对该目标像素点进行三维重建;反之,当该目标像素点不是有效像素点时,则不执行对该目标像素点进行三维重建的操作,从而提升确定待测物的点云数据的效率。
92.若针对任一目标像素点,均根据光机靶面上的与该目标像素点对应的多条相位线进行三维重建,则重建出的数据中存在非有效像素点对应的点云数据,而这些点云数据均为飞点,也就是重建的三维空间点不是该目标像素点对应的真实点云。而同时,我们仅关心相交棱的位置,对应非有效像素点对应的正确的点云数据无需获取。因此,可以先判断目标像素点是否为有效像素点,避免将所有的目标像素点进行三维重建后,再从重建的点云数据中剔除非有效像素点对应的点云数据。
93.可选的,在确定待测物的点云数据时,还可以对确定出的有效像素点进行筛选,对与相交棱位置对应的有效像素点进行三维重建。示例性的,当多个有效像素点可以组成一条直线,且该多个有效像素点的周围存在大量的非有效像素点时,则可以确定该多个有效点为相交棱的位置对应的像素点,可以筛选出该多个有效像素点,并对筛选出的多个有效像素点进行三维重建,可以进一步提高确定相交棱的位置的效率。
94.通过先确定目标像素点是否为有效像素点,再对有效像素点进行三维重建,可以提高获取待测物中不受多重反射影响的位置点的点云数据的效率。
95.可选的,根据多个方向的条纹图像对应的、与所述目标像素点匹配的相位线,确定所述目标像素点是否有效像素点,包括:
96.确定所述光机的靶面上所述目标像素点对应的极线;根据所述极线与至少两个方向的条纹图像对应的相位线的相交信息,确定所述目标像素点是否为有效像素点;其中,所述至少两个方向的条纹图像为所述多个方向的条纹图像中的任意两个方向的条纹图像。
97.当光机投射多个方向的条纹图像时,可以在光机的靶面上得到与相机靶面上目标像素点对应的多个相位线,为了确定出目标像素点是否为有效像素点,可以采用三个方向的条纹图像来确定。根据三条相位线的相交信息即可确定目标像素点是否为有效像素点。例如,当三个相位线交于一点,或三个相位线的三个交点距离较近时,则目标像素点为有效像素点,否则目标像素点不是有效像素点。
98.由于光机的靶面上存在与目标像素点对应的一条极线,因此,可以通过投射至少两个方向的条纹图像来得到光机的靶面上与目标像素点对应的至少两条相位线,从而通过极线与至少两条相位线的相交信息来确定目标像素点是否为有效像素点。
99.在确定与目标像素点对应的极线时,可以根据相机的光心、光机的光心以及目标像素点的位置来确定。
100.其中,此处对两个方向的条纹图像的条纹的方向不作限制,两个条纹的方向可以
均不与极线方向平行,或者,两个条纹的方向中的一个条纹方向不与极线方向平行。
101.通过设置至少两个方向的条纹图像以及极线可以确定目标像素点是否为有效像素点,可以减少光机投射的条纹图像的次数,减少计算量。
102.可选的,根据所述极线与至少两个方向的条纹图像对应的相位线的相交信息,确定所述目标像素点是否为有效像素点,包括:
103.根据所述目标像素点对应的第一相位线和所述目标像素点对应的第二相位线的交点以及所述极线,确定所述目标像素点是否为有效像素点;其中,所述第一相位线和第二相位线为所述至少两个方向的条纹图像对应的相位线中的任意两个相位线。
104.若采用两条相位线和极线来确定目标像素点是否为有效像素点,可以根据两条相位线的交点与极线的位置来确定。两条相位线可以形成一个交点,至少一条相位线与极线也会形成一个交点(两条相位线中至少一条相位线与极线不平行),当目标像素点为有效像素点时,两个交点为同一点,或者,两个交点的位置距离较近,因此,可以根据两条相位线的交点与极线的位置关系确定目标像素点是否为有效像素点。
105.示例性的,第一相位线可以为一竖相位线,第二相位线可以为一横相位线,第一相位线和第二相位线存在一个交点,根据该交点与极线的位置关系,可以确定目标像素点是否为有效像素点。
106.通过根据两条相位线的交点与极线的位置关系可以快速及准确的衡量目标像素点是否为有效像素点。
107.可选的,根据所述目标像素点对应的第一相位线和所述目标像素点对应的第二相位线的交点以及所述极线,确定所述目标像素点是否为有效像素点,包括:
108.确定所述交点到所述极线的垂直距离;根据所述垂直距离与阈值确定所述目标像素点是否为有效像素点;其中,当所述垂直距离小于所述阈值时,所述目标像素点为所述有效像素点。
109.当在根据两条相位线的交点与极线的位置确定目标像素点是否为有效像素点时,可以根据交点到极线的垂直距离来确定。具体的,可以设置阈值,当垂直距离小于阈值时,则表示目标像素点为有效像素点,当垂直距离大于等于目标像素点时,则表示目标像素点不是有效像素点。其中,阈值的设置可以根据经验进行设置。
110.图5为本为本发明实施例提供的一种通过两条相位线的交点与极线的垂直距离确定目标像素点是否为有效点的示意图。如图5所示,光机投射了两个方向的条纹图像,在光机靶面上可以确定两条相位线,分别为竖相位线l2和横相位线l3,根据竖相位线l2和横相位线l3的交点到极限的垂直距离是否在阈值范围内,若在则确定目标像素点为有效点,并将极线l1与竖相位线l2的交点确定为重建点,来得到目标像素点对应的三维空间点。其中,此处的阈值可以包含阈值上限和阈值下限,如图5中光机靶面上的两条虚线所示。
111.通过设置阈值,将两条相位线的交点到极线的垂直距离与阈值进行比较,可以准确确定有效像素点。
112.可选的,所述方法还包括:
113.接收用户输入的、在光机的靶面上允许的像素误差个数;将所述像素误差个数在重建平面上对应的变化距离确定为所述阈值;所述重建平面为与所述光机的靶面平行且距离所述光机的靶面为预设距离的平面。
114.当在设置阈值时,可以根据用户输入的信息来灵活设置。用户可以在3d相机上输入在光机的靶面上允许的像素误差个数,具体的,3d相机可以提供多种模式,如第一模式和第二模式,第一模式表示在光机的靶面上允许的像素误差个数为3;第二模式表示在光机的靶面上允许的像素误差个数为0.5。根据输入在光机的靶面上允许的像素误差个数可以计算阈值。
115.此外,3d相机还可以提供第三模式,在该模式下,则会直接投射一个方向的条纹图像,根据该条纹图像对应的相位线和极线确定重建点,并获取重建点对应的三维空间点。在第三模式不会只保留有效像素点对应的三维空间点,而是会将计算的所有像素点的三维空间点进行显示。
116.实际中,极线并非位于光机靶面上,而是位于光机的重建平面,该重建平面与光机的靶面,也就是dmd平面(digital mirror device,数码微镜器件所在的平面)是平行的,该重建平面距离光机的靶面的距离为预设距离,该预设距离可以为1米。当在光机的靶面上允许的像素误差个数确定时,则在重建平面上对应的变化距离也可以确定,将该变化距离可以确定为阈值。
117.通过用户输入在光机靶面上允许的像素误差个数可以确定阈值,实现对阈值的灵活设置。
118.可选的,根据所述极线与至少两个方向的条纹图像对应的相位线的相交信息,确定所述目标像素点是否为有效像素点,包括:
119.确定所述至少两个方向的条纹图像对应的相位线与所述极线相交形成的多边形;根据所述多边形的基础数据,确定所述目标像素点是否为有效像素点;所述至少两个条纹图像中每一条纹图像的条纹方向与所述极线均不平行。
120.当投射的至少两个条纹图像与极线均不平行时,则确定的任一条相位线与极线也不平行,因此,各个相位线与极线会交于一点,或者,形成多边形。当相交于一点时,则目标像素点为有效像素点,当相交形成多边形时,则目标像素点可能会是有效像素点,还可能为不是有效像素点。具体的,可以获取多边形的基础数据,根据该基础数据去判断目标像素点是否为有效像素点。基础数据可以是能够衡量多边形各个顶点的离散程度的指标。示例性的,基础数据可以为多边形的面积,多边形各边的边长之和等等,当面积越大时,则表示多边形各个顶点越离散,则目标像素点不是有效像素点,相反,则表示目标像素点为有效像素点。
121.图6为本发明实施例提供的一种三个方向的相位线的位置关系的示意图,如图6所示,三个相位线可以组成一个三角形,可以直观看出,当三角形形成的三个顶点越聚集时,则目标像素点为有效像素点的可能性越大。
122.当至少两条相位线与极线形成多边形时,则根据多边形的基础数据可以有效确定目标像素点是否为有效像素点。
123.可选的,所述基础数据包括所述多边形的重心到所述多边形各边的距离;或者,所述多边形的重心到所述多边形各边的加权距离;当所述多边形为三角形时,所述基础数据还包括所述三角形的面积。
124.基础数据可以为多边形的重心到所述多边形各边的距离,计算重心到多边形各边的距离之和。示例性的,当该确定的距离之和越大时,则表示目标像素点不是有效像素点。
重心可以认为是光机靶面上的对应点,也就是与目标像素点对应的位置点。
125.此外,此处的重心到所述多边形各边的距离还可以为加权距离,由于不同方向的相位线对该对应点的置信度不同,因此,还可以计算重心到多边形各边的加权距离。
126.其中,计算加权距离的方法可以为:针对多边形的每一条边均对应一个正确概率分布函数,根据该正确概率分布函数可以计算重心到该边的距离对应的权重,从而可以计算出加权距离。
127.其中,正确概率分布函数可以为ei(di),函数中的di替换为权重wi的倒数,并且令正确概率分布函数等于一固定常数,该常数为允许正确概率阈值,场景噪声越大则正确概率阈值越低,从而计算出该距离对应的权重。
128.示例性的,每一距离对应的权重的计算公式为:
[0129][0130]
其中,wi为第i个直线的距离权重,c为一常数。
[0131]
当确定出各个边对应的权重后,将重心与各个边之间的距离与对应的权重相乘,再将相乘结果相加,即可得到加权距离。通过将重心到多边形各边的距离对应的权重进行合理设置,使得确定出的加权距离更能反映重心是否为与目标像素点的对应点,从而可以进一步对目标像素点是否为有效像素点进行判断。
[0132]
此外,当相位线与极线形成三角形时,还可以计算三角形的面积。示例性的,当确定的面积越大时,表示目标像素点不是有效像素点,反之,则目标像素点为有效像素点。
[0133]
通过计算重心到多边形各边的距离,或者,加权距离,或者三角形的面积,可以当相位线与极线形成三角形时,有效的对目标像素点是否为有效像素点进行验证。
[0134]
可选的,根据所述多边形的基础数据,确定所述目标像素点是否为有效像素点,包括:
[0135]
将所述基础数据与差距阈值进行比较,确定所述目标像素点是否为有效像素点。
[0136]
其中,当所述基础数据包括两个方向的条纹图像对应的相位线和所述极线所形成的三角形的面积时,所述差距阈值为标准三角形的面积;标准三角形为当三角形的最短边与对应顶点的距离为允许最大偏差值时形成的三角形;所述允许最大偏差值为直线位置重复性测试标准差的倍数值。
[0137]
当所述基础数据包括所述多边形的重心到所述多边形各边的距离时,所述差距阈值由多边形每条边对应的允许最大偏差值确定。
[0138]
当所述基础数据包括所述多边形的重心到所述多边形各边的加权距离时,所述差距阈值为多边形的边数。
[0139]
当多边形为三角形时,若采用三角形的面积来确定目标像素点的有效性,可以根据标准三角形来确定。在理想情况下三条线交于一点,但是,此处允许存在一定的误差,即当形成三角形时,也有可能目标像素点为有效像素点。
[0140]
此时,可以先确定标准三角形,具体的,可以确定该三角形的最短边,该最短边对应的顶点的距离为允许最大偏差值时,形成的三角形为标准三角形。其中,该最大允许偏差值可以为直线位置重复性测试标准差的倍数值,倍数值可以根据实际情况来设置。
[0141]
当标准三角形的面积为3时,若此处计算的三角形的面积大于3,则表示该目标像
素点不是有效像素点。
[0142]
当采用的为重心到多边形各边的距离判断目标像素点是否为有效像素点时,则可以设置距离阈值,该差距阈值为多边形各条边对应的允许最大偏差值的和,且各条边对应的允许最大偏差值可以定义为直线位置重复性测试标准差的倍数值。
[0143]
示例性的,当多边形为四边形时,针对每一条边均存在一个允许最大偏差值,将计算出的四个允许最大偏差值求和即可得到距离阈值。
[0144]
此外,当采用多边形对应的加权距离判断目标像素点是否为有效像素点时,则差距阈值可以为边形边数。示例性的,当多边形为四边形时,则差距阈值为4。
[0145]
其中,当多边形为三角形时,也可以采用重心到所述多边形各边的距离或者加权距离来衡量目标像素点是否为有效像素点。
[0146]
针对不同的基础数据,可以采用不同的差距阈值来判断,基于多边形的边对应的允许最大偏差值可以体现测量场景的随机噪声,基于允许最大偏差值作为差距阈值,可以更加准确的衡量目标像素点是否为有效像素点。
[0147]
可选的,对各个所述有效像素点进行三维重建,包括:
[0148]
针对每一有效像素点,将所述有效像素点对应的第一相位线或所述第二相位线与所述极线的交点确定为重建点;根据所述有效像素点和所述有效像素点对应的重建点确定所述有效像素点对应的三维空间点。
[0149]
当在确定各个有效点后,若是通过第一相位线、第二相位线和极线确定出相机靶面上的目标像素点为有效像素点时,则可以将任一相位线与极线的交点确定为重建点。将光机的光心与重建点的连线的延长线,以及,相机的光心与有效像素点的连线的延长线的交点确定为有效像素点对应的三维空间点。
[0150]
由于对于相机靶面上的有效像素点来说,其对应在光机靶面上的点必定经过极线,则可以将极线与任一相位线的交点确定为重建点,以提高确定的有效点对应的三维空间点的准确率。
[0151]
如图2所示,相机的光心o2与相机靶面上p点的连线,以及,光机的光心o1和极线上的任意一点的连线必定会交于一点。因此,根据极线与第一相位线或第二相位线的交点确定p点对应的三维空间点时,具有较高的准确性。
[0152]
通过将有效像素点对应的第一相位线或所述第二相位线与所述极线的交点确定为重建点,可以提高确定有效像素点对应的三维空间点的准确性。
[0153]
可选的,对各个所述有效像素点进行三维重建,包括:
[0154]
针对每一有效像素点,将所述有效像素点对应的多边形的重心确定为重建点;根据所述有效像素点和所述有效像素点对应的重建点确定所述有效像素点对应的三维空间点。
[0155]
当至少两个方向的相位线与极线均不平行时,且至少两个方向的相位线与极线未交于同一点时,则至少两个方向的相位线和极线会形成多边形,为了综合考虑每一相位线与极线的交点位置,可以将多边形的重心确定为有效像素点对应的重心。
[0156]
由于至少两条相位线与极线均可以形成交点,则无法确定根据多个交点中的哪一个交点作为重建点,为了解决该问题,可以将多边形的重心确定为重建点。将相机的光心o2与相机靶面上p点的连线以及光机的光心和多边形重心的连线的交点确定的有效像素点的
三维空间点。
[0157]
通过将多边形的重心确定为重建点,使得在确定有效像素点对应的三维空间点时,能够综合考虑每一相位线与极线的交点位置,使得确定的有效像素点的三维空间点更准确。
[0158]
可选的,所述待测物为工件,所述相交棱为对所述工件进行焊接时的焊缝。
[0159]
当本发明的方法特别适用于焊接场景,针对焊接场景,相交棱即为焊缝,待测物为工件。在焊接场景下,存在强烈的焊接光,该焊接光会使得多重反射的问题更突出,该焊接场景具有复杂性,因此,可以将该相交棱的检测方法应用在该场景。如图1所示,在焊接场景下光干扰较强的两个表面为b面和c面,通过本技术的方法可以去除b面和c面对应的点云数据,从而保留用户关心的、且最关键的焊缝位置对应的点云数据。
[0160]
图7为本发明实施例提供的一种基于现有技术的方法得到的待测物的点云图,根据图7可以发现,现有技术获取的点云数据即包含b面和c面对应的飞点(图7中白色区域),也包含焊缝位置(位于白色区域中的一条紫色的直线),只是焊缝位置和飞点连成一片,用户无法区分。
[0161]
图8为本发明实施例提供的一种基于本发明的方法得到的待测物的点云图。根据图8可以发现,通过本发明的方法,可以将b面和c面(与焊缝位置相邻的黑色区域)的点云数据去除,从而用户可以区分焊缝的位置。
[0162]
其中,可以是在焊接两个工件之前确定焊缝位置,从而根据焊缝位置控制焊接工具自动焊接;还可以是在焊接后确定焊缝的位置,以根据焊缝位置进行后续的处理操作。
[0163]
图9为本发明实施例提供的一种电子设备的结构示意图。如图9所示,本实施例提供的电子设备包括:至少一个处理器901和存储器902。其中,处理器901、存储器902通过总线903连接。
[0164]
在具体实现过程中,至少一个处理器901执行存储器902存储的计算机执行指令,使得至少一个处理器901执行上述方法实施例中的方法。
[0165]
处理器901的具体实现过程可参见上述方法实施例,其实现原理和技术效果类似,本实施例此处不再赘述。
[0166]
在上述的图9所示的实施例中,应理解,处理器可以是中央处理单元(英文:central processing unit,简称:cpu),还可以是其他通用处理器、数字信号处理器(英文:digital signal processor,简称:dsp)、专用集成电路(英文:application specific integrated circuit,简称:asic)等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。结合发明所公开的方法的步骤可以直接体现为硬件处理器执行完成,或者用处理器中的硬件及软件模块组合执行完成。
[0167]
存储器可能包含高速ram存储器,也可能还包括非易失性存储nvm,例如至少一个磁盘存储器。
[0168]
总线可以是工业标准体系结构(industry standard architecture,isa)总线、外部设备互连(peripheral component,pci)总线或扩展工业标准体系结构(extended industry standard architecture,eisa)总线等。总线可以分为地址总线、数据总线、控制总线等。为便于表示,本发明附图中的总线并不限定仅有一根总线或一种类型的总线。
[0169]
本发明实施例还提供一种相交棱的检测系统,所述系统包括3d相机和图9所述的
电子设备;
[0170]
所述3d相机包括光机和相机,所述光机用于向待测物投影的多个方向的条纹图像,所述相机用于拍摄所述待测物得到的拍摄图像;
[0171]
所述电子设备用于实现上述方法实施例的方法。本发明实施例还提供一种计算机可读存储介质,计算机可读存储介质中存储有计算机执行指令,当处理器执行计算机执行指令时,实现上述方法实施例的方法。
[0172]
上述的计算机可读存储介质,上述可读存储介质可以是由任何类型的易失性或非易失性存储设备或者它们的组合实现,如静态随机存取存储器(sram),电可擦除可编程只读存储器(eeprom),可擦除可编程只读存储器(eprom),可编程只读存储器(prom),只读存储器(rom),磁存储器,快闪存储器,磁盘或光盘。可读存储介质可以是通用或专用计算机能够存取的任何可用介质。
[0173]
一种示例性的可读存储介质耦合至处理器,从而使处理器能够从该可读存储介质读取信息,且可向该可读存储介质写入信息。当然,可读存储介质也可以是处理器的组成部分。处理器和可读存储介质可以位于专用集成电路(application specific integrated circuits,简称:asic)中。当然,处理器和可读存储介质也可以作为分立组件存在于设备中。
[0174]
本发明实施例还提供一种计算机程序产品,包括计算机程序,该计算机程序被处理器执行时实现上述方法实施例的方法。
[0175]
本领域普通技术人员可以理解:实现上述各方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成。前述的程序可以存储于一计算机可读取存储介质中。该程序在执行时,执行包括上述各方法实施例的步骤;而前述的存储介质包括:rom、ram、磁碟或者光盘等各种可以存储程序代码的介质。
[0176]
最后应说明的是:以上各实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述各实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的范围。
技术特征:
1.一种相交棱的检测方法,所述相交棱为两个夹角小于180
°
的物体表面的相交棱,其特征在于,应用于3d相机,所述3d相机包括光机和相机;所述相交棱的检测方法包括:获取所述光机向待测物投影的多个方向的条纹图像,以及所述相机拍摄所述待测物得到的拍摄图像;其中,各条纹图像中条纹的方向不同;所述待测物包括所述相交棱;对于所述相机的靶面上的任一目标像素点,根据多个方向中的至少部分方向的条纹图像和所述拍摄图像,确定该条纹图像对应的相位线,其中,该条纹图像对应的相位线为所述光机的靶面上与所述目标像素点相匹配的、且与该条纹图像中条纹的方向平行的直线;根据各个目标像素点对应的相位线,确定所述待测物的点云数据;根据所述待测物的点云数据,确定所述相交棱。2.根据权利要求1所述的方法,其特征在于,根据各个目标像素点对应的相位线,确定所述待测物的点云数据,包括:针对每一目标像素点,根据多个方向中的至少部分方向的条纹图像对应的、与所述目标像素点匹配的相位线,确定所述目标像素点是否有效像素点;所述有效像素点对应于所述待测物上不受多重反射影响的位置点;对各个所述有效像素点进行三维重建,得到所述待测物的点云数据。3.根据权利要求2所述的方法,其特征在于,根据多个方向中的至少部分方向的条纹图像对应的、与所述目标像素点匹配的相位线,确定所述目标像素点是否有效像素点,包括:确定所述光机的靶面上所述目标像素点对应的极线;根据所述极线与至少两个方向的条纹图像对应的相位线的相交信息,确定所述目标像素点是否为有效像素点;其中,所述至少两个方向的条纹图像为所述多个方向的条纹图像中的任意两个方向的条纹图像。4.根据权利要求3所述的方法,其特征在于,根据所述极线与至少两个方向的条纹图像对应的相位线的相交信息,确定所述目标像素点是否为有效像素点,包括:根据所述目标像素点对应的第一相位线和所述目标像素点对应的第二相位线的交点以及所述极线,确定所述目标像素点是否为有效像素点;其中,所述第一相位线和第二相位线为所述至少两个方向的条纹图像对应的相位线中的任意两个相位线。5.根据权利要求4所述的方法,其特征在于,根据所述目标像素点对应的第一相位线和所述目标像素点对应的第二相位线的交点以及所述极线,确定所述目标像素点是否为有效像素点,包括:确定所述交点到所述极线的垂直距离;根据所述垂直距离与阈值确定所述目标像素点是否为有效像素点;其中,当所述垂直距离小于所述阈值时,所述目标像素点为所述有效像素点。6.根据权利要求5所述的方法,其特征在于,所述方法还包括:接收用户输入的、在光机的靶面上允许的像素误差个数;将所述像素误差个数在重建平面上对应的变化距离确定为所述阈值;所述重建平面为与所述光机的靶面平行且距离所述光机的靶面为预设距离的平面。7.根据权利要求3所述的方法,其特征在于,根据所述极线与至少两个方向的条纹图像
对应的相位线的相交信息,确定所述目标像素点是否为有效像素点,包括:确定所述至少两个方向的条纹图像对应的相位线与所述极线相交形成的多边形;根据所述多边形的基础数据,确定所述目标像素点是否为有效像素点;所述至少两个条纹图像中每一条纹图像的条纹方向与所述极线均不平行。8.根据权利要求7所述的方法,其特征在于,所述基础数据包括所述多边形的重心到所述多边形各边的距离;或者,所述多边形的重心到所述多边形各边的加权距离;当所述多边形为三角形时,所述基础数据还包括所述三角形的面积。9.根据权利要求8所述的方法,其特征在于,根据所述多边形的基础数据,确定所述目标像素点是否为有效像素点,包括:将所述基础数据与差距阈值进行比较,确定所述目标像素点是否为有效像素点;其中,当所述基础数据包括两个方向的条纹图像对应的相位线和所述极线所形成的三角形的面积时,所述差距阈值为标准三角形的面积;标准三角形为当三角形的最短边与对应顶点的距离为允许最大偏差值时形成的三角形;所述允许最大偏差值为直线位置重复性测试标准差的倍数值;当所述基础数据包括所述多边形的重心到所述多边形各边的距离时,所述差距阈值由多边形每条边对应的允许最大偏差值确定;当所述基础数据包括所述多边形的重心到所述多边形各边的加权距离时,所述差距阈值为多边形的边数。10.根据权利要求4-6任一项所述的方法,其特征在于,对各个所述有效像素点进行三维重建,包括:针对每一有效像素点,将所述有效像素点对应的第一相位线或所述第二相位线与所述极线的交点确定为重建点;根据所述有效像素点和所述有效像素点对应的重建点确定所述有效像素点对应的三维空间点。11.根据权利要求7-9任一项所述的方法,其特征在于,对各个所述有效像素点进行三维重建,包括:针对每一有效像素点,将所述有效像素点对应的多边形的重心确定为重建点;根据所述有效像素点和所述有效像素点对应的重建点确定所述有效像素点对应的三维空间点。12.根据权利要求1所述的方法,其特征在于,所述待测物为工件,所述相交棱为对所述工件进行焊接时的焊缝。13.一种电子设备,其特征在于,包括:至少一个处理器和存储器;所述存储器存储计算机执行指令;所述至少一个处理器执行所述存储器存储的计算机执行指令,使得所述至少一个处理器执行如权利要求1至12任一项所述的方法。14.一种相交棱的检测系统,其特征在于,所述系统包括3d相机和电子设备;所述3d相机包括光机和相机,所述光机用于向待测物投影的多个方向的条纹图像,所述相机用于拍摄所述待测物得到的拍摄图像;所述电子设备用于执行如权利要求1至12任一项所述的方法。
15.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有计算机执行指令,当处理器执行所述计算机执行指令时,实现如权利要求1至12任一项所述的方法。16.一种计算机程序产品,其特征在于,包括计算机程序,所述计算机程序在被处理器执行时实现如权利要求1-12中任一项所述的方法。
技术总结
本发明提供的一种相交棱的检测方法、设备、系统、存储介质及程序产品,应用于3D相机,3D相机包括光机和相机;通过获取光机向包括相交棱的待测物投影的多个方向的条纹图像,以及相机拍摄待测物得到的拍摄图像,各条纹图像中条纹的方向不同,对于相机的靶面上的任一目标像素点,根据多个方向中的至少部分方向中的至少部分方向的条纹图像和拍摄图像,确定该条纹图像对应的相位线,根据各个目标像素点对应的相位线,确定待测物的点云数据;根据待测物的点云数据,确定相交棱,由于相交棱的位置不受多重反射影响,通过投射多个方向的条纹图像确定多条相位线,根据多条相位线的位置关系可以确定未受多重反射影响的像素点,从而准确确定相交棱。相交棱。相交棱。
技术研发人员:孙妙妍 宋启原 李灵哲 张建伟 邵天兰 丁有爽
受保护的技术使用者:梅卡曼德(北京)机器人科技有限公司
技术研发日:2023.07.21
技术公布日:2023/10/20
版权声明
本文仅代表作者观点,不代表航家之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)
航空之家 https://www.aerohome.com.cn/
航空商城 https://mall.aerohome.com.cn/
航空资讯 https://news.aerohome.com.cn/
上一篇:一种齿轮固定用夹具的制作方法 下一篇:一种新型冷却装置的制作方法