平行线填充算法在工件尺寸测量中的应用

2023-11-10 01:19邱国清
关键词:横断面平行线密封圈

邱国清

(闽南师范大学计算机学院,福建漳州 363000)

机器视觉是指利用相机、摄像机等传感器,配合机器视觉算法赋予智能设备人眼的功能,从而进行物体的识别、检测、测量等功能。在产业成熟度上,工业视觉已经相对较为成熟,在半导体、包装等行业的测量检测已有较为广泛的应用。瑕疵检测是视觉技术最难的部分,传统的瑕疵检测,基于模板和特定的过程学习后,对产品进行判断,但是产品的瑕疵不确定因素很多,这种传统的做法,很难真正意义上实现瑕疵检测。以消费类电子产品为例,许多厂商最终的产品出厂检测,往往耗费大量人力。所以,视觉技术借助人工智能,通过深度学习的算法,为瑕疵检测赋能,并在多个行业得到应用。传统的成像系统都会有少量的畸变,造成图像边缘轮廓失真。栅格数据用一定的分解力把制图表像按行、列进行划分,从而得到离散的基本像元,与制图物体的空间分布特征有着严格而直观的对应关系,对物体的可探性强,为机器视觉的应用提供了可能性[1]。常用的哈夫变换法是利用三维空间参数聚类提取圆,最小二乘法[2]是先选择曲线的数学模型,再通过采样点的Y值与f(x)之差的平方和最小值来确定f(x)的系数,但这两种方法运算量大,速度慢。

1 等间距平行线

1.1 等间距平行线算法

通过从圆心反向绘制平行弦,计算每条弦与圆的交点坐标值,即代表工件轮廓点。第一条弦是圆的直径,相邻两条弦间距为d,则第k对弦与直径的距离为dk,位于直径上下相同距离且平行于x轴的两条弦与工件轮廓的交点利用勾股定理求解,即os=sqrt(r*r-dk*dk),如图1。

图1 等间距平行线示意图

若圆心坐标为(x,y),半径为r,弦心距为dk,则两条弦的端点坐标如公式1和2。

公式2中,工件半径等于弦的两个端点之间距离与弦心距为dk求平方根,工件圆心坐标是依据弦的端点坐标值、弦心距和两个端点之间距离分别求解。

1.2 编码

等间距平行线算法[3-4]用于离散的特征点的求解,而工件轮廓特征点提取是连续解空间的搜索[5]。因此,应用等间距平行线算法求解工件轮廓特征点,首先要进行工件轮廓特征点的编码与解码问题。因此,通过2 ×n的矩阵表示第i条平行线上第j个特征点的位置。

其中:i是第i条平行线;j是第i条平行线上的特征点。提取到工件轮廓特征点所在栅格单元获取行列值,为了方便传输和保存,栅格数据必须以一定的格式存储到各种存储介质中。将像素单元所在行列值转换为二进制编码,依次交叉重新排列成新的二进制编码,再转换为十进制的Morton 编码。例如第11 行第9 列,十进制Morton 编码按指定顺序排列:十进制11 和9 分别对应二进制1011 和1001,按交叉方式排列的二进制串10101101,对应的十进制Morton 编码为172,按此编码方式,图1中等间距平行线与工件轮廓交点对应的十进制Morton编码如表1。

表1 编码矩阵示例

从表1 可以看出,随着平行线条数的增加,交点坐标的行列值变大,对应的Morton值长度也增大。

1.3 数据采集

设定坐标系,使得坐标轴y 与平行线平行,在工件轮廓上沿着圆周取若干个点,构成一个内接任意多边形,在已知多边形轮廓各节点,求坐标系下的x横坐标最小值和最大值,设置平行线的间距值,判断平行线与轮廓是否有交点,如存在交点则保存在数据集合中,如图2。

图2 原始工件示意图

从A 点开始,按顺时针方向,依次计算排列等间距平行线与工件轮廓交点的坐标值,根据数据集合的索引从偶数号读取交点值,重新排列成有序的数据集合。

2 栅格原理

2.1 网格细分原理

栅格数据模型是把空间分割成规则的网格,在各个网格上给出相应的属性值来表示地理实体的一种数据组织形式。栅格数据结构是最简单、直观的空间数据结构,是把二维平面划分成大小均匀、紧密相邻的网格阵列,每个网格作为一个像元或像素,每个像元由行列号确定它的位置,且具有表示实体属性类型或值的编码值。工件轮廓可以看成一个实体模型,提取轮廓所在的栅格单元的像素值来判断该像元的行列值,即表示轮廓的坐标值。采用逐行扫描方式,读取工件轮廓特征点所在的像素单元,构成一个像素集合。此时像素集合中的元素是离散状态,缺乏关联性,无法重构工件轮廓,所以要对集合中的所有元素建立拓扑关系,把像素集合分成左集合和右集合两个部分。从第一行栅格开始,按从左到右的顺序,读取工件轮廓所在栅格单元,依次存入左集合,在扫描过程中当该行出现空白像素单元时,表明后续搜索到的像素单元将要存入右集合,依此类推,直到逐行扫描完毕,最后,按顺时针或逆时针方向把左右两个集合中的像素构成一个完整的工件轮廓,如图3。

