DeepMAC (Deep Mask heads Above CenterNet) is a neural network architecture that is designed for the partially supervised instance segmentation task. For details see the The surprising impact of mask-head architecture on novel class segmentation paper. The figure below shows improved mask predictions for unseen classes as we use better mask-head architectures.
<img src="./img/mask_improvement.png" width=50%/>
Just by using better mask-head architectures (no extra losses or modules) we achieve state-of-the-art performance in the partially supervised instance segmentation task.
deepmac_meta_arch.py
implements our main architecture, DeepMAC, on top of
the CenterNet detection architecture.DeepMACMaskEstimation
in center_net.proto
controls the
configuration of the mask head used.allowed_masked_classes_ids
controls which classes recieve mask
supervision during training.We provide pre-defined configs which can be run as a
TF2 training pipeline. Each of these
configurations needs to be passed as the pipeline_config_path
argument to the
object_detection/model_main_tf2.py
binary. Note that the 512x512
resolution
models require a TPU v3-32
and the 1024x1024
resolution models require a TPU
v3-128
to train. The configs can be found in the configs/tf2
directory. In the table below X->Y
indicates that we train with masks from X
and evaluate with masks from Y
. Performance is measured on the coco-val2017
set.
Resolution | Mask head | Train->Eval | Config name | Mask mAP |
---|---|---|---|---|
512x512 | Hourglass-52 | VOC -> Non-VOC | center_net_deepmac_512x512_voc_only.config |
32.5 |
1024x1024 | Hourglass-100 | VOC -> Non-VOC | center_net_deepmac_1024x1024_voc_only.config |
35.5 |
1024x1024 | Hourglass-100 | Non-VOC -> VOC | center_net_deepmac_1024x1024_non_voc_only.config |
39.1 |
Here we report the Mask mAP averaged over all COCO classes on the test-dev2017
set .
Resolution | Mask head | Config name | Mask mAP |
---|---|---|---|
1024x1024 | Hourglass-100 | center_net_deepmac_1024x1024_coco.config |
39.4 |
Both these models take Image + boxes as input and produce per-box instance masks as output.
@misc{birodkar2021surprising,
title={The surprising impact of mask-head architecture on novel class segmentation},
author={Vighnesh Birodkar and Zhichao Lu and Siyang Li and Vivek Rathod and Jonathan Huang},
year={2021},
eprint={2104.00613},
archivePrefix={arXiv},
primaryClass={cs.CV}
}