APP下载

机器视觉在智慧猪业中的应用

2023-04-06张利娟邱进杰

畜禽业 2023年2期
关键词:猪只深度监测

张利娟,张 波,邱进杰

(1.重庆市畜牧科学院,重庆 400000;2.重庆市万州区畜牧技术推广站,重庆 万州 400000)

0 引言

随着人工智能和物联网的发展,机器视觉已经广泛应用于工业、金融、军事和农业等各个领域。非入侵、易安装的方式使机器视觉在20世纪70年代末就开始用于农业和畜牧业领域。只是由于当时的软硬件技术水平较低,未能被广泛应用。近年来,智慧猪业的发展步伐加快,机器视觉在养猪生产中的应用也越来越广泛。尤其是在猪只识别、猪只行为和运动检测以及疾病监测等方面显示出了巨大的优势。

1 机器视觉简介

机器视觉是人工智能(AI)的子集,主要用于解决图像和视频识别、分析和分类、媒体娱乐和自然语言处理等方面的问题[1-3]。

机器视觉首先需要采集图像,即通过摄像头来捕捉数字信息。摄像头的种类很多,不同类型的相机能够提供不同的信息和图像参数。目前养猪研究中主要使用CCD、深度和红外相机。CCD相机可以捕获物体的2D彩色图像,提供颜色、纹理、形状、宽度、高度和像素值等信息,以数字形式表示出来。深度图像是具有图像像素距离值的2D图像,最初用于测量距离。随着人工智能的发展,深度相机被用在很多地方。现在已经可以使用深度信息来构建3D图像,并将这些图像用于面部识别、运动识别和其他类型的形态识别[4]。红外相机的工作原理与RGB相机相同。热成像系统最初用于石油和天然气行业、制药行业和国防等领域,后来才被用于探测动物温度。猪是恒温动物,通过体表散发热量,因此可以使用热图像来快速识别。

机器视觉其次需要图像分析。获取的图像需要相关软件来读取数据,并进行后续研究。卷积神经网络(CNN)是一种基于深度学习的鲁棒算法,可完成图像分析任务[1-3]。在基于CNN的基础上,发展出支持向量机(SVM)、基于区域的CNN(R-CNN)、Mask R-CNN、Faster R-CNN和YOLO等各种算法。预先训练的CNN模型可以针对不同问题灵活使用,并且有很多预训练模型可供使用。

2 猪只的识别

2.1 猪脸识别

识别出猪只个体不但能明晰所有权[5],也是动物福利[5-6]、行为识别[7]和疾病诊断[8-9]等后续研究的基础。生产上有多种识别猪只的方法,比如剪耳缺、在猪身上编号或标记、佩戴耳标或射频识别器 (RFID)等。RFID具有机制简单、成本低等优点,曾经很流行;但其读取范围有限、不能同时读取多个数据、容易磨损、弄脏及丢失等,不再适用于智慧养猪的需求。其他方法也都各有局限,现在均已被淘汰。

人脸识别在各个应用场景得到广泛使用,这也为识别猪脸提供了可能[9-10]。RFID 在识别动物方面的局限性可通过使用摄像头的面部识别得到克服。与人脸识别机制类似,猪脸识别需要提取猪鼻子、眼部区域和皱纹等特征用于训练集和验证集。Marsot et al.[9]使用深度CNN模型来识别猪脸,准确率超过90%。Hansen et al.[10]使用Fisher人脸、VGG人脸模型和深度CNN算法进行猪脸识别,准确率达为96.7%。

猪是多胎动物,全同胞个体数量多,且生长迅速,影响了猪脸识别的准确性。未来可以通过增加训练集、使用RGB图像、训练前进行预处理等方式来提高算法的准确性。

2.2 个体追踪

从群体中识别出猪只个体并进行追踪,对于猪的运动、行为和活动的研究非常重要。最初生产上常使用RFID耳标,但有局限。机器视觉运作高效,无需接触,并且可以远程控制,更适用于进行个体猪只的识别和追踪[11-14]。2D相机最常用于识别群体中的猪只,现在也采用3D和深度相机。首先从图像中检测物体,然后使用形态特征从检测到的物体中识别出个体猪只。很多算法及其改进方法被引入其中,比如基于GMM的背景消除[15]、使用低通滤波和Otsu阈值法去噪、形态学运算、椭圆拟合[13]、基于图形模块的分割[16]和基于学习的跟踪[14]等。

