基于实例分割的白羽肉鸡体质量估测方法

2021-05-19 01:50刘龙申沈明霞王锦涛孙玉文
农业机械学报 2021年4期
关键词:掩膜白羽肉鸡

陈 佳 刘龙申 沈明霞 太 猛 王锦涛 孙玉文

(南京农业大学工学院, 南京 210031)

0 引言

动物体质量是畜禽养殖所关注的主要生长指标之一,体质量随时间的变化趋势反映动物的健康情况[1]。传统的动物体质量测量方法主要采用体质量箱、电子秤或地磅等仪器进行直接测量,不但耗时、耗力,而且易使动物产生较大应激反应[2]。

为提高动物体质量测量的效率,研究人员结合图像处理技术与人工智能算法,利用动物的胸围、体高、体长等外在特征参数进行分析与建模[3-4],从而估算动物体质量。目前研究主要以中、大型动物为主,比如利用生猪背部投影信息[5-8],并结合体高等深度映射信息[9-12]来估算生猪体质量,通过机器视觉结合模糊逼近算法[13]、三维点云数据结合回归模型[14-15]来估算奶牛体质量。同时,深度学习等智能算法也被应用于伊犁马[16]和杜泊羊[17]等体型较大的动物体质量估测中,收到良好的效果。

禽类动物具有体积小、应激大等特点,采用传统的称量方法容易造成动物惊吓。为此,学者们主要采用智能检测设备和无接触式体质量测量两种方式。文献[18-21]研究表明,不同种类鸡的体尺特征与体质量间存在较大相关性,可作为以图像为主要载体的无接触式体质量估测的有力依据。DE等[22]利用鸡的整体面积与周长估算体质量。MOLLAH等[23]在较为理想的试验环境下使用鸡的背部投影面积进行体质量估测,效果良好。AMRAEI等[24]利用机器视觉与人工神经网络进行实际场景下鸡只的定位与体质量估测,并验证了鸡体面积、周长与体质量的两两相关性。MORTENSEN等[25]为了引入高度信息,使用深度图像代替普通RGB图像,从而获得更准确的原始数据与处理数据,采用去除头尾的方式,在实际应用场景中提高了模型的准确率。

目前,国内禽类动物体质量测量方式仍以人工测量或带有称量功能的实体检测设备测量为主。为提高肉鸡体质量测量的准确率,实时掌握肉鸡的健康情况,本文提出一种基于实例分割的白羽肉鸡体质量估测方法,通过Mask R-CNN[26]与YOLACT[27](You only look at coefficients)两种算法对图像进行实例分割,定位白羽肉鸡位置并提取覆盖肉鸡的掩膜,从而消除复杂环境中杂物、肉鸡投影等干扰噪声;利用自适应掩膜与椭圆拟合去除容易造成形变的鸡头、鸡尾,并利用最小二乘法,建立鸡体像素投影面积与体质量间的线性回归模型;最后,对算法效果进行分析评价,结合YOLO v3[28](You only look once v3)定位算法与形态学、自适应二值化处理的类实例分割方法进行对比,并将本文方法衍生到群鸡场景的体质量估测中,以期实现真实养殖环境中的白羽肉鸡体质量非接触式测量。

1 材料与方法

1.1 试验对象

试验于2019年12月在山东省海阳市新希望六和股份有限公司进行,从种鸡场内随机挑选45只28周龄的白羽肉鸡公鸡和10只48周龄的白羽肉鸡公鸡作为试验对象。

1.2 试验仪器

选用山狗A8型运动相机,分辨率为1 920像素×1 080像素,拍摄角度选用70°小广角,数据存储方式为数据线直连便携式计算机。

1.3 数据采集

白羽肉鸡舍内环境温度在18~20℃之间,照明灯光偏黄,21:00后舍内熄灯。鸡舍尺寸为14 m×12 m×3.3 m,共容纳白羽肉鸡550只,每平方米约为3只。

以上述数据为参考,于鸡舍内搭建试验平台,将相机固定于长1 m、高1.2 m的支架上进行俯拍。单只鸡试验中,每次仅对1只白羽肉鸡进行约1 min的视频录制,获取包括站立、行走、修饰羽毛等不同自然行为;群鸡试验中,仿照白羽肉鸡舍内密度,在试验平台中同时对2或3只白羽肉鸡进行拍摄,每次视频录制约5 min。白羽肉鸡的体尺信息(体长、体宽、体高)和体质量信息通过手工测量并记录。图1为试验装置示意图。

