神经网络架构性能参数和预备知识

一.监督学习与非监督学习

  • 非监督预训练(Unsupervised pre-training)
    无监督预训练这个名词我们比较熟悉,栈式自编码、DBM采用的都是采用无监督预训练。因为预训练阶段的样本不需要人工标注数据,所以就叫做无监督预训练。
  • 监督预训练(Supervised pre-training)
    所谓的有监督预训练,我们也可以把它称之为迁移学习。比如你已经有一大堆标注好的人脸年龄分类的图片数据,训练了一个CNN,用于人脸的年龄识别。然后当你遇到新的项目任务是:人脸性别识别,那么这个时候你可以利用已经训练好的年龄识别CNN模型,去掉最后一层,然后其它的网络层参数就直接复制过来,继续进行训练。这就是所谓的迁移学习,说的简单一点就是把一个任务训练好的参数,拿到另外一个任务,作为神经网络的初始参数值,这样相比于你直接采用随机初始化的方法,精度可以有很大的提高。

图片分类标注好的训练数据非常多,但是物体检测的标注数据却很少,如何用少量的标注数据,训练高质量的模型,这就是文献最大的特点,这篇paper采用了迁移学习的思想。文献就先用了ILSVRC2012这个训练数据库(这是一个图片分类训练数据库),先进行网络的图片分类训练。这个数据库有大量的标注数据,共包含了1000种类别物体,因此预训练阶段cnn模型的输出是1000个神经元,或者我们也直接可以采用Alexnet训练好的模型参数。

二.IOU

IoU(Intersection over Union)
Intersection over Union是一种测量在特定数据集中检测相应物体准确度的一个标准。我们可以在很多物体检测挑战中,例如PASCAL VOC challenge中看多很多使用该标准的做法。

通常我们在 HOG + Linear SVM object detectors 和 Convolutional Neural Network detectors (R-CNN, Faster R-CNN, YOLO, etc.)中使用该方法检测其性能。注意,这个测量方法和你在任务中使用的物体检测算法没有关系。

IoU是一个简单的测量标准,只要是在输出中得出一个预测范围(bounding boxex)的任务都可以用IoU来进行测量。为了可以使IoU用于测量任意大小形状的物体检测,我们需要:
1、 ground-truth bounding boxes(人为在训练集图像中标出要检测物体的大概范围);
2、我们的算法得出的结果范围。

也就是说,这个标准用于测量真实和预测之间的相关度,相关度越高,该值越高。

如下图:
在这里插入图片描述
下图展示了ground-truth和predicted的结果,绿色标线是人为标记的正确结果,红色标线是算法预测出来的结果,IoU要做的就是在这两个结果中测量算法的准确度。
在这里插入图片描述
如上图,很简单,IoU相当于两个区域重叠的部分除以两个区域的集合部分得出的结果。
一般来说,这个score > 0.5 就可以被认为一个不错的结果了。
在这里插入图片描述
IoU在FCN中称为IU,初看Fully Convolutional Networks for Semantic Segmentation论文,其中的IU概念没有能理解,其实那里的IU也就是IoU,检测物体轮廓不一定非得是方框,也可以是沿着物体的边线:
在这里插入图片描述
在实际的任务中,根据不同的任务要求来写不同具体实现的检测方法,但说白了其实都是IoU或者IU。
另外mean IU指的是不同类别识别准确度的平均值,比如一幅图中要识别三个物体,mean IU就是三个物体分别准确度加起来的平均值。

有关图像分割评价标准详细信息可以看这里:一文了解目标检测/图像分割/coco数据集检测评价标准

三.非极大抑制(Non-maximum suppression)

一、Nms主要目的
在物体检测非极大抑制应用十分广泛,主要目的是为了消除多余的框,找到最佳的物体检测的位置。
在这里插入图片描述
如上图中:虽然几个框都检测到了人脸,但是我不需要这么多的框,我需要找到一个最能表达人脸的框。下图汽车检测也是同样的原理。
非极大值抑制
因为一会儿讲RCNN算法,会从一张图片中找出n多个可能是物体的矩形框,然后为每个矩形框为做类别分类概率:
在这里插入图片描述
就像上面的图片一样,定位一个车辆,最后算法就找出了一堆的方框,我们需要判别哪些矩形框是没用的。非极大值抑制:先假设有6个矩形框,根据分类器类别分类概率做排序,从小到大分别属于车辆的概率分别为A、B、C、D、E、F。

(1)从最大概率矩形框F开始,分别判断A~E与F的重叠度IOU是否大于某个设定的阈值;

(2)假设B、D与F的重叠度超过阈值,那么就扔掉B、D;并标记第一个矩形框F,是我们保留下来的。

(3)从剩下的矩形框A、C、E中,选择概率最大的E,然后判断E与A、C的重叠度,重叠度大于一定的阈值,那么就扔掉;并标记E是我们保留下来的第二个矩形框。

就这样一直重复,找到所有被保留下来的矩形框。

非极大值抑制(NMS)非极大值抑制顾名思义就是抑制不是极大值的元素,搜索局部的极大值。这个局部代表的是一个邻域,邻域有两个参数可变,一是邻域的维数,二是邻域的大小。这里不讨论通用的NMS算法,而是用于在目标检测中用于提取分数最高的窗口的。例如在行人检测中,滑动窗口经提取特征,经分类器分类识别后,每个窗口都会得到一个分数。但是滑动窗口会导致很多窗口与其他窗口存在包含或者大部分交叉的情况。这时就需要用到NMS来选取那些邻域里分数最高(是行人的概率最大),并且抑制那些分数低的窗口。
在这里插入图片描述

非极大值抑制就是一个寻找局部最大值的过程。
在进行目标检测时一般会采取窗口滑动的方式,在图像上生成很多的候选框,然后把这些候选框进行特征提取后送入分类器,一般会得出一个得分(score),比如人脸检测,会在很多框上都有得分,然后把这些得分全部排序。选取得分最高的那个框,接下来计算其他的框与当前框的重合程度(iou),如果重合程度大于一定阈值就删除,因为在同一个脸上可能会有好几个高得分的框,都是人脸但是不需要那么框我们只需要一个就够了。

那么肯定有人会好奇,如果图片中有好几个人脸,你这选取一个最大的,那第二个人脸怎么办呢?
实际上这是一个迭代的过程,第一步的非极大值抑制就是选取了某一个最大的得分,然后删除了他周边的几个框,第二次迭代的时候在剩下的框里面选取一个最大的,然后再删除它周围iou区域大于一定阈值的,这样不停的迭代下去就会得到所有想要找到的目标物体的区域。

假设有ABCDEF这么多个得分框(已经按照得分从小到大排序)。

1、从最大概率矩形框F开始,分别判断A~E与F的重叠度IOU是否大于某个设定的阈值;

2、假设B、D与F的重叠度超过阈值,那么就扔掉B、D;并标记第一个矩形框F,是我们保留下来的。
3、从剩下的矩形框A、C、E中,选择概率最大的E,然后判断E与A、C的重叠度,重叠度大于一定的阈值,那么就扔掉;并标记E是我们保留下来的第二个矩形框。

4、一直重复这个过程,找到所有曾经被保留下来的矩形框。

第一步寻找得分框:
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

  • 3
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值