劉原麟,陸劍予,趙永安,陸冬華
(1.遙感信息與圖像分析技術(shù)國家級重點(diǎn)實(shí)驗(yàn)室,北京 100029;2.核工業(yè)北京地質(zhì)研究院,北京 100029)
鈾礦是重要的戰(zhàn)略資源,在社會經(jīng)濟(jì)和國防軍事中發(fā)揮著重要作用。利用高光譜遙感技術(shù)開展蝕變礦物分析是鈾地質(zhì)勘查工作的常用手段之一,通?;谛禽d(機(jī)載)高光譜遙感影像或巖心高光譜掃描數(shù)據(jù)開展研究,通過識別和分析鈾礦化蝕變礦物組合的光譜特征,可以指導(dǎo)找礦工作[1-3]。
由于遙感數(shù)據(jù)格式復(fù)雜、容量巨大,數(shù)據(jù)處理過程不僅繁復(fù),而且需要較強(qiáng)專業(yè)技術(shù)作為支撐。因此遙感數(shù)據(jù)自動化、智能化處理一直都是遙感行業(yè)研究的熱點(diǎn)和迫切的需求。近年來,基于B/S 架構(gòu)的遙感數(shù)據(jù)處理系統(tǒng)逐步開始在各領(lǐng)域開展應(yīng)用,通過商業(yè)軟件或自主開發(fā)等模式,實(shí)現(xiàn)了數(shù)據(jù)批量處理、專題產(chǎn)品自動生產(chǎn)、要素智能分析等功能,并實(shí)現(xiàn)了與地理信息系統(tǒng)、數(shù)據(jù)管理系統(tǒng)的整合[4-10],極大的提升了遙感技術(shù)的應(yīng)用效率和自動化程度。
利用遙感影像開展研究,數(shù)據(jù)預(yù)處理不僅是必要過程,其質(zhì)量也直接影響到后續(xù)工作的效果。而由于遙感地質(zhì)工作的特殊性,通常需要對大批量、大范圍的數(shù)據(jù)進(jìn)行分析,以獲取其成礦特征。例如,利用機(jī)載平臺進(jìn)行高光譜數(shù)據(jù)采集,單次飛行作業(yè)后即需要對數(shù)十條航帶的影像進(jìn)行幾何校正、大氣校正、鑲嵌等處理,具有較強(qiáng)的機(jī)械性和重復(fù)性。相對于航空或航天成像光譜,地面成像光譜儀在小范圍礦床尺度的蝕變精細(xì)識別方面更具優(yōu)勢,通過對鉆孔巖心的成像光譜測量,能夠直接應(yīng)用于深部探測,在熱液型鈾礦深部勘探中具有很大潛力。而在鉆孔巖心高光譜掃描工作中,任務(wù)量常以“萬米”為單位來計(jì)算,在當(dāng)前的工作方式中,需要逐一對各箱巖心進(jìn)行裁切和礦物提取,耗時(shí)巨大,隨著“相山深鉆”等項(xiàng)目的開展,鉆孔數(shù)量和鉆孔深度的迅速增加,當(dāng)前以單機(jī)為主的數(shù)據(jù)處理方法顯得愈發(fā)不適應(yīng)科研需求。
開展遙感數(shù)據(jù)批處理技術(shù)研究的意義和目的就在于最大化的利用現(xiàn)有的軟硬件資源,將技術(shù)人員從大量的重復(fù)操作中解放出來,更專注于特征提取、成礦分析等專業(yè)性更強(qiáng)的研究工作。
綜上所述,本次研究定位于優(yōu)先解決鈾礦資源勘查、遙感地質(zhì)找礦工作中,數(shù)據(jù)預(yù)處理效率偏低、過度依賴人工等問題,詳細(xì)梳理預(yù)處理功能中涉及的數(shù)據(jù)源、參數(shù)、流程等內(nèi)容,設(shè)計(jì)高效合理的數(shù)據(jù)處理方法,依托高性能計(jì)算集群、超融合存儲以及服務(wù)器等信息化設(shè)備,建立海量遙感數(shù)據(jù)的批量化處理平臺,實(shí)現(xiàn)企業(yè)級的遙感數(shù)據(jù)批處理服務(wù),提升鈾資源勘查等工作中遙感技術(shù)應(yīng)用的效率。
批處理平臺的總體設(shè)計(jì)原則是基于應(yīng)用需求,支持主流遙感數(shù)據(jù)源,易于使用、管理與維護(hù),具有良好的運(yùn)行和響應(yīng)速度,符合技術(shù)發(fā)展方向,并在系統(tǒng)構(gòu)架、應(yīng)用技術(shù)、選用平臺方面具有較好的開放性、規(guī)范性。此外考慮到批處理平臺建設(shè)是一個(gè)循序漸進(jìn)、不斷擴(kuò)充的過程,因此系統(tǒng)應(yīng)采用組件化設(shè)計(jì),整體構(gòu)架須考慮系統(tǒng)間的無縫連接,為系統(tǒng)擴(kuò)展和升級留有余量。
批處理平臺的總體架構(gòu)采用模塊化設(shè)計(jì),采用面向?qū)ο蠛兔嫦蚍?wù)的思想,建立基于可視化軟件支撐的業(yè)務(wù)應(yīng)用系統(tǒng)。先進(jìn)技術(shù)和成熟技術(shù)有機(jī)結(jié)合,強(qiáng)調(diào)可靠性和業(yè)務(wù)化運(yùn)行能力,注重系統(tǒng)的適應(yīng)性和擴(kuò)展性,系統(tǒng)總體框架從邏輯上可劃分為:基礎(chǔ)設(shè)施層、數(shù)據(jù)層、服務(wù)層、應(yīng)用層4 個(gè)部分,以及標(biāo)準(zhǔn)規(guī)范體系、管理規(guī)定兩大支撐(圖1)。
圖1 批處理平臺總體框架Fig.1 Framework of the batch processing platform
1)基礎(chǔ)設(shè)施層:依托各種軟件和硬件資源為平臺提供穩(wěn)定的基礎(chǔ)環(huán)境支撐,包括但不限于服務(wù)器、計(jì)算集群環(huán)境等。
2)數(shù)據(jù)資源層:管理遙感影像數(shù)據(jù)和輔助空間數(shù)據(jù),以本地文件系統(tǒng)中存儲柵格文件的方式為主,并支持外部在線數(shù)據(jù)服務(wù)。平臺數(shù)據(jù)主要包含遙感數(shù)據(jù)、底圖、數(shù)字高程模型、參考影像、控制點(diǎn)等,以數(shù)據(jù)目錄的方式為系統(tǒng)提供數(shù)據(jù)支撐。
3)服務(wù)層:系統(tǒng)的關(guān)鍵組成部分,采用面向?qū)ο笈c服務(wù)的架構(gòu),將遙感影像預(yù)處理功能發(fā)布為服務(wù),提供高性能計(jì)算服務(wù)和網(wǎng)絡(luò)服務(wù),用于網(wǎng)頁客戶端的構(gòu)建。
4)應(yīng)用層:搭建基于B/S 架構(gòu)的網(wǎng)頁端應(yīng)用作為用戶接口,提供平臺管理、任務(wù)發(fā)布、任務(wù)管理等功能。
系統(tǒng)業(yè)務(wù)流程設(shè)計(jì)是從用戶和數(shù)據(jù)流的角度,對功能模塊的輸入、處理至輸出的流程進(jìn)行設(shè)計(jì)(圖2)。系統(tǒng)流程應(yīng)滿足鈾礦地質(zhì)遙感數(shù)據(jù)預(yù)處理需求,適用于不同類型數(shù)據(jù),并參照主流的互聯(lián)網(wǎng)用戶界面設(shè)計(jì)思路,充分考慮使用人員的操作習(xí)慣,易于使用和維護(hù)。
圖2 批處理平臺總體業(yè)務(wù)流程Fig.2 Overall process flow of the batch processing platform
由于批處理平臺采用B/S 構(gòu)架,用戶通過網(wǎng)頁應(yīng)用與后臺進(jìn)行交互,因此總體業(yè)務(wù)流程實(shí)質(zhì)是用戶和服務(wù)器之間的數(shù)據(jù)交換。根據(jù)需求分析和用戶調(diào)研,批處理平臺的業(yè)務(wù)流程設(shè)計(jì)如下:
用戶使用瀏覽器登錄批處理平臺主頁后,首先選取所需的功能模塊,然后從存儲目錄中選擇相應(yīng)的數(shù)據(jù),如影像數(shù)據(jù)、矢量數(shù)據(jù)等,進(jìn)而在功能參數(shù)面板上設(shè)置參數(shù),并提交任務(wù)處理請求。當(dāng)服務(wù)器收到客戶端請求后,讀取相應(yīng)數(shù)據(jù)并調(diào)用功能服務(wù)接口進(jìn)行處理,將任務(wù)進(jìn)度實(shí)時(shí)顯示到網(wǎng)頁上,任務(wù)完成后網(wǎng)頁端可以預(yù)覽并下載處理結(jié)果。
批處理的任務(wù)記錄將提交數(shù)據(jù)庫,結(jié)果文件輸出到存儲空間。用戶可在前端網(wǎng)頁應(yīng)用上對結(jié)果進(jìn)行交互操作,通過任務(wù)名稱、運(yùn)行狀況、運(yùn)行時(shí)間等條件查詢歷史任務(wù),對檢索結(jié)果進(jìn)行瀏覽、下載、刪除等操作。
根據(jù)系統(tǒng)設(shè)計(jì),批處理平臺應(yīng)具備良好的穩(wěn)定性和擴(kuò)展性,對解決方案的先進(jìn)性和成熟度都提出了較高要求。因此在解決方案中,批處理平臺的系統(tǒng)實(shí)現(xiàn)以成熟的遙感技術(shù)作為保障,以先進(jìn)的軟件平臺作為支撐,采用面向?qū)ο蟮拈_發(fā)方式。系統(tǒng)實(shí)現(xiàn)過程中采用了以成熟遙感模型為基礎(chǔ)、面向服務(wù)的平臺架構(gòu)以及企業(yè)級遙感服務(wù)的思路,以此兼顧系統(tǒng)的成熟與先進(jìn)。主要依賴的開發(fā)環(huán)境與工具如表1所示。
表1 主要開發(fā)環(huán)境與工具Table 1 Development environment and tools
1)面向服務(wù)的平臺架構(gòu)
面向服務(wù)是基于開放的Internet 標(biāo)準(zhǔn)和協(xié)議、支持對應(yīng)用程序或應(yīng)用程序組件進(jìn)行描述、發(fā)布、發(fā)現(xiàn)和使用的一種應(yīng)用架構(gòu)。支持將可重用的數(shù)據(jù)和應(yīng)用作為服務(wù)或功能進(jìn)行集成,并可以在需要時(shí)通過網(wǎng)絡(luò)訪問這些服務(wù)或功能,網(wǎng)絡(luò)完全包含在平臺局域網(wǎng)內(nèi)。
本次研究搭建的遙感數(shù)據(jù)批處理系統(tǒng)基于面向服務(wù)架構(gòu)、采用網(wǎng)絡(luò)服務(wù),易與其他采用網(wǎng)絡(luò)服務(wù)的系統(tǒng)進(jìn)行集成。例如,利用熱紅外波段進(jìn)行溫度反演,需要從其他系統(tǒng)獲取相應(yīng)時(shí)段的太陽總輻射、大氣透過率、空氣溫度等參數(shù),批處理平臺可以通過Rest 接口與對應(yīng)系統(tǒng)連接并獲取數(shù)據(jù)。此外,利用面向服務(wù)的架構(gòu)也易于與遙感數(shù)據(jù)存儲系統(tǒng)、專題制圖系統(tǒng)等整合,為形成一體化的遙感應(yīng)用系統(tǒng)提供開放接口。
2)基于專業(yè)遙感模型
在本次工作中對遙感圖像的處理功能實(shí)現(xiàn)均基于IDL 語言編程開發(fā)實(shí)現(xiàn)。在批處理平臺的后端,采用ENVI/IDL 的數(shù)據(jù)處理接口進(jìn)行二次開發(fā)。ENVI/IDL 提供了兩百多個(gè)圖像分析功能,可以快速構(gòu)建專業(yè)的遙感業(yè)務(wù)化應(yīng)用模型,降低開發(fā)風(fēng)險(xiǎn),縮短開發(fā)周期。
在開發(fā)過程中,根據(jù)輸入數(shù)據(jù)的格式和處理需求,設(shè)計(jì)合理的功能流程,即可較便捷完成批處理功能模塊的開發(fā)。本平臺結(jié)合應(yīng)用需求和影像種類多的特點(diǎn),以成熟、專業(yè)的遙感模型為基礎(chǔ),開發(fā)了大氣校正、幾何校正、正射校正、圖像配準(zhǔn)、鑲嵌裁剪等遙感處理算法。
3)企業(yè)級遙感服務(wù)
傳統(tǒng)遙感應(yīng)用模式以桌面遙感圖像處理軟件為主,效率較低且不便于成果的共享與分發(fā)。隨著網(wǎng)絡(luò)服務(wù)技術(shù)的成熟,可以實(shí)現(xiàn)將專業(yè)的遙感影像處理與分析功能、業(yè)務(wù)分析模型和影像數(shù)據(jù)部署在服務(wù)器端,并以網(wǎng)絡(luò)服務(wù)的形式發(fā)布,客戶端只需要用網(wǎng)絡(luò)瀏覽器就可以按需獲取影像處理結(jié)果,實(shí)現(xiàn)企業(yè)級的遙感服務(wù)。本次研究將所需的遙感處理以服務(wù)的方式進(jìn)行提供,用戶通過網(wǎng)頁端等按需獲取并充分利用服務(wù)器的計(jì)算能力,實(shí)現(xiàn)海量遙感圖像批量處理。
基于最大化利用現(xiàn)有資源以及從平臺技術(shù)成熟度的角度出發(fā),本系統(tǒng)選擇基于ESE(ENVI Service Engine)作為企業(yè)級遙感二次開發(fā)平臺。通過ESE 可以組織、創(chuàng)建及發(fā)布ENVI/IDL 圖像分析功能,并部署于集群環(huán)境和服務(wù)器中。構(gòu)建B/S 結(jié)構(gòu)的遙感應(yīng)用系統(tǒng),以服務(wù)的方式將單個(gè)資源上部署的圖像分析功能傳遞給多個(gè)平臺。提供即拿即用的遙感服務(wù),用戶通過網(wǎng)頁瀏覽器對影像進(jìn)行復(fù)雜的、耗費(fèi)資源的運(yùn)算,可以隨時(shí)獲取影像空間數(shù)據(jù)和信息。
批處理遙感平臺基于B/S 架構(gòu),批處理功能模塊部署于后臺服務(wù)器中,用戶利用前端網(wǎng)頁應(yīng)用與后臺處理服務(wù)進(jìn)行交互。根據(jù)系統(tǒng)設(shè)計(jì),前端提供任務(wù)發(fā)布、任務(wù)管理、圖層管理、結(jié)果展示等功能,批處理平臺的網(wǎng)頁前端主界面如圖3 所示。
前端網(wǎng)頁應(yīng)用開發(fā)首先需明確用戶界面的功能設(shè)置和結(jié)構(gòu)布局,首先基于Vue 框架構(gòu)建了用戶界面的漸進(jìn)式框架,易于用戶交互;再利用Webpack 模塊對編碼的JavaScript 文件進(jìn)行打包,以便在瀏覽器中使用。采用了輕量級的Leaflet 地圖服務(wù)作為中間件,支持圖層管理和基本的空間查詢功能,并保留了與ArcGIS Server 或QGIS Server 等大型中間件服務(wù)器集成的接口,形成良好的兼容性和可操作性,易于多平臺應(yīng)用。
批處理平臺選用了輕型的關(guān)系型數(shù)據(jù)庫系統(tǒng)MySQL 作為數(shù)據(jù)庫,用于存放用戶檔案、任務(wù)記錄等非空間數(shù)據(jù)(表2)。數(shù)據(jù)的標(biāo)準(zhǔn)化采用了Third Normal Form(3NF)標(biāo)準(zhǔn),單個(gè)表只包括其本身基本的屬性,當(dāng)不是他們本身所具有的屬性時(shí)需進(jìn)行分解,表之間的關(guān)系通過外鍵相連接。平臺內(nèi)的任務(wù)實(shí)時(shí)消息則采用ESE內(nèi)置的Redis 內(nèi)存數(shù)據(jù)庫進(jìn)行管理。而遙感數(shù)據(jù)由于容量大、格式復(fù)雜,采用文件管理的方式直接存儲。通過以上配置使平臺在性能、擴(kuò)展性和數(shù)據(jù)完整性方面達(dá)到最佳平衡。
表2 數(shù)據(jù)庫任務(wù)記錄表(部分)Table 2 Task record table of Database (part)
批處理算法開發(fā)的主要工作量包括對多源數(shù)據(jù)的解析和算法功能實(shí)現(xiàn)兩部分。由于批處理業(yè)務(wù)中涉及的傳感器包括星載、機(jī)載及地面成像光譜儀等多種類型,對應(yīng)的數(shù)據(jù)實(shí)體和頭文件不僅格式多樣而且內(nèi)容復(fù)雜。得益于ESE 平臺的高度專業(yè)化和成熟性,主流的遙感數(shù)據(jù)可以直接調(diào)用ESE 的接口進(jìn)行數(shù)據(jù)讀取和參數(shù)解析,而CASI、SASI 等傳感器的數(shù)據(jù)則需自編碼從元數(shù)據(jù)中獲取成像參數(shù)。
算法功能實(shí)現(xiàn)則是在獲取成像參數(shù)的基礎(chǔ)上,厘清各項(xiàng)功能的數(shù)據(jù)支持、輸入?yún)?shù)、中間參數(shù)以及處理過程、輸出格式等,根據(jù)不同功能模塊的執(zhí)行原理,研究設(shè)計(jì)合理的算法數(shù)據(jù)結(jié)構(gòu)和運(yùn)行邏輯。
本次工作基于成熟穩(wěn)定的原則,在算法設(shè)計(jì)上主要參照ENVI 系列軟件的處理流程,對各項(xiàng)功能所需的輸入?yún)?shù)、輔助數(shù)據(jù)等進(jìn)行設(shè)計(jì)和規(guī)定,進(jìn)而基于IDL 語言編碼實(shí)現(xiàn),并打包為功能模塊,按照算法的執(zhí)行流程,通過預(yù)留的接口進(jìn)行調(diào)用(表3,圖4)。由于大量處理功能具有共通性,因此在編碼過程中應(yīng)協(xié)調(diào)不同功能模塊之間的共用代碼,以提高代碼的質(zhì)量和模塊的復(fù)用率。
圖4 發(fā)射率計(jì)算模塊流程邏輯Fig.4 Processing flow of the emissivity calculation module
表3 發(fā)射率計(jì)算輸入?yún)?shù)實(shí)例Table 3 Input parameters for emissivity calculation
得益于系統(tǒng)的模塊化設(shè)計(jì),當(dāng)功能模塊開發(fā)完成后,將其封裝為一個(gè)Restful 服務(wù)并部署到ESE 服務(wù)器上,運(yùn)行于Node.JS 環(huán)境中,以微服務(wù)形式進(jìn)行集成。系統(tǒng)安裝完成后,這些發(fā)布的遙感功能服務(wù)和數(shù)據(jù)服務(wù)在前端以網(wǎng)絡(luò)應(yīng)用程序的形式被獲取。處理完成后的數(shù)據(jù)以HTTP 的方式進(jìn)行輸出和共享,供用戶和中間件在前端網(wǎng)頁應(yīng)用中調(diào)用。
開發(fā)完成后批處理平臺整體部署于高性能服務(wù)器和超融合存儲之上,數(shù)據(jù)讀寫速度快,系統(tǒng)運(yùn)行效率高,用戶通過前端網(wǎng)頁進(jìn)行操作,界面美觀、易于使用。適用于衛(wèi)星、航空、地面等多源遙感數(shù)據(jù)的批量化自動處理,提供遙感地質(zhì)常用的配準(zhǔn)、裁切、輻射定標(biāo)、大氣校正、反射率計(jì)算等20 多項(xiàng)功能(表4)。
表4 批處理平臺主要數(shù)據(jù)與功能支持Table 4 Data and function support of the batch processing platform
批處理平臺支持Hyspex系列、CASI系列以及高分系列等國內(nèi)外主流遙感數(shù)據(jù)。經(jīng)測試,單批次可處理50景(約80 GB)以上遙感影像。目前已在“相山科學(xué)深鉆巖心高光譜編錄研究”等項(xiàng)目開展了測試與應(yīng)用,用于巖心掃描影像處理,相較于傳統(tǒng)的單機(jī)處理模式,批處理平臺的自動化程度、處理速度都有了極大提升。相較于主流配置的PC 主機(jī)(I7 處理器,8 GB 內(nèi)存、機(jī)械硬盤),單幅影像的平均處理時(shí)間減少50%以上(表5)。
表5 批處理平臺運(yùn)行速度對比Table 5 Comparison between batch processing platform and PC
此外本項(xiàng)目還應(yīng)用于龍騰二期項(xiàng)目“南方重點(diǎn)花崗巖型鈾礦基地遙感解譯”,對4 個(gè)鉆孔的巖心高光譜掃描影像進(jìn)行了經(jīng)驗(yàn)線性法校正,并完成了蝕變礦物提取后的巖心裁切,累計(jì)深度超過2 000 m。處理完成了巖心的可見光-近紅外、短波紅外的高光譜掃描影像超過1 000 幅,原始總數(shù)據(jù)量超過1.3 TB。可以有效提升遙感地質(zhì)、環(huán)境監(jiān)測等研究工作的效率和質(zhì)量。
本文針對鈾礦地質(zhì)勘查工作中遙感數(shù)據(jù)預(yù)處理工作效率低、大量依賴人工等問題,從需求分析、頂層設(shè)計(jì)以及算法開發(fā)實(shí)現(xiàn)等方面開展研究,采用成熟技術(shù)模塊化開發(fā),建成了海量數(shù)據(jù)批處理應(yīng)用平臺,具有架構(gòu)穩(wěn)定、可擴(kuò)展性強(qiáng)等優(yōu)點(diǎn)??捎行嵘龜?shù)據(jù)處理速度和自動化程度,并可拓展應(yīng)用于生態(tài)環(huán)境監(jiān)測、設(shè)施變化檢測等數(shù)據(jù)處理量較大的遙感應(yīng)用中。批處理平臺具有良好的可擴(kuò)展性和升級空間,在后續(xù)工作中擬進(jìn)一步加強(qiáng)平臺標(biāo)準(zhǔn)化建設(shè),完成與數(shù)據(jù)存儲系統(tǒng)、管理系統(tǒng)的集成,實(shí)現(xiàn)遙感數(shù)據(jù)獲取、處理以及專題制圖的流程化應(yīng)用,以便更好地服務(wù)于鈾礦地質(zhì)找礦事業(yè)。