ZD-研究-數(shù)學(xué)形態(tài)學(xué)和模式識(shí)別在建筑物多邊形化簡(jiǎn)中的應(yīng)用-Vxx模板資料_第1頁(yè)
ZD-研究-數(shù)學(xué)形態(tài)學(xué)和模式識(shí)別在建筑物多邊形化簡(jiǎn)中的應(yīng)用-Vxx模板資料_第2頁(yè)
ZD-研究-數(shù)學(xué)形態(tài)學(xué)和模式識(shí)別在建筑物多邊形化簡(jiǎn)中的應(yīng)用-Vxx模板資料_第3頁(yè)
ZD-研究-數(shù)學(xué)形態(tài)學(xué)和模式識(shí)別在建筑物多邊形化簡(jiǎn)中的應(yīng)用-Vxx模板資料_第4頁(yè)
ZD-研究-數(shù)學(xué)形態(tài)學(xué)和模式識(shí)別在建筑物多邊形化簡(jiǎn)中的應(yīng)用-Vxx模板資料_第5頁(yè)
已閱讀5頁(yè),還剩25頁(yè)未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、Good is good, but better carries it.精益求精,善益求善。ZD-研究-數(shù)學(xué)形態(tài)學(xué)和模式識(shí)別在建筑物多邊形化簡(jiǎn)中的應(yīng)用-Vxx模板DocumentLendingRecordNameofDocument:SignatureofBorrower:Dateoflending:InstructionsofPrincipalofDocument:Date:DateofRepayment:SignatureofDocumentcontroller:基于數(shù)學(xué)形態(tài)學(xué)和模式識(shí)別的建筑物多邊形化簡(jiǎn)算法研究文檔COMMENTS*MERGEFORMATVersion1.0文檔名稱:FI

2、LENAME*MERGEFORMATZD-研究文檔-Title-Vx.x.doc修訂歷史記錄日期版本號(hào)修改說(shuō)明修改人核準(zhǔn)人2005/11/161.0首次撰寫目錄TOCo1-3hzHYPERLINKl_Toc1192246801引言PAGEREF_Toc119224680h4HYPERLINKl_Toc1192246811.1目的與范圍PAGEREF_Toc119224681h4HYPERLINKl_Toc1192246821.2預(yù)期的讀者PAGEREF_Toc119224682h4HYPERLINKl_Toc1192246831.3方法學(xué)PAGEREF_Toc119224683h4HYPERL

3、INKl_Toc1192246841.4定義、縮寫詞PAGEREF_Toc119224684h4HYPERLINKl_Toc1192246851.5參考資料PAGEREF_Toc119224685h4HYPERLINKl_Toc1192246862研究?jī)?nèi)容PAGEREF_Toc119224686h4HYPERLINKl_Toc1192246872.1子研究?jī)?nèi)容分解PAGEREF_Toc119224687h4HYPERLINKl_Toc1192246883附錄PAGEREF_Toc119224688h4TITLE*MERGEFORMAT研究文檔1引言1.1目的與范圍本文檔介紹了在數(shù)學(xué)形態(tài)學(xué)和神經(jīng)

4、網(wǎng)絡(luò)支持下的模式識(shí)別的化簡(jiǎn)方法來(lái)實(shí)施多邊形的自動(dòng)綜合。本文檔作為該算法實(shí)現(xiàn)的理論依據(jù)和設(shè)計(jì)基礎(chǔ)。文檔中包含該算法及其主要子函數(shù)的流程圖以及偽代碼。1.2預(yù)期的讀者本文檔預(yù)期的讀者是本項(xiàng)目的設(shè)計(jì)人員、開(kāi)發(fā)人員、測(cè)試人員、項(xiàng)目經(jīng)理。1.3方法學(xué)本設(shè)計(jì)所使用的主要方法是數(shù)學(xué)形態(tài)學(xué)的擊中變換,基于混合遺傳BP神經(jīng)網(wǎng)絡(luò)的模式識(shí)別。1.4定義、縮寫詞數(shù)學(xué)形態(tài)學(xué):以形態(tài)為基礎(chǔ)對(duì)圖像進(jìn)行分析的數(shù)學(xué)工具。其基本思想是用具有一定形態(tài)的結(jié)構(gòu)元素去度量和提取圖像中的對(duì)應(yīng)形狀以達(dá)到對(duì)圖像分析和識(shí)別的目的,是非線性變換。擊中運(yùn)算:一種數(shù)學(xué)形態(tài)學(xué)算子,用來(lái)尋找局部模式(局部指結(jié)構(gòu)單元尺寸)。它是一種模版匹配的變形,可對(duì)物體

