基于ST-DBSCAN算法的火灾产品精度评估方法及系统

文档序号:33476852发布日期:2023-03-15 10:37阅读:64来源:国知局
基于ST-DBSCAN算法的火灾产品精度评估方法及系统
基于st-dbscan算法的火灾产品精度评估方法及系统
技术领域
1.本发明涉及遥感技术领域,特别是一种基于st-dbscan算法的火灾产品精度评估方法及系统。


背景技术:

2.火灾是一种重要的自然干扰和进化力量,影响着植被覆盖率以及生态系统的多样性,在塑造生态系统的空间分布及其组成方面发挥着关键的作用。因此在变化的气候的条件下,了解火灾在过去、现在的情况对于未来的生态系统建模是至关重要的。火势正在成为许多科学领域的一个关键概念,其定义和解释仍然是科学家之间争论的焦点,尤其是描述火势时应考虑哪些参数的问题。了解某个区域的火灾状况所需的主要参数是空间和时间的分布情况,因此需要有关火灾事件位置和日期的准确数据。
3.在遥感数据出现前,一些国家在地方、省和国家登记册中系统地记录了火灾事件,例如加拿大国家火灾数据库或瑞士火灾数据库。但是对于某些区域,如较偏远和人口较少的地区,相关的历史火灾事件数据往往不完整或不准确。《中国统计年鉴》和《中国林业统计年鉴》中,包含总燃烧面积、火灾事件数量、严重程度等级以省级进行分组,但是除少数特别严重的火灾事件外,其余均未提供火灾所发生的具体位置,这种数据形式并不适合区域或地方的空间分布研究。此外,将《统计年鉴》中发现的数据与从卫星上提取的数据进行比较,普遍存在低估的情况。
4.近年来,利用星载卫星上的传感器对地球进行观测,在国家甚至全球的地理尺度上,为探测和监测活跃的火灾和提取燃烧的土地斑块提供了有用的原始数据,免费为用户提供全球范围的活跃火点产品以及燃烧区产品,如modis衍生产品,极大促进火灾区域化的研究,尤其是在缺乏地面数据或无法公开获取地面数据的地区。由于卫星遥感影像是使用在空间、光谱和时间分辨率方面具有不同规格的不同类型传感器获取的,因此根据燃烧与未燃烧的解译算法,其衍生的火灾产品差异较大。
5.在使用火灾产品进行区域化研究时,由于各区域生态系统体系存在较大差异,需要在研究区域内对火灾产品进行精度评估。比如在高山生态系统中,地形崎岖、坡度坡向等特性会影响光谱信号的强度,从而影响遥感对火灾探测的结果。对于同一种火灾产品,不同的气候及地理条件会极大影响该产品的精度。因此需要一种火灾产品的评估方法,方便今后在进行区域化的火灾研究中,对火灾产品进行精度评估。


技术实现要素:

6.有鉴于此,本发明的目的在于提供一种基于st-dbscan算法的火灾产品精度评估方法,该方法利用st-dbscan算法来评估火灾产品的精度,采用基于密度的时空聚类算法将离散的火灾产品数据聚合成火灾事件,再根据较可靠的实际地面数据以及高分辨率的遥感影像作为参考数据,对火灾产品进行评估。
7.为达到上述目的,本发明提供如下技术方案:
8.本发明提供的基于st-dbscan算法的火灾产品精度评估方法,包括以下步骤:
9.获取待评估的火灾产品数据与参考数据;
10.构建火灾案例及参考数据时空数据库;
11.构建基于st-dbscan时空聚类算法,所述算法用于火灾产品数据的精度评估;
12.通过时空聚类算法和时空数据库将离散火灾产品数据聚合成火灾事件,将火灾事件与参考数据进行比较分析得到火灾数量;
13.采用混淆矩阵评价火灾产品数据的准确度,并作为精度评估结果输出。
14.进一步,还包括以下步骤:
15.对于获得的火灾产品数据进行预处理,所述预处理包括对数据进行清洗和筛选。
16.进一步,所述火灾产品数据包括火灾发生的时间、地理位置以及质量评估和火点类型,火灾产品数据为矢量数据或者栅格数据;所述参考数据为实际记录的真实数据或空间分辨率较高的遥感影像。
17.进一步,所述st-dbscan算法按照以下步骤进行:
18.第一步:建立火灾数据库,所述火灾数据库中的火灾数据属性包括火灾的经度纬度信息与火灾发生日期,每条数据都是三维数据,并设置标签为unvisited;
19.第二步:选取从火灾数据库读取的数据点,判断火灾数据的标签类型,若为visited则重新选取下一个数据点;若否,则修改标签为visited并进行下一步;
20.第三步:判断选定的数据点是否为时空核心对象,即其时空邻域内所包含的数据量是否大于等于minpts,若是则进行时空聚类的下一步;若否则设定该数据点为孤立噪声点,并回到第二步重新选取下一个数据点;
21.第四步:搜寻时空核心数据点时空邻域内所有的火灾数据点,将其中不属于任何一个火灾事件的数据加入新建簇c中,即新创建的火灾事件;
22.第五步:判断簇c中的各对象是否为时空核心对象,若非时空核心对象则将其标为边缘时空对象不进行进一步操作,是则对该时空核心对象重复第四步的操作;
23.第六步:重复上述步骤二至五,直至所有数据对象都属于某个簇,或为时空孤立点。
24.进一步,所述混淆矩阵评判是按照以下方式进行的:
25.按照以下表格构建混淆矩阵:
[0026][0027]
其中,tp为火灾产品正确探测到的火灾数量;fn为火灾产品遗漏的火灾数量;fp为火灾产品错误探测到的火灾数量;positive表示火灾样本;negative表示非火灾样本;
[0028]
通过表中的tp、fp、fn数据进行综合计算精确率、召回率,具体计算公式如下:
[0029][0030][0031]
其中,precision表示精确率;recall表示召回率;
[0032]
按照以下公式计算:
[0033][0034]
其中,p代表precision指标,r代表recall指标;f1-score表示火灾产品的精度。
[0035]
本发明提供的基于st-dbscan算法的火灾产品精度评估系统,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现上述方法。
[0036]
本发明的有益效果在于:
[0037]
本发明提供的基于st-dbscan算法的火灾产品精度评估方法,首先进行数据收集与预处理,使用基于modis衍生的mcd14ml与mcd64a1、fire_cci51、vnp14dlimgtdl_nrt(以下简称为vnp14dl)作为待评估火灾产品的火灾产品数据,四川省林草局提供地面数据作为参考数据。然后是st-dbscan算法参数的确定,根据火灾产品的空间分辨率及传感器的时间分辨率选择合适的空间距离及时间窗口,以及聚类成火灾事件所需要的最少数据点,对数据进行聚类,在合理的缓冲区范围内与参考数据进行比较分析,从而判断火灾产品探测到的、遗漏的与误检的火灾数量;最后根据混淆矩阵衡量火灾产品的准确度,实现火灾产品的精度评估。
[0038]
本发明提供的方法采用了基于密度的st-dbscan时空聚类算法,该方法主要关注点在于火灾事件的数量及地理位置的准确性,根据火灾产品本身的属性信息对数据进行聚类分析,最终采用混淆矩阵中的一级与二级评价指标实现对遥感火灾产品进行精度评估。
[0039]
本发明的其他优点、目标和特征在某种程度上将在随后的说明书中进行阐述,并且在某种程度上,基于对下文的考察研究对本领域技术人员而言将是显而易见的,或者可以从本发明的实践中得到教导。本发明的目标和其他优点可以通过下面的说明书来实现和获得。
附图说明
[0040]
为了使本发明的目的、技术方案和有益效果更加清楚,本发明提供如下附图进行说明:
[0041]
图1为基于st-dbscan算法的火灾产品精度评估方法流程图。
[0042]
图2为st-dbscan算法的流程图。
[0043]
图3为同次火灾事件中火灾产品与参考数据对应示意图。
[0044]
图4为mcd14ml与vnp14dl的火点矢量数据示意图。
[0045]
图5为四种火灾产品在四川省区域的精度评估结果。
具体实施方式
[0046]
下面结合附图和具体实施例对本发明作进一步说明,以使本领域的技术人员可以更好的理解本发明并能予以实施,但所举实施例不作为对本发明的限定。
[0047]
实施例1
[0048]
如图1所示,图1为基于st-dbscan算法的火灾产品精度评估方法流程图,本实施例提供的基于st-dbscan算法的火灾产品精度评估方法,通过使用st-dbscan时空聚类算法将遥感产品中的火灾产品数据聚合成火灾事件,结合参考数据以及混淆矩阵底层指标与二级指标,实现火灾产品精度评估方法,具体步骤如下:
[0049]
获取待评估的火灾产品研究区域的火灾产品数据与参考数据,所述火灾产品数据包括火灾发生的时间、地理位置以及质量评估和火点类型等附加数据,所述火灾产品数据可以为矢量数据或者栅格数据,所述矢量数据类型的产品包括vnp14dlimgtdl_nrt、mcd14ml,栅格数据类型的火灾产品包括mcd64a1、fire_cci51;所述参考数据为实际记录的真实数据或空间分辨率较高的遥感影像,本实施例中的所述参考数据为四川省林草局提供的地面矢量数据;采用st-dbcsan时空聚类算法构建火灾事件时空数据库,其次通过火灾事件与参考数据的时空位置进行对比分析,从而对火灾产品进行精度评估。
[0050]
本实施例中的火灾事件为将火灾离散数据聚类后的结果,后续在与参考数据进行比对分析产品精度时使用到火灾事件。
[0051]
本实施例中对于获得的火灾产品数据,需要根据其附加数据信息作初步的数据清洗,筛选合适的火灾类型;针对不同火灾产品数据,需根据其传感器的空间分辨率及时间分辨率等特征选择合理的时间窗口与空间距离作为聚类火灾事件的条件。如空间分辨率为500m的 modis传感器,其时间分辨率为1天。在进行st-dbscan聚类时其聚类条件便采用1km 作为空间距离规则,燃烧日期前后4天作为时间窗口。
[0052]
本实施例中所述火灾案例数据库包括矢量数据(mcd14ml、vnp14dlimgtdl_nrt)、栅格数据(mcd64a1、fire_cci51)。
[0053]
构建基于st-dbscan算法,用于火灾产品的精度评估方法的实现逻辑;所述 st-dbscan算法采用时空聚类算法逻辑,所述st-dbscan算法是一个非监督分类的过程,依据一定的相似性准则将时空实体划分成一系列时空簇,同一类内实体的相似度要尽可能大于不同类的实体间的相似度。该算法是在dbscan基础上发展而来,相比dbscan多了一个维度上的聚类。增加的维度上的约束条件可以是时间距离,也可以是与二维空间其它无相关性的维度,例如高程、颜色、温度、质量等。
[0054]
通过时空数据库将离散火灾产品数据聚合成火灾事件,在合理的缓冲区范围内与参考数据进行比较分析,从而判断火灾产品探测到的、遗漏的与误检的火灾事件的数量。然后根据混淆矩阵衡量火灾产品的准确度,作为精度评估的结果;
[0055]
该算法的核心思想是基于密度,根据样本之间的紧密程度进行聚类,通过样本的密度来考虑样本之间的可连接性,将密集区域当作一个个聚类簇。
[0056]
该算法中有三个参数:minpts、eps、

