Giter VIP home page Giter VIP logo

tailornet's Introduction

TailorNet

This repository contains training and inference code for the following paper:

TailorNet: Predicting Clothing in 3D as a Function of Human Pose, Shape and Garment Style  
Chaitanya Patel*, Zhouyingcheng Liao*, Gerard Pons-Moll  
CVPR 2020 (ORAL)  

[ArXiv] [Project Website] [Dataset Repo] [Youtube]

Teaser

old-t-shirt_female t-shirt_female t-shirt_male
old-t-shirt_female results t-shirt_female results t-shirt_male results

Updates

  • [02-08-2020] Female and male pant weights added.
  • [19-07-2020] Male shirt weights added.
  • [12-07-2020] Female shirt weights added.
  • [28-06-2020] Female t-shirt weights added.
  • [25-06-2020] Minor bug fixes and male t-shirt weights added.
  • [17-06-2020] Inference script and female old-t-shirt weights added.

Requirements

python3
pytorch
scipy
chumpy
psbody.mesh

How to Run

  • Download and prepare SMPL model and TailorNet data from dataset repository.
  • Set DATA_DIR and SMPL paths in global_var.py file accordingly.
  • Download trained model weights in a directory and set its path to MODEL_WEIGHTS_PATH variable in global_var.py.
  • Set output path in run_tailornet.py and run it to predict garments on some random inputs. You can play with different inputs. You can also run inference on motion sequence data.
  • To visualize predicted garment using blender, run python run_tailornet.py render. (Blender needs to be installed.)

TailorNet Per-vertex Error in mm on Test Set

... evaluated using evaluate function in utils/eval.py.

garment_class gender TailorNet Baseline TailorNet Mixture Model
old-t-shirt female 11.1 10.7
t-shirt female 12.6 12.3
t-shirt male 11.4 11.2
shirt female 14.2 14.1
shirt male 12.7 12.5
pant female 4.7 4.8
pant male 8.1 8.1

Training TailorNet yourself

  • Set global variables in global_var.py, especially LOG_DIR where training logs will be stored.
  • Set config variables like gender and garment class in trainer/base_trainer.py (or pass them via command line) and run python trainer/base_trainer.py to train TailorNet MLP baseline.
  • Similarly, run python trainer/lf_trainer.py to train low frequency predictor and trainer/ss2g_trainer.py to train shape-style-to-garment(in canonical pose) model.
  • Run python trainer/hf_trainer.py --shape_style <shape1>_<style1> <shape2>_<style2> ... to train pivot high frequency predictors for pivots <shape1>_<style1>, <shape2>_<style2>, and so on. See DATA_DIR/<garment_class>_<gender>/pivots.txt to know available pivots.
  • Use models.tailornet_model.TailorNetModel with appropriate logdir arguments to do prediction.

Citation

Cite us if you use our model, code or data:

@inproceedings{patel20tailornet,
        title = {TailorNet: Predicting Clothing in 3D as a Function of Human Pose, Shape and Garment Style},
        author = {Patel, Chaitanya and Liao, Zhouyingcheng and Pons-Moll, Gerard},
        booktitle = {{IEEE} Conference on Computer Vision and Pattern Recognition (CVPR)},
        month = {jun},
        organization = {{IEEE}},
        year = {2020},
    }

Misc

  • Thanks to Bharat for many fruitful discussions and for smpl_lib library taken from his MultiGarmentNet repo's lib folder.
  • Thanks to Garvita for helping out during the onerous procedure of data generation.

For any doubt or concert about the code, raise an issue on this repository.

tailornet's People

Contributors

chaitanya100100 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.