基于SVM的猪只行为分类

2016-07-27 02:08俞守华杨剑达陈紫城杨畅达
广东农业科学 2016年3期
关键词:猪只

俞守华,杨剑达,陈紫城,杨畅达



基于SVM的猪只行为分类

俞守华,杨剑达,陈紫城,杨畅达

(华南农业大学数学与信息学院,广东 广州510642)

摘 要:鉴于我国现有规模化养猪场中猪只健康鉴定主要依赖于人工观测、效率低、误判率高的现状,通过在规模化养猪场猪舍正上方悬挂网络摄像头采集猪只活动视频,应用支持向量机模型分析猪只运动参数和体态特征数据,对猪只的采食、排泄、站立、趴窝、慢走、跑动等行为进行分类。结果表明,该模型对于猪只的6种行为分类准确率达96.09%。

关键词:行为分类;SVM;猪只;健康养殖

在养猪场中,饲养员可通过观察猪只的采食和排泄行为判断其健康状况[1-2]。随着养猪场的规模化,仅靠人工识别猪只行为无法保证猪只的健康养殖,且会大大增加管理人员的工作负担。为此,猪只行为的智能分类是实现猪只健康养殖的前提,其能使生产管理人员更便捷、更客观地掌握猪只的健康状况及生长规律。有学者选用最近邻分法实现行人行为分类[3],这种方法存在在分类过程中计算量大、依赖于训练样本和用于度量相似性的距离函数选择多等问题;也有学者选用动态贝叶斯网络分类人体行为[4],这种方法的实际效果取决于使用者对实际应用的先验知识;有学者则使用BP神经网络进行人体行为分类[5],这种方法具有很强的自组织学习能力且有很好的鲁棒性,但其易学习过度、训练时间比较长、需要较多的经验知识初始化网络结构、网络的解释能力比较差。本研究选择支持向量机方法实现猪只行为分类,其分类计算量小,不依赖于训练集,模型具有良好的推广能力,可为猪只健康养殖提供参考。

1 猪只行为分类框架

行为智能分类获取数据的方式有两类,一类是把传感器固定到人或动物身上,通过传感器采集数据进行行为分类,这种方式在一定程度上干扰了人或动物的行为,不利于动物的健康养殖;另一类是通过视频监控等非接触方式采集数据进行分类,这种方式难点在于确定设计的行为学指标是否科学。本研究采用第二类方式,利用悬挂在猪舍顶部的网络摄像头采集猪舍内猪只活动视频,使用基于多特征Camshift和Kalman滤波结合[6]的跟踪方法和基于多特征检测与目标关联[7]的跟踪方法跟踪收集猪只数据,经实验证明这两种跟踪方法获取的数据可靠。

除了猪只的采食和排泄行为外,猪只的站立、趴窝、慢走、跑动行为虽然属于猪只的常规行为,但也很大程度上反映猪只的心理和身体状况,因此本研究也采用这4种行为分类。规模化养猪场中猪只数量多,行为种类多、行为次数也数不胜数,且从健康养殖的角度出发要求算法实时分类猪只行为,便于管理者统计决策,猪只行为分类算法需要同时满足以下4个条件:(1)尽量小的样本训练集;(2)计算量小,满足实时性;(3)容错能力强;(4)分类模型具有良好的推广能力。支持向量机(Support Vector Machine,SVM)的特性符合猪只行为分类算法的要求,因此本研究选择SVM实现猪只行为分类。

2 模型建立与设计

2.1 SVM模型原理

SVM是由Vapnik等提出的一种机器学习算法[8],建立在结构风险最小原理和统计学习VC维理论上,根据有限样本信息在模型的复杂性和学习能力之间寻求最佳折衷,其核心思想是把样本向量从低维空间转换到高维空间,将不同类的样本以尽量大的间隔距离分开,以获得最好的模型推广能力。其分类原理如下:

假设样本训练集是包含d维特征空间的N个向量,xi∈Rd,yi∈{-1,1}(i=1,2,…N)。样本数据点的判别函数是f(x)=ωTx+b,其对应的分类方程是:ωTx+b=0。且向量ω和b必须满足约束:

