PeLK:通过周边卷积的参数高效大型卷积神经网络

PeLK: Parameter-efficient Large Kernel ConvNets with Peripheral Convolution

通过周边卷积的参数高效大型卷积神经网络

论文链接:http://arxiv.org/abs/2403.07589
代码链接:[无]

1、摘要

 提出了一种类似人类的周边卷积human-like peripheral convolution,通过参数共享有效地减少了密集网格卷积的90%以上的参数量,并成功地将内核尺寸扩展到非常大。周边卷积行为类似于人类,将卷积的复杂度从 O ( K 2 ) O(K^{2}) O(K2)降低到 O ( l o g K ) O(log K) O(logK),而不会牺牲性能。在此基础上,作者提出了参数高效的大型内核网络(PeLK)。提出的PeLK在ImageNet分类、ADE20K语义分割和MS COCO目标检测等各种视觉任务上超越了现代视觉Transformer和卷积神经网络架构,如Swin、ConvNeXt、RepLKNet和SLaK。作者首次成功将CNN的内核尺寸扩展到前所未有的101×101,并展示了持续的改进。

在这里插入图片描述

文章目录

  • PeLK: Parameter-efficient Large Kernel ConvNets with Peripheral Convolution
    • 1、摘要
    • 2、创新点
    • 3、关键问题
    • 4、原理
      • 对比SLaK
      • Parameter-efficient Large Kernel Network
        • Peripheral Convolution
        • Kernel-wise Positional Embedding
        • Partial Peripheral Convolution
        • Architecture Specification
    • 5、实验
      • Semantic Segmentation
      • Object Detection
      • ImageNet Classification
      • Ablation Studies
      • Analysis
        • Visualization of ERFs
        • Analysis of FLOPs
        • Inference Throughput Measurement
        • Kernel Scaling Efficiency
    • 6、总结
    • 7、一些笔记
    • 8、附录
      • A. ImageNet Training Configuration
      • B. ERF Quantitation Comparison
      • C. Ablation on Re-parameterization
      • D. Peripheral Vision

2、创新点

  • 提出了一种新颖的边缘卷积,旨在将卷积的参数复杂度从 O ( K 2 ) O(K^2) O(K2) 降低到 O ( l o g K ) O(log K) O(logK),同时保持密集计算的形式。边缘卷积包含三个关键设计:

(1) 焦点与模糊机制。保留卷积核中心的精细参数,而在边缘区域采用广泛的参数共享;(2) 指数增长的共享粒度。我们的共享网格以指数方式增长,相比固定粒度更有效;(3) 逐核位置嵌入。引入逐核位置嵌入,以一种优雅且经济的方式解决边缘共享导致的细节模糊问题。

  • 提出了参数高效的大核网络(PeLK),这是一种新的纯卷积神经网络架构,其有效感受野(Effective Receptive Field,ERF)随着参数以指数速度增长。

3、关键问题

  • 由于卷积的平方复杂度,增大内核尺寸会带来庞大的参数量,而过多的参数可能导致严重的优化问题。
  • 当前的CNN倾向于以 51 × 51 51 \times 51 51×51的条带卷积stripe convolution(即 51 × 5 + 5 × 51 51 \times 5 + 5 \times 51 51×5+5×51)的形式扩展,随着内核尺寸的继续增大,性能开始饱和。

4、原理

对比SLaK

在这里插入图片描述

  默认情况下,作者像SLaK和RepLKNet一样重新参数化 5 × 5 5 \times 5 5×5卷积以缓解优化问题。表1的结果表明,无论是否使用动态稀疏性,密集网格卷积都优于条纹卷积。
在这里插入图片描述

  如图2所示,无论在多个卷积大小下,密集网格卷积都表现出持续的优势,且随着卷积大小的增加,这种优势增强,这证明了密集网格大卷积的实质优势。

Parameter-efficient Large Kernel Network

Peripheral Convolution

  假设一个标准的2D卷积核由一个4维向量组成: w ∈ R c i n × c o u t × k × k w ∈ R^{c_{in} \times c_{out} \times k \times k} wRcin×cout×k×k,其中 c i n c_{in} cin表示输入通道数, c o u t c_{out} cout是输出通道数, k k k表示空间卷积维度。希望通过空间共享参数的方式,用更小的卷积核 w θ ∈ R c i n × c o u t × k ′ × k ′ w θ ∈ R^{c_{in} \times c_{out} \times k' \times k'} Rcin×cout×k×k来参数化w,其中 0 < k ′ ≤ k 0 < k' ≤ k 0<kk

  首先定义共享网格 S = [ s 0 , s 1 , . . . , s k ′ − 1 ] S = [s_0, s_1, ..., s_{k'-1}] S=[s0,s1,...,sk1],满足 ∑ i = 0 k ′ − 1 s i = k \sum{^{k' - 1}_{i=0}} s_{i} = k i=0k1si=k。根据 S S S,将 k × k k \times k k×k的位置划分为 k ′ × k ′ k' \times k' k×k个区域:对于 a , b = 0 , 1 , . . . , k ′ − 1 a, b = 0, 1, ..., k' - 1 a,b=0,1,...,k1