5、進(jìn)行粗化或細(xì)化。結(jié)構(gòu)元素T對(duì)圖像X的擊中變換為:BP(反向傳播學(xué)習(xí))神經(jīng)網(wǎng)絡(luò)算法的基本思想:ANN(人工神經(jīng)網(wǎng)絡(luò))是對(duì)人類大腦的一種物理結(jié)構(gòu)上的模擬,即以計(jì)算機(jī)仿真的方法,從物理結(jié)構(gòu)上模擬人腦,以使系統(tǒng)具有人腦的某些智能。在眾多的ANN模型中,多層前饋神經(jīng)網(wǎng)絡(luò)模型是目前應(yīng)用最為廣泛的模型,反向傳播學(xué)習(xí)算法(簡(jiǎn)稱BP算法)的基本思想為:根據(jù)網(wǎng)絡(luò)實(shí)際輸出與期望輸出的誤差,從輸出層開(kāi)始,反過(guò)來(lái)調(diào)整網(wǎng)絡(luò)的權(quán)值,最終使得輸出的均方誤差最小。遺傳算法(GA):遺傳算法以生物進(jìn)化過(guò)程為背景,模擬生物進(jìn)化的步驟,將繁殖、雜交、變異、競(jìng)爭(zhēng)和選擇等概念引入到算法中,通過(guò)維持一組可行解,并通過(guò)對(duì)可行解的重新組合,改

6、進(jìn)可行解在多維空間內(nèi)的移動(dòng)軌跡或趨向,最終走向最優(yōu)解。它克服了傳統(tǒng)優(yōu)化方法容易陷入局部極值的缺點(diǎn),是一種全局優(yōu)化算法。遺傳算法的多層BP神經(jīng)網(wǎng)絡(luò)(GA-BP算法)基于遺傳算法的人工神經(jīng)網(wǎng)絡(luò)的應(yīng)用的基本原理是用遺傳算法(GA)對(duì)神經(jīng)網(wǎng)絡(luò)的連接權(quán)值進(jìn)行優(yōu)化學(xué)習(xí),利用GA的尋優(yōu)能力來(lái)獲取最佳權(quán)值。1.5參考資料王輝連武芳.數(shù)學(xué)形態(tài)學(xué)和模式識(shí)別在建筑物多邊形化簡(jiǎn)中的應(yīng)用.測(cè)繪學(xué)報(bào).2005(3).269276黃文騫.地圖模式識(shí)別原理與方法M.北京:測(cè)繪出版社,2000胡師彥.混合遺傳BP算法在圖像識(shí)別中的應(yīng)用.石家莊鐵道學(xué)院學(xué)報(bào),2002.15(3)孫即祥.現(xiàn)代模式識(shí)別.長(zhǎng)沙.國(guó)防科技大學(xué)出版設(shè),20

7、02張遷劉政凱.基于數(shù)學(xué)形態(tài)學(xué)的地圖自動(dòng)配準(zhǔn)方法.小型微型計(jì)算機(jī)系統(tǒng).2003.24(7)2研究?jī)?nèi)容2.1算法描述2.1.1與地圖比例尺相關(guān)的柵格數(shù)據(jù)與矢量數(shù)據(jù)結(jié)合的數(shù)據(jù)模型街區(qū)邊線的矢量數(shù)據(jù)柵格化過(guò)程:使用經(jīng)典的Bresenham算法進(jìn)行街區(qū)邊線的柵格化;用種子填充算法得到建筑物多邊形的柵格數(shù)據(jù)。注:柵格單元尺寸定為地圖上的0.1mm柵格數(shù)據(jù)模型如下所示:typedefstructtagResidentGridDatadoubleX,Y;/圖像的左下角坐標(biāo)doublem_dGridWidth;/柵格寬度intm_iResidentGridRow;/圖像高intm_iResidentGridC

8、olumn;/圖像寬BYTE*m_pResidentGridData;/柵格數(shù)據(jù)GMS_ResidentGridData;/柵格數(shù)據(jù)結(jié)構(gòu)用改進(jìn)的Freeman鏈碼來(lái)表示街區(qū)的輪廓,其數(shù)據(jù)模型為:typedefstructtagCodeCellintm_iDirection;/追蹤方向intm_iLength;/追蹤長(zhǎng)度(像素?cái)?shù))intm_iPatternFlag;/模式識(shí)別標(biāo)志GMS_CodeCell;/Freeman鏈碼單元typedefstructtagFreeman_ChainCodeBOOLm_bFinishedSimplication;/化簡(jiǎn)標(biāo)識(shí)CPointm_StartPoint;

9、/起點(diǎn)坐標(biāo)CArraym_ChainCodeArray;/鏈碼數(shù)據(jù)GMS_Freeman_ChainCode;/Freeman鏈碼2.1.2對(duì)建筑物多邊形進(jìn)行矩形化變換矩形化變換:在給定的化簡(jiǎn)尺度上,對(duì)建筑物多邊形進(jìn)行最大程度的化簡(jiǎn),即直接變?yōu)榫匦巍=謪^(qū)的復(fù)雜度決定了建筑物多邊形能否被矩形化。街區(qū)的復(fù)雜度可以用最小表達(dá)尺度和最小外接矩形來(lái)評(píng)價(jià)。所謂最小表達(dá)尺度即圖上0.3mm。找出建筑物多邊形最小外接矩形,在其面積與建筑物多邊形面積之差小于建筑物多邊形面積的30%(實(shí)驗(yàn)值)的條件下,如果最小外接矩形的寬接近最小表達(dá)尺度,或者建筑物多邊形的多條長(zhǎng)邊在最小外接矩形的邊上,則街區(qū)可直接化簡(jiǎn)成矩形。所

