侧扫声呐图像特征提取改进方法
2019-07-16王其林王宏健班喜程
王其林,王宏健,李 庆,肖 瑶,班喜程
(哈尔滨工程大学 自动化学院,黑龙江 哈尔滨,150001)
0 引言
声呐图像特征提取一直是国内外水下图像处理研究的重点,近年来国内外学者已有诸多研究成果。Wei等[1]提出一种通过对声呐图的阴影进行特征提取并进行分类的特征提取方法;Reed等[2]利用马尔科夫随机场(Markov random field,MRF)模型结合统计合作蛇形(cooperating statistical snake,CSS)模型的方法对声呐图像进行特征提取。Rao等[3]提出了符号图案分析(symbol pattern analysis,SPA)方法,利用特定目标物的特性回波直方图对声呐图像中水雷进行检测。罗进华等[4]利用数学形态学完成了对声呐图像轮廓的提取。李海森等[5]利用尺度不变特征变换(scale invariant feature transform,SIFT)算法实现对声呐序列图像进行特征跟踪。王力[6]利用相位编组法和 Hough法对图像进行了直线特征提取和匹配;黄勇[7]对图像使用线段检测(line segment detection,LSD)方法完成了图像直线特征提取。
上述方法完成了对目标轮廓提取,但得到的特征均为不规则特征,后续图像处理中并不能很好地利用这类特征。Hough变换原理简单,在光学图像中直线特征提取结果较好,但作用于边缘复杂图像时,边缘点转化会受到影响从而降低直线特征提取质量;LSD算法根据像素梯度可以很好地提取出一些不明显的特征,但是会存在直线特征断裂的问题。针对此,文中提出了相应解决方法,解决了Hough变换中边缘点转换存在的问题以及LSD算法中直线特征断裂问题,改善了提取效果。SIFT算法鲁棒性较强,利用该方法对图像进行点特征提取,可以有效了解声呐图像点特征特点。
1 侧扫声呐图像SIFT特征点提取
SIFT算法通过建立图像的尺度空间来精确定位候选特征点的位置,利用梯度求出特征点的幅值和方向,最后构建 128维的特征描述子来完成SIFT算法[8-10]。
1.1 尺度空间特征点检测
SIFT算法在图像处理过程中引入合适的尺度参数,通过不断改变尺度参数的值和降采样得到不同模糊程度和大小的图像,构成金字塔式的尺度空间。高斯卷积核是实现尺度空间的唯一变换核。图像I(x,y)在不同尺度下的表现形式为
式中,*表示卷积核与图像的卷积运算。
式中:σ为尺度因子;m和n为卷积核模板大小。
对于金字塔组数的确定依赖于原始图和顶层图像的大小关系,且
式中:M和N分别为图像的长和宽;t为塔顶图像最小维度的对数。高斯金字塔图像见图1。
图1 侧扫声呐图像高斯金字塔Fig.1 Gaussian pyramid of side scan sonar image
为保证所检测特征点的鲁棒性,图像沿着尺度轴进行差分,用高斯差分(difference of Gaussian,DOG)算子建立的差分金字塔替换高斯金字塔,试验结果见图2。
DOG算子表达式为
差分金字塔完成后,检测特征点需要判断差分金字塔中候选点是否满足在空间邻域中属于极大值或者极小值点,若满足则标记为初步特征点,若不满足则摒弃。
图2 侧扫声呐图像高斯差分金字塔Fig.2 Difference of Gaussian(DOG)of side scan sonar image
1.2 特征点筛选
为了提高关键点的稳定性,需要对尺度空间DOG函数进行曲线插值,DOG函数在尺度空间的Taylor展开式为
对X求导并使方程等于零,得候选点偏移量
DOG算子如果定义不好,会使得极值点处产生较强的边缘响应,为剔除不稳定边缘点,取极值点处的Hessian矩阵,如下
求得H的特征值,最大为α,最小为β,通过式(9)和式(10)建立关系。而为最大和最小特征值的比值。
1.3 特征点方向赋值
对于在 DOG金字塔中检测出的特征点,采集所在高斯金字塔层的3σ邻域窗口内的所有像素梯度和方向的分布特征,梯度幅值和方向计算如下
统计各像素点的方向并以梯度模值为基础建立方向直方图,设定合适的划分阈值,将方向统计在各对应的直方图中。最后将各直方图值的最大值作为特征点的主方向,图 3中黄色点状即为提取的点特征。
图3 特征点主方向检测Fig.3 Main direction detection of feature points
特征点常应用在图像之间的匹配中,SIFT算法为了避免光照和视觉变化对匹配产生影响,利用了特征向量来构建特征点的描述子,从而提高匹配正确率。
1.4 特征点描述
将图像X轴旋转到与特征点一致的方向。旋转之后以特征点为中心,取邻域窗口,统计领域内每个窗口的方向和幅值。为了保证精度,构建128维的描述子。即取特征点为中心的16×16邻域,统计每4×4个像素点的梯度和方向,形成一个 8维的种子点,共形成同类型的种子点16个。
完成描述子的特征向量后,也就建立起图像匹配的条件,截取一部分图像,将欧氏距离作为描述子的度量函数,完成 2张图像点特征之间的匹配[11-13],试验结果见图4。
图4(a)为随机抽样一致(random sample consensus,RANSAC)算法剔除误匹配前的结果,还存在明显的误匹配,有 19对匹配点;图 4(b)是经RANSAC算法剔除误匹配后的结果,为 18对匹配点,已不存在明显的误匹配现象。
图4 侧扫声呐图像特征点匹配Fig.4 Feature points matching of side scan sonar image
2 侧扫声呐图像直线特征提取
利用SIFT算法可以有效提取到侧扫声呐图像的特征点,但特征点之间并没有形成有效的信息来展现图像的轮廓特点或者区域的特征信息。由于线特征能够更准确描述区域的特点和轮廓特征,使得直线特征相对于点特征得到的图像信息更加丰富。文中将对侧扫声呐图像的线特征提取进行了研究。
2.1 改进的Hough变换方法设计
Hough变换是模式识别领域中对二值图像进行直线检测的有效方法,它通过分析边缘点的共线性来进行直线特征的提取,是一种全局性的检测提取方法[14-17]。Hough变换是Paul Hough在1959年对气泡室(bubble chamber)照片进行机器分析时提出的,现在使用的Hough变换是1972年由Richard Duda和Peter Hart所提出,被称之为“广义Hough变换(generalized Hough transform,GHT)”。
直线特征的Hough变换主要依赖于2个坐标空间之间的变换[18-20],将一个(图像)空间中的直线通过相应数学计算映射到另一个(参数)坐标空间的各点集合,形成峰值,从而把检测直线特征问题转化为统计峰值问题。
平面区域内,1条直线可由2个不同点A(x1,y1)和B(x2,y2)确定(笛卡尔坐标系),即y=kx+q,将直线方程变换得到q=-kx+y。写成关于(k,q)的函数表达式,简称为(k,q)式。坐标系间的变换会使坐标系中的1条直线对应(k,q)式中的1个点(见图5(a))。(k,q)式到笛卡尔坐标系的转换同样成立。坐标系中有 2个点(见图 5(b)),每个点对应(k,q)式中的 1条直线,不共线的两点映射在(k,q)式中为相交直线,直线交点横纵坐标分别对应着两点共线所形成的截距和斜率,多点情况类似,点和线在不同坐标系下实现了转换。
图5 不同参数下坐标转换Fig.5 Coordinates transformation for different parameters
不过上述表示方法对于和y轴垂直的直线并不容易实现,由于此时斜率为+∞,k和q都不容易表示,因此以极坐标的形式进行替换。变换后的坐标系与笛卡尔坐标系的变换和上述方法类似,只不过将参数(k,q)变为(ρ,θ),如图6所示。笛卡尔坐标系与极坐标系的转换公式为
式中:ρ代表极径;θ为极角。极径是指坐标系原点到点所在直线的距离,极角是求距离时,垂直线与x轴所形成的夹角。
图6 笛卡尔坐标系与Hough空间的坐标转换Fig.6 Coordinate transformation between Cartesian coordinate and Hough space
这种极坐标形式的Hough空间转换不受角度影响,适用性更好。利用Hough变换来进行侧扫声呐图像直线特征的提取,首先需要对声呐图进行去噪,然后对图像进行边缘处理,并在此基础上进行直线特征的提取。二值化边缘处理的方法有高斯拉普拉斯(Laplacian of Gaussian,LOG)算子、Robert算子及Canny算子等,文中采用Canny算子对声呐图像进行处理,边缘处理见图7。
图7 Canny边缘检测Fig.7 Canny edge detection
将边缘点映射到Hough空间得到一系列由正弦和余弦组合成的曲线,将极坐标系按照极径和极角精度来划分方格,每个方格对应 1个极径和极角的坐标,当点映射成曲线时,经过每一格子时相应的坐标所对应数值加 1,依次累积,最终将所有点对应的极坐标划分完毕。统计每个方格的累计数,当其大于设定的阈值时,进行保留,并反向映射在笛卡尔坐标系中,得到最终的直线特征。
该方法的不足是,需要将所有边缘点转化完成后再提取直线特征,灵活性较低,且仅能找到直线所在位置。具体改进方法如下:
1)首先设置2个图像边缘掩码矩阵M1、M2,然后将边缘点进行Hough变换,统计方格中累加器数值,当最大值达到设定值时,进行步骤 2),否则继续转换;
2)在矩阵M2中找到达到阈值时的对应点,从当前点出发,沿直线方向两侧寻找隶属于直线上的点,要求两临近点之间的距离值要限定在阈值内,大于设定阈值时或者到图像的边界为止,进行步骤3);
3)对得到的直线进行长度计算,若不小于设定值,判断为正确的直线;若不是,判断为错误直线,进行步骤4);
4)对方格累加器数值进行更新,可考虑以下 2种情况:一种是只将满足阈值的累加器方格清零,另一种是将检测到直线上的点对应的所有累加器方格都清零,同时将检测直线上所有的边缘点在M1对应位置也清零,不再参与下次循环,但M2中不变,回到步骤1),直到所有边缘点都计算完毕。
改进之后的方法提取直线特征效果见图8。
图8 Hough直线提取结果对比Fig.8 Comparison of hough straight line extraction results
从试验结果可知,基本Hough变换提取的直线特征是贯穿整幅图像的直线(图 8(a)),没有体现出图像特点;改进之后的2种方法都能准确展现图像的直线特征;图 8(b)中的方法仅根据直线中边缘点数量减少满足阈值的ρ-θ值,所以同一个点可参与到其他直线特征检测中,检测到直线特征较多;图 8(c)中方法会将直线边缘点对应在ρ-θ中的所有值都做出相应减少,即同一点不再参与到后面的ρ-θ值统计中,故直线特征数减少,但从试验结果看,并不影响图像的特征描述。
2.2 改进的LSD直线特征提取变换方法设计
将 LSD应用到侧扫声呐图像的线特征提取中效果也很理想。与 Hough直线特征提取不同,LSD算法直线特征提取以每个像素点的梯度和幅值作为基础进行处理[21-23]。
LSD 算法中采用2×2模板对像素梯度幅值和方向进行计算,如图9所示。
图9 像素点位置示意图Fig.9 Schematic diagram of pixel locations
图中,(x,y)像素点的梯度大小可按下式求得
其中
选择较大梯度幅值的像素点作为起始点,将梯度方向在一定阈值内的相邻点归在同一区域,并将区域中的所有点作为初始点重复寻找,直到归并所有满足条件的像素点。此过程即为区域增长。通过区域增长过程得到的区域方向为
式中,θi表示区域内像素点的梯度方向。
提取区域的直线特征,需要用矩形区域对所得区域进行近似估计。为了得到估计矩形的长度、宽度和中心等,要利用对像素灰度值的计算对中心坐标进行定位,且
式中:cx和cy表示增长区域生成矩形中心点位置的坐标;g(I)表示像I处像素点的灰度值大小;x(I)和y(I)是指像素点I的坐标,矩形梯度方向由式(14)求得。通过计算确定矩形结构后,将矩形的中轴线作为要提取的直线特征,将其作用于侧扫声呐图像的直线特征提取结果见图10。
图10 线段检测直线特征提取结果Fig.10 Straight line feature extraction result of line segment detection(LSD)
可以看到,由LSD算法提取的直线特征较多,但是由于侧扫声呐和海底地形的特点以及直线相交处会出现断裂,使得直线特征长度较短的数量增多。对此,将断裂的直线特征进行拟合,然后根据图像直线特征设置不同的长度限制阈值对比拟合前后的效果。拟合过程如下:
1)随机选择一条直线特征l,求出该点的斜率k和两端点,在余下的直线中寻找和l斜率相近的直线,满足找到所有符合条件的直线后转步骤2);
2)在满足条件的直线中依次计算每条直线两端点和l两端点的距离,若其中的 4个距离存在小于设定阈值dis的情况,则保留,转步骤3),否则重新寻找;
拟合后的直线特征可有效减少直线特征因相交而出现的断裂问题,也可以将相似直线特征合并。图 11给出了图像特征拟合之后的试验结果(白色线状即为提取的直线特征)。
图11 不同阈值下LSD直线特征提取结果Fig.11 LSD line feature extraction results under different thresholds
图11(a)是没有经过拟合的直线特征,从左至右长度阈值为15和18,图11(b)为经过拟合后在对应长度阈值条件下得到的直线特征。LSD算法中,不同的长度阈值会影响直线特征数量,过小可能会受噪声影响,提取的直线特征数量过多,且直线特征不准确;过大会使得检测特征数过少,不能有效描述图像特点。具体提取数量结果见表1。
表1 试验结果数据列表Table 1 List of experimental results
3 试验结果分析
文中所用试验图像为某海域的侧扫声呐图像,图像处理环境为Windows操作系统下基于Visual Studio 2010开发环境C++语言。
根据Hough变换和LSD方法优化前后结果进行对比来分析特征提取效果。试验结果见表1。
将点特征和直线特征的试验结果对比可以看出,点特征较多,分布与图像各区域,描述图像信息的能力较弱,常用于图像之间的点特征匹配。直线特征可很好地描述图像特征的特点,相对于点特征表现更好。从试验结果可知,优化之后的Hough变换可以根据图像特点灵活改变特征长度,增加了直线特征的数量,更精确地描述了图像特点。优化之后的LSD算法也有效解决了因直线特征相交而断裂造成图像过多过短的问题。
从表 1中可知,Hough变换优化后检测到的图像特征增多,优化(1)因为考虑到同一点可以参与到不同直线的检测中,所以会产生一部分差别小的直线特征,数量相对优化(2)较多,可以根据需要特征数量来选择合适的优化方法。LSD算法中,在同样长度阈值筛选下,拟合后的特征数较多,这是因为未拟合之前直线特征会因相交断裂,造成直线特征较短,在筛选中被去除;而拟合时会将断裂的直线特征结合,保证了特征长度,可以避免被筛掉。从图11中可知,拟合后的直线特征在筛选之后数量增多,特征长度也相对较长。因此文中的优化方法在解决直线特征提取的质量不高及直线特征断裂等问题的同时,也保证了提取的直线特征能较好地描述声呐图像的特点。
4 结束语
声呐图像特征提取一直是国内外水下图像处理的研究重点。文中在对侧扫声呐图像的特征提取过程中,通过对点、线特征的提取,可加强对点、线两种不同特征的认识,以对比图像特征提取的效果。研究结果表明,直线特征更能体现出图像的特点,描述的信息更多。文中也说明了光学图像中常用的直线提取方法也适用于声呐图像的直线特征提取。针对Hough变换提取的线特征不够理想问题,提出的Hough空间转换的优化可以提高提取线特征的质量;另外针对LSD出现提取线特征断裂问题,文中也设计了线特征拟合的方法进行线特征拟合,通过拟合那些判断为断裂的线特征,降低了断裂线特征的影响。
然而,基于声呐图像的特点,在某些区域检测到的直线特征比较密集,相似特征数量太多,在描述图像特点甚至是图像的直线特征匹配中存在不足,需要在保证直线特征质量的同时能减少密集区相似直线特征的数量,这也是下一步需要进行研究的方向。