Z a , b = { ( x , y ) ∣ ∑ i = 0 a − 1 s i ≤ x < ∑ i = 0 a s i , ∑ j = 0 b − 1 s j ≤ y < ∑ j = 0 b s j } . ( 1 ) Z_{a,b} = \{ (x, y) | \sum{^{a-1}_{i=0}} s_{i} ≤ x < \sum{^{a}_{i=0}} s_{i}, \sum{^{b-1}_{j=0}} s_{j} ≤ y < \sum{^{b}_{j=0}} s_{j}\}. \ (1) Za,b={(x,y)i=0a1six<i=0asi,j=0b1sjy<j=0bsj}. (1)
为简洁起见,公式1中约定 ∑ i = 0 b − 1 s i = 0 \sum^{b-1}_{i=0} s_{i} = 0 i=0b1si=0。对于Z_{a,b}中的任意位置 ( x , y ) (x, y) (x,y),设置 w ( x , y ) = w θ ( a , b ) w(x, y) = w_{θ} (a, b) w(x,y)=wθ(a,b)。这样就能用小的卷积核参数化大的卷积核,实现空间共享。图1a展示了这种设计的示例。

  接下来详细阐述边缘卷积peripheral convolution的关键设计。称 w θ w_{θ} wθ的卷积核半径为 r r r。为了便于理解,将共享网格改写为轴对称形式: S = [ s − r ˉ , s − r + 1 ˉ , . . . , s − 1 ˉ , s 0 ˉ , s 1 ˉ , . . . , s r − 1 ˉ , s r ˉ ] S = [\bar{_{s_{-r}}}, \bar{_{s_{-r+1}}}, ..., \bar{_{s_{-1}}}, \bar{_{s_{0}}}, \bar{_{s_{1}}}, ..., \bar{_{s_{r-1}}}, \bar{_{s_{r}}}] S=[srˉ,sr+1ˉ,...,s1ˉ,s0ˉ,s1ˉ,...,sr1ˉ,srˉ],其中 r = ( k ′ − 1 ) 2 r = \frac{(k' - 1)}{2} r=2(k1)。类似于人类的边缘视觉,边缘卷积的共享网格主要包括两个核心设计:

i) 焦点与模糊机制Focus and blur mechanism。如图1b所示,在卷积核的中心区域保持精细粒度的参数,共享网格设置为1(即不共享)。对于边缘区域,利用大范围的参数共享来利用边缘视觉的空间冗余。在第5.4节中证明,中心区域的精细粒度至关重要,而边缘区域可以承受广泛的参数共享而不会影响性能;
ii) 递增的指数级共享粒度Exponentially-increasing sharing granularity。人类视觉的下降模式接近指数级[35]。受此启发,设计了以指数方式增长的共享网格。这种设计优雅地将卷积的参数复杂度从 O ( K 2 ) O(K^2) O(K2)降低到 O ( l o g K ) O(log K) O(logK),使得进一步扩大密集卷积的核大小成为可能。具体来说,共享网格 S S S由以下构建:
s i ˉ = 1 , i f ∣ i ∣ ≤ r , \bar{s_i} = 1, \ if \ |i| ≤ r, siˉ=1, if ir,
s i ˉ = m ( ∣ i ∣ − r c ) , i f r c < ∣ i ∣ ≤ r , ( 2 ) \bar{s_i} = m(|i|-r_{c}), \ if \ r_{c} < |i| ≤ r, \ (2) siˉ=m(irc), if rc<ir, (2)
其中 r c r_c rc是中心精细粒度区域的半径, m m m是指数增长的底数,通常 m m m默认设置为2。

