谢秋菊 周 红 包 军 李庆达
(1.东北农业大学电气与信息学院, 哈尔滨 150030; 2.农业农村部生猪养殖设施工程重点实验室, 哈尔滨 150030;3.黑龙江八一农垦大学工程学院, 大庆 163319; 4.东北农业大学动物科学技术学院, 哈尔滨 150030;5.教育部北方寒区猪智能化繁育与养殖工程研究中心, 哈尔滨 150030)
体质量(行业习惯叫法为“体重”)是反映畜禽身体健康与生长状况、繁殖与生产性能的重要指标[1]。体质量稳定增长是畜禽健康状况良好的标志,是畜禽出栏、销售的重要决定因素[2]。例如:生猪出栏时间一般根据体质量确定[3];奶牛产奶量与体质量有很大关联[4];肉鸡体质量增长速度能反映其生长水平[5]。偏离最佳生长状态或突然间大幅度的体质量下降可能由饲养不当、营养不良、环境不适或感染疾病而引发[6]。因此,对畜禽体质量的持续监测是疾病预防、饲养管理、提高基因选择效率的重要手段,是优化农场管理,满足动物福利,实现精准畜牧业的重要环节[7]。
传统的畜禽体质量测量方式包括使用体质量秤直接称量或通过手工测量体尺数据间接估重。无论哪种方式都需要人工参与,耗时、费力且易造成畜禽的应激反应。近年来机器视觉技术因其直观、非接触式的优点,作为人工智能的核心技术在农业领域得到了广泛的应用[8]。在畜禽养殖领域,机器视觉技术主要集中于解决体质量评估[9]、个体识别[10]、行为监测[11]、疾病监控[12]和环境控制[13]等各种问题。在大量有关畜禽体质量评估的研究中,研究对象主要针对猪、鸡、牛、羊等常见的农场动物,通过视觉传感器获得畜禽图像,传送至图像处理系统得到畜禽的体尺数据,将其作为体质量评估的特征,使用机器学习算法建立评估模型获得畜禽的体质量。随着深度学习技术的发展,机器视觉技术在未来畜禽体质量评估领域将显示出更大的潜力[14]。
因此,本文在收集和分析近10年国内外有关畜禽体质量评估的153篇文献的基础上,将畜禽体质量评估的方法归纳总结为直接测量和间接评估两大类,对间接体质量评估中基于机器视觉获取畜禽体尺的方法进行阐述。总结用于获取图像的视觉传感器类型以及所获取的不同类型图像的处理过程,详细阐述用于畜禽体质量评估的机器学习算法,重点分析和讨论深度学习算法在畜禽体质量评估领域的应用,为畜禽体质量评估研究及行业应用提供参考。
畜禽体质量评估的方法大体上分为直接测量和间接估计。直接测量法为使用体质量秤直接对畜禽称量,间接估计法通过测量身体的特定尺寸数据(胸围、体长、臀宽等)结合品种、性别等特征估计畜禽身体质量。大量的研究[15-18]表明,畜禽体质量与身体特定部位尺寸之间存在正相关关系,因此,通过体尺测量进行间接体质量评估是可行的。在间接测量中体尺的获取方式又可以分为手工测量和基于机器视觉的非接触式自动测量。
直接称量是通过体质量秤来测量畜禽的体质量,这是传统且应用比较普遍的称量方式。由于在称量过程中需要驱赶动物,使其置于体质量秤上并且停留一段时间,才能稳定计量并读取其体质量。因此,直接称量需要多人参与且其过程繁琐、耗时,同时会对动物造成一定的应激或伤害,还可能由于动物袭击对称量人员造成危险[19]。
由于畜禽需要在体质量秤上保持一定时间的静止,以避免产生测量误差,一般通过在特定采集区或饮水区等位置放置体质量秤来完成体质量测量。例如,在猪的采食通道中放置体质量秤,实现每天对每头猪的称量[20];在牛的饮水区域进行体质量的采集,或在奶牛每天经过自动挤奶区域实现体质量的自动测量,以获取相对稳定状态下的体质量数据[21];通过在栖架养殖装置中安装质量传感器实时采集鸡群的平均体质量[22];设计特殊装置进行羊的无应激体质量测量[23]。
然而,使用地面体质量秤进行的直接称量,体质量秤暴露在畜禽的生活空间,受畜禽的排泄物污染和畜禽直接接触踩踏,容易造成电子设备的损坏,因此,需要探索更低成本的、可靠的称量方式。
手工测量畜禽的体尺数据,再结合畜禽品种、性别等特征可估算畜禽的体质量,具有较高的准确性和可重复性,作为一种简单、便捷和低成本的方法,得到了广泛的研究和应用。通过统计分析多年来积累的牛肩高、胸围、体长等线性体尺数据[24],发现每一个特征的测量值都具有足够的准确性,并且多个人的多次测量值和其中一个人的多次测量值标准差都很小[25],这说明通过手工测量体尺数据进行体质量的估计是高度可重复的。
通过建立体尺数据和体质量之间的一元或多元线性或非线性方程估计体质量,还形成了商业化的体质量测量带、体质量测量表和测量卷尺等工具,可直接读出或简单加和计算体质量[26]。但是,手工进行畜禽的体尺测量属于劳动密集型的工作,同时,和畜禽的直接接触也会造成动物的应激反应,影响畜禽的健康。机器视觉技术因其具有非接触式的特点,逐渐受到关注。
机器视觉系统通过安装在不同位置的摄像头来采集猪、鸡、牛、羊等畜禽的图像或视频,经过图像处理系统提取出与体质量相关的畜禽体尺作为输入特征,通过机器学习算法估测畜禽的体质量,或通过深度学习算法从图形中自动提取特征估测畜禽体质量。基于机器视觉系统进行畜禽体质量评估的整体流程如图1所示。
图1 基于机器视觉的畜禽体质量评估整体流程图Fig.1 Whole process of animal weight assessment based on machine vision
用于获取体尺信息的摄像头大多安装在天花板、通道等固定位置,或者是地面机器人、无人机等移动设备上,根据摄像头不同的安装位置,获取顶部、正面、侧面和后部等不同角度动物图像或视频[27-28]。为获得高质量的图像,大多数研究将单只动物限制在一定区域或通道中采集图像[29]。根据摄像机传感器的类型不同所获得的图像也不同,包括二维(2-D)图像和三维(3-D)图像。使用机器学习算法进行体质量评估需要对获取的图像进行复杂的图像处理,提取与体质量相关的体尺作为输入特征,构建体质量评估模型获得畜禽体质量。
与传统的手工测量方式相比,非接触式的机器视觉方法避免给畜禽造成应激反应,并且具有快速、直观、成本低的优点。近年来随着传感器的不断升级,通过视觉技术获取动物身体尺寸特征进行畜禽体质量的估计,得到了广泛的研究,作为能够取代手工测量的方式,显示出巨大的发展潜力[30]。
用于获取畜禽体尺数据的传感器大体分为2-D传感器和3-D传感器。2-D传感器可以生成2-D RGB图像、热图像;基于立体视觉原理和结构光原理,通过2-D传感器可生成3-D图像;3-D传感器可生成深度图像或3-D点云数据。
2.1.12-D成像
2-D传感器主要包括2-D数码相机和热敏相机,2-D数码相机一般使用电荷耦合器件CCD和互补金属氧化物半导体CMOS,获得动物的RGB图像[31]。2-D热敏相机能够获得2-D热图像[32]。2-D RGB相机应用较为广泛,猪、牛、羊等大型家畜一般通过顶视图和侧视图采集图像,鸡、鸭等家禽一般采用顶视图采集图像。也有研究使用多台相机分别获取顶视图和侧视图,将多角度视图匹配获得多维度和更准确的特征值[33]。动物的背部减去头和尾的图像与体质量的相关性最大,研究中获取畜禽背部图像用于体质量评估的研究相对较多[34]。2-D传感器类型、成像类型、成像视角和研究对象见表1。
表1 典型2-D传感器Tab.1 Typical 2D sensors
2.1.23-D成像
(1)2-D传感器的3-D成像
采用俯视图的方式,使用与二维相机平行的投影仪[40]投射均匀图案和具有一定特征的参考定位图案的结构光到目标的背部,根据激光图案进行匹配识别激光狭缝的编码。这种方式不需要借助其他参考对象就能获得动物的高度,然而容易受到其他光线的影响,很难在商用系统中使用。
双目立体视觉利用相同特征的成像视差与两台相机距离之间的关系[41],获得羊的三维体尺数据[42]、猪的RGB图像[43],利用全局匹配算法对左右图像进行匹配,生成视差图,获得深度图像,在深度图像中计算体尺点获得体质量的估算特征。
利用运动的结构原理,使用单个2-D数码相机从不同角度拍摄不同姿态和位置猪的图像,检测出多个图像中的重叠特征,进行猪和背景的提取,生成猪的三维点云,最终还可以将形状和纹理集成,获得直观的猪三维图像[44]。
尽管基于2-D相机的研究取得了一定的进展,但从2-D相机中提取特征容易受到摄像机视角、畜禽的运动姿态和环境光线的影响,对于图像的可用性和特征识别的准确性有较大影响。
(2)3-D传感器的3-D成像
3-D深度传感器可以克服2-D成像系统中的许多问题,如背景去除、畜禽主体分割、特征提取和对环境光线的敏感性。目前用于畜禽体质量评估的3-D传感器,一般都基于飞行时间(Time of flight,TOF)原理[45],通过发射器发射近红外光或可见光,到物体表面反射回接收传感器,通过监测时间差来测量传感器到目标物体之间的距离,获得物体表面的深度。畜禽体质量测量中使用较多的深度传感器设备包括:微软Kinect传感器、华硕Xtion传感器、英特尔RealSense D435传感器以及光探测和测距(Light detection and ranging,LiDAR)传感器和激光扫描仪。其中,Kinect传感器应用最为普遍,它属于深度感应飞行时间的传感器。3-D传感器的基本信息、适用环境以及研究对象见表2。
表2 典型3-D传感器Tab.2 Typical 3D sensors
Kinect、Xtion和RealSense相机由于使用红外线测量深度容易受到阳光直射的影响,并且视野小、像素分辨率低、测量范围差,适合光线比较稳定的室内测量。LiDAR传感器和激光扫描仪,使用激光对目标进行密集采样,产生精确的三维测量,受光线强度影响较小,可以在户外使用[59]。LiDAR利用TOF原理,记录激光脉冲离开激光发射器到返回接收器的精确时间,获得传感器到目标的距离。激光扫描仪使用多台LiDAR传感器实现对目标的精确扫描[60]。LiDAR传感器和激光扫描仪扫描结果更精确,但成本较高,应用相对较少。
3-D摄像机能够提供畜禽深度图像,比二维图像提供更多的身体特征信息,提高了体质量评估精度。3-D摄像机不受动物体表的污垢等影响,并且对于复杂的背景也具有更好的鲁棒性。同时,由于动物在环境中的高度具有特定的范围,从3-D深度图像中分割动物变得更容易。
通过传感器获得包含畜禽身体图像之后,需要对2-D、3-D图像进行处理,提取动物体尺特征用于体质量的估计。2-D和3-D图像处理方法不同,但具有类似的处理流程,如图2所示[61],包括图像获取、目标检测、图像预处理、图像分割和体尺特征提取。
图2 畜禽体质量评估图像处理过程[61]Fig.2 Image processing of livestock and poultry weight assessment
图像获取阶段需要考虑影响后续图像处理过程的因素,如动物姿势、相机位置、照明强度、最佳成像条件等。由于需要提取畜禽的身体轮廓信息作为体质量评估的特征,摄像头一般垂直于目标,安装在顶部或侧面用于获取站姿动物的背部或侧面的图像,也有少数研究获取动物的后部图像,要尽量避免图像受到光线明暗变化的影响[62]。
目标检测阶段通过判断图像中是否有满足条件的动物个体,进而从获取的大量图像或视频帧中筛选出满足条件的图像以进行下一步处理。可以分为手动筛选和应用目标检测算法自动筛选,近年来基于深度学习的目标检测方法在体质量评估的研究中也得到了一定的应用[63]。
图像预处理是在进行前景图像提取和分割之前,为方便图像处理而进行的,如图像变换、去噪、图像增强[54]、三维重建、点云数据的缺失区域修复以及三维图像归一化[64-66]等处理。
图像分割阶段识别并从图像中提取目标畜禽身体或身体部位的边界。用于畜禽体质量评估的图像分割算法有手动分割法[67]、经典Graph Cut图像分割法[68]、阈值分割法[69]、椭圆拟合法[70]、背景减去法[71]、立体视觉法[43]、K-均值聚类[49]等机器学习算法和基于深度学习算法[72]的分割等。通过大量的对比研究发现,深度学习方法在大数据量的图像分割中的应用表现出了更好的效果和更高的效率[73]。在对二维或三维图像分割的基础上,计算体尺数据,提取用于体质量估算的特征。
每种动物由于其外形特征之间存在差异,因此不同研究对象用于体质量评估的特征也不同。总体来说,应用较多的体尺特征按照维度可以分为体长、臀宽、胸围等一维数据[74],背部面积、背部周长等二维数据[75],能表达长宽高特征的局部或整体体积的三维数据[35]。用于体质量评估的特征除了体尺,还包括拟合身体形状的凸面积、长轴长、偏心率等边界尺寸[76],除此之外,畜禽的品种、年龄、性别等非体型特征对于最终体质量模型的建立和体质量评估的准确性也有影响[77]。畜禽体质量评估研究中使用到的特征如表3所示。
表3 用于体质量评估的畜禽特征Tab.3 Characteristics of livestock and poultry used for weight assessment
猪、鸡、牛和羊等畜禽,由于其身体构成不同,身体不同部位尺寸对于体质量的影响程度也不同,因此将特征按照不同的畜禽种类分类统计。
畜禽的体尺是其生长水平和繁殖性能[78]的重要参数,应用于品种识别[59]、体质量评估[79]、身体状况评分[80]和遗传性状分析[81]等。图3所示为体尺特征与体质量评估的关系。体质量评估是体尺测量的重要应用,体尺特征是进行畜禽体质量评估的主要特征。
图3 体尺与体质量的关系示意图Fig.3 Relationship between body size and weight
基于机器视觉的体尺测量,根据畜禽图像获取传感器不同分为基于2-D图像和3-D图像的体尺测量。体尺测量的方法分为基于图像处理的几何测量和基于深度学习的自动测量。每种畜禽都有不同解剖结构和形态特征,在图像重建、预处理和分割之后,根据不同畜禽的生态学特征标记体尺点计算体尺数据。基于机器视觉的体尺测量一般遵循传统手工体尺测量的测量位置。
近年来猪的体尺测量一般基于点云重建的三维图像或深度图像提取体尺,根据猪的几何特征计算体尺点,再通过深度图像或三维点云图像的坐标计算体尺。获取猪背部图像,根据猪背部的凹凸特性识别体尺点,能够计算背宽、臀宽和体长等体尺[43]。
使用包络分析方法建立深度图像分割后猪背部视图的包络,根据包络距离找到尾根点、耳根点、臀宽测量点和胸宽测量点,在此基础上通过几何计算找到颈部中点、体高测量点和臀高测量点,最终能够计算出体长、体宽、体高、臀宽和臀高等体尺数据[82]。
在猪的三维点云数据中,采用欧氏聚类分割算法提取前腿和后腿共4个聚类簇,分别找到质心点,根据前腿2个质心点和后腿2个质心点分别构造垂直身体方向的2个平面,再根据平面在身体坐标上的突出点最终能够提取身体的高度和宽度[49]。在猪的背部视图中2个凹陷点之间的凸出点为图腹部左右拟合点,建立与身体垂直的切面,切面与点云重建体表的交点构成腹围,采用曲线拟合的方式建立的闭合形状能够测量腹围[83]。
三维图像一般需要经过姿态归一化后测量体尺。根据归一化后图像的对称性将猪三维图像对称左右分开,由俯视图中身体左右曲线的极值点,找到左前蹄、右前蹄、左后蹄、右后蹄位置坐标可计算体尺[84]。
除了通过体尺点获得胸围,可以建立连续多个猪三维图像的二维切片截面,对每个二维切片点云采用最小二乘椭圆拟合方法,得到一组椭圆。然后提取椭圆的周长作为其对应的二维切片点云的截面特征。身体前半部椭圆最小的周长即为猪的胸围[85]。通过点云数据构建的猪体三维曲面,还可以提取体表面积、体积等体尺数据[55]。
有研究将猪的深度图像作为输入,使用深度学习算法在估计体质量的同时进行猪的体型估计,对肩宽、肩高、臀宽、臀高和体长等体尺的估计具有较高的精度。基于深度学习的体尺测量无需经过复杂的图像处理过程和几何运算过程,显示出了高度的便捷性和准确性,是未来体尺测量的重要研究方向[53]。
经过2-D和3-D图像预处理及三维点云图像的完整性构建之后,通过形状分析和几何计算分析等确定关键点或关键线,找到体尺点位置,计算牛的体尺数据。
从俯视图来看,牛背部形成一个突出的脊,这些椎骨被视为体表的最高部,常作为确定关键点的重要参考[80]。利用牛分割的小腿位置也能够确定体尺参考点,小腿前部最宽处找到肩部位置、小腿后部最宽处得到髋的位置、小腿中部最宽处到中部体尺点,通过肩部和中部确定胸部位置,进一步计算得到宽度、高度和胸围数据[41]。肩高和臀高等线性参数根据点云标志到地面的欧氏距离来测量。胸深、髂宽、髋宽和胸宽使用点云上相应标志之间的距离来测量。斜体长和臀长根据相应标志点之间的测地距离使用精确的曲面算法来计算[48]。
在三维点云数据重建的牛身体后部,使用梯度运算和相对最大值自动检测获得髋关节、肩部和尾部参考点。使用相对最大值计算髋关节距离、高度、头大小和体长。根据蹄面最高坡度变化曲线的二阶导函数确定地面参考点,进而可以计算肩高、臀高等高度体尺[28]。
有研究对三维点云精简后,去除冗余点云数据,保留奶牛脊柱和身体边界信息。根据参考点的几何特征以及不同参考点之间的空间关系,对奶牛背部点云进行体尺点的提取。计算出奶牛体直长、体高、肩高、腰高、胸宽和腰角宽等体尺数据[29]。
使用2-D相机获取羊的图像进行体尺测量通常需要布置多个角度的相机以获得多个维度的体尺。利用2-D相机获取羊的俯视图和侧视图,经过分割处理后得到羊的背部和侧面的图像,选用 Canny算子提取羊体轮廓。根据2-D图像处理方法,侧面轮廓能够获得体高、臀高、体长和胸深等长度和高度体尺数据。应用最小二乘法在背部视图上拟合形成俯视图主骨架,根据身体轮廓曲线的曲率能获得胸宽和臀宽等宽度体尺[86]。
利用双目立体视觉获得羊的三维图像,在分割后的羊体轮廓的基础上,采用包络线分析方法识别体尺测点,再根据体尺点的空间关系计算羊体尺参数,测量精度较高[42]。
鸡用于体质量评估的特征常为体长、体宽和体高等简单的体尺信息,或是背部视图下的拟合形状的几何特征。鸡的体尺特征还是遗传性状研究和选种的重要决定因素[81]。由于相较于其他大型牲畜鸡的体型较小,鸡的体尺测量一般采用手动方式,基于机器视觉的鸡体尺提取的相关研究相对较少。随着机器视觉技术的发展,在小体积家禽上的体尺测量研究也会得到进一步的发展。
视觉图像中特征的选择成为体质量评估准确性的关键影响因素[87]。体尺特征和体质量之间往往具有不同的相关度,为建立更准确和简洁的体质量评估模型,需要使用自动化方法对特征进行降维和筛选。主成分分析法[88]和偏最小二乘回归[89]等作为经典且有效的降维方法,常被用于特征筛选。
近年来,深度学习技术在体质量评估上的应用使得特征的选择变成了自动的过程,无需具体估计某一项体尺与体质量的量化关系,而是自动提取畜禽二维或三维图像所包含的更为抽象的高层特征,建立与体质量之间更为复杂的联系[90]。基于深度学习进行目标检测、图像分割以及自动提取高维特征的体质量评估成为未来发展趋势。
机器学习技术以数据为驱动,能够从外部信息中学习到数据背后隐藏的关联并将其存储到知识库中进行自主学习[91]。基于机器学习算法以视觉图像或从中提取的身体特征为输入建立自动体质量估计模型。体质量的估计属于回归问题,一般以体质量秤获得的体质量数据为标签进行有监督学习。目前,对体质量评估主要采用的机器学习算法包括回归模型(Regression model,RM)、决策树(Decision tree,DT)、支持向量机(Support vector machine,SVM)和人工神经网络(Artificial neural network,ANN)等传统机器学习算法以及新兴的深度学习(Deep learing,DL)算法。
根据畜禽体质量评估相关文献的统计结果发现,RM的应用最多,ANN也得到了较为广泛的研究,近些年来,深度学习技术在各领域取得显著的成果,其在畜禽体质量评估方面的研究也初见成果,图4所示为不同的机器学习算法在畜禽体质量评估中研究成果数量的比例分布。这些机器学习算法的研究对象主要集中于猪、鸡、牛和羊等常见的畜禽,图5列出了不同机器学习算法在这4类畜禽中研究成果数量的对应比例关系。图5左侧为文中5种不同机器学习模型的分布比例,图5右侧为文中4类畜禽的分布比例,中间的连接带表明了不同算法与畜禽之间的比例关系。
图4 不同机器学习算法的研究成果数量分布Fig.4 Distribution of different machine learning algorithms
图5 不同机器学习模型与研究对象的对应分布Fig.5 Corresponding distribution of different machine learning models and research objects
4.1.1回归模型
RM作为经典的机器学习模型,在猪[92]、鸡[36]、牛[93]和羊[94]的体质量评估中均有广泛的应用。一元线性回归模型能够建立单一身体特征和体质量之间的线性关系,常见的如胸围、体长、背部面积、体积等能在一定情况下较好的表征体质量[95]。然而,畜禽的体质量通常与多个身体测量值之间都存在关联,建立体质量与多个身体测量值之间的多元线性方程或幂回归[96]、二次回归[45]等非线性方程均显示出了更高的估算精度,然而过多添加输入变量会带来模型的过拟合,随着更多输入变量的添加,不仅输入变量可能与输出变量相关,它们也可能彼此相关,表现出多重共线性,使得回归模型发生过拟合。使用膨胀因子分析输入变量之间的共线性关系,选择相关性较小的变量,通过逐步回归的方式能够克服变量共线性关系建立体质量评估模型[38]。也有研究中使用主成分分析法[88]、最小二乘法[36]、LASSO回归分析[97]等建立避免多重共线性的估算回归模型。
简单回归模型具有建模快速、模型解释性强的优点,使其在畜禽的体质量评估中获得了广泛的应用。然而,简单回归模型适用于数据规模较小,选择估算特征较少的情况,当选取的体尺特征之间存在共线性关系时,模型的准确性降低。
4.1.2决策树
DT模型应用树图的思想解决分类或回归问题。在鸡[98]、牛[99]、羊[100]和狗[101]的体质量评估研究中均有应用,但相较于回归模型研究较少,未见决策树模型应用于猪的体质量评估。DT模型计算快、模型易于理解,由于体质量估计属于非线性问题,同RM相比能更好地建立体征和体质量之间的关系。同时,相比于RM模型不受身体特征之间的共线性影响,常表现出更好的性能[102]。
RUCHAY等[99]使用牛的12项身体特征建立估算模型,对比了多种RM模型、DT模型、支持向量回归、随机森林等多种机器学习算法,改进的DT模型显示出了最好的效果。但模型易受到样本数据质量的影响,信息增益偏向于样本有更多数值的特征,当样本中身体特征数据样本量不均匀时,影响模型构造的准确性。另外,决策树模型存在过拟合问题,影响体质量评估模型的泛化能力。
4.1.3支持向量机
SVM基于线性分离超平面对数据实例分类,使用“核技巧”将原始特征空间转换为更高维的特征空间来处理复杂问题[103]。在体质量评估的应用中,少量研究涉及牛[104]和猪[105],其他畜禽中未见应用。有研究将肩高、腰长、臀长、胸围和大腿宽度等作为身体特征,建立牛体质量估计支持向量回归模型效果较好[104]。由于SVM采用了泛化方法,因此在进行体质量估算时过拟合的概率较小,模型具有更好的泛化能力。但是,模型准确率也容易受到噪声数据的影响。SVM在分类问题中的表现更优异,对体质量估计这类回归问题的相关应用较少。
4.1.4人工神经网络
人工神经网络受到人脑功能的启发,模拟人脑神经元结构建立模型,与回归模型在体质量评估中的应用研究规模相当,常见于猪[106]、鸡[107]、牛[108]和羊[109]等常见农场动物。
BP神经网络[107]、RBF神经网络[106]、贝叶斯人工神经网络[47]、自适应神经模糊推理系统[110]等常见神经网络模型在畜禽体质量评估中均有应用,这些研究表明应用神经网络能够有效进行畜禽体质量的预测。此外,大量研究显示,神经网络模型进行体质量估算的性能优于回归模型。尤其是,可以将3-D图像中提取的长度、高度、宽度、面积和体积等多达60个潜在的预测变量[108]作为人工神经网络模型的输入参数来估计体质量,得到的预测模型性能远优于线性回归模型,且与真实体质量之间相关性较高。神经网络能够处理大量特征变量与体质量之间的复杂非线性关系,与线性模型相比能够容纳变量之间的共线性,输入较多特征时模型可获得更高的精度。
然而,传统的机器学习模型需要应用图像处理等手段提取估算的特征、应用一定的方法筛选特征,包含大量特征工程的工作。同时,传统机器学习算法样本来源于小范围农场的小规模样本数据,且需要按照不同的种群、性别、年龄等各自建立适用的模型,所建立的体质量评估模型不具有广泛的适用性,难以商用推广。
基于机器视觉的体质量评估研究开始从传统机器学习算法向深度学习算法转变,在猪[111]、鸡[5]、牛[112]、羊[109]中均得到了较好的效果。一方面,基于深度学习算法进行畜禽的目标检测、身体分割和特征提取得到了广泛的研究,显示出了深度学习算法在视觉图像处理中的强大能力。另一方面基于深度学习的体质量评估模型以2-D或3-D原始图像或经简单预处理的图像作为模型输入,自动提取与体质量关联的高维抽象特征,输出体质量估算结果,无需复杂的图像处理过程,简化和优化了数据分析流程。
基于深度学习的体质量评估模型主要为深度卷积神经网络(Convolutional neural networks,CNN),模型中间经过多个隐含卷积层和池化层,通过大量的输入数据不断训练、调整网络参数及权重,逐渐逼近预期精度。在此过程中不需要人为参与,完全依赖深度学习算法强大的性能和处理能力。
基于深度学习的畜禽体质量评估目前主要分为半自动化和全自动化两种方式。半自动化的体质量评估,使用深度学习算法进行目标检测、分割和特征提取,利用机器学习算法建立模型进行体质量评估。全自动化的体质量评估以单只畜禽图像为输入,使用深度学习算法建立模型进行体质量评估。
4.2.1基于深度学习算法的猪体质量评估
YOLO V3以整幅图像作为兴趣域进行像素的分类和目标定位,相较于Faster R-CNN目标检测算法速度更快,在猪只识别中取得较好的效果[63]。在深度卷积神经网络基础上建立PigNet网络对群猪进行个体分割,与Mask R-CNN模型及其改进模型进行对比,具有更高的准确率[72]。
猪的全自动体质量评估模型的研究中,多数采用轻量级CNN网络架构,例如,EfficientNet[113]、ResNet[114]、Xception[115]、MobileNet[116]和DenseNet[117]。轻量级网络架构同迁移学习方法的应用避免了深度神经网络训练中常会遇到的梯度消失、梯度爆炸、过拟合、欠拟合等问题,以及随着网络变深带来的运算时间、空间代价的剧增。
EfficientNet模型,通过模型缩放来优化模型深度、宽度和输入分辨率,使模型在一定计算资源下获得最高精度。将深度图像通过预训练的EfficientNetB0网络进行迁移学习[118]来估算不同育肥阶段猪的体质量,该模型具有精确预测体质量的能力。
ResNet为解决深层网络中的退化问题,引入恒等映射和残差学习块优化训练效果,加深网络以获取更高的估重准确率。有研究将ResNet模型加入分层级联多头自注意力模块,感知猪背部更大的区域来改进ResNet模型性能[119]。此外,以猪的背部2-D RGB图像为输入估计体质量,与ResNet152V2、Xception、MobileNetV2相比,DenseNet201模型具有最好的效果[37],其主要原因在于DenseNet201模型采用密集连接的机制,能够从畜禽2-D图像获取更多的信息。通过分析卷积层的输出特征图发现,模型忽略了背景特征和光照变化等颜色特征,提取出了猪体轮廓特征,用于体质量评估显示出了更高的准确性。然而,与使用2-D图像相比,使用3-D深度图像作为模型输入估计猪的体质量发现,Xception模块具有更有效的信息整合能力,显示出最好的体质量评估效果,而MobileNet模型由于其参数过少,训练波动较大,体质量估计效果较差[53]。
以深度图像作为模型的输入,可以建立从目标识别、特征提取到体质量评估的全自动模型[120],其结构如图6所示[120]。在Faster R-CNN的基础上,加入ReLU函数和两个全连接层激活候选区域的特征向量,输出3个结果:猪的类别置信度、目标边框偏移量和体质量,模型取得了较好的效果。将目标检测与体质量评估融合的全自动系统是走向商用化的必要条件,也是未来畜禽体质量评估的重要研究方向。
图6 融合目标检测和体质量评估的深度学习模型[120]Fig.6 A deep learning model combining target detection and weight assessment
4.2.2基于深度学习算法的鸡体质量评估
目标识别算法YOLO V3能够对红外相机获得的单只鸡在一定范围活动区域的深度图像进行位置定位,采用全卷积分割算法FCN分割肉鸡区域,成功得到肉鸡的掩膜图像[121]。应用机器视觉获得分割后鸡的体尺数据维度较少,大都是背部像素个数、背部面积以及拟合图形的几何特征数据,相对于其他大型家畜更为方便提取。
除了身体特征能估计鸡的体质量外,鸡舍内复杂的环境信息和体质量也有密切的联系,动态神经网络能够针对不同输入样本,动态地调节其结构或参数。应用动态神经网络建立鸡舍动态环境和鸡体质量之间复杂的关系,能够估计鸡的体质量变化,为未来肉鸡生产优化研究提供了有效的基础[5]。
4.2.3基于深度学习算法的牛体质量评估
深层卷积神经网络Mask R-CNN是经典的目标检测框架Faster R-CNN的扩展,对牛进行图像分割具有较高的分类准确率和较高的像素分割精度,进一步使用多层感知机估计牛的体质量[122]。U-Net是比较早使用全卷积网络进行语义分割的算法,在牛的侧面身体分割中显示出了较高的精度。深度学习算法不仅能进行二维图像的分割,还应用于牛的三维点云数据的轮廓提取[56]。
全自动的牛体质量评估模型以牛的背部2-D RGB图像为输入,建立深度学习模型输出体质量。对比ResNet18、EfficientNetB1和EfficientNetB7轻量级CNN框架,发现EfficientNetB1具有最高的准确性。在CNN、RNN中添加注意模块,发现没有添加注意力机制的CNN具有最好的效果[112]。目前畜禽的体质量估计方式往往是一次只拍摄一只动物并占满图像的大部分位置,原始卷积神经网络能够关注到身体的全部,而注意力机制只能关注到身体的部分区域,不能根据整体形状特征很好的估计体质量。
4.2.4基于深度学习算法的羊体质量评估
在羊生活的区域中将羊分割出来是一项困难的任务。羊毛的颜色和纹理与背景干草类似。参考SegNet模型,基于自动编码器的架构,将第三维表示成一个常规的RGB通道,构建分割模型,成功将羊从带有杂草的背景中分离出来[109]。
与其他畜禽不同,羊毛厚度的差别往往是影响其体质量评估准确度的重要因素。目前未见全自动的羊体质量评估的深度学习模型。随着深度学习技术的发展,未来将在各种畜禽体质量评估中发挥重要作用。
轻量级网络模型能够快速移植到边缘设备中,为实现实时、快速的商业化畜禽体质量评估系统提供可能,提升轻量化深度网络模型在畜禽体质量评估系统中的性能,成为未来重要的研究目标。
与传统机器学习算法相比较,深度学习算法在体质量评估方面表现出了更优越的性能,表4列出了传统机器学习算法与深度学习算法的对比。深度学习属于端到端的模型,无需复杂的图像处理过程,自动提取用于估算的特征,并尽可能的挖掘出潜在的特征。也是由于这种端到端的特性,应用深度学习算法进行体质量评估的建模并不需要知道哪些特征与体质量相关等这类先验的专家知识。
深度学习模型具有迁移学习的能力,在其他样本甚至其他领域训练的模型可以迁移到体质量评估领域中来,共享不同领域之间的知识成果。目前基于深度学习的体质量模型均显示出了比传统机器学习算法更高的估计精度。同时,深度学习模型中的RNN能够根据时间序列建模,由于畜禽的体质量增长具有按时间连续变化的特性,将时间因素加入到深度模型中将提高模型的精度。现在流行的许多深度学习框架都以模块形式开发,模块的移植和组合等将实现模型更强大的功能。同时,深度学习模型也存在着硬件需求高的缺点,可通过轻量级架构的推广来改善。深度学习模型对比于线性回归模型和回归树模型等,可解释性不高,这也是深度学习算法本身的一个研究方向。深度学习在畜禽体质量评估研究中显示出巨大的发展潜力,是畜禽体质量评估重要的研究方向。
表4 机器学习算法与深度学习算法的对比Tab.4 Machine learning vs deep learning algorithms
本文对近年来基于机器视觉的畜禽体质量评估的研究进行了分析和综述。基于机器视觉的间接体质量估计作为一种非入侵性的手段,逐渐取代手工的测量方式,对于实现精准畜禽养殖管理具有重要的作用,正在逐步成为主流方法。然而,目前对畜禽体质量评估方法的研究相较于一些前沿领域滞后,需要从多方面进行大量的探索,以加速其从实验室研究阶段向实际生产领域商业化应用的进程。
(1)根据应用场景、监测动物类型,选取适当的视觉传感器。目前2-D相机的应用仍然比较普遍,然而其所获取的图像容易受到环境光线的影响,并且基于特定视角无法获得身体体型结构更多维的特征,同时存在图像校准、匹配和处理过程复杂的问题。而3-D相机能够获得动物身体的深度信息,通过3-D图像获取的动物3-D外形特征,正在逐步被用于体质量评估中。因此,未来可以探索多种传感器结合的方法,构建更精确的体质量评估系统。
(2)个体识别与精准估重相结合。目前的研究中畜禽图像大多是通过一次只能容纳一只动物的特定装置采集,同时获得外观特征和体质量,无法区分不同个体。虽然有部分自动图像采集系统,通过动物佩戴的RFID射频标签或在动物的背部标记特殊符号或数字来区分不同的个体。但是,在现代精准畜禽养殖中,需要探索基于机器视觉将目标检测、个体识别与体质量估算集成的方法,建立精准的个体体质量评估系统。
(3)将轻量化模型快速移植到边缘设备中应用。基于深度网络建立的体质量评估模型显示出强大的性能优势和自动化特性,如何建立精准度高、参数量少的轻量化深度网络模型,使其能够在实际生产环境中高效运行于边缘设备上,与现有的物联网系统真正融合,使这些体质量评估的人工智能模型快速推广应用,将是今后此领域研究的重点。
(4)成熟的商业化系统。目前缺乏基于机器视觉的商业化全自动体质量估算监测系统。构建在畜禽自由活动的场景中获取体质量估计可用的视觉图像软件系统是巨大挑战。构建大规模畜禽体质量评估数据集,生成包含不同品种、喂养条件、不同年龄和性别的动物通用的体质量估算模型是构建成熟的商业化系统需要解决的问题。
综上所述,能够获取身体更多维特征的3-D传感器逐渐被用于畜禽体质量评估。深度学习技术以其强大的特征学习与表征能力,在畜禽的体质量评估中显示出巨大的潜力,为未来构建全自动、实时、快速的体质量评估系统提供了方向,然而距离实际商业应用仍有许多技术难题需要解决。