沈明霞 陸鵬宇 劉龍申 孫玉文 許 毅 秦伏亮
(1.南京農業大學工學院, 南京 210031; 2.新希望六和股份有限公司, 青島 266100)
畜禽個體信息的智能感知與分析是畜禽精準健康養殖的關鍵[1]。體溫是畜禽個體信息的重要指標[2-3],快速、準確地獲取畜禽體溫是畜禽養殖行業的迫切需求,也是目前該領域的研究熱點。傳統畜禽體溫檢測主要依靠耗時、費力且主觀性強的人工檢測方法[4]。近年來,紅外熱成像檢測技術因其具有無應激、無損傷的優勢,而替代了人工檢測,并逐步被應用于畜禽的體溫與生理疾病檢測之中[5]。
在大型牲畜體溫檢測技術研究中,目前通常采用紅外熱成像技術和圖像處理方法提取ROI溫度,以反映大型牲畜疾病與生理特征[6-12]。而在將紅外熱成像技術應用于小個體的雞只體溫、疾病與生理特征檢測時[13-17],由于身體被羽毛覆蓋,特征區域不明顯,且更易受應激影響,因此存在技術瓶頸。對蛋雞的體溫檢測研究中,楊威[18]將傳感器分別穿戴在雞的腿部、胸部以及泄殖腔3個部位,數據顯示,雞胸部位的溫度處于39.5~41.2℃之間,是溫度最為平穩的部位,具有一定的指標意義。但接觸式測溫的方法易造成雞只應激反應,且裝置容易被雞只啄擊而導致脫落、失靈,適應性較低,也不符合雞只的福利養殖要求。陸輝山等[19]采用紅外熱像儀研究了蛋雞相關體表區域溫度與翅下溫度的關系,選取適當的點作為ROI溫度,使用電子體溫計獲取翅下溫度,采用多元線性擬合方法建立翅下溫度與頭部、腿部溫度的關系模型,該模型預測結果的平均誤差為0.05℃,最大誤差為0.21℃。與蛋雞相比,白羽肉雞生長速度快,而羽毛生長緩慢且覆蓋不均勻,體表裸露部分較多,極易干擾ROI溫度提取。目前,未見采用紅外熱成像技術檢測肉雞體溫的相關研究報道。
為此,本研究提出一種紅外熱成像技術和深度學習相結合、定性與定量檢測肉雞體溫的方法。首先基于深層卷積神經網絡提取ROI溫度,然后采用多元線性回歸以及BP神經網絡兩種方法建立肉雞翅下溫度反演模型,以期為肉雞疾病診斷和健康養殖提供技術支撐。
試驗于2019年1月與3月在山東省青島市新希望六和股份有限公司進行,從雞舍內21 000多只白羽肉雞中隨機挑選30只雞齡為35 d、平均質量為2 kg的白羽肉雞作為試驗對象。
Hair ST-800型無線電子體溫計,測量范圍25~45℃,測量精度±0.1℃。272-A型溫濕度計,溫度測量范圍-10~50℃,測量精度±1℃,相對濕度測量范圍0~100%,測量精度±5%。ZD-802型光照度計,測量范圍0.1~200 000 lx,測量精度±5%。FLIR TAU2640型紅外熱像儀,測量范圍-40~80℃,測量精度±2℃,圖像分辨率640像素×512像素,像素間距17 μm,成像時間小于0.5 s。
雞舍的環境溫度在19.8~23.7℃范圍內,環境相對濕度在13%~79%范圍內。舍內光照強度白天穩定在3.5 lx左右,20:00—23:00舍內熄燈,光照強度為0 lx。
選取環境溫度較為平穩的區域作為拍攝背景,將無線電子體溫計固定在雞只翅下,然后放置在拍攝區域內,將紅外熱像儀放置距雞只側身1.2 m處。等待至雞只平穩無應激,連續拍攝5幅雞只側身熱紅外圖像,并記錄環境溫濕度及光照強度。圖1為體溫采集示意圖。

圖1 體溫采集示意圖Fig.1 Sketch of body temperature collection1.無線電子體溫計 2.溫濕度計 3.光照度計 4.紅外熱像儀
在紅外熱像儀所拍攝的圖像中,如圖2所示,具有顯著溫度差異的雞只前景區域與周圍背景區域呈現出兩種不同趨勢的顏色。在圖像的雞只區域里,雞只頭部與腿部溫度較高,與身體其他部分有較為明顯的顏色差異。且由于沒有羽毛覆蓋,腿部與頭部可以直接接觸環境[19]。所以取頭部與腿部作為試驗的特征區域即為ROI,并取頭部與腿部最高溫度作為感興趣區域溫度[20]。

