ADA-YOLO | YOLOv8+注意力+Adaptive Head,相对YOLOv8,mAP提升3%+118FPS

简介: ADA-YOLO | YOLOv8+注意力+Adaptive Head,相对YOLOv8,mAP提升3%+118FPS

生物医学图像分析中的目标检测和定位至关重要,尤其是在血液学领域,检测和识别血细胞对于诊断和治疗决策至关重要。虽然基于注意力的方法在各个领域中目标检测方面取得了显著的进展,但由于医学影像数据集的独特挑战,其在医学目标检测中的应用受到了限制。

为了解决这个问题,作者提出了一种名为ADA-YOLO的轻量级但有效的医学目标检测方法,该方法将注意力机制与YOLOv8架构相结合。作者提出的这种方法通过自适应头模块利用动态特征定位和并行回归进行计算机视觉任务。

作者在BCCD(血液细胞计数和检测)数据集上进行了实证实验,以评估ADA-YOLO的有效性。结果表明,在BCCD数据集上,与YOLOv8相比,ADA-YOLO在mAP(平均平均精确率)方面取得了更好的性能,而所需的资源比YOLOv8少3倍以上。这表明作者提出的这种方法是有效的。

此外,作者提出的这种方法具有轻量级的特点,使其适合在资源受限的环境中部署,例如移动设备或边缘计算系统,最终可能提高血液学领域的诊断和治疗结果。

1 Introduction

近年来,目标检测技术取得了显著的进展,使得可以实现对解剖结构、病变或异常的自动识别和定位。多年来,目标检测方法取得了重大的进步,这是由于大规模的带有标注的数据集的出现和深度学习技术的开发所驱动的。这些技术在改善医疗诊断和治疗结果方面展示出巨大的潜力。

在深度学习出现之前,医学影像中的目标检测传统方法依赖于手工特征和机器学习算法。这些方法,如模板匹配、边缘检测器、活性形状模型和变形模型,受到复杂结构、类间变异性以及有限泛化能力的影响。随着卷积神经网络(CNNs)的出现,目标检测发生了翻天覆地的变化,使得可以从原始图像数据端到端地学习特征表示,从而引领了基于深度学习的目标检测框架的发展,并取得了显著的性能改进。

基于区域的Faster R-CNN 是第一批成功的基于深度学习的目标检测框架之一,并在医学影像领域得到应用,用于检测肿瘤、器官和解剖标志。例如,Wang等人开发了 ChestX-ray8 数据库,这是一个用于弱监督分类和定位胸部疾病的胸片 X 光的大型数据集。他们的研究展示了深度学习算法准确检测肺结节的潜力,其准确率达到了令人印象的 97.3%。Gulshan 等人开发了一种深度学习算法,在检测糖尿病视网膜病变方面实现了 94% 的准确率。这展示了目标检测技术作为早期检测和诊断该条件的工具的潜力。其他潜在的应用已经得到一定程度的探索。单次方法如 YOLO 和 SSD 实现了实时推理速度,并已应用于病变检测、细胞检测和器官定位。

基于注意的方法,这些方法选择性地关注图像的相关区域以提高检测准确性,在医学目标检测中最近开始受到关注,利用特定领域的知识和规范来提高检测性能。迁移学习,涉及在大规模数据集(如 ImageNet)上预训练的模型上微调,在医学影像数据集上即使有限的数据训练也促进了各种医学应用中强大和准确的检测器的发展。

虽然目标检测技术在医学领域具有巨大的潜力,但也需要解决一些挑战。其中,一个挑战是训练深度学习算法需要大量带有标注的数据。收集和标注医学数据可能耗时且昂贵。其次,深度学习算法的可解释性仍然是一个问题,因为理解这些算法的决策过程对于医学专业人士来说可能是具有挑战性的。

简而言之,本文的主要贡献如下:

  1. 提出了一个轻量级但强大的目标检测模型,称为ADA-YOLO,其有效性已经通过实证实验得到证明,该模型在 mAP(平均平均精确率)方面可以超过 YOLOv8,同时还能在精确度和召回率指标之间实现惊人的平衡;同时,在训练过程中,该模型具有内存效率,这展示了其在便携式场景和云边协作中的巨大潜力。
  2. 深入研究了 YOLOv8 架构的复杂性,并设计了一个高效的目标检测组件,称为 _自适应头_(AH),它结合了 _动态视觉特征定位_(DVF)和 _联合引导回归模块_(JGR),使得边界框回归和分类预测可以并行计算,从而实现更精确的物体定位,进而提高检测精度,同时由于并行机制,实现了更好的计算效率。
  3. 在广泛的实验中,证明了所提出的框架在多类图像分类方面具有卓越的性能,同时也展示了它在处理多尺度目标检测任务方面的能力,打破了 YOLOx 模型在面临小物体、重叠和类别不平衡现象时的技术瓶颈。

