前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >研一下学期

研一下学期

原创
作者头像
一郭不够吃
修改2022-03-21 19:29:32
5170
修改2022-03-21 19:29:32
举报
文章被收录于专栏:退而结网退而结网

第一周:

axis=1,为横向操作,体现的是列的减少。

如果是求平均,那么是从左到右横向求平均;如果是拼接,那么也是左右横向拼接;如果是drop,那么也是横向发生变化,体现为列的减少。

Batch Normalization:可以加速网络的收敛并提高准确率


Attention in CNN

空间注意(SA):注意力在空间中,表现在图像上就是,对图像不同位置的关注度不同。用数学表示就是,对于H*W*C的一幅特征图,空间注意力对应一个大小为H*W的矩阵,每一个位置对原特征图对应位置的像素就是一个权重,计算时做pixel-wise multiply

Convolution Block Attention Module
Convolution Block Attention Module
  1. 基于channel做global max pooling和global average pooling
  2. 将上述的结果基于channel做concat
  3. 将concat的结果经过卷积降维,维度为1
  4. 将生成的结果经过sigmoid生成spatial attention feature(可以理解为权重),将其于输入的特征图做乘法,增加空间注意力。

通道注意(CA):

通道注意力就是注意力分布在channel中,表现在图像上就是,对图像的不同通道的关注度不同。用数学表示就是,H*W*C的一幅特征图,通道注意力对应一个1*1*C的矩阵,每个位置对原特征图对应的channel的全部像素是一个权重,计算时做channel-wise multiply

Channel Attention Module
Channel Attention Module

pytorch中下采样操作有interpolate和池化两种操作,二者有啥区别吗

个人理解,插值的作用更多是保留信息,池化的作用更多是归纳信息。

作为下采样interpolate中不管是哪一种插值操作都是尽可能保留前层样本信息;而pooling更像是一种剪枝操作,只保留主要样本信息或是avg pooling这种保留样本的部分统计信息


第二周:

Global Context-Aware Progressive Aggregation Network

代码地址: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,总损失等于主分支加上侧枝的损失

GCPA结构图
GCPA结构图
FIA模块
FIA模块
SR模块
SR模块

即使是FIA之后经过Softmax,由于不同层次的相互影响,会存在一些缺陷,因此使用SR模块进行特征的细化与增强

可以借鉴地方:

1.新的融合模块之后,可以借鉴SR模块来细化增强特征

2.整个代码的框架非常漂亮,不用重复造轮子,将其作为模板

可以改进地方

将高级特征与低级特征区分开来进行CA与SA

损失函数部分可以尝试换下其他损失函数


HRNet

论文地址:https://arxiv.org/abs/1908.07919

代码地址:https://github.com/HRNet

网络提出的背景

用于图像分类的网络如ResNet,VGGNet等的特点是学到的特征在空间分辨率上逐渐变小,因此这种在分辨率上的巨大损失使得其在空间精度敏感的任务上难以取得准确结果。

在分类卷积神经网络结构的基础上,通过引入上采样操作和/或组合空洞卷积减少降采样次数来提升表征的分辨率,典型的结构包括Hourglass、U-Net等。在这类网络中,最终的高分辨率来源于这两部分:

  1. 原本的高分辨率表征,但是由于只经过了少量的卷积操作,其本身只能提供低层次的语义表达;
  2. 低分辨率表征通过上采样得到的高分辨率表征,其本身虽然拥有很好的语义表达能力,但是上采样本身并不能完整地弥补空间分辨率的损失。

所以,最终输出的高分辨率表征所具有的空间敏感度并不高,很大程度上受限于语义表达力强的表征所对应的分辨率。

作者认为不应该局限于从分类卷积神经网络生成的低分辨率表征来恢复高分辨率表征这一路线,而应该为高分辨率表征学习建立新的网络结构。基于此,提出了高分辨率深度神经网络(High-Resolution Network,HRNet),在网络整个过程中始终保持高分辨率表征,同时多次在高低分辨率表征之间进行信息交换,从而学到足够丰富的高分辨率表征。

HRNet
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.仅从高分辨率卷积流输出表示
HRNetV1.仅从高分辨率卷积流输出表示
HRNetV2
HRNetV2
HRNetV2p
HRNetV2p

HRNetv1用于人体姿势估计,HRNetv2用于语义分割,HRNetV2p用于目标检测

值得称赞的地方:大多数模型将高分辨率表示作为辅助数据添加到低分辨率的上采样过程中,从而使得结果更加精确。

而作者则以高分辨率表示为主,使得低分辨率的表示成为了辅助数据。


第三周

组会任务完成情况:

1.复现师兄提法的代码,设置不同的空洞率参数,发现3比2好(理论上5会比较差,但还没试),在设置为3时,测到的指标基本与zFMFNet(2022)持平

2.换了不同的融合模块,结果一塌糊涂

3.色彩空间通道融合效果很差


第四周

不为了水论文毕业,想在这个领域多做些研究的话,十分有必要涉猎多些领域,以及最新的学术动向。Transformer等相关论文是必须要看的(疫情原因,寝室学习,效率极低..)

论文地址:https://github.com/Visual-Attention-Network

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 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 第一周:
    • Batch Normalization:可以加速网络的收敛并提高准确率
    • Attention in CNN
      • 空间注意(SA):注意力在空间中,表现在图像上就是,对图像不同位置的关注度不同。用数学表示就是,对于H*W*C的一幅特征图,空间注意力对应一个大小为H*W的矩阵,每一个位置对原特征图对应位置的像素就是一个权重,计算时做pixel-wise multiply
      • 通道注意(CA):
        • 通道注意力就是注意力分布在channel中,表现在图像上就是,对图像的不同通道的关注度不同。用数学表示就是,H*W*C的一幅特征图,通道注意力对应一个1*1*C的矩阵,每个位置对原特征图对应的channel的全部像素是一个权重,计算时做channel-wise multiply
        • pytorch中下采样操作有interpolate和池化两种操作,二者有啥区别吗
        • 第二周:
          • Global Context-Aware Progressive Aggregation Network
            • 可以借鉴地方:
              • 可以改进地方
                • HRNet
                • 第三周
                  • 组会任务完成情况:
                  • 第四周
                    • 论文地址:https://github.com/Visual-Attention-Network
                    • 第五周
                    相关产品与服务
                    图像处理
                    图像处理基于腾讯云深度学习等人工智能技术,提供综合性的图像优化处理服务,包括图像质量评估、图像清晰度增强、图像智能裁剪等。
                    领券
                    问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档