譚輝磊, 朱偉興
(江蘇大學電氣信息工程學院,江蘇鎮江 212013)
我國是農業大國,農業是我國的支柱產業,是國民經濟的基礎,而養豬業是農業生產的重要組成部分。但隨著我國養豬業集約化、規模化水平的不斷提高,高密度的飼養方式給豬的行為帶來很大影響,在大中型豬場中各種異常行為時常可見,導致這些行為的因素包括食物、環境、疫病等,這不僅影響豬只的生理和心理健康,也影響豬場的生產效率,因此須要時刻觀察豬只的行為狀態。水是生命之源,保持良好的供水對于豬只的健康生長尤為重要,但是豬只飲水是24 h不間斷的行為,僅靠人工作業很難完成監控,因此,實現豬舍內豬只飲水行為的自動監控將有助于及時預警異常豬只,并減少豬只飼養過程中的人工干擾活動,改善豬只福利。
傳統的豬只行為識別主要采用耳標射頻識別(簡稱RFID)技術[1],但該技術在一定程度上會干擾豬只的正常生長,因此為了解決這些問題,引入無應激的計算機視覺技術。朱偉興等通過一種改進的運動目標檢測算法和基于像素塊對稱特征的圖像識別算法定位具有異常行為的疑似病豬,并將報警圖像通過通用分組無線服務網絡傳送至監控中心[2]。馬麗等根據豬腹式呼吸時脊腹部分的起伏特點,構建單側視豬的腹式呼吸表達,并逐段檢測豬視頻腹式呼吸頻次[3]。袁登廳等利用支持向量機理論設計了多種姿態分類器,可對豬的正常行走、低頭行走、抬頭行走、躺臥等4種姿態進行識別[4]。謝徵等提出一種基于幾何參數特征與決策樹支持向量機的豬只姿態分類方法,用來研究與豬只行為及精神狀態相關的姿態[5]。陸明洲等結合射頻標志和紅外探測技術準確監測了母豬的日飲水頻率及水資源的日消耗總量[6]。
現階段采用計算機視覺技術監測豬只飲水行為的研究報道較少,考慮到機器視覺算法在豬只其他行為上的應用,研究飲水行為的識別已成為發展趨勢。本研究提出一種基于輪廓的豬只飲水行為識別方法。首先從原始圖像中分離出飲水區域,并采取有效圖像處理方法得到目標輪廓,建立訓練樣本,然后針對該區域內豬個體的輪廓進行多邊形近似,并提取相關特征,最后計算2個輪廓之間的相似度,從而完成輪廓匹配。
視頻是在江蘇大學國家重點學科農業電氣化與自動化的試驗基地——丹陽市榮鑫農牧發展有限公司養豬場采集的。通過改建試驗用豬舍,安裝拍攝俯視視頻的圖像采集系統,對群養豬進行持續視頻監控。攝像機位于豬舍正上方,相對地面的垂直高度約為3 m,視頻采集平臺及獲取的視頻幀示例如圖1所示。攝像機采用的是加拿大灰點公司的FL3-U3-88S2C-C(Sony CMOS),它可以采集到包含背景的俯視狀態下群養豬的紅綠藍(red,green,blue,簡稱RGB)彩色視頻。為了滿足試驗要求,須要獲取豬只種類和數量盡可能多的視頻片段,豬舍中安放7頭體態顏色各異的豬。根據人工觀察以及算法特點,當豬只攀爬隔離欄以及豬只之間存在打斗現象時,俯視視頻下的豬體均有部分缺失,會增加識別的不確定性,因而這些視頻幀不作為本研究的試驗對象。
在實際生產中,針對不同類別不同生長階段的豬群,自動飲水器安裝的高度有一定差異。本研究中飲水器安裝在離地55 cm的位置,豬只須要抬頭并咬住水嘴即可完成飲水。針對豬只飲水的固定姿態,本研究提出基于輪廓的豬只行為識別方法,識別流程如圖2所示,首先從原始圖像中分離出飲水區域并采用二維大津算法(OTSU法)[7]得到初步分割結果,由于豬舍背景干擾大,還須要對目標進行二值化以及形態學處理,進而得到目標輪廓;然后針對目標輪廓采用改進的 Douglas-Peukcer法進行多邊形近似,同時根據對象特點提取輪廓特征;最后與本研究所采用樣本庫中的樣本進行相似度匹配得出識別結果。本研究選取滿足條件的430幀視頻圖像作為樣本進行試驗,其中230幀存在豬只飲水情況,另外200幀作為干擾項;選取存在豬只飲水情況的30幀作為訓練樣本,剩余400幀作為測試樣本。


