利索能及
我要发布
收藏
专利号: 2024110258297
申请人: 山东科技大学
专利类型:发明专利
专利状态:已下证
更新日期:2025-10-27
缴费截止日期: 暂无
联系人

摘要:

权利要求书:

1.基于氨氮浓度预测与水下目标跟踪的水质监测方法,其特征在于,包括如下步骤:步骤1.利用比色法传感器采集水下不同时间点的氨氮浓度值,每隔预设间隔t采集一次,共收集预设时间段T内的数据共多个氨氮浓度样本值;

同时采集不同浓度氨氮环境下的视频数据构建鱼类目标数据集,通过对视频抽帧获取图片数据,作为鱼类目标检测数据集,并按一定比例将图片数据集分为训练集和验证集;

将连续视频帧图片作为鱼类目标跟踪数据集,使用Darklabel进行目标ID标注,并生成相应的gt.txt文本,便于后续的跟踪评估指标任务;

步骤2.使用步骤1中的鱼类目标检测数据集对改进的YOLOv5检测模型进行训练,生成训练好的目标检测网络,目标检测网络输出鱼类检测框及对应的置信度;

步骤3.使用步骤1中的鱼类目标跟踪数据集对运动轨迹分析模型进行训练,输出连续跟踪视频和鱼的运动行为轨迹图,并生成对应的TXT文本与gt.txt文本进行跟踪性能评估;

运动轨迹分析模型由改进的YOLOv5检测模型与改进的ByteTrack跟踪算法结合组成;

步骤4.将步骤1中收集的浓度样本值每次按当前时间点及此前的五个时间点的氨氮浓度值分别输入到双向LSTM预测模型中,预测下一个时间点的氨氮浓度值,通过计算与下一时间点实际浓度值的误差进行反向传播,经过多次迭代训练生成氨氮浓度预测模型;

步骤5.根据鱼在不同氨氮浓度下的行为状态预设氨氮浓度阈值;将当前时间点及此前的五个时间点的氨氮浓度值分别输入到双向LSTM预测模型中,预测下一时间点的氨氮浓度值;当下一时间点的预测氨氮浓度值超过氨氮浓度阈值时,用摄像机对鱼类游动的视频进行拍摄;

步骤6.将拍摄的鱼类游动行为视频处理成与目标跟踪数据集相同格式的数据集,输入运动轨迹分析模型中得到每条鱼的运动行为轨迹图,便于进行鱼类异常行为的检测和跟踪;

步骤7.根据步骤6的运动行为轨迹图中个体鱼是否与正常鱼的运动行为轨迹存在差异,判断当前的氨氮浓度值下是否已对鱼类造成不好的影响,从而确定当前水质情况;

所述步骤2中,改进的YOLOv5检测模型包括骨干网络、颈部网络和检测头网络;

骨干网络包括五个卷积块CBS、四个改进的C3_SENetV2模块和一个SPPF模块;每个卷积块CBS是由一个2D卷积层、批归一化层和SiLU激活层组成;定义五个卷积块CBS分别为第一、第二、第三、第四、第五CBS模块;定义四个改进的C3_SENetV2模块分别为第一、第二、第三、第四C3_SENetV2模块;信号在骨干网络中的处理流程如下:输入信号先经过第一、第二CBS模块,再经过第一C3_SENetV2模块,再经过第三CBS模块,再经过第二C3_SENetV2模块,再经过第四CBS模块,再经过第三C3_SENetV2模块,再经过第五CBS模块,再经过第四C3_SENetV2模块,最后经过SPPF模块输出;

颈部网络中采用轻量级跨尺度融合模块CCFF,具体包括六个卷积块Conv、四个C3模块、两个上采样模块、四个通道拼接模块和iEMA注意力机制模块;定义六个卷积块Conv分别为第一、第二、第三、第四、第五、第六Conv块;定义两个上采样模块分别为第一、第二上采样模块;定义四个C3模块分别为第一、第二、第三、第四C3模块;定义四个通道拼接模块分别为第一、第二、第三、第四Concat模块;信号在颈部网络中的处理流程如下:SPPF模块的输出经过第一Conv块,然后经过第一上采样模块,第三C3_SENetV2模块的输出经过第二Conv块的结果与第一上采样模块的输出,进入第一Concat模块进行通道拼接,拼接后的结果经过第一C3模块,第一C3模块的输出经过第三Conv块,第三Conv块的输出经过第二上采样模块;第二C3_SENetV2模块的输出经过第四Conv块的结果与第二上采样模块的输出进入第二Concat模块进行通道拼接,拼接后的结果经过第二C3模块,第二C3模块的输出经过第五Conv块后与第三Conv块的输出进入第三Concat模块进行通道拼接,拼接后的结果经过第三C3模块,第三C3模块的输出经过第六Conv块后与第一上采样模块的输出,进入第四Concat模块进行通道拼接,拼接后的结果进入第四C3模块;

