论文翻译:基于深度卷积神经网络的肉鸡粪便识别与分类

Recognition and Classification of Broiler Droppings Based on Deep Convolutional Neural Network

基于深度卷积神经网络的肉鸡粪便识别与分类

论文翻译:基于深度卷积神经网络的肉鸡粪便识别与分类_第1张图片
消化系统疾病是肉鸡养殖中常见的疾病之一,严重影响肉鸡生产和动物福利。粪便检查和观察是最精确的技术,以检测发生的消化疾病感染鸟类。本研究提出一种基于深度卷积神经网络模型的肉鸡消化疾病自动检测仪,将异常肉鸡细粒粪便图像(形状、颜色、含水量、形状与水)分为正常和异常。研究人员收集了10000只25-35日龄罗斯肉鸡的粪便图像,这些鸡被饲养在带有自动粪便传送带的多层笼子里。为了比较,我们开发了Faster R-CNN和YOLO-V3深度卷积神经网络。通过优化锚箱,提高了YOLO-V3的性能。更快的R-CNN在测试数据集上实现了99.1%的查全率和93.3%的平均精度,而YOLO-V3在测试数据集上实现了88.7%的查全率和84.3%的平均精度。通过对鸡粪的自动、非侵入式识别和分类,为肉鸡生产中消化道疾病的检测提供技术支持。

1.引言

  • 畜牧业生产约占全球农业国内生产总值的50%。此外,它是130多万发展中国家人民的生计之源。由于全球人口不断增长,预计到2050年,全球动物产品的消费将增长70%。为满足日益增长的动物性蛋白质需求,引进了规模化规模化的畜牧业。目前,中国规模化、集约化养殖动物3.35亿多只,肉、奶年产量分别为3.029亿吨和7.98亿吨。牲畜大规模生产的主要限制因素是病害的发生,病害对生产经济、食品安全和生物安全都有灾难性的影响。本研究以肉鸡为研究对象,肉鸡是全球白肉生产的主要贡献者。
  • 家禽生产中的主要疾病之一是消化疾病,如球虫病、传染性法氏囊病、副伤寒、蠕虫病和溃疡性肠炎等。检测这些家禽疾病发生的最常用技术是目视观察和声音区分[7]。然而,这种技术耗时、主观、劳动密集型,而且常常不能提供[8]的早期检测。随着计算机视觉系统的发展,对病禽的计算机疾病诊断和检测已在若干研究中得到报道。Zhuang[7]等人通过图像处理对肉鸡患病早期进行骨骼分析。此外,庄和张[8]还报道了一种基于深度学习技术的肉鸡病检器。然而,通过图像处理和深度学习对鸡粪进行分析来检测病禽尚无文献报道。不同的家禽疾病几乎有相同的症状。因此,很难通过鸡的姿势和良好的观察来诊断一种特定的疾病。此外,声音识别技术在群体设置中是非常不可行的。
  • 鸡的粪便的颜色、形状和质地取决于饮食、一年的时间、鸡的种类,和健康。鸟类每天排便超过12次。因此,任何变化都可以实时检测到。因此,粪便检查是检测消化道异常[6]最有效的技术。正常的鸡粪通常是棕色的,表面有一层白色。然而,根据它们的饮食习惯,粪便也会有不同的质地和颜色。Damerow[6]的鸡健康手册介绍了常见消化疾病和饲料对鸡粪便的影响。绿色的粪便可能是由肠道蠕虫、马立克氏病或禽流感引起的,但也可能是由富含蔬菜、草药、草、杂草和各种植物的饮食引起的。黄色的粪便可能是球虫病、肠道蠕虫或肾脏疾病的结果,但也可能是由于摄入了一些食物,如连翘花、草莓或西红柿和玉米。黑色的粪便可能是内出血或摄入木灰、木炭和黑浆果的结果。棕色液体粪便可能是由大肠杆菌感染或呼吸系统感染,如支气管炎引起的。然而,摄取高液体含量的食物也会发生这种情况。白色或高液体的粪便可由泄殖腔感染、风丛、肾脏损伤、压力和内部疾病引起。然而,也可能是由于摄入了比正常量更多的水。最后,橙色或红色的粪便可能是由于球虫病、铅中毒和肠壁肿胀或炎症。在集约化生产中,鸟类以标准饮食为食,粪便的变化很容易被发现。
  • 卷积神经网络(Convolutional Neural Networks, CNN)由于其优越的性能,已成为目标识别领域的热门技术。CNN的几种网络结构已经应用于对象识别和分类,如AlexNet[10]、VGG和ResNet[11]。卷积神经网络(CNN)由于其优越的性能已被应用于解决图像或视频中的视觉目标识别问题。Faster R-CNN和yalo - v3是两种性能优越的CNN网络,它们具有检测精度高、检测速度快的优点[12,13]。Faster R-CNN是Fast R-CNN的改进版。它执行四步目标检测,即区域提议、特征提取、分类和回归[14]。该算法采用了区域提议网络(RPN),提高了算法的精度和速度。YOLO-V3将分类和定位结合成任务识别目标,将整个图像作为感兴趣区域。结合三尺度预测的特征交互层,采用FPN算法融合不同尺度的特征,提高小目标对象的检测效果。目前,CNN也已经应用于智能农业的多个领域。Zhuang和Zhang[8]采用基于改进特征融合单点多盒检测器(IFFSSD)的CNN对患病肉鸡进行检测,Zheng等[15]应用SBDA-DL实时检测母猪行为。Tian等人[16]使用YOLO-V3检测不同生长周期的果园苹果。
    论文翻译:基于深度卷积神经网络的肉鸡粪便识别与分类_第2张图片
  • 本研究介绍了一种基于图像处理和深度学习的肉鸡粪便正常与异常分类技术,用于消化疾病检测。本研究的主要目的是建立一种基于粪便图像的健康和感染肉鸡的高效自动分类器。具体目标包括开发用于模型训练和高效训练的全面数据集,以及开发用于疾病检测的鲁棒深度学习模型。该系统可作为肉鸡消化系统疾病早期预警的技术支持工具。

