APP下载

基于红外热图像的肉鸡腿部异常检测方法

2021-03-29许志强沈明霞刘龙申孙玉文郑荷花张伟

南京农业大学学报 2021年2期
关键词:腿部肉鸡特征

许志强,沈明霞*,刘龙申,孙玉文,郑荷花,张伟

(1.南京农业大学工学院/江苏省智能化农业装备重点实验室,江苏 南京 210031;2.新希望六合股份有限公司,山东 青岛 266100)

肉鸡是我国仅次于猪肉的第二大肉类消费品[1],但在集约化、规模化养殖条件下,肉鸡腿病的发生率也呈上升趋势,不同养殖场肉鸡腿病的发生率有较大差异,但整体腿病发生率达到2.07%[2];而在一些饲养管理不好的养殖场腿病的发病率可高达5%~6%[3],造成了严重的经济损失。目前,肉鸡腿病主要以人工检测为主,耗时耗力[4]。因此,研究一种能够准确识别肉鸡腿部疾病的自动化检测方法具有重要意义。

关于肉鸡腿部疾病检测方法的研究,国内外多以Kestin等[5]的肉鸡步态评分标准为参照进行跛行研究。何灿隆等[6]通过使用无线运动脚环检测肉鸡行走的有效数据点来判断肉鸡的跛行程度,其建立的二分类模型准确率为93.88%。Aydin等[7]通过3D视觉相机验证了肉鸡躺下的潜伏期和步态得分之间呈显著负相关。Nääs等[8]通过分析肉鸡步态的视频流来计算肉鸡的速度和加速度,从而进行步态评分预测。Shen等[9]通过红外热图像提取肉鸡的头部温度,进而分析肉鸡群的温度,识别精度达91.3%。LokeshBabu等[10]通过拍摄牛蹄表面的红外热图像观察温度变化,证明红外热图像可用于奶牛跛行的早期检测。目前,国内外鲜有文献报道红外热图像在肉鸡腿部异常检测的研究。

本文基于随机森林分类模型,从白羽肉种鸡的红外热图像中提取腿部温度、身体质心高度、身体前倾角、身体偏转角等特征指标,通过多特征融合综合判定肉鸡腿部异常情况。

1 材料与装置

1.1 试验对象

试验于2019年12月7日至15日在山东省烟台市新希望六和肉种鸡二场进行,共选取白羽肉种鸡(科宝)354只,平均日龄为40周(白羽肉种鸡在64周龄淘汰)。试验时鸡舍内环境温度(18±0.2)℃,时间为每天13:30—17:00。试验前将木质步行通道放入鸡舍环境2 d,以使肉鸡适应试验环境,消除试验时的环境应激性。根据何灿隆等[6]的改进型肉鸡步态分类标准,本试验将肉鸡步态分为正常、轻微异常、中度异常、严重异常4个评级,并给出不同步态评级下选取的肉鸡数量(表1)。由于严重异常肉鸡已失去行走能力,本文不做探究。

表1 肉鸡步态分类标准Table 1 Gait classification standard for broilers

1.2 试验仪器

FLIR TAU2640红外热像仪机芯:测温范围-40~80 ℃,测量精度±0.1 ℃,热灵敏度不大于0.05 ℃,图像分辨率320×240,像素间距17 μm,成像时间小于0.5 s。

ZG-7020电子温度计:温度测量范围-50~70 ℃,测量精度±0.1 ℃,温度分辨率0.1 ℃。

1.3 试验平台

试验装置由木质步行通道、红外机芯组成的特制平台(图1),步行通道长120 cm、宽50 cm、高30 cm,背景墙与步行道等长,高60 cm,与步行道垂直放置。正对背景墙100 cm处固定放置1台红外机芯,用于抓拍肉鸡目标。在步行通道的尽头为30 cm×30 cm的出口,并通向鸡群和日常采食区。电子温度计用于记录当时环境的温度条件。

图1 红外图像采集示意图Fig.1 Schematic diagram of infrared image acquisition

1.4 图像采集

将单只肉鸡放置在步行通道的开始端,由于肉鸡的趋同性行为,以及仅有步行道终点一个方向可以通向鸡群和日常采食区,所以大多数时间肉鸡可以沿直线路径自然走到通道尽头。对于个别行走意愿不强烈的肉鸡个体,进行轻微驱赶后采集,但在行走过程中不予干预。

当目标肉鸡出现在镜头内时进行连续3帧的图像抓拍(红外机芯成像时间小于0.5 s,且自然状态下肉鸡行走较为缓慢)。为了避免肉鸡动态行走时抓拍的图像模糊,以及偶发应激性导致的异常数据影响,每只鸡需要在步道上完成3次图像抓拍,从中选择1次步态相对自然且成像清晰的数据记录并以此作为最终的样本数据。

