基金项目:“十三五”国家重点研发计划项目课题(2017YFC1500905)和中国地震局工程力学研究所基本科研业务费专项资助项目(2017QJGJ04)联合资助.
通讯作者:郭红梅(1984-),高级工程师,主要从事地震应急处置和地震灾情信息处理研究.E-mail:115453242@qq.com
(1.四川省地震局,四川 成都 610041; 2.武警警官学院,四川 成都 610213)
(1. Sichuan Earthquake Agency,Chengdu 610041,Sichuan,China)(2. College of Armed Police Officer,Chengdu 610213,Sichuan,China)
earthquake disaster image information; anomaly detection; SIFT; SVM; Lushan M7.0 earthquake as an example. The results show that the algorithm model has better detection effect on image information anomaly,it can further supply and improve the disaster in
通过分析以往震后获取的图像信息发现,部分信息存在与地震发生时间不吻合、不属于地震影响范围或与地震灾情无关等异常。通过将图像分类算法运用到震后灾情图像信息的异常检测中,提出了一种基于SIFT特征与SVM分类的地震灾情图像信息异常检测模型,以2013年芦山7.0级地震建筑物破坏灾情图像为例对模型进行验证。结果 表明:该模型对图像信息异常的检测效果较好,可进一步补充和完善地震应急救援的灾情信息源,为政府抗震救灾科学决策提供灾情信息支撑。
Through analyzing the image information obtained after the earthquake,we found that some of the information does not match the time of the earthquake,does not belong to the earthquake influence field or has nothing to do with the earthquake disaster. In this paper,we applied the image classification algorithm to the detection of post-earthquake disaster image information anomaly,and proposed an earthquake disaster image information anomaly detection model based on SIFT feature and SVM classification,and verified the model by taking the damage image of the Lushan M7.0 earthquake as an example. The results show that the algorithm model has better detection effect on image information anomaly,it can further supply and improve the disaster information source for earthquake emergency rescue,and provide disaster information support for the government's scientific decision-making for earthquake relief. Key words:earthquake disaster image information; anomaly detection; SIFT; SVM; Lushan M7.0 earthquake as an example. The results show that the algorithm model has better detection effect on image information anomaly,it can further supply and improve the disaster information source for earthquake emergency rescue,and provide disaster information support for the government's scientific decision-making for earthquake relief.
地震灾害作为一种突发性自然灾害,震后获取到的灾情信息是开展地震应急救援工作的基础(胡素平,帅向华,2012)。受灾民众是地震灾害的目击者和直接参与者,对受灾情况比较清楚(刘文,2017),通过移动终端设备,利用微博、微信等社交网络平台不断向外界提供大量以文字、图像等为载体的灾情信息,是最直接有效的信息源。在海量灾情信息中,图像相比文字等信息能更加快速、直观地反映灾区实际受灾情况(曹彦波等,2017,2018)。但是,分析以往震后获取到的图像信息,发现部分图像信息存在与地震发生时间不吻合、不属于地震影响范围或与地震灾情无关等问题。
本文将图像分类算法运用到震后图像灾情信息的异常检测中,设定与地震发生时间不吻合、不属于地震影响范围或与地震灾情无关的图像信息为异常信息。首先对获取地震事件有效图像信息量过程进行建模,预筛出与地震发生时间吻合且属于地震影响范围内的图像集,进一步判断与地震灾情相关的图像集。然后构建基于尺度不变特征变换(Scale Invariant Feature Transform,简称SIFT)与以支持向量机(Support Vector Machne,简称SVM)分类的地震灾情图像信息异常检测算法模型,并以2013年芦山7.0级地震建筑物破坏灾情图像为例对模型进行验证。
地震发生后,可从社交网络平台(Social Network Site,简称SNS)上获取海量与地震相关的图像信息资源,形成SNS图像池,将SNS图像池具体表示为:
P=[X11, X12, X13, …, X1m
X21, X22, X23, …, X1m
Xn1, Xn2, Xn3, …, Xnm](1)
式中:P为SNS图像池的向量集; X为图像信息,共包含n行,表示该图像池共有n张图像,每一行为一条图像的基本信息; 共包含m列,表示该图像池共有m类图像信息,如第一列为图像拍摄的时间信息,第二列为图像拍摄的位置信息等。即SNS图像池的每张图像pi=(xi1,xi2,xi3,…,xim)都包含拍摄时间、位置等相对一致的信息量。
针对不同的地震事件ω,需对每张图像pi=(xi1,xi2,xi3,…,xim)进行筛选,提取所需的有效信息。首先将图像的时间信息限定为地震发生以后,位置信息限定为地震影响范围内(根据地震烈度快速评估结果确定),根据ω限定向量值,基于网络辅助信息预筛选出和地震事件相关的新图像集P',包含a张图像。若图像集P'中存在与地震灾情无关的噪声信息,则需进一步通过图像信息异常检测筛选出与灾情相关的图像集P″,包含b张图像,且a≥b,直到满足设定的筛选条件为止。即由
P'=[X11, X12, X13, …, X1m
X21, X22, X23, …, X1m
Xa1, Xa2, Xa3, …, Xam](2)
筛选出
P''=[X11, X12, X13, …, X1m
X21, X22, X23, …, X1m
Xb1, Xb2, Xb3, …, Xbm](3)
在得到包含b张有效图像的图像集P″后,将图像集P″传递给地震应急指挥中心,应急指挥中心进一步从得到的b张图像中提取有效的信息量I(i1,i2,…,in),获取包含i1:被困人员情况; i2:人员伤亡情况; i3:建筑物破坏情况; i4:生命线工程破坏情况; i5:次生灾害情况; i6:灾区环境特征等灾情信息,最大化地利用不同信息辅助地震应急指挥中心进行决策,具体过程如图1所示。
在整个有效图像信息量获取过程中,如何在预筛选出的图像集中进一步判断出与预设地震灾情密切相关的图像集是研究的重点和难点。基于此,本文提出了一种基于SIFT特征与SVM分类的地震灾情图像信息异常检测模型。
图像信息异常检测算法的关键点在于自动进行图像标注,其难点在于计算机能从像素中提取的底层视觉特征和用户在特定情境下对图像内容的高层语义解读之间存在语义鸿沟(傅卫平等,2011)。为消除语义鸿沟,需利用一组人工标注的训练数据在视觉特征和语义标签之间建立某种映射关系,再根据这种映射关系自动为待标注的图像添加相关标签。目前较为有效的解决方案是通过SIFT将描述得到的图像特征加上以SVM为主的分类器。
本文将图像分类算法运用到地震灾情图像信息的异常检测中,提出基于SIFT特征与SVM分类的图像信息的异常检测算法模型,如图2所示。
图2 SIFT特征与SVM分类的图像信息异常检测算法模型流程图
Fig.2 Flow diagram of image information anomaly detection algorithm model based on SIFT feature and SVM classification
SIFT是图像处理领域的一种局部特征描述算法,该算法对图像的尺度缩放、平移、旋转变换,甚至亮度变化及仿射变换都具有相当的稳健性,适用于海量数据库中的快速精准匹配(汪松,2013)。本文将SIFT算法应用于地震灾情图像的识别和特征提取中,重点识别提取被困人员情况、人员伤亡情况、建筑物破坏情况、生命线工程破坏情况、次生灾害情况等灾情信息特征。为实现算法的训练,收集了大量已标注为地震灾情信息的图像,针对每张地震灾情图像,通过以下4个步骤采用SIFT进行特征提取:
(1)尺度空间极值检测
定义二维高斯滤波函数如下(汤海林,2013):
G(x,y,σ)=2/(2πσ2)e(-(x2+y2))/(2σ2)(4)
输入地震灾情图像I(x,y),将图像与二维高斯滤波函数求卷积得到高斯图像:
L(x,y,σ)=G(x,y,σ)*I(x,y)(5)
式中:σ为尺度空间因子,大尺度对应图像的概貌,小尺度对应图像的细节。定义DOG算子为:
D(x,y,σ)=L(x,y,kσ)-L(x,y,σ)(6)
式中:k为相邻两个尺度空间倍数的常数。
为检测D(x,y,σ)的局部极值点,需将DOG尺度空间每个点与其相邻尺度和相邻位置的26个点逐个进行比较,如图3所示。
若像素(x,y)是一个可能的SIFT关键点,则它必须在周围26个近邻像素点中是极值点,所有的局部极值点构成一个SIFT候选关键点的集合。
(2)关键点定位
通过尺度空间极值检测得到地震灾情图像的所有候选关键点,但还需通过两步检测才能确定关键点:首先关键点必须与周围的像素有明显的差异,即需要剔除对比度低的关键点; 其次DOG算子有较强的边缘响应,需删除不稳定的边缘响应点。
(3)关键点大小和方向匹配
在完成关键点定位后,为使DOG算子具备旋转不变性,采用梯度直方图确定关键点的主方向,像素点(x,y)处梯度的模值和方向的计算公式(完文韬,杨成禹,2018)为:
m(x,y)=([L(x+1,y)-L(x-1,y)]2+[L(x,y+1)-L(x,y-1)]2)1/2(7)
θ(x,y)=tan-1(L(x,y+1)-L(x,y-1))/(L(x+1,y)-L(x-1,y))(8)
对于地震灾情图像的各关键点,模值的峰值代表该关键点处领域梯度的主方向,将其作为该关键点的方向。依次为每个关键点指定方向参数,使得DOG算子具备旋转不变性。
(4)输出SIFT描述符
为确保旋转不变性,将坐标轴旋转为关键点的方向。以一个关键点为中心,取N×N的窗口,再将窗口切成M×M的子窗口(M<N),灾情图像中每个关键点的方向由N/M个种子点的方向决定,统计每个子窗口中的方向直方图,形成SIFT特征向量,得到包含多个关键点的灾情图像。
由SIFT算法提取后的每张地震灾情图像都是大量SIFT关键点的集合,每一个关键点都是一个多维的特征向量,描述着图像中物体的某一部分特征信息,如人、建筑物、生命线工程特征等。但每张图像经过SIFT算法所产生的关键点个数不尽相同,不便于计算机对灾情图像的自动识别和判断,因此本文采用K-means聚类算法对SIFT特征进行聚类,将关键点的特征向量做分类处理。
SIFT特征向量X到第i个聚类中心的欧氏距离(崔红艳,曹建芳,2016)为:
Di=(∑128j=1(xj-kij)2)1/2(9)
式中:xj是向量X的第j维; kij是第i个聚类中心的第j维。
利用K-means算法进行多次迭代计算得到k个聚类中心,k值可通过多次试验进行选取测试,最终结合聚类速度和分类精度综合考虑后确定(任恒怡等,2017)。
若输入的地震灾情图像有n个SIFT关键点,则需统计这n个关键点在k个聚类中心的分布情况,从而形成图像对应的特征向量。特征向量第j维的计算公式为(杨松等,2016):
Vj=(∑njSij)/N(10)
式中:Sij取值为0或1,取1时表示第i个SIFT关键点属于第j个聚类中心。
通过上述算法可将一张具有n个SIFT关键点的图像转化成一个k维特征向量,表示该图像的分类特征,经过对大量已标注的地震灾情图像的训练,得到地震灾情异常图像特征向量标签库,作为进行SVM分类的基础。
SVM是解决小样本、非线性识别的一种二分类器算法(李红丽等,2018),主要通过各单一数据的特征向量判断其标签,以此来确定样本的类别,获得良好的分类效果。本文分“离线图像训练”和“在线图像判别”两部分进行地震灾情图像分类处理,如图4所示。
首先,在本地采集历史地震灾情图像和与灾情无关的图像,对采集的离线图像做SIFT图像特征提取和K-means特征聚类,整合出地震灾情异常图像标签库,对标签库进行学习训练,形成异常图像SVM分类器集合。然后在社交网络平台采集在线图像,通过将图像的时间信息限定为地震发生后,位置信息限定为地震影响范围内,预筛选出和地震事件相关的图像,进行SIFT图像特征提取和K-means特征聚类,最后利用异常图像SVM分类器对其进行判别,输出与地震灾情相关的有效图像,剔除无关的异常图像。
基于SIFT特征与SVM分类的图像信息异常检测算法模型在地震事件中的应用场景如图5所示。
地震发生后,从微博、微信等社交网络平台,获取海量受灾民众通过手持移动通讯设备发送的相关图像信息资源,基于SIFT特征与SVM分类的地震灾情图像信息异常检测算法模型,筛选出包含被困人员情况、人员伤亡情况、建筑物破坏情况、生命线工程破坏情况、次生灾害情况、灾区环境特征等灾情信息在内的图像,将其传递给地震应急指挥中心,完善地震应急救援的灾情信息源,为科学制定应急方案提供有效支撑。
以2013年芦山7.0级地震建筑物破坏灾情图像为例,从地震灾情数据库中收集80张地震灾情图像,从本地收集110张与地震灾情无关的图像,进行离线图像训练,形成异常图像SVM分类器集合。从微博、微信、新闻网站等网络平台收集到95张地震灾情图像和122张与地震灾情无关的图像。
根据图像属性信息,应用C#的PropertyItem类提取拍摄时间及位置,存放在PohtoStore图像集中:
private static final String[]SELECTPHOTOS= {
PohtoStore.Images.Pohto.DATE,
PohtoStore.Images.Photo.LATITUDE,
PohtoStore.Images.Pohto.LONGITUDE
}
再以时间信息DATE在2013年4月20日8时2分之后,位置信息LATITUDE、LONGITUDE到震中的距离不超过117 km(根据芦山地震烈度快速评估结果确定)为筛选条件,从PohtoStore图像集预筛选出和芦山地震事件相关的图像共205张,其中的92张为地震灾情图像,113张为与地震灾情无关的图像。用通过预筛选的图像对异常图像SVM分类器集合训练效果进行检验。
在MATLAB环境下完成训练和分类过程,将190张离线图像和205张通过预筛选的在线图像分为训练集V和测试集T。在训练集V中,地震建筑物破坏灾情图像的集合为V1,与地震建筑物破坏灾情无关图像的集合为V2; 在测试集T中,地震建筑物破坏灾情图像的集合为T1,与地震建筑物破坏灾情无关图像的集合为T2,分类结果如表1所示。
分析建筑物破坏图像特征主要包括:
(1)几何特征:建筑物虽然外形各不相同,但作为一种相对规则的人工地物,实际大多为矩形或由矩形组合构成的多直角形状,相邻边缘相垂直,排列较规整。在地震中建筑物发生不同程度的破坏后,边缘轮廓倾斜错落,其结构和排列呈现出非规则性和紊乱性等特点。
(2)灰度特征:建筑物边缘及不同建筑物连接处的灰度变化较大,而建筑物内部灰度值相对较均匀,灰度分布离散性明显。建筑物破坏引起表面反射率发生变化,图像灰度值增加,分布离散性减弱。
(3)拓扑关系特征:建筑物作为面状地物,具有多边形的拓扑特征,可用链状独立编码表达拓扑关系。建筑物破坏后,多边形出现断边,拓扑关系链状编码的独立性受到影响,相互间的交互增多。
根据上述主要特征,应用MATLAB对建筑物灾情图像进行SIFT图像特征提取,部分代码如下:
%文件夹'building'中存放建筑物图像的特征向量
file_name_build=dir('building');
e_b=length(file_name_build);
d_b=zeros(1,128);
p_b=zeros(1,2);
for i=3:e_b
name=strcat('./building/',file_name_build(i).name);
a=textread(name,'','headerlines',1);
a=a(:,1:128);
d_b=[d_b; a];
t=textread(['./building/'file_name_build(i).name],
'',1);
p_b=[p_b; t];
end
%文件夹'n_building'中存无建筑物图像的特征向量
file_name_nbuild=dir('n_building');
e_nb=length(file_name_nbuild);
d_nb=zeros(1,128);
p_b=zeros(1,2);
for i=3:e_nb
name=strcat('./n_building/',file_name_nbuild(i).name);
b=textread(name,'','headerlines',1);
b=b(:,1:128);
d_nb=[d_nb; b];
t=textread(['./n_building/' file_name_nbuild(i).name],'',1);
p_b=[p_b; t];
end
将建筑物图像和无建筑物图像的特征向量存放在矩阵m中,然后使用K-means函数进行特征聚类,部分代码如下:
samp=[d_b; d_nb];
class_b=KMeans(i,10,2);
在训练集V中提取出建筑物图像训练数据build train_data,通过以下代码形成建筑物异常图像标签库labellib_build:
feat=zeros(300,10);
flag=0;
for i=1:300
for j=1:p_b(i,1)
feat(i,class_b(j+ flag))=feat(i,class_b(j+ flag))+1;
end
flag=p_b(i,1);
end
build train_data=feat(1:120,:);
build train_data=[build train_data; feat(121:
300,:)];
labellib_ build=zeros(1,80);
labellib_ build=[labellib_ build,ones(1,80)];
labelibl_ build=labellib_ build ';
使用svmtrain函数对标签库进行学习训练,形成异常图像SVM分类器集合:
earthq_model =svmtrain(labellib,train_data)
最后,用通过训练形成的异常图像SVM分类器集合对测试集T进行测试:
[pred_label,precision,at_values]=svmpredict(train_data,test_data,earthq_model)
测试结果如表2所示。统计与地震建筑物破坏灾情相关图像的分类准确率和召回率,如表3所示。
从表3可知,应用SIFT特征与SVM分类的地震灾情图像信息异常检测算法模型对芦山7.0级地震建筑物破坏灾情图像信息进行异常检测的效果较好,该算法模型具有一定的可行性。可进一步用于对被困人员情况、人员伤亡情况、生命线工程破坏情况、次生灾害情况等其他灾情图像信息的异常检测中。
本文针对震后微博、微信等社交网络平台中与地震相关的图像信息资源与当次地震发生时间不吻合、不属于地震影响范围或与地震灾情无关等异常,将图像分类算法运用到异常检测中。通过对获取地震事件有效图像信息量过程进行建模,构建了基于SIFT特征与SVM分类的地震灾情图像信息异常检测算法模型,并以芦山7.0级地震建筑物破坏灾情图像为例对模型进行验证,结果表明该模型对图像信息异常的检测效果较好,可有效补充和完善用于地震应急救援的灾情信息源,为政府抗震救灾科学决策提供灾情信息支撑。
随着5G网络和智能移动终端的快速发展和普及,未来网络平台的信息量将呈现井喷式增长。因此,需进一步结合数据挖掘技术及PSO粒子群优化等算法,提高地震灾情图像信息异常检测的效率和准确度。在震后第一时间为地震应急指挥中心提供更加准确、可靠的灾情图像信息。