资源三号卫星影像中线性目标的检测技术
张国英, 程益钰, 李峰, 宋科科
中国矿业大学(北京)计算机系,北京 100083
程益钰(1988-),男,硕士研究生,主要从事图形图像处理方面的研究。Email:chyyeng@163.com

第一作者简介: 张国英(1968-),女,博士,教授,主要从事计算机图形图像处理和模式识别方面的研究。Email:zhangguoying1101@163.com

摘要

为了有效地进行高分辨率图像中线性目标的检测,提出一种基于Freeman链码的改进型Hough变换算法。首先,对图像进行增强和滤波处理,采用基于灰度一致化的方法对图像进行区域分割; 然后,利用Freeman编码提取目标区域的边界; 最后,对链码数据进行Hough变换,检测出平行线性结构。实验结果证明: 该算法能有效地提取图像中平行线性目标,将其应用于资源三号卫星影像道路网目标的识别中,准确率高且实时处理性好。

关键词: 卫星影像; 线性目标检测; 平行线对; Hough变换; Freeman链码
中图分类号:TP75TN911.73 文献标志码:A 文章编号:1001-070X(2014)02-0033-05 doi: 10.6046/gtzyyg.2014.02.06
Technology of linear target detection based on ZY-3 satellite images
ZHANG Guoying, CHENG Yiyu, LI Feng, SONG Keke
Department of Computer Science and Technology, China University of Mining and Technology(Beijing), Beijing 100083, China
Abstract

This paper proposes a method for extracting linear object based on Freeman chain code and Hough transform with the purpose of extracting linear object effectively. After the original image is enhanced and filtered, a method based on the gray-level uniformization is used for region segmentation of image. Then the approach of Freeman chain code is carried out. Finally, the parallel linear structure is detected when Hough transform is used for the data of the chain code. The experiment results show that the proposed algorithm can extract the parallel linear structure of the image effectively, as evidenced by the fact that it showed high efficiency and high accuracy when it was applied to network target recognition in the ZY-3 satellite images.

Keyword: satellite images; linear object detection; parallel; Hough transform; Freeman chain code
0 引言

在卫星影像处理中, 道路和机场等线性目标的检测和提取具有重要意义。提取线性目标的方法虽然已进行过很多研究, 但仍然存在不足。陈仁杰等[1]运用Hough变换, 提出了一种简便有效的基于图像主特征直线的线性目标检测算法, 它具有较强的鲁棒性, 检测直线过程中受噪声和曲线间断的影响小。但由于该算法是全搜索, 计算量和存储量都很大, 不利于实时处理。而基于数学形态学的线性目标检测[2]、基于最小二乘B样条曲线的线性目标检测[3]、基于区域生长的线性目标检测[4]和基于神经网络的线性目标检测[5]等方法的优点是计算简单, 适合实时处理, 不足之处在于边缘跟踪不能处理有间断的直线, 因此这些算法的性能在一定程度上受边缘检测算法的制约。

Freeman-8链码[6, 7, 8]是一种边界的编码表示法, 用边界方向作为编码依据, 仅需保存起点坐标和边界链码, 即可描述目标的形态, 简化了目标区域。用Freeman链码来描述每个区域目标, 可以节省内存空间, 同时可保留目标的几何形态, 在卫星影像线性目标边缘特征提取中得到广泛应用。根据以上分析, 本文以提取的平行线对为原型, 分析了Hough变换和Freeman链码提取直线的优缺点, 提出了基于Freeman链码的Hough变换提取平行线对检测线性目标的方法。Hough变换的处理对象由整幅影像数据改为图像分割后得到的各区域的边界链码数据。在寻找图像的直线过程中, 删除已经找到的直线链码数据, 继续寻找后续其他直线, 从而避免重复的直线检测。

1 Freeman链码检测直线

Freeman基于模式识别的目的, 提出了用图1所示的不同斜率方向的8个小线段作为码, 通过这8个方向的编码来描述线条图, 即为Freeman链码。

图1 Freeman链码的方向取值Fig.1 Direction value of Freeman chain code

数字化二值轮廓曲线可以用8个方向Freeman链码表示, 1条曲线数字化后可以形成n条链, 每条链指向8个方向中的1个, 即ai{0, 1, 2, …, 7}。如图1所示, 其中i为像素索引值, ai表示由像素i指向像素i+1的链码方向, 最后得到n条链的曲线链码M, 表示为

