RCNN进行目标检测时,采取候选区域算法,得到2000个候选区域,并依次放入CNN中进行特征提取预测类别与位置。

初步理解

下图中的红色框即为候选框,绿色框为人工标注真实框。(为了便于初步分析与理解,此过程将预测框与真实框重合)

ENR弹性回归网络参数 rcnn 回归_特征向量


原理上,从候选框不准确位置到预测框的真实位置,可通过下列公式得到:

ENR弹性回归网络参数 rcnn 回归_特征向量_02

其中 ENR弹性回归网络参数 rcnn 回归_ENR弹性回归网络参数_03ENR弹性回归网络参数 rcnn 回归_回归_04是红色框的宽、高与绿色框的宽、高的比例系数,目的在于使红色框的宽、高通过比例放缩接近于真实框的宽、高。

ENR弹性回归网络参数 rcnn 回归_回归_05是候选区域通过CNN提取特征向量并将特征向量输入到SVM模型得到。


进一步理解

考虑到通过SVM模型得到的ENR弹性回归网络参数 rcnn 回归_ENR弹性回归网络参数_06值存在负值。为了避免该情况,不能直接使用SVM预测ENR弹性回归网络参数 rcnn 回归_ENR弹性回归网络参数_06值,而采取预测ENR弹性回归网络参数 rcnn 回归_特征向量_08。其中ENR弹性回归网络参数 rcnn 回归_特征向量_09.

使用ENR弹性回归网络参数 rcnn 回归_特征向量_10的原因在于如下例子所示:

ENR弹性回归网络参数 rcnn 回归_特征提取_11

  • 假设这是4张内容一样的图片,只有大小不同。其中红框为候选框,黄框为预测框,绿框为真实标注框。图1和图2是内容一样的图片,图片大小不同;图3和图1一样,图4和图2一样。
  • 预测框的坐标用ENR弹性回归网络参数 rcnn 回归_特征向量_12来表示。
  • 在图1中得到ENR弹性回归网络参数 rcnn 回归_特征向量_13,在图2中得到ENR弹性回归网络参数 rcnn 回归_目标检测_14
    在图3中得到ENR弹性回归网络参数 rcnn 回归_ENR弹性回归网络参数_15,在图4中得到ENR弹性回归网络参数 rcnn 回归_特征向量_16
    回归的目的在于使得ENR弹性回归网络参数 rcnn 回归_特征向量_17相近,ENR弹性回归网络参数 rcnn 回归_特征向量_18相近。

使用具体数值更容易理解:

令图一和图三中
红框坐标(20,20)
绿框坐标(30,30)
黄框坐标(28,28);
使用ENR弹性回归网络参数 rcnn 回归_回归_19求解:
ENR弹性回归网络参数 rcnn 回归_目标检测_20真实偏移量:30-20=10
ENR弹性回归网络参数 rcnn 回归_目标检测_20预测框偏移量:28-20=8
ENR弹性回归网络参数 rcnn 回归_目标检测_20损失回归函数值:(10-8)^ 2 = 4
使用d求解
ENR弹性回归网络参数 rcnn 回归_特征提取_23真实偏移量:ENR弹性回归网络参数 rcnn 回归_ENR弹性回归网络参数_24
ENR弹性回归网络参数 rcnn 回归_特征提取_23预测框偏移量:ENR弹性回归网络参数 rcnn 回归_特征提取_26
ENR弹性回归网络参数 rcnn 回归_特征提取_23损失回归函数值:(0.5-0.4)^ 2 = 0.01

令图二和图四中
红框坐标(10,10)
绿框坐标(15,15)
黄框坐标(14,14);
使用ENR弹性回归网络参数 rcnn 回归_回归_19求解:
ENR弹性回归网络参数 rcnn 回归_目标检测_20真实偏移量:15-10=5
ENR弹性回归网络参数 rcnn 回归_目标检测_20预测框偏移量:14-10=4
ENR弹性回归网络参数 rcnn 回归_目标检测_20损失回归函数值:(5-4)^ 2 = 1
使用d求解
ENR弹性回归网络参数 rcnn 回归_特征提取_23真实偏移量:ENR弹性回归网络参数 rcnn 回归_特征提取_33
ENR弹性回归网络参数 rcnn 回归_特征提取_23预测框偏移量:ENR弹性回归网络参数 rcnn 回归_特征向量_35
ENR弹性回归网络参数 rcnn 回归_特征提取_23损失回归函数值:(0.5-0.4)^ 2 = 0.01

由以上可知,使用ENR弹性回归网络参数 rcnn 回归_ENR弹性回归网络参数_06求解对于同一张图不同大小,计算出来的回归函数损失值不同,不利于模型训练,而使用ENR弹性回归网络参数 rcnn 回归_回归_38求解时,是一致的。


部分问题
  1. 对于Rcnn进行目标检测,如何获得预测的ENR弹性回归网络参数 rcnn 回归_目标检测_39?
    Rcnn进行网络训练时,先选出2000个候选区域,并resize成相同大小(227x227),然后分别送入CNN网络中提取特征,得到2000个4096维的特征向量,也即2000x4096的矩阵。
    分类:将该矩阵输入到SVM分类中,得到2000x21矩阵,其中21表示21个类别,包含背景。
    定位:将该矩阵输入到4096x4的回归矩阵中,输出2000x4的偏移矩阵,即得到ENR弹性回归网络参数 rcnn 回归_目标检测_39
  2. 候选框(有时又称为边界框),真实框,预测框存在的作用?
      候选框是Rcnn经过SR算法得到;真实框为人工标注框,是正确的位置;预测框的存在是因为框的回归目标在于找到使得候选框经过偏移和放缩操作后得到一个与真实框比较接近的框,这个框就是预测框。
      为何不采取直接将候选框训练成真实框而没必要使用预测框呢?
      个人认为,预测框是目标检测模型计算输出的框,我们目的在于使模型预测输出框接近于真实框,而不是最开始得到的候选框接近于真实框,因为最开始得到的候选框,并非是我们训练的模型得到的,如在RCNN中,该候选框的位置是基于SR算法得到的,我们不旨在改变SR算法。