黄涵,史舟淼,施玉书,3,张树,3,胡佳成
(1 中国计量大学 计量测试工程学院,杭州 310018)
(2 深圳中国计量科学研究院技术创新研究院,深圳 518107)
(3 中国计量科学研究院 前沿计量科学中心,北京 100029)
轴承作为当代机械设备的基础零部件之一,其精度、寿命和可靠性等参数对主机的产品性能起着关键的作用[1-2]。钢球作为轴承核心零件,其表面质量直接影响到轴承的各项性能指标,但由于加工工艺和环境的限制,钢球表面难以避免地会出现如斑点、麻点、擦痕、划条、凹坑等缺陷[3-4]。现代工业的发展,对钢球表面质量要求日益严格,检测手段也相应地与时俱进,发达国家的钢球表面检测技术已经较为成熟,捷克Stimtools 公司的AVIKO 系列以及KROB SCANNERS S.R.O 公司的BASC 和BS 系列产品主要通过光电、振动、涡电流传感器对钢球进行表面缺陷检测[5-6];日本Daio 公司研发钢球表面缺陷检测机,通过捕捉钢球表面反射光及散射光的变化来检测钢球的表面缺陷和表面粗糙度;日本Amatsuji 公司研发的钢球检测仪器通过激光与声学检测技术的结合,可同时实现钢球表面缺陷长度和深度的测量[7]。但这些设备价格昂贵,且核心零件需频繁更换,成本较高,在国内难以普及。
相比发达国家,国内钢球表面缺陷检测技术尚不成熟,而视觉检测技术以其非接触、稳定性高、可靠性好、成本低等优点成为了当前国内热点研究方向。天津大学的栗琳等采用自制环形漫反射穹顶光源,搭配双CCD 相机连续采集球列的滚动过程中的图像,以实现球面的完全展开[8]。西安理工大学的刘青等采用球积分光源,基于采集到图像的灰度共生矩阵的综合熵来判断钢球表面是否存在缺陷[9]。江南大学的冯超等基于空间全角度光源,利用图像融合技术对有效检测区域内微缺陷与背景的差异性进行累积来检测钢球表面缺陷[10]。但是上述几类方法均采用明场照明方式,钢球表面微小缺陷易被淹没,且钢球表面为镜面反射,光线反射直接进入相机形成的高反白斑,以及相机镜头像倒映入钢球表面,形成的黑斑都会成为检测盲区,存在缺检漏检的可能性。因此,为克服钢球表面缺陷明场检测中存在的视野盲区以及微小缺陷可能会被淹没等问题,本文提出了一种基于光学暗场线扫描技术的钢球表面缺陷检测方法,将传统钢球表面二维球面图像的展开以及缺陷特征的提取、过滤、筛选拓展至三维层面,以直径为6 mm,精为度G20 的轴承钢球作为目标检测物开展实验。
光学暗场检测主要通过采集待检表面的散射光得到表面缺陷信息,其原理如图1 所示。当待检表面光滑无缺陷时,光线只发生反射不进入镜头;当待检表面存在缺陷时,光线在缺陷处产生散射光被镜头捕捉。因此,暗场下采集到的图像为暗背景下的一系列亮斑,相比明场具有更高的对比度。
图1 暗场检测原理示意图Fig.1 Schematic diagram of dark field detection principle
但当被检表面为球面时,因其法线方向处处变化导致反射光线方向也各不相同,仅靠调整入射角无法避免部分反射光线进入镜头内从而产生亮斑,如图2 所示,还需对光源的传播方向和光束覆盖区域加以约束。
图2 传统光源照射钢球表面Fig.2 A conventional light source illuminates the surface of the ball
基于暗场线扫描技术,设计并搭建了一套由线阵相机、镜头以及双线激光光源组成的球面暗场图像采集系统。双线光源分别于相机两侧以相同入射角照射钢球球冠区域,在钢球表面双光束交汇处形成一个梭形光斑,调整线激光的入射角可控制反射光方向避免反射光直接进入镜头,通过模拟线激光照射球面,得到入射角范围在30°~45°之间时,得到的光斑明亮均匀且覆盖范围较大,如图3 所示。
图3 入射光仿真Fig.3 Incident light simulation
由于采用线扫描的图像采集方式,且球面弧度和镜头景深共同限制了线阵相机的扫描范围,为确保能够采集到整个钢球球面的图像,设计了XY两轴摩擦滚动的球体表面展开方法,采用多环扫描的方式采集全球体表面缺陷图像,钢球置于内壁光滑的球槽内,底部与摩擦盘接触,摩擦盘沿X轴运动时钢球受摩擦力作用原地滚动一周,相机完成对钢球一个球环的扫描,如图4 所示,而后摩擦盘沿Y轴运动带动球体在Y方向上滚动一周,完成整个球面的扫描。设球半径为R,相机采集到的弧面图像的弧长为d,则对单个钢球应采集的球环数量N为
图4 单次扫描路径示意图Fig.4 Single scan path diagram
实验检测钢球半径R=3 mm,则相机采集图像中弧面的弧长d≈1.68 mm,实验中N向上取整得N=6,则摩擦盘沿Y轴运动更改相机扫描位置时单次运动距离D为
扫描完成后需对线扫图像进行拼接,得到的图像为6 个球环的展开图,在对6 个球环进行三维重建之前,需要将6 张球环展开图分别进行无效区域去除、柱面拉伸、阈值分割、初步筛选缺陷等分析,如图5 所示。
图5 钢球预处理流程Fig.5 Ball pretreatment process
2.1.1 去除无效区域
在采集过程中,为确保能扫描完整的球环,线阵相机应先位移台启动,在相机启动到位移台开始运动这段时间内,线阵相机输出的是静态图像,但由于线阵相机只对动态部分输出正常图像,对静态部分输出的是纵向的条纹状图片,为避免这部分条纹影响到后续图像处理,需要对其进行过滤。由于这类条纹纹理方向单一,可采用Sobel 单向梯度算子与图像矩阵相乘以分离该区域[11],公式为
式中,I为原图像,Isobel为经过单向梯度运算后的图像。
2.1.2 柱面展开
传统面阵相机拍摄到的球面图像是半球在平面上的投影,图像以球冠为中心,在各个方向上均有畸变,这种畸变不仅使得拍摄到的缺陷形状和大小皆与实际情况有所出入,还加剧球面图像展开的难度,而线扫相机每次仅采集球冠两侧的一行图像,如图6(a)所示。单行像素在Y方向上的畸变可忽略不计,因此线扫描得到的图像可近似看作是相机镜头的景深范围内,圆柱的一个弧面在平面上的投影,从而将球面图像畸变的校正简化为在圆柱上一个弧面的展开,如图6(b)所示,仅需校正X方向上的柱面畸变。
图6 圆柱投影示意图Fig.6 Cylindrical projection diagram
如图6(c)所示,以圆柱的中心为原点,球的半径为圆形半径r,进行几何分析:在相机中成的像为其在X轴上的投影mn,展开后为线段为A′B′,AO连线与Z轴夹角为θ,可得
由式(6)可知,对于图像不同列上的像素点,其拉伸比例各不相同,应按照该点对应的x′/x比例拉伸,但由于图像分辨率的限制,难以做到对图像上的每个像素按比例拉伸。为解决图像非线性拉伸问题,将图像的每一列从单列放大为K列(考虑到计算机运算效率,K越大计算机运算越慢),而后再乘以该列对应的比例系数,逐列完成后,将处理完的图像横向等比压缩1/K,实现图像的柱面展开。
2.1.3 缺陷初步筛选
由于钢球加工工艺问题,其表面粗糙度较大的区域会在图像上呈现出灰度值较弱、面积较小的亮斑,因而要将其滤除,但若在二维图像上对图像面积做过滤,则有可能误把横跨两幅图像的缺陷一同认作面积较小的亮斑,因此在缺陷信息的初步筛选仅通过阈值分割对灰度值较弱的亮斑进行过滤,初步筛选钢球表面缺陷。待处理图像的像素灰度范围为[0,255],将图像中的像素根据灰度值大小,按阈值T分为背景区域类[0,T),和目标缺陷区域类[T,255]。为提高背景区域过滤的准确率,在此设置灰度分割阈值T和一个低频滤波器分两次过滤背景信息。经过灰度分割阈值T分割处理后,部分因表面粗糙度带来的亮斑区域还剩下个别孤立的高亮像素点,如图7(a)所示,这些高亮像素可看作高频噪点,可通过低频滤波器将其过滤,经中值滤波器处理后图像如图7(b)所示。
图7 低频滤波前后的部分图像Fig.7 Part of the image before and after low frequency filtering
2.2.1 三维重构算法
为完整地识别横跨多幅图像的钢球表面缺陷,提出一种钢球表面缺陷三维重构算法,能够将球体表面二维缺陷图像还原至三维层面做分析检测,首先将图像上的缺陷信息特征点转化为点云,再根据球面的空间几何关系,首尾相接地连接成圆环,并投影至球面。为达成上述效果,首先需要建立钢球表面的三维数学模型,如图8 所示。
图8 球面三维坐标系Fig.8 Spherical three-dimensional coordinate system
空间坐标系中,P(x,y,z)是以坐标原点O为球心,R为半径的球面上的任意一点,可得球面方程为
作球面坐标变换可得
式中,θ为线段OP在XOY平面上投影线段OM与X轴的夹角,φ为直线OP在XOZ平面上的投影线段ON与X轴的夹角,且-π/2 ≤θ≤π/2,-π ≤φ≤π。
要将二维图片上的缺陷信息还原到球面上,需要将单张矩形图片折成一个圆环,沿着球的赤道线铺平,图片的高就是球的周长。设图片高为H,宽为W,图片上缺陷特征点像素坐标为(Hn,Wn),可推球的半径R为
特征点在ZOY平面内的范围为[0,2π],可推特征点与原点的连线在XOY平面上的投影与X轴夹角为
特征点在XOY平面内范围为[0,2π×W/2πR/π],化简后为[0,W/πR],且由式(9)可知πR=H/2,可推特征点与原点的连线在XOZ平面上的投影与X轴夹角为
将θ和φ代入式(8),便可得到单幅图在三维上重构的坐标点表达式。
2.2.2 三维重构实验
由于钢球表面的缺陷较为零散,没有明显的参照特征,难以看出重构出的三维点云结构的准确性,为验证重构准确度,采用一张长宽比为12∶1.1,带有明显特征的矩形图片进行重构实验,验证所用二维图像如图9 所示。
图9 算法验证所用二维图Fig.9 Algorithm verification using two-dimensional graph
该图片在球面上的投影图像如图10 所示。
图10 单个球环重构实验Fig.10 Single sphere-ring reconstruction experiment
多图重构是在单个球环重构的基础上,对其他图片上的缺陷特征点,根据采集时的空间几何关系,获取其点云信息,改变角度投影至同一个球体表面。当图像采集系统完成第一圈扫描之后,钢球绕X轴旋转ω度,再进行下一个球环的扫描。旋转后扫描到的球环,其表面点坐标在X轴上的关系不变,通过推导可得旋转后的球环与初始球环上点坐标的位置关系,推导过程如下。
如图11 所示,设P为球环上的一点在ZOY平面内的投影,其与原点O的连线为OP,以OP为半径画圆,在钢球绕X轴旋转ω度之后,P点旋转到了P1位置。可得
图11 点旋转示意图Fig.11 Point rotation diagram
可推得旋转后图片上的特征点坐标关系式为
在将标准图像按空间几何关系投影到同一个球面坐标系后,得到的球面三维点云图像如图12。
图12 球面三维点云拼接过程Fig.12 Spherical three-dimensional point cloud stitching process
由图12 可以看出,所设计的算法实现了二维图像在三维层面的特征重构,空间位置对应正确,且特征区域之间的拼接效果良好。
2.2.3 缺陷点云面积筛选算法
在完成球体表面的三维点云投影之后,需要对球体表面的缺陷点云按缺陷面积大小进行筛选,过滤因钢球本身表面粗糙度带来的亮斑,因此缺陷的点云面积计算精度对测量结果有直接影响。对缺陷点云的面积计算分为两步:1)将三维球面上的点按点间距离关系分割为多个不同的类;2)将分割好的类按面积大小进行筛选和过滤,剩下的就是钢球表面缺陷。
采用聚类分割算法对钢球表面缺陷做筛选。聚类分割的具体流程为:对于三维重建后的钢球表面缺陷点云数据集P,确定一个查询点Pi,找到离它最近的n个近邻点Pj(j=1,2,…,n),点间距离的计算公式为
式中,Pi和Pj为点云中的两个点;Pik和Pjk分别为Pi和Pj邻域中的任意一点。
按照式(15)计算n个近邻点到查询点Pi的欧式距离dj,设定一个距离阈值r0用于判断不同点是否归属于同一个缺陷内,比较点间的距离dj与距离阈值r,将小于r的点归于类M中,一直到类M中的点数不再增加时,分割完成[12-14]。完成缺陷点云的分割之后,需要计算分割后的点云面积。目前关于点云面积计算最为流行的算法为三角剖分算法,其基本原理是对空间上的三维点云剖分成许多个小三角形,进而形成多个三角形平面,对于分割出的三角形,应满足条件;1)任意一个三角形的外接圆内没有其它的点存在;2)将两个相邻三角形的对角线交换,交换后的两个三角形中最小的一个内角不大于交换前的两个三角形中最小内角。如图13 所示。
图13 三角剖分示意图Fig.13 Triangulation diagram
依据这些三角片的面积和可以计算出分割后的点云面积。此时设定面积阈值A,将分割完的类按面积筛选,过滤掉其中面积不超过面积阈值A的类,剩下的就是钢球表面缺陷。
实验对象为精度等级为G20,直径为6 mm 的轴承钢球,依据国家标准[15],精度等级为G20 的轴承钢球表面粗糙度Ra应小于0.032。
图14 为在传统明场条件下通过面阵相机采集到的表面带有明显缺陷特征的钢球图像,可以看出图中存在因钢球表面镜面反射导致的高反亮斑,以及周围环境倒映在钢球表面上的像,二者都有可能淹没钢球表面的缺陷特征信息,造成缺陷的漏检,图14 中的高反亮斑已经淹没了部分缺陷点信息,此外周围环境倒映在钢球表面的像还有被误认为是表面缺陷,造成误检的可能性。
对图14 中表面带有明显缺陷的钢球的缺陷区域做暗场扫描,扫描结果如图15 所示。
图15 缺陷区域暗场线阵检测结果Fig.15 Defect area dark field linear array detection results
图15(a)为钢球表面缺陷在暗场下的扫描结果,对比图14 可以看出,在明场照明下被淹没在高反亮斑中的部分钢球表面缺陷在暗场扫描下完整地呈现,图15(b)为经处理后的钢球表面缺陷特征图像,可直观地得出缺陷区域的形状和大小。由此可见,在钢球表面缺陷检测中,暗场相比明场具有明显的技术优势。
对精度等级为G20,直径为6 mm 的两颗轴承钢球做暗场扫描,其中一颗表面完好,另一颗表面带有明显的缺陷,如图16 所示。
图16 两颗被测钢球Fig.16 Two steel balls under test
表面完好的无损钢球暗场扫描结果如图17 所示。带有明显磨损的钢球暗场扫描结果如图18 所示。可以看出,即便钢球表面光滑无明显损伤,但在暗场条件下,其表面较粗糙区域也会作为缺陷点被系统所检测到。对两颗钢球表面缺陷图像进行三维重建,重建结果如图19 所示。
图17 无损钢球暗场线扫描图像Fig.17 Non-destructive steel ball dark field line scanning image
图18 磨损钢球暗场线扫描图像Fig.18 Dark field line scanning image of worn steel ball
图19 钢球表面缺陷三维重建结果Fig.19 3D reconstruction results of surface defects of steel ball
重建后的三维球面上存在大量离散的缺陷特征点,为筛选面积较大的缺陷区域,需要将离散的点分割成特定的缺陷点集,以便计算缺陷面积大小,但目前国际上对钢球表面缺陷面积尚无明确的限值规定,依据ISO 3290[16],在实际检测中钢球表面缺陷的限值以需求为准。目前国内钢球生产厂家对钢球表面缺陷的检测大多采用人工目视法,人眼的极限角分辨力约为1′[17],在7~10 cm 的工作距离内进行检测作业时,裸眼能够分辨出的圆点极限直径约为20 μm,本文取比极限直径值略小的19 μm,经计算面积大小约为283.5 μm2,本图像采集系统获取的图像像素大小为2.8 μm/pixel,人眼能检测到的最小缺陷尺寸约占36 个像素,则理论上当钢球表面缺陷面积超过283.5 μm2时,可将该表面瑕疵区域认定为缺陷,此时离散点分割最优距离阈值r=9.5 μm,向上取整得r=10 μm,缺陷面积阈值取A=280 μm2,对重建后三维模型上面积大于阈值的缺陷区域进行提取,此时无损球表面剩余满足条件的缺陷点云数量为20 个,磨损球表面剩余满足条件的缺陷点云数量为98 个,如图20 所示。
图20 三维点云模型缺陷点过滤结果Fig.20 Filter results of defect points in 3D point cloud model
从图17~20 可以看出,钢球表面的缺陷经过图像采集和处理、三维重建过滤筛选后,可直观地看出缺陷的个数、形状及位置。由于钢球在运输过程中必然会和邻近的钢球发生挤压、碰撞、摩擦等,可能会使得局部区域产生小瑕疵,属于不可避免的损耗,此外也有一些因钢球本身表面粗糙度影响带来的瑕疵点因面积较大未被过滤,这两类瑕疵较浅,在肉眼条件下难以观察到,因此即便是肉眼下表面完好的无损球,在暗场扫描下也会存在一些缺陷点。
为验证装置的重复性,将无损球与磨损球各进行20 次重复检测,检测结果如表1 所示。
表1 重复检测分析结果Table 1 The analysis results of repeatability detection
本文提出了一种基于光学暗场线扫描技术的高反射率钢球表面检测方法,球面畸变校正问题简化为圆柱面的展开问题,在球面上成功构建了光学暗场,解决了金属球表面因高反光率引起的检测盲区问题,开发了球体表面缺陷三维重构及筛选算法,实现了球面缺陷在三维层面的重构和检测。实验证明,该钢球表面缺陷检测算法在距离阈值10 μm 时,无损球的测量重复性为0.14%,磨损球的测量重复性为0.11%,所设计的图像采集系统和图像处理算法,可实现钢球表面微小缺陷在三维上的重建和检测。