Hyper-YOLO:当视觉目标检测遇见超图计算

发布于:2025-02-11 ⋅ 阅读:(154) ⋅ 点赞:(0)

🏡作者主页:点击! 

🤖编程探索专栏:点击!

⏰️创作时间:2024年12月19日13点02分


神秘男子影,
  秘而不宣藏。
泣意深不见,
男子自持重,
   子夜独自沉。


引言

YOLO 系列作为目标检测领域的主流方法,具备多项优势,能够满足多样化的应用需求。YOLO 的架构主要包括两个部分:骨干网络和颈部网络。骨干网络专注于特征提取,并已被广泛研究,而颈部网络负责多尺度特征的融合,为检测不同尺寸的物体提供了坚实的基础。本文特别关注颈部网络,因为它对提升模型跨尺度检测能力至关重要。

现代 YOLO 模型的颈部普遍采用 PANet,通过自上而下和自下而上的路径实现多尺度信息的全面融合。然而,PANet 的能力主要局限于相邻层之间的特征融合,无法充分实现跨层特征的整合。

在实践中,超图常用于表示复杂的高阶相关性,其表现力远超简单图。本文介绍的论文《Hyper-YOLO: When Visual Object Detection Meets Hypergraph Computation》将超图和YOLO结合,提出了超图计算赋能的语义收集与散射(HGCSCS)框架,并在 COCO 数据集上展现出卓越的性能。

高阶相关性指的是不同尺度、位置和语义层级之间复杂且常为非线性的特征关系,对于理解视觉数据中的上下文和交互至关重要。研究发现,低层视觉特征及其关联的协同表示在目标检测任务中发挥着关键作用。将这些基础特征与高层语义信息结合,对于准确识别和定位场景中的物体至关重要。

简单图中的边仅能连接两个顶点,极大地限制了其表达能力,而超图中的超边可以连接两个或多个顶点,从而能够建模更复杂的高阶关系。与简单图相比,超图能捕捉多个实体之间更丰富的交互,这对于需要理解复杂多方关系的任务至关重要,如计算机视觉中的目标检测,在此类任务中,特征图之间的跨层与跨位置相关性尤为关键。

不同于大多数侧重于增强骨干网络特征提取能力的研究,我们提出了超图计算赋能的语义收集与散射(HGC-SCS)框架。该框架巧妙地通过将视觉骨干网络提取的特征图转置到抽象语义空间,并构建复杂的超图结构,使高阶信息在语义空间中得以传播。此方法使视觉骨干网络具备了同时吸收语义信息与复杂结构信息的能力,从而克服了传统以语义特征为中心的学习方式的局限性,实现了性能的提升。

在骨干和颈部的联合增强下,Hyper-YOLO 成为一个突破性的架构。在 COCO 数据集上的实验结果,如上图所示,表明了其显著的性能优势,证明了这一复杂方法在推动目标检测领域进步中的有效性。

Hyper-YOLO

预备知识

超图

超图是一种图论中的数学结构,它对传统的图结构进行了推广。在传统的图中,每条边连接两个顶点,表示两个元素之间的关系。然而,在超图中,超边可以连接两个或更多的顶点,从而能够表示多个元素之间的复杂关系。

超图的基本组成可以表示如下:

表示超图中的节点。

  • 超边集:

其中每个超边 eiei 是顶点集 VV 的一个子集,即 ei⊆VeiV。每个超边可以包含两个或更多的顶点。

YOLO系列

YOLO 系列方法通常由两个主要部分组成:骨干网络和颈部网络。骨干网络负责提取基础视觉特征,而颈部网络则用于融合多尺度特征,为最终的目标检测提供支持。本文提出了专门针对这两个部分的增强策略。

为了方便描述,我们将颈部网络的三种尺度输出记为 {N3,N4,N5}{N3,N4,N5},分别对应于小尺度、中尺度和大尺度的检测。在骨干网络的特征提取阶段,我们进一步将其划分为五个阶段:{B1,B2,B3,B4,B5}{B1,B2,B3,B4,B5},代表不同语义层级的特征。数字越大,表示特征由网络的更深层提取,语义级别也越高。

Hyper-YOLO 框架

Hyper-YOLO 保持了典型 YOLO 方法的整体架构,包括骨干网络和颈部网络,如下图所示。给定一张输入图像,Hyper-YOLO 的骨干网络使用作者提出的 MANet 作为核心计算模块,从而增强了 YOLOv8 中传统 C2f 模块的特征辨别能力。

