基于计算机视觉的鱼类视频跟踪技术应用研究进展
2022-11-11裴凯洋张胜茂邹国华郑汉丰
裴凯洋,张胜茂,樊 伟,王 斐,邹国华,郑汉丰
(1.中国水产科学研究院东海水产研究所,农业农村部渔业遥感重点实验室,上海 200090;2.上海海洋大学信息学院,上海 201306;3.上海峻鼎渔业科技有限公司,上海 200090)
鱼类行为和游泳能力可以反映其所在水域的生态环境状况[1]。利用高清相机拍摄的鱼类视频可用于分析鱼类行为和游泳能力,监控生态系统健康程度和生物多样性[2]。传统的鱼类行为和游泳能力主要通过人工观察并记录,劳动强度大、耗时长、效率低,且需要丰富的专业知识和经验储备,专业人员培养周期较长且受主观评判因素影响较大。
目前鱼类跟踪技术已有广泛应用,通过监控不同水深处鱼群的状态,能够反映鱼类分布及物种丰富程度[3];通过将摄像设备定置在珊瑚附近,监控珊瑚鱼类生长状况、物种丰富度和活动痕迹,可以直接反映珊瑚礁生态系统的健康程度[4];通过在水产养殖厂安装监控设备,可以实时获取鱼类生长及健康状况,动态管理养殖环境[5]。
计算机视觉技术可以有效监控水下鱼类行为。计算机视觉技术可以从自然光或主动光照环境下拍摄的鱼类视频中获取鱼的种类、数量、行为及游泳速度等信息,这种方式可以在不干扰鱼正常活动的情况下,获取更加客观真实的数据。非干扰式连续检测鱼类,可量化鱼类有用行为参数,对评价鱼类游泳能力、鱼群数量、鱼类生长情况和区域生态环境等信息具有重要的生物学和生态学意义[6]。本文系统综述了鱼类视频跟踪技术最新的研究进展,介绍不同方法的技术路线及优缺点,指出鱼类视频跟踪领域的发展方向。
1 鱼类跟踪技术流程
鱼类视频跟踪主要分为水下图像采集、图像清晰化、鱼类跟踪、轨迹输出4个部分。水下拍摄的情况复杂,因此在视频跟踪目标前需要先对图像进行清晰化处理,再根据鱼类目标所在不同帧的序列位置,确定运动目标所在位置,关联获得鱼类运动轨迹[7]。其中,图像清晰化和鱼类跟踪是流程中最重要的环节。
2 图像清晰化
自然条件中拍摄的水下图像受光线在水中传播的影响,水下不同波长的光线呈现不同程度的指数衰减,光线散射导致水下图像出现模糊、偏色和能见度低等问题[8-9]。水下图像清晰化领域的研究方向主要分为图像增强、图像复原和深度学习。
2.1 图像增强
2.1.1 直方图拉伸
水下图像的直方图分布相对集中,大部分像素的灰度值较大,具有较低对比度和动态范围[10]。同态滤波[11]、多色彩直方图拉伸[12]均通过直方图变换实现水下图像增强。2010年IQBAL等[13]提出颜色修正和选择性直方图拉伸的对比度优化方法,在此方法之上,GHANI和ISA[14]采用瑞利分布函数对输入图像直方图进行重新分布。单纯的直方图变换方法可以在一定程度上提升水下图像的质量,但当拍摄图像质量较差或环境较复杂时会引入噪声。
限制对比度直方图优化算法CLAHE(contrast limited adaptive histogram equalization),可以一定程度上克服引入的噪声问题。基于CLAHE算法的CLAHE-RGB算法是将CLAHE分别应用于RGB模型的3个组件,组合各个分量获得全彩色RGB结果,CLAHE-HSV算法是将CLAHE分别应用于色相、饱和度和像素值获取结果;HITAM等[15]提出混合限制对比度自适应直方图算法(Mix-CLAHE)能够提高水下图像能见度,增强对比度并降低噪声和伪影,并显著提高水下图像的视觉质量。
2.1.2 Retinex理论
Retinex理论[16]对图像有较好的色彩恢复和保持效果,在色彩校正和边缘细节锐化等方面有明显提升,被广泛应用于水下图像增强算法中。WANG等[17]在Retinex理论基础上提出估计非均匀光照条件下图像光照分量方法,将Retinex理论引入水下图像增强。随着Retinex理论研究的不断深入,FU等[18]在空间域中估计图像反射和照射分量并与颜色修正图像融合,克服了Retinex方法在对数变换过程中运算速度慢的缺点。ZHANG等[19]结合Retinex方法,使用双边滤波和三边滤波方法增强水下图像的CIELAB色彩空间,相比FU等的方法在复杂场景下的应用更有宽容度。
2.2 图像复原
图像复原的思想是根据水下图像的正向退化过程构建数学模型,并利用该模型反演图像退化过程,从而获得理想状态下的复原图像。SCHECHNER和KARPEL[20]利用水下散射的偏振效应恢复水下图像,HAN等[21]根据图像的倾斜边缘对点扩散函数进行估计,最终复原水下图像。DREWS等[22]求解了水下图像成像模型获得复原图像,利用暗通道先验知识估计水下图像的传输函数,实现水下图像增强。杨爱萍等[23]结合水下成像模型,通过构造图像亮度、对比度等特征权重图并进行多尺度融合,有效去除水下图像的蓝绿色调。以上方法在单一场景的水下图像增强效果较好,但在复杂光照的水下图像中适用性较差。
由于雾天图像与水下图像相似,都呈现对比度较低、画面模糊的现象,因此有研究将雾天增强算法应用于水下图像增强。HE等[24]提出基于暗通道先验的雾天图像复原算法,同样可以用于水下图像复原。GALDRAN等[25]将暗通道先验方法与图像去雾模型结合,使复原图像的对比度有较大提升。LI等[26]提出了使用白平衡和改进的暗通道先验结合的方法,利用PROVENZI等[27]提出的灰度世界假设对图像红通道进行颜色校正处理,并通过暗通道先验方法对水下图像的蓝绿通道进行处理,从而解决图像过亮或过暗问题。
2.3 深度学习
2017年深度学习方法开始被应用于水下图像清晰化领域。PEREZ等[28]使用成对的水下清晰和退化图像组成数据集,使用深度学习训练得到二者映射模型,完成水下图像增强任务。LI等[29]同样采用成对的清晰图像和水下实拍图像作为数据集,训练生成对抗网络实现单幅影像的实时修正。YANG等[30]也采用生成对抗网络构造数据集,然而不同于LI等[29]的方法,YANG等[30]采用双重判别器获取水下图像的全局语义信息,进而可以合成更加逼真的水下图像。生成对抗网络模型虽然可以明显提升水下图像的整体清晰度,但复原后的图像仍然存在细节模糊和边缘不清楚的情况。
除生成对抗网络外,也有采用卷积神经网络模型实现水下图像增强的研究。DING等[31]采用自适应颜色校正方法对水下图像进行色彩补偿,再用卷积神经网络进行图像补偿和去模糊处理。区别于DING等[31]校正图像色彩的方法,WANG等[32]利用卷积神经网络模型获得图像RGB 3个通道的衰减系数,进而实现水下图像去雾和颜色校正。除对图像进行直接处理的方法外,徐岩和孙美双[33]使用卷积神经网络直接在清晰图像和水下图像之间建立映射关系,通过提取水下图像特征进行图像复原。SUN等[34]提出了像素-像素的模型对水下图像增强,模型采用编码器-解码器框架,使用卷积层作为编码器对水下图像去噪,使用反卷积增强图像细节。卷积神经网络模型在水下图像去噪方面效果比较明显。
2.4 水下清晰化算法对比
面对水下图像的清晰度低、对比度低、边缘模糊等情况,实现清晰化的方法有很多,但不同方法都有各自效果及优缺点。图像增强方法通过调整图像色彩实现,图像复原方法通过建立水下图像退化模型实现,深度学习方法通过学习模糊水下图像和清晰图像间的特征实现。表1为图像清晰化方法对比。
表1 水下清晰化算法对比Tab.1 Com parison of underwater definition algorithms
3 鱼类目标跟踪
水下视频鱼类跟踪主要受鱼类运动状态不确定性和观测数据不确定性影响,导致水下观测设备无法准确感知鱼类的运动规律,跟踪目标不确定。鱼类跟踪方法根据观测模型的不同,主要分为生成式方法和判别式方法。
3.1 生成式方法
生成式方法通过分析视频图像第一帧中的目标特征,从而生成跟踪模板,并在后续图像帧中搜索与模板最相近的目标,实现跟踪任务。基于稀疏编码的跟踪是生成式方法应用最广泛的方法,其是通过目标模板生成子空间,并在后续的视频帧中确定候选区,计算候选区与目标模板之间的重构误差,重构误差最小的候选区就作为跟踪的目标。
基于稀疏编码思想,JIA等[35]对要跟踪的目标采取分块操作,并对跟踪目标进行建模,最后用得到的模型完成目标跟踪任务。此方法跟踪效率高,但当对水下鱼类跟踪时,由于鱼类游泳姿态变化较大,容易出现目标丢失的情况。因此,DONG等[36]在图像多特征融合中加入联合稀疏表示,还对目标进行多特征表现描述,实现在鱼类游泳姿态变化时对鱼类目标相对稳定的跟踪。在多目标跟踪方面,HU等[37]为了动态约束相关模板,将稀疏权重引入全模板集中,并在部分遮挡情况下加入多特征融合稀疏表示,从而实现对多目标的跟踪。生成式方法通常执行效率较高,但由于其重点关注目标信息而忽略背景信息,当目标被部分遮挡或形态变化较大时,容易出现目标丢失或跟踪不稳定的情况。
3.2 判别式方法
判别式方法将目标跟踪问题转换为分类问题,通过分类器判别目标和背景,从而实现对目标的跟踪任务。由于分类器的使用,使判别式方法在跟踪任务中的速度更快、精度更高、性能更优越,因此在目标跟踪领域应用广泛。
3.2.1 相关滤波
基于相关滤波跟踪的基本思想是通过预先设定的滤波模板,对下一帧图像中使用模板进行卷积操作计算响应值,响应值最大的区域就是目标所处的位置,依次操作完成目标跟踪任务。
BOLME等[38]提出的MOSS(minimum output sum of squared error filter)算法是较早的基于相关滤波的跟踪算法,主要使用图像的单一灰度特征实现目标跟踪,处理速度最快可达669 fps,但跟踪精度较低。HENRIQUES等[39]提出核相关滤波算法KCF(kernel correlation filter),先在当前帧图像中训练一个目标检测器,再判断检测器检测之后图像帧中预测的位置是否包含目标,进而完成对目标的跟踪,并用新的检测结果训练检测器,实现目标检测更新。杨东海等[40]提出根据当前和之前图像帧中的鱼类目标,训练多核相关滤波器,并与新输入的视频帧进行相关性计算,根据响应值预测跟踪结果,响应值最大处即为跟踪的鱼类位置。
区别于使用单特征作为鱼类目标检测的方法,YANG和ZHU[41]提出的SAMF(scale adaptive with multiple features)算法使用多特征方法,将方向梯度直方图特征、联合颜色特征和灰度特征进行矢量叠加,完成多特征融合,同时引入尺度池方法,对候选区域做尺度运算,找到当前帧与上一帧中鱼类目标的最大响应值,从而实现鱼类视频跟踪。在尺度池方法的基础之上,DANELLJAN等[42]提 出 了DSST(discriminative scale space tracking)算法,相比SAMF算法对7个尺度进行运算,DSST算法提出对33个尺度进行运算,比SAMF算法跟踪效果更加精细准确。
3.2.2 深度学习
深度学习在目标分类方面性能突出,适合作判别式跟踪方法中的分类器,近年来有一系列深度学习方法应用于目标跟踪领域[43-48]。NGUYEN[49]等 提 出 的MDNet(multi-domain network)采用特征提取和多分支检测结合的网络结构,并针对每个视频序列构建一个新的检测分支进行训练。网络分支间共享网络特征,从而在进行水下鱼类跟踪时确定鱼类位置。除多分支结构的网络模型外,还有使用SiamRPN[50]和Siam RCNN[51]等孪生网络实现目标跟踪。
卷积神经网络在图像识别方面效果出色,被广泛应用于判别式跟踪方法的分类器中。基于KCF算 法,MA等[52]提 出HCF(hierarchical convolutional features)算法,将KCF中提取的特征部分由方向梯度直方图特征替换为VGG19模型中conv3-4、conv4-4和conv5-4输出的卷积特征,经过相关滤波学习得到3个置信图,通过加权融合确定最终鱼类位置,实现鱼类跟踪。VALMADRE等[53]提出的CFNet(correlation filter network)算法同样是在相关滤波算法中融入图像卷积特征。CFNet模型将相关滤波作为卷积神经网络中的一层,使得相关滤波算法可以用端到端的方法在卷积神经网络中训练。CFNet模型运算速度快,对鱼类目标跟踪的实时性效果较好。
3.3 鱼类跟踪算法对比
生成式和判别式方法均可实现鱼类目标跟踪,生成式方法运算速度较快,但受制于生成的模板固定,当目标形态变化或被遮挡时,跟踪精度较低。相比于生成式方法,判别式方法先用分类器检测目标与背景,再对目标进行跟踪。如此,当目标形态变化时依然能检测到目标,但运算效率相对低下。表2为不同跟踪算法对比。
表2 鱼类跟踪算法对比Tab.2 Comparison of fish tracking algorithms
4 小结与展望
计算机视觉技术的发展为水下鱼类行为分析和生态系统监控提供了新的观测途径。但应用计算机视觉技术时,也存在下面的不足与局限性,有待进一步开展相关研究。
1)水下拍摄环境复杂,受光照和水文条件影响较大。光线在水中传播时能量衰减较快,且在水质混浊的区域光散射现象严重,更好的图像增强或图像复原方法清晰化处理水下图像,可以提高图像水下目标检测和跟踪精度[54]。
2)在深度学习方面仍需继续投入研究,提高模型精度,降低模型占用资源,便于嵌入离线设备中。
3)对水下视频监控应用计算机视觉辅助研究鱼类行为、评估渔业资源的方法起步较晚,得出的结果需与大量实地调查结果进行对比,以检验方法的实用性和可行性。