摘要:羊只的運(yùn)動狀態(tài)能夠反映其健康狀況,自動跟蹤養(yǎng)殖場環(huán)境下的目標(biāo)羊只是統(tǒng)計并分析其運(yùn)動狀態(tài)的前提。以圈養(yǎng)的羊只為試驗對象,以YOLOv5-CBAM為前端檢測器,結(jié)合目前比較先進(jìn)的StrongSORT跟蹤器,提出一種基于StrongSORT算法的羊只多目標(biāo)跟蹤方法。試驗結(jié)果表明,在短視頻跟蹤中,對于10只羊的運(yùn)動軌跡進(jìn)行跟蹤時,多目標(biāo)跟蹤準(zhǔn)確度、多目標(biāo)跟蹤精確度、身份切換次數(shù)和IDF1值分別達(dá)到91.6%、0.269、52次和70.7%,與YOLOv5+StrongSORT算法相比,提出的YOLOv5-CBAM+StrongSORT算法的多目標(biāo)跟蹤準(zhǔn)確度提高0.4%,多目標(biāo)跟蹤精確度基本不變,身份切換次數(shù)降低17.5%,IDF1提高3.2%;在長視頻跟蹤中,多目標(biāo)跟蹤準(zhǔn)確度、多目標(biāo)跟蹤精確度、身份切換次數(shù)和IDF1值分別為57.3%、0.244、21次和47.9%,YOLOv5-CBAM+StrongSORT的優(yōu)勢主要體現(xiàn)在身份切換次數(shù)上,與YOLOv5+ByteTrack、YOLOv5+DeepSORT和YOLOv5+OCSORT相比,分別減少13次、10次和12次。
關(guān)鍵詞:羊只;目標(biāo)檢測;多目標(biāo)跟蹤;改進(jìn)YOLOv5;StrongSORT
中圖分類號:TP391.4; S826.8" " " 文獻(xiàn)標(biāo)識碼:A" " " 文章編號:2095?5553 (2024) 08?0180?10
A multi?object tracking method for sheep based on StrongSORT algorithm
Zhao Xiaoxia, Cheng Man, Yuan Hongbo
(College of Mechanical and Electrical Engineering, Hebei Agricultural University, Baoding, 071000, China)
Abstract: The behavior of sheep can reflect its health status and physiological stages. Automatic tracking of the objects for sheep in the farm environment is a prerequisite for statistics and analysis of its behavior. In this paper, captive sheep were used as the experimental subjects, and then a multiple object tracking method for sheep based on StrongSORT algorithm was proposed. It used YOLOv5-CBAM as the front?end detector, then combined the currently advanced StrongSORT tracker. The experimental results showed that, in the short video tracking, the multiple object tracking accuracy, multiple object tracking precision, the total number of identity switches and IDF1 of 10 sheep reached 91.6%, 0.269, 52 and 70.7%, respectively. Compared with the YOLOv5+StrongSORT algorithm, the multi?object tracking accuracy of the YOLOv5-CBAM+StrongSORT algorithm proposed in this paper was improved by 0.4%, the multi?object precision tracking was basically unchanged, the number of identity switching times was reduced by 17.5%, and the IDF1 value was increased by 3.2%. In the long video tracking, the above evaluation indicators were 57.3%, 0.244, 21 and 47.9%, respectively, and the advantages of YOLOv5-CBAM+StrongSORT were mainly reflected in the number of identity switches, which were reduced by 13, 10 and 12 times compared with YOLOv5+ByteTrack, YOLOv5+DeepSORT, and YOLOv5+OCSORT, respectively.
Keywords: sheep; object detection; multiple object tracking; improved YOLOv5; StrongSORT
0 引言
目標(biāo)跟蹤技術(shù)正迅速成為動物行為研究中不可或缺的工具,它提供了一種感知和決策的定量方法[1],為研究姿態(tài)估計[2]、動作識別[3]和行為分析[4]等高級任務(wù)奠定了基礎(chǔ)。針對目標(biāo)跟蹤這項任務(wù),國內(nèi)外學(xué)者進(jìn)行了大量的研究,傳統(tǒng)的目標(biāo)跟蹤方法主要通過在動物身上佩戴傳感器設(shè)備來實現(xiàn),迄今為止,基于傳感器的目標(biāo)跟蹤方法仍然處于非常重要的地位,在實際應(yīng)用中扮演著重要的角色。Hassan?Vásquez等[5]使用GPS項圈采集了牛的分布和行為數(shù)據(jù),探索了牛的行為時空動態(tài)與其糞便分布之間的關(guān)系,從而為牛提供更適合的放牧區(qū)域,并改善放牧管理和土地施肥。試驗結(jié)果表明,牛更加青睞于平坦地形和靠近水的區(qū)域,選擇指數(shù)分別為0.30和0.46。Barnes等[6]使用RFID技術(shù)跟蹤飼養(yǎng)場中食欲不振的綿羊,了解它們的進(jìn)食和飲水模式,以便對它們進(jìn)行治療。但是基于傳感器的目標(biāo)跟蹤方法需要在被跟蹤目標(biāo)身上佩戴一些傳感器,這是一種侵入性的方法,會引起動物的不適感,甚至對動物造成傷害。另外,基于傳感器的目標(biāo)跟蹤方法成本較高,不僅設(shè)備較貴,而且設(shè)備丟失和損壞率也較高。隨著計算機(jī)視覺技術(shù)的發(fā)展,基于視頻圖像的目標(biāo)跟蹤方法成為計算機(jī)視覺領(lǐng)域中的研究熱點之一[7]?;谝曨l圖像的目標(biāo)跟蹤算法指的是通過照相機(jī)或者攝像機(jī)采集圖像或者視頻數(shù)據(jù),結(jié)合機(jī)器學(xué)習(xí)算法或者深度學(xué)習(xí)算法對數(shù)據(jù)進(jìn)行分析,從而實現(xiàn)對目標(biāo)的跟蹤[8]。這是一種非侵入性的可視化方法,不但可以實時獲取動物大量的生活信息,而且不會引起動物的應(yīng)激。根據(jù)數(shù)據(jù)分析的方法可將基于視頻圖像的目標(biāo)跟蹤算法分為基于經(jīng)典機(jī)器視覺的目標(biāo)跟蹤算法和基于深度學(xué)習(xí)的目標(biāo)跟蹤算法[9]。與深度學(xué)習(xí)算法不同,基于經(jīng)典機(jī)器視覺的目標(biāo)跟蹤算法往往需要手動處理和分析圖像的特征。Kashiha等[10]首次利用機(jī)器視覺技術(shù)對豬圈內(nèi)的標(biāo)記豬進(jìn)行了識別和跟蹤??滴醯萚11]提出一種基于機(jī)器視覺的跛行奶牛牛蹄定位跟蹤方法,該方法首先采用ViBe算法對圖像中的奶牛目標(biāo)進(jìn)行提取,在此基礎(chǔ)上進(jìn)一步提取奶牛牛蹄的二值化圖像;其次通過分析奶牛行走過程中牛蹄的時空變化,采用時空差值算法提取奶牛牛蹄定位數(shù)據(jù);最后分析奶牛行走過程中牛蹄的運(yùn)動順序,對同側(cè)牛蹄的位置數(shù)據(jù)進(jìn)行分類與匹配,從而用于跛行檢測和軌跡提取。但是基于機(jī)器視覺技術(shù)的目標(biāo)跟蹤方法需要復(fù)雜的特征工程,特征的選擇和提取對使用者的知識儲備以及經(jīng)驗的要求較高,因此,能夠有效解決上述問題的深度學(xué)習(xí)算法應(yīng)運(yùn)而生。深度學(xué)習(xí)能夠從大量圖像中學(xué)習(xí)有效的特征表示,而且與手工提取的特征相比,深度學(xué)習(xí)方法學(xué)習(xí)的深層特征更有效和健壯,更加有利于跟蹤問題?;谏疃葘W(xué)習(xí)的多目標(biāo)跟蹤算法主要有:SORT算法[12]、DeepSORT算法[13]和StrongSORT算法[14]等,StrongSORT算法是在DeepSORT算法的基礎(chǔ)上改進(jìn)得到的,而DeepSORT算法是在SORT算法的基礎(chǔ)上改進(jìn)得到的。在實際研究中,DeepSORT算法應(yīng)用更為廣泛[15]。例如,李琦等[16]基于YOLOv3和DeepSORT算法提出一個能夠?qū)Σ菰_M(jìn)行跟蹤的系統(tǒng),該系統(tǒng)通過比例—積分—微分算法來控制云臺攝像頭,使其能夠穩(wěn)定地跟隨草原牛的運(yùn)動而轉(zhuǎn)動。張宏鳴等[17]采用改進(jìn)的YOLOv3算法和改進(jìn)的DeepSORT算法實現(xiàn)對肉牛的跟蹤,其中改進(jìn)的YOLOv3算法采用MobileNet v2作為骨干網(wǎng)絡(luò),并且通過添加長短距離語義增強(qiáng)模塊(LSRCEM)進(jìn)行多尺度融合,以解決由于肉牛運(yùn)動導(dǎo)致獲取到的視頻圖像尺度變化較大的問題;改進(jìn)的DeepSORT算法采用Mudeep模型替換原來的重識別模型,從而減少身份切換的次數(shù)以及降低運(yùn)算量。但是,在公開數(shù)據(jù)集上進(jìn)行測試的結(jié)果表明,DeepSORT與先進(jìn)的跟蹤算法相比依然處于劣勢,針對目標(biāo)身份(Identity Document,ID)切換的問題上表現(xiàn)效果不理想,因此StrongSORT對DeepSORT的檢測、嵌入和關(guān)聯(lián)三個方面分別進(jìn)行優(yōu)化。
基于上述理論,本文采用StrongSORT算法作為跟蹤器,結(jié)合目標(biāo)檢測算法對視頻中的羊只多目標(biāo)進(jìn)行跟蹤。由于該目標(biāo)跟蹤算法是一個兩階段的算法(檢測—跟蹤),而目標(biāo)檢測的效果直接影響目標(biāo)跟蹤的效果,因此本文對目標(biāo)檢測算法進(jìn)行改進(jìn),提出YOLOv5-CBAM算法,降低目標(biāo)身份ID切換次數(shù)。
1 材料和方法
1.1 試驗環(huán)境
試驗場地位于河北省衡水市武邑縣韓莊鎮(zhèn)志豪畜牧科技有限公司的羊舍,羊舍內(nèi)飼養(yǎng)的品種是成年小尾寒羊。視頻采集分為兩個階段進(jìn)行:2021年3月16—21日采集了一個羊舍內(nèi)3只羊的視頻,2022年7月1—8日采集了一個羊舍內(nèi)10只羊的視頻。攝像頭(DS-2CD3T46FDWD-LGLE,HIKVISION)位于羊舍天棚上,斜向下拍攝,獲取的視頻分辨率為1 920像素×1 080像素,幀速率為每秒30幀,存儲為MP4格式。第一個階段的視頻采集過程,共獲取48段視頻,每段視頻時長約為70 min;第二個階段的視頻采集過程,共獲取69段視頻,每段視頻時長約為70 min??紤]到羊只需要適應(yīng)新的環(huán)境,因此均從羊只進(jìn)入羊舍的第二天開始采集數(shù)據(jù)??紤]到羊只的生活習(xí)性在白天活動相對較多,因此只采集白天的視頻。攝像頭采集視頻過程中,視頻被分成多段,如果視頻中存在羊只擠在一起無法分清個體,強(qiáng)烈的陽光導(dǎo)致過度曝光,管理人員進(jìn)行飼料投喂或清掃羊舍,攝像頭被蒼蠅遮擋等情況,則舍棄該段視頻。經(jīng)過篩選,最終獲得3只羊的有效視頻為28段,獲得10只羊的有效視頻為66段。有效視頻的構(gòu)成如表1所示,視頻示例如圖1所示。
1.2 數(shù)據(jù)集構(gòu)建
1.2.1 目標(biāo)檢測數(shù)據(jù)集構(gòu)建
選擇3只羊的有效視頻作為目標(biāo)檢測數(shù)據(jù)庫的數(shù)據(jù)來源,利用OpenCV對視頻每30幀提取1幀圖像,共獲取了96 647幅圖像。利用深度學(xué)習(xí)進(jìn)行目標(biāo)識別,更多的訓(xùn)練樣本可能使模型的識別精度增加,但同時也需要更多的時間和人力成本去處理訓(xùn)練樣本。因此,確定合適的訓(xùn)練樣本數(shù)量是重要的。由于試驗過程中環(huán)境相同,攝像頭的角度也是固定不變,5 000的數(shù)量級可以滿足本文的要求[18]。因此,本文從96 647幅圖像中隨機(jī)抽取5 000幅圖像來構(gòu)建目標(biāo)檢測數(shù)據(jù)集,并通過LabelImg軟件對圖像中的羊只進(jìn)行標(biāo)注。目標(biāo)檢測的目的是為了識別出圖像中是否存在羊只,而不識別羊只個體,因此標(biāo)注時,將所有的羊只標(biāo)注為一類目標(biāo),不區(qū)分個體。標(biāo)注完成的數(shù)據(jù)集被按照8:2分為兩個部分,隨機(jī)選擇4 000幅圖像作為訓(xùn)練樣本,用于網(wǎng)絡(luò)訓(xùn)練,剩下1 000幅圖像作為驗證樣本,用于網(wǎng)絡(luò)驗證和參數(shù)調(diào)整。為構(gòu)建測試集,從制作完數(shù)據(jù)集后剩下的圖像中再次隨機(jī)抽取1 000幅圖片組成測試集,測試集用于測試網(wǎng)絡(luò)性能。測試集與訓(xùn)練集和驗證集的圖像不存在重疊。數(shù)據(jù)集劃分方式如表2所示。
1.2.2 多目標(biāo)跟蹤數(shù)據(jù)集構(gòu)建
為驗證多目標(biāo)跟蹤效果,本文從3只羊只和10只羊只的有效視頻中分別隨機(jī)截取時長為5 min和40 min的視頻,用于測試多目標(biāo)跟蹤效果;隨后使用Darklabel對這4段視頻中的羊只個體進(jìn)行標(biāo)注,以構(gòu)建多目標(biāo)跟蹤數(shù)據(jù)集。
2 羊只多目標(biāo)跟蹤方法
2.1 羊只目標(biāo)檢測
近年來,隨著深度學(xué)習(xí)的發(fā)展,多個不同的模型被應(yīng)用到動物的目標(biāo)檢測中[19, 20],其中YOLO 模型具有較快的檢測速度[21],在實時檢測領(lǐng)域得到了廣泛的應(yīng)用[22, 23]。自2016年發(fā)布以來,YOLO已迅速發(fā)展到Y(jié)OLOv5[24, 25]。YOLOv5的結(jié)構(gòu)主要分為4個部分,Input輸入端、Backbone主干網(wǎng)絡(luò)、Neck網(wǎng)絡(luò)以及Prediction輸出端。本文在YOLOv5基礎(chǔ)上進(jìn)行改進(jìn),設(shè)計一種YOLOV5-CBAM網(wǎng)絡(luò)模型,如圖2所示。該模型在YOLOv5的Backbone部分添加了CBAM注意力模塊,以提高網(wǎng)絡(luò)的特征提取能力;并且在原始YOLOv5的Neck網(wǎng)絡(luò)部分也融合了CBAM注意力模塊,以便完成特征提取之后,經(jīng)過Neck特征融合可以在不同的特征圖上預(yù)測輸出。
CBAM注意力模塊[26]通過建立網(wǎng)絡(luò)卷積特征通道之間的相互依賴來提高網(wǎng)絡(luò)提取特征的質(zhì)量,強(qiáng)調(diào)了不同通道的不等重要性。CBAM注意力模塊由通道和空間兩個獨立的模塊以順序排列的方式構(gòu)成,兩個注意力模塊互為補(bǔ)充,即給定一個中間特征圖,該模塊將沿著通道和空間兩個獨立的模塊分別關(guān)注特征“是什么”和“在哪里”,通道注意力模塊提取輸入圖像的淺層信息,利用通道間的特征關(guān)系生成通道注意圖,然后將該圖送入空間注意力模塊生成空間注意力描述符,最后乘以輸入特征圖進(jìn)行自適應(yīng)特征細(xì)化形成更有代表性的特征圖。CBAM注意力機(jī)制結(jié)構(gòu)如圖3所示。
此外,YOLOv5-CBAM模型在Prediction輸出端使用CIOU Loss 代替原始YOLOv5中的 GIOU Loss作為目標(biāo)邊界框回歸損失函數(shù),這樣能夠保證邊界框回歸速率的同時得到更高的定位精度;并使用DIOU-NMS替換NMS函數(shù)進(jìn)行后處理,以改善目標(biāo)之間存在遮擋重疊時發(fā)生的漏檢問題。
2.2 多目標(biāo)跟蹤
StrongSORT算法與DeepSORT算法類似,也是一個兩階段的算法,即檢測-跟蹤,目標(biāo)檢測的結(jié)果決定跟蹤的準(zhǔn)確率、速度以及身份切換的頻率。StrongSORT的框架如圖4所示。
其中,BoT是外觀特征提取器,ResNeSt50為重識別網(wǎng)絡(luò)的主干;EMA是指數(shù)移動平均;cost是指成本矩陣;ECC指的是攝像機(jī)運(yùn)動補(bǔ)償;NSA Kalman指的是NSA卡爾曼濾波器;gate指的是門矩陣;Vanilla Matching指的是Vanilla匹配。本文對其中的檢測模塊進(jìn)行優(yōu)化,設(shè)計YOLOv5-CBAM+StrongSORT多目標(biāo)跟蹤算法。
多目標(biāo)跟蹤時,首先利用YOLOv5-CBAM作為前端檢測器對羊只目標(biāo)進(jìn)行檢測,然后利用StrongSORT作為跟蹤器實現(xiàn)對不同羊只個體的跟蹤。YOLOv5-CBAM+StrongSORT多目標(biāo)跟蹤算法的工作流程如圖5所示,包括以下3個步驟。
1) 利用YOLOv5-CBAM在當(dāng)前幀中對羊只進(jìn)行檢測,得到檢測目標(biāo)的Bounding Box邊框和特征,然后使用DIOU-NMS算法去除重疊框,得到最終檢測結(jié)果。
2) 采用NSA卡爾曼濾波器基于上一幀的檢測結(jié)果預(yù)測目標(biāo)在當(dāng)前幀中的位置。NSA卡爾曼濾波器提出一個自適應(yīng)計算噪聲協(xié)方差矩陣[Rk],如式(1)所示。
[Rk=1-ckRk] (1)
式中: [Rk]——預(yù)設(shè)的恒定測量噪聲協(xié)方差矩陣;
[ck]——狀態(tài)k下的檢測置信度得分。
3) 針對預(yù)測結(jié)果和檢測結(jié)果,StrongSORT利用表征外觀特性的指數(shù)移動平均(Exponential Moving Average,EMA)和表征運(yùn)動特性的增強(qiáng)的相關(guān)系數(shù)(Enhanced Correlation Coefficient,ECC)[27]計算成本矩陣,并根據(jù)計算結(jié)果利用全局線性分配進(jìn)行匹配,并根據(jù)匹配結(jié)果更新NSA卡爾曼濾波器。其中預(yù)測結(jié)果和檢測結(jié)果的目標(biāo)表觀特征的提取通過一個強(qiáng)大的外觀特征提取器BoT[28]提取目標(biāo)特征來實現(xiàn),該外觀特征提取器以ResNeSt50為主干,并在DukeMTMC-reID[29]數(shù)據(jù)集上進(jìn)行預(yù)訓(xùn)練,可以提取出更多的判別特征。
EMA的方式更新幀t處第i個軌跡的外觀狀態(tài)[eti]計算如式(2)所示。
[eti=αet-1i+(1-α)fti] (2)
式中: [fti]——當(dāng)前匹配檢測的外觀嵌入;
[α]——權(quán)重因子;
e——到第t-1幀為止的小軌道的特征。
成本矩陣C是外觀成本Aa和運(yùn)動成本Am的加權(quán)和,如式(3)所示。
[C=λAa+1-λAm] (3)
式中: λ——權(quán)重因子。
3 評價指標(biāo)
3.1 羊只目標(biāo)檢測模型評價指標(biāo)
目標(biāo)檢測模型的性能可以通過精確率和召回率來進(jìn)行評價。精確率(Precision,P)是指模型識別為羊的目標(biāo)中,真正為羊的比例。召回率(Recall,R)是指實際羊只目標(biāo)總數(shù)量中,被真正識別出的比例。精確率和召回率可以通過式(4)進(jìn)行計算。
[P=TPTP+FP×100%R=TPTP+FN×100%] (4)
式中: TP、FP——網(wǎng)絡(luò)模型檢測出的羊只目標(biāo)中,正確識別和錯誤識別的數(shù)量;
FN——所有真實的羊只目標(biāo)中有多少個未能被網(wǎng)絡(luò)模型檢測出來。
平均精度均值mAP(mean Average Precision,mAP),即AP(Average Precision)的平均值,是目標(biāo)檢測算法的主要評估指標(biāo)。mAP值越高,表明該目標(biāo)檢測模型在給定的數(shù)據(jù)集上的檢測效果越好。本文中檢測的目標(biāo)只有1類,即羊只,因此mAP=AP,其值可以由式(5)計算得到。
[mAP=AP=∑01PRdR] (5)
3.2 多目標(biāo)跟蹤評價指標(biāo)
多目標(biāo)跟蹤的評價指標(biāo)有:身份切換次數(shù)(The Total Number of Identity Switches,IDSW)、多目標(biāo)跟蹤準(zhǔn)確度(Multiple Object Tracking Accuracy,MOTA)、多目標(biāo)跟蹤精確度(Multiple Object Tracking Precision,MOTP)以及IDF1值等。IDSW表示所有跟蹤目標(biāo)身份標(biāo)簽交換的次數(shù)。MOTA是指除了錯誤識別,丟失目標(biāo),ID異常切換IDSW之外的正確識別的樣本占所有樣本的比例,如式(6)所示。它衡量的是跟蹤器檢測目標(biāo)和保持軌跡的性能。
[MOTA=1-tFNt+FPt+IDSWttGTt] (6)
式中: GT——視頻幀中羊只目標(biāo)的數(shù)量;
t——視頻幀的索引號。
MOTP是指檢測器正確識別出目標(biāo)的檢測框與目標(biāo)真實位置標(biāo)注框之間重合度高于設(shè)定閾值的目標(biāo)占總目標(biāo)的比例,其衡量的是檢測器的定位精度,如式(7)所示。
[MOTP=t,idt,itct] (7)
式中: [dt,i]——在第t幀檢測到的目標(biāo)i與對應(yīng)的[GT]之間坐標(biāo)框的差異;
[ct]——在第t幀匹配到的目標(biāo)數(shù)量。
IDF1表示被檢測和跟蹤的目標(biāo)被分配的ID的準(zhǔn)確率和召回率的調(diào)和均值,如式(8)所示。
[IDF1=21IDP+1IDR] (8)
式中: IDP——ID分配的準(zhǔn)確率;
IDR——ID分配的召回率。
IDF1指標(biāo)更聚焦于跟蹤算法跟蹤某個目標(biāo)的時間長短,考察跟蹤的連續(xù)性和重識別的準(zhǔn)確性。IDF1以1為最佳情況,數(shù)值越高代表跟蹤特定目標(biāo)的精度越好。
3.3 試驗環(huán)境
本文的操作系統(tǒng)為Microsoft Windows 10,CPU型號為(英特爾)Intel(R) Core(TM) i5-10400F CPU @ 2.90 GHz,GPU型號為NVIDIA GeForce RTX 3060(12 288 MB),深度學(xué)習(xí)框架為PyTorch1.10.1,開發(fā)軟件為Pycharm 2021.2.0,Python版本為3.7.12,評估工具為py-motmetrics-develop,所用數(shù)據(jù)處理軟件為PotPlayer64和Excel。
4 試驗結(jié)果與分析
4.1 羊只目標(biāo)檢測結(jié)果
4.1.1 網(wǎng)絡(luò)訓(xùn)練結(jié)果
使用YOLOv5-CBAM算法在羊只目標(biāo)檢測數(shù)據(jù)集上進(jìn)行網(wǎng)絡(luò)模型訓(xùn)練,訓(xùn)練過程中,迭代次數(shù)(epoch)為100,批處理樣本大?。╞atch_size)為16,訓(xùn)練結(jié)果如圖6所示。
由圖6可以看出,YOLOv5-CBAM的精確率、召回率、mAP_0.5和mAP_0.5:0.95這些指標(biāo)都是隨著迭代次數(shù)的增加呈現(xiàn)遞增形式,訓(xùn)練集和驗證集的box_loss和obj_loss均隨著迭代次數(shù)的增加呈現(xiàn)遞減形式,而box_loss保持不變。
其中,YOLOv5-CBAM的精確率在前10個epoch波動幅度較大,在10個epoch后進(jìn)入平穩(wěn)期;召回率在大約20個epoch波動幅度較大,在20個epoch后進(jìn)入平穩(wěn)期;mAP_0.5在前10個epoch上升趨勢明顯,在10個epoch后逐漸趨于平穩(wěn);mAP_0.5:0.95在前50個epoch上升趨勢明顯,在50個epoch后逐漸平穩(wěn)。訓(xùn)練集和驗證集的box_loss在前50個epoch下降趨勢明顯,在50個epoch后逐漸平穩(wěn)。而訓(xùn)練集和驗證集的obj_loss在前55個epoch下降趨勢明顯,在55個epoch后逐漸平穩(wěn)。
使用訓(xùn)練好的權(quán)重對驗證集的驗證結(jié)果如圖7所示。
4.1.2 網(wǎng)絡(luò)改進(jìn)性能分析
為評估網(wǎng)絡(luò)改進(jìn)前后的性能,本文采用原始YOLOv5和YOLOv5-CBAM在羊只目標(biāo)檢測數(shù)據(jù)集上進(jìn)行對比試驗,試驗結(jié)果如表3所示。
由表3可知,相比于YOLOv5,本文提出的YOLOv5-CBAM算法顯著提高了檢測的精確率、召回率和mAP,分別提高1.0%、1.6%和2.1%。原始YOLOv5算法和YOLOv5-CBAM對少目標(biāo)的檢測結(jié)果如圖8所示。其中,實線框表示漏檢目標(biāo),虛線框內(nèi)為誤檢目標(biāo)。由圖8可以看出,實線框內(nèi)的目標(biāo)被漏檢以及虛線框內(nèi)的目標(biāo)被誤檢均是由目標(biāo)之間存在遮擋導(dǎo)致的,而本文提出的YOLOv5-CBAM算法能夠減少這種情況的發(fā)生,從而降低漏檢率和誤檢率。
另外,為驗證模型的性能,本文隨機(jī)選取存在10只羊的一個羊圈的監(jiān)控視頻,使用OpenCV對視頻每30幀提取1幀圖像,然后按照順序選取1 000幀圖像組成多目標(biāo)測試集,最后使用YOLOv5-CBAM算法逐幀進(jìn)行檢測,檢測的結(jié)果如圖9和表4所示。
由表4和圖9可知,本文訓(xùn)練的網(wǎng)絡(luò)模型能夠應(yīng)用于檢測更多的羊只目標(biāo),并且檢測效果良好。
4.2 羊只目標(biāo)跟蹤結(jié)果
4.2.1 短視頻與長視頻跟蹤結(jié)果
試驗使用py-motmetrics-develop評估工具,結(jié)合Darklabel標(biāo)注的真實值結(jié)果,對YOLOv5-CBAM+StrongSORT多目標(biāo)跟蹤算法的跟蹤結(jié)果進(jìn)行評估。為增強(qiáng)算法的說服力以及更加貼合實際情況,本文在3只和10只羊的有效視頻中分別隨機(jī)截取1段時長為5 min和時長為40 min的視頻進(jìn)行測試,測試結(jié)果如表5所示。3只羊和10只羊的視頻跟蹤結(jié)果如圖10所示。圖10(a)為3只羊的視頻跟蹤結(jié)果,圖10(b)為10只羊的視頻跟蹤結(jié)果。
由表5可知,在短視頻(5 min)中,當(dāng)跟蹤目標(biāo)有3只羊時,本文提出的YOLOv5-CBAM+Strong-SORT算法在MOTA得分達(dá)到99.4%,IDF1達(dá)到88.7%,表現(xiàn)出較好的性能。當(dāng)跟蹤目標(biāo)增加到10只羊時,MOTA下降到91.6%,IDF1下降到70.7%;增加跟蹤目標(biāo)后最大的改變是IDSW增加到52,這是因為對于10只羊的情況,相互遮擋出現(xiàn)的幾率較多,容易導(dǎo)致跟蹤過程中身份標(biāo)簽產(chǎn)生變化。在長視頻(40 min)中,跟蹤3只羊時,MOTA值為65.3%,IDSW為56次,IDF1為58.1%;這表明隨著跟蹤時長的增加,出現(xiàn)遮擋和擁擠情況也增多,跟蹤性能低于短時長?;谕瑯釉颍?dāng)測試條件變?yōu)殚L視頻多目標(biāo)(10只羊)時,YOLOv5-CBAM+StrongSORT算法的整體性能進(jìn)一步下降,MOTA、MOTP和IDF1的值分別為57.3%、0.244和47.9%。需要說明的一點是,在長視頻測試中,由于截取的視頻中羊只的活動程度不同,所以會出現(xiàn)目標(biāo)增多(從3只羊增加到10只羊)時,羊只ID切換次數(shù)反而更低的情況。
4.2.2 網(wǎng)絡(luò)性能對比試驗
本文提出的YOLOv5-CBAM+StrongSORT多目標(biāo)跟蹤算法是在原始StrongSORT算法的基礎(chǔ)上進(jìn)行改進(jìn)得到的,即將其檢測部分替換為改進(jìn)的YOLOv5-CBAM。為驗證改進(jìn)后的YOLOv5-CBAM+StrongSORT算法對最終跟蹤結(jié)果的影響,本文設(shè)計性能對比試驗。不同方案均采用相同的數(shù)據(jù)集來進(jìn)行性能測試,測試集視頻為從3只羊和10只羊的有效視頻中分別隨機(jī)抽取的一段時長為5 min的視頻構(gòu)成,性能對比試驗結(jié)果如表6所示。
從表6可以看出,在對3只羊的少目標(biāo)進(jìn)行跟蹤時,與YOLOv5+StrongSORT 相比,YOLOv5-CBAM+StrongSORT并沒有表現(xiàn)出明顯的優(yōu)勢,在MOTA、MOTP、IDSW和IDF1四個評價指標(biāo)上二者的值非常接近。但是,在10只羊的視頻中,隨著跟蹤目標(biāo)的增加,YOLOv5-CBAM+StrongSORT逐漸體現(xiàn)出優(yōu)勢,特別是在IDSW和IDF1兩個指標(biāo)上尤為突出。在對10只羊的跟蹤過程中,YOLOv5+StrongSORT的IDSW達(dá)到63次,而YOLOv5-CBAM+StrongSORT為52次,降低了17.5%;IDF1也從67.5%提高到70.7%,提高了3.2%。這說明本文提出的YOLOv5-CBAM+StrongSORT在相對復(fù)雜的場景下表現(xiàn)出更高的性能,使得基于深度學(xué)習(xí)的目標(biāo)跟蹤算法在實際環(huán)境中的適用性也得到提高。
4.2.3 常用跟蹤算法對比試驗
為進(jìn)行橫向?qū)Ρ?,以驗證本文提出算法的有效性,設(shè)計一個對比試驗,使用常用的跟蹤算法對3只羊和10只羊的視頻進(jìn)行跟蹤。本文使用YOLOv5+DeepSORT、YOLOv5+OCSORT、YOLOv5+ByteTrack以及本文提出的YOLOv5-CBAM+StrongSORT四種多目標(biāo)跟蹤算法,對試驗中3只羊和10只羊的時長為5 min和40 min的視頻進(jìn)行了測試,測試結(jié)果如表7所示。
從表7可以看出,在少目標(biāo)(3只羊)短時長目標(biāo)跟蹤時,四種算法表現(xiàn)出幾乎完全相同的性能;當(dāng)增加少目標(biāo)的跟蹤時長后,四種算法的性能差距逐步得到體現(xiàn)。在40 min的跟蹤過程中,YOLOv5+DeepSORT的IDSW次數(shù)達(dá)到了142次,遠(yuǎn)超其他三種算法;IDF1也是最低的,僅為41.8%。此時,YOLOv5+ByteTrack表現(xiàn)出較好的性能,IDSW為28次,IDF1達(dá)到62.0%。YOLOv5+OCSORT表現(xiàn)出的性能也略優(yōu)于YOLOv5-CBAM+StrongSORT。在少目標(biāo)跟蹤上的表現(xiàn)說明,本文提出的模型并沒有體現(xiàn)出優(yōu)勢,甚至還表現(xiàn)出一定的劣勢。
在多目標(biāo)(10只羊)短時長目標(biāo)跟蹤時,本文提出的YOLOv5-CBAM+StrongSORT模型開始展現(xiàn)出其優(yōu)勢,在MOTA、IDSW和IDF1三個評價指標(biāo)的得分上已經(jīng)超過其他三種算法。在IDSW得分上,YOLOv5-CBAM+StrongSORT比YOLOv5+ByteTrack、YOLOv5+DeepSORT、YOLOv5+OCSORT分別減少4次、39次和9次。在IDF1的得分上,YOLOv5-CBAM+StrongSORT比YOLOv5+ByteTrack、YOLOv5+DeepSORT、YOLOv5+OCSORT分別提高了2.6%、5.5%和3.8%。當(dāng)對10只羊的跟蹤時長增加到40 min時,四種算法在四個評價指標(biāo)上的得分均全面下降,在MOTA、MOTP和IDF1三個指標(biāo)的得分也變得較為接近。但是,在IDSW方面,YOLOv5-CBAM+StrongSORT仍然表現(xiàn)出明顯優(yōu)勢,與YOLOv5+ByteTrack、YOLOv5+DeepSORT和YOLOv5+OCSORT相比,分別減少13次、10次和12次。這表明,隨著跟蹤目標(biāo)和跟蹤時長的增加,本文提出的YOLOv5-CBAM+StrongSORT表現(xiàn)出相對較好的魯棒性。
5 結(jié)論
1) 采集3只羊只和10只羊只的視頻數(shù)據(jù),用于構(gòu)建目標(biāo)檢測數(shù)據(jù)集和目標(biāo)跟蹤數(shù)據(jù)集。針對羊只目標(biāo)檢測,設(shè)計一種基于YOLOv5的改進(jìn)檢測模型YOLOv5-CBAM,并對其進(jìn)行性能測試。測試結(jié)果表明,在少目標(biāo)(3只羊)檢測中,YOLOv5-CBAM的檢測精確率、召回率和mAP值分別達(dá)到99.1%、99.4%和92.7%,相比于YOLOv5,分別提高1.0%、1.6%和2.1%;在多目標(biāo)(10只羊)檢測中,這三項評價指標(biāo)分別達(dá)到93.0%、99.1%和90.3%。
2) 針對多目標(biāo)羊只的軌跡跟蹤,構(gòu)建YOLOv5-CBAM+StrongSORT跟蹤網(wǎng)絡(luò)模型進(jìn)行測試,并和其他常用方法進(jìn)行性能比較。試驗結(jié)果表明,在短視頻跟蹤中,對10只羊的運(yùn)動軌跡進(jìn)行跟蹤時,本文提出的YOLOv5-CBAM+StrongSORT算法的多目標(biāo)跟蹤準(zhǔn)確度、多目標(biāo)跟蹤精確度、身份ID切換次數(shù)和IDF1值分別達(dá)到91.6%、0.269、52次和70.7%,與YOLOv5+StrongSORT算法相比,多目標(biāo)跟蹤準(zhǔn)確度提高0.4%,多目標(biāo)跟蹤精確度基本不變,身份ID切換次數(shù)降低17.5%,IDF1值提高3.2%;在長視頻跟蹤中,以上評價指標(biāo)分別為57.3%、0.244、21次和47.9%,YOLOv5-CBAM+StrongSORT的優(yōu)勢主要體現(xiàn)在身份ID切換次數(shù)上,與YOLOv5+ByteTrack、YOLOv5+DeepSORT和YOLOv5+OCSORT相比,分別減少13次、10次和12次。
綜上所述,本文提出的算法具有一定通用性,在未來的工作中將提高算法的健壯性和易用性,以適應(yīng)實際情況下更多羊只目標(biāo)的軌跡跟蹤。
參 考 文 獻(xiàn)
[ 1 ] Walter T, Couzin I D. TRex, a fast multi?animal tracking system with markerless identification, and 2D estimation of posture and visual fields [J]. Elife, 2021: 1-72.
[ 2 ] 金宇. 擁擠場景下的人體姿態(tài)估計與跟蹤[D]. 天津: 河北工業(yè)大學(xué), 2020.
Jin Yu. Human pose estimation and tracking in crowded scene [D]. Tianjin: Hebei University of Technology, 2020.
[ 3 ] 榮佩佩. 視頻監(jiān)控中運(yùn)動目標(biāo)的檢測、跟蹤與動作識別算法的研究[D]. 保定: 河北大學(xué), 2016.
[ 4 ] 涂淑琴, 劉曉龍, 梁云, 等. 基于改進(jìn)DeepSORT的群養(yǎng)生豬行為識別與跟蹤方法[J]. 農(nóng)業(yè)機(jī)械學(xué)報, 2022, 53(8): 345-352.
Tu Shuqin, Liu Xiaolong, Liang Yun, et al. Behavior recognition and tracking method of group?housed pigs based on improved DeepSORT algorithm" [J]. Transactions of the Chinese Society for Agricultural Machinery, 2022, 53(8): 345-352.
[ 5 ] Hassan-Vásquez J A, Maroto?Molina F, Guerrero?Ginel J E. GPS tracking to monitor the spatiotemporal dynamics of cattle behavior and their relationship with feces distribution [J]. Animals, 2022, 12(18): 2383-2404.
[ 6 ] Barnes A L, Wickham S L, Admiraal R, et al. Characterization of inappetent sheep in a feedlot using radio?tracking technology [J]. Journal of Animal Science, 2018, 96(3): 902-911.
[ 7 ] 駱焦煌, 宋長龍. 基于改進(jìn) CNN 算法的視覺圖像目標(biāo)跟蹤研究[J]. 吉林大學(xué)學(xué)報(信息科學(xué)版), 2023, 41(1): 165-173.
Luo Jiaohuang, Song Changlong. Research on visual image target tracking based on improved convolution neural network algorithm [J]. Journal of Jilin University (Information Science Edition), 2023, 41(1): 165-173.
[ 8 ] 孟琭, 楊旭. 目標(biāo)跟蹤算法綜述[J]. 自動化學(xué)報, 2019, 45(7): 1244-1260.
Meng Lu, Yang Xu. A survey of object tracking algorithms [J]. Acta Automatica Sinica, 2019, 45(7): 1244-1260.
[ 9 ] 黃智慧, 詹瑾, 趙慧民, 等. 基于深度學(xué)習(xí)的視覺目標(biāo)跟蹤算法淺析[J]. 廣東技術(shù)師范學(xué)院學(xué)報, 2019, 40(3): 28-36.
Huang Zhihui, Zhan Jin, Zhao Huimin, et al. Analysis of object tracking algorithms based on deep learning technologies [J]. Journal of Guangdong Polytechnic Normal Univercity, 2019, 40(3): 28-36.
[10] Kashiha M, Bahr C, Ott S, et al. Automatic identification of marked pigs in a pen using image pattern recognition [J]. Computers and Electronics in Agriculture, 2013, 93: 111-120.
[11] 康熙, 張旭東, 劉剛, 等. 基于機(jī)器視覺的跛行奶牛牛蹄定位方法[J]. 農(nóng)業(yè)機(jī)械學(xué)報, 2019, 50(S1): 276-282.
Kang Xi, Zhang Xudong, Liu Gang, et al. Hoof location method of lame dairy cows based on machine vision [J]. Transactions of the Chinese Society for Agricultural Machinery, 2019, 50(S1): 276-282.
[12] Bewley A, Ge Z, Ott L, et al. Simple online and realtime tracking [C]. USA: IEEE, 2016.
[13] Wojke N, Bewley A, Paulus D. Simple online and realtime tracking with a deep association metric [C]. USA: IEEE, 2017.
[14] Du Y, Zhao Z, Song Y, et al. StrongSORT: Make DeepSORT great again [J]. IEEE Transactions on Multimedia, 2023: 13514-13532.
[15] Emami P, Pardalos P M, Elefteriadou L, et al. Machine learning methods for data association in multi?object tracking [J]. ACM Computing. Surveys, 2020, 53(4): 1-33.
[16] 李琦, 尚絳嵐, 李寶山. 基于 YOLOv3 和 DeepSORT 的草原牛跟蹤系統(tǒng)[J]. 傳感器與微系統(tǒng), 2021, 40(6): 83-85, 88.
Li Qi, Shang Jianglan, Li Baoshan. Grassland cattle tracking system based on YOLOv3 and DeepSORT [J]. Transducer and Microsystem Technologies, 2021, 40(6): 83-85, 88.
[17] 張宏鳴, 汪潤, 董佩杰, 等. 基于DeepSORT算法的肉牛多目標(biāo)跟蹤方法[J]. 農(nóng)業(yè)機(jī)械學(xué)報, 2021, 52(4): 248-256.
Zhang Hongming, Wang Run, Dong Peijie, et al. Beef cattle multi-target tracking based on DeepSORT algorithm [J]. Transactions of the Chinese Society for Agricultural Machinery, 2021, 52(4): 248-256.
[18] Cheng M, Yuan H, Wang Q, et al. Application of deep learning in sheep behaviors recognition and influence analysis of training data characteristics training data characteristics on the recognition effect [J]. Computers and Electronics in Agriculture, 2022, 198: 107010.
[19] 楊國欣. 基于Adaboost算法和視覺顯著性的羊只目標(biāo)檢測與計數(shù)方法研究[D]. 咸陽: 西北農(nóng)林科技大學(xué), 2019.
[20] 宋偉先. 基于深度學(xué)習(xí)的豬只目標(biāo)檢測及狀態(tài)分析[D]. 哈爾濱: 東北農(nóng)業(yè)大學(xué), 2019.
[21] Sumit S S, Watada J, Roy A, et al. In object detection deep learning methods, YOLO shows supremum to Mask R-CNN [J]. Journal of Physics Conference Series, 2020, 1529(4): 042086.
[22] Brown J, QiaoY,Clark C, et al. Automated aerial animal detection when spatial resolution conditions are varied [J]. Computers and Electronics in Agriculture, 2021, 193:106689.
[23] Liu M S, Gao J Q, Hu G, et al. Monkeytrail: A scalable video?based method for tracking macaque movement trajectory in daily living cages [J]. Zoological Research, 2021, 43(3): 343-351.
[24] 劉元峰, 姬海軍, 劉立波. 基于YOLOv5s的高速公路車輛實時檢測模型[J]. 液晶與顯示, 2022, 37(9): 1228-1241.
Liu Yuanfeng, Ji Haijun, Liu Libo. Real-time detection model of highway vehicle based on YOLOv5s [J]. Chinese Journal of Liquid Crystals and Displays, 2022, 37(9): 1228-1241.
[25] Wang Q, Cheng M, Huang S, et al. A deep learning approach incorporating YOLOv5 and attention mechanisms for field real-time detection of the invasive weed Solanum rostratum Dunal seedlings [J]. Computers and Electronics in Agriculture, 2022, 199: 107194.
[26] Woo S, Park J, Lee J Y, et al. CBAM: Convolutional block attention module [J]. European Conference on Computer Vision, 2018: 3-19.
[27] Evangelidis G D, Psarakis E Z. Parametric image alignment using enhanced correlation coefficient maximization [J]. IEEE transactions on pattern analysis and machine intelligence, 2008, 30(10): 1858-1865.
[28] Luo H, Jiang W, Gu Y, et al. A strong baseline and batch normalization neck for deep person re-identification [J]. IEEE Transactions on Multimedia, 2019, 22(10): 2597-2609.
[29] Ristani E, Solera F, Zou R, et al. Performance measures and a data set for multiple object, multi-camera tracking [C]. USA: IEEE, 2016.