基于改进LSD算法的机场跑道检测
2020-06-01李一波秦帅涛
李一波,荆 磊,秦帅涛
(沈阳航空航天大学 民用航空学院,沈阳 110136)
机场跑道的提取算法中,大多数研究是针对红外[1]、光学[2-4]和单极化SAR图像[5]。1997年欧洲卫星研究机构通过对机载SAR图像的高层图像进行分辨,多次修正监测图像,完成机场跑剖面的确定。Huertas等研究者针对光学图像的跑道提取,研究一种提取机场区域的算法,此算法利用滤波器进行轮廓的初步提取,接下来利用RT变换确定机场跑道。鲍富民等人提出针对机场跑道检测进行SAR图像识别。张未平采用机场感兴趣区域检测,并通过滤波器进行特征提取。跑道检测可以分为两种,一种是边缘检测判别机场直线信息,这种方法首先要用RT或用相位判别边缘信息,缺点是算法耗时太多,判别出来的线段精确度低,不符合实际应用;另一种方法是通过机场在灰度图像上呈现黑色矩形的特点,确定机场及其区域,其区域特征更为显著,首先采用不用线段的拼接划分区域,然后用RT或者HT提取出边缘线,机场跑道具有极强的极化特征且受周围背景物的影响,导致划分结果不稳定,进而影响机场和跑道的确定[6]。
RG Gioi Burns等人进行了改进,引入了线性支持域的概念,提出了一种线段检测器(LSD)算法。LSD是一种直线特征处理的算法,该算法运算速度快,线提取特征精确,适用于SAR图像跑道检测。该算法首先计算像素的梯度和方向,选取优势像素点作为种子点,进而设定区域增长的角度公差,获取直线支撑域,通过计算与线性支撑域对应矩形区域的NFA值(虚假施舍数)将直线提取出来。
针对该算法在实际应用方面存在的问题,本文提出一种改进LSD检测算法,对于边缘信息提取部分,使用新的Frost滤波器抑制相干斑。线段提取速度加快,优化对边缘点强度大小的排列,优先选择像素点大的点作为区域增长点,确定矩形参数后进行修正,最后改进验证方式,除去虚假线段,得到跑道信息。采用新的滤波器,减少图像中的数据量,可以有效提高运算速度和提取精度。通过实验对比,该方法比传统LSD算法更加快速、准确地检测图像中的跑道信息,很少出现漏检、误检,具有较好的工程应用价值。
1 边缘信息提取
改进LSD算法的流程主要分为边缘信息获取、候选线段提取及机场与跑道提取三部分。首先,在边缘信息获取部分,对图像进行 Frost 滤波抑制相干斑得到边缘点[7]。将ROEWA算子与Gabor滤波器结合起来提出一种改进的边缘检测方法。用ROEWA算子计算边缘强度幅值,用Gabor滤波器计算每个边缘点的方向,再对提取出的边缘点进行方向提取。然后对有方向信息的边缘点进行梯度伪排序[8],以强度大的点作为支撑区的中心,按照一定方向生成矩形区域并进行矩形拟合。最后,确定矩形区域的参数,应用改进后的LSD算法进行有效性验证,筛选掉无意义的线段,根据机场和跑道的特征进行提取,得到提取结果。
首先确定边缘点的方向,公式如式(1)所示。
(1)
μx和μy为函数均值,函数的波动方向用θ表示,均值确定函数中心点。式(1)是二维高斯函数,通过有向复正弦函数得出,除实部与虚部在相位上有所差别以外,其余相同。本文只利用 Gabor 函数的实部部分。当θ绕圆周一圈时,n等分的点可以产生n个Gabor函数,所以可以选择方向,边缘强度矩阵即m(x,y),强度大小与θ之间内积定义如式(2)所示。
K(x,y)=〈g(x,y),m(x,y)〉
(2)
m(x,y)与得出来的函数进行内积计算,n维内积矢量计算如式(3)所示。
K(x,y)]=(Kθ1(x,y),Kθ2(x,y),Kθ3(x,y),…,Kθn(x,y))
(3)
K(x,y)可确定各边缘点的方向信息。根据以往数据分析,一般认为n取16。
图1(a)为原始图,图1(b)为相干斑抑制后得到的图像,图1(c)是ROEWA 边缘检测得到的边缘图,图1(d)中不同线条表示不同的方向[9]。
图1 边缘信息提取效果图
2 候选线段提取
当获取边缘点后,我们要把边缘点连成候选线段,处理方法分为直线支撑区生成和矩形拟合。
2.1 梯度伪排序
直线支撑区是采用梯度增长法来确定的,区域增长的结果受像素点的选取顺序影响[10]。边缘点灰度值变化越大的地方,图像变化越剧烈。首先用滤波器对边缘点像素进行检测,按照大小排序,找像素点梯度大的区域进行生长。
首先得出像素点梯度值和方向,计算模板为表1。像素i(x,y)设为点(x,y)的灰度值,则有
(4)
梯度幅值为
(5)
梯度方向为
(6)
表1 2×2模板
如果将所有像素点都进行区域增长,不仅计算量会加大,梯度值小的像素点还会造成较大的误差。梯度值大说明该像素点的灰度变换剧烈,具有较强的边缘,而梯度值小则说明该点的边缘较弱。
2.2 直线支撑区生成
通过伪排序提取出区域增长的预选点,当选取预选点中的一个像素点时,选取平均角度作为其生长角度。对该区域相邻的像素点进行检测,在其邻域像素中进行搜索,计算其邻域像素的梯度方向与水平方向之差并与角容忍度τ进行比较。若大于τ,则不列入直线候选区;若小于等于τ,像素点可以生成直线支撑区,并按照式(7)得到新的方向。再以新的水平方向为基准进行搜索,将已经被加入直线候选区的像素点从像素集中剔除,按顺序重新挑选种子像素,开始下一次区域增长。当没有新的像素点添加到直线支撑区域内时,停止生长。
(7)
式(7)中,θ为该直线支撑区中像素j的水平方向与梯度方向之间的角度。
2.3 矩形拟合
为了方便后续计算,将得到的直线支撑区用拟合矩形覆盖,长度宽度如图2表示[11-12]。
图2 矩形区域
其中,矩形中心为直线支撑区质心,矩形方向为轴方向,其覆盖了所有直线支撑区,里边有一些不必要的点。因此需要确定拟合矩形的参数,并进行几何调整,调整矩形的长度宽度,逐步确定实际跑道和机场的直线。
3 机场与跑道提取
由于边缘提取受环境扰动影响较大,会提取出许多不必要的直线段,为后续机场跑道的计算增加麻烦。所以需要对其进行剔除,首先对矩形参数进行确定,从中选取有效矩形,获取有意义的直线。
3.1 矩形参数的确定
LSD算法中,每一个直线支撑区对应一个拟合矩形区域,每一个矩形区域对应一条直线。因此,想要获取直线,需要提取对应矩形区域的参数。
(8)
式(8)中,中心坐标用矩形(cx,cy)表示,直线候选区中的坐标(xj,yj)(第j个像素),n为该直线候选区中像素点总数。
矩形的参数则通过式(9)获得
(9)
3.2 有效性验证
p-对齐点对于矩形判定很重要。这个概念是指设定一个阈值p,计算该矩形区域中的像素点,将矩形方向的夹角与该阈值比较,并将小于等于p的点进行统计。设其数量为k,通常p的值取为τ/π。
NFA(the number of False alarms)利用公式(10)判断矩形是否有意义[13]。
NFA=(NM)5/2.B(n,k,p)
(10)
其中,N表示图像列数,M表示图像行,B(n,k,p)代表p-对齐点所满足的公式。
(11)
将式(10)和(11)合并,得到式(12)
(12)
Desolneux等人研究得出,NFA取最小值可以得出最优矩形。检测出来的边缘点杂乱无章,进行有效性验证可以剔除混乱直线以便跑道直线检测。
3.3 区域提取
要想在SAR图像中得到机场跑道,最简单的方法就是根据其极化特征判别。由于跑道有自己的直线特征,宽度长度满足一定条件,所以实际跑道在长度与宽度之间存在一定的关系。而且在灰度图里,由于跑道存在极化散射特性,亮度较暗,不同位置的差异较小,所以通过跑道宽度和灰度可以识别出跑道,最后根据机场边缘灰度值变化较为剧烈的特点,在跑道周围提取整个机场区域。
4 实验结果及分析
本文取株洲通用机场进行实验检测,图3(a)为改进算法线特征提取图,图3(b)为改进算法跑道提取的图像,为了与传统算法进行对比,文中方法经边缘检测、Hough 变换线特征得到跑道特征图3(c),图3(d)为用文中方法得到的最终图像。
通过对比新算法与文中得到的结果图可以看出,新算法可以省去大量误检,比传统方法直线更为清晰整洁,表2为新算法与两种传统算法的对比参数。
从表中可以看出,新算法检测时间要小于传统方法,从检测出来的线段数目和不必要线段数目来说,新算法省去了大量无用线段,误检错检线段少。长线段数目较传统方法占比更多,有更好的抗噪性。
图3 株洲机场跑道及机场提取
表2 两种传统算法与改进LSD算法检测对比
为了验证算法的性能,下面我们研究新方法对包含机场区域的大场景SAR图像的检测效果。应用改进 LSD算法的对跑道和机场区域提取图如图4所示。
图4 某通用机场跑道及机场提取图
通过图4(d)提取线段特征可以看出,改进LSD线提取特征明显,机场和跑道提取的效果也很好,一些杂乱无章的曲线并没有提取出来,与传统算法对比效果好,检测出的无用线段较少,算法所需时间较传统方法也大大缩短。
5 结论
针对传统LSD算法的SAR图像跑道区域监测时间长、提取效果差等问题,本文提出一种机场跑道检测改进LSD线提取方法,通过改进滤波器,大大减少了后续线段连接的时间,提高了提取效率。通过对株洲机场与某通用机场进行跑道检测,并与传统方法进行实验对比,结果显示该算法检测效率高、检测出的无用线段较少、机场跑道提取有效线段相对传统LSD算法更为准确,改进后的跑道为飞机目标识别提供了更清晰的底层特征,对后续飞机目标检测具有重要意义。