黎 煊 劉詩堯 趙書紅 劉望宏 雷明剛 徐迪紅
(1.農業農村部智慧養殖技術重點實驗室, 武漢 430070; 2.中國農業科學院深圳農業基因組研究所, 深圳 518000;3.嶺南現代農業科學與技術廣東省實驗室深圳分中心, 深圳 518000;4.農業農村部種豬質量監督檢驗測試中心(武漢), 武漢 430070;5.華中農業大學深圳營養與健康研究院, 深圳 518000)
正確選擇具有優良遺傳品質的個體對于動物改良具有重要意義[1]。種豬生產性能測定是種豬客觀評定的基礎工作[2],按照既定的測定方案,將測定豬只置于相對一致的環境和飼養管理條件下,采用標準方法對目標性狀進行度量的全過程,是提高種豬質量的有效方式。傳統的人工測定過程測定數據可靠性差,易引起種豬應激反應且對環境要求嚴格。種豬性能測定站以其高自動化的特點被應用在種豬測定中。測定站按外型可分為開放式和封閉式兩大類。開放式測定站采用敞開式的測定環境,對種豬采食飼料和體質量稱量過程沒有良好的保護,當測定站不能滿足種豬采食需求時,會增加種豬之間爭食行為[3-4],進而降低種豬的生產性能和繁殖力[5]、影響種豬采食量和體質量測量精度[6]。封閉式種豬測定站能夠提供相對穩定封閉的測量環境,可減少種豬爭食行為,測定準確性高。目前封閉式測定站研究較少,自動化程度較低[7-8],因而有必要開展自動化程度高的封閉式種豬性能測定站研究。我國具有95個核心育種場,每年需要進行測定的種公豬約30萬頭,而我國目前性能測定站僅2 000余套,年測定量約9萬頭,不到需求量的1/3,而國內市場目前高性能測定站需求量在6 000套以上,當前市場上種豬測定站主要為Osborne、Acema等國外品牌,價格昂貴,主要獲取種豬體質量和采食信息,難以獲取種豬體尺信息。而種豬體尺信息是衡量豬生長發育情況的一個主要指標,在種豬測定過程中實時獲取體尺信息可為種豬育種選育提供更多的數據支撐,對提高我國育種水平具有重要意義。
傳統的種豬體尺測量方法利用皮尺、測杖等工具進行直接測量,其測量工作量大、覆蓋面小且容易導致豬只應激反應。機器視覺以其無接觸、精準度高等特點已被應用于豬只體尺測量,目前國內外學者將圖像處理應用于豬只體尺的研究已取得較多進展[9-13]。WANG[10]使用單目相機采集豬只背部圖像數據,通過相機與豬只距離得到豬只的實際尺寸。劉同海等[11]在飲水器正上方安裝攝像機,利用機器視覺技術對豬體圖像進行包絡分析,實現了體長、臀寬、體寬、肩寬的測量。李卓等[12]使用兩個單目相機同時采集數據構建雙目視覺系統從而提取豬只特征點。目前體尺測量研究大多是在開放的環境下,例如在采食點、飲水點或豬舍上方設置相機,和測定站聯合測定應用較少。KONGSRO[13]將Kinect攝像機置于Osborne測定站上方基于深度圖像獲取豬體特征參數,利用圖像中像素值之和提取豬體的高度、寬度及背部面積等信息。 因Osborne測定站為開放式測定站,其接口不開放且可能造成豬只爭食行為,需手動篩選豬只圖像并核對豬只身份信息,信息不能進行有機融合。將種豬采食信息、體質量信息以及體尺信息同時進行測定,可以更客觀、更高效評價種豬,提高育種效率。
本文設計一種集種豬自動識別、體質量自動稱量、采食量自動統計、體尺自動測量于一體的封閉式種豬性能測定站。種豬性能測定站機械部分采用前后端分離的結構設計,通過設計采食門裝置和門禁裝置為種豬提供穩定封閉的測量環境;控制系統采用STM32控制中心與圖像處理中心協同工作模式,分析種豬入站體質量變化特點,基于FIR濾波設計種豬體質量動態稱量算法,基于橢圓擬合研究種豬理想姿態篩選算法,并提出基于包絡分析的種豬體尺測量算法。
種豬測定站機械結構采用前后端分離設計,如圖1所示。前端為飼喂裝置,包括前端框架、螺旋下料裝置、稱量料槽裝置以及采食門裝置,螺旋下料裝置主要由料斗、支架、下料電機、螺旋軸和聯軸器組成;稱量料槽裝置由食槽和稱量傳感器組成;采食門裝置為上下兩塊擋板鉸接,通過氣缸驅動旋轉實現采食門開關,其上端設置有RFID塑料天線板;后端為種豬稱量裝置,由后端框架、稱量欄裝置、門禁裝置組成,稱量欄裝置位于下料裝置和稱量料槽裝置后方;攝像頭懸掛在稱量欄裝置正上方2.2 m處,其視場角可以容納入站種豬;門禁裝置由氣缸驅動的兩對推拉門組成,安裝在稱量欄后端。

