首页> 中国专利> 一种基于卫星遥感的矿山露天开采区智能识别方法

一种基于卫星遥感的矿山露天开采区智能识别方法

摘要

本发明提出了一种基于卫星遥感的矿山露天开采区智能识别方法,通过卷积神经网络,快速且准确地对矿山区域进行智能化提取的有效方法。首先,对原始影像进行辐射校正与大气校正;其次,将校正后的影像进行预处理,进行PCA降维和影像裁剪,同时记录裁剪坐标;然后,将预处理后的影像使用训练好的YOLOv5检测矿山大致区域;然后,对YOLOv5检测出矿山区域的影像使用U‑net++做分割,提取出精细化的矿山轮廓;最后将提取结果融合进原始图像,得到整体的矿山识别结果。使用YOLOv5先检测出矿山大致位置,再用U‑net++精细划分在即确保了速度的同时也能提高识别准确率,可以有效解决矿山区域占比少,正负样本差距过于悬殊的问题。YOLOv5中的CSP模块可以有效降低计算量并提高识别精度,而其多头部的设计也使识别效果摆脱了物体尺寸的限制,对于矿山区域提取,各种面积的矿山区域皆能高效提取。

著录项

  • 公开/公告号CN116883864A

    专利类型发明专利

  • 公开/公告日2023-10-13

    原文格式PDF

  • 申请/专利号CN202311088340.X

  • 申请日2023-08-28

  • 分类号G06V20/13(2022.01);G06V10/26(2022.01);G06V10/82(2022.01);G06V10/77(2022.01);G06N3/0464(2023.01);G06N3/0455(2023.01);G06N3/08(2023.01);

  • 代理机构北京润川律师事务所 11643;

  • 代理人张超

  • 地址 100032 北京市西城区红莲南路55号

  • 入库时间 2024-04-18 19:44:28

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2023-10-31

    实质审查的生效 IPC(主分类):G06V20/13 专利申请号:202311088340X 申请日:20230828

    实质审查的生效

说明书

技术领域

本发明涉及到多光谱影像目标检测与影像分割技术,尤其涉及利用卷积神经网络实现多光谱影像的目标检测与图像分割方法。本方法可利用遥感影像进行实时矿区提取。

背景技术

矿山监测对矿产资源、土地资源的合理开发和可持续利用、支撑生态保护修复具有重要意义。监测矿山需要先检测出矿山区域,最早的矿山区域检测多基于人工目视遥感影像与野外调查的结合,成本高,工作量大且效率低。机器学习的方法为矿山区域提取提供了新思路。利用决策树和随机森林等方法提取矿山区域可以快速得到识别结果,但具有准确率不高和提取区域较为零散等缺点,因为树模型本质上是对单个像元进行判断与识别,而不是连通的整体。卷积神经网络在目标检测与识别领域已经相对成熟,它可以通过卷积核自动提取特征而不需要人为设计。训练有素的卷积神经网络提取目标准确率高,速度也较快。但从遥感影像中提取矿山区域面临着矿山区域占总区域的比例极少,正负样本极不平衡的难题。用单一的目标检测或者图像分割均不能有效设计损失函数,少量的正样本易被负样本淹没,网络的学习能力较差,检测的准确度不高。

本发明设计一种新型神经网络架构,能够直接以多光谱影像目标图像作为输入,整个流程无需人工勾画提取矿山区域,也无需人工提取特征,基于遥感影像,仅通过卷积神经网络就能实现基于矿山区图像的全自动识别,能够有效提高对矿山区域进行智能化自动提取特征的精度,有利于管理人员进行后续治理以及为矿产资源的管理何规划提供实时监测和管控。

发明内容

本部分的目的在于概述本发明的实施方式的一些方面以及简要介绍一些较佳实施方式,在本部分以及本申请的说明书摘要和发明名称中可能会做些简化或省略以避免使本部分、说明书摘要和发明名称的目的模糊,而这种简化或省略不能用于限制本发明的范围。

鉴于现有的单一卷积神经网络提取少量目标区域的方法的不足,本发明提出了将目标检测与图像分割结合使用的方法,本发明采用的技术方案如下:

一种基于卫星遥感的矿山露天开采区智能识别方法,总流程见图1,包括以下步骤:

步骤1,获取原始遥感影像,对影像进行辐射校正和大气校正。

步骤2,对校正后的遥感影像做图像预处理,包括波段降维、图像增强和图像裁剪。

步骤3,使用带有Transformer block的YOLOv5对处理好的影像做目标检测,提取出矿山区域,自适应输出目标。

