宋懷波,李 通,姜 波,吳 倩,何東健
(1. 西北農(nóng)林科技大學機械與電子工程學院, 楊凌 712100;2. 農(nóng)業(yè)部農(nóng)業(yè)物聯(lián)網(wǎng)重點實驗室,楊凌 712100;3. 陜西省農(nóng)業(yè)信息感知與智能服務重點實驗室,楊凌 712100)
奶牛的反芻行為蘊含著奶牛的諸多健康信息,這些信息有助于養(yǎng)殖人員監(jiān)控奶牛的健康情況,方便在奶牛患病早期及早發(fā)現(xiàn)并進行治療,避免奶牛病情加重影響奶牛的正常產(chǎn)奶和繁殖[1-3]。奶牛反芻行為的智能監(jiān)測可以有效降低奶牛的養(yǎng)殖成本,提高牛奶產(chǎn)出量、增加養(yǎng)殖利益,對現(xiàn)代奶牛養(yǎng)殖業(yè)的改善和發(fā)展有重要意義[4-5]。
對于奶牛反芻行為的監(jiān)測,早期主要通過肉眼觀察和人工計數(shù)來統(tǒng)計奶牛的反芻頻率和反芻時間,存在一定的誤差且人工成本較高,無法滿足現(xiàn)代大規(guī)模養(yǎng)殖場的需求[6]。為了提高奶牛反芻檢測的自動化水平和檢測精度,眾多學者開展了大量的研究工作。Braun等[7]提出了一種基于鼻帶壓力傳感器技術的奶牛反芻行為自動檢測方法,通過固定在奶牛鼻韁繩套管中的壓力傳感器感受奶牛反芻時下顎咀嚼的壓力變化來計量奶牛的反芻次數(shù),每頭奶牛測試在445 min內(nèi)平均反芻次數(shù)為13.3次,平均每次反芻時間30.2 min。Pahl等[8]提出了一種基于聲學傳感器(RuminAct)的奶牛反芻行為自動檢測方法,該聲學傳感器由固定在奶牛牛鼻韁繩套管記錄反射聲音的麥克風及外接的數(shù)據(jù)轉(zhuǎn)換微處理器組成,通過記錄奶牛反芻時發(fā)出的聲音來計算反芻時間。Zehner等[9]提出了一種集成頭戴式傳感器和在線數(shù)據(jù)分析器的奶牛反芻評估系統(tǒng)。該頭戴式傳感器由1個內(nèi)置壓力傳感器和2個電子單元的流體填充硅膠管組成,奶牛反芻時鼻梁的曲率因為下顎的運動而變化,導致硅膠管壓力的變化,內(nèi)置壓力傳感器接收到這個變化信號并將其傳輸?shù)綌?shù)據(jù)記錄器中,可以實現(xiàn)奶牛反芻行為的自動檢測,直觀快捷,準確率高。Calamari等[10]提出了一種聲音標記分析方法來自動測量奶牛的反芻時間,該方法通過Hr-Tag反芻監(jiān)測系統(tǒng)實現(xiàn)了奶牛反芻行為的自動檢測。該系統(tǒng)由反芻記錄儀、固定閱讀器和數(shù)據(jù)處理器 3部分組成,反芻記錄儀用于記錄奶牛反芻時發(fā)出的聲音信號,固定閱讀器讀取信號,經(jīng)數(shù)據(jù)處理器處理后即可得到奶牛反芻的頻率和時間信息。統(tǒng)計得出產(chǎn)犢前夜間反芻時間占總體反芻時間的 64.8%,產(chǎn)犢后夜間反芻時間占比為 64.4%。Pahl等[11]提出了一種自動監(jiān)測系統(tǒng),可以實現(xiàn)長期連續(xù)、自動收集奶牛反芻信息。該系統(tǒng)主要由 1個壓力傳感器(ART-MSR)構成,使用模塊化的信號記錄儀 MSR145記錄奶牛反芻時咀嚼的壓力信號,即可得到奶牛反芻時間信息。
上述方法可以自動記錄奶牛的反芻信息,適應大規(guī)模養(yǎng)殖業(yè),可以節(jié)約養(yǎng)殖成本。但是該類接觸式裝置均離不開高精度傳感器,容易導致奶牛不適并產(chǎn)生應激反應,導致奶牛反芻次數(shù)減少甚至停止反芻。為了避免出現(xiàn)應激反應,采用基于視頻分析技術的非接觸式檢測方法已成為未來動物行為監(jiān)測發(fā)展的必然趨勢[12-16]。Chen等[17]通過手動選取奶牛嘴部區(qū)域,提出了基于視頻分析技術的奶牛反芻行為檢測方法,采用Mean Shift算法準確跟蹤奶牛的下頜運動,提取出牛嘴部運動的質(zhì)心軌跡曲線,實現(xiàn)了奶牛反芻行為的監(jiān)測,但由于采用手動選取奶牛嘴部區(qū)域,自動化程度不高,不易實現(xiàn)多頭奶牛反芻行為的監(jiān)測。Andriamandroso等[18]提出了一種基于視頻分析技術的奶牛反芻行為檢測方法,結合慣性測量單元(inertia measuring unit, IMU)實現(xiàn)了奶牛反芻活動的監(jiān)測,通過對19頭不同奶牛的日常反芻行為進行監(jiān)測表明,該方法的監(jiān)測成功率為95%。Reiter等[19]提出了基于視頻分析技術的奶牛反芻行為檢測方法,采用Smartbow算法創(chuàng)建了 Smartwell視頻分析系統(tǒng)。單獨每頭牛反芻1 h為一段視頻,總計2 490個視頻,從中隨機抽取100段視頻進行測試,獲取Smartwell視頻分析系統(tǒng)和直觀視覺觀察奶牛反芻的差異。結果表明Smartwell系統(tǒng)在奶牛每小時的反芻時間上存在35.3 s偏差,對奶牛反芻時間檢測精度高。
奶牛嘴部區(qū)域的自動檢測是進行奶牛反芻行為監(jiān)測的關鍵。由于奶牛嘴部區(qū)域顏色變化較大、面積較小,且在檢測時易受奶牛頭部、軀干運動及其他奶?;顒拥挠绊懀詣幼R別難度較大,當多目標奶牛同時反芻時,需要同時檢測多個奶牛嘴部區(qū)域,且存在諸多干擾區(qū)域(如奶牛軀干起伏、耳部晃動以及背景區(qū)域干擾等),進一步增加了奶牛嘴部區(qū)域檢測的難度。為了實現(xiàn)多目標奶牛反芻行為的同時監(jiān)測,本文提出一種基于Horn-Schunck光流法的多目標奶牛嘴部區(qū)域自動檢測方法。通過對奶牛反芻視頻序列圖像幀進行處理,求取每幀圖像的光流場數(shù)據(jù),再將各幀圖像中的較大光流數(shù)據(jù)疊加,以期實現(xiàn)多目標奶牛嘴部區(qū)域的自動檢測,為進行多目標奶牛反芻行為的智能監(jiān)測提供參考。
奶牛反芻試驗視頻于2017年10月至11月在陜西省楊凌科元克隆股份有限公司的奶牛養(yǎng)殖場采集,拍攝對象為正在反芻中的美國荷斯坦奶牛。奶牛進食后在牛舍進行反芻,在奶牛反芻期間將一臺SONY HDR-CX290E型DV固定在三腳架上,保持鏡頭與目標奶牛平行且距離目標奶牛約2.5 m。試驗總計采集12段奶牛反芻視頻,12段視頻分別采集于大風、晴天、陰天環(huán)境,以保證算法對環(huán)境的適應性。在視頻場景的選擇上,為了保證算法在多目標奶牛嘴部區(qū)域檢測上的效果,分別選擇了 4種不同的場景:場景1包含2頭奶牛,均為靜臥反芻且背景沒有其他運動目標;場景2除了正在反芻的2頭奶牛外,背景中還有其他無運動或輕微運動的奶牛目標,視頻1、3、4、5、11都屬于場景2,這5段視頻中奶牛數(shù)量分別為3、4、4、5、3;場景3中除正在反芻的2頭奶牛目標外還存在背景奶牛身體部位劇烈運動干擾,場景3共有5頭奶牛;場景4為其中1頭奶牛頭部伴隨著反芻存在較大晃動。在選取的12段視頻中,由于場景1、2是奶牛反芻時的常態(tài),因此本研究分別選取5段視頻進行試驗,為了進一步驗證算法在劇烈運動干擾下的檢測效果,分別選取場景3、4兩種特殊場景各1段視頻進行驗證。本研究所使用的奶牛視頻數(shù)據(jù)如表1所示。
表1 奶牛反芻視頻信息統(tǒng)計Table 1 Video information of cows’ rumination
視頻處理平臺為一臺Win10系統(tǒng)的筆記本電腦,配置有Inter Core i7-6700HQ處理器,主頻為2.60 GHz,8 GB內(nèi)存。算法開發(fā)平臺為Matlab 2016a。鑒于奶牛嘴部區(qū)域的不規(guī)則性,為了更為客觀地對本算法性能進行評價,使用Adobe Photoshop獲取真實奶牛嘴部區(qū)域,并與本研究所檢測出的奶牛嘴部區(qū)域進行比較。
1.2.1 總體技術路線
本研究擬采用的技術路線如圖 1所示,通過Horn-Schunck光流法求得每幀的光流場,選取合適閾值對圖像進行分割,選取出各幀中具有較大變化的光流值,將每幀分割后的二值圖像疊加,根據(jù)疊加后的最終二值圖像,使用奶牛反芻嘴部區(qū)域檢測模型檢測反芻時的奶牛嘴部區(qū)域。首先判定能否檢測到奶牛的嘴部區(qū)域,如果可以則進行充盈率的判定。充盈率指奶牛實際嘴部區(qū)域面積占自動檢測框大小的百分比,該值是后續(xù)進行奶牛嘴部區(qū)域精確跟蹤的關鍵,一般而言,該值低于 50%時,現(xiàn)有跟蹤算法難以實現(xiàn)奶牛嘴部區(qū)域的精確跟蹤,為了保證后續(xù)嘴部區(qū)域自動跟蹤的效果,本研究設定充盈率閾值為50%。
圖1 多目標奶牛反芻嘴部區(qū)域檢測技術路線圖Fig.1 Technical route for detection of multi-target ruminating cows’ mouths area
1.2.2 基于Horn-Schunck光流法的反芻奶牛光流場計算
奶牛反芻時一般處于靜止和放松狀態(tài),僅嘴部區(qū)域存在較大運動,其他部位處于靜止或微弱抖動狀態(tài),但由于呼吸運動的存在,奶牛軀干部位的起伏也會引起光流場的較大變化,給奶牛嘴部區(qū)域的檢測帶來影響。本研究首先利用光流法勾勒出奶牛反芻時的光流場變化,實現(xiàn)奶牛較大運動部位的檢測,并將其作為候選奶牛嘴部區(qū)域進行后續(xù)處理。
Horn-Schunck光流法通過計算視頻幀中每個像素的光流值求得各點的密集光流,該方法由Horn和Schunck提出,其原理如下[20-24]:
Horn-Schunck光流模型根據(jù)運動物體的光流場具有連續(xù)、平滑的特點,其約束條件即Horn-Schunck模型如式(1)所述:
式中u代表uij即圖像像素點(i, j)處的水平方向光流值,v代表 vij即圖像像素點(i, j)處的垂直方向光流值,Ix和Iy分別表示圖像關于x(水平方向)的梯度和圖像關于y(垂直方向)的梯度,It表示 2幀圖像間關于時間的導數(shù)。Ix、Iy、It的數(shù)學表達式如式(2)所示:
如果按照每相隔 1幀來計算光流圖,不僅會增大程序運行負擔影響效率,而且只隔1幀的2幅光流圖像光流變化不大,進行疊加后很難有效地提取出奶牛反芻時的嘴部區(qū)域,因此為了能夠更好地采集到清晰的奶牛嘴部輪廓的光流圖,本研究選取前后相差 8幀的序列幀計算光流。
使用7號視頻中從第1幀開始連續(xù)的60幀序列圖像計算其光流圖,部分視頻幀的光流結果如圖 2所示。圖2a、2b、2c為視頻的第8幀,第15幀和第20幀。圖2d、2e和2f中的點表示對應像素點的速度矢量值,代表著該處存在運動變化,從速度矢量中可以讀出像素點的運動方向和速度大小。從圖 2中能夠清晰地找到反芻中的奶牛嘴部輪廓,但奶牛反芻時除了嘴部運動劇烈外,耳部、背部也會出現(xiàn)不同程度的運動,因此在圖 2中奶牛的耳部和背部輪廓也很顯著,同時視頻背景的干擾因素也會生成一些像素點,說明分割還受到耳部、背部輪廓和背景干擾的影響,增加了奶牛嘴部區(qū)域檢測的難度。
圖2 反芻奶牛光流檢測結果Fig.2 Result of optical flow detection for ruminating cows
1.2.3 反芻奶牛嘴部區(qū)域的提取
為了進一步檢測到反芻時奶牛的嘴部區(qū)域,需要將得到從第1幀開始連續(xù)的60幀序列圖像的光流圖再次處理。由于光流反映了各像素運動的幅度,通過選取合適的閾值對光流圖像進行分割,即可將各序列幀圖像中較大的運動像素點分割出來,從而實現(xiàn)較大運動區(qū)域的提取。對經(jīng)過合適閾值分割出來從第1幀開始連續(xù)的60幀二值圖像進行疊加,即可實現(xiàn)各序列幀圖像中較大運動幅度像素點的融合。
利用上述思路得到的效果如圖3a所示,奶牛反芻時嘴部區(qū)域運動劇烈,嘴部區(qū)域的像素點變化劇烈,可見該方法可以有效地將各幀序列圖像中較大運動幅度的像素點提取出來,利于后續(xù)奶牛嘴部區(qū)域的提取工作。利用半徑為5的‘disk’型結構元素對圖3a進行數(shù)學形態(tài)學運算,然后去除小塊像素塊得到圖 3b。由于奶牛反芻時嘴部區(qū)域的活動最明顯,具有較大的連通區(qū)域,因此可以通過對圖3b中的連通區(qū)域按照面積大小進行排序,并根據(jù)目標奶牛的數(shù)目選取其較大面積區(qū)域,因為所得奶牛嘴部區(qū)域不連通,且各塊面積較小,最后采用半徑為10的‘disk’型結構元素對圖3b進行形態(tài)學閉運算得到最終奶牛嘴部較大的連通區(qū)域,如圖3c所示。
根據(jù)已經(jīng)得到的奶牛反芻二值圖像,建立相關的奶牛反芻嘴部區(qū)域的檢測模型,即可實現(xiàn)奶牛嘴部區(qū)域的檢測。針對 2頭同時反芻的奶牛目標,首先確定檢測框的大小,設定檢測框為一個長寬相等的正方形,邊長應接近實際的牛嘴寬度。當牛的頭部沒有出現(xiàn)大角度偏轉(zhuǎn)且直面鏡頭時,實際牛嘴的寬度約等于二值圖像中的牛嘴寬度,設定檢測框邊長等于二值圖像中牛嘴的寬度,當牛的頭部出現(xiàn)大角度左右偏轉(zhuǎn)時,二值圖像中的牛嘴寬度變長,大于實際的牛嘴寬度,如果繼續(xù)將檢測框邊長設為二值圖像中的牛嘴寬度會導致檢測框過大,從而影響檢測的精確度。此時應改變檢測框邊長等于二值圖像中奶牛嘴部區(qū)域的高度,此刻二值圖像中牛嘴寬度等同于實際中牛嘴寬度。下一步確定 2個檢測框中心的位置,2個檢測框中心x坐標等于其各自在二值圖像中距離y軸最遠的像素點的x坐標減去其牛嘴寬度的一半,2個跟蹤框中心的y坐標等于各自像素點y坐標的均值減去牛嘴寬度的一半,其數(shù)學模型如式(3)~(4)所示。
式中z1和z2代表牛嘴的寬度,l1和l2代表2頭奶牛的檢測框的邊長,x1和x2代表2頭奶牛嘴部像素點的x坐標,y1和 y2代表 2頭奶牛嘴部像素點的 y坐標,pos_x_1和pos_y_1代表第一頭奶牛檢測框中心的 x和 y坐標,pos_x_2和pos_y_2代表第2頭奶牛檢測框中心的x和y坐標。
如果奶牛頭部出現(xiàn)大幅度左偏或右偏時,將上述模型中牛嘴寬度的表達式中x改為y,即可進行牛嘴部區(qū)域的檢測。
奶牛反芻時嘴部區(qū)域運動較大,對應奶牛反芻二值圖像即像素塊面積較大區(qū)域為奶牛嘴部區(qū)域。根據(jù)像素塊面積的大小進行排序,篩選出面積最大的2塊像素塊,即得到候選奶牛嘴部區(qū)域的像素塊。再結合式(3)、(4)即可自動確定最終的奶牛檢測框的大小和位置,實現(xiàn)奶牛反芻時嘴部區(qū)域的自動檢測。通過觀察檢測結果,檢測框緊貼奶牛嘴部輪廓,有利于現(xiàn)有跟蹤算法實現(xiàn)奶牛反芻的視頻跟蹤。
為了驗證試驗方法的正確性和準確性,本研究采用以下2個評價指標進行評價。
觀察檢測框是否包括了全部(或幾乎全部)的奶牛嘴部區(qū)域,這是驗證試驗方法是否正確的最直觀也是最基礎的評價指標。只有檢測框完整地包含了整個奶牛的嘴部區(qū)域,才能確保奶牛嘴部區(qū)域檢測的成功。
為了實現(xiàn)奶牛反芻的視頻跟蹤,首先需要檢測出奶牛反芻時的嘴部區(qū)域,本研究引入充盈率指標來判定奶牛嘴部區(qū)域的檢測效果。在奶牛反芻檢測圖中,利用Photoshop盡可能地貼近奶牛嘴部輪廓框出一個不規(guī)則區(qū)域,該區(qū)域應既要包括整個奶牛嘴部又要保證區(qū)域面積最小,標記該區(qū)域面積為 s1。設通過光流法自動檢測出的奶牛嘴部區(qū)域的二值圖像面積為 s2,奶牛自動檢測框的面積為s3。將s1和s3進行相除得到其比值,將其定義為真實充盈率ω1,該指標的計算方法如式(5)所示。將s2和s3進行相除得到其比值,將其定義為檢測充盈率ω2,該指標的計算方法如式(6)所示。
式中s1和s2為利用Adobe Photoshop提取奶牛嘴部區(qū)域的結果。充盈率是后續(xù)進行奶牛嘴部區(qū)域精確跟蹤的關鍵,一般而言,該值低于50%時,檢測框不僅包含整個嘴部區(qū)域,還包含奶牛的部分臉部區(qū)域,導致現(xiàn)有跟蹤算法難以實現(xiàn)奶牛嘴部區(qū)域的精確跟蹤,因此可以通過充盈率指標來評價算法性能。
利用本研究算法進行多目標奶牛嘴部區(qū)域檢測的結果如表2所示,檢測對象為正在反芻中的2頭奶牛,檢測結果中 T代表檢測框能夠檢測到奶牛反芻時的嘴部區(qū)域,F(xiàn)代表不能夠檢測到嘴部區(qū)域??傆?2段視頻,其中 8段視頻可以準確地檢測到奶牛反芻的嘴部區(qū)域,2段處于大風天氣的視頻中2頭奶牛的嘴部區(qū)域都檢測錯誤,另有2段視頻只能成功檢測到其中1頭奶牛的嘴部區(qū)域。
圖 4列出了可以正確檢測到奶牛反芻的嘴部區(qū)域的8段視頻的檢測結果,即視頻序號為1,3,4,5,6,7,8,10的視頻分別對應圖4a~4h。8段視頻都準確地檢測出了奶牛反芻的嘴部區(qū)域,除了圖4e和圖4h檢測框面積偏大外,其余各圖檢測框的大小都貼近奶牛的嘴部輪廓。
根據(jù)表2和圖4所示,針對第1個評價指標即檢測框是否能夠檢測到正在反芻的奶牛的嘴部進行分析。在大風天氣下,視頻11和12無法檢測到奶牛反芻的嘴部區(qū)域。當天氣為陰或者晴時,10段視頻中有 8段視頻可以檢測到反芻時奶牛的嘴部區(qū)域,成功率為80.00%。
表2 奶牛嘴部區(qū)域檢測結果Table 2 Results of detection for cow’s mouth region
圖4 奶牛反芻檢測結果Fig.4 Detection of cows’ rumination results
為了驗證奶牛嘴部區(qū)域自動檢測的效果,根據(jù)充盈率指標(對比框面積占檢測框的百分比),將滿足第1個評價指標的奶牛反芻視頻進行統(tǒng)計處理,通過公式(5)、(6)計算可得到這8組視頻中的2頭奶牛的真實充盈率ω1和檢測充盈率ω2,結果如圖5所示。圖5描述的是8段可檢測到反芻奶牛嘴部區(qū)域的視頻中 2頭奶牛的充盈率。分析上述8段視頻中2頭奶牛的2個充盈率,總計16頭奶牛,即16個真實充盈率和16個檢測充盈率。最大真實充盈率可以達到96.76%,取自視頻7中的2號奶牛,最小真實充盈率為25.36%,取自視頻10中的1號奶牛。最大檢測充盈率可以達到98.51%,取自視頻8中的2號奶牛,最小檢測充盈率為43.80%,取自視頻4中的1號奶牛。8段視頻的平均真實充盈率為63.91%,8段視頻的平均檢測充盈率為70.06%,可以保證后續(xù)嘴部區(qū)域跟蹤算法的有效運行。當天氣為晴時,4段可以檢測到奶牛反芻嘴部區(qū)域的視頻中,視頻1、3、4、5的真實充盈率和檢測充盈率都超過或接近50%,當天氣為陰時,4段可以檢測到奶牛反芻嘴部區(qū)域的視頻中,視頻7和8中2頭奶牛的真實充盈率和檢測充盈率都可以實現(xiàn)奶牛嘴部區(qū)域的有效檢測,視頻6和視頻10中都出現(xiàn)了1頭奶牛嘴部真實充盈率遠低于 50%的情況,導致檢測框過大,導致檢測結果偏低,無法實現(xiàn)奶牛嘴部區(qū)域的有效檢測。
圖5 反芻奶牛嘴部的真實充盈率和檢測充盈率Fig.5 True filling rate and detected filling rate of ruminating cows’ mouth
針對運動目標的檢測,已有許多有效方法,其中幀間差分法是比較常見的一種方法。幀間差分法主要利用視頻幀序列中連續(xù)2幀圖像的像素點在灰度值上的差異,然后通過設定合適的閾值來提取視頻幀序列中的運動區(qū)域[25-28]。
圖 6展示了針對反芻奶牛嘴部檢測,幀間差分法和本研究算法效果的對比結果,圖6a是幀間差分法的檢測結果,圖6b是光流法的檢測結果。由圖6可以發(fā)現(xiàn),本研究方法可以準確地檢測出奶牛反芻嘴部區(qū)域,2頭奶牛的真實充盈率分別為68.70%和68.66%,其檢測充盈率分別為75.31%和82.71%。而采用幀間差分法的檢測結果中,右側奶牛的檢測框無法含括整個奶牛的嘴部區(qū)域,真實充盈率為66.17%;而左側奶牛的檢測框檢測到了奶牛嘴部區(qū)域的下方,結果不夠準確,真實充盈率指標僅為11.09%。若將該檢測結果作為視頻跟蹤的模板,必然導致奶牛反芻行為監(jiān)測的失敗。
圖6 2種算法在反芻奶牛嘴部檢測中的對比結果Fig.6 Comparison result of two algorithms in detection of ruminating cows’ mouth
本研究對 2種算法的耗時進行了分析,試驗表明,光流法的程序運行時間為102.88 s,幀間差分法的程序運行時間為358.65 s,其耗時僅為幀間差分法的28.69%,表明光流法更適合于進行奶牛嘴部區(qū)域的高效檢測。奶牛嘴部區(qū)域的準確檢測是進行奶牛反芻行為準確監(jiān)測的關鍵,為了盡可能得到準確的奶牛嘴部區(qū)域的檢測結果,本文使用視頻的前 60幀數(shù)據(jù)進行了奶牛嘴部區(qū)域的檢測,雖然耗時較長,但在獲得奶牛嘴部區(qū)域的自動、高效檢測后,即可用其進行后續(xù)視頻幀中奶牛嘴部區(qū)域的精確跟蹤。
綜上所述,由于幀間差分法對運動緩慢物體的檢測效果并不理想,可能會造成檢測誤差過大,當物體運動過慢時還會直接檢測錯誤[29-32],加之其耗時過長,對反芻奶牛嘴部區(qū)域的檢測效果略差。
1)運動干擾對檢測結果的影響
圖7a、7d、8a和8d是4段無法成功檢測反芻奶牛嘴部區(qū)域的視頻的示例,分別對應視頻11、12、2和9。圖7a和7d只存在1個檢測框,包含了整個圖像區(qū)域;圖8a成功檢測了左側奶牛反芻的嘴部區(qū)域,但另一個檢測框檢測到右側反芻奶牛身后奶牛的腹部;圖8d其中一個檢測框成功檢測了奶牛反芻的嘴部區(qū)域,而另一個檢測框檢測到奶牛的耳部區(qū)域。
圖7 視頻11、12嘴部區(qū)域檢測錯誤的過程Fig.7 Wrong process of cows’ mouth regions for video No.11 and No.12
在第一個評價指標中,視頻11和12無法檢測到奶牛反芻時的嘴部區(qū)域的主要原因是強對流大風天氣導致背景的雜草、樹枝以及奶牛的毛皮晃動,從而生成了干擾光流場,對原本奶牛反芻時嘴部活動最為劇烈的光流場產(chǎn)生了干擾。圖7b、7c、7e和7f分別表示視頻11的光流檢測過程,奶牛嘴部候選區(qū)域檢測過程,以及視頻12的光流檢測過程,奶牛嘴部候選區(qū)域檢測過程。
如圖7a所示,視頻11中,其他干擾光流場與反芻時的嘴部光流場混在了一塊形成了 1個光流場,因此在轉(zhuǎn)化為二值圖像后很難單獨找出奶牛反芻時的嘴部區(qū)域,只能找到1個像素塊區(qū)域,最終形成了1個包含全幅圖片的奶牛嘴部候選區(qū)域。同理,圖7d所示的視頻12的檢測錯誤原因也是如此。
圖8b、8c、8e和8f分別表示視頻2的光流檢測過程、奶牛嘴部候選區(qū)域檢測過程、以及視頻 9的光流檢測過程,奶牛嘴部候選區(qū)域檢測過程。
圖8 視頻2、9嘴部區(qū)域檢測錯誤的過程Fig.8 Wrong process of cows’ mouth regions for video No.2 and No.9
如圖8a所示,視頻2中,最大的2塊光流場是左邊奶牛反芻嘴部區(qū)域的光流場和右側反芻奶牛身后奶牛腹部區(qū)域的光流場,因此轉(zhuǎn)換為二值圖像時,本應出現(xiàn)在右側反芻奶牛嘴部區(qū)域的像素塊變成了其身后奶牛腹部區(qū)域的像素塊,直接導致檢測框檢測到了身后奶牛的腹部區(qū)域。同理,如圖8d所示,視頻9中,最大的2塊光流場是左邊奶牛反芻嘴部區(qū)域的光流場和左側反芻奶牛耳部區(qū)域的光流場,因此轉(zhuǎn)換為二值圖像時,本應出現(xiàn)在右側反芻奶牛嘴部區(qū)域的像素塊變成了左側奶牛耳部區(qū)域的像素塊,直接導致檢測框檢測到了左側奶牛的耳部部區(qū)域。
視頻1、3、4、5中同樣存在著背景奶牛運動的干擾,如圖4a~4d所示,但是并沒有影響到最終的檢測結果,這是因為身后奶牛的運動并不劇烈,產(chǎn)生的光流場較小,不會影響到最終篩選出的奶牛嘴部區(qū)域的光流場。
綜上所述,只要干擾光流場小于反芻時奶牛嘴部區(qū)域的光流場就不會對最終的檢測結果造成影響,這也證明了該算法的抗干擾能力較好。
2)視頻6和10的視頻真實充盈率偏低原因分析
在第2個評價指標中,視頻6和視頻10中各有1頭奶牛的嘴部真實充盈率遠低于期望的 50%,其中視頻 6中右側奶牛嘴部充盈率為27.73%,視頻10中左側奶牛嘴部充盈率為25.36%。如圖9b所示,視頻10中左邊奶牛在反芻時頭部并不保持靜止狀態(tài),而是一邊反芻一邊搖晃頭部,這不會影響檢測框的位置信息但會增大最終二值圖像中奶牛嘴部區(qū)域的像素塊。因為最終處理的是 60幀二值圖像疊加后的二值圖,因為奶牛在搖晃頭部所以每一幀的二值圖像中奶牛嘴部輪廓都在發(fā)生變動,最終疊加出來的效果等同于加大了奶牛的嘴部像素塊。而檢測框的大小與二值圖像中的奶牛嘴部區(qū)域的像素塊面積大小成正比,導致檢測框偏大,真實充盈率相較于實現(xiàn)奶牛反芻嘴部區(qū)域跟蹤要求的50%降低了24.64%,影響了檢測的準確性,無法為實現(xiàn)奶牛反芻的視頻追蹤做鋪墊。圖9a中右側檢測框面積偏大,因為在統(tǒng)一選擇合適的閾值將光流圖轉(zhuǎn)換成二值圖像時,選定的閾值對于視頻 6而言偏大,使得分割出來的像素塊過大,導致嘴部區(qū)域像素塊與反芻時臉部區(qū)域的部分像素塊相連接,最終導致了檢測框偏大,真實充盈率相較于實現(xiàn)奶牛反芻嘴部區(qū)域跟蹤要求的50%降低了22.27%,影響了檢測的準確性,無法為實現(xiàn)奶牛反芻的視頻追蹤做鋪墊。
圖9 充盈率低的圖像示例Fig.9 Examples of low de filling rate
3)天氣的影響
在大風的惡劣天氣下無法進行有效的嘴部區(qū)域檢測,除去2段大風天氣,剩下的10段視頻中可以成功檢測的有8段視頻,檢測成功率為80.00%。檢測成功的8段視頻分別拍攝于陰天和晴天,從圖 4分析可知,無論是陰天還是晴天,只要奶牛反芻中背景不出現(xiàn)其他物體的劇烈擾動,均可成功檢測到2頭奶牛的嘴部區(qū)域。
為了實現(xiàn)多目標奶牛反芻的智能監(jiān)測,本研究提出了一種基于Horn-Schunck光流法的奶牛嘴部檢測方法,實現(xiàn)了多目標奶牛嘴部區(qū)域的自動檢測,主要結論如下:
1)該方法可以檢測多頭奶牛反芻時的嘴部區(qū)域,不再局限于針對單頭奶牛反芻的檢測。同時該方法采取的是一種自動檢測手段,更加的智能和準確。該算法對反芻奶牛的背景依賴性低,只要背景不出現(xiàn)物體的大規(guī)模運動,一些輕微的運動不會對最終的檢測結果產(chǎn)生影響。表明將基于Horn-Schunck光流法的奶牛嘴部檢測方法應用于反芻奶牛的嘴部區(qū)域檢測是可行的。
2)除大風等惡劣天氣外,無論在晴天還是陰天該方法都能夠檢測出正在反芻中的奶牛的嘴部區(qū)域。最大真實充盈率可以達到96.76%,最小真實充盈率為25.36%;大檢測充盈率可以達到 98.51%,最小檢測充盈率為43.80%;8段視頻的平均真實充盈率為63.91%,8段視頻的平均檢測充盈率為70.06%。檢測框可以很好地貼近奶牛嘴部輪廓,可為后續(xù)進行多目標奶牛嘴部區(qū)域的自動跟蹤提供參考。
[1] Erina S, Cziszter L T, Acatinc?I S, et al. Research on rumination time according to administration order of forages in romanian black and white cows[J]. Lucrari Stiintifice Zootehnie Si Biotehnologii, 2013, 46(2): 302-305.
[2] Gregorini P, Delarue B, Mcleod K, et al. Rumination behavior of grazing dairy cows in response to restricted time at pasture[J]. Livestock Science, 2012, 146(1): 95-98.
[3] Portugal J A B, Pires M F A, Dur?es M C. Effect of air temperature and humidity on frequency of feeding, water ingestion and rumination in Holstein cows[J]. Arquivo Brasileiro De Medicina Veterinária E Zootecnia, 2000, 52(2):154-159.
[4] 宋顥,楊裔,郭鑫波,等. 深層神經(jīng)網(wǎng)絡在家畜反芻行為識別上的應用[J]. 科學技術與工程,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)
[5] 鄔娟,宣傳忠,武佩,等. 基于Arduino和LabVIEW的羊只反芻行為無線采集系統(tǒng)設計[J]. 黑龍江畜牧獸醫(yī),2016,(21):10-13.Wu Juan, Xuan Chuanzhong, Wu Pei, et al. Design of wireless acquisition system for ruminating behavior of sheep based on the Arduino and LabVIEW[J]. Heilongjiang Animal Science and Veterinary Medicine, 2016, (21): 10-13. (in Chinese with English abstract)
[6] 鄔娟. 母羊反芻行為檢測系統(tǒng)的研究[D]. 呼和浩特:內(nèi)蒙古農(nóng)業(yè)大學,2016.Wu Juan., Study on Data Detection System of Ewes’Ruminating Behavior[D]. Hohhot: Inner Mongolia Agricultural University, 2016. ( in Chinese with English abstract)
[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] Pahl C, Haeussermann A, Mahlkownerge K, et al.Comparison of rumination activity records of pressure sensors and acoustic sensors[C]// International Conference of Agricultural Engineering-CIGR-AgEng 2012: Agriculture and Engineering for a Healthier Life Valencia, 2012.
[9] Zehner N, Niederhauser J J, Nydegger F, et al. Validation of a new health monitoring system (RumiWatch) for combined automatic measurement of rumination, feed intake, water intake and locomotion in dairy cows[C]// International Conference of Agricultural Engineering-CIGR-AgEng 2012:Agriculture and Engineering for a Healthier Life Valencia,2012.
[10] Calamari L, Soriani N, Panella G, et al. Rumination time around calving: an early signal to detect cows at greater risk of disease[J]. Journal of Dairy Science, 2014, 97(6): 3635-3647.
[11] Pahl C, Haeussermann A, Hartung E, et al. Ability to estimate feed intake from feeding time, chewing and rumination activity[C]// International Conference of Agricultural Engineering CIGR-Ageng 2014: Development of the agricultural engineering, Zurich, 2014.
[12] 劉冬,趙凱旋,何東健. 基于混合高斯模型的移動奶牛目標實時檢測[J]. 農(nóng)業(yè)機械學報,2016,47(5):288-294.Liu Dong, Zhao Kaixuan, He Dongjian. Real-time target detection for moving cows based on Gaussian mixture model[J]. Transactions of the Chinese Society for Agricultural Machinery, 2016, 47(5): 288-294. (in Chinese with English abstract)
[13] 何東健,孟凡昌,趙凱旋,等. 基于視頻分析的犢?;拘袨樽R別[J]. 農(nóng)業(yè)機械學報,2016,47(9):294-300.He Dongjian, Meng Fanchang, Zhao Kaixuan, et al.Recognition of calf basic behaviors based on video analysis[J]. Transactions of the Chinese Society for Agricultural Machinery, 2016, 47(9): 294-300. (in Chinese with English abstract)
[14] 趙凱旋,何東健,王恩澤. 基于視頻分析的奶牛呼吸頻率與異常檢測[J]. 農(nóng)業(yè)機械學報,2014,45(10):258-263.Zhao Kaixuan, He Dongjian, Wang Enze. Detection of breathing rate and abnormity of dairy cattle based on video analysis[J]. Transactions of the Chinese Society for Agricultural Machinery, 2014, 45(10): 258-263. (in Chinese with English abstract)
[15] 肖德琴,馮愛晶,楊秋妹,等. 基于視頻追蹤的豬只運動快速檢測方法[J]. 農(nóng)業(yè)機械學報,2016,47(10):351-357.Xiao Deqin, Feng Aijing, Yang Qiumei, et al. Fast motion detection for pigs based on video tracking[J]. Transactions of the Chinese Society for Agricultural Machinery, 2016, 47(10):351-357. (in Chinese with English abstract)
[16] 劉龍申,沈明霞,柏廣宇,等. 基于機器視覺的母豬分娩檢測方法研究[J]. 農(nóng)業(yè)機械學報,2014,45(3):237-242.Liulongshen, Shen Mingxia, Bai Guangyu, et al. Sows parturition detection method based on machine vision[J].Transactions of the Chinese Society for Agricultural Machinery, 2014, 45(3): 237-242. (in Chinese with English abstract)
[17] 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 & Biological Engineering, 2017, 10(5): 194-202. (in Chinese with English abstract)
[18] Andriamandroso A L H, Lebeau F, Beckers Y, et al.Development of an open-source algorithm based on inertial measurement units (IMU) of a smartphone to detect cattle grass intake and ruminating behaviors[J]. Computers &Electronics in Agriculture, 2017, 139: 126-137.
[19] Reiter S, Sattlecker G, Lidauer L, et al. Evaluation of an ear-tag-based accelerometer for monitoring rumination in dairy cows[J]. J Dairy Sci, doi: 10. 3168/jbs. 2017-12688:1-14.
[20] 管飛,王榮. 基于Horn-Schunck光流法的運動目標檢測的研究[J]. 儀表技術,2015,(2):43-45.Guan Fei, Wang Rong. Research on moving object detection based on Horn-Schunck optical flow algorithm[J].Instrumentation Technology, 2015, (2): 43-45. (in Chinese with English abstract)
[21] Tarnec L L, Destrempes F, Cloutier G, et al. A proof of convergence of the Horn-Schunck optical flow algorithm in arbitrary dimension[J]. Siam Journal on Imaging Sciences,2014, 7(1): 277.
[22] Kesrarat D, Patanavijit V. Bidirectional symmetry and median filter with dynamic smoothness weight on Horn-Schunck optical flow algorithm[C]// International Symposium on Intelligent Signal Processing and Communications Systems. IEEE, 2013: 708-713.
[23] Andrés Bruhn, Joachim Weickert, Christoph Schn?rr.Lucas/Kanade meets Horn/Schunck: combining local and global optic flow methods[J]. International Journal of Computer Vision, 2005, 61(3): 211-231.
[24] 林雯. 新型基于幀間差分法的運動人臉檢測算法研究[J].計算機仿真,2010,27(10):238-241.Lin Wen. Research on novel moving face detection algorithm based on frame difference[J]. Computer Simulation, 2010,27(10): 238-241. (in Chinese with English abstract)
[25] 薛麗霞,羅艷麗,王佐成. 基于幀間差分的自適應運動目標檢測方法[J]. 計算機應用研究,2011,28(4):1551-1552.Xue Lixia, Luo Yanli, Wang zuocheng. Detection algorithm of adaptive moving objects based on frame difference method[J]. Application Research of Computers, 2011, 28(4):1551-1552. (in Chinese with English abstract)
[26] 嚴金果,徐蔚鴻. 基于新的幀間差分運動目標檢測算法[J].計算機工程與設計,2013,34(12):4331-4335.Yan Jinguo, Xu Weihong. Moving object real-time detection algorithm based on new frame difference[J]. Computer Engineering and Design, 2013, 34(12): 4331-4335. (in Chinese with English abstract)
[27] 潘翔鶴,趙曙光,柳宗浦,等. 一種基于梯度圖像幀間差分和背景差分的運動目標檢測新方法[J]. 光電子技術,2009,29(1):34-36.Pan Xianghe, Zhao Shuguang, Liu Zongpu, et al. Detection of video moving objects by combining grads-based frame difference and background subtraction[J]. Optoelectronic Technology, 2009, 29(1): 34-36. (in Chinese with English abstract)
[28] 朱明旱,羅大庸,曹倩霞. 幀間差分與背景差分相融合的運動目標檢測算法[J]. 計算機測量與控制,2005,13(3):215-217.Zhu Minghan, Luo Dayong, Cao Qianxia. Moving objects detection algorithm based on two consecutive frames subtraction and background subtraction[J]. Computer Measurement & Control, 2005, 13(3): 215-217. (in Chinese with English abstract)
[29] 屈晶晶,辛云宏. 連續(xù)幀間差分與背景差分相融合的運動目標檢測方法[J]. 光子學報,2014,43(7):213-220.Qu Jingjing, Xin Yunhong. Combined continuous frame difference with background difference method for moving object detection[J]. Acta Photonica Sinica, 2014, 43(7): 213-220. (in Chinese with English abstract)
[30] Han X, Gao Y, Lu Z, et al. Research on moving object detection algorithm based on improved three frame difference method and optical flow[C]// Fifth International Conference on Instrumentation and Measurement, Computer,Communication and Control. IEEE, 2016: 580-584.
[31] Yuan G W, Gong J, Deng M N, et al. A moving objects detection algorithm based on three-frame difference and sparse optical flow[J]. Information Technology Journal, 2014,13(11): 1863-1867.