基于改进边界匹配网络的鱼群摄食动作时序检测方法研究

2023-12-23 03:15王丁弘杨信廷朱文韬焦冬祥
渔业现代化 2023年6期
关键词:鱼群摄食置信度

王丁弘,杨信廷,潘 良,朱文韬,焦冬祥,周 超

(1 上海海洋大学信息学院,上海 201306;2 北京市农林科学院信息技术研究中心,北京 100097;3 农产品质量安全追溯技术及应用国家工程研究中心,北京 100097;4 中洋渔业(江门)有限公司,广东 江门 529200)

在集约化水产养殖中,鱼类的投喂水平直接决定了生产效率和养殖成本。过量投喂不仅会造成饲料浪费[1],而且残余的饲料分解还会产生氨氮等有毒物质,导致水体富营养化,增加鱼类患病风险[2]。饲料投喂不足则会增加鱼类间的侵略性[3],易抢食而导致伤残[4-5]。实时量化鱼类摄食行为,并以此为据调整投喂,有助于解决上述问题[6-9]。对鱼类的摄食动作进行检测可以获取鱼类的摄食频率和摄食时间等信息,为优化投饲提供理论依据和数据支撑[10]。

已有相关研究将声学、光学以及其他传感器来量化和分析鱼类摄食行为。例如,声学传感器被用于检测鱼群摄食强度[11],但声学传感器易受噪声干扰,限制了其在实际生产中的应用[12]。机器视觉技术因其自动、无创、经济和高效的优势[13-14],被广泛用于评估鱼类食欲[15]。Liu 等[5]使用了帧间差法、背景减除和二值化等一系列图像处理算法,以自动识别和量化鲑鱼摄食行为。周超等[16]利用近红外视觉评估鱼类摄食强度。但上述研究均需要提取复杂的手工特征,模型受特征选取影响较大。深度学习能从海量数据中自动提取高维特征,已被广泛应用于鱼类摄食强度评估、鱼类识别[17-19]、鱼类计数[20-21]、目标检测[22-25]等方面。近年来,利用深度学习识别鱼类摄食行为已成为主流。Zhou等[6]提出一种基于LeNet5模型构建的7层CNN模型来评估鱼类食欲,分级准确率达到90%。陈明等[26]运用特征加权融合的方法实现了鱼类摄食强度评估,准确率达98.89%。徐立鸿等[27]将注意力机制引入卷积神经网络,提出基于改进长期卷积循环网络(LRCN)的鱼群摄食强度分类模型,分类准确度达97%。许学斌等[28]在网络初始端添加不同尺度的卷积核,并引入混合注意力机制,聚焦重要特征区域来降低复杂背景干扰,识别精度达到98.65%。

虽然以上模型在摄食强度检测方面取得了较好的效果,但其检测对象均为摄食强度片段,缺乏对于整个摄食过程的把控和判断,难以精准定位鱼群摄食动作的时间边界。时序动作检测模型可通过定位未裁剪视频中动作的时间边界,预测动作的开始和结束时间。Lin等[29]提出边界敏感网络(Boundary Sensitive Network,BSN)来预测动作的开始和结束时间,首先去定位时序动作片段的开始和结束边界点,然后将两边界点直接结合成时序动作提名,最后通过设计的模块来评估每个提名的置信度。但BSN只使用了局部特征来预测动作边界,没有考虑序列特征丰富的上下文信息,也没有考虑每个提名之间的关系,检测精度不高。为解决该问题,Su等[30]在模型中增加了互补边界生成器和提名关系建模来丰富上下文信息并提升提名的预测置信度。除了上述问题,BSN还存在提名特征构建和置信度评估无法并行对提名进行处理、不是一个统一的网络模型等问题。Lin等[31]提出边界匹配网络(Boundary Matching Network,BMN),BMN引入了边界匹配机制来评估密集分布的提名的置信度,并且组成了一个统一的网络框架,可进行端到端的联合训练。

