刘原麟,陆剑予,赵永安,陆冬华
(1.遥感信息与图像分析技术国家级重点实验室,北京 100029;2.核工业北京地质研究院,北京 100029)
铀矿是重要的战略资源,在社会经济和国防军事中发挥着重要作用。利用高光谱遥感技术开展蚀变矿物分析是铀地质勘查工作的常用手段之一,通常基于星载(机载)高光谱遥感影像或岩心高光谱扫描数据开展研究,通过识别和分析铀矿化蚀变矿物组合的光谱特征,可以指导找矿工作[1-3]。
由于遥感数据格式复杂、容量巨大,数据处理过程不仅繁复,而且需要较强专业技术作为支撑。因此遥感数据自动化、智能化处理一直都是遥感行业研究的热点和迫切的需求。近年来,基于B/S 架构的遥感数据处理系统逐步开始在各领域开展应用,通过商业软件或自主开发等模式,实现了数据批量处理、专题产品自动生产、要素智能分析等功能,并实现了与地理信息系统、数据管理系统的整合[4-10],极大的提升了遥感技术的应用效率和自动化程度。
利用遥感影像开展研究,数据预处理不仅是必要过程,其质量也直接影响到后续工作的效果。而由于遥感地质工作的特殊性,通常需要对大批量、大范围的数据进行分析,以获取其成矿特征。例如,利用机载平台进行高光谱数据采集,单次飞行作业后即需要对数十条航带的影像进行几何校正、大气校正、镶嵌等处理,具有较强的机械性和重复性。相对于航空或航天成像光谱,地面成像光谱仪在小范围矿床尺度的蚀变精细识别方面更具优势,通过对钻孔岩心的成像光谱测量,能够直接应用于深部探测,在热液型铀矿深部勘探中具有很大潜力。而在钻孔岩心高光谱扫描工作中,任务量常以“万米”为单位来计算,在当前的工作方式中,需要逐一对各箱岩心进行裁切和矿物提取,耗时巨大,随着“相山深钻”等项目的开展,钻孔数量和钻孔深度的迅速增加,当前以单机为主的数据处理方法显得愈发不适应科研需求。
开展遥感数据批处理技术研究的意义和目的就在于最大化的利用现有的软硬件资源,将技术人员从大量的重复操作中解放出来,更专注于特征提取、成矿分析等专业性更强的研究工作。
综上所述,本次研究定位于优先解决铀矿资源勘查、遥感地质找矿工作中,数据预处理效率偏低、过度依赖人工等问题,详细梳理预处理功能中涉及的数据源、参数、流程等内容,设计高效合理的数据处理方法,依托高性能计算集群、超融合存储以及服务器等信息化设备,建立海量遥感数据的批量化处理平台,实现企业级的遥感数据批处理服务,提升铀资源勘查等工作中遥感技术应用的效率。
批处理平台的总体设计原则是基于应用需求,支持主流遥感数据源,易于使用、管理与维护,具有良好的运行和响应速度,符合技术发展方向,并在系统构架、应用技术、选用平台方面具有较好的开放性、规范性。此外考虑到批处理平台建设是一个循序渐进、不断扩充的过程,因此系统应采用组件化设计,整体构架须考虑系统间的无缝连接,为系统扩展和升级留有余量。
批处理平台的总体架构采用模块化设计,采用面向对象和面向服务的思想,建立基于可视化软件支撑的业务应用系统。先进技术和成熟技术有机结合,强调可靠性和业务化运行能力,注重系统的适应性和扩展性,系统总体框架从逻辑上可划分为:基础设施层、数据层、服务层、应用层4 个部分,以及标准规范体系、管理规定两大支撑(图1)。
图1 批处理平台总体框架Fig.1 Framework of the batch processing platform
1)基础设施层:依托各种软件和硬件资源为平台提供稳定的基础环境支撑,包括但不限于服务器、计算集群环境等。
2)数据资源层:管理遥感影像数据和辅助空间数据,以本地文件系统中存储栅格文件的方式为主,并支持外部在线数据服务。平台数据主要包含遥感数据、底图、数字高程模型、参考影像、控制点等,以数据目录的方式为系统提供数据支撑。
3)服务层:系统的关键组成部分,采用面向对象与服务的架构,将遥感影像预处理功能发布为服务,提供高性能计算服务和网络服务,用于网页客户端的构建。
4)应用层:搭建基于B/S 架构的网页端应用作为用户接口,提供平台管理、任务发布、任务管理等功能。
系统业务流程设计是从用户和数据流的角度,对功能模块的输入、处理至输出的流程进行设计(图2)。系统流程应满足铀矿地质遥感数据预处理需求,适用于不同类型数据,并参照主流的互联网用户界面设计思路,充分考虑使用人员的操作习惯,易于使用和维护。
图2 批处理平台总体业务流程Fig.2 Overall process flow of the batch processing platform
由于批处理平台采用B/S 构架,用户通过网页应用与后台进行交互,因此总体业务流程实质是用户和服务器之间的数据交换。根据需求分析和用户调研,批处理平台的业务流程设计如下:
用户使用浏览器登录批处理平台主页后,首先选取所需的功能模块,然后从存储目录中选择相应的数据,如影像数据、矢量数据等,进而在功能参数面板上设置参数,并提交任务处理请求。当服务器收到客户端请求后,读取相应数据并调用功能服务接口进行处理,将任务进度实时显示到网页上,任务完成后网页端可以预览并下载处理结果。
批处理的任务记录将提交数据库,结果文件输出到存储空间。用户可在前端网页应用上对结果进行交互操作,通过任务名称、运行状况、运行时间等条件查询历史任务,对检索结果进行浏览、下载、删除等操作。
根据系统设计,批处理平台应具备良好的稳定性和扩展性,对解决方案的先进性和成熟度都提出了较高要求。因此在解决方案中,批处理平台的系统实现以成熟的遥感技术作为保障,以先进的软件平台作为支撑,采用面向对象的开发方式。系统实现过程中采用了以成熟遥感模型为基础、面向服务的平台架构以及企业级遥感服务的思路,以此兼顾系统的成熟与先进。主要依赖的开发环境与工具如表1所示。
表1 主要开发环境与工具Table 1 Development environment and tools
1)面向服务的平台架构
面向服务是基于开放的Internet 标准和协议、支持对应用程序或应用程序组件进行描述、发布、发现和使用的一种应用架构。支持将可重用的数据和应用作为服务或功能进行集成,并可以在需要时通过网络访问这些服务或功能,网络完全包含在平台局域网内。
本次研究搭建的遥感数据批处理系统基于面向服务架构、采用网络服务,易与其他采用网络服务的系统进行集成。例如,利用热红外波段进行温度反演,需要从其他系统获取相应时段的太阳总辐射、大气透过率、空气温度等参数,批处理平台可以通过Rest 接口与对应系统连接并获取数据。此外,利用面向服务的架构也易于与遥感数据存储系统、专题制图系统等整合,为形成一体化的遥感应用系统提供开放接口。
2)基于专业遥感模型
在本次工作中对遥感图像的处理功能实现均基于IDL 语言编程开发实现。在批处理平台的后端,采用ENVI/IDL 的数据处理接口进行二次开发。ENVI/IDL 提供了两百多个图像分析功能,可以快速构建专业的遥感业务化应用模型,降低开发风险,缩短开发周期。
在开发过程中,根据输入数据的格式和处理需求,设计合理的功能流程,即可较便捷完成批处理功能模块的开发。本平台结合应用需求和影像种类多的特点,以成熟、专业的遥感模型为基础,开发了大气校正、几何校正、正射校正、图像配准、镶嵌裁剪等遥感处理算法。
3)企业级遥感服务
传统遥感应用模式以桌面遥感图像处理软件为主,效率较低且不便于成果的共享与分发。随着网络服务技术的成熟,可以实现将专业的遥感影像处理与分析功能、业务分析模型和影像数据部署在服务器端,并以网络服务的形式发布,客户端只需要用网络浏览器就可以按需获取影像处理结果,实现企业级的遥感服务。本次研究将所需的遥感处理以服务的方式进行提供,用户通过网页端等按需获取并充分利用服务器的计算能力,实现海量遥感图像批量处理。
基于最大化利用现有资源以及从平台技术成熟度的角度出发,本系统选择基于ESE(ENVI Service Engine)作为企业级遥感二次开发平台。通过ESE 可以组织、创建及发布ENVI/IDL 图像分析功能,并部署于集群环境和服务器中。构建B/S 结构的遥感应用系统,以服务的方式将单个资源上部署的图像分析功能传递给多个平台。提供即拿即用的遥感服务,用户通过网页浏览器对影像进行复杂的、耗费资源的运算,可以随时获取影像空间数据和信息。
批处理遥感平台基于B/S 架构,批处理功能模块部署于后台服务器中,用户利用前端网页应用与后台处理服务进行交互。根据系统设计,前端提供任务发布、任务管理、图层管理、结果展示等功能,批处理平台的网页前端主界面如图3 所示。
前端网页应用开发首先需明确用户界面的功能设置和结构布局,首先基于Vue 框架构建了用户界面的渐进式框架,易于用户交互;再利用Webpack 模块对编码的JavaScript 文件进行打包,以便在浏览器中使用。采用了轻量级的Leaflet 地图服务作为中间件,支持图层管理和基本的空间查询功能,并保留了与ArcGIS Server 或QGIS Server 等大型中间件服务器集成的接口,形成良好的兼容性和可操作性,易于多平台应用。
批处理平台选用了轻型的关系型数据库系统MySQL 作为数据库,用于存放用户档案、任务记录等非空间数据(表2)。数据的标准化采用了Third Normal Form(3NF)标准,单个表只包括其本身基本的属性,当不是他们本身所具有的属性时需进行分解,表之间的关系通过外键相连接。平台内的任务实时消息则采用ESE内置的Redis 内存数据库进行管理。而遥感数据由于容量大、格式复杂,采用文件管理的方式直接存储。通过以上配置使平台在性能、扩展性和数据完整性方面达到最佳平衡。
表2 数据库任务记录表(部分)Table 2 Task record table of Database (part)
批处理算法开发的主要工作量包括对多源数据的解析和算法功能实现两部分。由于批处理业务中涉及的传感器包括星载、机载及地面成像光谱仪等多种类型,对应的数据实体和头文件不仅格式多样而且内容复杂。得益于ESE 平台的高度专业化和成熟性,主流的遥感数据可以直接调用ESE 的接口进行数据读取和参数解析,而CASI、SASI 等传感器的数据则需自编码从元数据中获取成像参数。
算法功能实现则是在获取成像参数的基础上,厘清各项功能的数据支持、输入参数、中间参数以及处理过程、输出格式等,根据不同功能模块的执行原理,研究设计合理的算法数据结构和运行逻辑。
本次工作基于成熟稳定的原则,在算法设计上主要参照ENVI 系列软件的处理流程,对各项功能所需的输入参数、辅助数据等进行设计和规定,进而基于IDL 语言编码实现,并打包为功能模块,按照算法的执行流程,通过预留的接口进行调用(表3,图4)。由于大量处理功能具有共通性,因此在编码过程中应协调不同功能模块之间的共用代码,以提高代码的质量和模块的复用率。
图4 发射率计算模块流程逻辑Fig.4 Processing flow of the emissivity calculation module
表3 发射率计算输入参数实例Table 3 Input parameters for emissivity calculation
得益于系统的模块化设计,当功能模块开发完成后,将其封装为一个Restful 服务并部署到ESE 服务器上,运行于Node.JS 环境中,以微服务形式进行集成。系统安装完成后,这些发布的遥感功能服务和数据服务在前端以网络应用程序的形式被获取。处理完成后的数据以HTTP 的方式进行输出和共享,供用户和中间件在前端网页应用中调用。
开发完成后批处理平台整体部署于高性能服务器和超融合存储之上,数据读写速度快,系统运行效率高,用户通过前端网页进行操作,界面美观、易于使用。适用于卫星、航空、地面等多源遥感数据的批量化自动处理,提供遥感地质常用的配准、裁切、辐射定标、大气校正、反射率计算等20 多项功能(表4)。
表4 批处理平台主要数据与功能支持Table 4 Data and function support of the batch processing platform
批处理平台支持Hyspex系列、CASI系列以及高分系列等国内外主流遥感数据。经测试,单批次可处理50景(约80 GB)以上遥感影像。目前已在“相山科学深钻岩心高光谱编录研究”等项目开展了测试与应用,用于岩心扫描影像处理,相较于传统的单机处理模式,批处理平台的自动化程度、处理速度都有了极大提升。相较于主流配置的PC 主机(I7 处理器,8 GB 内存、机械硬盘),单幅影像的平均处理时间减少50%以上(表5)。
表5 批处理平台运行速度对比Table 5 Comparison between batch processing platform and PC
此外本项目还应用于龙腾二期项目“南方重点花岗岩型铀矿基地遥感解译”,对4 个钻孔的岩心高光谱扫描影像进行了经验线性法校正,并完成了蚀变矿物提取后的岩心裁切,累计深度超过2 000 m。处理完成了岩心的可见光-近红外、短波红外的高光谱扫描影像超过1 000 幅,原始总数据量超过1.3 TB。可以有效提升遥感地质、环境监测等研究工作的效率和质量。
本文针对铀矿地质勘查工作中遥感数据预处理工作效率低、大量依赖人工等问题,从需求分析、顶层设计以及算法开发实现等方面开展研究,采用成熟技术模块化开发,建成了海量数据批处理应用平台,具有架构稳定、可扩展性强等优点。可有效提升数据处理速度和自动化程度,并可拓展应用于生态环境监测、设施变化检测等数据处理量较大的遥感应用中。批处理平台具有良好的可扩展性和升级空间,在后续工作中拟进一步加强平台标准化建设,完成与数据存储系统、管理系统的集成,实现遥感数据获取、处理以及专题制图的流程化应用,以便更好地服务于铀矿地质找矿事业。