
计算机视觉
文章平均质量分 93
宝贝儿好
李园园
展开
-
【深度视觉】第十七章:卷积网络的可视化
十七、卷积网络可视化至此,不管是分类任务还是检测任务还是生成任务,我们都已经学了各个任务中的经典网络。那为什么这些架构有效呢?其中可视化是最直观的解释,所以本章讲讲可视化。 可视化可以让我们人类直观的看到卷积网络中到底发生了什么:1、神经网络第一层卷积层的卷积核组的可视化:从上图可以看出,不管是简单的alexnet还是复杂的densenet,它的第一层学的模板(卷积核组)都是一些简单的基元,比如点、线、斑、带状等这些简单的东西。也就是第一层卷积层是从输入的原图上抽取了原图的一些基元。也就是第一层原创 2024-04-25 11:50:47 · 1853 阅读 · 0 评论 -
【深度视觉】第十六章:生成网络4——条件GAN之cGAN、SGAN、ACGAN、infoGAN、LAPGAN
这里的标签指的是真实数据的真实标签,比如mnist数据集,真实数据的真实标签就是123456789这10个数字。那如何把这个标签信息喂入模型?但是cgan的这种输入标签的做法,会出现模型不一定会重视你输入的标签信息的情况,此时infogan提出了一 个解决方案:infogan提出给损失函数加入一项:“能以某种评估指标衡量生成的图像G(x/c)与额外信息(c)之间 的相关性”项。那把标签都输入模型了,那模型的输出就是在知道标签的条件下的预测结果,所以生成器的输出结果和判别器的预测结果,就都是一个条件概率了。原创 2024-04-24 15:55:29 · 2845 阅读 · 0 评论 -
【深度视觉】第十五章:生成网络3——LSGAN、WGAN
但是一旦算出推土机距离,那就都是最优的距离,而所有的最优距离是单调的,如下图所示,d0一定是大于d50的,d50一定是大于0的。LSGAN针对GAN的问题,一是它抛弃了架构最后的sigmoid激活函数,之间输出结果,二是它对损失函数进行了改进,它不采用二分类交叉熵了(也就是KL散度),它采用回归的方法,让模型最后的输出往0和1上靠,就是真样本的标签是1,假样本的标签是0,但是损失函数是L1或者L2距离了,因为是回归嘛。所以cgan的损失函数和普通的gan的损失函数其实是一样的。原创 2024-04-23 15:31:16 · 952 阅读 · 0 评论 -
【深度视觉】第十四章:生成网络2——GAN、DCGAN
比如,如果你的损失函数仅仅是判别器的判别损失,那就是二分类交叉熵损失,这么一个损失函数时,那生成器就不往越真的方向迭代了啊,此时生成器越摆烂越好,判别器也可以轻松把真判为真、把假判为假,此时损失是垮垮往下降的啊。,也就是判别器输出的是一类标签下的概率,就是当判别器输出大于0.5(当然这个阈值你可以自己定),就是认为是标签1的概率,也就是认为图片是真的概率,当判别器的概率小于0.5,就说明判别器认为生成器生成的是假数据。判别器的目标是让自己的判断准确性越来 越高,尽量判别出真伪,所以判别器的迭代方向是向。原创 2024-04-19 10:29:45 · 1283 阅读 · 1 评论 -
【深度视觉】第十三章:生成网络1——PixelRNN/CNN、VAE
我们前面学习的模型都是有监督学习,就是模型在训练的时候一定是要有标签的。因为没标签你就没法计算损失,没有损失就没法反向计算梯度,就没法训练模型了,所以一定得要标签才能训练的模型都是有监督学习。比如,生成模型就是一种无监督学习模型,还比如机器学习中的聚类算法、降维算法等也都是无监督学习模型。这个就是聚类算法中的其中一个,感兴趣的可以看看。机器学习算法和深度学习算法是有本质上的不同的,个人认为机器学习算法更难一些,也更精巧一些,都是人类智慧的精华,非常巧妙,当然其中牵扯到的数学就比深度学习上难得多。原创 2024-04-13 10:35:49 · 756 阅读 · 0 评论 -
【深度视觉】第十二章:目标检测、实例分割
但是后者这样做就会出现一个问题:上图的C处,你裁剪和缩放完毕后,整个网络的梯度被打断了啊,裁剪和缩放是没法回传梯度的!补充:以后我们要是学人的检测,就是先定义一些人的关键的,然后检测图片中有没有人(分类任务),如果有,那么这个人的关键点坐标是什么(就是再回归你定义的那些关键点的坐标),就可以采取这种方式检测。现在手机里的人脸检测,就是这样穷举图片中的所有区域进行判断是不是人脸,但是它用的判别器不是CNN是Adaboost,因为Adaboost快呀,但CNN就不行了。原创 2024-04-11 19:08:23 · 1115 阅读 · 0 评论 -
【深度视觉】第十一章:语义分隔
而Unet在医疗图像分隔领域之所以这么好,我感觉是:我们知道浅层卷积关注的是图像的纹理特征,就是关注的是图像的细节点,而深层卷积则关注的是高层语义信息,就是图像的轮廓等更大感受野的信息。因为通过反卷积得到的更大的尺寸的特征图的边缘,是缺少信息的,毕竟每一次下采样提炼特征的同时,也必然会损失一些边缘特征,而失去的特征并不能从上采样中找回,因此通过特征的拼接,来实现边缘特征的一个找回是非常有意义的。分类是对图像了解程度最浅的一个任务,分类模型得到的信息也是最少的,也就是标签只有"是"或"不是"这种简单的信息。原创 2024-03-22 16:01:30 · 1471 阅读 · 0 评论 -
【深度视觉】第十章:复现SOTA 模型:ResNet
十二、复现SOTA 模型:ResNet大名鼎鼎的残差网络ResNet是深度学习中的一个里程碑式的模型,也深度学习中的一个重要概念,几乎各类视觉任务中都能见到它的身影。不同于前面的经典模型,resnet一个深层网络,它是由来自Microsoft Research的4位学者何凯明、张翔宇、任少卿、孙剑共同提出的,论文是《Deep Residual Learning for Image Recognition》。前面我们一直说深层网络的效果比浅层好。这也是业界的一个共识,所以大家都在试图加深网络。但是原创 2024-01-26 22:39:57 · 1592 阅读 · 0 评论 -
【深度视觉】第九章:复现SOTA 模型:GoogLeNet
但是实际上googlenet在最后还是加了一个全连接层,但主要目的是为了方便以后如果分类的类别数目变了,大家可以通过微调finetune就可以迁移学习了,这个线性层并不承担传统意义上的全连接层的信息混合和特征间函数关系的学习,仅仅是充当的是一个分类的作用而已。此后的V4更是可以达到3%的错误率。另外,在后来的InceptionV3中,在不改变感受野同时减少参数的情况下,采用1*n和n*1的卷积核并联来代替InceptionV1-V2中n*n的卷积核(发掘特征图的高的特征,以及特征图的宽的特征)。原创 2024-01-26 22:24:59 · 1156 阅读 · 0 评论 -
【深度视觉】第八章:复现经典架构:LeNet5、AlexNet、VGGNet、NiN
而且此后的方案都已经不是一些通用的方法来解决问题了,而是过度使用数据集中的特有特点,来降低错误率,这就相当于针对特定问题而解决问题,而不是找到一些通用方法解决普遍问题了,就是后来的架构可以在imgenet数据集上取得很好的效果,但在其他别的数据集上效果就没这么好了,相当于是进入了过拟合阶段,所以也就没必要继续刷错误率了。所以到这里才开始真正学架构。从上图可以看到,在2012年之前,ILSVRC大赛上的图像识别都是用的是机器学习的方法,比如特征提取+支持向量机的方式,每年比上年刷新1-2个百分点的进度提升。原创 2024-01-25 11:54:21 · 827 阅读 · 0 评论 -
【深度视觉】第七章:深度学习中的重要概念和思想碎碎念
(1)随机失活除了防止过拟合外,还有一个重要功能:我们知道每个神经的权值都是模型学习的模板(前面重点讲过,还写了一个小案例展示),当我们随机失活一些神经元,就是随机屏蔽掉一些模板,如果我们的模型还能有很好效果就说明,我们的模型学习了很多各个角度的模板,比如人脸识别,就是不仅学了脸上的眼睛模板还学了鼻子模板,还学了嘴巴模板,此时如果我们把眼睛挡住了,模型还是可以通过鼻子和嘴巴识别出这个人的脸。当模型优化完毕后,把测试集放到模型上预测,看模型对测试集的表现,如果表现和训练集差不多,就是你模型的泛化能力不错。原创 2024-01-24 12:57:29 · 913 阅读 · 0 评论 -
【深度视觉】第六章:优化算法GD、SGD、动量法、AdaGrad、RMSProp、Adam、AMSGrad
八、优化算法:GD、SGD、动量法、AdaGrad、RMSProp、Adam、AMSGrad优化算法是深度学习中的关键环节,我们经常说的炼丹主要指的就是这个环节。1、优化算法是解决什么的?优化算法的种类?我们已经知道,当样本数据正向传播一次,就会得到网络的一次预测,而网络的预测和样本标签又构成了我们的损失loss,我们的目标就是让loss最小化。一般我们都把loss看做上图1的山川。就是这个loss在有的维度上比较陡峭,同时在其他有的维度上比较平坦。而我们计算出loss时的网络参数w就是上图原创 2024-01-24 12:40:42 · 2754 阅读 · 0 评论 -
【深度视觉】第五章:卷积网络的重要概念及花式卷积
同时,上一个卷积层的数据和下一个卷积层的数据之间不是像DNN那样的全链接,而是上一层的部分信息和下一层的部分信息相关,因为下一层的信息是通过卷积核和上一层对应的感受野做点积传递到下一层的一个点上的。或者说,就是下一层的特征图上的某个数字只和它上一层特征图的对应位置的感受野范围内的数字相关,和上一层特征图其他位置的数值无关,所以是局部连接。不管你的图像是几乘几的尺寸、不管你有多少张这样的图像,这些张图像在用卷积核进行扫描提取特征的时候,参数都是卷积核尺寸里的几个参数乘以图像的张数,这么多个参数。原创 2024-01-22 23:16:27 · 1378 阅读 · 0 评论 -
【深度视觉】第四章:卷积神经网络架构
此外,我们前面说过,卷积操作的目的是把原图像的信息压缩提取数据特征,图像数据经过卷积层后被提取的特征的数据的大小就是最后一个卷积层输出的feature map和这些feature map的数量(通道数),然后我们将这些feature map的所有像素点拉平进入线性全连接层,所以在全连接层之前,我们能够从图像中提取多少信息就是我们的特征图的尺寸缩小到了什么样的水平,也就是原图图像整体像素缩小到了一个什么水平,而这个水平会严重影响卷积网络整体的预测效果和计算性能。二是,卷积核尺寸最好是奇数。原创 2024-01-21 10:41:48 · 1775 阅读 · 0 评论 -
【深度视觉】第三章:卷积网络诞生前:卷积、边缘、纹理、图像分类等
五、卷积网络诞生前:卷积、边缘、纹理、图像分类、卷积核的设计等前面第一章里面,已经讲过一点机器视觉的诞生史,但那都太久远,我觉得非常有必要把近期视觉发展的研究成果,也聊清楚,这对深入理解卷积网络是如何工作的非常有意义。在计算机视觉中,我们要处理图片就意味着,我们只要改变像素的取值即可改变图片。而如果我们要让计算机从图片中获取人类的语义信息,就需要计算这些图片的数字,并从中发现和提取数值规律,来解释和跨越人类和计算机之间的“语义鸿沟”,也就是要建立从像素到语义的映射关系。而这个问题的难点在于:比如原创 2024-01-20 12:42:37 · 1756 阅读 · 0 评论 -
【深度视觉】第二章:卷积网络的数据
四、卷积网络的数据上个系列我们详细讲解了pytorch框架下的全连接层神经网络DNN。本系列我们开始讲卷积神经网络CNN,Convolutional Neural Networks。上一章我截取了鲁鹏老师课件里面的一张图,详细展示了和计算机视觉相关的领域,显而易见,这门学科是一门交叉学科,所以尽管扩展你的知识域吧,比如,摄像设备性能,成像原理,图像数据的生成与获取,视频特效,3D,图像复原、图像分割、识别、几何、光学、信号处理等技术,你都要多多少少了解一些。1、卷积网络的数据结构我们还是从数据原创 2024-01-09 01:20:29 · 1860 阅读 · 1 评论 -
【深度视觉】第一章:知识体系框架介绍
因为人类是碳基生物,计算机是硅基生物,而且人类自己都没弄明白自己是怎么通过眼睛看到东西并回应的,而且计算机(摄像头)看到的东西和我们人类不一样啊,摄像头看到的都是数字而已,就是感光传感器根据光线的强弱,通过物理效应得到不同数量的光子,然后把每个像素的光子个数数一数而已。虽说这个bug是有利有弊的,利就是让我分辨的能力更强了,弊是,对于同一个客观存在的、不变的对象,可能不同的人、或者同一个人,在不同时空下看到的可能都是不同的!刚开始他们拿很多猫的食物,比如鱼什么的,让这些猫看,很失望,猫没反应。原创 2024-01-05 18:30:58 · 1808 阅读 · 0 评论