gaomingqi / Track-Anything

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

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool


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 annotation for video object tracking and segmentation.
  • Object-centric downstream video tasks, such as video inpainting and editing.

๐Ÿš€ Updates

  • 2023/05/02: We uploaded tutorials in steps ๐Ÿ—บ๏ธ. Check HERE for more details.

  • 2023/04/29: We improved inpainting by decoupling GPU memory usage and video length. Now Track-Anything can inpaint videos with any length! ๐Ÿ˜บ Check HERE for our GPU memory requirements.

  • 2023/04/25: We are delighted to introduce Caption-Anything โœ๏ธ, an inventive project from our lab that combines the capabilities of Segment Anything, Visual Captioning, and ChatGPT.

  • 2023/04/20: We deployed DEMO on Hugging Face ๐Ÿค—!

  • 2023/04/14: We made Track-Anything public!

๐Ÿ—บ๏ธ Video Tutorials (Track-Anything Tutorials in Steps)

huggingface_demo_operation.mp4

๐Ÿ•น๏ธ Example - Multiple Object Tracking and Segmentation (with XMem)

qingming.mp4

๐Ÿ•น๏ธ Example - Video Object Tracking and Segmentation with Shot Changes (with XMem)

curry_good_night_low.mp4

๐Ÿ•น๏ธ Example - Video Inpainting (with E2FGVI)

inpainting.mp4

๐Ÿ’ป Get Started

Linux & Windows

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

# Install dependencies: 
pip install -r requirements.txt

# Run the Track-Anything gradio demo.
python app.py --device cuda:0
# python app.py --device cuda:0 --sam_model_type vit_b # for lower memory usage

๐Ÿ“– Citation

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

@misc{yang2023track,
      title={Track Anything: Segment Anything Meets Videos}, 
      author={Jinyu Yang and Mingqi Gao and Zhe Li and Shang Gao and Fangjing Wang and Feng Zheng},
      year={2023},
      eprint={2304.11968},
      archivePrefix={arXiv},
      primaryClass={cs.CV}
}

๐Ÿ‘ Acknowledgements

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

About

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

License:MIT License


Languages

Language:Python 99.2%Language:HTML 0.8%