2 个体表型特征获取

本文使用Mask R-CNN和YOLACT两种基于深度学习的实例分割算法进行白羽肉鸡个体的定位与分割,并对比分割效果。通过基于自适应掩膜的椭圆拟合方法对白羽肉鸡背部像素投影进行处理,去除头尾干扰。

2.1 模型设计

2.1.1Mask R-CNN

Mask R-CNN沿用了Faster R-CNN的框架,在基础特征网络后加入了全连接的分割子网,在分类与回归外,又加入了分割的新功能。它是一个两阶段的框架,第1阶段扫描并生成建议框,第2阶段对建议框进行分类,并形成边界框与掩膜。

图2为Mask R-CNN框架图,通过残差网络(Residual network, ResNet)的跨层连接方式实现卷积层下采样,结合特征金字塔网络(Feature pyramid network, FPN),融合不同采样层得到的特征图,并传达给下一步操作。

区域推荐网络(Region proposal network, RPN)用于获取若干个anchor box并进行调整从而更好地拟合目标,如果多个anchor box互相重叠,则根据针对前景的评分来选择最优anchor box进行传递,赋予由RoI Pooling改进的RoIAlign进行池化,最后通过全连接网络来实现边界框、掩膜的预测。

2.1.2YOLACT

YOLACT是一种一阶段式的实例分割方法,在目标检测网络基础上加入掩膜分支。但与常见的串行式方法不同,该方法摒弃了特征定位这一步骤,将实例分割任务划分为两个并行的子任务来提高效率,分别为原型掩膜分支与目标检测分支,前者采用全卷积网络(Fully convolutional network, FCN)的网络结果生成一系列可以覆盖全图的原型掩膜,后者则在检测分支的基础上预测掩膜的系数,从而得到图像中实例的坐标位置,以及非极大值抑制(Non-maximum suppression,NMS)筛选。并通过两个分支的线性组合来得到最后的预测结果。

图3为YOLACT框架图,与其他网络类似,该方法同样通过主干网络和FPN来进行特征提取,多层FPN一部分用于原型掩膜分支中的原型掩膜生成,另一部分则通过Prediction Head网络进行检测定位与掩膜系数等信息的计算,再通过NMS进行筛选,处理结果与生成的原型掩膜进行组合运算,并得到最终结果。

2.2 数据集制作

单只鸡试验共采集55组视频数据,每组视频时长1 min。通过C语言自编代码进行分帧处理,每30帧进行一次存储操作,一共获取4 873组数据。剔除无效数据后剩余4 500组数据,并使用开源图像标注软件Labelme进行图像标注,所标注图像为RGB图像。

标注完成后获取每幅图像对应的json文件,后续通过Labelme自带函数进行信息提取,获取对应的yaml文件与掩膜图像,供Mask R-CNN训练使用。

为构造可供YOLACT训练的COCO训练集,在获取图像对应的json文件后,通过Labelme2coco进行转换,得到本数据集对应的annotations.json文件。

2.3 训练参数设置

本试验中,Mask R-CNN采用Resnet101网络结构,前20轮学习率为0.001,后40轮学习率为0.000 1,每轮1 000次迭代,共计60 000次迭代。

YOLACT采用Resnet50网络结构,训练60 000次迭代,初始学习率为0.001,分别在第20 000次迭代和第40 000次迭代进行衰减,衰减为当前学习率的10%。

2.4 模型测试结果

在对实例分割算法的效果评价中,使用精准率P和交并比(Intersection over Union, IoU)作为指标评价算法效果。

以一组包含200幅图像的测试集对两种实例分割算法进行测试。表1为Mask R-CNN与YOLACT在试验中的实例分割效果,包括定位、分类和掩膜3部分,可在实际环境中精准识别种鸡个体并进行感兴趣区域(Region of interest, ROI)与掩膜提取,去除环境噪声干扰,为后续处理提供可靠稳定的数据基础。其中YOLACT的平均精准率为96%,平均交并比为95%;Mask R-CNN的平均精准率为96%,平均交并比为92%。

2.5 鸡背部像素投影椭圆拟合