Douglas-Peukcer算法由Douglas和Peukcer提出[8],因此又簡稱D-P算法,是一種經典的線狀要素化簡算法。該算法可將曲線近似表示為一系列點,并逐步減少點的數量,從而達到化簡曲線的目的。算法原理如圖3所示,具體步驟如下:(1)連接曲線首尾a、b 2點得到1條直線ab,ab被稱為該曲線的弦;(2)求曲線上所有點到該弦的距離,設距離最大的點為c,最大距離為dmax;(3)比較dmax和給定閾值T的大小關系,如果dmax小于T,則將直線段ab作為曲線的近似;如果dmax大于T,則曲線被分割為ac、cb 2段,并重復步驟(1)、(2)、(3),直到曲線上所有線段處理完畢;(4)連接這些距離最大且滿足步驟(3)的點得到曲線的近似。

豬只在飲水區域內的輪廓可能并不完整,必要時需要對多條曲線進行處理,傳統D-P算法一般采用遞歸的方法來實現,同時涉及棧的操作,此時如果繼續采用傳統D-P算法計算最大距離點,會出現循環時間偏長甚至棧溢出的情況,從而影響算法效率。因此,本研究對上文提及的傳統D-P算法步驟(2)進行改進,即不再計算曲線上所有點到該弦的距離,而是計算曲率的極大值點。曲率[9]定義為在光滑弧上自點M開始取弧段,弧長為Δs,對應切線轉角為Δα(圖4),此時點M處的曲率為當Δs趨向于0時,|Δα/Δs|的極限值。

曲率體現了曲線的完全程度,其值越大,該處曲線彎曲程度越大。對于飲水豬只頭部而言,曲率的極值點正是進行多邊形近似時須要保留的點。利用改進的D-P算法,采用不同閾值T對一幅待識別圖像的輪廓進行多邊形近似。圖5-a是原輪廓曲線,坐標點個數為733個;圖5-b為閾值T=1的多邊形近似結果,共保留71個坐標點,基本與原輪廓重合,且保留了大部分細節信息;圖5-c是閾值T=3的多邊形近似結果,保留的坐標點個數為23個,此時盡管在局部存在一些形狀的細節丟失,但仍然能反映整體的輪廓特征;圖5-d是閾值T=5的多邊形近似結果,保留的坐標點個數為15個,可以明顯看出部分曲線的擬合結果存在嚴重變形,特別是一些存在凹凸點較多的區域。為了盡可能保留原輪廓的局部特征點,同時避免無用細節的影響,本研究選用閾值T=3的多邊形近似結果作為該輪廓的近似結果,與原輪廓的733個點相比,在很大程度上減少了計算量,同時保留了輪廓的主要形狀特征。
輪廓特征提取是對近似多邊形所保留的點建立特征量的過程,為了方便進行分類識別,特征量應具有尺度不變性和旋轉不變性[10],本研究采用角度和距離來構建二維特征量。




(1)

(2)
(3)

(4)

P={P1,P2,…,Pk-1}。
(5)

hi(k)=#{(p-qi)∈bin(k)|p∈P,p?qi}。
(6)

