APP下载

复杂背景下的激光光斑中心检测算法

2020-08-31尤其泽张春富仇金桃

智能计算机与应用 2020年4期
关键词:像素点算子光斑

尤其泽, 张春富, 仇金桃

(1 江苏科技大学 电子信息学院, 江苏 镇江212000; 2 盐城工学院 电气工程学院, 江苏 盐城224000)

0 引 言

激光是20 世纪以来继核能、电脑、半导体之后,人类的又一重大发明,其具有高度的指向性、单色性、相干性、聚焦性及能量集中性的特点[1-3],这使得激光在跟踪系统的设计方面具有巨大的优势。 激光跟踪系统的基本原理就是通过激光光斑中心的移动,计算出定位对象的位置变化,从而达到对目标进行非接触式跟踪的目的[4-5]。 而光斑边缘检测的正确与否则是确定光斑中心的重要因素,具有重大的实际价值[6-7]。 张绍堂[8]等对激光光斑进行阈值分割,使用多项式差值算法检测光斑中心,但是对光斑形状、能量分布要求较高;陈和[9]采用高斯拟合-局部重心法,受环境影响较小但计算量较大;郭玉静[10]提出了一种基于亮度阈值的激光光斑中心定位算法,计算量小但精度较低。

本文设计的光斑中心检测算法:首先对图像进行预处理,放大高低频信息,避免边缘模糊化;引入Kirsch边缘检测模板,有效降低边缘的漏检率及错检率;加入形态学处理法,去除光斑内部的复杂背景,保留光斑的准确边缘。 最终对光斑边缘进行最小二乘椭圆拟合得到光斑中心坐标。 实验表明,本文算法在边缘检测及中心提取的各项指标上具有更好的表现。

1 传统Canny 边缘检测算子

Canny 算子是John.F.Canny 于1986 年提出的一种多级边缘检测算法,被广泛应用在图像边缘检测领域,其主要通过以下5 个步骤实现对图像的边缘检测:

步骤1应用高斯滤波平滑图像。 Canny 算子采用高斯滤波器,利用其中的1 阶导数按行和列对原始图像进行卷积降噪,从而得到平滑图像。

其中σ 为调节图像平滑程度的高斯函数标准差;f(x,y) 为原始图像;I(x,y) 为高斯滤波之后的图像。

步骤2计算梯度方向及幅值。 Canny 算子从水平和垂直两个方向上采用2×2 的模板,通过一阶偏导的有限差分计算出平滑后图像的梯度幅值和方向。

其中:G(x,y) 和θ(x,y) 分别为平滑图像I(x,y) 的梯度幅值和梯度方向。

步骤3应用非极大值抑制。 在梯度计算之后,图像提取出的边缘仍较为模糊,需要对其进行“减薄”处理,通过插值比较,去除一些非边缘像素,保留的像素点作为边缘的预选对象。

步骤4应用双阈值检测。 在经过非极大值抑制之后,仍然有较多噪声及虚假边缘被判定为真实边缘,需要对其进一步处理。 通常使用高低两个阈值。 如果边缘像素点梯度值大于高阀值,则被认为是强边缘点,判定为真实边缘。 如果边缘梯度值在高低阈值的区间内,则将其标记为弱边缘点,小于低阀值的点则直接被抑制。

步骤5滞后边界跟踪。 通常认为真实边缘引起的弱边缘点和强边缘点是连通的,而由噪声引起的弱边缘点则不会。 因此,若某一弱边缘点与唯一强边缘点连接,则该点被判定为真实边缘点。

2 改进的Canny 算子

2.1 双边滤波

传统的Canny 算子使用高斯滤波对原始图像进行降噪,但由于高斯滤波在边缘处的变化是线性的,导致其呈现出渐变的形态,容易造成图像边缘模糊且丢失大量的细节信息。 为了更加精准的提取激光光斑在粗糙物体表面的图像边缘,本文选用保边效果更好的双边滤波。

双边滤波是一种非线性的滤波方法,是结合图像空间邻近度和像素相似度的一种折中处理,双边滤波的权重不仅考虑了像素的欧氏距离,还考虑了像素范围域中的辐射差异。 在计算中心像素时同时考虑这两个权重,从而保持了边缘的信息。 在空间范围内对原始图像进行低通滤波可得到:

Wr(i,j) 为灰度阈权值, 将空间邻近度与像素值相似度相结合进行滤波,得到双边滤波表达式为:

