一种基于YoloV4算法的滑坡及形态识别方法

文档序号:32490858发布日期:2022-12-10 02:43阅读:565来源:国知局
一种基于yolov4算法的滑坡及形态识别方法
技术领域
1.本发明涉及遥感大数据领域,特别涉及一种基于yolov4算法的滑坡及形态识别方法。


背景技术:

2.滑坡是一种常见的自然灾害,长期制约着工程建设和经济规划,尤其是发生在人口聚集区域的滑坡灾害极易造成大量人员伤亡和经济损失。同时滑坡后的山体易产生泥石流等次生灾害,对已发生的滑坡进行及时识别并加以治理更有助于防范此类次生灾害的发生。据统计,仅2012年到2018年,滑坡发生总数达到50110处,占地质灾害总数的71%。如此多的滑坡仅靠人工进行遥感图像目视解译筛选十分费力费时,且需要一定技术基础才可以解析出滑坡方向等更多信息,总体查找效率低成本高。目前,随着卫星遥感技术和神经网络技术的发展随之有了许多滑坡确认方法,然而这些方法所注重的滑坡的确认,而没有关注对于滑坡形态方面的研究。在神经网络算法的应用上偏重于复杂的分析上,带来的问题就是实时判别效率低成本高。


技术实现要素:

3.本发明提出了一种基于yolov4算法的滑坡及形态识别方法,利用模型对图像区域是否存在滑坡进行自动识别,并用方框标出滑坡,同时通过判断识别框长宽比例进行基本的滑坡形状分类,并结合相应区域的高程数据,对已识别出的滑坡进行方向判断。
4.为了实现上述目的,本发明提出的技术方案是:
5.一种基于yolov4算法的滑坡及形态识别方法,其中,所述方法包括:
6.第一步:从卫星遥感影像中获取含有滑坡区域的图像,将图像进行预处理形成含有目标识别特征的图像数据;
7.第二步:将含有目标识别特征的图像数据输入一个目标识别模型,目标识别模型输出滑坡识别结果图像;
8.第三步:根据滑坡识别结果图像的长宽比确定滑坡形状;
9.第四步:获取对应滑坡识别结果图像区域的高程数据,使用d8算法和沙依达格分级法确定滑坡方向并在图像中标出;
10.其中:
11.所述目标识别特征是使用labelimg标注工具对滑坡区域轮廓进行标注的数据;
12.所述目标识别模型是基于yolov4算法的目标识别模型,其建立的步骤是:
13.第一步:针对已知的不同类型滑坡提取所述目标识别特征建立不同类型滑坡区域样本集;
14.第二步:运用yolov4模型对样本集进行训练输出针对已知不同类型滑坡的滑坡识别结果图像形成目标识别模型。
15.方案进一步是:所述使用labelimg标注工具是选择标注类别为landslide的
labelimg标注工具,标注过程中用鼠标拖出标注框进行标注并存储为xml格式。
16.方案进一步是:所述yolov4模型由cspdarknet53、spp、panet和yolo head组成;
17.其中:
18.cspdarknet53为主干特征提取网络:将输入的图片转化为416
×
416
×
3数据格式进行多次卷积处理输出结果特征层;
19.spp和panet为加强特征提取网络:对上述结果特征层进行上采样,即让输入的特征层高和宽变化为原来的两倍,通过特征提取网络形成特征金字塔的结构,完成特征融合;
20.yolo head将提取到的特征融合转化为预测结构。
21.方案进一步是:所述长宽比小于1.3判断其为圆型滑坡,反之为长型滑坡。
22.方案进一步是:所述确定滑坡方向是将通过卫星获取对应滑坡识别结果图像区域的高程数据处理成灰度图像并导出,然后根据对应位置坐标换算,在dem灰度图像上确定相应区域并使用d8算法确定滑坡土石物质随高程变化产生的小区域流向和流量上的变化,再通过沙依达格分级法提取出集中的一条流向,并连接集中流向开头与结尾部分,即为识别出的滑坡方向。
23.方案进一步是:所述已知的不同类型滑坡是基于谷歌earth、triplesat影像数据和网络公开的滑坡影像数据集寻找并制作的滑坡图像。
24.本发明的有益效果是:加入了滑坡形态(滑坡方向识别和滑坡形状基础分类)识别,尤其是滑坡方向上的识别,在方向识别正确率上本发明达到85%以上。相较于市面上广泛使用的图像识别和神经网络算法,本发明使用的yolov4算法在模型建立速度和识别速度上得到了较快提升,且所占用的硬件资源也更少,在特征的提取上使用labelimg标注工具对滑坡区域轮廓进行标注,图像处理快捷,相较大部分滑坡识别算法,本发明在同等硬件环境下,识别速度上提升了三倍以上,可以有效缩短大规模识别工作花费的时间。本发明能够在识别出滑坡的基础上提供一些专业的形态识别工作,更利于非专业人员使用,应用门槛更低。
25.将卫星图像输入到训练好的yolov4目标识别神经网络中,利用该模型对图像区域是否存在滑坡进行自动识别,并用方框标出滑坡,同时通过判断识别框长宽比例进行基本的滑坡形状分类。在此基础上,结合相应区域的高程数据,使用d8算法和沙依达格分级法对已识别出的滑坡进行方向判断,从而实现有效、快捷地发现和初步分析滑坡形态。
26.下面结合附图和实施例对本发明进行详细描述。
附图说明
27.图1是本发明基于yolov4算法的滑坡识别方法流程示意图;
28.图2是9个滑坡原始图像;
29.图3是对应9个滑坡原始图像的9个高程灰度图像;
30.图4是对应9个滑坡原始图像绘制的9个滑坡识别框、滑坡方向和形状分类的结果图。
具体实施方式
31.一种基于yolov4算法的滑坡及形态识别方法,如图1所示,首先创建基于yolov4算
法的目标识别模型,其建立的步骤是:
32.第一步:针对已知的不同类型滑坡提取目标识别特征建立不同类型滑坡区域样本集;
33.第二步:运用yolov4模型对样本集进行训练输出针对已知不同类型滑坡的滑坡识别结果图像形成目标识别模型;
34.然后进行实时的滑坡及形态识别,所述识别方法包括:
35.第一步:从卫星遥感影像中获取含有滑坡区域的图像,将图像进行预处理形成含有目标识别特征的图像数据;
36.第二步:将含有目标识别特征的图像数据输入一个目标识别模型,目标识别模型输出滑坡识别结果图像;
37.第三步:根据滑坡识别结果图像的长宽比确定滑坡形状;
38.第四步:获取对应滑坡识别结果图像区域的高程数据,使用d8算法和沙依达格分级法确定滑坡方向并在图像中标出;
39.其中:
40.所述目标识别特征是使用labelimg标注工具对滑坡区域轮廓进行标注的数据。
41.方法中所述使用labelimg标注工具是选择标注类别为landslide的labelimg标注工具,标注过程中用鼠标拖出标注框进行标注并存储为xml格式。
42.方法中所述yolov4模型由cspdarknet53、spp、panet和yolo head组成;
43.其中:
44.cspdarknet53为主干特征提取网络:将输入的图片转化为416
×
416
×
3数据格式进行多次卷积处理输出结果特征层;
45.spp和panet为加强特征提取网络:对上述结果特征层进行上采样,即让输入的特征层高和宽变化为原来的两倍,通过特征提取网络形成特征金字塔的结构,完成特征融合;
46.yolo head将提取到的特征融合转化为预测结构。
47.其中:所述长宽比小于1.3判断其为圆型滑坡,反之为长型滑坡。
48.所述确定滑坡方向是将通过卫星获取对应滑坡识别结果图像区域的高程数据处理成灰度图像并导出,根据坐标换算在dem灰度图像上确定相应区域并使用d8单流向算法确定滑坡土石物质随高程变化产生的小区域流向和流量上的变化,再通过沙依达格分级法提取出最主要集中的一条流向,并连接最主要集中流向开头与结尾部分,即为识别出的滑坡方向。
49.所述已知的不同类型滑坡是基于谷歌earth、triplesat影像数据和网络公开的滑坡影像数据集寻找并制作的滑坡图像。
50.上述方法使用yolov4算法作为框架,其中:yolov4使用cspdarknet53作为主干提取网络。
51.输入图片的大小会被自动转化为为416
×
416
×
3(长宽和通道数rgb)。
52.(首先输入416
×
416
×
3(长宽和通道数rgb)的图片,经过一次darknet卷积,变成了416
×
416
×
32的,然后经过残差卷积块(包括卷积、标准化,激活函数)的处理,)阵列的尺寸为1
×
416
×
416
×
3.这意味着网络将一次以416
×
416像素的速度接收一个包含红色、绿色和蓝色分量的图像。
53.cspdarknet53的主干特征提取网络会不断地对输入的数据进行特征提取,其特点如下:
54.cspdarknet53首先进行了一个普通的darknet卷积,然后进行多轮残差网络结构resblock_body,即进行了一系列卷积、激活函数和标准化过程。
55.输入的图片为416
×
416
×
3,在经过第一次卷积后变成了416
×
416
×
32,然后在每次resblock_body中输入图片的长和宽进行了不断的压缩,每次压缩为原本的二分之一。
56.同时在经过每次resblock_body压缩后,图片的通道也会得到不断的扩张,每次扩张为原本的两倍。
57.经过一轮darknet卷积和五轮resblock_body卷积后图片变成了13
×
13
×
1024。
58.在这个过程中获得了多个特征层,这些特征层事实上就是输入进来的图片的集合,其中包含着更高语义的信息。
59.然后,对最终得到的13
×
13
×
1024的有效特征层执行三个卷积运算,接着对结果进行最大池化并将其叠加后,再进行三次卷积操作。
60.panet结构会对上述结果特征层进行上采样,即让输入的特征层高和宽变化为原来的两倍,并与特征提取网络获得的26
×
26
×
512的特征层进行堆叠,上述过程实现了特征融合,形成了特征金字塔的结构。
61.对获得的结构再次进行五次卷积后继续上采样与堆叠和卷积。此时对三个有效特征层都已经完成特征融合。
62.之后再进行下采样,完成panet结构。
63.yolo head结构将提取到的特征层转化为预测结构。
64.yolov4使用mish作为激活函数。
65.在训练模型时,算法会对数据集使用mosaic数据增强方式增强数据,在此使用了四张滑坡图片进行拼接,进而丰富检测物体,即滑坡的背景。
66.在训练时,yolov4采用ciou损耗函数,对滑坡的初始识别进行了优化,从而获得了最优的滑坡识别模型。
67.ciou来源于iou,iou是用来度量目标检测中预测框与真实框的重叠程度:
[0068][0069]
由于普通iou并没有考虑框之间的距离,在两个框不重合时iou为0,无法正确反映两者的距离大小。
[0070]
同时iou也无法精确的反映两者的重合度大小,故yolov4使用了ciou。
[0071]
ciou考虑了目标与锚点的距离、重叠率、尺度、惩罚等因素,从而保证了目标框的回归稳定性,避免了iou和giou在训练时的分散等问题。
[0072]
而惩罚因子则是将预测框的长宽比与拟合目标框的长宽比考虑进去。
[0073]
ciou公式如下:
[0074][0075]
其中ρ2(b,b
gt
)代表预测框和真实框的中心点的欧式距离。c代表的是能够同时包含预测框和真实框的最小闭包区域的对角线距离。α是权重函数,v用来度量宽高比的一致
性。
[0076]
α和v的公式如下:
[0077][0078][0079]
把1-ciou就可以得到相应的loss:
[0080][0081]
计算loss:
[0082]
在计算loss的时候,其实是y_pre与y_true之间的对比:
[0083]
y_pre是一张图片在网络中的输出,它的内部包含了三个特征层;
[0084]
y_true是一个实际的图片,它的每个真实框对应的(13,13)、(26,26)、(52,52)网格上的偏移位置、长宽与种类。
[0085]
在本模型中,y_pre和y_true的shape都是
[0086]
(batch_size,13,13,3,85)
[0087]
(batch_size,26,26,3,85)
[0088]
(batch_size,52,52,3,85)
[0089]
loss的计算过程:
[0090]
loss值要求处理三个特征层,在此举例说明最小特征层。
[0091]
1、利用y_true将所述特征层中实际有对象的点的位置(m,13,13,3,1)和它们相应的类型(m,13,13,3,80)取出。
[0092]
2、对yolo_outputs的预测输出结果进行处理,获得reshape后的预测值y_pre,该shape是(m,13,13,3,85)。还有解码后的xy,wh。
[0093]
3、对于每一张图,对所有的真实框与预测框的iou进行运算,当部分预测框与真实框的重合程度超过0.5时,对其进行忽略。
[0094]
4、计算ciou作为回归的loss,这里仅计算正样本的回归loss。
[0095]
5、置信度loss,由两个部分组成,第一部分为实际上有目标存在的,其预测结果中置信度的值与1对比;第二部分是实际上没有目标不存的,其预测结果中置信度的值与0对比。
[0096]
6、计算预测类型的loss,计算预测类与真实类之间的差异。
[0097]
其实际上计算的总的loss是三个loss的和,这三个loss分别是:
[0098]
1、实际存在的框,ciou loss。
[0099]
2、实际存在的框,将预测结果中的置信度数值与1进行比较;实际不存在的框,则将预测结果中的置信度值与0进行比较。
[0100]
3、实际存在的框,类型预测结果和实际结果的比较。
[0101]
滑坡形状分类:
[0102]
在使用yolov4识别滑坡的同时记录下识别框四个点的坐标(x1,y1),(x1,y2),(x2,y1),(x2,y2),并计算abs(x1-x2)和abs(y1-y2),判断两者比例是否大于1.3,并根据此将滑坡分为长型(如横长形滑坡、纵长形滑坡等)和圆型(如椭圆形滑坡等)。
[0103]
若识别框长宽比例小于1.3,在识别图上标注为typea(圆型);识别框长宽比例大于1.3,则在识别图上标注为typeb(长型)。
[0104]
识别滑坡方向:
[0105]
高程数据首先被处理为8位的灰度图像,其共有256个灰度级别,对应灰度取值从0到255,0对应全黑,即此区域范围内该点高程最低,255对应全白,即此区域范围内该点高程最高。处理时使用python的osgen库读取原始高程数据(tif文件),通过滑动窗口方法,依次读取滑坡影像对应区域高程数据范围,将读取到的高程数据标准化到0到255并存储为灰度图(png文件),用于下述方向识别和人工核验结果。
[0106]
工作时python程序读取识别步骤识别到的滑坡识别框坐标,并根据原图和对应的高程灰度图像的图片大小进行坐标转换,然后在转换后的高程灰度图上对应区域遍历所有灰度取值,对选定区域的高程灰度图使用d8单流向算法,确定每个3*3滑动窗口范围内滑坡土石物质随高程变化产生的流向上变化,即在3*3的滑动窗口范围内,计算中心像素格点值与各相邻像素格点间值的距离权落差,即中心格点值与相邻各区域格点值的差除以相邻格点到中心格点之间的距离,取距离权落差最大的像素格点为中心像素格点的流出格点,该方向即为中心像素格点的流向,计算距离权落差的公式如下:
[0107][0108]
其中z为中心像素格点的值,value为相邻像素格点值,distance为两格点间的距离,两个正交格点的距离为1,两个对角线格点的距离为
[0109]
再根据计算出的每个像素点的方向确定总体流量,公式如下:
[0110][0111]
其中flowk为与该格点相邻或对角格点中方向指向该格点的流量值。
[0112]
完成滑坡识别框区域内所有灰度像素格点的流向和流量后,根据沙依达格分级法提取出最主要集中的一条流向,并连接集中流向开头与结尾部分即为识别出的滑坡方向,并在滑坡识别图像上绘制方向箭头。
[0113]
上述基于yolov4算法的滑坡及形态识别方法实施例,加入了滑坡形态(滑坡方向识别和滑坡形状基础分类)识别,尤其是滑坡方向上的识别,在方向识别正确率上本实施例达到85%以上。相较于市面上广泛使用的其它图像识别和神经网络算法,本实施例使用的yolov4算法在模型建立速度和识别速度上得到了较快提升,且所占用的硬件资源也更少,在特征的提取上使用labelimg标注工具对滑坡区域轮廓进行标注,图像处理快捷,相较大部分滑坡识别算法,本实施例在同等硬件环境下,识别速度上提升了三倍以上,可以有效缩短大规模识别工作花费的时间。本实施例能够在识别出滑坡的基础上提供一些专业的形态识别工作,更利于非专业人员使用,应用门槛更低。
[0114]
将卫星图像输入到训练好的yolov4目标识别神经网络中,利用该模型对图像区域是否存在滑坡进行自动识别,并用方框标出滑坡,同时通过判断识别框长宽比例进行基本的滑坡形状分类。在此基础上,结合相应区域的高程数据,对已识别出的滑坡进行方向判断,从而实现有效、快捷地发现和初步分析滑坡形态。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1