Kernel-wise Positional Embedding

  尽管提出的周边卷积有效地减少了密集卷积的参数量,但参数共享的广度范围可能会带来另一个问题:周边区域的局部细节模糊。特别是当以周边卷积的形式将卷积核大小扩展到50以上,甚至100以上时,当单个参数需要处理 8 × 8 8 \times 8 8×8甚至 16 × 16 16 \times 16 16×16的周边区域时,这种现象会进一步加剧。

  为了解决这个问题,提出了核级位置嵌入。形式化地,给定一组输入特征 X X X,通过具有权重 w ∈ R c i n × c o u t × k × k w \in R^{c_{in} \times c_{out} \times k \times k} wRcin×cout×k×k的卷积进行处理。使用截断正态初始化trunc normal[53]初始化位置嵌入 h ∈ R c i n × k × k h \in R^{c_{in} \times k \times k} hRcin×k×k。输出位置 ( x , y ) (x, y) (x,y)的卷积过程可以表示为:
Y ( x , y ) = ∑ i = − r w r w ∑ j = − r w r w w ( i , j ) ⋅ ( X ( x + i , y + j ) + h ( i , j ) ) , ( 3 ) Y(x, y) = \sum_{i=-r_{w}}^{r_{w}} \sum_{j=-r_{w}}^{r_{w}} w(i, j) \cdot (X(x + i, y + j) + h(i, j)), \ (3) Y(x,y)=i=rwrwj=rwrww(i,j)(X(x+i,y+j)+h(i,j)), (3)
其中 Y Y Y是输出, r w r_w rw是卷积核的半径, r w = k − 1 2 r_w = \frac{k-1}{2} rw=2k1。如图3所示,通过为每个卷积核引入核级位置嵌入,能够区分共享区域中的特定位置,从而弥补由于共享导致的模糊局部细节问题。实际上,这可以看作是在输入特征中添加包含相对位置信息的偏置。值得注意的是,一个阶段中的所有卷积核共享同一位置嵌入 h h h,因此 h h h带来的额外参数可以忽略不计。这种设计以一种经济而优雅的方式解决了权重共享导致的位置不敏感问题,特别是对于非常大的卷积核,如 51 × 51 51 \times 51 51×51 101 × 101 101 \times 101 101×101
在这里插入图片描述

Partial Peripheral Convolution

  大型卷积网络已被证明具有较高的通道冗余性[57],并且非常适合于稀疏性处理[24]。由于周边卷积使我们能够设计出具有更强空间感知能力的更大密集卷积,作者希望进一步利用大型卷积的通道冗余。引入了Inception风格的设计,仅对特征图的部分通道进行卷积处理。遵循一个简单的理念:通过更多的恒等映射来利用通道冗余。具体来说,对于输入 X X X,将其沿通道维度分为两组,
X c o n v , X i d = S p l i t ( X ) = X : , : , : g , X : , : , g : , ( 4 ) X_{conv}, X_{id} = Split(X) = X_{:,:, :g}, X_{:,:, g:}, \ (4) Xconv,Xid=Split(X)=X:,:,:g,X:,:,g:, (4)
其中 g g g是卷积分支的通道数,默认设置为$\frac{3}{8}C_in $。然后,将分割后的输入分别输入到周边卷积和恒等映射中,
X c o n v ′ = P e r i p h e r a l C o n v ( X c o n v ) , X i d ′ = X i d , ( 5 ) X'_{conv} = Peripheral Conv(X_{conv}), X'_{id} = X_{id}, \ (5) Xconv=PeripheralConv(Xconv),Xid=Xid, (5)
最后,将两个分支的输出合并以恢复原始形状,
X ′ = C o n c a t ( X c o n v ′ , X i d ′ ) . ( 6 ) X' = Concat(X'_{conv}, X'_{id}). \ (6) X=Concat(Xconv,Xid). (6)
这种设计可以看作是Inception风格结构(如Inception[41]、ShuffleNet[30,61]和InceptionNeXt[57])的特例。它们在并行分支中使用不同的操作,而作者采取了一个更简单的理念:仅使用周边卷积和恒等映射。作者实证发现,这种设计非常适合于具有极大内核的周边卷积,显著减少了计算量,而不会影响性能

Architecture Specification

  基于上述设计和观察,作者详细阐述了参数高效大核网络(PeLK)的架构。主要遵循ConvNeXt和SLaK构建不同规模的模型。PeLK同样采用4阶段框架。文中使用 4 × 4 4 \times 4 4×4内核和步长为4的卷积层构建基础结构。对于tiny尺寸,阶段的块数量为[3,3,9,3],而对于small/base尺寸,为[3,3,27,3]。PeLK各阶段的默认内核大小为[51, 49, 47, 13]。对于PeLK-101,将内核大小扩展为[101, 69, 67, 13]。

  默认情况下,保持中央 5 × 5 5 \times 5 5×5区域的精细处理。对于PeLK-101,扩大中央区域至 7 × 7 7 \times 7 7×7,以适应更大的内核。作者遵循SLaK的做法,使用动态稀疏性来增强模型容量。所有超参数设置保持一致(1.3x宽度,40%稀疏度)。