BSN++[30]和BMN[31]同时作为高效的时序动作检测模型,都可同时产生动作开始和结束时间匹配对提名和其对应的置信度分数,但对于鱼群时序摄食动作检测来说,BMN相比于BSN++的检测精度高,所以选用BMN模型进行进一步改进。由于在鱼群摄食视频中鱼群密度高、摄食动作迅速,BMN在处理该视频时精度仍不够高,导致对于鱼群摄食和非摄食状态探测模糊。

本研究针对未经裁剪且包含鱼群完整摄食过程的视频进行时序动作检测。通过将注意力机制和残差连接引入BMN中,提出了BMN-Fish鱼群状态检测网络,增强了算法对摄食过程局部和全局特征的感知能力,有助于解决现有方法在探测摄食状态切换时误差较高的问题。可有效定位鱼群摄食动作的时间边界,实现鱼群摄食和非摄食状态的精准时序探测,进而指导精准投喂。

1 材料与方法

1.1 环境与材料

试验地点位于北京市农林科学院信息技术研究中心的循环水养殖实验室,如图1所示。该系统由6个高1.2 m,直径均为1 m的鱼池组成,水深1 m,并配套有水处理系统。试验对象为金鳟鱼,为消除环境变化对鱼的应激,试验对象首先进行为期1个月的适应性养殖,以消除环境变化对鱼类摄食的影响。

图1 循环水养殖系统Fig.1 Recirculating aquaculture system

试验光源为固定亮度的Led灯。金鳟鱼均重为550±10 g,养殖水体溶氧9~11 mg/L,温度15±1 ℃,投喂量95±10 g。投喂装置为养殖池上方的投饲机,可调节饲料抛洒范围。视频数据采集使用Gopro水下运动相机,在水面中心以下15 cm处进行拍摄,图像分辨率为1 920×1 080,帧率为60 fps。

1.2 数据集构建

为实现鱼群摄食动作时序检测,需要准确获得鱼群摄食的开始和结束时间。采集的视频数据均包含鱼群完整的摄食过程,视频时间均为20~200 s不等,共计100段视频。由于鱼类动作类别较单一,导致网络训练易过拟合,本研究中引入ActivityNet-1.3数据集[32]。ActivityNet-1.3作为一个大型数据集,一般用于时序动作提名的生成和检测,包含19 994段视频,附有200个动作类别的注释文件。将采集的鱼群视频数据与公共数据集ActivityNet-1.3合并,组成具有201个动作类别的大型数据集,并随机将其中75%作为训练集,12.5%作为验证集,12.5%作为测试集。

1.3 基于改进的BMN鱼群状态探测网络

鱼群密度高、摄食动作迅速,BMN在处理鱼群摄食视频时精度不高,导致对于鱼群摄食状态探测模糊,为解决上述问题,本研究在BMN的基础上进行改进,提出鱼群状态检测网络BMN-Fish,如图2所示。BMN-Fish首先采用时序分段网络(Temporal Segment Networks,TSN)[33]对视频进行特征编码,得到对应编码的视觉特征向量;其次,通过高效深度模块输出时序评估模块和提名评估模块所共享的时序特征向量;最后,分别通过时序评估模块和提名评估模块生成匹配对提名和二维置信度图,通过匹配对提名和二维置信度图中的置信度一一对应,获取检测结果。

图2 BMN-Fish算法结构图Fig.2 BMN-Fish algorithm structure diagram

本研究在原始BMN算法基础上:(1)为解决鱼摄食动作状态捕捉性较差的问题,加入高效通道注意力模块(efficient channel attention module net,ECANet)[34]来提高鱼摄食状态的局部性动作捕捉,从而进一步扩大时序维度特征的感受野;(2)为解决捕捉到的局部摄食动作特征之间的时序性关系模糊的问题,引入残差连接[35],将基础模块改为基础残差模块(base residual module,BRM),加强了局部摄食动作特征之间时序性关系,使算法能更多关注到特征图中感兴趣的区域。两种改进加强了算法对于特征的重用能力,有效提升模型性能。

