axis=1,为横向操作,体现的是列的减少。
如果是求平均,那么是从左到右横向求平均;如果是拼接,那么也是左右横向拼接;如果是drop,那么也是横向发生变化,体现为列的减少。
个人理解,插值的作用更多是保留信息,池化的作用更多是归纳信息。
作为下采样interpolate中不管是哪一种插值操作都是尽可能保留前层样本信息;而pooling更像是一种剪枝操作,只保留主要样本信息或是avg pooling这种保留样本的部分统计信息
代码地址:https://github.com/JosephChenHub/GCPANet
论文地址:https://github.com/JosephChenHub/GCPANet/blob/master/GCPANet.pdf
方法:1.首先利用SA和CA对特征进行处理.(称其为头部注意HA)
2.使用SR模块进一步细化和增强最高级特征
3.对高,低以及全局特征进行融合即FIA
4.经过三次FIA+SR
5.损失函数使用的是BCELoss,总损失等于主分支加上侧枝的损失
即使是FIA之后经过Softmax,由于不同层次的相互影响,会存在一些缺陷,因此使用SR模块进行特征的细化与增强。
1.新的融合模块之后,可以借鉴SR模块来细化增强特征
2.整个代码的框架非常漂亮,不用重复造轮子,将其作为模板
将高级特征与低级特征区分开来进行CA与SA
损失函数部分可以尝试换下其他损失函数
论文地址:https://arxiv.org/abs/1908.07919
网络提出的背景
用于图像分类的网络如ResNet,VGGNet等的特点是学到的特征在空间分辨率上逐渐变小,因此这种在分辨率上的巨大损失使得其在空间精度敏感的任务上难以取得准确结果。
在分类卷积神经网络结构的基础上,通过引入上采样操作和/或组合空洞卷积减少降采样次数来提升表征的分辨率,典型的结构包括Hourglass、U-Net等。在这类网络中,最终的高分辨率来源于这两部分:
所以,最终输出的高分辨率表征所具有的空间敏感度并不高,很大程度上受限于语义表达力强的表征所对应的分辨率。
作者认为不应该局限于从分类卷积神经网络生成的低分辨率表征来恢复高分辨率表征这一路线,而应该为高分辨率表征学习建立新的网络结构。基于此,提出了高分辨率深度神经网络(High-Resolution Network,HRNet),在网络整个过程中始终保持高分辨率表征,同时多次在高低分辨率表征之间进行信息交换,从而学到足够丰富的高分辨率表征。
整个模块分为5个阶段:stem、stage1、stage2、stage3、stage4.在作者提供的开源代码中,
产生低分辨分支的功能在stage1、stage2、stage3阶段开头
重复的多尺度融合功能在stage1、stage2、stage3阶段的结尾。
所以,在上图中,我将每一阶段的区分线画在了图中交叉线的中间。竖线的左方是原始的HrNet表示。它直接输出stage3中的最上方的高分辨率表示,使其作为最后的heatmap。
重复的多尺度融合
左:首先将两个低分辨率表示的分支通过1×1的卷积变换到高分辨率同样的通道数。然后进行上采样,使得两个低分辨率表示的尺寸大小与高分辨率表示一致(H/4,W/4)。最后后,将三个不同分辨率表示求和得到了最后融合后的高分辨率表示。
中:首先将高分辨率表示的分支通过步长为2的3×3的卷积变换到与中间分辨率表示的尺寸(H/8,W/8)与通道数一样大小。然后,将先后通过1×1卷积与上采样操作将最低分辨率表示同样调整到中间分辨率表示的尺寸与通道数一样大小。最后,将三个不同分辨率表示求和得到了最后融合后的中间分辨率表示。
右:首先将两个高分辨率表示的分支通过步长为2的3×3的卷积变换到与最低分辨率表示的尺寸(H/16,W/16)与通道数一样大小。最后,将三个不同分辨率表示求和得到了最后融合后的最低分辨率表示。
至于为何要用strided 3x3卷积,这是因为卷积在降维的时候会出现信息损失,使用strided 3x3卷积是为了通过学习的方式,降低信息的损耗。所以这里没有用maxpool或者组合池化
HRNetv1用于人体姿势估计,HRNetv2用于语义分割,HRNetV2p用于目标检测
值得称赞的地方:大多数模型将高分辨率表示作为辅助数据添加到低分辨率的上采样过程中,从而使得结果更加精确。
而作者则以高分辨率表示为主,使得低分辨率的表示成为了辅助数据。
1.复现师兄提法的代码,设置不同的空洞率参数,发现3比2好(理论上5会比较差,但还没试),在设置为3时,测到的指标基本与zFMFNet(2022)持平
2.换了不同的融合模块,结果一塌糊涂
3.色彩空间通道融合效果很差
不为了水论文毕业,想在这个领域多做些研究的话,十分有必要涉猎多些领域,以及最新的学术动向。Transformer等相关论文是必须要看的(疫情原因,寝室学习,效率极低..)
self-attention运用在计算机视觉中迎来三个挑战,
1.将图像处理为一维序列,忽略了其二维结构
2.二次复杂度对于高分辨率的图像来说计算太复杂
3.只捕捉了空间适应性,而忽略了通道的适应性
本文的方法:Large Kernel Attention
大核卷积可以拆分为三个成分:depth-wise卷积、depth-wise dilation卷积以及1*1卷积。具体来说,我们将K*K卷积拆分为(k/d)*(k/d) depth-wise dilation卷积、(2d-1)*(2d-1) depth-wise卷积以及1*1卷积.通过上述分解可以用轻微的计算代价和参数来捕获长程关系。在得到长期关系后可以估计一个点的重要性并生成注意力图。
作者提出的LKA结合了卷积和自注意力的优点。它考虑了局部上下文信息、大的感受域和动态过程。LKA不仅实现了空间维度的适应性,而且还实现了通道维度的适应性,虽然VAN在极力避免使用Transformer相关的算子,但仍用到了LN,故算不上“100%纯度”CNN。
1.论文开始初步撰写,提笔好难,很多词句需要斟酌,感觉自己连中文都不会说了
2.本周大部分时间还是花在一篇论文的研读上,论文中有个渐进模块,非常新奇,于是花了一周搞论文,看代码,迁移到自己的网络中,结果效果很差,大失所望。于是打算下周老老实实写论文,等再遇到不错的想法时再往里面加。
3。反思自己一下的学习状态:会因为实验效果好而持续亢奋,每天都是打鸡血的状态,但也会因为效果不好,想要放空逃避。科研实验本就是长期的过程,不可能一直顺利,所以还是放平心态,每天都要做一些。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。