10、謂“最小外接矩形”,與平時(shí)提到的外接矩形不同(如圖),最小外接矩形是指建筑物多邊形的外接矩形中面積最小的矩形,在適當(dāng)調(diào)整其中心位置和面積大小后可以作為建筑物多邊形矩形化的化簡(jiǎn)結(jié)果。為了最好地表達(dá)建筑物多邊形的位置、方向、形態(tài)和面積特征,建筑物多邊形矩形化時(shí)不能只是簡(jiǎn)單地用最小外接矩形替代表示,還要對(duì)最小外接矩形的位置和面積作適當(dāng)調(diào)整(如圖)。2.1.3對(duì)建筑物多邊形進(jìn)行直角化調(diào)整進(jìn)行直角化調(diào)整(實(shí)質(zhì)是一種數(shù)據(jù)糾正)既可突出建筑物多邊形的直角化特征,也利于后面的數(shù)學(xué)形態(tài)學(xué)化簡(jiǎn)和模式識(shí)別化簡(jiǎn)。計(jì)算建筑物多邊形各邊與X軸正方向的夾角,在可將各邊在一定偏差范圍內(nèi)歸為兩個(gè)垂直方向的條件下,只需使各邊調(diào)整

11、后的方向等于最小外接矩形的長(zhǎng)軸方向或者90,即達(dá)到了直角化的目的;而對(duì)于有幾個(gè)分布軸向的多邊形,其直角化相對(duì)復(fù)雜,需要對(duì)與每個(gè)軸向相關(guān)的邊的方向分別調(diào)整。直角化需注意頂點(diǎn)坐標(biāo)的精度控制,為了不改變多邊形的主要形態(tài)和方向特征,需要有一個(gè)合理的評(píng)價(jià)尺度。以頂點(diǎn)的平移距不超過(guò)某一閾值作為標(biāo)準(zhǔn),而不用旋轉(zhuǎn)角度來(lái)評(píng)價(jià),可以保證長(zhǎng)、短邊的精度控制的一致性(如圖)。直角化操作的原則是盡可能保持長(zhǎng)邊的方向和短邊的長(zhǎng)度不變。調(diào)整邊的方向時(shí),采用了讓邊繞其中點(diǎn)旋轉(zhuǎn)一個(gè)角度的辦法,這樣可保證多邊形的面積不變。2.1.4利用數(shù)學(xué)形態(tài)學(xué)方法對(duì)建筑物多邊形進(jìn)行初步化簡(jiǎn)數(shù)學(xué)形態(tài)學(xué)是一門建立在嚴(yán)格數(shù)學(xué)理論基礎(chǔ)之上的學(xué)科,是一

12、種用于數(shù)字圖像處理和識(shí)別的理論與方法。數(shù)學(xué)形態(tài)學(xué)的運(yùn)算有容易控制、運(yùn)算速度快的優(yōu)點(diǎn)。由于柵格數(shù)據(jù)是與比例尺相關(guān)的,因此柵格單元的大小直接與最小表達(dá)尺度掛鉤。設(shè)計(jì)合適的擊中模板,可以通過(guò)擊中運(yùn)算來(lái)識(shí)別建筑物多邊形輪廓的相關(guān)結(jié)構(gòu)。受模板結(jié)構(gòu)的限制,數(shù)學(xué)形態(tài)學(xué)不能很好處理復(fù)雜的多邊形輪廓化簡(jiǎn),因而只將兩種最常見(jiàn)的建筑物多邊形輪廓上需要化簡(jiǎn)的簡(jiǎn)單結(jié)構(gòu)用數(shù)學(xué)形態(tài)學(xué)進(jìn)行處理,即輪廓上單個(gè)寬度小于最小表達(dá)尺度的凸起和凹陷部分。對(duì)于建筑物多邊形輪廓上的小的彎曲,如圖6所示,化簡(jiǎn)需要在舍去、保留和夸大表示之間做出合理的選擇:如果彎曲的高度(或深度)和寬度都小于最小表達(dá)尺度,則該彎曲可以舍去(如圖中彎曲A);如果

13、彎曲的高度(或深度)和寬度之中一項(xiàng)大于最小表達(dá)尺度,另一項(xiàng)小于最小表達(dá)尺度,則該彎曲需要夸大表示,將小于最小表達(dá)尺度的一項(xiàng)夸大到等于最小表達(dá)尺度(如圖中彎曲B);如果彎曲的高度(或深度)和寬度都大于最小表達(dá)尺度,則該彎曲應(yīng)保留。注:通過(guò)上面的直角化調(diào)整,建筑物多邊形的直角化特征明顯,其各邊可分為互相垂直的兩組。而柵格單元同樣是在垂直和水平方向上分布的,這就便于了模板選擇。利用數(shù)學(xué)形態(tài)學(xué)進(jìn)行建筑物多邊形化簡(jiǎn)的步驟如下:1.建筑物多邊形經(jīng)過(guò)前面的矩形化和直角化操作后,如果建筑物多邊形的最小外接矩形的方向不是沿著水平和垂直方向,則先進(jìn)行坐標(biāo)旋轉(zhuǎn)變換使得建筑物多邊形各邊都盡可能沿水平或垂直方向,然后柵

