俞守華,楊劍達(dá),陳紫城,楊暢達(dá)
?
基于SVM的豬只行為分類
俞守華,楊劍達(dá),陳紫城,楊暢達(dá)
(華南農(nóng)業(yè)大學(xué)數(shù)學(xué)與信息學(xué)院,廣東 廣州510642)
摘 要:鑒于我國現(xiàn)有規(guī)?;B(yǎng)豬場中豬只健康鑒定主要依賴于人工觀測、效率低、誤判率高的現(xiàn)狀,通過在規(guī)模化養(yǎng)豬場豬舍正上方懸掛網(wǎng)絡(luò)攝像頭采集豬只活動(dòng)視頻,應(yīng)用支持向量機(jī)模型分析豬只運(yùn)動(dòng)參數(shù)和體態(tài)特征數(shù)據(jù),對(duì)豬只的采食、排泄、站立、趴窩、慢走、跑動(dòng)等行為進(jìn)行分類。結(jié)果表明,該模型對(duì)于豬只的6種行為分類準(zhǔn)確率達(dá)96.09%。
關(guān)鍵詞:行為分類;SVM;豬只;健康養(yǎng)殖
在養(yǎng)豬場中,飼養(yǎng)員可通過觀察豬只的采食和排泄行為判斷其健康狀況[1-2]。隨著養(yǎng)豬場的規(guī)?;?,僅靠人工識(shí)別豬只行為無法保證豬只的健康養(yǎng)殖,且會(huì)大大增加管理人員的工作負(fù)擔(dān)。為此,豬只行為的智能分類是實(shí)現(xiàn)豬只健康養(yǎng)殖的前提,其能使生產(chǎn)管理人員更便捷、更客觀地掌握豬只的健康狀況及生長規(guī)律。有學(xué)者選用最近鄰分法實(shí)現(xiàn)行人行為分類[3],這種方法存在在分類過程中計(jì)算量大、依賴于訓(xùn)練樣本和用于度量相似性的距離函數(shù)選擇多等問題;也有學(xué)者選用動(dòng)態(tài)貝葉斯網(wǎng)絡(luò)分類人體行為[4],這種方法的實(shí)際效果取決于使用者對(duì)實(shí)際應(yīng)用的先驗(yàn)知識(shí);有學(xué)者則使用BP神經(jīng)網(wǎng)絡(luò)進(jìn)行人體行為分類[5],這種方法具有很強(qiáng)的自組織學(xué)習(xí)能力且有很好的魯棒性,但其易學(xué)習(xí)過度、訓(xùn)練時(shí)間比較長、需要較多的經(jīng)驗(yàn)知識(shí)初始化網(wǎng)絡(luò)結(jié)構(gòu)、網(wǎng)絡(luò)的解釋能力比較差。本研究選擇支持向量機(jī)方法實(shí)現(xiàn)豬只行為分類,其分類計(jì)算量小,不依賴于訓(xùn)練集,模型具有良好的推廣能力,可為豬只健康養(yǎng)殖提供參考。
行為智能分類獲取數(shù)據(jù)的方式有兩類,一類是把傳感器固定到人或動(dòng)物身上,通過傳感器采集數(shù)據(jù)進(jìn)行行為分類,這種方式在一定程度上干擾了人或動(dòng)物的行為,不利于動(dòng)物的健康養(yǎng)殖;另一類是通過視頻監(jiān)控等非接觸方式采集數(shù)據(jù)進(jìn)行分類,這種方式難點(diǎn)在于確定設(shè)計(jì)的行為學(xué)指標(biāo)是否科學(xué)。本研究采用第二類方式,利用懸掛在豬舍頂部的網(wǎng)絡(luò)攝像頭采集豬舍內(nèi)豬只活動(dòng)視頻,使用基于多特征Camshift和Kalman濾波結(jié)合[6]的跟蹤方法和基于多特征檢測與目標(biāo)關(guān)聯(lián)[7]的跟蹤方法跟蹤收集豬只數(shù)據(jù),經(jīng)實(shí)驗(yàn)證明這兩種跟蹤方法獲取的數(shù)據(jù)可靠。
除了豬只的采食和排泄行為外,豬只的站立、趴窩、慢走、跑動(dòng)行為雖然屬于豬只的常規(guī)行為,但也很大程度上反映豬只的心理和身體狀況,因此本研究也采用這4種行為分類。規(guī)模化養(yǎng)豬場中豬只數(shù)量多,行為種類多、行為次數(shù)也數(shù)不勝數(shù),且從健康養(yǎng)殖的角度出發(fā)要求算法實(shí)時(shí)分類豬只行為,便于管理者統(tǒng)計(jì)決策,豬只行為分類算法需要同時(shí)滿足以下4個(gè)條件:(1)盡量小的樣本訓(xùn)練集;(2)計(jì)算量小,滿足實(shí)時(shí)性;(3)容錯(cuò)能力強(qiáng);(4)分類模型具有良好的推廣能力。支持向量機(jī)(Support Vector Machine,SVM)的特性符合豬只行為分類算法的要求,因此本研究選擇SVM實(shí)現(xiàn)豬只行為分類。
2.1 SVM模型原理
SVM是由Vapnik等提出的一種機(jī)器學(xué)習(xí)算法[8],建立在結(jié)構(gòu)風(fēng)險(xiǎn)最小原理和統(tǒng)計(jì)學(xué)習(xí)VC維理論上,根據(jù)有限樣本信息在模型的復(fù)雜性和學(xué)習(xí)能力之間尋求最佳折衷,其核心思想是把樣本向量從低維空間轉(zhuǎn)換到高維空間,將不同類的樣本以盡量大的間隔距離分開,以獲得最好的模型推廣能力。其分類原理如下:
假設(shè)樣本訓(xùn)練集是包含d維特征空間的N個(gè)向量,xi∈Rd,yi∈{-1,1}(i=1,2,…N)。樣本數(shù)據(jù)點(diǎn)的判別函數(shù)是f(x)=ωTx+b,其對(duì)應(yīng)的分類方程是:ωTx+b=0。且向量ω和b必須滿足約束:
y1[(ω·x1) + b ]≥1,i =1,2,…n
由此推導(dǎo)出以下約束優(yōu)化問題,求最小值:
構(gòu)造Lagarange函數(shù):
式中,ai≥0為,Lagagrange乘子,為了求出最小值,分別對(duì)ω、a、b求偏微分并令其等于0,原問題轉(zhuǎn)化為一個(gè)二次函數(shù)尋優(yōu)問題,其存在唯一解。綜上所述,可求得最優(yōu)超平面函數(shù)為:
式中,ai*為不等于0的樣本,即支持向量;b*為分類閾值,由約束條件ai〔yi(ω·x1+ b) -1〕=0可求解。
某些情況下兩類樣本不能被所謂的最優(yōu)分類面完全分離開,此時(shí)通過引入松馳因子ζ,允許存在錯(cuò)分樣本,這樣可以折中推廣能力和經(jīng)驗(yàn)風(fēng)險(xiǎn),因此超平面要滿足下式:
y1(ω·x1+ b) ≥1-ζi
當(dāng)0 < ζi< 1時(shí),樣本點(diǎn)xi正確分類;當(dāng)ζi≥1時(shí) ,樣本點(diǎn)xi被錯(cuò)分。因此,目標(biāo)函數(shù)變?yōu)椋?/p>
式中,C為正常數(shù),是模型的懲罰因子,也可以將上式轉(zhuǎn)換為二次規(guī)劃求解問題來計(jì)算出最優(yōu)超平面,這也是SVM線性分類的最一般表述。
2.2 豬只行為分類指標(biāo)提取
為實(shí)現(xiàn)豬只行為智能分類,本研究通過運(yùn)用圖像處理方法獲取一系列量化的行為學(xué)指標(biāo)作為豬只行為分類指標(biāo)。根據(jù)學(xué)者[9-12]研究總結(jié)出目前的動(dòng)物行為學(xué)指標(biāo)可以分為兩大類:運(yùn)動(dòng)參數(shù)和體態(tài)特征。結(jié)合多個(gè)行為學(xué)指標(biāo)對(duì)豬只行為進(jìn)行分類識(shí)別,能夠使結(jié)果更準(zhǔn)確全面,因此本研究同時(shí)采用這兩類行為指標(biāo)。
運(yùn)動(dòng)參數(shù)在一定程度上反映豬只的活躍程度,是分類識(shí)別豬只趴窩、跑動(dòng)、慢走等行為的顯著參數(shù)指標(biāo),也為判斷豬只健康狀態(tài)提供客觀的依據(jù)?;谶\(yùn)動(dòng)參數(shù)的行為學(xué)指標(biāo)的前提是將豬只看作一個(gè)質(zhì)點(diǎn),即用豬只身體區(qū)域的質(zhì)心坐標(biāo)來表示豬只的位置。本研究采用的運(yùn)動(dòng)參數(shù)類行為學(xué)指標(biāo)及其具體含義如下:(1)所停留的區(qū)域,該參數(shù)描述豬只停留在某個(gè)特定區(qū)域,根據(jù)豬只定點(diǎn)進(jìn)行采食、排泄和趴窩行為的特點(diǎn),將一個(gè)豬舍劃分為采食區(qū)域、排泄區(qū)域和活動(dòng)區(qū)域,從而對(duì)豬只的采食、排泄、趴窩以及其他常規(guī)活動(dòng)行為進(jìn)行分類識(shí)別。它的計(jì)算方法是求得豬只質(zhì)心坐標(biāo),根據(jù)質(zhì)心坐標(biāo)判斷其在哪個(gè)劃分區(qū)域,比如質(zhì)心在采食區(qū)域,則豬只所在區(qū)域?yàn)椴墒硡^(qū)域。(2)特定區(qū)域的停留時(shí)間,該參數(shù)描述豬只已停留在某特定區(qū)域的累積時(shí)間。(3)運(yùn)動(dòng)距離,該參數(shù)描述豬只在連續(xù)兩幀間移動(dòng)的距離,計(jì)算方法如下:
式中,xi+1,yi+1和x1,y1分別表示相鄰兩幀中豬只質(zhì)心的坐標(biāo)。(4)運(yùn)動(dòng)速度,該參數(shù)描述豬只在單位時(shí)間內(nèi)的運(yùn)動(dòng)距離,計(jì)算方法如下:
式中,V(i+1,i)表示豬只在相鄰兩幀間運(yùn)動(dòng)的速度,D(i+1,i)表示豬只在相鄰兩幀間運(yùn)動(dòng)距離,ti+1- ti表示相鄰兩幀的時(shí)間間隔。
體態(tài)特征是表示動(dòng)物的整個(gè)身體姿態(tài),比運(yùn)動(dòng)參數(shù)更能全面的反映豬只的健康狀態(tài)。由于動(dòng)物體態(tài)在圖像中表現(xiàn)為二維形狀,不同的體態(tài)往往表現(xiàn)為不同的形狀。例如,豬只的站立和趴窩兩種行為,當(dāng)豬只站立時(shí),只有四條腿與地面直接接觸,身體其他部分都距離地面一定高度,此時(shí)在圖像中豬只形狀的外接橢圓的長短軸的長度相差較大(圖1A);當(dāng)豬只趴窩時(shí),身體大部分都與地面直接接觸,此時(shí)在圖像中豬只形狀的外接橢圓長短軸的長度比較接近(圖1B)。
圖1 豬只的站立與趴窩行為的二維形狀
由于豬只在規(guī)模化豬舍的活動(dòng)使得圖像中各體態(tài)可能在各個(gè)位置、方向上出現(xiàn),而且其本身的多樣性,要求從豬只二維形狀提取的體態(tài)特征不僅具有旋轉(zhuǎn)、平移不變性還有尺度不變性,并且能忽略類內(nèi)差異,保持類間差異。因此本研究選擇周長面積比、長短軸比和Hu幾何矩3種體態(tài)特征。周長面積比描述豬只二維形狀的不規(guī)則情況,當(dāng)形狀越不規(guī)則,值越小,反之,值越大。具體計(jì)算方法如下:
式中,C、A分別代表豬只二維形狀的周長和面積。
長短軸之比描述豬只二維形狀的細(xì)長程度(圖2),計(jì)算方法如下:
式中,L、S分別表示豬只形狀的外接橢圓的長軸和短軸長度。
Hu幾何矩是一個(gè)全局量的描述,描述了豬只的整體特征。
圖2 豬只長短軸之比
2.3 模型設(shè)計(jì)
上述SVM模型的設(shè)計(jì)中,選擇合適有效的核函數(shù)對(duì)豬只行為的分類效果至關(guān)重要,本研究通過對(duì)現(xiàn)有數(shù)據(jù)的大量實(shí)驗(yàn)分析表明,模型的核函數(shù)選擇為高斯徑向基函數(shù)(Radial Basis Function)時(shí)可取得較好的分類效果。高斯徑向基核函數(shù)使用時(shí)需要確定兩個(gè)主要參數(shù):核參數(shù)γ和懲罰因子C,它們決定著SVM的泛化性能?,F(xiàn)有核函數(shù)運(yùn)用中參數(shù)選擇大部分采用試湊方法。在極大減小計(jì)算量的前提下,為了更精確地找到最優(yōu)參數(shù),Hsu[13]提出一種K重交叉驗(yàn)證結(jié)合網(wǎng)格搜索方法。本研究采用同種策略。
SVM提出之初僅僅用于解決二元分類問題,不能直接用于多分類問題。由于本研究將豬只的行為分為采食、排泄、站立、趴窩、慢走、跑動(dòng)6種行為,因此,需在上述二分類方法的基礎(chǔ)上進(jìn)一步構(gòu)造一個(gè)六類分類器。為解決多分類問題常用的方法有層次SVM、一對(duì)多SVM(One Against All)、一對(duì)一SVM(One Against One)。Hsu等[14]系統(tǒng)地比較了各種多分類SVM算法,指標(biāo)包括訓(xùn)練速度、分類準(zhǔn)確率和推廣能力,結(jié)果顯示,一對(duì)一SVM具有訓(xùn)練速度快,分類準(zhǔn)確等特點(diǎn),可以很好的解決行為分類所要求的實(shí)時(shí)性問題,因此采用一對(duì)一SVM作為本研究的分類方法。
通過開源項(xiàng)目LibSVM對(duì)規(guī)?;B(yǎng)豬場環(huán)境下采集到的豬只行為指標(biāo)數(shù)據(jù)進(jìn)行行為分類的實(shí)驗(yàn)。對(duì)從實(shí)際視頻提取到的豬只行為指標(biāo)數(shù)據(jù)分別進(jìn)行隨機(jī)分組和隨機(jī)均等分組,從而提取出9組不同規(guī)模的訓(xùn)練樣本。然后從剩下的行為指標(biāo)數(shù)據(jù)中隨機(jī)抽取出一組測試樣本集,其構(gòu)成見表1。樣本集1~4的構(gòu)成方式為隨機(jī)分組,通過其構(gòu)造可知,豬只在日常的活動(dòng)中趴窩和慢走行為最多,排泄行為最少;而樣本集5~9的構(gòu)成方式為隨機(jī)均等分組,每一種類型的訓(xùn)練樣本數(shù)量是均等的。
本研究用5重交叉驗(yàn)證結(jié)合網(wǎng)格搜索對(duì)SVM進(jìn)行訓(xùn)練,結(jié)果(表2)表明,訓(xùn)練樣本集8所得到的SVM 分類效果最好。9組測試樣本集的分類結(jié)果顯示,當(dāng)參與SVM訓(xùn)練的樣本規(guī)模越大,對(duì)未知樣本(測試樣本)的分類則越準(zhǔn)確(即所獲得的 SVM 推廣能力越強(qiáng)),但達(dá)到一定規(guī)模后,分類準(zhǔn)確率反而會(huì)輕微地降低。由訓(xùn)練樣本集1~4的分類結(jié)果可知,可能由于豬只的站立、采食和排泄行為類別的樣本所占比例較少,在一定程度上影響了訓(xùn)練的效果進(jìn)而影響了其分類準(zhǔn)確率,而豬只行為分類框架提到“盡量小的樣本訓(xùn)練集”的要求,因此選擇訓(xùn)練樣本集8作為SVM學(xué)習(xí)基準(zhǔn)。
以訓(xùn)練樣本集8為基準(zhǔn)對(duì)測試樣本集中不同類型的樣本進(jìn)行分別測試,其準(zhǔn)確率分別為為93.33%(站立)、99.12%(趴窩)、93.89%(慢走)、93.17%(跑動(dòng))、98.33%(采食)、99.27%(排泄)。通過分析和比較測試樣本集的人工標(biāo)定和預(yù)測結(jié)果,發(fā)現(xiàn)存在3種誤判:(1)只站立在趴窩、采食或排泄區(qū)域時(shí)少部分被誤判為趴窩、采食或排泄;(2)豬只在進(jìn)行趴窩、采食或排泄行為時(shí)少部分會(huì)被誤判為站立或慢走;(3)豬只慢走或跑動(dòng)中突然的停頓會(huì)被誤判為站立或慢走。
表1 訓(xùn)練樣本集構(gòu)成
表2 9組樣本集的測試結(jié)果
為了滿足豬只行為分類算法的4個(gè)基本要求,本研究提出了基于SVM的豬只行為分類方法:首先利用行為學(xué)指標(biāo)的運(yùn)動(dòng)參數(shù)和體態(tài)特征來表示豬只的行為,構(gòu)建了豬只行為分類指標(biāo)集,然后根據(jù)規(guī)模化養(yǎng)豬場采集到的豬只行為數(shù)據(jù)進(jìn)行分類實(shí)驗(yàn)。試驗(yàn)結(jié)果表明,豬只行為分類準(zhǔn)確率可達(dá)96.09%。本研究為實(shí)現(xiàn)全天候無接觸豬只、監(jiān)控及時(shí)發(fā)現(xiàn)異常情況以及深入開展豬只健康養(yǎng)殖研究
提供了一個(gè)新的思路。然而,本研究中采用的圖像處理方法無法保證采集到任何環(huán)境下豬舍內(nèi)豬只的運(yùn)動(dòng)參數(shù)和體態(tài)特征,為此,如何提高采集豬只數(shù)據(jù)的算法的魯棒性是今后需要進(jìn)一步研究的內(nèi)容。
參考文獻(xiàn):
[1] 張博. H1N1亞型豬流感病毒分離鑒定、鑒別診斷及M2e重組質(zhì)粒免疫效力研究[D]. 成都:四川農(nóng)業(yè)大學(xué),2011.
[2] 王雪巖. 豬高熱癥狀的病因分析與用藥方案[J]. 農(nóng)村養(yǎng)殖技術(shù),2010(4):35-36.
[3] 徐亞靜. 基于時(shí)空局部二值模式的行為識(shí)別方法研究[D]. 長春:吉林農(nóng)業(yè)大學(xué),2013.
[4] 楊旗. 人體步態(tài)及行為識(shí)別關(guān)鍵算法研究[D]. 沈陽:東北大學(xué),2013.
[5] 韓旭. 應(yīng)用Kinect的人體行為識(shí)別方法研究與系統(tǒng)設(shè)計(jì)[D]. 濟(jì)南:山東大學(xué),2013.
[6] 周勇鈞,俞守華,區(qū)晶瑩. 多特征Camshift和Kalman濾波結(jié)合的豬只智能跟蹤[J]. 廣東農(nóng)業(yè)科學(xué),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] 張敏. 基于體態(tài)識(shí)別的動(dòng)物行為自動(dòng)分析研究與應(yīng)用[D]. 杭州:浙江大學(xué),2005.
[10] 陸鋮. 基于視頻的動(dòng)物行為智能分析系統(tǒng)關(guān)鍵技術(shù)研究[D]. 楊凌:西北農(nóng)林科技大學(xué),2008.
[11] 浦雪峰. 基于行為監(jiān)測的病豬自動(dòng)識(shí)別系統(tǒng)設(shè)計(jì)[D]. 鎮(zhèn)江:江蘇大學(xué),2009.
[12] 尹令,洪添勝,劉迎湖,等. 基于無線傳感器網(wǎng)絡(luò)支持向量機(jī)奶牛行為特征識(shí)別[J]. 傳感技術(shù)學(xué)報(bào),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.
(責(zé)任編輯 鄒移光)
中圖分類號(hào):S811.8;S828.4
文獻(xiàn)標(biāo)識(shí)碼:A
文章編號(hào):1004-874X(2016)03-0152-05
收稿日期:2015-09-29
基金項(xiàng)目:廣東省科技計(jì)劃項(xiàng)目(2012A020602043);華南農(nóng)業(yè)大學(xué)大學(xué)生創(chuàng)新實(shí)驗(yàn)項(xiàng)目(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