> This is the documentation for LibreYOLO 1.6.0. Current version: https://www.libreyolo.com/docs/models/vitmatte

# ViTMatte
ViTMatte predicts a foreground alpha matte from an image and a trimap.
Tasks: Background removal. Install: pip install libreyolo.
Verified against LibreYOLO v1.6.0.

## Install

```bash
pip install "libreyolo"
```

## Predict

**Python**

```python
from libreyolo import LibreYOLO, SAMPLE_IMAGE

model = LibreYOLO("LibreViTMattes-matte.pt", device="cpu")
import numpy as np
from PIL import Image

image = Image.open(SAMPLE_IMAGE).convert("RGB")
# An all-unknown guide demonstrates the input contract. Supply a real trimap for matting.
trimap = np.full((image.height, image.width), 128, dtype=np.uint8)
result = model(image, trimap=trimap)
result.save("cutout.png")
```

A trimap marks background as 0, unknown pixels as 128 and foreground as 255. Pass it through `trimap=` for a single image. Validation accepts `trimap_dir` or derives guides with `trimap_radius`. Training and export are not supported.


## Validate

**Python**

```python
from libreyolo import LibreYOLO, SAMPLE_IMAGE

model = LibreYOLO("LibreViTMattes-matte.pt", device="cpu")
# A folder with images/ and mattes/ (grayscale alpha mattes, same file stems), or a matte YAML.
metrics = model.val(data="path/to/your/matte_dataset", workers=0)
print(metrics)
```

Use the dataset format for this task. [Validation](/docs/v1.6.0/train/validation) explains the dataset requirements and returned metrics.

## Checkpoints

| File | Input (px) | Task | Weights license |
| --- | --- | --- | --- |
| `LibreViTMattes-matte.pt` |  | Background removal | other |

## Licensing

Check the license on the Hugging Face repository of the specific weights you download. That repository is authoritative and licenses are not always uniform across a family. This is a description of the licenses involved, not legal advice.

- Original work: ViTMatte, HUST Vision Lab
- Upstream license: MIT code; Apache-2.0 weights
- Upstream source: https://github.com/hustvl/ViTMatte
- LibreYOLO code: MIT
- Weights: MIT code; Apache-2.0 weights, republished at https://huggingface.co/LibreYOLO
- Interpretation: The original code is MIT. The publisher card for hustvl/vitmatte-small-composition-1k declares Apache-2.0 for the weights.

## Citation

```bibtex
@article{yao2024vitmatte,
  title={ViTMatte: Boosting image matting with pre-trained plain vision transformers},
  author={Yao, Jingfeng and Wang, Xinggang and Yang, Shusheng and Wang, Baoyuan},
  journal={Information Fusion},
  volume={103},
  pages={102091},
  year={2024},
  publisher={Elsevier}
}
```

Copied from https://raw.githubusercontent.com/hustvl/ViTMatte/main/README.md


## ViTMatte architecture

- Small: [SVG](/diagrams/models/vitmatte/s-matte.svg), [interactive diagram](/diagrams/models/vitmatte/s-matte.html)
