一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种非完整点云条件下的车身R角视觉检测方法及系统与流程

2022-02-22 09:01:05 来源:中国专利 TAG:

一种非完整点云条件下的车身r角视觉检测方法及系统
技术领域
1.本发明属于视觉检测技术领域,具体涉及一种非完整点云条件下的车身r角视觉检测方法及系统。


背景技术:

2.然而随着人们汽车感知质量的日益重视,其外观质量甚至成为顾客购买该产品的决定性因素。汽车白车身r角的几何准确度是保证汽车装配合格、外形美观的重要因素。r角质量是实现车身感知质量高效、高精度检测与控制的关键。然而,目前汽车行业r角一般采用r规进行测量,其测量精度受人工经验影响,并且测量效率低下。随着光学传感器的测量精度不断提高,线激光检测逐渐应用到r角测量中,然而针对车身上的钣金件非完整圆弧,可提取特征信息少、拟合精度不高,这就迫切需要对r角的视觉检测方法的研究。
3.已有技术中,姜子钘等以大齿轮为研究对象,提出了半径差约束的最小二乘拟合法。该方法先计算出大齿轮上一贴片点的半径,再利用半径约束的最小二乘圆拟合法计算出大齿轮的中心,最后运用程序对模拟数据和实例数据进行处理,证明利用该方法能够有效提高拟合精度。但针小圆弧仍然难以满足检测精度。申请号为:cn105716540 a,提出一种二次电池方形壳体与顶盖r角装配属性的检测方法,通过检验内边缘轮廓线两侧的切线,经过旋转平移使两条切线与直角坐标系中的x轴y轴重合,从而将r角轮廓放入直角坐标系中,最后使用算法拟合r角,能够有效提升检测精度,但是仅适用于与两条切线相交的r角也就是1/4圆角,无法满足车身钣金件多类型圆弧的测量,并且效率不高。


技术实现要素:

4.为了解决上述问题,本发明提供了一种精度较高、且具有较好重复性和再现性的非完整点云条件下的车身r角视觉检测方法及系统,以满足工业装配线上高效快速的生产需求。具体技术方案如下:
5.一种非完整点云条件下的车身r角视觉检测方法,包括以下步骤:
6.s1:利用线激光相机对车身r角进行拍摄,获得拍摄后的车身r角点云轮廓数据;
7.s2:设定车身r角半径上下极值;
8.s3:对获取的车身r角点云轮廓数据进行处理;
9.s4:根据处理后的车身r角点云轮廓数据使用基于变半径的dbscan聚类算法,区分核心点、边界点、离群点,得到最终用来拟合r角的核心点;
10.s5:使用基于圆心约束的最小二乘法对r角的核心点进行拟合,得到r角的圆心及半径;
11.s6:将得到的r角的半径与设定的车身r角半径上下极值进行比较,确定r角是否满足设计规格的要求。
12.优选地,所述步骤s1中线激光相机入射角与r角所处车身平面的角度范围为[-30
°
,30
°
]。
[0013]
优选地,获得拍摄后的车身r角点云轮廓数据后从相机导出车身r角点云轮廓数据,将csv格式的文档转化为txt格式的文档,去除其中无效数据。
[0014]
优选地,所述步骤s1包括对车身r角点云轮廓数据进行双边滤波。
[0015]
优选地,所述步骤s3中对获取的车身r角点云轮廓数据进行处理包括以下步骤:
[0016]
s31:使用曲率对车身r角点云轮廓数据进行初步筛,设置曲率取值范围,计算车身r角点云轮廓数据的曲率并去除曲率小于曲率最小值或大于曲率最大值的数据,完成车身r角点云轮廓数据初步筛选;
[0017]
s32:根据数据量的大小对筛选后的车身r角点云轮廓数据进行变步长分组,得到若干组不同数据量的车身r角点云轮廓数据;
[0018]
s33:使用基于圆心约束的最小二乘法将每一组的车身r角点云轮廓数据进行圆拟合,得到每组的圆心坐标以及半径,再根据设定的车身r角半径上下极值再次筛选数据,将超出半径设置阈值的数据进行去除,得到处理后的车身r角点云轮廓数据。
[0019]
优选地,所述步骤s31中具体包括:
[0020]
s311:对车身r角点云轮廓数据进行分组,以相同数据间隔的三个数据点作为一组;
[0021]
s312:采用每组的三个数据点来拟合曲线,得到参数方程:;
[0022]
s313:在得到参数方程后,利用曲率公式计算这该组三个数据点所代表的曲线的曲率,将曲率大于或者小于曲率取值范围阈值的车身r角点云轮廓数据去除。
[0023]
优选地,采用每组数据的中间数据点的曲率作为该组数据拟合的曲线的曲率估计值,具体计算过程如下:
[0024]
设对应每组数据包括(x1,y1)、(x2,y2)、(x3,y3)三个数据点,以中间的数据点(x2,y2)的曲率作为该组数据拟合的曲线的曲率估计值,参数方程如下:
[0025][0026]
采用两段矢量的长度来作为取值范围:
[0027][0028][0029]
参数方程中的t满足如下条件:
[0030][0031]
则有:
[0032][0033]
以及:
[0034][0035]
写成矩阵形式:
[0036][0037]
以及:
[0038][0039]
简写为:
[0040][0041]
求出(a1,a2,a3)和(b1,b2,b3)就有了曲线的解析方程,计算变量的一次导数和二次导数得到:
[0042][0043]
该组3个数据点拟合的曲线最终的曲率k的计算方式为:
[0044][0045]
当曲率k大于或者小于曲率取值范围阈值时,将该组3个数据点的中间数据点(x2,y2)去除。
[0046]
优选地,所述曲率取值范围为其中为设置的车身r角半径上下极值的平均值。
[0047]
一种非完整点云条件下的车身r角视觉检测系统,包括数据获取模块、r角设置模块、数据处理模块、r角拟合模块、r角检测模块;所述数据获取模块、数据处理模块、r角拟合模块、r角检测模块依次连接;所述r角设置模块与r角检测模块连接;
[0048]
所述数据获取模块用于获取车身r角点云轮廓数据;
[0049]
所述r角设置模块用于设置车身r角公差限与上下极值;
[0050]
所述数据处理模块用于对获取的车身r角点云轮廓数据进行处理;所述r角拟合模块用于根据处理后的车身r角点云轮廓数据进行拟合得到r角的圆心及半径;所述r角检测模块用于根据设置的车身r角半径上下极值对拟合得到r角的圆心及半径进行比较,确定r角是否满足设计规格的要求。
[0051]
本发明的有益效果为:本发明通过对需要检测的车身r角进行拍照与激光线数据的提取,筛选车身r角的有效数据,并计算拟合出的r角大小的方法,来判断白车身的r角是否满足制造质量要求。相对比现有的仅以r角测量方法更加精确,整个测量过程不需要人为干预且测量效率更高。
[0052]
本发明通过点云轮廓拍摄及后续计算机处理,来判断汽车白车身的r角是否满足装配要求,由于整个检测过程受人为因素的影响很少,因此,具有良好的重复性和再现性。
附图说明
[0053]
为了更清楚地说明本发明具体实施方式或现有技术中的技术方案,下面将对具体实施方式或现有技术描述中所需要使用的附图作简单地介绍。在所有附图中,类似的元件或部分一般由类似的附图标记标识。附图中,各元件或部分并不一定按照实际的比例绘制。
[0054]
图1为本发明一种非完整点云条件下的车身r角视觉检测方法的流程示意图;
[0055]
图2为本发明拟合的效果示意图;
[0056]
图3为一种非完整点云条件下的车身r角视觉检测系统的原理示意图。
具体实施方式
[0057]
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
[0058]
应当理解,当在本说明书和所附权利要求书中使用时,术语“包括”和“包含”指示所描述特征、整体、步骤、操作、元素和/或组件的存在,但并不排除一个或多个其它特征、整体、步骤、操作、元素、组件和/或其集合的存在或添加。
[0059]
还应当理解,在本发明说明书中所使用的术语仅仅是出于描述特定实施例的目的而并不意在限制本发明。如在本发明说明书和所附权利要求书中所使用的那样,除非上下文清楚地指明其它情况,否则单数形式的“一”、“一个”及“该”意在包括复数形式。
[0060]
还应当进一步理解,在本发明说明书和所附权利要求书中使用的术语“和/或”是指相关联列出的项中的一个或多个的任何组合以及所有可能组合,并且包括这些组合。
[0061]
如图1所示,本实施例提供了一种非完整点云条件下的车身r角视觉检测方法,包括以下步骤:
[0062]
s1:利用线激光相机对车身r角进行拍摄,获得拍摄后的车身r角点云轮廓数据;其中,线激光相机入射角与r角所处车身平面的角度范围为[-30
°
,30
°
]。由于激光传感器本身误差和环境干扰,获得的数据一般比较杂乱,会有部分激光点未反射回传感器。而只有x坐标没有z坐标的数据,或超过线激光相机量程测得的数据或者在车身存在间隙处测量得到的数据都是无效数据,超过线激光相机量程是指线激光相机与r角距离超过线激光相机量
程。因此需要获得拍摄后的车身r角点云轮廓数据后从相机导出车身r角点云轮廓数据,将csv格式的文档转化为txt格式的文档,去除其中无效数据,并进行数据转置,将横向排列的数据转化为纵向排列形式,如此可以提高数据的有效性,提高后期拟合的精度。
[0063]
由于激光测量区域既有平面又有弧面,并且激光数据存在一定波动,会干扰进行后期曲率的计算,因此需要对数据进行滤波处理,因此去除无效数据后对车身r角点云轮廓数据进行滤波,具体是采用双边滤波进行点云滤波,通过取邻近采样点的加权平均来修正当前采样点的位置,既有效地对空间三维模型表面进行降噪,又保持点云数据中的几何特征信息,避免三维点云数据被过渡光滑,以减少几何因素对结果的影响,防止失真。
[0064]
s2:设定车身r角半径上下极值;为了保证拟合精度,所以需要输入车身r角半径上下极值作为基准数据与拟合的r角大小进行比较。
[0065]
s3:对获取的车身r角点云轮廓数据进行处理;对获取的车身r角点云轮廓数据进行处理包括以下步骤:
[0066]
s31:使用曲率对车身r角点云轮廓数据进行初步筛,设置曲率取值范围,计算车身r角点云轮廓数据的曲率并去除曲率小于曲率最小值或大于曲率最大值的数据,完成车身r角点云轮廓数据初步筛选;具体包括:
[0067]
s311:对车身r角点云轮廓数据进行分组,以相同数据间隔的三个数据点作为一组;例如:整条曲线一共30个点,将这30个点分组重新排列顺序,取点间隔为10,第一组为1号点,11号点,21号点;第二组为2号点,12号点,22号点;以此类推)。
[0068]
s312:采用每组的三个数据点来拟合曲线,得到参数方程:;
[0069]
s313:在得到参数方程后,利用曲率公式计算这该组三个数据点所代表的曲线的曲率,将曲率大于或者小于曲率取值范围阈值的车身r角点云轮廓数据去除。
[0070]
其中采用每组数据的中间数据点的曲率作为该组数据拟合的曲线的曲率估计值,具体计算过程如下:
[0071]
设对应每组数据包括(x1,y1)、(x2,y2)、(x3,y3)三个数据点,以中间的数据点(x2,y2)的曲率作为该组数据拟合的曲线的曲率估计值,参数方程如下:
[0072][0073]
采用两段矢量的长度来作为取值范围:
[0074][0075][0076]
参数方程中的t满足如下条件:
[0077][0078]
则有:
[0079][0080]
以及:
[0081][0082]
写成矩阵形式:
[0083][0084]
以及:
[0085][0086]
简写为:
[0087][0088]
求出(a1,a2,a3)和(b1,b2,b3)就有了曲线的解析方程,计算变量的一次导数和二次导数得到:
[0089][0090]
该组3个数据点拟合的曲线最终的曲率k的计算方式为:
[0091][0092]
当曲率k大于或者小于曲率取值范围阈值时,将该组3个数据点的中间数据点(x2,y2)去除。曲率取值范围为其中为设置的车身r角半径上下极值的平均值。
[0093]
本发明采用曲率取值范围对数据进行筛选,可以有效剔除采集的车身r角点云轮廓数据中对应的直线轮廓数据点和去除波动较大的点,保留其中的r角弧线轮廓数据点,提
高了拟合数据的有效性,因此提高了拟合精度。
[0094]
s32:根据数据量的大小对筛选后的车身r角点云轮廓数据进行变步长分组,即对去除曲率不符合曲率取值范围阈值的数据点后的车身r角点云轮廓数据进行变步长分组,得到若干组不同数据量的车身r角点云轮廓数据;例如:数据总量一共28个,分组每组10个,间隔步长为4,那么第一组数据为1-10号,第二组数据为5-14号,第三组数据为9-18号,第四组数据为13-22号,第五组数据为17-26号,第五组为21-28号,第六组为25-28号,前面每组数据量相同,最后的数据量不同,从而达到多分组的目的,为后面的拟合提供更多的数据。为防止数据量过少,拟合效果不好,经过曲率数据筛选后剩余点云数量不少于150个。
[0095]
s33:使用基于圆心约束的最小二乘法将每一组的车身r角点云轮廓数据进行圆拟合,得到每组的圆心坐标以及半径,再根据设定的车身r角半径上下极值再次筛选数据,将超出半径设置阈值的整组数据进行去除,得到处理后的车身r角点云轮廓数据。因为保留在阈值范围内的小组数据,此时在阈值范围内的小组不止一组,所以还需要进一步优化拟合。
[0096]
s4:根据处理后的车身r角点云轮廓数据使用基于变半径的dbscan聚类算法,区分核心点、边界点、离群点,得到最终用来拟合r角的核心点。
[0097]
变半径体现在上一步筛选后留下的数据不是一组,半径也不是相同的,所以将上一步筛选出来的最终用来拟合的每一组数据进行聚类,基于上一步筛选出来的圆心坐标,以及半径,进行算法处理,在dbscan算法中,初始,给定数据集d(上一步中筛选后还剩余的数据点)中所有对象都被标记为“unvisited”,dbscan随机选择一个未访问的对象p(随机选择一个点),标记p为“visited”,并检查p的ε-领域是否至少包含minpts个对象。如果不是,则p被标记为噪声点。否则为p创建一个新的簇c(核心点集),并且把p的ε-领域中所有对象都放在候选集合n中。dbscan迭代地把n中不属于其他簇的对象添加到c中。在此过程中,对应n中标记为“unvisited”的对象p’,dbscan把它标记为“visited”,并且检查它的ε-领域,如果p’的ε-领域至少包含minpts个对象,则p’的ε-领域中的对象都被添加到n中。dbscan继续添加对象到c,直到c不能扩展,即直到n为空。此时簇c完成生成,输出。为了找到下一个簇,dbscan从剩下的对象中随机选择一个未访问过的对象。聚类过程继续,直到所有对象都被访问,c中就是核心点数据。具体步骤如下:
[0098]
[0099][0100]
else标记p为噪声;
[0101]
until没有标记为unvisited的对象。
[0102]
s5:使用基于圆心约束的最小二乘法对dbscan算法筛选出来的r角的核心点进行拟合,得到r角的圆心及半径;拟合的效果如图2所示。
[0103]
s6:将得到的r角的半径与设定的车身r角半径上下极值进行比较,确定r角是否满足设计规格的要求。
[0104]
如图3所示,本发明实施例一种非完整点云条件下的车身r角视觉检测系统,包括数据获取模块、r角设置模块、数据处理模块、r角拟合模块、r角检测模块;数据获取模块、数据处理模块、r角拟合模块、r角检测模块依次连接;r角设置模块与r角检测模块连接;
[0105]
数据获取模块用于获取车身r角点云轮廓数据;
[0106]
r角设置模块用于设置车身r角公差限与上下极值;
[0107]
数据处理模块用于对获取的车身r角点云轮廓数据进行处理;r角拟合模块用于根据处理后的车身r角点云轮廓数据进行拟合得到r角的圆心及半径;r角检测模块用于根据设置的车身r角半径上下极值对拟合得到r角的圆心及半径进行比较,确定r角是否满足设计规格的要求。
[0108]
数据获取模块包括线激光相机、无效数据去除单元、滤波单元,其中线激光相机与r角所处车身平面的角度范围为[-30
°
,30
°
]。无效数据去除单元用于去除拍摄后的车身r角点云轮廓数据中的无效数据。滤波单元用于采用双边滤波对去除无效数据后的车身r角点
云轮廓数据进行滤波。
[0109]
数据处理模块包括曲率初步筛选单元、变步长分组单元、半径筛选单元、聚类单元;所述曲率初步筛选单元用于对车身r角点云轮廓数据进行分组并计算每组数据中中间数据点的曲率,并根据设置的曲率取值范围对曲率不符合曲率取值范围的对应中间数据点剔除得到初步筛选后的车身r角点云轮廓数据;变步长分组单元用于对初步筛选后的车身r角点云轮廓数进行变步长分组,得到变步长分组后的车身r角点云轮廓数据;半径筛选单元用于对变步长分组后的车身r角点云轮廓数据计算对应分组的半径,并根据半径设置的阈值将计算结果不符合半径设置的阈值的整组数据剔除得到筛选后的车身r角点云轮廓数据。聚类单元用于对筛选后的车身r角点云轮廓数据使用基于变半径的dbscan聚类算法得到给r角拟合模块用于拟合r角的核心点。
[0110]
表1为r=1的标准件非完整圆弧r角测量数据,表2为r=2的标准件非完整圆弧r角测量数据,由此可见采用本发明对r角测量具有较高的精度。
[0111]
表1 r=1的标准件非完整圆弧r角测量数据表
[0112][0113]
表2 r=2的标准件非完整圆弧r角测量数据表
[0114][0115]
将r角理论值为1mm的点云数据进行算法处理拟合,与采用r规、三坐标测量的结果进行对比,对比结果如下表3所示,单位mm。
[0116]
表3本发明与三坐标测量、r规测量和本发明测量的对比结果
[0117][0118][0119]
其中:cmm_r为三坐标测量结果,r1为r规测量结果,r0为本发明的测量结果,δ1为r规测量结果与三坐标之间的差值,δ2为线激光测量结果与三坐标的差值。由此可见,本发明测量明显由于传统的r规测量。
[0120]
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
[0121]
在本技术所提供的实施例中,应该理解到,单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元可结合为一个单元,一个单元可拆分为多个单元,或一些特征可以忽略等。
[0122]
最后应说明的是:以上各实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述各实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的范围,其均应涵盖在本发明的权利要求和说明书的范围当中。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献