摘要: 【目的】減少豬場(chǎng)人工測(cè)量豬只體尺的工作量,提高測(cè)量精度和工作效率?!痉椒ā勘狙芯刻岢龌陉P(guān)鍵點(diǎn)檢測(cè)和多目標(biāo)跟蹤的豬只體尺自動(dòng)估計(jì)方法,該方法使用Yolov8-Pose 模型識(shí)別各豬只關(guān)鍵點(diǎn)和目標(biāo)檢測(cè)框,利用ByteTrack 算法對(duì)豬群實(shí)時(shí)跟蹤,引入感興趣區(qū)域規(guī)避圖像畸變,提高識(shí)別速度,同時(shí)設(shè)計(jì)姿態(tài)和異常檢測(cè)過(guò)濾算法減少因運(yùn)動(dòng)模糊、姿態(tài)不正等因素造成的誤差?!窘Y(jié)果】 5 個(gè)豬欄中24 頭豬只體長(zhǎng)、肩寬、臀寬的平均絕對(duì)誤差均小于3 cm,平均絕對(duì)百分比誤差分別維持在4%、6% 和7% 以內(nèi)。數(shù)據(jù)處理速度提升為19.3 幀/s。【結(jié)論】本研究提出的基于關(guān)鍵點(diǎn)檢測(cè)和多目標(biāo)跟蹤的豬只體尺估計(jì)方法為豬場(chǎng)生產(chǎn)場(chǎng)景提供了一個(gè)輕量化、易部署的自動(dòng)體尺測(cè)量解決方案。
關(guān)鍵詞: Yolov8-Pose;感興趣區(qū)域;體尺估計(jì);關(guān)鍵點(diǎn);目標(biāo)檢測(cè)框;豬
中圖分類號(hào): S828;TP391;TP183 文獻(xiàn)標(biāo)志碼: A 文章編號(hào): 1001-411X(2024)05-0722-08
在現(xiàn)代畜牧業(yè)中,精確測(cè)量動(dòng)物體尺對(duì)評(píng)估其生長(zhǎng)和健康狀況至關(guān)重要。傳統(tǒng)測(cè)量方法主要靠人工,不僅耗時(shí),還因測(cè)量者技能和經(jīng)驗(yàn)不同而導(dǎo)致誤差。計(jì)算機(jī)技術(shù)的進(jìn)步使得數(shù)字化畜牧業(yè)成為推進(jìn)行業(yè)發(fā)展的關(guān)鍵[1],其中視覺(jué)技術(shù)得到了廣泛應(yīng)用。眾多研究利用計(jì)算機(jī)視覺(jué)技術(shù)來(lái)檢測(cè)動(dòng)物行為[2-3]、計(jì)數(shù)牲畜[4-6] 以及評(píng)估肉質(zhì)[7-8],展現(xiàn)了其在畜牧業(yè)中的潛力,為動(dòng)物體尺的自動(dòng)測(cè)量提供了重要支持。
傳統(tǒng)視覺(jué)技術(shù)測(cè)量動(dòng)物體尺的主要方法包括基于三維重建和基于關(guān)鍵點(diǎn)提取的技術(shù)。三維重建技術(shù)通過(guò)從多個(gè)角度捕獲動(dòng)物的圖像,以克服動(dòng)物姿態(tài)多樣性的問(wèn)題[9-11]。然而,在實(shí)際的豬場(chǎng)環(huán)境中,這種方法面臨多種挑戰(zhàn)。例如,豬的活動(dòng)可能導(dǎo)致重建的模型扭曲;表面紋理和光照的變化可能影響重建的精度;選擇和配置硬件設(shè)備,以及滿足大量的計(jì)算資源需求,也是這種方法所面臨的挑戰(zhàn)。另一方面,基于關(guān)鍵點(diǎn)提取的技術(shù)需要圖像尺度在旋轉(zhuǎn)和光照變化時(shí)保持穩(wěn)定[12-13],其準(zhǔn)確性主要依賴于關(guān)鍵點(diǎn)提取模型的魯棒性;其次,豬的多種姿勢(shì)(如站立、行走或躺臥) 會(huì)影響圖像中提取到的關(guān)鍵點(diǎn)信息的分析;此外,圖像的畸變性也可能進(jìn)一步造成測(cè)量結(jié)果不準(zhǔn)確。無(wú)論是基于三維重建的技術(shù),還是基于關(guān)鍵點(diǎn)提取的技術(shù),都需要進(jìn)一步的研究和改進(jìn),以提高在實(shí)際環(huán)境中的應(yīng)用效果。
隨著農(nóng)業(yè)智能化迅速發(fā)展,YOLO 系列的視覺(jué)算法得到了廣泛應(yīng)用[14-16]。殷獻(xiàn)博等[17] 提出了采用多注意力機(jī)制改進(jìn)的YOLOX-Nano 模型,在柑橘梢期監(jiān)測(cè)任務(wù)中達(dá)到了88.07% 的平均精度,實(shí)現(xiàn)了自動(dòng)化監(jiān)測(cè);另外,楊秋妹等[18] 應(yīng)用YOLO 技術(shù)的高精度特點(diǎn),開(kāi)發(fā)了一種自動(dòng)化豬只盤點(diǎn)系統(tǒng),即使在復(fù)雜環(huán)境下也能準(zhǔn)確地進(jìn)行盤點(diǎn),減少了對(duì)人工操作的依賴。此外,ByteTrack 作為一種多目標(biāo)跟蹤算法[19],與YOLO 結(jié)合在農(nóng)業(yè)領(lǐng)域廣泛應(yīng)用。Zheng 等[20] 利用Yolov7 和ByteTrack 實(shí)現(xiàn)了自然場(chǎng)景下奶牛的自動(dòng)監(jiān)控,平均分析速度達(dá)到47幀/s;同時(shí),Qian 等[21] 提出了基于Yolov5 的魚(yú)檢測(cè)算法,結(jié)合ByteTrack 算法實(shí)時(shí)跟蹤,解決了遮擋問(wèn)題。在這些研究的啟發(fā)下,本研究提出了一種基于Yolov8-Pose 和ByteTrack 追蹤算法的豬只體尺估計(jì)方法,旨在實(shí)現(xiàn)實(shí)際環(huán)境中豬場(chǎng)豬只體尺的自動(dòng)測(cè)量。
1 圖像采集與數(shù)據(jù)集制作
1.1 圖像來(lái)源
本研究采用的豬只圖像數(shù)據(jù)源自雙河基地實(shí)驗(yàn)豬場(chǎng),通過(guò)場(chǎng)內(nèi)安裝的室內(nèi)監(jiān)控系統(tǒng)進(jìn)行采集。監(jiān)控系統(tǒng)采用的是??低暪旧a(chǎn)的型號(hào)為DS-2CD3146FWD-IS 的半球形攝像頭,該攝像頭以頂置方式安裝在豬欄上方,距離地面高度為2.0~2.5m,以獲得最佳的俯拍視角。在數(shù)據(jù)收集階段,隨機(jī)選取豬場(chǎng)中保育舍、后備舍以及營(yíng)養(yǎng)調(diào)控舍的場(chǎng)景進(jìn)行視頻裁剪,共裁剪238 段視頻片段,平均每個(gè)片段為30 s,每間隔6 幀進(jìn)行抽取,共抽取7 324 張?jiān)紙D片,所有圖像的分辨率均設(shè)定為2 560 像素×1 440 像素。經(jīng)人工篩選后,選出1 822 張合適的圖片進(jìn)行標(biāo)注,共包含6 452 頭豬只,用于本研究的數(shù)據(jù)分析。
1.2 數(shù)據(jù)集制作
本研究采用了一種詳細(xì)的關(guān)鍵點(diǎn)標(biāo)注策略,為圖像中的每頭豬標(biāo)注6 個(gè)主要關(guān)鍵點(diǎn)(圖1 展示了4 個(gè)場(chǎng)景豬只的關(guān)鍵點(diǎn)標(biāo)注):頭部、右肩、右臀、尾巴、左臀和左肩,通過(guò)測(cè)量這些關(guān)鍵點(diǎn)間的距離,估算出豬的臀寬、體長(zhǎng)和肩寬等重要的體尺數(shù)據(jù)。為了保證數(shù)據(jù)集的獨(dú)立性和模型的泛化性,按照約8∶1∶1 的比例劃分訓(xùn)練集(含1 622 張圖像)、驗(yàn)證集(200 張) 和測(cè)試集(200 張),以支持模型訓(xùn)練和評(píng)估的需要。
為了進(jìn)一步提高模型的檢測(cè)能力,在訓(xùn)練過(guò)程中引入了Mosaic、色域變換和左右翻轉(zhuǎn)3 種數(shù)據(jù)增強(qiáng)策略。其中,Mosaic 增強(qiáng)是指抽取訓(xùn)練樣本集中的4 張圖片進(jìn)行隨機(jī)裁剪并拼接形成一個(gè)新的訓(xùn)練樣本,圖2 展示了經(jīng)過(guò)Mosaic 增強(qiáng)后的樣本圖片。左右翻轉(zhuǎn)的概率設(shè)為0.5,色域變換HSV 分別設(shè)為0.015、0.700 和0.400。為避免過(guò)擬合,更加關(guān)注原始數(shù)據(jù),訓(xùn)練的最后10 個(gè)epochs 中不再采用任何數(shù)據(jù)增強(qiáng)策略。
2 方法與算法設(shè)計(jì)
2.1 研究方法
本研究針對(duì)豬自然靜止與運(yùn)動(dòng)狀態(tài)下姿態(tài)的多樣性,提出了一種結(jié)合關(guān)鍵點(diǎn)檢測(cè)算法和追蹤算法的體尺估計(jì)方案。通過(guò)分析視頻流中連續(xù)幀的圖像,實(shí)現(xiàn)體尺估計(jì)并完成相應(yīng)記錄。引入感興趣區(qū)域(Region of interest,ROI) 減少相機(jī)畸變的影響并提高處理速度,采用基于幀關(guān)聯(lián)性的異常檢測(cè)算法優(yōu)化預(yù)測(cè)結(jié)果,提高體尺估計(jì)的精度和穩(wěn)定性。圖3為本研究工作流程。
2.2 體尺算法設(shè)計(jì)
2.2.1 攝像機(jī)標(biāo)定
在精確測(cè)量動(dòng)物體尺的過(guò)程中,需將圖像上的像素距離轉(zhuǎn)換為實(shí)際世界中的距離。這種轉(zhuǎn)換涉及計(jì)算一個(gè)縮放因子(實(shí)際距離與圖像中測(cè)量到的像素距離的比值),使得從圖像數(shù)據(jù)中直接測(cè)量物理尺寸成為可能。為實(shí)現(xiàn)這一轉(zhuǎn)換,本研究首先通過(guò)固定攝像頭并使用標(biāo)定板從多個(gè)角度和位置拍攝圖像,來(lái)獲得攝像機(jī)的內(nèi)外參數(shù)。內(nèi)參數(shù)包括焦距、主點(diǎn)坐標(biāo)以及畸變系數(shù),這些參數(shù)反映了攝像機(jī)如何將三維世界映射到二維圖像平面。外參數(shù)則描述了攝像機(jī)相對(duì)于世界坐標(biāo)系的位置和方向,為確定物體在現(xiàn)實(shí)世界中的位置提供必要信息。通過(guò)MATLAB 標(biāo)定工具箱處理標(biāo)定圖像,可以得到這些參數(shù)。隨后,利用內(nèi)參數(shù)對(duì)圖像進(jìn)行畸變校正,并使用外參數(shù)將攝像機(jī)坐標(biāo)系下的點(diǎn)轉(zhuǎn)換到世界坐標(biāo)系下。圖4 展示了經(jīng)過(guò)相機(jī)矯正后的圖像,其中的坐標(biāo)系對(duì)應(yīng)真實(shí)世界中的坐標(biāo)系,進(jìn)而通過(guò)對(duì)比棋盤格的已知實(shí)際尺寸(每個(gè)正方形小格的邊長(zhǎng)為70 mm) 與其在矯正圖像中的像素尺寸,計(jì)算出縮放因子。
2.2.2 關(guān)鍵點(diǎn)檢測(cè)
本研究選用2023 年新推出的Yolov8-Pose 作為關(guān)鍵點(diǎn)檢測(cè)模型。該模型具有以下優(yōu)勢(shì):通過(guò)端到端的訓(xùn)練框架直接從圖像中檢測(cè)目標(biāo)框和關(guān)鍵點(diǎn),速度更快,利用得到的目標(biāo)框更易于進(jìn)行追蹤任務(wù);深度卷積網(wǎng)絡(luò)和多尺度特征提取能力使其能夠有效地識(shí)別和定位豬的關(guān)鍵點(diǎn),精度高,無(wú)需對(duì)算法網(wǎng)絡(luò)進(jìn)行調(diào)整或優(yōu)化;集成了注意力機(jī)制和上下文信息融合,增強(qiáng)了模型在復(fù)雜背景下尤其是在遮擋和變化光照條件下檢測(cè)關(guān)鍵點(diǎn)的能力;模型輕量化、易部署,適用于各種環(huán)境。
2.2.3 結(jié)合ByteTrack 追蹤算法的體尺估計(jì)
ByteTrack 算法是一種基于目標(biāo)檢測(cè)的多目標(biāo)跟蹤技術(shù),區(qū)別于依賴重識(shí)別(ReID) 的方法,它僅使用目標(biāo)檢測(cè)步驟中獲得的目標(biāo)框信息來(lái)執(zhí)行跟蹤。相對(duì)于其他追蹤算法,該算法保留了低置信度的檢測(cè)框,采用卡爾曼濾波器來(lái)預(yù)測(cè)高低分目標(biāo)框的未來(lái)狀態(tài),并運(yùn)用匈牙利算法實(shí)現(xiàn)當(dāng)前目標(biāo)與已存在軌跡之間的匹配。由于其精度和速度的優(yōu)勢(shì),本研究選擇結(jié)合ByteTrack 追蹤算法和關(guān)鍵點(diǎn)檢測(cè)方法,使用視頻流作為輸入,通過(guò)自動(dòng)識(shí)別并追蹤視頻中的每一只豬,為其分配一個(gè)唯一ID,隨后連續(xù)捕捉每只豬只的動(dòng)態(tài)變化,并測(cè)量每一時(shí)刻的關(guān)鍵點(diǎn)信息,利用像素轉(zhuǎn)化技術(shù)將關(guān)鍵點(diǎn)的像素距離轉(zhuǎn)換為實(shí)際的體長(zhǎng)、肩寬和臀寬,并將這些數(shù)據(jù)記錄到相應(yīng)的ID 中。通過(guò)對(duì)視頻流中豬只的連續(xù)觀察和分析,能夠更多地獲取其體態(tài)信息,減少單次測(cè)量可能引入的誤差,從而確保數(shù)據(jù)的穩(wěn)定性和可靠性;同時(shí),相對(duì)人工選取特定姿態(tài)照片的處理方式,減少了人工依賴和人工誤差。以下是體尺計(jì)算公式,具體參考圖5。
式中, Lbody、Lshoulder、Lhip 分別為豬只的體長(zhǎng)、肩寬、臀寬,(xi, yi) 為第i 個(gè)關(guān)鍵點(diǎn)的坐標(biāo),按順序i=1~6 分別對(duì)應(yīng)頭、右肩、右臀、尾、左臀、左肩;θ1、θ2分別為橫、縱坐標(biāo)方向的縮放因子,以實(shí)現(xiàn)像素距離到實(shí)際尺寸的轉(zhuǎn)換(縮放因子受攝像頭配置參數(shù)和安裝位置影響)。
2.3 ROI 篩選與姿態(tài)和異常檢測(cè)過(guò)濾
2.3.1 ROI 篩選
在實(shí)際生產(chǎn)中豬群傾向于聚集在攝像范圍邊緣區(qū)域,圖片畸變性導(dǎo)致同一豬只在不同位置的體尺估計(jì)存在顯著偏差,在遠(yuǎn)離中心位置時(shí)呈現(xiàn)縮小的趨勢(shì)。同時(shí),豬只的聚集和擁擠情況也會(huì)導(dǎo)致豬的姿態(tài)變形,進(jìn)一步影響體尺估計(jì)的準(zhǔn)確性。此外,豬只數(shù)量增加會(huì)顯著降低處理速度。為提高估計(jì)準(zhǔn)確度和處理速度,本研究設(shè)置ROI,僅對(duì)中央部分的豬只進(jìn)行評(píng)估,既減少了邊緣畸變和擁擠姿態(tài)變形的影響,也保證了足夠的檢測(cè)范圍以便一段時(shí)間內(nèi)能夠統(tǒng)計(jì)到全部豬只。在本試驗(yàn)設(shè)置中,選定的ROI 是圖像中心的紅色矩形框,其大小和形狀可根據(jù)具體場(chǎng)景靈活調(diào)整,如圖6 所示。
2.3.2 姿態(tài)和異常檢測(cè)過(guò)濾
在測(cè)量位于ROI 區(qū)域內(nèi)豬只體尺時(shí),分2 個(gè)階段進(jìn)行。第1 階段是豬只姿態(tài)的檢測(cè)過(guò)濾,在這一階段中需要考慮豬只是否處于站立狀態(tài)以及站立時(shí)是否存在歪曲。當(dāng)豬只處于站立狀態(tài)時(shí),肩寬與體長(zhǎng)的比值以及臀寬與體長(zhǎng)的比值均大于設(shè)定閾值(閾值的大小僅與豬舍場(chǎng)景有關(guān),與豬只的實(shí)際大小無(wú)關(guān),不同場(chǎng)景設(shè)定不同閾值),并且頭部關(guān)鍵點(diǎn)與雙肩形成的三角形以及頭部關(guān)鍵點(diǎn)與左右臀部關(guān)鍵點(diǎn)形成的三角形均為銳角三角形時(shí),表示豬只姿態(tài)端正,測(cè)得數(shù)據(jù)有效,進(jìn)入第2 階段,反之?dāng)?shù)據(jù)視為無(wú)效,丟棄。圖7 為需要被過(guò)濾掉的異常豬只姿態(tài)的示例。第2 階段是異常檢測(cè)過(guò)濾,進(jìn)一步排除由于運(yùn)動(dòng)模糊等因素可能導(dǎo)致的同一豬只在連續(xù)幀中體尺測(cè)量結(jié)果有較大差異的情況,本研究利用視頻流中連續(xù)幀的關(guān)鍵點(diǎn)位置關(guān)聯(lián)性,采用異常檢測(cè)處理測(cè)量誤差:對(duì)當(dāng)前有效數(shù)據(jù)的前10 幀內(nèi)的數(shù)據(jù)進(jìn)行分析比較,若當(dāng)前測(cè)得數(shù)據(jù)與各數(shù)據(jù)最小差距小于4 cm,則保存到豬只字典中,反之則丟棄。經(jīng)過(guò)一段時(shí)間運(yùn)行,每頭豬體尺數(shù)據(jù)為當(dāng)前該豬只字典所有數(shù)據(jù)的平均值。
3 模型訓(xùn)練與結(jié)果
3.1 模型訓(xùn)練
3.1.1 試驗(yàn)平臺(tái)與模型參數(shù)設(shè)置
在Linux 操作系統(tǒng)下,通過(guò)Python 3.8.1 和PyTorch 1.8.0 搭建的深度學(xué)習(xí)框架進(jìn)行網(wǎng)絡(luò)模型的訓(xùn)練與測(cè)試。試驗(yàn)配置包括Intel Xeon Silver 4110 CPU 和2 張NVIDIAGeForce RTX 2080 Ti GPU,利用CUDA 11.1 并行計(jì)算框架以及CuDNN 11.7 深度神經(jīng)網(wǎng)絡(luò)加速庫(kù)進(jìn)行性能優(yōu)化。Yolov8-Pose 模型訓(xùn)練采用640 像素×640 像素的輸入圖像分辨率,使用Adam 優(yōu)化器,設(shè)置訓(xùn)練批次大小為32,總共進(jìn)行300 次迭代訓(xùn)練。訓(xùn)練階段,初始學(xué)習(xí)率設(shè)置為0.001,通過(guò)余弦退火策略進(jìn)行學(xué)習(xí)率更新,針對(duì)單一目標(biāo)類別,并關(guān)注6 個(gè)關(guān)鍵點(diǎn)的檢測(cè)。
3.1.2 評(píng)價(jià)指標(biāo)
在執(zhí)行關(guān)鍵點(diǎn)檢測(cè)任務(wù)時(shí),通常通過(guò)4 個(gè)核心指標(biāo)來(lái)評(píng)估模型的性能:精確度(Precision,P)、召回率(Recall,R)、平均精確度(Average precision,AP) 和平均精確度均值(meanAverage precision,mAP)。這些指標(biāo)共同提供了一個(gè)全面的框架,量化模型在定位和識(shí)別關(guān)鍵點(diǎn)方面的效能,計(jì)算公式如下。
式中,TP 表示豬只位置被正確預(yù)測(cè)出來(lái)的數(shù)量,F(xiàn)P 表示環(huán)境被錯(cuò)誤預(yù)測(cè)為豬只位置的數(shù)量,F(xiàn)N 為豬只位置未被預(yù)測(cè)出來(lái)的數(shù)量,M 為檢測(cè)目標(biāo)的類別總數(shù),APk 為第k 類AP。模型的性能通過(guò)P-R 曲線(圖8) 進(jìn)行可視化評(píng)估,曲線圖標(biāo)明了模型在精確度和召回率方面的表現(xiàn),其下方的面積即為模型的平均精確度。圖8A 是目標(biāo)框的P-R 曲線,圖8B是關(guān)鍵點(diǎn)的P-R 曲線。最終,選出表現(xiàn)最優(yōu)的模型權(quán)重,并在測(cè)試集上進(jìn)行效果驗(yàn)證,圖9 展示了模型在驗(yàn)證集中隨機(jī)抽取的4 張圖像中的推理效果。
3.2 結(jié)果分析
3.2.1 ByteTrack 追蹤效果
在評(píng)價(jià)追蹤任務(wù)性能時(shí),主要關(guān)注3 個(gè)指標(biāo):每秒處理幀數(shù)(Frames persecond,F(xiàn)PS);IDF1 分?jǐn)?shù)(Identity F1 score,IDF1);多目標(biāo)跟蹤準(zhǔn)確率( M u l t i p l e o b j e c t t r a c k i n gaccuracy,MOTA)。FPS 衡量系統(tǒng)每秒能處理的圖像幀數(shù),直接反映系統(tǒng)的處理速度;IDF1 反映跟蹤過(guò)程中正確維持目標(biāo)身份的比例,表明在多目標(biāo)跟蹤中目標(biāo)身份連續(xù)性的保持情況;MOTA 是評(píng)估多目標(biāo)跟蹤性能的綜合指標(biāo),通過(guò)綜合考量正確追蹤到的目標(biāo)數(shù)量、漏檢目標(biāo)數(shù)量、誤檢目標(biāo)數(shù)量及目標(biāo)定位誤差等多個(gè)方面,提供對(duì)追蹤系統(tǒng)整體性能的全面評(píng)價(jià)。IDF1 和MOTA 的計(jì)算公式如下。
式中,IDTP 表示真實(shí)目標(biāo)與跟蹤結(jié)果正確匹配的數(shù)量,IDFP 表示真實(shí)目標(biāo)與跟蹤結(jié)果錯(cuò)誤匹配的數(shù)量,IDFN 表示未匹配的真實(shí)目標(biāo)數(shù)量,GTt表示第t 幀中真實(shí)目標(biāo)的個(gè)數(shù),F(xiàn)Nt表示第t 幀中漏檢的個(gè)數(shù),F(xiàn)Pt表示第t 幀中虛檢的個(gè)數(shù),IDSWt 表示第t 幀中軌跡發(fā)生轉(zhuǎn)變的個(gè)數(shù)。
本研究設(shè)計(jì)了4 個(gè)測(cè)試場(chǎng)景評(píng)估3 種多目標(biāo)跟蹤算法(FairMOT、ByteTrack、BoT-SORT) 的表現(xiàn)。場(chǎng)景1 展示了5 頭成年大豬在無(wú)遮擋的環(huán)境中自由活動(dòng);場(chǎng)景2 聚焦于5 頭小豬,同樣在無(wú)遮擋條件下;場(chǎng)景3 增加了復(fù)雜性,引入遮擋物,同時(shí)仍有5 頭成年大豬;最后,場(chǎng)景4 呈現(xiàn)了一個(gè)挑戰(zhàn)性的大規(guī)模場(chǎng)景,超過(guò)20 頭豬只共同出現(xiàn)且環(huán)境擁擠,沒(méi)有遮擋物。通過(guò)表1 可知,在無(wú)遮擋和適量豬只情況下,選擇ByteTrack 算法能夠保證豬只跟蹤的準(zhǔn)確性和穩(wěn)定性,且能保持較高的處理速度。
3.2.2 體尺估計(jì)評(píng)價(jià)指標(biāo)
本研究采用決定系數(shù)(R2)、平均絕對(duì)誤差(Mean absolute error,MAE)、平均絕對(duì)百分比誤差(Mean absolute percentage error,MAPE) 作為評(píng)估指標(biāo),衡量模型預(yù)測(cè)值與真實(shí)值之間的偏差程度;決定系數(shù)越大,說(shuō)明模型預(yù)測(cè)值與真實(shí)值擬合程度越高,平均絕對(duì)誤差、平均絕對(duì)百分比誤差較小表明誤差水平較低,反映模型的高準(zhǔn)確性。
3.2.3 豬只體尺估計(jì)結(jié)果分析
隨機(jī)抽取5 個(gè)包含多頭豬只的圈欄進(jìn)行體尺估計(jì)(單位為cm),每個(gè)圈欄分3 個(gè)組別評(píng)估不同數(shù)據(jù)處理策略的效果。第1 組采用ROI 篩選,僅記錄攝像頭中心范圍內(nèi)豬只的體長(zhǎng)數(shù)據(jù),防止攝像頭畸變、豬只擁擠導(dǎo)致的誤差。第2 組在ROI 篩選的基礎(chǔ)上引入姿態(tài)和異常檢測(cè)過(guò)濾,識(shí)別并過(guò)濾由運(yùn)動(dòng)模糊、姿態(tài)歪曲等因素導(dǎo)致的誤差數(shù)據(jù)。第3 組未采用以上機(jī)制。分別對(duì)各圈欄3 個(gè)組別豬只的體長(zhǎng)、肩寬、臀寬數(shù)據(jù)求決定系數(shù)、平均絕對(duì)誤差、平均絕對(duì)百分比誤差,如表2 所示。
試驗(yàn)結(jié)果表明,針對(duì)5 個(gè)欄24 頭豬只,通過(guò)將跟蹤算法和關(guān)鍵點(diǎn)檢測(cè)算法結(jié)合,能夠確保豬只體尺測(cè)量的平均絕對(duì)誤差小于7 cm,平均絕對(duì)百分比誤差保持在16% 以內(nèi)。在引入ROI 篩選、姿態(tài)和異常檢測(cè)過(guò)濾后,24 頭豬只體尺的平均絕對(duì)誤差小于3 cm,體長(zhǎng)的平均絕對(duì)百分比誤差保持在4% 以內(nèi),肩寬保持在6% 以內(nèi),臀寬保持在7% 以內(nèi),同時(shí),體長(zhǎng)、肩寬和臀寬的決定系數(shù)分別為0.94、0.86 和0.88,展示了模型良好的擬合效果。此外,ROI 篩選顯著提高了數(shù)據(jù)處理速度,從原先的3.0 幀/s 提升至19.3 幀/s。
4 結(jié)論
本研究針對(duì)豬場(chǎng)攝像頭俯拍場(chǎng)景(無(wú)遮擋環(huán)境),提出了基于關(guān)鍵點(diǎn)檢測(cè)和多目標(biāo)跟蹤的豬只體尺估計(jì)方法,在Y o l o v 8 - P o s e 的基礎(chǔ)上融合了ByteTrack 追蹤算法、ROI 篩選、姿態(tài)和異常檢測(cè)過(guò)濾機(jī)制,主要優(yōu)點(diǎn)如下。
1) 相較于其他特征提取或輪廓測(cè)量方法,該方法無(wú)需人工篩選圖片,同時(shí)能夠捕捉更多豬只的姿態(tài)變化信息,提供更精確的結(jié)果,且適用于豬場(chǎng)實(shí)際生產(chǎn)環(huán)境,在無(wú)需人工干預(yù)的情況下可以對(duì)多頭豬只進(jìn)行自動(dòng)測(cè)量。與三維重建測(cè)量方法相比,這種方法無(wú)需大量計(jì)算資源,無(wú)需建立特定測(cè)量場(chǎng)景,同時(shí)避免了豬只劇烈活動(dòng)時(shí)進(jìn)行三維重建的困難。
2) 引入ROI 機(jī)制可以降低豬群擁擠因素、邊緣畸變性對(duì)體尺估計(jì)的影響,并提高數(shù)據(jù)處理速度。
3) 加入姿態(tài)和異常檢測(cè)過(guò)濾算法,避免了運(yùn)動(dòng)模糊、姿態(tài)不正等干擾因素導(dǎo)致的誤差增加。
綜上所述,本研究提出的體尺估計(jì)方法為豬場(chǎng)生產(chǎn)場(chǎng)景提供了一個(gè)輕量化、易部署、高精度的自動(dòng)體尺測(cè)量解決方案,能夠在養(yǎng)殖場(chǎng)邊緣和終端設(shè)備上順暢運(yùn)行,助力養(yǎng)殖管理的智能化。
參考文獻(xiàn):
[1]NEETHIRAJAN S, KEMP B. Digital livestock farming[J]. Sensing and Bio-Sensing Research, 2021, 32:100408.
[2]李丹, 陳一飛, 李行健, 等. 計(jì)算機(jī)視覺(jué)技術(shù)在豬行為識(shí)別中應(yīng)用的研究進(jìn)展[J]. 中國(guó)農(nóng)業(yè)科技導(dǎo)報(bào), 2019,21(7): 59-69.
[3]NASIRAHMADI A, EDWARDS S A, STURM B. Implementationof machine vision for detecting behaviourof cattle and pigs[J]. Livestock Science, 2017, 202: 25-38.
[4]RAN?I? K, BLAGOJEVI? B, BEZDAN A, et al. Animaldetection and counting from UAV images using convolutionalneural networks[J]. Drones, 2023, 7(3): 179.
[5]VAN DER ZANDE L E, GUZHVA O, RODENBURG TB. Individual detection and tracking of group housed pigsin their home pen using computer vision[J]. Frontiers inAnimal Science, 2021, 2: 669312.
[6]SHAO W, KAWAKAMI R, YOSHIHASHI R, et al.Cattle detection and counting in UAV images based onconvolutional neural networks[J]. International Journal ofRemote Sensing, 2020, 41(1): 31-52.
[7]TAHERI-GARAVAND A, FATAHI S, OMID M, et al.Meat quality evaluation based on computer vision technique:A review[J]. Meat Science, 2019, 156: 183-195.
[8]宋蘭霞, 楊毅. 基于計(jì)算機(jī)視覺(jué)的肉質(zhì)大理石花紋含量的測(cè)定[J]. 云南農(nóng)業(yè)大學(xué)學(xué)報(bào)(自然科學(xué)版), 2011,26(2): 246-248.
[9]尹令, 蔡更元, 田緒紅, 等. 多視角深度相機(jī)的豬體三維點(diǎn)云重構(gòu)及體尺測(cè)量[J]. 農(nóng)業(yè)工程學(xué)報(bào), 2019, 35(23):201-208.
[10]郭浩, 張勝利, 馬欽, 等. 基于點(diǎn)云采集設(shè)備的奶牛體尺指標(biāo)測(cè)量[J]. 農(nóng)業(yè)工程學(xué)報(bào), 2014, 30(5): 116-122.
[11]郭浩, 馬欽, 張勝利, 等. 基于三維重建的動(dòng)物體尺獲取原型系統(tǒng)[J]. 農(nóng)業(yè)機(jī)械學(xué)報(bào), 2014, 45(5): 227-232.
[12]王小品. 基于深度學(xué)習(xí)的多目標(biāo)生豬的體尺關(guān)鍵點(diǎn)定位方法研究[D]. 武漢: 華中農(nóng)業(yè)大學(xué), 2023.
[13]劉同海, 滕光輝, 付為森, 等. 基于機(jī)器視覺(jué)的豬體體尺測(cè)點(diǎn)提取算法與應(yīng)用[J]. 農(nóng)業(yè)工程學(xué)報(bào)., 2013, 29(2):161-168.
[14]ZHU X, LYU S, WANG X, et al. TPH-YOLOv5: ImprovedYOLOv5 based on transformer prediction headfor object detection on drone-captured scenarios[C]//2021IEEE/CVF International Conference on Computer VisionWorkshops (ICCVW). Montreal: IEEE, 2021. doi:10.1109/iccvw54120.2021.00312.
[15]REDMON J, FARHADI A. Yolov3: An incremental improvement[EB/OL]. arXiv: 1804.02767 (2018-04-08)[2024-04-06]. https://doi.org/10.48550/arXiv.1804.02767.
[16]REDMON J, DIVVALA S, GIRSHICK R, et al. Youonly look once: Unified, real-time object detection[C]//2016 IEEE Conference on Computer Vision and PatternRecognition (CVPR). Las Vegas: IEEE, 2016. doi:10.1109/cvpr.2016.91.
[17]殷獻(xiàn)博, 鄧小玲, 蘭玉彬, 等. 基于改進(jìn)YOLOXNano算法的柑橘梢期長(zhǎng)勢(shì)智能識(shí)別[J]. 華南農(nóng)業(yè)大學(xué)學(xué)報(bào), 2023, 44(1): 142-150.
[18]楊秋妹, 陳淼彬, 黃一桂, 等. 基于改進(jìn)YOLO v5n 的豬只盤點(diǎn)算法[J]. 農(nóng)業(yè)機(jī)械學(xué)報(bào), 2023, 54(1): 251-262.
[19]ZHANG Y F, SUN P Z, JIANG Y, et al. ByteTrack:Multi-object tracking by associating every detectionbox[EB/OL] arXiv: 2110.06864 (2021-10-13) [2024-04-06]. https://doi.org/10.48550/arXiv.2110.06864.
[20]ZHENG Z Y, LI J W, QIN L F. YOLO-BYTE: An efficientmulti-object tracking algorithm for automatic monitoringof dairy cows[J]. Computers and Electronics inAgriculture, 2023, 209: 107857.
[21]QIAN Z, CHEN X, JIANG H. Fish tracking based onYOLO and ByteTrack[C]. 2023 16th International Congresson Image and Signal Processing, BioMedical Engineeringand Informatics (CISP-BMEI). Taizhou: IEEE,2023.
[21]【責(zé)任編輯 李慶玲】
基金項(xiàng)目:重慶市技術(shù)創(chuàng)新與應(yīng)用發(fā)展專項(xiàng)重點(diǎn)項(xiàng)目(cstc2021jscx-dxwtBX0008);國(guó)家生豬技術(shù)創(chuàng)新中心先導(dǎo)科技項(xiàng)目(NCTIP-XD/B10)