判斷圖7-a和圖7-b的相似度,即比較這2個輪廓所對應基向量的相似程度。在該對應關系中,首先要求基線段具有相似的描述子,其次要求一對一的映射關系[11]。因此,可以根據每個基向量的直方圖,在其他輪廓上找到與其最相似的基向量,然后綜合所有基向量來判定輪廓的相似程度。
根據直方圖分布特點,采用x2距離統計分布來度量Pi和Qj這2個輪廓特征描述子的匹配代價[12],具體公式為
(7)
該代價值介于0到1之間,其值越小,Pi和Qj的相似程度越大。根據輪廓所有基向量代價值Cij的集合可以得到總的代價值,且總的代價值越小,說明2個輪廓越相似。這樣就將求解輪廓的相似度轉為了求解2個輪廓所有基向量之間的最優匹配f,而求解最優匹配既是一個最優化求解問題,也是一個典型的線性分配問題[13]。在實際應用中,通常采用匈牙利算法[14]進行求解。利用匈牙利算法可以得到代價最小的最優匹配,并得到輪廓基向量之間的最優匹配關系,當最優匹配下的基向量之間代價值小于某個閾值T時,即認為該基向量匹配正確,最后計算待匹配輪廓上正確匹配的基向量個數和訓練樣本輪廓上基向量總個數的比值,從而得到2個輪廓之間的相似度,完成輪廓的匹配工作。

為了證明本算法的有效性,選取滿足條件的430幀視頻圖像作為樣本進行試驗,其中230幀存在豬只飲水情況,另外200幀作為干擾項;選取存在豬只飲水情況的30幀作為訓練樣本,剩余400幀作為測試樣本。仿真試驗的軟硬件環境為CPU Inter(R) Core(TM)i5 2.4GHz,Windows 7,Matlab2014b。
在得到輪廓基向量之間的最優匹配關系后,須要計算基向量之間的代價值,并對該代價值設定一個閾值T,以判斷是否匹配正確。圖8為不同輪廓圖像,其中S1和S3是同一豬只飲水狀態下的輪廓,S2是非飲水狀態下的輪廓,S1和S2選自測試樣本,S3選自訓練樣本,在不同閾值T下,將S1和S3、S2和S3進行匹配,得到相應的相似度H(Sx,Sy)(表1)。

由表1可知,相似度隨著閾值T的增大而增大,但當T=0.3時,相同狀態下輪廓的相似度達到臨界點,而不同狀態下輪廓的相似度則繼續增加,因此本研究選用閾值T=0.3作為經驗值。

表1 不同閾值下的相似度比較
采用閾值T=0.3對400幀測試樣本進行試驗,并與人工觀測結果進行對比。
由表2可知,在豬舍背景存在較大干擾,豬只輪廓存在變形且提取并不十分精確的條件下,本研究算法對飲水行為豬只的識別率達92.00%,對其他行為豬只的識別率達95.50%。通過查看錯誤識別的測試圖像發現,出現錯誤的原因主要有(1)在識別飲水豬只過程中,豬只的耳朵輪廓在豬只不同姿態下的表現不盡相同;(2)在識別其他豬只過程中,豬只在飲水區域范圍內抬頭可能會被錯誤識別。如果能在預處理過程中去除耳朵多出身體的部分輪廓,或者對飲水豬只的輪廓區域大小進行更明確的定位,則會進一步提高識別率。

表2 本算法的識別情況
而如何摒棄干擾并且能夠更快更精準地得到輪廓圖像也是值得深入研究的問題。
本研究提出一種基于形狀模型的豬只飲水行為識別方法,能夠準確地識別豬只的飲水行為。結果表明,本算法的綜合識別率達93.75%,對于豬只飲水行為的識別工作,本研究所建立的形狀模型能夠有效提取特征,該識別方法的研究對于監控豬只身體健康有一定的實際應用價值, 且該方法原理簡單,在識別速度以及識別質量上有一定的突破,今后的主要工作是進一步提高識別速度和識別率,未來還將結合對豬個體的身份識別來判斷豬只的健康狀況。