14、格化,并用輪廓追蹤的方法獲取多邊形輪廓的Freeman鏈碼。2.利用如圖所示的55結(jié)構(gòu)模板對(duì)柵格數(shù)據(jù)進(jìn)行擊中運(yùn)算:模板一及其旋轉(zhuǎn)90、180和270的四種情形,可用來(lái)對(duì)輪廓上需要化簡(jiǎn)的窄的凸起結(jié)構(gòu)的識(shí)別;模板二及其旋轉(zhuǎn)90、180和270的四種情形,可用來(lái)對(duì)輪廓上需要化簡(jiǎn)的窄的凹陷結(jié)構(gòu)的識(shí)別。圖:模板一(突起)模板二(凹陷)3.對(duì)找到的凸起或凹陷部分對(duì)應(yīng)的Freeman鏈碼作進(jìn)一步分析,確定其為單個(gè)凸起或凹陷結(jié)構(gòu),并根據(jù)結(jié)構(gòu)的高度(或深度)對(duì)其采取舍去、保留或夸大的操作。對(duì)應(yīng)的操作都針對(duì)柵格鏈碼數(shù)據(jù),只需調(diào)整鏈碼單元的追蹤長(zhǎng)度,數(shù)據(jù)處理相對(duì)矢量運(yùn)算來(lái)說(shuō)簡(jiǎn)單高效。4.對(duì)化簡(jiǎn)后的柵格鏈碼數(shù)據(jù)進(jìn)行分

15、析,如不存在需要化簡(jiǎn)的短邊則進(jìn)行矢量化,并進(jìn)行坐標(biāo)反向旋轉(zhuǎn)變換得到原坐標(biāo)系下的坐標(biāo);如還存在需要化簡(jiǎn)的短邊則留待后面使用模式識(shí)別方法化簡(jiǎn)。在如圖7的建筑物多邊形化簡(jiǎn)中,能識(shí)別出A、B、C、D、E并分別進(jìn)行處理;但F部分則無(wú)法識(shí)別與處理,這種情形及更復(fù)雜的凸起和凹陷部分相鄰連續(xù)的情形需要隨后用模式識(shí)別的方法進(jìn)行處理。2.1.5神經(jīng)網(wǎng)絡(luò)支持下的建筑物多邊形模式識(shí)別化簡(jiǎn)由于輪廓的Freeman鏈碼可看作是一種首尾相連的矢量序列,這有利于將建筑物多邊形輪廓在染色體文法基礎(chǔ)上表示成基元串或子模式串,然后通過(guò)句法翻譯進(jìn)行識(shí)別分類,針對(duì)不同模式選擇合適的方法進(jìn)行化簡(jiǎn)。由于柵格化時(shí)通過(guò)坐標(biāo)旋轉(zhuǎn)使輪廓像素沿水平

16、或垂直方向分布,且輪廓跟蹤時(shí)采用順時(shí)針?lè)较虿⑦x擇輪廓左下角為起點(diǎn),這樣就能用圖10中的8種結(jié)構(gòu)基元去描述街區(qū)輪廓的結(jié)構(gòu)。下圖中的階梯狀輪廓可用串a(chǎn)bcbcbcd來(lái)描述,波浪形輪廓可用串a(chǎn)bcbabcd來(lái)描述。階梯狀輪廓波浪形輪廓如何從描述輪廓的基元串中識(shí)別出不同模式則是實(shí)現(xiàn)模式識(shí)別的核心步驟。這一方面需要定義一個(gè)完整的文法,已知染色體文法G(N,P,S)中的終結(jié)符集為a,a,b,b,c,c,d,d,還需要確定非終結(jié)符集N和產(chǎn)生式集P;另一方面還需要從描述輪廓的基元串中找出有意義的表示相應(yīng)模式的句子,如上圖中的波浪形輪廓的基元串a(chǎn)bcbabcd中的子串bcbab就是一個(gè)表示波浪形的單個(gè)淺凹進(jìn)結(jié)構(gòu)

17、的句子。由于街區(qū)輪廓的形態(tài)多樣,這樣各種子模式的組合方式也就很多,這給非終結(jié)符集N(一定意義上可認(rèn)為是子模式集)和產(chǎn)生式集P(語(yǔ)法規(guī)則集)的確定帶來(lái)了一定困難。實(shí)際上模式識(shí)別也不可能(或不要求)處理所有情形的輪廓化簡(jiǎn),而窮舉典型模式及構(gòu)造對(duì)應(yīng)文法是可能的,以長(zhǎng)邊(即基元a,b,c,d)作為句子的分界點(diǎn),也不難從描述輪廓的基元串中找出含短邊(即基元a,b,c,d)的句子。對(duì)句法模式進(jìn)行識(shí)別,一般都通過(guò)句法分析采用自上而下法或自下而上法來(lái)判斷一個(gè)句子(即模式)是否在語(yǔ)言L(Gi)中是合法的,從而把這個(gè)模式惟一地分配到第i類。模式識(shí)別分類問(wèn)題實(shí)際上是一個(gè)模式特征空間的劃分問(wèn)題或映射問(wèn)題,而神經(jīng)網(wǎng)絡(luò)尤