实例分割算法可以准确地从复杂环境中提取出白羽肉鸡个体,获取其像素投影面积等信息。但白羽肉鸡鸡头活动频繁,易造成形变,鸡尾分为垂尾和翘尾两种,同样会造成像素投影面积上的误差,为保证结果的稳定性,去除鸡体行动时形变造成的偏差,体长、体宽数据可整合为鸡体面积(无鸡头、鸡尾)。

以图像范围内最大连通域为目标进行细化,其质心坐标计算公式为

(1)

式中 (x,y)——质心坐标

(xi,yi)——点i坐标

mi——点i质量

n——区域内点的数量

目标内视作均匀分布,即每点质量相同,故式(1)可简化为

(2)

由式(2)计算得到鸡体质心,并求得鸡体边缘到质心的最短距离d。椭圆拟合中,为去除白羽肉鸡头尾的影响,使用以质心为圆心、dρ为半径的圆盘掩膜覆盖鸡身部分,掩膜中数据维持不变,掩膜外置零,其中ρ为可控系数,本文设置为1.5。

掩膜内的鸡体边缘点为所需的身体部分的边缘点,即椭圆拟合所需的测量点。构造圆锥曲线方程为

(3)

式中p1、p2、p3、p4、p5——拟合系数

根据最小二乘原理[29],构造椭圆拟合的目标函数为

(4)

式中N——测量点个数F(p)——目标函数

目标函数最优情况为F(p)=0,即F(p)越小越好。因此,需使

(5)

由此可得方程

(6)

求解可得拟合系数矩阵并计算出拟合椭圆的长、短轴长与面积为

(7)

(8)

S=πab

(9)

式中a——椭圆长半轴长

b——椭圆短半轴长S——椭圆面积

通过最小二乘法拟合出的椭圆可以根据鸡体情况自适应变化,面积近似于鸡体面积,结果如图4所示,其中左图为白羽肉鸡背部投影二值化结果,右图为身体部分的椭圆拟合结果,编号为6的白羽肉鸡在不同头部动作下存在像素投影面积上的差异,椭圆拟合可以较好地消除这种差异,仅保留参考价值较大的鸡体背部像素投影面积。表2为白羽肉鸡在不同姿态下的背部像素投影面积标准差与椭圆拟合面积标准差,由表2可见在椭圆拟合后不同姿态的背部像素投影面积离散程度较小,该处理在一定程度上提高了面积特征提取的稳定性。

表2 背部像素投影面积与椭圆拟合面积标准差Tab.2 Standard deviation of back pixel area and ellipse fitting area 像素

3 鸡体质量估测模型

3.1 鸡体尺、体质量数据关联性分析

试验采集的数据包括俯拍图像数据和手工测量体尺、体质量数据两部分,其中手工测量数据包括体长、体宽、体高。表3是部分试验的统计数据,表4是使用SPSS进行双变量相关性分析的结果。

由表4可见,体质量与体长、体宽呈显著相关,体高与体宽呈显著相关。因此,估测体质量所需的特征主要为体长与体宽,两者可共同组成白羽肉鸡背部投影面积特征。试验中按同一高度进行拍摄,故图像中的像素面积与实际面积均符合同一比例尺,白羽肉鸡背部投影面积特征可由其鸡背部像素投影面积特征替代,该特征由俯拍图像直接呈现,方便提取。

表3 白羽肉鸡测量数据Tab.3 Measurement data of breeding white feather broilers

表4 双变量相关性分析结果Tab.4 Results of bivariate correlation analysis

3.2 最小二乘线性回归模型

通过椭圆拟合,可以得出同一高度下的白羽肉鸡背部投影像素拟合面积,计算得出的部分抽样数据如表5所示。

表5 肉鸡背部投影像素拟合面积与真实体质量对应统计Tab.5 Statistics of fitting area and real weight

可见肉鸡背部投影像素拟合面积与体质量呈正比关系,利用最小二乘法进行线性回归,目标函数为

(10)

式中q1、q2——线性回归方程系数

f(p)——目标函数

目标函数要求越小越好。同椭圆拟合方法,令

(11)

即求解

(12)

从而得出鸡体面积与体质量间的线性回归模型。

4 试验结果与分析

4.1 试验样本设置