M=S+ Ci=1nai, ai{0, 1, 2, …, 7}, (1)

式中: S为边界(曲线)的起点坐标; C为将相邻像素间链码方向连接起来构成的链码序列; n为边界点的个数; 当边界闭合时, 回到起点, 省略S

对于卫星影像中的任一闭合区域, 从某起点开始, 将边界的走向按Freeman链码方式记录, 形成连续的序列, 即边界编码。图2所示图像的Freeman链码表示为077666654533212122。

图2 闭合边界的Freeman链码Fig.2 Freeman chain code of closed border

Freeman指出, 1条直线的链码应满足3个条件: ①最多只有2个相邻的码出现, 且它们之差的绝对值对8值的模为1; ②上述2个码的其中之一只能单独出现; ③这个单独出现的码一定是均匀分布在整个直线链码中。

根据链码描述边界的原理, 图2 中Freeman链码从直线上的一个点移到下一个点的过程, 一定对应着Freeman链码的8个码之一。Freeman检测直线的一般过程是: 针对预处理后的图像, 将直线编码提出的3个约束条件应用到直线识别中, 后续通过线段的合并操作能较好地检测出直线, 不过该算法对噪音较敏感。

2 算法

本文算法以平行线特征为依据, 检测卫星图像中线性目标的步骤为: ①对采集到的卫星图像进行平滑滤波处理, 消除椒盐噪声; ②以灰度一致性为原则, 以像素生长法为手段对图像进行分割, 将图像按照灰度信息分割成局部具有一致性的区域, 得到的各个区域都会具有各自基本的几何形态特征和颜色信息; ③使用Freeman链码提取区域边界来描述分割后的各个局部目标, 计算各目标的面积、周长、外接矩形的长、宽和长宽比及复杂度等几何特征, 去除面积较小、长宽比小及复杂度偏小的区域目标; ④对剩下区域的边界链码进行Hough变换, 得到构成线性目标平行边的直线; ⑤对检测出来的准平行边使用平行线数学模型进行鉴别, 以确定其是否确实为平行边; ⑥根据得到的平行边来确定线性目标的位置。算法流程如图3所示。

图3 算法流程图Fig.3 Algorithm flow chart

2.1 分段线性增强

对图像进行直方图统计后, 为了突出图像中的线性目标, 使用分段线性变换增强拉伸线性目标区域的灰度值, 分段灰度增强遵循

f’ (x, y)= aaf(x, y), 0f(x, y)< ab-ab-a[f(x, y)-a]+a, af(x, y)< bM-bM-b[f(x, y)-b]+b, bf(x, y)< M(2)

规则。式中: a, b, M为像素灰度值的区间范围; a’ , b’ , M’ 为控制拉伸区间的参数, 如果a< a, |b-a|=|b-a|, |M-b|> |M-b|, 则是抑制第1区间[0, a], 维持第2区间[a, b], 拉伸第3区间[b, M]。对于本文图像进行增强, 就是抑制背景段, 保持过渡段, 拉伸目标段。

2.2 中值滤波

本文采用中值滤波器对图像进行滤波。中值滤波在消除噪声的同时还能保持图像中的细节信息, 防止边缘模糊, 其公式为

f(x, y)=median[Sf(x, y)], (3)

式中: median表示求均值; f(x, y)是滤波后图像在像素点(x, y)的灰度值; Sf(x, y)是像素点(x, y)附近的一个小区域。

2.3 图像分割

本文采用基于生长的分割方法, 具体步骤如下: 初始点集合A为1个像素点, 灰度平均值Avg为当前集合A中所有像素点灰度值的平均值; 点集合A中像素点周围邻域的像素点作为候选点, 如果候选点的灰度值和Avg之差小于初始设定的阈值, 则将该点加入点集合A中, 并更新Avg。重复该步骤, 直到没有新点加入, 此时集合A即为具有灰度一致性的区域。然后用Freeman链码描述这个区域。

2.4 小目标去除

结合道路特征, 可根据几何形状筛分出道路路段目标。本文通过计算周长C、面积S、长宽比R及复杂度E等几何特征进行小目标去除[9]S很小的区域可直接判定为干扰物体。长宽比R公式为

R=LREC/WREC, (4)