2 Related Work

R-CNN

基于区域的卷积神经网络,简称 R-CNNs,是深度学习模型中用于图像目标检测的一种流行类别。R-CNN 架构的基本思想是首先使用选择性搜索算法在图像中识别感兴趣区域(RoIs)。这些 RoIs 然后被输入到卷积神经网络(CNN)中以提取特征。提取的特征被用于分类物体并改进 RoIs。原始的 R-CNN 模型是由 [7] 提出的,并在当时的目标检测基准测试上实现了最先进的性能。然而,由于它需要为每个 RoI 运行 CNN,因此其计算复杂度成为了瓶颈,使其在实时应用中不切实际。为了提高效率和准确性,后续的一些工作已经解决了这个局限性。

快速 R-CNN [13] 通过添加 RoI 池化层改进了原始 R-CNN,这使得网络可以进行端到端的训练。这意味着分类和边界框回归可以一起学习,而不是像原始 R-CNN 那样分别学习。此外,快速 R-CNN 消除了将 RoIs 转换为固定大小的需求,这是原始 R-CNN 中的一个重要限制,导致特征表示不佳。

R-CNN 的另一个重大改进是在 2016 年提出的 Faster R-CNN。Faster R-CNN 引入了一个 Region Proposal Network(RPN),它可以直接从图像特征中学习目标 Proposal ,从而消除了单独选择搜索算法的需要。RPN 被训练成输出一组候选目标边界框,这些边界框作为后续的 CNN 的 RoIs。通过在 RPN 和 CNN 之间共享卷积特征,Faster R-CNN 实现了比以前 R-CNN 模型更快的计算和更高的准确率与实时性能。

除了 Fast R-CNN 和 Faster R-CNN,还有许多其他 R-CNN 变体已经创建出来,每个都有独特的贡献。例如,由 Kaiming He 等人于 2017 年提出的 Mask R-CNN,将 R-CNN 模型扩展到也可以执行实例分割。这涉及到为每个目标实例预测一个掩码,除了其边界框。因此,可以检测出复杂的形状和被遮挡的目标实例,这在仅使用边界框检测是做不到的。

级联 R-CNN 是一种使用级联 R-CNN 改进目标 Proposal 准确性的变体。级联 R-CNN 的第一阶段产生大量具有高召回率但低精确度的 Proposal 。这些 Proposal 随后通过后续阶段逐步改进,以逐渐提高召回率和精确度。

尽管 R-CNNs 取得了成功,但仍然存在一些局限性和挑战。其中一个局限性是它们的计算要求。虽然 Fast R-CNN 和 Faster R-CNN 一定程度上解决了这个局限性,但它们仍然需要大量的计算资源,使其在低功耗设备上的实时应用不适用。

为了克服这个挑战,研究行人正在开发更高效的 R-CNNs,例如 EfficientDet 和 YOLOv8,它们可以在有限的计算资源下实现高精度。另一个与小目标检测相关的挑战是,R-CNNs 往往难以检测小物体,这可能导致假阴性或不准确的边界框。解决这个问题需要像图像金字塔这样的方法,涉及在不同分辨率下缩放输入图像,或者将多尺度特征集成在一起,以更好地捕捉小物体。

Yolov8 Model

2.2.1 Model Architecture

YOLOv8

YOLOv8 的工作原理可以概括如下:输入图像被缩放到  的大小,并输入到 CNN 模型中。CNN 模型将输入图像分割成  的网格,每个单元格负责检测其中心位于该单元格的靶标。CNN 的核心由多个卷积层、激活函数和全连接层组成。卷积层用于对输入图像执行卷积操作以提取特征。激活函数引入非线性因素,使神经网络更好地学习和识别复杂特征。全连接层用于将卷积层与 YOLO 的输出层连接,以最终识别目标物体。