圖1 種豬測定站機械結構示意圖Fig.1 Schematic of mechanical structure of breeding pig measuring station1.前端框架 2.螺旋下料裝置 3.采食門裝置 4.后端框架 5.稱量欄裝置 6.門禁裝置 7.稱量料槽裝置 8.攝像頭
種豬測定站控制系統采用STM32控制中心與圖像處理中心協同工作模式,如圖2所示,STM32控制中心通過與32位AD采集芯片ADS1263建立SPI通信,讀取不同輸入通道稱量傳感器的電信號,通過控制IO口驅動電磁閥和下料電機進行開關門禁動作和下料動作,RFID讀卡器識別的種豬身份數據通過UART傳輸至STM32控制中心。圖像處理中心選用RK3399芯片,攝像頭選用Intel Realsense D415型,通過USB 3.0驅動攝像頭實時捕獲種豬圖像,檢測種豬體尺,體尺測定數據通過UART傳遞給STM32控制中心。

圖2 種豬測定站控制系統示意圖Fig.2 Schematic of control system of breeding pig measuring station
種豬入站信號為稱量欄裝置傳輸的電信號,其閾值設定為測定豬群平均體質量的1/2,種豬入站后關閉門禁裝置并對入站種豬身份進行識別、體質量稱量、體尺測量,種豬出站閾值設置為5 kg,種豬出站后對其采食量進行計算,系統工作流程圖如圖3所示。

圖3 種豬測定站工作流程圖Fig.3 Workflow chart of breeding pig measuring station
在稱量過程中,豬只的移動對稱量準確度影響較大, FIR濾波器具有線性相頻特性、穩定等優點[14],本文采用FIR濾波器對體質量數據進行處理, FIR濾波器的差分方程表達式為

(1)
式中y(n)——濾波器輸出信號
x(n-k)——濾波器輸入信號
h(k)——濾波系數N——濾波器階數
用窗函數法來設計FIR濾波器,選擇適應力較強的凱澤窗,可調節主瓣和旁瓣的寬度比值,適合對A/D采樣信號濾波[14]。通過采集豬只入站體質量數據分析豬只體質量變化規律,圖4所示藍色曲線為一頭體質量25.5 kg豬只入站采食過程中的體質量數據,豬只移動有較明顯的規律, 0.1 s左右時,豬只移動頻率為10 Hz左右,測定種豬體質量一般為30~120 kg,隨著體質量增大,豬只移動越來越慢。本文設計 FIR濾波器截止頻率為35.19 rad/s,利用fir1()函數計算出濾波系數,得到濾波器的幅頻特性曲線如圖5所示。

圖4 體質量數據FIR濾波時域圖Fig.4 FIR filtering time domain diagram of weight data