18、其是多層神經(jīng)網(wǎng)絡(luò)的工作原理是建立在模式變換的基礎(chǔ)上的,因此將神經(jīng)網(wǎng)絡(luò)用于模式識(shí)別是十分自然而有效的,而且基于神經(jīng)網(wǎng)絡(luò)的模式識(shí)別還表現(xiàn)出很好的自適應(yīng)、自學(xué)習(xí)、自組織及容錯(cuò)等能力。3層BP神經(jīng)網(wǎng)絡(luò)即可實(shí)現(xiàn)多維空間的任意分割,為了提高BP神經(jīng)網(wǎng)絡(luò)的全局優(yōu)化特性和加快網(wǎng)絡(luò)學(xué)習(xí)收斂速度,本文采用3層混和GABP神經(jīng)網(wǎng)絡(luò)來(lái)進(jìn)行模式識(shí)別,神經(jīng)網(wǎng)絡(luò)起句法翻譯的作用。用神經(jīng)網(wǎng)絡(luò)來(lái)進(jìn)行句法模式識(shí)別的基本步驟如下:1.枚舉可能的典型模式并構(gòu)造文法;2.用自上而下的句法分析得到各典型模式的合法句子,將其適當(dāng)轉(zhuǎn)換作為神經(jīng)網(wǎng)絡(luò)的輸入對(duì)神經(jīng)網(wǎng)絡(luò)進(jìn)行有監(jiān)督的學(xué)習(xí),收斂后將神經(jīng)網(wǎng)絡(luò)的權(quán)值矩陣及對(duì)應(yīng)模式存入模式庫(kù)。模式庫(kù)按句子長(zhǎng)

19、度(即基元個(gè)數(shù))分類存儲(chǔ);3.將建筑物多邊形輪廓的Freeman鏈碼轉(zhuǎn)換為基元串;4.從基元串中找出合法句子,按句子長(zhǎng)度從對(duì)應(yīng)模式庫(kù)中讀入神經(jīng)網(wǎng)絡(luò)的權(quán)值矩陣,構(gòu)造神經(jīng)網(wǎng)絡(luò)并將句子作為輸入,直到神經(jīng)網(wǎng)絡(luò)得到合法模式的輸出,即完成了模式識(shí)別。完成模式識(shí)別后,針對(duì)不同模式采取合理的化簡(jiǎn)方案即可實(shí)現(xiàn)建筑物多邊形的化簡(jiǎn)。2.1.6對(duì)化簡(jiǎn)后的建筑物多邊形的不合理部分進(jìn)行整形在某些情形下,建筑物多邊形經(jīng)過(guò)化簡(jiǎn)后即使已不存在小于最小表達(dá)尺度的短邊,但仍可能有與制圖規(guī)范相沖突的情況。如圖中的兩種過(guò)于狹窄部分的存在是不允許的,但在上述化簡(jiǎn)操作中無(wú)法識(shí)別這種情形進(jìn)行處理。因此還要對(duì)化簡(jiǎn)后的多邊形的不合理部分進(jìn)行整形

20、。2.1.7對(duì)一些復(fù)雜建筑物多邊形的化簡(jiǎn)處理對(duì)一些復(fù)雜建筑物多邊形,可在矢量數(shù)據(jù)下用類似模式識(shí)別的方法去分析并遵循化簡(jiǎn)原則進(jìn)行合理化簡(jiǎn)。2.1.8算法總結(jié)下圖即為在自動(dòng)綜合軟件中用此算法實(shí)現(xiàn)的居民地自動(dòng)綜合的效果:結(jié)合試驗(yàn)對(duì)該算法的一些總結(jié):1.通過(guò)實(shí)驗(yàn)反映作者所采用的建筑物多邊形化簡(jiǎn)步驟是比較合理的,采用這樣的化簡(jiǎn)步驟大大提高了化簡(jiǎn)效率(1000多個(gè)多邊形的化簡(jiǎn)耗時(shí)十幾秒,與計(jì)算機(jī)配置關(guān)系不大)。約35%的多邊形矩形化時(shí)直接化簡(jiǎn)為矩形。20%的多邊形通過(guò)數(shù)學(xué)形態(tài)學(xué)方法可完成化簡(jiǎn)。神經(jīng)網(wǎng)絡(luò)輔助下的模式識(shí)別相對(duì)于基于句法分析方法的模式識(shí)別,有易于程序?qū)崿F(xiàn)、識(shí)別容錯(cuò)能力較好的優(yōu)點(diǎn)。2.本文的方法能

