摘 要:【目的】为提高非天然地震信息专报产出效率、简化流程,构建了地震事件多元自动识别模型。【方法】基于支持向量机OvO方法研发事件类型多元自动识别模块,并采用可视化编程开发非天然地震信息专报自动产出系统。【结果】该系统的应用提高了非天然地震监测的自动化、智能化水平,实现非天然地震信息可视化显示及专报快速、准确的自动化产出。【结论】非天然地震信息专报自动产出系统能快速识别事件类型、产出信息专报,为影响非天然地震的快速应急响应提供技术支撑,极大地提高工作效率。
关键词:自动识别;自动产出;信息专报
中图分类号:P315" " " 文献标志码:A" " "文章编号:1003-5168(2024)14-0036-05
DOI:10.19968/j.cnki.hnkj.1003-5168.2024.14.007
Design and Implementation of Automatic Output System for Special Report of Non-Natural Earthquake Information
Abstract:[Purposes] In order to improve the output efficiency and simplify the process of special report of non-natural seismic information, a multivariate automatic identification model of seismic events is constructed. [Methods] Based on the support vector machine OVO method, an automatic recognition module of event types is developed, and an automatic output system of non-natural earthquake information special report is developed by visual programming. [Findings] The application of the system improves the level of automation and intelligence of on-natural earthquake monitoring, and realizes the fast and accurate automatic output of on-natural earthquake information visualization display and special report.[Conclusions] The automatic output system of special report of non-natural earthquake information can quickly identify the type of event and special report of output information.
Keywords:automatic identification; automatic output; information special report
0 引言
对工业爆破、化学品爆炸、核爆炸、塌陷及矿山地质灾害和油气开采诱发地震等各种类型非天然地震的监测分析,是维护国家安全、社会秩序、安全生产和应急管理的重大需求。当前,我国工业化规模全球领先,但各类工业危化品爆炸、煤矿瓦斯爆炸和非煤矿山坍塌等安全生产事故频发。2015年8月12日天津市滨海新区化学品爆炸,造成的损失惨重;2019年3月21日江苏省盐城市响水县陈家港镇天嘉宜化工有限公司化学储罐发生爆炸事故,造成重大人员伤亡[1]。对上述事件的监测分析、快速响应、服务应急和处置决策,成为防范重大风险、确保社会经济协调发展的重要挑战。
中国地震台网中心(2020-35号文)要求各省级台网30分钟内产出非天然地震信息专报,对非天然地震自动识别提出新的需求,要求实现对非天然地震类型的快速识别和事件特征信息专报的快速产出。目前,福建台网非天然地震信息专报产出方式为人工识别事件类型并人工进行编辑,这种方式产出速度慢、效率低。当前数字化信息建设日益完善,依托先进编程、WebGIS、数据库、实时融合等技术,实现定制需求,甚至自动产出在很大程度上都能够实现[2]。可以利用计算机软件等技术实现地震应急和科技产品由人工向自动化的转变,提高信息化水平和工作效率,争取更多的地震应急时间。例如,崔满丰等[3]基于地震网站管理信息系统,实现平台各个功能模块应急信息的快速发布;徐年等[4]通过截取屏幕进行监控对比,实现地震应急平台电子传真报警;张博[5]基于Matlab自动产出地震会商资料。因此,开展非天然地震自动识别技术的研究,研发信息专报自动产出软件,提高信息专报产出自动化程度,可以为非天然地震的快速应急响应争取更多时间。
1 系统设计
本研究设计的软件系统采用Windows操作系统,软件界面开发语言为VB,软件功能模块采用Python、Matlab实现。以VB为可视化界面,利用Matlab绘图和Python人工智能优势,基于支持向量机OvO方法,研发事件类型多元自动识别模块,实现天然地震、爆破、塌陷事件类型的自动识别,并自动产出非天然地震事件的震中分布图、台站分布图、波形分析图和事件的特征信息。基于产出事件类型结果、各类图件及定位结果参数,实现非天然地震信息可视化显示并自动生成规范要求的非天然地震信息专报,实现信息专报快速准确的自动化产出。信息专报自动产出系统功能结构如图1所示。整个系统由3个功能模块组成,自动识别模块、图件产出模块、信息专报产出模块。
①自动识别模块:基于支持向量机OvO方法,研发事件类型多元自动识别模块,实现天然地震、爆破、塌陷、矿震事件类型的自动识别及结果的自动产出。
②图件产出模块:非天然地震事件的震中分布图、台站分布图、波形分析图自动产出,并根据事件类型结果产出相应事件特征信息。
③专报产出模块:根据产出的各类图件、事件特征信息、结果参数,自动产出符合规范要求的非天然地震专报,并将产出的非天然地震专报上传至中国地震局指定的电子邮箱。
2 系统实现
2.1 关键技术—混合编程
混合编程可以充分利用各种程序设计语言的优势,其关键问题是参数传递。而VB提供了非常方便的“所见即所得”的界面方法,Python具有强大的人工智能优势。使用COM组件,让VB的界面与Python的功能联系在一起。COM组件服务是提供一种独立于平台与编程语言之外的,共享二进制代码的方法。COM组件可以让不同的编程语言之间互相通信,直接运行Python示例代码即为注册COM组件。
Matlab计算和绘图功能强大,并且有良好的扩展性,但是Matlab的界面功能较差。VB在设计开发Windows应用程序方面界面友好、方便快捷、容易上手。在程序开发过程中如果能集成VB和Matlab各自的优点,数值计算、图形处理、显示由Matlab来完成,而用VB语言实现界面设计,并对计算结果和图形进行可视化处理,这样将极大地降低编程难度,更好地实现了人机交互[6]。在本研究设计的系统中,VB与Matlab混合编程的具体实现是将Matlab语言编写的台站分布图绘制M文件MainoutputSeisPic.m编译成可独立运行的MainoutputSeisPic.exe文件,在VB代码中调用执行。调用执行示例代码。
Call Shell(“Path\MainoutputSeisPic.exe”,vbNormalNoFocus)
2.2 系统界面
系统软件的界面设计应简洁友好、操作简单、快捷方便。功能键位于主界面左侧,有自动识别、图件产出、专报初报、专报报告、无波形专报、专报上传等功能。主界面右侧用于显示非天然地震事件的参数,如发震时间、经纬度、震级、深度、震中地点、事件类型、信息专报期数及编辑人输入框。界面中部为非天然地震信息可视化展示区域,显示震中分布图、信息专报、事件波形图。
2.3 自动识别模块
事件的自动识别算法主要有神经网络和支持向量机。支持向量机在解决小样本、非线性及高维模式识别中表现出许多特有的优势,并能够推广应用到函数拟合等其他机器学习的问题中[7]。本研究在基于支持向量机事件类型自动识别模块的基础上[8],采用支持向量机OvO方法构建事件类型多元自动识别模型和研发事件类型多元自动识别模块,以实现天然地震、爆破、塌陷事件类型的多元自动识别。
自动识别模型训练集中907个为天然地震,2 346个为人工爆破,50个为塌陷;测试样本200个为天然地震,200个为人工爆破,50个为塌陷。由于福建台网对录到塌陷特殊地震极少,训练及测试集100个塌陷事件,其中97个为陕西塌陷事件。自动识别模型分类测试结果见表1。由表1可知,三类事件测试准确率均达到90 %以上,其中天然地震识别准确率92.5 %;爆破识别准确率93.5 %;塌陷识别准确率92.0 %;平均识别率达92.7 %,说明自动识别模型具有事件类型多元识别的能力。
自动识别模块与系统接口实现:读取事件波形并判识,调用自动识别模块,给出非天然地震事件类型信息及事件的特征信息,类型结果可明确给出爆破、塌陷,并根据事件类型给出相应事件的特征信息。对事件类型识别算法和模型进行封装,并提供通用接口,系统客户端程序对自动识别模块进行调用。需要说明的是:由于自动识别模块无法达到百分之百正确,为保证信息专报产出的正确性,信息专报产出事件类型结果最终须人工进行确认后,方可上传。
2.4 图件产出模块
读取事件波形及人工定位结果Phase震相文件,自动生成非天然地震事件的震中分布图、台站分布图、波形分析图。震中分布图:采用Python+Folium实现非天然地震事件的震中可示化显示及震中分布图生成。Folium是建立在Python生态系统的数据整理Datawrangling能力和Leaflet.js库的映射能力之上的开源库。Folium相比较于国内百度的Pyecharts灵活性更强,能够自定义绘制区域,并且展现形式更加多样化。利用Python处理数据后,通过Folium将处理结果在Leaflet地图上进行可视化显示。生成图例如图2所示。
台站分布图:从Phase震相文件中获取记录台站、震中距、最近台站,并计算出震中至周边城市距离、距震中50 km以内城市等专报所需信息,绘制台站分布图并标注相关信息。生成图例如图3所示。
2.5 专报产出和上传模块
2.5.1 专报产出。基于自动产出的事件类型、震中分布图、事件的特征信息及事件定位结果参数导入预设的非天然地震专报模板,产出规范要求的非天然地震信息专报并按格式要求命名文件。实现方法:采用VB操作Word,对预设的非天然地震专报word模板进行自动化操作,如字符替换、修改等。Visual Basic支持一个对象集合,该集合中的对象直接对应于Microsoft Word中的元素。Documen对象代表了一个打开的文档,Bookmark对象代表了一个文档中的书签,而Selection对象则代表了在一个文档窗口窗格中的选定内容[10]。Visual Basic调用Microsoft Word,可实现对Word中每一类元素,如文档、表格、段落、书签、域进行操作。若要使Word能被另一个应用程序所使用,需创建对Word类型库的一个引用。在代码中声明引用Word Application对象变量,并打开专报模板,进行相关操作。
2.5.2 专报上传。信息专报生成后,需上传相关部门的FTP文件。为实现FTP文件上传功能,需要用到Python库的FTPLIB模块。FTPLIB模块可以通过FTP协议,管理所有隐含的套接字和消息级握手。
3 系统应用
信息专报自动产出系统开发完成后需要对系统进行测试,主要测试内容为对系统各项功能进行确认和对信息专报产出正确性进行验证。测试结果为:专报产出完整正确,各项功能均能正常操作,达到预期功能效果。系统于2022年9月安装部署使用,系统应用情况良好。模拟测试示例:2022年9月2日福建龙岩发生1.3级非天然地震事件(爆破),事件类型自动识别结果正确,自动快速产出信息专报,并以规范要求的文件名命名保存。产出结果如图4所示。
4 结语
随着地震观测台站数量的逐渐增加及非天然地震实时监测与应急响应等业务工作的不断发展,通过科技创新,提高非天然地震监测的自动化、智能化水平已成为必然趋势。本研究设计开发的非天然地震信息专报自动产出系统,实现了信息专报快速、准确地自动化产出。该系统主要功能为:实现天然地震、爆破、塌陷等事件类型的自动识别;自动产出非天然地震事件的震中分布图、台站分布图、波形分析图和事件的特征信息;具有非天然地震信息可视化显示功能,自动生成规范要求的非天然地震信息专报并上传FTP。目前,系统已应用在我局日常速报值班工作,且运行良好。该系统可以在非天然地震事件发生后的第一时间内快速识别、产出信息专报,为影响非天然地震的快速应急响应提供技术支撑,极大地提高了工作效率。
参考文献
[1]文成林,吕菲亚.基于深度学习的故障诊断方法综述[J].电子与信息学报期刊,2020,42(1):234-248.
[2]洪旭瑜,林苗禄,关玉梅,等.地震应急自动触发计算产出历史地震活动性资料及前兆观测信息的研究[J].华南地震,2020,40(4):42-48.
[3]崔满丰,项楠.地震应急微直播信息平台技术及应用[J].地震地磁观测与研究,2020(1):142-147.
[4]徐年,陆文静,何奕成,等.地震应急平台电子传真报警处理系统设计与实现[J].华南地震,2021(4):80-84.
[5]张博.基于MATLAB的地震会商资料自动产出系统[J].国际地震动态,2017(8):103-104.
[6]潘晓霞,李居峰,杨三华.Matlab与VB的接口编程及在测漏仪中的应用[J].机械设计与制造,2008(2):67-69.
[7]白艳红.基于视频的车型识别技术研究[D].兰州:兰州理工大学,2009.
[8]蔡杏辉,廖诗荣,张燕明,等.基于支持向量机的地震事件类型自动识别及应用[J].华南地震,2021,41(2):27-35.
[9]何字键.Python与机器学习实战[M].北京:电子工业出版社,2017.
[10]于宝宏.VB面向Word编程在“科技研发项目录入系统”软件中的应用[J].铁道建筑技术,2005(3):76-78.