应用于人卫激光测距光尖图像处理方法研究

2020-04-08 04:47胡晓炜朱庆生沙孝鸣周小军郑锋华吴承志
激光与红外 2020年3期
关键词:直角坐标边缘滤波

胡晓炜,朱庆生,沙孝鸣,周小军,毕 勇,郑锋华,武 帅,吴承志

(1.中国科学技术大学,安徽 合肥 230026;2.中科院南京天文仪器有限公司,江苏 南京 210042;3.61741部队,北京 100094;4.32021部队,北京 100094;5.国电南瑞科技股份有限公司,江苏 南京 211106)

1 前 言

卫星激光测距(satellite laser ranging,SLR)是 20 世纪 60 年代中期发展起来的精密空间测量技术。 它通过安置在地面上的卫星激光测距系统发射的激光脉冲,跟踪并观测装有后向反射器的人造地球卫星,通过测量激光脉冲在激光测距望远镜和卫星之间的往返时间,计算出二者之间的距离,进而解算出精密的卫星轨道。

激光脉冲通过大气时,与大气中的分子和气溶胶粒子之间相互作用产生各种物理过程[1],包括分子的瑞利散射、气溶胶粒子的散射等多种散射过程,产生一部分与激光发射方向相反的散射光,可在发射端 CCD 上成一个楔形像,即为光尖。

卫星激光测距系统中目标星与激光光尖在同一视场中,由于距离远,大气消光严重等因素,光尖往往无法呈现出标准楔形,头部不够尖锐(如图1所示),人工操作耗时长且难以准确找到回波最强的位置,导致在激光测距过程中难以接收到单光子信号。目前国内有剔除部分数据提高光尖定位精度的方法[2],通过矢量边界扫描[3]和最小二乘直线拟合的方法确定激光的边缘和光尖坐标。但这种方法只是对边缘信息的近似描述,存在一定的误差,且没有通过编程在电视跟踪系统中得到有效应用,因此,本文提出利用霍夫变换的方法精确地定位光尖。

(b)原始图像伪彩色图

2 霍夫直线变换检测直线的原理

霍夫变换直线检测[4]是一种图像特征提取的方法,通过投票算法检测具有特定形状的物体,可以用于检测激光图像中的直线。假设在直角坐标系中存在一点A(x0,y0),对于任意一组参数(k,b),均由一条直线(y0=k·x0+b)经过点A(如图2所示),不足之处在于,对于整个直角坐标系而言,有一条直线无法用参数(k,b)描述,即垂直于x轴的情况,故将直角坐标系转换为极坐标系。

图2 存在于直角坐标系中的直线段

如图2所示,有x0=r·cosθ,y0=r·sinθ;

(1)

在极坐标系中,过(x0,y0)的所有直线均可以由r=x0·cosθ+y0·sinθ表示(其中r为原点到直线的距离),在θ为[0,π]范围内,每隔ε取值,可以得到π/ε组r值,直角坐标系中每一个点(x0,y0)都对应极坐标系中一条曲线,极坐标系中每一个点(r,θ)都对应直角坐标系中一条直线(如图3所示)。

图3 直角坐标系直线转化到极坐标系

假设在直角坐标系中有(1,1)、(2,1)、(3,1)三点,转换到极坐标中分别为(y=1·sin(x)+1·cos(x);m=1·sin(x)+2·cos(x);z=1·sin(x)+3·cos(x)),三条直线交于一点(1,π/2))。

直角坐标系中,同一条直线上的点(k,b)必定相等,同时以(r,θ)表示的直线方程为:

(2)

3 霍夫变换的实现方式

3.1 光尖检测算法流程图

图4为本文所采用的激光图像处理流程。

图4 激光图像处理流程图

3.2 滤波降噪

图像预处理的方法有中值滤波,高斯滤波,均值滤波等,通过滤波算法,降低图像的噪声,利用卷积公式对图像的像素值进行变换,其中h(k,l)为权重核,g(i,j)为矩阵模板覆盖下中心坐标的像素值。

(3)

在具体操作中,构造一个m*m的矩阵(m为奇数),用此矩阵遍历整幅图像,对该矩阵覆盖下的像素值进行卷积计算,并将结果赋值给中心坐标点,作为中心点像素值,以此达到平滑图像,消除局部噪点的目的。

