Skip to content
プロジェクト

zhaozhen2333/Turbo-Learning has 30 GitHub stars and 0 forks. Star changes are not measured yet. Last checked 2026-11-14 13:00 UTC. Last push 2026-08-14.

この数値の測り方

できること

  • No retraining: all refinement happens during inference.
  • Plug-and-play: the shared MaskBoxRefiner module is configurable from the RoI head.
  • Joint improvement: both bounding-box AP and mask AP benefit from segmentation feedback.
  • Broad applicability: experimental paths are provided for Mask R-CNN, Cascade Mask R-CNN/HTC, QueryInst/Sparse R-CNN, and RTMDet-Ins.

計測したスター増加

24時間
履歴を収集中
7日間
履歴を収集中
15日間
履歴を収集中
1か月
履歴を収集中

期間ごとの純増数です。期間は重複しており、日別の値ではありません。未計測の値は空欄です。スター数は注目度の指標であり、品質の保証ではありません。

概要

Official implementation of “A Turbo-Inference Strategy for Object Detection and Instance Segmentation” (CVIU 2026). A training-free framework for iterative refinement between object detection and instance segmentation.

機械学習

A Turbo-Inference Strategy for Object Detection and Instance Segmentation

Training-free iterative refinement between detection and segmentation

Zhen Zhao · Gang Zhang · Xiaolin Hu · Liang Tang

Beijing Forestry University · Tsinghua University · Chinese Institute for Brain Research

Python PyTorch MMDetection arXiv DOI Checkpoints License

Paper · arXiv · PDF · Checkpoints · Code

Official implementation of “A Turbo-Inference Strategy for Object Detection and Instance Segmentation,” published in Computer Vision and Image Understanding (CVIU), 2026.

English | 简体中文

Overview

Top-down instance segmentation normally follows a one-way detect-then-segment pipeline. Turbo-Inference closes the loop: coarse instance masks feed pixel-level localization and mask-quality information back to the detector, and the refined boxes are then used to predict better masks.

The method is training-free, reuses the pretrained mask head, and can be attached to existing top-down instance segmentation models without changing their training procedure.

Turbo-Inference overview

The feedback loop contains three operations:

  1. Box refinement maps each RoI mask back to image coordinates and derives a tighter box from its foreground support.
  2. Maskness rescoring estimates mask quality from the foreground probability distribution and fuses it with the classification score.
  3. Turbo segmentation extracts RoI features from the refined boxes and reuses the original mask head to predict more accurate masks.
Detection → coarse masks → refined boxes and scores → refined masks
                         ↖___________________________|

Highlights

  • No retraining: all refinement happens during inference.
  • Plug-and-play: the shared MaskBoxRefiner module is configurable from the RoI head.
  • Joint improvement: both bounding-box AP and mask AP benefit from segmentation feedback.
  • Broad applicability: experimental paths are provided for Mask R-CNN, Cascade Mask R-CNN/HTC, QueryInst/Sparse R-CNN, and RTMDet-Ins.
  • Reproducible: the released Mask R-CNN implementation has been freshly evaluated on all 5,000 COCO 2017 validation images.
  • Ready-to-use weights: the Checkpoint Zoo provides 18 pretrained models with original release links and matching configs.

Qualitative Results

Comparison with vanilla Mask R-CNN

Turbo-Inference produces tighter detection boxes, suppresses low-quality duplicate predictions, and improves instance masks.

Qualitative results on COCO

Results

Main results on COCO

Turbo-Inference consistently improves representative two-stage, cascade, query-based, and one-stage instance segmentation frameworks. The following compact table reports the main results from the paper; FPS was measured on one RTX 2080 Ti with batch size 2.

Method Backbone bbox AP bbox AP w/ Turbo segm AP segm AP w/ Turbo FPS → Turbo FPS
Mask R-CNN R50-FPN 39.2 40.3 (+1.1) 35.4 36.7 (+1.3) 15.7 → 12.0
HTC R50-FPN 43.3 43.7 (+0.4) 38.3 39.2 (+0.9) 5.5 → 4.5
RTMDet-m CSPX-PAFPN 48.8 49.3 (+0.5) 42.1 42.4 (+0.3) 3.7 → 2.7
QueryInst R50-FPN 42.0 42.8 (+0.8) 37.5 38.7 (+1.2) 7.5 → 6.0
Results with additional backbones and model scales
Method Backbone bbox AP bbox AP w/ Turbo segm AP segm AP w/ Turbo FPS → Turbo FPS
Mask R-CNN R101-FPN 40.8 41.8 36.6 37.9 13.5 → 9.8
Mask R-CNN X101-FPN 42.8 43.9 38.4 39.7 6.8 → 5.5
Mask R-CNN ConvNeXt-T-FPN 46.2 47.5 41.7 42.8 14.5 → 10.8
Mask R-CNN Swin-T 46.0 47.5 41.7 42.9 9.8 → 7.4
Mask R-CNN Swin-S 48.2 49.4 43.2 44.5 9.3 → 6.3
Mask R-CNN ViT-B 51.5 52.0 45.7 46.8 3.9 → 3.3
Mask R-CNN ConvNeXt-v2-FPN 52.9 53.4 46.4 47.6 5.4 → 5.2
HTC R101-FPN 44.8 45.1 39.6 40.5 5.2 → 4.3
RTMDet-l CSPX-PAFPN 51.1 51.4 43.7 44.0 3.4 → 2.5
RTMDet-x CSPX-PAFPN 52.4 52.7 44.6 44.9 2.8 → 2.2
QueryInst R101-FPN 49.0 49.8 42.9 44.1 3.5 → 2.5

