敖 貴,朱立學,張世昂,陳品嵐
(仲愷農業(yè)工程學院機電工程學院,廣東 廣州 510220)
畜禽包括傳統(tǒng)的家畜和家禽,主要指經人工馴化和養(yǎng)育,能正常繁殖后代,對人類有一定經濟價值的野生動物[1],主要以豬、牛、羊、雞、鴨、鵝最為常見。2019 年,我國肉類、禽蛋、牛奶總產量分別達到7 649、3 309、3 201 萬t,肉類及禽蛋總產量連年位居世界第一[2]。隨著現(xiàn)代農業(yè)工程技術的發(fā)展,畜禽產業(yè)的設施化、自動化和智能化是必然趨勢,而畜禽的行為識別是實現(xiàn)畜禽產業(yè)智能化發(fā)展的重要基礎之一。畜禽行為識別被廣泛用于判別畜禽健康狀況、疾病預警、跛行等異常檢測、發(fā)情檢測、產前檢測及高危動作識別等。結合精準畜牧的發(fā)展趨勢和應用需求,動物信息智能感知與行為檢測未來將向無接觸、高精度、高自動化程度方向發(fā)展。計算機視覺因其非接觸、信息量大等特點已經成為研究熱點[3]。
近年來,國內外研究人員對基于計算機視覺技術的畜禽行為識別方法進行了研究[4-6]。SHANG等[7]為提高牛行為識別的準確性與泛化能力,提出了一種雙注意機制下基于特征融合的輕量級網(wǎng)絡結構,并優(yōu)化網(wǎng)絡損失函數(shù),設計將余弦距離和歐氏距離相結合的動作識別算法。王明月等[8]使用YOLOv5s 網(wǎng)絡模型對養(yǎng)殖場中牛只站立、躺臥、采食和飲水4 種日常行為識別,其識別效果可滿足養(yǎng)殖場中牛只日常行為監(jiān)測的需求,有助于智慧養(yǎng)殖的實現(xiàn)。FANG 等[9]提出了基于深度神經網(wǎng)絡的姿態(tài)估計對肉雞的行為進行分析,并建立貝葉斯模型對肉雞的姿勢進行分類和識別,最終通過肉雞的行為診斷肉雞疾病情況,獲得肉雞疾病預警。王凱等[10]針對傳統(tǒng)蛋雞行為檢測操作復雜、分類單一、實時性差的問題,提出一種基于深度學習的輕量型蛋雞行為檢測算法TDYOLOv3,該算法適用于籠養(yǎng)蛋雞行為的實時自動檢測。以上研究結果都是基于靜態(tài)圖像來判斷畜禽行為,并沒有充分利用時域信息。在現(xiàn)實中,畜禽行為一般是一個連續(xù)的動態(tài)過程。
為解決畜禽目標的動態(tài)行為分析問題,研究人員開展了結合時空特征識別畜禽行為的相關研究。KASHIHA 等[11]通過背景差法定位豬只,并通過在固定時間內跟蹤豬只來判斷其運動狀態(tài)。QIAO 等[12]通過牛的行為了解其健康狀態(tài)、生育力和產量等,提出了一個深度學習模型來監(jiān)測和分類牛的進食、探索、梳毛、行走和站立五種行為,模型利用C3D 網(wǎng)絡提取3D 卷積神經網(wǎng)絡特征,再應用Conv LSTM 進一步提取時空特征,最終模型可實現(xiàn)精準畜牧業(yè)的自動化行為分類。董力中等[13]為監(jiān)測生豬行為提出了基于姿態(tài)與時序特征的豬只行為識別方法,分別使用了YOLOv5s 的豬只檢測模型、輕量化OpenPose算法的豬只姿態(tài)估計模型和ST-GCN 算法的豬只行為識別模型,最終豬只行為識別模型的平均準確率為86.67%,證明此行為識別方法具有可行性。綜上可知,現(xiàn)有的非接觸式視覺檢測畜禽行為識別方法主要有3 類,分別是基于傳統(tǒng)圖像處理技術、基于計算機視覺技術和基于姿態(tài)與時序特征的畜禽行為識別方法,本文對以上各類算法應用狀況進行了梳理和對比。
作為一種無接觸的視覺檢測技術,圖像處理技術已經廣泛應用于自動監(jiān)測畜禽的行為,以判斷畜禽的福利和健康狀況。該方法可以實現(xiàn)連續(xù)、自動和無接觸地檢測畜禽行為,只需連接幾個攝像頭就可以監(jiān)控大部分區(qū)域[14]。圖像處理技術在深度學習方法應用之前,基于手動設計特征的行為識別方法是主流方法,主要包括特征提取和行為分類,如圖1 所示。首先,手動提取視頻幀的全局或局部信息特征,然后再歸一化后集成到同一標準長度向量的各種特征中,即使用K 近鄰法等分類器對特征點進行分類[15]。
圖1 手動特征的行為識別方法流程圖
特征提取可以分為手動設計和深度學習兩種方式。手動設計方式也稱為傳統(tǒng)特征提取方法,該方法模仿人類視覺的流程提取圖像中有區(qū)分能力的特征,每一維往往都有具體的物理含義。傳統(tǒng)特征提取方法需要人工經驗和領域知識來確定適當?shù)奶卣?,因此需要大量時間和工作來調整和改進特征。
特征提取是基于傳統(tǒng)圖像處理技術畜禽行為識別的關鍵步驟,如何提取圖像底層視覺特征及提取什么樣的特征在圖像處理的各項任務中起著至關重要的作用,最常見的視覺特征包括顏色、紋理和形狀等。XU 等[16]為了對豬的多種姿勢(站立、坐姿、胸骨臥位、腹側臥位和側臥位)進行識別和評分,采用俯視圖的Azure Kinect DK 深度相機獲取豬的深度圖像,并通過圖像分割和目標物體標定的分水嶺分割獲得了目標豬圖像。然后,根據(jù)圖像的特征,得到凸包、邊界以及肩部和臀部的深度距離,并計算出凸包周長與邊界的比值、凸包面積與邊界的比值、肩部與臀部的深度距離、肩部與臀部的深度距離比值作為分類模型的輸入。
行為分類的最終結果是獲得圖像或視頻段中目標的行為類別,因此行為識別算法的設計就顯得尤為重要,這一般取決于特征設計者的經驗,主要有直接分類和基于模型分類。為了減少雜質和減輕計算量,直接分類方法首先降低特征行為的維數(shù),然后結合支持向量機(SVM)和K 近鄰方法對行為進行分類。SHEN[17]提出了一種實時監(jiān)測奶牛反芻行為的方法,運用K 近鄰法對牛是否有反芻行為進行分類,并自行設計邊緣裝置實時采集和處理奶牛三軸加速度信號,采用反芻識別算法實時計算特征集之間歐幾里德距離的整體滑動幾何均值,確定自適應閾值,并通過滑動窗口驗證反芻行為。最后,在邊緣設備端完成了對奶牛反芻行為的實時識別,其識別過程如圖2 所示,達到了以下性能:精度93.7%、召回92.8%、F1-評分93.3%、特異性97.4%、準確度96.1%。
近年來,基于深度學習的方法在畜禽行為識別研究領域應用較多,其分層學習的特征是來自多個層的特征,并且自動構建原始輸入,它與傳統(tǒng)方法不同,特征提取過程自動完成,在基于姿態(tài)與時序特征的行為識別方法應用之前,基于計算機視覺技術的行為識別方法被廣泛運用于豬[18-20]、牛[7-8,21-23]、雞[9-10,24-25]等畜禽,并采用回歸思想對圖像進行全局預 測,如YOLOv3[26],TD-YOLOv3[10],YOLOv5[27-29],F(xiàn)aster R-CNN[17,30-32]等算法首先將圖片輸入到網(wǎng)絡模型中進行特征提取,然后在特征圖上進行回歸操作和行為分類。王凱等[10]提出的基于深度學習的輕量型蛋雞行為檢測算法TD-YOLOv3,該算法適用于籠養(yǎng)蛋雞行為的實時自動檢測,并對T-YOLOv3、YOLOv3 和TD-YOLOv3 綜合性能進行比較,幾種蛋雞行為檢測算法性能試驗結果如表1 所示。
由于深度網(wǎng)絡[33-36]具有從數(shù)據(jù)中自動學習特征的功能,因此,當訓練樣本足夠多時,通過深度網(wǎng)絡學習到的特征往往具有一定的語義特征,更適合于目標和行為識別。深度學習算法可以分為4 個體系:卷積神經網(wǎng)絡、基于自編碼的深度神經網(wǎng)絡、基于限制玻爾茲曼機的深度置信網(wǎng)絡和基于遞歸神經網(wǎng)絡的深度神經網(wǎng)絡[37]。隨著深度學習技術的發(fā)展,卷積神經網(wǎng)絡(CNN)[38]被廣泛應用于圖像特征提取,并且深度CNN 具有大規(guī)模圖像的特征表示能力,促進了目標檢測技術的進展。VggNet[39],GoogLeNet[40],ResNet[41]等都是流行的CNN 模型。顏色特征、紋理特征、形狀特征和CNN 都已應用于豬的特征描述。薛等[18]提出基于改進Faster R-CNN 的母豬識別方法,即通過端對端的訓練網(wǎng)絡,同時實現(xiàn)哺乳母豬的檢測及其站立、坐立、俯臥、腹臥和側臥5 類姿態(tài)的分類,其改進的Faster R-CNN 網(wǎng)絡結構如圖3 所示。Fast R-CNN 通過卷積層和池化層提取每個感興趣區(qū)域的特征,并輸入后續(xù)的全連接層分別實現(xiàn)類別預測和位置回歸,最終改進模型的平均精度高于ZF 網(wǎng)絡和層較深的VGG16 網(wǎng)絡。
卷積神經網(wǎng)絡在靜態(tài)圖像的視覺識別中雖然有不錯的效果,但對于行為識別只提取了最后1 層特征作為空間特征,導致復雜的網(wǎng)絡和其他層的信息不能被有效地使用,缺乏對時空信息關系的考慮。長短期記憶神經網(wǎng)絡(LSTM)是一種具有狀態(tài)記憶和多層單元結構的循環(huán)神經網(wǎng)絡,這種網(wǎng)絡與一般的前饋神經網(wǎng)絡不同,LSTM 可以利用時間序列對輸入進行分析[42-45]。早期基于時序特征的行為識別方法主要用于人類研究,CHEN 等[46]提出一個空間掩碼ConvLSTM 網(wǎng)絡(SMConvLSTM-Net)來確定每個像素位置的注意力得分,利用SMConvLSTM-Net將空間和時間信息相結合用于視頻中的人體動作識別。時間注意力更多地用于確定哪個幀對于動作識別更重要,而空間注意力通常被忽略,因為可以描述運動區(qū)域的是光流的輸入。然而,光流的計算需要大量的時間和資源。SMConvLSTM-Net 能為特征圖生成更具鑒別性的表征,具體而言,視頻中的人類行為是3D 時空信號,使用ConvLSTM 長時間接受時空信息,不僅對時間變化進行編碼,而且利用其中的卷積門提取空間特征。隨著基于時序特征的行為識別算法的發(fā)展,該算法也逐漸運用到畜禽行為識別中,YIN 等[47]提出一種EfficientNet-LSTM 識別復雜環(huán)境中單頭奶牛的運動行為算法,該算法在充分提取奶牛的行為信息后,將行為信息發(fā)送到Attention-BiLSTM模塊,該模塊集成注意力機制,實現(xiàn)視頻幀在時間序列中的聚合,從而實現(xiàn)對奶牛的躺臥、站立、行走、飲水和進食5 種行為的識別,并且在自然場景中的識別準確率高達97.87%。QIAO 等[12]提出了一種基于C3D-ConvLSTM 的視頻數(shù)據(jù)行為分類方法。通過利用三維卷積和ConvLSTM 的優(yōu)勢來捕獲遠距離的空間和時間動態(tài),所提出的方法可以顯著提高行為分類的準確性。該方法使用30 幀視頻長度在犢牛和奶牛數(shù)據(jù)集上的分類準確率分別達到90.32%和86.67%。
時空圖卷積網(wǎng)絡(ST-GCN,Spatial Temporal Graph Convolutional Networks)是一種通過提取骨骼關節(jié)點在時間和空間上的特征,對動態(tài)人體骨架建模完成動作識別的方法[48-50],該方法現(xiàn)已開始運用到畜禽的行為識別中?;诠趋滥P偷姆椒ㄍ哂休^高的識別率,CHAUDHRY 等[51]提出一種動態(tài)三維骨骼特征識別方法來識別人類動作,對幾個人類活動骨骼數(shù)據(jù)集的實驗效果良好。動態(tài)的人體骨骼通常會向其他人傳達重要的信息,可以自然地以2D 或3D 坐標的形式表示為人體關節(jié)位置的時間序列,并通過分析人類的運動模式來識別人類的動作?;贚STM 的行為識別方法其結合了時序與空間特征信息對行為識別方法進行研究,但沒有結合骨架姿態(tài)信息,在早期的骨骼運動識別方法中,使用了單時間步長的關節(jié)坐標形成特征向量后進行時間分析,并沒有明確利用關節(jié)之間的空間關系。YAN 等[50]通過將圖神經網(wǎng)絡擴展到時空圖模型設計一種用于動作識別的骨架序列通用表達,稱為時空圖卷積網(wǎng)絡(ST-GCN)。該模型基于一系列骨架圖,其中每個節(jié)點對應于人體的一個關節(jié),并在此基礎上構建多層時空圖卷積,實現(xiàn)信息在時空維度上的整合,進而可以對人體行為進行識別?;诠羌艿娜梭w動作識別由于其表現(xiàn)的有效性而受到了廣泛的研究關注,并有著廣泛的實際應用和發(fā)展,如文獻[52]提出了一種用于基于骨骼的動作識別的時空圖路由(STGR)方案,該方案自適應地學習物理部分骨骼關節(jié)的固有高階連接關系,并自然無縫地結合到圖卷積網(wǎng)絡(GCN)的框架中;文獻[53]提出了動作結構圖卷積網(wǎng)絡(AS-GCN),其為了捕獲更豐富的依賴關系,引入一種稱為A-link 推理模塊的編碼器-解碼器結構,以直接從動作中捕獲特定于動作的潛在依賴關系,還擴展了現(xiàn)有的骨架圖,以表示高階依賴關系。隨著時空圖卷積網(wǎng)絡的發(fā)展,其在人類行為識別之外也有了相關研究,ZHAO 等[54]提出使用時空圖卷積網(wǎng)絡自動識別四足動物行為以增強福利,該研究構建了第一個基于骨骼的動態(tài)多物種數(shù)據(jù)集(Animal-Skeleton),而且還提出了一種新穎的方案,通過神經架構搜索(NAS)自動設計最佳的時空圖卷積網(wǎng)絡(GCN)架構來執(zhí)行動物行為識別。董力中等[13]為了實現(xiàn)對豬只行為的識別,利用了豬只的姿態(tài)特征與時序特征相結合,提出了基于豬只姿態(tài)估計和時空圖卷積的豬只行為識別方法,實現(xiàn)了對豬只站、走、臥3 種行為的識別。首先,豬只的骨架提取是關鍵步驟,要設計豬只骨架關鍵點和關鍵點連接關系,構成豬只骨架特征,如圖4(a)所示,才能根據(jù)骨架特征進行后續(xù)的豬只姿態(tài)估計;然后,如圖4(b)所示,將每一幀圖像經過姿態(tài)估計模型提取出的豬只骨架按幀排列,且將每兩個相鄰幀之間同一關節(jié)點相連,得到一個包含時間和空間信息的豬只骨架關節(jié)序列時空圖;最后,提取的骨架時空圖被輸入到ST-GCN 網(wǎng)絡中,并逐層對骨架時空圖進行卷積操作,再通過一個標準的Softmax 分類器輸出相應的動作類別,如圖4(c)所示。
圖4 基于姿態(tài)與時序特征的豬只行為識別方法
盡管畜禽行為識別已經有了許多優(yōu)秀的研究,但如畜禽身體姿勢的多樣性和復雜性、遮擋和背景雜波等混雜因素,意味著在理解視頻流的背景下,真實場景中的行為識別仍然具有挑戰(zhàn)性。本文對畜禽行為識別研究的主要結論為:①在行為識別研究中,首先要選擇合適的數(shù)據(jù)來捕捉動作,此外,應該使用合理的算法來識別畜禽行為;②對于畜禽動作特征學習問題,基于深度學習的方法具有更好的性能;③時空維度的快速行為檢測可以考慮使用時空圖卷積網(wǎng)絡,由于骨架數(shù)據(jù)本身就是一個自然的拓撲圖數(shù)據(jù)結構,可使處理圖片信息變?yōu)樘幚韼讉€關節(jié)點信息,從而能減少計算量。
近年來卷積神經網(wǎng)絡技術在動物行為識別領域有突飛猛進的發(fā)展,首先是在人體行為識別上得到應用,隨后有研究者借鑒人的行為識別理論和方法,開始探索畜禽行為識別的可行性,出現(xiàn)了許多用于畜禽行為識別的方法。傳統(tǒng)的行為識別方法對于目前基于深度學習的技術具有較好的指導作用,例如基于深度學習的畜禽行為識別方法得到了不斷的提升。隨著深度學習技術的發(fā)展,很多計算機視覺領域的技術難點得到解決,如目標檢測任務、特征提取任務等,推進了畜禽行為識別技術的發(fā)展。目前基于深度學習的畜禽行為識別方法對象主要是雞、牛、豬等畜禽。相信未來基于深度學習的畜禽行為識別方法的研究會越來越深入,應用對象越來越廣泛,這類方法可能會推廣到諸如鴿子、斑鳩等經濟動物,推動產業(yè)升級發(fā)展。