AI学习者 · 2023年02月15日

YOLO系列的落地 | YOLOv7+注意力机制在农业上的应用

image.png

饲养密度是影响畜禽大规模生产和动物福利的关键因素。然而,麻鸭养殖业目前使用的人工计数方法效率低、人工成本高、精度低,而且容易重复计数和遗漏。

在这方面,本文使用深度学习算法来实现对密集麻鸭群数量的实时监测,并促进智能农业产业的发展。本文构建了一个新的大规模大麻鸭目标检测图像数据集,其中包含1500个大麻鸭目标的检测全身帧标记和仅头部帧标记。

此外,本文提出了一种基于注意力机制改进的YOLOv7算法CBAM-YOLOv7,在YOLOv7的主干网络中添加了3个CBAM模块,以提高网络提取特征的能力,并引入SE-YOLOv7和ECA-YOLOv7进行比较实验。

实验结果表明,CBAM-YOLOv7具有较高的精度,mAP@0.5和mAP@0.5:0.95略有改善。CBAM-YOLOv7的评价指标值比SE-YOLOw7和ECA-YOLOv 7的提高更大。此外,还对两种标记方法进行了比较测试,发现仅头部标记方法导致了大量特征信息的丢失,而全身框架标记方法显示了更好的检测效果。

算法性能评估结果表明,本文提出的智能麻鸭计数方法是可行的,可以促进智能可靠的自动计数方法的发展。

1、简介

随着技术的发展,监控设备在农业中发挥着巨大的作用。有多种方法可以监测个体动物的行为,例如插入芯片记录生理数据、使用可穿戴传感器和(热)成像技术。一些方法使用附着在鸟类脚上的可穿戴传感器来测量它们的活动,但这可能会对受监测的动物产生额外影响。特别是,在商业环境中,技术限制和高成本导致这种方法的可行性低。

因此,基于光流的视频评估将是监测家禽行为和生理的理想方法。最初,许多监控视频都是人工观察的,效率低下,依赖于工作人员的经验判断,没有标准。然而,近年来,由于大数据时代的到来和计算机图形卡的快速发展,计算机的计算能力不断增强,加速了人工智能的发展。与人工智能相关的研究正在增加,计算机视觉在动物检测中的应用越来越广泛。

例如,2014年Girshick等人提出的R-CNN首次引入了两阶段检测方法。该方法使用深度卷积网络来获得优异的目标检测精度,但其许多冗余操作大大增加了空间和时间成本,并且难以在实际的养鸭场中部署。Law等人提出了一种单阶段的目标检测方法CornerNet和一种新的池化方法:角点池化。

然而,基于关键点的方法经常遇到大量不正确的目标边界框,这限制了其性能,无法满足鸭子饲养模型的高性能要求。Duan等人在CornerNet的基础上构建了CenterNet框架,以提高准确性和召回率,并设计了两个对特征级噪声具有更强鲁棒性的自定义模块,但Anchor-Free方法是一个具有前两个关键点组合的过程,并且由于网络结构简单、处理耗时、速率低和测量结果不稳定,它不能满足麻鸭工业化养殖所需的高性能和高准确率的要求。

本文的工作使用了一种单阶段目标检测算法,它只需要提取特征一次,就可以实现目标检测,其性能高于多阶段算法。目前,主流的单阶段目标检测算法主要包括YOLO系列、SSD、RetinaNet等。本文将基于CNN的人群计数思想转移并应用到鸭计数问题中。随着检测结果的输出,作者嵌入了一个目标计数模块来响应工业化的需求。目标计数也是计算机视觉领域的一项常见任务。目标计数可分为多类别目标计数和单类别目标计数;本工作采用了一群大麻鸭的单类别计数。

本文希望实现的目标是:

  1. 建立了一个新的大规模的德雷克图像数据集,并将其命名为“大麻鸭数据集”。大麻鸭数据集包含1500个标签,用于全身框架和头部框架,用于鸭的目标检测。该团队首次发布了大麻鸭数据集
  2. 本研究构建了大鸭识别、大鸭目标检测、大鸭图像计数等全面的工作基线,实现了麻鸭的智能养殖
  3. 该项目模型引入了CBAM模块来构建CBAM-YOLOv7算法

2、本文方法

2.1 材料的获取

