基于热红外图像的奶牛乳区温度分布与乳房炎识别方法
2022-04-19郭艳娇杨圣慧吴聪明许红岩沈建忠郑永军
郭艳娇,杨圣慧,迟 宇,吴聪明,许红岩,沈建忠,郑永军,4※
(1. 中国农业大学工学院,北京 100083;2. 中国农业大学动物医学院,动物源食品安全检测技术北京市重点实验室,北京 100193;3. 内蒙古伊利实业集团股份有限公司,呼和浩特 010110;4. 现代农业装备与设施教育部工程研究中心,北京 100083)
0 引 言
奶牛乳房炎是由多种病原微生物侵袭乳腺组织而引发的炎症,是影响奶牛健康的三大疾病之首,直接影响奶质和产奶量,甚至危及奶牛生命。因此,实时监测、及时准确识别奶牛乳房健康情况,对于奶牛乳房炎防治和降低养殖户经济损失有实际意义。
加州乳房炎检测(California Mastitis Test,CMT)法、体细胞计数(Somatic Cell Count,SCC)法、乳汁pH法、乳汁电导率(Electric Conductivity,EC)法等是检测奶牛乳房炎常用的生化试验方法,需经历牛奶取样、实验室检测分析等繁琐过程,检测周期长,结果滞后。通过生产实践与临床诊断表明,奶牛患有乳房炎时,其患病部位的温度会升高。红外热成像(Infrared Thermography,IRT)作为一种快速、直观、准确的非接触测温技术,可测量物体表面温度场,目前已有乳房炎检测的应用研究。
Metzner等对奶牛热红外图像采用手动标记法定位乳房区域,自动化水平低,经济成本高,难以实现奶牛乳房炎的快速检测。此外,Polat等选择在挤奶前测定奶牛乳区皮肤温度,而Berry 等选择挤奶结束后测定乳区皮肤温度,并未确定温度测定的最佳时间。杨春合等通过对比左右乳房的温差检测奶牛乳房炎,可初步判断温度升高一侧发生隐性乳房炎,但双侧乳房同时患病时无法检测;Sathiyabarathi等、张旭东等主要探讨了奶牛眼睛与乳房区域的识别方法,通过获取单侧的对应区域温度,对比眼睛与乳房表面的温差来检测乳房炎,其温度采集过程复杂,且不能对左右乳区健康情况同时分析。
本文通过热红外图像分析挤奶操作前后的健康状况和患病奶牛乳区温度,确定识别乳房炎的数据最佳采集时间,采用线剖法实现奶牛左右乳区乳房炎自动识别,为快速在线识别奶牛乳房炎提供了有效的技术手段。
1 数据采集
1.1 采集环境
2021年4月中旬,在内蒙古自治区呼和浩特市某奶牛养殖厂1和养殖厂2的挤奶厅分别进行数据采集。健康与患病奶牛的挤奶厅与设备分区隔离,健康奶牛在挤奶厅1中采用转盘式挤奶机(图 1a)挤奶,患病奶牛在挤奶厅2中采用并列式挤奶机(图1b)挤奶,环境温度为9~15 ℃,相对湿度范围为20%~40%。
图1 挤奶机类型 Fig.1 Milking machine type
1.2 采集对象
采用CMT对189头泌乳期荷斯坦奶牛进行检测,其中健康142头,患乳房炎47头;奶牛每天均挤奶4次,分别在上午9:00—11:30与下午13:30—17:00这两次挤奶过程中进行数据采集。
1.3 采集设备与方案
试验选用Fotric-625c红外热像仪(中国)为图像采集设备,其具体参数如下:波长范围为7.5~14m,探测器类型为焦平面阵列,图像分辨率为320×240像素,温度测量范围为-20 ~150 ℃,热灵敏度<50mK。该设备通过HTTP协议与计算机(windows10系统)通信,实现控制命令、图像、视频流和全辐射温度数据的传输。
由于采集场地的局限性,难以采集奶牛前乳区的热红外图像,故仅对后乳区图像进行采集。采集过程如图2所示,红外热像仪垂直放置在后乳区2 m处,使后乳区充满拍摄视场。当奶牛进入挤奶台和到达挤奶台出口时,分别采集挤奶前后的奶牛后乳区视频。
图2 奶牛热红外图像采集示意图 Fig.2 Schematic diagram of cow thermal infrared image collection
1.4 热红外图像与温度数据提取
采集的奶牛后乳区热红外视频以“.IRS”格式存储,帧速率为每秒20帧(fps)。通过图像分析软件AnalyzIR导出320×240像素的热红外图像和320列×240行的温度数据表,像素与温度数据一一对应,分别以“.bmp”和“.csv”的格式存储。
2 最佳数据采集时间的确定
目前并未有确定采集奶牛乳区温度的最佳时间的方法。为了更好地识别奶牛乳房炎,对挤奶前与挤奶后的乳区温度变化进行分析,确定数据采集的最佳时间。
2.1 特征区域温度获取方法
按解剖结构,左右后乳区各分为乳头池、乳腺池以及乳腺3部分,如图3a所示。由于乳头药浴、栏杆遮挡等因素,导致乳头池温度降低或难以测量,因此以奶牛后乳区的乳腺区和乳腺池区为特征区域,研究其温度分布。为获取奶牛乳腺区与乳腺池区的温度,使用热红外图像处理软件AnalyzIR的区域温度测量功能,在乳腺池区使用圆形工具绘制椭圆,如图3b中的Ar1、Ar2所示;在乳腺区使用矩形工具,找出乳腺组织的最大矩形,如图3b中的Ar3、Ar4所示。分别记录Ar1~Ar4区域内的平均温度、最高温度和最低温度。
图3 奶牛特征区域的确定与温度获取 Fig.3 Determination and temperature acquisition of cow characteristic areas
2.2 挤奶前后温度对比分析方法
采集健康与患病奶牛挤奶前后的热红外图像,处理得到特征区域的平均温度、最高温度和最低温度;分别使用公式(1)、(2)计算健康、患病奶牛挤奶前后温度均值的差值、;使用Origin 2018对采集的温度数据进行单因素方差分析,判别挤奶操作对特征区域的温度影响。由于样本量均大于30,故采用检验,显著性水平为0.05。
式中为健康奶牛在挤奶前后温度均值的差值,℃;为挤奶前采集的头健康奶牛温度均值,℃;为挤奶后采集的头健康奶牛温度均值,℃;为挤奶前采集的第头健康奶牛温度,℃;为挤奶后采集的第头健康奶牛温度,℃;、分别为挤奶前后健康奶牛的数量,头(下同)。 式中为患病奶牛在挤奶前后温度均值的差值,℃;为挤奶前采集的头患病奶牛温度均值,℃;为挤奶后采集的头患病奶牛温度均值,℃;为挤奶前采集的第头患病奶牛温度,℃;为挤奶后采集的第头患病奶牛温度,℃;、分别为挤奶前后患病奶牛的数量,头(下同)。
为进一步分析挤奶操作对健康奶牛特征区域温度的影响是否干扰对患病情况的判别,使用公式(3)计算挤奶前采集的健康与患病奶牛温度均值,得到挤奶前采集的健康与患病奶牛温度均值的差值;同理,使用公式(4)得到挤奶后健康与患病奶牛温度均值的差值。
式中为挤奶前采集的健康与患病奶牛温度均值差值,℃;
式中为挤奶后采集的健康与患病奶牛温度均值差值,℃;
2.3 最佳采集时间确定
将经过CMT检测的189头奶牛为试验对象,在挤奶前采集62头健康奶牛的热红外图像,挤奶后采集80头健康奶牛的热红外图像,由于挤奶前与挤奶后采集的不是同一批奶牛,因此共采集了142头健康奶牛的热红外图像;在挤奶前采集38头患病奶牛的热红外图像,在挤奶后采集47头患病奶牛的热红外图像,由于采集的患病奶牛属于同一批,因此共采集了47头患病奶牛的热红外图像。
使用公式(1)~(2)计算健康奶牛、患病奶牛挤奶前后温度均值的差值、,并对挤奶前后采集的温度数据进行方差分析,结果如表1所示。经分析表明:健康奶牛挤奶后的乳区温度大于挤奶前,挤奶操作对健康奶牛特征区域的温度影响显著(<0.05);患病奶牛挤奶后的乳区温度与挤奶前相差较小,挤奶操作对患病奶牛特征区域的温度影响不显 著。
表1 健康、患病奶牛挤奶前后温度均值差值表 Table 1 Table of mean temperature difference between healthy and mastitis cows before and after milking
使用公式(3)~(4)计算挤奶前、挤奶后健康与患病奶牛温度均值的差值、如表1所示。结果表明,挤奶前,患病奶牛比健康奶牛温度高0.2~2℃。挤奶后,乳腺池区患病比健康奶牛温度高0.1~0.5℃,而在乳腺区出现健康奶牛温度高于患病奶牛的情况。因此,挤奶操作对奶牛患病情况的判别存在干扰。
综上,若采集挤奶后特征区域的热红外图像,无法判别奶牛是否患病。因此,须在挤奶操作前采集图像。故后续只对挤奶前采集的62头健康奶牛与38头患病奶牛进行分析。
3 乳房炎识别方法构建
3.1 特征区域内的温度差异
为研究乳腺区与乳腺池区温差,获取挤奶前采集的62头健康奶牛与38头患病奶牛的特征区域温度,分别使用公式(5)、(6)计算健康、患病奶牛乳腺区与乳腺池区的温差并求均值,同时进行检验(显著性水平为0.05),分析温度差异。
式中为健康奶牛的乳腺与乳腺池温差均值,℃;为第头健康奶牛的乳腺池温度,℃;为第头健康奶牛的乳腺温度,℃;为挤奶前采集的健康奶牛的数量,=62。
式中为患病奶牛的乳腺与乳腺池温差均值,℃;为第头患病奶牛的乳腺池温度,℃;为第头患病奶牛的乳腺温度,℃;为挤奶前采集的患病奶牛的数量,=38头。
结果如表2所示,健康奶牛的乳腺池区温度低于乳腺区且温度差异不显著,患病奶牛乳腺池区温度高于乳腺区且温度差异显著(<0.05)。因此,可以利用上述差异建立相关方法,对患病奶牛进行识别。
表2 乳腺区与乳腺池区温差均值表 Table 2 Table of mean temperature difference between mammary gland area and mammary gland pool area
3.2 基于线剖法的奶牛乳房炎识别
根据特征区域内乳腺区与乳腺池区温差规律,分别在奶牛左右后乳区从乳腺区至乳腺池区绘制最长剖线,即从躯体近端到远端绘制,如图4a中的Li1、Li2所示。所绘制的剖线上的每个像素点均对应一个温度值,将剖线上第一个像素对应的温度点位置记为1,第二个记为2,以此类推,观察剖线上所有温度点,研究特征区域内的温度分布规律。由于铁围栏对温度分布分析有影响(图 4b),故手动将有铁围栏数据删除后再进行温度分析(图4c)。
图4 特征区域内剖线上的温度处理 Fig.4 Temperature treatment on section lines within characteristic areas
由于奶牛特征区域大小不同,导致所绘制的剖线长短不同,根据所绘制的剖线上的每个像素点均对应一个温度值,从而造成剖线上的温度点数量不同。对挤奶前采集的62头健康奶牛和38头患病奶牛的特征区域内均绘制剖线,经统计,剖线上的温度点数量在45~85之间。因此,为方便分析,根据剖线上温度点数量区分剖线的长度,划分4个区间:45~54,55~64,65~75,76~85。各区间内奶牛数量如表3所示。
表3 各区间内奶牛数量 Table 3 Number of cows in each interval 头
分别在以上4个区间内任选一头健康奶牛(cow1~4)与一头患病奶牛(m_cow1~4),通过线剖法,获取剖线上的温度,观察剖线上温度的分布趋势,并将剖线上的温度进行拟合,分析健康奶牛与患病奶牛温度分布情况的差异,建立乳房炎识别方法。最后对4个区间内的所有奶牛进行分析,验证该识别方法的准确性。
3.3 识别结果分析
采用线剖法,分别获取健康奶牛(cow1~4)与患病奶牛(m_cow1~4)的剖线上的温度,得到温度散点图,如图5所示。通过分析剖线上的温度分布趋势,可直观看出:健康奶牛的特征区域温度分布呈逐渐降低的趋势,而患病奶牛的趋势相反。
将剖线上的温度进行线性拟合,建立温度分布拟合方程,拟合直线如图5所示。对拟合直线的斜率的值进行对比分析,结果如表4所示,表明:不同的奶牛个体,温度拟合线的斜率大小不同。但对于健康奶牛,温度拟 合线的斜率小于0,患病奶牛则相反。
表4 奶牛特征区域内温度线性拟合的斜率 Table 4 Slope of linear fitting of temperature in characteristic area of dairy cow
图5 奶牛特征区域温度线性拟合结果 Fig.5 Results of linear fitting of temperature in characteristic areas of dairy cows
最后,对4个区间中所有奶牛均进行处理,获得各区间内所有奶牛的温度拟合线斜率的值,如图6所示。观察发现,以斜率=0为分界线,绝大多数的健康奶牛温度拟合线的斜率小于0,斜率范围为-0.083~-0.001;绝大多数的患病奶牛温度拟合线的斜率大于0,斜率范围为0.001~0.093。
图6 基于剖线长度划分的4个区间内的奶牛特征区域温度拟合线斜率值图 Fig.6 Slope value plot of temperature fitting line in the characteristic area of dairy cows within the four intervals divided based on section line length
对各区间内所有奶牛的温度拟合线斜率的值进行统计,结果如表5所示。结果表明:91.9%的健康奶牛温度拟合线的斜率小于0,92.1%的患病奶牛温度拟合线的斜率大于0,因此,根据温度拟合线斜率的正负可判断奶牛乳房的健康状况。
表5 奶牛特征区域内温度拟合线斜率统计表 Table 5 Statistical table of the slope of the temperature fitting line in the characteristic area of the cow
4 奶牛乳房炎自动识别及试验验证
采用MATLAB编写相关算法程序,将挤奶前采集到的热红外图像经阈值分割后,实现奶牛后乳区的提取与左右乳区的划分,根据本文提出的奶牛乳房炎识别方法,分别绘制奶牛左右后乳区的剖线,分析绘制的剖线温度,并将剖线温度进行线性拟合,判断拟合直线斜率的正负,从而实现奶牛乳房炎的自动识别。流程图如图 7所示。
图7 奶牛乳房炎自动识别流程图 Fig.7 Flow chart of automatic identification of cow mastitis
4.1 奶牛后乳区的提取与划分
首先将热红外图像灰度化,通过裁剪去除图像中的图标和温度栏,消除其对目标识别的影响,裁剪后的图像大小为222×221像素,然后采用直方图均衡化对像素强度进行归一化处理,实现图像预处理,使具有显著温度差异的前景区域和背景区域呈现不同的灰度。奶牛乳房灰度值高于背景灰度(见图8),因此采用灰度阈值分割完成奶牛乳房区域的提取。
图8 奶牛后乳区图像预处理 Fig.8 Image preprocessing of cow udder area
采用图像数据标注工具LabelMe、灰度阈值分割算法分别实现奶牛后乳区形状的手工提取与算法分割提取。对于任意一张奶牛后乳区热红外图像,若以矩形表示整张图像,以虚线椭圆区域表示手工标定的后乳区,以实线椭圆区域表示各算法得到的后乳区,则该图像可分为4个区域:TN(True Negative)、FN(False Negative)、TP(True Positive)和 FP(False Positive)。TP表示实质是后乳区区域,同时也被算法识别成后乳区;TN表示实质不是后乳区区域,同时也被算法识别成不是后乳区;FP表示实质不是后乳区区域,但被算法识别成是后乳区;FN表示实质是后乳区区域,但被算法识别成不是奶牛后乳区。
检出率(Detection Rate,DR)、误检率(False Alarm Rate,FAR)、准确率(Accuracy,ACC)的计算分别由公式(7)~(9)得出。
检出率(DR)反映了算法分割后乳区的完整程度,误检率(FAR)反映出算法将不是后乳区区域误检为后乳区的概率,准确率(ACC)是评价算法的综合指标。将预处理后189张的热红外图像分别采用固定阈值法、迭代算法、最大类间方差法进行处理,计算得到检出率、误检率、准确率,并求平均值(表6)。结果表明,固定阈值法的检出率、误检率、准确率均优于其他2种分割算法,故选择固定阈值法进行图像阈值分割,阈值设为0.93。
表6 3种阈值算法分割结果评价指标均值 Table 6 Average value of the evaluation index of the segmentation results of three threshold algorithms %
采用固定阈值算法对预处理后的图像进行分割,得到二值化图像(图9b)。受乳区脏污因素的影响,导致奶牛后乳区的某些区域温度低,若按固定阈值处理,这些区域可能被去除,故采用闭运算进行填补(图9c)。为移除非后乳区的高温区域,删除图片中像素面积小于250的小连通区域(图9d)。根据奶牛左右乳区对称,以奶牛后乳区最大宽度的中心轴为分割线,划分左右乳区(图9e)。
图9 奶牛左右后乳区识别划分 Fig.9 Recognition and division of the left and right udders of dairy cows
上述算法可有效应对栏杆遮挡奶牛乳房区域的情况,有效识别奶牛的乳房区域。同时,该算法对采集角度改变的图像的检测结果良好(图10),避免了奶牛姿势变化造成区域识别不准确的问题。
图10 采集角度变化的奶牛乳房识别结果图 Fig.10 Image of dairy cow udder recognition results with changes in acquisition angle
4.2 对比试验验证
为验证奶牛乳房炎自动识别方法的准确性,在挤奶前重新采集139头奶牛后乳区的热红外图像,采用阈值分割提取并划分左右后乳区,同时分别遍历搜索左右后乳区内的最长剖线,并获取剖线上的温度,自动识别结果如图11a所示。对剖线上的温度进行拟合获得拟合线斜率,经判断,实现奶牛左右乳区是否患病的判别,部分识别结果如图11b所示。
图11 奶牛乳房炎自动识别结果 Fig.11 Results of automatic identification of cow mastitis
根据2010年7月20日中华人民共和国农业部印发的《奶牛乳房炎防治技术指南(试行)》通知,CMT已成为诊断奶牛乳房炎的常用检测方法之一,因此采用CMT对139头奶牛进行检测,其中健康奶牛为107头,患病奶牛为32头。将左右乳区自动识别结果与CMT检测结果对比,计算准确率,结果如表7。试验结果表明:在107头健康奶牛中,可平均准确识出健康奶牛81头,平均误诊为患病奶牛26头;对于32头患病奶牛,可准确识别患病奶牛24头,误诊为健康奶8头。健康奶牛左右乳区的平均识别准确率为76%,患病奶牛左右乳区的平均识别准确率为75%。
表7 奶牛乳房炎识别结果 Table 7 Cow mastitis recognition results
本文提出的奶牛乳房炎识别方法,可以分析奶牛左右后乳区健康状况,实现奶牛乳房炎自动识别。
5 讨 论
本文通过分析奶牛后乳区的特征区域的温度分布趋势实现奶牛乳房炎的识别,可对奶牛的左乳区和右乳区的患病情况分别进行判断,与通过对比左右乳房的温差来检测奶牛乳房炎的方法相比,解决了左右乳房同时患病时无法检测的问题。还有一些研究通过牛的眼睛表面与乳房表面的温差来检测乳房炎,由于奶牛体格较大,红外热像仪视场角的限制,需要分别对奶牛乳房区域和眼睛区域进行采集与识别,步骤繁琐,识别复杂;而本文提出的奶牛乳房炎识别方法仅需对奶牛乳房区域进行采集、识别与分析,步骤简单方便,可以实现患病奶牛的快速筛选。
在实际生产过程中,奶牛后乳区会沾有粪便、水等其他杂物,对奶牛后乳区温度分布造成影响,导致本文提出的识别方法准确率下降,因此,在进行数据采集时,需去除奶牛乳区表面的杂物,保证奶牛乳区的干净程度。为提高识别准确率,后续可将奶牛的患病等级进行划分,分析奶牛在不同患病等级下的温度特征,便于实现奶牛乳房炎快速、准确识别。
6 结 论
本文采用红外热成像技术分析奶牛后乳区的特征区域内温度分布趋势,实现奶牛乳房炎的快速识别,得出如下结论:
1)挤奶操作会导致健康奶牛后乳区的特征区域温度升高,从而导致患病引起的温度升高现象不明显,故选择在挤奶前进行数据的采集。
2)健康奶牛乳腺池区温度低于乳腺区,患病奶牛乳腺池区温度高于乳腺区。健康奶牛特征区域内的温度分布呈现“逐渐降低”的特征;而患病奶牛呈现“逐渐升高”的相反特征。对特征区域内的温度进行线性拟合,91.9%的健康奶牛温度拟合线的斜率小于0,斜率范围为-0.083~-0.001;92.1%的患病奶牛温度拟合线的斜率大于0,斜率范围为0.001~0.093,因此,根据温度拟合线斜率的正负可判断奶牛乳房的健康状况。
3)经奶牛乳房炎自动识别,健康奶牛左右后乳区的识别准确率均值为76%,患病奶牛的左右后乳区识别准确率均值为75%。
本文提出的奶牛乳房炎自动识别方法,识别准确率较好,可用于实际生产过程中患病奶牛的筛选,为快速、非接触、在线识别奶牛乳房炎提供了技术手段。