These results show that the feedback strategy is not tied to a particular detector, mask head, or backbone. As expected, the extra refinement stages trade inference speed for accuracy.

Compatibility with training-free methods

All variants below were freshly evaluated with the same public Mask R-CNN R50-FPN 2x checkpoint on all 5,000 COCO 2017 validation images. Neither Turbo-Inference nor Soft-NMS requires retraining.

Method Turbo-Inference Soft-NMS bbox AP bbox AP50 bbox AP75 segm AP segm AP50 segm AP75
Original Mask R-CNN 39.993 59.556 43.577 35.175 56.346 37.719
Mask R-CNN + Soft-NMS ✓ 40.618 59.600 44.620 35.423 56.371 38.126
Mask R-CNN + Turbo ✓ 40.279 59.482 43.901 36.400 56.498 39.277
Mask R-CNN + Turbo + Soft-NMS ✓ ✓ 40.901 59.510 44.945 36.643 56.487 39.688

Complementary training-free refinement

Turbo-Inference and Soft-NMS improve different parts of the prediction pipeline. Soft-NMS adjusts scores from pairwise box overlaps, while Turbo-Inference uses instance-mask feedback to refine boxes, scores, and masks. Their gains are therefore complementary:

  • Turbo-Inference alone improves bbox AP by +0.286 and segm AP by +1.225 over the original inference path.
  • Adding Soft-NMS on top of Turbo-Inference contributes another +0.622 bbox AP and +0.243 segm AP.
  • The combined training-free pipeline reaches 40.901 bbox AP and 36.643 segm AP, improving the original model by +0.908 and +1.468, respectively.

This suggests that Turbo-Inference can be combined with other compatible training-free refinement or post-processing techniques for further gains, without updating the pretrained model weights.

The checkpoint used for verification has SHA-256:

3e542a40ccc2952293c56bddc05e2002d681b9f6f20fde01f5908a5540b582b3

Turbo-Inference trades additional head computation for accuracy. The backbone is not recomputed, but the refined RoIs pass through the mask head again.

Installation

This repository is built on MMDetection 3.3.0. A typical installation is:

conda create -n turbo-inference python=3.8 -y
conda activate turbo-inference

pip install torch torchvision --index-url https://download.pytorch.org/whl/cu118
pip install -U openmim
mim install "mmengine>=0.7.1,<1.0.0"
mim install "mmcv>=2.0.0rc4,<2.2.0"
pip install -v -e .

See the MMDetection installation guide if your CUDA or PyTorch version differs.

Checkpoints

Pretrained weights are not stored in this repository because most files exceed GitHub's 100 MB per-file limit. Download them from their original release sources.

The default Mask R-CNN R50-FPN checkpoint used for the verified results is:

Model Config Checkpoint SHA-256
Mask R-CNN R50-FPN 2x config download 3e542a40…b582b3
mkdir -p checkpoints
wget -P checkpoints \
  https://download.openmmlab.com/mmdetection/v2.0/mask_rcnn/mask_rcnn_r50_fpn_2x_coco/mask_rcnn_r50_fpn_2x_coco_bbox_mAP-0.392__segm_mAP-0.354_20200505_003907-3e542a40.pth
Complete checkpoint zoo used in our experiments
Model Config / source Official checkpoint
Cascade Mask R-CNN ConvNeXt-S config download
Cascade Mask R-CNN ConvNeXt-T config download
HTC R101-FPN 20e config download
HTC R50-FPN 1x config download
Mask R-CNN ConvNeXt-v2-B config download
Mask R-CNN ConvNeXt-T config download
Mask R-CNN R101-FPN 2x config download
Mask R-CNN R50-FPN 2x config download
Mask R-CNN Swin-S config download
Mask R-CNN Swin-T config download
Mask R-CNN X101-64x4d-FPN config download
QueryInst R101-FPN, 300 proposals config download
QueryInst R101-FPN, 100 proposals config download
QueryInst R50-FPN 1x config download
QueryInst R50-FPN, 300 proposals config download
QueryInst R50-FPN, 100 proposals config download
RTMDet-Tiny config download
ViTDet Mask R-CNN ViT-B config download

