




































摘要:針對牦牛體重稱重難的問題,結合物聯網和人工智能技術開發一種基于生成對抗網絡GAN和反向傳播神經網絡BPNN的動態體重測量算法。在牦牛平穩行走狀態下,利用STM32單片機獲取80頭牦牛的原始壓力傳感器數據。利用GAN網絡生成3 000條模擬數據,并使用BPNN神經網絡進行回歸預測,對牦牛體重進行動態測量。在平穩行走狀態下,使用對射紅外裝置進行位置判斷,借此進行數據采集工作,并將采集的原始壓力數據交由預測模型進行回歸預測。試驗結果表明,平均每頭牛稱重時間約為4 s,預測結果與牦牛真實體重的平均絕對誤差為0.92%。優于經驗豐富的技術人員估重的最佳精度(±5%),能夠滿足實際生產需求。試驗采用的基于GAN生成對抗網絡和BPNN神經網絡構建的牦牛動態稱重算法能夠快速、精確、自動地獲取牦牛的體重數據。符合實際應用需求,為牦牛自動化稱重提供技術支持,對實現牦牛精準化養殖有著很強的現實意義。
關鍵詞:牦牛;動態稱重;BP神經網絡;生成對抗網絡;預測模型
中圖分類號:S823.8+5; TP183 文獻標識碼:A 文章編號:2095?5553 (2024) 11?0150?09
Research on dynamic weight measurement algorithm of yak based on GAN-BPNN
Xiao Jian1, Zhang Yu'an1, 2, Liu Junyi1, Yao Tian1, Song Rende3
(1. College of Computer Technology and Applications, Qinghai University, Xining, 810016, China;
2. Qinghai Province Intelligent Computing and Applications Laboratory, Qinghai University, Xining, 810016, China;
3. Animal Disease Prevention and Control Center, Yushu, 815000, China)
Abstract: To address the issue of difficulties in weighing yaks, a dynamic weight measurement algorithm based on GAN and BPNN is developed by integrating IoT and AI technologies. The STM32 microcontroller is used to acquire raw pressure sensor data from 80 yaks while the yaks are walking smoothly. Subsequently, 3 000 pieces of fake data were generated using a GAN network, and regression prediction is performed using a BPNN neural network to achieve dynamic weight measurement of yaks. Under normal walking conditions, the position judgment is carried out by using the pair?projecting infrared devices, and using these for data collection. Then, collected raw pressure data were submitted to the prediction model for regression prediction. The experimental results show that resulting in an average weighing time of approximately 4 seconds per yak and the average absolute error between the predicted and actual weights of the yaks is 0.92%. Surpassing the best accuracy (±5%) achieved by experienced technicians in weight estimation. The yak dynamic weighing algorithm based on BPNN and GAN can quickly obtain accurate and automated yak body weight data. It meets the actual application requirements, provides technical support for yak automated weighing, and has significance for achieving yak precision farming.
Keywords: yak; dynamic weighing; BP neural network; generative adversarial network; predictive model
0 引言
全球范圍內,目前約有1 750萬頭牦牛。其中,中國的牦牛數量高達1 650萬頭,占總比重的94%以上。青海省是中國牦牛養殖的重要地區,目前存欄達到580萬頭,占全國牦牛總數的35%[1]。青海牧區的面積占全省總面積的96%,擁有可利用草地31 620 khm2,是全國五大畜牧基地之一[2]。牦牛作為高原地區的重要牲畜,在鞏固牧民脫貧致富成果和推動鄉村振興中發揮著不可或缺的作用[3]。2022年國家和地方政府都出臺政策支持肉牛產業高質量發展。國務院出臺《“十四五”推進農業農村現代化規劃》,提出實施基礎母畜擴群提質和南方草食畜牧業增量提質行動,引導一批肉牛規模養殖場畜禽圈舍標準化、集約化、智能化改造[4]。青海省錨定“四地”建設,將打造綠色有機農畜產品輸出地等,牦牛產業提質增效與轉型升級的需求十分迫切,牦牛的體重信息是反映牛只生理狀況、遺傳性能的重要指標。牦牛的高質量、精準化養殖的關鍵點在于實時掌握牦牛的牛只體重變化信息,以便于科學的制定養殖方案,提高養殖效率[5]。因此,定期對牦牛進行稱重是牦牛高效率、高質量生產的必要工作。但是,牦牛產業普遍存在設施簡陋、技術力量薄弱的問題。牧區采用的是傳統靜態稱重方法,需要通過人工將牦牛拉拽到稱臺上測量其靜態數據。由于牦牛的性格較為暴躁,靜態稱重不僅消耗大量的勞動力,而且頻繁稱重會使牦牛產生應激反應[6],甚至對牧民產生安全隱患。因此快速、精確、自動地獲取牦牛體重信息對于提高牦牛養殖產業效率、牦牛產業高質量發展以及牦牛精準化養殖顯得十分必要。
莊育鋒等[7]利用L-M算法建立了BP神經網絡模型,對電阻應變式傳感器的輸入、輸出進行非線性補償校正,從而對微量藥品重量進行有效校正,實現微量藥品的動態稱重。董小寧[8]通過對奶牛的運動方式(行走—停頓,平穩行走,劇烈運動)的分析,利用傳感器數據判斷奶牛狀態,在平穩行走時進行數據采集,實現了奶牛的動態體重測量。馬聰等[9]利用LSTM神經網絡對相關時間序列進行訓練及測試,實現肉牛的動態體重測量。趙慧兵[10]采用EMD經驗模態分解算法,能夠較好的完成肉牛體重測量。胡肄農等[11]在動態稱重過程中引入加速度測量信號,通過神經網絡學習方法,從稱臺測量信號中分離出載荷沖擊以及震動干擾從而使測量結果更接近真實值。李建鑫等[12]利用最小二乘法延拓端點,然后使用二階導數連續條件將延拓點與極值點連接構造延拓點與極值點段,該方法能夠有效的對牲畜進行無應激的動態稱重。
以上研究雖然取得一定成果,但對于高原特有的牦牛來說,現有方法和技術存在適用性不足的問題。牦牛體型較大,野性較強,易對人為干預產生應激反應,在稱臺上劇烈運動,造成壓力數據采集誤差。本文設計一種基于STM32單片機技術以及神經網絡算法的自動化體重測量算法,以實現自動化、高精度、高效率的牦牛體重測量。此外,針對前人的研究成果進行優化,采用GAN網絡來豐富神經網絡的數據集,并根據牦牛的行為特性以及體重范圍,構建不同類型的神經網絡模型。通過分析對比不同類型神經網絡模型的預測精度,選取預測誤差更小的模型,研究并設計一種符合實際生產需要的動態稱重算法。
1 試驗系統及方案
1.1 硬件設備
通過牦牛養殖的現場調研以及查閱相關的參考文獻,發現青海省內成年公牦牛平均體重為(257.96±59.14) kg,體斜長為(135.62±10.86) cm,胸圍為(167.32±12.42) cm,肩高為(119.78±11.89) cm[13]。據此,硬件設備主要有4只壓力傳感器(SQB2 000 kg,C3),通過四合一接線盒將4只傳感器信號進行整合,在確保對4只傳感器進行數據采集的同時減少綜合誤差。3對紅外對射傳感器(CHE18-5ML-B710)放置在稱臺前、中、后位置用于判斷稱臺上的狀態,稱重臺選用定制的0.8 m×2 m的定制稱臺,兩側護欄采用1 m高的C304不銹鋼管,確保每次在稱臺上的為單只牦牛。分別使用10 kg、20 kg重量砝碼對稱臺進行標定。稱重臺模型示意圖如圖1所示,實物如圖2所示。
1.2 軟件設備
Keil MDK-ARM:用于對STM32單片機進行編程。利用Keil MDK-ARM的集成開發環境,進行單片機程序的編寫、調試和下載。
Visual Studio Code:開發串口服務程序,編寫了相應的代碼以實現數據接收、解析和存儲的功能。將STM32單片機采集到的數據存儲在數據庫中。
Jupyter Notebook:用于將生成對抗網絡(Generative Adversarial Network,GAN)、反向傳播神經網絡(Back propagation neural network,BPNN)、長短時記憶網絡(Long Short-Term Memory,LSTM)、門循環單元(Gate Recurrent Unit,GRU)用Python語言實現。
1.3 測量方法
牛只在稱重臺的位置狀態判定如表1所示。
由表1可知,當3對紅外均為0時,將當前狀態認定為空稱,狀態標志為0,在此時對壓力傳感器進行標定。中部紅外傳感器即紅外B的狀態為1且首尾的紅外A、紅外C為狀態0時,認定為正常狀態,狀態標志位1,在此時對壓力傳感器數據進行采集。當僅有紅外A狀態為1時,狀態標志為2,屬于正常的稱重流程但不記錄數據。當僅有紅外C狀態為1時,認定牛只正在離開稱重臺,本次稱重結束,狀態標志為3,通過串口將數據發送出去。當紅外A、紅外C同時為狀態1時,認定為當前稱臺前后有不同的牛只,發出警告提醒。
試驗數據采集地點為青海省玉樹州巴塘鄉牧場,采集時間為2024年1月6日,分別對80頭牦牛進行數據采集,由于牛只稱重過程中,動態干擾因素很多,為了從稱重數據中剔除干擾,提高測量精度,在數據處理前對采集數據進行算數平均濾波。試驗共計獲取160條原始數據,其中優質數據144條。利用GAN網絡生成3 000條Fake_data數據。
2 牦牛動態體重測量算法研究
2.1 生成對抗網絡
生成對抗網絡GAN是由Goodfellow等[14]在2014年首次提出的,GAN的核心思想來源于博弈論的納什均衡[15],博弈雙方包括生成器(Generator)和判別網絡(Discriminator)。GAN中的生成器是一個神經網絡模型,其主要目的是學習原始數據的數據分布,然后利用一個隨機噪聲輸入(隨機向量z)來生成盡可能和真實數據集相似的偽數據Fake_data。判別器也是一個神經網絡模型,它的目標是盡可能準確地將輸入數據區分為兩類:真實數據集或者生成器生成的偽數據集Fake_data。
在訓練過程中,生成器和判別器交替進行優化,使得生成器生成的Fake_data更加真實,以至于判別器不能夠區分真實數據和Fake_data數據。最終,生成器能夠生成與真實數據集接近的Fake_data,達到兩者之間的納什均衡。生成對抗網絡GAN的計算流程如圖3所示。
生成器G接收隨機噪聲和判別器的判定結果作為輸入數據。判別器D接收真實數據x、生成器產生的偽數據以及判別器的判定結果作為輸入數據。首先,生成器利用隨機噪聲z生成盡量符合真實數據分布的偽數據G(z),并對偽數據G(z)進行相應的標簽處理。隨后,將真實數據x和偽數據G(z)傳入判別器D中,判別器需要完成對數據來源的二分類判定:真(來源于真實數據x)或者假(來源于生成器G的偽數據)。判別器計算真實數據的損失和偽數據的損失,并將這兩個損失進行加權求和得到判別器的總損失。通過總損失進行反向傳播,并利用優化器來更新生成器G和判別器D的參數,使得G和D的性能得以交替提升。當G和D達到相對穩定時,認為G已經學習到真實數據的樣本分布,能夠生成滿足要求的偽數據[16]。
GAN的訓練的兩個階段包括:正向傳播階段和反向傳播階段。
1) 正向傳播階段。將隨機噪聲z作為輸入,經過第一個線性層和激活函數(ReLU)進行計算得到中間結果。重復經過3個隱藏層,逐步將中間結果轉換為生成的數據。在最后一個線性層之后應用sigmoid激活函數,將輸出限制在(0,1)范圍內,得到最終生成的數據G(z)。
2) 反向傳播階段。采用二元交叉熵作為損失函數,其損失函數如式(1)、式(2)所示。
交叉熵
[H(P,Q)=-i=1nP(xi)logQ(xi)] (1)
二元交叉熵損失函數
[L(P,Q)=-[yilogσ(xi)+(1-yi)log(1-σ(xi)]] (2)
[σ(x)=11+e-x] (3)
式中: P——數據的真實分布;
Q——數據的近似分布;
xi——第i個樣本的輸入值;
yi——第i個樣本的二元標簽(0或1)。
2.2 反向傳播神經網絡
BP反向傳播神經網絡最早由Vashitz等[17]在2008年提出。BP是一種反向傳播誤差算法(Back Propagation Algorithm)的多前饋神經網絡[18]。BP神經網絡包含三層結構:輸入層、隱藏層、輸出層,如圖4所示。
其計算過程分為前向傳播階段和反向傳播階段。
1) 前向傳播階段。根據輸入數據x1,x2,x3,x4經過加權和非線性變換,將結果傳遞到隱藏層L2。
[Hj=σ(i=1nwijxi-αj)] (4)
式中: Hj——線性變換輸出;
wij——L1層i號節點與L2層j號節點連接權值;
α——隱藏層閾值。
將L1層傳遞過來的數據同樣經過加權和非線性變換,將結果傳遞到輸出層L3。使用L2層傳遞過來的參數計算BP神經網絡的預測輸出Output。
[Output=j=1lHjwj-d] (5)
式中: wj——L2層j號到輸出層節點的連接權值;
d——輸出層閾值。
利用預測輸出Output與期望輸出Output2計算誤差
[e=Output2-OutputOutput2] (6)
2) 反向傳播階段。根據計算得到的誤差e更新網絡各部分權值。
[wij=wij+ηHj(1-Hj)x(i)wje] (7)
[wj=wj+ηHje] (8)
式中: η——學習率。
根據誤差e更新網絡節點閾值α,d。
[αj=αj+ηHj(1-Hj)wje] (9)
[di=di+e] (10)
2.3 長短時記憶網絡
長短時記憶網絡LSTM具有選擇性記憶功能,能夠將重要的信息保留,將不重要的信息選擇性遺忘,在捕獲長期依賴關系時極具優勢[19]。LSTM模型包含3個門結構,輸入門、遺忘門以及輸出門。其結構示意圖如圖5所示。
1) 遺忘門(Input gate)。遺忘門使用輸入數據xt,t-1時刻隱藏層狀態ht-1作為輸入,使用σ函數得到0~1的數值。數值越接近1表示該信息越重要,保留更多的信息。數值越接近0,其重要性越低,進行選擇性遺忘[20]。
[ft=σ(Wf?[ht-1,xt]+bf)] (11)
2) 輸入門(Input gate)。輸入門通過σ函數以及tanh函數決定將哪些信息加入到狀態中。
[it=σ(Wi?[ht-1,xt]+bi)] (12)
[Ct=tanh(Wc?[ht-1,xt]+bc)] (13)
3) 記憶細胞狀態的更新。根據遺忘門結果[ft],[t-1]時刻記憶細胞狀態Ct-1,xt經過σ函數的結果it以及候選記憶細胞狀態[C]對記憶細胞進行更新。
[Ct=ft×Ct-1+it×Ct] (14)
3) 輸出門(Output gate)。輸入數據xt,t-1時刻隱藏層狀態ht-1作為輸入,使用σ函數得到一個間接輸出結果,將t時刻記憶細胞狀態Ct作為tanh函數輸入,得到另一個間接輸出結果,將兩個間接輸出結果相乘得到最終的輸出結果。
[ot=σ(Wo[ht-1,xt]+bo)] (15)
[ht=ot×tanh(Ct)] (16)
式中: ft——遺忘門輸出;
W——權重矩陣;
it——要更新的細胞狀態;
b——偏置項;
ot——輸出結果。
2.4 門控循環單元GRU
GRU最早由Cho等[21]在2014年首次提出,循環結構的神經網絡克服了傳統機器學習方法對輸入和輸出數據的許多限制,使其成為深度學習領域中一類非常重要的模型。GRU是一種長短時記憶網絡(LSTM)的簡化版本,其內部結構包括重置門、更新門[22]。其計算流程如圖6所示。ht-1、xt分別為GRU模型的兩個輸入端。輸出結構包含兩部分,分別為yt、ht。yt為輸入數據xt時,GRU模型所給出的輸出結果。
GRU模型內部結構如圖7所示。
GRU模型內部主要包含2個門函數,rt重置門、zt更新門。
重置門
[rt=σ(xtWxr+ht-1Whr+br)] (17)
更新門
[zt=σ(xtWxz+ht-1Whz+bz)] (18)
式中: [Wxr]、[Whr]、[Wxz]、[Whz]——輸入xt、隱藏層ht、更新門zt、重置門rt之間相應的權重矩陣;
br——偏置項。
重置門的候選隱藏層
[ht=tanh(xtWhx+Rt?ht-1Whh+bh)] (19)
更新門的最終隱藏狀態
[ht=(1-Zt)?ht-1+zt?ht] (20)
式中: [ht]——候選隱藏層狀態。
當更新門zt趨近于1時,表示當前隱藏狀態會更多地保留歷史狀態ht-1的信息,這意味著模型對長期依賴有更強的記憶能力。即,當zt接近1時,模型更傾向于記住過去的信息,相反,當更新門趨近于0時,表示當前隱藏狀態ht會更多地依賴于候選隱藏狀態,而減少對歷史狀態ht-1的依賴,這意味著模型會選擇性地“忘記”一些不重要的信息,從而更好地適應當前的輸入[23]。這種通過更新門zt控制信息的遺忘和記憶,使得門控循環單元在處理序列數據時能夠更有效地管理長期依賴關系,提高了模型對序列數據的建模能力[24]。
2.5 GAN-BPNN牦牛動態稱重算法
采用BPNN模型作為牦牛動態體重測量的預測模型。首先,通過稱臺的ADC值采集到牦牛的動態數據,并將其作為原始數據用于訓練生成對抗網絡GAN。在GAN網絡中,調整生成器G和判別器D的參數,使其損失值Loss達到納什均衡,確定GAN模型。然后,利用GAN生成的Fake_data數據集訓練BPNN神經網絡模型。當BPNN模型的損失值Loss收斂時,確定BPNN神經網絡模型。在實際應用中,使用STM32單片機采集到的真實數據輸入已確定的BPNN模型中進行預測,即可得到牦牛的體重數據。本文提出的基于生成對抗網絡GAN和BPNN神經網絡模型的牦牛動態體重測量方法不僅減少數據誤差,還實現自動化、精準化的體重預測,具有廣泛的應用前景。
基于生成對抗網絡GAN和BPNN神經網絡模型的牦牛動態體重測量算法計算流程如圖8~圖10所示。
3 試驗結果與分析
3.1 稱重裝置數據分析
試驗結果表明,由壓力傳感器SQB2 000 kg、紅外對射傳感器CHE18-5 ML-B710、STM32單片機所構成的壓力數據采集系統能夠有效的判定被測物體在稱臺上的物理位置。空載情況下,通過串口采集到的ADC值在±2之間波動。通過查閱相關資料發現,STM32單片機ADC轉換芯片是一種中等轉換精度芯片,在采集低壓數據時存在數據波動的現象[25]。本次試驗獲取的ADC值波動在±2之間屬于較理想狀態。STM32單片機的電壓轉ADC范圍為(0~3.3) V,其對應的ADC值為0~4 096。壓力傳感器供電5 V,靈敏度3 mV/V,滿量程輸出電壓15 mV,通過OP07芯片放大320倍,其滿量程輸出電壓4.8 V。稱臺上的重量為5 500 kg時,STM32單片機讀取電壓為3.3 V。單只牦牛體重小于5 500 kg,傳感器輸出電壓低于3.3 V,不會對STM32芯片造成影響。
輸出電壓U的轉換公式為
[U=adcx/4 096?3.3 V] (21)
寧波柯力SQB2 000 kg電壓值與壓力數據為線性關系。
故體重數據W轉換公式為
[W=(U-U0)UmWm] (22)
式中: [adcx]——讀取的ADC值;
[U]——實際電壓值;
[U0]——空稱時電壓;
[Um]——滿量程電壓;
[Wm]——壓力傳感器滿量程。
通過數據分析,發現每次測量的多個ADC值中,較小的值在經過特定公式轉換后更接近于真實數據。因此,對STM32單片機程序進行修改,以ms為單位,每次采集100條數據并計算其中最小的10條數據的平均值,將該平均值作為真實數據輸入到生成對抗網絡GAN中,用于生成Fake_data。通過這種方式,在減少數據抖動的同時,使得測量數據更接近理想值。利用此硬件稱重裝置成功獲取了牦牛行走狀態下的理想體重數據。
3.2 神經網絡預測結果分析對比
通過對三種預測模型的預測結果進行橫向對比分析,旨在評估各模型的優越性。同時,還將比較引入GAN和不引入GAN兩種情況的預測結果,以探究GAN在預測模型中的作用。在引入GAN網絡的情況下,將生成的Fake_data作為神經網絡的訓練集,而在不引入GAN網絡的情況下,使用原始數據集的70%作為訓練集。測試集均為原始數據集的30%。
3.2.1 BPNN神經網絡預測結果
BPNN神經網絡和GAN-BPNN神經網絡在測試集上的預測性能如圖11、圖12所示。兩者對牦牛體重測量的平均絕對誤差分別為0.037 1和0.009 2。通過對比圖11和圖12可以看出,GAN-BPNN神經網絡在波峰和波谷處的預測結果與真實值更為接近,符合度更高,其擬合效果與預期結果一致,預測性能更優秀。
BPNN神經網絡和GAN-BPNN神經網絡在訓練過程中的Loss(訓練損失)如圖13所示。
從圖13可以看出,兩種網絡的Loss曲線最終都趨近于0,這表明它們在測試數據上的預測與實際值之間的差異非常小,但GAN-BPNN神經網絡相較于BPNN神經網絡具有更快的收斂速度。這意味著,GAN-BPNN模型能夠更迅速地學習并在訓練數據上實現良好的擬合效果,從而展現出更優越的性能。
3.2.2 LSTM神經網絡預測結果
LSTM神經網絡和GAN-LSTM神經網絡在測試集上的預測性能如圖14、圖15所示。兩者對牦牛體重測量的平均絕對誤差分別為0.014 5和0.093 5。通過對比圖14和圖15可以看出,GAN-LSTM神經網絡對于波峰和波谷的預測準確度明顯高于LSTM,但是整體的擬合效果不夠理想,預測性能較差。
LSTM神經網絡和GAN-LSTM神經網絡在訓練過程中的損失值如圖16所示。從圖16可以看出,GAN-LSTM神經網絡的Loss曲線相較于LSTM神經網絡收斂更為明顯,且波動更小。這表明模型更好的學習到了數據的穩定模式,并且在每次迭代中能夠以更加一致的方式更新參數,逐漸降低損失,GAN-LSTM神經網絡的訓練更加可靠,泛化性能也更好。
3.2.3 GRU神經網絡預測結果
GRU神經網絡和GAN-GRU神經網絡在測試集上的預測性能如圖17、圖18所示。兩者對牦牛體重測量的平均絕對誤差分別為0.087 3和0.075 8。通過對比圖17和圖18可以看出,GAN-GRU神經網絡對于波峰和波谷的預測準確度稍高于GRU,但是整體的擬合效果不夠理想。
GRU神經網絡和GAN-GRU神經網絡在訓練過程中的損失值如圖19所示。從圖19可以看出,GAN-GRU神經網絡的Loss收斂更快,更明顯,且波動更小。這表明GAN-GRU神經網絡在訓練時能夠更好的學習數據的穩定模式,訓練過程更加穩定,訓練結果更加可靠,泛化性能更好。
3.3 模型性能分析
兩種情況下各個模型的平均絕對誤差MAE、均方誤差MSE如表2所示。
試驗旨在對牦牛體重進行預測,首要關注平均絕對誤差MAE。分析表2可知,在不引入GAN網絡的情況下,BPNN模型表現出最佳的性能。BPNN模型的MAE和MSE分別為0.037 1和0.000 3,優于LSTM模型和GRU模型。當引入GAN網絡后,各模型的性能都得到了改善。特別是BPNN模型,MAE由0.037 1降至0.009 2,即誤差率由3.71%降至0.92%,減少2.79百分點,優化比達75.20%。在實際生產中,經驗豐富的技術人員估重最佳精度為(±5%),而本次試驗中GAN-BPNN算法的誤差為±0.92%,能夠滿足實際生產需求。通過分析圖13、圖16和圖19可知,在引入GAN網絡后,各模型的Loss圖呈現出收斂更快、波動更小的趨勢。這表明引入GAN網絡在牦牛體重預測任務中有助于減少訓練過程中的波動性和不穩定性,起到了提高算法穩定性和泛化能力的作用。因此,通過引入GAN網絡,能夠改善模型的訓練穩定性,進而提升體重預測算法的整體性能和可靠性。
此外,選取CEEMD-GRU模型、改進PSO-BP模型以及GA-PSO-BP模型,與本文提出的GAN-BPNN算法進行同類型稱重算法的對比分析,結果如表3所示。
由表3可以看出,GAN-BPNN模型的MAE為0.009 2,低于CEEMD-GRU模型的0.012 0和改進PSO-BP模型的0.052 9,但略高于GA-PSO-BP模型。這表明,GAN-BPNN模型在預測準確性上優于CEEMD-GRU模型和改進PSO-BP模型,僅次于GA-PSO-BP模型。進一步分析顯示,羊只相較于牦牛而言,由于其體型較小且性格溫順,在通過稱重臺時體態更加穩定,從而引入的誤差較少。GAN-BPNN模型在預測準確性方面表現良好,能夠滿足牦牛稱重的需求。
綜合以上分析,將GAN神經網絡與BPNN神經網絡結合的GAN-BPNN牦牛動態體重算法能夠實現對牦牛體重的快速、精確和自動測量,可以滿足實際生產的需求。該算法通過引入GAN網絡,提高模型的穩定性和泛化能力,從而在體重預測任務中取得優異的性能表現。這一算法的應用為牦牛自動化稱重提供技術支持,對實現牦牛精準化養殖具有重要的現實意義。
4 結論
1) 采用物聯網和人工智能相結合的方法,對牦牛進行動態體重測量。引入多種機器學習模型,包括BPNN模型、LSTM模型和GRU模型,并分別在這些模型中引入與不引入GAN的兩種情況下,分析和比較其預測性能。主要關注的指標包括:預測精度、Loss曲線收斂情況和模型穩定性。通過綜合分析這些指標,更好地了解不同模型在牦牛動態體重測量中的適用性及其優缺點。
2) 試驗結果表明,引入GAN網絡后,各模型的Loss曲線呈現出收斂更快、波動更小的趨勢。這說明在引入GAN網絡后,模型的穩定性、可靠性和泛化能力均得到了提升。在預測準確性方面,GAN-BPNN模型的平均絕對誤差為±0.92%,優于GAN-LSTM的±9.35%和GAN-GRU的±8.73%。此外,在與同類型預測模型的對比中,GAN-BPNN模型表現出明顯的優勢。
3) GAN-BPNN算法的平均絕對誤差為±0.92%。這表明該算法具有很高的預測準確性,能夠滿足實際生產需求。該算法在牦牛養殖行業具有廣泛的應用價值。通過定期監測牦牛的壓力傳感器數據,牧民可以及時了解牦牛體重的變化情況,從而合理管理飼料供給,制定科學的飼養計劃,提高養殖效益。
參 考 文 獻
[ 1 ] 鐘金城, 王會, 柴志欣, 等. 牦牛種質資源挖掘與創新利用[J]. 中國畜禽種業, 2022, 18(10): 22-29.
[ 2 ] 陳占琦. 基于卷積神經網絡的牦牛個體識別方法研究[D]. 西寧: 青海大學, 2023.
Chen Zhanqi. Research on yak individual recognition method based on convolution neural networks [D]. Xining: Qinghai University, 2023.
[ 3 ] 達措, 趙啟軍, 高定國, 等. 基于注意力網絡的長時牦牛個體識別研究[J]. 中國農機化學報, 2024, 45(1): 202-208.
Da Cuo, Zhao Qijun, Gao Dingguo, et al. Research on long?term yak individual recognition based on attention networks [J]. Journal of Chinese Agricultural Mechanization, 2024, 45(1): 202-208.
[ 4 ] 曹兵海, 李俊雅, 王之盛, 等. 2022年度肉牛牦牛產業技術發展報告[J]. 中國畜牧雜志, 2023, 59(3): 330-335.
[ 5 ] 曹兵海, 李俊雅, 王之盛, 等. 2023年肉牛牦牛產業發展趨勢與政策建議[J]. 中國畜牧雜志, 2023, 59(3): 323-329.
[ 6 ] 趙慧兵, 馬娟, 張杰, 等. 肉牛自動化無應激動態稱重系統的設計與試驗[J]. 新疆農業科學, 2022, 59(7): 1795-1801.
Zhao Huibing, Ma Juan, Zhang Jie, et al. Development of automatic barrier free dynamic weighing equipment for beef cattle [J]. Xinjiang Agricultural Sciences, 2022, 59(7): 1795-1801.
[ 7 ] 莊育鋒, 胡曉瑾, 翟宇. 基于BP神經網絡的微量藥品動態稱重系統非線性補償[J]. 儀器儀表學報, 2014, 35(8): 1914-1920.
Zhuang Yufeng, Hu Xiaojin, Zhai Yu. Nonlinear compensation of micro scale capsule dynamic condition weighing unit based on BP neural network model [J]. Chinese Journal of Scientific Instrument, 2014, 35(8): 1914-1920.
[ 8 ] 董小寧. 基于STM32的奶牛動態稱重系統研究[D]. 泰安: 山東農業大學, 2017.
Dong Xiaoning. Weigh?in?motion of the dairy cow based on STM32 microcontroller [D]. Tai'an: Shandong Agricultural University, 2017.
[ 9 ] 馬聰, 李鋒, 張建華, 等. 基于LSTM神經網絡的肉牛動態稱重算法研究[J]. 黑龍江畜牧獸醫, 2020(20): 60-63, 157-158.
[10] 趙慧兵. 肉牛無障礙智能化稱重系統的設計與試驗[D]. 烏魯木齊: 新疆農業大學, 2021.
Zhao Huibing. Design and experiment of barrier free intelligent weighing system for beef cattle [D]. Urumqi: Xinjiang Agricultural University, 2021.
[11] 胡肄農, 仇振升, 朱紅賓, 等. 一種牛動態稱重系統的研發[J]. 中國畜禽種業, 2023, 19(10): 51-54.
[12] 李建鑫, 郭晨霞, 楊瑞峰, 等. 基于分段包絡線抑制端點效應的EMD動態稱重算法[J]. 電子測量技術, 2023, 46(22): 109-115.
Li Jianxin, Guo Chenxia, Yang Ruifeng, et al. Dynamic weighing algorithm of EMD based on segmented envelope fitting endpoint effect [J]. Electronic Measurement Technology, 2023, 46 (22): 109-115.
[13] 張晉青, 張楠, 謝秀梅, 等. 成年青海公牦牛體重與體尺性狀線性回歸模型的構建[J]. 中國草食動物科學, 2019, 39(6): 68-70.
[14] Goodfellow I, Pouget?Abadie J, Mirza M, et al. Generative adversarial nets [J]. Advances in Neural Information Processing Systems, 2014, 27.
[15] 王坤峰, 茍超, 段艷杰, 等. 生成式對抗網絡GAN的研究進展與展望[J]. 自動化學報, 2017, 43(3): 321-332.
Wang Kunfeng, Gou Chao, Duan Yanjie, et al. Generative adversarial networks: The state of the art and beyond [J]. Acta Automatica Sinica, 2017, 43(3): 321-332.
[16] 梁俊杰, 韋艦晶, 蔣正鋒. 生成對抗網絡GAN綜述[J]. 計算機科學與探索, 2020, 14(1): 1-17.
Liang Junjie, Wei Jianjing, Jiang Zhengfeng. Generative adversarial networks GAN overview [J]. Journal of Frontiers of Computer Science and Technology, 2020, 14(1): 1-17.
[17] Vashitz G, Shinar D, Blum Y. In?vehicle information systems to improve traffic safety in road tunnels [J]. Transportation Research Part F: Traffic Psychology and Behaviour, 2008, 11(1): 61-74.
[18] 李友坤. BP神經網絡的研究分析及改進應用[D]. 淮南: 安徽理工大學, 2012.
Li Youkun. Analysis and improvement applications of BP neural network [D]. Huainan: Anhui University of Science and Technology, 2012.
[19] 楊青, 王晨蔚. 基于深度學習LSTM神經網絡的全球股票指數預測研究[J]. 統計研究, 2019, 36(3): 65-77.
Yang Qing, Wang Chenwei. A study on forecast of global stock indices based on deep LSTM neural network [J]. Statistical Research, 2019, 36(3): 65-77.
[20] 王鑫, 吳際, 劉超, 等. 基于LSTM循環神經網絡的故障時間序列預測[J]. 北京航空航天大學學報, 2018, 44(4): 772-784.
Wang Xin, Wu Ji, Liu Chao, et al. Exploring LSTM based recurrent neural network for failure time series prediction [J]. Journal of Beijing University of Aeronautics and Astronautics, 2018, 44(4): 772-784.
[21] Cho K, Van Merri?nboer B, Gulcehre C, et al. Learning phrase representations using RNN encoder?decoder for statistical machine translation [J]. Computer Science, 2014.
[22] 楊麗, 吳雨茜, 王俊麗, 等. 循環神經網絡研究綜述[J]. 計算機應用, 2018, 38(S2): 1-6, 26.
Yang Li, Wu Yuxi, Wang Junli, et al. Research on recurrent neural network [J]. Journal of Computer Applications, 2018, 38(S2): 1-6, 26.
[23] 谷麗瓊, 吳運杰, 逄金輝. 基于Attention機制的GRU股票預測模型[J]. 系統工程, 2020, 38(5): 134-140.
Gu Liqiong, Wu Yunjie, Pang Jinhui. An attention?based GRU model for stock predicting [J]. Systems Engineering, 2020, 38(5): 134-140.
[24] 劉洋. 基于GRU神經網絡的時間序列預測研究[D]. 成都: 成都理工大學, 2017.
Liu Yang. The research of time series prediction based on GRU neural network [D]. Chengdu: Chengdu University of Technology, 2017.
[25] 張澤, 姚育成, 鮑迪, 等. 一種基于STM32的ADC數據采集系統設計[J]. 現代電子技術, 2023, 46(10): 47-53.
Zhang Ze, Yao Yucheng, Bao Di, et al. Design of ADC data acquisition system based on STM32 [J]. Modern Electronics Technique, 2023, 46(10): 47-53.