1.3.1 视频特征提取

由于TSN网络[33]在动作识别任务中具有较好性能,并被广泛用于时序动作检测和提名生成任务中[36],因此本研究视觉编码器采用基于kenetics400[37]预训练模型的TSN网络。TSN网络包含两个分支:(1)在单一的RGB帧上捕捉外观特征的空间网络;(2)在堆叠光流场上捕捉动作特征的时序网络。

首先,为获得RGB帧和光流图,使用视频截帧提取光流工具denseflow将视频逐帧截为分辨率为340×256的图像,并提取对应的光流图;其次,将单帧图像和其对应叠加光流组合成一个片段放入TSN网络中提取特征,并将提取的外观特征和动作特征有效串联,形成一帧完整的视频级别特征;最后,为充分利用视频中每一帧的变化,每隔f帧提取特征并按时间顺序组合,形成lv×400的向量,因每个视频的总帧数不同,则向量得到了不同的时间长度lv=l/f。其中l表示未经裁剪视频的长度,f=16。

视频特征提取流程如图3所示。

图3 特征提取示意图Fig.3 Feature extraction diagram

1.3.2 高效深度模块

为进一步处理输入的特征序列,提高模型对摄食过程局部和全局特征的感知能力,并为后续的时序评估模块和提名评估模块提供共享特征序列,本研究基于BMN,在模型中加入高效通道注意力模块,并且引入残差连接将原有基础模块进行改进。改进方法如下:

(1)加入高效通道注意力模块

高效通道注意力模块(efficient channel attention module net,ECANet)[34]是一种局部的跨通道交互策略,该模块通过一维卷积实现该策略。此外,ECANet使用一种自适应选择一维卷积的内核大小的方法,以确定局部跨通道交互的覆盖范围。ECANet结构如图4所示。

图4 ECANet结构图Fig.4 ECANet structure diagram

由于鱼群密度高、摄食动作迅速,模型对各个鱼的摄食动作状态捕捉性较差,通过加入高效通道注意力模块,提高了模型对鱼摄食状态的局部性动作捕捉,加强了局部信息提取能力,进一步扩大了时序维度特征的感受野。

(2)引入残差连接

引入残差连接[35],将BMN的基础模块(Base Module)改进为基础残差模块(base residual module ,BRM)。BRM在两个卷积核大小为3的一维卷积基础上,引入残差连接。模型结构如图5所示。

图5 BRM结构图Fig.5 BRM structure diagram

通过加入高效通道注意力模块,虽然加强了模型对鱼摄食状态局部性动作捕捉,但是捕捉到的局部摄食动作特征之间的时序性关系模糊,缺少前后帧局部特征关系的连接性处理。通过残差连接将一维卷积a和一维卷积b的结果相加,使得输入信息绕道传到输出,保护信息的完整性,加强了局部摄食动作特征之间时序性关系,使算法能更多关注到特征图中感兴趣的区域。

(1)

式中:ω为滑动窗口,Fω为特征向量,其中ω={tω,s,tω,e,Ψω,Fω}。tω,s和tω,e分别为该滑动窗口在视频中的鱼群摄食开始和结束的时间,Ψω为滑动窗口中包含的真实摄食动作实例标注,Fω为得到的特征向量。

1.3.3 时序评估模块与提名评估模块

本研究沿用时序评估模块(temporal evaluation module,TEM)和提名评估模块(proposal evaluation module,PEM)的结构[31]。通过TEM生成2个输出,分别为鱼群摄食开始和结束时间概率,该概率序列将用于后续提名的生成。TEM结构中开始时间概率的分支和结束时间概率的分支,都包含一个卷积核大小为3的一维卷积和一个卷积核大小为1的一维卷积,最终利用Sigmoid函数生成对应范围为 [0,1]的概率。

PEM生成边界匹配置信度图如图6所示。

图6 边界匹配置信度图Fig.6 BM confidence map

