Ho Kei Cheng, Seoung Wug Oh, Brian Price, Joon-Young Lee, Alexander Schwing
University of Illinois Urbana-Champaign and Adobe
Cutie is a video object segmentation framework -- a follow-up work of XMem with better consistency, robustness, and speed. This repository contains code for standard video object segmentation and a GUI tool for interactive video segmentation. The GUI tool additionally contains the "permanent memory" (from XMem++) option for better controllability.
demo_public_ver_small.mp4
Source: https://raw.githubusercontent.com/hkchengrex/Cutie/main/docs/sources.txt
Tested on Ubuntu only.
Prerequisite:
- Python 3.8+
- PyTorch 1.12+ and corresponding torchvision
Clone our repository:
git clone https://github.com/hkchengrex/Cutie.git
Install with pip:
cd Cutie
pip install -e .
(If you encounter the File "setup.py" not found error, upgrade your pip with pip install --upgrade pip)
Download the pretrained models:
python scripts/download_models.py
Start the interactive demo with:
python interactive_demo.py --video ./examples/example.mp4 --num_objects 1
See more instructions here.
If you are running this on a remote server, X11 forwarding is possible. Start by using ssh -X
. Additional configurations might be needed but Google would be more helpful than me.
@inproceedings{cheng2023putting,
title={Putting the Object Back into Video Object Segmentation},
author={Cheng, Ho Kei and Oh, Seoung Wug and Price, Brian and Lee, Joon-Young and Schwing, Alexander},
booktitle={arXiv},
year={2023}
}
-
The GUI tools uses RITM for interactive image segmentation. This repository also contains a redistribution of their code in
gui/ritm
. That part of code follows RITM's license. -
For automatic video segmentation/integration with external detectors, see DEVA.
-
The interactive demo is developed upon IVS, MiVOS, and XMem.
-
We used ProPainter in our video inpainting demo.