# TensorMask in Detectron2 **A Foundation for Dense Object Segmentation** Xinlei Chen, Ross Girshick, Kaiming He, Piotr Dollár [[`arXiv`](https://arxiv.org/abs/1903.12174)] [[`BibTeX`](#CitingTensorMask)]
In this repository, we release code for TensorMask in Detectron2. TensorMask is a dense sliding-window instance segmentation framework that, for the first time, achieves results close to the well-developed Mask R-CNN framework -- both qualitatively and quantitatively. It establishes a conceptually complementary direction for object instance segmentation research. ## Installation First install Detectron2 following the [documentation](https://detectron2.readthedocs.io/tutorials/install.html) and [setup the dataset](../../datasets). Then compile the TensorMask-specific op (`swap_align2nat`): ```bash pip install -e /path/to/detectron2/projects/TensorMask ``` ## Training To train a model, run: ```bash python /path/to/detectron2/projects/TensorMask/train_net.py --config-file ``` For example, to launch TensorMask BiPyramid training (1x schedule) with ResNet-50 backbone on 8 GPUs, one should execute: ```bash python /path/to/detectron2/projects/TensorMask/train_net.py --config-file configs/tensormask_R_50_FPN_1x.yaml --num-gpus 8 ``` ## Evaluation Model evaluation can be done similarly (6x schedule with scale augmentation): ```bash python /path/to/detectron2/projects/TensorMask/train_net.py --config-file configs/tensormask_R_50_FPN_6x.yaml --eval-only MODEL.WEIGHTS /path/to/model_checkpoint ``` # Pretrained Models | Backbone | lr sched | AP box | AP mask | download | | -------- | -------- | -- | --- | -------- | | R50 | 1x | 37.6 | 32.4 | model \|  metrics | | R50 | 6x | 41.4 | 35.8 | model \|  metrics | ## Citing TensorMask If you use TensorMask, please use the following BibTeX entry. ``` @InProceedings{chen2019tensormask, title={Tensormask: A Foundation for Dense Object Segmentation}, author={Chen, Xinlei and Girshick, Ross and He, Kaiming and Doll{\'a}r, Piotr}, journal={The International Conference on Computer Vision (ICCV)}, year={2019} } ```