定义一个时序提名为一个开始时间和一个结束时间所构成的时间匹配对,并按时序提名开始时间的位置和时间长度,将所有可能存在的时序提名形成二维的边界匹配图。在该图上每一行时序提名具有相同的时序长度,每一列时序提名具有相同的开始时间,因此该图可表示出所有潜在存在的提名。而每个点的数值即为提名所对应的置信度,因此通过边界匹配置信度图为所有提名产生置信度。

通过边界匹配置信度图与上述TEM生成的鱼群摄食动作概率序列相结合,最终生成所有提名以及对应的置信度,如图7所示。

图7 边界匹配置信度图和摄食开始结束概率图结合示意图Fig.7 Diagram of combination of BM confidence map and probability graph of feeding beginning and ending

1.3.4 提名后处理

提名后处理目的是排除多余的提名。对于从鱼群开始到结束摄食区间内的真实值,模型可能会预测出多个具有不同时间重叠的提名。为用更少的提名获得更高的召回率,本研究使用Soft-NMS[38]对多余的提名进行冗余抑制。Soft-NMS作为一种高效的非极大值抑制算法,使用分数衰减函数来实现多余提名的筛除,首先,将所有的提名按其置信度分数由高到低排序。其次,计算最大置信度分数的提名φm与其他提名φr的重叠度iou,其中重叠度高的提名,置信度分数被递减。然后,在其他提名之间递归进行上一步操作。最后,所有提名将得到被重新更新的置信度。

2 结果与分析

2.1 试验平台与评价标准

2.1.1 试验平台与模型训练参数

本试验的硬件配置为:CPU 12th Gen Intel Core i9-12900KF,内存32GB,GPU 为Nvidia GeForce RTX 3090 Ti 24GB。软件系统环境为Windows10 64位操作系统,CUDA 10.2版本,CUDNN 8.3.0版本,Python 3.7版本,Pytorch 1.10.0版本。

在训练模型时,优化器采用自适应矩估计(Adaptive Moment Estimation,Adam),训练阶段的试验参数设置如表1所示。

表1 不同模型试验结果比较Tab.1 Comparison of different models

2.1.2 评价标准

本研究的目标是生成高质量的鱼群摄食开始和结束时间的提名匹配对,而其与真实的鱼群摄食开始和结束时间的匹配对时间高度重合。目前主流框架[29-31,39-40]均使用AR@AN和AUC指标评估各提名是否具有高召回率和高时间重叠性,因此本文使用AR@AN和AUC作为评价指标。

AR@AN是用于评估算法在预测摄食动作边界的性能指标。AR@AN计算在AN个提名片段中正确预测摄食动作边界的比例。其中,AN表示一个预测视频可以生成的总提名个数,AR表示平均召回率,即正确预测摄食动作边界的提名数量除以实际摄食动作边界的数量。本研究AN取值从0到100不等。

AUC(Area Under Curve)是平均召回率(AR)与平均提名数(AN)曲线下的面积,用于评估算法在预测摄食动作边界时的全面性能指标。与AR@AN不同,AUC综合考虑了所有提名的预测结果,而不仅仅是AN个提名。通过使用AUC指标,算法可以全面地评估其在预测视频摄食动作边界方面的性能。

2.2 算法训练结果

在使用相同数据集和保持参数一致的情况下,BMN-Fish和BMN的训练过程损失曲线如图8所示,在12次迭代之前,模型损失迅速减小,然后随着迭代次数的增加,BMN-Fish仍旧迅速减小,然而BMN损失缓慢向下且振荡减小,最后两者在15次迭代之后趋于稳定。最终BMN的损失值稳定在1.05左右,BMN-Fish的损失值稳定在0.95左右,收敛值明显优于BMN。

图8 两种模型训练损失值Fig.8 Training loss of two models

2.3 消融试验

2.3.1 消融试验方案设计