麻鸭是我国数量最丰富、分布最广泛、种类最多样的家鸭之一,具有体型小、省食、产蛋效率高等特点,具有重要的研究价值。使用DJI Pocket 2,一个适应性极强和灵活的微型万向架相机,来捕捉本研究中使用的图像和视频数据集。数据收集自中国四川省雅安市的原水禽养殖场,由四川农业大学著名水禽饲养员王林泉教授创建。

在准备数据集的过程中,首先通过多次改变图像拍摄的角度和距离,从10个不同的麻鸭屋采集数据。然后,手工筛选并丢弃了一些高重复的数据和一些由于麻鸭屋阻塞而未捕获的冗余数据。最后,数据集总共包含了1500张图像,其中包括训练集中的1300张图像和测试集中的200张图像。图1显示了非最大抑制对麻鸭的检测、识别和计数任务所带来的挑战的分析。图2显示了一个数据集标记工作的示例。

image.png

在目标检测工作的预测阶段,网络输出多个候选Anchor,但其中许多Anchor在同一对象附近重叠,如图1b所示。非最大抑制能够保留这组候选Anchor中最好的一个,如图1c所示。将鸭A和鸭B命名为。当鸭A和鸭B太近时,由于筛选非最大入侵,可以消除鸭A的预测箱。因此,准确估计所包含的密集大麻鸭数据集的数量是一个挑战。

由于对整个麻鸭体进行标记导致了许多重叠的标记箱,影响了麻鸭个体计数的准确性,选择了只标记麻鸭头的方法,并对两者进行了比较实验。

2.2 数据预处理

2.2.1 混合数据增强

Mixup是一种基于简单的数据依赖数据增强原理的非常规数据增强方法,利用线性插值构建新的训练样本和标记。对数据标签的处理公式如下:

image.png

image.png

2.2.2 Mosaic Data Augmentation

YOLOv4网络使用Mosaic数据增强,其思想是随机切割4幅图像,并将它们组合成一幅图像作为新生成的训练数据,极大地丰富了检测数据集,使网络更加鲁棒,并减少了GPU视频内存占用。图4显示了Mosaic数据扩充操作的工作流程。

image.png

2.3 训练参数

实验中所使用的训练过程的训练参数如表1所示。

image.png

2.4 评价指标

为了评价该算法的性能,本研究中使用的评价指标分别为精度(P)、查全率(R)、mAP、F1 Score和FPS。

精度表示阳性样本占具有阳性预测结果的样本的比例。其计算公式如下:

image.png

召回率表示预测结果为阳性样本中实际阳性样本与整个样本中阳性样本的比例。其计算公式如下:

image.png
F1 Score为精度和查全率的加权平均值,计算方法如下:

image.png

精确度反映了模型区分负样本的能力。精度越高,模型区分负样本的能力就越强。回忆反映了该模型识别正样本的能力。召回率越高,模型识别阳性样本的能力就越强。F1 Score是两者的结合。F1 Score越高,模型就越稳健。

平均精度(AP)是不同查全率条件下最高精度的平均值(一般是每个类别的AP单独计算)。其计算公式如下:

image.png

在Pascal VOC 2008中,IOU的阈值设置为0.5。如果一个物体被重复检测到,置信度最高的一个是正样本,另一个是负样本。在平滑的PR曲线上,在横轴0-1上得到10个平分线(包括11个断点)的精度值,并计算其平均值作为最终的AP值。

mAP是每个类别的平均精度的平均值和平均AP值。其计算公式如下:

image.png

其中,S为所有类别的个数,分母为所有类别的ap之和。本研究的目标检测目标仅为一种麻鸭,因此为AP = mAP。

2.6 Related Network

本节首先介绍了YOLOv7算法,然后详细介绍了本文提出的在YOLOv7中添加注意力机制的改进方法。

2.6.1 YOLOv7

本文提出了一种基于计算机视觉的基于家鸭目标检测和种群统计的识别和检测算法。利用该算法,育种者可以实时获取野鸭的数量和行为动态,实现养殖场的快速管理和战略制定,优化野鸭的繁殖率和生长速度,有助于实现经济效益的最大化。

鉴于鸭种群中个体密度小,且种群统计的实时要求,选择了最新的Yolov7模型。“你只看一次(Yolov7)是一种单阶段目标检测算法。图5为Yolov7的网络结构图。将Yolov7模型预处理方法与Yolov5集成,使用镶嵌数据增强适用于小目标检测。在体系结构方面,提出了基于ELAN的扩展ELAN(E-ELAN)。利用扩展、shuffle和合并基数,在不破坏原始梯度路径的情况下,不断提高网络的学习能力。在计算块的体系结构中,利用群卷积来扩展计算块的通道和基数。不同的计算块组被引导去学习更多样化的特征。