5、实验

Semantic Segmentation

在这里插入图片描述

  对于语义分割任务,在ADE20K基准 [63] 上评估PeLK主干网络,该基准包含25,000张图像和150个语义类别。使用Uper-Net [55] 的任务层进行语义分割。遵循Swin和ConvNeXt的做法,使用单尺度推理对UperNet进行了160,000次迭代的训练。结果如表2,以平均交并比(mIoU)作为评估指标。PeLK模型显著超越了先前的最先进的模型。

Object Detection

在这里插入图片描述

  目标检测/分割任务使用了基于Cascade Mask R-CNN的方法[3,18]在微软COCO数据集[23]上进行实验。实验遵循ConvNeXt的做法,使用MMDetection[4]中的多尺度设置和默认配置。训练Cascade Mask R-CNN模型时采用3x(36个epoch)的训练计划。如表3所示,PeLK在mAP上超过了最先进的方法。

ImageNet Classification

在这里插入图片描述

  ImageNet-1K数据集[9]包含1000个物体类别,拥有128万张训练图像和5万张验证图像。作者将第3节中提到的训练计划延长至300个epoch,以确保公平比较。在相似模型大小和计算量(FLOPs)的条件下,对比PeLK与其他最先进的架构。如表4所示,PeLK模型在性能上大幅超越了像ConvNeXt[26]和Swin[25]这样的强大现代卷积神经网络和Transformer。值得注意的是,进一步将卷积核大小扩展到极大数据(如PeLK-101)仍能带来持续的提升。尽管非常大的密集卷积核原本不是为ImageNet分类设计的,但PeLK仍然展现出令人鼓舞的表现

Ablation Studies

Ablation on the sharing grid 关于共享网格的探讨 .深入研究了哪种共享方式和粒度最有益。为了便于理解,首先给出两个实例来明确说明共享网格。例如,图1a使用 3 × 3 3 \times 3 3×3卷积参数化 5 × 5 5 \times 5 5×5卷积,对应的共享网格是[2, 1, 2],每个数字代表由单个参数参数化的网格大小。图1b使用 11 × 11 11 \times 11 11×11卷积参数化 31 × 31 31 \times 31 31×31卷积,对应的网格是[7, 4, 2, 1, 1, 1, 1, 1, 2, 4, 7]。由于网格在中心1(即核的中心点)处是对称的,为了简化,在表5中只显示了半部分网格
在这里插入图片描述

  在ImageNet上的120个epoch设置下进行实验,使用PeLK-T不使用动态稀疏进行纯粹的共享网格消融。作为基线,让共享网格全部设置为1(即[1, 1, …, 1]),这样就相当于RepLKNet中采用的 33 × 33 33 \times 33 33×33密集卷积。表5的结果表明:1)中心的精细粒度至关重要,而周边区域可以承受广泛的共享;#2、3显示保持中心 5 × 5 5 \times 5 5×5区域不共享是保持性能的关键;#3、4、5则表明在周边区域进行共享对性能的影响并不明显。称这种特性为"focus-and-blur"机制;2)指数增长的网格效果最好。比较#4和#5,指数网格不仅减少了所需的参数,还提高了准确性。从以上分析可以看出,PeLK的设计既具有最少的参数,又具有性能。
在这里插入图片描述

Ablation on the central fine-grained area ratio. 表6研究了中央精细卷积区域大小(即聚焦区域)的变化效果,同时也报告了中央区域占总核大小的比例。结果显示,中央区域仅占模型高性能的约1%。然而,中央区域不能过小,否则会导致严重性能下降。进一步扩大中央区域不会带来额外收益,但会增加额外参数。在主要实验中,保持PeLK的中心、 5 × 5 5 \times 5 5×5区域精细,对于PeLK-101,将中央区域扩大到 7 × 7 7 \times 7 7×7,以保持类似的中央比例。
在这里插入图片描述