为验证本研究对BMN[31]改进的性能,设计消融试验,内容如下:(1)为验证高效通道注意力模块[34]在摄食动作状态捕捉性上的性能。首先将BMN模型加入高效通道注意力模块;然后训练模型;最后将原始BMN和增加了高效通道注意力模块的BMN进行对比试验。(2)为验证基础残差模块[35]在解决局部摄食动作特征之间时序性关系模糊问题的有效性。首先将BMN原有的基础模块替换为改进的基础残差模块;然后训练模型;最后将原始BMN和改进基础模块后的BMN模型进行对比试验。(3)为验证高效通道注意力模块和基础残差模块在捕捉局部摄食动作状态和增强前后帧局部特征关系的性能。将BMN模型同时加入高效通道注意力模块和基础残差模块,进行模型训练,然后与原始BMN模型进行对比试验。上述对比模型均使用同一数据集和相同参数,进行相同轮次模型训练与模型测试。

2.3.2 消融试验结果与分析

如表2展示了试验结果。加入高效通道注意力机制模块,模型的AUC达到92.24%,提升1.09%,并且AR@AN都有0.5%以上的提升。其用于深度卷积神经网络的通道注意力模块,通过快速的一维卷积以及生成自适应卷积核大小[34],提高了模型对于各个鱼摄食状态的局部性动作捕捉,加强了局部信息提取能力,进一步扩大了时序维度特征的感受野。

表2 不同模块对网络的贡献Tab.2 Contribution of different modules to the network

将BMN原有的基础模块替换为改进之后的基础残差模块,AUC提升了2.05%。在AN=5和AN=10的情况下分别有2.78%和2.5%的提升。通过加入残差连接[35],增加了前后帧局部特征关系的连接性处理,加强了局部摄食动作特征之间时序性关系,使算法能更多关注到特征图中感兴趣的区域。

同时将BMN模型加入高效通道注意力模块和基础残差模块,AUC提升了2.17%,AR@AN提升了1.95%。试验结果表明,两个模块同时作用能进一步增强鱼摄食状态局部性动作捕捉能力和前后帧局部特征关系,提高模型对摄食过程局部和全局特征的感知能力。

2.4 与其他算法的比较

时序动作检测算法可通过定位未裁剪视频中动作的时间边界,预测动作的开始和结束时间。BSN[29]、BSN++[30]、BMN[31]是目前精度较高的时序动作检测算法,并且都是为了解决水下鱼群密度高、摄食动作迅速导致时序检测效果不佳的问题,因此本文选取BSN[29]、BSN++[30]、BMN[31]与BMN-Fish进行对比试验。

在采用相同参数和验证集的情况下,BMN和BMN-Fish对每个鱼群摄食视频的平均检测时间分别为28 ms和32 ms,二者检测时间相差4 ms,相对于本研究检测视频的长度基本可以忽略不计,因此在检测速度大致相同的情况下,本研究更关注精度方面的结果。在精度方面,各时序动作检测模型与BMN-Fish比较结果如表3所示。根据试验结果分析可得,本研究所提出的模型取得良好成绩。

表3 各模型AUC和AR@AN对比表Tab.3 Comparison table of AUC and AR@AN by models

BSN[29]、BSN++[30]、BMN[31]虽然都是为了解决鱼群摄食和非摄食状态探测模糊问题,但模型都缺乏对于鱼群摄食过程局部和全局特征的感知能力。BMN-Fish的局部跨通道交互策略在提高了模型局部性动作捕捉能力的同时引入残差结构,使得捕捉到的局部摄食动作特征之间的时序性关系更为紧密。综上所述,BMN-Fish与参与对比的模型相比更适合鱼群摄食动作时序检测任务。

由于不同的冗余提名抑制方法会在很大程度上影响模型的性能,为验证Soft-NMS方法对预测的多个具有不同时间重叠的提名的冗余抑制能力,本研究将同主流的冗余提名抑制方法NMS进行对比试验[38]。如图9和图10所示。

图9 各模型在使用NMS和Soft-NMS后AUC对比图Fig.9 Comparison of AUC of each model after using NMS and Soft-NMS

