/AUV-NET

Primary LanguagePythonOtherNOASSERTION

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.

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 .