汪小旵,武 尧,肖茂华,施印炎
(南京农业大学 工学院, 江苏 南京 210031)
水产养殖为全世界提供了优质的蛋白质来源[1],已成全球食品生产中增长最快的行业之一。据统计,新冠疫情以来全球消费者对于包装和冷冻鱼类产品的需求出现大幅上涨,鱼产品需求整体呈上升趋势,全球渔业的压力也将继续增加[2]。中国水产养殖形式已由粗放型向集约型转变,随着生产结构不断调整升级,水产养殖的核心技术环节从基因育种向生物识别转移[3]。中国的智能化、信息化渔业生产模式处于初级阶段,自动化与智能化的水平不高,养殖的效率难以提升。利用现代信息技术实现中国智能渔业建设已经成为目前我国水产养殖领域的重要任务。智能识别技术利用水产养殖对象的表型特征来实现养殖对象种类、年龄、性别和行为等信息的获取,识别过程需要排除大量的干扰信息、提取出表征的关键信息,并将各个阶段获取的特征数据整理成相对完整的知识集[4-5],水产养殖中智能识别主要技术方法和具体流程如图1所示。本文从水产养殖生物的物种识别与分类、年龄识别、性别识别和行为识别4个方面综述了水产养殖中智能识别技术的研究和发展现状,以期为中国渔业现代化、智慧化发展提供参考和新思路。
图1 水产智能识别关键技术Fig. 1 Key technology of aquatic intelligent identification
在水产养殖中,养殖对象固有特征和复杂环境对水产物种的检测和识别提出了挑战[6-9]。此外,在水产养殖过程中将不同品种的养殖对象进行混养可以充分、合理地利用水体空间,发挥物种间的互利作用,促进养殖对象生长。因此,在养殖监测期或收获期有必要根据物种进行分类。准确的物种识别对于水产养殖的有效管理、科学育种、繁殖密度控制和福利检测也至关重要。机器视觉具有长期、无损、非接触和低成本的优势,结合机器学习技术使物种识别和分类变得更加快速和准确,并在水产养殖中得到更广泛的应用。以鱼类识别与分类任务为例,过程可总结为:1)获取鱼类图像数据;2)根据先验知识对鱼表型特征进行提取;3)根据特征训练分类器;4)对分类器进行优化以提高识别精度。相比经典的机器学习方法,决策树(Decision tree,DT)[10]、贝叶斯分类 (Naive bayes, NB)[11]、支持向量机 (Support vector machine, SVM)[12]等深层次神经网络识别结果误差较小,对缺失数据敏感性较强,具有较好的泛化能力和鲁棒性。近年来,卷积神经网络 (Convolutional neural networks, CNN)[13]在鱼类识别任务中被广泛应用,图2显示了使用CNN进行鱼类识别任务的过程。
图2 鱼类识别和分类过程Fig. 2 Fish identification and classification process
在鱼类目标检测中,Villon等[14]使用GoogLeNet框架提取鱼类特征,并使用Soft-max分类方法实现珊瑚鱼的检测;为了提高模型的准确性,研究者还增加了一个决策规则来优化模型,该方法的准确率达到94.9%。关于CNN模型扩展方面,Rauf等[15]以CNN基础框架为前提,根据不同的鱼类识别任务加深卷积层数,以此提高鱼类识别和分类任务的准确性。Li等[16]利用Faster RCNN模型来识别鱼类,并利用预先训练好的Zeiler和Fergus模型初始化网络。Labao等[17]采用RCNN和LSTM模型级联结构的方法来识别鱼类,并优化了CNN的检测精度;与Faster R-CNN相比,其精度、召回率和F-score都比较高。Cai等[18]在YOLOv3模型的基础上进行了改进,将YOLOv3中的Darknet-53网络替换为MobileNet以提高特征提取率;结果证实,与YOLOv3相比,该模型可以实现高精度的鱼类检测。对于低分辨率图像数据集的鱼类检测方法也在相关研究中得到了实现,Shevchenko等[19]提出了GMM、KDE和ViBe这3种背景提取算法,通过背景减法技术将鱼与其他物体区分开来,2组试验数据的准确率分别达到80%和60%。Gaude等[20]采用改进的GMM来识别浑浊背景中的鱼类,并利用GMM和三帧差分技术的组合进行目标检测,提高了鱼类检测的准确性。此外,建立在水下环境的巨大挑战上,Tamou等[21]通过微调真实数据获得AlexNet网络参数,应用迁移学习来检测鱼类,该方法的准确率达到99%以上。这些方法都为低分辨率图像识别提供了参考价值。在水下视频采集和处理方面,研究人员已经开发了一个360全景系统来捕捉图像[22]。此外,基于双目视觉的图像处理技术和CNN识别鱼类,识别精度分别达到87%和83.2%[23]。
机器学习的发展已经实现了在鱼类特征基础上的物种分类模型。Kartika等[24]提出了一种K-mean分割背景和HSV颜色空间特征提取方法,有效地提取了锦鲤鱼的颜色特征,并最终使用NBM和SVM方法进行识别和分类,准确率可以达到97%。Tharwat等[25]提出了一种局部描述符和颜色矩的方法来提取纹理和颜色特征,并使用线性判别分析来减少区分类别的元素数量,最后采用AdaBoost分类器对鱼类进行区分,准确率达到96.4%。考虑到恶劣的水下条件和低分辨率图像,Salman等[26]开发了一种将CNN与SVM、KNN相结合的方法来对鱼类进行分类,在LifeCLEF14和LifeCLEF15鱼类数据集上准确率超过90%;Jalal等[27]采用了光流和GMM与YOLO深度神经网络的组合进行鱼类检测和识别,这种组合能够在明显恶劣的水下视频中取得良好的识别和分类效果;Christensen等[28]研究了一个具有深度学习架构的Lightfish检测网络,用于应对恶劣条件下的鱼类识别和分类,在浊水中取得了良好的效果。此外,针对极端条件下采集的低分辨率图像问题,Sun等[29]和Pramunendar等[30]提出了一种低分辨率改进方法,实现物种分类。通常情况下,采用单幅图像超分辨率法和插值法对图像进行缩放以提高分辨率,从而提高鱼类物种的分类精度。Rachmatullah等[31]采用CNN模型对低分辨率图像进行特征提取来实现物种分类,在Fish CLEF 2015数据集上取得了99.7%的分类精度,这些方法为低分辨率图像的鱼类识别提供了参考价值。
在小样本和有限的数据集方面,研究人员开发了以迁移学习技术为前提的鱼类分类方法。Jin等[32]和Allken等[33]在ImageNet分类数据集上进行预训练以获得模型参数,随后通过实际数据集优化CNN模型,对鱼类进行分类。Mathur等[34]在预训练的CNN模型中利用交叉卷积层池化以提高迁移学习的分类精度,准确率达到98.03%。Siddiqui等[35]采用ImageNet数据集的预训练模型结合SVM对实际鱼类样本进行分类,准确率为94.3%。Qin等[36]在Fish4Knowledge数据集的基础上提出了一个深度结构的水下活鱼识别模型,并使用SVM对鱼进行分类,准确率为98.64%。Rathi等[37]采用CNN模型对Fish4Knowledge数据集进行分类,Deep等[38]改进了CNN模型使用SVM和KNN进行分类,结果表明识别准确率均比传统的CNN高。
针对其他的水产物种识别与分类研究,Sucharita等[39]基于图像直方图对常见的几种对虾进行识别和分类,利用图像中的灰度频率在训练集和测试集中通过样本的灰度值相似度完成对虾的识别,但该方法泛化能力差,不能应用于其他品种的对虾识别。Liu等[40]提出了一种改进 LeNet-5深度卷积神经网络来进行虾的识别,该方法有效地解决了传统的虾类识别算法效率低下的问题,识别准确率为96.84%。刘子豪[41]利用对虾外观差异特征,针对传统特征与分类器融合规则存在的缺陷进行改进,让其最大限度地适应于具有虾类特色的分类特点,识别率达93.72%。李渊博[42]在现有的关键点检测网络模型的基础上,实现沙漏网络的优化和改进,提出了一种平衡模型精度和运行效率的轻量级对虾检测网络,模型的准确率为95.7%。张超[43]使用离线学习的方法,获取梭子蟹在多种光照变化和形状变化下的特征并建立分类器,从而实现在复杂养殖环境下对梭子蟹的检测;该方法保证了在光线变化等情况下对梭子蟹的有效地跟踪,提出检测和跟踪算法的实现不需要增加额外的装置来改变养殖环境且使图像的背景变得简单,具有经济实用性。
现阶段识别和分类任务的模型准确率相对较高,但这类研究局限于所需要识别物种的数据集上,模型较高的准确率不仅建立在庞大的模型参数下,还需要提供海量的数据集;此外,此类模型迁移能力较差,对于不同品种甚至包括亚种间的识别,需要重复建立多个模型进行识别,这样严重耗费人力物力。如何将概率分布不同的样本通过特征空间变化减小建模集到测试集的分布差异,进行知识迁移,实现模型在不同物种的样本上进行识别是一个重大挑战。如图3所示,在未来的研究中可以通过域适应学习相关的方法刻画数据分布规律,通过生成对抗网络将源域和目标域的数据变化到相同特征空间,实现源域到目标域的特征变换与知识迁移,从而实现不同品种之间的识别。
图3 不同品种鱼的特征变换与知识迁移Fig. 3 Feature transformation and knowledge transfer of different fish species
鱼龄是研究鱼类种群的一个关键特征,它提供了有关鱼类生长率、死亡率、成熟年龄和补充情况的有用信息[44-45]。海洋和淡水学家几十年来一直使用鱼鳞、椎骨、耳石、鱼体长度和质量等数据评估鱼龄,这些研究不仅要考虑耳石、鳞片、椎骨的数量和大小,还要考虑其厚度、长度和质量,这不仅需要专业知识,还需要相当大的工作量[46-47]。传统的观察和技术可以被机器视觉和人工智能方法取代。自2001年Robertson等[48]将神经网络框架运用到鱼龄识别任务中,大量的研究人员使用相关方法开展研究。Fablet等[49]使用鲽鱼耳石图像,根据峰值的特征和C-SVM结合训练,最佳模型的准确率为86%。Bermejo等[50]使用耳石轮廓信息,将鱼龄划分为6类(1~6每个年龄一类)和3类(1~6每2个年龄一类),准确率分别为77.33%和66.7%。刘凤连等[51]通过核成分分析和支持向量机,改进了鲽鱼耳石图像特征信息的提取,提高了鱼龄的识别精度。Moen等[52]建立卷积神经网络和回归模型,使用格陵兰大比目鱼左右耳石以及2个耳石组合进行预测,模型的MSE值分别为3.27、2.71和2.99;使用每个配对耳石预测平均值, MSE值最低为2.65。Ordonez等[53]划分了格陵兰大比目鱼耳石图像的内部结构和特定区域,将年龄预测回归问题转化为26类(1~26岁)分类问题。Politikos等[54]引入从红鲻鱼耳石图像中预测鱼的长度作为辅助训练任务来估计鱼龄,准确率为71%。Benzer等[55]研究长度、体质量、性别和年龄之间的关系,评估3种传统的机器学习算法(NB、J48DT和RF)与人工神经网络相比的有效性,结果表明3种算法都优于人工神经网络,并且在遇到嘈杂和非线性数据集的情况下可以被视为替代方案;此外, 3种算法中,J48DT和RF在特定鱼类年龄组的数据并不丰富的情况下表现出卓越的性能。
现有研究主要是使用鱼的耳石来估计鱼龄,如图4所示,耳石位于鱼类的内耳,是增生过程形成的钙化结构。研究表明使用耳石特征(包括这些钙化结构中半透明或不透明环、质量等)来估计鱼的年龄是一种有效的技术[56-58]。然而,许多外界因素,如季节变化、温度、栖息地和食物等,可能影响耳石的增长;其次,对于耳石信息解读的一致性取决于读者的经验,不同年龄读者之间的一致性很少超过90%,通常要低得多[59]。所以,客观的或经济上有利的年龄估计的替代方法可以减少由耳环解释引起的偏差,并通过增加抽样的个体数量减少由于抽样误差引起的偏差。在未来发展中,可以采用多数据信息融合的方法,使用各种容易获取的表型信息(体长、纹理、颜色等)来评估鱼龄。此外,除了体型的变化,鱼的其他部位也会随着年龄的增长而变化。因此特征变化亦可作为鱼龄判别的依据。
图4 鱼的耳石图像和解释Fig. 4 Otoliths image and interpretation of fish
鱼类的性别除了在性染色体上具有多样性以外,即使性染色体类型确定,鱼类的性别分化也存在较多的不确定性[60-62]。鱼类的性别可以在性激素的作用下发生变性,既可以用雄性激素将遗传雌性个体转化为具有繁殖能力的生理雄鱼,也可以用雌性激素将遗传雄性个体转化为具有繁殖能力的生理雌鱼。大多数硬骨鱼类属于雌雄异体,但有一些种类在不同年龄表现为不同的性别,即在生活史中有一个转换的过程,这种现象称为性反转[63-64]。对于鱼的性别鉴定,过去曾使用生物方法来识别[65-67]。这些方法存在着较高的检测误差,并对鱼造成了不可逆的物理损伤。通过机器学习方法识别鱼的性别取决于鱼的相对形态参数,而机器视觉技术可以有效地获取鱼的形态学参数。Barulin等[68]以鲟鱼的鳞片结构作为形态学参数进行了性别鉴定,并分析了鳞片与其他特征之间的相对关系;采用DT模型对培养了3年的鲟鱼后代进行性别鉴定,并与其他算法进行比较,结果表明该方法具有较高的识别性能,为利用人工智能识别物种的性别创造了良好的前景。在其他物种中,以CNN为前提的性别鉴定也取得了良好的效果。Cui等[69]应用深度神经网络研究了中国绒螯蟹的性别鉴定方法,然而,这项研究的数据集很小,需要通过数据增强来丰富数据集,这为小样本的神经网络学习提供了一种手段。
鱼类性别鉴定是生产管理上的难题,亦是水产养殖中亟待解决的关键科学问题。研究人员几十年来一直知道鱼类存在性别转换现象,但是对于这种转换如何发生所知有限。Todd等[70]研究了双带锦鱼(俗名“蓝头鱼”)发现,这种珊瑚鱼通常以小群形式活动,鱼群由一只处于支配地位的蓝头雄鱼和一群体型较小的黄色雌鱼组成,如果捕食者恰巧抓住了为首的雄鱼,那么鱼群中处于支配地位的雌鱼就会变成雄鱼,雌鱼的行为变得像雄鱼那样更具地盘意识和更加好斗。利用机器视觉相关技术鉴定鱼类性别的相关文献较少。在未来发展中,除了依靠体色、体型等表型特征的变化来鉴别鱼的性别,还可以从鱼的社会力角度入手,通过量化其个体之间的相互作用力表征其领导阶层,从而为鉴定鱼类性别提供更多的信息。
鱼类行为分析是水产养殖的重要组成部分,鱼类行为主要包括摄食行为、群体行为和应激行为等,鱼类行为的变化能够反映环境的变化,分析鱼类行为可以有效地评估鱼类福利、渔业和生态系统。随着养鱼业的发展和水产养殖业的持续发展,对鱼类饲料的需求也在大幅增加。传统的自动喂食方法在控制给鱼的饲料量方面遇到困难,可能导致过度喂食或喂食不足,从而危害鱼类[71]。对鱼类摄食行为的准确识别可以有效地指导鱼类摄食过程,实现最佳的摄食控制,降低摄食成本,提高经济效益。Zhou等[72]对鱼类摄食行为进行了广泛的研究,使用近红外成像技术评估鱼类摄食行为,并根据支持向量机和灰色梯度共生矩阵对摄食行为指数进行量化,结果与专家预测得分之间的相关系数为0.945。Zhou等[73]进一步对上述方法进行了改进,并利用ANFIS对鱼类的摄食行为进行了评估和分析,结果表明当ANFIS的输出值小于0.55时,鱼没有食欲,否则继续喂食,这显著提高了喂食精度。Zhou等[74]在摄食强度评估方面,使用深度卷积神经网络对鱼类摄食行为进行分类,从而在“无”、“弱”、“中”和“强”水平下实现90%的准确率。此外,一些研究人员还采用了神经网络模型来评估鱼类的进食行为。Måløy等[75]利用CNN和LSTM预测鲑鱼的摄食和非摄食行为,准确率达到80%,而Adegboye等[76]根据之前研究中使用的Noda和Gleiss样本数据集评估了摄食行为,结果表明当傅里叶描述子阈值为0.5时,准确率为100%,可以准确地实现鱼类的智能喂食。
在生物圈中,从微小的生物细菌到巨大的哺乳动物鲸鱼,都存在着集群现象。个人成员根据一些有限的局部信息采取行动,这种信息在系统中流动,产生集体模式。群体作为一个整体行动,具有显著的协调性和适应性,并通过成员的相互吸引而自发地维持[77]。在鱼类群体行为中,其异常性比个体行为更能解释一个特定的事件,从而提供更深入的环境或群体社会变化的信息。在观察环境压力引起的不同鱼类群体的行为时,Han等[78]提出了一种基于CNN和时空信息融合的群体行为识别方法,以识别鱼类的6种群体行为,结果表明该模型的平均准确率为82.5%。Zhang等[79]检测并识别了一群鱼中的单个目标,并通过检测同一组物体中每条鱼的不同状态来达到群体行为分析的目的,通过研究以VGG-16网络识别斑马鱼群体为前提,计算正常状态和异常状态的熵来判断鱼群行为,结果表明该模型的准确率为91.94%。
鱼类应激行为可以提供对鱼类状态的无损理解,并为水产养殖鱼类福利提供有效的参考指标[80]。Zhao等[81]开发了一种基于RNN的集约养殖鱼群应激行为检测方法,该方法识别了养殖鱼群的局部应激行为,并检测了经验证的人工视频,结果显示平均检测准确率为89.89%。在水中溶解氧异常和疾病感染方面,Zhao等[82]和Morimoto等[83]提出了基于机器视觉技术的罗非鱼和虾应激行为评估,通过监测鱼的游泳速度和虾的移动距离,可以实现应激行为监测。
鱼类可以对外部刺激做出一系列行为反应,如光线、水质、繁殖密度和流量,一些鱼类可以通过远离光源来减少刺激。如果暴露在高、中光密度下,大多数物种开始向多个方向快速、不稳定地游动,这可能会导致强烈接触;相反,在低光密度下,鱼类通常会降低攻击性活动的频率,游泳行为没有明显增加。在这种情况下,诸如“更快” “相互接触”“潜水”等短语描述了鱼类的行为,找到正常与异常行为之间的区别是一个挑战。因此,未来鱼类行为研究的目标是量化分析,将这种描述语言数字化;其次,计算能力和实用算法对于提取关键信息至关重要;对于大型群体中特定个体鱼类的信息提取,例如运动状态也是亟待解决的问题。
本文回顾和分析了智能识别相关技术在水产养殖中的发展。与传统的方法相比,智能识别技术的发展促进了水产养殖的智能化水平,提高了养殖的效率和效益。尽管如此,智能识别技术基于机器视觉的使用仍然存在一些缺点,例如数据集的复杂性和不完整性、低质量的图像、缺失的数据以及高昂的技术实现成本;同时,生产模式、气候条件、地理位置、当地环境和水产养殖环境的生物组成等独特因素的不确定性也限制了机器视觉在水产养殖实践中的应用;此外,从数据采集到算法实现,对硬件设施都有较高的要求。目前,我国水产养殖的智能识别技术还处于起步阶段,要实现水产养殖的智能化,需要解决以下4个问题:1)对水产养殖对象信息的获取方法需要进一步完善,以获得更加全面、稳定的相关数据,如利用多信息融合的技术将机器视觉与声学传感器结合,对水产养殖中的个体生物和环境从多角度、多手段进行信息获取,弥补单一技术获取信息存在检测缺陷,实现更加全面和智能化的水产养殖个体信息获取;2)将现有的智能检测技术集成到水产机械化设备中,智能识别在图像和数据处理方面的优势可以有效地提取养殖对象信息特征,这将极大地促进其在水产养殖中的应用,并可广泛应用并集成于水产作业机械,为水产机械智能化发展提供技术支撑;3)随着水产养殖信息透明度的提高以及传感器和摄像头质量的提高,数据集的获取将更加方便,建立渔业数据库,研究人员基于这些数据集开发的模型将更适合未来的挑战。4)充分利用深度学习的优势,将其应用于水产养殖各个生产环节中,作为机器学习的重要组成部分,深度学习在水产养殖智能检测中正变得越来越重要,并将成为未来实现水产自动化和智能化的关键技术之一。未来,充分发挥深度学习在自然语言处理、计算机视觉、推荐系统、语音识别等领域取得的成果,这将在更大程度上解决复杂的水产养殖中生产、管理、销售等问题。
智能识别技术在数据处理、信息提取、实时监测、决策管理等方面为水产养殖提供了相对高效的技术手段。在未来的渔业发展中,智能识别技术仍然是一个新兴的领域,最终将被广泛应用于水产养殖。