1、奶牛行为特征识别方法的研究与实现基于支持向量机 侯云涛 蔡晓华 吴泽全 东忠阁 黑龙江省农业机械工程科学研究院 哈尔滨博纳科技有限公司 摘 要: 随着我国规模化奶牛养殖场数目的快速增加, 传统的依靠人工判断奶牛发情的方法在效率和准确率方面已无法满足需要。为此, 设计了一种配置有加速度传感器的、基于 Zig Bee 无线传感技术的传感器节点, 通过线圈的形式佩戴在奶牛脖子上, 在不干涉其正常活动的情况下, 实时监测并采集奶牛三轴运动加速度数据, 并利用基于二叉决策树支持向量机 (Support Vector Machine, SVM) 时间序列模型判断奶牛个体的行为特征, 了解和掌握奶牛个体的身
2、体状况。测试结果表明:分类模型的整体测试结果是较好的, 建立的多分类模型能够较准确地识别奶牛个体的行为特征, 为及早发现奶牛病情和发情提供了有力的支持。关键词: 奶牛; 行为特征; 支持向量机; 发情鉴定; 作者简介:侯云涛 (1984-) , 男, 哈尔滨人, 工程师, (E-mail) 。作者简介:蔡晓华 (1968-) , 男, 哈尔滨人, 研究员级高级工程师, (E-mail) 。收稿日期:2017-05-08基金:黑龙江省属科研院所基本科研业务费项目 (2017-69) Research and Implementation of Cattle Behavior Character
3、Recognition MethodBased on Support Vector MachineHou Yuntao Cai Xiaohua Wu Zequan Dong Zhongge Scientific Research Institute of Agricultural Mechanical Engineering in Heilongjiang; Harbin Bona Technology Co Ltd; Abstract: As the number of scale dairy farms in China rapidly increasing, The efficiency
4、 and accuracy of the traditional judgment method relying on artificial judgment of cow estrus have been unable to meet the need. This study designs a configuration of the acceleration sensor based on Zig Bee sensor nodes of wireless sensor technology, through the form of coil worn in the cow neck, i
5、n the case of not to interfere in their normal activities, based on real-time monitoring and gathering cow triaxial acceleration data. Use Support Vector Machine (SVM) based on binary decision tree with time series model to judge the cow individual behavior characteristics, and preliminarily determi
6、ning whether the cow is in heat.Test results show that the overall test results of classification model is good, the classification model can determine more accurately cows individual behavior characteristics, for the preliminary identification of cow estrus provides strong support.Keyword: cow; beh
7、avior characteristics; support vector machine (SVM) ; estrus identification; Received: 2017-05-080 引言近年来, 随着人民群众对奶产品的需求加大及规模化奶牛养殖场数目的快速增加, 奶牛养殖过程的自动化、智慧化和网络信息化程度亟待提高。加强对奶牛个体日常的监控和管理水平, 对保障奶牛健康和奶产量十分重要1。奶牛个体的行为特征按照不同的判断准则和应用目的有多种不同的分类依据和方法。相关实验成果表明:奶牛发情初期会出现莫名兴奋及难以平静等现象, 而没有发情奶牛则表现得相对散漫。奶牛处在发情期时, 时常会
8、做出爬跨类行为;奶牛生病时, 躺卧、站立等行为时间往往大幅度增长2。因此, 监测并准确识别奶牛运动行为特征是判断奶牛是否处于发情和身体状况异常的有效方法之一。目前, 我国多半的奶牛养殖过程采取的依然是传统的人工养殖, 往往需要很多饲养人员, 且很多时候不能快速诊断奶牛疾病, 难以迅速、精确地判断出奶牛是否处在发情阶段, 直接影响了初奶的营养、口感及产出量, 大幅度降低了奶牛养殖效率。近年来, 国内外学者已经广泛展开运用无线物联网技术对奶牛行为进行实时监控的研究。澳大利亚 CSIRO 研究机构的科研专家利用三轴加速度计采集奶牛的体表温度、三轴加速度、速度、三轴磁场强度值和个体位置等数据, 从而采
9、用阈值法来分类和判定动物行为特征3。美国的相关科研专家通过行为特征数据还原奶牛躺卧、站立、运动等行为, 从而判别奶牛是否健康4。北欧的研究人员利用支持向量机 (SVM) 分类算法分类并判断奶牛的站、躺、反刍、食料、正常行走和跛脚走等日常行为特征。Nadimi 等使用基于 Zig Bee 无线传感器网络和人工神经网络监测动物行为并对其行为模式分类。尹令等人通过分析三轴加速度数据, 还原奶牛的运动行为, 从而判断奶牛是否处于发情期。本文设计了一种配置有加速度传感器的基于 ZigBee 无线传感技术的传感器节点, 将节点以项圈的形式佩戴在奶牛脖子上, 在不干涉其正常活动的情况下实时监测, 并采集奶牛
10、三轴运动加速度数据, 利用基于二叉决策树支持向量机 (Support Vector Machine, SVM) 时间序列模型识别奶牛个体的行为特征, 使饲养人员能够及早了解奶牛的身体状况。1 运动加速度数据的采集与处理1.1 数据采集实验中使用的测试数据来源于 4 头奶牛的视频记录, 其中两头是处于发情期的成年奶牛。这 4 头奶牛被散养在一个可自由活动的场所内, 奶牛的运动行为特征由摄像机拍摄和记录。摄像机的记录时间与数据采集装置的测试时间同步, 通过查看录相可以精确了解奶牛每个时刻的动作, 通过加速度数值可以看出奶牛运动速度变化的快慢程度。测试中, 数据采集装置 (加速度传感器) 的安装方向
11、如下:x 轴指向奶牛的头;传感器 y 轴与传感器 x 轴构成一个平面, 正方向指向奶牛身体外侧;z 轴指向地面。加速度传感器采样频率为 10Hz。1.2 数据处理采集的奶牛三轴加速度数据是依据时间顺序排列的运动数据的集合, 每条数据都是依据时序的顺序排列, 是多元时序数据。在时序分析中, 最显著的特点是按照时序排列数据的先后次序。在分析时间序列时, 需要注意的应是时序数据在某个时间区域内的变化方式和内在的变化规则, 而不是对于时序中某一单个数据点分析5。奶牛三轴加速度采集装置佩带在奶牛颈部, 装置的些许晃动和碰撞都会产成对时序数据的噪声叠加, 这些因素都给对时序数据分析带来相当的困难。同时,
12、由于时序数据具有高维度的特点, 因此直接在原始数据上进行分析时不仅运算量大, 还会有大量冗余信息, 从而影响算法的可靠性和准确性。为此, 本研究针对时序数据的有序性、信息量大及特征类别多等特点, 通过计算采样点之间的距离, 将加速度时序数据划分成子序列段的集合。为能够准确地划分子序列段, 首先需要获得每个采样序列点 ai的点距离 Radius (ai) , 然后通过与设定的阈值 比较 (阈值根据具体的应用领域确定) , 按照比较结果寻找 ai的同质点和同质区域, 最终得到子序列段 Lt (k) (下标 t 表示 t 时刻的子序列段, k 为子序列段的长度) 。对时序数据精确的分段处理, 能够高
13、效地选择和记录短时域内相同运动行为的显著局部特性, 同时又不会丢失全时间域内所有行为的全局特性。得到子序列段 Lt (k) 后, 按照本文对子序列特征向量的定义, 计算得到子序列的特征向量组。每当获得 20 个子序列特征向量组后, 这 20 组特征数据将由终端节点通过 Zig Bee 无线网络上传至 PC 机, 依次输入支持向量机分类模型, 从而判断在这 20 个时间子序列段内奶牛个体的运动状态。如果较长采样时间 (2min) 内仍未获得足够 20 个的子序列特征向量组, 那么将由终端节点将采样时间 (2min) 内的子序列特征向量组上传至 PC 机, 判断采样时间 (2min) 内的奶牛个体
14、的运动状态。以上两种操作中, 第 1 种操作的优先级高于第 2 种操作。也就是说, 当获得 20 个子序列特征向量组的采样时间小于 2min 时, 上传数据后, 子序列个数和采样时间同步清零;若采样时间 (2min) 内仍未获得 20 个子序列特征向量组, 上传采样时间 (2min) 内的各子序列特征向量组, 子序列个数和采样时间同步清零。上文涉及到的相关定义如下:定义 1 (时间采样序列点) :由多维度数据和对应的记载时间组成的时间数据的集合, 记为 x= (a0, t0) , ., (an, tn) , 元素 (a i, ti) 代表采样序列 x在 ti时刻的采样值 ai, 记载时间 ti
15、必须是遵守递增的。任意时刻 ti的采样值记作 ai= (ai, x, ai, y, ai, z) , 下标 x, y, z 代表采样点对应的坐标。定义 2 (序列采样点间距离) :针对任意连续时刻 ti、t i-1对应的 2 个采样点 ai与 ai-1之间的空间距离 Radius 定义为 , 记作Radius (ai) 。定义 3 (序列同质采样点) :如果任意时刻的两个连续采样点 at、a t-1间的距离Radius 和阙值 符合 Radius (ai) 0 是 1 个常数, 它反映了对误分的补偿水平, 保证分类机的繁复性和无法分离点数量之间的最优性;C 越大代表对误分的补偿就越大;C 为平
16、衡因子, 反映第 1 项与第 2项之间的权衡。使用 Lagrange 乘子方法, 求解可转化为约束条件为2.2 基于二叉树 SVM 的多类分类方法作为一种机器学习算法, 支持向量机具有可训练的优势, 但由于训练所需样本较少, 所以较多地应用在小样本分类。对于不同的多类分类规划, 使用支持向量机的具体处理方式也各不相同, 主要有一对余 (OAA) 、一对一 (OAO) 及二叉树等。考虑奶牛行为特征分类的实际情况, 本研究采取二叉树结构, 自根节点从上至下, 逐层构造 SVM 两类分类器的分类识别算法。在使用二叉树 SVM 对样本集进行分类时, 不同的分类顺序会导致分类结果出现较大差异。为了提高针
17、对奶牛行为特征的分类精度, 努力使分辨误差不在靠近根结点的分类器中产生, 要求必须把辨识度最大的类最先分辨出来。按照训练参数的特征值测算各类元素集彼此的易分程度, 普通的分离是用类空间中心间的欧式距离或 Mahalanobis 距离作为各类之间的易分性指数, 但这种分离策略的缺陷在于:类之间的易分性, 很多时候还需要考虑类的数学分布。图 2 为不同的类间可分离性比对示意。由于 (a) 、 (b) 两图中所示意的类之间的距离是一样的, 因此可以很容易得出结论: (a) 中的两个类远远要比 (b) 中的两个类难于区分。图 2 类间可区分性比对示意图 Fig.2 Comparison of Sepa
18、rability between classes with equal center distance 下载原图所以, 类的数学分布是影响类间区分性测度的关键考虑因素6。按照以上结论, 本研究方法考虑类之间相似度定义时, 在考虑类中心点之间的距离的同时, 基于类之间的空间分布, 提出一种新的类之间的分离度定义。第 i 类中心点定义为其中, (x s) 表示将输入空间的样本多维特征向量用非线性映射 :RR 映射到对应的高维空间中。i 类与 j 类的距离定义为其中类之间的相似度定义为其中, (R j=maxx t-mi) 。综合以上的研究, 本文提出一种聚类与二叉树 SVM 融合的分类方法。算法步
19、骤具体如下:第 1 步:由式 (18) 得到类与类之间的相似程度;第 2 步:将具有最高相似度的两个类合并构成一个新的大类, 再重新训练支持向量, 运用式 (16) 式 (18) 得到新类的类中心点坐标及新类与其余各类的距离数据, 进而计算新类与其余各类的相似度;第 3 步:反复操作第 1 步和第 2 步, 最后训练样本被聚成两个大的类, 将此两类作为二叉树根节点, 按照从上至下的顺序构造二叉树的 SVM 子分类器。3 奶牛行为特征分类模型的建立据相关实验结果显示:奶牛处于发情早期, 会出现异于平时的状态 (躁动、兴奋等) , 而未发情的状态则较为懒散。奶牛处于发情时期, 时常会做出爬跨动作;
20、奶牛不舒服时, 全天会基本处于躺卧。因此, 监测奶牛行为特征是判断奶牛发情和身体异常的一个有效方法。奶牛的每天行为并非简单的重复, 本研究将其行为类别分为静止和运动两个状态。其中, 运动状态包括慢走行为、快走行为、爬跨行为、慢跑行为和快跑行为。将采集得到三轴加速度时间序列数据按照 1.2 节提出的方法相应处理, 之后在得到的时间子序列的特征向量集中选择出训练数据集 (占比 70%) , 运用第 2.2节提出的分类方法将所有样本数据分成两个子类, 作为根节点;再将根节点进一步划分成两个次级子类, 将这两个子类作为后续待划分的次级根节点;按照这个方式继续划分, 直到最后分离出两个相似度最大的类,
21、此时需要选择切合状况的核函数构造类之间的二值支持向量机分类器。支持向量机核函数的选择非常重要, 核函数的差异会在各类中产生不同的支持向量。因此, 核函数的选取及参数的确定对于分类的实时性和精确性有着深远的影响。本文通过实验测试和比对, 将二值支持向量机分类器的核函数确定为径向基函数 (Radial Basis Function, RBF) 。最终, 建立了如图 3 所示的二叉树 SVM顺序结构。图 3 二叉树 SVM 顺序结构分类图 Fig.3 Classification figure of SVM based on binary tree 下载原图4 实验结果及分析实验记录数据来源于 1
22、头健康成年奶牛 2h 的行为特征记录。采样频率为 10 Hz, 共采集样本 426 506 个。对试验样本中的时序数据进行子序列划分后, 子序列个数共为 2 432 个, 行为特征分类测试结果如表 1 所示。表 1 奶牛行为特征分类测试结果 Table 1 Cow behavior classification test results 下载原表 表 1 测试结果表明:分类模型的整体测试结果是较好的。其中, 静止与运动两大类特征行为的区分准确率较高, 达到 94.10%;区分微小运动与剧烈运动时, 准确率为 86.78%;但对奶牛的行为特征进行细致划分时, 区分度相对较低。经分析后, 主要存在
23、以下几个导致误差较大的因素:1) 由于数据采集装置佩戴在牛颈上, 其对奶牛头部活动较为敏感, 而头部活动易存在行为特征的复合, 导致噪声干扰;2) 奶牛的行为特征是依靠肉眼判定的, 但目前并没有奶牛行为判断的标准, 并且有时特征不显著, 仅仅依靠肉眼观察和判断, 使源样本数据不可靠;3) 项圈能在某些情况下下轻微移动, 导致三轴加速度采集装置产生倾斜角度, 产生噪声干扰。5 结论与讨论5.1 结论针对奶牛个体的行为特征的分类问题, 基于二叉树 SVM 构造了多类分类模型, 用于分类和判定静止、慢走、快走、快跑、慢跑及爬跨等日常行为特征。经过实验检测, 区分运动和静止能够到 90%以上的准确度,
24、 区分小幅和大幅运动也能达到 85%以上的准确度;但再细分小幅度和大幅度的活动时会出现一些误判情况, 模型的区分度还需要进一步提高。5.2 讨论尽管本文对奶牛个体行为特征分类进行了深入研究, 建立的多分类模型能够较准确地判定奶牛个体的行为特征, 但本系统目前依然还不够完善, 有待进一步提高。1) 测试受到场地、资源等多方面限制, 随机选择了 1 头成年发情奶牛, 记录了这头奶牛 2h 内的行为特征数据, 进行模型区分度评估。后续实验要延长个体行为的数据采集时间, 增加个体数据采集量;同时, 对不同品种、不同年龄的奶牛进行实验对比, 扩大实验范围, 优化特征识别模型。2) 考虑增加奶牛体温和脉搏检测模块, 在采集加速度数据的同时, 结合奶牛个体处于不同行为状态时的体温和脉搏的变化情况, 对奶牛的行为特征进行综合判定, 提高区分的准确率。参考文献1王林枫.我国奶业主产区奶牛生产效益与牛奶品质的调研分析D, 北京:中国农业科学院, 2006. 2尹令, 洪添胜, 刘迎湖, 等.基于无线传感器网络支持向量机奶牛行为特征识别J.传感技术学报, 2011, 24 (3) :458-462.