毛燕茹,牛 童,王 鵬,宋懷波,何東健
利用Kalman濾波和Hungarian算法的多目標奶牛嘴部跟蹤及反芻監(jiān)測
毛燕茹1,2,3,牛 童1,2,王 鵬1,3,宋懷波1,2,3,何東健1,2,3※
(1. 西北農(nóng)林科技大學機械與電子工程學院,楊凌 712100;2. 農(nóng)業(yè)農(nóng)村部農(nóng)業(yè)物聯(lián)網(wǎng)重點實驗室,楊凌 712100;3. 陜西省農(nóng)業(yè)信息感知與智能服務(wù)重點實驗室,楊凌 712100)
針對奶牛養(yǎng)殖場復雜環(huán)境下多目標奶牛嘴部自動跟蹤及反芻監(jiān)測困難的情況,該研究提出了一種基于嘴部區(qū)域跟蹤的多目標奶牛反芻行為智能監(jiān)測方法。在YOLOv4模型識別奶牛嘴部上下顎區(qū)域的基礎(chǔ)上,以Kalman濾波和Hungarian算法跟蹤上顎區(qū)域,并對同一奶牛目標的上顎和下顎區(qū)域進行關(guān)聯(lián)匹配獲取嘴部咀嚼曲線,以此獲取反芻相關(guān)信息,從而實現(xiàn)多目標奶牛個體的嘴部跟蹤和反芻行為監(jiān)測;為解決奶牛快速擺頭運動和棚舍欄桿遮擋引發(fā)奶牛標號變化的問題,提出未匹配跟蹤框保持及擴大的方法。采集并選擇實際養(yǎng)殖場環(huán)境下的反芻奶牛視頻66段,對其中58段視頻采取分幀操作得到圖像,制作YOLOv4模型數(shù)據(jù)集,以其余8段視頻驗證跟蹤方法和反芻行為判定方法的有效性。試驗結(jié)果表明,YOLOv4模型對奶牛嘴部上顎、下顎區(qū)域的識別準確率分別為93.92%和92.46%;改進的跟蹤算法可實現(xiàn)復雜環(huán)境下多目標奶牛嘴部區(qū)域的穩(wěn)定跟蹤,且有效解決了欄桿遮擋、快速擺頭運動造成的奶牛標號變化現(xiàn)象,上下顎匹配率平均為99.89%,跟蹤速度平均為31.85幀/s;由反芻行為判定方法獲取的咀嚼次數(shù)正確率的平均值為96.93%,反芻時長誤差的平均值為1.48 s。該研究可為實際養(yǎng)殖中多目標奶牛反芻行為的智能監(jiān)測和分析提供參考,也可供其他群體動物運動部位的跟蹤和行為監(jiān)測借鑒。
機器視覺;圖像識別;奶牛;算法;反芻行為;嘴部區(qū)域;多目標跟蹤;YOLOv4
動物個體信息和行為感知與分析是精準養(yǎng)殖的關(guān)鍵[1]。奶牛的反芻行為與其生產(chǎn)性能、繁殖性能以及疾病等因素密切相關(guān)[2-3]。反芻情況在一定程度上反映了奶牛的生理健康狀況,良好的反芻是奶牛健康生長的必備條件。因此,開展奶牛反芻行為的智能監(jiān)測研究對奶牛健康管理、精準飼喂、疾病防治、提高產(chǎn)奶量和產(chǎn)犢存活率以及提升現(xiàn)代智能化奶牛養(yǎng)殖水平具有重要意義[4-5]。
在奶牛反芻行為監(jiān)測方面,傳統(tǒng)方法以人工肉眼觀測為主,主觀性強,人力成本高,自動化程度低,無法實現(xiàn)長期、精確監(jiān)測,不適用于規(guī)?;B(yǎng)殖場[6]。為解決人工觀測的不足,國內(nèi)外學者研究了一系列自動感知和記錄奶牛反芻行為的接觸式數(shù)字化設(shè)備[7-9]。張愛靜[10]提出了基于鼻羈壓力的奶牛反芻行為識別方法,采用壓力傳感器感知奶牛反芻時的鼻羈壓力變化,并以此為依據(jù)通過決策樹分類器構(gòu)建反芻識別模型,結(jié)果表明,該方法對奶牛反芻次數(shù)和反芻時長的識別準確率分別為95.38%和94.67%;王莉薇等[11]設(shè)計了一種融合多源信息的可穿戴式反芻行為監(jiān)測裝置,以聲音傳感器采集反芻奶牛的聲音信號,并結(jié)合三軸加速度傳感器獲取反芻奶牛的頸部姿態(tài)變化,通過融合聲音信息和姿態(tài)信息準確識別奶牛反芻行為,結(jié)果表明,該監(jiān)測裝置的準確率可以達到81.3%。該類接觸式傳感器自動化水平高,但其侵入式特點易造成奶牛的應(yīng)激反應(yīng),且硬件易脫落、壽命有限、成本高,推廣應(yīng)用受到限制[12]。
機器視覺技術(shù)因具有無接觸、魯棒性強、適用范圍廣等優(yōu)點,已逐步應(yīng)用于奶牛反芻行為監(jiān)測研究[13-15]。Chen等[16]人工手動標記奶牛嘴部區(qū)域,采用MeanShift跟蹤算法獲取嘴部下頜運動軌跡,結(jié)果表明,該方法對奶牛反芻行為監(jiān)測的準確率可以達到92.03%,但前期嘴部區(qū)域的提取由人工手動完成,自動化程度低;宋懷波等[17]在人工手動選取牛嘴區(qū)域的基礎(chǔ)上,采用壓縮跟蹤算法(Compressive Tracking,CT)和核相關(guān)濾波算法(Kernel Correlation Filter,KCF)實現(xiàn)奶牛嘴部區(qū)域的跟蹤,對比發(fā)現(xiàn),KCF算法更適用于多目標奶牛反芻行為的監(jiān)測,但嘴部區(qū)域仍需要人工提取,且對奶牛頭部運動干擾的魯棒性尚待提高;Mao等[18]采用Horn-Schunck光流法獲取視頻幀圖像的光流場,通過檢測運動幅度較大區(qū)域?qū)崿F(xiàn)反芻奶牛嘴部區(qū)域的自動提取,最高準確率可以達到87.8%,但該方法僅適用于單目標反芻奶牛且對環(huán)境依懶性較高。
國內(nèi)外學者在基于視頻分析的奶牛反芻監(jiān)測方面已取得了較好的研究成果,但監(jiān)測多目標奶牛反芻行為主要依據(jù)的嘴部區(qū)域尚無自動定位方法。奶牛嘴部區(qū)域面積小、伴有毛發(fā)干擾,且奶牛反芻時自身頭部晃動、背景奶牛運動以及復雜養(yǎng)殖環(huán)境等因素會對嘴部區(qū)域的自動、準確識別造成干擾。當多個反芻奶牛共存時,需對視頻前后幀中同一奶牛的嘴部區(qū)域進行關(guān)聯(lián)匹配,以保證奶牛個體嘴部區(qū)域的精確跟蹤。
綜上,本研究面向牛舍群體奶牛反芻行為智能監(jiān)測的精準養(yǎng)殖需求,以YOLOv4模型識別嘴部區(qū)域,結(jié)合Kalman濾波和Hungarian算法進行嘴部區(qū)域跟蹤,得到奶牛嘴部運動軌跡,并以運動軌跡作為咀嚼曲線,從咀嚼曲線獲取反芻信息,以實現(xiàn)多目標奶牛個體反芻行為的自動監(jiān)測,為奶牛精準飼喂管理、消化疾病防治、產(chǎn)奶量提高等科學管理提供技術(shù)參考。
奶牛反芻視頻采集于陜西楊凌科元克隆股份有限公司(中國)的奶牛養(yǎng)殖場,以具備反芻行為的35頭健康荷斯坦奶牛為拍攝對象。通過查閱文獻[19]和牛場實際調(diào)研可知,奶牛反芻行為主要發(fā)生在棚舍休息區(qū),奶牛棚舍由若干個約1.1 m寬的臥床組成,每個臥床為1頭奶牛提供休息場地,奶牛采食后依次進入棚舍,隨機選擇臥床進行休息、反芻。
為采集棚舍中的群體奶牛視頻,在棚舍前方1.5 m處安裝4個分辨率為400萬像素的高清網(wǎng)絡(luò)攝像機(DS-IPC-K23H-I,HIKVISION,??低?,中國),攝像機固定在相機支架上,鏡頭距地面0.9 m且鏡頭軸線與棚舍奶牛頭尾方向平行,每個攝像機視野寬度約3.5 m(3個臥床的寬度),彼此不重疊,保證同一相機視野覆蓋多頭奶牛目標,視頻采集系統(tǒng)如圖1所示。
于2020年9月16-23日共8 d采集棚舍奶牛視頻,硬盤錄像機根據(jù)相應(yīng)規(guī)范,自動存儲為960個1 GB視頻片段,視頻為 .mp4格式,幀率為24 幀/s,分辨率為2 304×1 296像素。每段視頻時長約48 min,共計時長為46 080 min。
對采集的奶牛視頻進行篩選,剔除奶牛采食和擠奶離開棚舍、奶牛未處于反芻狀態(tài)以及僅有單個反芻奶牛的無效視頻,共得到試驗視頻66段(表1)。其中,視頻1~58作為訓練數(shù)據(jù),構(gòu)建模型數(shù)據(jù)集;視頻I~VIII作為測試數(shù)據(jù),驗證本研究方法在極限條件下的有效性。由表1可知,試驗視頻涉及晴天、陰天和雨天3種天氣,奶牛數(shù)量為2只或3只,反芻姿勢為臥姿或站姿等多種場景,且存在反芻奶牛快速擺頭運動、欄桿遮擋和背景奶?;顒拥雀蓴_。其中,本研究以頭部完整出現(xiàn)在視頻中的反芻奶牛作為研究目標,其余出現(xiàn)在視頻中的奶牛均視為背景干擾。
由表1可知,8段測試數(shù)據(jù)的時長、采集時間以及視頻中反芻奶牛個數(shù)、姿勢和動作均存在較大差異,且視頻中除了反芻奶牛目標之外,還存在諸多干擾因素,進一步加大了奶牛嘴部區(qū)域的檢測、跟蹤難度。
表1 奶牛反芻視頻信息
識別奶牛反芻行為的核心是檢測嘴部區(qū)域的咀嚼運動。本研究通過跟蹤奶牛嘴部區(qū)域獲取咀嚼曲線以及反芻信息,達到自動監(jiān)測群體奶牛反芻行為的目的,總體技術(shù)路線如圖2所示,主要分為嘴部區(qū)域檢測、多目標嘴部區(qū)域跟蹤和反芻行為判定3個部分。第一部分以YOLOv4模型作為奶牛嘴部區(qū)域檢測模型,獲得嘴部上下顎2部分區(qū)域;第二部分分別采用奶牛上、下顎跟蹤算法監(jiān)測嘴部區(qū)域,并獲取各自的運動軌跡;第三部分以上顎和下顎運動曲線的相對位移之差作為牛嘴咬合狀態(tài)的判定標準,獲取反芻相關(guān)信息。
1.3.1 嘴部區(qū)域檢測
深度學習因其強大的特征提取能力在動物形體關(guān)鍵部位識別方面應(yīng)用廣泛[20-22]。目前,深度學習目標檢測算法主要分為兩類,一類是以基于區(qū)域的卷積神經(jīng)網(wǎng)絡(luò)(Region-based Convolution Neural Networks,R-CNN)[23]系列為代表的候選區(qū)域檢測算法;另一類是以單次多框檢測器(Single Shot MultiBox Detector,SSD)[24]和單次檢測器(You Only Look Once,YOLO)[25]系列為代表的回歸分析檢測算法。其中,YOLOv4[26]模型具有較高的檢測精度和訓練速度,因此,本研究采用YOLOv4模型對奶牛嘴部區(qū)域建模,以期精準定位嘴部區(qū)域,為后續(xù)的跟蹤工作奠定基礎(chǔ)。
1)YOLOv4模型結(jié)構(gòu)
YOLOv4模型在YOLOv3模型結(jié)構(gòu)的基礎(chǔ)上,對骨干網(wǎng)絡(luò)、激活函數(shù)、數(shù)據(jù)增廣、損失函數(shù)、訓練方法等部分進行優(yōu)化,使模型性能進一步提升。YOLOv4模型以CSPDarknet53作為主干網(wǎng)絡(luò),采用跨階段局部網(wǎng)絡(luò)(Cross Stage Partial Network,CSPNet)作為特征提取網(wǎng)絡(luò)的主體,在加深網(wǎng)絡(luò)獲得更深層次信息的同時避免梯度爆炸;以YOLOv3模型作為頭部進行預測,采用分類和回歸的思想,預測類別信息以及邊界框位置;引入空間金字塔模塊(Spatial Pyramid Pooling,SPP)[27]改善卷積核的感受野尺寸,并結(jié)合路徑融合網(wǎng)絡(luò)(Path Aggregation Network,PAN)[28]作為頸部,收集不同的特征圖,實現(xiàn)多尺度特征融合并改善小目標丟失的問題。
2)YOLOv4模型訓練
對視頻1~58(表1)采取分幀操作獲得圖像,并選取1 600幅圖像作為YOLOv4模型數(shù)據(jù)集。采用LabelImg軟件標記每幅圖像中的上顎和下顎2部分區(qū)域,每幅圖像中上顎和下顎目標個數(shù)相等且大于等于2。采取水平鏡像、添加噪聲、增強亮度和對比度的組合操作擴充數(shù)據(jù)集,使樣本容量擴充到8 000幅,以增強模型的泛化能力。按照8∶1∶1的數(shù)據(jù)集劃分策略,得到訓練集(6 400幅)、驗證集(800幅)和測試集(800幅),訓練集共包含13 280個嘴部區(qū)域,測試集共包含1 680個嘴部區(qū)域。
數(shù)據(jù)集圖像的分辨率均調(diào)整為608×608像素,以適應(yīng)YOLOv4模型的輸入。采用遷移學習思想,在預訓練模型基礎(chǔ)上進行訓練,訓練中采用自適應(yīng)矩陣(Adaptive moment estimation,Adam)算法對模型進行優(yōu)化。訓練時以16幅圖像為1個批次,每訓練1個批次更新1次模型權(quán)重,學習率設(shè)置為0.001。訓練集中的全部6 400幅圖像被遍歷1次稱為1次迭代,總共迭代200次。
1.3.2 多目標嘴部區(qū)域跟蹤
在YOLOv4模型對奶牛嘴部區(qū)域準確檢測的基礎(chǔ)上,利用跟蹤算法獲取視頻中奶牛個體的嘴部區(qū)域運動軌跡。奶牛嘴部上顎和下顎的特征不同,且反芻時運動方式也存在較大差異,需對上顎和下顎分別采用不同的跟蹤方法獲取運動曲線。
1)嘴部上顎區(qū)域跟蹤方法
反芻奶牛上顎區(qū)域的運動可近似為與其他物體及攝像機無關(guān)的線性運動,該運動符合Kalman濾波算法的預測應(yīng)用條件[29-30]。采用YOLOv4模型獲取上顎目標檢測框,再利用Kalman濾波算法預測上顎目標在下一幀中的位置,結(jié)合上顎檢測框和預測框的重疊度(Intersection over Union,IoU)以及Hungarian算法[31]得到跟蹤結(jié)果(圖3)。而針對實際養(yǎng)殖環(huán)境中,奶??焖贁[頭運動或欄桿遮擋引發(fā)上顎標號(Identity,ID)變化的問題,本研究提出未匹配跟蹤框保持及擴大的方法(圖3虛線部分)。
①Kalman濾波算法
Kalman濾波算法的主要思想是根據(jù)系統(tǒng)前一時刻的估計值和當前時刻的觀測值預估當前時刻的系統(tǒng)狀態(tài)。采用此方法預測奶牛嘴部上顎區(qū)域的運動,可分為預測階段和更新階段:
預測階段:當檢測出奶牛嘴部上顎目標時,需根據(jù)上一幀上顎目標的位置預測當前幀上顎目標的位置(x|k-1)并計算其協(xié)方差矩陣如式(1)和式(2)所示:
更新階段:對每個匹配成功的上顎目標,按式(3)~(5)根據(jù)匹配的檢測位置對預測位置進行更新。
②基于重疊度(IoU)的Hungarian算法
多目標奶牛嘴部上顎區(qū)域跟蹤中需將檢測框與預測框進行匹配,使同一奶牛的嘴部上顎區(qū)域在連續(xù)兩幀之間保持關(guān)聯(lián)??紤]到Hungarian算法時間復雜度低,故用該算法對預測框和檢測框進行匹配。以檢測框和預測框的重疊度作為匹配依據(jù),重疊度越大表示檢測框與預測框關(guān)聯(lián)性越高。IoU的計算如式(6)所示:
式中S為檢測框面積(單位為像素),S為預測框面積(單位為像素)。
Hungarian算法以重疊度為關(guān)聯(lián)依據(jù)建立奶牛嘴部上顎區(qū)域檢測框和預測框之間的匹配關(guān)系,尋求IoU最大的一組最優(yōu)匹配,如式(7)所示:
式中為檢測框個數(shù),為上顎檢測框與預測框匹配對數(shù),D、T分別為第對匹配中的上顎檢測框和預測框。
③未匹配跟蹤框保持及擴大方法
實際養(yǎng)殖場中,奶牛反芻常存在快速擺頭運動和欄桿遮擋的干擾,在視覺上表現(xiàn)為嘴部區(qū)域消失又重現(xiàn)。傳統(tǒng)的跟蹤方法會將消失的嘴部目標跟蹤器刪除,當嘴部目標再次出現(xiàn)時,算法誤判其為新目標,分配新的ID,造成1個嘴部區(qū)域享有多個ID。為解決這一問題,本研究提出未匹配跟蹤框保持及擴大方法(Unmatched tracking box keeping and expanding,UTBKE),具體步驟如下:
步驟1:對消失的上顎目標,即未匹配的跟蹤框,不進行刪除操作,將其記為等待框;
步驟2:為等待框設(shè)置保持幀數(shù),以該值記錄等待框已等待的幀數(shù)。在后續(xù)幀中以等待框中心點坐標擴充其面積,每幀擴大原面積的10%,同時值增加1。
步驟3:為防止等待框無限擴大和等待時間過長,設(shè)定面積閾值(max,像素)為20 000像素、最大保持幀數(shù)max為300。當?shù)却蛎娣e擴充至max時,不再擴充。當≤max且消失的上顎目標再次出現(xiàn)并與等待框匹配成功,則上顎目標維持消失前的ID,同時清除等待框,當>max且未匹配成功,則目標徹底丟失,刪除等待框。
2)嘴部下顎區(qū)域跟蹤方法
反芻奶牛下顎區(qū)域的運動軌跡近似為橢圓曲線,運動較為復雜,且下顎面積小不易觀測??紤]到上顎區(qū)域跟蹤算法生成的ID可作為奶牛個體的標識,因此,將YOLOv4模型獲取的下顎檢測框作為下顎跟蹤框,以上顎跟蹤框和下顎跟蹤框的歐氏距離作為匹配依據(jù),將同一奶牛的上下顎區(qū)域進行關(guān)聯(lián),并為下顎分配與上顎相同的ID,具體步驟如下:
步驟1:讀入視頻中的1幀圖像,采用YOLOv4模型獲取下顎檢測框。
步驟2:采用上顎區(qū)域跟蹤算法跟蹤上顎目標,若跟蹤不到上顎目標,則不作任何處理;若成功跟蹤到上顎目標,則獲取上顎跟蹤框位置和ID信息,下顎跟蹤框中心點坐標與上顎跟蹤框中心點坐標之間的歐氏距離(,像素)的計算如式(8)所示:
式中1為上顎跟蹤框中心點橫坐標,2為下顎跟蹤框中心點橫坐標,1為上顎跟蹤框中心點縱坐標,2為下顎跟蹤框中心點縱坐標。
步驟3:采用Hungarian算法以(上顎和下顎跟蹤框中心點坐標之間的歐氏距離)為關(guān)聯(lián)依據(jù)建立上顎跟蹤框與下顎跟蹤框之間的關(guān)系,尋求最小的一組匹配,如式(9)所示:
式中為上顎跟蹤框個數(shù),為上顎跟蹤框與下顎跟蹤框匹配對數(shù),U、O分別為第對匹配中上顎跟蹤框和下顎跟蹤框。
步驟4:上下顎跟蹤框匹配成功后,為下顎跟蹤框分配與其關(guān)聯(lián)的上顎跟蹤框ID,由此得到下顎跟蹤結(jié)果。
步驟5:循環(huán)步驟1~4,直至處理完視頻所有圖像。
1.3.3 反芻行為判定方法
采用本研究的奶牛嘴部區(qū)域檢測-跟蹤方法,可獲得多個奶牛目標已關(guān)聯(lián)的上下顎跟蹤框,具有相同ID的上下顎跟蹤框?qū)儆谕荒膛#酝荒膛I项€和下顎跟蹤框中心點縱坐標的差值Δ繪制咀嚼曲線,Δ的計算如式(10)所示
式中1為上顎跟蹤框中心點縱坐標,2為下顎跟蹤框中心點縱坐標。
根據(jù)咀嚼曲線可判定反芻行為。奶牛反芻行為是由嘴部上下顎兩部分區(qū)域周期性咀嚼實現(xiàn)的。1次咀嚼運動,嘴部區(qū)域經(jīng)歷“閉合-張開-閉合”的過程。嘴部區(qū)域處于閉合狀態(tài)時,Δ最小,對應(yīng)于咀嚼曲線的極小值點;嘴部區(qū)域處于張開狀態(tài)時,Δ最大,對應(yīng)于咀嚼曲線的極大值點。當奶牛連續(xù)咀嚼時,上一次咀嚼結(jié)束的閉合位置是下一次咀嚼的開始位置,因此,可將咀嚼曲線上的1個極小值點到相鄰的1個極大值點稱為1次咀嚼。綜上,基于咀嚼曲線可以獲取奶牛的咀嚼次數(shù)和反芻時長。
試驗平臺配置為 Intel(R) Core(TM)i9-9900CPU@ 3.40 GHz 處理器,32GB 運行內(nèi)存,2T 硬盤容量,顯卡為NVIDIV GeForce RTX 2080Ti,系統(tǒng)為Windows 10。模型代碼使用Python3.6和OpenCV編寫,在基于Pytorch深度學習平臺實現(xiàn)。
采用精確率-召回率(Precision-Recall,-)曲線和平均檢測精度(mean Average Precision,mAP,%)評價YOLOv4模型對奶牛嘴部上顎和下顎區(qū)域的檢測性能。-曲線下方的面積代表檢測精度(Average Precision,AP,%),mAP代表模型對上顎和下顎2個類別的AP平均值。AP和mAP的計算與精確率(Precision,,%)、召回率(Recall,,%)有關(guān),定義如式(11)~(14)所示:
式中TP為真實正樣本數(shù)量,F(xiàn)P為虛假正樣本數(shù)量,F(xiàn)N為虛假負樣本數(shù)量,為類別數(shù)量,本研究設(shè)置為2,AP(n)為第類的檢測精度。
為驗證本研究方法對多目標奶牛嘴部區(qū)域跟蹤及反芻行為監(jiān)測的有效性,用如下4個指標進行評價:
1)ID變化率(IDswitch,%):上顎目標ID變化幀數(shù)N與目標出現(xiàn)總幀數(shù)N之比如式(15)所示,該值越小表明跟蹤算法越穩(wěn)定。
2)ID匹配率(IDmatch,%):上顎目標與下顎目標匹配成功的幀數(shù)N與目標出現(xiàn)的總幀數(shù)N之比如式(16)所示,該值越大表明下顎跟蹤算法準確率越高。
3)咀嚼次數(shù)誤檢率(m,%):跟蹤算法得到的咀嚼次數(shù)j和真實咀嚼次數(shù)j差值的絕對值與真實咀嚼次數(shù)j相除如式(17)所示,該值越小表明反芻行為監(jiān)測準確率越高。
4)跟蹤速度(fps,幀/s):視頻總幀數(shù)Num與算法處理時間相除如式(18)所示,該值越大表明跟蹤算法處理速度越快。
為驗證YOLOv4模型檢測奶牛嘴部區(qū)域的準確性,分別采用Faster RCNN模型、SSD模型、YOLOv5模型在同一數(shù)據(jù)集上進行訓練。訓練完成后,在800幅測試集圖像(包含上下顎目標各1 680個)上進行試驗,檢測結(jié)果如表2所示。由表2可知,YOLOv4模型的mAP值高于YOLOv5模型1.04個百分點,高于SSD模型4.25個百分點,高于Faster RCNN模型1.74個百分點。YOLOv4模型對于奶牛嘴部上顎目標的檢測精度為93.92%,比YOLOv5、SSD、Faster RCNN模型分別高0.24、2.84、1.08個百分點;對于下顎目標的檢測精度為92.46%,比YOLOv5、SSD、Faster RCNN模型分別高1.84、5.67、2.40個百分點。試驗結(jié)果表明,相比于YOLOv5、SSD、Faster RCNN模型,YOLOv4模型更適合于奶牛嘴部區(qū)域的檢測工作。
表2 不同模型對奶牛嘴部區(qū)域的檢測結(jié)果
以視頻I為例(表1),跟蹤結(jié)果示例如圖4所示。視頻I中共2 307幀,其中視頻I的起始幀跟蹤結(jié)果如圖4a所示,視頻I的末尾幀跟蹤結(jié)果如圖4d所示,隨機選取的2幀跟蹤結(jié)果,分別為第735幀和第1 457幀(圖4b和圖4c)。視頻I包含2頭反芻奶牛,以ID作為區(qū)分2頭奶牛目標的標識。由圖4可知,通過跟蹤算法獲得的上下顎跟蹤框位置與真實奶牛嘴部上下顎位置基本一致,不存在跟蹤框偏離目標或跟蹤框過大、過小的情況,且在整個視頻幀序列中,2頭奶牛目標的跟蹤框始終跟隨嘴部運動,并一直維持初始幀的ID,即左側(cè)奶牛的ID始終為1,右側(cè)奶牛的ID始終為2,不存在ID變化和上下顎錯誤匹配的情況。
以視頻I為例(表1),由嘴部跟蹤結(jié)果繪制的咀嚼曲線如圖5所示。圖5采用逐幀繪制的方式,反映視頻I中2個奶牛目標的嘴部咀嚼狀態(tài),橫坐標為視頻幀數(shù),縱坐標為上顎和下顎跟蹤框中心點縱坐標的差值Δ。由圖5可知,咀嚼曲線上4個黑色框標記的幀數(shù)內(nèi),Δ變化極小,即上下顎幾乎無相對位移,可視為奶牛反芻期間的短暫休息階段,在計算咀嚼次數(shù)和反芻時長時忽略不計。由咀嚼曲線得到奶牛反芻信息:以咀嚼曲線的開始作為反芻起始時間,咀嚼曲線的結(jié)束作為反芻終止時間,起始時間與終止時間之間咀嚼曲線規(guī)律變化的幀數(shù)代表反芻時長。由圖5曲線可知,1號奶牛和2號奶牛的Δ均經(jīng)歷周期性變化,表明2個奶牛都處于反芻狀態(tài),從視頻第1幀開始反芻,一直持續(xù)到視頻最后1幀,1號奶牛共咀嚼了95次,反芻時長為2 039幀,2號奶牛共咀嚼了104次,反芻時長為2 071幀。
采用本研究跟蹤算法對8個視頻片段進行試驗,結(jié)果如表3所示。由表3可知,IDswitch是以視頻第1幀中跟蹤算法自動分配的ID為標準,統(tǒng)計后續(xù)幀中與其不一致的情況;咀嚼次數(shù)的計算值、反芻時長的計算值由跟蹤結(jié)果繪制咀嚼曲線分析得到;咀嚼次數(shù)的實際值、反芻時長的實際值由人工觀測得到;反芻時長誤差為計算反芻時長和實際反芻時長差值的絕對值與幀率之比。以ID變化率和ID匹配率評價跟蹤結(jié)果的準確性,以咀嚼次數(shù)誤檢率和反芻時長誤差衡量反芻行為判定方法的有效性。由表3可知,8段視頻中20個奶牛目標均未出現(xiàn)ID變化的情況,ID變化率為0,由此說明,本研究提出的未匹配跟蹤框保持及擴大的方法可有效改善奶牛ID變化的情況,保證奶牛個體嘴部區(qū)域的穩(wěn)定跟蹤;除視頻7的2號奶牛外,其余奶牛目標均未出現(xiàn)上下顎錯誤匹配的情況,ID匹配率平均為99.89%,算法平均運行速度為31.85 幀/s;由反芻曲線計算的奶牛咀嚼次數(shù)、反芻時長與實際咀嚼次數(shù)、反芻時長具有較高的一致性,反芻時長誤差平均為1.48 s,咀嚼次數(shù)誤檢率平均為3.07%,即咀嚼次數(shù)正確率的平均值為96.93%。綜上結(jié)果表明本研究方法對多目標奶牛嘴部區(qū)域具有較高的跟蹤精度,能自動監(jiān)測群體奶牛的反芻行為。
表3 奶牛嘴部跟蹤和反芻監(jiān)測試驗結(jié)果
為驗證陰天、雨天天氣對奶牛嘴部區(qū)域跟蹤結(jié)果的影響,以陰天環(huán)境的視頻III和雨天環(huán)境的視頻VI為例(表1),試驗結(jié)果分別如圖6和圖7所示。由圖6和圖7可知,跟蹤框一直跟隨真實嘴部上顎和下顎區(qū)域運動,無目標丟失和ID變化的現(xiàn)象,表明跟蹤算法對不同的天氣情況具有較好的魯棒性。
本研究針對反芻奶??焖贁[頭運動引起ID變化的問題,提出了未匹配跟蹤框保持及擴大的方法,以視頻II的擺頭反芻奶牛為例驗證該方法的有效性。在第452幀(圖8b),1號反芻奶牛發(fā)生擺頭動作,頭部由視野右側(cè)向后運動,嘴部目標短暫性消失,以第451幀(圖8a)的上顎跟蹤框作為等待框,后續(xù)每幀擴充等待框面積,經(jīng)過2 s左右,在第507幀擺頭運動結(jié)束,消失的嘴部目標重新出現(xiàn),并與等待框匹配成功,如圖8c所示;在匹配成功后的第508幀,清除等待框,上顎和下顎跟蹤框均維持之前的ID,即1號,如圖8d所示。試驗結(jié)果表明,本研究方法可以消除奶牛頭部快速擺動對嘴部區(qū)域跟蹤的干擾,從而保證奶牛個體嘴部區(qū)域的長期、穩(wěn)定跟蹤。
奶牛以臥姿反芻時,休息區(qū)欄桿會對嘴部區(qū)域產(chǎn)生一定程度遮擋,如視頻IV的2號奶牛。第1 042幀2號奶牛出現(xiàn)下顎遮擋現(xiàn)象(圖9a),跟蹤算法依然可以成功跟蹤下顎目標并與上顎匹配;第1 048幀下顎近乎完全遮擋,下顎跟蹤框消失,上顎跟蹤框依然存在(圖9b);第1 059幀下顎完全遮擋,且上顎部分遮擋,上下顎跟蹤框均消失,出現(xiàn)上顎等待框(圖9c);第1 260幀上顎重現(xiàn),與等待框匹配成功,維持跟蹤框消失前的ID,即2號,但下顎仍處于完全遮擋狀態(tài),沒有跟蹤框(圖9d);第1 478幀下顎目標重現(xiàn),與上顎匹配成功并分配相同的ID(圖9e);第2 596幀上下顎均無遮擋,仍維持初始ID(圖9f)。上述結(jié)果表明,本文提出的未匹配跟蹤框保持及擴大的方法可以有效消除欄桿遮擋引起的ID變化現(xiàn)象,保證了嘴部區(qū)域運動軌跡的連續(xù)性。
1)本研究提出一種基于嘴部區(qū)域檢測-跟蹤的多目標奶牛反芻行為智能監(jiān)測方法,采用YOLOv4模型識別奶牛嘴部上下顎區(qū)域,對比分析了Faster RCNN、SSD、YOLOv5模型對奶牛嘴部區(qū)域的檢測性能。結(jié)果表明,YOLOv4模型具有較高的檢測精度,上顎、下顎區(qū)域的識別準確率分別為93.92%和92.46%。
2)以Kalman濾波和基于重疊度(Intersection over Union,IoU)的Hungarian算法跟蹤奶牛上顎區(qū)域,并采用基于歐式距離的Hungarian算法對同一奶牛的上下顎區(qū)域進行關(guān)聯(lián)匹配,實現(xiàn)了多目標奶牛個體嘴部區(qū)域的穩(wěn)定跟蹤,算法的跟蹤速度平均為31.85 幀/s,上下顎匹配率平均為99.89%。
3)根據(jù)反芻行為判定方法得到咀嚼次數(shù)和反芻時長,結(jié)果表明,咀嚼次數(shù)正確率的平均值為96.93%,反芻時長誤差的平均值為1.48 s。
本研究方法在惡劣天氣、奶??焖贁[頭運動、欄桿遮擋和背景干擾的情況下,仍可成功跟蹤嘴部區(qū)域并監(jiān)測反芻行為,可為復雜多變養(yǎng)殖環(huán)境下奶牛反芻行為的自動監(jiān)測提供技術(shù)參考。
[1] 何東健,劉冬,趙凱旋. 精準畜牧業(yè)中動物信息智能感知與行為檢測研究進展[J]. 農(nóng)業(yè)機械學報,2016,47(5):231-244.
He Dongjian, Liu Dong, Zhao Kaixuan. Review of perceiving animal information and behavior in precision livestock farming[J]. Transactions of the Chinese Society for Agricultural Machinery, 2016, 47(5): 231-244. (in Chinese with English abstract)
[2] 王繼儒,林清. 牛的行為特征及其在牧場精細管理中的應(yīng)用[J]. 中國牛業(yè)科學,2020,46(4):80-83.
Wang Jiru, Lin Qing. The behavior characteristics of cattle and its application in cattle farm[J]. China Cattle Science, 2020, 46(4): 80-83. (in Chinese with English abstract)
[3] 鄭國生,施正香,滕光輝. 基于不同行為時間的奶牛健康狀況評價[J]. 農(nóng)業(yè)工程學報,2019,35(19):238-244.
Zheng Guosheng, Shi Zhengxiang, Teng Guanghui. Health assessment of cows based on different behavior time[J]. Transactions of the Chinese Society of Agricultural Engineering (Transactions of the CSAE), 2019, 35(19): 238-244. (in Chinese with English abstract)
[4] Kovács L, Kézér F L, Ruff L, et al. Rumination time and reticuloruminal temperature as possible predictors of dystocia in dairy cows[J]. Journal of Dairy Science, 2016, 100(2): 1568-1579.
[5] Paudyal S, Maunsell F, Richeson J, et al. Peripartal rumination dynamics and health status in cows calving in hot and cool seasons[J]. Journal of Dairy Science, 2016, 99(11): 9057-9068.
[6] Rombach M, Münger A, Niederhauser J, et al. Evaluation and validation of an automatic jaw movement recorder (RumiWatch) for ingestive and rumination behaviors of dairy cows during grazing and supplementation[J]. Journal of Dairy Science, 2018, 101(3): 2463-2475.
[7] Braun U, Tr?sch L, Nydegger F, et al. Evaluation of eating and rumination behaviour in cows using a noseband pressure sensor[J]. BMC Veterinary Research, 2013, 9(1): 164-170.
[8] Pereira G M, Heins B J, Endres M I. Technical note: Validation of an ear-tag accelerometer sensor to determine rumination, eating, and activity behaviors of grazing dairy cattle[J]. Journal of Dairy Science, 2018, 101(3): 2492-2495.
[9] Zehner N, Umstaetter C, Niederhauser J J, et al. System specification and validation of a noseband pressure sensor for measurement of ruminating and eating behavior in stable-fed cows[J]. Computers and Electronics in Agriculture, 2017, 136: 31-41.
[10] 張愛靜. 基于鼻羈壓力的奶牛反芻識別方法研究[D]. 哈爾濱:東北農(nóng)業(yè)大學,2019.
Zhang Aijing. Rumination Recognition Method of Dairy Cows Based on the Noseband Pressure[D]. Harbin: Northeast Agricultural University, 2019. (in Chinese with English abstract)
[11] 王莉薇,謝秋菊,劉洪貴,等. 基于多源信息感知的奶牛反芻行為可穿戴式監(jiān)測裝置的研究[J]. 黑龍江畜牧獸醫(yī),2019(7):47-51,164-165.
Wang Liwei, Xie Qiuju, Liu Honggui, et al. A wearable monitoring device for ruminating behavior of dairy cattle based on multi-source information sensing[J]. Heilongjiang Animal Science and Veterinary Medicine, 2019(7): 47-51, 164-165. (in Chinese with English abstract)
[12] Shen W, Zhang A, Zhang Y, et al. Rumination recognition method of dairy cows based on the change of noseband pressure[J]. Information Processing in Agriculture, 2020, 7(4): 479-490.
[13] 陳春玲,楊天嬌,郭雷,等. 支持向量機在舍飼肉牛反芻行為分析中的應(yīng)用[J]. 沈陽農(nóng)業(yè)大學學報,2017,48(6):751-756.
Chen Chunling, Yang Tianjiao, Guo Lei, et al. Application of SVM in cattle ruminant behavior analysis[J]. Journal of Shenyang Agricultural University, 2017, 48(6): 751-756. (in Chinese with English abstract)
[14] Chelotti J O, Vanrell S R, Galli J R, et al. A pattern recognition approach for detecting and classifying jaw movements in grazing cattle[J]. Computers and Electronics in Agriculture, 2018, 145: 83-91.
[15] 任曉惠,劉剛,張淼,等. 基于支持向量機分類模型的奶牛行為識別方法[J]. 農(nóng)業(yè)機械學報,2019,50(增刊1):290-296.
Ren Xiaohui, Liu Gang, Zhang Miao, et al. Dairy cattle's behavior recognition method based on support vector machine classification model[J]. Transactions of the Chinese Society for Agricultural Machinery, 2019, 50(Supp.1): 290-296. (in Chinese with English abstract)
[16] Chen Y, He D, Fu Y, et al. Intelligent monitoring method of cow ruminant behavior based on video analysis technology[J]. International Journal of Agricultural and Biological Engineering, 2017, 10(5): 194-202.
[17] 宋懷波,牛滿堂,姬存慧,等. 基于視頻分析的多目標奶牛反芻行為監(jiān)測[J]. 農(nóng)業(yè)工程學報,2018,34(18):211-218.
Song Huaibo, Niu Mantang, Ji Cunhui, et al. Monitoring of multi-target cow ruminant behavior based on video analysis technology[J]. Transactions of the Chinese Society of Agricultural Engineering (Transactions of the CSAE), 2018, 34(18): 211-218. (in Chinese with English abstract)
[18] Mao Y, He D, Song H. Mouth region detection of ruminant cows based on machine vision and video analysis technology[J]. International Journal of Agricultural and Biological Engineering, 2019, 12(1): 186-191.
[19] 邵大富. 奶牛反芻行為變化規(guī)律及其影響因素的相關(guān)性研究[D]. 長春:吉林大學,2015.
Shao Dafu. Researches on Variation of the Rumination and its Influencing Factors in Lactating Cows[D]. Changchun: Jilin University, 2015. (in Chinese with English abstract)
[20] 宋顥,楊裔,郭鑫波,等. 深層神經(jīng)網(wǎng)絡(luò)在家畜反芻行為識別上的應(yīng)用[J]. 科學技術(shù)與工程,2017,17(2):239-242.
Song Hao, Yang Yi, Guo Xinbo, et al. Application of deep neural network on the livestock ruminating behaviour recognition[J]. Science Technology and Engineering, 2017, 17(2): 239-242. (in Chinese with English abstract)
[21] 燕紅文,劉振宇,崔清亮,等. 基于改進Tiny-YOLO模型的群養(yǎng)生豬臉部姿態(tài)檢測[J]. 農(nóng)業(yè)工程學報,2019,35(18):169-179.
Yan Hongwen, Liu Zhenyu, Cui Qingliang, et al. Detection of facial gestures of group pigs based on improved Tiny-YOLO[J]. Transactions of the Chinese Society of Agricultural Engineering (Transactions of the CSAE), 2019, 35(18): 169-179. (in Chinese with English abstract)
[22] 趙凱旋,何東健. 基于卷積神經(jīng)網(wǎng)絡(luò)的奶牛個體身份識別方法[J]. 農(nóng)業(yè)工程學報,2015,31(5):181-187.
Zhao Kaixuan, He Dongjian. Recognition of individual dairy cattle based on convolutional neural networks[J]. Transactions of the Chinese Society of Agricultural Engineering (Transactions of the CSAE), 2015, 31(5): 181-187. (in Chinese with English abstract)
[23] Ren S, He K, Girshick R, et al. Faster R-CNN: Towards real-time object detection with region proposal networks[J]. IEEE Transactions on Pattern Analysis & Machine Intelligence, 2017, 39(6): 1137-1149.
[24] Liu W, Anguelov D, Erhan D, et al. SSD: Single shot multibox detector[C]//European Conference on Computer Vision. Cham: Springer, 2016.
[25] Redmon J, Farhadi A. YOLO9000: Better, faster, stronger[C]//IEEE Conference on Computer Vision and Pattern Recognition. Honolulu: IEEE, 2017.
[26] Bochkovskiy A, Wang C Y, Liao H Y M. YOLOv4: Optimal speed and accuracy of object detection[DB/OL]. [2020-04-23]. http://www.arXiv.org/abs/2004.10934.
[27] He K, Zhang X, Ren S, et al. Spatial pyramid pooling in deep convolutional networks for visual recognition[J]. IEEE Transactions on Pattern Analysis and Machine Intelligence, 2015, 37(9): 1904-1916.
[28] Liu S, Qi L, Qin H, et al. Path aggregation network for instance segmentation[C]//IEEE Conference on Computer Vision and Pattern Recognition. Salt Lake City: IEEE, 2018.
[29] Kalman R E. A new approach to linear filtering and prediction problems[J]. Journal of Basic Engineering, 1960, 82(3): 35-45.
[30] 劉軍,后士浩,張凱,等. 基于增強Tiny YOLOV3算法的車輛實時檢測與跟蹤[J]. 農(nóng)業(yè)工程學報,2019,35(8):118-125.
Liu Jun, Hou Shihao, Zhang Kai, et al. Real-time vehicle detection and tracking based on enhanced Tiny YOLOV3 algorithm[J]. Transactions of the Chinese Society of Agricultural Engineering (Transactions of the CSAE), 2019, 35(8): 118-125. (in Chinese with English abstract)
[31] Kuhn H W. The Hungarian method for the assignment problem[J]. Naval Research Logistics, 2010, 52(1): 7-21.
Multi-target cow mouth tracking and rumination monitoring using Kalman filter and Hungarian algorithm
Mao Yanru1,2,3, Niu Tong1,2, Wang Peng1,3, Song Huaibo1,2,3, He Dongjian1,2,3※
(1.712100,; 2.712100,; 3.,712100,)
Rumination enables cows to chew grass more completely for better digestion, thereby closely relating to the health, production, reproduction, and welfare of cows. To perceive ruminant behavior has widely been one of the most important steps in modern dairy farm management. However, the traditional monitoring ruminant behavior of cows depends mainly on human labor, time-consuming and laborious. In this study, feasible intelligent monitoring was proposed for multi-target automatic tracking mouth and ruminant behavior of cows in the complex environment of dairy farms using the Kalman filter and Hungarian algorithm. The upper and lower jaw regions of cow mouths were firstly recognized by the YOLOv4 model. Subsequently, the region of the upper jaw was tracked by the Kalman filter and Hungarian algorithm. The chewing curve of the mouth region was then obtained to match the upper and lower jaw regions of the same cow. Finally, the related rumination information was achieved to further realize the mouth tracking and ruminant behavior monitoring of multi-target cows. As such, the unmatched tracking boxes were remained and expanded to deal with the identity change of cows caused by rapid head swing or shed railing occlusion. 66 videos were collected for ruminant cows in the actual farm environment, where 58 videos were divided into frames to make the dataset for the YOLOv4 model, and the remaining 8 videos were used to verify the tracking and rumination behavior. Videos data was involved sunny, cloudy, and rainy days, in which the number of cows varied from 2 to 3. Lying or standing was included in the ruminant posture of cows. Additionally, there were some interference factors, such as the rapid head swing of ruminating cows, shed railing occlusion, and the movement of other cows. Two indexes were selected to evaluate the detection performance of the YOLOv4 model, including average precision and mean average precision. 6 400 images of the dataset were trained, and 800 images were tested. The results showed that the average precisions of the YOLOv4 model were 93.92% and 92.46% for the detection of the upper and lower jaw region, respectively. The mean average precision of YOLOv4 reached 93.19%, which was 1.04, 4.25, and 1.74 percentage points higher than that of YOLOv5, SSD, and Faster RCNN models, respectively. Four indexes were selected to verify the performance of tracking and rumination behavior under different environments, including the rate of identity switch, the rate of identity match, the detection rate of chewing times, and the tracking speed. It was found that the YOLOv4 model realized the stable multi-target tracking of mouth regions of cows in complex environments, while effectively alleviating the identity change of cows resulted from the rapid head swing and shed railing occlusion. The average rate of identity match was 99.89% for the upper and lower jaws, and the average tracking speed was 31.85 frames/s. The average detection rate of chewing times was 96.93% after the evaluation of rumination behavior, and the average error of rumination time was 1.48 s. This finding can provide a strong reference for the intelligent monitoring and ruminant behavior of multi-target cows (or moving parts of animals) in actual breeding.
machine vision; image recognition; cows; algorithms; ruminant behavior; mouth region; multi-target tracking; YOLOv4
毛燕茹,牛童,王鵬,等. 利用Kalman濾波和Hungarian算法的多目標奶牛嘴部跟蹤及反芻監(jiān)測[J]. 農(nóng)業(yè)工程學報,2021,37(19):192-201.doi:10.11975/j.issn.1002-6819.2021.19.022 http://www.tcsae.org
Mao Yanru, Niu Tong, Wang Peng, et al. Multi-target cow mouth tracking and rumination monitoring using Kalman filter and Hungarian algorithm[J]. Transactions of the Chinese Society of Agricultural Engineering (Transactions of the CSAE), 2021, 37(19): 192-201. (in Chinese with English abstract) doi:10.11975/j.issn.1002-6819.2021.19.022 http://www.tcsae.org
2021-04-12
2021-06-18
陜西省重點產(chǎn)業(yè)創(chuàng)新鏈(群)-農(nóng)業(yè)領(lǐng)域項目資助(No.2019ZDLNY02-05);國家重點研發(fā)計劃資助項目(2017YFD0701603);中央高?;究蒲袠I(yè)務(wù)費專項資金資助(No.2452019027)
毛燕茹,研究方向為機器視覺與農(nóng)業(yè)智能化檢測。Email:maoyanru521@163.com
何東健,教授,研究方向為智能檢測與農(nóng)業(yè)信息技術(shù)。Email:hdj168@nwsuaf.edu.cn
10.11975/j.issn.1002-6819.2021.19.022
TP391.4
A
1002-6819(2021)-19-0192-10