式中: LREC为目标区域最小外接矩形的长; WREC为目标区域最小外接矩形的宽; R较小的区域也是干扰区域。复杂度E公式为

E=C2/(4π S), (5)

E反映了平面内物体形状的复杂程度, E过小的区域也为干扰区域。根据这些几何特征去除图像中的小目标。

2.5 平行线模型

1)长度特征。对于一条曲线来说, 其长度已不能简单地采用端点之间的距离来表示, 曲线的长度应该定义为曲线所包含像素的个数, 线性目标边缘所构成的曲线具有一定的长度, 因此线性目标的长度特征Length定义为

Length(L)=N(L)> T, (6)

式中: N(L)为曲线L所包含像素的个数; T为线性目标边缘的最短长度阈值。

2)平行特征。平行线的判断依据是斜率, 由于使用斜率时误差较大, 因此本文使用平行线对模型(图4)。对于2条光滑直线LS, 可以找到1个方

图4 平行线对模型示意图Fig.4 Diagram of parallel lines model

向, 使LS包围的所有内部点从该方向上至LS的距离和为定值。同时满足上述2个条件, 则认为这2条线构成一组平行线对, 用L//S表示。现任取这对直线内部2个点A0B0, |A1A2|是指A0在取定的某方向上的直线(图4中的虚线)与L, S相交的2个交点之间的距离, |B1B2|是指B0在同一方向上的直线与L, S相交的2个交点之间的距离。若|A1A2|=|B1B2|=常数, 对于所有内部点均成立, 则可判定这2条线为一组平行线对。

2.6 目标标绘

在统计参数域中的每一对(θ , ρ )时, 记录参与该统计的所有点的x坐标, 再根据得到的ρ θ , 按求出的

y=(ρ -xcos θ )/sin θ (7)

将平行线上的像素点(x, y)用不同的颜色标示出来, 从而可以标绘出线性目标的位置。

2.7 实验对比

目前, 平行线的检测大部分采用基于Hough变换的方法。一幅图像宽为w, 高为h, 传统Hough变换的具体流程是: 首先, 计算图像的对角线长度 w2+h2, 定义Hough统计数组H(θ , ρ ), 参数空间中, θ ∈ [0, 2π ]; 其次, 进行参数域数字化, 对图像中每个像素点按θ 从0到2π 迭代计算ρ ; 然后, 根据θ ρ , 统计参数域中过每点(θ , ρ )处的正弦曲线的条数, 触发计数器, 将统计结果赋给二维数组H(θ , ρ ); 最后, 得到参数域内各个点(θ , ρ )的统计值。通过参数空间累加器的各峰值点可以得到图像空间中的直线方程, 再比较直线的斜率, 实现平行线的检测。为了验证算法效果, 在仿真图(图5中不仅有规则的目标, 也有不规则的目标)上进行实验, 并与传统Hough变换的平行线检测算法进行对比。

图5 实验结果对比Fig.5 Comparison of the experimental results

实验的硬件平台: CPU为Intel core(TM), 主频2.8 GHz, 内存4 GB。在相同的实验平台下, 对仿真图进行试验, 结果表明: ①传统Hough变换在提取平行线对的第2条直线时出现重复检测第1条直线的情况, 而改进后的算法不会出现该情况, 并且可以准确检测出线性目标的2条平行边; ②本文算法检测数量为图像中所有线性目标的数量, 而传统Hough变换法只能检测出长度最长的1对平行线; ③在检测性能上, 本文检测算法0.02的漏检率优于传统算法的0.28; ④在运算耗时上, 本文检测算法耗时较少, 仅0.1 s, 这是因为该算法只对边界链码数据进行运算, 而传统Hough变换由于涉及参数空间的转换, 复杂度较高, 耗时0.3 s。

3 实验设计和结果分析

实验系统采用Visual studio2010平台开发, 图像是ZY-3卫星获得的全色图像, 大小为508像素× 508像素(图6(a))。本文检测算法识别道路的过程如图6所示。

图6 实验处理过程Fig.6 Experimental process

