吴恩达【深度学习工程师】 04.卷积神经网络 第三周目标检测 (1)基本的对象检测算法

该笔记介绍的是《卷积神经网络》系列第三周:目标检测(1)基本的对象检测算法

主要内容有:

1.目标定位

2.特征点检测

3.目标检测



 目标定位

使用算法判断图片中是不是目标物体,如果是还要再图片中标出其位置并使用边框标记出来

                            

我们研究过的问题中,图片分类的思想可以帮助学习分类定位,而分类定位的思想又可以帮助学习对象检测

    a.分类定位问题,通常有一个较大的对象位于图片中间位置。

    b.对象检测问题,图片可以含有多个对象,或一张图片中会有多个不同分类的对象。

图片分类对分类定位的帮助:

    对于普通的图片分类网络:

    

    分类定位是在图片分类网络上加入了全连接层的输出bx,by,bh,bw和一个分类标签(c1,c2,c3

       

定义目标标签y

标签y为:

       

元素含义:

    a. 元素Pc:表示被检测对象某一分类的概率(是否含有关心的检测的对象)。对于视频提到的列子而言,要检验车、摩托车、行人、景物。但是前三个检测对象是我们关心的,那么如果出现Pc为1,图片为景物或者其他不是我们关系的则Pc为0。

    b. 元素bx,by:为标记边框的中心位置坐标,一般要(bx,by)表示。图片左上角标记为(0,0),右下角标记为(1,1)。

    c. 元素bh,bw:为标记边框的长高。bw为长,bh为高。

    d. 元素c1,c2,c3.....cn:为分类标签,n对应自己实际的分类标签个数。但是在c1,c2,c3.....cn中只有一个为1。视频中关心的分类标签只有车,摩托车和行人,所以n只到3.

损失函数:

    Pc为1时,损失值等于每个元素相应差值的平方

      

    Pc为0时,只需关注神经网络输出Pc的准确性,y1即为Pc

      

特征点检测

神经网络可以通过输出图片上的特征点(x,y)坐标,来实现对目标特征的识别。

为了构建这样的网络,你需要选定特征点的个数,并生成包含这些特征点的标签训练集图片X和标签Y(这些特征都是人为辛苦标记出来的),然后利用神经网络训练,输出图片中特征点的位置

                                  

目标检测

基于滑动窗口构目标检测算法

第一步:创建一个标签训练集,训练集为适当剪切过的图片样本,使检测对象位于中心位置,并且基本占据整张图片

    

第二步:开始训练神经网络,接下来使用这个网络实现滑动窗口检测

         

第三步:滑动窗口检测

先选择特定大小的窗口,以固定不服滑动窗口,遍历截取图像的每一个区域,把截取的小图片输入到上面训练过的卷积网络中,对每个位置按0或1进行分类(判断截取图片中是否存在待检测对象)。选取更大的窗口重复以上操作。

                

 卷积的滑动窗口(对上面算法的改进)

把全连接层转化为卷积层:

原理:视频上说是,从数学角度来看转换的卷积层与全连接层一样,400个节点中每一个节点都有一个5x5x16维度的过滤器,这些值都是上一层这些5X5X16激活值经过某个任意线性函数的输出结果。

全连接模型:

改为卷积层:把FC全连接层转化为使用16个5x5过滤器实现,之后的FC层使用400个1x1过滤器实现(最后一个1x1过滤器处理如同FC的softmax函数)。

通过卷积实现滑动窗口对象检测算法:

对于单个卷积实现过程:

卷积滑动窗口实现过程:卷积滑动其实可以把窗口看成卷积神经网络的过滤器,滑动的步长即为过滤器的步长。这样我们就不需要把输入图片进行分割了而是把其当成一整张图片输入卷积网络进行计算,其中公共区域可以共享很多计算。

      

原文地址:https://www.cnblogs.com/-1024/p/8907148.html

时间: 2024-11-15 11:55:17

吴恩达【深度学习工程师】 04.卷积神经网络 第三周目标检测 (1)基本的对象检测算法的相关文章

吴恩达深度学习课程第一课 — 神经网络与深度学习 — 第一周练习

课程一 - 神经网络和深度学习 第一周 - 深度学习简介 第 1 题 “人工智能是新电力”这个比喻指的是什么? A.人工智能为我们的家庭和办公室的个人设备供电,类似于电力. B.通过“智能电网”,人工智能正在传递新一波的电力. C.人工智能在计算机上运行,因此由电力驱动,但它让计算机做以前不可能做的事情. D.与100年前开始的电力类似,人工智能正在改变多个行业. 第 2 题 以下哪些是最近深度学习开始崛起的原因?(选2个答案) A.我们拥有了更多的计算能力 B.神经网络是一个崭新的领域. C.

吴恩达深度学习:1.2什么是神经网络

写在开头的话,本博客内容全部来自吴恩达深度学习教学课程,插图均来自吴恩达课件,在此说明来处,不喜勿喷! 一.什么是神经网络 1.我们从一个房屋加个预测的例子开始,假设有一个6间房间的数据集,已知房屋的面积单位是平方米或者平方英尺,已知房屋加个,现在想要找到一个函数,根据房屋面积来预测房屋价格的函数.如果有机器学习的只是,可以用线性回归得到这样的一条直线: 但是我们知道,价格永远不可能为一个负值,所以用一个直线的线性回归进行预测不太合适,我们可以在size轴将预测线弯曲一点,让他结束于0,我们所要

吴恩达-深度学习-课程笔记-7: 优化算法( Week 2 )

1 Mini-batch梯度下降 在做梯度下降的时候,不选取训练集的所有样本计算损失函数,而是切分成很多个相等的部分,每个部分称为一个mini-batch,我们对一个mini-batch的数据计算代价,做完梯度下降,再对下一个mini-batch做梯度下降.比如500w个数据,一个mini-batch设为1000的话,我们就做5000次梯度下降(5000个mini-batch,每个mini-batch样本数为1000,总共500w个样本). 对于batch梯度下降(每次计算所有的样本),随着迭代

吴恩达-深度学习-课程笔记-6: 深度学习的实用层面( Week 1 )

1 训练/验证/测试集( Train/Dev/test sets ) 构建神经网络的时候有些参数需要选择,比如层数,单元数,学习率,激活函数.这些参数可以通过在验证集上的表现好坏来进行选择. 前几年机器学习普遍的做法: 把数据分成60%训练集,20%验证集,20%测试集.如果有指明的测试集,那就用把数据分成70%训练集,30%验证集. 现在数据量大了,那么验证集和数据集的比例会变小.比如我们有100w的数据,取1w条数据来评估就可以了,取1w做验证集,1w做测试集,剩下的用来训练,即98%的训练

吴恩达-深度学习-课程笔记-8: 超参数调试、Batch正则化和softmax( Week 3 )

1 调试处理( tuning process ) 如下图所示,ng认为学习速率α是需要调试的最重要的超参数. 其次重要的是momentum算法的β参数(一般设为0.9),隐藏单元数和mini-batch的大小. 第三重要的是神经网络的层数和学习率衰减 adam算法的三个参数一般不调整,设定为0.9, 0.999, 10^-8. 注意这些直觉是ng的经验,ng自己说了,可能其它的深度学习研究者是不这么认为的. 那么如何选择参数呢?下面介绍两个策略,随机搜索和精细搜索. 早一代的机器学习算法中,如下

吴恩达 深度学习笔记+作业 (一)

1.1.2 Building basic functions with numpy 1.1.2.2 numpy.exp, sigmoid, sigmoid gradient import numpy as np def sigmoid(x): s = 1/(1+np.exp(-x)) return s # 设sigmoid为s, s' = s*(1-s) def sigmoid_derivative(x): s = 1/(1+np.exp(-x)) ds = s*(1-s) return ds

吴恩达深度学习专项课程3学习笔记/week1/Setting up ML Application

应用ML是一个高度迭代的过程 Idea->Code->Experment->... 去不断地调整超参数. Train/Dev/Test sets 通常将数据集划分为Train/Dev/Test集. Training set: 用于模型的训练 Hold-out cross validation set/Developmet set: 用于测试,调整模型超参数 Test set: 用于最终评估 以前的ML问题:数据规模在w级,通常70/30划分Train/Test集或者60/20/20比例划

吴恩达深度学习课程第二课-改善深层神经网络

第一周 深度学习的实用层面 1.1 训练,配置,测试训练集 学习完如何构建神经网络,接下来学习如何高效运行神经网络 数据集划分: train,dev,test: 在train中训练模型,利用dev选择最佳模型,利用test测试最终模型 1.2 偏差Bias,方差Variance 欠拟合(高偏差),过拟合(高方差) 1.3 处理欠拟合,过拟合方案 1.4 正则化Regularization 原文地址:https://www.cnblogs.com/nrocky/p/12114269.html

吴恩达深度学习笔记(deeplearning.ai)之卷积神经网络(二)

经典网络 LeNet-5 AlexNet VGG Ng介绍了上述三个在计算机视觉中的经典网络.网络深度逐渐增加,训练的参数数量也骤增.AlexNet大约6000万参数,VGG大约上亿参数. 从中我们可以学习到: 随着网络深度增加,模型的效果能够提升. 另外,VGG网络虽然很深,但是其结构比较规整.每经过一次池化层(过滤器大小为2,步长为2),图像的长度和宽度折半:每经过一次卷积层,输出数据的channel数量加倍,即卷积层中过滤器(filter)的数量. 残差网络(ResNet) 由于存在梯度消