2.材料和方法

2.1实验装置

2.1.1动物住房和数据收集。

  • 实验于2019年3月至4月在河南省许昌市嘉南区王关村进行。试验选用25 ~35日龄罗斯肉鸡1万只。这些鸟被饲养在一个多层鸟笼模式下,有自动粪便传送带。肉鸡饲喂蛋白质19%、油脂6%、热量3300kcal/kg的颗粒饲粮。在实验期间,饮水是随意的。温度和湿度分别在22 - 24℃和60 -70%之间自动调节。照明系统由固定在天花板和墙壁上的LED灯组成,照明时间为5点至23点,照明时间约为40 lx。
  • 一台佳能5D单反相机(5760 * 3240像素)安装在传送带正上方0.3 m处,如图1所示。在图像采集过程中,一个101 lx的LED灯提供了额外的照明。图像采集时间为0900小时至1600小时,取决于肉鸡的排泄习惯。

2.2数据标签

由专业兽医根据表1的描述对采集到的图像进行标记。图2描述了排泄物标签之间的差异。
论文翻译:基于深度卷积神经网络的肉鸡粪便识别与分类_第3张图片
论文翻译:基于深度卷积神经网络的肉鸡粪便识别与分类_第4张图片

2.3图像数据增强

由于深度卷积神经网络所组成的网络结构复杂,在训练阶段[9]需要评估大量的参数,包括权重和偏差。 与其他结构简单的神经网络相比,深度卷积神经网络需要更多的训练数据才能获得合适的收敛性。为了获得更好的识别精度,防止数据过拟合,需要使用表2中给出的10种增强方法对图像进行预处理。图像增强将图像扩展到10000张。
论文翻译:基于深度卷积神经网络的肉鸡粪便识别与分类_第5张图片