y1[(ω·x1) + b ]≥1,i =1,2,…n

由此推导出以下约束优化问题,求最小值:

构造Lagarange函数:

式中,ai≥0为,Lagagrange乘子,为了求出最小值,分别对ω、a、b求偏微分并令其等于0,原问题转化为一个二次函数寻优问题,其存在唯一解。综上所述,可求得最优超平面函数为:

式中,ai*为不等于0的样本,即支持向量;b*为分类阈值,由约束条件ai〔yi(ω·x1+ b) -1〕=0可求解。

某些情况下两类样本不能被所谓的最优分类面完全分离开,此时通过引入松驰因子ζ,允许存在错分样本,这样可以折中推广能力和经验风险,因此超平面要满足下式:

y1(ω·x1+ b) ≥1-ζi

当0 < ζi< 1时,样本点xi正确分类;当ζi≥1时 ,样本点xi被错分。因此,目标函数变为:

式中,C为正常数,是模型的惩罚因子,也可以将上式转换为二次规划求解问题来计算出最优超平面,这也是SVM线性分类的最一般表述。

2.2 猪只行为分类指标提取

为实现猪只行为智能分类,本研究通过运用图像处理方法获取一系列量化的行为学指标作为猪只行为分类指标。根据学者[9-12]研究总结出目前的动物行为学指标可以分为两大类:运动参数和体态特征。结合多个行为学指标对猪只行为进行分类识别,能够使结果更准确全面,因此本研究同时采用这两类行为指标。

运动参数在一定程度上反映猪只的活跃程度,是分类识别猪只趴窝、跑动、慢走等行为的显著参数指标,也为判断猪只健康状态提供客观的依据。基于运动参数的行为学指标的前提是将猪只看作一个质点,即用猪只身体区域的质心坐标来表示猪只的位置。本研究采用的运动参数类行为学指标及其具体含义如下:(1)所停留的区域,该参数描述猪只停留在某个特定区域,根据猪只定点进行采食、排泄和趴窝行为的特点,将一个猪舍划分为采食区域、排泄区域和活动区域,从而对猪只的采食、排泄、趴窝以及其他常规活动行为进行分类识别。它的计算方法是求得猪只质心坐标,根据质心坐标判断其在哪个划分区域,比如质心在采食区域,则猪只所在区域为采食区域。(2)特定区域的停留时间,该参数描述猪只已停留在某特定区域的累积时间。(3)运动距离,该参数描述猪只在连续两帧间移动的距离,计算方法如下:

式中,xi+1,yi+1和x1,y1分别表示相邻两帧中猪只质心的坐标。(4)运动速度,该参数描述猪只在单位时间内的运动距离,计算方法如下:

式中,V(i+1,i)表示猪只在相邻两帧间运动的速度,D(i+1,i)表示猪只在相邻两帧间运动距离,ti+1- ti表示相邻两帧的时间间隔。

体态特征是表示动物的整个身体姿态,比运动参数更能全面的反映猪只的健康状态。由于动物体态在图像中表现为二维形状,不同的体态往往表现为不同的形状。例如,猪只的站立和趴窝两种行为,当猪只站立时,只有四条腿与地面直接接触,身体其他部分都距离地面一定高度,此时在图像中猪只形状的外接椭圆的长短轴的长度相差较大(图1A);当猪只趴窝时,身体大部分都与地面直接接触,此时在图像中猪只形状的外接椭圆长短轴的长度比较接近(图1B)。

图1 猪只的站立与趴窝行为的二维形状

由于猪只在规模化猪舍的活动使得图像中各体态可能在各个位置、方向上出现,而且其本身的多样性,要求从猪只二维形状提取的体态特征不仅具有旋转、平移不变性还有尺度不变性,并且能忽略类内差异,保持类间差异。因此本研究选择周长面积比、长短轴比和Hu几何矩3种体态特征。周长面积比描述猪只二维形状的不规则情况,当形状越不规则,值越小,反之,值越大。具体计算方法如下:

式中,C、A分别代表猪只二维形状的周长和面积。

长短轴之比描述猪只二维形状的细长程度(图2),计算方法如下:

式中,L、S分别表示猪只形状的外接椭圆的长轴和短轴长度。

Hu几何矩是一个全局量的描述,描述了猪只的整体特征。

图2 猪只长短轴之比

2.3 模型设计

上述SVM模型的设计中,选择合适有效的核函数对猪只行为的分类效果至关重要,本研究通过对现有数据的大量实验分析表明,模型的核函数选择为高斯径向基函数(Radial Basis Function)时可取得较好的分类效果。高斯径向基核函数使用时需要确定两个主要参数:核参数γ和惩罚因子C,它们决定着SVM的泛化性能。现有核函数运用中参数选择大部分采用试凑方法。在极大减小计算量的前提下,为了更精确地找到最优参数,Hsu[13]提出一种K重交叉验证结合网格搜索方法。本研究采用同种策略。

SVM提出之初仅仅用于解决二元分类问题,不能直接用于多分类问题。由于本研究将猪只的行为分为采食、排泄、站立、趴窝、慢走、跑动6种行为,因此,需在上述二分类方法的基础上进一步构造一个六类分类器。为解决多分类问题常用的方法有层次SVM、一对多SVM(One Against All)、一对一SVM(One Against One)。Hsu等[14]系统地比较了各种多分类SVM算法,指标包括训练速度、分类准确率和推广能力,结果显示,一对一SVM具有训练速度快,分类准确等特点,可以很好的解决行为分类所要求的实时性问题,因此采用一对一SVM作为本研究的分类方法。

3 试验结果与分析

通过开源项目LibSVM对规模化养猪场环境下采集到的猪只行为指标数据进行行为分类的实验。对从实际视频提取到的猪只行为指标数据分别进行随机分组和随机均等分组,从而提取出9组不同规模的训练样本。然后从剩下的行为指标数据中随机抽取出一组测试样本集,其构成见表1。样本集1~4的构成方式为随机分组,通过其构造可知,猪只在日常的活动中趴窝和慢走行为最多,排泄行为最少;而样本集5~9的构成方式为随机均等分组,每一种类型的训练样本数量是均等的。

本研究用5重交叉验证结合网格搜索对SVM进行训练,结果(表2)表明,训练样本集8所得到的SVM 分类效果最好。9组测试样本集的分类结果显示,当参与SVM训练的样本规模越大,对未知样本(测试样本)的分类则越准确(即所获得的 SVM 推广能力越强),但达到一定规模后,分类准确率反而会轻微地降低。由训练样本集1~4的分类结果可知,可能由于猪只的站立、采食和排泄行为类别的样本所占比例较少,在一定程度上影响了训练的效果进而影响了其分类准确率,而猪只行为分类框架提到“尽量小的样本训练集”的要求,因此选择训练样本集8作为SVM学习基准。

以训练样本集8为基准对测试样本集中不同类型的样本进行分别测试,其准确率分别为为93.33%(站立)、99.12%(趴窝)、93.89%(慢走)、93.17%(跑动)、98.33%(采食)、99.27%(排泄)。通过分析和比较测试样本集的人工标定和预测结果,发现存在3种误判:(1)只站立在趴窝、采食或排泄区域时少部分被误判为趴窝、采食或排泄;(2)猪只在进行趴窝、采食或排泄行为时少部分会被误判为站立或慢走;(3)猪只慢走或跑动中突然的停顿会被误判为站立或慢走。

表1 训练样本集构成

表2 9组样本集的测试结果

4 结语

为了满足猪只行为分类算法的4个基本要求,本研究提出了基于SVM的猪只行为分类方法:首先利用行为学指标的运动参数和体态特征来表示猪只的行为,构建了猪只行为分类指标集,然后根据规模化养猪场采集到的猪只行为数据进行分类实验。试验结果表明,猪只行为分类准确率可达96.09%。本研究为实现全天候无接触猪只、监控及时发现异常情况以及深入开展猪只健康养殖研究

