重在图像的定位和检测的内容。

一张图片中只有一种给定类别标签的对象,定位则是图像中有对象框;再这些类中,每一个训练目标都有一个类和许多的图像内部对应类的位置选框。

猜想的仅是类标签,不如说它们是位置选框。正确的位置选框,代表你的结果很接近分割的准确率。

研究定位的简单有用基础的范式,就是回归。

这张图片经过一系列的处理过程,最终生成四个代表选框大小的实数,有很多不同的参数来描述选框,人们常用的是用XY坐标定位选框的左上角

、宽度和高度,还有一些ground truth(真实准确的选框),计算欧式损失。

训练流程:

1.用ground truth边框对许多批样本进行抽样,and forward

2.get the loss between the predicted results and ground truth. and carry out the backward

3.download  the trained models like VGG、AlexNet. and get the FC layers of class scores

4.现在在这个网络里再接上一些新的全连接层,称为回归网络(regression head),输出的是一些实数。

5.训练这一个回归网络像训练分类网络一样,唯一的区别就是class scores 和class 的损失替换成了L2 loss 和

ground true 选框。

6. finally get the classification network and the regression network

Detail note:在进行回归时一共有两种主要方式,不定类回归(class-logostic regress ) :全连接层都使用相同的结构和权值来得到边界框(bounding box)

and 特定类回归(class- specific regress) :输出的是C * 4个数字,相当于每种类别有一个边界框。

两种回归的Discussion: 对一只猫和对火车确定边界总是有一些不同,你需要网络中有不同的处理来应对这个问题,

它稍微改变了计算损失的方式,它不仅仅是使用ground truth class 来计算损失。

网络在哪一个位置进行回归?

我们可以用这个框架对不止一种物体来划定边界框,输入一张图片,你需要提前知道固定数量的物体进行划定边界框,回归层

输出对于每个物体的边界框,同样训练。

应用于人类姿势判别:需要去找到人类的特定的关节,能够在XY轴上找每个关节的位置,从而让我们对这个人的姿势进行预测。

Idea 2: sliding window

思路:和之前的方法相比不只是运行一次,而是在不同的位置多次进行,再将不同的位置进行聚合。

Overfeat的结构:

过程:输入图片,在图片左上方进行分类和定位,进而得到类的分数和相应的边界框。重复这个操作,使用相同的分类和

定位网络,在这个图片的四个角落都运行一次,最终得到四个边界框,对于每个位置都有一个边界框和类的分数,并使用一些方法对边界框和分数进行合并,组合和据集不同位置的边界框可以帮助这个模型进行错误修正。

1.在实际操作中要使用远对于四个的边界框;

2.进行回归时,输出的是表示边界框的四个数字,这个数字理论上可能出现在任何地方,他不一定在图片内部,当你在用

sliding window 方法进行训练的时候,你对不同位置进行操作时坐标轴为进行一些改变,事实上,它们选取的位置对于四种.

Discussion: 高效的方法; 网络通常包含卷积网络和全连接网络,一个全连接网络由4096个数字构成,是一个vector,如果不把他看成一个vector,而将他看成另一个卷积的特征映射,这个方法是将全连接层转换成了卷积层,我们得到一个卷积特征映射;考虑通过一个5*5的卷积层,而不是特征特征映射。之后将全连接层转换为1*1的卷积。

我们使用了卷积运算替换了原先的全连接层,优势:网络只由卷积层和池化层的元素构成了,我们就可以使用不同尺寸的图片来运行网络,就可以处理不同尺寸的图片了,在不同大小的图片上使用相同的计算过程。

Discussion:

1、ResNet使用了另外一种定位算法叫RPN(region proposal network)

2、在L2损失值有一个极端值时,是很不好的,所以人们一般不用L2,也可以使用L1损失值,帮助解决极端值的问题,用一个平滑L1函数(Huber损失),看起来和普通的L1差不多,但在接近0的时候更像二次函数,但是里面有噪声的话就不会那么有效。

3.不要选取非反向传播的网络; 

4.因为在测试环节,你用的类和训练环节一样,在训练中也需要测试,我们不要求去做不同类之间的泛化,这太难了。

5.实际上人们有时候使用同一个网络,同时训练;有时候人们会分开,用一个网络训练回归,用另一个网络训练分类,两种都可以。