2.4数据集的制作

基于噪声和旋转水平对合成图像进行过滤,得到7637张高质量图像(剔除高噪声图像和低旋转图像)。然后将选中的图像压缩到1800 × 1012像素,以降低训练时的计算复杂度。使用开源软件LableIamge进行图像处理。标记时,对连续的粪便主体进行标记,忽略飞溅产生的粪便碎片。本研究采用Pascal VOC 2007格式。数据集总结如表3所示。
论文翻译:基于深度卷积神经网络的肉鸡粪便识别与分类_第6张图片

2.5粪便检测系统的架构

在本研究中,我们探索了两种深度卷积神经网络架构进行对比分析:首先是Faster R-CNN架构,其次是YOLO-V3架构。Faster R-CNN与YOLO-V3的主要区别在于,Faster R-CNN首先提取感兴趣区域(region of interest, ROI),然后将图像区域识别为目标或背景,并对这些区域的边界进行细化[12,17]。而YOLO-V3则将整个图像作为ROI进行识别。模型的参数对整个网络的性能影响很大;在深度学习网络中,参数的个数取决于网络规模[17]。根据Yue等人[18]的研究,增加上层参数的数量可以提高深度神经模型的性能,而增加下层参数的数量可能会对模型的性能造成损害。

2.6Fater R-CNN架构

  • 本研究将Region Proposal Network (RPN)与Fast R-CNN[12]相结合,应用Faster RCNN对肉鸡粪便进行检测和分类。与R-CNN、Fast R-CNN等其他目标检测方法相比,Faster R-CNN提高了检测精度和速度,实现了端到端目标检测,并能快速生成候选盒。

  • 本研究采用RPN+ResNet模型。ResNet于2015年推出,因其“简单和实用”共存而赢得了ImageNet分类任务竞赛。ResNet是一种深度残差网络,可以解决随着网络[19]的加深而导致训练集精度下降的问题。需要注意的是,Faster R-CNN中使用的CNN网络(ZF、VGG、GoogLeNet、ResNet)随着卷积层数的增加,检测速度越慢。然而,更深的网络可能会提高网络精度[11]。本研究中,conv层数为13,relu层数为13,pooling层数为4。

  • Faster R-CNN的网络结构如图3所示。Faster R-CNN支持任何大小的图像输入,但在卷积运算之前,输入图像被标准化或调整为标准大小[12]。输入输出大小的转换如下所示
    在这里插入图片描述
    论文翻译:基于深度卷积神经网络的肉鸡粪便识别与分类_第7张图片

  • RPN用于提取ROI。RPN的工作过程是两步操作,即RPN分类和RPN边界盒回归。RPN的分类过程分为两类。首先,K H××W区域(称为锚,K = 9, H是高, W是宽度)应均匀划分的功能映射[12]。通过比较这些锚和ground truth之间的重叠,我们可以决定哪些锚是prospect,哪些是background,也就是用prospect或background来标记每个锚。有了标签,RPN可以被训练为识别任何输入[12]的前景和背景。

  • 一个特征地图有9个×H ×W锚;也就是说,每个点对应9个锚。这9个锚的长径比分别为1:1、1:2和2:1。每个高宽比都有三个维度[12]。RPN包围盒回归用于确定前景的近似位置。在得到建议的近似位置后,下一步是做精确位置的回归。RPN训练收敛后,我们可以得到锚相对于提议的偏移量。通过偏移量,可以计算出提案的近似位置。通过非最大抑制(NMS)等操作可实现精确定位。在RPN训练过程中,定义在union (IOU)上与ground truth box (GT box)相交最大的锚点为正样本,定义负样本为IOU, GT box小于0.3个样本[12]。定义训练过程中RPN的损失函数为
    在这里插入图片描述

  • 其中I是锚点数,piis ithanchor数是前景的概率。如果ithanchor数字是前景,那么pi, p∗iis1或0。为预测的边界框坐标。是地面真理的坐标。在ROI池中,RPN生成的层建议被用来得到一个固定大小的建议特征图。全连接操作可用于识别和定位目标。feature map中有两种不同大小的proposal,但池化后有7b y7 = 4 9输出,可以为全连接层提供固定长度的输入。

