Faster Rcnn,ROI Pooling 与 ROI Align

Faster Rcnn,ROI Pooling 与 ROI Align_第1张图片

Faster Rcnn,ROI Pooling 与 ROI Align_第2张图片

一、公用特征Feature Maps的获取 

Faster Rcnn,ROI Pooling 与 ROI Align_第3张图片

二、Region Proposal Network

 Feature Maps[bs,1024,38,38]经过3*3卷积,然后分别经过两个1*1的卷积,通道数分别为18,36

18 = 9*2 代表每个位置9个先验框为背景和目标的概率

36 = 9*4 代表每个位置9个先验框的坐标调整参数(Faster Rcnn也是有先验框的)

先验框 + 位置调整参数 = 建议框

建议框的初筛

由于建议框非常多,要对建议框进行初筛,先根据建议框是目标的分数,选出得分最高的前K个建议框,再进行NMS,然后再选出得分最高的前K个建议框。如一张照片有300个建议框。

三、ROI Pooling

根据建议框的参数,在Feature Map上裁剪出对应特征,比如[1024,82,79],每个特征的大小是不一样的。

1.ROI Pooling 的输入

ROI Pooling 该层有两个输入:

  1. feature maps,如[bs,1024,38,38];
  2. 一个表示所有 ROI 的 N*5 的矩阵,其中N表示ROI的数目。一列表示图像index,其余四列表示其余的左上角和右下角坐标,如[[x1,y1,x2,y2,index1],];

 2.ROI Pooling 的输出

输出特征为[bs,k,1024,14,14],其中k为一张图片有k个建议框,14 * 14为pooling后的大小

 eg:

如feature maps [1024,8,8],一号建议框坐标[0,3,7,8,1],其中(0,3),(7,8)左下角坐标和右上角坐标,输出为2 * 2

Faster Rcnn,ROI Pooling 与 ROI Align_第4张图片

Faster Rcnn,ROI Pooling 与 ROI Align_第5张图片

Faster Rcnn,ROI Pooling 与 ROI Align_第6张图片

3. RoI pooling 与RoI Align区别

参考: https://blog.csdn.net/Tian__Gao/article/details/124474448?ops_request_misc=&request_id=&biz_id=102&utm_term=roi%20pooling&utm_medium=distribute.pc_search_result.none-task-blog-2~all~sobaiduweb~default-6-124474448.142^v93^chatgptT3_2&spm=1018.2226.3001.4187

 3.1RoI pooling

Faster Rcnn,ROI Pooling 与 ROI Align_第7张图片实际得到的建议框往往不是整数,即上图绿色框。(网格的像素值在网格左上角顶点)

将实际顶点对其到离他最近整数节点 

3.2 RoI Align

如Roi 后的图像大小为K * K

首先将建议框划分为 K * K个区域,每个区域选择4个采样点,利用双线性插值求出采样点的像素,最后对该4个像素平局池化,即得到此区域的像素 

四、边界框的类别预测与坐标回归

RoI pooling后的输出特征[bs,k,1024,14,14] ,经过全局平局池化[bs,k,1024],然后经过两个线性层

nn.Linear(1024, n_class) 进行类别预测, nn.Linear(1024, n_class * 4) 进行坐标回归预测。

你可能感兴趣的:(目标检测,深度学习,人工智能)