姚 州, 谭 焓, 田 芳, 周 勇, 章 程*
(1.华中农业大学信息学院,湖北武汉430070 ;2.武汉软件工程职业学院,湖北武汉430205;3.甘肃省金昌市畜牧兽医总站,甘肃金昌737100)
养羊业是我国畜牧业发展的重要组成部分,在农业经济中占有重要的地位。 羊肉具有高蛋白质、低脂肪的特点,深受人们的喜爱(马友记等,2011)。 随着信息化技术的发展,我国养羊业正由散养型向大规模、集约化、精准化方向发展。 通过将物联网技术、大数据技术、计算机视觉等现代智能技术与养羊业相结合,可以更高效率、更高收益地实现养羊业的发展,即智慧羊场。智慧羊场可以实现智能化、精准化管理,实现肉制品的溯源以及疫情的及时监测。
计算机视觉技术包括图像处理、 图像理解、智能识别等方面,主要是通过模拟人的视觉系统来实现对周围空间物体的传感、抽象、判断(严劲涛,2019)。 随着人工智能的快速发展,计算机视觉技术已在农业、畜牧业、工业等领域得到广泛应用(孙哲南等,2019)。 本文总结了计算机视觉技术在羊场个体识别、行为识别、体尺与体重的估测、疾病监测中的国内外研究现状,对其优缺点进行分析总结,并提出未来发展的趋势,以期为该领域相关的研究提供参考。
个体识别是实现智慧羊场的基础,即赋予每只羊唯一ID,在管理羊的生长状态、追溯等方面具有重要意义。 过去,针对羊个体的识别主要靠人工识别(程洪花,2011),主观意识太强,容易识别错误。 目前,在大规模养羊场的个体识别主要依靠接触式的射频识别技术(王玲等,2014;邹小昱等,2013)来实现,其主要由电子标签、天线、视频识别器构成。 在一定范围内,视频识别器可以对电子标签进行识别。 但是,电子标签戴在羊的耳朵,容易造成羊的损伤,不利于羊的福利;在羊运动过程中还易造成电子标签的脱落或损伤。因此,急需具备易于操作、时效性强、特征突出以及无害处理的高效、准确、非接触式的识别羊个体的方法。 生物图像识别正好满足这一要求,也将是未来个体识别的主流趋势。
生物图像识别主要依靠计算机视觉技术对生物特征进行识别。 目前,羊的生物特征主要包括面部、虹膜、DNA 指纹等(Felmer 等,2006)。 羊DNA指纹的识别虽然准确率较高,但需要两至三天的时间,目前当今科学界满足实时性这一需求,因此不被采纳作为羊个体的识别。 羊的虹膜具有唯一性,可以准确实现羊的识别。但是该技术需要精密的虹膜采集仪器,并且采集过程也非常困难,成本较高。因此, 羊的面部识别是研究羊个体识别的热点问题。 Corkery 等(2007)提出羊脸识别作为绵羊生物特征识别的初步研究。 主要通过针对50 只绵羊面部采用独立分量技术进行整体分析,运用预先分类器实现评估。 结果表明,当提取180 ~200 组分时,识别率高达95.3%~96%。 但是,实验过程中,每只羊仅采集到2 ~4 张羊脸数据,数据集较小,在大规模羊脸数据集中不适应。 Yang 等(2015)通过分析绵羊的面部,将三重插值特征引入到级联姿态回归框架中,来定位稀疏分布的面部标注点,得到了较为精确的结果。 但是,该方法的前提是已经检测到了羊脸,无法在自然环境下提取到羊脸目标。 而自然环境下标准的羊脸识别,第一步为羊脸的目标检测,第二步为针对检测结果进行识别。 由于提取羊脸目标不仅可以降低背景噪声的干扰,而且可以提高羊脸识别准确率。 Salama 等(2019)提出了一种基于贝叶斯优化的混合深度学习的羊脸识别方法。针对采集的52 只羊的羊脸数据集,运用贝叶斯优化技术自动调节卷积神经网络,经过参数测试与调整,最终识别准确率高达98%。
在智慧羊场中, 个体识别领域未来的发展趋势是借助计算机视觉技术对羊脸进行识别来实现羊个体的识别。而目前,羊脸识别更多地借鉴人脸识别相关领域的方法进行, 采集到的羊脸数据集相对有限,在较大规模数据集上的研究较少;羊脸数据集都由研究者自己采集, 无大型公开的数据集供其参考。在今后数据采集中,希望可以收集大规模不同种类羊只的数据集, 借鉴人脸识别的优秀成果,运用迁移学习、深度学习等方法提高羊脸识别的准确性、鲁棒性。
动物行为是指在特定的条件下, 生理和心理方面所产生的自然反应, 可以反映出动物的整体态度, 可以通过其表现的不同状态了解到动物的需求(刘艳秋等,2019)。羊的行为包括运动检测与跟踪、母羊分娩检测、饮水与排便、攻击等。准确地对羊的行为进行识别可以及时发现异常。目前,大多数的养羊场都依靠人工来判别, 不能及时统计羊的行为, 而运用计算机视觉技术可以及时检测羊的各种行为。
羊的行为识别可以判别羊运动的活跃程度。韩丁(2018)通过K-means 聚类算法实现了羊的站立、卧息、行走、其他四种行为的识别,结果表明,卧息行为识别高达95.6%,其余行为识别率在60%左右。 为解决这一问题,引入GPS 速度信息对其矫正, 最终识别准确率为89.2%。 朱伟杰(2018)针对奶山羊遮挡问题,提出了一种基于上下文的信息与超像素级特征实现奶山羊的跟踪,最终精确度达到76.5%,成功率达到61%;为了适应多变的养殖环境, 提出一自适应加权的粒子滤波跟踪方法, 其特征提取主要是依靠颜色直方图与HOG 的自适应融合,精确度为70.5%,成功率为54.3%。但是该方法对尺度变化较为敏感,同时识别精度和成功率有待提高。
母羊的产前行为识别,有助于预测母羊的分娩时间以及产前的健康状态(Forbes,2018)。 刘艳秋(2017)通过对母羊产前的站立、行走、刨地、趴窝、饮水、采食六种行为进行识别,进而推断母羊产前的健康状态以及预测分娩时间。通过运用K-means算法对羊的趴窝行为进行识别, 识别准确率为99%,BP 神经网络对站立、行走、刨地行为进行识别,平均准确率为78.93%。 通过对母羊产前15 天和产后5 天的六种行为进行统计分析,得出母羊产前行走以及站立逐渐增多,刨地几乎没有,饮水采食逐渐减少;生产日行走明显增多,饮水采食减少,刨地频率较多;产后行走站立持基本平稳,刨地几乎没有,饮水采食逐渐增多的特点。 但是本实验没有在复杂变换的环境下进行,在变化环境下的鲁棒性有待研究。 Ceyhan 等(2012)以初产母羊、经产母羊作为研究对象, 通过视摄像机采集分娩过程,通过特征提取识别羊的行为,结果表明,初产母羊熟悉度较低,站立、行走次数较多,而经产母羊是熟悉度较高。 Sun 等(2019)针对母羊分娩中、分娩后对初生羔羊的检测, 选用以VGG16 为提取特征基础网络,soft-NMS 算法的Faster-RCNN 可以实现较高的检测准确率,AP 指标可达95.43%。 但是,该实验是将每一只母羊单独分开来检测,未考虑同一场景多只母羊同时分娩的情况。
针对公羊的运动量来提供饲料的供给, 以及健康的监测。张曦宇等(2018)通过在羊的背部、颈部、前腿、后腿采集加速度传感器的信息,对羊的静立、行走、奔跑三种行为进行识别,通过区间阈值分类法实现三种行为的平均准确率为96.21%。但是通过传感器获取的信息,增加了损耗,下一步的发展趋势是通过方便快捷的图像处理技术来实现。 韩佳臻等 (2019) 通过深度学习网络SEDenseNet 对奶山羊的站立、趴卧、进食、蜷缩四种行为进行识别,识别准确率为93.18%左右。 但是,由于采集的数据集有限, 容易造成过拟合现象。Ren 等(2018)通过3D 视觉系统对4 只羊的站立、趴卧行为进行监测,通过深度视频流和红外视频流对羊的站立、趴卧行为进行识别,结果表明,站立行为准确率为96.4%,趴卧行为准确率为94.16%。
综合分析羊的行为识别, 运用计算机视觉技术实现羊的饮食、 运动情况等是智慧羊场完善的趋势。 目前, 计算机视觉技术在羊的行为识别还处于探索阶段。 今后,在目标跟踪、行为识别算法的有效性,目标识别、跟踪的时效性有待提高。 在行为识别算法的泛化能力方面, 应当针对复杂的羊场环境分析,增强算法的鲁棒性。
羊的体尺与体重是监测羊成长、 发育状态的重要指标, 是养羊场选择优质种羊的参考指标之一(张帆等,2012;白俊艳等,2011)。 据调研,目前大多养羊场需要人工进行体尺体重的测量, 在体尺测量时, 需要一个人固定羊, 一个人用尺子测量,一个人用来记录数据,这样不仅费时又费力;在测量体重时,每只羊至少需要两个人来完成,由于人与羊之间无法交流, 测量过程中容易因运动而造成测量不准,耗费人力资源,而且会对羊造成应激,影响其发育。计算机视觉技术可通过羊的视频或照片, 根据适合的算法规则实现无应激条件下测量羊的体尺与体重,可以实现方便、快捷、有效。 因此,运用计算机视觉技术对羊的体尺、体重估测是当前国内外学者研究的热点问题之一。
江杰等(2014)通过背景差分法分割羊体,获得羊的轮廓, 然后根据D-P 算法和海伦-秦九绍公式寻找羊的包络线上曲率最大的点作为臀部测点,依据该点,从上往下、从左往右搜索邻域内的三个点,最后用该四点可确定羊的体尺。但是,该方法容易受到背景图分割不完整而带来的干扰,对光线不具有抗干扰性。 牛林等(2014)通过运用臀部、肩颈、前后脚四点计算羊的体尺, 并将其应用在便携式Linux系统中。 另外,Menesatti 等(2014)通过双目系统获得同源点三维信息,通过图像处理得到点在空间中的位置和点之间的距离,用偏最小二乘回归法对点间距离进行了修正,得到体尺参数有较小的误差。江杰(2015)通过引入视频帧选取关键帧,并结合臀部测点、肩颈点、空间分布率来确定羊的体尺。 实验结果表明,在一定范围内获得的关键帧,相对误差平均3%。 受测量数量的限制,无法证明在大规模数据中的准确性,不益于推广。张丽娜(2017)通过从羊的左侧、右侧、上侧来获取羊的图像,侧视图通过分区、轮廓拟合、测点提取,进而实现体尺的测量,俯视图通过骨架的对称拟合算法, 实现较高精度的胸宽、腹宽、臀宽的测量。曾德斌等(2018)通过对羊的前后蹄测量点、臀部的测量点和最高点、耆甲的测量点、胸骨前缘测量点、头部的最高点的测量与定位,根据距离计算公式可确定羊的体尺参数,最终通过对十只羊的参数测量, 平均相对误差小于1%。 周艳青等(2018)针对复杂环境的羊体分割,通过融合多尺度分水岭、模糊C 均值方法、改进的Graph Cut 分割方法来实现羊的背景分隔(Zhou 等,2018),进而通过包络线分析方法实现体尺测点检测,最终实现羊体尺的测量,获得较好的测量结果。 Bai 等(2017)通过双目摄像机获得两只羊的侧视图,通过空间分辨率获得目标点与成像点之间的关系,体长是两个相应测量点之间的距离。 肩高和臀高是将相应测量点与地面连接的垂直长度。 申云辉(2019)基于双目视觉系统对羊侧视图进行轮廓提取,在轮廓线拐点的基础上提取测点,进而实现体尺的计算,并将其测量结果在可视化系统界面显示。
羊体尺的测量经历了从人工测量、 单目视觉测量、 双目视觉测量、 多目视觉测量的发展进程(张丽娜等,2016)。大体趋势是朝着基于计算机视觉的体尺测量。 但目前的研究都是基于小规模数据集,根据数学原理提取相应的特征点,再根据几何关系来确定体尺参数,当面对大规模数据集时,测量准确率是否可以达到目前水平有待研究,可否快速识别有待验证。因此,双目视觉系统以及多目视觉系统是未来测量的趋势, 将会由二维视觉系统上升为三维视觉系统, 获取更加完整的羊的信息。 同时,借鉴深度学习技术,应用于羊体尺测量的研究,更好的实现智慧羊场的智能化。
羊的体重值不仅可以作为羊成长发育情况的参考,还可以作为智慧羊场中分群的重要指标。在羊的体重测量方面, 由于无法让羊在体重秤上固定不动,因此,动态测量羊的体重是目前较为主流的方案。 在大型体重秤上,给羊唯一的通道,体重秤实时采集羊的体重, 对采集的体重信息分析处理, 可以得到羊的准确体重, 降低人工的劳动强度。对采集到的体重信息进行处理,主要有位移积分法、平均法、EMD 分解等(张俊慧等,2014)。 位移积分法(张俊慧等,2014)对噪声比较敏感,目前不被采纳。由于在羊上体重秤和下体重称阶段,体重信息测量不准确, 因此造成平均测量结果不准确。 为解决这一问题,对均值法进行改进,剔除羊上体重秤和下体重称阶段的值, 并将剩余采集的体重值进行排序、分组,组内进行均值,再对组间进行均值,进而使测得的体重较为准确(刘斯达,2017)。EMD 算法(吕乾涛等,2016)的目的在于将性能不好的信号分解为一组性能较好的IMFs 和残余量,逐步得到较好的结果,但其最大的缺点是在其动态调整最优解时,时间效率不固定,在测量过程中时间最慢需要30 秒,无法实时得到羊的体重值。 为解决这一问题,EMD 算法 (王中立等,2017)被提出,在EMD 算法的基础上,随机加入高斯白噪声来降低或消除EMD 的模态混叠现象。而这些测量方法虽然减轻了人工劳动强度,但其大型体重秤的设备较贵, 且设备出现问题不能及时解决。运用计算机视觉技术,可以实现无接触测量,可以避免因设备原因造成的测量不准确。
羊的体尺参数(体长、体高、胸围、管围、胸深、胸宽)与体重呈正相关,且胸围和体长对羊的相关性最高(白雅琴等,2019;陆会宁等,2019;陈华峰等,2018)。 张丽娜等(2017)通过支持向量机方法实现体质量与体尺参数的非线性模型, 通过体尺预估体质量,准确率高达95.38%。 孙炜等(2018)通过胸围的平方乘以体长再除以10800 得到羊体重的预估值。 Menesatti 等(2014)通过羊的体长、胸深、体高的参数,运用对数变换的最小二乘回归算法实现羊的体重估测。 郝雪萍(2015)等通过将羊的体长、体高、胸围、胸宽与体重值建立多元线性回归模型, 对羊的体重进行预测, 平均误差为4.1%。 许鑫(2017)通过回归模型分析方法,探讨分析了七种羊体尺相关参数对体重的影响, 并证明了决定每种羊体重的重要参数。
目前,对羊体重模型的估测,主要通过计算机视觉技术测量羊的体尺参数, 然后将体重值与体尺参数建立回归模型,进而预测羊的体重。由于在计算羊的体尺时, 容易因姿态偏差而造成体尺参数的测量失误,进而导致羊的体重值预估不准确。未来,羊体重模型的估计主要有两个趋势:一是依靠精确的测量体尺模型, 以及精确的体尺与体重回归模型,进而精确预测羊的体重值。 但是,不同品种的体尺与体重回归模型有较大差异, 在模型泛化方面较弱, 因此该方法仅适合单一品种羊的体重预测。 二是依靠精确的视觉系统采集不同姿态下羊的视觉图像, 建立相应的数学模型来估计羊的体重值。这种方法目前研究的比较少,但其受其他因素较小,因此泛化能力较强,是未来研究无接触测量羊体重的主要方向。
羊场疾病的监测是羊日常管理的重中之重。目前,羊的疾病主要靠人工巡视监测,不能及时发现羊的异常状态。 当羊生病时,会出现食欲不振、行为异常、面部痛苦、呼吸急促等特征。因此,可以运用计算机视觉技术实时监测羊的生理状态,及时预警异常状态的羊, 防止因延迟发现病羊而造成疾病传播所带来的经济损失。 良好养殖的自动化系统对于减少痛苦、 缩短时间和优化绵羊生产是非常必要的。
为了识别羊面部的痛苦表情,McLennan 等(2016)提出了一种标准化的绵羊面部表情疼痛量表SPFES。结果表明,该方法可以准确理解绵羊的痛苦表情。 Hutson 等(2017)通过人工智能来识别绵羊面部表情的自动评估技术。 通过手动标记了480 只绵羊面部的表情特征,包括鼻孔变形、每只耳朵的旋转和每只眼睛宽窄程度。 为此,他们开发了一种人工智能系统来检测绵羊面部表情的方法。该系统可用于识别五种面部表情,并评估其是否处于疼痛状态,以及疼痛的极端程度。Lu 等(2017)提出了一种多层次的方法来实现绵羊的面部表情识别。首先,运用Viola-Jones 目标检测框架用于羊的正脸检测,采用级联姿态回归方法(CPR)实现羊的面部标志点(耳朵、眼睛、鼻子)检测。运用基于特征的归一化方法对耳、眼、鼻进行归一化处理,然后通过方向梯度直方图(HOG)来实现绵羊面部表情特征的描述。最后将支持向量机(SVM)应用于疼痛水平的估计。 但是该方法仅考虑到羊的正脸部分,未考虑到不同姿势的羊脸的面部表情。Noor(2019)通过运用卷积神经网络构建羊面部表情疼痛量化表。该研究在进行羊脸表情训练前,通过中值滤波器处理技术消除高斯和脉冲噪声,利用残差学习去噪卷积神经网络去除高斯噪声。 然后, 通过使用VGG16、ResNet 模型用于五种面部表情,分别得到了100%、85%的准确率。 通过对羊的面部表情识别,可以及时发现羊的痛苦,尽早地帮助他们缓解痛苦,可以带来更大福利。
目前运用计算机视觉技术在羊疾病监测方面研究较少,处于初步探索阶段。通过计算机视觉技术可以减轻饲养员的劳动强度, 可以实时监测羊的状态。 未来可以通过计算机视觉技术监测羊的反刍行为、呼吸频率、面部表情等,并结合机器视觉技术探索具有精准识别效率的算法。
计算机视觉技术在智慧羊场的探索正处于起步阶段。在大数据时代,数据是基础,方法是手段。不仅需要采集大量的数据, 还要不断优化算法的性能,才能在根本上解决问题。 在应用领域,计算机视觉技术应当与5G 技术相结合, 实现实时的智能监测, 以代替高昂的电子传感器设备监测技术。 在未来,随着人工智能的发展,计算机视觉技术将在智慧羊场发挥重要的作用。