目标检测分割--Mask R-CNN
Mask R-CNN ICCV2017 best paper
https://arxiv.org/pdf/1703.06870
Mask R-CNN= Faster R-CNN + FCN, 大致可以这么理解!
大神都去哪了? Facebook AI Research (FAIR) 越来越厉害了,强强联合
Code will be made available 官方代码暂时没有
https://github.com/felixgwu/mask_rcnn_pytorch
https://github.com/CharlesShang/FastMaskRCNN
Mask-RCNN implementation in MXNet
https://github.com/xilaili/maskrcnn.mxnet
TuSimple
GitHub: https://github.com/TuSimple/mx-maskrcnn
本文主要讲 Faster R-CNN 拓展到图像分割上,提出了 Mask R-CNN 简单快捷的解决 Instance segmentation,什么是 Instance segmentation,就是将一幅图像中所有物体框出来,并将物体进行像素级别的分割提取。如下图示例:
2 Related Work
R-CNN: 基于候选区域的物体检测成为目标检测算法中最流行的的,尤其是 Faster R-CNN 效果很好。
Instance Segmentation: 受到 R-CNN 的影响,大家纷纷采用R-CNN 思路来做 分割,文献【8】提出的 fully convolutional instance segmentation 是效果最好的。但是有明显的问题,如下图所示:
3 Mask R-CNN
Mask R-CNN在概念上是很简单:对于每一个候选区域 Faster R-CNN 有两个输出,一个类别标签,一个矩形框坐标信息。这里我们加了第三个分支用于输出 object mask即分割出物体。
Faster R-CNN: 这里简要回顾一下 Faster R-CNN,它有两个步骤组成,Region Proposal Network (RPN) 用于提取候区域,第二个步骤本质上和Fast R-CNN一样,使用 RoIPool 对候选区域提取特征进行类别分类和坐标回归。用于两个步骤的特征是可以共享的,这样可以提高速度。
Mask R-CNN: Mask R-CNN 也是采用了两个步骤,第一个步骤就是 RPN 提取候选区域,在第二个步骤,平行于预测类别和坐标信息,对于每个 RoI, Mask R-CNN 输出一个二值 mask。这与当前大部分系统不一样,当前这些系统的类别分类依赖于 mask 的预测。我们还是沿袭了 Fast R-CNN 的精神,它将矩形框分类和坐标回归并行的进行,这么做很大的简化了R-CNN的流程。
在训练阶段,我们对每个样本的 RoI 定义了多任务损失函数 L = L_cls + L_box + L_mask ,其中 L_cls 和 L_box 的定义和Fast R-CNN 是一样的。在 mask 分支中对每个 RoI 的输出是 K*m*m,表示K个 尺寸是 m*m的二值 mask,K是物体类别数目,。这里我们使用了 per-pixel sigmoid,将 的损失函数定义为 L_mask average binary cross-entropy,我们的 L_mask 只定义对应类别的 mask损失,其他类别的mask输出不会影响该类别的 loss。
我们定义 L_mask 的方式使得我们的网络在生成每个类别的 mask 不会受类别竞争影响,解耦了mask和类别预测。
Mask Representation: 对于每个 RoI 我们使用 一个 FCN 网络来预测 m*m mask。m*m是一个小的特征图尺寸,如何将这个小的特征图很好的映射到原始图像上?为此我们提出了一个 叫 RoIAlign 的网络层来解决该问题,它在 mask 预测中扮演了重要的角色。
RoIAlign: RoIPool 是一个标准的提特征运算,它从每个 RoI 提取出一个小的特征( 7×7),RoIPool 首先对浮点的 RoI 进行量化,然后再提取分块直方图,最后通过 最大池化 组合起来。这种分块直方图对于分类没有什么大的影响,但是对像素级别精度的 mask 有很大影响。
为了解决上述问题,我们提出了一个 RoIAlign 网络层 解决 RoIPool 量化引入的问题,将提取的特征和输入合适的对应起来。我们的改变也是很简单的:我们避免对 RoI 的边界或 bins 进行量化。使用线性差值精确计算每个 RoI bin 最后组合起来。
Network Architecture: 为了验证我们方法的适应性,我们在不同的网络系统中实现了 Mask R-CNN,这里主要分别考虑了文献【14,21]中的两个系统,如下图所示:
其中采用 FPN 的架构在精度和速度上都更胜一筹。
3.1. Implementation Details
Training: 对于 mask loss L_mask 只在正样本的 RoIs 上面定义。
我们采用文献【9】的图像-中心 训练方法。将图像长宽较小的一侧归一化到 800个像素。在每个 mini-batch 上每个 GPU 有2个图像,每个图像 N个样本 RoIs,正负样本比例 1:3.其中 对于 C4 框架的 N=64, 对 FPN框架的 N=512。在8个GPU上训练,还有其他一些参数设置。
Inference: 在测试阶段,C4的候选区域个数是300, FPN 是 1000.对这些候选区域我们进行坐标回归,再非极大值抑制。然后对前100个得分最高的检测框进行 mask 分支运算。这样做可以提高速度改善精度。在 mask 分支中 ,我们对每个 RoI 给出 K 个 mask预测,但是我们只使用 分类分支给出的那个类别对应的 mask。然后我们将 m×m 浮点 mask 归一化到 RoI 尺寸,使用一个0.5阈值进行二值化。
- Experiments: Instance Segmentation
更多的图片结果:
Instance segmentation:
一些对比:
Object detection:
Human Pose Estimation:
4.4. Timing
Inference:
ResNet-101-FPN model runs at 195ms per image on an Nvidia Tesla M40 GPU (plus
15ms CPU time resizing the outputs to the original resolution)
ResNet-101-C4 : ∼400ms
目标检测分割--Mask R-CNN相关推荐
- 丰厚奖学金博士招生 | 澳大利亚OPTIMA 招募博士,多光谱时间序列数据的时空目标检测/分割方向...
关注公众号,获取更多AI领域发展机会 OPTIMA 介绍 OPTIMA 是墨尔本大学.蒙纳士大学.三所国际大学和11个行业合作伙伴之间的合作组织.这些合作伙伴属于先进制造业.能源资源和关键基础设施部门 ...
- maskrcnn用于目标检测_用自己的数据训练Mask R-CNN目标检测/分割模型
摘要: 本文讲述了如何使用Mask-CNN对图像中的大量数据进行目标识别与目标分割. 计算机非常擅长数字运算,但对分析图像中的大量数据束手无策.直到最近找到了解决方法,即创建图像处理单元库,利用数千个 ...
- CVPR 2020 Oral |目标检测+分割均实现SOTA!厦大提出协同学习网络
点上方蓝字计算机视觉联盟获取更多干货 在右上方 ··· 设为星标 ★,与你不见不散 编辑:Sophia 计算机视觉联盟 报道 | 公众号 CVLianMeng 转载于 :机器之心 论文链接:htt ...
- 目标检测分割--BlitzNet: A Real-Time Deep Network for Scene Understanding
BlitzNet: A Real-Time Deep Network for Scene Understanding ICCV2017 Project: http://thoth.inrialpes. ...
- 无卷积骨干网络:金字塔Transformer,提升目标检测/分割等任务精度(附源代码)
论文地址:https://arxiv.org/pdf/2102.12122.pdf 源代码地址:https://github.com/whai362/PVT 具有自注意力的Transformer引发了 ...
- rcnn 回归_基础目标检测算法介绍:CNN、RCNN、Fast RCNN和Faster RCNN
每次丢了东西,我们都希望有一种方法能快速定位出失物.现在,目标检测算法或许能做到.目标检测的用途遍布多个行业,从安防监控,到智慧城市中的实时交通监测.简单来说,这些技术背后都是强大的深度学习算法. 在 ...
- 目标检测R-CNN模型的CNN模块微调过程分析【全网最易懂】
在过去的十多年时间里,传统的机器视觉领域,通常采用特征描述子来应对目标识别任务,这些特征描述子最常见的就是 SIFT 和 HOG.( OpenCV 有现成的 API 可供大家实现相关操作) 2012 ...
- Ubuntu18.04 配置detectron2实现Faster RCNN目标检测和Mask RCNN实例分割(一)
1. 背景介绍 detectron2项目地址:https://github.com/facebookresearch/detectron2 FasterRCNN论文:https://arxiv.org ...
- 二阶段目标检测网络-Mask RCNN 详解
ROI Pooling 和 ROI Align 的区别 Mask R-CNN 网络结构 骨干网络 FPN anchor 锚框生成规则 实验 参考资料 Mask RCNN 是作者 Kaiming He ...
最新文章
- Splay ---- 文艺平衡树区间翻转的建树模式
- RHCT 模拟题库及答案
- usb传输标准和接口标准
- QT实现自定义3D材质
- Android震动vibrator系统开发全过程
- SpringMVC+hibernate+mysql+EASYUI的登陆+CRUD
- Python编程从入门到实践~if语句
- python学习之路-day8
- matlab+adst,SPC572L64E3 - 用于汽车动力系统应用的32位Power Architecture MCU - STMicroelectronics...
- mysql连接查询(内联)_MySQL之连接查询
- 为什么要重写hashCode()
- Centos 7安装Docker可视化管理面板安装中文Portainer
- php 是否存在,php判断常量是否存在
- MySQL查询数据库日志的查询
- 软件测试三分钟自我介绍
- 计算机中现代操作系统两个基本特征是什么,现代操作系统的两个基本特征是资源共享和...
- 实验4-1-5 统计素数并求和 (20 分)
- Java导出Excel(Poi详解)
- 微信WIFI,帮你做好客流量统计
- iofod - 为攻城师们打造的低代码平台
热门文章
- In terms of 的用法总结
- cytoscape绘图互作网络图(二)
- supervisor 守护php,laravel队列之Supervisor守护进程(centos篇)
- Clumpify:能使 Fastq 压缩文件再缩小 30% 并加速后续分析流程
- 在线作图|微生物多样性分析——稀释曲线
- 零基础入门学习Python(21)-递归1
- SCLS:拟南芥二半萜类化合物调控根系微生物组
- R语言ggplot2地理信息可视化(下)
- QIIME 2用户文档. 15进行纵向和成对样本比较q2-longitudinal(2018.11)
- Nature Microbiology: 微生物数据的系统发育分析方法