21、較好保持多邊形的輪廓特征和面積,考慮了化簡(jiǎn)尺度,化簡(jiǎn)結(jié)果基本符合制圖規(guī)范。與現(xiàn)有方法比較體現(xiàn)出一定優(yōu)勢(shì)。3.本文算法中有矢柵數(shù)據(jù)轉(zhuǎn)換,采用多步驟、多方法,算法的一致性、健壯性不如文獻(xiàn)4(郭慶勝.以直角方式轉(zhuǎn)折的面狀要素圖形化簡(jiǎn)方法J.武漢測(cè)繪科技大學(xué)學(xué)報(bào),1999,24(3)中的方法,在某些情形下,會(huì)有不合理的化簡(jiǎn)結(jié)果,但85%以上的化簡(jiǎn)結(jié)果是較理想的。4.盡管本文的方法有一定實(shí)用性,但還存在以下不足:首先本方法只適合于大比例尺下直角化特征明顯的建筑物多邊形的化簡(jiǎn),對(duì)復(fù)雜建筑物多邊形的化簡(jiǎn)還不盡如意;其次構(gòu)造有一定容錯(cuò)性、并能導(dǎo)出完整模式集的文法困難,這導(dǎo)致少數(shù)模式無(wú)法正確識(shí)別,化簡(jiǎn)結(jié)果不確定

22、。2.2算法流程圖及偽代碼1開(kāi)始2將建筑物多邊形數(shù)據(jù)讀入3設(shè)置最小表達(dá)尺度(全局),一般為地圖上的0.3mm4while此時(shí)不是最后一項(xiàng)記錄5判斷是否有需要化簡(jiǎn)的短邊6對(duì)標(biāo)記為需要被化簡(jiǎn)的每個(gè)多邊形記錄進(jìn)行矩形化判斷,對(duì)被標(biāo)記為可被矩形化的多邊形,調(diào)整其最小外接矩形,作為矩形化結(jié)果輸出7對(duì)標(biāo)記為不可被直接矩形化的多邊形,進(jìn)行直角化調(diào)整8if該多邊形的最小外接矩形的方向不是沿著水平或垂直方向,then對(duì)該多邊形進(jìn)行坐標(biāo)旋轉(zhuǎn),使其邊盡可能的沿水平或垂直方向9矢量數(shù)據(jù)柵格化10對(duì)建筑物多邊形的輪廓進(jìn)行Freeman鏈碼編碼11對(duì)柵格數(shù)據(jù)用數(shù)學(xué)形態(tài)學(xué)的方法進(jìn)行擊中算法,識(shí)別出輪廓上的凸起和凹陷部分12

23、分析凸起和凹陷部分的Freeman鏈碼,對(duì)其進(jìn)行處理if(判斷是否有需要化簡(jiǎn)的短邊true)then用GA-BP算法進(jìn)行模式識(shí)別;elsethen14柵格數(shù)據(jù)矢量15坐標(biāo)變換,反轉(zhuǎn)到原坐標(biāo)系下Endwhile16矢量環(huán)境下對(duì)復(fù)雜多邊形的化簡(jiǎn)17結(jié)束2.3子函數(shù)流程圖及偽代碼2.3.1是否有需要化簡(jiǎn)的短邊1對(duì)每條記錄中的多邊形的邊遍歷,if存在邊長(zhǎng)小于閾值(0.3mm)的邊,then該多邊形標(biāo)記為需要化簡(jiǎn),elsethen直接輸出該多邊形2.3.2獲得外接矩形2.3.3最小外接矩形的獲得獲取幾何對(duì)象的外接矩形,并得到其面積值賦給變量AreaMin;For(0;AreaTmp;If(AreaTmp

24、公共變量B將得到的矩形反旋轉(zhuǎn)一個(gè)B角度,得到的就是原多邊形的最小外接矩形2.3.4矩形化判斷1計(jì)算指定建筑物多邊形的面積Spoly2對(duì)指定的建筑物多邊形建立其最小外接矩形(MER),并計(jì)算其最小外接矩形的面積Smer3If(|Spoly-Smer|=最小表達(dá)尺度&Width=最小表達(dá)尺度)then保留該彎曲,不作調(diào)整If(Height最小表達(dá)尺度&Width=最小表達(dá)尺度&Width最小表達(dá)尺度)thenWidth=0.3mm(最小表達(dá)尺度),調(diào)整鏈碼if(Height=最小表達(dá)尺度)thenHeight0.3mm(最小表達(dá)尺度),調(diào)整鏈碼5輸出調(diào)整后的Freeman鏈碼2.3.11GA-BP

25、算法進(jìn)行模式識(shí)別(暫略)GA-BP算法進(jìn)行模式識(shí)別用窮舉法構(gòu)造染色體文法G=(Vn,Vt,P,S)由自頂向下的句法分析構(gòu)造各典型模式的合法句子訓(xùn)練BP神經(jīng)網(wǎng)絡(luò),將收斂后將神經(jīng)網(wǎng)絡(luò)的權(quán)值矩陣及對(duì)應(yīng)模式存入模式庫(kù)。模式庫(kù)按句子長(zhǎng)度分類存儲(chǔ)將用多邊形輪廓的Freeman鏈碼表示為基元串從基元串中找出合法句子,按句子長(zhǎng)度從對(duì)應(yīng)模式庫(kù)中讀入神經(jīng)網(wǎng)絡(luò)的權(quán)值矩陣,構(gòu)造神經(jīng)網(wǎng)絡(luò)并將句子作為輸入,直到神經(jīng)網(wǎng)絡(luò)得到合法模式的輸出,輸出值y=f(wjxj-)對(duì)識(shí)別出的模式進(jìn)行化簡(jiǎn)處理考慮到該部分的實(shí)現(xiàn)難度,在該算法中的意義作用,在具體實(shí)現(xiàn)時(shí)暫時(shí)不處理該部分(2.3.122.3.14)2.3.12GA-BP多層神經(jīng)網(wǎng)

26、絡(luò)的訓(xùn)練(暫略)將全部權(quán)值與結(jié)點(diǎn)的閾值預(yù)置為一個(gè)小的隨機(jī)數(shù)While未達(dá)到預(yù)定誤差精度或循環(huán)次數(shù)將各典型模式的合法句子作為輸入,所要類別數(shù)作為輸出分別加載,采用S型函數(shù)模型(fs(x)=1/(1+e-x))計(jì)算各實(shí)際輸出值修正權(quán)值2.3.13修正權(quán)值(暫略)將權(quán)值矩陣W,閾值矩陣H的每一個(gè)元素用一個(gè)8位二進(jìn)制串編碼,將所有元素的編碼串連起來(lái),構(gòu)成基因碼鏈解釋算子Wi=L(8位二進(jìn)制對(duì)應(yīng)十進(jìn)制值-127)/127+WiT,實(shí)現(xiàn)編碼與權(quán)重(閥值)之間的碼制轉(zhuǎn)換,Wi是第i個(gè)權(quán)重元素的值,初始選擇范圍為(WiT-L,WiT+L);WiT是第i個(gè)權(quán)重元素的中心取值點(diǎn);L是權(quán)重取值區(qū)間的長(zhǎng)度產(chǎn)生初始群體

27、。將W,H的解空間均勻等分,每個(gè)區(qū)域選取一個(gè)點(diǎn)作為代表,產(chǎn)生m個(gè)初始解評(píng)價(jià)各W,H的個(gè)體優(yōu)勢(shì),對(duì)適應(yīng)度Fi的個(gè)體,賦予其選中概率F=C-E(C為一常數(shù),E為能量函數(shù))能量函數(shù)E:4交叉:首先將復(fù)制的數(shù)字串任意配對(duì),然后分別對(duì)每對(duì)進(jìn)行交叉操作。最簡(jiǎn)單的交叉方法是隨機(jī)地選取一個(gè)截?cái)帱c(diǎn),將雙親的基因碼鏈在截?cái)帱c(diǎn)切開(kāi),然后交換其尾部。變異:首先根據(jù)給定的變異概率隨機(jī)選取若干個(gè)體。一般而言,給定變異概都很小,一般取00.05。然后對(duì)于選中的個(gè)體,隨機(jī)選取某一位進(jìn)行取反運(yùn)算。5對(duì)父代、子代W,H的各種取值重新排列,取m個(gè)適應(yīng)度較大的個(gè)體作為下一代種群,轉(zhuǎn)步驟3直到群體適應(yīng)度趨于穩(wěn)定。6在趨于穩(wěn)定的種群中選

28、擇適應(yīng)度值最高的個(gè)體,對(duì)之應(yīng)用BP算法。7得到最優(yōu)值。當(dāng)網(wǎng)絡(luò)的訓(xùn)練誤差達(dá)到給定誤差要求時(shí)算法結(jié)束。此時(shí)的Wr,Hr為所求的最優(yōu)值。2.3.14Freeman鏈碼表示為基元串(暫略)多邊形輪廓的Freeman鏈碼=strings,F(xiàn)reeman鏈碼中同一方向上的追蹤長(zhǎng)度(像素值)=intm_iLengthIfm_iLength=3,即追蹤長(zhǎng)度為大于等于最小表達(dá)尺度,將追蹤方向按0-B,1-A,2-D,3-C的規(guī)律轉(zhuǎn)換Ifm_iLengthb,1-a,2-d,3-c的規(guī)律轉(zhuǎn)換輸出基元串s2.3.15柵格數(shù)據(jù)矢量化2.3.16復(fù)雜多邊形的化簡(jiǎn)(矢量)2006.1.2在柵格數(shù)據(jù)處理時(shí),該算法的思想是:

29、首先追蹤Freeman鏈碼,再通過(guò)ModelMatching找到所有的凸部、凹部,并對(duì)應(yīng)標(biāo)記在Freeman鏈碼上,最后修改鏈碼,得到矢量化的化簡(jiǎn)結(jié)果。在具體實(shí)現(xiàn)時(shí),設(shè)計(jì)的算法是:用簡(jiǎn)單而直觀的(行號(hào),列號(hào))來(lái)標(biāo)記,以此來(lái)確定凸部、凹部在鏈碼上的位置,但這樣的映射方法很繁瑣,在實(shí)現(xiàn)上實(shí)際是繞了個(gè)彎為了正確的映射,還要將Freeman鏈碼的每個(gè)單元碼也轉(zhuǎn)換為該段鏈碼的(行號(hào),列號(hào))坐標(biāo)值這是我所能想到的方法。修改鏈碼又是另外一個(gè)問(wèn)題,不同形態(tài)的凸部和凹部(比如說(shuō)波浪形的和階梯形的)所要修改的段數(shù)是不同的。那么很自然的想到,既然在ModelMatching中,識(shí)別出了盡可能多的凸部和凹部,為何不在

30、識(shí)別的同時(shí)進(jìn)行修改呢?在實(shí)現(xiàn)識(shí)別時(shí),我所采用的方法是55模板擊中,通過(guò)判斷對(duì)應(yīng)位置上的柵格單元值是否完全相同,來(lái)確定此處是否有凸凹。同樣的,通過(guò)直接更改柵格單元的值來(lái)完成對(duì)凸部和凹部的撫平和填補(bǔ),應(yīng)該是一個(gè)可行而更為高效的方法。這樣一來(lái),程序的流程應(yīng)該更改為:主程序得到的GriddataModelMatching.dll得到新的Griddata-直接傳入FreemanChainCode.dll中由Freeman鏈碼直接得到矢量數(shù)據(jù)旋轉(zhuǎn)回原坐標(biāo)下,這樣,對(duì)一個(gè)多邊形的操作就完成了。2006-1-3原來(lái)實(shí)現(xiàn)的FreemanChainCode,是由(0,0)點(diǎn)出發(fā),找到第一個(gè)不為0的柵格單元,將其作

31、為Freeman鏈碼的起始單元,開(kāi)始跟蹤。由于昨天對(duì)程序的更改,F(xiàn)reeman鏈碼的起始單元應(yīng)為左下腳的點(diǎn),也就是m_StartPoint中應(yīng)存放的坐標(biāo)值對(duì)應(yīng)的柵格單元。在柵格數(shù)據(jù)轉(zhuǎn)回矢量數(shù)據(jù)的時(shí)候,這個(gè)點(diǎn)就變?yōu)榱似聊簧系挠疑辖堑狞c(diǎn)。根據(jù)輸入的要素類圖層,在程序中應(yīng)該相應(yīng)的設(shè)置的幾個(gè)值:確定要進(jìn)行化簡(jiǎn)的最小表達(dá)尺度m_minLimit柵格單元的大小m_GridSize確定要進(jìn)行直角化的角度下限m_RightModify_LMT程序結(jié)果的一些數(shù)據(jù):要素類中居民地總數(shù):判斷要進(jìn)行化簡(jiǎn)的總數(shù):矩形化中完成化簡(jiǎn)數(shù):數(shù)學(xué)形態(tài)學(xué)完成化簡(jiǎn)數(shù):GenerationProcess.dll:處理整個(gè)地圖綜合流程,

