Home

Awesome

<div align="center"> <h1>SIFU: Side-view Conditioned Implicit Function for Real-world Usable Clothed Human Reconstruction</h1> <div> <a href="https://river-zhang.github.io/zechuanzhang//" target="_blank">Zechuan Zhang</a>&emsp; <a href="https://z-x-yang.github.io/" target="_blank">Zongxin Yang✉</a>&emsp; <a href="https://scholar.google.com/citations?user=RMSuNFwAAAAJ&hl=zh-CN&oi=ao" target="_blank">Yi Yang</a>&emsp; </div> <div> ReLER, CCAI, Zhejiang University </div> <div> <sup>✉</sup>Corresponding Author </div> <div> <a href="https://river-zhang.github.io/SIFU-projectpage/" target="_blank">CVPR 2024 Highlight</a> </div> <div style="width: 80%; text-align: center; margin:auto;"> <img style="width:100%" src="docs/images/teaser.png"> <em>Figure 1. With just a single image, SIFU is capable of reconstructing a high-quality 3D clothed human model, making it well-suited for practical applications such as 3D printing and scene creation. At the heart of SIFU is a novel Side-view Conditioned Implicit Function, which is key to enhancing feature extraction and geometric precision. Furthermore, SIFU introduces a 3D Consistent Texture Refinement process, greatly improving texture quality and facilitating texture editing with the help of text-to-image diffusion models. Notably proficient in dealing with complex poses and loose clothing, SIFU stands out as an ideal solution for real-world applications.</em> </div>

:open_book: For more visual results, go checkout our <a href="https://river-zhang.github.io/SIFU-projectpage/" target="_blank">project page</a>

This repository will contain the official implementation of SIFU.

<div align="left">

News

Installation

We thank @levnikolaevich and @GuangtaoLyu for provide valuable advice on the installation steps.

If you don't have conda or miniconda, please install that first:

sudo apt-get update && \
sudo apt-get upgrade -y && \
sudo apt-get install unzip libeigen3-dev ffmpeg build-essential nvidia-cuda-toolkit

mkdir -p ~/miniconda3 && \
wget https://repo.anaconda.com/miniconda/Miniconda3-latest-Linux-x86_64.sh -O ~/miniconda3/miniconda.sh && \
bash ~/miniconda3/miniconda.sh -b -u -p ~/miniconda3 && \
rm -rf ~/miniconda3/miniconda.sh && \
~/miniconda3/bin/conda init bash && \
~/miniconda3/bin/conda init zsh

# close and reopen the shell
git clone https://github.com/River-Zhang/SIFU.git
sudo apt-get install libeigen3-dev ffmpeg
cd SIFU
conda env create -f environment.yaml
conda activate sifu
pip install -r requirements.txt

Please download the checkpoint (google drive) and place them in ./data/ckpt

Please follow ICON to download the extra data, such as HPS and SMPL (using fetch_hps.sh and fetch_data.sh). There may be missing files about SMPL, and you can download from here and put them in /data/smpl_related/smpl_data/.

Inference



python -m apps.infer -cfg ./configs/sifu.yaml -gpu 0 -in_dir ./examples -out_dir ./results -loop_smpl 100 -loop_cloth 200 -hps_type pixie

Testing

# 1. Register at http://icon.is.tue.mpg.de/ or https://cape.is.tue.mpg.de/
# 2. Download CAPE testset
bash fetch_cape.sh 

# evaluation
python -m apps.train -cfg ./configs/train/sifu.yaml -test

# TIP: the default "mcube_res" is 256 in apps/train.

Texture Refinement Module

The code is available for download on google drive. Please note that the current code structure may not be well-organized and may require some time to set up the environment. The author plans to reorganize it at their earliest convenience.

Applications of SIFU

Scene Building

Scene

3D Printing

3D

Texture Editing

editing

Animation

animation

In-the-wild Reconstruction

in-the-wild

Bibtex

If this work is helpful for your research, please consider citing the following BibTeX entry.

@InProceedings{Zhang_2024_CVPR,
    author    = {Zhang, Zechuan and Yang, Zongxin and Yang, Yi},
    title     = {SIFU: Side-view Conditioned Implicit Function for Real-world Usable Clothed Human Reconstruction},
    booktitle = {Proceedings of the IEEE/CVF Conference on Computer Vision and Pattern Recognition (CVPR)},
    month     = {June},
    year      = {2024},
    pages     = {9936-9947}
}