APP下载

基于红外热成像的白羽肉鸡体温检测方法

2019-11-04沈明霞陆鹏宇刘龙申孙玉文秦伏亮

农业机械学报 2019年10期
关键词:腿部肉鸡反演

沈明霞 陆鹏宇 刘龙申 孙玉文 许 毅 秦伏亮

(1.南京农业大学工学院, 南京 210031; 2.新希望六和股份有限公司, 青岛 266100)

0 引言

畜禽个体信息的智能感知与分析是畜禽精准健康养殖的关键[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神经网络两种方法建立肉鸡翅下温度反演模型,以期为肉鸡疾病诊断和健康养殖提供技术支撑。

1 材料和方法

1.1 试验对象

试验于2019年1月与3月在山东省青岛市新希望六和股份有限公司进行,从鸡舍内21 000多只白羽肉鸡中随机挑选30只鸡龄为35 d、平均质量为2 kg的白羽肉鸡作为试验对象。

1.2 试验仪器

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。

1.3 数据采集

鸡舍的环境温度在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 感兴趣区域温度提取

2.1 感兴趣区域选取

在红外热像仪所拍摄的图像中,如图2所示,具有显著温度差异的鸡只前景区域与周围背景区域呈现出两种不同趋势的颜色。在图像的鸡只区域里,鸡只头部与腿部温度较高,与身体其他部分有较为明显的颜色差异。且由于没有羽毛覆盖,腿部与头部可以直接接触环境[19]。所以取头部与腿部作为试验的特征区域即为ROI,并取头部与腿部最高温度作为感兴趣区域温度[20]。

图2 白羽肉鸡热红外图Fig.2 Thermal infrared image of white feather broiler1.头部 2.腿部 3.尾部 4.胸脯 5.鸡粪

2.2 感兴趣区域识别模型设计

在热红外图像中会存在尾部、胸脯等羽毛未覆盖区域和鸡粪等高温干扰因素。对一整幅图像进行处理和温度数据提取,将会增加数据处理时间,降低效率。因此,本试验采用深层卷积神经网络识别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 感兴趣区域识别模型训练

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

2.4 输出感兴趣区域温度

通过对输出结果的调整,使输出结果为预测框的左上角和右下角的坐标。头部左上角坐标为(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温度。

3 白羽肉鸡翅下温度分析

本试验共采集6类试验数据:翅下温度、头部最大温度、腿部最大温度、环境温度、环境相对湿度、光照强度。表1是应用上述测温方法得到6类试验数据的部分结果。在实际鸡场环境中,由于风机及窗户的开关,对环境有一定程度上的影响。由表1可以得出,受环境因子的影响,鸡只的平均体温为39.8℃。

表1 部分试验数据Tab.1 Partial test data

考虑肉鸡自身及外界多种变量因素对肉鸡翅下温度产生影响,因此,本试验以翅下温度为反演目标,建立体温反演模型。

通常建模方法包括多元线性回归和基于神经网络的多元回归分析。其中多元线性回归是一种线性建模方法,而基于神经网络的多元回归是一种非参数、非线性方法。本文采用这两种方法建立反演模型,并对比模型结果。

3.1 多元线性回归反演模型

本试验采用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

3.2 基于BP神经网络的反演模型

基于神经网络的多元回归分析是一种非参数、非线性的方法,结合了神经网络与多元回归分析两方面的优势。其中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

3.3 两种模型的对比分析

分析结果表明,在训练组中,多元线性回归模型相对误差的平均值为0.30%,BP神经网络模型相对误差的平均值为0.24%。两种模型的拟合度都比较高,但BP神经网络模型的拟合度更优于多元线性回归模型。在50组测试数据中,多元线性回归模型相对误差的平均值为0.33%,BP神经网络模型的相对误差的平均值为0.29%。对比可知,对于白羽肉鸡翅下温度的预测,BP神经网络模型的准确性优于多元线性回归模型。

基于BP神经网络模型的反演模型相较于多元线性回归模型,具有更优良的拟合度、良好的稳定性和准确性。

4 结论

(1)基于深层卷积神经网络,建立鸡只头部与腿部准确识别模型,可以在鸡只热红外图像上剔除鸡只其他裸露部位的影响,准确识别出鸡只头部与腿部温度。在测试集中查准率与查全率分别达到96.77%和100%。

(2)多元线性回归反演模型和基于BP神经网络的反演模型在测试集上的相对误差分别为0.33%和0.29%,基于BP神经网络的反演模型具有更高的准确性,可以准确检测肉鸡体温。

猜你喜欢

腿部肉鸡反演
反演对称变换在解决平面几何问题中的应用
分体式腿部气动按摩装置设计
基于ADS-B的风场反演与异常值影响研究
春季肉鸡健康养殖要过六关
利用锥模型反演CME三维参数
肉鸡腹水咋防治
一类麦比乌斯反演问题及其应用
快速瘦腿小妙招
脚下放靠垫睡觉更解乏
蛋鸡和肉鸡