周佳美 刁 燕 田兴国 张根莱
(四川大学机械工程学院,四川 成都 610065)
近年来,随着生活水平的不断提高,人们对于各种自然资源的需求量与日俱增。我国竹材资源丰富,且竹材具有物理特性好、生长速度快、产量高等优势,作为绿色资源得到广泛使用[1-3]。剖分是原竹加工中不可或缺的关键工序[4]。所谓剖分,就是将原竹均匀剖分成若干竹段的过程[5]。刀具的选择对于竹材剖分十分重要[6],合适与否直接决定了原竹出材率与竹条尺寸。然而,目前剖分刀具的选择主要凭经验决定,加工效率难以提高。
目前对于原竹剖分模型的研究较少。王彦斌等[7]将原竹看作一个等壁厚圆竹筒,建立了竹筒内外径与较优剖分数关系模型。刘嘉诚等[8]通过优化竹片矩形截面形状的认定方法,建立原竹小端直径、剖分数和不同规格竹片之间的关系模型,提高了竹材利用率,但仅对特定尺寸的原竹进行了分析,未实现实际加工的通用性。杨春梅等[9]针对原竹四面铣削三面剖分加工方式建立剖分模型,得到内外径尺寸、剖分数与出材率、竹条尺寸之间的关系。上述研究均将原竹截面优化为圆形,与实际椭圆形状截面存在差距。
国内外学者针对物体的轮廓提取与尺寸测量也开展了一系列研究。陆路等[10]提出一种基于Hough变换的椭圆检测算法,可以在图片中找到椭圆轮廓并计算其长短轴长度。韩伟聪等[11]建立完整的原竹尺寸测量系统,获得原竹截面轮廓周长与壁厚。Wang等[12]提出基于迭代的最小二乘法拟合椭圆的方法,成功找到图像中椭圆形状信息。
本文提出一种基于椭圆截面剖分模型的原竹剖分刀具自动选择方法。首先建立基于椭圆截面分段拟合的原竹剖分模型,然后利用机器视觉得到原竹内外径尺寸,最后根据不同竹条尺寸需求并结合python实现原竹剖分刀具自选方法。该方法可以为实际生产提供理论支持,从而提高竹材开发效率与经济效益。
只有不断优化原竹加工方式,才能有效提高生产效率[13],因此对原竹加工模型的研究必不可少。当前已有的剖分模型大多将原竹截面简化为圆形。如杨春梅等[9]提出的在四面剖分三面铣削加工方式下的原竹剖分模型:
原竹有效体积V有效(mm3):
式中:n为原竹的剖分数;R1为原竹大端外径,mm;R为原竹小端外径,mm;r1为原竹大端内径,mm;r为原竹小端内径,mm。
原竹截面形状多为椭圆[14],将原竹截面视作圆形并不完全符合实际加工情况。由于椭圆边界曲率不定[15],导致原竹剖分后各竹条尺寸差距较大,而圆截面则会得到相同尺寸的竹条,不同截面剖分结果区别如图1所示。
图1 不同截面剖分结果区别Fig.1 Differences in the division results under different cross-sectional shapes
鉴于此,本文在上述模型基础上利用计算机辅助工具,提出一种基于椭圆截面分段拟合的原竹剖分模型。首先对原竹进行剖分,再将得到的各竹段拟合为圆形截面原竹的一部分并建立模型,最后得到基于椭圆截面分段拟合的原竹剖分模型。其具体实现方法如图2所示。
图2 基于椭圆截面分段拟合的原竹剖分模型建立方法Fig.2 A method for establishing bamboo division model based on segmental fitting of ellipse section
最小二乘法具有理论严密、精度高、拟合效果佳等特点[16],是目前拟合圆曲线的常用方法[17]。本文先将原竹截面边缘曲线离散化成一系列坐标点,然后进行最小二乘法拟合得到圆曲线并获得直径值。具体拟合结果如图3所示,得到的圆弧能较好地体现椭圆曲线信息。
图3 最小二乘法拟合圆结果Fig.3 Least squares circle fitting results
拟合处理后可得到各圆弧竹段的内外径尺寸,将其带入式(1)和(2)即可得到各分段竹段在剖分后的有效体积与总体积,最后将所有竹段的有效体积和除以总体积和,即得到椭圆截面原竹出材率η(%):
将各竹段尺寸带入式(3)和(4),即可得到第i段竹段加工得到的竹条尺寸:
第i段竹条宽度ai(mm):
式中:Ri1为第i段竹段大端外径,mm;Ri为第i段竹段小端外径,mm;ri1为第i段竹段大端内径,mm;ri为第i段竹段小端内径,mm;n为原竹剖分数。
式(5)~(7)即为基于椭圆截面分段拟合的原竹剖分模型。
由剖分模型可知,原竹内外径尺寸影响其剖分结果。本文基于机器视觉技术对原竹截面图像进行处理以获得内外径尺寸,实现流程如图4所示。
图4 原竹内外径尺寸测量流程Fig.4 Measurement process of inner and outer diameter of bamboo
首先进行图像预处理,然后采用Canny边缘检测提取图像边缘,再通过坐标拟合方式得到像素尺寸,最后计算实际内外径尺寸。
由于输入图像中存在噪声和与原竹截面无关的背景对象,在边缘检测时会产生错误边缘。因此应先进行图像预处理[18],以提高边缘检测准确度。
中值滤波是一种可消除脉冲噪声的非线性滤波算法[19],其主要是交换处理图像窗口的中值像素和中心像素,且每个像素通过相同方法进行处理[20]。
二值化处理是通过设置阈值将灰度图像分为两部分,通过选择适当的阈值突出图像中所需原竹截面信息,排除背景干扰[21]。经过预处理得到的图像如图5所示。
图5 图像预处理结果Fig.5 Image preprocessing results
为准确识别原竹内外径,在预处理后应进行边缘检测[22]。本文采用的是Canny算子边缘检测[23],先找寻图像的强度梯度,再通过非最大抑制原则消除误检边缘,并利用双阈值方法决定可能的边界,最后利用滞后技术追踪边界完成边缘检测。经过边缘检测处理的图像如图6所示。
图6 边缘检测处理结果Fig.6 Edge detection processing result
在图像只剩所需的原竹截面边缘信息后即可进行内外径尺寸计算。由于一般的Hough圆拟合[24]椭圆形状时计算复杂且误差较大,因此本文选择采用基于像素尺寸[25]的测量方法,计算方法如图7所示。
图7 像素尺寸计算方法Fig.7 Pixel size calculation method
物体实际尺寸与图像像素尺寸的数学关系[26]:
物体实际尺寸x(mm):式中:WD为镜头至物体距离,mm;h为CCD芯片靶面宽度尺寸,mm;f为相机焦距,mm;H为所获得图像的宽度像素,px;w为所得到的轴径像素尺寸,px。
图像采集采用的光源为自然光,相机为焦距16 mm、传感器尺寸为2/3"的工业相机,原竹截面与相机的间距为850 mm。在进行多组原竹截面图像采集后,利用上述算法得到内外径尺寸。图像分析结果及其与实际测量值误差对比如表1所示。
由表1可知,图像处理所得原竹内外径的相对误差在±5%内,其中超过80%的相对误差在±3%内。因此,该算法可以保证计算准确率达到95%以上,能很好地运用于原竹内外径尺寸识别。
原竹剖分刀具将根据不同竹条尺寸需求和最大化原竹出材率自动进行选择,流程如图8所示。
根据目前市场上刀具的规格要求[27],一般原竹剖分刀具的剖分数为,即通常只在上述规格的刀具中进行选择。首先,通过式(6)和(7)计算不同刀具加工下得到的竹条尺寸,筛选出满足竹条尺寸需求的刀具,再通过式(5)确定出材率最高的刀具作为当前剖分刀具。
本文基于python设计了一个具有图像分析、数据处理和人机交互功能的软件,用来实现原竹剖分刀具的自动选择。该软件在接收到实时采集的原竹图像后,对图像进行处理获得内外径尺寸。之后根据所需竹条尺寸需求,计算出最佳剖分数与出材率。该软件的运行流程如图9 所示。
图9 软件运行流程图Fig.9 Software operation flow chart
交互界面显示的主要内容及功能有:1)原竹截面图像和内外径尺寸显示;2)所需竹条尺寸输入;3)刀具选择结果与出材率显示。首先显示采集到的图像和通过图像处理获得的原竹内外径尺寸,如图10所示。之后,用户在输入框输入所需竹条尺寸,点击确定确认输入,如图11所示。最后根据上述刀具选择方法,自动计算当前最佳剖分刀具和出材率并输出,如图12所示。
图10 原竹图像及内外径尺寸显示Fig.10 Display of bamboo image and inner & outer diameters
图11 用户输入结果显示Fig.11 Display of user input results
图12 剖分刀具选择结果与出材率输出Fig.12 Output of division tool selection results and outturn rate
基于上述软件,本文对多段原竹针对不同竹条尺寸需求进行了剖分刀具的自动选择试验,结果如表2所示。
表2 剖分刀具自动选择结果Tab.2 The results of devision tool automatic selection
由表2可知,采用本方法自动选刀后原竹出材率均在85%以上。由此可见,利用该软件可以实现剖分刀具的自动选择,为优化竹材加工方式、提高出材率提供理论支持。在实际生产中,该系统可与数控剖竹机相结合,实现竹材上料、拍照计算、刀具选择到剖竹的全自动化生产,最终提升生产效率与经济效益。
对原竹加工工序的优化有助于提高加工效率与经济效益。本文对基于椭圆截面分段拟合剖分模型的原竹剖分刀具自动选择方法进行研究,并利用python编写软件实现了该方法。首先利用机器视觉对采集到的原竹截面图像进行预处理和边缘检测,通过计算获得其内外径实际尺寸,然后根据当前所需竹条尺寸,运用剖分模型计算,自动选择出使原竹出材率最大化的刀具。结果表明:采用本文提出的方法,合理选择刀具,竹材出材率均能达到85%以上,显著提高了竹材利用率。在实际生产中,基于python设计的软件可以与数控剖竹机相结合,以实现竹材自动化剖分,提高竹材加工的自动化程度与效率,这也将是后续研究的重要内容。