实验中, 由于原始图像中有树阴遮挡及车辆等因素的干扰, 导致分割后的图像有很多孔洞, 所以使用形态学方法对其进行填充后再进行后续的平行线对提取。从结果看, 对长线条状的线性道路目标能有效地提取出来, 但对上半部分呈弧线型的弯曲支路, 没有提取出来。由于算法在求直线斜率时设置了阈值(即某直线上点的个数小于阈值时, 就检测不出这条直线), 而弧线弯曲支路在某线段上点的个数小于阈值, 得不到斜率, 所以不能提取弧线型弯曲目标, 对这类弯曲的支路部分还需进一步提取。

4 结论

遥感图像中的线性道路具有宽度一定、灰度比较一致及有一定长度等特征。本文根据这些特征提出了基于局部灰度一致性的图像分割并结合Freeman链码和Hough变换的道路提取方法, 改进了传统Hough变换在实际应用中性能差和效率低的缺点。通过实验分析, 改进后的算法效率高、计算结果更精准, 允许少数点的扰动; 内存使用上更灵活、适用性强, 能达到较好的道路提取效果。但是对于路面干扰信息较大、灰度不一致的情况, 其性能会有所下降。另外, 该算法仅适合检测直线形道路, 在道路宽度忽然改变的情况下, 效果也不是很好, 这些问题都有待逐步克服。建议今后还需要进一步采用更好的道路路段连接和后处理方法, 以获取更加准确的道路网信息。

The authors have declared that no competing interests exist.

参考文献
[1] 陈仁杰, 刘利刚, 董光昌. 图像主特征直线的检测算法[J]. 中国图象图形学报, 2010, 15(3): 403-408.
Chen R J, Liu L G, Dong G C. Detection of principal lines in images[J]. Journal of Image and Graphics, 2010, 15(3): 403-408. [本文引用:1] [CJCR: 0.758]
[2] 安如, 冯学智, 王慧麟. 基于数学形态学的道路遥感影像特征提取及网络分析[J]. 中国图象图形学报, 2003, 8(7): 798-804.
An R, Feng X Z, Wang H L. Road feature extraction from remote sensing classified imagery based on mathematical morphology and analysis of road networks[J]. Journal of Image and Graphics, 2003, 8(7): 798-804. [本文引用:1] [CJCR: 0.758]
[3] 许华荣, 王晓栋, 方遒. 基于B样条曲线模型的结构化道路检测算法[J]. 自动化学报, 2011, 37(3): 270-275.
Xu H R, Wang X D, Fang Q. Structure road detection algorithm based on B-spline curve model[J]. Acta Automatica Sinica, 2011, 37(3): 270-275. [本文引用:1] [CJCR: 0.572]
[4] 王义敏, 秦永元. 基于区域生长的SAR图像目标检测方法研究[J]. 计算机应用, 2009, 29(1): 45-46.
Wang Y M, Qin Y Y. Target detection in SAR images based on region growing[J]. Journal of Computer Applications, 2009, 29(1): 45-46. [本文引用:1] [CJCR: 0.646]
[5] Mokhtarzdae M, Valadan Zoej M J. Road detection from high-reso-lution satellite images using artificial neural networks[J]. International Journal of Applied Earth Observation and Geoinformation, 2007, 9(1): 32-40. [本文引用:1] [JCR: 2.176]
[6] Vaddi R S, Boggavarapu L N P, Vankayalapati H D, et al. Contour detection using Freeman chain code and approximation methods for the real-time object detection[J]. Asian Journal of Computer Science and Information Technology, 2011, 1(1): 15-17. [本文引用:1]
[7] Shahab W, Hazem A O, Farouq A G. A modified 2D chain code algorithm for object segmentation and contour tracing[J]. The International Arab Journal of Information Technology, 2009, 6(3): 250-257. [本文引用:1]
[8] 鲁光泉, 许洪国, 李一兵. 基于链码检测的直线段检测方法[J]. 计算机工程, 2006, 32(14): 1-3.
Lu G Q, Xu H G, Li Y B. Line segment detection based on chain code detection[J]. Computer Engineering, 2006, 32(14): 1-3. [本文引用:1] [CJCR: 0.492]
[9] 雷小奇, 王卫星, 赖均. 一种基于形状特征进行高分辨率遥感影像道路提取方法[J]. 测绘学报, 2009, 38(5): 457-465.
Lei X Q, Wang W X, Lai J. A method of road extraction from high-resolution remote sensing images based on shape features[J]. Acta Geodaetica et Cartographica Sinica, 2009, 38(5): 457-465. [本文引用:1] [CJCR: 1.403]