提供了一个新的思路。然而,本研究中采用的图像处理方法无法保证采集到任何环境下猪舍内猪只的运动参数和体态特征,为此,如何提高采集猪只数据的算法的鲁棒性是今后需要进一步研究的内容。

参考文献:

[1] 张博. H1N1亚型猪流感病毒分离鉴定、鉴别诊断及M2e重组质粒免疫效力研究[D]. 成都:四川农业大学,2011.

[2] 王雪岩. 猪高热症状的病因分析与用药方案[J]. 农村养殖技术,2010(4):35-36.

[3] 徐亚静. 基于时空局部二值模式的行为识别方法研究[D]. 长春:吉林农业大学,2013.

[4] 杨旗. 人体步态及行为识别关键算法研究[D]. 沈阳:东北大学,2013.

[5] 韩旭. 应用Kinect的人体行为识别方法研究与系统设计[D]. 济南:山东大学,2013.

[6] 周勇钧,俞守华,区晶莹. 多特征Camshift和Kalman滤波结合的猪只智能跟踪[J]. 广东农业科学,2013,40(9):174-177,188.

[7] Yu S H,Chen Z C,Ou J Y,et al. Tracking algorithm based on multi-feature detection and target association of pigs on large-scale pig farms[J]. Journal of Information and Computational Science,2015,12 (10):3837-3844.

[8] Vapnik V N. Statistical Learning Theory[M]. New York:Wiley,1998.

[9] 张敏. 基于体态识别的动物行为自动分析研究与应用[D]. 杭州:浙江大学,2005.

[10] 陆铖. 基于视频的动物行为智能分析系统关键技术研究[D]. 杨凌:西北农林科技大学,2008.

[11] 浦雪峰. 基于行为监测的病猪自动识别系统设计[D]. 镇江:江苏大学,2009.

[12] 尹令,洪添胜,刘迎湖,等. 基于无线传感器网络支持向量机奶牛行为特征识别[J]. 传感技术学报,2011(03):458-462.

[13] Hsu C W,Chang C C,Lin C J. A practical guide to support vector classification[EB/OL]. http://www. csie.ntu.edu.tw/ cjlin/papers/guide/guide.pdf,2003.

[14] Hsu C W,Lin C J. A comparison of methods for multiclass support vector machines[J]. IEEE Transactions on Neural Networks,2002,13(2):415-425.

(责任编辑 邹移光)

中图分类号:S811.8;S828.4

文献标识码:A

文章编号:1004-874X(2016)03-0152-05

收稿日期:2015-09-29

基金项目:广东省科技计划项目(2012A020602043);华南农业大学大学生创新实验项目(201410564286)

作者简介:俞守华(1964-),男,博士,教授,E-mail:segrad@scau.edu.cn

Pig behavior recognition based on SVM

YU Shou-hua,YANG Jian-da,CHEN Zi-cheng,YANG Chang-da
(College of Mathematics and Informatics,South China Agricultural University,Guangzhou 510642,China)

Abstract:Nowadays,identification of sick pig mainly relies on manual observation. This method is inefficient and has high error rate. A IP camera hung on the middle of ceiling of pig pen in large-scale pig farm was developed in this research. Pigs’ behavior video can be captured through the IP camera. The locomotory parameter and posture features data of pig were analyzed to categorize into eating,excreting,standing,lying,walking and running behaviors using SVM models. The results indicated that the method could distinguish six behaviors of pig with the accurancy rate of 96.09%. The results provided reference for identificating sick pigs.

Key words:behavior recognition;SVM;pig;healthy breeding

猜你喜欢
猪只
降低日粮粗蛋白并添加单体氨基酸对断奶—育肥猪生长性能和营养排泄的影响(中)
猪呼吸道疫病的发生原因与防控方法研究
猪胃溃疡的病因与防治措施
猪舍富集的环境对猪只的影响?
秋冬季防应激不可忽略饮水消毒
猪只硒缺乏症的预防措施和治疗方法