Ablation on the kernel configuration.表7在与第3节相同的120个epoch设置下,研究了不同核大小配置的效果。对于 224 × 224 224 \times 224 224×224的输入分辨率,将核大小增大到 101 × 101 101 \times 101 101×101不会带来额外收益;而对于 384 × 384 384 \times 384 384×384的输入分辨率,PeLK-101则表现出明显优势。将核大小增加到 152 × 152 152 \times 152 152×152会导致性能下降,尤其是在 224 × 224 224 \times 224 224×224的输入分辨率下。考虑到输入分辨率,这些现象是合理的。对于典型的卷积网络,如ConvNeXt或我们的PeLK,stem layer会导致输入图像的4倍下采样。因此,对于 224 × 224 224 \times 224 224×224的输入, 51 × 51 51 \times 51 51×51的核大致能够覆盖stem layer后的全局特征图。而对于 384 × 384 384 \times 384 384×384的输入, 101 × 101 101 \times 101 101×101的核等同于全局卷积,因此继续增加核大小不会带来更多的全局感知,只是浪费参数。这本质上表明,核配置应紧密关联于输入大小。目前,对于最常用的 224 × 224 224 \times 224 224×224 384 × 384 384 \times 384 384×384训练,PeLK和PeLK-101是各自合适的选项。此外,随着未来硬件设备和计算能力的发展,当在更高分辨率上预训练变得可行时,所提方法有望发挥更大的作用。

Analysis

Visualization of ERFs

  先前的大型卷积神经网络,如RepLKNet和SLaK,将它们的性能提升归功于其大的有效感受野(Effective Receptive Fields,ERFs)。PeLK借助周边卷积,具有更广阔的感知范围。因此,作者主张PeLK的强大性能源于更大的ERFs。为了验证这一点,实验绘制了RepLKNet和SLaK的ERFs。从验证集随机选取并调整50张图像至 1024 × 1024 1024 \times 1024 1024×1024分辨率,测量输入图像中每个像素对最后一层特征图中心点的贡献。这些贡献分数进一步累加并投影到一个 1024 × 1024 1024 \times 1024 1024×1024的矩阵中,如图4所示。PeLK的高贡献像素分布在一个明显更大的ERFs范围内,这验证了作者的假设,并进一步展示了所提方法的有效性。
在这里插入图片描述

Analysis of FLOPs

在这里插入图片描述

  在图5中详细分析了PeLK-T架构在语义分割任务中的计算量(FLOPs)分布。如图5(a)展示了模型的头部(即UperNet [55])和backbone区分的计算量分布。图5(b)对背景区分(即PeLK-T)的不同组件,包括全连接层(FFNs)、大核卷积、下采样层以及核级位置嵌入的计算量贡献进行了全面分析。有两点值得注意:首先,大核卷积占据了背景区分大约25%的总计算量,这意味着进一步增大核尺寸对整体计算量的影响并不显著。其次,位置嵌入引入的额外计算量非常少,仅占背景区分计算量的0.05%。因此,核级位置嵌入既经济又优雅。

Inference Throughput Measurement

在这里插入图片描述

  表 8 比较了推理吞吐量测量值。结果是在输入分辨率为 224 × 224 224 \times 224 224×224 的 A100 GPU 上获得的。使用 PyTorch 1.10.0 + cuDNN 8.2.0 和 FP32 精度。尽管 SLaK 使用stripe convolution来加速超大内核的计算,但仍然拥有明显的速度优势(即 1.5× 的加速)。考虑到PeLK在ADE20K、COCO和ImageNet上的性能优于SLaK,这一优势尤为显著。更重要的是,将内核扩展到 101 只会带来很小的速度开销,这进一步展示了PeLK设计在扩展属性方面的优点。

Kernel Scaling Efficiency

在这里插入图片描述

  外围卷积将密集卷积的参数复杂度从 O ( K 2 ) O(K^{2}) O(K2) 降低到 O ( l o g K ) O(log K) O(logK),这使能够以非常小的模型大小开销来扩展内核大小。为了证明这一点,只需将 ConvNeXt-T 阶段的所有内核替换为一组从 7 到 151 的内核大小,并报告所需的参数数量。如图 6 所示,所提方法表现出显着的扩展优势,当内核大小大于 50 时,可以看到明显的差距。使用密集卷积会导致模型大小快速增长,这在实践中是不可接受的。相比之下,外围卷积只产生很小的模型大小开销,因此可以设计出非常大的内核卷积。

6、总结

  本文提出了一种新的卷积形式,称为外围卷积,它可以将密集卷积的参数复杂度从 O ( K 2 ) O(K^{2}) O(K2)降低到 O ( l o g K ) O(log K) O(logK),同时保持密集卷积的优点。基于所提出的外围卷积,作者设计了超大的密集核CNN,并在各种视觉任务中实现了显着的改进。研究结果表明,生物启发机制可以成为促进现代网络设计的有前途的工具