在实际生产中,猪场的光线变化很大,很难找到一头猪与另一头猪之间的明显差异;并且猪场环境恶劣,摄像头容易损坏;各种蚊蝇和灰尘都容易对识别结果造成干扰。这些情况都会导致追踪失败,并且使得监控过程不稳定。Zhang et al.[11]使用2D相机,采用CNN、Faster R-CNN、R-FCN和SSD模型对个体猪只进行识别,采用边界框法对猪进行跟踪,结果基于CNN的模型以94.72%的精度和94.74%的召回率成功地检测出标签框中的个体猪只。Sa et al.[17]使用深度相机进行了在各种光照条件下快速检测猪只的研究,使用深度图像或红外图像来解决光照限制,使用Otsu阈值法进行图像分割,并使用YOLO 9000进行快速监控,结果表明该方法准确率更高,检测时间更短。在金耀 等[18]的研究中,使用基于YOLO v3的识别模型,在识别速率和识别精度上都达到了较高水平。

2.3 智能估重

猪的饲养成本占总生产成本的75%或更多,所以活重对于猪场至关重要。采食量和增重呈线性相关,通过定期监测猪只体重可揭示饲喂不足或过度饲喂问题,从而优化成本。定期称重不仅可以监测猪只采食量,还是评价繁殖力和生长速度[4]、确定繁殖周期[19]、计算饲料转化率[20]和监测疾病[21]的重要手段。

估重最初纯靠眼睛和手,准确率低。后来生产上常用电子称重平台或称重传感器来测量猪只体重,但是费时长,消耗人工,操作不便[4]。早期的研究人员尝试通过体尺估测体重,同样存在费人工、对猪只造成应激、预测不准等问题。但是,这些研究也证明了形态和体重间存在相关性,提供了通过非接触式方法估测体重的可能性。1990年,Schofield[4]使用照相机拍摄猪来估测生猪体重。其他研究人员[22]也利用CCD相机拍摄猪的长度、宽度和边界区域等特征来估算活猪体重。现在主要采用基于3D的深度相机通过全自动系统监测活体重[23]。传感器收集通过形态过滤预处理的深度和红外信息,并使用DNN和Faster R-CNN算法估重,相对误差仅为4%~5%。李卓等[24]证明使用多个体尺的主成分幂回归体质量估测模型较为精确,可用在机器视觉估测猪体质量的应用中。

3 猪只行为和运动检测

3.1 姿势检测

猪的姿势及行为是其生理状态、健康状况和福利水平的反映。猪的姿势细化下来有近百种[25]。环境状况、空间大小、营养和健康状况等都会影响猪的姿势[26]。有效的姿势和行为检测非常重要。

早期研究通过使用ANN算法分析猪的姿势来确定热舒适度[26]。后来Shao et al.[27]构建了姿态实时检测模型。Nilsson et al.[28]成功分割出侧卧和胸骨卧位。利用CNN模型如TSN、DLM、YOLO5、Resnet和SCN成功对猪的多种姿势进行了分类[24]。CNN算法功能强大且能够进行多行为识别,能从2D图像/视频中对猪的多种姿势进行分类。随后,基于深度的 3D 相机被用于此目的;使用基于深度的传感器进行了更深入的分析。Matthews et al.[29]等开展了基于深度传感器的行为研究。也有使用Faster R-CNN算法的哺乳母猪姿势研究[30],准确率达93.5%。使用类似的机制,可识别姿势分布时间,计算姿势改变的频率。这种研究可用于分析和识别行为研究中位置的显著变化。

3.2 运动和跛足

猪正常步行常被定义为运动,运动失败则定义为跛足。运动跟踪是在运动中进行的姿势监测。跛足对于猪只的健康及生产成绩均有影响。猪舍、地板类型、卫生条件、遗传以及营养缺乏都可能引起猪的跛足,进而出现运动异常。监测运动状况是一种可检测出跛足并立即采取措施的方法。早期研究使用2D相机[31]、红外摄像机[32]、GoPro[33]或网络摄像机来识别运动[34]。研究人员最初通过椭圆拟合方法进行对象标记,使用Otsu阈值提取对象进行进一步处理,提出用于识别运动的自动监测系统[31],以89.8%的准确率检测到猪的运动。使用光流估计和校正也可监测猪的步行运动[33]。该研究提出了基于网络摄像头的运动检测[10]。在该研究中,使用了基于主成分分析的多变量图像分析(MIA)方法,填充了标准框架,直到对象分割,然后引入运动过滤器将猪分为移动和非移动。StavrakakisA et al.[19]研发出一种用于评估猪的行走模式的微软体感传感器,预计能够在没有任何标记的情况下跟踪猪。

3.3 攻击性行为

