数学形态学和模式识别在建筑物多边形化简中的应用Word文件下载.docx
《数学形态学和模式识别在建筑物多边形化简中的应用Word文件下载.docx》由会员分享,可在线阅读,更多相关《数学形态学和模式识别在建筑物多边形化简中的应用Word文件下载.docx(23页珍藏版)》请在冰豆网上搜索。
目录
1引言4
1.1目的与范围4
1.2预期的读者4
1.3方法学4
1.4定义、缩写词4
1.5参考资料4
2研究内容4
2.1子研究内容分解4
3附录4
1引言
1.1目的与范围
本文档介绍了在数学形态学和神经网络支持下的模式识别的化简方法来实施多边形的自动综合。
本文档作为该算法实现的理论依据和设计基础。
文档中包含该算法及其主要子函数的流程图以及伪代码。
1.2预期的读者
本文档预期的读者是本项目的设计人员、开发人员、测试人员、项目经理。
1.3方法学
本设计所使用的主要方法是数学形态学的击中变换,基于混合遗传BP神经网络的模式识别。
1.4定义、缩写词
数学形态学:
以形态为基础对图像进行分析的数学工具。
其基本思想是用具有一定形态的结构元素去度量和提取图像中的对应形状以达到对图像分析和识别的目的,是非线性变换。
击中运算:
一种数学形态学算子,用来寻找局部模式(局部指结构单元尺寸)。
它是一种模版匹配的变形,可对物体进行粗化或细化。
结构元素T对图像X的击中变换为:
BP(反向传播学习)神经网络算法的基本思想:
ANN(人工神经网络)是对人类大脑的一种物理结构上的模拟,即以计算机仿真的方法,从物理结构上模拟人脑,以使系统具有人脑的某些智能。
在众多的ANN模型中,多层前馈神经网络模型是目前应用最为广泛的模型,反向传播学习算法(简称BP算法)的基本思想为:
根据网络实际输出与期望输出的误差,从输出层开始,反过来调整网络的权值,最终使得输出的均方误差最小。
遗传算法(GA):
遗传算法以生物进化过程为背景,模拟生物进化的步骤,将繁殖、杂交、变异、竞争和选择等概念引入到算法中,通过维持一组可行解,并通过对可行解的重新组合,改进可行解在多维空间内的移动轨迹或趋向,最终走向最优解。
它克服了传统优化方法容易陷入局部极值的缺点,是一种全局优化算法。
遗传算法的多层BP神经网络(GA-BP算法)
基于遗传算法的人工神经网络的应用的基本原理是用遗传算法(GA)对神经网络的连接权值进行优化学习,利用GA的寻优能力来获取最佳权值。
1.5参考资料
王辉连武 芳.数学形态学和模式识别在建筑物多边形化简中的应用.测绘学报.2005(3).269~276
黄文骞.地图模式识别原理与方法[M].北京:
测绘出版社,2000
胡师彦.混合遗传BP算法在图像识别中的应用.石家庄铁道学院学报,2002.15(3)
孙即祥.现代模式识别.长沙.国防科技大学出版设,2002
张迁刘政凯.基于数学形态学的地图自动配准方法.小型微型计算机系统.2003.24(7)
2研究内容
2.1算法描述
2.1.1与地图比例尺相关的栅格数据与矢量数据结合的数据模型
街区边线的矢量数据栅格化过程:
1使用经典的Bresenham算法进行街区边线的栅格化;
2用种子填充算法得到建筑物多边形的栅格数据。
注:
栅格单元尺寸定为地图上的0.1mm
栅格数据模型如下所示:
typedefstructtagResidentGridData
{
doubleX,Y;
//图像的左下角坐标
double m_dGridWidth;
//栅格宽度
int m_iResidentGridRow;
//图像高
int m_iResidentGridColumn;
//图像宽
BYTE*m_pResidentGridData;
//栅格数据
}GMS_ResidentGridData;
//栅格数据结构
用改进的Freeman链码来表示街区的轮廓,其数据模型为:
typedefstructtagCodeCell
int m_iDirection;
//追踪方向
int m_iLength;
//追踪长度(像素数)
int m_iPatternFlag;
//模式识别标志
}GMS_CodeCell;
//Freeman链码单元
typedefstructtagFreeman_ChainCode
BOOL m_bFinishedSimplication;
//化简标识
CPoint m_StartPoint;
//起点坐标
CArray<
GMS_CodeCell,GMS_CodeCell>
m_ChainCodeArray;
//链码数据
}GMS_Freeman_ChainCode;
//Freeman链码
2.1.2对建筑物多边形进行矩形化变换
矩形化变换:
在给定的化简尺度上,对建筑物多边形进行最大程度的化简,即直接变为矩形。
街区的复杂度决定了建筑物多边形能否被矩形化。
街区的复杂度可以用最小表达尺度和最小外接矩形来评价。
所谓最小表达尺度即图上0.3mm。
找出建筑物多边形最小外接矩形,在其面积与建筑物多边形面积之差小于建筑物多边形面积的30%(实验值)的条件下,如果最小外接矩形的宽接近最小表达尺度,或者建筑物多边形的多条长边在最小外接矩形的边上,则街区可直接化简成矩形。
所谓“最小外接矩形”,与平时提到的外接矩形不同(如图),最小外接矩形是指建筑物多边形的外接矩形中面积最小的矩形,在适当调整其中心位置和面积大小后可以作为建筑物多边形矩形化的化简结果。
为了最好地表达建筑物多边形的位置、方向、形态和面积特征,建筑物多边形矩形化时不能只是简单地用最小外接矩形替代表示,还要对最小外接矩形的位置和面积作适当调整(如图)。
2.1.3对建筑物多边形进行直角化调整
进行直角化调整(实质是一种数据纠正)既可突出建筑物多边形的直角化特征,也利于后面的数学形态学化简和模式识别化简。
计算建筑物多边形各边与X轴正方向的夹角,在可将各边在一定偏差范围内归为两个垂直方向的条件下,只需使各边调整后的方向等于最小外接矩形的长轴方向θ或者θ±
90°
即达到了直角化的目的;
而对于有几个分布轴向的多边形,其直角化相对复杂,需要对与每个轴向相关的边的方向分别调整。
直角化需注意顶点坐标的精度控制,为了不改变多边形的主要形态和方向特征,需要有一个合理的评价尺度。
以顶点的平移距不超过某一阈值作为标准,而不用旋转角度来评价,可以保证长、短边的精度控制的一致性(如图)。
直角化操作的原则是尽可能保持长边的方向和短边的长度不变。
调整边的方向时,采用了让边绕其中点旋转一个角度的办法,这样可保证多边形的面积不变。
2.1.4利用数学形态学方法对建筑物多边形进行初步化简
数学形态学是一门建立在严格数学理论基础之上的学科,是一种用于数字图像处理和识别的理论与方法。
数学形态学的运算有容易控制、运算速度快的优点。
由于栅格数据是与比例尺相关的,因此栅格单元的大小直接与最小表达尺度挂钩。
设计合适的击中模板,可以通过击中运算来识别建筑物多边形轮廓的相关结构。
受模板结构的限制,数学形态学不能很好处理复杂的多边形轮廓化简,因而只将两种最常见的建筑物多边形轮廓上需要化简的简单结构用数学形态学进行处理,即轮廓上单个宽度小于最小表达尺度的凸起和凹陷部分。
对于建筑物多边形轮廓上的小的弯曲,如图6所示,化简需要在舍去、保留和夸大表示之间做出合理的选择:
如果弯曲的高度(或深度)和宽度都小于最小表达尺度,则该弯曲可以舍去(如图中弯曲A);
如果弯曲的高度(或深度)和宽度之中一项大于最小表达尺度,另一项小于最小表达尺度,则该弯曲需要夸大表示,将小于最小表达尺度的一项夸大到等于最小表达尺度(如图中弯曲B);
如果弯曲的高度(或深度)和宽度都大于最小表达尺度,则该弯曲应保留。
通过上面的直角化调整,建筑物多边形的直角化特征明显,其各边可分为互相垂直的两组。
而栅格单元同样是在垂直和水平方向上分布的,这就便于了模板选择。
利用数学形态学进行建筑物多边形化简的步骤如下:
1.建筑物多边形经过前面的矩形化和直角化操作后,如果建筑物多边形的最小外接矩形的方向不是沿着水平和垂直方向,则先进行坐标旋转变换使得建筑物多边形各边都尽可能沿水平或垂直方向,然后栅格化,并用轮廓追踪的方法获取多边形轮廓的Freeman链码。
2.利用如图所示的5×
5结构模板对栅格数据进行击中运算:
模板一及其旋转90°
、180°
和270°
的四种情形,可用来对轮廓上需要化简的窄的凸起结构的识别;
模板二及其旋转90°
的四种情形,可用来对轮廓上需要化简的窄的凹陷结构的识别。
图:
模板一(突起)模板二(凹陷)
3.对找到的凸起或凹陷部分对应的Freeman链码作进一步分析,确定其为单个凸起或凹陷结构,并根据结构的高度(或深度)对其采取舍去、保留或夸大的操作。
对应的操作都针对栅格链码数据,只需调整链码单元的追踪长度,数据处理相对矢量运算来说简单高效。
4.对化简后的栅格链码数据进行分析,如不存在需要化简的短边则进行矢量化,并进行坐标反向旋转变换得到原坐标系下的坐标;
如还存在需要化简的短边则留待后面使用模式识别方法化简。
在如图7的建筑物多边形化简中,能识别出A、B、C、D、E并分别进行处理;
但F部分则无法识别与处理,这种情形及更复杂的凸起和凹陷部分相邻连续的情形需要随后用模式识别的方法进行处理。
2.1.5神经网络支持下的建筑物多边形模式识别化简
由于轮廓的Freeman链码可看作是一种首尾相连的矢量序列,这有利于将建筑物多边形轮廓在染色体文法基础上表示成基元串或子模式串,然后通过句法翻译进行识别分类,针对不同模式选择合适的方法进行化简。
由于栅格化时通过坐标旋转使轮廓像素沿水平或垂直方向分布,且轮廓跟踪时采用顺时针方向并选择轮廓左下角为起点,这样就能用图10中的8种结构基元去描述街区轮廓的结构。
下图中的阶梯状轮廓可用串abc′bc′b′c′d来描述,波浪形轮廓可用串abc′ba′bcd来描述。
阶梯状轮廓波浪形轮廓
如何从描述轮廓的基元串中识别出不同模式则是实现模式识别的核心步骤。
这一方面需要定义一个完整的文法,已知染色体文法G(N,∑,P,S)中的终结符集∑为{a,a′,b,b′,c,c′,d,d′},还需要确定非终结符集N和产生式集P;
另一方面还需要从描述轮廓的基元串中找出有意义的表示相应模式的句子,如上图中的波浪形轮廓的基元串abc′ba′bcd中的子串bc′ba′b就是一个表示波浪形的单个浅凹进结构的句子。
由于街区轮廓的形态多样,这样各种子模式的组合方式也就很多,这给非终结符集N(一定意义上可认为是子模式集)和产生式集P(语法规则集)的确定带来了一定困难。
实际上模式识别也不可能(或不要求)处理所有情形的轮廓化简,而穷举典型模式及构造对应文法是可能的,以长边(即基元a,b,c,d)作为句子的分界点,也不难从描述轮廓的基元串中找出含短边(即基元a′,b′,c′,d′)的句子。
对句法模式进行识别,一般都通过句法分析采用自上而下法或自下而上法来判断一个句子(即模