失眠网,内容丰富有趣,生活中的好帮手!
失眠网 > Mask R-CNN:实例分割与检测算法

Mask R-CNN:实例分割与检测算法

时间:2022-05-14 22:46:18

相关推荐

Mask R-CNN:实例分割与检测算法

摘要

目的:对象实例分割(区别出不同的对象)

提出:Mask R-CNN(扩展的FasterR-CNN)——通过在每个RoI处添加用于预测分割的mask(小的FCN),与用于分类和边界框回归的Faster R-CNN并行。

优点:很容易训练,易于实现,计算量小,运行速度为5 fps。

1、算法对比

1.1Faster R-CNN:使用RoIPool,并进行了量化操作,未进行像素分类

mask R-CNN:提出RoIAlign,无量化层,保留了精确的空间位置;作者为在类内预测二进制mask,并依赖于网络的RoI分类来预测类。

1.2与其他对象分割算法(先分割后识别)相比,作者采用分割与识别同时进行的思想。

1.3虽然FCIS算法也是通过一个全卷积网输出位置敏感的信息后,同时处理对象分类、回归框与mask,但相比mask R-CNN,它在overlapping方面错误率较多。

2、Mask R-CNN

2.1Faster R-CNN

a.用RPN得到候选的bbox;b.对每个bbox用RoIPool提取特征(Fast R-CNN),得到类别标签和bbox回归

2.2Mask R-CNN

a.用RPN得到候选的bbox;b.得到类别标签和bbox回归(Fast R-CNN),同时对每个RoI,得到二分类mask

定义损失函数:,其中,和与Fast R-CNN中定义相同,为K个类别标签(二分类)的像素的mask(单像素sigmoid)(平均二分类交叉熵损失),每个mask为独立的。

2.3引入RoIAlign的原因:

a.mask的空间结构可通过FCN卷积后对应的像素级来解释,要求RoI特征(它们本身就是小特征映射)要很好地对齐,从而提出RoIAlign层;

b.RoIPool(用于从每个RoI提取小特征映射)首先,将浮点数RoI量化为特征图的离散粒度,然后,将该量化后的RoI细分为空间区间,最后,聚合特征(通常通过最大池化)。对于量化步骤:在连续坐标x上,计算[x / 16],其中16是stride,[·]为舍入计算;同样地,当区间为7×7时,在RoI和提取特征时引入角误差。但对精确像素的mask预测较差。

2.4RoIAlign:

目的:消除RoIPool的严格量化(避免对RoI边界或区间进行量化),将特征与输入对齐。

提出:使用x / 16替代[x / 16],使用双线性插值计算每个RoI中四个输入特征的精确值,并汇总结果(用最大值或平均值)

RoIWarp:忽略了对齐问题,采用双线性重采样。

2.5网络结构:

多种体系Mask R-CNN包括:(i)整个图像上特征提取的卷积架构(网络深度特征:ResNet-FPN),(ii)每个RoI的分类回归和mask预测。

对于整体卷积架构:

C4:Faster R-CNN+ResNets中第四个stage最后一个卷积层提取的特征(当其为ResNet-50时,命名为ResNet-50-C4);

FPN:Faster R-CNN+FPN(横向连接的自上而下架构);

对于mask预测(全卷积mask预测:用ResNet和FPN扩展Faster R-CNN):

ResNet-C4包括ResNet的第5个stage,计算复杂度较高。

FPN已包含res5,因此计算量较低。

3、评估与配置

3.1 评估详情看论文

3.2 实施细节

定义:与Fast R-CNN的RoI定义相同,若IOU与GT的交集大于0.5,则RoI为正,否则为负。:RoI与GT mask的交集,仅在RoI为正时定义。

输入:COCO trainval 35k,800像素,

型号:Nvidia Tesla M40 GPU,8个GPU(每个GPU处理2个图像)

训练:

(1)ResNet-101-FPN共44小时,速度 195 ms/image + 15 ms CPU调整为原始分辨率

与Fast R-CNN相同,采用以图像为中心进行训练,每个图像有N(,)个RoI,正负样本比为1:3。进行160k次迭代训练,学习率为0.02,在120k迭代时减少10,权重衰减0.0001,动量为0.9。其中RPN选用5个尺度和3种纵横比,和Mask R-CNN具有相同的主干,因此特征共享。

(2)ResNet-50-FPN共32小时,速度 720/16 ms/image

(3)ResNet-101-C4,速度 ~400 ms/image

测试:在检测出的proposal(C4上=300,FPN=1000)上运行box预测分支,然后进行非最大抑制,从其中提取出最优的100个box进行mask预测。在class分支中已经预测出每个RoI的类别(共K种类别),然后mask分支将m×m浮点数mask输出,进而调整RoI大小,并进行二分类。

备注:

点击下面链接,进入奥比中光开发者社区,了解更多3D视觉技术信息:/

或扫描下方二维码,进入奥比中光开发者社区:

如果觉得《Mask R-CNN:实例分割与检测算法》对你有帮助,请点赞、收藏,并留下你的观点哦!

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。