圖2 白羽肉雞熱紅外圖Fig.2 Thermal infrared image of white feather broiler1.頭部 2.腿部 3.尾部 4.胸脯 5.雞糞
在熱紅外圖像中會存在尾部、胸脯等羽毛未覆蓋區域和雞糞等高溫干擾因素。對一整幅圖像進行處理和溫度數據提取,將會增加數據處理時間,降低效率。因此,本試驗采用深層卷積神經網絡識別ROI,并提取ROI溫度數據。
卷積神經網絡由卷積層、池化層、全連接層和輸出層構成。卷積層內部包含多個卷積核,對輸入圖像數據進行特征提取。池化層包含預設的池化函數,通過降低特征圖的空間尺寸,進行二次特征提取。全連接層搭建在隱含層最后,可以整合卷積層或池化層中具有類別區分性的局部信息[21-22]。
本文采用的是類YOLOv3網絡模型,該模型的主體結構是Darknet53,將分類和定位合并為一個任務進行目標識別[23-24],其工作流程如圖3所示。

圖5 模型結構圖Fig.5 Diagram chart of model structure

圖3 類YOLOv3網絡模型的工作流程圖Fig.3 Workflow chart of YOLOv3 network model
將歸一化后的圖像數據放進輸入層,網絡對圖像進行3次倍降采樣,提取輸出層特征,并在特征交互層中將兩次上采樣的特征與輸出特征通過特征金字塔網絡(FPN)算法融合,得到3種尺寸的目標預測,最終輸出層輸出識別結果。
模型卷積層大量融合圖4所示的殘差結構,可在反向傳播過程中解決梯度消失問題并控制過擬合。每個殘差結構塊包含2個卷積層,卷積核尺寸分別為1×1和3×3。每一層卷積層后都進行批量特征歸一劃操作,并通過激活函數進行非線性處理,激活函數為LeakyReLU函數。

圖4 殘差結構圖Fig.4 Residual block
圖5是該模型的結構圖。通過FPN算法,將97層上采樣特征與36層輸出特征拼接融合得到大尺寸目標的特征圖;將85層上采樣特征與61層輸出特征拼接融合得到中尺寸目標的特征圖;將79層輸出的特征取出,得到小尺寸目標的特征圖。3種尺寸的特征圖聚類出9種尺寸的先驗框,9種先驗框可以實現對大、中、小3種尺寸目標的檢測。
2.3.1訓練樣本來源
試驗期間每天進行4次數據采集,時間分別為09:00—10:30、13:00—14:30、16:00—17:30和20:00—21:30。連續采集7 d,試驗期間共采集940組數據,剔除無效數據后共計900組數據。使用開源圖像標注軟件LabelImg進行圖像標注,標注圖像包括3通道圖像900幅,標注格式為PASCAL VOC數據集標準格式,每幅圖像標注后會對應生成xml標簽。
2.3.2訓練平臺與訓練參數設計
訓練平臺為1臺酷睿i9-9900kCPU工作站,配有RTX2080Ti,顯存為11 GB,32 GB內存。
將試驗采集的900幅圖像按照8∶1∶1分為訓練集、驗證集和測試集;初次訓練迭代30 000次,再次訓練迭代10 000次;采用Batch值為64的Mini-batch隨機梯度下降法訓練;學習策略為步進型,學習率初始化為0.001,沖量0.9,衰減因子為0.000 5;為13像素×13像素、26像素×26像素和52像素×52像素3種尺寸的預測圖像各分配3個先驗框。
2.3.3模型評價
采用查準率P(Precision)和查全率Re(Recall) 對識別結果進行評價,計算公式如下
(1)
(2)
式中Tp——真正樣本Fp——假正樣本
Ps——正樣本,包括真正樣本和假負樣本
經過YOLOv3深層卷積神經網絡訓練得到目標檢測模型,測試集中的圖像檢測結果如圖6所示。模型在測試數據集的90幅圖像上實測得到查準率和查全率分別為96.77%和100%。對檢測結果進行可視化分析,圖像在訓練集、驗證集、測試集中分布方式相同、熱紅外圖像采集的場景簡單且無環境干擾、肉雞的頭部和腿部特征較為明顯,模型可以對肉雞的頭部和腿部進行無偏差識別,檢測結果出現少量假正樣本,將肉雞翅下裸露嚴重區域識別成頭部,這主要是由模型出現輕微過擬合導致,可通過數據增強方法進行修正。