图3 工件轮廓栅格化示意图

根据图3,可以计算出特征点的行列值,如表2。

表2 工件轮廓特征点行列值

2.2 轮廓拟合

在工件轮廓检测的过程中,由于受到外界物理量因素以及机器本身误差的影响,容易产生工件轮廓变形而造成尺寸偏差,如果大于精度误差,则需要拟合,如图4。

图4 工件拟合示意图

根据公式计算出待检测工件轮廓的特征值,通过与标准值比较,如果两者的差距大于精度要求,再进一步比较两者的大小,如果待检测值大于标准值,则需要向内缩减,否则向外增大。识别工件轮廓形变部位是测量形变尺寸的前提,由于形变是不规则的且柔性密封圈内外圈形变方式和大小均不一样,这给测量形变区域尺寸带来较大困难,为此根据栅格原理,首先提取标准工件轮廓所经过的栅格单元,其次读取形变的工件轮廓所在像素单元,两者进行比较,从而确定出形变区域并进一步计算工件轮廓特征点,如图5。

图5 栅格化示意图

3 数据验证

3.1 刚性密封圈数据验证

密封圈常应用于结构装配之间的密封,密封圈的密封性能取决于密封圈和接触构件之间的接触压力,当密封圈周围的液体压力差超过接触所提供的抵抗力时,密封圈失效。刚性密封圈一般是金属材质,发生形变几率较小,测量时可以采用传统的接触式方法,如图6。

图6 刚性密封圈示意图

对工件轮廓区域栅格化,计算工件形变部位所在栅格单元,如表3。

表3 刚性密封圈测量值

从表3 可以看出,工件形变部位采集5 个特征点,假设精度误差范围小于1,则第2、3、4 点需要拟合,由于网格间距为2 个单位,所以第2、4 两点分别移动1 个单元,第3 点移动两个单元,拟合后第2、3、4点与标准值误差为-0.08、0.68、0.28,符合精度要求。

3.2 柔性密封圈数据验证

随着电子工业的发展,橡胶产品广泛地应用在更高要求的工业领域。橡胶密封圈、橡胶按键等都是常见的配件,但橡胶零件的品质很难掌控,因为橡胶产品本身是弹性的、容易形变。橡胶密封圈横截面是圆形,轮廓是内/外圆且容易因为形变造成尺寸发生改变。橡胶密封圈横断面通常是圆形,横断面的长度等于内外圆半径之差,在对密封圈进行参数测量时,应当依次提取内外圆轮廓边缘特征点,分别存入数据序列。在图7 中,标准的外圈半径值为100个像素单位,内圈半径值为105 个像素单位,横断面宽度为5 个像素单位,根据勾股定理计算前5 条弦结果如表4。

表4 柔性密封圈内外径与横断面的测量值/(PPI)

图7 柔性密封圈示意图

4 数据分析

4.1 横断面的测量以及误差分析

柔性密封圈横断面通常是圆形,由于形变造成很难准确测量横断面的值。此外,传统的成像系统也会带来少量的畸变。为了提高测量精度,可以对工件轮廓区域栅格细化,提高测量精度,但随着栅格细化,采集到的数据量越大。为了减少计算量同时控制误差率,可以同时拟合内外径以提高横断面的精度。以表3 为例,在5 条平行线与轮廓的交点参数值,其中第2、3、4 条横断面误差偏大,此时可以把第2、3、4 个点的外径拟合为106.00、106.30、106.16,内径保持不变。此时横断面误差为0.70%、-0.50%、0.40%。

4.2 形变区域特征点数值在拟合时的误差分析

基于栅格拟合是以栅格为单位,由于栅格单元是有一定长度大小,所以在拟合时,移动若干个单元后,拟合后的数值与原数值会有一定的误差。为了减少误差,需要对栅格进一步细化以提高精度值。

4.3 算法复杂度分析

复杂度计算包括空间和时间复杂度。空间复杂度一般指存储量的问题,时间复杂度则是指计算的工作量问题[6]。为了提高拟合测量精度以及较少误差,需要对栅格细化,必然存储量也会随着增大。时间复杂度是基于算法的设计,并不会随着栅格的细化而增大。

5 结语

采用等间距平行线算法计算工件轮廓特征值,通过合理的编码矩阵建立了工件轮廓特征点与平行线的对应关系。为了拟合特征点,采用了栅格原理把工件轮廓区域平面转换为二维栅格单元。针对刚性和柔性密封圈验证了算法的有效性,实验结果表明该算法在误差精度取得了理想的结果。

猜你喜欢
横断面平行线密封圈
《相交线与平行线》巩固练习
城市道路横断面设计研究
平行线
轧机工作辊平衡缸端盖及密封圈的在线更换
添加平行线 求角真方便
不可思议的平行线
广州市健康体检人群种植修复情况的横断面研究
低迁移量环保食品罐密封圈的制备及其性能研究
2014年某院医院感染横断面调查
基于加速老化试验的O形密封圈存储寿命预测