/Track-Anything

Track-Anything is a flexible and interactive tool for video object tracking and segmentation, based on Segment Anything and XMem.

Primary LanguagePythonMIT LicenseMIT


Track-Anything is a flexible and interactive tool for video object tracking and segmentation. It is developed upon Segment Anything, can specify anything to track and segment via user clicks only. During tracking, users can flexibly change the objects they wanna track or correct the region of interest if there are any ambiguities. These characteristics enable Track-Anything to be suitable for:

  • Video object tracking and segmentation with shot changes.
  • Visualized development and data annnotation for video object tracking and segmentation.
  • Object-centric downstream video tasks, such as video inpainting and editing.

🚀 Updates

  • 2023/04/20: We deployed [DEMO] on Hugging Face 🤗!

Demo

demo_version_1.MP4

Multiple Object Tracking and Segmentation (with XMem)

qingming.mp4

Video Object Tracking and Segmentation with Shot Changes (with XMem)

curry_good_night_low.mp4

Video Inpainting (with E2FGVI)

inpainting.mp4

Get Started

Linux

# Clone the repository:
git clone https://github.com/gaomingqi/Track-Anything.git
cd Track-Anything

# Install dependencies: 
pip install -r requirements.txt

# Install dependencies for inpainting: 
pip install -U openmim
mim install mmcv

# Install dependencies for editing
pip install madgrad 

# Run the Track-Anything gradio demo.
python app.py --device cuda:0 --sam_model_type vit_h --port 12212

Citation

If you find this work useful for your research or applications, please cite using this BibTeX:

@misc{gao2023track,
    title = {}

}

Acknowledgements

The project is based on Segment Anything, XMem, and E2FGVI. Thanks for the authors for their efforts.