CV领域经典backbone模型小抄(1)

前言

看了那么多cv模型,我也想把一些创新点或者需要注意的地方记下来,方便自己温习。
本文会不断更新…
CV领域经典backbone模型小抄(1)

CV轻量级backbone模型小抄(1)

CV目标检测模型小抄(1)

CV语义分割模型小抄(1)
CV实例分割模型小抄(1)

多模态模型小抄(1)

卷积操作后大小计算 卷积与转置卷积——pytorch

下一篇 CV领域经典backbone模型小抄(2)



模型

timm库也实现了很多模型,可以瞅瞅 rwightman/pytorch-image-models/timm/models

前言,之前其实有LeNet(代码:LeNet_WZMIAOMIAO pytorch)和alexNet(代码:torchvision/models/alexnet.py), 不过他们没有预训练的权重,所以后续大伙其实用得少。因此这里我直接从VGG

VGG

模型结构,看着这个模型我们就能写出代码了。

CV领域经典backbone模型小抄(1)_第1张图片
  • 论文: Very Deep Convolutional Networks for Large-Scale Image Recognition
  • 代码: WZMIAOMIAO/deep-learning-for-image-processing/VGG
    该代码配有视频讲解: 使用pytorch搭建VGG网络_pytorch_霹雳吧啦Wz
    博客 VGG网络结构详解与模型的搭建_太阳花的小绿豆

加载时其实可以用torchvision.models定义的类
torchvision官方VGG模型代码: torchvision vgg

from torchvision import models
net = models.vgg16()



googleNet

官方的图, 个人觉得改图不够简化,看起来挺费劲,最好学习一下iFormer的画图方式,整体框架由小模块构成,然后具体再展示小模块的网络层,这样更容易理解(纯属个人喜好)。

CV领域经典backbone模型小抄(1)_第2张图片
  • 论文: Going Deeper with Convolution, cvpr2015
  • 讲解: GoogLeNet网络详解_霹雳吧啦Wz
  • 代码: WZMIAOMIAO/deep-learning-for-image-processing/googlenet
CV领域经典backbone模型小抄(1)_第3张图片 值得一提的是, inception的思想最近一篇文章 iFormer(Inception Transformer)用到transformer上,超越了swin transformer.

resNet

之前自个写过一篇resnet的博客resNet模型论文与实现, 简单复现了resnet,不得不说,resnet相较于googlenet的结构,真的很简单,性能又有一定提升。

  • 论文: Deep Residual Learning for Image Recognition cvpr 2016
  • 代码: WZMIAOMIAO/deep-learning-for-image-processing/resnet
    代码讲解: 使用pytorch搭建ResNet并基于迁移学习训练_霹雳吧啦Wz

其中代码还附带了 ResNeXt 的代码。( ResNeXt是resnet一个改进版本,网络结构视频讲解可见ResNeXt网络结构), resnext论文 Aggregated Residual Transformations for Deep Neural Networks

CV领域经典backbone模型小抄(1)_第4张图片 CV领域经典backbone模型小抄(1)_第5张图片



shuffleNetV2

shuffleNet视频讲解: ShuffleNet v1 v2理论讲解_霹雳吧啦Wz
CV领域经典backbone模型小抄(1)_第6张图片

  • 论文:ShuffleNet V2: Practical Guidelines for Efficient CNN Architecture Design
  • 代码: WZMIAOMIAO/shuffleNetV2


denseNet

CV领域经典backbone模型小抄(1)_第7张图片 CV领域经典backbone模型小抄(1)_第8张图片
  • 论文: Densely Connected Convolutional Networks
  • 代码: WZMIAOMIAO/denseNet


efficentNet

CV领域经典backbone模型小抄(1)_第9张图片
CV领域经典backbone模型小抄(1)_第10张图片
  • 模型结构讲解: EfficientNet网络详解_霹雳吧啦Wz
  • 论文: EfficientNet: Rethinking Model Scaling for Convolutional Neural Networks
  • 代码: WZMIAOMIAO/efficientNet, 代码讲解视频: 使用Pytorch搭建EfficientNet网络_霹雳吧啦Wz


RegNet

cvpr 2020 何恺明组的作品, 但是总感觉这个网络在我看的领域里用得不多(也可能是我这个菜鸡鼠目寸光…)

  • 论文:Designing Network Design Spaces
  • 代码: WZMIAOMIAO/regNet



efficientNetV2

CV领域经典backbone模型小抄(1)_第11张图片 CV领域经典backbone模型小抄(1)_第12张图片

2021 CVPR, 相比efficientNet-v1,引入了FusedMBConv模块。

  • 论文: EfficientNetV2: Smaller Models and Faster Training
  • 代码: WZMIAOMIAO/efficientNetV2
  • 视频讲解: EfficientNetV2网络详解_霹雳吧啦Wz


ViT

ICLR 2021

CV领域经典backbone模型小抄(1)_第13张图片

相信这篇 vision transformer的NLP同学看到源码会觉得有点亲切的感觉,出现了self-attention模块。

  • 论文: An image is worth 16x16 words: Transformers for image recognition at scale
  • 模型讲解: Vision Transformer(vit)网络详解_霹雳吧啦Wz
  • 代码: WZMIAOMIAO/ViT



RepVGG

简单结构,也有好性能

CV领域经典backbone模型小抄(1)_第14张图片
  • 论文: RepVGG: Making VGG-style ConvNets Great Again
  • 代码: DingXiaoH/RepVGG
  • 模型结构讲解 RepVGG网络讲解_霹雳吧啦Wz, 有篇推送也是讲这个 RepVGG简介


Swin Transformer

CV领域经典backbone模型小抄(1)_第15张图片

模型结构:
CV领域经典backbone模型小抄(1)_第16张图片

为了快速实现移动窗口机制, 作者非常巧妙了设计了掩码机制来实现这个操作。
CV领域经典backbone模型小抄(1)_第17张图片

几个可选规格的模型架构:
CV领域经典backbone模型小抄(1)_第18张图片

这个也是基于transformer的backbone模型,亮点在于移动窗口注意力机制以及层次结构。

  • 论文: Swin Transformer: Hierarchical Vision Transformer using Shifted Windows
  • 代码: WZMIAOMIAO/Swin Transformer, 代码讲解 使用Pytorch搭建Swin-Transformer网络_霹雳吧啦Wz
  • 模型讲解: Swin-Transformer网络结构详解_霹雳吧啦Wz, 需要对PatchMerging和WindowAttention弄明白, 看代码才不会犯晕



ConvNeXt

模型block对比图
CV领域经典backbone模型小抄(1)_第19张图片
CV领域经典backbone模型小抄(1)_第20张图片
CV领域经典backbone模型小抄(1)_第21张图片

本文主要是有很多训练策略的提出。

  • 论文: A ConvNet for the 2020s
  • 代码: WZMIAOMIAO/ConvNeXt
  • 模型视频讲解: ConvNeXt网络讲解_霹雳吧啦Wz

这篇公众号文章觉得不错 ConvNeXt:手把手教你改模型



MLP-Mixer

没有CNN的全连接构成的模型。
MLP-Mixer: An all-MLP Architecture for Vision
NIPS2021 MLP-Mixer NIPS2021
代码: https://github.com/lucidrains/mlp-mixer-pytorch

CV领域经典backbone模型小抄(1)_第22张图片

你可能感兴趣的:(人工智能,深度学习,计算机视觉,目标检测,图像分类,图像分割)