特征提取
1、二值图像的边缘特征提取
二值图像的边缘特征提取是GIS图像处理中常用的技术,例如可以用于对地图扫描数字化后的数据进行面状要素的提取。二值图像边缘特征提取的过程实际上是寻找像素灰度值急剧变化的位置的过程,并在这些位置上将像素值置为“1”,其余位置上的像素值置为“0”,从而求出目标的边界线。
二值图像的边缘特征提取是用数学算子实现的,如Sobel、Prewitt、Kirsch、拉普拉斯等多种算子。这些算子都是以一个3×3的模板与图像中3×3的区域相乘,得到的结果作为图像中这个区域中心位置的边缘强度。在计算出图像中每一个像素的边缘强度后,将边缘强度大于一定值的点提取出来,并赋以像素值“1”,其余赋以像素值“0”。
设f(i,j)是(i,j)处的像素值,(i,j)位置处的边缘强度通常用差分值或其函数来表示。简单的差分算法有:
x方向差分值:△xf(i,j)= f(i,j)- f(i,j-1)
y方向差分值:△yf(i,j)= f(i,j)- f(i-1,j)
边缘强度 = |△xf(i,j)| + | △yf(i,j)| 或
= △x2f(i,j) + △y2f(i,j),等等。
各种算子的区别实际上只是计算差分的方法不同。现将几种常用的算子介绍如下:
(1)、Prewitt算子
图4—54
计算△xf的模板为图4—54(1),计算△yf的模板为图4—54(2)。其特点是:对称于中心位置处各像素的权值相同。
△xf 、△yf 分别等于相应模板与图像中对应区域元素相乘之和。即:
△xf = [f(i-1,j-1)-f(i-1,j+1)]+[f(i,j-1)-f(i,j+1)]+[f(i+1,j-1)-f(i+1,j+1)]
△yf = [f(i-1,j-1)-f(i+1,j-1)]+[f(i-1,j)-f(i+1,j)]+[f(i-1,j+1)-f(i+1,j+1)]
边缘强度= |△xf| + |△yf| 或 = max(|△xf| , |△yf|)。
(2)、Sobel算子
图4—55
计算△xf的模板为图4—55(1),计算△yf的模板为图4—55(2)。其特点是:对称于中心位置处,左右或上下方向上与对角线方向上各像素的权值不一样。
(3)、拉普拉斯算子
图4--56
计算△xf和△yf的模板为图4—56。边缘强度△2f=等于模板与图像中对应区域元素相乘之和,是一个二次差分,具有各相同性,即不依赖于边缘线的方向。
(4)、Kirsch算子
这是一种最佳适配的边缘检测法。具有如图4—57所示的0°、45°、90°、135°、180°、225°、270°、315°八个方向上的模板。用M0~M7分别与图像的各对应元素相乘,取计算结果的最大值作为中央像素的边缘强度。
M0 M1 M2 M3
M4 M5 M6 M7
图4--57
四 、二值图像的细化
为了从二值图像中提取线状目标的坐标信息,需要将粗线转换成单一象元连接而成的细线,即进行二值图像的细化,二值图像的细化在图像处理中有着广泛的应用。
通常细化后的图形应具有如下性质:
① 线宽为1个象元。
② 细化后的线应尽量在原图形的中心。
③ 应保持图形的连通性,不能因细化而断开。
④ 细化后的线的缩小必须有一定的限度。
⑤ 不因边界上的小凸凹而产生毛刺。
⑥ 图像旋转后再处理,中心线的形状变化不大。
⑦ 图形交叉部分中心线不畸变。
细化算法有多种多样,但对算法的评价却需要根据面对的具体问题来分析。有的算法速度快,但易产生断线;有的速度慢,不易产生断线,但却会产生毛刺;等等,上节已有阐述。这里只补充一种算法。该算法基于模板匹配思想,即用模板逐行逐列与图像配准。若与模板配准,则为骨架像素(粗线目标的中心线像素),否则为轮廓像素(粗线目标的边缘像素)。
该算法有两个3×3模板,对于中心点P,其模板如图4—58所示。
图4—58
模板1还包括一次旋转90°后的模板;模板2还包括一次、两次、三次旋转90°后的模板。在模板中,A或B中至少有一个象元为非0时,P即为骨架像素,S为已判定的骨架像素。
2、图像的特征提取行分析
一幅数字遥感影像所蕴涵的信息是十分庞杂的,利用这些信息中前,往往需要进行图像的特征提取和分析。由于景物的物理与几何特性差异,在影像中表现为局部区域的灰度产生明显变化,形成影像特征。图像特征提取就是提取构成目标影像的特征,主要有点特征提取和线特征提取。而图像分析是在特征提取得基础上,通过对目标特征的分析和匹配来识别目标。图像分析的主要手段有纹理分析、多维信息分析、匹配和分类、和区域分割等。
一、点特征提取
点特征主要指图像中的明显点,如房屋角点、圆点等,在图像匹配合遥感影像定位中很有用。用于点特征提取得算子称为有利算子或兴趣算子。自七十年代以来出现一系列各不相同、个有特色的兴趣算子,叫知名的有Moravec算子、Hannah算子与Foistner等。
下面以Moravec算子为例说明点特征提取:
Moravec算子的基本思想是,以像元的四个主要方向上最小灰度方差表示该像元与邻近像元的灰度变化情况,即像元的兴趣值,然后在图像的局部选择具有最大的兴趣值得点(灰度变化明显得点)作为特征点,具体算法如下:
(1)计算各像元的兴趣值IV(interest value),例如计算香元(c,r)的兴趣值,先在以像元(c,r)为中心的n×n的影像窗口中(如图5—59所示的5×5的窗口),计算四个主要方向相邻像元灰度差的平方和:
其中k=INT(n/2)。取其中最小者为像元(c,r)的兴趣值:
(2)根据给定的阈值,选择兴趣值大于改阈值的点作为特征点的候选点。阈值得选择应以候选点中包括需要的特征点,而又不含过多的非特征点。
(3)在候选点中选取局部极大值点作为需要的特征点。在一定大小的窗口内(可不同于兴趣值计算窗口),去掉所有不是最大兴趣值的候选点,只留下兴趣值最大者,该象素即为一个特征点。
二、线特征提取
图像中线特征特别引人注目,它是视觉感知的重要线索,因此,提取线特征对于描述目标或解释目标非常重要。线特征包括影像的“边缘”与“线”。“边缘”通常定义为影像局部特征不相同的那些区域间的分界线,表现为局部影像的不连续,例如呈现出灰度级的突变,纹理结构突变等。而“线”则可以认为是具有很小宽度的,其中间区域具有相同的影像特征的边缘对,也就是距离很小的一对边缘构成一条线。(图4—59b)
(1)边缘检测
边缘检测试抽取边缘轮廓信息并用于区域分割,边缘检测和区域分割具有互补性。在边缘检测中提取不连续部分的特征,根据闭合的边缘求区域:在区域中把图像分割 成特征相同的连续区域,将区域间的边界定义为边缘。
边缘检测同样是用算子实现的,各种边缘检测算子的定义在前面二值图像的边缘特征提取中已作介绍,在这儿不再赘述。
(1)线检测
在去除噪声影响的情况下,一幅图像中所有灰度或纹理特性发生突变得位置都有可能是边缘所在位置。所以在进行边缘检测时,需要利用算子对每一个检测点进行独立计算,计算结果与以前检测点的检测结果无关。与边缘检测不同的是,线检测在处理图像点时需要利用前面的处理结果,因而也成为序贯检测或跟踪检测。在检测过程中不必对每一个点进行相同精度的计算,只需先对图像上的每一个点进行简单计算,以便测出可能符合条件的边缘或曲线上的点,然后使用更复杂的计算来延伸此边缘或曲线。即只需在已检测到的点和正在跟踪的点上作这种复杂计算。用于线检测的算法有多种,如光栅跟踪、全向跟踪和hough变换等。不同算法有其各自的适用场合。光栅跟踪用于一般曲线的检测,全向跟踪主要用于对工程图纸中的标准曲线的检测。
下面以全向跟踪为例介绍线检测算法。
1º光栅扫描方式对图像进行扫描,寻找满足检测准则的点,若找到一个这样的点,则称为流动点(按被检测曲线流动)。
2º应用一个合适的准则对流动点进行跟踪。在跟踪过程中可能发生的情况为:
(a) 碰到水系之类的结点
这类网络具有多个分支,多级结点,分支部闭合的特点。
跟踪从高级结点至低级结点逐级推进。以结点为中心,对邻域作全方位环形扫描,将扫描发现代阿分支按顺序编号,然后令流动电进入起始号分支,对该分支跟踪完毕后,返回当前分支的出发点,再开始跟踪第二条分支,重复上述操作,直到所有分支被跟踪完为止。
(b) 碰到公路网之类的结点
这类网络的特点是路径有的封闭,有的不封闭,结点难于分级。对此刻分两步进行,先跟踪全部外围的飞闭合支路,后跟踪其他支路。用“瞎子”如入平面迷宫的规则解决跟踪路径问题。
将图4—60中的公路网 看成是平面迷宫的通道,“瞎子”用“左手摸着墙走”的规则由入口M点进入通道,经ab到b’,跟踪程序发现b’是末端,“瞎子”由b’bc到c’,并发现b是结点,由c’退回后经cd到d’,发现c是结点,这样可以依次发现结点d、f、g、h、a,但漏掉了结点e和路径ad、he、ge,再以发现的结点a、b、c、d、f、g、h为中心,分别对其邻域作全向扫描就可寻出路径ad、he、ge。物体的轮廓线为不相交封闭曲线,若曲线不封闭,这必终止于图幅边界。此类曲线属于无分支的全向跟踪。
三、区域分割
把图像分割成特征相同的互不重叠的连续区域叫做区域分割。图像的二值化处理还是区域分割的最常用方法,此外,还有一些利用邻域信息的方法,如区域扩张法、统计法、群聚法等。其中统计法是根据小区内灰度分布的相似性进行区域合并。群聚法的基本思想是根据象素某些特征的相似性进行合并形成小区。
至于纹理分析、图像匹配分类可参考有关文献.