图10 各模型在使用NMS和Soft-NMS后AR@AN对比图Fig.10 Comparison of AR@AN of each model after using NMS and Soft-NMS

检验对结果后处理的两种冗余提名抑制方法(NMS和Soft-NMS)的效果,仍然使用上述时序动作检测模型与BMN-Fish进行比较。试验结果表明,所有模型使用Soft-NMS方法比使用NMS方法,指标AUC至少提升4%。特别是在提名数为1的情况下,BSN++、BMN和BMN-Fish的AR@1提升27%以上,有利于执行摄食动作提名生成任务。并且当提名数从5到100之间,BMN-Fish在使用Soft-NMS方法时,指标AR@AN比BMN高1.3%以上,指标AUC比BMN高2.17%。试验结果表明,在鱼群摄食动作时序检测方面,使用Soft-NMS方法比使用NMS方法对于模型的性能有较大的提升。

上述结果表明,本研究算法具有较好的性能,是因为本算法可以生成具有以下特点的提名匹配对:(1)产生灵活长度的提名匹配对,更贴近大多鱼群摄食动作真实值;(2)通过采用时序卷积网络学习开始时间和结束时间的概率定位精确的时间边界,使得生成的提名匹配对和真实值具有高重叠度;(3)边界匹配机制可为所有提名匹配对生成置信度分数,可以合理检索所有提名匹配对,从而使用相对较少的提名实现高召回和高重叠度。图11为各时序动作检测模型与BMN-Fish在2段鱼群摄食视频的预测结果实例。

图11 模型预测结果可视化Fig.11 Visualization of model prediction results

两段视频长度分别为20.93 s和178.07 s,第1段视频鱼群摄食真实时间段为0.02~20.1 s,本模型预测时间段为0.01~19.7 s;第2段视频鱼群摄食真实时间段为103.2~148.2 s,本模型预测时间段为104.1~149.1 s。该模型通过加入高效通道注意力模块[34]和基础残差模块[35],解决了鱼群摄食和非摄食状态切换点探测模糊的问题。相比其他模型,该模型可精确预测出鱼群摄食过程的开始和结束时间,可以有效检测鱼群的时序摄食动作,从而为智能化水产养殖提供算法支持。

然而本研究也存在一定的局限性,如图11第2个预测可视化结果,该测试视频鱼群弱摄食持续时间长、存在饵料残留现象,导致在摄食末期预测会有一定偏差。未来可与鱼类残饲检测[41]相结合,辅助改进算法进行鱼类摄食动作检测,降低残饵的影响,从而提高预测精度。

3 结论

为高效实现鱼群摄食动作检测,本研究提出了鱼群状态检测网络BMN-Fish。通过在原始BMN基础上加入高效通道注意力模块和基础残差模块,增强了算法对摄食过程局部和全局特征的感知能力。试验结果表明,BMN-Fish的AUC达到93.32%,比BMN提高2.17%,同时在提名数(AN)为100的平均召回率(AR),即AR@100有1.95%的提升。因此,在鱼群摄食状态检测方面,BMN-Fish优于BMN,且能够更加精准检测鱼群摄食动作,可为开发精准投喂系统提供算法支撑。由于实验室鱼种单一,在后续会扩充鱼类数据集,将该算法推广运用至其他鱼类。

猜你喜欢
鱼群摄食置信度
硼铝复合材料硼含量置信度临界安全分析研究
两种不同投喂策略对加州鲈摄食量和生长的影响
轻则摄食减慢,重则大量死鱼!加州鲈养殖亚硝酸盐超标,预防处理如何做好?
笼养灰胸竹鸡入冬前日摄食量规律的研究
正负关联规则两级置信度阈值设置方法
鱼群漩涡
基于改进鱼群优化支持向量机的短期风电功率预测
基于人工鱼群算法的光伏阵列多峰MPPT控制策略
置信度条件下轴承寿命的可靠度分析
多子群并行人工鱼群算法的改进研究