与传统 YOLO 架构不同,Hyper-YOLO 采用了五个主要特征集的组合 {B1,B2,B3,B4,B5}{B1,B2,B3,B4,B5}。在模型的颈部网络(HyperC2Net)中,作者首次基于超图计算理论,将这五组特征集中的跨层与跨位置信息进行整合,并生成三种不同尺度的语义特征 {N3,N4,N5}{N3,N4,N5}。这些层次化结构的语义特征将用于最终的目标检测任务。

混合聚合网络

在 Hyper-YOLO 的骨干网络中,为了增强基础网络的特征提取能力,作者设计了混合聚合网络(MANet),该架构将三种典型的卷积变体有机结合:

  • 1×1 旁路卷积用于通道级特征的重新校准,
  • 深度可分离卷积(DSConv)用于高效的空间特征处理,
  • C2f 模块用于加强特征层级的整合。

这种融合在训练阶段产生了更丰富多样的梯度流,显著增强了五个关键阶段内基础特征所包含的语义深度。MANet 的公式如下:

其中,XmidXmid 的通道数为 2c2c,而每个 X1,X2,…,X4+nX1,X2,…,X4+n 的通道数为 cc

最后,我们通过拼接操作融合这三类特征,并通过 1×11×1 卷积进行压缩,生成通道数为 2c2c 的输出 XoutXout:

这里 ∥∥ 表示特征的拼接操作。这种设计有效地压缩并丰富了语义信息,为下游检测任务提供了强有力的支持。

基于超图的跨级别和跨位置表示网络

为了全面融合来自主干网络的跨级别和跨位置信息,作者进一步提出了基于超图的跨级别和跨位置表示网络(HyperC2Net)。HyperC2Net 是提出的 HGC-SCS 框架的实现,能够捕捉语义空间中潜在的高阶关联。

超图构建

在Hyper-YOLO 框架中,主干网络被划分为五个离散阶段。这些阶段的特征图被表示为 {B1,B2,B3,B4,B5}{B1,B2,B3,B4,B5}。为了利用超图计算阐明基础特征之间复杂的高阶关系,我们通过对五个基础特征进行通道级的拼接,合成跨级别视觉特征。超图 G=(V,E)G=(V,E) 通常通过其顶点集 VV 和超边集 EE 来定义。我们解构基于网格的视觉特征,以构成超图的顶点集 VV。为了建模语义空间内的邻域关系,使用距离阈值从每个特征点构建一个 εε-球,该 εε-球将作为超边,如下图所示。εε-球是一个超边,包含距离中心特征点在一定阈值内的所有特征点。

整体超边集的构建可以定义为 E={ball(v,ε)∣v∈V}E={ball(v,ε)∣vV},其中

表示指定顶点 vv 的邻居顶点集。∥x−y∥d∥xyd 是距离函数。在计算中,超图 GG 通常通过其关联矩阵 HH 表示。

超图卷积

为了促进超图结构上的高阶信息传递,我们利用典型的空间域超图卷积,并添加额外的残差连接来对顶点特征进行高阶学习,具体如下:

其中 Nv(e)Nv(e) 和 Ne(v)Ne(v) 是两个邻居指示函数,如 HGNN+ 中定义:Nv(e)={v∣v∈e,v∈V}Nv(e)={vve,vV} 和 Ne(v)={e∣v∈e,e∈E}Ne(v)={eve,eE}。ΘΘ 是一个可训练参数。为计算便利,两个阶段的超图信息传递的矩阵表达式可以定义为:

其中 DvDv 和 DeDe 分别表示顶点和超边的对角度矩阵。

HyperC2Net

通过结合先前定义的超图构建和卷积策略,作者引入了 HGC-SCS 框架的简化实例,称为基于超图的跨级别和跨位置表示网络(HyperC2Net),其总体定义如下:

其中 ∥∥ 表示矩阵拼接操作,ΦΦ 是融合函数。在 HyperC2Net 中,XmixedXmixed 本质上包含了跨级别信息,因为它是来自多个级别的主干特征的融合。此外,通过将网格特征解构为语义空间中的一组特征点并根据距离构建超边,本方法允许在点集中不同位置的顶点之间进行高阶信息传递。这一能力促进了跨位置信息的捕捉,丰富了模型对语义空间的理解。

实验

Hyper-YOLO 基于 YOLOv8 的四个版本(-N, -S, -M, -L)进行开发。因此,作者为 Hyper-YOLO 结构的每一阶段调整了超参数(卷积层数量、特征维度),得到 Hyper-YOLO-N、Hyper-YOLO-S、Hyper-YOLO-M 和 Hyper-YOLO-L。