试验对象为28周龄与48周龄的白羽肉种公鸡,并进行编号。随机选取20只白羽肉鸡的拍摄图像作为训练集进行实例分割与线性回归模型构建,并将剩余鸡只的不同姿态的拍摄图像作为测试集来验证模型效果,为保证结果的可靠性,每只白羽肉鸡的拍摄样本数量均为随机决定。

4.2 椭圆拟合效果对比

进行体质量估测前需先对实例分割得到的白羽肉鸡个体投影掩膜进行预处理。白羽肉鸡体质量与其体尺相关,且考虑到白羽肉鸡头部活动较多、尾羽姿态不同等情况会对投影面积造成影响,本试验使用结合自适应掩膜的椭圆拟合来去除头尾影响,得到受姿态干扰较小的白羽肉鸡背部投影像素拟合面积。

图5为提取特征椭圆拟合前后的体质量估测效果对比图,在椭圆拟合后,体质量估测的精度提高较明显,整体稳定性也有了一定提高。

椭圆拟合用于去除头尾部分的影响,对于同一编号不同姿势的白羽肉鸡起到了一定的稳定作用。该方法除了通过略去鸡头鸡尾来减少姿势不同的干扰外,也在一定程度上减少了特征提取时的精度要求,提高模型估测速度,适用于无人工干预的现实养殖环境。

4.3 单只鸡体质量估测结果与分析

4.3.1试验结果统计分析

试验以28周龄与48周龄的白羽肉鸡为研究对象,对不同编号的样本在不同姿态、遮挡情况下的体质量估测结果进行对比与分析。其中,姿态与遮挡情况通过手工分类,如图6所示,列出了理想姿态、伸头、歪头、部分遮挡4种情况,部分遮挡的白羽肉鸡的被遮挡面积小于自身面积的1/3。表6、7为部分对比结果。

在不同姿态与部分遮挡的情况下,本文方法均能较为精准地进行体质量估测,YOLACT进行特征提取的体质量估测平均准确率均在91%以上,Mask R-CNN存在部分90%以下情况。在理想姿态下,大多数编号的白羽肉鸡体质量测量的平均准确率在95%以上,而在伸头、歪头等头部形变的情况下,以及部分遮挡的情况下,椭圆拟合提高了本文方法的鲁棒性,平均准确率依然在90%以上。综合评价中,Mask R-CNN进行特征提取的体质量估测平均准确率为97.23%,YOLACT进行特征提取的体质量估测平均准确率为97.49%。28周龄以上白羽肉鸡成长较为平稳,从统计数据可见,针对成熟后的白羽肉鸡本文方法均可取得较好效果,体现本文方法的良好适用性。

表6 YOLACT部分试验体质量估测准确率Tab.6 Partial experimental results of weight estimation for YOLACT %

表7 Mask R-CNN部分试验体质量估测准确率Tab.7 Partial experimental results of weight estimation for Mask R-CNN %

在体质量估测环节,单幅图像的最大处理时间在0.5 s左右,YOLACT的特征提取用时平均0.4 s左右,Mask R-CNN稍慢,两者全过程运行均在1 s左右,能够快速准确地识别白羽肉鸡并进行体质量估测,满足实际应用中的实时性要求。

图7为以两种实例分割获取的投影为特征进行体质量估测的结果,由图可见,模型的效果较为稳定,表明白羽肉鸡背部像素投影面积与体质量进行关联是可行的,相较而言,YOLACT能够获取较为准确的目标掩膜,为椭圆拟合提供更好的观测点,故在体质量估测部分的准确率也比较精准,稳定性也更好。

4.3.2不同分割算法对比分析

为对比基于深度学习的实例分割算法的效果,并验证本文模型的有效性,随机抽取部分样本进行测试,与类实例分割方法进行对比。

此处使用的对比类实例分割方法为一种结合YOLO v3定位与Otsu算法、形态学优化等图像处理技术的目标分割算法,通过YOLO v3进行白羽肉鸡定位,获取感兴趣区域后进行局部自适应二值化处理,并结合形态学优化操作和滤波去除残留的环境噪声,以实现近似于AMRAEI等[24]提出的类实例分割算法的处理效果。

