高 香,宋敦江2,梅 新
(1.湖北大學(xué) 資源環(huán)境學(xué)院,武漢 430061; 2.中國(guó)科學(xué)院科技戰(zhàn)略咨詢研究院,北京 100190)
地理信息系統(tǒng) (GIS,geographic information system),遙感(RS,remote sensing)以地理信息資源和測(cè)繪數(shù)據(jù)等為基礎(chǔ)數(shù)據(jù)[1],包括大量的航空航天圖片,遙感影像, 地形圖以及各尺度的DEM(digital elevation model)數(shù)據(jù)。這些地理信息基礎(chǔ)數(shù)據(jù)具有與其它數(shù)據(jù)不同的特性,拓?fù)潢P(guān)系強(qiáng),具有自相關(guān)性,而且數(shù)據(jù)量龐大,計(jì)算復(fù)雜,處理困難。國(guó)內(nèi)外學(xué)者將機(jī)器學(xué)習(xí)(Machine Learning)和深度學(xué)習(xí)算法應(yīng)用于各領(lǐng)域大數(shù)據(jù)處理、分析,獲取有用信息[2]。例如運(yùn)用圖像模式識(shí)別來(lái)進(jìn)行大數(shù)據(jù)挖掘,構(gòu)建大數(shù)據(jù)智能地質(zhì)學(xué)[3]。
圖像匹配技術(shù)是圖像處理、分析的重要內(nèi)容,其結(jié)果的精度與可靠性直接決定了后續(xù)工作能否正常進(jìn)行。圖像匹配它是根據(jù)目標(biāo)的特殊特征,按一定相似性準(zhǔn)則,建立未知圖像與已知圖像之間的匹配[4]。隨著社會(huì)信息化程度逐漸提高,計(jì)算機(jī)存儲(chǔ)和計(jì)算能力大幅度提升,深度學(xué)習(xí)技術(shù)和方法在飛速發(fā)展,圖像匹配技術(shù)也趨于成熟,圖像匹配是幾乎所有圖像分析過程中的關(guān)鍵組成部分。圖像匹配成功應(yīng)用于例如導(dǎo)航、指導(dǎo),自動(dòng)監(jiān)視,計(jì)算機(jī)視覺、繪圖科學(xué)、無(wú)人駕駛、醫(yī)學(xué)診斷交通監(jiān)控等領(lǐng)域[5]。
地形匹配是圖像匹配的一種,在遠(yuǎn)程巡航導(dǎo)彈導(dǎo)航、潛水器導(dǎo)航,飛機(jī)航行跟隨、地形回避,模式識(shí)別,地理定位,目標(biāo)跟蹤等領(lǐng)域具有十分重要的作用[6-7]。地形匹配制導(dǎo)自主、可靠、不受干擾、導(dǎo)航精度與航程無(wú)關(guān),無(wú)需在導(dǎo)航區(qū)域建立信號(hào)中繼站等基礎(chǔ)設(shè)施,它不受氣象條件和其他電子設(shè)備干擾等的影響,是GPS導(dǎo)航的一種有效輔助手段[8]。
地形匹配是利用已知地形數(shù)據(jù),從基準(zhǔn)圖中提取具有不變特征或明顯特征的子區(qū),或者用已知地面控制點(diǎn)作為模板,在所匹配的圖中搜索與模板相似的區(qū)域。當(dāng)兩個(gè)地圖的匹配相似性測(cè)度達(dá)到最大,且超過預(yù)先規(guī)定的閾值時(shí),判定為找到了正確的匹配位置[9]。在地形匹配過程中,基準(zhǔn)地形(假定稱為A)是全國(guó)或全球地形,待匹配地形(假定稱為T)是任意一塊具有明顯地形特征的地形,地形匹配就是要在A中進(jìn)行搜索或進(jìn)行特征匹配,確定T在A中的位置,包括中心點(diǎn)坐標(biāo)和邊角拐點(diǎn)坐標(biāo)。與地形匹配相關(guān)研究一般運(yùn)用三維表面匹配算法、計(jì)算機(jī)視覺技術(shù)[10]來(lái)確定基準(zhǔn)地形A內(nèi)恢復(fù)待匹配圖形T的位置和方向。但到目前為止卻很少有基于深度學(xué)習(xí)來(lái)進(jìn)行地形匹配的相關(guān)研究。
盡管圖像匹配技術(shù)發(fā)展快速,地形匹配相關(guān)研究也很多,但運(yùn)用深度學(xué)習(xí)進(jìn)行地形匹配相關(guān)研究卻很少。將地形匹配數(shù)據(jù),相關(guān)匹配算法進(jìn)行系統(tǒng)集成可以使地形匹配流程系統(tǒng)化,能夠?qū)Φ匦螆D進(jìn)行快速匹配、更新。但由于地形數(shù)據(jù)數(shù)據(jù)量大,計(jì)算復(fù)雜,不能僅依賴于 CPU的計(jì)算,CPU+GPU 的硬件框架更能滿足實(shí)際需求,由于GPU服務(wù)器租用昂貴,從經(jīng)濟(jì)因素與算法安全性因素出發(fā),本文嘗試GPU服務(wù)器和WEB服務(wù)器分離相互獨(dú)立的做法。本文研究基于Java開發(fā)的地形匹配Web系統(tǒng),運(yùn)用當(dāng)今互聯(lián)網(wǎng)、云計(jì)算等技術(shù)優(yōu)勢(shì)搭建的分布式在線處理系統(tǒng),解決了本地系統(tǒng)或局域網(wǎng)環(huán)境系統(tǒng)下的專業(yè)模型或處理算法在互聯(lián)網(wǎng)上的應(yīng)用,提供了更廣泛的共享[11]。同時(shí),該架構(gòu)采用了消息調(diào)度概念及應(yīng)用模式,對(duì)地形匹配算法進(jìn)行了封裝,復(fù)用了已有的地形匹配算法,開發(fā)效率大大提高。該系統(tǒng)托管在阿里云服務(wù)器中,它通過消息傳遞機(jī)制與另外一臺(tái)GPU服務(wù)器進(jìn)行通信,實(shí)現(xiàn)GPU地形匹配計(jì)算與地圖網(wǎng)站的功能分離,增加了系統(tǒng)的可擴(kuò)展性,方便進(jìn)一步的升級(jí)。
已有全國(guó)地形數(shù)據(jù)A(30米分辨率的DEM),對(duì)現(xiàn)有區(qū)域的地形等高線(數(shù)據(jù)A)(contourA.shp),任意切割一個(gè)方形區(qū)域得到子集等高線數(shù)據(jù)B,對(duì)數(shù)據(jù)B進(jìn)行平移和旋轉(zhuǎn)得到數(shù)據(jù)C,對(duì)數(shù)據(jù)C隨機(jī)加入噪音得到數(shù)據(jù)T(contourT.shp)。地形匹配服務(wù)目標(biāo)實(shí)現(xiàn)上傳數(shù)據(jù)T,恢復(fù)或匹配、查找后確定數(shù)據(jù)T在數(shù)據(jù)A原始位置,并反饋匹配結(jié)果??紤]算法的復(fù)用性,以及進(jìn)一步的改進(jìn)與升級(jí),地形匹配服務(wù)在架構(gòu)設(shè)計(jì)時(shí),采用基于“消息/訂閱”模式的消息調(diào)度模式[12],對(duì)地形算法庫(kù)進(jìn)行了封裝,將網(wǎng)站平臺(tái)模塊,消息隊(duì)列傳遞模塊等與地形匹配算法進(jìn)行分離,相互獨(dú)立運(yùn)行工作,通過消息隊(duì)列服務(wù)器建立網(wǎng)站與算法之間的通信,構(gòu)建了地形匹配服務(wù)體系。如圖1所示。
圖1 地形匹配服務(wù)架構(gòu)體系
如圖1所示,地形匹配系統(tǒng)整個(gè)服務(wù)架構(gòu)體系分為Web網(wǎng)站、消息調(diào)度服務(wù)器、文檔服務(wù)器、匹配處理服務(wù)四部分,其中Web網(wǎng)站、消息調(diào)度服務(wù)器、文檔服務(wù)器部署于阿里云服務(wù)器中,匹配處理算法部署于局域網(wǎng)環(huán)境。其中Web網(wǎng)站負(fù)責(zé)整個(gè)系統(tǒng)的前端的顯示以及交互操作,消息調(diào)度服務(wù)器、文檔服務(wù)器負(fù)責(zé)門戶網(wǎng)站與地形匹配算法服務(wù)的溝通,匹配算法部分負(fù)責(zé)地形匹配運(yùn)算。整個(gè)系統(tǒng)采取松耦合的模式,彼此之間保持相對(duì)獨(dú)立性。
Web網(wǎng)站模塊主要是網(wǎng)頁(yè)部分,負(fù)責(zé)為用戶提供系統(tǒng)應(yīng)用界面,用戶通過操作Web網(wǎng)站輸入待匹配地形圖片,執(zhí)行匹配命令,網(wǎng)站獲取地形匹配信息,發(fā)起執(zhí)行操作,最后接收匹配處理后結(jié)果,并儲(chǔ)存到Web網(wǎng)站數(shù)據(jù)庫(kù)中。
消息調(diào)度服務(wù)和文檔服務(wù)器模塊負(fù)責(zé)門戶網(wǎng)站與地形匹配算法服務(wù)的溝通。消息隊(duì)列調(diào)度服務(wù)[13]可以簡(jiǎn)單的理解為系統(tǒng)各部分之間建立聯(lián)系的“橋梁”,它通過隊(duì)列的方式實(shí)現(xiàn)各模塊之間的消息傳遞,屬于系統(tǒng)的中間組件,它將數(shù)據(jù)與計(jì)算進(jìn)行分離,確保了數(shù)據(jù)的獨(dú)立性,提高了算法的重用性,便于后期算法的完善。文檔服務(wù)器提供了消息監(jiān)聽機(jī)制,后臺(tái)匹配處理接收消息調(diào)度服務(wù)器發(fā)送的處理請(qǐng)求,進(jìn)行數(shù)據(jù)從阿里云文檔服務(wù)器上下載。
匹配處理服務(wù)模塊主要負(fù)責(zé)地形匹配算法的實(shí)現(xiàn),匹配處理后臺(tái)需要集成消息隊(duì)列接收處理消息,包括文件名和數(shù)據(jù)庫(kù)此數(shù)據(jù)的id號(hào)。通過FTP服務(wù)器(File Transfer Protocol Server)下載對(duì)應(yīng)save_name的數(shù)據(jù),執(zhí)行匹配處理,然后通過Web網(wǎng)站API將數(shù)據(jù)結(jié)果及狀態(tài)寫入到數(shù)據(jù)庫(kù)表中。
網(wǎng)站部分通過Java 體系開發(fā),采用 Play框架, 消息隊(duì)列采用Rabbitmq服務(wù)器,后臺(tái)空間匹配采用Python開發(fā)語(yǔ)言??紤]系統(tǒng)的安全性以及算法的重要性,消息調(diào)度服務(wù)器,Web網(wǎng)站和FTP服務(wù)器部署在阿里云上,后臺(tái)匹配算法部署在局域網(wǎng)內(nèi)。系統(tǒng)實(shí)現(xiàn)流程圖如圖2所示。
圖2 系統(tǒng)實(shí)現(xiàn)流程圖
如圖2所示,在阿里云CPU環(huán)境中安裝系統(tǒng)依賴軟件,并搭建Web網(wǎng)站,配置相關(guān)環(huán)境,在本地GPU環(huán)境中進(jìn)行地形匹配算法的訓(xùn)練,以及地形匹配算法封裝及應(yīng)用,并配置相關(guān)環(huán)境。系統(tǒng)相關(guān)依賴軟件如表1所示。
表1 系統(tǒng)開發(fā)平臺(tái)工具
如表1所示,系統(tǒng)開發(fā)網(wǎng)站選擇了play開發(fā)框架、 Postgis數(shù)據(jù)庫(kù)、Pika內(nèi)存數(shù)據(jù)庫(kù)、Rabbitmq消息隊(duì)列服務(wù)器、FTP服務(wù)器、后臺(tái)算法地形匹配算法使用python3語(yǔ)言開發(fā)、網(wǎng)站部署在阿里云環(huán)境中。
Play框架(http://www.playframework.com/),它是開源Web框架,相比于其他框架,靈活性高,具有熱重載(hot reload)[14]特性,修改代碼,可直接刷新頁(yè)面顯示效果,無(wú)需重新構(gòu)建,使用Play框架開發(fā),可以快速搭建網(wǎng)站,大大提高了系統(tǒng)的開發(fā)效率。
PostGIS數(shù)據(jù)庫(kù)是對(duì)象關(guān)系型數(shù)據(jù)庫(kù)系統(tǒng) PostgreSQL(https://www.postgresql.org/) 的一個(gè)擴(kuò)展,能夠有效的對(duì)空間數(shù)據(jù)進(jìn)行管理與處理,地形數(shù)據(jù)屬于空間數(shù)據(jù)的一種,為了便于存儲(chǔ)空間數(shù)據(jù)的空間位置、空間關(guān)系,選用了PostGIS數(shù)據(jù)庫(kù)。
Rabbitmq(http://www.rabbitmq.com/)是開源消息傳遞中間組件,可在多平臺(tái),多操作系統(tǒng)中運(yùn)行,具有可靠性,使消息和消息隊(duì)列具有可恢復(fù)性,消息隊(duì)列調(diào)度服務(wù)機(jī)制進(jìn)行數(shù)據(jù)的傳遞,將數(shù)據(jù)與后臺(tái)算法進(jìn)行分離,確保了數(shù)據(jù)的獨(dú)立性,提高了算法的重用性[15]。
Ftp服務(wù)是通過Internet利用FTP服務(wù)器和FTP客戶機(jī)實(shí)現(xiàn)的是一種高效可靠的文件傳輸服務(wù),客戶端進(jìn)行FTP會(huì)話,服務(wù)器與客戶端之間連接建立雙向的傳輸文件的連接,實(shí)現(xiàn)計(jì)算機(jī)與計(jì)算機(jī)之間實(shí)現(xiàn)相互通訊[16]。此系統(tǒng)在阿里云上配置了FTP服務(wù)器,建立了后臺(tái)匹配處理與前端網(wǎng)站間的數(shù)據(jù)傳輸機(jī)制,后臺(tái)匹配平臺(tái)接收消息調(diào)度服務(wù)器發(fā)送的處理請(qǐng)求,連接到在阿里云主機(jī)上的FTP服務(wù)器程序進(jìn)行數(shù)據(jù)的下載。匹配處理后將處理后的結(jié)果返回給前端網(wǎng)站。
Pika是類似于Redis的一款開源的存儲(chǔ)系統(tǒng),它的優(yōu)勢(shì)在于Pika 是多線程的結(jié)構(gòu),因此在線程數(shù)比較多的情況下,某些數(shù)據(jù)結(jié)構(gòu)的性能可以優(yōu)于 Redis,由于系統(tǒng)需要儲(chǔ)存的為全國(guó)范圍內(nèi)的地形圖,數(shù)據(jù)量較大,若選擇Redis會(huì)因內(nèi)存過大恢復(fù)時(shí)間長(zhǎng),而Pika正好解決了用戶使用Redis內(nèi)存過大恢復(fù)時(shí)間長(zhǎng)的問題。
匹配后臺(tái)算法采用Python開發(fā)語(yǔ)言,利用深度學(xué)習(xí)算法對(duì)全國(guó)地形數(shù)據(jù)進(jìn)行訓(xùn)練,之后模糊匹配,再利用機(jī)器視覺方法進(jìn)行精確定位。pika,ftplib是python的內(nèi)置的標(biāo)準(zhǔn)模塊,Pika包進(jìn)行消息接收,ftplib包提供了強(qiáng)大的對(duì)FTP服務(wù)器的操作,通過它連接并操作FTP服務(wù)端使用。
地形匹配系統(tǒng)中消息調(diào)度服務(wù)器,Web網(wǎng)站和FTP服務(wù)器部署在阿里云(https://www.aliyun.com/?utm_content=se_1000301881)上,后臺(tái)匹配算法部署在局域網(wǎng)內(nèi),具體配置如圖3所示。
圖3 系統(tǒng)部署圖
如圖3所示,地形匹配系統(tǒng)Web網(wǎng)站部署在阿里云上,遠(yuǎn)程登錄阿里云服務(wù)器,進(jìn)行PostGIS數(shù)據(jù)庫(kù)、消息隊(duì)列服務(wù)器 Rabbitmq、文件服務(wù)器 FTP服務(wù)等依賴軟件的安裝。并運(yùn)用Play框架搭建網(wǎng)站,修改配置文件application.conf進(jìn)行相關(guān)服務(wù)配置。修改配置信息如下所示:
file_path=["C:zkydataimg"]
save_file_path=["C:zkydataimg"]
mq = ["47.105.32.162"]
file_path為輸入文件路徑,save_file_path為保存文件路徑 mq為阿里云公網(wǎng)IP地址。然后構(gòu)建消息隊(duì)列服務(wù),新建隊(duì)列(queue),命名為web_pro1,全國(guó)地形數(shù)據(jù)A存放于PostGIS數(shù)據(jù)庫(kù)中。
接著進(jìn)行匹配算法運(yùn)行環(huán)境的搭建,在后臺(tái)匹配算法中進(jìn)行Rabbitmq環(huán)境配置,在匹配算法中輸入消息隊(duì)列登錄名稱,以及登陸密碼和Rabbitmq服務(wù)器配置網(wǎng)站url,并進(jìn)行FTP環(huán)境的配置,使后臺(tái)匹配算法能夠獲取消息隊(duì)列message信息,需包括網(wǎng)站url,獲取時(shí)間以及文件名稱。
系統(tǒng)地形匹配的目標(biāo)是實(shí)現(xiàn)輸入任意變換后的地形數(shù)據(jù)T執(zhí)行匹配命令,匹配后得到T在全國(guó)地形數(shù)據(jù)A的具體位置。
地形匹配過程分成兩個(gè)子過程:
1)第一個(gè)子過程是先對(duì)總圖A用深度學(xué)習(xí)的殘差網(wǎng)絡(luò)模型(ResNet)進(jìn)行訓(xùn)練學(xué)習(xí),再進(jìn)行模糊匹配,找出子圖T在A中的大概位置T’;
2)第二個(gè)子過程是利用計(jì)算機(jī)視覺OpenCV里的尺度不變特征變換(Scale-invariant feature transform,SIFT)方法對(duì)T進(jìn)行精確定位,精確確定T與T’的相對(duì)位置。匹配結(jié)果示意圖如圖4所示。
圖4 匹配結(jié)果示意圖
如圖4中所示T1、T2待匹配地形圖為數(shù)據(jù)總圖變換后的子圖。P為T1、T2重疊部分,A、P為未重疊部分。
為了便于算法后期的完善和升級(jí),提高算法的復(fù)用性,我們對(duì)地形匹配算法進(jìn)行了封裝。匹配算法通過集成消息隊(duì)列接收消息體名稱和隊(duì)列名稱,獲取處理請(qǐng)求,得到文件名和數(shù)據(jù)庫(kù)此數(shù)據(jù)的id號(hào)。通過FTP服務(wù)器下載對(duì)應(yīng)save_name的數(shù)據(jù),執(zhí)行匹配處理,形成標(biāo)準(zhǔn)算法庫(kù)。并將處理后的結(jié)果通過Web網(wǎng)站API將數(shù)據(jù)結(jié)果及狀態(tài)寫入到數(shù)據(jù)庫(kù)表中。
算法庫(kù)的封裝,實(shí)現(xiàn)了后臺(tái)算法與前端網(wǎng)站的分離,后臺(tái)匹配算法只負(fù)責(zé)算法方面的開發(fā),前端網(wǎng)站只需通過消息調(diào)度機(jī)制與后臺(tái)算法建立聯(lián)系,提高了匹配系統(tǒng)的效率,以及系統(tǒng)的復(fù)用性。
地形匹配系統(tǒng)頁(yè)面設(shè)計(jì)遵循簡(jiǎn)潔,醒目的原則,主要包括導(dǎo)航欄模塊,地圖顯示模塊,地形圖片輸入模塊,以及執(zhí)行處理模塊。如圖5所示。
圖5 頁(yè)面設(shè)計(jì)圖
如圖5,頁(yè)面右側(cè)模塊設(shè)計(jì)用戶輸入待匹配地形圖,左側(cè)設(shè)計(jì)執(zhí)行匹配命令按鈕,并顯示匹配信息,中間模塊顯示地圖,并顯示匹配成功結(jié)果。
地形數(shù)據(jù)經(jīng)過地形匹配算法匹配后,數(shù)據(jù)的輸出形式為匹配地形圖在參考全國(guó)地形數(shù)據(jù)A上的坐標(biāo)信息,即四個(gè)頂點(diǎn)的經(jīng)緯度信息,并將坐標(biāo)信息通過Web數(shù)據(jù)接口傳送給前端網(wǎng)頁(yè),并顯示在前端網(wǎng)頁(yè)地圖中。
整個(gè)體系系統(tǒng)統(tǒng)分Web網(wǎng)站建設(shè)、消息調(diào)度服務(wù)、后臺(tái)匹配處理服務(wù)三部分。消息調(diào)度服務(wù)器,Web網(wǎng)站和FTP服務(wù)器在阿里云上部署。空間算法部署在局域網(wǎng)內(nèi),用戶通過操作Web網(wǎng)站瀏覽器頁(yè)面輸入待匹配的地形圖,執(zhí)行匹配命令,消息調(diào)度機(jī)制通過接收Web網(wǎng)站信息將處理請(qǐng)求發(fā)送給后臺(tái)匹配處理,匹配處理后臺(tái)集成消息隊(duì)列包括文件名和數(shù)據(jù)庫(kù)此數(shù)據(jù)的id號(hào)接收處理消息,然后通過FTP服務(wù)器下載阿里云環(huán)境中PostGIS數(shù)據(jù)庫(kù)中對(duì)save_name的數(shù)據(jù),執(zhí)行匹配處理,處理完成后,然后通過Web網(wǎng)站API將數(shù)據(jù)結(jié)果及狀態(tài)寫入到數(shù)據(jù)庫(kù)表中并在Web瀏覽器頁(yè)面中展示。具體過程如圖6所示。
圖6 系統(tǒng)流程圖
在實(shí)際應(yīng)用中,構(gòu)建了基于Web的地形匹配系統(tǒng),瀏覽器頁(yè)面由導(dǎo)航欄,執(zhí)行處理命令部分,地圖部分,上傳待匹配地形圖四部分組成,用戶通過操作瀏覽器在頁(yè)面右側(cè)上傳待匹配地形數(shù)據(jù),上傳成功后,點(diǎn)擊頁(yè)面左側(cè)執(zhí)行命令,通過消息調(diào)度服務(wù),后臺(tái)匹配算法進(jìn)行處理,將執(zhí)行結(jié)果在瀏覽器地圖上顯示,如圖 7所示。
圖7 匹配成功結(jié)果截圖
圖7中綠色虛線位置即為待匹配地形圖T所在位置。
在地形匹配系統(tǒng)主要實(shí)現(xiàn)過程分為:1)樣本數(shù)據(jù)制作;2)地形匹配算法模型訓(xùn)練;3)地形匹配算法模型應(yīng)用。本文重點(diǎn)在于訓(xùn)練好的地形匹配模型的應(yīng)用。
在全國(guó)地形數(shù)據(jù)A中隨機(jī)提取一方形區(qū)域T(300行*300列),并對(duì)數(shù)據(jù)進(jìn)行旋轉(zhuǎn)得到37個(gè)樣本數(shù)據(jù),其中包括18個(gè)副本數(shù)據(jù),隨機(jī)提取160 000批數(shù)據(jù),得到實(shí)驗(yàn)數(shù)據(jù)T約為600萬(wàn)個(gè)樣本數(shù)據(jù)。
以600萬(wàn)個(gè)樣本數(shù)據(jù)作為訓(xùn)練樣本,利用深度學(xué)習(xí)的殘差網(wǎng)絡(luò)模型(ResNet50)進(jìn)行訓(xùn)練,進(jìn)行模糊匹配,隨機(jī)選取2 000個(gè)樣本數(shù)據(jù)作為測(cè)試樣本測(cè)試精度,每個(gè)訓(xùn)練樣本返回10張地形圖,利用計(jì)算機(jī)視覺OpenCV里的尺度不變特征變換方法對(duì)T進(jìn)行精確定位,利用ResNet50訓(xùn)練模型,匹配結(jié)果精度達(dá)到97%。
將訓(xùn)練好的模型進(jìn)行封裝,應(yīng)用到地形匹配系統(tǒng)中。在阿里云CPU環(huán)境中,搭建Web網(wǎng)站環(huán)境,配置消息隊(duì)列服務(wù)環(huán)境、FTP服務(wù)器,以及安裝數(shù)據(jù)庫(kù)系統(tǒng)等軟件。在本地GPU環(huán)境部署匹配算法運(yùn)行環(huán)境。首先遠(yuǎn)程登錄阿里云服務(wù)器,進(jìn)行PostGIS數(shù)據(jù)庫(kù)、消息隊(duì)列服務(wù)器 Rabbitmq、文件服務(wù)器 FTP服務(wù)等依賴軟件的安裝。并通過Java 體系進(jìn)行Web網(wǎng)站的搭建,然后構(gòu)建消息隊(duì)列服務(wù),新建隊(duì)列(queue),命名為web_pro1,然后將全國(guó)地形數(shù)據(jù)A存放于PostGIS數(shù)據(jù)庫(kù)中,之后將封裝好的匹配算法匹配算法部署在本地GPU環(huán)境部署中,在匹配算法中進(jìn)行Rabbitmq環(huán)境配置,在匹配算法中輸入消息隊(duì)列登錄名稱,以及登陸密碼和Rabbitmq服務(wù)器配置網(wǎng)站url,并進(jìn)行FTP環(huán)境的配置,使后臺(tái)匹配算法能夠獲取消息隊(duì)列message信息,需包括網(wǎng)站url,獲取時(shí)間以及文件名稱。
在Web網(wǎng)站中點(diǎn)擊上傳圖片或直接拖拽,將實(shí)驗(yàn)數(shù)據(jù)T導(dǎo)入到網(wǎng)頁(yè)中,點(diǎn)擊網(wǎng)頁(yè)左側(cè)執(zhí)行匹配按鈕,通過消息隊(duì)列將待匹配信息傳送到后臺(tái),匹配處理后臺(tái)需要集成消息隊(duì)列接收處理消息,包括文件名和數(shù)據(jù)庫(kù)此數(shù)據(jù)的id號(hào)。通過FTP服務(wù)器下載對(duì)應(yīng)save_name的數(shù)據(jù),執(zhí)行匹配處理,計(jì)算待匹配地形圖在參考全國(guó)地形數(shù)據(jù)A上的坐標(biāo)信息,即四個(gè)頂點(diǎn)的經(jīng)緯度信息,然后通過Web網(wǎng)站API將數(shù)據(jù)結(jié)果及狀態(tài)寫入到數(shù)據(jù)庫(kù)表中,并將坐標(biāo)信息通過Web數(shù)據(jù)接口傳送給前端網(wǎng)頁(yè),并顯示在前端網(wǎng)頁(yè)地圖中。
基于Web的地形匹配系統(tǒng)采用了消息調(diào)度概念及應(yīng)用模式,對(duì)地形匹配算法進(jìn)行了封裝,復(fù)用了已有的地形匹配算法,實(shí)現(xiàn)GPU地形匹配計(jì)算與地圖網(wǎng)站的功能分離,增加了系統(tǒng)的可擴(kuò)展性,方便進(jìn)一步的升級(jí)。
但系統(tǒng)同時(shí)存在不足,例如地形匹配過程中上傳地形數(shù)據(jù)必須和數(shù)據(jù)庫(kù)中全國(guó)地形數(shù)據(jù)A同一比例尺才能進(jìn)行匹配。
系統(tǒng)匹配數(shù)據(jù)為全國(guó)地形數(shù)據(jù)A(30米分辨率的DEM ),共計(jì)約1000塊,每塊空間范圍為108 km*108 km(3 600行*3 600列),存放在postgis數(shù)據(jù)庫(kù)中。
待匹配實(shí)驗(yàn)數(shù)據(jù)T由Web網(wǎng)站輸入,是從全國(guó)地形數(shù)據(jù)A隨機(jī)提取一方形區(qū)域T(300行*300列)得到數(shù)據(jù)B,數(shù)據(jù)B經(jīng)過旋轉(zhuǎn)、平移等得到實(shí)驗(yàn)數(shù)據(jù)T。
文章研究構(gòu)建了基于Web的地形匹配系統(tǒng), 對(duì)匹配算法進(jìn)行了封裝,Web網(wǎng)站通過消息調(diào)度服務(wù)器建立于后臺(tái)匹配之間的信息傳遞與溝通,三部分分工合作,極大的提高了系統(tǒng)開發(fā)效率,匹配算法基于深度學(xué)習(xí)的地形匹配(Deep Learning-based Terrain Matching, DLTM),匹配樣本來(lái)自于數(shù)據(jù)集任意一塊旋轉(zhuǎn),變換,加噪后的子集。相比于其他地形匹配研究,文章有如下優(yōu)點(diǎn):
1)文章將機(jī)器學(xué)習(xí)運(yùn)用于地形匹配算法之中,并對(duì)算法進(jìn)行了封裝,可直接調(diào)用。
2)文章將地形匹配數(shù)據(jù),相關(guān)匹配算法進(jìn)行系統(tǒng)集成,使地形匹配流程系統(tǒng)化,能夠?qū)Φ匦螆D進(jìn)行快速匹配、更新。
3)文章將GPU地形匹配計(jì)算與地圖網(wǎng)站的功能分離,將消息調(diào)度服務(wù)器,Web網(wǎng)站和Ftp服務(wù)器部署在阿里云服務(wù)器,匹配處理算法部署于局域網(wǎng)環(huán)境內(nèi)本地GPU服務(wù)器中,極大的降低了租用GPU服務(wù)器的成本,同時(shí)確保了數(shù)據(jù)的獨(dú)立性,提高了算法的重用性,便于后期算法的完善。
但文章中地形匹配算法無(wú)法應(yīng)用于不同尺度地形數(shù)據(jù)的相互匹配和多分辨率的地形匹配。今后將對(duì)不同尺度地形數(shù)據(jù)的相互匹配、解決多分辨率的地形匹配、基于切割等高線方法的地形匹配、基于地學(xué)信息圖譜的地形分類、輔助地形匹配、全球影像的自動(dòng)定位等問題進(jìn)行研究。