文章目录
摘要
显著物体检测是计算机视觉的基本任务。现有的大多数算法都集中于聚合预训练卷积神经网络的多级特征。此外,一些研究人员试图利用边缘信息进行辅助训练。但是,现有的边缘感知模型设计的单向框架仅使用边缘特征来改善分割特征。基于二进制分割和边缘图之间的逻辑相互关系,提出了一种新颖的堆叠交叉细化网络(Stacked Cross Refinement Network,SCRN) 用于显著目标检测。该框架旨在通过堆叠交叉优化单元( stacking Cross Refinement Unit,CRU) 来同时优化显著对象检测和边缘检测的多级功能。根据逻辑关系,CRU设计了两个特定于方向的集成操作,并在两个任务之间双向传递消息。该模型将完善的边缘保留功能与典型的U-Net结合在一起,可以准确地检测出凸出的物体。在六个基准数据集上进行的大量实验表明,该方法在准确性和效率上均优于现有的最新算法。此外,SOC数据集上基于属性的性能表明,该模型在大多数具有挑战性的场景中均排名第一。
简介
显著目标检测的发展历程
近年来,卷积神经网络(CNN)极大地促进了计算机视觉的研究。早期的深度显著物体检测模型利用分类网络来确定图像的每个区域是否显著。与传统模型相比,这些模型产生的结果更好,然而计算开销很大。然后基于全卷积网络(FCN)的方法进一步促进了显著目标检测的发展。通过设计合理的解码器来提取有区别的多级特征并将它们聚合在一起,从而实现最先进的性能。此外,研究人员还尝试利用显著目标检测和边缘检测这两个任务之间的互补信息。一些策略使用边缘标签来改善分割网络的训练过程:在分割网络的末端添加辅助边界损失,设计仅使用边缘信息来提高分割特征表示能力的单向框架 。尽管以前的工作表明融合边缘特征有利于生成更准确的分割图,但它们可能会遇到边缘特征不准确的问题。并且边缘信息尚未在现有的边缘感知框架中得到充分利用。
SCRN基本设计思路
本文研究了二值分割与边缘图之间的相互关系,并指出边缘图中的边界区域是相应分割图中对象区域的适当子集。受此观察结果的启发,提出了一种新颖的边缘感知显著对象检测方法,称为堆叠交叉细化网络(Stacked Cross Refinement Network,SCRN) ,该方法在两个任务之间双向传递消息,同时细化了多级边缘和分割特征。
(1)首先从共享的骨干网中提取出两组不同的多层次深度特征,这些特征被用于构造两个并行解码器:一个用于边缘检测,另一个用于显著对象检测。
(2)将逻辑相互关系从二进制映射级别扩展到功能级别,并提出一个交叉优化单元(Cross Refinement Unit,CRU) ,其中包含两个不同的方向特定的集成操作。通过以端到端的方式连续堆叠多个CRU,逐渐改善了两个任务的多级功能。结合两个独立的U-Net结构,该框架可以检测到显著的对象和边缘,并且在准确性和效率上都优于最新的算法。
主要工作总结
(1)提出了一个有效的交叉优化单元(CRU),该单元在显著对象检测和边缘检测这两个任务之间双向传递消息。 在CRU中,设计两个特定于方向的集成操作,以同时完善两个任务的多级功能。
(2)提出了一种用于显著对象检测的新颖框架,称为堆叠交叉优化网络(SCRN),该框架堆叠了多个CRU,以逐步改善两组多级特征。结合典型的U-Net结构,该框架可以精确地分割图像中的显着对象。
(3)在六个传统基准数据集上进行的广泛实验表明,该模型在所有六个指标上均优于最新模型。 此外,该模型在SOC数据集的大多数挑战性场景中均排名第一。
具体方法分析
所提出模型的概述如图2所示。
图2:提出的SCRN模型的框架。首先提取两个单独的多级特征,用于显著物体检测和边缘检测。然后,利用堆叠的CRU通过两个不同的方向特定的操作来完善这些功能。 在每个CRU中,使用选择性机制。完善一项任务的一层功能时,将忽略另一项任务的较低级功能。在提出的模型中,以端到端的方式堆叠四个CRU。结合典型的U-Net结构,最终可以同时生成分割图和边缘图。
边缘与分割的相互关系
显著物体检测是逐像素的二进制分类问题。定义一个地面真相分割图Ms = {Msp,p∈(0,1),p = 1,…,N},其中p表示图像的一个像素,N是图像中的像素数。 然后可以将相应的边缘图定义为Me。对于图像,Ms突出显示整个突出对象,而Me仅突出显示突出对象的边缘。因此,Me中的边缘区域是Ms中对象区域的适当子集。这导致逻辑相互关系可以表示为:
Ms ∧ Me = Me
Ms ∨ Me = Ms,
其中∧是布尔AND运算,而∨是布尔OR运算,对这些逻辑关系进行了扩展以完善两个任务的多级功能。
网络架构
特征提取
该模型基于ResNet50 。从骨干网的四个残差块获得四个级别的特征,它们被定义为F = {Fi,i = 1,2,3,4}。给定一个大小为H×W的图像,每个特征的大小为H/(2i+1)×W/(2i+1)×C。C是特征的通道号,等于2i+7。 对于每个级别,使用两个1×1卷积层来为两个任务提取具有32个通道号的两个特征。然后使用S = {Sni,i = 1,2,3,4}和E = {Eni,i = 1,2,3,4}分别表示显著目标检测和边缘检测的多级特征。在提出的模型中,堆叠多个CRU,并使用n表示要素所属的CRU。对于尚未完善的特征,n等于0。
交叉优化单元CRU
根据二进制分割和边缘图之间的逻辑相互关系,提出CRU来改进这两个任务的多级功能。通过以端到端的方式堆叠多个CRU,逐渐完善了两组功能。更具体地,一个CRU的输入等于前一个CRU的输出。 通过集成特征(Sn-1,En-1)计算第n个CRU和i级的特征(Sni和Eni)。因此,在CRU中设计了两个特定于方向的集成操作。 这两个操作的一般公式定义为:
Sni = Sn−1i + f(Sn−1i, En−1)
Eni = En−1i + g(En−1i, Sn−1)
其中f和g设计为分别用En-1 / Sn-1细化Sn-1i / En-1i。 另外,它们与成功的残差学习相结合以产生更多的判别特征。这两个函数的详细形式是根据两个不同的逻辑关系设计的。特别是在设计两个功能时存在两个问题。 一个问题是如何在各个方向上集成特征。 另一个问题是应该选择一个任务的多少个级别特征来改善另一个任务的一个级别特征。
点对点样式(Point-to-Point style)
对于一个任务的每个级别特征,可以直接使用另一任务的相应级别特征对其进行细化,即仅使用En-1i和Sn-1i彼此进行细化。这称为CRU的点对点样式。当使用分割特征细化边缘特征时,使用特征级乘法来近似布尔与运算。 在这种情况下,点对点样式的函数g定义为:
g = Conv(En−1i ⊗ Sn−1i)
⊗:逐元素乘积
Conv:具有32个输出通道的3×3卷积层。
相反,布尔OR运算不能直接在特征级别实现,并且也是不可微的。因此,使用一种替代策略通过整合边缘特征来增强分割特征。 点对点样式的函数f表示为:
f = Conv(Cat(Sn−1i, En−1i))
Cat:通道轴之间的级联运算
Conv:3 x 3卷积层,具有32个输出通道,类似于g的Conv。但是不同之处在于卷积层的输入通道是64。对于f和g的所有版本,遵循一个规则,即在应用每个函数后通道号保持为32。
定点样式(Set-to-Point Style)
CNN从输入图像中提取代表不同信息的多级特征。更具体地,高级特征总是表示语义信息(例如,面部),而低级特征关注与类无关的空间信息(例如,边缘,纹理)。为了在特征细化中对更多信息进行编码,进一步提出一种定点样式,该样式通过集成另一个任务的所有层级特征来细化一个任务的每个层特征 例如,通过四级分割特征{Sn-1k,k = 1,…,4}对En-1i进行细化。 在这种情况下,函数g定义为:
:逐元素相乘的所有级别细分功能。
CU:一个比例转换操作,带有1×1卷积层和32个输出通道号。
相应地,这种样式的函数f定义为:
选择性定点样式(Selective Set-to-Point Style)
当CNN从输入图像中提取多级特征时,随着CNN的深入,特征中的干扰因素将逐渐受到抑制。低层特征包含背景的许多空间细节,而高层特征则更多地关注区分区域。由于较低级功能中存在更多干扰因素,因此将原始的定点样式改进为选择性版本,并且将函数g更新为:
函数f定义为:
三种不同样式的CRU的一些可视示例如图3所示。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:显著性目标检测——Stacked Cross Refinement Network for Edge-Aware Salient Object Detection(SCRN) - Python技术站