第二C3模块的输出作为第一个输出结果;第三C3模块的输出作为第二个输出结果;第四C3模块的输出再输入进iEMA注意力机制模块后的输出作为第三个输出结果;

所述改进的C3_SENetV2模块包括三个卷积块CBS、一个瓶颈层Bottleneck和一个通道拼接模块;定义三个卷积块CBS分别为第六、第七、第八CBS模块;定义通道拼接模块为第五Concat模块;信号在改进的C3_SENetV2模块中的处理流程如下:输入信号先经过第六CBS模块,第六CBS模块的输出分别进入瓶颈层Bottleneck和第七CBS模块,瓶颈层Bottleneck的输出与第七CBS模块的输出进入第五Concat模块进行通道拼接,拼接后的结果经过第八CBS模块输出;

瓶颈层Bottleneck包括具有多分支结构的SENetV2模块和两个卷积块CBS,定义两个卷积块CBS分别为第九、第十CBS模块;信号在瓶颈层Bottleneck中的处理流程如下:输入信号首先经过第九、第十CBS模块,然后经过SENetV2模块,SENetV2模块的输出与瓶颈层Bottleneck的输入信号经过拼接后输出。

2.根据权利要求1所述的基于氨氮浓度预测与水下目标跟踪的水质监测方法,其特征在于,所述步骤3中,改进的ByteTrack跟踪算法,修改卡尔曼滤波的状态参数和自适应噪声协方差矩阵,以解决鱼类目标因快速游动造成跟踪框不准确的问题,引入以观测为中心的重更新机制,以解决了鱼类目标因长期遮挡导致的误差累积问题,改善目标跟踪的结果;

运动轨迹分析模型的具体处理流程如下:

步骤3.1.先使用卡尔曼滤波预测目标边界框的位置,然后使用匈牙利算法进行目标和轨迹间的匹配;把连续视频帧图片序列作为整个运动轨迹分析模型的输入,根据改进的YOLOv5检测模型的置信度分数将检测到的鱼类目标分为两类检测框,并对首帧的所有检测目标创建跟踪轨迹;

步骤3.2.利用改进的自适应噪声卡尔曼滤波预测目标的位置和运动状态,与检测到的高分检测框进行IOU匹配,同时更新匹配成功的轨迹并继承轨迹ID;将未匹配成功的跟踪轨迹与检测到的低分检测框进行IOU匹配,匹配成功的作为下一帧的跟踪轨迹,剩余的跟踪轨迹若保留超过30帧,则标记为删除轨迹,否则保留作为下一帧的跟踪轨迹;

步骤3.3.当保留的跟踪轨迹在30帧内重新检测到时,使用改进的自适应噪声卡尔曼滤波生成的虚拟轨迹更新状态,并计算与检测框的方向一致性进行IOU匹配;

步骤3.4.将未激活的跟踪轨迹与未匹配成功的高分检测框进行IOU匹配,将未匹配成功的高分检测框赋予新ID并创建成新的轨迹,与匹配成功的高分检测框合并到下一帧的跟踪轨迹中,未匹配成功的跟踪轨迹直接标记为删除轨迹;

步骤3.5.通过对当前帧与上一帧的帧间匹配实现鱼类轨迹跟踪,根据多帧间的匹配结果输出最终的跟踪视频、行为轨迹图和对应的TXT文本;

将生成的TXT文本与gt.txt文本进行跟踪性能的评估。

3.根据权利要求1所述的基于氨氮浓度预测与水下目标跟踪的水质监测方法,其特征在于,所述步骤4中,双向LSTM模型的训练过程如下:步骤4.1.采用双向LSTM模型预测水质的氨氮浓度值;

定义V为预测模型的输入,f为不同时间点的浓度值,通过考虑当前时间点及此前5个时间点的氨氮浓度值,以对下一个时间点的浓度值进行预测,表示为:V=(ft,ft‑1,ft‑2,ft‑3,ft‑4,ft‑5);

步骤4.2.对于氨氮浓度样本数据集,分别按照步骤4.1的预测过程重复操作;

将每次预测出来的下一时间点的浓度值与其实际浓度值求均方误差,然后进行反向传播,不断提升预测模型的效果,然后用验证集样本去验证预测模型的准确度。

4.根据权利要求1所述的基于氨氮浓度预测与水下目标跟踪的水质监测方法,其特征在于,所述步骤5中,根据鱼在不同氨氮浓度下的行为状态预设氨氮浓度阈值的过程如下:步骤5.1.为了模拟不同氨氮浓度对鱼类行为状态的影响变化,准备一定数量的健康的鱼群,平均投放在若干个周围贴上白色墙纸的鱼缸中;

分别调制与鱼群分组数量相等的多种不同浓度的氯化铵标准溶液,其中,0mg/L的氨氮浓度作为对照组,其余几组不同浓度的氯化铵溶液,各自加入到不同的鱼缸中;