7、一些笔记

  - 在多个内核大小下,密集网格卷积优于条纹卷积(SLaK[24]),且这种优势不仅体现在分类任务上,甚至在下游任务中更为明显,显示出密集卷积相对于条纹形式的固有优势。

  - 人类视觉根据注视中心的距离将整个视觉场划分为中心区域和周边区域,中心区域的视网膜细胞(视锥和视杆细胞)数量是周边区域的100多倍 [40]。这种生理结构赋予人类视觉模糊感知的特性:在中心区域,我们有强烈的感知和清晰的视觉,识别形状和颜色;而在周边区域,视觉场模糊,分辨率降低,我们只能识别运动等抽象视觉特征和高级上下文。这种机制使得人类能够在视觉场的一小部分(< 5%)中感知重要细节,同时最大限度地减少剩余部分(> 95%)的不必要的信息,从而在人脑中促进高效的视觉处理 [2, 10,11,28,37,38,52,54]。

8、附录

A. ImageNet Training Configuration

  在PeLK的训练过程中,使用8个GPU,总批次大小为4096,训练300个周期。优化器采用AdamW [27],动量设置为0.9,权重衰减为0.05。学习率设置包括初始值 4 × 1 0 − 3 4 \times 10^-3 4×103,采用余弦退火策略,并在前20个周期进行warm-up。在数据增强和正则化方面,我们使用了RandAugment [8](如timm [53]实现的"rand-m9-mstd0.5-inc1"),标签平滑系数为0.1,mixup [60]方法,其 α \alpha α参数设置为0.8,CutMix [59]方法, α \alpha α参数为1.0,随机擦除 [62]的概率为25%,并且采用Stochastic Depth,PeLK-T/S/B的drop-path率分别为10%、40%和50%。

B. ERF Quantitation Comparison

在这里插入图片描述

  遵循RepLKNet [12]和SLaK [24]的做法,在表9中报告高贡献区域比r,以对ERF(有效响应场)的比较进行量化分析。这里,r表示当贡献分数超过特定阈值t时,能包含的最小矩形面积占整体输入区域的比例。例如,对于1024×1024输入,中心区域R×R能覆盖20%的贡献分数,对应的20%阈值比率为r = (R/1024)²。较大的r值表明高贡献像素的分布更均匀。与先前的CNN范式相比,我们的PeLK自然地考虑了更广泛的像素来做出决策,这进一步证实了极大内核在扩大感受野上的直观效果。

C. Ablation on Re-parameterization

在这里插入图片描述

  根据RepLKNet的研究[12],直接优化大型卷积网络可能会遇到困难,并导致性能下降。因此,现有的大型卷积范式通过重参数化小卷积(如5×5)来缓解这个问题。本部分中,我们移除了重参数化技巧,以观察模型性能会受到多大影响。我们在ImageNet上对小型模型进行了120个epoch的训练,与第3节中的设置相同。如表10所示,即使移除了小卷积,我们的边缘卷积仍然保持良好的性能,而密集卷积则出现了显著的性能下降。这一现象表明,通过减少所需的参数数量,我们的边缘卷积能够缓解大型密集卷积的优化难度。

D. Peripheral Vision

在这里插入图片描述

  人类的视觉场展现了一种被称为“中心聚焦和周边模糊”的现象[32,35]。根据视觉科学文献[31,40],人类的视觉场可以被模型化为如图7所示的扇形结构。它由中心到周边分为三个区域:中央区域( θ _ c h θ\_ch θ_ch θ _ c v θ\_cv θ_cv)、旁中央区域( θ _ a h θ\_ah θ_ah θ _ a v θ\_av θ_av)和周边区域( θ _ p h θ\_ph θ_ph θ _ p v θ\_pv θ_pv)。中央区域是用于清晰感知的主要部分。因此,人类视觉系统中聚焦区域的比例可以计算为:
P h u m a n = π θ c h ∗ θ c v ( π θ p h ∗ θ p v ) = 2.72 % . ( 7 ) P_{human} = \pi \theta_{ch} * \theta_{cv} (\pi \theta_{ph} * \theta_{pv}) = 2.72 \% . \ (7) Phuman=πθchθcv(πθphθpv)=2.72%. (7)
  同样,周边卷积在中心保留了精细参数,PeLK的中心比例为:
