基于神经网络的多源浪参数自动化测量校验方法与流程
未命名
07-26
阅读:309
评论:0
1.本发明涉及海浪测量技术领域,具体涉及一种基于神经网络的多源浪参数自动化测量校验方法。
背景技术:
2.海浪是海洋中常见的物理现象,对海浪开展监测研究具有重要的科研意义和实用价值。海浪在向近岸传播的过程中,受海底地形、岸界和环境流(近岸流和潮流)的作用显著,具有比深海和开阔陆架海域更复杂的演变规律和更快速的时空变换,目前的研究和认识还不成熟。对海浪的研究主要包括对海浪要素以及各要素之间关系的研究,海浪要素包括有效浪周期、平均浪高、有效浪高、浪向、波陡等,目前对近岸海浪要素检测主要是以浮标观测为主,人工观测为辅,近年来积极推进了雷达观测。浮标是对“点”观测,对于港湾复杂地形的准确海浪测量需要高密度部署,且运行和维护成本高;人工观测是通过有经验的预报员目测的方式估计海浪信息,对人员要求高,预测频率和精度也难以保障。地波雷达能实现大面积、长时间自动测量,但雷达测量设备昂贵,微波脉冲及回波传播受电离层、平流层、海气界面影响,资料质量随时空变化干扰明显,且测量精度取决于对信号的反演。将岸基监控视频用于海浪要素测量具有非接触、低成本、时空连续的优点,同时浮桶或表漂丢失,一定程度上可通过表漂北斗寻回,表漂原位测量与摄像头非接触式测量,对比验证,相互补充,提高波浪要素测量精度,并且随着人工智能技术的提高,摄像头测量方案前景较好,后期维护成本低,待技术成熟后,可舍弃表漂模块。
3.现阶段,国内外利用视觉数据对海浪要素的检测已有一些研究,其方法主要分为两类。一类是基于摄影测量的方法,另一类是基于图像/视频特征的检测方法,包括统计特征、变换域特征、纹理特征等。其中基于立体视觉的海浪要素分析,大部分基于视频图像,通过立体视觉系统进行海浪要素检测,浪高解析精度较高,但模型复杂,对不同环境海域的要素检测需要重新设置模型参数,鲁棒性较差,计算效率较低,不能很好地满足实际应用。基于视频的海浪要素检测,主要检测海浪的运动方向和浪高等级,无法做到浪高值的高精度获取,浪向检测的模型算法复杂度较高,计算效率较低;基于图像特征的海浪等级阈值模型,人工设计特征的不完备性导致浪高等级检测的不稳定,且无法做到浪高值的精细化检测。
4.综上,国内外现有波浪监测设备进行调研统计,其中自动化观测设备费用较高,人工观测对观测者经验要求较高,具有较大的主观性,容易导致数据不统一。
技术实现要素:
5.有鉴于此,本发明提出了一种基于神经网络的多源浪参数自动化测量校验方法,能够定量计算获取海浪要素,提高波浪要素测量精度。
6.为实现上述目的,本发明的技术方案为:
7.一种基于神经网络的多源浪参数自动化测量校验方法,包括如下步骤:内置北斗
模块的表漂通过北斗卫星向岸基站发送波浪传感器数据,所述波浪传感器数据包括浪高、浪周期以及浪向,用于后续波浪标定与校验;通过单阶段目标检测算法yolov5训练得到神经网络模型模型,使用神经网络模型对图片数据集进行表漂和浮桶定位与识别,得到表漂和浮桶在图片数据集中的有序位置集合;通过数据集中表漂和浮桶位置纵向上变化量与表漂浪高拟合标定,确认变化量与表漂浪高关系;利用与表漂浪高关系与变化量得到浪高;利用数据集中表漂和浮桶位置纵向上变化周期确认浪周期;利用数据集中表漂和浮桶位置与锚抛设位置的位置关系确认浪向,从而实现对浪高、浪向以及浪周期的自动化测量,并根据表漂和浮桶的波浪结果相互校验。
8.其中,具体实现步骤如下:
9.步骤1,岸基布设锚、浮桶与表漂,安装摄像头,其中锚抛设位置p,摄像头距海面垂直距离h;锚、浮桶与海面表层漂流浮标三者位置位于摄像头视场内,且摄像头视频观察到浮桶与海面表层漂流浮标在海面的起伏状态;
10.步骤2,表漂通过北斗卫星向岸基站发送波浪传感器数据,包括浪高h
表漂
、浪周期t
表漂
、浪向d
表漂
,用于后续波浪标定与校验;
11.步骤3,通过岸基摄像头每间隔5分钟获取存储具有表漂和浮桶的海面图片,积累神经网络数据训练集dataa;
12.步骤4,对数据中浮桶位置与表漂位置进行标注,通过单阶段目标检测算法yolov5训练得到模型modela,继而用模型进行所有数据标注,并进行人工校对修改,得到标注数据集datab;
13.步骤5,通过单阶段目标检测算法yolov5训练标注数据集datab得到模型modelb,直至趋于饱和;
14.步骤6,海面在设定时间内海况不变,则通过岸基摄像头每间隔m帧获取一张图片,累计获取n帧图片数据集datac;
15.步骤7,通过神经网络模型modelb对数据集datac进行表漂和浮桶定位与识别,得到表漂和浮桶在图片数据集中的有序位置集合;
16.步骤8,通过数据集中表漂和浮桶位置纵向上变化量
△
h与表漂浪高h
表漂
拟合标定,确认变化量
△
h与表漂浪高h
表漂
关系;
17.步骤9,通过
△
h与h
表漂
的关系与变化量
△
h得到波高h
光电
;
18.步骤10,通过数据集中表漂和浮桶位置纵向上变化周期确认浪周期t
光电
;
19.步骤11,通过数据集中表漂和浮桶位置与锚抛设位置p的位置关系确认浪向d
光电
;
20.步骤12,对比校验表漂和光电的浪高、浪向和浪周期结果。
21.其中,海面表层漂流浮标内置波浪传感器模块向表漂内部arm程序传输浪高、浪向、浪周期结果,同时arm程序与北斗模块正常通讯,并通过固定的信号传输协议向北斗发送串口消息;中心站北斗模块接收北斗消息,并通过传输协议,对消息进行解码、校验、解析,获取表漂的浪高、浪向和浪周期结果。
22.其中,所述步骤10中,具体包括以下步骤:通过位置集合list纵向上变化量δh计算每一帧与第一帧纵向高度差r,量化图像集中每一帧与第一帧的差异,并通过平方和误差集合rs获取集合中的较小值之间的间隔帧数dnum,通过m*dnum得到一个浪周期的总帧数,除以摄像头每秒帧数,得到浪周期t
光电
。
23.其中,所述步骤11中,通过锚、浮桶与海面表层漂流浮标三者位置关系得到浪向d
光电
,包括以下步骤:
24.分别计算浮桶p(x2,y2)与锚抛设位置p(x1,y1)的角度angle1,表漂p(x3,y3)和浮桶p(x2,y2)的角度angle2:
25.angle1=(90-math.degrees(math.atan2(y2-y1,x2-x1))+360)%360
26.angle2=(90-math.degrees(math.atan2(y3-y2,x3-x2))+360)%360
27.比较角度angle1、angle2,若两者相差较大,则抛弃抛弃本次结果,反之,则存储至集合listdir;
28.对集合listdir中各个浪向dir做校正,得到浪向集合listdir2;
29.对集合listdir2中浪向dir取平均值,作为浪向d
光电
输出。
30.有益效果:
31.1、本发明通过从近岸监控视频中按帧截取视频图像,根据浮桶在海面的运动状态提取浮桶特征,定量计算获取海浪要素,主要包括有效浪周期、有效浪高、浪向等,同时通过表漂自带的波浪传感器获取有效浪周期、有效浪高、浪向信息,并通过表漂北斗模块与锚位置计算获取浪向。通过表漂原位测量与摄像头非接触式测量,对比验证,相互补充,提高波浪要素测量精度。
32.2、本发明作为辅助性海浪观测方法,用于弥补浮标不在位时段的数据缺失和人工观测时次数据分辨率低等不足,提高海洋台站海浪观测数据的连续性和准确性,大大减少海浪观测项目人工观测成份,提升海洋观测的可靠性和科学性,解决了海浪图像识别分析处理与数据质量控制、数据采集与系统集成等关键性问题。
33.3、本发明中,表漂内置北斗模块通过北斗卫星向岸基站发送波浪传感器数据,通过单阶段目标检测算法yolov5训练得到模型,使用神经网络模型对图片数据集进行表漂和浮桶定位与识别,得到表漂和浮桶在图片数据集中的有序位置集合,能够做到稳定检测。
34.4、本发明通过数据集中表漂和浮桶位置纵向上变化量δh与表漂浪高h
表漂
拟合标定,确认变化量δh与表漂浪高h
表漂
关系;利用上述关系与变化量δh得到浪高h
光电
,利用数据集中表漂和浮桶位置纵向上变化周期确认浪周期t
光电
,并利用数据集中表漂和浮桶位置与锚抛设位置p的位置关系确认浪向d
光电
,从而自动化测量浪高、浪向、浪周期,并根据表漂和浮桶的波浪结果相互校验,提高波浪要素测量精度,实现浪高值的精细化检测。
附图说明
35.图1为本发明方法原理示意图。
36.图2为本发明中浮桶随波浪纵向位置变化示意图。
37.图3为本发明中浮桶与表漂随波浪运动示意图。
38.图4为本发明中光电摄像头视角波向各角度示意图。
具体实施方式
39.下面结合附图并举实施例,对本发明进行详细描述。
40.本发明提出基于神经网络的多源浪参数自动化测量校验方法,原理如图1所示,包括如下步骤:内置北斗模块的表漂通过北斗卫星向岸基站发送波浪传感器数据,所述波浪
传感器数据包括浪高h
表漂
、浪周期t
表漂
以及浪向d
表漂
,用于后续波浪标定与校验;通过单阶段目标检测算法yolov5训练得到神经网络模型模型,使用神经网络模型对图片数据集进行表漂和浮桶定位与识别,得到表漂和浮桶在图片数据集中的有序位置集合;通过数据集中表漂和浮桶位置纵向上变化量δh与表漂浪高h
表漂
拟合标定,确认变化量δh与表漂浪高h
表漂
关系;利用δh与表漂浪高h
表漂
关系与变化量δh得到浪高h
光电
;利用数据集中表漂和浮桶位置纵向上变化周期确认浪周期t
光电;
利用数据集中表漂和浮桶位置与锚抛设位置p的位置关系确认浪向d
光电
,从而实现对浪高、浪向以及浪周期的自动化测量,并根据表漂和浮桶的波浪结果相互校验。
41.针对近岸海浪视频图像特征,本发明方法具体步骤如下:
42.步骤1、岸基1-2km外海面布设锚、浮桶与海面表层漂流浮标(后文中简称表漂),安装摄像头,其中锚抛设位置p,摄像头距海面垂直距离为h,摄像头位于坐标s,锚、浮桶与海面表层漂流浮标三者位置必须位于摄像头视场内,而且摄像头视频能够清楚观察到浮桶与海面表层漂流浮标在海面的起伏状态;浮桶随波浪纵向位置变化如图2所示,浮桶与表漂随波浪运动如图3所示,光电摄像头视角波向各角度示意如图4所示;表漂必须内置波浪传感器与北斗模块,其中本身实施例表漂中内置了波浪传感器模块、北斗模块、蓄电池、太阳能控制器以及太阳能充电板,分别用于数据采集、信号传输、电力存储、充电控制以及维持系统模块工作的电力供应。
43.步骤2、表漂内置波浪传感器测量波浪,其北斗模块通过北斗卫星向岸基站发送波浪传感器数据,包括浪高h
表漂
、浪周期t
表漂
、浪向d
表漂
,用于后续光电测量的波浪标定与校验。其中,海面表层漂流浮标内置波浪传感器模块能够向表漂内部arm程序传输浪高、浪向、浪周期结果,同时arm程序能够与北斗模块正常通讯,并通过固定的信号传输协议向北斗发送串口消息;中心站北斗模块可以接收北斗消息,并通过传输协议,对消息进行解码、校验、解析,获取表漂的浪高、浪向和浪周期结果。
44.步骤3、通过岸基高倍星空级摄像头每间隔5分钟获取存储具有表漂和浮桶的海面图片,积累神经网络数据训练集dataa(万张级别)。
45.步骤4、对数据中浮桶位置与表漂位置进行小范围(数百张)标注,通过单阶段目标检测算法yolov5训练得到模型modela,继而用模型进行所有数据标注,并进行人工校对修改,得到标注数据集datab。
46.其中,yolov5针对不同大小(n,s,m,l,x)的网络整体架构都是一样的,区别在于每个子模块中采用不同的深度和宽度,模型下采样到32倍且采用3个预测特征层,分别应对yaml文件中的depth_multiple和width_multiple参数。由于本次标记数据外形简单、特征明显,采用mask_yolov5s.yaml即可满足需求。
47.步骤5、通过单阶段目标检测算法yolov5训练标注数据集datab得到模型modelb,观察训练过程中定位识别训练集loss是否逐渐下降,然后趋于饱和,且识准率达到预期标准,确认modelb达到预期的定位识别精度。本实施例的识准率达到99.5%以上。
48.其中,yolov5中loss由正样本和负样本两部分loss组成,负样本对应着图像的背景,如果负样本远多于正样本,则负样本会淹没正样本的损失,从而降低网络收敛的效率与检测精度。loss公式如下。
[0049][0050][0051][0052]
l
box
=l
box
+l
cls
+l
obj
ꢀꢀꢀ
(4)
[0053]
公式中:
[0054]
s:s
×
s个网格;
[0055]
b:每个网格产生b个候选框anchor box;
[0056]
如果在i,j处的box有目标(正样本),其值为1,否则为0;
[0057]
如果在i,j处的box没有目标(负样本),其值为1,否则为0;
[0058]
在i,j处的box损失函数;
[0059]
在i,j处的cls损失函数;
[0060]
在i,j处的obj损失函数。
[0061]
步骤6、浪高、浪向、浪周期自动化测量时,假设海面短时间(10分钟)内海况不变,通过岸基摄像头每间隔m帧获取一张图片,累计获取n帧图片数据集datac。
[0062]
步骤7、通过神经网络模型modelb对数据集datac进行表漂和浮桶定位与识别,得到表漂和浮桶在图片数据集中的有序位置集合list。近似的,表漂和浮桶在图片数据集中的有序位置变化可以作为海浪在海面的单点变化运动趋势,间接反应了浪高、浪向、浪周期。
[0063]
步骤8、通过数据集中表漂和浮桶位置纵向上变化量δh与表漂浪高h
表漂
拟合标定,确认变化量δh与表漂浪高h
表漂
关系。
[0064]h表漂
=f(δh)
ꢀꢀꢀ
(5)
[0065]
步骤9、通过流程八中公式(5)与变化量δh得到浪高h
光电
。
[0066]
步骤10、通过数据集list中表漂和浮桶位置纵向上变化周期确认浪周期t
光电
。眼睛看到波浪向前运动是海流与海浪共同作用的结果,其中海浪导致了单点纵向起伏,海流导致波浪向前运动。数据集中表漂和浮桶位置纵向上变化转化为波浪的周期变化,通过对list做去噪、平滑、取峰值、计算峰值之间平均间隔δt,即可换算为浪周期t
光电
。
[0067]
其中,纵向位置差异量化包括以下步骤:通过位置集合list纵向上变化量δh计算每一帧与第一帧纵向高度差r,量化图像集中每一帧与第一帧的差异,并通过平方和误差集合rs获取集合中的较小值之间的间隔帧数dnum,通过m*dnum得到一个浪周期的总帧数,除以摄像头每秒帧数,即可得到浪周期t
光电
。
[0068]
步骤11、理论上,浮桶和表漂位置会随着海面波浪能量的传播的方向移动,加之由于锚链牵扯浮桶,浮桶连接表漂,会形成锚、浮桶、浮桶于一条直线上,且与波浪方向相同。经实地验证,表漂和浮桶位置与锚抛设位置p的位置关系符合理论假设。
[0069]
通过数据集中表漂和浮桶位置与锚抛设位置p的位置关系确认浪向d
光电
,包括以下步骤:
[0070]
分别计算浮桶p(x2,y2)与锚抛设位置p(x1,y1)的角度angle1,表漂p(x3,y3)和浮桶p(x2,y2)的角度angle2:
[0071]
angle1=(90-math.degrees(math.atan2(y2-y1,x2-x1))+360)%360
[0072]
angle2=(90-math.degrees(math.atan2(y3-y2,x3-x2))+360)%360
[0073]
理论上,浮桶和表漂位置会随着海面波浪能量的传播的方向移动,加之由于锚链牵扯浮桶,浮桶连接表漂,会形成锚、浮桶、浮桶于一条直线上,且与波浪方向相同。经实地验证,表漂和浮桶位置与锚抛设位置p的位置关系符合理论假设。
[0074]
比较角度angle1、angle2,若两者相差较大,则抛弃抛弃本次结果,反之,则认为(angle1+angle2)/2为单张图片浪向dir,并存储至集合listdir。由于摄像头倾斜视角拍摄,导致成像有偏移,对集合listdir中各个浪向dir做校正,得到浪向集合listdir2。
[0075]
对集合listdir2中浪向dir取平均值,即可作为浪向d
光电
输出。
[0076]
步骤12、对比校验表漂和光电的浪高、浪向、浪周期结果,实现浪高、浪向、浪周期自动测量和校验(正确与否)。
[0077]
综上所述,以上仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
技术特征:
1.一种基于神经网络的多源浪参数自动化测量校验方法,其特征在于,包括如下步骤:内置北斗模块的表漂通过北斗卫星向岸基站发送波浪传感器数据,所述波浪传感器数据包括浪高、浪周期以及浪向,用于后续波浪标定与校验;通过单阶段目标检测算法yolov5训练得到神经网络模型模型,使用神经网络模型对图片数据集进行表漂和浮桶定位与识别,得到表漂和浮桶在图片数据集中的有序位置集合;通过数据集中表漂和浮桶位置纵向上变化量与表漂浪高拟合标定,确认变化量与表漂浪高关系;利用与表漂浪高关系与变化量得到浪高;利用数据集中表漂和浮桶位置纵向上变化周期确认浪周期;利用数据集中表漂和浮桶位置与锚抛设位置的位置关系确认浪向,从而实现对浪高、浪向以及浪周期的自动化测量,并根据表漂和浮桶的波浪结果相互校验。2.根据要求1所述的方法,其特征在于,具体实现步骤如下:步骤1,岸基布设锚、浮桶与表漂,安装摄像头,其中锚抛设位置p,摄像头距海面垂直距离h;锚、浮桶与海面表层漂流浮标三者位置位于摄像头视场内,且摄像头视频观察到浮桶与海面表层漂流浮标在海面的起伏状态;步骤2,表漂通过北斗卫星向岸基站发送波浪传感器数据,包括浪高h
表漂
、浪周期t
表漂
、浪向d
表漂
,用于后续波浪标定与校验;步骤3,通过岸基摄像头每间隔5分钟获取存储具有表漂和浮桶的海面图片,积累神经网络数据训练集dataa;步骤4,对数据中浮桶位置与表漂位置进行标注,通过单阶段目标检测算法yolov5训练得到模型modela,继而用模型进行所有数据标注,并进行人工校对修改,得到标注数据集datab;步骤5,通过单阶段目标检测算法yolov5训练标注数据集datab得到模型modelb,直至趋于饱和;步骤6,海面在设定时间内海况不变,则通过岸基摄像头每间隔m帧获取一张图片,累计获取n帧图片数据集datac;步骤7,通过神经网络模型modelb对数据集datac进行表漂和浮桶定位与识别,得到表漂和浮桶在图片数据集中的有序位置集合;步骤8,通过数据集中表漂和浮桶位置纵向上变化量
△
h与表漂浪高h
表漂
拟合标定,确认变化量
△
h与表漂浪高h
表漂
关系;步骤9,通过
△
h与h
表漂
的关系与变化量
△
h得到波高h
光电
;步骤10,通过数据集中表漂和浮桶位置纵向上变化周期确认浪周期t
光电
;步骤11,通过数据集中表漂和浮桶位置与锚抛设位置p的位置关系确认浪向d
光电
;步骤12,对比校验表漂和光电的浪高、浪向和浪周期结果。3.根据权利要求1或2所述的方法,其特征在于,海面表层漂流浮标内置波浪传感器模块向表漂内部arm程序传输浪高、浪向、浪周期结果,同时arm程序与北斗模块正常通讯,并通过固定的信号传输协议向北斗发送串口消息;中心站北斗模块接收北斗消息,并通过传输协议,对消息进行解码、校验、解析,获取表漂的浪高、浪向和浪周期结果。4.根据权利要求1或2所述的方法,其特征在于,所述步骤10中,具体包括以下步骤:通过位置集合list纵向上变化量δh计算每一帧与第一帧纵向高度差r,量化图像集中每一帧与第一帧的差异,并通过平方和误差集合rs获取集合中的较小值之间的间隔帧数dnum,通
过m*dnum得到一个浪周期的总帧数,除以摄像头每秒帧数,得到浪周期t
光电
。5.根据权利要求4所述的方法,其特征在于,所述步骤11中,通过锚、浮桶与海面表层漂流浮标三者位置关系得到浪向d
光电
,包括以下步骤:分别计算浮桶p(x2,y2)与锚抛设位置p(x1,y1)的角度angle1,表漂p(x3,y3)和浮桶p(x2,y2)的角度angle2:angle1=(90-math.degrees(math.atan2(y2-y1,x2-x1))+360)%360angle2=(90-math.degrees(math.atan2(y3-y2,x3-x2))+360)%360比较角度angle1、angle2,若两者相差较大,则抛弃抛弃本次结果,反之,则存储至集合listdir;对集合listdir中各个浪向dir做校正,得到浪向集合listdir2;对集合listdir2中浪向dir取平均值,作为浪向d
光电
输出。
技术总结
本发明提出了一种基于神经网络的多源浪参数自动化测量校验方法,能够定量计算获取海浪要素,提高波浪要素测量精度。本发明通过从近岸监控视频中按帧截取视频图像,根据浮桶在海面的运动状态提取浮桶特征,定量计算获取海浪要素,主要包括有效浪周期、有效浪高、浪向等,同时通过表漂自带的波浪传感器获取有效浪周期、有效浪高、浪向信息,并通过表漂北斗模块与锚位置计算获取浪向。通过表漂原位测量与摄像头非接触式测量,对比验证,相互补充,提高波浪要素测量精度。浪要素测量精度。浪要素测量精度。
技术研发人员:刘京城 叶祖超 林道宽 马欣 刘保良 陈智会 付伟 孙林 张晓艳 李燕 覃宇
受保护的技术使用者:湖北中南鹏力海洋探测系统工程有限公司
技术研发日:2023.04.27
技术公布日:2023/7/25
版权声明
本文仅代表作者观点,不代表航空之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)
飞行汽车 https://www.autovtol.com/