步骤5.2.随着氨浓度的不断增加,鱼群出现了不同的行为变化,游泳速度变得缓慢,并且处于静止状态的时间逐渐变长;

根据鱼群出现的不同行为变化情况,确定好正常氨氮浓度的氨氮浓度阈值;

若氨氮浓度预测模型预测的氨氮浓度值超出正常阈值,则说明下一时间点的氨氮浓度可能会对鱼群造成不良影响,然后利用摄像机对当前时间点下的鱼类游动视频进行拍摄。

5.根据权利要求1所述的基于氨氮浓度预测与水下目标跟踪的水质监测方法,其特征在于,所述步骤6中,将拍摄的鱼类游动视频进行处理成与步骤1中的数据集一样格式的数据集后,输入到运动轨迹分析模型中进行异常行为的检测和跟踪;

具体地,先将鱼类视频连续帧图片输入改进YOLOv5的检测模型中,得到鱼类检测框及对应的置信度;然后再输入到结合检测模型的改进后的ByteTrack跟踪算法中,根据多帧间的匹配结果输出跟踪视频并生成鱼类在异常预测浓度值下的行为轨迹图。

6.根据权利要求2所述的基于氨氮浓度预测与水下目标跟踪的水质监测方法,其特征在于,所述步骤3.2中,在预测阶段,卡尔曼滤波器根据上一帧的目标位置预测当前帧的状态估计和协方差;在更新阶段,利用当前帧的观测值对预测阶段得到的估计值进行优化,更新跟踪位置和协方差矩阵,具体公式如下所示:其中, 为t‑1帧的后验状态估计,A为状态转移矩阵, 为t帧的先验状态估计;

为t‑1帧的后验估计协方差, 为t帧的先验估计协方差,Q为系统噪声的协方差;

Kt为卡尔曼滤波器增益矩阵,R为观测噪声矩阵,H为状态变量到观测变量的变换矩阵;

其中,zt为观测值,I表示单位矩阵。

7.根据权利要求6所述的基于氨氮浓度预测与水下目标跟踪的水质监测方法,其特征在于,所述步骤3.2中,用跟踪框的宽度w替代卡尔曼滤波状态向量中的跟踪框宽高比α;

修改后的状态向量xt表示为: 其中(xc,yc)表示目标的中心位置

坐标,h是边界框的高度, 是(xc,yc,w,h)的速度向量;

算法中的观测向量zt、系统噪声协方差矩阵Q、观测噪声矩阵R依次更新为:

T

zt=[xc(t),yc(t),w(t),h(t)] (6)

其中, 和 是t‑1帧中跟踪框宽度和高度的后验状态估计, 和

为t帧中跟踪框宽度和高度的先验状态估计,δp、δv和δm是噪声因子;

观测噪声矩阵R通常是一个常数矩阵,忽略了检测噪声的尺度信息,因此在卡尔曼滤波中加入一个约束公式,通过检测得到的置信度得分自适应计算噪声协方差矩阵:其中Rt表示原有常数观测噪声矩阵,ct表示第t帧的检测置信度得分。

8.根据权利要求6所述的基于氨氮浓度预测与水下目标跟踪的水质监测方法,其特征在于,所述步骤3.3中,针对长时间遮挡和非线性运动的鱼类目标,通过添加一个重更新机制纠正目标未跟踪期间累积的误差;该机制在目标轨迹丢失期间,通过重新关联到观测值时被激活,根据一开始和结束未跟踪时段步长的观测值来生成虚拟轨迹 公式如下:其中,t1表示轨迹丢失前的最后时刻,t2表示重新观测到目标的时刻,轨迹丢失前的最后观测值为 重新观测到的观测值为将生成的虚拟轨迹作为丢失轨迹的观测值,沿着虚拟轨迹 的时间段进行重更新,避免无监督观测的影响,有效减少状态估计噪声累积的误差,具体公式如下:由于线性运动假设要求速度方向保持一致性,但鱼类目标的非线性运动会增加速度方向估计的噪声,因此引入速度方向一致性项到关联成本矩阵中来有效减少噪声:其中, 表示关联成本矩阵, 是对象状态估计的集合,Z是新时间节点出现的观测集合,z包含所有跟踪轨迹的观测轨迹,γ表示权重值;

CIOU计算观测值和预测值间的IoU代价矩阵,公式如下:

track

Cv计算连接连续跟踪轨迹上的两个观测值间的弧度θ 和连接恢复轨迹的历史观测intention值和新观测值间的弧度θ 之间的一致性,具体公式如下:

track intention

Δθ=|θ ‑θ | (17)

式中,(u1,v1)、(u2,v2)是两个不同时间节点的观测值,θ表示目标运动方向的弧度,Δθtrack intention表示θ 和θ 之间的弧度差值。