2.7更快的R-CNN训练和测试。

采用四步替代训练方案对Faster R-CNN模型进行训练。

  • 训练项。区域提议任务由RPN网络执行,该网络使用ImageNet预训练模型进行初始化和微调 训练Fast
    R-CNN。RPN初始步骤生成的方案通过单独的检测网络进行分类,该检测网络也由ImageNet预训练模型初始化
  • 再培训的RPN。第二步的检测器网络初始化的RPN网络具有固定的共享卷积层。RPN网络用第2步的检测器网络初始化,共享卷积层固定,只对RPN的唯一层进行微调
  • 微调快速R-CNN。对Fast R-CNN网络的独特层进行微调,生成被检测物体的精确边界框,同时保持共享的conv层固定。在步骤1和步骤2中,RPN和Fast
  • R-CNN的两个网络没有共享conv层的参数。但是,在步骤3和步骤4中,两个网络共享所有的conv层。在整个过程中,采用步骤1和步骤2,步骤3和步骤4进行交替的持续培训
    经过Faster R-CNN的训练,得到模型;检测肉鸡的异常粪便只需要使用训练过程生成的最终模型,并将图像转发。

2.8YOLO-V3架构。

  • 与YOLO和YOLO- v2相比,YOLO- v3的主要改进是调整网络结构,利用多尺度特征检测目标,用Logistic软件代替Max进行目标分类[17]。而YOLO- v3[17]网络是由YOLO[13]和YOLO- v2[13]网络演化而来的。
  • 在图像特征提取中,YOLO3采用了一种名为Darknet53的网络结构(包含53个卷积层)。在Darknet53中,从0层到74层共有53个卷积层,其余为res层(22);第75到107层是YOLO层。
  • 它利用resnet网络和建立一些层之间的快捷连接。Darknet53由一系列1 × 1和3 × 3的卷积层组成(每个卷积层后面是BN层和一个Leaky ReLU)。YOLO-V3特征交互层可分为三个尺度。该卷积网络在79[17]层通过多次32次下采样卷积得到尺度检测结果。与输入图像相比,由于下采样倍数高,feature map的范围更广,该结果更适合于检测图像中较大的目标。例如,如果输入是416 × 416,那么特征图将是13 × 13。为了实现细粒度检测,将79层特征图上采样,然后与61层特征图融合。这样,第91层的细粒度feature map就被连接到了[17]。同样,经过几层卷积后,第79层的feature map比输入图像下采样16倍。它具有中等尺度的传感领域,适用于中等尺度目标的检测。对第91层的feature map进行上采样,并与第36层feature map进行级联。最后,对feature map进行比输入图像降采样8倍的采样。它具有最小的感受野,适用于探测小物体[17]。
  • ResNet中的Res层只执行计算差异的快捷操作,以确定其输入和输出是否一致。为了解决网络中梯度分散或梯度爆炸的问题,Res层提出将深度神经网络的逐层训练改为循序渐进的训练[11]。它将深层神经网络划分为若干段,每段包含简单的网络层。然后,利用快捷连接对各分段进行残差训练,并对总损失部分进行学习。最后,它获得了一个小的总损失。同时很好地控制了梯度的传播,避免了梯度消失或爆发的情况。输出层直接输出识别结果(预测肉鸡粪便的类型和位置)。目标框的输出使用非最大抑制(NMS)来预测滤波器框[12]。测试过程中,设置IOU的阈值,输出每个有NMS的目标的唯一预测框。IOC的定义是
    在这里插入图片描述
  • 其中Overlap为预测框与真实框(标签框)的交点,Union为预测框与真实框的并集。yalo - v3使用逻辑输出代替软件Max来预测对象类别,从而实现多重标记。
  • YOLO-V3采用均方误差作为损失函数[13,17]。它包括三个部分:坐标误差、IOC误差和分类误差。它将粪便分类,以检测异常粪便。开发的YOLO-V3网络结构如图4所示。
    论文翻译:基于深度卷积神经网络的肉鸡粪便识别与分类_第8张图片

