区域卷积神经网络(RCNN)

简介

区域卷积神经网络(RCNN)系列模型为两阶段目标检测器/通过对图像生成候选区域,提取特征,判别特征类别并修正候选框位置。RCNN系列目前包含两个代表模型:Faster CNN,Mask RCNN.

Faster RCNN网络可以分为四个主要步骤:

1.基础卷积层。

作为一种卷积神经网络目标检测方法,Faster RCNN首先使用一组基础的卷积网络提取图像的特征图。特征图被后续RPN层和全连接层共享。

本示例使用ResNet-50作为基础卷积层。

2.区域生成网络(RPN),区域生成网络用于生成候选区域(proposals).该层通过一组固定的尺寸和比例得到一组描点(anchors),通过softmax判断描点属于前景或背景,再利用区域回归修正描点从而获得精确的候选区域。

3.Rol Align.该层收集输入的特征图和候选区域,将候选区域映射到特征图中并池化为统一大小的区域特征图,送入全连接层判定目标类别,该层可选用RolPool和RolAlign两种方式,在config.py中设置roi_func.

4.检测层。利用区域特征图计算候选区域的类别,同时再次通过区域回归获得检测框最终的精确位置。

Mask RCNN扩展自Faster RCNN,是经典的实例分割模型。

Mask RCNN同样为两阶段框架,第一阶段扫描图像生成候选框;第二阶段根据候选框得到分类结果,边界框,同时在原有Faster RCNN模型基础上添加分割分支,得到掩码结果,实现了掩码和类别预测关系的解藕。

本例采用COCO数据集的子集,即随机从COCO大数据集中选取30张图组成coco30数据集,数据存放在rcnn/coco30。 本例采用coco30,可通过修改--data_dir修改训练集.

Mask RCNN 结构图如下:

 

区域卷积神经网络(RCNN)

原版论文:https://arxiv.org/abs/1703.06870

相关博客:https://blog.****.net/WZZ18191171661/article/details/79453780