圖6 雞只頭部與腿部識別結果Fig.6 Chicken head and leg recognition results
通過對輸出結果的調整,使輸出結果為預測框的左上角和右下角的坐標。頭部左上角坐標為(76,52),頭部右下角坐標為(178,126),腿部左上角坐標為(230,263),腿部右下角坐標為(433,441)。
紅外熱像儀拍攝的圖像尺寸為640像素×512像素,熱紅外圖像的每個像素點在相應的CSV文件里對應一個溫度數據,即一幅熱紅外圖像有640×512個溫度數據,這些數據用逗號間隔,通過提取像素點的縱橫坐標,在CSV文件里提取相應的溫度數據。
通過識別兩個ROI的左上頂點坐標和右下頂點坐標,得到ROI的所有像素點坐標。在相應的CSV文件里,根據坐標得到2個目標區域的溫度最大值,頭部溫度最大值為40.4℃,腿部溫度最大值為39.7℃。
一組數據中包含5幅熱紅外圖像,提取每組數據中5組ROI溫度,取其平均值作為最終ROI溫度。
本試驗共采集6類試驗數據:翅下溫度、頭部最大溫度、腿部最大溫度、環境溫度、環境相對濕度、光照強度。表1是應用上述測溫方法得到6類試驗數據的部分結果。在實際雞場環境中,由于風機及窗戶的開關,對環境有一定程度上的影響。由表1可以得出,受環境因子的影響,雞只的平均體溫為39.8℃。

表1 部分試驗數據Tab.1 Partial test data
考慮肉雞自身及外界多種變量因素對肉雞翅下溫度產生影響,因此,本試驗以翅下溫度為反演目標,建立體溫反演模型。
通常建模方法包括多元線性回歸和基于神經網絡的多元回歸分析。其中多元線性回歸是一種線性建模方法,而基于神經網絡的多元回歸是一種非參數、非線性方法。本文采用這兩種方法建立反演模型,并對比模型結果。
本試驗采用SPSS軟件對肉雞翅下溫度進行多元線性回歸分析。從900組數據中選取850組數據作為訓練集,50組數據作為測試集。將數據錄入SPSS軟件,進行多元線性回歸分析,其模型結果如表2所示。

表2 6種模型信息匯總Tab.2 Summary of six kinds of model information
表2中6種模型的p值均小于0.01,均達到了顯著性水平,表明模型自變量和因變量具有相關性[25]。在相關性分析模型中,R2越大,模型相關性越高,擬合度越強,回歸效果越優[26]。模型5與模型6的R2為0.747,是6種模型中最大值,表明模型5和模型6與其他4種模型相比,自變量和因變量的相關性最大,擬合度最高,模型的回歸效果最優。兩種模型的回歸系數及顯著性檢驗如表3所示。表中B為未標準化系數。

表3 模型5和模型6回歸系數及顯著性檢驗分析Tab.3 Regression coefficient and significance test analysis result of model 5 and model 6
模型6經過顯著性檢驗發現除腿部最高溫度外,其他4種變量的p值均小于0.01,表明該4種變量對因變量具有顯著影響,不能去除,但腿部最高溫度的顯著性為0.697,大于0.05,表明該變量對因變量的影響不顯著,相關性較弱。模型5經過顯著性檢驗發現,各項回歸系數的p值均遠小于0.01,表明各項變量都對因變量有顯著影響,不能剔除。
根據表3得到模型5與模型6的多元線性回歸模型分別為
y′=38.44-0.038x1-0.014x2+0.034x3+0.025x4
(3)
y′=38.35-0.039x1-0.014x2+0.035x3+
0.024x4+0.003x5
(4)
式中y′——翅下溫度,℃
x1、x2、x3、x4、x5——環境溫度、環境相對濕度、光照強度、頭部最高溫度、腿部最高溫度
進一步比較2個模型的優良,模型5與模型6對測試組50組數據進行擬合。將擬合值y′與真實值y進行對比,并計算相對誤差。其中模型5在訓練組的平均相對誤差為0.32%,測試組的平均相對誤差是0.35%;模型6在訓練組的平均相對誤差為0.32%,測試組的平均相對誤差為0.33%。對比可知,模型6的擬合度優于模型5的擬合度,雖然腿部最高溫度與翅下溫度的相關性較弱,但對于模型的擬合度有一定的優勢。
選定模型6作為多元線性回歸模型,表4是模型6的部分訓練組數據,從表中可得,該模型具有較高的精確度,反演效果良好。在訓練組中,該模型的最大相對誤差不超過0.49%,相對誤差的平均值為0.30%。在測試組中相對誤差的平均值為0.33%。圖7為50組測試組數據的真實值與擬合值的對比圖。