2.2 梯度计算

传统的Canny 算子在计算图像梯度幅值和方向的过程中,使用2×2 大小的模板,仅对图像的水平和垂直方向做出了计算,这种计算方式受噪声的干扰较大且会漏检图像中的部分边缘点,出现边缘断裂的现象。 本文在这一基础上使用了Kirsch 边缘检测算子,其是由8 个3×3 窗口模板组成,每个模板分别代表一个特定的检测方向,可以多方向地检测图像边缘,避免检测结果的边缘间断。 在实验过程中取得了较好的效果,其模板如式(9)所示:

假设图像中某一点P(i,j)及其8 邻域的灰度值如图1 所示,ak为经过Kirsch 算子模板计算后的边缘幅值,则a1为:

同理可计算出其它7 个方向上的边缘幅值。计算后P(i,j)的边缘幅值为E =max{ak}(k =1,2,…,8),相对应的边缘方向D(i,j)= {K |ak为最大值}。

图1 某点8 邻域灰度值Fig.1 The gray value of a neighborhood of 8 points

2.3 形态学处理

因激光光斑处于未饱和状态,光斑内部的背景边缘较为明显,通过图像形态学处理可以去除光斑内部的背景,仅保留光斑的边缘信息。

对于一个二值图像,其前景为1,背景为0,给其相连的前景部分标记为同一标签,不同的连通域标记为不同的标签。

(1)从图片的左上角遍历整个图像,给每个前景像素点赋上标签。 若像素点为背景点则直接跳过;若某一像素点的上面和左边都赋予同一标签,则这一像素点的标签与之相同;对于一个像素,如果其上面和左边都有了标签,且两个标签冲突了,那么就把该像素标记为较小的那个标签,同时记住较大的标签隶属于较小的标签。

(2)依然从左上角点开始遍历,每遍历一个标签,都要检查该像素是否具有继承关系。 若存在继承关系,则将之合并为同一标签。 如图2 所示。

图2 连通域的标记Fig.2 Labeling of connected domains

(3)通过各连通域的像素点的个数选出最大的连通域,将其它连通域作为背景部分删除。

3 基于最小二乘法的光斑中心提取

最小二乘法被广泛应用在拟合问题,其原理是使得测量拟合温差的平方和最小化。 最小二乘椭圆拟合主要分为代数法和几何法。

几何法根据给定的拟合方程判断目标的几何结构,得到约束条件。 其计算过程是非线性的,需要在计算过程中多次迭代,若给定的初值不当,会导致计算结果出现较大误差,甚至无法计算出模型参数。代数法则通过代数距离的平方和最小来确定方程参数,计算速度较快。 因此,本文选用代数法来进行椭圆拟合。

设待拟合椭圆在平面坐标系中的方程为:

其中,f(x,y) 代表像素点的坐标,a、b、c、d、e、f 为拟合椭圆的系数。 由最小二乘原理可得目标函数为:

根据极值原理,为使f(a,b,c,d,e,f) 取得最小值,只需:

根据上式所求得的椭圆参数,可得椭圆中心坐标(x1,y1)、长半轴A、短半轴B 以及椭圆的倾斜角θ:

激光光斑边缘检测的准确性对后续光斑中心定位工作起着重要作用,准确的边缘检测可以减少后续过程的工作量。 复杂背景下的激光光斑中心检测步骤如图3 所示。

图3 激光光斑中心检测步骤图Fig.3 Laser spot center detection steps

4 实验结果与分析

本实验在MATLAB2016a 平台上进行,将红色点状激光照射在凹凸不平的复杂物体表面,选取任意一幅激光图像。 利用本文改进的Canny 算法进行光斑边缘提取,并将之与传统的一些边缘提取算法进行比较。

4.1 图像预处理验证

图4 显示的是激光光斑图像经过预处理之后的对比图,由于激光处于未饱和状态,光晕明显,导致低灰度像素点较多,边缘效果差。 传统的高斯滤波在滤除噪声的同时会导致边缘模糊化,造成光斑图像的高频信息丢失,如图4(b)所示。 本文所采用的双边滤波算法则可以在滤波过程中较好的保留边缘的梯度,凸显了图像边缘的高低频信息。 为了更加直观的显示出原始图像在2 种滤波算法后的变化,分别绘制了原始图像、高斯滤波后图像及双边滤波后的灰度直方图,红框内为双边滤波对高低频信息的凸显。 可以看出本文方法可以更有效地避免细节信息的丢失。 图5 中的横坐标为像素点的灰度值,纵坐标为像素点的个数。