圖5 FIR濾波器幅頻特性曲線Fig.5 Amplitude-frequency characteristics of FIR filter
濾波效果如圖4紅色曲線所示。對濾波后的數據采用均值法得出本次稱量的真實體質量?;趧討B稱量算法對稱量裝置進行標定,用100 kg砝碼對體質量秤進行標定,經反復測試,稱量檢測值相對于標定物動態誤差在0.1%以內。
體尺測量模塊以豬只入站為觸發信號,對采集的圖像進行動態豬體輪廓提取、豬體理想姿態篩選、豬體體尺測點提取,測量流程如圖6所示。

圖6 體尺測量流程圖Fig.6 Flow chart of measuring ruler
2.2.1動態豬體輪廓提取

將深度數據映射到彩色圖像后生成世界坐標,根據世界坐標的深度賦予不同彩色值,生成如圖7b所示的彩色深度圖像。將深度數據轉換到彩色圖像后生成世界坐標,以測定站限位欄高度的1/3為閾值,通過距離梯度分割得到豬只輪廓如圖7c所示。

圖7 原始圖像處理效果Fig.7 Original image processing rendering
2.2.2豬體理想姿態篩選
體尺測量是否準確關鍵是豬體姿態處于自然狀態[12],若豬體處于異常姿態則容易導致體尺測量點的提取出現偏差,因此需要對豬只姿態進行篩選。豬只異常姿態主要分為圖8所示的3類:低頭、彎曲、抬頭。

圖8 豬只異常姿態Fig.8 Unusual posture of pigs
橢圓擬合常被應用于圓形或橢圓形物體的目標檢測中[15]。KASHIHA等[16]在通過橢圓自適應算法先后檢測出豬體整體部分、頭部與軀干部分,并去除頭尾后計算出背部面積。本文提出基于橢圓擬合的姿態篩選法,首先對豬體輪廓點集進行橢圓擬合,橢圓方程為
ax2+bxy+cy2+dx+ey=1
(2)
式中a、b、c、d、e——常系數
令A=[abcde],X=[x2xyy2xy]T,方程表示為AX=1,橢圓擬合的最優解為
(3)
其中

式中D——數據樣本集合
C——常數矩陣
根據拉格朗日乘子法,引入拉格朗日因子γ,得到兩個等式方程
2DTDA-2γCA=0
(4)
ATCA=1
(5)

(6)


圖9 橢圓擬合效果Fig.9 Ellipse fitting effect
(1)對于彎曲姿態,分別統計豬體區域中位于橢圓長軸左右兩側的像素點數量,以對稱度δ為閾值對圖像進行篩選。δ的計算公式為
(7)
式中SL——橢圓長軸左側所有像素點數
SR——橢圓長軸右側所有像素點數
理想狀態下豬體圖像應關于橢圓長軸左右對稱,對稱度δ=0.5,對于彎曲豬體,δ分布在0.5兩側。為尋找合理的δ范圍,計算人工篩選的660幀理想姿態的δ值。根據計算的結果選取對稱度為0.46~0.54。
(2)對于低頭姿態,首先確定豬體頭部和尾部所在位置,沿橢圓長軸方向對豬體區域內的所有像素點進行垂直投影
Sd=|S(i+1)-S(i)| (i=1,2,…,l-1)
(8)
其中
S(i)=n
(9)
式中l——橢圓長軸索引值
n——垂直投影線上像素點數量
Sd——像素點數量差值
S(i)——橢圓長軸索引值i處像素點數量
根據式(8)求差分曲線,如圖10所示。

圖10 差分曲線Fig.10 Difference curve
差分值較大處對應的可疑點大多分布在耳部和嘴部結合處、脖頸和耳根結合處以及尾根處。根據可疑點到長軸中點的距離判斷頭部和尾部的位置,為保證頭尾分割的完整性,分別從可疑點處向橢圓中心移動30像素分離出頭部和尾部,如圖11所示。

圖11 分離后的頭部和尾部位置Fig.11 Head and tail position after separation
提取頭部外輪廓形心(x,y),計算外輪廓上各點到形心點的距離,距離分布如圖12所示,與正常圖像相比,低頭圖像如圖13b所示,主要表現為豬鼻部分的缺失。x、y的計算公式為

