張博羅維平
(1.武漢紡織大學機械工程與自動化學院,湖北 武漢 430200;2.武漢紡織大學數字化紡織裝備重點實驗室,湖北 武漢 430200)
在奶牛飼養中,飼料至關重要,是奶牛獲得營養的主要來源,直接影響著奶牛的健康和生產性能。監測與預測飼料消耗狀態對于保障奶牛的健康和提高生產管理效率具有重要意義。
目前,飼料的監測主要依賴人工目測,存在著工作量大、人力成本高和效率低的問題。同時,由于人工觀測的局限性,巡視頻率和準確率難以保障。此外,人工難以科學預測未來一段時間的飼料消耗狀態,難以保障飼料供給的及時性。隨著畜牧業規模的不斷擴大,規模化、集約化養殖日益成為趨勢[1],給傳統的依靠人工目測的巡視方式帶來了更大的挑戰。U-Net圖像語義分割網絡具有編碼器-解碼器結構、跳躍連接、適用于小樣本學習等特點和優勢,使其成為圖像分割任務中廣泛應用的有效模型架構之一,已廣泛應用于農業領域。如,張欣等[2]基于U-Net的改進模型對淡水養殖區進行提取。此外,長短期記憶網絡(Long Short-term Memory,LSTM)能夠捕獲序列數據中的長期依賴性[3-8],并被廣泛用于處理時間序列數據的分類和回歸問題。因此,本研究利用U-Net圖像語義分割網絡來實現對飼料消耗狀態的自動監測,并通過LSTM時間序列預測網絡來預測未來一段時間的飼料消耗狀態。
本研究研發了一套基于監控視頻的飼料消耗狀態監測與預測系統,以提高生產管理效率。
系統的整體框架如圖1所示。該系統分為數據資源層、業務邏輯層和視圖層。飼料監控視頻獲取的視頻數據通過交換機傳輸到工控機,工控機對接入的視頻數據進行實時處理,并根據業務的需求輸出相應的結果。
圖1 系統整體框架
數據資源層作為系統的核心組成部分,在滿足用戶管理、實時飼料消耗狀態監測和歷史視頻管理等3大需求方面發揮著關鍵作用。為了有效地管理和處理數據,設計了用戶信息表、歷史飼料消耗狀態數據表和飼料視頻數據表。用戶信息表用于存儲系統中的用戶信息,包括用戶姓名、聯系方式、權限等內容,以便系統能夠進行用戶身份驗證和管理。歷史飼料消耗狀態數據表用于記錄飼料的消耗狀態歷史數據,包括時間戳、站點位置、消耗狀態值等信息,以便系統能夠實時預測飼料消耗情況并生成相應的報表和統計信息。飼料視頻數據表則用于存儲歷史視頻數據,包括攝像頭錄制的飼料視頻,以便用戶可以隨時回放和查看歷史視頻。為了保證數據的安全性和可靠性,選擇了MySQL數據庫作為數據存儲方式,因其具有穩定性高、性能優越等優點,能夠滿足系統對數據存儲和管理的需求。通過這些設計和選擇,數據資源層能夠有效支持系統的各項功能和業務需求,為用戶提供穩定可靠的服務。
業務邏輯層是系統或應用程序中的一個核心組件,其主要功能在于從數據資源層獲取數據并進行處理,將處理結果傳輸到視圖層和數據資源層。在業務邏輯層中,涵蓋了多個業務單元,包括并行檢測、輪巡、飼料消耗狀態監測以及飼料消耗狀態預測等。具體而言,業務邏輯層負責執行并行檢測任務,以同時處理多個數據源或數據流,提高系統的處理效率。同時,業務邏輯層還包括輪巡功能,用于周期性地輪巡展示監測與預測結果。另外,飼料消耗狀態監測業務單元允許系統實時監測飼料的消耗狀態,提供及時的數據反饋。而飼料消耗狀態預測業務單元則利用歷史數據和算法模型對未來一段時間的飼料消耗狀態進行預測,幫助用戶作出合理的管理決策。通過這些業務單元的組合,業務邏輯層實現了系統的功能和業務邏輯,為用戶提供了更加完善和高效的服務。
視圖層的功能在于提供交互式操作界面,以展示數據結果并接收用戶的輸入。具體來說,視圖層包括飼料消耗狀態監測畫面、飼料消耗狀態預測畫面和用戶信息管理界面等模塊。在飼料消耗狀態監測畫面中,用戶可以實時查看飼料的消耗狀態,了解飼料的使用情況。而在飼料消耗狀態預測畫面中,系統則提供了對未來飼料消耗狀態的預測,幫助用戶作出合理的飼料管理決策。另外,用戶信息管理界面則允許用戶管理系統中的用戶信息,包括添加、編輯和刪除用戶等功能。通過這些交互界面,用戶可以方便地獲取信息、進行預測和管理系統中的用戶信息,實現了系統與用戶之間的有效交互。
根據實際業務需求,系統主要分為視頻傳輸模塊、飼料消耗狀態監測模塊、飼料消耗狀態預測模塊和飼料消耗狀態可視化模塊,各模塊之間的協作過程如圖2所示。
圖2 系統各模塊協作過程
視頻傳輸模塊主要實現2個功能:將各監控站點的視頻數據接入系統,自動截斷并保存監控視頻;提供監控站點輪巡的解決方案。
將飼料監控視頻接入系統并展示結果需要經過多個處理步驟,其中視頻流接入是至關重要的環節。視頻接入:使用海康威視攝像頭并采用RTSP(Real Time Streaming Protocol)協議,通過獲取攝像頭的URL(Uniform Resource Locator)地址即可接入對應的視頻數據。為了處理多個站點的視頻流數據,采用了多線程技術,為每個站點創建獨立的線程。視頻保存:系統根據攝像頭的幀率和圖像幀的計數,實現對指定視頻時長的截取,從而達到自動截斷保存的目的。具體來說,系統會根據預先設置的參數和需求,監控攝像頭拍攝的視頻流,并在達到指定的時長后自動截斷并保存視頻。保存后的視頻數據可以用于后續的分析與研究,如對飼料消耗狀態的趨勢分析等。同時,也可以作為歷史數據進行備份和存檔,以便于未來的參考和回顧。通過視頻保存功能,系統能夠有效地記錄和管理視頻數據,為用戶提供了豐富的信息和便捷的操作體驗。
此外,自動輪巡時,每隔5s切換對應攝像頭的基于RTSP的URL地址,獲取相應的視頻源,進而展示相應站點的監測預測結果。具體來說,系統會維護一個攝像頭列表,其中包含每個攝像頭對應的URL地址。在自動輪巡時,系統會按照預先設置的時間間隔,自動切換到下一個攝像頭的URL地址,并通過URL地址獲取相應的視頻源。獲取到視頻源后,展示相應站點的監測預測結果。通過自動輪巡功能,系統能夠高效地管理和展示多個站點的監測結果,為用戶提供全面的監測信息。
飼料消耗狀態變化預測的基礎是精確的實時飼料消耗狀態監測,飼料消耗狀態監測模塊的主要作用是使用U-Net圖像語義分割網絡對飼料視頻幀進行語義分割,分割出飼料消耗區域與飼料殘余區域,通過計算飼料消耗區域的占比,達到監測飼料消耗狀態的目的。具體來說,飼料的消耗狀態=(飼料消耗區域的像素點總數/(飼料消耗區域的像素點總數+飼料殘余區域的像素點總數))×100%。U-Net語義分割效果圖如圖3所示。
注:圖3b中紅色區域為飼料殘余區域,綠色區域為飼料消耗區域。
為了科學指導調度決策的制定,并提高生產管理效率,利用LSTM時間序列預測網絡對監控站點未來一段時間的飼料消耗狀態進行預測。具體而言,利用歷史飼料消耗狀態數據訓練LSTM模型;使用訓練好的LSTM模型對未來一段時間的飼料消耗狀態進行預測,以獲得對飼料消耗值的預估值。預測結果將作為參考,用于指導生產調度和決策,幫助優化生產計劃、合理安排資源和減少生產成本。通過這種科學的預測方法,能夠更加準確地了解未來的飼料消耗趨勢,從而提高生產管理的效率,實現更加智能和可持續的生產管理。
飼料消耗狀態可視化分為監測可視化與預測可視化2個方面。監測可視化通過在監控畫面上將飼料殘余區域與飼料消耗區域分別賦上不同的顏色來展示當前飼料的消耗情況。具體而言,使用不同的顏色來區分飼料殘余區域和飼料消耗區域,以直觀展示當前飼料的消耗狀態。此外,監測可視化還將飼料消耗狀態值、飼料消耗等級和監控站點位置等信息顯示在監控畫面上,以便用戶快速了解監控站點的實時情況。預測可視化則采用一種直觀的方式展示未來一段時間的飼料消耗狀態值、飼料消耗等級和站點位置,以幫助用戶掌握未來一段時間的飼料消耗情況。通過這種可視化方式,用戶可以清晰地了解監控站點的飼料消耗情況,從而更好地進行生產管理和調度決策。
系統運行在Ubuntu操作系統平臺上,部署在一臺配置為Intel Core i7-12700F 2.10 GHz處理器、16.0 GB RAM內存和NVIDIA GeForce RTX 3050顯卡的計算機上。同時,系統采用MySQL數據庫作為數據存儲和管理系統,利用其強大的數據管理功能和高性能的數據處理能力,確保數據的安全性和可靠性。在用戶界面開發方面,系統采用PyQt框架進行圖形用戶界面的開發。PyQt是一個功能強大的Python GUI工具包,提供了豐富的界面設計組件和易用的編程接口,使得開發人員能夠快速構建出美觀、交互性強的用戶界面。
飼料的消耗狀態值分為5個等級,80%~100%為5級,60%~80%為4級,40%~60%為3級,20%~40%為2級,0%~20%為1級,并根據等級發出警報,其中,5級表示飼料消耗情況最嚴重。通過飼料消耗狀態監測模塊獲得的飼料消耗狀態值、監測時間和站點名稱需要存儲至MySQL數據庫,以便后續研究與分析。同時,這些數據也將被傳輸至可視化模塊,實時展示監測結果。此外,還需將數據傳輸至后續的預測模塊,以支持預測任務。
由實測可知,系統的監測幀率可達FPS(Frames Per Second),可滿足實時檢測的要求。
為了更直觀地展示飼料消耗情況,將監測的結果進行可視化。將飼料殘余區域與飼料消耗區域分別賦上不同的顏色,并將站點的名稱、飼料消耗值、飼料消耗等級顯示在界面的左下方,如圖4所示。
圖4 飼料消耗狀態實時監測畫面
飼料消耗狀態預測的界面如圖5所示。飼料消耗狀態預測界面直觀展示了未來一段時間的飼料消耗狀態預測值,還展示了未來一段時間的飼料消耗等級及站點位置,當飼料消耗狀態預測值達到預警水平時,系統會觸發相應的警報,有良好的實用性。
圖5 飼料消耗狀態預測界面
針對當前落后的飼料消耗狀態監測手段,結合人工智能技術,研發了一套基于監控視頻的飼料消耗狀態監測與預測系統。該系統通過監控攝像頭獲取視頻數據;使用圖像語義分割網絡U-Net監測飼料消耗狀態;使用時間序列預測網絡LSTM對飼料消耗狀態進行預測。此外,系統支持多站點并行監測、輪巡、自動截斷保存視頻等功能。在內蒙古某牧場的試驗結果表明,該系統運行穩定,對于保障奶牛的健康和提高生產管理效率具有重要意義。