区域卷积神经网络(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 结构图如下:
原版论文:https://arxiv.org/abs/1703.06870
相关博客:https://blog.****.net/WZZ18191171661/article/details/79453780