猪只在群体中存在攻击行为,除了影响生产成绩,还可能造成皮肤创口进而导致感染或死亡。攻击性行为分为两类:中等攻击性(头对头敲击、头对身体敲击、平行按压、反向平行按压和逃跑等)和高等攻击性(咬脖子、咬身体和耳朵等)。混群常导致攻击行为。

早期通过人眼进行攻击性行为监视,费时费力。后来使用2D相机和3D深度相机开发出基于计算机视觉的攻击行为识别。Viazzi et al.[35]提出了基于2D相机的特征提取方法,用于对攻击性行为进行分类。该研究认为攻击的持续时间与猪之间的接触有关,因此如果两只猪的接触时间超过5 s,则该事件被视为攻击。将线性判别分析(LDA)和基于神经网络的模型来识别群养猪的攻击行为发现[36],如果猪的运动有力,则攻击的影响更大。

目前已有基于深度传感器的攻击行为识别研究:使用体感深度传感器和CCD相机对攻击行为进行自动识别[37]。该研究将攻击定义为敲头和追逐,且使用2个基于SVM的模型对攻击行为进行分类。

3.4 饮水和采食

准确识别猪的饮水和采食,可以调整饲喂方案,减少猪只争斗,从而达到精准饲喂。早期检测猪的饮水和采食常采用RFID来识别[38]:传感器放置在靠近食槽或饮水器的位置,采集访问时间和持续时长等信息,进而对收集的数据进行分析,但是性价比较低,且不够智能。后来采用3D相机跟踪猪的行为变化[29],用于区分采食或非采食状态。Lao et al.[39]对哺乳母猪的行为进行了基于深度图像的研究,将母猪在食槽中上下移动头部定义为采食。该研究不仅能识别出采食,还能准确识别出躺、坐、站、跪、饮水和移动等。此外,猪也有玩水的情况。为了保证每头猪有充足的饮水,应监测饮水时间和访问次数。研究者使用Faster R-CNN[29,40]、YOLO[40]及2D相机成功地进行饮水行为的识别。

4 疾病监测

对猪只进行早期的疾病监测是预防和减少疾病的重要措施,对于确保猪的健康和防止流行病从猪传染给人至关重要。监测猪的状态可以用于猪的早期疾病监测。猪只感染通常会导致体温升高、虚弱和昼夜活动减慢等[23],监测猪的饮水、采食、躺卧和行走等运动状态意义重大。非侵入式数据收集或监测可减少人类和猪只接触。因此,机器视觉是一种非常好的手段。

大多数感染都会引起发烧,采用体温监测是识别牛病毒性腹泻 (BVD)、鼠伤寒沙门氏菌感染、大肠杆菌感染等的简单方法。健康猪只身体不同部位温度不同。使用红外热成像监测体温已经非常成熟。利用IRI对患有鼠伤寒沙门氏菌和大肠杆菌感染的猪进行早期疾病检测[41],发现猪的平均日增重与其感染前后的温度相关。感染前后动物体温差异显著。

疾病还会降低猪的正常活动,研究认为嗜睡是识别非洲猪瘟 (ASF)的一种方法。比较感染非洲猪瘟隔离猪只和健康猪只的活动[42],采用基于CNN进行对象识别,并使用卡尔曼滤波器来跟踪行为指标,能很好地实现非洲猪瘟的识别。

5 结语

利用机器视觉来实现猪的识别、行为和运动检测以及疾病监测是可行的。算法模型是建立在特定群体上的,目前尚无全球化的模型,不同品种、地区、饲养管理水平等因素都将影响分析结果。即使有了统一的算法,也需要相关数据来训练算法。而且,对于不同的识别目标须由不同的算法来解决,如使用Mask R-CNN、Faster R-CNN模型、YOLO等,目前还没有一种算法能够满足所有需求,仍然缺乏可以同时解决多个问题的集成算法或系统。

此外,我国互联网领域配套的基础设施建设发展迅速,摄像头也应用普遍,但是养殖企业仍然面临成本问题。同时,2D、3D和深度摄像头有各自的优缺点,简单、实用且廉价的摄像头将是未来发展的重点。

猜你喜欢

猪只深度监测
降低日粮粗蛋白并添加单体氨基酸对断奶—育肥猪生长性能和营养排泄的影响(中)
特色“三四五六”返贫监测帮扶做实做细
猪胃溃疡的病因与防治措施
深度理解一元一次方程
秋冬季防应激不可忽略饮水消毒
深度观察
深度观察
深度观察
猪只硒缺乏症的预防措施和治疗方法
网络安全监测数据分析——2015年12月