本發(fā)明屬于畜禽業(yè)動物健康狀況監(jiān)測
技術領域:
,特別涉及一種基于BP神經網絡的生豬行為分類方法。
背景技術:
:動物行為是動物生理健康狀況的外在表現,能一定程度反應動物機體對環(huán)境的適應情況,影響動物質量、出欄率以及發(fā)情、疾病監(jiān)控,是評價動物福利的重要指標之一。隨著規(guī)?;B(yǎng)殖的發(fā)展,依靠傳統方法監(jiān)測個體生豬行為效率低,飼養(yǎng)人員無法及時發(fā)現異常生豬個體,從而未能做出科學合理的養(yǎng)殖決策,導致豬場養(yǎng)殖效益低。因此,為了實現自動化管理、節(jié)省人力成本,自動監(jiān)測生豬相關生理指標數據已經成為現代養(yǎng)豬業(yè)發(fā)展趨勢。綜合運用傳感器技術、無線通信技術、嵌入式技術等相關知識,可實現生豬養(yǎng)殖的自動監(jiān)測,并根據個體信息實現精細化管理,推動生豬養(yǎng)殖自動化和智能化發(fā)展,并對畜禽養(yǎng)殖具有一定的指導性意義。動物行為判別模型可為進一步分析動物健康狀況提供理論依據,在建模方法方面得到了廣泛研究,相關研究多采用機器視覺和傳感器網絡技術等方法識別動物日常行為。綜上,上述研究均為部分識別,未能實現個體全天行為的監(jiān)測統計,且模型分析過程繁瑣、準確率低、設備成本高。技術實現要素:為了克服上述現有技術的缺點,本發(fā)明的目的在于提供一種基于BP神經網絡的生豬行為分類方法,通過在生豬頸部佩戴監(jiān)測模塊,采集生豬日常行為對應的加速度、角速度信息,通過BP神經網絡建立生豬日常行為判別模型,使用該模型對生豬日常行為進行統計,為生豬健康狀況提供參考依據,以期提高生豬福利和產品質量,具有準確率高、普適性強,可自動監(jiān)測生豬全天運動信息的優(yōu)點,是一種低成本、高準確率的生豬個體行為識別方法,可為判別生豬健康狀況提供依據。為了實現上述目的,本發(fā)明采用的技術方案是:一種基于BP神經網絡的生豬行為分類方法,包括:實時采集生豬加速度、角速度和姿態(tài)角信息為輸入,根據以下模型公式得到分類結果:M=0.5505×y1+1.0154×y2+1.0528×y3-0.2362;當M取值小于0.5時,對應生豬行為站,當M取值為0.5-1.5時,對應生豬行為走,當M取值為1.5-2.5時,對應生豬行為臥,當M取值為2.5-3.5時,對應生豬行為躺;當M取值大于3.5時,說明判別失敗,重新采集數據。在具體操作中,對M結果進行四舍五入,取整判斷,即輸出小于0.5,取0,0.5-1.5取1,1.5-2.5取2,2.5-3.5取3,分別對應相應的行為,便于計算機處理。其中,y1、y2、y3是為了簡化公式表達所采用的參量,x1、x2、x3是為了簡化公式表達所采用的參量:x1=-0.2728Vx-0.3570Vy-0.4871Vz+0.5738ωx-0.1512ωy+05286ωz-1.6763θx-1.7141θy+0.7166θz+0.8859x2=-1.3617Vx+4.4043Vy+0.6649Vz+5.1408ωx-1.3846ωy-3.4281ωz-0.6854θx-0.1508θy-0.6796θz+1.0415x3=1.0844Vx-4.3527Vy-0.7629Vz-6.6953ωx+1.0044ωy+4.5358ωz-0.1438θx-1.5785θy-0.1466θz-2.8115其中,Vx、Vy、Vz分別是x、y、z三個方向的加速度值,ωx、ωy、ωz分別是x、y、z三個方向的角速度值,θx、θy、θz分別是x、y、z三個方向的姿態(tài)角值。本發(fā)明中模型公式是基于BP神經網絡構建而成,其中,隱層閾值為(0.88591.0415-2.8115),輸出層權值(0.55051.01541.0528),輸出層閾值(-0.2362)。本發(fā)明通過設置在生豬身體上的微慣性傳感器模塊實時動態(tài)獲取生豬運動產生的加速度和角速度,通過磁力計傳感器獲取地磁強度信息,將采集數據進行融合濾波得到姿態(tài)角。所述微慣性傳感器模塊為采樣頻率為10Hz的微慣性傳感器MPU-6050,磁力計傳感器為HMC5833磁力計傳感器,內置于防水密封盒中,佩戴在生豬頸部,同時采用HC-05藍牙模塊向上位機發(fā)送數據。采用四階龍格庫塔優(yōu)化算法,迭代解算姿態(tài)四元數和俯仰角、滾轉角、航偏角實時值,利用動態(tài)Kalman濾波算法,結合HMC磁力計傳感器輸出的磁場強度信息,對三軸角度信息的累積誤差進行補償和校準,得到生豬運動時的姿態(tài)角。所述模型公式通過如下過程建立:1)樣本采集采集站、走、臥、躺,四類生豬行為下對應的加速度、角速度、姿態(tài)角信息,作為模型訓練數據;2)數據處理對模型訓練數據進行歸一化處理,使經過處理的數據符合標準正態(tài)分布,以提高網絡收斂速率;3)模型構建采用單隱層結構BP網絡構建模型,將歸一化處理后的加速度、角速度和姿態(tài)角數組作為網絡的輸入矢量,對應行為站、走、臥、躺,為網絡輸出期望信號,根據預設的目標誤差和訓練最大步數,選用S型正切函數Tansig為隱含層神經元傳遞函數,線性激活函數Purelin為輸出層傳遞函數,利用LM訓練法對網絡進行訓練得到模型。所述模型訓練數據共采集兩個生豬4800組,每10組進行一次處理,即剔除3組最大值和3組最小值,中間4組求平均值,以減少漂移信號的影響。所述歸一化處理采用Z-score歸一化,轉化函數如下:Xk=xk-xmeanxvar]]>其中,xk為所采集的9維原始數據,即x、y、z三個方向的加速度值、角速度值和姿態(tài)角值;xmean為所有數據樣本的均值;xvar為所有樣本數據的標準差;Xk為歸一化后的樣本數據。所述模型構建中,最優(yōu)隱含層節(jié)點數N的計算公式為式中,l為輸入層節(jié)點數,m為輸出層節(jié)點數,c為1~10之間的常數;網絡訓練的目標誤差為0.001,訓練最大步數設為1000。訓練過程中,BP神經網絡程序運行時,初始化網絡的權值矩陣W、V,將樣本模式計數p和訓練次數計數q置為1,網絡訓練后的精度Emin即目標誤差取0.001;輸入歸一化處理后的訓練集樣本,計算各層輸出Yi,進行以下流程:其中,系統輸出均方根誤差公式為RMSE=1PΣp=1PΣi=1k(dip-hip)2]]>式中,為訓練樣本真實值,為訓練樣本網絡期望值,P為訓練樣本個數,k為輸出層個數。訓練過程中,輸出層期望輸出d與實際輸出h比較得到誤差信號誤差信號通過隱層各節(jié)點權向量反傳至隱層,得到隱層誤差信號計算公式為:δkh=(dk-hk)hk(1-hk)]]>δjy=(Σk=1pδkhwjk)yj(1-yj)]]>式中,wjk為隱含層到輸出層的權值向量,yj為隱含層第j個輸出分量,hk為網絡第k次循環(huán)時對應的輸出層分量,dk為網絡第k次循環(huán)對應的期望輸出量。與現有技術相比,本發(fā)明的有益效果是:本發(fā)明提出的基于LM訓練法構建生豬行為判別模型,有效提高了模型的分類精度和收斂速度,驗證結果表明,加入姿態(tài)角信息作為BP神經網絡輸入量可有效避免網絡陷入到局部極小值,滿足實時性要求,誤差函數為0.001844達到了期望的誤差水平,構建的生豬行為判別模型與實際行為高度線性相關,其相關系數為0.992,整體判別準確率為92.64%,為進一步分析生豬健康狀況提供數據支持。附圖說明圖1是本發(fā)明總體流程圖。圖2是本發(fā)明BP網絡梯度訓練過程圖。圖3是本發(fā)明加入姿態(tài)角后的網絡訓練結果圖。圖4是本發(fā)明未考慮姿態(tài)角得到的網絡訓練結果圖。圖5是本發(fā)明考慮姿態(tài)角時實際行為對應的分類值與期望值相關性分析示意圖。圖6是本發(fā)明未考慮姿態(tài)角時實際行為對應的分類值與期望值相關性分析示意圖。具體實施方式下面結合附圖和實施例詳細說明本發(fā)明的實施方式。本發(fā)明總體設計如圖1所示,由數據采集、數據處理、數據發(fā)送與接收、模型建立與分類4部分組成。其中數據采集端利用采樣頻率為10Hz的微慣性傳感器MPU-6050模塊實時動態(tài)獲取生豬運動產生的加速度、角速度信息,利用磁力計傳感器HMC5833實時動態(tài)獲取地磁強度信息。在數據處理部分,STC12C5A60S2單片機對數據進行融合濾波后準確輸出姿態(tài)角信息,這為生豬不同行為分類提供了重要參考依據。數據發(fā)送與接收部分,HC-05藍牙模塊將單片機輸出信息傳輸至電腦上位機。在模型建立與分類部分,生豬日常行為對應的運動信息特征值作為模型輸入參數,調用Matlab軟件中BP神經網絡工具箱構建模型,目的是對生豬的日常行為進行準確的分類判別。本實施例驗證試驗于2016年6月在楊凌本香養(yǎng)豬場封閉進行,為使模型具有普適性,選取相同生長期的生豬2頭,通過松緊布帶將監(jiān)測模塊綁到生豬頸部相同位置,即Z軸均與地面垂直。將錄像機架設在生豬前方位置,保證錄像機能夠準確獲取生豬當天不同行為視頻片段,加以人工標注,通過視頻片段信息匹配上位機該段時間生豬行為數據。試驗過程中監(jiān)測模塊分別采集站、走、臥、躺,四類生豬行為下對應的加速度、角速度、姿態(tài)角信息。前一頭生豬每種行為采集時間20min,間隔重復操作一次,共計4800組數據,作為模型訓練數據。第二頭生豬每種行為采集時間5min,共計1200組數據,作為模型的驗證數據。為了獲得生豬日常行為信息,本試驗設計并開發(fā)了行為信息采集與分析系統,主要由便于佩戴在生豬頸部的防水密封盒,里面包括1節(jié)5V干電池,處理器STC12C5A60S2單片機,采集生豬運動產生的加速度、角速度信息的MPU-6050模塊,對姿態(tài)角進行矯正的HMC5833磁力計傳感器,以及用于發(fā)送數據的HC-05藍牙模塊,接收數據的電腦上位機等組成。其中,防水密封盒由3D打印機制做而成,大小為75mm×25mm×30mm,兩端通過松緊布帶綁在生豬頸部位置。密封盒底面與水平面平行,確保每頭生豬的佩戴位置相同。電腦藍牙與HC-05藍牙模塊配對成功后,將串口數據導入到Matlab2010a(MathWorks公司)進行數據分析處理。STC12C5A60S2單片機根據I2C協議獲取MPU-6050微慣性傳感器采集的生豬運動產生加速度和角速度信息以及地磁傳感器HMC5833輸出的三軸磁場強度信息。采用四階龍格庫塔優(yōu)化算法,迭代解算姿態(tài)四元數和俯仰角、滾轉角、航偏角實時值。由于陀螺儀傳感器存在隨機漂移誤差,利用動態(tài)Kalman濾波算法,結合HMC磁力計傳感器輸出的磁場強度信息,對三軸角度信息的累積誤差進行補償和校準,得到生豬運動時的姿態(tài)角信息。每10組進行一次處理,即剔除3組最大值和3組最小值,中間4組求平均值,有效減少了漂移信號的影響。上述9維數據間量綱不同,為了避免數值大的變量在網絡訓練過程中所占權重過高,而其他有效數據未能參與模型的訓練中,導致網絡訓練誤差大收斂速度慢。因此需要對數據進行歸一化處理,以提高網絡收斂速率。Z-score歸一化是給原始數據的均值和標準差進行標準化處理。經過處理的數據符合高斯分布,即均值為0,標準差為1,轉化函數如公式(1)所示。Xk=xk-xmeanxvar---(1)]]>式中,xk為所采集的9維原始數據,即x、y、z三個方向的加速度值、角速度值和姿態(tài)角值;xmean為所有數據樣本的均值;xvar為所有樣本數據的標準差;Xk為歸一化后的樣本數據。根據歸一化后的樣本數據,建立行為分類模型。BP(backpropagation)神經網絡是一種按誤差反向傳播算法訓練的多層前饋網絡,當輸出層實際輸出與期望輸出不符,則輸出誤差通過隱層反向傳遞到輸入層,通過不斷修正各層權值,直至實際輸出滿足期望要求,或輸出誤差不再減小,則網絡訓練結束。為使網絡具有很好的泛化能力和通用性,本發(fā)明采用單隱層結構BP網絡構建模型,將歸一化處理后的數組(加速度、角速度,姿態(tài)角)作為網絡的輸入矢量,對應行為站、走、臥、躺,為網絡輸出期望信號。通過經驗公式,并結合試湊法確定最優(yōu)隱含層節(jié)點數計算公式為N=l+m+c---(2)]]>式中,l為輸入層節(jié)點數,m為輸出層節(jié)點數,c為1~10之間的常數。由于雙曲正切函數分類區(qū)域為一個非線性超平面,具有劃分精度高,容錯性好的優(yōu)點,因此隱含層神經元傳遞函數選用S型正切函數Tansig,輸出層傳遞函數為線性激活函數Purelin,非線性最小二乘算法(LM)是介于牛頓法與梯度下降法之間的一種非線性優(yōu)化算法,具有收斂速度快、有效處理冗余參數的優(yōu)點,因此選用LM訓練法對網絡進行訓練。網絡訓練的目標誤差為0.001,訓練最大步數設為1000。為了對比分析加入姿態(tài)角對模型分類精度和實時性的影響,模型建立時采用相同的方法,試驗樣本集1加入了三軸姿態(tài)角信息,樣本集2僅考慮加速度和角速度信息,建立基于BP網絡的生豬行為識別模型。其中,樣本集1的輸入矢量為X=[x1,x2,…,x9]T,樣本集2的輸入矢量為X=[x1,x2,…x6]T,x1,x2,x3,x4,x5,x6,x7,x8,x9分別為X、Y、Z三軸加速度、三軸角速度、三軸姿態(tài)角。輸出層輸出向量信號H=(h1,h2,h3,…,hi)T表示網絡計算得到的分類數,利用round函數進行四舍五入取整處理。期望輸出向量信號D=(d1,d2,d3,…di)T為每組對應實際行為,分別用0、1、2、3表示生豬站、走、臥、躺四類行為方式,部分實驗數據如表1所示。表1生豬不同行為產生的運動信息豬編號加速度(x,y,z)角速度(x,y,z)姿態(tài)角(x,y,z)對應行為10.07-0.011.10-0.060.070.06-1.76-4.68-168.89站10.06-0.021.10-0.020.120.18-1.79-4.52-169.05站10.04-0.021.11-0.030.180.24-1.77-4.54-169.04站10.06-0.121.09-18.56-9.83-4.94-4.09-2.17-165.34走10.03-0.091.11-21.36-11.53-3.79-4.73-3.09-164.90走10.05-0.111.09-23.62-16.59-5.12-3.48-3.02-165.48走1-0.970.020.12-0.120.06013.0783.02156.95臥1-0.960.030.12-0.0600.113.0983.02157.12臥1-0.970.050.070.020.060.069.4985.92151.31臥20.06-0.021.11-0.0900.03-0.83-3.41-170.04站20.10-0.151.07-19.74-15.99-3.28-5.80-6.30-163.38走2-0.970.050.060-0.060.0320.5785.04177.44臥采用BP梯度下降算法(即LM訓練法)訓練建立生豬行為分類模型,如圖2所示。BP神經網絡程序運行時,初始化網絡的權值矩陣W、V,將樣本模式計數器p和訓練次數計數q置為1,網絡訓練后的精度Emin取0.001;輸入歸一化處理后的訓練集樣本,計算各層輸出Yi,進行以下流程:其中,系統輸出均方根誤差公式為RMSE=1PΣp=1PΣi=1k(dip-hip)2---(3)]]>式中,為訓練樣本真實值,為訓練樣本網絡期望值,P為訓練樣本個數,k為輸出層個數。BP算法運行原理是信號的前向計算和誤差的反向傳播,輸出層期望輸出d與實際輸出h比較得到誤差信號誤差信號通過隱層各節(jié)點權向量反傳至隱層,得到隱層誤差信號計算公式為δkh=(dk-hk)hk(1-hk)]]>δjy=(Σk=1pδkhwjk)yj(1-yj)]]>式中,wjk為隱含層到輸出層的權值向量,yj為隱含層第j個輸出分量,hk為網絡第k次循環(huán)時對應的輸出層分量,dk為網絡第k次循環(huán)對應的期望輸出量。采用LM訓練法對上述試驗樣本集進行訓練,訓練結果如圖3和4所示。圖3中,融合姿態(tài)角信息的生豬行為分類模型收斂速度快,截至到25步,網絡訓練的誤差函數為0.001844,達到了期望的誤差水平,滿足實時性要求。而圖4中,網絡訓練過程出現震蕩陷入到局部極小值,訓練誤差函數為0.01516,未能達到網絡訓練的目標誤差。為了增加模型的通用性和泛化能力,試驗訓練集來自成年期生豬站、走、臥、躺,四類行為4800組數據,測試集來自第2頭生豬共1200組,約占總體樣本的20%,采用異校驗方法進行驗證,實際行為對應的分類值與期望值相關性分析如圖5和圖6所示。從圖5中得出,考慮姿態(tài)角的基于LM訓練法的模型預測值與期望值相關性分析的決定系數為0.992,直線斜率為0.95,截距為0.32;圖6中未考慮姿態(tài)角的基于LM訓練法的模型預測值與期望值相關性分析的決定系數為0.872,直線斜率為0.88,截距為0.42,考慮姿態(tài)角信息建立模型的線性度明顯更好,分類判別程度更高。進一步分析模型誤差,其中考慮姿態(tài)角和加速度、角速度參數建立判別模型的最大相對誤差僅為8.05%;僅考慮加速度和角速度參數建立模型的最大相對誤差為15.62%,未考慮加速度建立模型的最大相對誤差為13.46%,未考慮角速度建立模型的最大相對誤差為10.17%。通過分析最大相對誤差可知,姿態(tài)角對生豬行為判別模型影響明顯超出其他運動參數。所以考慮姿態(tài)角的基于LM訓練法構建的生豬行為判別模型與實際行為相關性高,且誤差小。綜上,本發(fā)明采用多次重復試驗獲得6000組數據,并進行Z-score歸一化處理,輸入量綱根據有無姿態(tài)角分成兩類,并采用LM訓練法進行判別模型訓練,考慮姿態(tài)角作為BP神經網絡輸入矢量可有效越過局部平坦區(qū),訓練過程中沒有出現反復震蕩,收斂迅速。驗證結果表明,考慮姿態(tài)角的基于LM訓練法構建判別模型的生豬行為與實際行為高度線性相關,其相關系數為0.992,最大相對誤差不超過8.05%,僅考慮加速度和角速度數據基于LM訓練法構建模型的最大相對誤差為15.62%。上述結果表明基于姿態(tài)角構建的生豬行為判別模型可為生豬健康狀況提供數據支持。本發(fā)明通過視頻片段信息匹配生豬站、走、臥躺四種行為方式,共獲得6000組數據,并進行Z-score歸一化處理,選擇LM訓練法對判別模型訓練,考慮姿態(tài)角作為BP神經網絡輸入變量,網絡收斂速度快,滿足實時性要求,且訓練過程可有效越過局部平坦區(qū),達到了期望的誤差水平,模型分類精度高。驗證結果表明,考慮姿態(tài)角構建的生豬行為判別模型與實際行為高度線性相關,其相關系數為0.992,整體判別準確率為92.64%,僅考慮加速度和角速度數據構建的判別模型準確率為86.38%。上述結果表明基于姿態(tài)角構建的生豬行為判別模型可為生豬健康狀況提供數據支持。同時,基于以上方法,本發(fā)明自行設計的生豬行為信息采集裝置,體積小,穩(wěn)定性高,成本低,系統成本僅為60元,可為研制小型化、高準確率的生豬個體行為識別系統提供基礎數據。當前第1頁1 2 3