(Review cs231n) Spatial Localization and Detection(classification and localization)的更多相关文章

  1. AI - TensorFlow - 分类与回归(Classification vs Regression)

    分类与回归 分类(Classification)与回归(Regression)的区别在于输出变量的类型.通俗理解,定量输出称为回归,或者说是连续变量预测:定性输出称为分类,或者说是离散变量预测. 回归 ...

  2. HoG feature for human detection(HoG 行人识别)

    本文大部分内容总结于其他文章 1.介绍 HOG(Histogram of Oriented Gradient)是2005年CVPR会议上,法国国家计算机科学及自动控制研究所的Dalal等人提出的一种解 ...

  3. 【数字图像分析】基于Python实现 Canny Edge Detection(Canny 边缘检测算法)

    Canny 边缘检测算法 Steps: 高斯滤波平滑 计算梯度大小和方向 非极大值抑制 双阈值检测和连接 代码结构: Canny Edge Detection | Gaussian_Smoothing ...

  4. 深度学习论文翻译解析(十一):OverFeat: Integrated Recognition, Localization and Detection using Convolutional Networks

    论文标题:OverFeat: Integrated Recognition, Localization and Detection using Convolutional Networks 标题翻译: ...

  5. (Review cs231n) Object Detection

    目标:我们有几个类别,然后我们要在这张图中找到这些类的所有实例 解决思路:是否可以按照回归的思路进行求解呢? 但是受限制于确定的种类输出问题. 方法:分类和回归是解决问题的两个套路,我们现在对于目标的 ...

  6. 项目笔记《DeepLung:Deep 3D Dual Path Nets for Automated Pulmonary Nodule Detection and Classification》(三)(上)结果评估

    在(一)中,我将肺结节检测项目总结为三阶段,这里我要讲讲这个项目的第三阶段,至于第二阶段,由于数据增强部分的代码我始终看不大懂,先不讲. 结果评估的程序在evaluationScript文件夹下,这个 ...

  7. [Localization] R-CNN series for Localization and Detection

    CS231n Winter 2016: Lecture 8 : Localization and Detection CS231n Winter 2017: Lecture 11: Detection ...

  8. 论文笔记:OverFeat: Integrated Recognition, Localization and Detection using Convolutional Networks

    2014 ICLR 纽约大学 LeCun团队 Pierre Sermanet, David Eigen, Xiang Zhang, Michael Mathieu, Rob Fergus, Yann ...

  9. 【转载】细粒度图像识别Object-Part Attention Driven Discriminative Localization for Fine-grained Image Classification

    细粒度图像识别Object-Part Attention Driven Discriminative Localization for Fine-grained Image Classificatio ...

随机推荐

  1. T分布

    # T分布 # 1.T分布是统计分布的一种,同卡方分布(X2分布),F分布并称为三大分布 2.T分布又叫student-t分布,常用于根据小样本来估计呈正太分布且方差值未知的样本的均值(如果总体的方差 ...

  2. mac上adb command not found

    第一种报错(使用的自带mac命令行) bash: adb: command not found 1.vim ~/.bash_profile ,如果.bash_profile不存在,先touch ~/. ...

  3. Codechef August Challenge 2018 : Chef at the River

    传送门 (要是没有tjm(Sakits)的帮忙,我还真不知道啥时候能做出来 结论是第一次带走尽可能少的动物,使未带走的动物不冲突,带走的这个数量就是最优解. 首先这个数量肯定是下界,更少的话连第一次都 ...

  4. php基础--来自网页转载

    注意:1.网页文件放在wamp中的www文件下:2.www文件下不能出现中文:网页浏览的方法:1.没有建立站点:localhost/文件所在位置2.建立站点:(1)站点-新建站点-打开对话框 (2)修 ...

  5. convert(varchar(10),字段名,转换格式

    sql 时间转换格式 ) convert(varchar(10),字段名,转换格式) CONVERT(nvarchar(10),count_time,121)CONVERT为日期转换函数,一般就是在时 ...

  6. Windows下安装使用python的Flask框架

    1.安装python环境: 这里就不赘述了. 2.安装virtualenv虚拟环境: 这里使用使用第三方工具 virtualenv 创建虚拟环境.虚拟环境的好处如下(摘录网络): “ 安装 Flask ...

  7. mysql distinct()用法

    在使用mysql时,有时需要查询出某个字段不重复的记录,虽然mysql提供有distinct这个关键字来过滤掉多余的重复记录只保留一条,但往往只用它来返回不重复记录的条数,而不是用它来返回不重记录的所 ...

  8. OC 应用跳转QQ私聊界面或者申请加群

    申请加群 NSString *qq_number = QQ; NSString* urlStr = [NSString stringWithFormat:@"mqqapi://card/sh ...

  9. zt (stack overflow 介绍)

    这是「解密 Stack Overflow 架构」系列的第一篇,本系列会有非常多的内容.欢迎阅读并保持关注. 为了便于理解本文涉及到的东西到底都干些了什么,让我先从 Stack Overflow 每天平 ...

  10. LeetCode-7-反转数组-c#

    目前看到的网上的版本 都是用到数组的反转函数.对于代码实现的细节没给出 反转函数的想法没给出. 特在此补充. Reverse函数是从c#库源码中抠出的主要部分代码.主要是双端步进.交换,当然是o(1) ...