基于水下图像统计特性的边缘检测方法
技术领域
本发明涉及的是一种图像处理技术领域的图像检测方法。
背景技术
图像边缘通常对应于图像强度或纹理产生变化的区域,是描述目标结构最为基础的一类特征,是视觉感知的重要线索,广泛应用于线性特征提取、目标识别与特征匹配。由于海洋开发和水下目标探测等关系国民经济的重大需求使得水下图像的数字处理技术日益受到重视。
目前专门针对水下图像统计特性的边缘检测方法研究较少,常用的方法都是处理普通光学图像的边缘检测方法,如Sobel、Robert、Canny、小波模极大值法等检测方法。Sobel算子和Robert算子边缘检测速度较快但检测出的结构信息不完整,同时对于噪声图像检测时常出现伪边缘。小波方法利用时频分析的优越性,获取不同尺度下的图像边缘信息,但小波方法局限于只能检测点奇异以及有限的方向性。Canny算子在检测过程中通过高斯函数对图像进行平滑较好的抑制了噪声,并且由于采用递归跟踪算法不断的搜集边缘进行连接,因此得到了更加完整的图像边缘。但将此方法用于水下图像时,对于处理过程阈值的合理设置是其难点,阈值选择的恰当与否也对边缘检测的效果起着决定性的作用。
水下图像数字处理的目的是:(1)改善图像质量即减小噪声增强有用信息。(2)图像特征的提取和识别。通过理论分析和实验表明可以发现,解决这些问题的方法的效果优劣取决于图像的统计特征。
发明内容
本发明的目的在于提供在有效抑制水下图像噪声的同时,较好的检测出图像的边缘信息的基于水下图像统计特性的边缘检测方法。
本发明的目的是这样实现的:
本发明基于水下图像统计特性的边缘检测方法,其特征是:
(1)对水下图像进行统计特性分析即对水下图像中不同像素点的相关系数ρ(τ1,τ2)进行估算:
式中xnm是n列m行像点的灰阶,N和M是总的列数和行数,τ1和τ2表示的是求相关的水平和垂直间隔,是整个水下图像的平均灰阶:
(2)采用二维高斯函数的一阶导数对两幅水下图像进行平滑:
水下图像为f(x,y),用二维高斯函数的一阶导数对图像进行平滑,二维高斯函数为:
其梯度矢量为:
把▽G的2个滤波卷积模板分解为2个一维的行列滤波器:
其中k为常数,σ为高斯滤波器参数;
(3)采用10×10邻域一阶偏导的有限差分来计算平滑后的数据阵列I(x,y)的梯度幅值和方向,x和y方向偏导数的2个阵列Px[i,j]和Py[i,j]分别为:
Px[i,j]=(I[i,j+1]-I[i,j]+I[i+1,j+1]-I[i+1,j])/2
Py[i,j]=(I[i,j]-I[i+1,j]+I[i,j+1]-I[i+1,j+1])/2
计算像素的梯度幅值和方向采用直角坐标到极坐标的坐标转化公式,梯度幅值为:
梯度方向为:
θ[i,j]=arctan(Py[i,j]/Px[i,j]);
(4)对梯度幅值进行非极大值抑制:
使用3×3大小且包含8个方向的邻域对梯度幅值阵列M[i,j]的所有像素沿梯度方向进行幅值的插值,对每一个像素点,邻域的中心像素m[i,j]与沿梯度方向的2个梯度幅值的插值结果进行比较,非极大值抑制在像素邻域中心处沿着梯度方向的扇形区域ζ[i,j]进行;如果邻域中心点的幅值m[i,j]不比梯度方向上的2个插值结果大,则将m[i,j]对应的边缘标志位赋值为0;
(5)利用Rosin方法获得单峰图像阈值;
(6)检测和边缘连接:
通过使用高、低2个阈值th和tl划分出边缘图像Th[i,j]和Tl[i,j],在经高阈值得到的图像中把边缘连接成轮廓,当达到轮廓端点时,在由低阈值得到的边缘图像的8邻域位置寻找可以连接到轮廓上的边缘,利用递归跟踪的算法不断在低阈值图像中搜集边缘,直到将高阈值图像中所有的间隙都连接起来为止,从而完成边缘检测的全部过程,得到图像的轮廓信息。
本发明还可以包括:
1、进行高斯平滑时,取高斯滤波器参数σ=2。
本发明的优势在于:本发明可以针对不同的水下图像自动设置边缘检测的合理阈值,克服了传统方法手动阈值设定不准确的缺点。同时通过合理确定高斯平滑参数及邻域范围捕捉图像边缘信息,能够在去除噪声的同时,更好地检测图像的边缘轮廓。
附图说明
图1为本发明的流程图;
图2a为未经处理的水下图像1,图2b是未经处理的水下图像2;
图3a为图像1的灰阶概率分布直方图,图3b为图像2的灰阶概率分布直方图;
图4为普通图像的灰阶概率分布直方图;
图5a为图像1高斯平滑后的结果图,图5b是图像2高斯平滑后的结果图;
图6为Rosin方法的原理图;
图7a为图像1采用本发明方法进行边缘检测后的结果图,图7b为图像2采用本发明方法进行边缘检测后的结果图.
具体实施方式
下面结合附图举例对本发明做更详细地描述:
结合图1~7,图像的边缘一般是图像灰度发生剧烈变化的地方,相应的图像边缘检测方法有很多,Canny算法被认为是最成功并且应用最广泛的边缘检测方法之一,因此本发明联合Rosin阈值选取方法进行Canny边缘检测。主要分为以下几个阶段进行:
(1)对水下图像进行统计特性分析
分析水下图像统计特性时,假定水下图像的统计特性是各态历经的。本发明对多幅图像进行分析,发现水下图像的灰阶概率分布都是单峰的,本文选取两幅水下图像,如图2a和图2b所示,以及其灰阶直方图,如图3a和3b所示,作为灰阶概率分布的估计。从图中可以看到其灰阶概率分布接近瑞利分布。普通图像的灰阶直方图要复杂一些,常表现为多峰,如图4为常用于仿真的标准图像Lena的灰阶直方图很难用一个简单的数学模型来描述。
另一方面,对水下图像中不同像素点的相关系数进行估算。估算的公式为:
式中xnm是n列m行像点的灰阶,N和M是总的列数和行数,τ1和τ2表示的是求相关的水平和垂直间隔。当τ2=0时,上式表示水平相关系数,当τ1=0时,上式表示垂直相关系数,是整个水下图像的平均灰阶:
与普通图像相比,水下图像统计特性的不同之处在于(1)普通图像的灰阶概率密度比较复杂,常常有好几个峰,而水下图像的灰阶概率密度只有一个峰。(2)水下图像像素间的相关性比普通图像弱很多。大部分的图像处理方法都是从灰度分布,像素相关性出发,因此将普通图像处理方法直接用于水下图像不能取得良好的效果。本文针对分析的水下图像的特点采用适合的方法进行边缘检测。
(2)采用二维高斯函数的一阶导数对两幅水下图像进行平滑
由于水下图像易受噪声的干扰,因此在边缘检测中对其进行平滑是非常重要的一步。设水下图像为f(x,y),首先用二维高斯函数的一阶导数对图像进行平滑,设二维高斯函数为:
其梯度矢量为:
把▽G的2个滤波卷积模板分解为2个一维的行列滤波器:
其中k为常数,σ为高斯滤波器参数,控制平滑程度。当σ小时,定位精度高,但信噪比低;当σ大时情况则相反,因此要根据需要选取合适的高斯滤波器参数,本发明中选取σ=2进行高斯平滑可得到理想的平滑效果,如图5a和5b。(3)计算梯度的幅值和方向
采用10×10邻域一阶偏导的有限差分来计算平滑后的数据阵列I(x,y)的梯度幅值和方向。x和y方向偏导数的2个阵列Px[i,j]和Py[i,j]分别为:
Px[i,j]=(I[i,j+1]-I[i,j]+I[i+1,j+1]-I[i+1,j])/2 (7)
Py[i,j]=(I[i,j]-I[i+1,j]+I[i,j+1]-I[i+1,j+1])/2 (8)
计算像素的梯度幅值和方向采用直角坐标到极坐标的坐标转化公式,计算出的梯度幅值为:
梯度方向为:
θ[i,j]=arctan(Py[i,j]/Px[i,j]) (10)
(4)对梯度幅值进行非极大值抑制
在非极大值抑制过程中,使用3×3大小且包含8个方向的邻域对梯度幅值阵列M[i,j]的所有像素沿梯度方向进行幅值的插值。对每一个像素点,邻域的中心像素m[i,j]与沿梯度方向的2个梯度幅值的插值结果进行比较,非极大值抑制在像素邻域中心处沿着梯度方向的扇形区域ζ[i,j]进行。如果邻域中心点的幅值m[i,j]不比梯度方向上的2个插值结果大,则将m[i,j]对应的边缘标志位赋值为0,这一过程把M[i,j]宽屋脊带细化为一个像素宽,并且保留了屋脊的梯度幅值。非极大值抑制(non-maxima suppression,NMS)过程的数学表示为:
N[i,j]=NMS(M[i,j],ζ[i,j]) (11)
(5)选择Rosin作为单峰图像阈值的选择方法
Rosin针对单峰形态的直方图提出了一种计算过程极为简单的阈值设定方法,而水下图像的特性恰好符合该方法所针对的图像特点。该方法假定图像的像素分为两类,其中灰度值小的一类像素较多,在图像的直方图前端形成一个显著的峰值,灰度值大的一类像素相对较少以至于不一定能形成可分辨的峰值,过直方图最大峰值点和末端的第一个零点做一条直线,则直方图上到直线距离最大的点所对应的灰度值即为高阈值,其阈值选取原理如图6所示。
(6)检测和边缘连接
在可得到经非极大值抑制的图像后,通过使用高、低2个阈值th和tl可以划分出边缘图像Th[i,j]和Tl[i,j]。由于水下图像的统计特性与普通图像不同,同时传统的人工阈值设定方法不能够充分利用图像信息准确找到适合图像的阈值,因此本文采用对于单峰直方图的最优阈值选取方法Rosin,经此方法设定的阈值即为高阈值,从而低阈值设为0.5倍的高阈值。
通过高阈值得到的图像不含有假边缘,但在轮廓上可能有间断。因此双阈值算法要在经高阈值得到的图像中把边缘连接成轮廓,当达到轮廓端点时,该算法就在由低阈值得到的边缘图像的8邻域位置寻找可以连接到轮廓上的边缘,这样利用递归跟踪的算法不断在低阈值图像中搜集边缘,直到将高阈值图像中所有的间隙都连接起来为止。这样完成了边缘检测的全部过程,得到图像的主要轮廓信息。
从图7a和7b中可以看出,本文的边缘检测方法能将图像中主要的部分凸显出来,不受噪声干扰,同时由于选取了适合水下图像的阈值使得图像中不重要信息被滤除掉,只保留了重要信息的轮廓。