赞
踩
RCNN系列论文:
目标检测:RCCN网络详解
目标检测:Fast RCNN网络详解
目标检测:Faster RCNN网络详解
Fast RCNN存在着Selective Search(选择性搜索)。要找出所有的候选框,这个也非常耗时。在Faster R-CNN中加入一个提取边缘的神经网络,即找候选框的工作也交给神经网络。这样,目标检测的四个基本步骤(候选区域生成,特征提取,分类器分类,回归器回归)全部由深度网络完成,且全在GPU上进行,大大的提高了操作效率。Faster RCNN可看成由两个模块组成的:区域生成网络RPN候选框提取模块+Fast RCNN检测模块。
Faster RCNN是基于RPN提取的proposal检测并识别proposal中的目标。其具体流程大致可概括为:1.输入图像。2.通过区域生成网络RPN生成候选区域。3.提取特征。4.分类器分类。5.回归器回归并进行位置调整。
RPN的工作步骤如下:
区域代网络RPN的核心思想是直接使用卷积神经网络CNN生成候选区域region proposal区域提议,是在最后一个卷积层上滑动窗口。
在最后一个共享卷积层的卷积特征图输出上滑动一个小网络。这个小网络作为feature map。每个滑动窗口被映射到 输入卷积维特征的一个较低的n×n空间窗口。最后将这个低维矢量发送到两个完全连接的层。即 bbox回归层( reg)和 box分类层(cls)。其中,reg层的作用是预测proposal的anchor对应的proposal的(x,y,w,h),cls层的作用是判断该proposal是前景(object)还是背景(non-object)。
anchor机制:
同时预测多个地区的提议,其中每个位置可能的最大建议数记为k。所以reg层4 k输出编码k框的坐标,和cls层输出2k分数估计概率的对象或对象的建议。k个建议是相对于k个参考框参数化的,称之为锚。锚位于所述滑动窗口的中心,并与比例和高宽比相关(图3,左侧)。
把每个点当作一个下锚的地方,每个点生成若干个框代表撒网的意思。把整幅特征图当作汪洋的大海,没过一个点下一个锚,然后开始撒网捕鱼。
第一步,把feature maps(256张map)拍扁,变成一张图(每个点都是256维)。基于每个256d点开始“下锚”。
第二步,“下锚”以后开始撒网,即以每一个锚点为中心生成大小不同的k个框。原文中选用的k=9。九个大小形状不一的框,致力于使目标对象能出现在某个框中。框的大小也是有讲究的,如下:
选用长宽比{1:1,2:1,1:2}三种,大小也有三种。如下图:
对于feature maps上的点(每个点维度是256),以每个点为中心生成9个大小不一的框,那么一定有跟ground truth很接近的框。
边界框回归:
图像的损失函数的定义:
其中分类的损失函数包含两个类(对象和非对象),回归损失函数:
对于(1)来说,意味着回归损失只有正锚点才会被激活(当p_i^* =1时)。
对于Bounding box regression,采用以下四个坐标的参数化:
其中,x, y, w, h表示盒子的中心坐标及其宽度和高度。以X、Xa、X*为例,分别为为预设框,锚框,和地面真相框(likewise for y; w; h)。
宏观上可以这么理解:
A是anchor,G’是调整后的,G是GroundTruth。那么对A的这个调整,就是Bounding Box回归。当bbox和GT比较接近时,调整框操作才可以使用线性回归模型。
线性回归模型:
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。