32、調(diào)用各個(gè)動(dòng)態(tài)庫(kù)中的函數(shù)classGENERATIONPROCESS_EXPORT_CLASSCNewGenerFClspublic:/創(chuàng)建新的要素類,存放綜合后的數(shù)據(jù)BOOLCreateNewFCls(CFeatureCls*m_ptFCls,CFeatureCls*pResultFCls);/處理整個(gè)要素類,地圖綜合流程voidGenerationProcess(CFeatureCls*ptFCls);/判斷要素是否需要被綜合BOOLGenerationDecided(CFeatureCls*ptFCls,TYPE_FIDfeaID);/向綜合后的要素類中添加新的要素TYPE_FIDAppe

33、ndNewFeature(CFeatureCls*pResultFCls,D_DOT*ptXY,longDotnum);private:longm_minLimit;/最小表達(dá)尺度,根據(jù)比例尺自動(dòng)設(shè)定;RegModifyInVector.dll:在矢量數(shù)據(jù)下進(jìn)行的多邊形化簡(jiǎn)操作classREGMODIFYINVECTOR_EXPORT_CLASSCRegModifyVectpublic:structMER/最小外接矩形結(jié)構(gòu)體doubleArea;/最小外接矩形的面積doubleXMerMax;/最小外接矩形點(diǎn)的坐標(biāo)doubleXMerMin;doubleYMerMax;doubleYMerMi

