楊斷利 王永勝 陳 輝 孫二東 王連增 寧 煒
(1.河北農(nóng)業(yè)大學(xué)信息科學(xué)與技術(shù)學(xué)院,保定 071001; 2.河北省農(nóng)業(yè)大數(shù)據(jù)重點(diǎn)實(shí)驗(yàn)室,保定 071001;3.河北農(nóng)業(yè)大學(xué)動(dòng)物科技學(xué)院,保定 071001; 4.農(nóng)業(yè)農(nóng)村部肉蛋雞養(yǎng)殖設(shè)施工程重點(diǎn)實(shí)驗(yàn)室,保定 071001;5.河北桃木疙瘩農(nóng)業(yè)科技股份有限公司,保定 074300; 6.河北省蛋雞產(chǎn)業(yè)技術(shù)研究院,邯鄲 056007;7.成都小巨人畜牧設(shè)備有限公司,成都 611435)
我國(guó)蛋雞養(yǎng)殖業(yè)發(fā)展迅速,目前已經(jīng)成為雞蛋產(chǎn)量最多的國(guó)家[1-2]。隨著物質(zhì)生活的提高,人們對(duì)優(yōu)質(zhì)蛋白的市場(chǎng)需求也在不斷擴(kuò)大,食品安全需要養(yǎng)殖業(yè)減抗、無(wú)抗生產(chǎn)[3]。健康養(yǎng)殖是實(shí)現(xiàn)無(wú)抗養(yǎng)殖的前提,家禽的行為信息與其生理健康狀況密切相關(guān)[4-5]。目前,對(duì)蛋雞健康狀況的監(jiān)測(cè)主要采用人工觀察的方式,此方法不僅需要大量的勞動(dòng)力、效率低下,而且易受主觀因素影響。
近年來(lái),國(guó)內(nèi)外學(xué)者在機(jī)器視覺(jué)技術(shù)識(shí)別動(dòng)物行為研究領(lǐng)域開(kāi)展了大量研究。李麗華等[6]通過(guò)K-means聚類(lèi)算法實(shí)現(xiàn)了對(duì)本交籠種雞的采食、飲水、打斗、交配和振翅行為的識(shí)別。RIDDLE等[7]手動(dòng)識(shí)別了圖像中的蛋雞站立、躺臥、棲息、拍打翅膀、沐浴灰塵等行為。勞鳳丹等[8]通過(guò)對(duì)蛋雞圖像的分割、形態(tài)學(xué)處理提取參數(shù)、利用貝葉斯分類(lèi)的方法,實(shí)現(xiàn)了對(duì)單只蛋雞的運(yùn)動(dòng)、飲水、采食、修飾、抖動(dòng)、休息、拍翅膀、探索、舉翅膀行為的識(shí)別。劉修林[9]利用最大類(lèi)間方差法實(shí)現(xiàn)了復(fù)雜背景下的雞體分割,然后根據(jù)位置信息實(shí)現(xiàn)了啄食、飲水、運(yùn)動(dòng)、靜止行為的識(shí)別。XIAO等[10]通過(guò)改進(jìn)活動(dòng)輪廓模型,分割出籠養(yǎng)雞的圖像技術(shù),提出了一種利用雙目視覺(jué)系統(tǒng)獲取行為信息的檢測(cè)方法。ZHUANG等[11]首先從復(fù)雜背景中提取家禽目標(biāo),然后計(jì)算家禽骨架結(jié)構(gòu)、建立特征向量,對(duì)家禽是否處于啄食狀態(tài)進(jìn)行了分析,同時(shí)利用支持向量機(jī)方法對(duì)家禽的健康狀況進(jìn)行了評(píng)估。上述文獻(xiàn)在動(dòng)物行為識(shí)別方面取得了相應(yīng)的進(jìn)展,但這些研究方法均具有人工圖像分割、手動(dòng)提取參數(shù)或特征的特點(diǎn),分割效果依賴于人的主觀經(jīng)驗(yàn),無(wú)法保證分割精度的穩(wěn)定性。
隨著深度學(xué)習(xí)技術(shù)的發(fā)展,越來(lái)越多的學(xué)者開(kāi)始嘗試將深度學(xué)習(xí)技術(shù)應(yīng)用于動(dòng)物行為識(shí)別。王凱[12]提出了改進(jìn)YOLO v3模型(TD-YOLO v3),實(shí)現(xiàn)了對(duì)蛋雞的采食、躺、站立、探索和修飾行為的檢測(cè)。WANG等[13]采用YOLO v3模型和遷移學(xué)習(xí)的方法,實(shí)現(xiàn)了對(duì)籠內(nèi)20只蛋雞的交配、站立、喂食、散步、打架和飲水6種行為的識(shí)別。MBELWA等[14]通過(guò)改進(jìn)的卷積神經(jīng)網(wǎng)絡(luò)(CNN),并采用遷移學(xué)習(xí)的方法,通過(guò)對(duì)雞糞便的識(shí)別,實(shí)現(xiàn)了對(duì)患有疾病雞的檢測(cè)。ZHANG等[15]通過(guò)改進(jìn)的ResNet模型(ResNet-FPN),實(shí)現(xiàn)了對(duì)病雞的檢測(cè)。WANG等[16]應(yīng)用RPN+ResNet模型根據(jù)糞便種類(lèi),實(shí)現(xiàn)對(duì)消化疾病的檢測(cè),從而對(duì)雞的健康狀況進(jìn)行預(yù)測(cè)。LIN等[17]利用Faster R-CNN模型實(shí)現(xiàn)了雞只運(yùn)動(dòng)和飲水行為的識(shí)別。不僅站立、采食、飲水、探索和梳羽行為能夠反映蛋雞的健康狀況,啄羽行為也能反映蛋雞的健康狀況[18]。上述文獻(xiàn)在蛋雞健康狀態(tài)的行為識(shí)別中,雞舍背景簡(jiǎn)單且缺少對(duì)蛋雞啄羽行為的關(guān)注。
利用深度學(xué)習(xí)技術(shù)識(shí)別蛋雞行為,具有網(wǎng)絡(luò)模型自動(dòng)提取行為特征、不需人工參與的特點(diǎn),不僅能夠解決人工觀察法耗費(fèi)大量勞動(dòng)力的弊端,而且還能夠解決圖像處理法的分割效果依賴于人的主觀性、分割精度不穩(wěn)定的問(wèn)題[19]。因此,本研究基于深度學(xué)習(xí)技術(shù),選用YOLO v5模型,通過(guò)引入SEAM注意力模塊和顯式視覺(jué)中心模塊(EVCBlock),對(duì)YOLO v5模型進(jìn)行優(yōu)化,實(shí)現(xiàn)遮擋情況下的小個(gè)體蛋雞站立、采食、飲水、探索、啄羽和梳羽6種日常行為的自動(dòng)識(shí)別,提升模型的識(shí)別精度。在行為識(shí)別的基礎(chǔ)上,進(jìn)一步對(duì)蛋雞群體行為的變化規(guī)律進(jìn)行統(tǒng)計(jì)分析。
本試驗(yàn)于2022年9月7—24日在河北桃木疙瘩農(nóng)業(yè)科技股份有限公司中莊養(yǎng)殖基地長(zhǎng)3 m、寬2 m、柱高1.2 m、頂高2 m的移動(dòng)式雞舍內(nèi)飼養(yǎng)了20只健康狀態(tài)良好的太行山蛋雞,雞舍內(nèi)部放置一個(gè)食槽、一個(gè)飲水桶和一個(gè)產(chǎn)蛋箱,于每日09:00和15:00喂食、拾取雞蛋。試驗(yàn)采用焦距為 2.8 mm、幀率為25 f/s、分辨率為2 560像素×1 920像素的??低?DS-2CD3T56FWDV2-15)廣角攝像頭對(duì)蛋雞每日09:00—18:00間的日常行為進(jìn)行錄制,并通過(guò)網(wǎng)線將數(shù)據(jù)傳輸?shù)饺萘繛?TB的海康威視網(wǎng)絡(luò)硬盤(pán)錄像機(jī)(DS-7804N-K1/4P(D))中。攝像頭安裝在雞舍內(nèi)部中間頂部,距地面2 m,垂直向下拍攝[20]。采集環(huán)境如圖1所示。
圖1 采集環(huán)境
本文選擇蛋雞站立、采食、飲水、探索、啄羽和梳羽共6種與蛋雞健康狀況評(píng)估相關(guān)的行為作為研究對(duì)象,蛋雞行為判定標(biāo)準(zhǔn)如表1所示,各行為示例如圖2所示。
表1 蛋雞行為判定標(biāo)準(zhǔn)
圖2 各行為示例圖
利用幀提取的方法每隔30幀提取1幅圖像,隨機(jī)選擇不同時(shí)間下的圖像作為蛋雞日常行為識(shí)別數(shù)據(jù)集。數(shù)據(jù)集中圖像的質(zhì)量會(huì)顯著影響模型的訓(xùn)練效果[21],因此,需要對(duì)提取出的圖像進(jìn)行數(shù)據(jù)清洗,去除模糊圖像。最后利用LabelImg工具對(duì)蛋雞日常行為識(shí)別數(shù)據(jù)集進(jìn)行標(biāo)注,制作成Pascal VOC[22]格式數(shù)據(jù)集,并按照7∶2∶1的比例劃分為訓(xùn)練集、驗(yàn)證集和測(cè)試集。
為了避免模型過(guò)擬合,增強(qiáng)算法的魯棒性[23],本文采用離線增強(qiáng)方式,隨機(jī)選擇旋轉(zhuǎn)、縮放、鏡像的方式對(duì)訓(xùn)練集中的圖像進(jìn)行數(shù)據(jù)增強(qiáng)。數(shù)據(jù)增強(qiáng)后的樣本如圖3所示。
圖3 數(shù)據(jù)增強(qiáng)效果圖
經(jīng)過(guò)數(shù)據(jù)預(yù)處理后,蛋雞日常行為識(shí)別數(shù)據(jù)集共包括3 019幅圖像。如圖3所示,同時(shí)對(duì)原圖像進(jìn)行了鏡像、旋轉(zhuǎn)和縮放操作,增加了圖像的多樣性。試驗(yàn)總體流程圖如圖4所示。
如圖4所示,整個(gè)試驗(yàn)首先進(jìn)行數(shù)據(jù)采集,獲得蛋雞日常行為圖像,其次對(duì)圖像進(jìn)行預(yù)處理操作,為模型訓(xùn)練做準(zhǔn)備。經(jīng)模型訓(xùn)練后,進(jìn)行性能測(cè)試和結(jié)果分析。
YOLO v5模型兼顧了推理速度和檢測(cè)精度[24],根據(jù)網(wǎng)絡(luò)結(jié)構(gòu)的深度和寬度的不同,將YOLO v5模型分為YOLO v5n、YOLO v5s、YOLO v5m、YOLO v5l和YOLO v5x共5個(gè)版本。為了選取合適的版本,使用本試驗(yàn)的蛋雞日常行為識(shí)別數(shù)據(jù)集分別訓(xùn)練上述5個(gè)模型,利用測(cè)試集進(jìn)行識(shí)別效果評(píng)估,不同版本的YOLO v5模型檢測(cè)精度對(duì)比如表2所示。
表2 不同版本的YOLO v5模型檢測(cè)精度對(duì)比
從表2可知,YOLO v5s模型對(duì)蛋雞日常行為識(shí)別的精確率為81.55%,召回率為76.52%,F1值為78.95%,平均精度均值為82.31%,參數(shù)量為7.03×106。與YOLO v5n模型相比,精確率、召回率、F1值和平均精度均值分別提升10.73、6.50、8.53、10.25個(gè)百分點(diǎn),參數(shù)量?jī)H增加 5.26×106,與YOLO v5m、YOLO v5l以及YOLO v5x模型相比,雖然平均精度均值降低了0.58、1.26、1.83個(gè)百分點(diǎn),但是參數(shù)量分別減少 1.384×107、3.911×107、7.918×107。綜合模型檢測(cè)精度和模型復(fù)雜度,本文選取YOLO v5s模型作為蛋雞日常行為識(shí)別基本模型。YOLO v5s模型結(jié)構(gòu)如圖5 所示。
圖5 YOLO v5s模型結(jié)構(gòu)圖
YOLO v5s模型包括輸入、特征提取、特征融合和輸出4部分。輸入部分用于向模型輸入預(yù)先處理好的蛋雞圖像;特征提取部分采用了CSPDarknet53結(jié)構(gòu),用于提取目標(biāo)的語(yǔ)義信息;特征融合部分使用了PAN結(jié)構(gòu),用于對(duì)特征提取部分提取到的特征進(jìn)行處理[25],融合不同尺度信息,增強(qiáng)特征的表達(dá);輸出部分共包括3個(gè)分支,特征圖尺寸分別為80像素×80像素、40像素×40像素和 20像素×20像素,分別用于識(shí)別小、中、大目標(biāo),并進(jìn)行輸出。
針對(duì)雞只個(gè)體目標(biāo)較小、蛋雞之間重疊遮擋導(dǎo)致的有效特征不足、丟失、遺漏、行為識(shí)別效果不理想的問(wèn)題,本文以YOLO v5s模型為基礎(chǔ),通過(guò)引入SEAM注意力模塊和顯式視覺(jué)中心模塊,構(gòu)建改進(jìn)YOLO v5s模型(SEEC-YOLO v5s),增強(qiáng)模型特征提取能力,提升行為識(shí)別精度。優(yōu)化后的SEEC-YOLO v5s模型結(jié)構(gòu)如圖6所示。
在圖6中的輸出部分加入SEAM注意力模塊[26](圖6中的改進(jìn)1),將特征融合部分的3個(gè)不同尺度輸出層與輸出部分的3個(gè)檢測(cè)頭進(jìn)行連接,解決蛋雞之間因?yàn)檎趽鯇?dǎo)致的有效特征丟失問(wèn)題。在特征融合部分的特征金字塔網(wǎng)絡(luò)(FPN)結(jié)構(gòu)中加入顯式視覺(jué)中心模塊(EVCBlock)[27](圖6中的改進(jìn)2),解決雞只目標(biāo)較小、有效特征不足、容易被遺漏的問(wèn)題。
2.2.1SEAM注意力模塊
蛋雞個(gè)體間的遮擋會(huì)導(dǎo)致雞體局部混疊、重要特征缺失[26]。利用SEAM模塊,將YOLO v5s模型特征融合部分的3個(gè)不同尺度輸出層與輸出部分的3個(gè)檢測(cè)頭進(jìn)行連接,可突出圖像中的蛋雞區(qū)域,弱化背景區(qū)域,實(shí)現(xiàn)多尺度下的蛋雞日常行為檢測(cè)。SEAM模塊結(jié)構(gòu)圖如圖7所示。
SEAM模塊的第1部分是帶有殘差連接的深度可分離卷積。深度可分離卷積不僅能減少模型的參數(shù)量,而且還可以利用逐通道運(yùn)算,學(xué)習(xí)多個(gè)不同通道的重要特征,提升模型的特征提取能力。但是深度可分離卷積在學(xué)習(xí)不同通道的重要特征時(shí),由于沒(méi)有考慮通道之間的特征聯(lián)系,所以對(duì)不同通道的特征提取并不充分。因此,為了彌補(bǔ)深度可分離卷積的不足,SEAM模塊在不同深度可分離卷積的輸出后進(jìn)行了逐點(diǎn)卷積操作,最后通過(guò)一個(gè)兩層的全連接網(wǎng)絡(luò)融合各通道的特征,實(shí)現(xiàn)了所有通道之間的連接。第2部分是將全連接層的輸出結(jié)果通過(guò)指數(shù)函數(shù)進(jìn)行處理,并將取值范圍從[0,1]擴(kuò)大到[1,e],使得上一步學(xué)習(xí)到的被遮擋蛋雞的有效特征與無(wú)遮擋的有效特征相互聯(lián)系,最后將SEAM模塊的輸出作為特征與原始特征相乘,使模型能夠有效地解決蛋雞個(gè)體間遮擋帶來(lái)的有效特征丟失的問(wèn)題。
2.2.2顯式視覺(jué)中心模塊
蛋雞個(gè)體目標(biāo)較小,有效特征不足且容易產(chǎn)生遺漏,致使模型識(shí)別精度較低。為了盡可能多地提取蛋雞個(gè)體有效特征,本文在特征融合部分的FPN結(jié)構(gòu)中加入了顯式視覺(jué)中心模塊(EVCBlock)。EVCBlock模塊結(jié)構(gòu)如圖8所示。
圖8 EVCBlock模塊結(jié)構(gòu)圖
EVCBlock模塊主要包括輕量級(jí)MLP和可學(xué)習(xí)的視覺(jué)中心機(jī)制,輕量級(jí)的MLP用來(lái)獲取模型中EVCBlock模塊上一層傳入特征X4的全局特征信息,可學(xué)習(xí)的視覺(jué)中心機(jī)制用于聚合模型中EVCBlock模塊上一層傳入特征X4的局部區(qū)域特征信息。EVCBlock模塊將獲得的全局特征信息和局部區(qū)域特征信息沿著通道維度進(jìn)行拼接,生成最后的特征。由于EVCBlock模塊學(xué)習(xí)的特征中不僅包括全局的特征信息,還包括局部區(qū)域的特征信息,特征信息較豐富,因此,能夠解決蛋雞個(gè)體目標(biāo)較小、特征遺漏的問(wèn)題。
EVCBlock模塊并未直接對(duì)模型中EVCBlock模塊上一層的傳入特征X4進(jìn)行操作,而是先將上一層的傳入特征X4通過(guò)Stem模塊進(jìn)行操作,然后再對(duì)經(jīng)過(guò)Stem模塊處理后的特征進(jìn)行操作。
Stem模塊依次通過(guò)卷積核為7×7、輸出通道數(shù)為256的卷積操作、批歸一化(Batch normalization)操作,并使用ReLU作為激活函數(shù)。Stem模塊主要用于對(duì)模型中EVCBlock模塊上一層的傳入特征X4進(jìn)行特征平滑。
EVCBlock模塊的計(jì)算公式為
X=Concat(MLP(Xin);LVC(Xin))
(1)
其中
Xin=σ(BN(Conv7×7(X4)))
(2)
式中X——EVCBlock模塊的輸出
Concat()——沿channel維度的特征圖拼接操作
MLP(Xin)——使用輕量級(jí)MLP的輸出特征
LVC(Xin)——使用可學(xué)習(xí)的視覺(jué)中心機(jī)制的輸出特征
Xin——Stem模塊的輸出
σ()——ReLU激活函數(shù)
當(dāng)談到醫(yī)養(yǎng)結(jié)合的現(xiàn)實(shí)問(wèn)題,才40歲出頭的張振美捋了捋頭上的白頭發(fā),“就是為了辦個(gè)社區(qū)醫(yī)療機(jī)構(gòu)的手續(xù),我都不知道咨詢了多少人,跑了多少腿了?!遍_(kāi)始時(shí),張振美想在養(yǎng)老服務(wù)中心開(kāi)設(shè)個(gè)醫(yī)務(wù)室或診所,這樣可以解決入住老人的基本醫(yī)護(hù)問(wèn)題。普通人會(huì)認(rèn)為,我只需聘請(qǐng)持證的專(zhuān)業(yè)醫(yī)護(hù)人員就可以了,但實(shí)際沒(méi)這么簡(jiǎn)單:“醫(yī)療機(jī)構(gòu)的負(fù)責(zé)人必須由專(zhuān)人擔(dān)任,比如我想從某家知名大醫(yī)院聘請(qǐng)一位退休醫(yī)療專(zhuān)家來(lái)?yè)?dān)任醫(yī)療機(jī)構(gòu)負(fù)責(zé)人,按審批相關(guān)規(guī)定,所聘請(qǐng)的這位專(zhuān)家必須先解除與大醫(yī)院的身份關(guān)系,再把關(guān)系轉(zhuǎn)至我們這家內(nèi)設(shè)醫(yī)療機(jī)構(gòu)才符合要求,如此這樣一來(lái),我們想聘請(qǐng)有經(jīng)驗(yàn)的老專(zhuān)家顯然是比較困難的。”
BN()——批歸一化層操作
Conv7×7——卷積核為7×7、步幅為1、輸出通道數(shù)為256的卷積操作
本研究所用的硬件配置和試驗(yàn)環(huán)境如表3所示。使用相同的蛋雞日常行為數(shù)據(jù)集分別對(duì)YOLO v5的5個(gè)版本模型、Faster R-CNN、YOLO X-s、YOLO v4-tiny、YOLO v7-tiny以及SEEC-YOLO v5s模型進(jìn)行訓(xùn)練。試驗(yàn)所采用的超參數(shù):輸入圖像尺寸為640像素×640像素,訓(xùn)練批量大小(Batch size)為8,迭代周期(Epoch)為100,線程數(shù)(num workers)為8,初始學(xué)習(xí)率(Initial learning rate)為0.01,動(dòng)量因子(Momentum)為0.937,優(yōu)化器為隨機(jī)梯度(SGD),利用最優(yōu)權(quán)重對(duì)模型進(jìn)行評(píng)價(jià)。
表3 硬件配置和試驗(yàn)環(huán)境
本文利用精確率(Precision,P)、召回率(Recall,R)、平均精度(Average precision,AP)、F1值、平均精度均值(Mean average precision,mAP)和參數(shù)量對(duì)模型性能進(jìn)行評(píng)估。
精確率表示正確檢測(cè)出的目標(biāo)與識(shí)別出的所有目標(biāo)的比值,召回率表示檢測(cè)出為正類(lèi)且真實(shí)類(lèi)別也為正類(lèi)的目標(biāo)數(shù)量與真實(shí)類(lèi)別為正類(lèi)的所有目標(biāo)總數(shù)的比值,平均精度表示對(duì)每個(gè)類(lèi)檢測(cè)的結(jié)果,F1值表示精確率和召回率的調(diào)和平均值,平均精度均值表示對(duì)所有類(lèi)別的檢測(cè)結(jié)果。
在日常生活中,可以對(duì)蛋雞群體進(jìn)行各種行為的持續(xù)時(shí)間統(tǒng)計(jì),從而判斷蛋雞的生活習(xí)性,并分析其健康狀況,為蛋雞福利養(yǎng)殖提供借鑒[28]。
通過(guò)對(duì)幀速率計(jì)算公式的變換,可以實(shí)現(xiàn)對(duì)蛋雞日常行為持續(xù)時(shí)間的統(tǒng)計(jì),即利用SEEC-YOLO v5s模型對(duì)蛋雞的日?;顒?dòng)視頻進(jìn)行識(shí)別,并對(duì)各種行為的識(shí)別結(jié)果進(jìn)行統(tǒng)計(jì),通過(guò)檢測(cè)出的各行為視頻幀數(shù)與視頻幀率的比值,獲得各種日常行為的持續(xù)時(shí)間T(單位為min)。
為了驗(yàn)證不同模型對(duì)蛋雞日常行為識(shí)別的效果,采用相同的蛋雞日常行為識(shí)別數(shù)據(jù)集分別對(duì)Faster R-CNN模型、YOLO X-s模型、YOLO v4-tiny模型、YOLO v7-tiny模型、YOLO v5s模型以及本文模型(SEEC-YOLO v5s)進(jìn)行訓(xùn)練,利用精確率、召回率、F1值、平均精度均值和參數(shù)量進(jìn)行效果評(píng)估,試驗(yàn)結(jié)果如表4所示。
表4 不同模型識(shí)別結(jié)果對(duì)比
從表4可以看出,SEEC-YOLO v5s模型對(duì)蛋雞日常行為識(shí)別的精確率、召回率、F1 值、平均精度均值以及參數(shù)量分別為82.34%、81.30%、81.82%、84.65%和1.279×107。在檢測(cè)精度方面,精確率、F1值和平均精度均值比Faster R-CNN模型分別高17.54、9.49、4.30個(gè)百分點(diǎn),比YOLO X-s模型分別高6.60、2.83、3.06個(gè)百分點(diǎn),比YOLO v4-tiny模型分別高5.61、8.39、7.11個(gè)百分點(diǎn),比YOLO v7-tiny 模型分別高5.61、3.93、2.99個(gè)百分點(diǎn),比YOLO v5s模型分別高0.79、2.87、2.34個(gè)百分點(diǎn)。SEEC-YOLO v5s模型的召回率略低于Faster R-CNN模型和YOLO X-s模型,與YOLO v4-tiny模型、YOLO v7-tiny模型和YOLO v5s模型相比分別高7.65、2.21、4.78個(gè)百分點(diǎn)。在模型復(fù)雜度方面,SEEC-YOLO v5s模型參數(shù)量與其他模型相近,僅為Faster R-CNN模型參數(shù)量的10.70%。因此,從檢測(cè)精度和模型復(fù)雜度兩方面綜合來(lái)看,SEEC-YOLO v5s模型在蛋雞日常行為檢測(cè)方面更有優(yōu)勢(shì)。
從表5中可以看出,SEEC-YOLO v5s模型對(duì)蛋雞的采食行為的識(shí)別精度最高,達(dá)到98.46%,對(duì)啄羽行為的識(shí)別精度最低,僅為67.52%,分析原因可能是啄羽行為在所有行為中屬于少數(shù)異常行為,采集得到的數(shù)據(jù)集中啄羽行為占比只有3.68%,因此基于深度學(xué)習(xí)算法對(duì)啄羽行為的識(shí)別精度普遍偏低,可通過(guò)長(zhǎng)時(shí)間采集大量啄羽行為訓(xùn)練模型來(lái)提升啄羽行為的識(shí)別精度。SEEC-YOLO v5s模型對(duì)采食、探索、啄羽和梳羽4種行為的識(shí)別精度均高于其他模型,SEEC-YOLO v5s模型對(duì)4種行為的識(shí)別精度最少提高1.23個(gè)百分點(diǎn),最高提高13.37個(gè)百分點(diǎn)。SEEC-YOLO v5s模型對(duì)站立行為的識(shí)別精度比YOLO X-s和YOLO v5s模型低0.47、1.21個(gè)百分點(diǎn),對(duì)飲水行為的識(shí)別精度比Faster R-CNN和YOLO X-s模型低3.80、0.79個(gè)百分點(diǎn)??傮w而言,SEEC-YOLO v5s模型對(duì)蛋雞日常行為的識(shí)別具有一定的優(yōu)勢(shì)。
隨機(jī)從本試驗(yàn)的蛋雞日常行為識(shí)別數(shù)據(jù)集中選擇1幅圖像,分別利用Faster R-CNN、YOLO X-s、YOLO v4-tiny、YOLO v7-tiny、YOLO v5s和本文模型(SEEC-YOLO v5s)對(duì)此圖像進(jìn)行識(shí)別,識(shí)別效果如圖9所示。
通過(guò)對(duì)比發(fā)現(xiàn),如圖9a中的紅色箭頭所示,Faster R-CNN模型誤將1只蛋雞行為識(shí)別為2種行為,如綠色箭頭所示,也誤識(shí)別出了雞舍外部不屬于本試驗(yàn)的蛋雞。如圖9b中紅色箭頭所示,YOLO X-s模型雖然正確識(shí)別了蛋雞的行為,但是與圖9f本文模型相比,識(shí)別的置信度較低。如圖9c中紅色箭頭所示,YOLO v4-tiny模型存在多處漏檢行為,如藍(lán)色箭頭所示,誤將探索和站立的蛋雞識(shí)別為了站立和梳羽行為。如圖9d中紅色箭頭所示,當(dāng)?shù)半u被遮擋時(shí),YOLO v7-tiny模型的目標(biāo)置信度較SEEC-YOLO v5s模型更低;如圖9e中紅色箭頭所示,YOLO v5s模型對(duì)蛋雞日常行為識(shí)別存在多處漏檢行為;圖9f中的SEEC-YOLO v5s模型能夠準(zhǔn)確識(shí)別出雞舍內(nèi)部每只蛋雞的行為。
綜上所述,Faster R-CNN模型對(duì)蛋雞日常行為識(shí)別存在多處將1只蛋雞誤識(shí)別為2種行為的情況,表明Faster R-CNN模型對(duì)蛋雞日常行為識(shí)別能力較差;YOLO X-s和YOLO v7-tiny模型在蛋雞存在遮擋情況下置信度較低,表明YOLO X-s和YOLO v7-tiny模型在遮擋情況下,對(duì)目標(biāo)特征的學(xué)習(xí)能力較弱;YOLO v4-tiny和YOLO v5s模型存在多處漏檢情況,表明YOLO v4-tiny和YOLO v5s模型對(duì)較小目標(biāo)的識(shí)別能力不足。因此,從檢測(cè)精度、模型復(fù)雜度和識(shí)別效果3方面來(lái)看,SEEC-YOLO v5s模型對(duì)蛋雞日常行為識(shí)別的總體效果最好。
利用本文數(shù)據(jù)集,使用平均精度均值和各類(lèi)別的平均精度指標(biāo),對(duì)YOLO v5s、YOLO v5s+SEAM、YOLO v5s+EVCBlock和 SEEC-YOLO v5s模型,通過(guò)消融試驗(yàn)進(jìn)行識(shí)別效果對(duì)比,進(jìn)一步驗(yàn)證SEEC-YOLO v5s模型的性能,試驗(yàn)結(jié)果如表6所示。
表6 消融試驗(yàn)結(jié)果對(duì)比
通過(guò)表6可以發(fā)現(xiàn),YOLO v5s+SEAM模型和YOLO v5s+EVCBlock模型對(duì)蛋雞6種行為識(shí)別的平均精度均值與YOLO v5s模型相比,分別提高0.75、1.91個(gè)百分點(diǎn)。其中,YOLO v5s+SEAM模型對(duì)站立、采食、飲水和探索行為識(shí)別的平均精度較YOLO v5s模型分別提高0.07、0.11、2.69、0.08個(gè)百分點(diǎn);YOLO v5s+EVCBlock模型對(duì)站立、采食、飲水、啄羽和梳羽行為識(shí)別的平均精度較YOLO v5s模型分別提高1.67、0.97、4.52、1.29、3.60個(gè)百分點(diǎn),表明添加SEAM注意力模塊和EVCBlock模塊后均能對(duì)蛋雞日常行為的識(shí)別有一定的促進(jìn)作用。
與YOLO v5s模型相比,SEEC-YOLO v5s模型對(duì)站立行為識(shí)別的平均精度有所降低,分析原因在于,蛋雞個(gè)體間存在遮擋,在視覺(jué)上腿部呈現(xiàn)不明顯,致使區(qū)分站立行為的有效特征變少,因此,對(duì)站立行為識(shí)別結(jié)果有所降低。對(duì)采食、飲水、探索、啄羽和梳羽行為識(shí)別結(jié)果均有所提升,表明SEEC-YOLO v5s模型對(duì)蛋雞日常行為識(shí)別效果有明顯提升。
Gard-CAM可以將模型對(duì)蛋雞行為特征的學(xué)習(xí)程度以熱力圖的方式顯示[29-30],特征圖可視化也可以直接顯示出模型對(duì)重要信息的學(xué)習(xí)能力。因此,為了進(jìn)一步檢驗(yàn)本文模型(SEEC-YOLO v5s)對(duì)蛋雞日常行為識(shí)別的有效性,隨機(jī)選擇1幅圖像,分別利用YOLO v5s模型和SEEC-YOLO v5s模型對(duì)輸出部分的3種不同尺度的輸出層進(jìn)行特征圖可視化和熱力圖顯示,結(jié)果分別如圖10、11所示。
圖10 特征圖可視化結(jié)果對(duì)比
圖10a~10c為YOLO v5s模型在輸出層P3、P4、P5的可視化結(jié)果,圖10d~10f為本文模型在輸出層P3、P4、P5的可視化結(jié)果。通過(guò)對(duì)比兩個(gè)模型在P3輸出層的可視化結(jié)果發(fā)現(xiàn),本文模型對(duì)蛋雞小目標(biāo)特征的識(shí)別效果更明顯,學(xué)習(xí)的特征更豐富,在輸出層P4、P5中,本文模型的可視化效果也均優(yōu)于YOLO v5s模型。
圖11a~11c為YOLO v5s模型在上述隨機(jī)選擇的圖像上通過(guò)Gard-CAM對(duì)P3、P4、P5輸出層進(jìn)行熱力圖顯示的結(jié)果,圖11d~11f為本文模型在上述隨機(jī)選擇的圖像上通過(guò)Gard-CAM對(duì)輸出層P3、P4、P5進(jìn)行熱力圖顯示的結(jié)果。通過(guò)對(duì)比兩模型在輸出層P3和P4的熱力圖發(fā)現(xiàn),本文模型對(duì)蛋雞目標(biāo)區(qū)域的熱力較高,對(duì)無(wú)關(guān)區(qū)域的熱力較低,能夠更好地學(xué)習(xí)蛋雞日常行為特征。綜上所述,從識(shí)別精度和特征圖可視化以及熱力圖顯示的效果分析,再一次證明了本文模型對(duì)蛋雞日常行為識(shí)別的效果更優(yōu)。
圖11 熱力圖效果對(duì)比
為了驗(yàn)證本文模型對(duì)不同遮擋情況下小個(gè)體蛋雞行為的檢測(cè)性能,從測(cè)試集中隨機(jī)選取2幅不同遮擋情況下的蛋雞圖像,并利用YOLO v5s和本文模型(SEEC-YOLO v5s)進(jìn)行檢測(cè)。結(jié)果如圖12所示。
圖12 不同遮擋情況下檢測(cè)效果
對(duì)比圖12a、12b中黃色圈所標(biāo)注的蛋雞檢測(cè)結(jié)果可以發(fā)現(xiàn),在無(wú)遮擋的情況下,YOLO v5s模型將處于站立行為的蛋雞誤識(shí)別為站立和探索兩種行為,而本文模型準(zhǔn)確識(shí)別出了蛋雞的站立行為。對(duì)比圖12a、12b中藍(lán)色圈所標(biāo)注的蛋雞檢測(cè)結(jié)果可以發(fā)現(xiàn),當(dāng)?shù)半u只顯示出了頭部和尾部,身體部分被另一只蛋雞嚴(yán)重遮擋時(shí),YOLO v5s模型雖然識(shí)別出了被遮擋蛋雞的行為,但是對(duì)蛋雞定位時(shí)只定位出了尾部,蛋雞的頭部被遺漏(如圖12a中藍(lán)色箭頭處),影響最終的識(shí)別精度,本文模型不僅準(zhǔn)確識(shí)別出了蛋雞的行為,而且相較于YOLO v5s模型,對(duì)被嚴(yán)重遮擋的蛋雞定位也更準(zhǔn)確。
對(duì)比圖12c、12d中粉色圈1所標(biāo)注的蛋雞檢測(cè)結(jié)果可以發(fā)現(xiàn),當(dāng)某只蛋雞的尾部被其他蛋雞輕微遮擋時(shí),雖然YOLO v5s模型和本文模型均識(shí)別出了被遮擋蛋雞的行為,但是YOLO v5s模型識(shí)別的置信度(0.85)低于本文模型的置信度(0.87);對(duì)比粉色圈2所標(biāo)注的蛋雞檢測(cè)結(jié)果可以發(fā)現(xiàn),當(dāng)?shù)半u的腹部被完全遮擋時(shí),YOLO v5s模型出現(xiàn)了誤識(shí)別現(xiàn)象,而本文模型準(zhǔn)確識(shí)別出了蛋雞所處的行為。
綜上所述,在無(wú)遮擋、蛋雞腹部或尾部被其他雞只輕微遮擋或者是蛋雞的身體被嚴(yán)重遮擋,只剩下頭部和尾部情況下,本文模型均能夠準(zhǔn)確檢測(cè)出蛋雞的行為,而YOLO v5模型均出現(xiàn)了一定的誤檢現(xiàn)象,表明本文模型在不同遮擋情況下對(duì)蛋雞日常行為的檢測(cè)效果更優(yōu)。
試驗(yàn)期間雞群視頻錄制時(shí)間為每日09:00—18:00,喂食時(shí)間為每日09:00和15:00。為了分析雞群各行為不同時(shí)間段的變化規(guī)律,隨機(jī)選取連續(xù)4 d的視頻錄像,并將每天錄像每隔30 min劃分1個(gè)時(shí)間段,共18個(gè)時(shí)間段。利用本文模型對(duì)劃分后的蛋雞視頻錄像進(jìn)行識(shí)別,求得4 d內(nèi)18個(gè)時(shí)間段的平均值,并按照2.5節(jié)所述的持續(xù)時(shí)間統(tǒng)計(jì)方法將識(shí)別出的幀數(shù)轉(zhuǎn)換為持續(xù)時(shí)間并進(jìn)行分析。結(jié)果如表7和圖13所示。
表7 蛋雞各行為的持續(xù)時(shí)間統(tǒng)計(jì)
圖13 不同時(shí)間段蛋雞各行為持續(xù)時(shí)間
觀察表7和圖13發(fā)現(xiàn),蛋雞的飲水、探索和啄羽行為在各時(shí)間段持續(xù)時(shí)間基本保持穩(wěn)定。站立行為在11:00—15:30時(shí)間段持續(xù)時(shí)間高于其他時(shí)間段,推測(cè)可能與溫度有關(guān),溫度較高的時(shí)間段,站立行為持續(xù)時(shí)間較其他時(shí)間段會(huì)更長(zhǎng)。采食行為在11:00—15:00和16:30—18:00期間持續(xù)時(shí)間明顯低于其他時(shí)間段。梳羽行為在11:30—16:00區(qū)間內(nèi)持續(xù)時(shí)間明顯較低。統(tǒng)計(jì)結(jié)果為依據(jù)行為規(guī)律判斷蛋雞健康狀態(tài)奠定了基礎(chǔ)。
為了分析每天09:00—18:00期間蛋雞6種日常行為之間的變化規(guī)律,利用本文模型對(duì)選取的連續(xù)4 d視頻錄像進(jìn)行行為識(shí)別,利用2.5節(jié)提出的持續(xù)時(shí)間統(tǒng)計(jì)方法分別對(duì)每天蛋雞6種行為持續(xù)時(shí)間進(jìn)行統(tǒng)計(jì),結(jié)果如表8所示,全天內(nèi)各行為持續(xù)時(shí)間對(duì)比如圖14所示。
表8 全天內(nèi)蛋雞日常行為發(fā)生時(shí)間
圖14 全天內(nèi)各行為持續(xù)時(shí)間對(duì)比
通過(guò)觀察圖14可知,在這4 d中,每天每種蛋雞日常行為持續(xù)時(shí)間基本保持相同,站立、采食、飲水、探索、啄羽和梳羽6種行為持續(xù)的平均時(shí)間分別為4 534.55、1 723.76、126.64、2 529.88、105.00、1 243.28 min,占蛋雞整天活動(dòng)時(shí)間的比值分別為44.18%、16.80%、1.23%、24.65%、1.02%、12.11%。一天當(dāng)中,站立行為持續(xù)時(shí)間最長(zhǎng),飲水和啄羽行為持續(xù)時(shí)間最短。站立行為持續(xù)時(shí)間比其它5種行為持續(xù)時(shí)間分別長(zhǎng)2 810.78、4 407.90、2 004.66、4 429.55、3 291.27 min。通過(guò)對(duì)比可知,在一天當(dāng)中,蛋雞大部分時(shí)間會(huì)處于站立和探索狀態(tài),這兩種行為占每天活動(dòng)時(shí)間的68.83%,上述統(tǒng)計(jì)結(jié)果為通過(guò)統(tǒng)計(jì)蛋雞各行為持續(xù)時(shí)間評(píng)估蛋雞健康狀況提供了數(shù)據(jù)依據(jù)。
蛋雞的健康狀態(tài)影響著養(yǎng)殖戶的經(jīng)濟(jì)效益,為了便于觀察蛋雞行為,本試驗(yàn)利用PyQt5對(duì)SEEC-YOLO v5s模型進(jìn)行封裝、打包,制作了蛋雞日常行為識(shí)別與顯示系統(tǒng),實(shí)現(xiàn)了對(duì)蛋雞行為的自動(dòng)監(jiān)測(cè)。
蛋雞日常行為識(shí)別與統(tǒng)計(jì)系統(tǒng)的總體框架如圖15所示,主要包括數(shù)據(jù)獲取、蛋雞日常行為識(shí)別、參數(shù)設(shè)置和顯示。
圖15 蛋雞日常行為識(shí)別與顯示系統(tǒng)總體框架圖
數(shù)據(jù)獲取部分是用于選擇數(shù)據(jù)獲取的主要渠道,包括本地文件獲取和攝像頭調(diào)用2種方式。蛋雞日常行為識(shí)別部分通過(guò)調(diào)用訓(xùn)練好的模型,對(duì)數(shù)據(jù)獲取部分送入的數(shù)據(jù)進(jìn)行識(shí)別,并對(duì)當(dāng)前幀圖像中識(shí)別出的各行為總持續(xù)時(shí)間進(jìn)行統(tǒng)計(jì);參數(shù)設(shè)置部分包括權(quán)重文件選擇、IoU閾值、置信度閾值調(diào)整;顯示部分是對(duì)原始數(shù)據(jù)、識(shí)別效果和當(dāng)前幀圖像中識(shí)別出的各行為持續(xù)時(shí)間的顯示。
如圖16所示,用戶進(jìn)入蛋雞日常行為識(shí)別與顯示系統(tǒng)主界面后,在數(shù)據(jù)獲取部分選擇獲取識(shí)別數(shù)據(jù)的方式,在參數(shù)設(shè)置部分選擇訓(xùn)練好的權(quán)重文件,并對(duì)置信度閾值和NMS閾值進(jìn)行調(diào)整,通過(guò)點(diǎn)擊播放按鈕啟動(dòng)蛋雞日常行為識(shí)別,識(shí)別效果會(huì)顯示在顯示部分,識(shí)別效果如圖17所示。
圖16 系統(tǒng)主界面
圖17 識(shí)別效果圖
如圖17所示,當(dāng)完成對(duì)蛋雞日常行為識(shí)別后,會(huì)在系統(tǒng)頁(yè)面最左端,“結(jié)果顯示”下方顯示出識(shí)別出的各種行為雞只個(gè)數(shù)。此幅圖像識(shí)別結(jié)果為:探索行為有7只蛋雞,站立行為有7只蛋雞,啄羽行為有2只蛋雞,采食行為有2只蛋雞,梳羽行為有1只蛋雞。
(1)提出了一種基于SEEC-YOLO v5s的蛋雞日常行為識(shí)別方法。通過(guò)在YOLO v5s模型的輸出部分引入SEAM結(jié)構(gòu),突出了圖像中的蛋雞區(qū)域,弱化了背景區(qū)域,改善了YOLO v5s模型對(duì)遮擋目標(biāo)識(shí)別精度較低的問(wèn)題,通過(guò)在特征融合部分加入EVCBlock模塊,解決了蛋雞目標(biāo)較小,特征易被遺漏的問(wèn)題。本文改進(jìn)的SEEC-YOLO v5s模型對(duì)蛋雞6種日常行為識(shí)別的平均精度均值為84.65%,其中對(duì)采食行為識(shí)別的平均精度達(dá)到98.46%。對(duì)比YOLO v5s、Faster R-CNN、YOLO X-s、YOLO v4-tiny 和YOLO v7-tiny模型,6種行為的平均精度均值分別提高2.34、4.30、3.06、7.11、2.99個(gè)百分點(diǎn)。
(2)提出了一種基于視頻幀數(shù)與視頻幀率比值計(jì)算蛋雞日常行為持續(xù)時(shí)間的統(tǒng)計(jì)方法,并分析了一天當(dāng)中不同時(shí)間段下的蛋雞群體各行為和一整天內(nèi)蛋雞6種日常行為的變化規(guī)律。試驗(yàn)結(jié)果表明:每天每種日常行為持續(xù)時(shí)間基本保持相同,6種行為平均時(shí)間占蛋雞整天活動(dòng)時(shí)間的44.18%、16.80%、1.23%、24.65%、1.02%和12.11%。一天當(dāng)中,站立行為持續(xù)時(shí)間最長(zhǎng),飲水和啄羽行為持續(xù)時(shí)間最短;蛋雞站立和探索行為占每天活動(dòng)時(shí)間的68.83%。利用PyQt5對(duì)本文模型進(jìn)行了封裝、打包,制作了蛋雞日常行識(shí)別與統(tǒng)計(jì)系統(tǒng),為蛋雞的日常行為監(jiān)測(cè)和健康狀況評(píng)估提供了技術(shù)手段。