t,其中minpts表示形成簇的最小点个数,eps 表示形成簇的时空聚类,

t表示形成簇的时间窗口。
[0057]
st-dbscan便是基于一组“邻域”参数(minpts、eps、

t)刻画样本数据之间的紧密程度,并将数据对象分为三种类别:核心对象、边界对象与孤立对象;对于一个数据对象,将
符合空间距离与时间窗口的范围称为该数据对象的邻域,邻域内包含的数据量大于等于minpts的数据点叫做核心对象,不属于核心对象但在某个核心对象的邻域内的点叫做边界对象,既不是核心对象也不是边界对象的是噪声点,也称为孤立对象。
[0058]
该算法的基本思想是:通过循环判断时空核心对象以eps为半径的空间距离、

t时间窗口内,待聚合数据的数量是否大于等于minpts,如果大于则形成簇,即判定为一个火灾事件,然后将属于同一火灾事件的栅格数据的值统一标注,反之则对下一个时空对象进行聚类,直到所有的时空对象都归于某个簇中,或被标记为时空孤立点,则聚类结束。
[0059]
st-dbscan算法有以下几个重要概念:密度直达,密度可达,密度相连,非密度相连。
[0060]
(1)如果p为核心对象,q在p的邻域内,那么称p到q密度直达。任何核心点到其自身密度直达,密度直达不具有对称性,如果p到q密度直达,那么q到p不一定密度直达。
[0061]
(2)如果存在核心点p2,p3,
……
,pn,且p1至p2密度直达,p2至p3密度直达,依次递推,p
(n-1)
至pn密度直达,pn至q密度直达,则p1至q密度可达。密度可达不具有对称性。
[0062]
(3)若存在核心点s,s至p和q均密度可达,则p和q密度相连。密度相连具有对称性,若p和q密度相连,则q和p也一定密度相连。密度相连的两个点属于同一个聚类簇。
[0063]
(4)如果两个点不属于密度相连关系,则两个点非密度相连。非密度相连的两个点属于不同的聚类簇,或者其中存在噪声点。
[0064]
如图2所示,图2为st-dbscan算法的流程图,该流程图描述了在对火灾产品数据进行时空聚类时的详细逻辑:
[0065]
第一步:建立火灾数据库,火灾产品数据属性包括火灾的经度纬度信息与火灾发生的日期,每条数据都是三维数据,可认为所有数据都初始化于集合c中,输入eps、

