图像深度网络经典论文详解
文章平均质量分 95
从经典的网络结构开始深入,解读注意力机制,微调等技术的经典论文。不仅仅是做论文的翻译,而是做了一些自己的解决,让读者能更好的理解其中的理念。理解作者的思路,从而达到学习深度网络的目的。
不定期更新,大约1-2周会更新一篇
现在已经更新了VGG,GoogleLeNet,ResNet, RCNN系列等。
新兴AI民工
人工智能行业的新兴民工
展开
-
DeepLab V2: 改进版的DeepLab V1
摘要部分开门见山的就提出了论文的三点贡献。空洞卷积在dense prediction任务中(像素级预测任务)可以有效的控制感受野,或者说特征图尺寸(通过空洞率)。而且在扩大感受野的同时不用增加额外的参数和计算量。提出了空洞卷积金字塔结构(atrous spatial pyramid pooling - ASPP)来处理多尺度问题。原创 2024-04-15 09:18:55 · 144 阅读 · 0 评论 -
DeepLab V1:全连接CRFs的语义分割网络
摘要部分提到了:这一段的意思是说,对于普通的DCNN网络,最后一层对物体的边界分类的不够好(high level高层语义与low level的低层语义精确度的平衡问题),而deeplab算法就是引入了CRF来解决这个问题。然后就是引入了空洞卷机来解决计算量的问题。所以,这篇论文提出的两个主要贡献就是在普通CNN的网络基础上(论文以VGG为backbone),引入了CRF和空洞卷积。原创 2024-04-09 23:22:41 · 160 阅读 · 0 评论 -
生成式对抗网络:GAN-Generative Adversarial Nets
具体训练过程中,生成器与判别器交替训练:首先,固定生成器,使用生成器基于隐随机向量z模拟出G(z)作为负样本,并从真实数据中采样得到正样本x,然后将正负样本输入给判别器,进行二分类预测,最后利用其二分类交叉熵损失更新判别器参数;当判别器D无法正确分别出G生成的数据是否是捏造的时候,此时G就已经达到了目的,已经正确的预测出了数据的分布。用生成图像来举个例子,比如说我要生成某种风格的图像,比如动漫风格的图像,这个图像的像素就服从动漫分布(这个分布无法用准确的公式来表达),所以记为。那么根据这个公式中的。原创 2023-12-25 15:52:21 · 447 阅读 · 0 评论 -
实例分割网络:Mask RCNN
之前的文章已经说过了分类网络,目标检测网络,语义分割网络,这一篇来说说更为复杂一点的实例分割网络——Instance segmentation。实例分割网络也是三大视觉任务之一——分割的一种。与语义分割不同的是,语义分割的任务是将图像中的不同类别给区分出来,之前说的FCN和UNET都是最终预测一个与图像尺寸相同的输出,每个像素标记成不同的类别,从而达到将图像中的不同类别目标区分出来的目的。原创 2023-12-08 22:04:18 · 251 阅读 · 0 评论 -
SSD-Single Shot Detector
前面提到了两种经典的目标检测算法:one stage的yolo系列,还有就是two stage的RCNN系列。而SSD在2016年提出的时候,就是想综合YOLO的速度和RCNN的准确率。但是好像在YOLO2,也就是YOLO9000的时候就已经超过了SSD。当然SSD后面也有不少的改进版本,这里先说说这个SSD的原始版本。原创 2023-11-30 14:39:25 · 215 阅读 · 0 评论 -
轻量化网络--MobileNet V1
在网络优化的过程中,为了让准确率越来越高,一般来说,网络结构越来越大,层数越来越多。但是在一些移动设备或者嵌入式设备中,这些网络是无法使用的,因为移动设备根本没有这么高的计算能力。所以,网络结构的一个研究方向就是在不明显降低准确率的情况下,尽量降低网络模型的大小,降低参数量,降低计算量,使得这些模型可以在移动设备上使用。原创 2023-11-18 22:56:17 · 410 阅读 · 0 评论 -
语义分割网络系列——UNet
在FCN同一年出来的语义分割网络中,有一个重量级的网络:UNet。UNet以其网络结构形状得名。从UNet出来之后,很多图像分割网络都是在上面进行各种魔改。这样说明了UNet的重要性和可扩展性。UNet刚出来的论文是说UNet主要针对于生物,医学的数字显微镜成像的图像。而医学显微图像的特征是相对比较规整,但是对分割的精细度(特别是边界的分割)要求很高,我自己的理解是对其每个部分的语义(也就是分类)的准确率反倒是不那么的高,当然如果能判断的很准是最好。原创 2023-11-13 10:53:02 · 1841 阅读 · 0 评论 -
语义分割网络系列——FCN,全卷积网络
这个专栏的前面一些文章,已经设计到了图像网络,或者说机器视觉的两个主要任务:分类和检测。现在来说说另外一个任务:分割(Segmentation)。一般来说,分类相对比较简单一点,通过一个基础网络(backbone)就可以完成任务,从LeNet,AlexNet,到ResNet,SENet等,都是通过基础网络完成分类任务。在分类网络的基础上,加上一些detector head,比如RCNN引入的ROI Pooling,RPN等;YOLO1-5引入的回归,anchor等。就可以完成目标检测的任务。原创 2023-11-09 16:25:38 · 1843 阅读 · 0 评论 -
目标检测网络系列——YOLO V4
YOLO4的设计目标也还是YOLO系列的主要关注点,就是要快。The main goal of this work is designing a fast operating speed of an object detector in production systems and optimization for parallel computations, rather than the low computation volume theoretical indicator (BFLOP)YOLO4原创 2023-11-06 14:57:29 · 2248 阅读 · 0 评论 -
CSPNet: Cross Stage Partial Network
也就是浅层的特征图可以通过shortcut的方式正向传播到后面的层,同样,在反向传播的同时,后面层出来的梯度会通过shortcut传播到千层。也就是说在反向传播的时候,相当于第k层的梯度会传播到k-1,k-2,一直到最前面的第一层。从我自己对这个结构的理解来说,我认为CSP的作用在于可以将一部分的特征图直接拼接到过去,不需要通过densenet到反向传播来进行更新,这样就可以节省这部分权重参数的更新,从而节省计算量(进入densenet的input channel少了,那么对应卷积层的参数也会减少)。原创 2023-11-04 19:03:17 · 1978 阅读 · 0 评论 -
FPN-特征金字塔网络
整个过程就是当一个input image进入ResNet后,以ResNet的第2,3,4个stage的最后一个卷积层输出作为基础,构造一个金字塔结构的FPN,然后每个金字塔level直接通过同一个ROI层(7 * 7的网格,每个网格做pooling),然后再通过两个1024的FC层,最后进入fast rcnn的predictor header,进行分类和bounding box的预测。这样的效果和标准的FPN比,AR下降的比较多,论文认为是缺乏多层的语义信息。那FPN接进来之后,就可以支持多尺度的图了。原创 2023-11-03 18:01:33 · 1890 阅读 · 0 评论 -
CBAM:卷积注意力机制
在继续说yolo4之前,还需要补充一些基本的网络和tricks。前面已经补充了一篇ResNeXt的网络结构,这一篇来说说一种新的注意力机制:卷积块注意力机制:CBAM: Convolutional Block Attention Module。在CBAM论文里提到的是综合了spatial attention(空间注意力)和channel attention(通道注意力)两种注意力机制来提高准确率。原创 2023-10-26 20:05:17 · 2011 阅读 · 0 评论 -
ResNeXt网络结构解析
按计划是继续来解读yolo4的论文,但是yolo4的论文基本上是一个大杂烩,就是把各种各样的技术做了一个对比和综合,里面涉及到很多基础网络和tricks,有点类似于把这些基础网络和tricks做了一个乐高积木的拼接。其实我个人觉得yolo4的一个重要作用就是把目标检测总结成了若干个阶段,更有结构化一点,这个我们等到了说yolo4的时候再细说。原创 2023-10-24 11:53:37 · 1817 阅读 · 0 评论 -
目标检测网络系列——YOLOV3
YOLO V3的论文篇幅比较短,感觉比较随意,和一般论文最大的区别就是把对比实验去掉了,在摘要和论文的最后说到YOLO3是一个好的目标检测网络就没有了。但是YOLO3确实是一个非常牛逼的网络,以至于YOLO3的官网上的代码都是从yolo3开始,前面两个都没有了。接下来就讲讲这个yolo3,论文中对改进点都一笔带过,我们这里就稍微的展开一下,把背后的逻辑梳理一下。原创 2023-10-17 11:31:56 · 2445 阅读 · 0 评论 -
目标检测网络系列——YOLO V2
在这一小节开头就提到了,在YOLO v1中,是直接预测了bounding box的,而在Faster RCNN中,是通过RPN中,再配合精心挑选的(hand-picked)的anchor来预测了bounding box的offset,然后再通过回归进行调整的。然后再根据上面的条件概率,从WordTree的顶端开始往下搜索,每次都选择子节点中概率最大的路径,然后再通过条件概率的乘积往下连乘,直到碰到某个阈值,也就是连乘出来的概率值低于阈值了,那么类别就是这个节点的类别了。也就是说所有的类别之间是互斥的。原创 2023-10-11 11:27:41 · 2089 阅读 · 0 评论 -
目标检测网络系列——YOLO V1
上图中,一张图像中的一个bounding box区域(这里和RCNN不一样,不是通过某种候选框方法选出来的,后面会说到)经过一个神经网络后,直接讲这个box区域的位置信息和类型信息的预测一起通过回归的方法计算出来(在深度网络里,一般来说,回归方法就是全连接层。在论文的第三章,比较了YOLO,DPM,RCNN系列,Deep MultiBox,OverFeat,MultiGrasp等各种目标检测结构的异同,这里不细说,回头有机会单独写一些DPM和OverFeat,这两个结构在目标检测的文章中出现的次数比较多。原创 2023-09-30 21:10:14 · 2337 阅读 · 0 评论 -
目标检测网络系列——Faster-RCNN(实验部分)
这一篇来说说论文中的对比实验部分。原创 2023-09-26 17:15:41 · 2179 阅读 · 0 评论 -
目标检测网络系列——Faster-RCNN(原理部分)
前面三篇文章已经把RCNN系列的前两个网络说了一下。这篇文章就来说一说RCNN的第三个网络:Faster-RCNN,是RCNN中的一个里程碑式的网络。原创 2023-09-24 10:29:20 · 1868 阅读 · 0 评论 -
目标检测网络之Fast-RCNN
RCNN的速度确实很慢,一张图像的推理时间要好几秒,SPP在RCNN的基础上做了一个改动,也就是不是所有的候选框都需要通过卷积层,而是整张图像经过卷积层后形成特征图,然后通过SS方法挑选出的候选框通过一种方法直接映射到特征图上,形成候选框的特征图进入后面的SPP和FC层,详情可以参考我这个专栏中的RCNN的文章。论文中提到了,当使用。那么论文中就提到,这样每个训练数据都是来自于不同的图像,所以会导致低效的训练,是因为要保存这么多的图像及其RoI,需要使用很多的存储空间,特别是内存空间。原创 2023-09-18 10:08:08 · 2234 阅读 · 0 评论 -
SPPNet:金字塔网络
SPP结构是由提出ResNet的何大神在论文《Spatial Pyramid Pooling in Deep Convolutional Networks for Visual Recognition》中提出的,主要就是可以解决CNN输入需要固定尺寸的问题,而且在分类和目标检测中都可以得到比较好的效果。原创 2023-09-12 17:54:26 · 1910 阅读 · 0 评论 -
目标检测网络系列之R-CNN
之前已经写了好几篇文章解析了一些经典的深度网络结构,从经典的LeNet,AlexNet到VGG,GoogleNet(Inception),再到大名鼎鼎的ResNet,后续的随机网络,DenseNet等。还有就是介绍了经典的两种注意力机制:空间注意力机制STN和通道注意力机制SENet。本来想继续讲CBAM综合注意力机制的,但是发现后面基本上都会提到图像识别三大任务的另外两个任务:目标检测和分割。所以就先把CBAM放一放,来说一说另外的一个图像识别任务:目标检测。原创 2023-09-07 14:54:24 · 2265 阅读 · 2 评论 -
Spatial Transformer Networks-空间注意力机制
在上一篇讲SENet的文章中,里面提到的Squeeze-excitation block引入的技术可以被称作是通道注意力机制:channel attention。既然提到了注意力机制,那么这几篇就来说说注意力机制的事情,SENet是在2019年提出的,在2015年的时候,就有一篇论文提出了另一个维度的注意力机制:空间注意力机制,论文为:Spatial Transformer Networks。原创 2023-09-01 14:22:11 · 1902 阅读 · 0 评论 -
SENet网络分析
Squuze-and-Excitation网络是针对表达能力的改造,和前面两篇不一样,提出的是一个叫SE block的结构。这个结构可以灵活的集成到之前的网络结构中去,比如VGG,RESNet等,也可以自己组成一个自己的SENet。更关键的是,这个SE block提到了深度学习中一个很重要的词:注意力机制。我们先简单说说注意力机制。原创 2023-08-18 18:21:49 · 1847 阅读 · 0 评论 -
Deep Networks with Stochastic Depth - 动态随机网络
这个残差网络结构非常的经典,所以有不少后续的研究都是基于这个网络的改进,这一篇就来说一说其中的一个经典改进:随机动态网络——Stochastic Depth。论文:Deep Networks with Stochastic Depth论文提供了基于lua的代码:https://github.com/yueatsprograms/Stochastic_Depth。原创 2023-08-08 12:13:51 · 1944 阅读 · 0 评论 -
ResNet-残差网络二
上一篇讲了 ResNet 论文中的第一篇:Deep Residual Learning for Image Recognition,主要是介绍了残差网络解决了网络随着深度的增加而带来的退化问题;介绍了残差的概念及两种残差结构;最后通过丰富的实验来证明残差结构对增加网络深度,增强表达能力的准确率有足够的优化作用,而且不会带来网络退化的问题。这一篇来说说 ResNet 论文的第二篇:Identity Mappings in Deep Residual Networks。原创 2023-08-04 17:57:04 · 1893 阅读 · 0 评论 -
ResNet-残差网络一
其中第一篇主要讲的是残差网络模块,简单介绍了下基本逻辑。然后就是引入到VGG-19网络中去,来验证残差网络的先进性。第二篇就是深入讨论了这个残差背后的逻辑,并进一步优化了这个残差结构。原创 2023-08-03 14:55:04 · 1869 阅读 · 0 评论 -
GoogleLeNet Inception V2 & V3
前一篇的Batch Normalization只是Inception V2,V3的一个前菜。真正提出Inception V2,V3的概念的是在论文Rethinking the Inception Architecture for Computer Vision中,这篇论文中综合了Batch Normalization的概念,然后提出了自己的一些改进。通过不同的组合,形成了Inception V2,V3的概念。原创 2023-08-01 11:58:54 · 1836 阅读 · 0 评论 -
经典CNN网络论文总结-LeNet/AlexNet/VGG/R-CNN
在VGG中的一个核心设计原则就是:小的卷积核 + 较大的网络深度,根据实验结果,效果比大的卷积核 + 较浅的网络深度要好。原创 2023-07-20 23:17:01 · 234 阅读 · 0 评论 -
pytorch构建深度网络的基本概念——随机梯度下降
深度学习中权重更新的经典方法:随机梯度下降,介绍什么是梯度,为什么是下降,又为什么是随机原创 2023-07-13 21:56:10 · 556 阅读 · 0 评论 -
构建一个pytorch手写网络的基本流程
在pytorch框架里,定义自己的网络框架一般分为两个部分,网络结构和推理过程。上面已经简单说了没一个组件层的作用,直接把这些层拼到一起。首先把一个三通道图像进入一个卷积层,输出一个32个通道的3维向量然后把这个卷积层的负值去掉。重复再做一次卷积,扩展到64个通道,并去掉负值做一次池化,或者说最大降采样做一次降维,降到2维,因为进入模型的张量第一维是batchSize,图像数据到第二维的Channel就行了。原创 2023-04-23 12:12:51 · 304 阅读 · 0 评论 -
GoogleLeNet V2 & V3 —— Batch Normalization
GoogleLeNet出来之后,Google在这个基础上又演进了几个版本,一般来说是说有4个版本,之前的那个是V1,然后有一个V2,V3和V4。其中,第一篇是提出了一个重要的概念:Batch Normalization,是针对内部协变量偏移问题的,简单的说就是加速训练过程。把BN作为激活层之前的另外一个网络层,可以加速网络训练的收敛速度。第二篇就提出了一些新的卷积方法等,然后总和第一篇论文一起就提出了一个inception v2的网络结构,没有明确提到v3,但是其中的一些变形作为了v3版本。原创 2023-07-28 17:33:35 · 2071 阅读 · 0 评论 -
GoogleLeNet Inception V1
GoogleLeNet简单解析,引入的Inception V1和多softmax输出原创 2023-07-25 11:57:55 · 1821 阅读 · 0 评论 -
pytorch构建深度网络的基本概念——交叉熵
说说什么是信息量,熵,交叉熵,引入pytorch中的函数torch.nn.CrossEntropyLoss原创 2023-07-13 23:13:44 · 530 阅读 · 0 评论 -
【深度学习图像处理】- APP技术准备
关于图像处理,现在主流的方式基本分为两种。 第一是传统的图像处理方式,就是使用形态学,拓扑学,统计学的一些方式来处理图像的像素。从而达到处理的目的,这个我已经完成了一个专栏了,主要是使用opencv框架来进行一些处理。 第二种就是利用深度神经网络来对图像进行处理,大的方面主要分为检测,分割,识别等任务。 之前的几个小项目,用传统图像处理的方式基本就可以搞定,但是再复杂一点的项目,就必须使用深度网络来处理了。原创 2023-03-29 22:01:18 · 363 阅读 · 0 评论