MAF-YOLO:基于多模态注意力融合的行人检测YOLO
ABSTRACT
实现自然环境中行人的快速准确检测是人工智能系统的重要应用。然而,由于红外图像的低光密度和低分辨率,夜间行人的准确检测具有一定的挑战性,且对检测速度要求较高。提出一种基于多模态注意力融合YOLO (mafo -YOLO)的实时行人检测方法。首先,基于压缩的Darknet53框架构建多模态特征提取模块,以适应夜间行人检测,保证检测效率;从两种模式中提取特征,然后通过模态加权融合模块进行融合。其次,我们定义一个损失函数,并基于K-means聚类算法重新生成锚箱的大小,以提高小目标的检测速度和鲁棒性。最后,利用双注意模块从低分辨率的小目标中获取更多的语义特征。在KAIST和OSU的色热数据集上的实验结果证实了该方法的有效性。该方法也可用于其他行人检测算法。
1. Introduction
目标检测技术在计算机视觉中发挥着重要的基础性作用,因为它具有多种用途,如安全系统、目标跟踪、行人检测等。随着无人驾驶汽车的发展,行人检测已成为目标检测领域的关键问题。精确的行人检测算法可以提高无人驾驶技术的安全系数,保护驾驶员[1]。然而,在日常道路条件下,气候和照明变化会显著影响行人检测的准确性。此外,行人检测算法容易受到各种干扰的阻碍,例如低分辨率、遮挡或小目标检测,这导致检测精度低[2]。因此,如何在光照不足的情况下提高行人检测模型的鲁棒性是一个亟待解决的问题。迄今为止,人们从不同的角度提出了许多解决这一问题的方法。然而,大多数现有的方法倾向于在不以主要对象为目标的情况下处理提议区域包含的全部信息,这会在处理过程中产生许多不相关的信息。例如,在特征提取方面,各种背景信息可能会分散注意力。另一方面,目前的方法通常很难检测到小目标。因此,有效获取目标行人的特征仍然是一个尚未解决的问题;这主要是因为视觉信息在夜间情况下要复杂得多[3]。
即使在照明不足的情况下,红外热像仪也能获得图像的特征。它可以基于有限的可见光模式获取信息,使夜间行人检测成为可能[4]。然而,基于可见光的行人检测算法仍然表现得更好,因为在良好的光照条件下,红外光图像包含相对更多的次要特征信息。因此,近年来提出了大量基于红外和可见光多模式融合的行人检测算法。Hwang等人[5]提出了结合可见光和红外光模式的ACF+T+THOG(聚合通道特征+热+定向梯度热直方图)。实验结果表明,融合式行人检测器的性能优于单模态行人检测器。然而,由于采用传统方法,检测精度仍然有限。Wagner等人[6]利用深度卷积神经网络,提出了两种特征融合策略:早期融合和晚期融合。Liu等人[7]进一步讨论了基于深度卷积神经网络的可见光和红外图像的特征融合结构,提出了比早期融合和晚期融合更好的中间融合,再次提高了检测性能。Konig等人[8]利用区域建议网络(RPN)作为基于中途融合的特征提取模块,并使用增强决策树(BDT)进行分类,以提高行人检测器的性能。然而,上述多模式行人检测算法在特征提取过程中忽略了行人图像的多尺度问题。它只融合了单独的特征层,这导致多尺度行人检测任务,尤其是小目标行人检测任务的鲁棒性较低。此外,这些算法使用的融合方法都是直接拼接的,忽略了白天和夜间不同光照条件下各模态特征信息的差异,导致检测结果不足。近年来,为了改善卷积神经网络的性能,人们在注意机制方面做了许多引人注目的工作。至于空间方面的注意,它探索了计算机视觉领域中的空间相关性,从图像标题[9],目标检测[10]到图像分类[11]。在通道注意方面,Hu等人[12]引入了SENet块,通过网络本身的损失来生成特征权重。Zhang等人[13]利用空间和通道注意作为加权机制,这有利于行人检测。Woo等人[14]提出了一种结合空间注意和通道注意的新注意模型。方和韩[15]提出了一种新的空间和通道注意机制,并结合U-net进行图像分割。
近年来,为了改善卷积神经网络的性能,人们在注意机制方面做了许多引人注目的工作。至于空间方面的注意,它探索了计算机视觉领域中的空间相关性,从图像标题[9],目标检测[10]到图像分类[11]。在通道注意方面,Hu等人[12]引入了SENet块,通过网络本身的损失来生成特征权重。Zhang等人[13]利用空间和通道注意作为加权机制,这有利于行人检测。Woo等人[14]提出了一种结合空间注意和通道注意的新注意模型。方和韩[15]提出了一种新的空间和通道注意机制,并结合U-net进行图像分割。
2.Related work
行人检测是计算机视觉领域中应用于各种场景的一项基本任务,它集人体检测和目标识别于一体。行人检测方法通常包括三个主流:经典行人检测器、两阶段方法和一阶段方法。
2.1. 经典行人检测器
2.3. 一阶段法
近年来,随着工业应用的发展,对目标检测领域的效率和及时性的需求迅速增加。已经发明了许多经典的单阶段方法,包括YOLO系列网络[29–31]和SSD[32],它们直接预测了定位、对象标签和区域建议。此外,与两阶段方法不同,YOLO网络直接执行回归以检测图像中的目标,而不需要区域建议网络,从而提供更快的检测速度。You Only Look Once(YOLO)方法最初由Redmon等人发明。一年后,Redmon等人促进了YOLOv1并提出了YOLOv2。采用穿透层将高分辨率特征图与低分辨率特征图关联起来进行多尺度检测。其他技术,包括批量标准化和锚盒卷积,也被用来提高召回率和准确性。YOLOv3在主干网(Darknet53)中应用了剩余块,并引入了特征金字塔网络(FPN)以提高其性能。Lin等人[33]设计了视网膜网和焦距损失,以在训练密集探测器的同时解决前景和背景之间的不平衡问题。这些研究为物体检测领域提供了理论基础和参考。
3.网络结构
所提出的模型的图示如图1所示。MAF-YOLO网络利用C-DarkNet53,基于DarkNet53的修改后的神经网络框架,作为骨干,以从可见光和红外光型模式中提取特征。然后,使用模态加权融合模块来更好地熔化提取的特征。最后,将双重注意力模块添加到网络以获得更好的准确性。
3.1. The compressed Darknet53 architecture
虽然原始YOLOv3的结构可以解决一般的目标检测问题,但其结构在夜间处理行人检测方面存在局限性,因为小型红外目标的特征主要包括低分辨率、模糊细节和缺乏彩色特征。此外,Darknet-53频繁的最大池和深层结构很容易导致小物体提取特征的差异,这使得夜间行人检测成为一项相当具有挑战性的任务。为此,我们提出了压缩的Darknet53神经网络结构,以提高MAF-YOLO在夜间对小目标的特征提取能力。网络结构改进的基本思想是压缩特征提取模块的深度,从浅卷积层中获取最多的特征。此外,来自浅层的感受野含有较少的噪声,更适合提取低分辨率小目标的语义特征,对红外目标具有更好的表征能力。相反,深卷积结构更适合处理高分辨率细节特征,不适合包含较少语义特征的低分辨率图像,因此可以进行压缩。
在压缩的Darknet53网络中,我们从Darknet53的深层移除卷积层和残余层,以避免模型退化。由于红外目标往往相对较小,分辨率较低,细节模糊,因此在深卷积层中提取的红外图像特征图包含的信息较少。它很容易在感受区产生噪音,导致精确度降低。与深卷积层的特征映射不同,浅卷积层的特征映射保留了红外目标更多的语义特征,感受野中的噪声更少。此外,为了保留更多低分辨率目标的语义信息,我们将核数比原来的Darknet53减少了四倍。在主干上实现从深到浅的压缩是一种有效的方法,可以充分利用低级功能,同时降低计算复杂度并提高实时性能。
此外,Szegedy表明,如果用1×n卷积代替n×n卷积,然后再进行n×1卷积,可以大大节省计算成本[34]。受这个想法的启发,我们采用了1×3和3×1卷积层代替3×3卷积层的技术,这进一步有利于低分辨率红外目标检测。为了简单起见,我们在本文的剩余部分将压缩的Darknet53表示为C-Darknet53。原始53和压缩53的比较如图2所示。
3.2. Multi-modal feature extraction module
设计了基于双通道结构的多模态特征提取模块。我们使用C-Darknet53作为框架,从可见光和红外光模态中提取特征,分别命名为C-Darknet53-V和C-Darknet53-I。输入图像大小为416×416,从两种模态中获得的特征映射被转发到模态加权融合模块(表示为MWF)。可见光模式的特征图表示为(V1、V2、V3)。红外光模式的特征图标记为(I1、I2、I3)。模态加权融合模块的输出标记为(M1、M2、M3)。多模态特征提取模块的图示如图3所示。
3.3. Modal weighted fusion module
图4显示了白天场景和夜间场景中行人目标的可见光和红外图像之间的比较,可见光模式下的白天行人图像包含丰富的特征和清晰的纹理。然而,红外光模式仅包含轮廓信息。对于夜间行人图像而言,在可见光模式下,在光照不足的情况下很难对目标进行定位。然而,在红外光模式中,情况正好相反。因此,在白天和夜间不同的光照条件下,两种模式的图像表现出不同的特征。以前的一些基于多模式融合的行人检测算法直接使用级联来级联从两种模式中提取的特征[35–37],这假定两种模式贡献相同比例的信息。此外,Kopf等人[38]证明,图像的亮度特征可以通过其平均亮度和范围来定义。在本文中,我们利用图像中的平均像素值作为平均亮度的测量值,范围从第5个到第95个像素值百分位。最终,平均亮度和范围标准化为间隔[0,1]。图5示出了KAIST数据集中的平均亮度和范围的分布。可以看出,红外模态图像在平均亮度和范围上比可见模态图像具有更小的值。
根据之前的观察,我们可以推断,在白天照明下,可见光模式的权重应该占主导地位,而红外光模式的权重应该不重要,因此最终的检测结果将从这两种模式中受益。相反,在夜间照明下,红外光模式的权重应该高于可见光模式的权重,因为彩色图像提供的干扰大于帮助。因此,我们提出了一种模态加权融合模块来调节两种模态的重要性,而不是仅仅将它们连接起来。考虑到这些直觉,我们仔细设计了图像的模态权重,作为映射I→ iv,其中I表示输入图像,iv表示输入图像的归一化平均亮度和范围。我们在图6中展示了我们的模态融合机制。在左侧的情况下,在良好的照明条件下,可见子网络的模态权重比红外子网络的模态权重大。通过这种方式,可见光子网络比红外子网络贡献更多。在正确的情况下,在恶劣的照明条件下,红外子网络的模态权重为0.95。因此,最终的融合结果主要由红外子网决定。我们还在两个子网络中实施网络中网络(NIN)结构[39],以提高疗效。模型加权融合模块的图示如图7所示。
为了确保维度一致性,我们对融合特征映射使用与单一模式特征映射相同数量的通道。最后,我们将两种模式的特征图连接起来,如下所示:
其中Av和Ai定义为可见光和红外模态分支的输出,ivvisible和ivinfrared表示可见光和红外图像的模态权重,Mi表示为最终输出,通过融合两个子网络的输出获得。
3.4. Dual attention module
3.4.1. Channel attention block
值得注意的是,特征图的每个通道都起着至关重要的作用,对检测结果的贡献也各不相同。因此,我们提出了一种通道注意块(CAB)来利用特征映射的通道间关系。模型的表征能力可以通过采用通道注意来提高,从而增强相关特征并抑制不相关特征。频道注意块的示意图如图8所示。全球平均池化,它通常用于聚集通道信息,通过压缩输入特征映射的空间维度来创建像素反馈特征,以计算通道注意。然而,它认为特征图的每个部分都具有相同的重要性,这降低了反映更显著特征的特征图的贡献。全局最大池可以收集关于不同对象特征的基本线索,以推断更精细的通道特征,这是对全局平均池的补充。
为了实现特征的有效重新校准,我们将全局最大池应用到传统的通道注意块中。该特征向量是通过全局平均池特征和全局最大池特征从高层获得的。公式定义如下:
其中BC(H)表示通道注意图,该图由高级特征生成,用于引导通道注意信息获取的低级特征,HCAVG和HCMAX分别表示全局平均汇集高级特征和全局最大汇集高级特征,H′CAVG和H′CMAX表示通过隐藏层处理后的全局平均合并高级特征和全局最大合并高级特征,其中HCAVG、HCMAX、H′CAVG和H′CMAX∈ Rc×1×1,c是高级特征的通道数,σ是将通道权重值映射到区间[0,1]的sigmoid函数。W0和W1表示权重隐藏层的矩阵WT0和WT1是W0和W1的转置矩阵,其中W0∈ Rc×cs和W1∈ rcs×c,s是比例因子。
3.4.2. Spatial attention block
为了有效地编码特征地图之间的空间关系,我们提出了空间注意块(SAB)。空间注意块的示意图如图9所示。与频道注意力相比, 空间注意力集中在特征图的信息区域,这是通道注意力的补充方法。不同通道特征的相同部分具有相同的空间权重,通道注意对每个通道中的所有特征点具有相同的权重。此外,空间注意对每个特征点进行不同的处理,并对所有通道位置相同的值施加全局平均池和全局最大池,从而获得其在特定位置的空间权重值。此外,获得的空间权重值被用作通道注意机制不能很好地获得的位置信息的补充。为了计算空间注意,我们首先采用全局最大池和全局平均池操作,然后执行元素加法以获得足够的特征描述符。此后,特征描述符被转发到卷积层,并通过元素乘积执行,以生成空间注意特征图。公式定义如下:
其中,BS(L)是空间注意特征图,由低级特征生成,用于指导高级特征进行空间注意筛查,LSAVG和LSMAX分别表示全局平均汇总低级特征和全局最大汇总低级特征,其中LSAVG,LSMAX∈ R1×h×w,h和w表示低层特征映射的高度和宽度,σ是sigmoid函数,Conv表示核大小为7×7、核数为1的卷积运算。
3.4.3. Dual attention module combining channel and spatial attention block
结合通道和空间注意块的双注意模块
在本文中,我们提出了一种结合CAB和SAB的双注意模块(DAM),以提高行人检测的准确性。大坝示意图如图10所示。到目前为止,MAF-YOLO中都采用了通道和空间注意机制,以获得更好的检测结果。高级特征引导低级特征获取通道注意信息,低级特征反过来引导高级特征进行空间注意筛选。因此,可以在不显著增加计算复杂度的情况下提高特征提取的性能。公式如下:
其中H表示高级特征,L表示低级特征,BC(H)表示高级特征生成的通道注意图,其中BC(H)∈ Rc×1×1,BS(L)表示由低级特征生成的空间注意图,其中BS(L)∈ R1×h×w,F代表DAM生成的特征图,其中F∈ Rc′×h×w。通道数c′等于高级特征、低级特征、CAB和SAB的通道数之和。
3.5. Multi-scale pedestrian detection多尺度行人检测
特征地图(M1、M2、M3)通过模态加权融合模块进行增强,并进一步传输到yolo层,用于多尺度行人检测。多尺度行人检测结构的图示如图11所示。DBL(卷积、批量规范化和泄漏ReLU)是由卷积层、批量规范化和一个Leaky-ReLU激活组成的块函数。特征地图M1经过5个DBL块后,大小为13×13的调整大小的特征地图被转发到yolo1层,用于大规模行人检测。然后我们从之前的两层中提取特征图,并将其上采样两次。上采样功能被用作低级功能,并通过双注意模块与高级功能M2合并。输出F2经过多个卷积层处理后,尺寸为26×26的特征地图被转发到yolo2层进行中尺度行人检测。这样,我们可以从上采样的特征中提取更有意义的语义信息,并从之前的特征映射中提取更细粒度的信息。最后,我们重复同样的操作,采用上采样F2作为低级特征,并通过双注意模块将其与高级特征M3合并。输出F3经过多个卷积层处理后,大小为52×52的特征映射被转发到YOL3层进行小尺度检测。该结构对多尺度行人检测具有更好的鲁棒性。
3.6. Optimization of anchor boxes锚箱的优化
YOLOv3在多尺度检测中使用基于COCO数据集生成的固定簇大小作为锚盒。然而,如果我们选择更好的锚,那么夜间行人检测任务可以实现更准确的建议。因为与一般目标相比,行人有一个相对矩形的形状。为此,我们利用K均值聚类算法为行人目标生成合适的锚盒,而不是手动选择锚。此外,初始锚箱的选择不仅保持了网络的稳定性,还影响了效率和精度。为了加快网络的收敛速度,我们使用K-means聚类算法来获得适合行人检测的锚箱大小。原始的K-means聚类算法使用欧几里德距离函数作为标准,这意味着锚盒的大小会影响误差。为了减轻锚盒大小对误差的影响,我们采用平均相交于并集而不是欧几里德距离函数作为K-均值聚类算法的评价标准,并且平均相交于并集越大表示聚类结果越好。并集上的平均交点和距离度量的计算公式如下:
其中Bgt是对象边界框的实际区域,B是对象边界框的检测区域,B是边界框;c为星团质心;K是质心数,Ni是第i个质心的样本数,IoU(A,T)表示边界框和簇质心之间的IoU分数。此外,我们观察到,每个单元中预测的边界框的数量对性能有明显的影响。为此,进行了实验,以评估模型性能与不同边界盒数(从1到12)之间的相关性。KAIST测试集的精度和召回曲线如图12(a)所示,OSU热色测试集的实验结果如图12(b)所示。从KAIST测试集上的结果可以看出,随着边界盒数的增加,查准率和查全率最初会上升,当K数超过9时,查准率和查全率的趋势变得相对稳定。对于9个质心,我们的聚类方案的精确度为87.4,召回率为82.3。此外,计算复杂度随着边界框数目的增加而增加。因此,在我们的实验中,我们将最终的K值设置为9,以便在准确性和效率之间进行最佳权衡。9个星团的大小分别为:(49,158)、(35,105)、(85,51)、(28,81)、(27,64)、(26,41)、(19,55)、(18,45)、(14,25)。
3.7. Loss function modification
在原始的YOLOv3模型中,通过最小化损失函数(定义为三部分的平方和误差,即定位误差、置信度误差和分类误差)来优化神经网络。在我们的行人检测任务中,考虑到实际场景中行人的形状在理论上是稳定的,并且每张图像中有不同数量的行人,我们使用伪平衡技术修改了Redmon等人[31]提出的YOLOv3的损失函数,以获得更好的性能和效率。此外,我们注意到在我们的场景中只有两类,即行人和背景,这表明没有多类检测要求。因此,我们消除了损失函数的分类错误。基于上述陈述,我们提出新的损失函数如下:
新的损失函数由两部分组成:定位误差和置信度误差,通过交叉熵方法计算。s2定义为特征映射的输出大小,B表示为每个单元中预测框的数量;1 person i表示此人是否出现在单元格i中;1 person ij表示单元格i中的第j个边界框是否与行人检测“相关”,如果有人出现,其值设置为1;否则,该值设置为0;1noperson ij表示单元格i中的第j个边界框与行人检测“无关”,如果有人出现,其值设置为0;否则,该值设置为1;λ坐标用于调整位置误差的权重,类似于Redmon等人[31]中的内容。 更具体地说,利用λ坐标增加位置误差在整个损失函数中的比例,从而提高包围盒预测的准确性。引入λnoperson来平衡网格中正负样本之间损失函数的比例。在本文的剩余部分中,基于多模态注意融合的YOLO网络(其损失函数在等式(10)中定义)被称为“MAF-YOLO”,以进行简化。