曹誉尹
(重庆交通大学河海学院,重庆 400074)
计算机视觉技术是人工智能的一个重要分支,可以代替人类的眼睛和大脑进行观察和判断。由数码相机组成的二维和三维视觉系统用于收集信息,然后将获得的信息输入计算机进行语义分析和决策。从这个角度来看,图像处理和计算机视觉技术在鱼类检测中发挥着重要作用,使用计算机视觉模型的检测结果可用于识别鱼类物种、估计数量和了解鱼类行为[1,2]。在早期鱼类行为研究中,由传统人为观测要收集的指标必须易于观察和记录,如尾拍频率和跳跃次数。但更复杂的指标,如游泳速度,只能由观察员不准确地估计。有些指标能更恰当和准确地反映鱼类的状况,但更为复杂,需要较高的计算工作量,从而不可避免的对鱼产生干扰,导致在没有准确的行为数据的情况下难以对行为模型进行参数化[3]。鉴于鱼类行为监测的局限性,需要使用侵入性较小的方法高效、准确地量化鱼类行为。
鱼类作为重要的水环境生物指标,对pH、温度、溶解氧等水环境参数的变化十分敏感。其运动特征、生理特征等信息直接反映水环境情况。其中,鱼类运动特征参数包含了鱼类运动行为的最重要信息,而行为作为应付环境的第一性手段,任何能被连续观察和量化的行为反应都可能在鱼类的监测中作为指示信息,计算机视觉技术作为非入侵的技术监测,在检测过程中使动物产生的应激小,减低劳动强度,提高了准确率。
摄食行为是渔业生产非常重要的研究领域。鱼类捕食可分为3个阶段:刺激和激发、搜索和定位、捕食和摄食。鱼群摄食情况直接影响到鱼体生长发育状况,通过有效的视觉信号处理系统,持续监测鱼类的摄食行为,以及监测未食用的饲料来推断鱼类的摄食活动,研究水温[4]、光线周期[5]对摄食规律的影响。在水产养殖中,饲料管理策略可用于调节和控制养殖鱼类的生长性能,同时控制残余饲料对水质平衡的影响,进而提升水产养殖的经济效益。
鱼类游泳行为数据是研究鱼类生活习性的重要信息来源,鱼类游泳速度和加速度能反映其在特定环境下的游泳能力,通过游泳轨迹也在一定程度上判断鱼类对所处的环境是否适应。鳍是鱼类重要的游泳器官,其中尾鳍对游泳行为产生的推动力最大,一般情况下可用摆尾频率和摆尾幅度作为衡量鱼类运动强度的指标,同时背鳍、腹鳍、臀鳍、胸鳍均有保持鱼体平衡的作用。鱼类的游泳行为受季节、时间、光照强度和摄食活动的影响。
鱼类的异常行为主要表现在生长环境恶劣或疾病的情况下,运动速度或方向突变或者运动轨迹刻板单一。通过计算机视觉检测鱼类的异常行为主要是计算游泳绝对速度和游泳速度、体色变化、方向变化率、碰壁率以及到墙壁的距离来反映异常行为的程度。也有学者对鱼类的“个性”行为进行探讨,其指不同时空条件下个体间行为特性的稳定差异,但与遗传效应、种群适合度及群落动态密切相关[6],因此异常行为作为对特定环境下的行为表达与个性行为有本质性的差异。
鱼类应激反应是对多种环境因素产生的应激源的非特异性生理反应。如果没有应激反应,鱼类就无法适应超出环境变化生理调节的正常范围。然而,过强或过长的应激反应是有害的,会导致生长缓慢、生殖能力下降、免疫功能低下以及发病率和死亡率升高。对鱼类种群的科学管理而言,全面分析和评估各种环境应激因素对鱼类生产的影响至关重要。应激源根据其强度和持续时间分为2种:急性应激(水温、溶解氧或盐度),慢性应激(如亚致死氨或亚硝酸盐养殖水)。
粒子图像测速(Particle Image Velocimetry,PIV)通过测量示踪粒子在已知很短时间间隔内的位移来间接地测量流场的瞬态速度分布,是一种瞬态、多点、无接触式的流体力学测速方法。鱼体在水中运动时,由于周身的瞬态压力无法直接通过仪器测得,但压力场作为流场的重要组成部分,是分析鱼类游泳行为及其动力形成的关键因素,因此利用PIV技术对鱼类运动过程中产生的力场进行分析十分有效。
声波技术通过发射单元向水中发射一定频率的声波,可以在水中长距离传播[7]以探测远程目标,使其成为远程检测和识别水中鱼类的方式。随着声学技术的发展,声学作为遥感工具的应用迅速增加,特别是在鱼类保护区。声学技术广泛用于鱼类的时空分布、物种检测和种群评估[8],而不会使鱼类产生应激反应。但鱼类栖息地的波浪和气泡等环境条件会影响声呐图像的质量,需要选择有效的数据算法过滤原始图像的噪声并且其对远距离监控的计算成本高。
基于计算机视觉的鱼类行为的研究,通过摄像机采集鱼类视频图像,对鱼类游泳视频进行预处理,并利用相关算法对鱼类运动目标进行检测与跟踪,来实现高效准确的获取鱼类行为数据,对探究鱼类在特定环境下的生活习性有很大的参考价值。
通过计算机软件进行鱼类游泳视频分析是一种较高效的方法,鱼类游泳动力学分析研究对解决鱼道等工程应用中水力学设计方面的关键问题有着重要的意义,利用计算机技术对鱼类游泳动力学进行分析有助于研究目标鱼类的游泳能力与水力环境因子的响应关系。基于计算机视觉技术对鱼类游泳视频图像序列进行处理时,首先对鱼类游泳运动目标进行跟踪,进而提取出鱼类速度、加速度和摆尾频率等行为信息并提供数据支持,最后通过行为特征参数量化分析特定环境下的鱼类行为。
鱼类在水中常表现为运动状态,因此通过对运动检测可以有效地得到鱼体轮廓和状态。运动检测的目的是从每帧2D图像中提取出表征鱼体运动目标的像素信息,以便为后续的图像分割、目标分类识别或匹配跟踪等环节做准备。运动目标检测算法主要可以分为背景减除法(BS,BackgroundSubtraction)和时间差异分析法(TVA,Temporal VariationAnalysis)2大类。
背景减除法是将待检测的某一帧图像与背景图像作减法,保留下超过某一阈值的像素识别为前景运动目标像素,在场景稳定并且图像像素高的情况下能对运动目标进行分割。但实际视频环境中背景比较复杂,简单的背景减除法难以满足需求。时间差异分析法,是指通过在时间域上分析、提取出帧与帧之间的差异部分视为运动像素,如光流法和帧差法。其缺点主要是对噪声敏感,计算量大且运行耗时长,实时性低。
早期的目标跟踪算法主要是根据目标建模或者对目标特征进行跟踪,主要方法有以下几种。基于目标模型建模的方法:通过对目标外观模型进行建模,然后在之后的帧中找到目标。基于搜索的方法:将预测算法加入跟踪中,在预测值附近进行目标搜索,减少了搜索的范围,提高实时性。常见一类的预测算法有卡尔曼滤波、粒子滤波方法,均值漂移算法,即Meanshift算法及其改进的Camshift算法。Hu[9]等采用改进的视觉跟踪Camshift 算法和运动调节模糊逻辑控制器完成机器鱼目标跟踪任务,并对其胸鳍与尾鳍的偏移角度进行分析。同时,在深度学习的基础上也有研究者用卷积目标识别网络YOLOv2与卡尔曼滤波器优化鱼群的检测跟踪[10]。
鱼类游泳行为数据是研究鱼类生活习性的重要信息来源,鱼类游泳速度和加速度数据能反映鱼类在特定环境下的游泳能力,其游泳轨迹在一定程度上能分析出鱼类对所处的环境是否适应。王卓等[8]利用计算机记录视频跟踪系统,研究了斑马鱼染毒前后运动轨迹变化和水平、垂直2个方向的位移距离和穿梭次数等指标。Michael J.Barry基于计算机视觉技术研究了硫酸奎宁对阿拉伯鳉鱼(Aphanias dispar)绝对游泳速度、向前游泳速度、方向变化率和离壁距离的影响[11]。鱼类游泳的能量消耗取决于游泳速度、转弯速度和加速度,当应对湍急和紊乱的水流时上述参数都可能显著增加。
鱼类为了捕捉猎物、避开掠食者并在水中游动,需要协调身体各部分协作运动,如眼睛、尾巴、下颌和鱼鳍(腹鳍、胸鳍、尾鳍等)等。在大量的针对鱼鳍的研究中,大部分的工作集中在对于尾鳍的研究,但有些鱼类以胸鳍的运动作为主要的推进方式[12]。胸鳍对于鱼类的推进、转向和稳定性非常重要。在咽颌模式中,推进力主要由胸鳍震荡提供,主要以产生恒定或接近恒定推进力的推进力游动。在其他形式的游泳中,胸鳍也有利于改变俯仰、转弯、悬停和制动等行为。还有研究通过处理跟踪记录的图像,获得了鱼在前游、倒游和拐弯3种运动模式下的身体曲线,以及尾鳍和胸鳍的运动学参数[13],但在鱼体游动时胸鳍的变化并不是周期性的摆动[14],难以体现胸鳍作用的规律性。
大多数鱼类通过身体和尾鳍的侧向运动产生持续游泳的推力。根据推进部位不同将鱼类的分为2类:身体/尾鳍推进模式(BCF)和中央鳍/对鳍模式(MPF)。推进方式的不同主要在于横向波动的幅度和身体弯曲的比例,分别是鳗鲡模式、亚鲹科模式、鲹科模式、鲔科模式和箱鲀科模式。Zhao等[15]通过图像处理算法对目标图像进行检测,得到的鱼类质心、尾部和头部坐标等关键点,提出了一种基于鱼类关键特征点的尾频模型。Yuan等[16]通过机器视觉观测统计了河槽汇流分离区附近鲢鱼幼鱼的游泳行为,发现当鲤鱼遇到大涡度切变流时摆尾频率增加,摆尾振幅和游泳速度降低以保持鱼体稳定性。Xiao等[17]通过测量鲫鱼异常尾拍频率和撞壁率来观测监测水质并以此定量评估鱼的逃生行为。
目前,基于计算机视觉的鱼类行为研究,大多数通过一些跟踪方法来建立单一鱼类在特定环境下的运动模型,并从中提取特征参数指标来分析鱼类的行为,不能体现类间差异及生存环境变化而导致的结果。并且根据传统的计算机视觉算法未将背景信息考虑在内,导致在目标遮挡、光照变化以及运动模糊等干扰下容易出现鱼体跟踪失败和跟踪算法执行速度慢,无法满足实时性的要求,鱼类摆尾频率等游泳行为也缺乏量化分析。
因此,亟待提出关于精确测定鱼类行为的方法以及行为学参数对鱼类行为进行预估的模型。随着计算机视觉的不断推进,对于未来的鱼体动态检测可以将深度学习应用于提取鱼的特征参数,对鱼类的检测跟踪进行优化并对不同种类间的鱼或鱼群的行为参数实现现场自动检测,从而更有力地推动鱼类行为研究,为更好地利用指示性生物监测水质环境、鱼类生境重建、保护渔业资源提供理论依据。