摘要: 非极大值抑制(Non-max suppression) 到目前为止你们学到的对象检测中的一个问题是,你的算法可能对同一个对象做出多次检测,所以算法不是对某个对象检测出一次,而是检测出多次。非极大值抑制这个方法可以确保你的算法对每个对象只检测一次. 来,我们吃一颗栗子: 假设你需要在这张图片里检测行人 阅读全文
posted @ 2020-02-27 21:44 刘通1997 阅读(557) 评论(0) 推荐(0)
摘要: 交并比(Intersection over union) 你如何判断对象检测算法运作良好呢?在本笔记中,你将了解到并交比函数,可以用来评价对象检测算法。在下一个笔记中,我们用它来插入一个分量来进一步改善检测算法,我们开始吧。 在对象检测任务中,你希望能够同时定位对象,所以如果实际边界框是这样的,你的 阅读全文
posted @ 2020-02-27 21:42 刘通1997 阅读(911) 评论(0) 推荐(0)
摘要: Bounding Box预测(Bounding box predictions) 在上一篇笔记中,你们学到了滑动窗口法的卷积实现,这个算法效率更高,但仍然存在问题,不能输出最精准的边界框。在这个笔记中,我们看看如何得到更精准的边界框。 在滑动窗口法中,你取这些离散的位置集合,然后在它们上运行分类器, 阅读全文
posted @ 2020-02-27 21:40 刘通1997 阅读(3822) 评论(0) 推荐(0)
摘要: 卷积的滑动窗口实现(Convolutional implementation of sliding windows) 上节笔记,我们学习了如何通过卷积网络实现滑动窗口对象检测算法,但效率很低。这节课我们讲讲如何在卷积层上应用这个算法。 为了构建滑动窗口的卷积应用,首先要知道如何把神经网络的全连接层转 阅读全文
posted @ 2020-02-27 21:36 刘通1997 阅读(1137) 评论(1) 推荐(0)
摘要: 目标检测(Object detection) 学过了对象定位和特征点检测,今天我们来构建一个对象检测算法。这节课,我们将学习如何通过卷积网络进行对象检测,采用的是基于滑动窗口的目标检测算法。 假如你想构建一个汽车检测算法,步骤是(以上图为例), 首先创建一个标签训练集,也就是x和y表示适当剪切的汽车 阅读全文
posted @ 2020-02-27 21:33 刘通1997 阅读(448) 评论(0) 推荐(0)
摘要: 特征点检测(Landmark detection) 上节课,我们讲了如何利用神经网络进行对象定位,即通过输出四个参数值b_x、b_y、b_h和b_w给出图片中对象的边界框。更概括地说,神经网络可以通过输出图片上特征点的(x,y)坐标来实现对目标特征的识别,我们看几个例子。 假设你正在构建一个人脸识别 阅读全文
posted @ 2020-02-27 21:30 刘通1997 阅读(751) 评论(0) 推荐(0)
摘要: 这一周我们学习的主要内容是对象检测,它是计算机视觉领域中一个新兴的应用方向,相比前两年,它的性能越来越好。在构建对象检测之前,我们先了解一下对象定位,首先我们看看它的定义。 图片分类任务我们已经熟悉了,就是算法遍历图片,判断其中的对象是不是汽车,这就是图片分类。 这节课我们要学习构建神经网络的另一个 阅读全文
posted @ 2020-02-27 21:28 刘通1997 阅读(1363) 评论(0) 推荐(0)
摘要: 计算机视觉现状(The state of computer vision) 深度学习已经成功地应用于计算机视觉、自然语言处理、语音识别、在线广告、物流还有其他许多问题。 在计算机视觉的现状下,深度学习应用于计算机视觉应用有一些独特之处。 在这个笔记中,我将和你们分享一些我对深度学习在计算机视觉方面应 阅读全文
posted @ 2020-02-27 21:24 刘通1997 阅读(565) 评论(0) 推荐(0)
摘要: 数据扩充(Data augmentation) 大部分的计算机视觉任务使用很多的数据,所以数据扩充是经常使用的一种技巧来提高计算机视觉系统的表现。我认为计算机视觉是一个相当复杂的工作,你需要输入图像的像素值,然后弄清楚图片中有什么,似乎你需要学习一个复杂方程来做这件事。 在实践中,更多的数据对大多数 阅读全文
posted @ 2020-02-27 21:20 刘通1997 阅读(1802) 评论(0) 推荐(0)
摘要: 迁移学习(Transfer Learning) 如果你要做一个计算机视觉的应用,相比于从头训练权重,或者说从随机初始化权重开始,如果你下载别人已经训练好网络结构的权重,你通常能够进展的相当快,用这个作为预训练,然后转换到你感兴趣的任务上。 计算机视觉的研究社区非常喜欢把许多数据集上传到网上,如果你听 阅读全文
posted @ 2020-02-27 21:17 刘通1997 阅读(590) 评论(0) 推荐(0)
摘要: Inception 网络(Inception network) 在上节笔记中,你已经见到了所有的Inception网络基础模块。在本节笔记中,我们将学习如何将这些模块组合起来,构筑你自己的Inception网络。 Inception模块会将之前层的激活或者输出作为它的输入,作为前提,这是一个28×2 阅读全文
posted @ 2020-02-27 21:13 刘通1997 阅读(758) 评论(0) 推荐(0)
摘要: 谷歌 Inception 网络简介(Inception network motivation) 构建卷积层时,你要决定过滤器的大小究竟是1×1,3×3还是5×5,或者要不要添加池化层。而Inception网络的作用就是代替你来决定,虽然网络架构因此变得更加复杂,但网络表现却非常好,我们来了解一下其中 阅读全文
posted @ 2020-02-27 21:05 刘通1997 阅读(657) 评论(0) 推荐(0)
摘要: 网络中的网络以及 1×1 卷积(Network in Network and 1×1 convolutions) 在架构内容设计方面,其中一个比较有帮助的想法是使用1×1卷积。 也许你会好奇,1×1的卷积能做什么呢?不就是乘以数字么?听上去挺好笑的,结果并非如此,我们来具体看看。 过滤器为1×1,这 阅读全文
posted @ 2020-02-27 21:00 刘通1997 阅读(2562) 评论(0) 推荐(0)
摘要: 残差网络为什么有用?(Why ResNets work?) 为什么ResNets能有如此好的表现,我们来看个例子,它解释了其中的原因,至少可以说明,如何构建更深层次的ResNets网络的同时还不降低它们在训练集上的效率。 通常来讲,网络在训练集上表现好,才能在Hold-Out交叉验证集或dev集和测 阅读全文
posted @ 2020-02-27 20:54 刘通1997 阅读(843) 评论(0) 推荐(0)
摘要: 残差网络(Residual Networks (ResNets)) 非常非常深的神经网络是很难训练的,非常非常深的神经网络是很难训练的,非常非常深的神经网络是很难训练的,记住这句话! 因为存在梯度消失和梯度爆炸问题。 这节课我们学习跳跃连接(Skip connection),它可以从某一层网络层获取 阅读全文
posted @ 2020-02-27 20:51 刘通1997 阅读(512) 评论(0) 推荐(0)
摘要: 经典网络(Classic networks) 这节课,我们来学习几个经典的神经网络结构,分别是LeNet-5、AlexNet和VGGNet。 LeNet-5 首先看看LeNet-5的网络结构, 假设你有一张32×32×1的图片,LeNet-5可以识别图中的手写数字,比如像这样手写数字7。LeNet- 阅读全文
posted @ 2020-02-27 20:35 刘通1997 阅读(887) 评论(0) 推荐(0)
摘要: 为什么要探索发展史(实例分析)? 我们首先来看看一些卷积神经网络的实例分析,为什么要看这些实例分析呢? 上周我们讲了基本构建,比如卷积层、池化层以及全连接层这些组件。 事实上,过去几年计算机视觉研究中的大量研究都集中在如何把这些基本构件组合起来,形成有效的卷积神经网络。 最直观的方式之一就是去看一些 阅读全文
posted @ 2020-02-27 20:19 刘通1997 阅读(1004) 评论(0) 推荐(0)
摘要: 为什么使用卷积?(Why convolutions?) 我们来分析一下卷积在神经网络中如此受用的原因,然后对如何整合这些卷积,如何通过一个标注过的训练集训练卷积神经网络做个简单概括。和只用全连接层相比,卷积层的两个主要优势在于参数共享和稀疏连接,举例说明一下。 假设有一张32×32×3维度的图片,这 阅读全文
posted @ 2020-02-27 20:18 刘通1997 阅读(926) 评论(0) 推荐(0)
摘要: 构建全卷积神经网络的构造模块我们已经掌握得差不多了,下面来看个例子。 假设,有一张大小为32×32×3的输入图片,这是一张RGB模式的图片,你想做手写体数字识别。32×32×3的RGB图片中含有某个数字,比如7,你想识别它是从0-9这10个数字中的哪一个,我们构建一个神经网络来实现这个功能。 我用的 阅读全文
posted @ 2020-02-27 20:15 刘通1997 阅读(591) 评论(0) 推荐(0)
摘要: 池化层(Pooling layers) 除了卷积层,卷积网络也经常使用池化层来缩减模型的大小,提高计算速度,同时提高所提取特征的鲁棒性,我们来看一下。 先举一个池化层的例子,然后我们再讨论池化层的必要性。假如输入是一个4×4矩阵,用到的池化类型是最大池化(max pooling)。执行最大池化的树池 阅读全文
posted @ 2020-02-27 19:56 刘通1997 阅读(2149) 评论(0) 推荐(0)