基于ADCP测流数据的场景识别方法及其应用与流程

文档序号:33124150发布日期:2023-02-01 04:37阅读:62来源:国知局
基于ADCP测流数据的场景识别方法及其应用与流程
基于adcp测流数据的场景识别方法及其应用
技术领域
1.本技术涉及水流数据处理技术领域,特别是一种涉及基于adcp测流数据的场景识别方法及其应用。


背景技术:

2.目前,河道上船舶的识别已经由传统的目视解译过渡到了自动识别的阶段,但当前船舶自动识别主要是基于图像识别技术进行的,该方法的特点是依赖于成像系统,从图像中采集船舶的形状特征,运动特征等,进而进行船舶的识别,也有一些基于定位的方法,通过卫星定位的方式确定船舶的位置。
3.而且涉及更多场景识别,如大坝泄洪、河流交汇、工厂紧急排污等场景,当前也还是主要基于图像处理识别以上场景,通过光学或雷达成像设备,如遥感卫星,无人机等,对观测部位进行摄影,提取影像中的特征建模,其中的主要特征为光谱特征、纹理特征等,从而识别场景。上述方法成本较大,均需要额外设备的介入。
4.随着技术进步,也有通过水流信息数据来识别各种场景,但是在特定场景下,水流有不一样的规律,船舶的经过会造成水面环境的变化,影响数据质量,目前并未能够妥善处理该问题。同时为提高数据的稳定性,需要对有无船舶经过这一现象进行识别,对异常数据进行归因,进而增强测流系统的抗干扰能力,提高数据精度。因此,挖掘该情形下数据的规律特征并进行有效识别及预测,对于测流系统的智能化建设有重大的价值和意义。
5.为此,亟待一种能够对当前水面的实况进行识别、赋予adcp数据实际意义、为数据分析与决策提供支持的基于adcp测流数据的场景识别方法及其应用。


技术实现要素:

