集智书童 | YOLOv8架构的改进:POLO 模型在多类目标检测中的突破 !

本文来源公众号**"集智书童"**,仅用于学术分享,侵权删,干货满满。

原文链接:YOLOv8架构的改进:POLO 模型在多类目标检测中的突破 !

基于无人机影像和目标检测技术的自动化野生动物调查已成为保护生物学中一种强大且日益流行的工具。

大多数检测器需要使用带有标注边界框的训练图像,这种做法既费时又费钱,而且并不总是明确。为了减少这种做法带来的标注负担,作者开发了POLO,这是一种可以在仅使用点标签进行训练的多类目标检测模型。

POLO基于对YOLOv8架构的简单而有效的修改,包括预测过程、训练损失和后处理方面的修改。作者在包含多达数千个单独鸟类的无人机记录图像上测试POLO,并与常规YOLOv8进行比较。

作者的实验表明,在相同的标注成本下,POLO在空中图像中计数动物的准确性得到了提高。

1 Introduction

频繁的动物普查是成功 conservation 管理的关键要求,尤其是在处理濒危物种时。在广阔的开阔景观中,可以通过从飞机或无人驾驶飞行器(UAVs)记录的空中影像来高效地调查野生动物,后者由于降低了运营成本和安全风险而越来越受到青睐。鉴于在这些飞行过程中收集了大量数据,通常会使用机器学习方法来对图像中的动物进行计数,这使得生物学家能够估计种群的发展。为此,卷积神经网络(CNNs)是最受欢迎的技术之一。

尽管卷积神经网络(CNNs)具有高检测精度的高潜力,但这种潜力受到可用于模型训练的 Token 数据量的限制[1]。由于创建 Token 数据意味着人工标注,通常以边界框的形式提供,因此从空中图像中准确计数动物的成本非常高,这限制了基于深度学习的保护工作的可扩展性。

为了降低这些成本,可以通过点标注自动创建边界框,这些标注可以以更高的速度获得,因此生产成本更低[7, 14]。这种方法很简单,只需在点标注周围生成正方形框,并使用这些伪标签来训练传统的目标检测架构。然而,空中图像中的动物通常非常小(即长度为几像素),部分被遮挡,如果密集站立在一起很难分离,或者由于透视和运动模糊而扭曲。所有这些因素都导致动物边界难以界定,从而显著影响了自动生成的框的质量。

在本研究中,作者通过开发一个完全基于点标签的目标检测框架,避免了这些问题,同时没有增加标注成本。作者通过修改最先进的、广泛使用的边界框检测模型之一YOLOv8算法来实现这一任务。所提出的架构称为POLO(P oint-YOLO)。作者比较了两种不同的损失函数来训练它,并引入了一个新的指标来对点预测进行非极大值抑制(NMS)。

作者在阿拉斯加州伊zenbek湖的无人机图像上测试POLO,该数据集涉及对阿拉斯加州伊zenbek湖的鸟类进行计数。此外,作者将POLO的性能与在伪标签上训练的普通YOLOv8进行了比较,并发现后者方法虽然能获得较高的计数准确性,但使用POLO时结果有所改善。

Point-based object detection and counting

点标签是人群计数领域的一种常用标注类型,它们被用于训练输入图像并输出一个编码每个像素估计密度的人的热力图的密度估计模型

这种方法受到了传统检测算法在处理尺度变化(即背景中的人看起来比靠近摄像机的人小)和由其他人部分遮挡个体时的启发。

另一方面,在目标检测任务中,点格式被用作混合标注集的一部分,其中一小部分边界框标注被一大部分点标签补充,以训练检测模型输出边界框预测。

作者的解决方案与上述方法不同,因为作者输出点检测(而不是密度图或边界框)且在训练中不使用任何边界框标注。这使得学习任务比从点标签生成边界框输出更简单,且足够满足作者在无人机影像中计数动物的目的。本工作与Song等人[16]的努力最为相似,他们开发了一种在点标签上训练并输出点检测的检测模型。然而,他们的架构不能区分不同类别,使其不适合涉及多种物种的动物普查。

The YOLO algorithm

为了识别物体,YOLOv8采用了一种一站式检测策略,将图像划分为预定义的网格单元。每个网格单元然后被处理在两个独立的分支上,一个预测包含在单元内物体的边界框,另一个预测这些物体的类别。重要的是,YOLOv8并没有直接回归边界框坐标,而是采样一个概率分布,以获得四个边界框边缘相对于网格单元中心的最可能偏移量。

3 Method

为了实现与点标签的兼容性,作者对YOLOv8架构进行了以下修改:

输出维度: 默认情况下,YOLOv8的最后一层卷积神经元的输出通道数为4·16。这些通道编码了网格单元中心点偏移的边缘的概率,偏移范围为[0,1,...,15]像素。

后处理: 为消除冗余检测,作者实现了一种传统的NMS算法的变体。具体而言,作者定义了 距离半径(DoR)度量,并使用它来替换IoU。在这里,DoR通过将预测点到真实标签的距离除以用户为每个物体/动物类指定的半径值r_c来计算。

在NMS过程中,如果低置信度的检测的DoR值低于指定的阈值,那么就删除这些检测。

4 Experiments

Experimental Setup

4.1.1 Dataset