均值滤波对模板覆盖下的图像矩阵取平均值赋给中心像素点,中值滤波对模板下的像素值进行排列,取中间值赋给中心像素点,该算法能够抑制椒盐噪声,但无法过滤高斯噪声。而为了消除高斯噪声,可以采用高斯滤波方法,它是一种线性平滑滤波,对模板覆盖下的像素值进行加权平均得到,滤波后的图像如图5所示。

(a)高斯模糊后的图像

(b)高斯模糊后伪彩色图

3.3 边缘检测

在降噪滤波后,需要提取图像的边缘,这里需要寻找一个最优的边缘检测算法[8],它应当满足:图像中的实际边缘应当被检测到,由噪声形成的边缘应当被排除。

对于一幅图像,在像素值发生跳跃的地方,往往存在着边缘。如在x方向上,有Δ=f(x+1)-f(x),Δ的值越大,说明在x方向上像素值跳跃越大,边缘信号越强,如图6所示。这里采用了sobel算子,它是基于一阶导数的边缘检测算子。

图6 像素值发生跳跃时的点

Sobel算子[9]用两个3×3的矩阵对应水平梯度和竖直梯度,分别为:

(4)

最终图像梯度:

(5)

此时由sobel算子得出的梯度边缘宽度可能不止一个像素,因此需要对边缘线条进行处理。此时要采用非最大信号抑制,在梯度方向,将当前像素的梯度值同相邻两个点的梯度值进行比较,如为最大值,则保留,反之置为0。经过非最大信号抑制,图像的边缘仅为一个像素宽。

最终的边缘图像还需经过双阈值连接处理,此时设定两个阈值T1和T2,T1为低阈值,T2为高阈值,T1/T2=1/2;高于高阈值的点为强边缘点,予以保留,对低于低阈值的点进行抑制,并假定高低阈值之间的点为弱边缘点,需要检测该点的8连通邻域,只要有强边缘点存在,此弱边缘点就被认为是真的边缘点而保留,边缘图像以二值图像的形式保存下来,边缘检测试验如图7所示。图8展示了视频流中的边缘检测试验的情形。

图7 canny边缘检测后的图像

图8 视频流中的边缘检测试验

3.4 霍夫直线检测

在边缘检测完成后,采用投票算法对边缘像素点进行直线检测[10],如果激光图像中的像素点构成一条直线,那么将会在极坐标系中相交于同一点,我们在极坐标系中查询交点的数目,设定阈值m,当交点个数大于m时,认为这些点存在于同一条直线上,通过这种方法,将检测直线问题转化为统计相交点数问题。

在理论上,经过一个点的直线有无数条,但在实际中,对图像像素点的角度扫描步长不可能无限小,在工程应用中,这个值通常设定为PI/180。

由于光尖的探测在像素级别已经能够满足要求,从算法时间复杂度和空间复杂度考虑,不涉及亚像素级别的标定。因此,在边缘图像中,设定直线扫描的距离步长为一个像素。图9为标定的光尖图像。

图9 标定的光尖图像

3.5 求光尖坐标

根据检测出的直线,设定极坐标系中交点个数的阈值m,当交点的个数大于阈值,直角坐标系中形成直线,反之,不认为在直角坐标系中存在直线。由此方法,得到激光图像中的两条直线,计算可知他们的斜率,将这两条线段延长,在视场中得到他们的交汇点,即激光光尖点的坐标,如图10所示。

图10 直线斜率及光尖坐标

4 总结与展望

利用本文提出的霍夫直线检测方法可以精确地提取激光图像边缘,拟合直线,并能够较为精确地给出光尖坐标,辅之经典质心算法对星点质心坐标的精确计算,控制望远镜使激光精确地指向卫星[11-12],扩大了空间探测范围,提高了激光测距的效率。

猜你喜欢
直角坐标边缘滤波
从平面直角坐标系到解析几何
深入学习“平面直角坐标系”
深刻理解平面直角坐标系
认识“平面直角坐标系”
一张图看懂边缘计算
一种GMPHD滤波改进算法及仿真研究
基于自适应Kalman滤波的改进PSO算法
RTS平滑滤波在事后姿态确定中的应用
基于线性正则变换的 LMS 自适应滤波
在边缘寻找自我