Faster-CNN结构图(以下是Faster-RCNN的结构图)
上图中的目标检测包含了包括region proposal(生成ROI)、feature extraction(特征提取网络)、classification(ROI分类)、regression(ROI回归)。而faster-rcnn利用一个神经网络将这4个模块结合起来,训练了一个端到端的网络。
输入:
将P*Q的图形reshape成M*N大小的图形,文中reshape成800x600
特征提取网络:
通常由conv+pooling+relu组成,常用训练好的网络(VGG,Inception, Resnet),得到的图形叫做特征提取图。原文中共有13个conv,13个relu, 4个poling
- 所有conv层中,kernel_size = 3, pad=1; 填充之后图像大小为(m+2)*(n+2),使用3X3卷积核做运算之后,输出的图像大小为mxn,不改变图像的大小。
- 所有pooling层,kernel_size = 2, stride=2; 使图像缩小一半。
RPN网络(生成ROI):这是Faster-CNN的巨大优势
1.Anchors(feature map后做3x3 padding=1的卷积之后开始添加anchor,共有9个)
- 文中每个点有9个矩阵,长宽比width:height=[1:1, 1:2,2:1]三种形状(所以有9种矩阵)
关于anchor size:根据检测图像人为设置的,能够基本覆盖整个图形大小
遍历feature map的每一个点,为每一个点准备9种anchor作为初始的检测框
解释上图:
- 原文中使用的是ZF model, 最后的conv5层num_output=256,对应生成256张特征图,所以相当于feature map每个点都是256-d
- 在conv5之后做3x3卷积,输出还是256-d</