2.9优化yolov3的锚箱

锚箱选择方法。所有的深度学习算法都将锚框的大小和数量初始化为任意值,例如,Faster R-CNN中为9,YOLO-V2[20]中为5,YOLO-V3[17]中为9。但是,这些锚框的初始化很简单,因为它会影响模型的性能和计算资源。因此,为特定的数据集选择合适的锚框是非常必要的。本研究采用k -means++聚类算法对肉鸡粪便数据集的YOLO-V3算法的锚箱进行优化。优化方法的过程如下。首先,计算算法给出的锚点盒的欠条数和训练集中每幅图像上的每个目标盒的欠条数;从训练数据点的输入集合中随机选取一个点作为第一个初始点。对于训练中的每一个X点,计算点x到最近聚类中心的距离D (x)。选择一个新的数据点作为新的聚类中心,选择规则是D (x)较大的点更有可能被选择为聚类中心。重复最后两步,直到选择出所有的聚类中心。然后,计算所有点到聚类中心的距离。如果Piis离聚类中心点ki最近,则Piis属于Kipoints组。接下来,将聚类中心移动到其“点组”的中心。然后重复上述步骤,直到聚类中心点保持不变(移动距离小于设置的阈值)。算法流程图如图5所示。
论文翻译:基于深度卷积神经网络的肉鸡粪便识别与分类_第9张图片

3.结果和讨论

所有网络均采用异步随机梯度下降(SGD)训练。采用批处理方式[21]进行神经网络的分布式学习。批号设置为32作为最优水平,例如16的值越低,训练时间越长,而批号越高,计算复杂度越高。同样,学习率设置为0.001;当学习率为0.01时,网络无法收敛;当学习率为0.0001时,网络训练需要更多的迭代才能收敛(训练时间更长)。

3.1更快的R-CNN和YOLO-V3性能评估。

基于Tensorflow框架和Darknet框架设计并构建了两种检测模型。他们在一台使用NVIDIA GTX1080Ti GPU、50gb有效内存和使用Ubuntu 16.04操作系统的i7 7700k CPU的PC上进行训练和测试。为评价肉鸡粪便识别模型的性能,根据式(4)、式(5)、式(6)分别应用召回率、平均精度(AP)和平均精度(mAP)的平均值。
论文翻译:基于深度卷积神经网络的肉鸡粪便识别与分类_第10张图片
其中TPos为正确分类的结果,Pos为正样本,C为分类样本数。经过5万次迭代的训练,模型在测试数据集上进行了测试。测试结果如表4所示。
论文翻译:基于深度卷积神经网络的肉鸡粪便识别与分类_第11张图片

  • 从表4可以看出,与Faster R-CNN相比,YOLO-V3的训练时间更长,但检测速度更高。Faster R-CNN的单类APs和召回率均高于YOLO-V3,平均为考虑到本研究是对以0.09 ms-1速度移动粪料输送机的笼养肉鸡进行试验,整个试验集的粪料运量分别为0.9332 ~ 0.8425和0.991 ~ 0.887。因此,Faster R-CNN和YOLO-V3系统的图像采集频率都需要高于2 fps。
  • 两种模型的precision-recall曲线如图6所示。相比之下,Faster R-CNN在查全率和准确率方面都优于YOLO-V3。在低回忆阶段,我们观察到随着回忆的增加,YOLO-V3的准确率是恒定的。然后在急剧下降之后上升;这说明在反向传播过程中,在达到饱和点后,在测试集上的收敛性迅速下降,梯度消失或出现过拟合