Backbone。 YOLOv8 中的 Backbone 网络充当特征提取器,通常使用卷积神经网络(CNN)架构,如 Darknet、CSPDarknet 或 CSPDarknet-tiny 等。它的主要功能是从输入图像中提取特征,这些特征用于后续的任务,如目标检测。

通过一系列卷积和池化操作, Backbone 网络逐步减少特征图的空间维度,同时增加这些特征图的深度。这个过程旨在捕捉不同层次的特征,有效允许神经网络捕捉和表示输入图像中不同复杂性和尺度的特征。

Neck。颈是一个可选组件,用于进一步处理 Backbone 网络提取的特征图。其主要目的是集成不同层次的特征信息,以提高目标检测的性能。通常,颈包括各种操作,如卷积、上采样和下采样,旨在合并具有不同分辨率的特征图。这种集成是为了提高网络捕捉目标物体上下文和详细信息的能力。

Head。在目标检测任务中,头是一个关键组件,负责生成边界框、分类概率和目标属性。头通常由卷积层和全连接层组成,用于从特征图中提取与检测到的物体位置和分类标签相关的信息。生成的边界框可能需要经过后处理步骤,如非极大值抑制,以获得最终的目标检测结果。

2.2.2 Prediction

对于每个单元格,YOLO 预测边界框及其置信度分数。这些预测包括边界框的预测中心坐标(x, y)、预测的宽度和高度(w, h)以及置信度(置信度分数)。其中,预测的中心坐标是相对于单元格上左角的上标值,单位是细胞大小与图像大小的比值。

预测的宽度和高度是归一化的比率,以整个图像的宽度和高度(即 w 和 h 分别除以图像 w 和 h,使得最终的 w 和 h 落在 0 到 1 的范围内)。YOLO 将目标检测视为回归问题,允许卷积神经网络结构直接从输入图像中预测边界框和分类概率。

2.2.3 Loss Function

为了更好地表述类别不平衡的情况,将DFL集成到原始 YOLOv8 框架中。DFL 是一种增强版的 Focal Loss,旨在解决机器学习任务中的类别不平衡问题,尤其是在目标检测和分类的背景下。DFL 旨在通过根据样本的类别为其分配不同的权重并提供一个可调整的超参数的有效方法来处理不平衡的数据集。

DFL 的数学表达式如下:

在这个等式中, 表示模型预测目标为正样本的概率, 表示类别  的权重, 是可调整的超参数。使用  作为加权因子有助于缓解类别不平衡的影响,通过为代表性较弱的类别分配更高的权重。

为了解决样本不平衡的问题, 设置为样本数的倒数,即

在这里, 表示第 i 个样本的权重, 是总的样本数量, 是类别  的权重。

此外,DFL 公式中的参数  调整了容易分类样本和难以分类样本的权重。当  时,容易分类样本的权重降低,而难以分类样本的权重增加。

在实践中,DFL 可以在与其他损失函数(如交叉熵损失)结合使用时增强机器学习模型的性能,尤其是在类别不平衡的场景中,如计算机视觉任务中的目标检测。

YOLO 算法的损失函数主要包括两部分:分类损失和定位损失。YOLO 还引入了一个预测目标存在的置信度分数,并将其对应的置信度损失添加到损失函数中。具体而言,YOLO 的损失函数可以表示为:

在公式 2.2.3 中, 和  分别表示分类损失和网络输出中的类别概率向量。 表示实际标签(YOLO 模型将每个目标映射到预测网格单元的中心,并将单元标记为目标的类别 ID), 和  分别表示样本数量和网格大小,而  表示每个网格预测的边界框数量。

在公式 2.2.3 中, 表示位置损失,其中  表示网络输出中边界框的坐标(包括中心点坐标、宽度和高度), 表示真实标签中的边界框坐标,而  是权重系数。

在公式 2.2.3 中, 表示目标存在的置信度损失, 表示网络输出中第 i 个网格单元的第 k 个边界框的置信度分数, 表示网格单元  中没有目标的迹象, 是权重系数。

最终的总体损失

最终的总体损失由三个部分组成,如公式 2.2.3 所示:类别损失、位置损失和置信度损失,通过调整  和  来平衡不同损失项的影响。

Ensemble learning

集成学习通过结合多个单个模型的预测来提高模型的泛化性能,这些模型可以是同质的或异质的,并且可以分别使用不同的数据集进行训练。集成学习的优点在于,它可以利用每个模型的优势,以实现更好的预测准确性。

此外,当多个模型集成在一起时,可以应用某些策略,如投票或加权求和,来进一步增强集成模型的性能。