然后,它重点关注一些优化模块和方法,称为可训练的“bag-of-freebies”,包括以下内容:

  1. 采用无Identity的RepConv设计了规划的重参化卷积体系结构,为不同的特征图提供了更多的梯度多样性。
  2. 介绍了辅助检测头,并利用优化过程生成的软标签用于Lead Head和辅助头的学习。因此,由此生成的软标签应该能更好地表示源数据与目标之间的分布和相关性,从而获得更准确的结果。
  • 批次归一化层直接连接到卷积层,使得批次的归一化平均值和方差在推断阶段被集成到卷积层的偏差和权重中。
  • 利用YOLOR中隐式知识的加法和乘法方法,结合卷积特征映射,可以在推理阶段通过预先计算将其简化为向量,从而结合之前或后续卷积层的偏差和权重。
  • EMA模型纯粹被用作最终的推理模型。最后,实时目标检测可以在不增加推理成本的情况下大大提高检测精度,使5-160FPS范围内的速度和精度超过所有已知的目标检测器,可以实现目标检测的快速响应和准确预测。

image.png

2.6.2 改进注意力机制的YOLOv7

注意力机制是一种常见的数据处理方法,广泛应用于各个领域的机器学习任务。计算机视觉注意力机制的核心思想是找到原始数据之间的相关性,然后突出重要的特征,如通道注意力、像素注意力、多阶注意力等。

CBAM主要包括通道注意力模块和空间注意力模块。模块结构如图6所示。

image.png

CBAM是一个轻量级的注意力模块,可以在通道和空间维度上执行注意力操作。它由通道注意力模块(CAM)和空间注意力模块(SAM)组成。CAM可以使网络更加关注图像的前景和有意义的区域,而SAM可以使网络更关注富含整个画面上下文信息的位置。

2.6.3 YOLOv7 Introduces the CBAM Attention Mechanism

CBAM注意力机制被添加到YOLOV7网络结构中,网络结构如图7所示。该模块的功能是进一步提高特征提取网络的特征提取能力。一旦将注意力机制添加到骨干网络中,注意力机制模块就会降低骨干网络的一些原始权重。这导致网络的预测结果出现错误。在这方面选择将注意力机制添加到增强特征网络提取的部分,而不破坏网络提取的原始特征。

image.png

CBAM注意机制的工作原理如下:

在通道注意力模块中,对H×W×C的输入特征图进行全局最大池化(GMP)和全局平均池化(GAP),得到2个大小为1×1×C的特征图。这2个特征图被发送到一个两层的多层感知器。MLP第一层的神经元数量为C/r(r为还原率),激活函数为ReLU。第二层神经元的数量为C,这两层神经网络的权值被共享。然后,基于元素级计算添加输出特征,并通过sigmoid生成最终的通道附着特征。最后,将通道注意力特征乘以原始输入特征图,得到空间注意力模块的输入特征。

在空间注意模块中,使用上一步中的特征图作为输入。

经过GMP和GAP后,得到了2个大小为H×W×1的特征图。然后执行Concat操作。将特征图降维后,通过sigmoid生成空间注意力特征。最后,将空间注意力特征乘以输入的特征图,得到最终的特征图。

3、实验结果

image.png

3.1 目标检测网络比较实验结果

image.png

3.2 引入注意机制的对比实验结果

image.png

3.3 不同数据标注方法的实验结果比较

image.png

3.4 消融实验结果

image.png

image.png

image.png

image.png

4、参考

[1]. An Attention Mechanism-Improved YOLOv7 Object Detection Algorithm for Hemp Duck Count Estimation.

作者:小书童
文章来源:集智书童

推荐阅读

更多嵌入式AI干货请关注嵌入式AI专栏。欢迎添加极术小姐姐微信(id:aijishu20)加入技术交流群,请备注研究方向。
推荐阅读
关注数
16328
内容数
1218
嵌入式端AI,包括AI算法在推理框架Tengine,MNN,NCNN,PaddlePaddle及相关芯片上的实现。欢迎加入微信交流群,微信号:aijishu20(备注:嵌入式)
目录
极术微信服务号
关注极术微信号
实时接收点赞提醒和评论通知
安谋科技学堂公众号
关注安谋科技学堂
实时获取安谋科技及 Arm 教学资源
安谋科技招聘公众号
关注安谋科技招聘
实时获取安谋科技中国职位信息