34、n;doubleMinEdgeLen;/最小外接矩形的最短邊m_PolyMER;/判斷要素可否被矩形化0/1可以/不可以BOOLRectDecidedAndModify(CFeatureCls*ptFCls,TYPE_FIDfeaID);/獲得要素的最小外接矩形voidGetRegMER(CFeatureCls*ptFCls,TYPE_FIDfeaID);/獲得要素的信息voidGetFeaInfo(CFeatureCls*ptFCls,TYPE_FIDfeaID);/對(duì)無(wú)法直接矩形化的多邊形,做直角化操作voidChangeRegToRightAngle(CFeatureCls*ptFCls

35、,TYPE_FIDfeaID);/對(duì)已完成直角化的多邊形,旋轉(zhuǎn)為正方向voidRotateRegRight(CFeatureCls*ptFCls,TYPE_FIDfeaID);/對(duì)完成柵格處理的多邊形,旋轉(zhuǎn)回原方向voidRotateRegOrign(D_DOT*ptXY,longDotnum);/提供綜合后的多邊形的坐標(biāo)點(diǎn)和點(diǎn)數(shù)BOOLSetRegPtXYAndDotnum(D_DOT*ptXY,long&Dotnum);private:TYPE_FIDm_FeaID;CPolyGeometrym_geoms;longm_geomNum;long*m_ptNeLen;long*m_ptNe;

36、D_DOT*m_ptXY;longm_Dotnum;D_DOT*m_ptXYNew;/化簡(jiǎn)后得到的新的坐標(biāo)longm_DotnumNew;/化簡(jiǎn)后得到的新的坐標(biāo)點(diǎn)數(shù)doublem_MerAngle;/取得最小外接矩形時(shí),多邊形旋轉(zhuǎn)的度數(shù)D_DOTm_RotateDot;/多邊形旋轉(zhuǎn)到正方向時(shí)的旋轉(zhuǎn)中心doublem_RotateAngle;/旋轉(zhuǎn)為正時(shí)的旋轉(zhuǎn)角度;/獲得多邊形的外包矩形voidGetMaxMinXY(D_DOT*ptXY,longdotnum,double&xmax,double&xmin,double&ymax,double&ymin);/旋轉(zhuǎn)點(diǎn)voidRotateDotNew(double&dotX,double&dotY,doublecenterX,doublecenterY,doubledAngle);/計(jì)算兩條線段的夾角sh

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論