在深度学习和集成学习相结合之前,传统集成学习模型主要使用了决策树、支持向量机(SVMs)、k-近邻方法(k-NN)等。然而,这些模型存在一定的局限性,如无法表达复杂的非线性关系或有效地处理大规模数据集,导致在实际应用中性能受限。

随着深度学习的发展,人们开始探索将深度学习模型与集成学习相结合,希望通过深度学习模型良好的特征学习和拟合能力来提高集成学习的性能。这样的深度集成学习模型可以更好地处理复杂的非线性关系,表达复杂的模式,并有效地处理大规模数据集。

基于模型集成的方法。Bagging 和 Boosting 方法涉及训练多个模型并组合它们。Bagging 通过引入随机性来减少过拟合,而 Boosting 则调整权重以提高鲁棒性;Stacking 和基于负相关的方法:这两种方法都涉及将多个基础模型合并为一个元模型。Stacking 训练多个基础模型并使用元模型集成输出,而基于负相关的方法则引入具有负相关性的模型以降低方差并提高泛化性。

基于模型复杂度的方法。显式集成神经网络训练多个神经网络模型并显式地组合它们的输出。这创建了更强大的元模型;隐式集成神经网络涉及训练单个模型,并通过微调其参数创建多个“子模型”,然后将它们的输出组合在一起。这种方法也可以提高泛化性。

基于训练数据的方法。基于袋ging和boosting的方法指的是处理训练数据的方法。Bagging 引入了重采样技术来随机抽样训练数据,从而减少过拟合。Boosting 调整权重以使每个模型专注于前一个模型中具有更高错误率的样本,以更好地泛化;Stacking 和基于负相关的方法采用了多种类型的模型。Stacking 引入了多个基础模型以形成元模型,而另一个方法则创建了具有负相关性的模型以降低方差。

基于算法方面的方法。Boosting 和 Stacking 在算法层面上相似。Boosting 通过加权技术优化算法性能,而 Stacking 通过将多个算法结合到一个新颖的算法结构中,整合不同的算法优势。基于神经网络的方法同时训练和调整神经网络模型,包括显式和隐式技术。如前所述,显式技术涉及直接训练多个神经网络模型并组合它们,而隐式技术涉及微调单个神经网络模型的参数并在此基础上构建。

为了充分发挥集成学习的优势,作者主要采用堆叠方法,并在第4节中进行实验。

3 Methodology

YOLOv8 Object Detection Algorithm

图3显示了 YOLOv8 的详细架构。YOLOv8 采用了与前一个模型 YOLOv5 类似的 Backbone 网络,但在 CSPLayer(现在称为 C2f 模块)方面取得了显著改进。这个模块的主要目标是通过融合高层次特征和上下文信息来提高检测精度。YOLOv8 框架使用单个神经网络同时预测边界框和分类概率,简化了目标检测过程。与基于 Anchor 点的机制和特征金字塔网络相结合,YOLOv8 特别擅长在不同尺度下检测目标。

YOLOv8 在医学目标检测中的工作流程包括几个关键步骤。首先,将输入的医学图像进行预处理,以确保与 YOLOv8 模型兼容。然后,图像经过神经网络,其中特征提取和目标检测以统一的方式进行。YOLOv8 将输入图像分成网格,并分配每个网格单元的边界框,预测目标类别和置信度分数。值得注意的是,使用多个 Anchor 框增强了模型准确定位和分类不同大小物体的能力。

后续处理步骤,例如非极大值抑制,可以进一步优化输出,确保冗余检测被消除,并保留最准确的边界框。

在医学目标检测的背景下,YOLOv8 具有几个优势。其实时处理能力使其适用于需要及时检测的应用,例如在医学图像中识别异常。此外,模型处理多类别检测的能力和在不同成像条件下的鲁棒性使其在具有复杂视觉数据的医学场景中具有有效性。

然而,将 YOLOv8 适应于医学影像的细微之处需要考虑特定的挑战,例如需要专业数据集和微调以适应 YOLOv8。此外,计算机视觉和医学专家之间的持续研究和合作对于进一步优化 YOLOv8 的性能至关重要。

Adaptive Head

作者提出了一种基于 YOLOv8 的有效架构,该架构通过一个可适应的 Head 进行微调,该 Head 针对下游任务进行自适应。在标准的计算机视觉任务中, Head 将问题建模为基于 Anchor 点的预测。