利用3种算法进行白羽肉鸡个体分割,相较结合目标定位与Otsu算法的类实例分割方法,基于深度学习的实例分割能够更好地从复杂环境中分割出白羽肉鸡个体,且保留边缘细节。在特征提取后进行体质量估测的对比结果如图8所示,可见在大部分情况中,Mask R-CNN与YOLACT提取的特征都能更好地应用于体质量估测中,体现了基于深度学习的实例分割算法在投影特征获取上的优越性。

根据不同编号白羽肉鸡的体质量估测数据可知,应用Mask R-CNN进行特征提取的体质量估测最低准确率为编号8(92.46%),最高准确率为编号12(99.94%),最低平均准确率为编号14(93.56%),最高平均准确率为编号19(99.32%)。应用YOLACT进行特征提取的体质量估测最低准确率为编号14(92.21%),最高准确率为编号19(99.96%),最低平均准确率为编号14(92.21%),最高平均准确率为编号19(99.54%),本文方法在不同编号的白羽肉鸡的体质量估测中均体现出良好的估测性能。

而在类实例分割算法进行特征提取的体质量估测中,最低准确率为编号8(87%),最高准确率为编号19(99.97%),最低平均准确率为编号14(89.3%),最高平均准确率为编号19(98.69%)。这些数据一方面表明了类实例分割算法的不稳定性,与基于深度学习的实例分割方法相比可能造成较大误差,另一方面也体现了种鸡背部像素投影面积与体质量之间的强关联性,以及本文方法对体质量估测的稳定性。

4.4 群鸡体质量估测结果与分析

图9中场景1为每平方米3只白羽肉鸡的模拟环境,场景2为每平方米2只白羽肉鸡的模拟环境,2个场景均模拟现实养鸡场养殖密度,图9a、9b中3幅图从左到右依次是实物图、实例分割结果、掩膜提取效果。试验以YOLACT进行特征提取与白羽肉鸡ROI获取,通过ROI对肉鸡个体进行分割,从而获取单鸡目标。再根据单只鸡体质量估测方法进行各只鸡的体质量估计,从而实现多鸡体质量估测。

图9是YOLACT进行实例分割的结果,可见该算法可以正确识别图像中的白羽肉鸡并进行掩膜覆盖。图10为ROI提取结果,通过YOLACT的定位提取出各只白羽肉鸡所在的ROI,从而分割出各只白羽肉鸡的投影。

表8为两种场景的体质量估测结果,场景1内编号为2、3、4的白羽肉鸡的体质量估测准确率分别为94.74%、90.50%、94.03%;场景2内编号为1、2的白羽肉鸡体质量估测准确率分别为95.46%、90.63%,相较单只鸡体质量估测准确率略有下降。由统计结果可见,在群鸡非粘连环境中,体质量估测精度仍保持较好,具有一定的鲁棒性。

表8 群鸡场景体质量估测结果Tab.8 Weight estimation results for group broilers

5 结论

(1)提出一种基于实例分割的白羽肉鸡体质量估测方法。采用Mask R-CNN与YOLACT两种基于深度学习的实例分割方法进行白羽肉鸡目标定位与掩膜,在复杂环境中完整地剥离出肉鸡个体。为减小头尾形变造成的影响,使用自适应掩膜与基于最小二乘原则的椭圆拟合对白羽肉鸡身体部分的像素面积进行提取,再通过最小二乘法对鸡体像素面积与真实体质量进行线性回归建模,最后通过单只鸡、群鸡两种体质量估测试验对本文方法的有效性进行验证。

(2)在单只鸡试验中以Mask R-CNN进行特征提取的体质量估测平均准确率为97.23%,以YOLACT进行特征提取的体质量估测平均准确率为97.49%,群鸡场景中体质量估测最低准确率为90.50%。

(3)在理想姿态、伸头、歪头以及部分遮挡情况下,采用本文方法对28周龄和48周龄两种白羽肉鸡均能进行较为准确的体质量估测。

猜你喜欢
掩膜白羽肉鸡
利用掩膜和单应矩阵提高LK光流追踪效果
养殖端现抵触情绪 白羽鸡苗价格走低
春季肉鸡健康养殖要过六关
肉鸡腹水咋防治
清溢光电:掩膜版产业国产化的领军者
快快长慢慢长
国内首条G11光掩膜版项目在成都高新区启动
基于树莓派的人物追踪系统及其小车实现
蛋鸡和肉鸡
蛋鸡和肉鸡