Home
Softono
MVPaint

MVPaint

Open source Python
254
Stars
8
Forks
0
Issues
32
Watchers
9 months
Last Commit

About MVPaint

MVPaint is a synchronized multi-view diffusion framework designed for high-fidelity 3D texturing presented at CVPR 2025. It addresses common issues in 3D asset production such as local discontinuities, view inconsistencies, and heavy dependence on specific UV unwrapping outcomes. The system employs a three-stage generation-refinement pipeline. First, the Synchronized Multi-view Generation module creates coarse textures by simultaneously generating consistent images from multiple viewing angles. Second, the Spatial-aware 3D Inpainting module fills in unobserved areas to ensure complete coverage. Finally, the UV Refinement module enhances texture quality in UV space through super-resolution and a seam-smoothing algorithm that eliminates artifacts caused by UV unwrapping. MVPaint produces seamless, high-resolution textures with minimal Janus effects and superior cross-view consistency, supporting arbitrary UV mappings. It is suitable for automating texture creation in 3D modeling workflows, offering a versatile

Platforms

Web Self-hosted

Languages

Python

MVPaint

pipeline

MVPaint generates multi-view consistent textures with arbitrary UV unwrapping and high generation versatility.

Introducing MVPaint

pipeline


Texturing is a crucial step in the 3D asset production workflow, which enhances the visual appeal and diversity of 3D assets. Despite recent advancements in generation-based texturing, existing methods often yield subpar results, primarily due to local discontinuities, inconsistencies across multiple views, and their heavy dependence on UV unwrapping outcomes. To tackle these challenges, we propose a novel generation-refinement 3D texturing framework called MVPaint, which can generate high-resolution, seamless textures while emphasizing multi-view consistency. MVPaint mainly consists of three key modules. 1) Synchronized Multi-view Generation (SMG). Given a 3D mesh model, MVPaint first simultaneously generates multi-view images by employing a SMG model, which leads to coarse texturing results with unpainted parts due to missing observations. 2) Spatial-aware 3D Inpainting (S3I). To ensure complete 3D texturing, we introduce the S3I method, specifically designed to effectively texture previously unobserved areas. 3) UV Refinement (UVR). Furthermore, MVPaint employs a UVR module to improve the texture quality in the UV space, which first performs a UV-space Super-Resolution, followed by a Spatial-aware Seam-Smoothing algorithm for revising spatial texturing discontinuities caused by UV unwrapping. Extensive experimental results demonstrate that MVPaint surpasses existing state-of-the-art methods. Notably, MVPaint could generate high-fidelity textures with minimal Janus issues and highly enhanced cross-view consistency.

News

  • [2025/07/29] Release a preliminary version for testing.
  • [2024/10/31] Upload paper and init project.

Installation

### environment for preprocessing, stage_1_low_res and final visualization
sh env_mvdream.sh 

### environment for stage_1_high_res and stage_2_3
sh env_syncmvd.sh 

Demo

The script needs to download multiple pretrained models from Hugging Face, which may take time to complete during the first run.

Our pretrained model could be found here.

We provide a sample mesh under the ./samples folder. You can use it to quickly test the script and verify its functionality.

### please modify paths in run_pipeline.sh, they are:
### CODE_ROOT, CKPT_PATH, SAMPLE_DIR, prompt_file, OUT_ROOT
sh run_pipeline.sh 

Citation

If you find our code or paper helps, please consider citing:

@inproceedings{cheng2025mvpaint,
  title={Mvpaint: Synchronized multi-view diffusion for painting anything 3d},
  author={Cheng, Wei and Mu, Juncheng and Zeng, Xianfang and Chen, Xin and Pang, Anqi and Zhang, Chi and Wang, Zhibin and Fu, Bin and Yu, Gang and Liu, Ziwei and others},
  booktitle={Proceedings of the Computer Vision and Pattern Recognition Conference},
  pages={585--594},
  year={2025}
}

Acknowledgments

Thanks to these amazing works which MVPaint is built upon: MVDream, SyncMVD and Paint3D