具体而言,检测模型使用 Anchor 框,这些 Anchor 框是不同大小和长宽比预定义的边界框。通过预测这些 Anchor 框的偏移量和缩放因子, Head 能够准确地定位各种大小和形状的物体。在实际场景中,这种特性由于输入尺寸的多样性和随机性,可能比简单的检测方法更具有优势。例如,当输入尺寸多样且随机时,非自适应的检测方法可能需要数十次图像预处理或超参数调整才能适应输入。

相反,作者的方法可以自动地根据输入形状动态生成 Anchor 框,称为 动态视觉特征定位。这使得模型能够适应不同的输入分辨率和长宽比,使其在检测不同场景下的物体时更加通用和鲁棒。与 [27] 不同,作者删除了激活层,以保留更多的信息在中间张量中,以更好地完全捕捉传递语义,同时提高了一定的计算效率。

同样重要的是,由于预定义的边界框属性,检测问题被简化为一个简单的回归问题,即关于尺度和偏移量的回归。动态 Anchor 框设置使得模型能够挖掘图像中存在的细粒度信息。该架构也利用动态视觉特征定位(DVF)模块来提高训练稳定性和收敛速度,如图所示。DVF模块对预测的边界框坐标进行自适应正则化,使模型能够学习为不同物体大小适当调整预测框的大小。

联合引导回归模块(JGRM)是同时计算分类和边界框任务中的联合分数的关键组件。作者观察到不同目标目标之间的性能(或分数)存在很大差异,这导致了归纳偏差现象,原因是分类预测和边界框回归的分离。这可能导致在复杂场景中检测器的鲁棒性降低。例如,给定一个具有不同类型和不同大小的细胞的图像,模型可能会首先检测边界框,然后将分类预测结果融合,在此过程中产生了间隙。

简而言之,在复杂检测环境中分别训练边界框回归和分类预测是不可能的。受到 [28] 的启发,作者采用分布聚焦损失来优化目标检测中存在的回归任务。它是一种基于边界框和类别预测分别训练的经典交叉熵函数的改进版本。

正如前面提到的,动态视觉特征定位(DVF)旨在为图像特征提供更精确的近似值,这个想法类似于 [29],设计了一个复杂的注意力机制来增强检测器的特征表示,考虑到不同的特征空间位置、任务等。在处理一个属于实值空间、具有维度 L、S 和 C 的特征张量 F 的上下文中,作者考虑应用自注意力机制。这些机制旨在通过关注数据的有关方面来增强特征表示。

特征张量  经历一个自注意力过程。这可以表示为  和其注意力变换版本(由注意力矩阵  乘以  得到)的乘积:

在这里, 表示注意力函数。

为了管理计算复杂性,注意力机制被划分为 、 和  三个维度。这种按顺序应用注意力的表达式如下:

每个函数 , , 和  分别关注各自的维度。

尺度感知的注意力机制  会将不同尺度的特征融合在一起。这种融合可以描述为:

 

其中  是由一个  卷积层近似的, 是一个硬式 sigmoid 函数。

空间感知的注意力 空间感知的注意力  聚合特征时,专注于判别性区域。这种聚合可以表示为:

其中  表示稀疏采样位置的数量。

任务感知的注意力 最后,任务感知的注意力  根据不同的任务动态地调整特征。这是通过逐通道调整实现的:

其中  是第  通道的特征切片。超函数  用于控制激活阈值,它是一个向量 。这个函数类似于参考文献 [3] 中所采用的方法,从全局平均池化  和  维度开始,压缩数据维度。

接下来是一个由两个全连接层和归一化层组成的序列,最后应用一个位移的 sigmoid 函数将输出值缩放到  的范围内。

4 Experiments

Dataset Description

BCCD 数据集是一个全面且有益的图像集合,包含 12,500 张高分辨率显微镜图像,这些图像是由专业血液学家 captured 的。该数据集提供了血细胞形态的多样化范围,包括正常和异常细胞,并捕获了各种形状、大小和染色特征。图像代表了四种主要类型的血细胞:红细胞(RBCs)、白细胞(WBCs)、血小板,以及这些细胞的组合。每个图像都有精确的边界框标注,指示每个细胞的类型和位置。