步骤4,使用U-net++对YOLOv5检测出的有矿山区域的部分做图像分割,提取出矿山的精细轮廓,U-net++的结构中,编码器用2×2的最大池化降维,同时增加卷积核个数,解码器用2×2的反卷积升高维度,同时减少卷积核个数,网络集成多个子网络,每一层都做特征融合,每层都有一个损失函数,采用深度监督,记录中间损失。在识别矿山的过程中,分类只有是(矿山)与否(不是矿山),因此输出通道数为2。

步骤5,将提取结果融合到裁剪前的大尺寸影像中,得到最终结果。

进一步的,对于步骤1,对于已经校正过的影像,可以省略校正,对于原始未校正的图像,使用ENVI进行辐射校正与大气校正。

进一步的,对于步骤2中对图像与处理的具体步骤为:

步骤2.1:使用主成分分析(PCA)对多波段降维,使之通道数降为3,利于后续使用YOLOv5提取目标;

步骤2.2:使用图像增强增加图像信息,减少噪声干扰,应用的图像增强方式有:图像随机旋转、翻转、平移、剪切、直方图均衡化和马赛克增强。我中,随机旋转的范围是-45度到45度,随机剪切最大比例为0.2,马赛克增强采用4张图片增强为1张马赛克图的方式。

步骤2.3:图像裁剪为将校正后的大尺寸影像裁剪为适合深度学习输入的小尺寸的影像,裁剪尺寸为256、416或448的任一像素,便于卷积神经网络识别,在步骤5还原大尺寸影像之前,需要将图像尺寸裁剪成固定的大小,裁剪时需记录裁剪的相对坐标,即其左上角与右下角在原始影像中的行列数,将裁剪后的影像按照原始大尺寸影像存放在不同文件夹中。

进一步的,对于步骤3,使用已经训练好的YOLOv5对于处理好的影像做目标检测。改进的YOLOv5由主体网格(backbone)、颈部(neck)和头部(head)三个部分组成。主体网络包含多个CBL和CSP(Cross Stage Partial)模块,其中CBL是卷积(conv)+批归一化(bn)+激活函数(leakyrelu)的结合。CSP模块的目的是减少计算量并增强梯度下降的表现,将输入分为两部分,一部分通过block进行计算,一部分直接通过shortcut,然后两部分做一个拼接(concat),颈部采用PAN (Path Aggregation Network)网络,PANet 通过自下而上和自下而上的双向融合路径,融合深层语义信息和浅层纹理信息,进行了多次拼接操作,在拼接前为使维度保持一致,采用上采样调整维度,拼接后通过CSP模块传导到头部。YOLOv5包含多头部机制,共有3个头部,兼顾了对大中小物体的识别,head1将原始输入分成了76×76个网格,偏向检测小物体,head2为38×38,偏向识别中等物体,head3为19×19,偏向识别较大的物体。特别地,在头部中增加了Transformer block,提升对环境信息的感知能力,增加小目标识别准确度,其含有:层归一化、多头注意力机制,Dropout和MLP(多层感知器)。

进一步的,训练YOLOv5的步骤如下:

步骤3.1:

(1)制作数据集:如图2所示,首先,使用ENVI标记出对矿山的感兴趣区域(ROI),输出为XML文件;其次,使用Python提取出XML文件中的地理坐标,使用GDAL将地理坐标转换为像素坐标;然后,对大比例尺影像做PCA降维与影像裁剪(同步骤2),在裁剪大比例尺影像同时记录下裁剪的行列坐标,结合大比例尺的裁剪坐标与针对矿山的像素坐标,计算出裁剪后影像的相对像素坐标(行列最大值都在裁剪尺寸范围内),每个ROI区域赋予单独一个ID;最后,对每个ID提取符合YOLO格式的矩形框标签,即计算其行列范围,转化为(x,y,w,h)的形式,输出为txt格式;

(2)使用Focal loss计算使用YOLOv5检测目标的损失,以平衡矿山区域和背景的类别极度不平衡问题。Focal loss的公式如下:

其中,

进一步的,使用YOLOv5检测矿山区域的步骤为:

步骤3.2:

(1)使YOLOv5的detect识别文件夹中步骤2.2中的影像,对检测出有矿山区域的影像做做自适应裁剪并保存。其中,检测时的置信度阈值为0.5,自适应裁剪是根据目标大小判断裁剪需求,对小目标自适应到给定最小范围再裁剪,避免裁剪目标区域过少,导致U-net++不能有效提取特征,影响下一步分割的实现;

进一步的,图5显示出了YOLOv5对矿山区域的检测结果,可以看到,能较好地检测出矿山区域;

进一步的,对于步骤4,基于步骤3检测出有矿山区域的影像,使用U-net++做进一步的图像分割处理,识别出矿山的精细轮廓。U-net++的结构如图4所示,编码器用2×2的最大池化降维,同时增加卷积核个数,解码器用2×2的反卷积升高维度,同时减少卷积核个数,网络集成多个子网络,每一层都做特征融合,每层都有一个损失函数,采用深度监督,记录中间损失。在识别矿山的过程中,分类只有是(矿山)与否(不是矿山),因此输出通道数为2;