P _ p e l k = ( 5 × 5 ) / ( 51 × 51 ) = 0.96 % . ( 8 ) P\_pelk = (5 × 5) / (51 × 51) = 0.96\% .\ (8) P_pelk=(5×5)/(51×51)=0.96%. 8
  尽管PeLK和人类的比例值并不严格相等,但它们都是非常小的比率(< 5%),表明高效的视觉机制只需要极小比例的精细感知。

  周边卷积在中心保留了精细参数,PeLK的中心比例为:
P _ p e l k = ( 5 × 5 ) / ( 51 × 51 ) = 0.96 % ( 8 ) P\_pelk = (5 × 5) / (51 × 51) = 0.96\% \ (8) P_pelk=(5×5)/(51×51)=0.96% 8
  尽管PeLK和人类的比例值并不严格相等,但它们都是非常小的比率(< 5%),表明高效的视觉机制只需要极小比例的精细感知。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/pingmian/3472.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

快速构建Spring boot项目

1、Idea里新建项目 2、创建HelloController 3、运行 4、开发环境热部署 pom.xml 查看目前已有的依赖 配置properties 设置 ctrlshiftalt/ 新版本的compiler.automake.allow.when.app.running已经不在registry里面了&#xff0c;在settings里面的Advanced settings里面Allow au…

Java中的ArrayList集合

特点&#xff1a; ArrayList中的一些方法&#xff1a; 1、add(Object element):向集合的末尾添加元素 add(int index,Object element):在列表的指定位置&#xff08;从0开始&#xff09;插入指定元素 2、size():返回列表的中的元素个数 3、get(int index):返回下标为index位置的…

python爬虫 - 爬取Ajax获取的Json格式数据(个人微博)

文章目录 1. 第一步&#xff1a;安装requests库2. 第二步&#xff1a;获取爬虫所需的header和cookie3. 第三步&#xff1a;获取网页4. 第四步&#xff1a;解析网页5. 第五步&#xff1a;解析 json 结构数据体6. 代码实例以及结果展示 python爬虫五部曲&#xff1a; 第一步&…

SN75107BDR 总线接收器 中文资料_PDF中文资料_参数_引脚图

SN75107BDR 规格信息&#xff1a; 制造商:Texas Instruments 产品种类:总线接收器 RoHS:是 接收机数量:2 Receiver 接收机信号类型:Differential 电源电压-最小:/- 4.75 V 电源电压-最大:/- 5.25 V 工作电源电流:30 mA 最小工作温度:0 C 最大工作温度: 70 C 封装 / 箱…

CSS border边框(理解网页边框制作)

目录 一、border边框介绍 1.概念 2.特点 3.功能 4.应用 二、border边框用法 1.border边框属性 2.边框样式 3.边框宽度 4.边框颜色 5.边框-单独设置各边 6.边框-简写属性 三、border边框属性 四、border边框实例 1.创建带有阴影效果的边框&#xff1a; 2. 创建一个类似标…

汽车企业安全上网解决方案

需求背景 成立于1866年的某老牌汽车服务独立运营商&#xff0c;目前已经是全球最大的独立汽车服务网络之一&#xff0c;拥有95年的历史&#xff0c;在全球150多个国家拥有17,000多个维修站&#xff0c;始终致力于为每一位车主提供高品质&#xff0c;可信赖的的专业汽车保养和维…

用友政务财务系统 FileDownload 任意文件读取漏洞复现

0x01 产品简介 用友政务财务系统具有多项核心功能,旨在满足各类组织的财务管理需求。首先,它提供了财务核算功能,能够全面管理企业的总账、固定资产、现金、应付应收等模块,实时掌握企业的财务状况,并通过科目管理、凭证处理、报表分析等功能为决策提供有力支持。 0x02 …

【Github】sync fork后,意外关闭之前提交分支的pr申请 + 找回被关闭的pr请求分支中的文件

【Github】sync fork后&#xff0c;意外关闭之前提交分支的pr申请 找回被关闭的pr请求分支中的文件 写在最前面原因解析提交pr&#xff0c;pr是什么&#xff1f;rebase 或者 merge 命令 找到分支中被删除的文件找到被关闭的提交请求pr方法1&#xff1a;在公共仓库被关闭的pr中…

Java电子签名图片生成工具类

在业务中有需要用户信息确认时候去进行电子签名&#xff0c;在实现电子签名存证时候&#xff0c;可以在前端生成图片也可以在后端生成签名存证图片&#xff0c;这里实现一下关于后端Java实现的方法&#xff0c;并总结成工具类&#xff0c;方便之后调用。 工具类方法一 import…