1.5 样本分析

使用红外热图像分析软件SmartView 4.3对肉鸡腿部样本的温度数据进行分析统计。分析过程如图2所示。

图2 肉鸡腿部温度分析Fig.2 Analysis of leg temperature in broilers

表2为部分数据统计结果。最终确定肉鸡腿病存在着高温异常和低温异常,且正常温度和异常温度之间差异比较明显,可以作为肉鸡腿部异常识别的重要特征。

表2 肉鸡腿部最大温度数据统计(部分)Table 2 Statistics of maximum temperature data of broiler legs(part)

2 腿部温度特征提取

使用红外热图像分析软件SmartView 4.3将源图像导出为JPG格式,以及导出包含有红外热图像中每个像素点温度数据的CSV文件。

2.1 腿部区域识别模型训练

2.1.1 数据集制作1)数据来源:本试验共采集红外热图像1 062张,剔除无效数据后,得到有效图像980张。

2)数据标注:使用开源工具LabelImg对肉鸡腿部区域进行人工标注,图片标注后会生成后缀为.xml的同名文件,该文件记录了标注框的位置和目标类别等信息。

3)划分数据集:为了更好地优化模型参数和提高模型性能,将标注好的980幅图像按照8∶1∶1进行划分[11],即将数据集总体看成10份,其中8份作为训练集训练深度神经网络模型,保证训练集中数据量充分,增强模型的识别能力。另外2份数据分别作为验证集和测试集,前者用于训练过程中验证模型的有效性和调整网络超参数,以获得最佳效果的模型;后者用于测试模型的泛化能力。划分后得到训练集784张,验证集98张,测试集98张。

4)数据集格式化:将划分好的数据集制作成PASCAL VOC标准格式数据集,用于模型训练和预测。

2.1.2 模型训练与测试YOLO v3(You only look once v3)[12]是基于深度神经网络的目标检测模型,该模型采用类残差网络构成的Darknet-53作为基础网络,并且融合特征金字塔网络,改善目标检测的性能,尤其适合小目标的检测[13],具有精度高、速度快等优点。因此,从目标检测的精度和效率综合考虑,本文选用YOLO v3模型检测肉鸡腿部区域。

本次模型训练最大迭代次数为20 000;采用batch值为64的mini-batch随机梯度下降法训练;学习策略为步进型,初始学习率为0.001,冲量为0.9,衰减因子为0.000 5。

2.1.3 模型评价本文采用查准率(P)和查全率(R)对识别结果进行评价,计算公式如下:

(1)

式中:TP为真正样本(真阳性);FP为假正样本(假阳性);FN为假负样本(假阴性)。

通过上述YOLO v3深度神经网络训练得到最终的目标检测模型,测试集中的图像检测结构如图3所示。模型对测试集的98张图像实测得到查准率和查全率分别为98.43%和100.00%。

图3 YOLO v3目标检测结构图Fig.3 YOLO v3 target detection structure diagram

2.2 感兴趣区域温度的读取

在得到肉鸡腿部的预测框之后,需要输出预测框的顶点坐标,根据左上顶点和右下顶点在CSV文件中读取对应范围内最大值,即腿部最大温度。

YOLO v3通过提取不同尺寸的特征图,如13×13、26×26、52×52,将输入图像分成对应个数的网络栅格,每个网络栅格都会被分配3个先验框,其中交并比(intersect over union,IOU)[14]最大的边框用来预测目标。预测边框的输出公式[15]为:

(2)

式中:tx、ty、tw、th为模型的预测输出;cx、cy为网络栅格的坐标;pw、ph为预测前边框的尺寸;bx、by、bw、bh为预测框的中心坐标和宽、高尺寸。本文中测试图片尺寸为320×240,肉鸡腿部预测边框的中心坐标为(145,184),宽为134,高为83,从而得到边框左上顶点坐标为(78,143),右下顶点坐标为(212,226)。

3 姿态特征提取

对于有炎症病变的腿部跛行(如跗关节肿胀、腿部关节肿大)能够监测到温度变化,而对于跛行但非炎症病变(如胫骨远端和趾骨近端弯曲)的腿部异常则无法监测到温度变化,仅仅通过提取温度特征不能有效识别腿部异常。因此,本文还将提取质心高度、前倾角、偏转角等姿态特征,通过多特征融合的方式综合判断肉鸡腿部异常。

3.1 图像预处理

肉鸡姿态特征的提取基于二值图像,在二值化之前需要将原图像转换到其他颜色空间,如HSV、Lab、RGB等。本文采用RGB颜色空间,其中R通道更利于肉鸡目标和背景的分割,对R通道的灰度图进行中值滤波,模板大小为5×5,以去除椒盐噪点;通过OTSU自适应阈值分割算法得到二值化图像;经过形态学开、闭运算(开运算和闭运算的结构元素形状均为椭圆,结构大小分别为13×13和11×11),可以去除小连通域和填充孔洞,实现完整的二值图像提取,如图4所示。