圖12 距離分布Fig.12 Distance distribution
(10)
式中xn——外輪廓點橫軸上的像素索引值
yn——外輪廓點縱軸上的像素索引值
M——輪廓點數量
理想姿態圖像像素距離分布較平均,兩個波谷中間最高的波峰為豬鼻部分到質心的距離分布。而低頭姿態圖像中由于鼻子缺失,在理想姿態圖像像素距離分布圖中,鼻尖位置會出現一個較大的波谷,因此可通過判斷像素距離分布圖中波谷的分布情況對低頭姿態進行篩選。
(3)對于抬頭姿態,由于處于抬頭姿態的豬只與正常姿態接近,難以直接通過分析二維圖像進行判別。對本試驗中手工測量的體高與臀高比例進行統計,為提高篩選準確率,取置信度為95%,閾值范圍規定為85%~95%。通過判斷體高與臀高的比例對抬頭姿態圖像進行篩選。
2.2.3豬體體尺測點提取
根據2.2.2節方法分離出理想姿態近似頭尾部分,通過包絡分析找出各凸包中的凸點,判斷各凸點到近似頭尾分割線距離,找出真實頭尾分割點如圖14c、14d所示,將兩耳根點和兩尾根點連接作為頭尾分割線對理想姿態豬體進行分割,得到背部輪廓如圖15所示,點1、2為耳根點,點3、4為尾根點,點5和點6分別為兩耳根點中點和兩尾根點中點,為體長測點,點7為豬體背部區域的形心,從點7出發,分別沿索引L1和L2尋找豬體外輪廓最大截距交點為體寬和臀寬測點,最大截距對應的索引點12和13為臀高和體高測點;豬只體長計算公式為

圖14 頭尾包絡分析Fig.14 Head tail envelope analysis

圖15 體尺測點Fig.15 Body ruler measuring point
(11)
其中
(12)
式中 Δxk、Δyk、Δzk——相鄰像素距離差值
r——體尺測點像素點數量
Lk——體尺弧線近似距離,cm
L——豬只體長,cm
課題組于2019年3—7月在武漢市江夏區某豬場選取70日齡大白豬10頭完成生長性能優化試驗[17],在此基礎上于2019年12月至2020年2月在華中農業大學精品豬場選取55日齡大白豬6頭進行實際豬群模擬種豬生長性能驗證試驗。試驗期間讓試驗豬只自由采食和飲水,實際豬群模擬種豬生長性能驗證試驗過程如圖16所示,其結果分析如下:

圖16 生長性能驗證試驗現場Fig.16 Growth performance experiment site map
(1)采食數據分析
表1和表2為試驗豬只個體和群體的日均采食次數、日均采食時間和料肉比統計結果。

表1 試驗豬只個體采食信息Tab.1 Individual feeding information of experimental pigs

表2 試驗豬只群體采食信息Tab.2 Feeding information of experimental pig population
孫華等[18]研究得到肥育豬30~100 kg的平均日采食8.95次;羅鳳珍等[19]測定的生長肥育母豬30~60 kg平均自由采食9.5次,料肉比為2.16;課題組前期樣機性能優化試驗中大白豬40~100 kg日均采食次數為7.68次,群體料肉比為2.69[17]。
(2)生長規律分析
結合日齡和體質量信息對試驗豬群進行Logistic擬合分析,Logistic模型方程為
Wt=A/(1+Be-kt)
(13)
式中Wt——t日齡時豬只體質量,kg
A——極限體質量,kg
B——調節參數t——日齡,d
k——瞬時相對增長率
Logistic模型擬合曲線如圖17所示。