Django框架之Django安装与使用

一、Django框架下载 首先我们需要先确定好自己电脑上的python解释器环境&#xff0c;否则会导致后面项目所需要的库安装不了以及项目无法运行的问题。 要下载Django并开始使用它&#xff0c;你可以按照以下步骤进行&#xff1a; 1、安装Python 首先&#xff0c;确保你的计算…

【Redis】Redis 非关系型数据库 安装、配置、使用(全集)

目录 Redis 第一章 1、什么是redis 2、安装redis 1-7 8 3、redis使用 第二章 1、redis的使用 1、使用方式 2、使用Java代码使用redis 3、优化连接redis 2、五种数据类型 常用命令 string hash list set zset 不同数据类型存、取、遍历的方法 3、redis在项目…

Redis网络部分相关的结构体2 和 绑定回调函数细节

目录 1. struct connection ConnectionType属性 创建connection 2. struct client 3. 绑定客户端回调函数的流程 3.1. 读事件回调函数的设置 3.2. 写事件回调函数的设置 3.3. connSocketEventHandler函数 3.4. Redis5版本的设置回调函数 3.5. 个人的一些想法&#xf…

人工智能好多人都在用,那么用户画像要怎么看?

用户画像是通过对用户行为、偏好、兴趣等数据进行分析和整理&#xff0c;从而形成的关于特定用户群体的描述和模型。在人工智能应用中&#xff0c;用户画像可以起到指导个性化推荐、精准营销、产品设计等方面的作用。以下是用户画像在人工智能应用中的几个重要方面&#xff1a;…

汽车Type-C接口:特点与要求解析

汽车Type-C接口的需求增长 随着汽车科技的不断发展&#xff0c;车载电子设备的功能和数量不断增加&#xff0c;因此&#xff0c;对于汽车Type-C接口的需求也在逐渐增长。作为一种高速、多功能的连接标准&#xff0c;汽车Type-C接口在车载设备连接中扮演着越来越重要的角色。 …

Nginx 四层和七层代理区别、配置

四层&#xff1a;通过报文中的目标地址和端口&#xff0c;加上负载均衡设备设置的服务器选择方式&#xff0c;决定最终选择的内部服务器&#xff0c;使用tcp、udp协议。 七层&#xff1a;"内容交换"&#xff0c;通过报文中真正有意义的应用层内容&#xff0c;加上负…

Go开发者指南:`io/ioutil`库的实战应用全解

Go开发者指南&#xff1a;io/ioutil库的实战应用全解 概述io/ioutil函数概览ReadAllReadFileWriteFileReadDirTempFile 和 TempDir 实战技巧&#xff1a;使用io/ioutil进行文件操作高效读取文件文件的写入操作处理大文件的策略使用TempFile和TempDir管理临时文件 高级应用结合o…

【Leetcode】377. 组合总和 Ⅳ

文章目录 题目思路代码复杂度分析时间复杂度空间复杂度 结果总结 题目 题目链接&#x1f517; 给你一个由 不同 整数组成的数组 n u m s nums nums&#xff0c;和一个目标整数 t a r g e t target target 。请你从 n u m s nums nums 中找出并返回总和为 t a r g e t targ…

leetcode-二叉搜索树与双向链表-89

题目要求 思路 1.观察给的用例&#xff0c;本质上是把数据按照中序遍历连接起来 2.将结点以中序遍历的方式插入到数组中&#xff0c;注意这里是vector<TreeNode*> 3.将数组中的数据连接起来 代码实现 /* struct TreeNode {int val;struct TreeNode *left;struct TreeN…

基于昇腾AI 使用AscendCL实现垃圾分类和视频物体分类应用

现如今&#xff0c;人工智能迅猛发展&#xff0c;AI赋能产业发展的速度正在加快&#xff0c;“AI”的需求蜂拥而来&#xff0c;但AI应用快速落地的过程中仍存在很大的挑战&#xff1a;向下需要适配的硬件&#xff0c;向上需要完善的技术支持&#xff0c;两者缺一不可。 基于此&…

去雾笔记-Pixel Shuffle,逆Pixel Shuffle,棋盘效应,转置卷积

文章目录 1.Pixel Shuffle2.Inverse Pixel Shuffle3.棋盘效应4.转置卷积5.宽激活块6.PSPNet7.反射填充层&#xff08;Reflective Padding Layer&#xff09;8.tanh层 1.Pixel Shuffle Pixel Shuffle是一种用于图像超分辨率的技术&#xff0c;它通过重新排列图像的像素来增加图…