Home

Awesome

AUV-Net

PyTorch implementation for paper AUV-Net: Learning Aligned UV Maps for Texture Transfer and Synthesis, by Zhiqin Chen, Kangxue Yin, and Sanja Fidler.

Paper | Video | Project page

<img src='img/rolling.gif' /> <img src='img/gen.gif' />

Dependencies

The code has been tested on Ubuntu. The required packages are listed in requirements.yml. We recommend using conda to set up the environment; simply run the following scripts.

conda env create --file requirements.yml
conda activate auvnet

Run this script to build cython modules.

python setup.py build_ext --inplace

Datasets

Please see data_preparation folder.

Training

Note: the code only uses the first 80% of the shapes for training. If you want to train on all the shapes, add --use_all_data to all the commands in the .sh files.

Change data_dir in the .sh files before running the following scripts.

To train AUV-Net on the car category of ShapeNet, run the following script.

sh script/train_car.sh

Obtaining aligned texture images

To obtain aligned texture images, run the following script.

sh script/test_car.sh

The aligned texture images and their meshes with uv coordinates are written to folder aligned_textures.

Texture transfer

Simply swap the aligned texture images of two meshes.

Run the following script to quickly obtain an 8x8 table of geometry-texture hybrid shapes written in folder hybrid.

python utilities/demo_texture_transfer.py

Citation

If you find our work useful in your research, please consider citing:

@inproceedings{chen2022AUVNET,
	title = {AUV-Net: Learning Aligned UV Maps for Texture Transfer and Synthesis}, 
	author = {Zhiqin Chen and Kangxue Yin and Sanja Fidler},
	booktitle = {The Conference on Computer Vision and Pattern Recognition (CVPR)},
	year = {2022}
}

License

Copyright © 2022, NVIDIA Corporation & affiliates. All rights reserved.

This work is made available under the Nvidia Source Code License .