圖17 體質量曲線與logistic模型擬合曲線Fig.17 Body weight and fitting curves
生長曲線擬合方程為
Wt=145.394 27/(1+33.501 44e-0.027 83t)
(14)
Logistic模型擬合的拐點為(126.18 d,72.70 kg),擬合決定系數為0.942 29。肖煒等[20]針對3種不同來源的大白豬采用Gompertz、Logistic、Bertanlanffy 3種模型進行了生長曲線擬合,結果表明采用Logistic模型擬合的決定系數比另外兩種模型高, 生長曲線的拐點分別為(124.93 d,71.40 kg)、(143.49 d,84.25 kg)、(137.25 d,86.85 kg);李慶崗等[21]針對不同性別的美系大白豬進行生長曲線擬合,公豬與母豬的拐點分別為(137.14 d,88.25 kg)、(138.53 d,81.95 kg);課題組前期樣機性能優化試驗中大白豬Logistic模型擬合拐點為(134.53 d,85.80 kg)[17]。
通過日均采食次數、料肉比和生長曲線擬合結果分析,本文驗證試驗結果與課題組前期樣機性能優化試驗結果一致,均與現有研究結論相近,表明本文所設計的封閉式種豬性能測定站可靠性和穩定性較好,可用于種豬性能測定。
2021年10月8日—11月15日在華中農業大學精品豬場進行豬只體尺測量試驗,如圖18所示。選取125日齡鄂通兩頭烏豬只6頭,整個試驗期間讓試驗豬只自由采食和飲水。

圖18 體尺測量試驗現場Fig.18 Body measurement experiment site map
(1)姿態篩選
為驗證豬只理想姿態的篩選結果,對2021年10月12日采集的共34 290幀圖像進行了人工檢測與自動檢測,其中算法篩選低頭幀數共11 627幀,算法篩選彎曲幀數共19 255幀,算法篩選抬頭幀數共2 815幀,算法篩選理想姿態共593幀,全部包含在人工篩選理想姿態660幀中,占總幀數的1.72%。
(2)體尺檢測誤差
在2021年11月6日采用人工方式測量體尺對系統精度進行校驗,每個體尺測量3次取平均值作為測量結果,測量結果如表3所示。體長、體寬、臀寬、體高、臀高檢測值與實測值的平均相對誤差分別為3.69%、2.53%、2.60%、2.59%、2.17%,表明系統檢測的體尺數據測量效果較好。

表3 豬只體尺測量誤差Tab.3 Measurement error of pig body ruler
(1)設計了一種集種豬自動識別、體質量自動稱量、體尺自動測量、采食量自動統計于一體的封閉式種豬性能測定站。系統的機械部分采用前后端分離的結構設計,前端為飼喂裝置,包括前端框架、螺旋下料裝置、稱量料槽裝置以及采食門裝置,后端為豬只稱量裝置,由后端框架、稱量欄裝置、門禁裝置組成。通過設計采食門裝置和門禁裝置為豬只提供封閉測量環境,在此基礎上基于FIR濾波設計了種豬體質量動態稱量算法、基于橢圓擬合設計了種豬姿態篩選算法、基于包絡分析設計了種豬體尺提取算法。系統控制部分采用STM32控制中心和圖像處理中心協同工作模式。圖像處理中心獲取種豬體尺信息;STM32控制中心獲取種豬身份、采食量、體質量等信息,并融合圖像處理中心獲取種豬體尺信息。
(2)分別進行了實際豬群模擬種豬生長性能驗證試驗和體尺測量試驗。通過生長性能驗證試驗對采食行為數據分析表明,25~60 kg、25~100 kg階段,試驗豬只群體自由采食日均次數分別為9.33、8.94次,日均采食時間分別為88.20、92.93 min,群體料肉比分別為2.47和2.66;60~135日齡生長曲線擬合結果表明,生長規律符合Logistic模型擬合曲線。通過體尺測量試驗驗證,算法篩選豬只理想姿態幀全部包含在人工篩選理想姿態幀內,體長、體寬、臀寬、體高、臀高的平均相對誤差分別為3.69%、2.53%、2.60%、2.59%、2.17%,滿足體尺測量要求。試驗結果表明,本文設計的封閉式種豬性能測定站可用于種豬生產性能測定,能夠同時提供種豬體質量、采食量和體尺等信息,可為我國生豬育種工作提供物質裝備和技術支撐。