3.2不同迭代的模型比较。

  • 网络的深度对神经网络模型的性能至关重要,但随着网络层数的增加,出现了过拟合问题。因此,数据集的容量、卷积层的深度以及迭代次数都会影响最终模型的性能。在本研究中,训练数据集的数量为7637,除了输入层之外,YOLO-V3的深度为106层,Faster R-CNN采用了ResNet101。

论文翻译:基于深度卷积神经网络的肉鸡粪便识别与分类_第12张图片

  • 图7显示了两个网络相对于迭代次数的平均损失率值。在Faster RCNN中,损失在前5000次迭代中迅速下降,但波动很大。大约3万次迭代后,平均损失值稳定在0.37。然而,对于YOLO-V3,可以观察到平均损耗在前1000次迭代中下降得更快。在20,000到25,000次迭代时,损耗稳定地收敛在0.4左右。随着迭代次数从25,0000次增加到27,000次,损失有了显著的非平滑减少。然后,经过35,000次迭代,损耗稳定在0.17。为了评估由于收敛速度慢而导致的识别损失的影响,在测试数据集上分别应用了23000次和35000次的权重模型。测试结果如表5所示。
    论文翻译:基于深度卷积神经网络的肉鸡粪便识别与分类_第13张图片
    结果表明,3.5万次迭代的加权模型无论是单类的精度还是整体地图和查全率都优于2.3万次迭代的加权模型。可以得出(图7(b)和表5)YOLOV3在2000 - 25,000次的训练过程中属于最优局部解,在31,000次左右时达到最优性能。图8展示了模型测试阶段基于Faster R-CNN的粪便分类。
    论文翻译:基于深度卷积神经网络的肉鸡粪便识别与分类_第14张图片

3.3基于k - means++的YOLO-V3锚框选择。

图9为使用k -means++算法对YOLO-V3进行优化的结果。黄色星形为原锚盒,红色三角形为优化锚盒,蓝色点为训练集GT盒的中心点。最大迭代次数设置为1000次,当聚类损失小于1 ×1 0−6或达到最大迭代次数时终止。锚箱和训练集的平均欠条数为0.4292;IOU的均方差为0.0819。与YOLO-V3初始化锚框相比,IOU增加了23.7%。在相同的参数和数据集下,使用优化后的锚箱对YOLO-V3进行再训练。最后,在测试集和验证集上的测试结果分别提高了5%和1.4%,图值为0.8846,召回率为0.899。论文翻译:基于深度卷积神经网络的肉鸡粪便识别与分类_第15张图片

4.结论

消化道疾病是肉鸡养殖的主要疾病之一。肉鸡消化道疾病监测技术的发展可以促进肉鸡养殖业的自动化。肉鸡粪便可作为评价肉鸡消化道疾病的指标。将肉鸡粪便分为正常和异常,将异常粪便分为异常形状、异常颜色、异常含水量和异常形水。比较了Faster R-CNN和YOLO-V3对肉鸡粪便数据集的性能。更快的R-CNN在大约30,000次迭代时达到了最佳性能。在检测装置上,mAP为93.32%,召回率为99.1%。约31,000次迭代时,YOLO-V3获得了最佳性能。在检测数据集上,mAP为84.25%,召回率为88.7%。通过对YOLO-V3锚箱对肉鸡粪数据集的优化,优化后锚箱的IOU比初始锚箱提高23.7%,IOU的均方差为0.085。最后,Recall增加了1.4%,mAP增加了5%。本研究为肉鸡异常粪便的自动非接触识别和分类提供了模型,为肉鸡消化道疾病的早期预警提供了技术支持。

你可能感兴趣的:(论文)