我们提出了一种新颖的自校准卷积,通过内部通信显式扩展每个卷积层的视场,从而丰富了输出特性。特别是,与使用小核(例如,3 × 3)融合空间和信道信息的标准卷积不同,我们的自校准卷积通过一种新的自校准操作,自适应地围绕每个空间位置构建远程空间和信道间依赖性。因此,它可以通过显式地融入更丰富的信息,帮助cnn生成更有鉴别性的表示。我们的自校准卷积设计简单而通用,可以很容易地应用于增加标准卷积层,而不引入额外的参数和复杂性。
包括图像识别、目标检测、实例分割和关键点检测,都可以显著提高,而不需要改变网络架构。
在本文中,我们引入自校准卷积作为一种有效的方法,通过增加每一层的基本卷积变换来帮助卷积网络学习判别表示,而不是设计复杂的网络结构来加强特征表示。
与分组卷积类似,它将特定层的卷积过滤器分离为多个部分,但不均匀,每个部分中的过滤器以异构的方式加以利用。具体来说,自校准卷积不是在原始空间对输入进行均匀的所有卷积,而是首先通过下采样将输入转换为低维嵌入。利用一个滤波部分变换后的低维嵌入来校准另一部分滤波的卷积变换。得益于这种异质卷积和滤波器之间的通信,每个空间位置的接收域可以有效地扩大。
我们的自校准卷积有两个优点。
首先,它使每个空间位置能够从一个远程区域自适应编码信息上下文,打破了卷积在小区域(如3× 3)内操作的传统。这使得我们的自校准卷积产生的特征表示更具分辨力。
本文提出的自校准卷积具有通用性,可以很容易地应用于标准卷积层,而不需要引入任何参数和复杂度开销,也不需要改变超参数。
实验结果表明,对于目标检测、实例分割和关键点检测,使用本文提出的自校准卷积算法可以大大提高基线结果。
研究现状啥的
给定过滤器的四部分,我们将输入X统一地分成两部分{X1, X2},然后将每一部分发送到一个特殊的路径,以收集不同类型的上下文信息。在第一条通路中,我们利用{K1, K2, K3}对X1进行自校准操作,得到Y1。在第二条路径中,我们执行一个简单的卷积操作:Y2 = F1(X2) = X2 * K1,其目标是保持原始空间环境。然后将两个中间输出{Y1, Y2}串联在一起作为输出y。接下来,我们详细描述了如何在第一通路进行自校准操作。
k2是经过一个平均池化层 Con3*3就是一个正常的2维卷积,卷积核是3*3,其他都一样。
self.k1 = nn.Sequential(
conv3x3(planes, planes, stride),
nn.BatchNorm2d(planes),
nn.ReLU(inplace=True),
)
self.k2 = nn.Sequential(
nn.AvgPool2d(kernel_size=pooling_r, stride=pooling_r),
conv3x3(planes, planes),
nn.BatchNorm2d(planes),
)
self.k3 = nn.Sequential(
conv3x3(planes, planes),
nn.BatchNorm2d(planes),
)
self.k4 = nn.Sequential(
conv3x3(planes, planes, stride),
nn.BatchNorm2d(planes),
nn.ReLU(inplace=True),
)
为了高效有效地收集每个空间位置的上下文信息,我们提出在两个不同的尺度空间中进行卷积特征变换:一个原始尺度空间中特征映射与输入具有相同的分辨率,另一个降采样后的潜在空间较小。在小的潜在空间中变换后的嵌入由于具有较大的视场,可以作为参考来指导原始特征空间中的特征变换过程。
我们引入了自适应响应校准操作。提出的自校准卷积算法可以很容易地嵌入到现代分类网络中。