3.2 计算身体质心高度

获取目标连通域质心和轮廓边界矩形是提取质心高度特征的前提。本文选用零阶矩和一阶矩的方法计算肉鸡二值图像的质心。零阶矩M00以及一阶矩M01、M10的计算公式[16]为:

(3)

式中:V(i,j)为坐标点(i,j)的像素值。

(4)

质心坐标可表示为:

(5)

式中:xi、yi分别表示像素点横、纵坐标;pi表示该点的像素值。

得到质心坐标之后需要确定肉鸡轮廓的直边界矩形,然后计算质心到直边界矩形底边的垂直距离,如图4-e所示。其中,直边界矩形是通过对轮廓上所有点进行积分运算而得到的1个粗略特征。对于图像函数f(x,y),其p+q阶几何矩和中心距定义如下:

(6)

3.3 计算身体姿态角

(7)

除此之外,还计算了直线AB的倾斜角,即肉鸡身体偏转角度ARol。已知点A(x1,y1)和点B(x2,y2),则ARol计算公式如下:

(8)

4 特征分布和相关性分析

4.1 特征数据分布

利用上述方法对980个有效样本图像的肉鸡腿部最大温度(TLeg)、肉鸡身体质心高度(HGra)、肉鸡身体前倾角度(ACro)和肉鸡身体偏转角度(ARol)这4个特征进行提取,并将特征数据绘制成箱线图,如图5所示。通过箱线图可以直观了解到不同腿部异常等级(abnormal grade)肉鸡的不同特征分布范围情况。对于特征TLeg,正常等级的分布范围最小,与其他等级之间有明显的差异,而轻微异常和中度异常重合较多。对于特征HGra和ARol,中度异常等级要明显区分于其他等级,各等级之间有较好的区分性,总体上呈现异常等级越高则特征值越小的特点。对于特征ACro,各等级之间重合部分较多,但分布范围上限各不相同,有一定的区分性。

图5 特征数据箱线分布图Fig.5 Characteristic data box line distribution map0. 正常 Normal;1. 轻微异常 Slight anomaly;2. 中度异常 Moderate anomaly.

4.2 特征相关性分析

皮尔森相关系数是用来反映2个变量之间相似程度的统计量,在机器学习中可以用来计算各特征变量和异常等级之间的相似度,即判断所提取的特征变量和异常等级之间是正相关、负相关还是没有相关性。对于变量X=[x1,x2,…,xn]T和Y=[y1,y2,…,yn]T,其皮尔森相关系数(r)计算公式[17]为:

(9)

如表3所示:本文计算了TLeg、HGra、ACro、ARol这4个特征变量和异常等级之间的皮尔森相关系数。通过分析可知:HGra分别与异常等级、ARol呈极强相关,而与TLeg、ACro呈中等程度相关;TLeg与异常等级呈强相关,而与ACro呈弱相关;ARol分别与异常等级、ACro呈强相关,而与TLeg呈中等程度相关。总的来看,提取的4个特征变量,除了ACro与异常等级之间呈中等程度相关外,其余特征变量皆与异常等级呈强相关或以上,因此,可以将这4个特征变量作为分类模型的训练参数输入。

表3 不同特征变量和异常等级的皮尔森相关系数Table 3 Pearson correlation coefficients of different

5 建立肉鸡腿部异常分类模型

经过上述特征分析后,本文将选择TLeg、HGra、ACro、ARol这4个特征变量作为输入参数进行分类模型训练。

5.1 随机森林

随机森林(randomforest,RF)算法是Breiman[18]于2001年提出的一种分类和预测算法,可以很好地预测多达几千个解释变量的作用[19],在运算量没有显著提高的情况下提高了预测精度。随机森林的生成过程如图6所示。

图6 随机森林结构图Fig.6 Random forest structure map

随机森林进行特征选择的方式有信息增益、信息增益率、基尼系数,本文选用基尼系数(Gini)作为决策树中根节点划分的依据。Gini系数选择的标准为每个子节点达到最高的纯度,即落在子节点中的所有观察都属于同一个分类,此时基尼系数最小,纯度最高。对于样本集合D,其Gini系数(不确定性)的计算公式为:

(10)

式中:Gini(D)的取值范围为[0,1];N为样本中的类别总数,本文中N=4;pi为样本属于第i类的概率。

每棵CART决策树在遍历每个特征属性的所有可能分割点时,本文测试属性集合A={TLeg,HGra,ACro,ARol},若使用测试属性A=TLeg,将样本集合D二元划分D1(满足A=TLeg)和D2(不满足A=TLeg),则样本集合D经过属性A=TLeg分割后的基尼系数为:

(11)

通过遍历属性集合A得到每个分裂属性的Gini系数,选择分裂后Gini系数最小的属性作为最优划分特征,即:

A*=argminGini(D,A)

(12)

5.2 模型训练

5.2.1 数据划分随机森林属于Bagging集成算法,采用Bootstrap方法从训练数据集中有放回地抽取样本[20],每次采样都会产生袋外数据(out of bag,OOB),OOB是一种可以取代测试集的误差估计方法[21],可用于训练过程中的模型验证。因此,在随机森林算法中不需要再进行交叉验证来获取测试集误差的无偏估计。

本次试验共采集有效红外热图像980张,通过特征提取形成980条记录,每条记录由5列组成,前4列为特征变量,分别对应肉鸡腿部最大温度(TLeg)、身体质心高度(HGra)、身体前倾角度(ACro)、身体偏转角度(ARol),第5列为异常等级,用0(正常)、1(轻微异常)、2(中度异常)表示。为保证分类模型的识别能力以及对外部数据的检测精度,将数据集划分为7∶3,即686条记录作为训练集(包括OOB),另外294条记录作为测试集。测试集是模型“从未见过”的数据,可用于评判模型在新数据集上的泛化性能。数据分布见表4。

表4 训练集与测试集的数据划分Table 4 Data partition of train set and test set

5.2.2 训练结果本文使用随机森林模型对训练集先进行两两特征组合训练,模型训练分类效果如图7所示。其中TLeg和HGra组合训练效果最佳,OOB得分为0.95,测试集准确率为91.13%,均为最高;而ACro和ARol的组合训练效果最差,OOB得分为0.69,测试集准确率为73.41%;其他特征组合的测试集准确率均在85%以下。

图7 特征组合训练分类效果图Fig.7 Classification effect map of feature combination training

为了找到最优的特征训练组合,本文又使用随机森林对4个特征变量进行同时训练,模型在准确率(Accuracy,A)、查准率(Precision,P)、召回率(Recall,R)以及F1得分上都取得了较好的效果(表5)。其中,F1得分是对查准率和召回率的调和平均,计算公式如下:

(13)

表5 模型总体准确率以及各类别准确率Table 5 The overall accuracy of the model and the accuracy of various categories

5.3 模型对比与评估

根据模型训练的结果可知,随机森林模型在肉鸡腿部异常等级分类中表现较好,各类别准确率分别达到了97.46%、91.13%和94.93%,总体准确率为96.16%。为了进一步验证随机森林模型是本研究中性能最优的模型,对常用的5种分类器模型进行了ROC曲线(receiver operating characteristic curve)[22]对比。

ROC曲线以FPR(假正类率)为横轴,以TPR(真正类率)为纵轴,通过不断调整分类器阈值获得坐标轴上一组不同的(FPR,TPR)点,将点连接成线即形成分类器的ROC曲线,AUC值为ROC曲线包裹的面积,可以作为评价分类器性能的指标[23]。

如图8所示:本文对比了梯度下降树(GBDT)、逻辑回归(LR)、随机森林(RF)、支持向量机(SVM)和邻近算法(KNN)5种常用的分类模型算法,根据AUC值大小可知,RF要优于其他模型。

图8 5种常用分类器ROC曲线对比Fig.8 Comparison of receiver operating characteristic curves of five commonly used classifiers GBDT:梯度提升决策树 Gradient boosting decision tree;LR:逻辑回归Logistic regression;RF:随机森林 Random forest;SVM:支持向量机 Support vector machine;KNN:K最近邻 K-nearest neighbor.

6 结论

1)通过红外热图像可以提取肉鸡腿部异常时的温度特征,而对于非炎症类病变的腿病肉鸡可以结合姿态特征来综合判断是否发生腿部异常。

2)基于YOLO v3和随机森林建立了肉鸡腿部异常自动检测模型,该模型以肉鸡腿部最大温度、身体质心高度、身体前倾角、身体偏转角为特征输入,对正常、轻微异常、中度异常3个类别的测试集准确率依次达到了97.46%、91.13%、94.93%,总体准确率为96.16%。

3)下一阶段将针对不同日龄、不同品种以及不同环境等情况下的肉鸡腿部异常检测模型进行研究,并尝试更多的目标检测模型以及选择器模型,以进一步完善基于红外热图像的肉鸡腿部异常自动检测方法。

猜你喜欢

腿部肉鸡特征
多留意腿部问题 随时舒缓腿部酸痛
离散型随机变量的分布列与数字特征
春季肉鸡健康养殖要过六关
肉鸡腹水咋防治
抓特征解方程组
不忠诚的四个特征
快速瘦腿小妙招
脚下放靠垫睡觉更解乏
蛋鸡和肉鸡
蛋鸡和肉鸡