Quick Start

Download the default checkpoint above, then run:

python demo/image_demo.py \
  demo/demo.jpg \
  configs/mask_rcnn/mask-rcnn_r50_fpn_2x_coco.py \
  --weights checkpoints/mask_rcnn_r50_fpn_2x_coco_bbox_mAP-0.392__segm_mAP-0.354_20200505_003907-3e542a40.pth \
  --device cuda:0 \
  --out-dir outputs/turbo_mask_rcnn

Evaluate on COCO with one GPU:

python tools/test.py \
  configs/mask_rcnn/mask-rcnn_r50_fpn_2x_coco.py \
  /path/to/mask_rcnn_r50_fpn_2x_coco.pth

Or reproduce the eight-GPU regression:

./tools/dist_test.sh \
  configs/mask_rcnn/mask-rcnn_r50_fpn_2x_coco.py \
  /path/to/mask_rcnn_r50_fpn_2x_coco.pth 8 \
  --work-dir work_dirs/turbo_mask_rcnn_r50_8gpu

Prepare COCO in the standard MMDetection layout before evaluation:

data/coco/
├── annotations/instances_val2017.json
└── val2017/

Configuration

MaskBoxRefiner is registered in mmdet/models/utils/mask_box_refiner.py and is enabled from the RoI head:

roi_head=dict(
    type='StandardRoIHead',
    mask_box_refiner=dict(
        type='MaskBoxRefiner',
        box_threshold=0.20,
        score_threshold=0.35,
        mask_score_weight=0.35,
        empty_mask_fallback=False))
Option Meaning
box_threshold Foreground threshold used to derive a tight box from a mask.
score_threshold Foreground threshold used when computing maskness.
mask_score_weight Weight of the mask-aware score in score fusion.
empty_mask_fallback Whether an empty foreground mask falls back to the input box.

Set mask_box_refiner=None to recover the upstream MMDetection inference path. The provided Mask R-CNN R50-FPN configuration also uses Soft-NMS with an IoU threshold of 0.5.

Stage-wise Refinement

Stage-wise Turbo-Inference refinement

For Mask R-CNN and HTC, four stages are used by default: detection, vanilla segmentation, turbo detection, and turbo segmentation. QueryInst uses three stages because another mask-head pass can disturb the interaction between its proposal features and refined RoI features.

Implementation Status

Turbo-Inference is fully implemented for every model family listed below. These paths can be used directly with existing pretrained weights and require no retraining.

Model family Turbo-Inference
Mask R-CNN ✓
Cascade Mask R-CNN / HTC ✓
QueryInst / Sparse R-CNN ✓
RTMDet-Ins ✓

Roadmap

  • Training-free Turbo-Inference for Mask R-CNN.
  • Training-free Turbo-Inference for Cascade Mask R-CNN / HTC.
  • Training-free Turbo-Inference for QueryInst / Sparse R-CNN.
  • Training-free Turbo-Inference for RTMDet-Ins.
  • Compatibility with Soft-NMS and other training-free refinements.
  • Introduce the Turbo feedback loop during training and learn stronger Turbo-aware weights.

The current release focuses on training-free inference with existing checkpoints. The fresh Mask R-CNN Turbo-only and Turbo + Soft-NMS evaluation logs are stored in work_dirs/turbo_mask_rcnn_r50_no_softnms_8gpu/ and work_dirs/turbo_mask_rcnn_r50_readme_rerun_8gpu/, respectively. The remaining research direction is joint training with Turbo feedback to obtain better model weights. CondInst is intentionally excluded from this release.

Citation

If this project is useful in your research, please cite:

@article{zhao2026turboinference,
  title   = {A turbo-inference strategy for object detection and instance segmentation},
  author  = {Zhao, Zhen and Zhang, Gang and Hu, Xiaolin and Tang, Liang},
  journal = {Computer Vision and Image Understanding},
  volume  = {270},
  pages   = {104827},
  year    = {2026},
  doi     = {10.1016/j.cviu.2026.104827}
}

Preprint: arXiv:2606.12371.

Acknowledgements

This implementation is based on MMDetection. We thank the OpenMMLab contributors and the authors of the supported instance segmentation methods.

License

This codebase is released under the Apache 2.0 license. Please also follow the licenses of MMDetection, its dependencies, datasets, and pretrained models.

関連プロジェクトを探す