CS231n李飞飞计算机视觉 迁移学习之物体定位与检测上

迁移学习之物体定位与检测上

分类和定位

分类:给定一个图像,输入图像包含的对象的类别。

定位:给定一个图像,找到图像中对象所在的区域,即找出边界框。

数据集:一千个类别,每个类别有800张图像。

网络结构如上图,定位和分类可以同时训练也可以分别训练。

方法一:当做回归问题求解

分类是一个回归问题,可以将定位也当成回归问题,定位及找到对象所在边界框,边界框为方形,所以确定边界框的左上角的坐标以及长和宽四个参数即可。所以也可以将定位看成是给定一个图像,找出这四个参数的回归问题。

如上图所示,在一个卷积网络之后分别连接两个全连接层,一个用于分类,一个用于定位。

两种回归,一种是无论图像是什么类别,定位部分的网络都有相同的结构和参数来得到边界,这种叫不定类回归。另一种为定类回归,即输出是C乘四个边界参数,即每一类别都有一种边界框。

在哪个位置进行回归?两种方法,第一种在最后一个卷积层后面加上回归网络,如VGG、OverFeat。第二种在全连接层之后。

此外在图像中包含K个同类别对象的时候,定位K个对象,即得到4K个参数的回归问题。

例子:人体姿态估计,找到图像中人体的K个关节的位置。

方法二:滑动窗口

滑动窗口的网络结构如下图:

也是一个分类一个定位网络。

再说滑动窗口是什么意思?相当于有一个大的边界框,如下图中黑色框,从左上角开始从左到右从上向下滑动,每次滑动得到的子图像输入到网络,得到一个分数和定位边界框,下图中得到四个子图和四个边界框和类别分数,最后用一种特殊的方法将分数和边界框融合,得到一个分数和边界框。实际实现中得到的子图和分数更多,不止四个。

但有一个问题,对每个类别都运行这样的网络非常耗时,这里有一种高效的方法,通常我们将网络看成是卷积网络和全连接层两部分,换一种角度看全连接网络有4096个数字,是一个向量,将其看成一个卷积的特征映射,其维度是1\times 1,即将其看成是卷积的输出,且输出为4096 \times 1\times 1,如下图:

即在最后一个卷积层和全连接层之间替换成一个5 \times 5的卷积层,这样整个网络就是一个卷积网络,不包含全连接层。这样的结果在处理不同大小的图片时可以大大滴减少计算量。如下图:

原理训练时输入数据是14 \times 14,测试时数据是16 \times 16,对于不同大小的数据,计算过程相同,额外的计算仅仅是黄色部分。

 

猜你喜欢

转载自blog.csdn.net/wangchy29/article/details/86795696