计算机视觉技术在智能养猪中的研究进展
2019-01-11严劲涛
严劲涛
(电子科技大学格拉斯哥学院,四川成都 611731)
工厂化养猪大致可分为机械化、信息化和智能化3个发展阶段,我国大多数的工厂化猪场目前正处于机械化向信息化转型的阶段[1]。智能养猪是大数据、人工智能、互联网、物联网等信息技术在养猪上的整合,在数据采集、数据分析和决策控制等方面赋予机器学习能力,并使各种数据信息互连,形成一个协调高效的自动化系统,部分替代人的思维进行智慧管理[1]。随着人工智能技术的突破和低成本云基础设施的布设,智能化养猪已成为可能,并逐步应用于养猪生产。
计算机视觉是人工智能的重要发展方向,是利用摄像机和电脑代替人眼对目标进行感知、识别、跟踪和测量,获取相应场景的三维信息,并处理捕获的图片或视频[2]。计算机视觉是基于信号和图象处理、概率统计、计算几何、机器学习、神经网络等技术,通过计算机处理视觉信息。计算机视觉技术显著改变了人与世界的交互方式,可完成突破人类视觉局限的任务[2]。在智能养猪领域,计算机视觉技术已显示出广阔的应用前景。本文综述了计算机视觉技术在猪只识别、行为监测、猪体尺参数和体重估测、猪肉品质评定、疾病诊断等方面的研究进展,以推动计算机视觉技术在智能养猪中的应用,促进养猪业的转型和变革。
1 猪只识别
人脸识别、虹膜识别、指纹识别等身份识别技术受到了研究者和产业界的广泛关注,但猪只的身份识别技术还处于探索阶段。通过识别猪的体型、外貌、面部等特征细节,提取每头猪的特征,实现精准识别和定位每头猪。Navarrojover 等[3]提出一种基于颜色的计算机视觉算法用于跟踪仔猪位置,识别准确率达到89.1%,但该方法对背景光线敏感,易出现错误识别或识别不到的问题。为了有效适应背景光的变化、仔猪短暂滞留或运动缓慢等状况,可采用伪球算子边缘模型,用于猪前景帧检测[4]。为弱化背景中污水和排泄物对目标分割的影响,可采用预测机制和阈值分割相结合的群养猪前景帧检测方法,在复杂猪舍环境中可以获得相对精确的群养猪对象[5]。为了检测复杂背景中的猪只目标,有效检测那些长时间静止和运动缓慢的猪只目标,可采用基于高斯混合建模和图像粒化的圈养猪只目标检测方法[6]。通过支持地图指向视频帧中的猪,提取其特征值建立单猪的5D 高斯模型(位置和形状),并对摄像机镜头引起的鱼眼畸变进行软件校正,研制的猪实时计算机视觉跟踪系统,可以在较长时间(超过8 min)同时识别和跟踪3 头猪的身份和位置,然而,当多头猪距离太近或猪只发生快速移动时,该系统将不能对猪进行跟踪[7]。郭依正等[8]研发了Isomap 和支持向量机算法,用于俯视群养猪的个体识别,猪个体的识别率达到92.88%,但对于非标准站姿的猪个体识别效果不佳。目前对单只猪进行建模多是基于椭圆模型,然而,现有的适应椭圆的方法需要一个近乎完美的分割,依赖于单只猪的清晰分界。由于畜舍的闭塞物、灰尘或阴影,即使使用先进的分割技术,也可能出现不完整或错误的分割[9]。为此,Brunger 等[9]提出了一种新的椭圆自适应方法,该方法不是基于分割边缘,而是针对所有分割的像素,这使得它更容易补偿分割中的微小误差,即使是在光线不足或相机定位不利等次优条件下也可以处理图像。
国内外对于猪个体的身份识别研究还处于探索阶段,生产应用还需要攻克许多难题:①目前猪只识别多是在已录制完成的视频中进行,缺乏对实时视频进行图像采集和数据输出的算法[1];②猪只的清洁程度、实时运动、猪圈背景都会增加图像采集的难度;③在图像分割方面,需要速度快和分割精确的算法,另外受猪只站立姿态的影响,算法选取的特征区域偏差较大,今后需要研究鲁棒性更高、性能更优的算法。
2 行为监测
猪的行为包括采食、饮水、排泄、母性、社会、异常等[10]。人工观察猪的行为存在费时费力、干预猪生活环境、难以实时监控等缺点。计算机视觉技术可以估计猪只的饮水量[11];识别测试帧中猪只饮水行为,较好区分饮水状态和非饮水状态[12];可以连续识别和跟踪断奶仔猪的活动[13]。在猪运动信息监测方面,郁厚安[14]通过计算机视觉技术对猪的进食、饮水、躺卧、走动、排泄行为进行识别,结果表明计算机视觉可有效获取猪运动信息,能够满足长时间、大数据量的运动信息计算,与人工识别的结果吻合程度较高。关于猪攻击行为的监测,已有研究开展了猪攻击行为的自动录像分析和猪只间攻击性相互作用分类的图像特征提取方法[15-16],开发了基于计算机视觉的猪攻击行为自动检测方法[17]。猪只间的过度爬跨行为会导致猪只皮肤损伤、腰部淤青、跛足等,计算机视觉技术应用椭圆拟合技术对猪只定位,每个拟合椭圆的长轴和短轴之间的交点以及椭圆形状定义为每头猪的头部、尾部和侧面,采用头部和尾部、头部和侧面之间距离以及拟合椭圆的长轴和短轴长度用于算法开发,自动识别爬跨行为[18]。在计算机视觉自动监测母猪分娩方面,分析母猪限位栏内的视频图像特征,用半圆匹配算法识别母猪,然后采用改进单高斯模型的背景差分法检测运动目标,识别仔猪,从而判断母猪是否分娩[19]。为了实时监测群体饲养猪的热舒适性,Shao 等[20]应用计算机视觉技术提取图像矩不变量、运动频率,以猪只占有率和猪群紧密度作为特征向量,最小欧几里德距离用于区分猪的冷态和舒适状态,识别猪的冷热舒适度。猪行为提供了其健康、福利和环境状况的信息。在不同的气候条件下,猪采用不同的卧姿:在较高的温度下,猪侧卧,四肢伸展;而在较低的温度下,猪则采用胸骨或腹部卧姿。鉴于此,利用机器视觉研究猪群卧位形态的变化,可以高精度地自动发现温度变化引起的猪躺卧姿势和位置变化[21]。Nasirahmadi 等[22]建立了基于图像处理和支持向量机的猪侧卧位和胸骨卧位自动评分,分类准确率达到94.4%。
采用计算机视觉技术监测猪只采食、饮水状态、攻击行为、过度爬跨、母猪分娩、猪群活动、环境舒适度等,可为精准投喂提供依据,并可提高猪的福利饲养。但计算机视觉技术监测猪行为还存在很多不足,数据量大和处理算法复杂的瓶颈制约着实时传输和处理的速度[10]。另外,对猪只个体行为特征研究较多,而对群体行为研究较少。
3 猪体尺参数和体重估测
猪的体尺、体重等参数是种猪选育、猪生长状况评价的关键指标,目前一般是通过人工直接接触式测量获取这些参数,不仅耗时耗力,而且会对猪造成应激。基于计算机视觉技术的猪体尺参数和体重估测,具有快速、无接触、自动化等优点。采用形状识别技术,利用猪的独特绘画图案自动识别猪个体,采用椭圆拟合算法和动态模型可对猪体重进行估算[23]。矢量量化临时联想记忆(Vector-Quantized Temporal Association Memory,VQTAM)建模技术能进行准确的体重估测,平均误差小于3%[24]。应用机器视觉对猪体重估测模型进行比较和优化,结果显示基于体长、体宽、体高、臀宽和臀高的线性回归模型具有很好的估测精度,估测值与真值的相关系数达到了0.996[25]。通过采集不同生长阶段肥育猪的图像和质量数据,应用计算机视觉技术将猪的侧视图像进行颜色特征处理、阈值分割和图像形态学处理,推导计算后得到猪体的侧视面积,然后对一维体尺参数、侧视面积与体重进行数据拟合并建立数学模型[26]。针对计算机视觉技术获取猪体尺测点识别率低的问题,可采用去除噪声算法和背景减法去除背景干扰[27];也可采用双目视觉提取猪体尺参数,建立主动式三维重构体尺体重检测算法[28]。Jun 等[29]开发了一种不受猪的姿势和图像捕捉环境限制的猪体重估测方法。在猪体尺测量系统的开发上,Microsoft Kinect VL 深度相机可实现快速、非接触测量心围、长度和高度等猪体参数[30];利用基于Xtion 的便携式猪体尺寸自动测量系统,体宽、髋宽和体高的平均相对误差分别为10.30%、5.87% 和7.01%[31];基于LabVIEW 的大型养猪场猪体成分估测移动测量系统,可以实时采集体长、体宽、体高、髋宽和髋高等数据[32];采用3D 计算机视觉自动化系统可获取生物特征和形态测量并预测猪体重[33]。
计算机视觉技术应用于猪体重估测,可极大促进猪场管理由粗放式到精细化。今后需要进一步研究分割、降噪、估重的人工智能算法。在技术架构方面需要做以下工作:在猪场端,采集图像,过滤质量差的图像,将数据传送到云端;在云端,人工智能算法模型估测体重,预测最佳出栏时间,评价猪只生长状况,提供饲喂建议;在应用终端,呈现猪只增重状况、基于体重的饲喂建议和预测预警等。
4 猪肉品质评定
猪的肉品质指标包括颜色、大理石纹、嫩度、多汁性、鲜味、滴水损失、货架寿命等,主要采用人工感观评估和化学分析。人工感观评估受主观因素较大,而化学分析方法存在分析时间长、过程复杂、破坏样品等缺点。研究表明,计算机视觉技术在猪肉品质评定上具有无需接触样品、信息采集方便、数据处理快速等优点[34]。
背膘厚度是猪肉等级评定的重要参数,一般取肩胛后沿、最后肋处及腰荐接合处距背正中线4 cm 处进行测量,而后取3 点平均值。测定方法包括直尺测量和超声波活体测量等。利用超声波成像技术扫描腰部肌肉的横截面和视频成像捕获胴体的二维(2D)和三维(3D)图像,建立用于分级猪胴体的计算机视觉系统,背膘厚度检测准确率可达82%[35]。利用计算机视觉自动估算胴体相关参数(如猪背膘厚、瘦肉率、屠宰率),图像特征可以代表实测特征[35]。李青等[36]应用机器视觉和图像处理技术,提出了一种测量背膘厚度的图像采集算法,检测正确率为93.5%,平均检测时间为0.3 s。
猪肉大理石纹是肌内脂肪在猪肉组织中分布形成的可见花纹,与嫩度、肉汁、风味密切相关。应用计算机视觉技术可对肌肉大理石花纹进行量化,可以替代肌内脂肪含量分析实现无损快速检测[37]。然而,大多数计算机视觉限于特定的肌肉类型,针对此限制,Barbon等[38]开发了k-最近邻居算法(k-Nearest Neighbours algorithm,k-NN),研发了一种用于猪肉大理石纹分级的计算机视觉系统,可灵活适应不同的肌肉颜色对比和分级标准。
在评价猪肉的肉色方面,采用基于颜色理论构建的计算机视觉系统,用于猪肉颜色的定量化和客观化评定,具有无损、快捷、准确、客观等优点[39]。Lu 等[40]将猪肉图像分成背景、肌肉和脂肪,然后从分割的图像中提取彩色图像特征,采用BP(Back Propagation,BP)神经网络建模,建立了计算机视觉技术评估猪肉颜色的方法。在评价猪肉的新鲜度方面,潘婧等[41]将计算机视觉用于颜色特征的优化选取,利用图像处理的方法提取猪肉表面的颜色特征参数,并利用BP 和SVM(Support Vector Machine,SVM)神经网络构造各类新鲜度等级预测模型,BP 和SVM 的平均预测准确率分别为84.4%和91.1%。
5 疾病监测
猪场疾病的日常监测是猪场管理的重中之重,主要采用人工监控方式,如现场巡视和视频监控,均存在巡视人员主观性较强、连续观察劳动强度大、信息疏漏偏差等问题。猪的呼吸是判别猪患病的重要依据,可作为猪场日常疫情监测的预警依据。因此,计算机视觉技术监控生猪病态行为的关键问题是如何识别这类视频的语义。在监测猪的呼吸急促方面,根据猪腹式呼吸运动时脊腹轮廓明显波动的特点,可用计算机视觉技术构建单侧视猪的腹式呼吸表达。马丽等[42]以脊腹线截距描述子(Ridge-Abdomen Contour Intercept Descriptor,RACID)作为衡量脊腹轮廓波动的指标,采集视频帧序列中随时间变化的RACID,获得猪腹式呼吸运动的波形图模型,实现疑似呼吸急促猪只的自动预警,结果显示机器法和人工法相关系数达到98%。喘气是多种猪病的常见症状,可作为病态预警依据。生猪腹式呼吸病态运动是常见的症状,表现为明显的间歇性呼吸急促、猪身脊腹段波动剧烈等特征。谢海员[43]根据猪喘气时脊腹部轮廓线变化显著的特点,研究了最大内接圆直径描述子和平均曲率半径描述子2 种视频特征参数的提取方法,然后以这2 种视频特征参数构建了猪喘气行为的波动图模型,建立了基于计算机视觉的猪喘气行为视频特征表达方法,可用于连续监测和量化生猪的喘气行为,并自动监测表现喘气行为的疑似病猪。
计算机视觉技术监控猪疾病的研究较少,主要是通过监测猪的呼吸行为,需要继续开展研究:猪体轮廓质量会影响视频特征参数值的精度,需进一步研究如何提取更加清晰的猪体轮廓;由于猪呼吸是低频信号,如何得到平稳的呼吸频率信号还需深入研究;结合机器学习描述猪只的呼吸行为,开发机器学习算法[43]。
6 小 结
计算机视觉技术在养猪上的应用大多数还处于探索阶段。从研究趋势看,机器自我学习是突破点,数据是最终驱动力。在应用上,相关智能设备存在成本偏高、性价比低等问题,而且猪场内通讯条件差、蚊虫多、粉尘大、腐蚀性强等不利条件都会影响设备元器件的性能发挥。未来,随着技术的不断成熟和与产业的深度融合,计算机视觉技术必将为养猪业带来一场变革。