此外,注意到最新的 YOLOv9 引入了新的可编程梯度信息传递机制,并在推理过程中剪枝路径以减少参数量,同时保持准确性。基于 YOLOv9,作者开发了 Hyper-YOLOv1.1,具体地将 YOLOv9 的颈部替换为 Hyper-YOLO 的 HyperC2Net,使其具备高阶学习能力。

实验结果

在 COCO Val2017 验证集上的目标检测结果如下。

与 YOLOv8 相比,当模型规模减小(从 -L 到 -N)时,Hyper-YOLO 带来的改进更加显著(从 0.9 提升至 4.5)。这是因为较小的模型规模削弱了特征提取能力以及从视觉数据中获取有效信息的能力。在此情况下,高阶学习变得必要,以捕捉特征图语义空间中潜在的高阶相关性,从而丰富最终用于检测头的特征。此外,基于超图的高阶信息传播允许在不同位置和层次之间直接流动信息,增强了基础网络在有限参数下的特征提取能力。

消融实验

HGC-SCS框架中的高阶与低阶学习

HGC-SCS框架的核心在于语义空间的超图计算,它允许特征点集之间进行高阶信息传播。作者进行了消融研究,通过将超图简化为图形进行低阶学习,评估其有效性,如表IV所示。

在这种情况下,图是通过将中心节点与其邻居连接在εε球内构建的。使用的图卷积操作是经典的:

其中 DvDv 是图邻接矩阵 AA 的对角度数矩阵。此外,还包含了一个没有相关学习的配置:“None”。实验结果显示,高阶学习的性能优于其他两种方法。从理论上讲,低阶学习可以被视为高阶学习的一个子集,但缺乏建模复杂相关性的能力。另一方面,高阶学习具有更强的相关性建模能力,这对应于更高的性能上限。因此,它往往能更轻松地实现更好的性能。

超图计算阶段的超图构建

进一步的消融实验用于检查在超图构建中使用的距离阈值的影响,结果如下表所示。

  • 与没有引入超图计算的配置“None”相比,引入超图计算导致整体性能显著提高。
  • 还观察到,目标检测网络在阈值从7到9的范围内性能相对稳定,仅有小幅波动。
  • 然而,在阈值为6和10时,性能出现下降。这一下降可以归因于连接节点的数量直接影响语义空间中特征的平滑性。
  • 较高的阈值可能导致超图更加连接,节点更有可能共享信息,从而可能导致特征的过度平滑。相反,较低的阈值可能导致超图连接性不足,无法充分利用特征之间的高阶关系。

高阶学习的可视化

本文解释了基于超图的颈部如何超越传统颈部设计的局限性,这种设计实现了跨语义空间的高级高阶信息传播。为了进一步证明基于超图的颈部的有效性,我们进行了可视化,结果如下图。

这些可视化比较了应用 HyperConv 层前后特征图的变化。从这些图像中可以明显看出,在不同场景中,对语义相似的背景(如天空和地面)的关注度明显降低,同时对前景物体的关注得以保持。这表明 HyperConv 通过超图计算,帮助颈部更好地识别图像中语义相似的对象,从而支持检测头做出更一致的决策。

复现

  • 数据准备
    下载MS COCO数据集图像(训练集、验证集和测试集)及其对应的标签。此外,修改ultralytics/cfg/datasets/coco.yaml中的数据集路径。
  • 训练

训练配置可以在ultralytics/cfg/default.yaml的"训练设置"部分中更改,关键参数包括模型、数据、图像、周期、批次、设备和训练超参数。

运行下面的命令启动模型训练:评估执行下面的命令:

python ultralytics/models/yolo/detect/val.py

1

推理执行下面的命令:

python ultralytics/models/yolo/detect/predict.py

具体训练和推理过程参考演示视频。
部分推理结果展示如下:

可以看到,算法具有较高的准确率。

总结

本文介绍了 Hyper-YOLO,这是一种开创性的目标检测模型,它将超图计算与 YOLO 架构相结合,以利用视觉数据中高阶相关性的潜力。

通过解决传统 YOLO 模型固有的局限性,特别是在颈部设计中无法有效整合不同层次的特征并利用高阶关系,在目标检测领域取得了显著的进展,推动了现有技术的最前沿。


网站公告

今日签到

点亮在社区的每一天
去签到