447 lines
18 KiB
HTML
447 lines
18 KiB
HTML
<!DOCTYPE html>
|
|
<html>
|
|
<head>
|
|
<meta charset="utf-8">
|
|
<meta name="description"
|
|
content="FlexPainter: Flexible and Multi-View Consistent Texture Generation">
|
|
<meta name="keywords" content="Texture generation, 3D generation, multi-view generation, mesh, texture">
|
|
<meta name="viewport" content="width=device-width, initial-scale=1">
|
|
<title>FlexPainter: Flexible and Multi-View Consistent Texture Generation</title>
|
|
|
|
<link href="https://fonts.googleapis.com/css?family=Google+Sans|Noto+Sans|Castoro"
|
|
rel="stylesheet">
|
|
|
|
<link rel="stylesheet" href="./static/css/bulma.min.css">
|
|
<link rel="stylesheet" href="./static/css/bulma-carousel.min.css">
|
|
<link rel="stylesheet" href="./static/css/bulma-slider.min.css">
|
|
<link rel="stylesheet" href="./static/css/fontawesome.all.min.css">
|
|
<link rel="stylesheet" href="https://cdn.jsdelivr.net/gh/jpswalsh/academicons@1/css/academicons.min.css">
|
|
<link rel="stylesheet" href="./static/css/index.css">
|
|
<link rel="icon" href="./static/images/icon.ico">
|
|
|
|
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.5.1/jquery.min.js"></script>
|
|
<script defer src="./static/js/fontawesome.all.min.js"></script>
|
|
<script src="./static/js/bulma-carousel.min.js"></script>
|
|
<script src="./static/js/bulma-slider.min.js"></script>
|
|
<script src="./static/js/index.js"></script>
|
|
|
|
<style>
|
|
.grid-container {
|
|
display: grid;
|
|
grid-template-columns: auto auto auto auto auto auto;
|
|
gap: 10px;
|
|
padding: 0;
|
|
}
|
|
|
|
.grid-container > div {
|
|
text-align: center;
|
|
padding: 0;
|
|
font-size: 30px;
|
|
}
|
|
|
|
.item1 {
|
|
grid-column: 1 / 3;
|
|
}
|
|
.item2 {
|
|
grid-column: 3 / 5;
|
|
}
|
|
.item3 {
|
|
grid-column: 5 / 7;
|
|
}
|
|
</style>
|
|
</head>
|
|
<body>
|
|
|
|
<section class="hero">
|
|
<div class="hero-body">
|
|
<div class="container is-max-desktop">
|
|
<div class="columns is-centered">
|
|
<div class="column has-text-centered">
|
|
<h1 class="title is-1 publication-title">FlexPainter: Flexible and Multi-View Consistent Texture Generation</h1>
|
|
<div class="is-size-5 publication-authors">
|
|
<span class="author-block">
|
|
<a href="http://me.starydy.xyz/">Dongyu Yan</a><sup>1,*</sup>,</span>
|
|
<span class="author-block">
|
|
<a href="https://yuevii.github.io/">Leyi Wu</a><sup>1,*</sup>,</span>
|
|
<span class="author-block">
|
|
<a href="https://ltt-o.github.io/JiantaoLin.github.io/">Jiantao Lin</a><sup>1</sup>,
|
|
</span>
|
|
<span class="author-block">
|
|
<a href="https://wileewang.github.io/">Luozhou Wang</a><sup>1</sup>,
|
|
</span>
|
|
<span class="author-block">
|
|
<a href="https://scholar.google.com/citations?user=I6_dXvEAAAAJ&hl=zh-CN">Tianshuo Xu</a><sup>1</sup>,
|
|
</span>
|
|
<span class="author-block">
|
|
<a href="https://zhifeichen097.github.io/">Zhifei Chen</a><sup>1</sup>,
|
|
</span>
|
|
<span class="author-block">
|
|
<a href="https://scholar.google.com/citations?user=Vm1moSIAAAAJ&hl=zh-CN">Zhen Yang</a><sup>1</sup>,
|
|
</span>
|
|
<span class="author-block">
|
|
Lie Xu</a><sup>3</sup>
|
|
</span>
|
|
<span class="author-block">
|
|
Shunsi Zhang</a><sup>3</sup>,
|
|
</span>
|
|
<span class="author-block">
|
|
<a href="https://www.yingcong.me/">Ying-Cong Chen</a><sup>1,2,†</sup>,
|
|
</span>
|
|
</div>
|
|
<style>
|
|
.author-block {
|
|
margin-right: 10px;
|
|
}
|
|
</style>
|
|
<div class="is-size-5 publication-authors">
|
|
<span class="author-block"><sup>1</sup>HKUST(GZ),</span>
|
|
<span class="author-block"><sup>2</sup>HKUST</span>
|
|
<span class="author-block"><sup>3</sup>Guangzhou Quwan Network Technology</span>
|
|
</div>
|
|
<p class="author-notes">
|
|
<span>* Equal contribution</span>
|
|
<span>† Corresponding author</span>
|
|
</p>
|
|
|
|
<div class="column has-text-centered">
|
|
<div class="publication-links">
|
|
<!-- PDF Link. -->
|
|
<span class="link-block">
|
|
<a href="https://arxiv.org/pdf/2506.02620"
|
|
class="external-link button is-normal is-rounded is-dark">
|
|
<span class="icon">
|
|
<i class="fas fa-file-pdf"></i>
|
|
</span>
|
|
<span>Paper</span>
|
|
</a>
|
|
</span>
|
|
<span class="link-block">
|
|
<a href="https://arxiv.org/abs/2506.02620"
|
|
class="external-link button is-normal is-rounded is-dark">
|
|
<span class="icon">
|
|
<i class="ai ai-arxiv"></i>
|
|
</span>
|
|
<span>arXiv</span>
|
|
</a>
|
|
</span>
|
|
<!-- Video Link. -->
|
|
<span class="link-block">
|
|
<a href="https://www.youtube.com/watch?v=AudeQdTifWY"
|
|
class="external-link button is-normal is-rounded is-dark">
|
|
<span class="icon">
|
|
<i class="fab fa-youtube"></i>
|
|
</span>
|
|
<span>Video</span>
|
|
</a>
|
|
</span>
|
|
<!-- Code Link. -->
|
|
<span class="link-block">
|
|
<a href="https://github.com/StarRealMan/FlexPainter"
|
|
class="external-link button is-normal is-rounded is-dark">
|
|
<span class="icon">
|
|
<i class="fab fa-github"></i>
|
|
</span>
|
|
<span>Code</span>
|
|
</a>
|
|
</span>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</section>
|
|
|
|
<section class="hero teaser">
|
|
<div class="container is-max-desktop">
|
|
<div class="hero-body">
|
|
<img src="./static/images/teaser-1.png" alt="Teaser Image" style="width: 100%;">
|
|
<h2 class="subtitle has-text-centered">
|
|
<strong>FlexPainter</strong></span> generates diverse, high-quality textures based on various flexible user prompts.
|
|
</h2>
|
|
</div>
|
|
</div>
|
|
</section>
|
|
|
|
<section class="section">
|
|
<div class="container is-max-desktop">
|
|
|
|
<!-- Paper video. -->
|
|
<div class="columns is-centered has-text-centered">
|
|
<div class="column is-four-fifths">
|
|
<h2 class="title is-3">Video</h2>
|
|
<div class="publication-video">
|
|
<iframe src="https://www.youtube.com/embed/AudeQdTifWY?rel=0&showinfo=0"
|
|
frameborder="0" allow="autoplay; encrypted-media" allowfullscreen></iframe>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<!--/ Paper video. -->
|
|
|
|
<!-- Abstract. -->
|
|
<div class="columns is-centered has-text-centered">
|
|
<div class="column is-four-fifths">
|
|
<h2 class="title is-3">Abstract</h2>
|
|
<div class="content has-text-justified">
|
|
<p>
|
|
Texture map production is an important part of 3D modeling and determines the rendering quality.
|
|
Recently, diffusion-based methods have opened a new way for texture generation.
|
|
However, restricted control flexibility and limited prompt modalities may prevent creators from producing desired results.
|
|
Furthermore, inconsistencies between generated multi-view images often lead to poor texture generation quality.
|
|
To address these issues, we introduce <strong>FlexPainter</strong>, a novel texture generation pipeline that enables flexible multi-modal conditional guidance and achieves highly consistent texture generation.
|
|
A shared conditional embedding space is constructed to perform flexible aggregation between different input modalities.
|
|
Utilizing such embedding space, we present an image-based CFG method to decompose structural and style information, achieving reference image-based stylization.
|
|
Leveraging the 3D knowledge within the image diffusion prior, we first generate multi-view images simultaneously using a grid representation to enhance global understanding.
|
|
Meanwhile, we propose a view synchronization and adaptive weighting module during diffusion sampling to further ensure local consistency.
|
|
Finally, a 3D-aware texture completion model combined with a texture enhancement model is used to generate seamless, high-resolution texture maps.
|
|
Comprehensive experiments demonstrate that our framework significantly outperforms state-of-the-art methods in both flexibility and generation quality.
|
|
</p>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<!--/ Abstract. -->
|
|
|
|
<!-- Method. -->
|
|
<div class="columns is-centered has-text-centered">
|
|
<div class="column is-four-fifths">
|
|
<h2 class="title is-3">Method</h2>
|
|
<img src="./static/images/pipe-1.png" alt="Image 1" style="width: 1200px;">
|
|
<div class="content has-text-justified">
|
|
<p>
|
|
Above is the pipeline of our method. We first generate multi-view images using the conditional input from the user.
|
|
The top two cases show the generation of using text-only or image-only conditions.
|
|
Leveraging the linear operation in Equ.(\ref{equ:lo}), we can also perform text-guided image refinement (shown in green) and stylization using reference image (shown in blue).
|
|
The right side shows our view-synchronization and weighting module.
|
|
Consistent multi-view images can be generated by reprojection and weighting during each sampling step.
|
|
</p>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<!--/ Method. -->
|
|
|
|
<div class="columns is-centered has-text-centered">
|
|
<div class="column is-four-fifths">
|
|
<h2 class="title is-3">Results</h2>
|
|
<img src="./static/images/text-1.png" alt="Image 1" style="width: 1200px;">
|
|
<div class="content has-text-centered">
|
|
<p>
|
|
Text-to-texture generation
|
|
</p>
|
|
</div>
|
|
<img src="./static/images/image-to-texture-1.png" alt="Image 1" style="width: 1200px;">
|
|
<div class="content has-text-centered">
|
|
<p>
|
|
Image-to-texture generation
|
|
</p>
|
|
</div>
|
|
<img src="./static/images/app-1.png" alt="Image 1" style="width: 1200px;">
|
|
<div class="content has-text-centered">
|
|
<p>
|
|
Our applications
|
|
</p>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
|
|
<div class="container is-centered has-text-centered">
|
|
<h2 class="title is-3">Video Gallery</h2>
|
|
</div>
|
|
<br>
|
|
<div class="columns is-centered" style="flex-direction: row; gap: 10px; flex-wrap: wrap;">
|
|
<div class="column" style="flex: 1; max-width: 20%;">
|
|
<div class="content" style="text-align: center;">
|
|
<video controls style="width: 100%;">
|
|
<source src="./static/video/1.mp4" type="video/mp4">
|
|
</video>
|
|
</div>
|
|
</div>
|
|
<div class="column" style="flex: 1; max-width: 20%;">
|
|
<div class="content" style="text-align: center;">
|
|
<video controls style="width: 100%;">
|
|
<source src="./static/video/2.mp4" type="video/mp4">
|
|
</video>
|
|
</div>
|
|
</div>
|
|
<div class="column" style="flex: 1; max-width: 20%;">
|
|
<div class="content" style="text-align: center;">
|
|
<video controls style="width: 100%;">
|
|
<source src="./static/video/3.mp4" type="video/mp4">
|
|
</video>
|
|
</div>
|
|
</div>
|
|
<div class="column" style="flex: 1; max-width: 20%;">
|
|
<div class="content" style="text-align: center;">
|
|
<video controls style="width: 100%;">
|
|
<source src="./static/video/4.mp4" type="video/mp4">
|
|
</video>
|
|
</div>
|
|
</div>
|
|
<div class="column" style="flex: 1; max-width: 20%;">
|
|
<div class="content" style="text-align: center;">
|
|
<video controls style="width: 100%;">
|
|
<source src="./static/video/5.mp4" type="video/mp4">
|
|
</video>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<div class="columns is-centered" style="flex-direction: row; gap: 10px; flex-wrap: wrap;">
|
|
<div class="column" style="flex: 1; max-width: 20%;">
|
|
<div class="content" style="text-align: center;">
|
|
<video controls style="width: 100%;">
|
|
<source src="./static/video/6.mp4" type="video/mp4">
|
|
</video>
|
|
</div>
|
|
</div>
|
|
<div class="column" style="flex: 1; max-width: 20%;">
|
|
<div class="content" style="text-align: center;">
|
|
<video controls style="width: 100%;">
|
|
<source src="./static/video/7.mp4" type="video/mp4">
|
|
</video>
|
|
</div>
|
|
</div>
|
|
<div class="column" style="flex: 1; max-width: 20%;">
|
|
<div class="content" style="text-align: center;">
|
|
<video controls style="width: 100%;">
|
|
<source src="./static/video/8.mp4" type="video/mp4">
|
|
</video>
|
|
</div>
|
|
</div>
|
|
<div class="column" style="flex: 1; max-width: 20%;">
|
|
<div class="content" style="text-align: center;">
|
|
<video controls style="width: 100%;">
|
|
<source src="./static/video/9.mp4" type="video/mp4">
|
|
</video>
|
|
</div>
|
|
</div>
|
|
<div class="column" style="flex: 1; max-width: 20%;">
|
|
<div class="content" style="text-align: center;">
|
|
<video controls style="width: 100%;">
|
|
<source src="./static/video/10.mp4" type="video/mp4">
|
|
</video>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<div class="columns is-centered" style="flex-direction: row; gap: 10px; flex-wrap: wrap;">
|
|
<div class="column" style="flex: 1; max-width: 20%;">
|
|
<div class="content" style="text-align: center;">
|
|
<video controls style="width: 100%;">
|
|
<source src="./static/video/11.mp4" type="video/mp4">
|
|
</video>
|
|
</div>
|
|
</div>
|
|
<div class="column" style="flex: 1; max-width: 20%;">
|
|
<div class="content" style="text-align: center;">
|
|
<video controls style="width: 100%;">
|
|
<source src="./static/video/12.mp4" type="video/mp4">
|
|
</video>
|
|
</div>
|
|
</div>
|
|
<div class="column" style="flex: 1; max-width: 20%;">
|
|
<div class="content" style="text-align: center;">
|
|
<video controls style="width: 100%;">
|
|
<source src="./static/video/13.mp4" type="video/mp4">
|
|
</video>
|
|
</div>
|
|
</div>
|
|
<div class="column" style="flex: 1; max-width: 20%;">
|
|
<div class="content" style="text-align: center;">
|
|
<video controls style="width: 100%;">
|
|
<source src="./static/video/14.mp4" type="video/mp4">
|
|
</video>
|
|
</div>
|
|
</div>
|
|
<div class="column" style="flex: 1; max-width: 20%;">
|
|
<div class="content" style="text-align: center;">
|
|
<video controls style="width: 100%;">
|
|
<source src="./static/video/15.mp4" type="video/mp4">
|
|
</video>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<div class="columns is-centered" style="flex-direction: row; gap: 10px; flex-wrap: wrap;">
|
|
<div class="column" style="flex: 1; max-width: 20%;">
|
|
<div class="content" style="text-align: center;">
|
|
<video controls style="width: 100%;">
|
|
<source src="./static/video/16.mp4" type="video/mp4">
|
|
</video>
|
|
</div>
|
|
</div>
|
|
<div class="column" style="flex: 1; max-width: 20%;">
|
|
<div class="content" style="text-align: center;">
|
|
<video controls style="width: 100%;">
|
|
<source src="./static/video/17.mp4" type="video/mp4">
|
|
</video>
|
|
</div>
|
|
</div>
|
|
<div class="column" style="flex: 1; max-width: 20%;">
|
|
<div class="content" style="text-align: center;">
|
|
<video controls style="width: 100%;">
|
|
<source src="./static/video/18.mp4" type="video/mp4">
|
|
</video>
|
|
</div>
|
|
</div>
|
|
<div class="column" style="flex: 1; max-width: 20%;">
|
|
<div class="content" style="text-align: center;">
|
|
<video controls style="width: 100%;">
|
|
<source src="./static/video/19.mp4" type="video/mp4">
|
|
</video>
|
|
</div>
|
|
</div>
|
|
<div class="column" style="flex: 1; max-width: 20%;">
|
|
<div class="content" style="text-align: center;">
|
|
<video controls style="width: 100%;">
|
|
<source src="./static/video/20.mp4" type="video/mp4">
|
|
</video>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</section>
|
|
|
|
<section class="section" id="BibTeX">
|
|
<div class="container is-max-desktop content">
|
|
<h2 class="title">BibTeX</h2>
|
|
<pre><code>
|
|
@article{yan2024flexipainter,
|
|
title={FlexPainter: Flexible and Multi-View Consistent Texture Generation},
|
|
author={Dongyu Yan, Leyi Wu, Jiantao Lin, Luozhou Wang, Tianshuo Xu, Zhifei Chen, Zhen Yang, Lie Xu, Shunsi Zhang, Yingcong Chen},
|
|
journal={arXiv preprint arXiv:2506.02620},
|
|
year={2025}
|
|
}
|
|
</code></pre>
|
|
</div>
|
|
</section>
|
|
|
|
<footer class="footer">
|
|
<div class="container">
|
|
<div class="content has-text-centered">
|
|
<a class="icon-link"
|
|
href="https://arxiv.org/pdf/2302.14363">
|
|
<i class="fas fa-file-pdf"></i>
|
|
</a>
|
|
<a class="icon-link" href="https://github.com/StarRealMan" class="external-link" disabled>
|
|
<i class="fab fa-github"></i>
|
|
</a>
|
|
</div>
|
|
<div class="columns is-centered">
|
|
<div class="column is-8">
|
|
<div class="content">
|
|
<p>
|
|
This website is licensed under a <a rel="license"
|
|
href="http://creativecommons.org/licenses/by-sa/4.0/">Creative
|
|
Commons Attribution-ShareAlike 4.0 International License</a>.
|
|
</p>
|
|
<p>
|
|
We really appreciate <a
|
|
href="https://nerfies.github.io/">Nerfies</a>
|
|
for providing the <a
|
|
href="https://github.com/nerfies/nerfies.github.io">source code</a> of the website template.
|
|
</p>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</footer>
|
|
|
|
</body>
|
|
</html> |