人类的视觉系统可以准确、高效地识别物体的类别,可以不被复杂的纹理所干扰。认知科学研究中发现了一种类比-细节(analogy-detail)双通道的人类视觉认知机制。受其启发,我们在论文中为精确物体识别提出了一种新的CNN结构,命名为Analogy-Detail网络(ADNets)。ADNets从两个路径分别处理视觉信息:类比(analogy)路径提取能表达物体形状、结构的粗略、全局的特征;细节(detail)路径提取能表达决定物体分类的物体纹理、边缘等细致、局部特征。 我们将其结构进行模块化,把两个路径的处理实现为一个Analogy-Detail块,它能作为CNN的块参与ADNets的构建。在具体实现时,我们提出了一个普遍原则,它能使典型的CNN结构变形、应用到ADNet网络结构。在数据集CIFAR10、CIFAR100、SVHN、ImageNet上的实验验证了ADNets 能显著减少baseline CNNs的测试错误率,最高可达5.76%。从后来的分析和可视化中,可以看出ADNets易于理解、在识别有复杂纹理的物体方面更出色,因为它能平衡形状-纹理关系。
卷积神经网络(CNNs)已经在计算机视觉任务,如图像识别、物体识别、语义分割等获得巨大成功。早期结构性研究集中于加深网络深度以增强特征的区别度。但网络加深也带来梯度问题使得优化变难。因此后来的研究工作引入了捷径(shortcut)的概念,使得网络可以很深(resnet-1001).然而,深度也带来计算力增加的问题。所以已知的CNN模型在改善性能方面遇到瓶颈。
我们从人类视觉认知机制研究的最新进展中获得灵感,找到一种新的CNN架构。
传统上认为人体物体识别是由自下而上的腹侧流(ventral stream)来完成的,腹侧流主要由V1、V2、V4和IT四个视觉区域组成 。但认知科学近期的研究发现有一个更快的路径专门处理粗略而全局的信息并形成物体类别的粗略表达。这个路径被命名为analogy路径1,它与腹侧流(ventral stream)平行或更超前进行。在腹侧流(ventral stream)中,V1、V2区域首先从视觉刺激中同时提取高、低空间频率信号。粗略信息包含在低空间频率(LFs)2中,且被映射到前额皮质(PFC)形成粗略表达,再反向投影(back-projected)到IT叶。同时细节信息(纹理、边缘)包含在高空间频率信号中,由腹侧流(ventral stream)处理,形成细节表达。我们将处理细节的“较慢”腹侧流称为细节路径。最终,analogy路径中得出的粗糙表达以一种从上到下的方式帮助detail路径中的细致表达形成对物体分类更准确的表示。如此一来,物体类别相关的形状和纹理被保留,不相关的干扰也被抑制。
ADNets思路
本文Analogy-Detail Networks(ADNet)也因此产生。ADNet首先处理得到LF和HF两部分的视觉信息。其次,通过两种路径我们可以分别得到物体的粗略信息和细节信息。analogy路径快速提取LF(低空间频率)中的粗略、全局信息;detail路径提取HF(高空间频率)中的细节、局部信息。然后,两条路径获取的特征用一种top-down模块融合,思路为粗略的特征作为权重赋予细节特征。
我们将Analogy-Detail路径浓缩为一个CNN building block,这个块也被称为AD block。当需要增加ADNet网络深度的时候,只需要堆叠AD block即可。由AD block 组成的链被放在网络的中间层去处理中间级的特征。
本文的主要贡献:
有了AlexNet在大规模图像识别的成功,一系列通过改善CNN结构来提高识别效果的研究工作由此展开。
AD block定义的特征映射转换如下:
X,Z分别为输入特征矩阵和输出特征矩阵。
定义将X分解为LFs和HFs的频率分解器:
首先在输入的X上使用大小为k的低通滤波器得到LFs。通常为均值滤波器/高斯滤波器。实验显示这两个滤波器的效果差不多。为了使得到的LFs的特征映射L的高宽深与X一致,通过对X进行填充,每一边填充k/2(往下取整)个像素,并设置步长为1。然后通过从X中减去L得到HFs的特征映射H:
u是一个向量,长度为C(L的通道数也为C). u与L之间的运算是channel-wise乘法。u表示LFs从X中减去的比例. 通常, u=0, 表示保留所有频率; 而u=1, 表示只保留高频空间信号。**当令u为learnable, 频率在两个路径的分配就可以随着任务不同而变化. 这就使得可能在不同的building block中有不同的频率分配。
Analogy路径:
我们为其设计了一个轻量的结构, 将C-channel的L通过1x1的卷积转为C’-channel
"v"表示1x1的卷积核, "*"表示卷积操作, g()表示resize的函数(通常是池化/ 双线性插值). 我们设置卷积的步长为2, 以减少计算量。
Detail路径:
用现成的CNN building block实现。
融合Top-Down Modulator
这个Modulator用来融合从两个路径中提取的粗略和细节的特征映射。
我们首先将FL正规化到(0,1)以便于作为FH的权重。利用以下公式:
我们使用三个具有代表性的CNN结构来验证AD 变形过程,它们分别是ResNet, ResNeXt,和 MobileNet (v1)。我们选择它们作为多分支和普通拓扑结构的范例。
变形为AD_ResNet、AD_ResNeXt、AD_MobileNet图示如下:
我们设置fLPF低通滤波器的大小k = 3, stride s = 2,并使比例向量u作为频率分解器的可学习参数。
在实验中,不同ADNet对应的数据库如下:
对于CIFAR10/100和SVHN,我们对模型进行200个epoch的训练,而对于ImageNet,我们使用8个Titan Xp GPU卡并行地对模型进行120个epoch的训练。为了消除意外因素造成的性能波动,我们用不同的随机种子对每个模型运行5次进行初始化,并报告平均测试结果。对于比较方法,我们直接在他们的原始论文(如果有的话)中报告错误率进行比较。
上表是CIFAR10测试集上的对比结果。首先我们将我们的ADNet模型与不同深度对应的ResNet模型进行比较。值得注意的是,对于更浅的ResNet-20模型,AD-ResNet-20达到了top1分类误差7.31%,超过基线ResNet20 (8.75%) 1.54%;而对于更深层次的ResNet-56模型,AD-ResNet-56错误率为6.37%,比ResNet-56(6.97%)降低了0.60%。此外,我们比较ADNet与最先进的SENets。可以观察到ADNet在不同深度(如ResNet-20和ResNet-56)和架构(即ResNet和ResNeXt)上优于SENet。此外,ADNet的附加参数个数比SENets的要少,特别是对于具有瓶颈结构的CNNs(如ResNet-56, ResNeXt)。最后,AD-ResNeXt-29错误率最好,为2.57%,比ResNeXt-29的错误率(3.58%)降低了1.01%,优于其他最先进的架构。
下表是CIFAR100测试集的对比结果,我们观察到结果与CIFAR10上的结果一致,总结如下:
下表给出了SVHN测试集上的对比结果。由于该数据集上的测试错误率接近饱和,为了消除偏差对测试精度的影响,我们进行t检验,以表明性能的提高是否重要。具体地说,我们选择了一个CNN和一个相应的ADNet,在相同的训练设置5次,使用不同的随机种子进行初始化,然后在相同的测试集测试每个模型。通过与ResNeXt29集成,AD-ResNeXt-29优于所有其他CNNs,实现了最先进的识别性能。
下表报告了ImageNet验证集上top-1和top-5分类错误率的比较结果。为了进行公平的比较,我们对所有模型进行单剪裁测试,其中中心224×224图像块被裁剪作为网络的输入。
在以上对比实验中,我们证明了ADNet具有优越的识别性能。为了研究纹理偏差的有效抑制是否会提高性能,我们在具有复杂纹理的ImageNet验证集子集上对模型进行评估。首先,我们手动从ImageNet验证集中选取500幅具有复杂纹理的图像。然后,我们选择预先训练好的MobileNet和AD-MobileNet结构进行分析。在500张测试图像上对模型进行评价,并计算每个模型的误分类测试样本数目。我们计算出排名前1的错误率,并记录在表X中。从表X可以看出AD-MobileNet的平均错误率比MobileNet低13.86%。我们进一步进行t检验,以显示错误率的降低是否显著。我们拒绝H0假设,得出结论:AD-MobileNet可以显著降低MobileNet在复杂纹理图像上的错误率。
图5可视化了MobileNet和AD-MobileNet在具有复杂纹理的图像的预测结果。如上所述,ADNet在优化过程中分解形状和纹理信息。我们选取了几个误分类案例,发现这些图像被误分类为另一类具有相似纹理的图像。例如,具有棒球纹理的“pillow”图像被错误地归类为“baseball”。为了研究原因,我们搜索训练集中的棒球图像,挑选出倒数第二层fc层的特征向量与枕头的特征向量最接近的那一张。不出所料,误分类后的“pillow”图像与选取的包含一堆棒球的棒球图像具有相似的纹理模式,如图5中的第一组图像所示。虽然人类通过物体的形状来识别类别,但经过图像网训练的MobileNet模型倾向于根据纹理来推断类别。相比之下,AD-MobileNet增强了形状信息的贡献,使得识别对复杂易混淆的纹理具有鲁棒性。这证明了模拟-细节机制在协调形状和纹理偏差方面的有效性。
我们通过研究AD模块中中间模块的性质来研究所提出的类比-细节机制。我们使用AD-ResNet-20模型对CIFAR10数据集进行实验,并将不同设置下的学习特征可视化。
首先,我们研究了频率分解器D的行为。D采用低通滤波函数fLPF得到低频特征图L。默认情况下,我们使用均值滤波器从输入特征映射中提取低频信号,这可以通过平均池化实现。我们还尝试了不同精度σg ={1, 2, 3}的高斯分布所产生的高斯滤波器。为了评估dual-frequency机制的贡献,我们实现了一个“ResNet-20”作为其中一条基线,输入X直接由fL和fH两路处理而不分解为双频。
表11给出了AD-ResNet20模型在不同滤波器类型下的对比结果。我们可以得知:(1) 性能的提高主要是由双频机制带来的,而网络容量的增加有助于性能的提高;(2)不同的低通滤波器性能相似。对于大方差σg = 3的高斯滤波器,其性能接近均值滤波器。
如Eq.(7)所示,用fLPF提取L后,D减去L乘以向量u得到H。我们将u设置为可学习参数,并在优化过程中约束u数值的取值范围,使其可以自由调整。或者,我们可以将u设为常数标量,以获得不同的频率分配,如u = 0或u = 1。我们比较了不同u设置下的识别性能,见表12。
当u = 1时,X减去所有LFs形成H,性能变差。这可能是因为LFs主导中高层信号的分布。减去所有LFs可能会导致空的激活映射,从而留给分类的信息更少。由于特征的频率分布因层而异、因域而异,因此允许每个AD块自动确定两个频率的分配是灵活的。
图6展示了所有AD块的u的学习值。我们用不同的初始化u执行5次运行,以消除偶然性。
为了简单起见,我们通过对所有通道上的元素求平均值来显示u的值。我们将一个特定的AD块标记为“ADx_y”,其中x_y表示阶段x的第y层。在每个阶段的开始(或结束),特征映射被降采样到分辨率的一半。
上图可知高低频率的分配策略。u的值分布在(- 1,1)范围内,表明网络已经学会了双频的合理分配。我们注意到u趋近于零,甚至在AD2_1和AD3_1处有负值,这意味着LFs在细节通路中被保留甚至增强。这是由于在每个阶段开始时的降采样操作,所有的频率都被减半到较低的水平。因此,每一阶段的第一个AD块都需要保留细节路径的LFs,作为对降采样导致的信息丢失的补偿。但是,对于同一阶段的AD块,随着深度的增加,分配给细节通路的LFs更少,说明双频信号的解缠更好。结果清楚地显示了类比-细节分解的基本原理,作为该方法的基础。
接下来,我们讨论自顶向下调制器M用于融合特征映射FL和FH的两种实现,即元素层面 gating (参见Eq.(9))和adding⊕。表十三显示了不同设置的top-1的错误率。可以看出gating操作和adding操作都能改善基线性能,而gating操作的错误率低于adding操作。我们可以把gating函数看作是在空间维度上对精细特征的重加权,其中从LFs中提取的粗糙表示用于指导这一过程。将保留那些与类别相关的精确特征,同时抑制那些不相关的特征。
为了说明AD模块学习了哪些特征,我们选择了经过imagenet训练的AD- mobilenet模型进行可视化。我们可视化了第一个AD块的中间特征映射,包括X、FL、FH和Z。图8显示了输入“羊毛衫”图像的AD块产生的激活映射。该图像最初包含背景中的高频噪声,并被MobileNet模型误分类为“连指手套”。在激活映射中,较浅的颜色表示较强的激活。为了便于观察,我们使用sigmoid函数对每个特征映射通道进行归一化,并选择三个具有代表性的特征映射通道进行可视化。
我们可以看到图案(即形状、边缘、纹理)最初是纠缠在x的激活映射中。经过频率分解和类比-细节处理后,FL对细节的响应较弱,但对粗花纹(即形状)的响应较强,而FH则充满了精细的细节(例如,纹理)。粗糙特征和细节特征以自上而下的gating方式融合得到Z,它具有干净的物体轮廓和不纠结的形状和纹理。前景区域的高频纹理与背景纹理很好地分离,尽管它们有相似的模式。这种形状-纹理解纠缠有助于识别具有复杂上下文纹理的对象。我们进一步比较AD-MobileNet的Z值与基线MobileNet对应的激活图,如图9所示。直观上,对于大多数的MobileNet激活图,高频信号主导激活,前景和背景纹理是纠缠的。
HF模式引起的强烈反应可能导致偏向具有相似模式的某些类。在这个例子中, MobileNet将“羊毛衫”图像误分类为“连指手套”,如图5所示。相比之下,ADMobileNet的激活图要清晰得多,它保留了类别相关的模式,同时显著抑制了无关纹理和背景噪声的响应。因此ADMobileNet预测图像的一个正确的类标签。我们利用公式30计算降维到1维后的特征Z的稀疏性s。
其中n表示z的维数。我们有MobileNet s= 0.24, AD-MobileNet s = 0.67。ADMobileNet产生的激活要少得多,通过它我们可以很容易地区分前景和背景模式。图7可视化地显示了分解后的特征映射的变化。
L和H随AD模块深度的增加而增加。随着深度的加深,L显示出了较强的针织衫对象的类比模式,如运动衫的轮廓,中间的纽扣,代表性的零件。同时,H展示了更多抽象的细节来进行识别。
在这篇论文中,我们从认知科学中最近发现的人体物体识别机制中得到启发,以指导新的CNN架构的设计。我们提出类比-细节网络(ADNets)作为类比-细节认知模型[2]的计算解,该模型分解了低频和高频信号中包含的不同视觉模式,并利用类比和细节路径相应地提取粗糙表征和细节表征。为了构建ADNet,我们将类比和细节路径封装到一个CNN构建块中,命名为Analogy-Detail(AD) 模块, 并且通过堆叠AD模块构建ADNet。为了实现,我们提出了将典型CNN结构转换为我们的ADNet架构的一般原则,并将这种转换应用于三个表示基线CNN结构。实验结果表明,我们的ADNets取得了优于基准CNNs的识别精度,并优于其他最先进的方法。可视化结果进一步证明adnet具有良好的可解释性,对纹理复杂、容易混淆的目标图像具有鲁棒性。
在未来的工作中,我们将把ADNets应用到更多的计算机视觉任务中,如目标检测、语义分割、图像质量评估、人群计数等。这些任务对输入信号频率分布的变化很敏感,并且更容易偏向于特定的频率。所提出的模拟细节机制能够处理这些问题。此外,我们将进一步降低ADNet的计算复杂度和内存成本,以供实际使用。
3 ↩︎
1 ↩︎
25 ↩︎
24 ↩︎
54 ↩︎
17 ↩︎