与此同时,当适用时,相应的元数据,如细胞计数、分布和诊断信息等,可以提供对数据的更全面分析。标注作为训练和评估算法的真实标签,确保了准确的标签。研究行人和从业者可以使用这个数据集进行各种应用,包括细胞计数、细胞分类和异常检测。它作为评估图像处理算法和针对血细胞分析的机器学习技术的性能的基准。

因此,BCCD 数据集在血液学领域的医学诊断、研究和教育方面具有潜在的先进性。它使得可以开发出能够协助医疗保健专业行人快速、准确地分析血细胞的自动化系统,这可以引领临床决策的改善和患者护理的提高。

探索数据集可以对模型输入有一个概述,这涉及到观察图像的代表样本并分析元数据,例如细胞类型和异常的分布。为了说明类别的分布,作者在图 3 中绘制了一个直方图。在图中,显然 'RBC' 类占最大比例,数量约为 2500,其次是 'WBC' 类和 'Platelets' 类。

Image Preprocessing

在分析数据集之前,对图像进行预处理是非常重要的步骤。这包括将图像缩放到确保图像尺寸一致,归一化像素值以考虑光线和对比度的变化,以及根据实验目标考虑其他预处理技术,如去噪或直方图均衡化。预处理是必要的,以提高数据的质量并减少噪声,以便进行准确的分析。

通常,预处理是通过以下三种方式进行的:

几何变换:这涉及诸如旋转、缩放、裁剪和镜像等操作,用于在不同尺度或角度下改变图像的大小和方向,用于训练和测试。

滤波和降噪:应用各种滤波和降噪算法,如高斯滤波和中值滤波,以减少噪声并提高图像质量。

颜色调整和对比增强:这包括调整图像的亮度、对比度、饱和度和色调,以增强其视觉吸引力和可识别性。

Experiment Protocols

本论文的实验包括硬件和软件配置。分布式训练环境使用英特尔 11 代酷睿 i7-11800H CPU 和 NVIDIA RTX 3050Ti 以及 32.0 GB VRAM(视频随机访问内存)。在软件配置方面,使用 PyTorch 2.1.0 进行多进程任务并利用 GPU。

Evaluation Metrics

评估指标包括几个组成部分:精确率、召回率和 mAP(平均平均精确率)。

精确率:精确率是模型做出正面预测的准确性指标。它量化了所有做出正面预测中真实阳性预测的比例。公式如下:

其中,True Positives(缩写为 )是正确预测的阳性实例,而 False Positives(缩写为 )是错误预测的阳性实例。

召回率:召回率,也称为敏感度或真阳性率,衡量模型正确识别所有阳性实例的能力。它量化了实际阳性实例中正确预测的比例。用一个分数表示:

真阳性(True Positives)和假阳性(False Positives)与前面的公式完全相同。

平均平均精确度(MAP): MAP 是一种广泛使用的评估指标,用于信息检索和机器学习任务,尤其是在目标检测和图像分类领域 [35]。MAP 指标衡量了排名列表或检索系统的质量,提供了对排名或检索系统性能的综合评估,同时考虑了精确率和召回率。精确率衡量了阳性预测的准确性,而召回率衡量了识别所有阳性实例的能力。

MAP 通过计算所有类的 AP(平均精确度)的平均值得到,提供了对系统质量的整体衡量。要计算 MAP,作者需要计算每个类别或类别的 AP。然后,将 AP 平均值应用于所有类别以获得 MAP。AP 的公式如下所示:

其中, 是 GT ()中阳性实例的数量,而 precision(r) 和 recall(r) 是第 r 个检索实例的精确率和召回率。MAP 计算如下:

其中, 是总的类别或类别数量。

Results

实验结果如下:与 Faster R-CNN(快速 R-CNN)、SSD(快速 SSD)、YOLOv5(YOLO v5)、YOLOv7(YOLO v7)和 YOLOv8(YOLO v8)等基准相比,提出的 ADA-YOLO 方法。

RT-DETR(实时检测 Transformer)是一种基于 Transformer 架构和端到端学习的新颖目标检测方法,与基于区域 Proposal 的传统目标检测方法(如 Faster R-cnn)不同。RT-DETR 试图通过完全消除手动设计组件(如 Anchor 框和非极大值抑制)来使目标检测的训练和推理更加简单和高效。RT-DETR 使用自注意力机制全局编码一组特征向量,并引入一个特殊的"类别嵌入"向量来表示没有目标的地点。