表4 模型6對翅下溫度處理的相對誤差結果Tab.4 Relative error of model 6 for temperature under wing

圖7 模型6測試組真實值與擬合值對比Fig.7 Curves of true value and fitted value of test group of model 6
基于神經網絡的多元回歸分析是一種非參數、非線性的方法,結合了神經網絡與多元回歸分析兩方面的優勢。其中BP神經網絡是一種按照誤差逆向傳播算法訓練的多層前饋神經網絡,被大量應用于現實任務[27]。
本試驗所用的BP神經網絡模型為3層拓撲結構,包括輸入層、隱含層和輸出層[28]。在本試驗中有5個主要影響因素作為BP神經網絡的輸入變量,因此輸入層節點為環境溫度、環境相對濕度、光照強度、頭部最高溫度和腿部最高溫度,即輸入層包含5個神經元。輸出層的神經元數為1,即為目標變量翅下溫度,BP神經網絡結構圖如圖8所示。其中隱含層神經元個數待定。

圖8 BP神經網絡結構圖Fig.8 Structure diagram of BP neural network
在模型中選取Sigmoid函數作為前向傳播的激活函數,其中Sigmoid函數計算公式如下
(5)
式中S(x)——輸出特征值
x——輸入特征值
本試驗使用TensorFlow作為神經網絡的基本框架[29],在Pyhton 2.0環境下完成模型建立。BP神經網絡的程序使用sklearn庫中的標準化模塊對數據進行歸一化預處理。使用TensorFlow建立BP網絡神經模型,并按圖9所示流程完成模型的訓練。

圖9 模型訓練流程圖Fig.9 Flowchart of model training
選取850組數據進行訓練,50組數據作為測試集,在訓練中觀察迭代次數和收斂情況,動態調整學習速率、目標誤差、最大迭代次數等參數。最終確定隱含層的神經元數量為50個,最終的網絡拓撲結構為5×50×1。在此基礎上,使用TensorFlow中帶有的隨機數常數生成函數幫助建立BP神經網絡的權值和閾值。使用梯度下降法進行神經網絡的反向傳播優化。最終確定神經網絡的學習速率為0.01,目標誤差為0.005,最大迭代次數為30 000次,網絡成功收斂并達到目標誤差要求,最終完成模型的建立。
模型在訓練組中平均相對誤差為0.24%,表5是訓練組部分數據。對50組測試數據進行擬合,得到擬合值y′,將擬合值y′與真實值y進行對比,驗證模型的準確性。該模型的最大相對誤差不超過0.46%,相對誤差的平均值為0.29%,圖10是50組測試組數據的真實值與擬合值對比圖。

表5 BP神經網絡反演模型對翅下溫度處理的相對誤差Tab.5 Relative error of BP neural network inversion model for temperature under wing

圖10 BP神經網絡反演模型的測試組真實值與擬合值對比Fig.10 Curves of true value and fitted value of test group of back propagcotion neural network model
分析結果表明,在訓練組中,多元線性回歸模型相對誤差的平均值為0.30%,BP神經網絡模型相對誤差的平均值為0.24%。兩種模型的擬合度都比較高,但BP神經網絡模型的擬合度更優于多元線性回歸模型。在50組測試數據中,多元線性回歸模型相對誤差的平均值為0.33%,BP神經網絡模型的相對誤差的平均值為0.29%。對比可知,對于白羽肉雞翅下溫度的預測,BP神經網絡模型的準確性優于多元線性回歸模型。
基于BP神經網絡模型的反演模型相較于多元線性回歸模型,具有更優良的擬合度、良好的穩定性和準確性。
(1)基于深層卷積神經網絡,建立雞只頭部與腿部準確識別模型,可以在雞只熱紅外圖像上剔除雞只其他裸露部位的影響,準確識別出雞只頭部與腿部溫度。在測試集中查準率與查全率分別達到96.77%和100%。
(2)多元線性回歸反演模型和基于BP神經網絡的反演模型在測試集上的相對誤差分別為0.33%和0.29%,基于BP神經網絡的反演模型具有更高的準確性,可以準確檢測肉雞體溫。