This repository hosts an open-source implementation of Virtual Try-On (VITON) — a computer vision system that allows users to virtually try clothes on a person image.
Our goal is to create an open, community-driven platform for AI-based fashion visualization that anyone can use, improve, and extend.
- 👕 Cloth Warping: Aligns clothing items with human body shape using advanced geometric matching.
- 🧍 Person Image Synthesis: Generates realistic try-on results preserving person identity and pose.
- 🧠 Deep Learning Backbone: Based on PyTorch with modular architecture for easy experimentation.
- 🔧 Custom Dataset Support: Train or test with your own images (clothes + person).
- 🧩 Community Contributions: Built for open collaboration — anyone can contribute!
- Framework: PyTorch
- Core Models: GMM (Geometric Matching Module), Try-On Synthesis Network
- Languages: Python
- Supported Platforms: Linux, macOS, Windows
- Optional Tools: OpenCV, NumPy, Pillow, Matplotlib
viton/
├── data/ # Dataset folder (cloth + person images)
├── models/ # Model definitions
├── checkpoints/ # Pretrained weights (if any)
├── utils/ # Helper functions
├── train.py # Training script
├── test.py # Inference script
├── requirements.txt # Dependencies
└── README.md # Project documentation
# Clone this repository
git clone https://github.com/<your-username>/VITON.git
cd VITON
# Create and activate a virtual environment (optional but recommended)
python -m venv viton_env
source viton_env/bin/activate # (Linux/Mac)
viton_env\Scripts\activate # (Windows)
# Install dependencies
pip install -r requirements.txtOrganize your dataset as:
data/
├── person/
│ ├── person1.jpg
│ ├── person2.jpg
├── cloth/
│ ├── cloth1.jpg
│ ├── cloth2.jpg
python test.py --person data/person/person1.jpg --cloth data/cloth/cloth1.jpgOutput will be saved in the results/ folder.
If you want to train from scratch:
python train.py --dataset data/ --epochs 50"VITON: An Image-based Virtual Try-on Network"
Xintong Han, Zuxuan Wu, Zhe Wu, Ruichi Yu, Larry S. Davis
CVPR 2018
[Paper Link]
Citation:
@inproceedings{han2018viton,
title={VITON: An Image-based Virtual Try-on Network},
author={Han, Xintong and Wu, Zuxuan and Wu, Zhe and Yu, Ruichi and Davis, Larry S},
booktitle={Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition (CVPR)},
year={2018},
pages={7543--7552}
}"VITON-HD: High-Resolution Virtual Try-On via Misalignment-Aware Normalization"
Seunghwan Choi, Sunghyun Park, Minsoo Lee, Jaegul Choo
KAIST, CVPR 2021
[Paper Link]
Summary:
VITON-HD extends VITON to produce high-resolution and detail-preserving try-on results using misalignment-aware normalization, which better handles pose and clothing deformations.
Citation:
@inproceedings{choi2021vitonhd,
title={VITON-HD: High-Resolution Virtual Try-On via Misalignment-Aware Normalization},
author={Choi, Seunghwan and Park, Sunghyun and Lee, Minsoo and Choo, Jaegul},
booktitle={Proceedings of the IEEE/CVF Conference on Computer Vision and Pattern Recognition (CVPR)},
year={2021}
}We welcome all contributions — bug fixes, model improvements, documentation updates, or new ideas!
Follow these steps to contribute:
- Fork the repository
- Create a new branch (
feature/your-feature-name) - Commit your changes
- Push to your fork
- Open a Pull Request
We will review and merge your contribution after testing.
- Improved Cloth-Person Alignment
- Web-based Demo (Streamlit / Gradio)
- Multi-person Try-On
- Integration with OpenPose / Body Segmentation
- Mobile-friendly Inference
This project is maintained by the Open Source AI Community.
Everyone is encouraged to join and collaborate!
This project is licensed under the MIT License — free to use, modify, and distribute.
See the LICENSE file for details.
If you find this project useful, please star ⭐ this repository to support the open-source community!
For questions, ideas, or collaboration:
- Email: git@swatah.ai
- GitHub Issues: Create a new issue