本文共 3715 字,大约阅读时间需要 12 分钟。
我们提出了一个概念上简单、灵活和通用的用于目标实例分割(object instance segmentation)的框架。我们的方法能够有效地检测图像中的目标,同时还能为每个实例生成一个高质量的分割掩码(segmentation mask)。这个方面被称为 Mask R-CNN,是在 Faster R-CNN 上的扩展——在其已有的用于边界框识别的分支上添加了一个并行的用于预测目标掩码的分支。Mask R-CNN 的训练很简单,仅比 Faster R-CNN 多一点计算开销,运行速度为 5 fps。此外,Mask R-CNN 可以很容易泛化到其它任务,比如,让我们可以在同一个框架中估计人类的姿态。我们在 COCO 难题套件的所有 3 种任务(track)上都得到了最佳结果,其中包括实例分割、边界框目标检测和人物关键点检测(person keypoint detection)。没有使用其它的技巧,Mask R-CNN 的表现超越了在每个任务上所有已有的单个模型,包括 COCO 2016 挑战赛的获胜模型。我们希望我们的简单又有效的方法能成为一个坚实的基础,能帮助简化实例层面识别的未来研究。我们将会公开相关代码。
Mask_RCNN Keras
这是一个在Python 3,Keras和TensorFlow基础上的对Mask R-CNN的实现。这个模型为图像中的每个对象实例生成边界框和分割掩码。它是在 Feature Pyramid Network (FPN) 和 ResNet101基础上实现的。
这个项目包括包括: - 在FPN和ResNet101基础上构建的Mask R-CNN的源代码。 - MS COCO的训练代码 - 预训练的MS COCO 权重 - 使用Jupyter notebooks 来可视化检测过程的每一个步骤 - 用于多GPU训练的ParallelModel类 - MS COCO指标评估(AP) - 用于训练你自己数据集的例子
代码被整理和设计得很容易被扩展。 如果在你的研究中使用了这份代码,请考虑引用此项目。 如果您从事3D视觉的相关研究,你可能会发现我们最近发布的Matterport3D数据集同样很有用
开始
一步一步的检测
为了方便理解和调试模型,我们提供了三个notebook (inspect_data.ipynb, inspect_model.ipynb, inspect_weights.ipynb),包含实验的可视化过程,还可以让你一步一步的观察每个点的输出过程。下面是一些例子。
第一步候选区域(Region Proposal)网络的可视化以及沿着anchor box refinement 的正锚点和负锚点。
这是一个最终的检测区域(虚线)以及改善后的结果(实线)例子。
生成的掩码例子。这些掩码随后会被缩放放置在图片的合适区域。
通常观察不同层激活对于解决检测中遇到的一些问题很有帮助。(全零值,或者随机噪声)
另外一个调试技巧就是观察权重的直方图。这里是inspect_weights.ipynb notebook.给出的演示效果。
还有一个非常重要的调试和可视化工具是TensorBoard. 这个模型被配置为记录loss值的变化,并在每个epoch后保存权值。
在MS COCO上训练
我们提供预训练的权值让你更简单的上手。 你还可以用这些权重为七点训练自己的模型。训练和验证的代码在coco.py中。你可以在notebook中引入这个模块或者直接从命令行运行。
Train a new model starting from pre-trained COCO weights python3 coco.py train --dataset=/path/to/coco/ --model=cocoTrain a new model starting from ImageNet weights python3 coco.py train --dataset=/path/to/coco/ --model=imagenetContinue training a model that you had trained earlier python3 coco.py train --dataset=/path/to/coco/ --model=/path/to/weights.h5Continue training the last model you trained. This will find the last trained weights in the model directory. python3 coco.py train --dataset=/path/to/coco/ --model=last
你也可以像这样运行COCO的验证代码:
训练优化方法,学习率以及其他参数都是在coco.py 中设置。
为了训练MS COCO,你需要以下:
转载地址:http://nxbxa.baihongyu.com/