基于视觉感知的畜禽智慧养殖管理与疫病诊断研究进展
2023-09-07何沛桐张建华柴秀娟
何沛桐 张建华,2* 张 凝 夏 雪 柴秀娟
(1.中国农业科学院 农业信息研究所/农业农村部农业大数据重点实验室,北京 100081;2.中国农业科学院国家南繁研究院,海南 三亚 572024)
我国是世界畜牧业发展大国之一,肉、蛋总产量更是位居世界第一位[1]。据统计,2021年我国生猪出栏量占全球生猪出栏量50%以上,蛋鸡存栏量占全球蛋鸡存栏量34.8%[2]。近年来,随着我国优供给、强安全、保生态等政策出台,畜牧业在加快生产方式的转变,规模化、集约化、标准化、智能化养殖逐渐成为畜禽养殖的发展趋势。随着养殖密度的不断增大,畜禽疫病问题越来越凸显,据评估2018年爆发的非洲猪瘟造成的经济损失高达1万亿元[3],其带来的影响至今仍在继续;据中国畜牧业协会调查,2013年上半年爆发的H7N9禽流感对家禽养殖业的直接经济损失超过600亿元[4]。同时,随着人们对食品安全、生态环境、绿色健康的重视,畜禽健康养殖、福利养殖、精准养殖生产的高端畜禽产品越来越受到消费者青睐。因此,如何利用信息技术手段提升畜禽养殖的信息化、数字化、智能化水平,形成智慧养殖技术体系,是当前养殖业转型升级和提质增效的关键。
目前在畜禽养殖场中,畜禽的个体检测、体温检测、疫病诊断、异常行为识别与体尺体重评估主要是以专业巡检员在养殖舍内不停巡检为手段,这种方式存在工作量大、主观性强、环境恶劣、存在交叉感染风险等情况[5]。同时,在传感器、RFID、可穿戴设备、智能设备等技术应用下,基于物联网的智慧养殖技术也得到较大的发展,并在规模化养殖场得到应用[6],如温湿度等传感器在养殖舍的布设,可多维度感知畜禽生长环境;智能控制设备的应用,实现了养殖舍环境的最优控制;RFID耳标的佩戴可使畜禽个体身份智能识别;可穿戴设备的使用促进了畜禽个体行为和生命体征信息的收集,用于畜禽个体发情和疾病的预测预警;智能化称重设备的应用使得畜禽可分群管理;精准饲喂站的应用可根据畜禽个体信息进行精细饲喂。基于物联网的智慧养殖技术在养殖场的应用,较大提升了畜禽养殖效率,节约了养殖成本,但也存在一些问题,如基于物联网的智慧养殖技术需要在畜禽个体耳朵上佩戴RFID标签、腿上捆绑电子计步器、脖子或腹部上佩戴可穿戴设备等方式获取畜禽个体的身份、生命体征与行为信息,这种侵入式或捆绑式方法,容易引起畜禽个体的不适、应激,容易滋生细菌引起并发症,同时设备成本和运维成本高昂,使得畜禽养殖场难以承担。
随着以深度学习为引领的人工智能、机器视觉等新一代信息技术的发展,与畜禽养殖业的融合越来越紧密,利用视觉检测、视觉感知、视觉识别技术,构建畜禽养殖的“智慧眼睛”和“智慧大脑”,以图像数据、视频数据为驱动力,可以全面感知养殖场中畜禽个体的数量、身份、体尺体重、体温、行为、疫病等信息,不仅能及时对畜禽疫病进行早期预警,降低畜禽养殖过程中因为疫病造成的经济损失,还能全方面提升畜禽养殖效率,改善畜禽产品的品质,改变畜禽养殖行业的生产方式。以深度学习网络为基础的智慧养殖模型,形成了畜禽行为、体尺体重的多维智能感知器,为智慧养殖提供决策支持。本文对近年来基于视觉感知的畜禽智慧养殖管理与疫病诊断关键技术进行了综述,分别从畜禽个体检测、畜禽身份识别、畜禽体尺体重评估、畜禽体温检测、畜禽行为识别、畜禽疫病识别等6个方面的研究进展进行阐述,总结出智慧养殖中畜禽智慧养殖管理与疫病诊断关键技术目前面临的挑战,并对未来的发展趋势进行了展望。
1 畜禽个体检测
畜禽个体检测是指利用深度学习,在有足够畜禽图像数据的情况下进行模型训练,并在图像中的畜禽轮廓上分别生成最小外接矩阵框,框定畜禽个体,从而实现养殖场中的畜禽个体目标检测[7]。畜禽个体检测是实现畜禽疫病智能检测的主要内容和关键,其检测的准确性将直接影响体尺评估、体温检测、行为识别等后序算法的性能。本文对畜禽个体检测方法进行归纳总结(表1)。
表1 近年基于深度学习的畜禽个体检测方法研究进展Table 1 Research progress of livestock and poultry individual detection methods based on deep learning in recent years
早期畜禽个体检测算法大多采用滑动窗口策略选出候选区域,然后提取候选区域特征,最后使用分类器进行分类,从而获得目标区域,如Viola-Jones检测、HOG检测和有关可变形部件模型DPM算法等。由于滑动窗口方法候选区域的特征提取采用手工方式,遍历一遍窗口耗时长,算法的准确性、鲁棒性不强。近年来,随着深度学习的发展,基于深度学习的R-CNN系列、SSD、YOLO以及CenterNet等新检测算法优于基于滑动窗口的畜禽个体目标检测算法。基于深度学习的目标检测框架可以分为二阶检测器和一阶检测器两大类。
基于二阶检测器的畜禽个体检测,首先在整个图像范围内生成候选框,再在候选框区域内二次修正回归得到畜禽个体的检测结果,具有较高的准确率,但是时效性相对较差,代表算法有R-CNN系列以及SPPnet等。Yang等[8]首先将目标检测算法应用于畜禽的个体检测,利用Faster R-CNN对500张可见光图像中的生猪进行目标检测。李昊玥[9]对Mask R-CNN进行改进,对其中的特征提取网络和损失函数进行了优化(图1),提升了网络对于奶牛图像识别的性能和模型的准确率,相较于原始的Mask R-CNN算法其平均精度提升了3.28%,更加适合奶牛个体检测任务。高云等[10]针对实际养殖环境中畜禽之间可能出现的相互遮挡、粘连等问题,设计了双金字塔网络对群养环境条件下的生猪进行个体识别,有效解决了颜色相近、个体相似的生猪粘连问题。
图1 利用二阶段检测方法Mask R-CNN网络对奶牛进行个体检测结构图[9]Fig.1 The structure chart of individual detection of dairy cows using the two-stage detection method Mask R-CNN network[9]
基于一阶段检测器的畜禽个体检测,则是不再单独生成候选框,而是直接产生畜禽个体的类别概率和坐标值,很好地满足了时效性,但是在检测准确率方面较二阶段目标检测算法而言略有下降,代表算法有YOLO系列以及SSD算法等。何东健等[11]对YOLOv3算法进行改进,使其更加适应复杂环境下的奶牛个体检测,其识别准确率明显优于YOLOv3模型和Faster R-CNN模型,且速度是后者的8倍。燕红文等[17]将注意力机制融入到特征提取过程,将特征金字塔注意力与Tiny-YOLO进行结合,实现了对不同环境下的群养生猪进行多目标检测。黄静和张健[12]将金字塔网络和注意力机制融入SSD算法,解决了在光照不足的养殖环境下对猪只个体的目标检测。易诗等[13]对兔子的红外热图像进行目标检测,结合改进的YOLOv3算法,实现对兔子进行夜间实时监控。房俊龙等[14]在CenterNet中加入特征金字塔结构(图2),不仅进一步加强了模型的特征提取能力,还更好地解决了实际养殖环境中猪只个体之间存在大范围遮挡的问题。
目前,部分生猪、奶牛、肉牛等养殖基地逐渐将基于深度学习方法的个体检测技术应用于实际养殖环境,用于畜禽数量动态统计,以及出栏畜禽的精准计数等任务[15]。随着养殖规模不断扩大,群体饲喂畜禽个体越来越密集,使得一定空间条件下饲喂畜禽个体增多,畜禽个体之间常常出现遮挡、粘连、重叠、拥挤现象;同时,畜禽养殖舍内光照不足、环境复杂、养殖条件各异,使得在高密集、复杂环境条件下的畜禽个体目标检测难度增大。如何提高存在畜禽相互遮挡、高密度群体养殖、畜禽养殖环境光照不足、养殖环境背景复杂情况下的检测准确率是畜禽个体检测面临的挑战。
2 畜禽身份识别
畜禽身份识别是实现精准畜禽疫病检测与预警的关键。近年来,随着养殖规模的扩大,生猪、肉牛、奶牛等大型牲畜个体化管理和个体化信息记录也成为了大规模养殖的核心需求。传统的畜禽个体身份识别主要依靠佩戴耳标或RFID标识方式,该方式不仅劳动成本高、效率低下,且容易造成畜禽个体的应激反应并且容易滋生细菌引起并发症。因此,高精度、智能化、非接触式的畜禽个体身份识别方法对智慧养殖有着非常重要的意义。本文总结了一些基于机器视觉技术的畜禽身份识别方法(表2)。畜禽的身份识别主要通过识别畜禽表型特征实现,主要通过畜禽面部识别进行畜禽个体身份确认。随着机器学习以及深度学习的兴起,面部识别已取得了广泛成功。将面部识别技术应用到动物身份识别任务中可以明显提高识别的准确性,同时这种高精度、智能化、非接触式的识别方式也可以和信息管理与检测结合起来显著降低智慧养殖的成本。本文主要介绍利用面部识别进行畜禽身份识别的方法。Kumar等[21]就以肉牛的口鼻点作为身份识别的关键,它们利用深度信念网络进行肉牛的口鼻特征提取,再用单次相似性技术进行肉牛个体的识别,其身份识别正确率可达98.99%。燕红文[22]利用猪脸对生猪身份进行识别,将Attention-AlexNet与LBP方法结合,其精确度为98.11%。李德平[23]对AlexNet网络进行改进,并用改进后的网络通过生猪背部进行识别,得到的猪只身份识别结果达到 94.13%。何屿彤等[24]构建了YOLOv3-DB-SPP模型,实现生猪多个体90.18%的识别精度。戴百生等[25]利用改进的ShuffleNet-v2对4 000张生猪脸部进行识别,其准确率可达96.98%。
表2 近年基于深度学习方法的畜禽身份识别技术研究进展Table 2 Research progress of livestock and poultry identification technology based on deep learning method in recent years
利用面部识别对畜禽进行身份确认无疑是最理想的方法,因此套用人脸识别已有的模型和方法最为常见。然而,人脸识别技术的成功背后是庞大的人脸数据集,相比之下,带有标签的畜禽面部图像数据集相对较少,如何利用有限的畜禽面部数据达到最好的识别效果是当前的难点。为解决上述问题,2020年中国农业科学院农业信息研究所柴秀娟团队从506头生猪上收集了3 040个标记的猪脸数据,构建生猪脸部图像视频数据集,并利用迁移学习方法将畜禽数据调整到预先训练好的人脸识别网络来更好地实现种间知识转移,在此理念基础上设计了一种残差种间同变网络RiseNet[26](图3),并根据畜禽面部结构特征,将畜禽的面部分为上下两部分,能让畜禽面部分布更加贴近人脸的分布从而实现对畜禽面部更好的识别。利用RiseNet的残差种间同变模块从人类面部的上半部分学习畜禽上半部脸的种间特征,对于下半部分脸则是使用ImageNet上预先训练的网络进行特征提取,最后通过加权和降维来有效融合上下面部特征,RiseNet在生猪面部的数据上取得了99.5%的准确率,相关成果发表在2020ECCV上。2022年,该团队又将目光继续投向了基于集合的面部识别。基于无约束的面部识别相比于单帧图像识别能够在其单个集合内存在巨大方差而更加贴近真实环境,更加贴合实际养殖环境中的情况[27]。该团队将集合的加权聚合转换为一个图神经网络的节点权重预测问题,采用了孪生网络的结构,用VGGface2作为图像级特征提取器,建立对比图卷积块结构,提出MG-GCN模型。该模型注重低质量图像在极端数据中的作用,更加关注具有对比性的信息,并在1 000对生猪面部数据中取得了95.6%的准确度。
图3 通过面部识别对生猪进行身份识别的网络RiseNet[26]Fig.3 RiseNet for identifying pigs through face recognition[26]
图4 类YOLOv3白羽鸡温度敏感区域检测网络结构图[67]Fig.4 YOLOv3-like network structure diagram for detecting temperature sensitive areas in white feather chickens[67]
通过畜禽面部识别来进行对于畜禽的身份识别依然是主流。但直接将人脸识别技术迁移到畜禽数据中,很难在实际的畜牧养殖场景中实现畜禽个体身份识别的应用。与人脸识别不同的是,智慧养殖中的畜禽面部识别有数据量小以及识别场景复杂的特点,神经网络难以从较小的数据中学习出紧凑的特征分布,识别场景的无约束也会进一步增加数据的方差。因此,构建大规模的公共畜禽身份识别图像数据集非常必要,同时如何利用小样本特征增广的思想为畜禽面部识别合成一个更强的特征空间成为重要研究方向。畜禽面部与人脸的结构差异会影响方法的性能,针对单帧的畜禽面部数据设计无约束方法也是有意义的研究方向。畜禽面部的属性分析能为识别任务提供明确的语义帮助,无监督的畜禽面部属性的标签获取与分析,将是未来识别方向之一。目前,在实际的畜禽养殖环境中,大多养殖场依赖于RFID耳标的使用对畜禽身份进行识别。通过深度学习方法对畜禽面部的识别从而实现畜禽身份智能识别目前只在小部分养殖环境进行示范应用[28],在技术更加成熟之后将会有更大的应用空间。
3 畜禽体尺体重评估
畜禽体尺体重评估是畜禽疫病诊断与健康评估的重要手段。在畜禽生长阶段,实时测量畜禽体尺、体重等信息可以监测畜禽的生长、日增重、耗料增重比等指标,也可及时发现潜在疾病。体重、体尺信息是畜禽育种选种、考察品种繁殖性能的重要评价指标之一。目前传统的体尺测量方法是使用卡尺、皮尺等工具进行人工测量,工作量大且测量准确度受人为主观性影响较大。而传统的体重测量方法也是依靠人工方式,将畜禽赶上秤,称量体重,不仅人工工作量和时间成本较高,还会对畜禽造成很大的应激,严重影响畜禽正常生长,进而导致畜禽的生产性能下降[39]。常见的测量畜禽体重的设备为电子秤,尽管电子设备可以较为精准地测量畜禽的体重,但是由于称重时畜禽个体的晃动等外界因素,会导致较大的测量误差,同时称重很大程度不可避免畜禽个体的应激反应。早期的一些研究通过直接确定畜禽骨骼尺寸来对其体尺体重进行计算,Cloete等[40]利用X射线成像技术测量畜禽骨骼尺寸,尽管实现了非接触式测量,尽可能最大程度上避免了畜禽应激的情况,但是这种技术存在着应用环境要求较高、可能对畜禽本身造成损害的缺陷。利用机器视觉的畜禽体尺体重评估则可以完全避免上述问题。本文对于基于机器学习的畜禽体尺体重评估方法进行总结(表3)。
表3 畜禽体尺体重评估研究进展Table 3 Advances in livestock body condition assessment research
畜禽体尺体重评估一般包括两部分,第一部分是通过图像得出畜禽的身长、身高等指标,第二部分是通过已经测量的畜禽身体指标利用校正模型得到畜禽的体重。从整体上看,畜禽体尺体重评估逐渐从单目视觉成像向双目视觉成像发展。岳伟[41]用Sobel-Hough直线提取模型和阈值分割等方法对肉羊进行体尺体重和体重评估根据小孔成像原理,纠正背景板代替羊体产生的偏差,得到2.98%的平均误差。江杰等[42]采用D-P算法和海伦-秦九韶公式寻找曲线曲率最大的点作为臀部测点,在寻找到的关键帧的基础上,寻找肩胛点,结合空间分辨率计算出羊体尺参数。试验结果表明,该方法可以准确提取关键帧,体尺测量平均误差不超过3%。武尧[43]利用4个摄像头通过正交方式安装,用左、右两侧相机采集的数据进行互补,并得出了母猪体重预测公式:
y=0.638 8x1+0.574 21x2+0.138 1x3+
0.121 8x4+0.020 9x5+0.018 7x6+0.147 8x7
(1)
式中:x1~x7分别为母猪体长、体宽、体高、臀高、臀宽、胸围、腱围,cm。体重人工测量值与估测值的拟合误差模型为:
y=0.004 7y′2-1.021 2y′+210.86
(2)
式中:y为实测体重,kg,y′为估测体重,kg。
单目成像方法虽然成本较低且易于布置,但是在精度上仍有提升空间。和单目成像相比,双目视觉成像有着精度高、识别限制少的优点。李琦等[44]采用Mask R-CNN算法结合牛体尺测点识别的方法,基于双目视觉原理测定牛体尺参数,利用双目测量原理计算牛体尺测点的深度信息,将牛体尺测点像素坐标转换为空间三维坐标,利用欧氏距离计算空间中点与点间的距离,从而计算牛体尺参数。其体长、体高、体斜长的平均相对误差分别为6.09%、5.78%和6.58%。另外,深度相机也是多目视觉技术中经常应用的硬件。Pezzuolo 等[45]首先利用深度相机对生猪的身长和高度等进行非接触式测量,并建立了线性和非线性模型,与基于手动测量的相同非线性模型相比,平均绝对误差减少了40% 以上。Li等[46]利用深度相机拍摄生猪饮水图片,从背部点云数据中提取生猪尺寸参数,并将其作为自变量建立逐步回归分析模型,尺码测量结果显示,体长、身高、肩宽的平均相对绝对误差分别为0.7%、1.8%和3.3%,虽然结果较为准确,但是依然要考虑深度相机成本较普通相机更加高昂的问题,而且算法消耗时间较长,数据量更大。
对于二维图像数据,主要是通过单相机获取图像,再利用测点法提取畜禽体尺并建立体重预测模型,但这种方法易受相机参数及物距影响,泛用性不强。对于三维图像数据,主要是利用双目视觉技术和深度相机技术,获取畜禽体长、体高等相关信息,能够有效提高检测精度,降低体重估测误差。3D点云技术是未来研究的热点之一,畜禽更多详细信息可以通过3D点云数据获取,其精度也更高。但是3D点云数据自身规模庞大,容易造成特征冗余,计算耗时多[47],并且在进行计算时对计算能力有较高的要求,有很大的优化空间。从实用性上来看,基于深度学习的的畜禽体尺体重评估具有非接触性、快速、准确的特点,有望在实际养殖环境实现逐步应用。
4 畜禽体温检测
体温异常对于畜禽疫病的早期发现非常重要。畜禽体温检测不仅是不可缺少的疾病诊断依据,而且对传染病来说检测体温作为提前判断患病畜禽更为重要。畜禽体温的变化是畜禽对外来和内在病理刺激的一种对抗反应,以生猪为例,猪流感病、猪蓝耳病、猪瘟、猪链球菌病均会导致生猪发热,体温升高;仔猪正常体温为38~40 ℃,成年猪为 38~39.5 ℃[61];体温低于常温时,称为体温低下,常见于大流血和濒死期;体温高于正常范围时称作发热,较常温升高1 ℃时称作微热;较常温升高 2 ℃时称作中热,较常温升高3 ℃以上时称作高热[62]。因此,对于畜禽的实时体温检测能够及时发现患病畜禽,并对畜禽疫病进行及时预警与防治有重要意义。
临床上,针对猪、牛、羊大型牲畜通常采用兽用体温计植入畜禽个体直肠内的温度来确定[62],针对鸡、鸭等小型畜禽通常采用体温计放置在畜禽翼下或直肠来测量体温[63]。但这种体温测量方式存在缺陷:一是容易发生人畜交叉感染,人畜之间能够进行传染的疾病有200多种,如猪链球菌病、猪圆环病毒病等。二是这种方式属于入侵式采集方式,畜禽个体在测温时会产生应激反应。随着传感器技术的发展,出现了植入式微型体温传感器、可穿戴设备、注射式RFID感温传感器等接触式实时感知畜禽体温装置,确实解决了在获取温度时畜禽应激问题,且大大降低了人畜交叉感染的风险,还方便多次温度数据获取,但是在首次植入传感器时会对目标动物造成损伤,且后续还需手术取出,大大降低了动物福利,同时,该方法消耗大、运维成本高。
红外热成像测温技术是一种非接触式的体表测温技术,结合视觉检测技术,具有非接触、无耗材、实时性、反应速度快等优势。其主要包括热窗选择、热窗区域定位、温度采集、体温校准与反演、体温异常预警等步骤。如何对养殖环境下的畜禽的温度敏感部位进行有效检测和建立畜禽体温校正模型是畜禽体温检测的关键点。本文对近年来利用红外热成像技术进行畜禽体温检测的方法进行了总结(表4)。de Diego等[64]最早开始用热红外成像测温技术对绵羊的眼部测温来发现因为蓝舌症和病毒血症而发热的绵羊个体,发现了绵羊直肠温度和绵羊眼球部位热成像温度的相关性,通过对绵羊眼球部位的温度对绵羊是否发热进行判断,灵敏度能达到94.4%,但是并未提出有效的温度敏感区域,也并未建立体温校正模型,得出具体的绵羊体温,只能对是否发热进行二元分类。为探讨绵羊温度敏感区域温度和直肠温度之间的关系,进一步建立体温校正模型以便对绵羊应激热进行更好的监测,Joy等[65]选取绵羊额头、眼睛、耳朵、面部、鼻部等位置作为温度敏感区域,并利用一个隐含层包含10个具有切线S型传递函数的神经网络作为校正模型对绵羊体温进行检测,这种方法的均方误差能够小到0.02,能较好地反应绵羊的真实体温,但是没有具体的温度敏感区域检测或者分割算法,对温度敏感区域依然依赖于手工提取。Lu等[66]利用SVM算法对600头仔猪头部进行识别,根据头部轮廓的形状特征定位2个耳朵基点,最后提取以耳基点为中心的2个圆内的2个最高温度作为耳基温度,对于左右耳基,分别有97%和98%的测试图像误差在0.4 ℃以内,该方法实现了对于仔猪的头部的识别并且利用仔猪两只耳朵的最高温度作为仔猪的实际体温,但是需要在特定的角度进行图像获取,且直接将耳部的最高温度作为实际体温,矫正模型有提升的空间。随着目标检测算法的不断发展,温度敏感区域检测算法和温度校正模型日益完善,沈明霞等[67]利用YOLOv3模型(图5)对白羽鸡腿部和头部区域进行检测,其视觉检测准确率达到96.77%,接着对白羽鸡的头部和腿部区域利用热红外成像技术进行采集,结合环境温度、相对湿度和光照强度,利用BP神经网络作为体温校正模型,可以获得0.33%的相对误差,公式如下:
图5 用于检测母猪饮水行为SBDA-DL网络模型结构[78]Fig.5 Structure of SBDA-DL network model for testing sow drinking behavior[78]
y′=38.35-0.039x1-0.014x2+
0.035x3+0.024x4+0.003x5
(3)
式中:y′为白羽鸡翅下温度,℃,x1、x4、x5分别为环境温度、头部最高温度、腿部最高温度,℃,x2为相对湿度,%,x3为光照强度,lx。
肖德琴等[68]对生猪热像图的头部及其耳部进行检测,接着利用阈值分割方法对生猪耳部进行二值化处理,再结合温度矩阵得出生猪的体温,其体温检测模型能达到0.2%的误差,但该模型仅适用于单只生猪的情况,对于多只生猪的情况则使用性较差。
利用热红外成像技术进行畜禽体温检测,关键是在复杂养殖环境下畜禽热窗的准确定位,需要解决畜禽热窗区域的跨空间、跨尺度、跨视角的特征提取问题,增强其畜禽热窗区域的表达能力,优化标签编码策略和边界框回归方式。热红外用于动物体温测量时,受到环境温度和测量距离影响比较严重,测温精度不高,需要建立标准体温与热窗温度、环境温度的校准与反演模型,研判畜禽体温异常情况。在实际应用方面,通过热红外成像方法对畜禽体温进行检测的技术相对较为成熟,且已经在小范围内进行应用,对于体温异常的畜禽个体识别,有助于畜禽疫病或疾病的早期发现与预警,未来有望在实际养殖环境下得以大范围使用。
5 畜禽行为识别
畜禽行为识别是通过在适当位置部署图像传感器或者巡检机器人上,以目标区域检测为基础,对畜禽群体或个体进行连续检测与跟踪,从而获取其行为特征,用以判断畜禽生长状态、精神状态、健康水平,进而对畜禽疾病和动物福利做出预警或识别,是畜禽疫病早期检测的重要手段[74]。随着集约化养殖模式得到普遍应用,饲养规模和密度不断增加,大幅度提高畜禽生产效率的同时,也产生了大量的动物福利问题,畜禽生存条件恶劣,免疫力低下,危害人类与动物健康,威胁公共卫生安全。行为特征是在一定条件下畜禽对内外环境因素刺激所做出的能动反应,不仅与损伤、疾病、生理心理变化有关,也是对复杂环境的适应性表现[75]。畜禽的行为检测与识别可对畜禽动物福利状态进行判别,用于帮助饲养员改善畜禽饲养条件[76]。现代化的集约化养殖方式限制了许多具有生物学意义的畜禽行为。因此,在现代化饲养管理中,一般将畜禽行为表现分为正常行为和异常行为。
5.1 日常正常行为识别
在种类繁多的畜禽疫病临床或亚临床体征表现之前,往往伴有畜禽个体自身行为的改变,例如,当畜禽感染疫病时其饮水、进食频率会发生巨大改变,或是躺卧、站立的时间大幅度增加或者减少。因此,日常行为的监测与识别显得尤为重要,可以弥补生物安全措施的不足,有利于防止畜禽烈性传染疾病以及人畜共患病的传播。日常行为活动主要包括采食、饮水、排泄、躺卧、站立、行走等基础生理行为。本文对畜禽日常行为识别方法进行归纳(表5)。
在畜禽进食、饮水等行为识别方面,其主要思路在于检测出畜禽个体之后,判断畜禽个体与饮水区域或者进食区域之间的重叠关系。朱伟兴等[77]利用阈值分割方法和几何特征提取对生猪个体进行分割,再判断分割出的畜禽个体是否和饮水区域重叠、重叠时间是否够长来判断畜禽是否进行了饮水行为,该方法对于的饮水行为识别准确率达到90.7%,但是对多只猪只个体需要进行手动标记。李泽森[78]建立以SSD为检测网络,以MobileNet为分类网络的SBDA-DL算法模型(图5),对母猪饮水行为进行检测,在1 423张视频截图中得到了96%的准确率,但是由于饮水区域较为小,生猪在饮水器旁徘徊容易被误认为在进行饮水行为,降低了饮水行为识别的准确率。
Alameer等[79]则是针对上述问题,设计了一个基于GoogLeNet结构的网络对生猪访问进食区域却不消耗饲料的NNV行为和生猪实际进食行为进行区分,准确率达到99.40%。Yang等[8]利用Faster R-CNN模型同时识别每一头生猪的个体和其对应的头部,再通过判断生猪头部和进食区域的范围以及是否在进食时间范围内等条件来判断生猪是否进行了进食行为,其准确率能达到99.6%,但是其限制条件较多,对没有进食时间限制的养殖环境并不适用。为了弥补上述不足,为进一步提升对于生猪和进食饮水区域的判断,嵇杨培等[80]先利用头颈模型和YOLOv2算法对生猪个体进行检测,对生猪是否在饮水进食区域进行判断。鉴于头颈模型的稳定性,该检测算法能够很好地解决猪只之间遮挡、重叠的问题。再利用背景差分法对个体进行分割,通过阈值法判断是否进行了进食饮水行为,其准确率分别达到96.49%和94.59%。
在畜禽行走、躺卧等行为识别方面,其主要思路是寻找一个视频中连续帧中畜禽动作之间的相关性,从而对畜禽行为进行识别,因此能够提取时间序列的网络结构被大量使用,双流网络[81]就是其中之一,其主要由空间流卷积网络和时间流卷积网络分别提取视频的空间和时间特征,最后进行融合。Fuentes等[82]在双流网络的基础上并行加入一个YOLOv3网络对奶牛的行走行为进行识别,mAP为0.902。苏森等[83]则是仿照双流网络结构,在YOLOv2网络上添加了并行的3D-MobileNet网络提取连续帧中的时序特征,利用通道注意力模块将其与2D卷积网络提取的空间特征进行融合(图6),用于生猪躺卧行为的实时识别,mAP0.5的值达到61.32,大大降低了对于光流数据的计算,但是对于目标较小的场景效果较差。上述方法的通病是卷积网络参数量巨大,计算时间较长,难以实现实时识别的效果。骨架提取则是另一种进行行为识别的方法,能够去掉不必要的信息,便于识别。刘波[84]利用深度相机采集生猪行走序列图像,对生猪的骨架端点进行提取,利用余弦函数进行贴合,从而实现对生猪行走的识别,其识别准确率能达到96.4%,但是该方法需要后台进行队列处理,实时性较差。在如何有效压缩模型在计算过程中的参数是下一阶段需要继续考虑的问题。Fang等[85]将骨架提取和深度学习方法结合在一起,利用Deeplabcut和ResNet50寻找肉鸡特征点构建姿势骨架,再利用朴素贝叶斯方法对肉鸡的行走和整理羽毛行为进行识别,其精度分别为51.35%和92.58%,但该研究没有考虑时间特征。目前来看,上述方法都存在着参数量过大、计算时间长的问题。
图6 以YOLOv2为主干的生猪行为识别网络模型图[83]Fig.6 Model diagram of pig behavior recognition network with YOLOv2 as the backbone[83]
通过视觉检测的目标检测与目标跟踪技术,对畜禽的生活习性、活动规律、行为特征进行自动获取与统计分析,用以记录畜禽正常行为,并对比患病畜禽行为统计差异显著性,可以较为准确的预警一些疾病或疫病的发生。方法难点在于长时间对畜禽密集目标检测与跟踪,并计算其行为轨迹与特点。同时,因处理对象大多为实时视频数据,对算法的实时性要求较高。
5.2 异常行为识别
异常行为是指在行为类别、模式和表现程度上与正常行为有明显差别的行为,以及对自身或对其他个体有害的行为,主要包括:非正常的饮水、进食与排泄,以及好斗、咬尾、打架、跛行、颤抖、蜷缩、厌食、久卧、犬坐、步态不稳、腹式呼吸等。以生猪为例,猪传染性腹泻和猪流行性肠胃炎会使生猪排泄次数增加,而生猪在感染流行性感冒之后则是会增加饮水量并且减少饲料摄入;在仔猪断奶后,如果其体内缺乏微量元素,则会表现为好斗、咬尾、打架等行为。因此,对畜禽异常行为的识别,有助于在疫病初期对患病畜禽进行及时发现,有效阻碍疫病进展和广泛传播。对畜禽异常行为识别的方法总结在表6。
表6 畜禽异常行为识别研究进展Table 6 Advances in research on abnormal behaviour recognition in livestock and poultry
近年来,大多研究集中在畜禽的跛行、打斗等异常行为识别。在跛行识别方面,Poursaberi等[98]早在2010年开始对奶牛跛行进行识别,利用背景减法对图像中的奶牛进行提取,再用阈值分割方法对奶牛跛行进行识别,其准确率为94.7%。2013年Viazzi等[99]利用决策树方法对8头奶牛的105个视频中的跛行行为进行识别,得到91%的是准确率。到了2019年,吴倩[100]利用YOLOv3算法对奶牛关键部位进行检测,再用 SVM分类器对通过基于前后腿相对步长的跛行检测方法的视频进行分类,准确率为95.62%。为了解决基于可见光视频的奶牛跛行检测系统易受光线、环境变化因素影响的问题,康熙等[101]想到运用红外热图像对跛行奶牛进行识别,利用YOLOv4对奶牛进行目标检测,再计算红外热图像中奶牛的弓背曲率,完成对奶牛跛行行为的识别,其最佳准确率为94.44%。在打斗等攻击行为识别方面,主要多采用三维卷积的方法。Chen等[102]首先利用阈值分割方法识别出个体仔猪,再通过对连续帧中的仔猪位置对仔猪运动的加速度进行计算,通过其加速度的周期性变化规律来识别仔猪的攻击性行为,例如碰撞和撞击其他仔猪,该方法能成功识别出95.82%的中等攻击性行为和97.04%的高攻击性行为。张苏楠等[103]利用MobileNet对单点多框检测器进行改进,提高 SSD 对运动生猪个体的检测精度与速度,准确率能达到93.75%。Nasiri等[104]利用ResNet对行走肉鸡的7个关键点进行检测和跟踪,再将其送入LSTM模型,建立的LSTM模型平均分类正确率为97.5%。三维卷积网络虽然能更好地提取相关特征,但是模型参数和计算量也在增长,识别速度较慢。
异常行为识别是主要判断畜禽疾病发生以及评估健康状况。在行为特征描述方面,如何构建包括时间、空间、通道等不同维度的注意力模块,提升多维时空特征的表达能力,是异常行为识别的难点之一。同时,畜禽异常行为数据稀少性和正负样本不均衡的问题,也是实现复杂场景下的畜禽异常行为准确识别的难点。
目前智能畜禽行为识别方法多在畜禽舍进行示范应用,实际应用还较少,需要进一步提高行为识别准确率,结合养殖现场实际情况,配合成体系的自动化系统装备能更好地应用于实际场景当中。
6 畜禽疫病智能诊断
畜禽疫病图像智能诊断是在建立畜禽疫病知识库基础上,利用深度学习提取患病畜禽个体身体结构变化、轮廓变化、关键部位形态等表型特征,并对畜禽疫病类别进行识别与诊断[108]。畜禽生长过程中难免会受到种类繁多的传染病及营养代谢病的危害,不仅会造成畜禽个体生病、体尺体重下降、产量和品质降低,特别是在传染性强、致死率高的畜禽疫病出现时,在养殖场发现后第一时间是进行彻底的捕杀和填埋以及对环境场所的彻底消毒,以免造成畜禽疫病爆发风险增大、人畜共患病危险升级的情况,继而会对公共卫生安全形成严重威胁。畜禽疫病智能诊断是现代化智能畜禽养殖的重大共性关键技术,是有效减轻和防止动物疫病事件产生严重社会危害、造成重大经济损失的关键环节。
目前在畜禽养殖疫病诊断与防控工作中,主要依靠兽医在畜舍的巡视或者远程诊断,甄别患病畜禽个体并采用相应的措施进行防治,还可借助相关检测仪器或检测试剂得出检测结果确诊准确疾病。但该方式工作量大、主观性强、容易出现人畜间的疫病传染[109]。从本世纪初开始,大多研究者利用专家系统、知识库、规则推理、模糊推理、神经网络等方法,构建畜禽疫病自动诊断系统,在早期能够通过文字描述或者图像的识别对畜禽疫病做出诊断,在减少人工成本、提高识别准确率的同时更加具有实时性。徐东升等[110]早在2009年就提出用规则推理事例推理结合的方法构建专家系统,通过疫病症状描述,对白绒山羊的呼吸系统、消化系统、运动系统、神经系统等方面的疫病进行识别诊断。Kim等[111]利用模糊C均值推理法为狗的肛周萎管、弓形虫病等100种常见的疫病建立了专家系统便于狗主人的辅助诊断系统,其准确率高达98.6%。钟昌乐等[112]将BP神经网络结合到专家系统在中,集成了鸭、猪、猫、鸡的多种常见疫病与症状知识,实现了具有推理简单、实用性强等特点的畜禽疾病诊断专家系统。Sitanggang等[113]利用冢本模糊法对肉鸡的常见疫病建立了专家系统。Suharjito等[114]利用冢本模糊法建立的专家系统对奶牛疫病的识别准确率高达100%。Nusai等[115]则是将生猪性别和年龄考虑到知识库构建中,其建立的专家系统在疾病筛查、症状诊断、病变诊断方面分别取得了97.5%、92.48%和95.62%的准确率。基于逻辑推理的畜禽疫病诊断系统,主要利用疫病知识、规则推理、专家系统等方法,缺少对畜禽疫病症状的分析与描述,以及患病畜禽形态、结构、表型等特征的刻画,畜禽疫病诊断的准确性和普适性相对较低。
随着深度学习在畜禽疫病识别的应用,畜禽疫病图片数据逐渐被作为驱动构建畜禽疫病识别模型,实现了畜禽疫病的智能识别。表7中总结了基于深度学习方法的畜禽疫病图像智能诊断算法。Mbelwa等[116]利用XceptionNet网络对两种患有不同疫病和健康的肉鸡的粪便进行分类,从而实现对于两种肉鸡疫病的分类,其准确度达到94%。Gao等[117]提出了一种基于知识图谱和迁移学习的卷积神经网络KGTL-CNN,实验结果表明该模型有着86.77%的F1得分,相比传统CNN模型来讲提升了7.7%。Rony等[118]将Inception-V3结构和VGG16网络有机结合在一起(图7)对肉牛的3种疫病进行识别,准确率为95%,囿于肉牛疫病图像数据的不足,识别准确率依然有提升的空间。邱洪涛[119]将深度学习方法和证据理论融合,利用ResNet-18提取生猪内脏图像特征,再利用证据理论对生猪疫病进行了准确识别,该方法虽然有着可观的准确率,但是利用的是生猪解剖图像,不符合实时检测识别的初衷。
图7 针对牛的3种疫病识别的Inception-V3和VGG16结合网络[118]Fig.7 Inception-V3 and VGG16 combined network for identification of three diseases of cattle[118]
表7 基于深度学习的畜禽疫病智能诊断研究进展Table 7 Research progress of livestock and poultry disease identification based on deep learning
当前,基于深度学习的畜禽疫病智能诊断的主要难点还是在于大规模畜禽疫病图像数据集的构建。同时,畜禽疫病智能诊断面临应用场景复杂、数据来源多样、混合疫病复杂耦合等众多挑战,现有方法在视觉异常检测、多模异构数据统一表示与融合决策、以及知识图谱自主构建和演进等方面仍有不足,系统性和实用性亟待提高。同时,如何应对跨媒体多模态输入的数据结构复杂性和融合决策协同泛化难的挑战,实现精准高效的疫病识别与诊断,是变革智能养殖生产方式的重要方向。目前,少量畜禽疫病识别或疾病诊断APP已上线使用[120],主要是基于专家系统、知识库、规则推理、模糊推理等逻辑推理方法构建,这些方法需要填写或选择的症状信息较多,操作复杂,智能化程度有待提升。基于深度学习的畜禽疫病图像智能诊断方法在保证其训练数据集充足的情况下能够提供更高更稳定的疫病识别准确率,智能化程度高,将会有较大的应用空间。
7 结 论
基于视觉智能感知的畜禽疫病检测与智慧养殖管理关键技术是智慧养殖技术体系的重要内容,也是智慧养殖决策支持与智能管理的关键。多项研究表明,畜禽个体检测、畜禽身份识别、畜禽体温检测技术已可实现复杂养殖环境的精确畜禽个体识别与体温检测,相应的检测精度与计算速度基本能满足实际的要求,在实际畜禽养殖环境下已经处于示范阶段。但畜禽疫病识别、畜禽行为识别、畜禽体尺体重评估由于其性能依然有提升的空间,且较多为示范性场所或者试点应用,其应用场景较少,导致实际应用效果尚不明晰,还有待进一步检验。本文介绍了畜禽智慧养殖的多个方面,基于视觉智能感知的畜禽疫病检测技术均获得了较好的进步与效果,将多个基于视觉感知的畜禽智慧养殖管理技术与智能装备相结合,形成系统化、智能化、完整性的畜禽智慧养殖管理体系,将会在实际的畜禽养殖中发挥更大的应用效果。对相关研究进行总结梳理后,可以得出以下结论:
1)基于机器视觉的畜禽个体检测算法研究目前主要致力于解决高遮挡、光线差等问题,检测速度也是重要关注的指标。现研究的准确率大部分在92%以上。
2)深度学习在畜禽身份识别中已有广泛应用。深度学习方法能够通过单独识别畜禽的面部、花纹、尾部等部位从而实现畜禽身份识别。其中,不同畜禽个体之间的脸部特征差异性最为明显,较其他身体部位相比,特征更为丰富也更为明显,因此利用面部数据的研究较多。其中以轻量级网络为主,其识别准确率能达到90%以上。目前机器视觉的畜禽身份识别方法已经进行了示范应用。
3)对于体尺体重测量方面的研究,部分研究利用二维数据进行后续预测,但也有一些研究已经开始利用三维数据,相对误差更小。畜禽体尺体重的智能估测已经被越来越多的养殖公司投入使用,在测量精度和速度上已经有了很好的表现[121]。
4)基于机器视觉对畜禽体温进行检测的研究较为丰富,从早期研究使用的阈值分割方法到使用深层次的卷积神经网络,其区域提取准确率逐步提高,校正的体温温度相对误差也逐步减小。在一些畜禽智能养殖场已经应用将部分研究投入应用,很多企业也已经推出相关产品[122]。
5)利用深度学习方法对畜禽疫病进行直接识别的相关研究较少,主要难点在于对于畜禽疫病图像数据集的构建。
6)在畜禽行为识别方面,对于日常正常的行为识别,多数研究通过判定畜禽和养殖环境特定范围接触的情况来对日常行为进行识别。在异常行为识别方面,则需要通过连续帧之间的关系进行确认。相对于其他研究,判定奶牛跛足方面的研究较多,且较成体系。
8 展 望
在目前已经有畜禽养殖基地示范采用智能感知方法的情况下,随着畜禽养殖环境不断规范化、规模化、现代化,以及相应设备硬件的不断更新,基于视觉感知的体尺体重评估及畜禽疫病检测技术有着较强的实际应用可行性。未来研究还需以视觉感知方法研究为出发点,突破智慧养殖中体尺体重评估及畜禽疫病检测技术瓶颈,进而实现畜禽养殖的智慧管理与疫病的智能防控。未来技术发展趋势如下:
1)基于视觉感知的体尺体重评估及畜禽疫病检测技术将会在智慧养殖中得到充分应用。目前,随着畜禽工厂化高密度养殖方式的发展,随之而带来的疫病防控、精细饲喂、畜禽群体管理、早期疾病监测预警等系列问题日益突出,现有技术已不能满足国家对疫病防控监管日趋严格的要求,也不能满足养殖业对畜禽管理的智慧化需求,迫切需要一种低成本、高精度、智能化的基于视觉感知的体尺体重评估及畜禽疫病检测技术,以实现对畜禽智慧养殖由表及里的全方位升级改造。在对畜禽进行实时检测识别的应用环境下,结合实际应用场景,兼顾准确率和运行速率依然是在基于视觉智能感知的体尺体重评估及畜禽疫病检测亟待解决的问题。
2)基于面部识别的畜禽个体身份识别技术将会逐渐在智慧养殖中占据主导。无约束场景下的面部识别问题一直是畜禽个体身份识别技术的难点,过去的面部识别研究往往仅关注图像质量对性能的影响,而忽略了数据中存在的极端样本,如何提取更丰富的畜禽脸部信息将是提升畜禽个体身份识别技术精度的关键。随着基于面部识别的畜禽个体身份识别技术的不断突破,这种低成本、高精度、智能化的畜禽身份识别技术将会在智慧养殖中得到充分应用。
3)跨媒体、多模态的畜禽疫病识别与融合诊断方法将会成为新的研究方向。现有的依据单模数据的诊断方法,无法达到较高的识别精度,难以满足疫病精准诊断要求。在基于图像信息的同时融合声音、数值、视频等媒体信息,以及深度信息、热红外信息、近红外光谱信息、紫外信息等多模态信息,并对获取的多模异构复杂耦合的数据进行融合分析,达到精确诊断和预警的目的。
4)在实际养殖环境下对多个畜禽热窗的准确定位是未来畜禽非接触测温的关键。热红外用于动物体温测量时,受到环境温度和测量距离影响比较严重,测温精度不高,需要建立标准体温与热窗温度、环境温度的校准与反演模型,研判畜禽体温异常情况。现存的热红外技术用于体温测量的方法大多数对于畜禽所处环境背景条件有着较高的要求,养殖环境复杂背景、多个畜禽热窗精准检测、体温与热窗温度映射等问题在未来可能会通过多模态结合的方法进行有效解决。
5)动态多视角与时空特征融合的畜禽个体行为识别方法成为新的研究热点。在复杂养殖环境条件下畜禽个体行为存在遮挡、背景干扰、光照不均等因素影响,同时由于角度变化,畜禽外观和姿态同样发生变化,尤其畜禽个体外表相似度较高,其本质特征难以抓取。因此,如何充分考虑不同视角下畜禽信息的融合,以弥补单视角畜禽个体检测中的漏检,同时考虑畜禽行为的时空特性,建立不同畜禽品种的骨架几何特征,形成视角不变性特征表示的骨架序列时空关联性特征,提取畜禽行为视频帧的上下文信息,提高畜禽行为识别的精度和鲁棒性,成为解决该问题的重要方法。
6)三维体尺数据在未来是估测畜禽体尺体重的重要数据形式。在如今双目视觉技术和深度相机技术已经大量应用于畜禽体尺体重估测的情况下,更为先进的3D点云技术有着更加广阔的开发前景。3D点云数据可以获得畜禽更多的位置和细节信息,精度更高。如何发挥3D点云的优势,解决3D点云技术数据庞大、冗余多、耗时长和对硬件要求高的问题,是未来研究的一大方向。
在应用层面,基于视觉感知的畜禽体尺体重评估和疫病检测方法仍处于示范使用阶段,从示范使用转向至全面推广应用,还存在以下难点:一是畜禽品种存在多样性,比如生猪有:长白猪、大白猪、夏洛克、汉普夏、皮特兰等,造成需要收集的样本难度大,样本类型少会造成视觉算法模型的泛化能力弱,准确率降低。二是应用场景存在多样性,比如生猪养殖场有空怀母猪舍、母猪产房舍、断奶仔猪舍、育肥猪舍等,不同猪舍的内部结构和养殖模式也不一致,造成视觉模型算法的普适性有一定困难。三是不同生育期的畜禽个体具有差异性,造成视觉算法的准确识别难度加大。四是基于视觉的智能算法需要与养殖舍内设施融合,比如生猪面部识别算法用于生猪身份识别,需与精准饲喂、巡检机器人等装置联合使用,使得视觉算法模型在实际场景的推广应用成本加大。五是养殖户对视觉智能感知系统认识程度仍需提升,当前大型养殖企业开始逐渐重视视觉智能感知技术的应用,但对大多数中小规模养殖场仍存在一定的接受过程。