t和密度阈值minpts,读取数据并将所有数据点设置标签为unvisited;
[0066]
第二步:从集合c中依次或随机选取一个数据点p,判断其标签类型,若为visited则重新选取下一个数据点,若否,则修改其标签为visited并进行下一步;
[0067]
第三步:判断选定的数据点是否为时空核心对象,判断数据点p点时空邻域内数据点的数量num,即其时空邻域内所包含的数据量是否大于等于minpts,若否,则设定该数据点为孤立噪声点,即标记数据点p为孤立点,并回到第二步重新选取下一个数据点;若是,则进行时空聚类的下一步;
[0068]
第四步:搜寻时空核心数据点时空邻域内所有的火灾数据点,将其中不属于任何一个火灾事件的数据加入新创建簇c中,即新创建的火灾事件,将数据点p加入新簇c中,将数据点p邻域内所有点加入集合n,循环判断n中每一个unvisited点p,标记数据点p为visited,判断p点时空邻域内数据点的数量num是否是否大于等于minpts,如果是则将p邻域内所有点加入集合n,如果否,则判断是否存在尚未加入簇且为被标记为孤立点的数据点p,如果是,则将数据点p加入簇c;
[0069]
第五步:判断簇c中的各对象是否为时空核心对象,若否,则将其标为边缘时空对象不进行进一步操作;若是,则对该时空核心对象重复第四步的操作;
[0070]
第六步:重复上述步骤二至五,判断集合n是否为空,如果否,则返回第四不;如果是,输出火灾事件c继续判断剩余unvisited点,直至所有数据对象都属于某个簇,或为时空孤立点。
[0071]
实施例2
[0072]
本实施例对基于st-dbscan算法的火灾产品精度评估方法进一步的说明。
[0073]
数据准备和数据库构建
[0074]
目前较多火灾产品均可以在官方数据平台免费获取,根据研究区域及时间尺度选择合适的数据范围,然后对数据进行拼接、裁剪、重投影等预处理过程,完善数据的格式;通过部分火灾产品附带的质量信息筛选火灾而非城市热点信息,进行数据清洗过程;将历年数据按时间序列进行数据库的创建。
[0075]
(1)算法参数的选择
[0076]
对于st-dbscan算法,与火灾产品较密切的两个参数为空间距离eps与时间窗口

