MaskRCNN学习笔记

摘要

作用:物体检测+产生一个切割mask 
FasterRCNNFasterR−CNN区别:能生成一个检测框

1. 简介

1.1 基础扫盲

物体检测Fast/Faster RCNNFast/Faster R−CNN 
通常包含两个问题,一是判断属于某个特定类的物体是否出现在图中;二是对该物体进行定位(常用表征就是物体的边界框)可实现输入测试图片,输出检测到的物体类别和位置。 
语义分割 Fully Convolutional Network (FCN)Fully Convolutional Network (FCN) 
简单而言就是给定一张图片,对图片上的每一个像素点分类 
实例分割 
物体检测和语义分割的综合体。相对物体检测的边界框,实例分割可精确到物体的边缘;相对语义分割,实例分割可以标注出图上同一物体的不同个体 
这里写图片描述

1.2 目标与方法

目标:instance segmentationinstance segmentation的优化 
方法:在FasterRCNNFasterR−CNN基础上,多一个branchbranch(就是一个应用在ROI的FCN)计算量上多了一点但是模型可以更快更好。 
说明: 
1. FasterRCNNFasterR−CNN不能实现输入到输出像素级别的alignmentalignment,使模型在特征提取上受限; 
改进(很小): 
新加一个层RoIAlignRoIAlign,将RoIPool所选择的特征图谱区域与原始图像的区域进行对齐。 
效果(明显): 
1. 将mask的准确率提高10%~50% 
2. mask和分类去耦合对每一类进行mask的预测,不用在类之间比较,同时预测物体类别(?)

2.相关工作

2.1 R-CNN

R-CNN的目标是分析图像,并正确识别图像中主要对象,通过边界框标出对象的具体位置。

  • 输入:图像
  • 输出:图像中每个对象的边界框和标签

Step1:利用 selective search  selective search 算法找到大约2000个 region proposal  region proposal  
Step2: 利用CNN对每个 region proposal  region proposal 提取上述区域的特征(即使这些区域大多是重叠的),通过SVM确定边框中的图像类别; 
Step3:对每个分好类的 region proposal  region proposal  boundingbox regression  bounding−box regression 纠正,应用LinearRegression,输出更紧密的边框坐标。

2.2 Fast R-CNN

R-CNN不足

  • 单个图像的每个region proposalregion proposal都需要CNN进行判断,每次判断大约需要2000次FP。
  • 此网络必须单独训练三种不同的模型:提取图像特征的CNN网络,判断类别的分类器和缩小边框的回归模型,使得训练复杂

引入ROIPoolingROIPooling 
最后一个卷积之后加了RoIPool层,然后使用池化操将所有RoI统一成一样大小。 
概括:RCNN先找再卷积;Fast RCNN先卷积再找 
优化损失函数 
使用multitasklossmulti−taskloss做完训练时的损失函数,将boundingbox regressionbounding−box regression直接加入到CNN网络中训练。

整合单元模型 
Fast R-CNN将CNN、Classifier和LR整合成一个单输入双输出的网络。具体而言在CNN输出层用softmax函数代替了SVM分类器,来输出对象类别;同时在CNN输出层,还加入了用来输出边界框坐标的线性回归层。这样单个网络就可以输出所需信息。

所以,这个过程可以理解为: 
Step1: 利用 selective search  selective search 算法找到大约2000个 region proposal  region proposal ; 
Step2:原始图像一次卷积得到 feature map  feature map 
Step3: 将原始图像和 feature map  feature map 进行映射,在 feature map  feature map 中找到: region proposal  region proposal ,然后进行RoI PoolingRoI Pooling,变成一样尺寸大小的,再输入 Fc  Fc ; 
Step4:最后输入两个softmax:判定是否含有object、给出 bouding box bouding box的值。

整个模型的输入和输出分别为:

  • 输入:带多个区域建议的图像。
  • 输出:具有更紧密边界框的每个区域的对象类别。

2.3.2 Faster R-CNN

Fast R-CNN的不足 
仍然依赖 selective search  selective search region proposalregion proposal给出的结果,而寻找region proposalregion proposal本身就是一个很大的开销。

出发点: 
优化对单独运行选择性搜索算法的方式,重复利用多个region proposalregion proposal中相同的CNN结果,几乎把边框生成过程的运算量降为0

提出Region Proposal Network(RPN)Region Proposal Network(RPN) 
其核心思想是使用卷积神经网络直接产生region proposalregion proposal(主要是认为 feature map  feature map 中每一个像素点都是原图中一部分的映射得到的,所以直接根据 feature map  feature map 在原图中找到若干 region proposal  region proposal )

Step1:对于原图进行一次CNN输出一张 feature map  feature map ,尺寸记为mmm∗m
Step2:对于mmm∗m个点,在原图中找9个 anchor  anchor ,一共是mm9m∗m∗9个; 
Step3:上述 anchor  anchor 同样经过两个softmax(和fast r-cnn一样),取topN个结果返回

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值