Files
Easymode beb9fd7e1c initial commit
initial commit
2025-09-10 21:05:46 +01:00

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,&dagger;</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>&dagger; 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&amp;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>