t 的选择;针对不同的火灾产品,由于其遥感传感器空间分辨率与时间分标率往往存在一定的差异,导致对于不同的火灾产品需要选择合适的时空邻域;除此之外,由于遥感产品会存在一定的空间误差,在与参考数据进行比较分析判定火灾是否被探测到时,需设置合适的缓冲区范围,认为是合理的定位误差。
[0077]
(2)火灾产品数据比较
[0078]
图3为mcd14ml与mcd64a1、fire_cci51、vnp14dlimgtdl_nrt四种火灾产品对于同一场火灾的数据样例,图4为mcd14ml与vnp14dlimgtdl_nrt以矢量形式表示火灾数据,而mcd64a1与fire_cci51以栅格形式表示数据;图3体现出四种火灾产品对于同一种火灾其探测到的火烧迹地区域比较相似,在聚类成火灾事件时,由于矢量数据并不包括燃烧面积方面的信息,故我们关注点在于火灾的位置和次数,而非燃烧面积。
[0079]
(3)混淆矩阵评价指标
[0080]
混淆矩阵是评判模型结果的指标,属于模型评估的一部分。此外,混淆矩阵多用于判断分类器的优劣,适用于分类型的数据模型,如分类树、逻辑回归)、线性判别分析等方法。该矩阵分别统计分类模型归错类、归对类的观测数的个数,将结果统计在表中:
[0081][0082]
其中,tp为火灾产品正确探测到的火灾数量;fn为火灾产品遗漏的火灾数量;fp为火灾产品错误探测到的火灾数量;positive表示火灾样本;negative表示非火灾样本;
[0083]
由于混淆矩阵中统计的是数量,面对大量的数据时很难衡量模型的优劣。因此混淆矩阵在基本的统计结果上又延伸了二级指标,通过tp、fp、fn等数据进行综合计算,将混淆矩阵中数量的结果转化为0-1之间的比率,便于标准化的衡量。在火灾精度评估时,采用了精确率(precision)、召回率(recall),也称灵敏度。具体计算公式如下:
[0084]
[0085][0086]
在二级指标的基础上进行扩展,会产生一个三级指标f1-score,计算公式如下:
[0087][0088]
其中,p代表precision指标,r代表recall指标。
[0089]
f1-score三级指标综合了precision与recall的结果,其取值范围为0-1,f1-score的值越高则表示该火灾产品的精度越高。
[0090]
(6)精度评价结果比较
[0091]
精度评价结果以误差矩阵的形式表征产品检测火灾的表现,采用精确率、召回率、 f1-score三个指标量化产品精度,如图5所示,其精度评价结果表示vnp14dlimgtdl_nrt 产品(表格中简称为vnp14dl)的火灾检测表现最好,在2014年其f1-score为历年最高,为0.490。表现仅次于vnp14dl的火灾产品为mcd14ml,最后依次为fire_cci、mcd64a1。火灾检测精确度较高的两个火灾产品均为矢量数据,均有着较高的reacll,而相比较而言 precision较低,而栅格火灾产品恰好相反,precision比recall高。
[0092]
本实施例提供的基于st-dbscan算法的火灾产品精度评估方法,在此方法基础上结合混淆矩阵多级指标,对mcd14ml与mcd64a1、fire_cci51、vnp14dlimgtdl_nrt四种栅格、矢量形式的火灾产品进行精度评价,为使用大尺度范围的火灾产品进行区域化火灾研究提供精度评价的有效方法。
[0093]
以上所述实施例仅是为充分说明本发明而所举的较佳的实施例,本发明的保护范围不限于此。本技术领域的技术人员在本发明基础上所作的等同替代或变换,均在本发明的保护范围之内。本发明的保护范围以权利要求书为准。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1