4.2 光斑边缘检测结果比较

图6 为经过图像预处理之后的激光光斑边缘检测结果。 图6(a)可以看出,传统Canny 算子对于光斑内部的背景边缘过于敏感,在光斑的右上角产生了明显的误判;图6(b)为传统Sobel 算子,该算子对图像进行了加权平滑处理,降低了噪声的影响,但是边缘检测的过程中容易出现漏检及错检,造成光斑边缘的断裂。 Prewitt 算子通过对图像上的每个像素点的8 方向领域的灰度加权差之和进行边缘检测,但因其采用的灰度局部平均,导致检测结果出现了较多的伪边缘,边缘检测精度较低;图6(d)Roberts 算子的结果最不理想,因为该算子利用局部差分来确定边缘,并不具备抑制噪声的能力,难以去除激光光斑的衍射光晕。 图6(e)为本文改进算法结果,可以看出本文算法的抗噪性更好,边缘提取结果更为平滑,边缘连接性更好,未出现断裂现象且边缘定位的准确性更高。

图4 预处理对比图Fig.4 Comparison of preprocessing

图5 灰度直方图Fig.5 Gray-scale histogram

图6 光斑边缘对比图Fig.6 Contrast of light spot edges

针对图像边缘检测算子的检测结果,文献[11]提出了一种客观的评估方法,即计算边缘像素点的个数(A)、4-连通成分数(B)、8——连通成分数(C)及三者之间的比值,并对这些参数进行比较和评估。 将图6 中本文改进算法及传统Canny 算子、传统Sobel 算子进行数据统计,得到结果见表1。

表1 边缘检测算法评估表Tab.1 Evaluation of edge detection algorithm

表中,C/A 的值代表着图像边缘的连续性,C/B的值代表图像边缘单像素占比,这2 组比值越小,则代表边缘检测算法的效果越好。 由上表及图6 可知,传统算法在复杂背景下检测出较多的边缘点,产生了较多的虚假边缘,且C/A、C/B 的值明显大于本文改进算法,因此可以得出结论,本文改进算法在边缘检测的单一性、完整性及连续性上具有更好的检测效果。

4.3 中心检测结果比较

为了评估本文改进算法对于激光光斑中心检测的准确性,在周围环境保持不变的情况快速采集了20 幅光斑图像。 因激光器处于连续工作状态,可以在一段时间内保持稳定,理论上光斑中心的位置未发生改变。 图7 为利用本文改进算法、Canny 边缘检测算子、Sobel 边缘检测算子处理后得到的光斑中心坐标。

图7 光斑中心检测结果Fig.7 Spot center detection results

传统Sobel 算子在左下凹坑处边缘检测效果较差,产生了较多的错误边缘点,使得计算出的中心点向左下偏移较多。 Canny 算子因内部背景边缘影响,结果波动也较为明显。 利用样本标准差公式计算得到中心点结果的标准差,见表2,可以发现,本文改进算法得到的数据结果更加稳定,效果较好。

表2 中心点坐标标准差Tab.2 Coordinate standard deviation of center point

5 结束语

本文从复杂背景下的激光光斑中心检测的角度出发,获取激光光斑边缘,通过最小二乘法对边缘进行拟合得到光斑中心。 针对传统Canny 算子存在的缺陷,提出一种Canny 算子的改进算法。 使用双边滤波代替高斯滤波,增强去噪过程中的保边能力;引入Kirsch 边缘检测模板,增加至8 个检测方向,降低了光斑边缘错检漏检的概率;最终加入图像形态学处理,用以去除光斑内部的背景噪声,仅保留有效光斑边缘。 结果表明本文改进算法在边缘检测的连续性、完整性及单一性上明显优于传统算法,通过本文改进算法得到计算出的光斑中心坐标稳定性大幅提升,为后续的激光跟踪系统研究提供了数据基础。

猜你喜欢

像素点算子光斑
基于局部相似性的特征匹配筛选算法
Domestication or Foreignization:A Cultural Choice
有趣的光斑
主角光环
有趣的光斑
夏末物语
一种X射线图像白点噪声去除算法
基于canvas的前端数据加密
QK空间上的叠加算子
图像采集过程中基于肤色理论的采集框自动定位