作者在本研究中使用公开的无人机图像数据集[17]评估并测试所有模型,该数据集来自阿拉斯加州Izembek泻湖,托管在LILA BC数据仓库中。该数据集包括大小为8688x5792像素的水禽图像9267张,以及"Brant goose"(424,790个 Box )、"Canada goose"(47,561个 Box )、"Gull"(5,631个 Box )、"Emperor goose"(2,013个 Box )和"Other"(5,631个 Box )等类的总计521,270个伪框。数据被分为训练(80%)、验证(5%)和测试(15%)集。图像被分割成大小为640x640的块,块之间有10%的重叠,以匹配YOLOv8和POLO的输入大小。如果一个块中不包含动物,那么该块中的95%将被丢弃。剩下的5%将被用作负样本,以减少假阳性检测。如果边界框跨越多个块,那么只要该边界框的至少15%的面积位于所考虑的块内,那么边界框将被剪切到块的边界。

4.1.2 Implementation Details

在实验过程中,作者使用批量大小为32,训练周期为300个epoch,并激活YOLO的早期停止机制,耐性值为50。通过将训练好的模型应用到测试集上,评估计算准确性。同样,作者将图像分割成640x640的块,每个块有10%的重叠,在推理后将块 Level 的预测映射回图像 Level ,以获得整个图像的全球动物数量。在将块预测映射到图像 Level 后,作者还会应用一次NMS,以消除块重叠区域中的冗余。

Loss functions comparison

首先,作者比较了在Hausdorff和MSE损失下分别训练的POLO模型所获得的计数精度。在进行初步比较时,作者设置了一个DoR阈值0.3进行后处理;同时,作者使用第2.2节中提到的YOLOv8损失平衡方案。具体来说,作者将Hausdorff/MSE损失赋予7.5的权重,并将分类损失乘以0.5进行缩放。对于所有类别,作者使用40像素的半径,但在海鸥类别中,作者将半径设置为30像素。这些值是通过手动测量训练图像中动物的长度,并考虑图像之间地面采样距离的变异性以及鸟类的出现而得出的。例如,在飞行时,动物在无人机附近所占的像素数会比在水面上休息时的像素数多,因为它们离无人机更近且翅膀张开。表1展示了使用Hausdorff/MSE损失函数训练POLO时,每张图像获得的平均绝对误差(MAE)。

可以看到,Hausdorff模型在五类数据中超过了MSE模型。然而,对于数据集中最丰富的物种(加拿大鹅),MSE损失显著降低了MAE。因此,作者在后续实验中决定使用后者。

Loss balancing

为了在均方误差(MSE)和分类损失项之间优化平衡,作者引入了一个超参数α,其值范围为[1,9],基于YOLOv8中损失缩放所使用的值范围。

然后,作者使用第4.2节中指定的DoR阈值和半径,训练了总共九个不同的模型,其中损失如下所示:

Radius and DoR Threshold

作者最后在组合半径值和DoR阈值之间进行全网格搜索。探查DoR阈值在[0.1, 1]之间,并将第4.1节中定义的半径乘以[0.25, 2]范围内的缩放因子。图1可视化了不同半径和DoR阈值对Brant鹅类所实现的平均绝对误差(MAE)的影响。可以看出,两种策略都能最大化计数准确性:

对于半径和DoR阈值的中间值,或者将相反的极端值配对;也就是说,将大半径与低DoR阈值组合,反之亦然。

值得注意的是,当使用大半径且DoR阈值较高时,MAE的影响较小,与使用小半径和低DoR值时的组合相比。作者在剩余类中观察到类似的行为,其中缩放因子为1.25,DoR阈值为0.6时,实现了各类别中的最高MAE分数。

5 Results

在表3中展示了使用YOLOv8和POLO获得的动物数量和平均绝对误差(MAE)值。根据上述结果,作者使用在本次实验中使用均方误差(MSE)损失函数缩放1倍训练的POLO模型。作者将第4.2节中提到的半径乘以1.25,并将DoR阈值设置为0.6。

总体而言,两种模型生成的数量都是合理的,但"Brant Goose"、"Other"和"Gull"的丰度被高估,而"Canada Goose"和"Emperor Goose"的检测则被低估。值得注意的是,POLO在五个类别中有四个的均方根误差(MAE)更低。

质量上,两种架构在近距离的动物区分上都有困难,且容易将明亮的结构误认为是鸟类。差异主要在于这些错误正预测所分配的类别(参见图2)。

6 参考文献

[0]. POLO - Point-based, multi-class animal detection.

THE END !

文章结束,感谢阅读。您的点赞,收藏,评论是我继续更新的动力。大家有推荐的公众号可以评论区留言,共同学习,一起进步。

相关推荐
迅易科技11 分钟前
借助腾讯云质检平台的新范式,做工业制造企业质检的“AI慧眼”
人工智能·视觉检测·制造
古希腊掌管学习的神1 小时前
[机器学习]XGBoost(3)——确定树的结构
人工智能·机器学习
ZHOU_WUYI2 小时前
4.metagpt中的软件公司智能体 (ProjectManager 角色)
人工智能·metagpt
靴子学长2 小时前
基于字节大模型的论文翻译(含免费源码)
人工智能·深度学习·nlp
梧桐树04293 小时前
python常用内建模块:collections
python
AI_NEW_COME3 小时前
知识库管理系统可扩展性深度测评
人工智能
Dream_Snowar3 小时前
速通Python 第三节
开发语言·python
海棠AI实验室4 小时前
AI的进阶之路:从机器学习到深度学习的演变(一)
人工智能·深度学习·机器学习
hunteritself4 小时前
AI Weekly『12月16-22日』:OpenAI公布o3,谷歌发布首个推理模型,GitHub Copilot免费版上线!
人工智能·gpt·chatgpt·github·openai·copilot
IT古董4 小时前
【机器学习】机器学习的基本分类-强化学习-策略梯度(Policy Gradient,PG)
人工智能·机器学习·分类