6.本技术实施例提供了一种基于adcp测流数据的场景识别方法及其应用,针对目前技术存在的成本高等问题。
7.本发明核心技术主要是基于决策树的一种集成学习方法-随机森林,进行数据的挖掘与探索,随机森林是一个集成多个决策树的组合分类器模型,通过该模型进行识别。
8.第一方面,本技术提供了一种基于adcp测流数据的场景识别方法,所述方法包括以下步骤:s00、获取adcp采集的历史测流数据预处理后按比例划分作为训练集和测试集,且该历史测流数据至少携带所需识别各场景的标记;s10、根据各场景进行特征构建,通过随机森林对特征进行重要性排序,并通过启发式搜索进行特征选择,选择分类总体精度最高时对应的特征子集作为最优解;s20、基于随机森林构建模型,输入训练集进行训练并同步进行调优,以完成模型的构建;s30、通过测试集对模型进行测试,通过待识别的测流数据对模型进行验证,使得模型的分类准确度达到设定标准;
s40、通过将待识别的测流数据预处理后输入至模型中,输出场景识别结果。
9.进一步地,s00步骤中,预处理至少包括数据异常值处理和数据标记,且数据异常值处理包括数据缺失补全和数据错误修正。
10.进一步地,s20步骤中,基于模型的auc得分或f1得分确定模型参数的局部最优解,以实现调优。
11.进一步地,s20步骤中,基于auc得分进行模型调优,具体步骤如下:s21、模型参数选择;s22、模型参数设置;s23、通过训练集进行模型训练;s24、计算模型的auc得分;s25、判断auc得分是否达到设定阈值,即表示是否最优;s26、若是,则通过测试集进行测试;若否,则重新执行s22步骤。
12.进一步地,auc得分为处于对应场景的概率大于不处于对应场景的概率。
13.进一步地,s00步骤中,各场景的标记为1是处于对应的场景内,0是不处于对应的场景内,每次场景识别仅判断是否处于对应场景。
14.第二方面,本技术提供了一种基于adcp测流数据的场景识别装置,包括:采集模块,用于获取adcp采集的历史测流数据预处理后按比例划分作为训练集和测试集,且该历史测流数据至少携带所需识别各场景的标记;模型构建模块,用于根据各场景进行特征构建,通过随机森林对特征进行重要性排序,并通过启发式搜索进行特征选择,选择分类总体精度最高时对应的特征子集作为最优解;基于随机森林构建模型,输入训练集进行训练并同步进行调优,以完成模型的构建;通过测试集对模型进行测试,通过待识别的测流数据对模型进行验证,使得模型的分类准确度达到设定标准;输入模块,用于输入待识别的测流数据并进行预处理;输出模块,用于输出识别结果。
15.第三方面,本技术提供了一种电子装置,包括存储器和处理器,存储器中存储有计算机程序,处理器被设置为运行计算机程序以执行上述的基于adcp测流数据的场景识别方法。
16.第四方面,本技术提供了一种可读存储介质,可读存储介质中存储有计算机程序,计算机程序包括用于控制过程以执行过程的程序代码,过程包括根据上述的基于adcp测流数据的场景识别方法。
17.本发明的主要贡献和创新点如下:1、与现有技术相比,本技术通过在测流过程中不借助额外的成像设备,基于adcp的历史数据,探索各个场景下的数据特征,进行多维度的特征构建及建模,涉及的特征主要如水的分层流速,变化速率,水压变化速率,回波强度等,从而实现场景识别,如船舶、大坝泄洪、河流交汇、工厂紧急排污等场景,从而可以根据这些场景的数据来避免干扰现象;2、与现有技术相比,本技术通过对场景识别,可赋予adcp数据实际意义,为数据分析与决策提供支持;而且场景识别的价值在于赋予adcp数据以实际意义,提高后续对特定场景下测流数据进行强化处理的能力,例如过船模式下会形成干扰,可摒弃过船时间段的
数据,以避免干扰;例如洪水或者开闸放水模式下,可缩短测量时间间隔以加强预警。
18.本技术的一个或多个实施例的细节在以下附图和描述中提出,以使本技术的其他特征、目的和优点更加简明易懂。
附图说明
19.此处所说明的附图用来提供对本技术的进一步理解,构成本技术的一部分,本技术的示意性实施例及其说明用于解释本技术,并不构成对本技术的不当限定。在附图中:图1是根据本技术实施例的基于adcp测流数据的场景识别方法的流程;图2是随机森林算法原理图;图3是本技术一种较佳实施方式的流程图;图4是rf-sfs特征集优选流程图;图5是模型调优流程图;图6是本技术实施例中导入的历史数据示意图;图7是本技术实施例输出各特征重要度的示意图;图8是本技术导入待识别数据的示意图;图9是输出结果的示意图上半部分;图10是输出结果的示意图下半部分;图11是本技术多种应用场景的示意图;图12是根据本技术实施例的电子装置的硬件结构示意图。
具体实施方式
20.这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本说明书一个或多个实施例相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本说明书一个或多个实施例的一些方面相一致的装置和方法的例子。
21.需要说明的是:在其他实施例中并不一定按照本说明书示出和描述的顺序来执行相应方法的步骤。在一些其他实施例中,其方法所包括的步骤可以比本说明书所描述的更多或更少。此外,本说明书中所描述的单个步骤,在其他实施例中可能被分解为多个步骤进行描述;而本说明书中所描述的多个步骤,在其他实施例中也可能被合并为单个步骤进行描述。
22.当前主要基于图像处理识别船舶、大坝泄洪、河流交汇、工厂紧急排污等场景,通过光学或雷达成像设备,如遥感卫星,无人机等,对观测部位进行摄影,提取影像中的特征建模,其中的主要特征为光谱特征、纹理特征等,从而识别场景。
23.基于此,本发明基于adcp技术来解决现有技术存在的问题,其中adcp基于水声信号的发射及接收,基于声波的多普勒效应计算流速,而频繁过船会引起水流流态紊乱,对流速数据产生影响,本技术以下实施例主要基于河道过船数据的自动识别。
24.实施例一本技术旨在提出基于adcp测流数据的场景识别方法,通过提供了一种基于adcp测
流数据的场景识别方法,具体地,参考图1,所述方法包括:s00、获取adcp采集的历史测流数据预处理后按比例划分作为训练集和测试集,且该历史测流数据至少携带所需识别各场景的标记;其中,s00步骤中,预处理至少包括数据异常值处理和数据标记,且数据异常值处理包括数据缺失补全和数据错误修正。
25.在本实施例中,历史测流数据预处理后作为数据集,应满足以下特征:1、数据质量好,各字段数据完整;2、清楚是否为过船数据,即携带是否为过船数据的标记;3、尽可能地覆盖各个时间段;而且数据集按照常见的比例划分为训练集、测试集及验证集。
26.s10、根据各场景进行特征构建,通过随机森林对特征进行重要性排序,并通过启发式搜索进行特征选择,选择分类总体精度最高时对应的特征子集作为最优解;由于对于数据有无受船舶干扰属于分类问题,因此本技术采用的是基于决策树的一种集成学习方法-随机森林,进行数据的挖掘与探索,随机森林是一个集成多个决策树的组合分类器模型,如图2所示,在当前情景下,选择随机森林模型有以下好处:1、削弱极端数据对模型的影响;2、降低强势特征对模型泛化能力的影响;3、可以得出特征的重要性排序,对后续研究有指导意义;如在本实施例中,当前adcp采集的业务相关数据主要包括如下的字段:字段名备注date_time时间ph压力水位深度pitch纵摇roll横摇zh测深传感器水位深度oh外接水位深度cell_number分层数cell_length厚层velocity_xtotal分层流速velocity_xtotal分层流速echo_intensity1回波强度echo_intensity2回波强度即需在当前字段特征基础之上进行进一步的探究,构建尽可能多的特征,例如流速变化速率,回波强度变化速率,水位变化速率,流向等,并对每一组数据打上是否为过船数据的标记,例如1代表过船,0代表非过船,或者如1代表大坝泄洪,0代表大坝未泄洪等等的标记形式。
27.优选地,由于随机森林可以对特征进行重要性的排序,本技术采用启发式搜索(rf-sfs)中的序列前向算法来进行特征集的优选,即选择分类总体精度最高时对应的特征子集作为最优解,此时对应的特征参数个数最少、分类正确率最高,如图3-4所示。
28.值得一提的是,随机森林部分和特征选择是两个部分,特征选择好后通过随机森林训练,特征选择有很多方法,由于随机森林里的算法能够支持特征排序,因此采用了随机森林来进行特征选择。
29.s20、基于随机森林构建模型,输入训练集进行训练并同步进行调优,以完成模型的构建;其中,随机森林中比较重要的参数有决策树的数量(tree)与基于随机选择的特定数量的特征(mtry)等,在实际执行过程中,可以基于模型的auc得分或者f1得分来确定模型参数的局部最优解,进而优化模型。
30.由于是二分类,模型的评价方法可以基于auc得分来进行,auc得分的含义为对于给定样本,正例得分大于负例得分的概率,在当前情景中即过船数据得分大于非过船数据得分的概率,一般处于0.5-1之间,auc越大,效果越好。
31.其中,如图5所示,基于auc得分进行模型调优,具体步骤如下:s21、模型参数选择;s22、模型参数设置;s23、通过训练集进行模型训练;s24、计算模型的auc得分;s25、判断auc得分是否达到设定阈值,即表示是否最优;s26、若是,则通过测试集进行测试;若否,则重新执行s22步骤;s30、通过测试集对模型进行测试,通过待识别的测流数据对模型进行验证,使得模型的分类准确度达到设定标准;在本实施例中,在构建出模型后,需要对模型进行适用性的研究,观察模型的泛化能力,一方面,在训练时,可以对样本集进行切割,部分训练,部分测试,观察模型在测试集中的表现;另一方面,可以对新的数据集进行判断,观察模型分类的准确度。
32.s40、通过将待识别的测流数据预处理后输入至模型中,输出场景识别结果。
33.如此,本技术针对河面有无船舶经过这一情境,阐述了当前船舶识别技术的现状,提出了基于adcp测流数据,对有无过船情况进行自动识别的方法。此外阐述了过船数据识别的整体流程与思路,主要包括了特征的构建与选择,模型的训练等,为智能化测流提供一些建议。不借助额外的成像设备,基于adcp的历史数据,探索各个场景下的数据特征,进行多维度的特征构建及建模,涉及的特征主要是水的分层流速,变化速率,水压变化速率,回波强度等,从而实现场景识别。其余场景识别的方法类似,也是同样的方式仅操作,区别仅在于获取的构建的特征不同,不同场景对应的特征不同。因此可根据实际需要的场景选择合适的特征进行模型训练即可。
34.优选地,以下为以是否过船为例,展示了实际操作步骤:先进行导包操作,具体为:#导包import pandas as pdfrom sklearn.model_selection import train_test_splitfrom sklearn.ensemble import randomforestclassifierimport matplotlib.pyplot as plt
然后进行历史数据导入:#历史数据导入data=pd.read_csv('data.csv')如图6所示,篇幅有限,仅展示了前5条的部分(仅为示意,里面的数据不重要)。
35.如此,进行预处理后特征为:index(e'date_time','ph','temp','be','oh','vxoo1','vx002','vx003','vx004’,'vx005’,'vx006','vx007','vx008','vx009','vx010','vxoi1','vx012','vx013','vx014','vx015','vx016','vx017','vx018','vx019','vx020','vx021','vx022','vx023','vx024','vx025','vx026','vx027','vx028','vx029','vx030','positive_rate','negative_rate', 'zero_rate','target'],dtype='object')可见共有三十多个特征。
36.然后进行模型构建操作,导入:#x,y构建y=data['target']x=data.drop(['date_time','target'],axis=1)#测试集、训练集划分,比例为7:3x_train,x_test,y_train,y_test=train_test_split(x,y,test_size=0.3,random_state=10)#随机森林模型构建,参数通过实验得出rf_model =randomforestclassifier(n_estimators=15,max_depth=40)rf_model.fit(x_train,y_train)输出:randomforestclassifier(max_depth=40, n_estimators=15)导入:predict =rf_model.predict(x_test)from sklearn.metrics import accuracy_score# 准确度print(accuracy_score(predict,y_test))0.7692307692307693# 各类特征重要性plt.barh(x.columns.tolist(),height=0.8,width=rf_model.feature_importances_,align="center")输出:经过随机森林模型的构建,对数据集进行切分,实现模的训练,当前模型的预测准确度约等于77%(0.7692307692307693),随后得出各个特征的重要性指标,如图7所示。
[0037]
最后进行模型应用,导入:# 数据采集
test_data=pd.read_csv(test_data.csv')如图8所示,篇幅有限,仅展示了前5条的部分(仅为示意,里面的数据不重要)。
[0038]
# 预处理test_data2=test_data.drop(labels='date_time',axis=1)# 模型预测test_data['是否过船']=rf_model.predict(test_data2)test_data.rename(columns={'date_time':'时间'},inplace=true)result=test_data.loc[:,['时间','是否过船']]# 展示前50条,1代表有船只经过,0代表无船只经过result.head(50)输出,如图9-10所示,如此可以得出test_data.csv这个文件内的数据中过船的数据。同理调整特征也可以识别如大坝泄洪、河流交汇、工厂紧急排污等场景。不再需要成像设备的投入成本,在日常数据采集的同时,做到有无船舶经过的判断,并且有较高的可信度,为实际测流数据提供现场情况支持。如图11,本技术可应用于多种场景中,如过船时,摒弃此时的数据或进行重采样,避免干扰,如洪水时加密测量,即缩短测量时间间隔,或者其他场景进行类似的强化处理,以减少或避免干扰。
[0039]
实施例二基于相同的构思,本技术还提出了一种基于adcp测流数据的场景识别装置,包括:采集模块,用于获取adcp采集的历史测流数据预处理后按比例划分作为训练集和测试集,且该历史测流数据至少携带所需识别各场景的标记;模型构建模块,用于根据各场景进行特征构建,通过随机森林对特征进行重要性排序,并通过启发式搜索进行特征选择,选择分类总体精度最高时对应的特征子集作为最优解;基于随机森林构建模型,输入训练集进行训练并同步进行调优,以完成模型的构建;通过测试集对模型进行测试,通过待识别的测流数据对模型进行验证,使得模型的分类准确度达到设定标准;输入模块,用于输入待识别的测流数据并进行预处理;输出模块,用于输出识别结果。
[0040]
实施例三本实施例还提供了一种电子装置,参考图12,包括存储器404和处理器402,该存储器404中存储有计算机程序,该处理器402被设置为运行计算机程序以执行上述任一项方法实施例中的步骤。
[0041]
具体地,上述处理器402可以包括中央处理器(cpu),或者特定集成电路(applicationspecificintegratedcircuit,简称为asic),或者可以被配置成实施本技术实施例的一个或多个集成电路。
[0042]
其中,存储器404可以包括用于数据或指令的大容量存储器404。举例来说而非限制,存储器404可包括硬盘驱动器(harddiskdrive,简称为hdd)、软盘驱动器、固态驱动器(solidstatedrive,简称为ssd)、闪存、光盘、磁光盘、磁带或通用串行总线(universalserialbus,简称为usb)驱动器或者两个或更多个以上这些的组合。在合适的情况下,存储器404可包括可移除或不可移除(或固定)的介质。在合适的情况下,存储器404可在数据处理装置的内部或外部。在特定实施例中,存储器404是非易失性(non-volatile)存
储器。在特定实施例中,存储器404包括只读存储器(read-onlymemory,简称为rom)和随机存取存储器(randomaccessmemory,简称为ram)。在合适的情况下,该rom可以是掩模编程的rom、可编程rom(programmableread-onlymemory,简称为prom)、可擦除prom(erasableprogrammableread-onlymemory,简称为eprom)、电可擦除prom(electricallyerasableprogrammableread-onlymemory,简称为eeprom)、电可改写rom(electricallyalterableread-onlymemory,简称为earom)或闪存(flash)或者两个或更多个以上这些的组合。在合适的情况下,该ram可以是静态随机存取存储器(staticrandom-accessmemory,简称为sram)或动态随机存取存储器(dynamicrandomaccessmemory,简称为dram),其中,dram可以是快速页模式动态随机存取存储器404(fastpagemodedynamicrandomaccessmemory,简称为fpmdram)、扩展数据输出动态随机存取存储器(extendeddateoutdynamicrandomaccessmemory,简称为edodram)、同步动态随机存取内存(synchronousdynamicrandom-accessmemory,简称sdram)等。
[0043]
存储器404可以用来存储或者缓存需要处理和/或通信使用的各种数据文件,以及处理器402所执行的可能的计算机程序指令。
[0044]
处理器402通过读取并执行存储器404中存储的计算机程序指令,以实现上述实施例中的任意一种基于adcp测流数据的场景识别方法。
[0045]
可选地,上述电子装置还可以包括传输设备406以及输入输出设备408,其中,该传输设备406和上述处理器402连接,该输入输出设备408和上述处理器402连接。
[0046]
传输设备406可以用来经由一个网络接收或者发送数据。上述的网络具体实例可包括电子装置的通信供应商提供的有线或无线网络。在一个实例中,传输设备包括一个网络适配器(network interface controller,简称为nic),其可通过基站与其他网络设备相连从而可与互联网进行通讯。在一个实例中,传输设备406可以为射频(radio frequency,简称为rf)模块,其用于通过无线方式与互联网进行通讯。
[0047]
输入输出设备408用于输入或输出信息。在本实施例中,输入的信息可以是水流信息数据或者叫水声信号等,输出的信息可以是场景识别结果等。
[0048]
实施例四本实施例还提供了一种可读存储介质,可读存储介质中存储有计算机程序,计算机程序包括用于控制过程以执行过程的程序代码,过程包括根据实施例一的基于adcp测流数据的场景识别方法。
[0049]
需要说明的是,本实施例中的具体示例可以参考上述实施例及可选实施方式中所描述的示例,本实施例在此不再赘述。
[0050]
通常,各种实施例可以以硬件或专用电路、软件、逻辑或其任何组合来实现。本发明的一些方面可以以硬件来实现,而其他方面可以由控制器、微处理器或其他计算设备执行的固件或软件来实现,但是本发明不限于此。尽管本发明的各个方面可以被示出和描述为框图、流程图或使用一些其他图形表示,但是应当理解,作为非限制性示例,本文中描述的这些框、装置、系统、技术或方法可以以硬件、软件、固件、专用电路或逻辑、通用硬件或控制器或其他计算设备或其某种组合来实现。
[0051]
本发明的实施例可以由计算机软件来实现,该计算机软件由移动设备的数据处理器诸如在处理器实体中可执行,或者由硬件来实现,或者由软件和硬件的组合来实现。包括
软件例程、小程序和/或宏的计算机软件或程序(也称为程序产品)可以存储在任何装置可读数据存储介质中,并且它们包括用于执行特定任务的程序指令。计算机程序产品可以包括当程序运行时被配置为执行实施例的一个或多个计算机可执行组件。一个或多个计算机可执行组件可以是至少一个软件代码或其一部分。另外,在这一点上,应当注意,如图中的逻辑流程的任何框可以表示程序步骤、或者互连的逻辑电路、框和功能、或者程序步骤和逻辑电路、框和功能的组合。软件可以存储在诸如存储器芯片或在处理器内实现的存储块等物理介质、诸如硬盘或软盘等磁性介质、以及诸如例如dvd及其数据变体、cd等光学介质上。物理介质是非瞬态介质。
[0052]
本领域的技术人员应该明白,以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
[0053]
以上实施例仅表达了本技术的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对本技术范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本技术构思的前提下,还可以作出若干变形和改进,这些都属于本技术的保护范围。因此,本技术的保护范围应以所附权利要求为准。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1