在训练过程中,RT-DETR 最小化预测框与实际框之间的损失,同时尝试将"无目标"向量匹配到实际无目标位置。这种端到端学习方法使得 RT-DETR 避免了传统目标检测方法中需要手动调整的超参数,并易于应用于具有不同大小和数量的目标检测任务。

ADA-YOLO 模型针对医学影像中的多目标检测,解决了物体遮挡或截断等在医学影像中常见的挑战性问题。如图 4 所示,提出的检测方法可以成功检测到任何大小的红细胞缺失,与基准相比是一个很大的改进。ADA-YOLO 在所有类别中具有 0.918 的召回率,优于基准。

结果展示了 ADA-YOLO 在医学目标检测中揭示更多阳性实例的能力。通过更准确地识别出更高的真实阳性病例比例,即使存在遮挡,作者的模型也能显著提高疾病检测,减少诊断错误,并可以转化为更早、更准确的诊断。

与此同时,除了卓越的定量性能外,ADA-YOLO 在内存使用方面也非常高效。为了证明这一点,主要实验已经进行,并显示 YOLOv8 模型预测所有样本需要 26.9 MB 的内存和 35.1 GFLOPs 的计算能力,而作者的方法只需要 8.7MB 的内存,比 YOLOv8 节省了 3 倍的内存,并仅计算了 9.4 GFLOPs。

作者的模型在内存使用方面的出色效率是精心设计和优化的结果。通过有策略地实现紧凑而强大的架构特征,作者可以预期该模型在便携式医疗设备、边缘计算环境和资源受限的医疗设置中的实际应用,最终提高高级医学影像分析的可用性和负担能力。

5 Performances on Other Datasets

为了进一步证明 ADA-YOLO 的性能,作者在 MAR20 数据集上进行了地面实验,并将在图 6 中可视化结果。首先,作者按照第 4.1 节中提到的类似 Pipeline 预处理输入图像,然后进行模型训练,最后在测试数据集上进行推理。

MAR20 目标检测数据集是一个综合的带有标注图像集合,旨在促进目标检测算法的训练和评估。它涵盖了各种实际场景,包括城市街道景观、自然景观和室内环境,确保了数据集适用于各种实际设置。该数据集中的每个图像都带有多个物体类别的精确位置和边界框信息,如行人、车辆和交通标志。

这种详细的标注为算法训练和评估提供了有价值的支持。该数据集的独特之处在于,它包括了真实场景,增强了数据集的实用性,使开发行人可以评估算法的鲁棒性和泛化能力。MAR20 数据集适合训练和评估各种目标检测算法。

与 YOLOv8 相比,作者的模型由于其经济内存消耗和在大数据集上的同等性能而具有可适应性。在本实验中,作者可以观察到 ADA-YOLO 在 MAR20 数据集上具有竞争力的结果,所有类别的精度达到 85%,在某些类别(如 A12)的预测准确率甚至可以达到 99.4%。从结果中,作者提出的方法的优点突出:模型参数较少,内存空间较小,但作者的模型可以达到与 Baseline 相同的性能。

值得注意的是,该实验只包含一组超参数,在模型微调后,作者认为其性能可以更好,最终可以大大超过 Naive 方法,如图 7(a) 所示。如第 2.2.3 节所述,总体损失分为三个组成部分:边界框损失、分布对焦损失和分类损失。从图中可以看出,随着训练周期增加,模型损失和作者的模型(橙色线)损失都持续减小并收敛到某个位置,而作者的模型(橙色线)所需的参数较少,内存使用较少。这种现象强烈地表明了新颖架构的积极影响。

从图 7(b) 可以看出,作者将评估指标设置为一个复杂的组合,包括 (精确度)、(召回率)、 和 。通过这个图表,随着训练周期增加,两个模型之间的性能差距变窄,这意味着在本实验设置下,提出的模型逐渐平稳地收敛到 Naive 方法。在训练的后半部分,ADA-YOLO 在所有四个指标上都超过了基准模型,展示了其有效性。通过进一步的参数优化策略或使用特定领域的知识,作者的模型可以在相应的指标上获得更好的泛化能力和性能。

6 Conclusions and Future Work

在本文中,作者提出了一个内存高效的 ADA-YOLO 模型,该模型利用新颖的架构和训练策略来增强医学图像中多目标检测的鲁棒性。通过在各种数据集上的实验,证明了 ADA-YOLO 在处理医学图像中的遮挡相关挑战方面具有优越性能。模型在准确局部化和分类多个目标方面,即使在遮挡条件下也表现出卓越性能,因此,由于其创新的 Adaptive Head 设计,它在计算机辅助诊断检测方面具有广阔的未来。

