GroupSketch: Multi-Object Sketch Animation with Grouping and Motion Trajectory Priors

August 14, 2025 ยท View on GitHub

Project Website

title

This repository contains the official implementation of our ACM MM 2025 paper, "Multi-Object Sketch Animation with Grouping and Motion Trajectory Priors."

๐Ÿ”ฅ Latest Update

  • 2025.08: ๐ŸŽ‰ We released the code for GroupSketch. ๐ŸŽ‰
  • 2025.07: ๐ŸŽ‰ GroupSketch accepted by ACM MM 2025. ๐ŸŽ‰

๐ŸŒŸ Highlights

  • Novel Two-Stage Pipeline: Combines user-defined grouping with motion trajectory priors for multi-object sketch animation
  • Group-based Displacement Network: Features Context-conditioned Feature Enhancement for improved temporal consistency
  • Superior Performance: Significantly outperforms existing methods in visual quality and temporal consistency for complex multi-object scenarios
  • Interactive Web Interface: User-friendly Flask-based web application for easy sketch animation creation

๐Ÿš€ Getting Started

Installation

  1. Clone the repository:
git clone https://github.com/Yukinonooo/GroupSketch.git
cd GroupSketch
  1. Set up the conda environment:
conda env create -f requirements.txt
conda activate groupsketch
  1. Install PyDiffVG (Essential for vector graphics rendering):
git clone https://github.com/BachiLi/diffvg.git
cd diffvg
git submodule update --init --recursive
python setup.py install

๐ŸŽจ Usage

Quick Start - Web Interface

  1. Launch the web application:
python app.py
  1. Upload your sketch:
  • Support formats: SVG
  1. Define object groups:
  • Use the interactive Canvas to group related objects
  • Set motion trajectories for each group
  1. Generate animation:
  • Configure animation parameters (duration, frames, etc.)
  • Click "Generate Animation" to start processing

๐ŸŽฌ Interactive Tutorial

Experience GroupSketch in Action: Watch our comprehensive walkthrough demonstrating the complete workflow from sketch upload to animation generation.

๐Ÿ–ฑ๏ธ Canvas Web Interface Demo

Watch the Tutorial

๐Ÿ“น Click here to download and watch the complete tutorial

Complete end-to-end demonstration of the GroupSketch web interface, showcasing object grouping, motion trajectory definition, and real-time animation generation.

๐Ÿ’ก Pro Tip: Follow along with the tutorial using your own sketches to master the GroupSketch workflow!

๐Ÿ“Š Features

Core Capabilities

  • โœ… Multi-object sketch animation with automatic object detection
  • โœ… Group-based motion control for complex scene animation
  • โœ… Temporal consistency through advanced neural networks
  • โœ… Real-time preview in web interface
  • โœ… Batch processing for multiple sketches
  • โœ… SVG export for scalable vector animations

Supported Input Formats

  • SVG: Native vector format

Output Formats

  • MP4 video: Frame-based animation export
  • GIF: Animated GIF for web sharing
  • SVG sequence: Individual SVG frames
  • PNG sequence: Rasterized frame sequence

๐Ÿ“„ License

This project is licensed under the MIT License - see the LICENSE file for details.

๐Ÿ’˜ Acknowledgements

This project is built upon the incredible work of:

Special thanks to the authors and contributors of both projects!

๐Ÿ“ฌ Contact

For questions, bug reports, or collaboration inquiries, please feel free to open an issue or submit a pull request on GitHub.


Star โญ this repository if you find it helpful!