进一步的,训练U-net++的步骤为:

步骤4.1:

(1)如图2所示,将步骤3.1中得到的矿山样本的像素坐标填充,得到掩膜标记,将其做成U-net++标签格式,将所有含有矿山样本的裁剪影像作为训练样本;

(2)使用Dice loss训练U-net++网络,Dice系数的表达式为:

其中,

使用SGD作为U-net++的优化器,初试学习率为0.001,学习率衰减系数为0.1,权值衰减系数为0.0001,动量为0.90;

进一步的,使用U-net++检测矿山区域的步骤为:

步骤4.2:

步骤3中得到了YOLOv5的检测结果,将YOLOv5自适应输出的目标作为预测数据,使用步骤4.1中训练好的U-net++网络做预测,U-net++可以被剪枝,因此分别测试不同层级网络的预测效果,选定效果最好的4层集成网络做最终预测,可以划分出矿山区域的精细边界,即可以识别矿山位置,同时也能提取出矿山的形状和覆盖区域;

进一步的,对于步骤5,将步骤4的识别结果融合到原始影像中,先使用Python创建维度与原始大尺寸遥感相等的且值为0的张量,使用步骤2中记录的裁剪坐标确定影像位置,根据步骤4的提取结果填充张量的具体数值,使用opencv做可视化输出,得到对整长大尺寸的遥感影像的精细化矿山区域识别结果。

与现有技术相比,本发明的显著优点是通过结合卷积神经网络的目标检测与图像分割,解决了矿山区域占总面积比做小,使得损失函数难以设计和网络难以训练,从而导致的识别不精准的问题。对于识别结果,做了融合处理,还原回影像原始尺寸,使得目视识别结果更为简便,也更容易定位矿山的位置。本发明采用的目标检测与图像分割结合的方法在保证识别速度的同时能有效提高识别精度,赋予矿山的智能化识别以实践意义。

附图说明

为了更清楚地说明本发明实施方式的技术方案,下面将将结合附图和详细实施方式对本发明进行详细说明,显而易见地,下面描述中的附图仅仅是本发明的一些实施方式,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其它的附图。其中:

图1是本发明一种基于卫星遥感的矿山露天开采区智能识别方法的流程图;

图2是本发明中制作数据集的流程图;

图3是本发明中改机的YOLOv5的网络结构示意图;

图4是本发明中U-net++的网络结构示意图;

图5是本发明中使用YOLOv5对矿山区域的检测结果的示意图;

图6是本发明中使用U-net++对矿山目标的分割结果示意图;

图7是将裁剪后的矿山提取结果拼接到原始遥感影像尺寸后的结果图。

实施方式

下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

请参见图1-7:

一种基于卫星遥感的矿山露天开采区智能识别方法,总流程见图1,包括以下步骤:

步骤1,获取原始遥感影像,对影像进行辐射校正和大气校正。

步骤2,对校正后的遥感影像做图像预处理,包括波段降维、图像增强和图像裁剪。

步骤3,使用改进的YOLOv5对处理好的影像做目标检测,提取出大致矿山区域并自适应输出目标范围。

步骤4,使用U-Ne++t对YOLOv5检测出的有矿山区域的部分做图像分割,提取出矿山的精细轮廓。

步骤5,将提取结果融合到裁剪前的大尺寸影像中,得到最终结果。

对于步骤1,对于已经校正过的影像,可以省略校正,对于原始未校正的图像,使用ENVI进行辐射校正与大气校正。

对于步骤2中对图像与处理的具体步骤为:

步骤2.1:使用主成分分析(PCA)对多波段降维,使之通道数降为3,利于后续使用YOLOv5提取目标;

步骤2.2:使用图像增强增加图像信息,减少噪声干扰,应用的图像增强方式有:图像随机旋转、翻转、平移、剪切、直方图均衡化和马赛克增强。我中,随机旋转的范围是-45度到45度,随机剪切最大比例为0.2,马赛克增强采用4张图片增强为1张马赛克图的方式。

步骤2.3:图像裁剪为将校正后的大尺寸影像裁剪为适合深度学习输入的较小尺寸的影像,裁剪尺寸推荐256、416、448,便于卷积神经网络识别,也可以裁剪为其他任意适合的尺寸,但裁剪尺寸需固定为一种,便于步骤5还原大尺寸影像,裁剪时需记录裁剪的相对坐标,即其左上角与右下角在原始影像中的行列数,将裁剪后的影像按照原始大尺寸影像存放在不同文件夹中。