然而,这项工作也有一些局限性:首先,大数据集仍然需要消耗大量的训练和推理时间,这可能取决于实际环境中的硬件;其次,模型可解释性可能是一个潜在的副作用。通过智能利用深度机制和领域知识,如多模型嵌入,模型可以变得更加可靠和可解释,为作者的未来工作铺平道路。

7 Conclusions and Future Work

在本文中,作者提出了一种内存高效的 ADA-YOLO 模型,该模型利用新颖的架构和训练策略来增强医学图像中多目标检测的鲁棒性。通过在各种数据集上的实验,证明了 ADA-YOLO 在处理医学图像中的遮挡相关挑战方面具有优越性能。模型在准确局部化和分类多个目标方面,即使在遮挡条件下也表现出卓越性能,因此,由于其创新的 Adaptive Head 设计,它在计算机辅助诊断检测方面具有广阔的未来。

然而,这项工作也有一些局限性:首先,大数据集仍然需要消耗大量的训练和推理时间,这可能取决于实际环境中的硬件;其次,模型可解释性可能是一个潜在的副作用。通过智能利用深度机制和领域知识,如多模型嵌入,模型可以变得更加可靠和可解释,为作者的未来工作铺平道路。

参考

[1]. ADA-YOLO: DYNAMIC FUSION OF YOLOV8 AND ADAPTIVE HEADS FOR PRECISE IMAGE DETECTION AND DIAGNOSIS


相关文章
|
机器学习/深度学习 编解码 算法
yolo原理系列——yolov1--yolov5详细解释
yolo原理系列——yolov1--yolov5详细解释
853 0
yolo原理系列——yolov1--yolov5详细解释
|
2月前
|
计算机视觉
YOLOv8改进 | 2023Neck篇 | 利用Gold-YOLO改进YOLOv8对小目标检测
YOLOv8改进 | 2023Neck篇 | 利用Gold-YOLO改进YOLOv8对小目标检测
87 1
|
2月前
|
机器学习/深度学习 计算机视觉
YOLOv5改进 | 2023Neck篇 | 利用Gold-YOLO改进YOLOv5对小目标检测
YOLOv5改进 | 2023Neck篇 | 利用Gold-YOLO改进YOLOv5对小目标检测
67 0
|
8月前
|
数据采集 PyTorch 数据处理
从DETR backbone 的NestedTensor 到DataLoader, Sampler,collate_fn,再到DETR transformer
从DETR backbone 的NestedTensor 到DataLoader, Sampler,collate_fn,再到DETR transformer
149 0
|
11月前
|
机器学习/深度学习 算法 自动驾驶
改进YOLOX | Push-IOU+Dynamic Anchor进一步提升YOLOX性能
改进YOLOX | Push-IOU+Dynamic Anchor进一步提升YOLOX性能
114 0
|
11月前
|
机器学习/深度学习 固态存储 计算机视觉
目标检测改进 | 如何使用IOU改进自注意力以提升Sparse RCNN目标检测性能(一)
目标检测改进 | 如何使用IOU改进自注意力以提升Sparse RCNN目标检测性能(一)
100 0
|
11月前
|
算法 计算机视觉 索引
目标检测改进 | 如何使用IOU改进自注意力以提升Sparse RCNN目标检测性能(二)
目标检测改进 | 如何使用IOU改进自注意力以提升Sparse RCNN目标检测性能(二)
254 0
|
11月前
|
网络架构
YOLOv5抛弃Anchor-Base方法 | YOLOv5u正式加入Anchor-Free大家庭
YOLOv5抛弃Anchor-Base方法 | YOLOv5u正式加入Anchor-Free大家庭
174 0
|
11月前
|
数据可视化 计算机视觉 异构计算
VariFocalNet | IoU-aware同V-Focal Loss全面提升密集目标检测(附YOLOV5测试代码)(二)
VariFocalNet | IoU-aware同V-Focal Loss全面提升密集目标检测(附YOLOV5测试代码)(二)
265 1
|
11月前
|
Python
【检测|RCNN系列-6】Light Head RCNN基于EfficientNet项目分享(附代码和数据集)
【检测|RCNN系列-6】Light Head RCNN基于EfficientNet项目分享(附代码和数据集)
37 0