pytorch-mask-rcnn 官方

本文介绍了基于PyTorch的MaskR-CNN实现,主要基于Matterport的Keras和TensorFlow版本。文章详细讲解了模型结构、检测流程(包括锚点排序、边界框细化和遮罩生成),以及如何安装依赖、使用COCO数据集进行训练和评估。
部署运行你感兴趣的模型镜像

This is a Pytorch implementation 实现 of Mask R-CNN that is in large parts based on Matterport's Mask_RCNN. Matterport's repository is an implementation on Keras and TensorFlow. The following parts of the README are excerpts 摘录 from the Matterport README. Details on the requirements, training on MS COCO and detection results for this repository can be found at the end of the document.

The Mask R-CNN model generates bounding boxes and segmentation masks 分割掩码 for each instance of an object in the image. It's based on Feature Pyramid Network (FPN) and a ResNet101 backbone.

 The next four images visualize different stages in the detection pipeline 检测管道:

1. Anchor sorting and filtering 锚排序和过滤

The Region Proposal Network proposes bounding boxes that are likely to belong to an object. Positive and negative anchors along with anchor box refinement are visualized. 区域建议网络建议可能属于某个对象的边界框。正锚和负锚以及锚框细化被可视化。

 2. Bounding Box Refinement

This is an example of final detection boxes (dotted lines) and the refinement applied to them (solid lines) in the second stage.

3. Mask Generation 

Examples of generated masks 生成遮罩的示例. These then get scaled  缩放这些图像 and placed on the image in the right location 放置在图像的正确位置 .

4. Composing 合成 the different pieces into a final result 

 

Requirements

  • Python 3
  • Pytorch 0.3
  • matplotlib, scipy, skimage, h5py

Installation

1.Clone this repository.

 git clone https://github.com/multimodallearning/pytorch-mask-rcnn.git

2. We use functions from two more repositories that need to be build with the right --arch option for cuda support. The two functions are Non-Maximum Suppression 非最大抑制 from ruotianluo's pytorch-faster-rcnn repository and longcw's RoiAlign.

 cd nms/src/cuda/
 nvcc -c -o nms_kernel.cu.o nms_kernel.cu -x cu -Xcompiler -fPIC -arch=[arch]
 cd ../../
 python build.py
 cd ../

 cd roialign/roi_align/src/cuda/
 nvcc -c -o crop_and_resize_kernel.cu.o crop_and_resize_kernel.cu -x cu -Xcompiler -fPIC -arch=[arch]
 cd ../../
 python build.py
 cd ../../

3. As we use the COCO dataset  当我们使用COCO数据集时 install the Python COCO API and create a symlink 符号链接。 .

4.Download the pretrained models 预训练模型 on COCO and ImageNet from Google Drive.

Demo

To test your installation simply run the demo with 只需使用运行演示

python demo.py

It works on CPU or GPU and the result should look like this:

 Training on COCO

Training and evaluation code is in coco.py. You can run it from the command line as such:

# Train a new model starting from pre-trained COCO weights
python coco.py train --dataset=/path/to/coco/ --model=coco

# Train a new model starting from ImageNet weights
python coco.py train --dataset=/path/to/coco/ --model=imagenet

# Continue training a model that you had trained earlier
python coco.py train --dataset=/path/to/coco/ --model=/path/to/weights.h5

# Continue training the last model you trained. This will find
# the last trained weights in the model directory.
python coco.py train --dataset=/path/to/coco/ --model=last

If you have not yet downloaded the COCO dataset you should run the command with the download option set, e.g.:

# Train a new model starting from pre-trained COCO weights
python coco.py train --dataset=/path/to/coco/ --model=coco --download=true

You can also run the COCO evaluation code with:

# Run COCO evaluation on the last trained model
python coco.py evaluate --dataset=/path/to/coco/ --model=last

The training schedule, learning rate, and other parameters can be set in coco.py.

Results

COCO results for bounding box and segmentation are reported based on training with the default configuration and backbone initialized with pretrained ImageNet weights. Used metric is AP on IoU=0.50:0.95.

您可能感兴趣的与本文相关的镜像

PyTorch 2.5

PyTorch 2.5

PyTorch
Cuda

PyTorch 是一个开源的 Python 机器学习库,基于 Torch 库,底层由 C++ 实现,应用于人工智能领域,如计算机视觉和自然语言处理

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值