文章目录
Faster RCNN作为two stage目标检测方法的代表作,其中有很多模块非常经典,在后续的two stage的模型中有广泛的应用。而且在3D Object Detection的问题中,也是如此。这就回顾一下Faster RCNN的网络结构。
这里推荐一个博客,http://www.telesens.co/2018/03/11/object-detection-and-classification-using-r-cnns/,对faster rcnn的网络结构讲的非常详细。本博客就按照这个思路进行讲解,只是借助于代码,展现更多的细节。
Faster RCNN
整体架构如下,接下来我们就按照这个顺序依次介绍每一个模块。
Image Pro-Processing
前处理包括减均值,和归一化大小,这里没有直接resize,而是保存了图片长宽比的缩放。
注意:下面将加入网络结构可视化,每一个小方块代表一个tensor,小方块上面的字是tensor的名字,下面的字是tensor的大小。例如43600800表示4个batch,3个通道,600800的大小。
主干网络
主干网络可以使用VGG或者ResNet,去除最后面用于分类的全连接层,用于特征提取。
Anchor Generate Layer
这一个子网络是生成37509个anchor,9代表尺度和长宽比不同的9个anchor,分别对应37*50的feature map中的feature的位置。这一块是用numpy先生成,然后转为tensor,具体不展开,比较简单,用grid函数就可以实现。