对于步骤3,使用已经训练好的YOLOv5对于处理好的影像做目标检测。如图3所示,改进的YOLOv5由主体网格(backbone)、颈部(neck)和头部(head)三个部分组成。主体网络包含多个CBL和CSP(Cross Stage Partial)模块,其中CBL是卷积(conv)+批归一化(bn)+激活函数(leakyrelu)的结合。CSP模块的目的是减少计算量并增强梯度下降的表现,主要思想是将输入分为两部分,一部分通过block进行计算,一部分直接通过shortcut,然后两部分做一个拼接(concat)。颈部采用PAN (Path Aggregation Network)网络,PANet 通过自下而上和自下而上的双向融合路径,融合深层语义信息和浅层纹理信息,进行了多次拼接操作,在拼接前为使维度保持一致,采用上采样调整维度,拼接后通过CSP模块传导到头部。YOLOv5包含多头部机制,共有3个头部,兼顾了对大中小物体的识别,head1将原始输入分成了76×76个网格,偏向检测小物体,head2为38×38,偏向识别中等物体,head3为19×19,偏向识别较大的物体。特别地,在主体网络中增加了Transformer block,提升对环境信息的感知能力,增加小目标识别准确度,其含有:层归一化、多头注意力机制,Dropout和MLP(多层感知器)。

训练YOLOv5的步骤如下:

步骤3.1:

(1)制作数据集:如图2所示,首先,使用ENVI标记出对矿山的感兴趣区域(ROI),输出为XML文件;其次,使用Python提取出XML文件中的地理坐标,使用GDAL将地理坐标转换为像素坐标;然后,对大比例尺影像做PCA降维与影像裁剪(同步骤2),在裁剪大比例尺影像同时记录下裁剪的行列坐标,结合大比例尺的裁剪坐标与针对矿山的像素坐标,计算出裁剪后影像的相对像素坐标(行列最大值都在裁剪尺寸范围内),每个ROI区域赋予单独一个ID;最后,对每个ID提取符合YOLO格式的矩形框标签,即计算其行列范围,转化为(x,y,w,h)的形式,输出为txt格式;

(2)使用Focal loss计算使用YOLOv5检测目标的损失,以平衡矿山区域和背景的类别极度不平衡问题。Focal loss的公式如下:

其中,

使用YOLOv5检测矿山区域的步骤为:

步骤3.2:

(1)使YOLOv5的detect识别文件夹中步骤2.2中的影像,对检测出有矿山区域的影像做自适应裁剪并保存。其中,检测时的置信度阈值为0.5,自适应裁剪是根据目标大小判断裁剪需求,对小目标自适应到给定最小范围再裁剪,避免裁剪目标区域过少,导致U-net++不能有效提取特征,影响下一步分割的实现;

图5显示出了YOLOv5对矿山区域的检测结果,可以看到,能较好地检测出矿山区域;

对于步骤4,基于步骤3检测出有矿山区域的影像,使用U-net++做进一步的图像分割处理,识别出矿山的精细轮廓。U-net++的结构如图4所示,左边用2×2的最大池化降维,同时增加卷积核个数,右边用2×2的反卷积升高维度,同时减少卷积核个数。在识别矿山的过程中,分类只有是(矿山)与否(不是矿山),因此输出通道数为2;

训练U-net++的步骤为:

步骤4.1:

(1)将步骤3.1中得到的矿山样本的像素坐标填充,得到掩膜标记,将其做成U-net++标签格式,将所有含有矿山样本的裁剪影像作为训练样本;

(2)使用Dice loss训练U-net++网络,Dice系数的表达式为:

其中,

使用SGD作为U-net++的优化器,初试学习率为0.001,学习率衰减系数为0.1,权值衰减系数为0.0001,动量为0.90;

使用U-net++检测矿山区域的步骤为:

步骤4.2:

步骤3中得到了YOLOv5的检测结果,将YOLOv5检测到目标的影像作为预测数据,使用步骤4.1中训练好的U-net++网络做预测,可以划分出矿山区域的精细边界,即可以识别矿山位置,同时也能提取出矿山的形状和覆盖区域;

对于步骤5,将步骤4的识别结果融合到原始影像中,先使用Python创建维度与原始大尺寸遥感相等的且值为0的张量,使用步骤2中记录的裁剪坐标确定影像位置,根据步骤4的提取结果填充张量的具体数值,使用opencv做可视化输出,得到对整长大尺寸的遥感影像的精细化矿山区域识别结果。

需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。

尽管已经示出和描述了本发明的实施例,对于本领域的普通技术人员而言,可以理解在不脱离本发明的原理和精神的情况下可以对这些实施例进行多种变化、修改、替换和变型,本发明的范围由所附权利要求及其等同物限制。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号