本发明属于机器视觉领域,更具体地,涉及一种基于线结构光点云的连续凹槽的轨迹追踪方法及系统。
背景技术:
1、在工业生产和自动化制造中,检测和处理凹槽(如焊缝连接处形成的槽、产品装配连接处的凹槽等)的轨迹是一项重要任务。基于图像的处理方法存在图像分辨率不足精度差、复杂轨迹拍照位存在遮挡和多视角模板匹配对形变鲁棒性差,使凹槽轨迹提取受到限制,影响准确性和可靠性。基于点云体积、重心、pca主成分、外接球矩形的几何形状的方法难以准确找到凹槽区别于其他的独特特征,基于pfh(点特征直方图)、fpfh(快速点特征直方图)、shot(旋转不变特征)等特征描述符的方法存在计算量大实时性差的问题,基于配准的方法存在对形变适应性差、需要标准模型、对同类特征没有泛化能力的问题。
2、因此,亟需针对连续凹型槽的轨迹生成问题提出新的方法,能统一解决连续槽轨迹提取问题,同时兼顾效率和精度。
技术实现思路
1、针对现有技术的以上缺陷或改进需求,本发明提供了一种基于线结构光点云的连续凹槽的轨迹追踪方法及系统,其目的在于,由此解决现有技术中通过示教进行凹型槽连续轨迹生成存在的检测效率低、缺乏泛化性,精度不足,不能满足自动化生产需求的问题。
2、为实现上述目的,按照本发明的一个方面,提供了一种基于线结构光点云的连续凹槽的轨迹追踪方法,包括如下步骤:
3、步骤s100,使用线激光扫描仪沿凹槽的方向扫描,获得由各条激光线点云拼接成的点云数据;
4、步骤s200,计算每条激光线上的特征,包括反映高度变化大小的特征和水平线产生高度突变的特征;
5、步骤s300,根据预设的高度落差范围和突变程度判断激光线上的凹槽特征点;
6、步骤s400,从起点搜索,根据凹槽的轨迹的连续性,根据特征点沿着激光线从起点递推形成连续轨迹点,得到连续凹槽的轨迹。
7、进一步地,步骤s200包括:
8、步骤s210,计算一条激光线的高度落差信息并计算高度落差信息的峰值点和峰值;
9、步骤s220,计算一条激光线的方差比信息并计算方差比信息的峰值点和峰值。
10、进一步地,步骤s210中,首先将一条激光线上的深度数据表示为一个离散序列;对于该激光线上的每个点pi,计算点pi左右窗口的深度平均值,然后求左右窗口的深度平均值之差的绝对值δhi,即:
11、δhi=|mean(pi-n,…,pi-1)-mean(pi+1,…,pi+n)|
12、其中,n表示窗口的大小,mean()表示求深度平均值,pi-n表示左窗口的点,pi+n表示右窗口的点;峰值点对应于高度落差信息中的最大值,而峰值则是该峰值点对应的落差值;通过计算高度落差信息序列的峰值和其对应的峰值点索引,确定激光线上的高度落差的大小,以反映凹槽的轮廓;
13、步骤s220中,计算左右窗口的方差之和,并与双边窗口的方差进行比较,即:
14、
15、其中,sum()表示求和,var()表示求方差。
16、进一步地,步骤s300包括:
17、步骤s310,遍历高度落差峰值索引,如果其落差范围大于等于预设的高度落差下限小于等于预设的高度落差上限,同时存在一个方差比峰值索引与高度落差峰值索引绝对差小于等于预设的方差和高度的最大错峰距离,则认为该高度落差峰值索引为凹槽点;
18、步骤s320,方差搜索下限从初始特征方差比开始按方差比递减量依次递减,直到凹槽点集合非空且特征方差比大于等于特征方差比的下限。
19、进一步地,步骤s310包括:
20、设置初始特征方差比和方差比递减量,初始特征方差比的设置是根据对凹槽成像质量的预判断,保证在初始特征方差比的条件下,正常的凹槽可以被准确识别;
21、当搜索的特征方差比大于等于1时,若上一次对激光线上的数据搜索时没有找到凹槽点索引,则搜索的特征方差比减去递减量;
22、按更新的搜索特征方差比进行搜索,如果最小的特征方差比也找不到凹槽点索引,则判断这条激光线上没有凹槽点。
23、进一步地,步骤s400包括:
24、步骤s410,根据初始线上的初始点,在搜索范围内寻找下一条激光线上的凹槽点;
25、步骤s420,精确定位凹槽点,更新轨迹点搜索下一条激光线直到终止线;具体地,已知激光线上一点的索引,下一条激光线的搜索范围包括前一点的索引±搜索范围参数;每当在新的激光线上定位了凹槽,则通过向凹槽较高一侧旋转使得轨迹点落入凹槽形成的极小值点,同时这一轨迹点的索引会更新为上一点的索引。
26、进一步地,步骤s420包括:
27、步骤s421,取当前判断的凹槽点左右窗口点,当前点的x索引为0,将深度序列信息转化为实际间隔的点云信息,在x-z坐标系表示:
28、x=idx*x_resolution
29、z=height
30、其中,idx表示当前激光线上的点对应的索引,x_resolution表示当前激光线上的点的分辨率,height表示当前激光线上的点的z坐标值;
31、步骤s422,将x-z对应的序列绕原点向凹槽较高一侧旋转45°,这样保证凹槽点变为局部极小值点;
32、步骤s423,寻找x-z对应的序列中的局部极小值对应的索引k;
33、步骤s424,更新当前轨迹点索引为:
34、idx′=idx-window+k
35、其中,idx’表示当前激光线上的点更新后的索引,window表示精确定位的窗口大小;
36、步骤s425,更新上一点索引为idx′。
37、进一步地,还包括步骤s500,将连续轨迹点沿着固定的方向偏移一段距离或者沿着连续轨迹点的法向偏移一段固定的距离。
38、进一步地,步骤s500包括:
39、计算当前轨迹的曲率ρ和法向c;
40、
41、其中,m表示当前点的邻域内的点数,i=1~m,pi表示当前点的邻域内的第i个点,p0表示当前点,x”、y”、z”分别表示当前点的xyz坐标的二阶导数,x’、y’、z’分别表示当前点的xyz坐标的一阶导数,t表示转置;
42、将轨迹点沿法向方向沿凹槽较低的一侧偏离固定的距离,得到新的二维坐标;在深度图上,插值新的二维坐标对应的深度,新的坐标作为偏移后的轨迹点。
43、按照本发明的另一个方面,提高了一种基于线结构光点云的连续凹槽的轨迹追踪系统,包括存储器、处理器及存储在存储器上的计算机程序,所述处理器执行所述计算机程序以实现如前任一项所述的基于线结构光点云的连续凹槽的轨迹追踪方法的步骤。
44、总体而言,本发明所构思的以上技术方案与现有技术相比,能够取得下列有益效果:
45、(1)本发明的方法通过计算反映高度变化大小的特征和水平线产生高度突变的特征,以识别出突变点的位置,确保了对每条激光线深度信息的精确分析,从而识别出凹槽的关键特征点;进而,从起点搜索,根据凹槽的轨迹的连续性,根据特征点沿着激光线从起点递推形成连续轨迹点可以边扫描边循迹,因此可以追踪一条完整的轨迹线。
46、(2)本发明保证了轨迹从起始激光线连续生成到终止激光线,而轨迹点的密度由搜索间隔决定,搜索间隔乘以x轴激光点分辨率等于轨迹点的密度,因而调整轨迹点的密度可以通过调整搜索间隔实现,进而可以实现与传感器精度同级别的轨迹追踪,具有精度高、实时检测的优点,适用于各类连续槽的轨迹生成。
1.一种基于线结构光点云的连续凹槽的轨迹追踪方法,其特征在于,包括如下步骤:
2.根据权利要求1所述的一种基于线结构光点云的连续凹槽的轨迹追踪方法,其特征在于,步骤s200包括:
3.根据权利要求2所述的一种基于线结构光点云的连续凹槽的轨迹追踪方法,其特征在于,步骤s210中,首先将一条激光线上的深度数据表示为一个离散序列;对于该激光线上的每个点pi,计算点pi左右窗口的深度平均值,然后求左右窗口的深度平均值之差的绝对值δhi,即:
4.根据权利要求3所述的一种基于线结构光点云的连续凹槽的轨迹追踪方法,其特征在于,步骤s300包括:
5.根据权利要求4所述的一种基于线结构光点云的连续凹槽的轨迹追踪方法,其特征在于,步骤s310包括:
6.根据权利要求1所述的一种基于线结构光点云的连续凹槽的轨迹追踪方法,其特征在于,步骤s400包括:
7.根据权利要求6所述的一种基于线结构光点云的连续凹槽的轨迹追踪方法,其特征在于,步骤s420包括:
8.根据权利要求1所述的一种基于线结构光点云的连续凹槽的轨迹追踪方法,其特征在于,还包括步骤s500,将连续轨迹点沿着固定的方向偏移一段距离或者沿着连续轨迹点的法向偏移一段固定的距离。
9.根据权利要求8所述的一种基于线结构光点云的连续凹槽的轨迹追踪方法,其特征在于,步骤s500包括:
10.一种基于线结构光点云的连续凹槽的轨迹追踪系统,包括存储器、处理器及存储在存储器上的计算机程序,其特征在于,所述处理器执行所述计算机程序以实现权利要求1~9任一项所述的基于线结构光点云的连续凹槽的轨迹追踪方法的步骤。