[CVPR 2025] Official repository for "Dora: Sampling and Benchmarking for 3D Shape Variational Auto-Encoders"
See the codeDora: Sampling and Benchmarking for 3D Shape Variational Auto-Encoders
Rui Chen1,2,
Jianfeng Zhang2*,
Yixun Liang1,
Guan Luo2,3,
Weiyu Li1,
Jiarui Liu1,
Xiu Li2,
Xiaoxiao Long1,
Jiashi Feng2,
Ping Tan1*,
*Corresponding authors
1 HKUST
2 Bytedance Seed
3 THU
Note: We have recently found that Dora-VAE can specify tokens of any length during inference, even if this length has not been seen during training. During inference, you could use a latent code length of 1000, 2000, 4096, 10000, or even over 100,000. The more you use, the better the reconstruction effect will be. This indicates that the decoder of Dora exhibits inference-time scalability, a capability that might be lacking in current VAEs based on volume representation.
When conducting a comparison of the reconstruction performance with Dora-VAE, to ensure fairness, it would be highly appreciated if you could report the length of the latent code being used. This reported length is not just a numerical value; it represents the compression ratio of the VAE, which is a crucial factor that should not be overlooked during the evaluation of reconstruction capabilities. The compression ratio, in turn, has a direct bearing on the convergence speed, effectiveness, and cost of downstream diffusion training.
| Version | training token length -> probability | eps | number of input points (uniform + salient) | output |
|---|---|---|---|---|
| v1.0 | [256,1280] -> [0.5,0.5] | 2/256 | 16384 + 16384 | occupancy |
| v1.1 | [256,512,768,1024,1280,2048,4096] -> [0.1,0.1,0.1,0.1,0.1,0.3,0.2] | 2/256 | 32768 + 32768 | tsdf |
| v1.2 | [256,512,768,1024,1280,2048,4096] -> [0.1,0.1,0.1,0.1,0.1,0.3,0.2] | 2/512 | 32768 + 32768 | tsdf |
Q1: Why a compact or smaller latent space is important?
Q2: Can SNE or normal be used to further enhance the reconstruction quality?
A: In our earlier experiment, we designed a new efficient algorithm within the vecset-based architecture to render the normal map. The purpose was to compute the mean squared error (MSE) loss or GAN loss between the predicted normal and the ground-truth (GT) normal. Unfortunately, the experiment failed, and we observed that the results were even worse. For mse loss, here are the possible reasons for this failure. First, to render normals, we must initially predict an occupancy field. Subsequently, we apply a differentiable marching cube algorithm to this occupancy field to extract a mesh. Finally, a differentiable renderer such as nvdiffrast is employed to render the normals. However, both the mesh extraction and the rendering processes introduce errors. Moreover, during backpropagation, the gradient chain has to pass through the occupancy field. In the context of the optimization problem, using normals for supervision is essentially equivalent to using the occupancy for supervision. Since we already have the ground truth of the occupancy field, it raises the question of whether it is truly necessary to use normals, which involve a longer propagation chain, for supervision.
In addition to the above reasons, for the GAN loss, the normals rendered from the meshes reconstructed by the 3D VAE are absolutely clean. They are free of noise, have no background, show no high-frequency texture variations, and conform to physical constraints. This is different from the RGB images reconstructed by the 2D VAE, which contain some noise, cluttered backgrounds, and significant high-frequency variations. It's important to note that the experiment's failure might also be attributed to incorrect code or the presence of bugs. The above analysis is merely a post-hoc attempt to understand the outcome and does not guarantee a correct explanation.
Q3: What's the difference between point query and leanenable quary in the input of the VAE encoder?
A: According to the experiments conducted in 3DShape2VecSet, the performance of point query is better than that of learnable query. The model with point query as input has better generalization ability. The length of the point query is actually equivalent to that of the latent code, and we found that it has a great property: it is more flexible compared to the learnable query. During inference, it can easily switch between lengths that were not seen during training without introducing additional parameters. In contrast, the model trained with learnable query cannot use lengths that were not encountered during training at test time, which limits its flexibility.
Q4: Any interesting findings?
Q5: Can Dora-VAE handle the thin shell data?
Q6: 2D VAEs typically require several billion data for training. However, due to the shortage of 3D data, 3D VAEs are usually trained with less than one million data. Does it have good generalization performance?
A: At first, we also had this question. But after improving and training the 3D VAE based on the vecset-based architecture proposed by 3DShape2VecSet, we were pleasantly surprised to find that it's really powerful, which had also been verified by CLAY. In fact, it only needs about 400K data to have good generalization ability. We hypothesize that the distribution of 3D geometry is simpler than that of RGB images. This is because, unlike RGB images, 3D geometry doesn't have many high-frequency texture variations or cluttered backgrounds.
@InProceedings{Chen_2025_Dora,
author = {Chen, Rui and Zhang, Jianfeng and Liang, Yixun and Luo, Guan and Li, Weiyu and Liu, Jiarui and Li, Xiu and Long, Xiaoxiao and Feng, Jiashi and Tan, Ping},
title = {Dora: Sampling and Benchmarking for 3D Shape Variational Auto-Encoders},
booktitle = {Proceedings of the Computer Vision and Pattern Recognition Conference (CVPR)},
month = {June},
year = {2025},
pages = {16251-16261}
}
536 followers · starred Feb 2026
59 followers · starred Dec 2024
Python
99.2%
[CVPR 2025] Official repository for "Dora: Sampling and Benchmarking for 3D Shape Variational Auto-Encoders"
See the codeDora: Sampling and Benchmarking for 3D Shape Variational Auto-Encoders
Rui Chen1,2,
Jianfeng Zhang2*,
Yixun Liang1,
Guan Luo2,3,
Weiyu Li1,
Jiarui Liu1,
Xiu Li2,
Xiaoxiao Long1,
Jiashi Feng2,
Ping Tan1*,
*Corresponding authors
1 HKUST
2 Bytedance Seed
3 THU
Note: We have recently found that Dora-VAE can specify tokens of any length during inference, even if this length has not been seen during training. During inference, you could use a latent code length of 1000, 2000, 4096, 10000, or even over 100,000. The more you use, the better the reconstruction effect will be. This indicates that the decoder of Dora exhibits inference-time scalability, a capability that might be lacking in current VAEs based on volume representation.
When conducting a comparison of the reconstruction performance with Dora-VAE, to ensure fairness, it would be highly appreciated if you could report the length of the latent code being used. This reported length is not just a numerical value; it represents the compression ratio of the VAE, which is a crucial factor that should not be overlooked during the evaluation of reconstruction capabilities. The compression ratio, in turn, has a direct bearing on the convergence speed, effectiveness, and cost of downstream diffusion training.
| Version | training token length -> probability | eps | number of input points (uniform + salient) | output |
|---|---|---|---|---|
| v1.0 | [256,1280] -> [0.5,0.5] | 2/256 | 16384 + 16384 | occupancy |
| v1.1 | [256,512,768,1024,1280,2048,4096] -> [0.1,0.1,0.1,0.1,0.1,0.3,0.2] | 2/256 | 32768 + 32768 | tsdf |
| v1.2 | [256,512,768,1024,1280,2048,4096] -> [0.1,0.1,0.1,0.1,0.1,0.3,0.2] | 2/512 | 32768 + 32768 | tsdf |
Q1: Why a compact or smaller latent space is important?
Q2: Can SNE or normal be used to further enhance the reconstruction quality?
A: In our earlier experiment, we designed a new efficient algorithm within the vecset-based architecture to render the normal map. The purpose was to compute the mean squared error (MSE) loss or GAN loss between the predicted normal and the ground-truth (GT) normal. Unfortunately, the experiment failed, and we observed that the results were even worse. For mse loss, here are the possible reasons for this failure. First, to render normals, we must initially predict an occupancy field. Subsequently, we apply a differentiable marching cube algorithm to this occupancy field to extract a mesh. Finally, a differentiable renderer such as nvdiffrast is employed to render the normals. However, both the mesh extraction and the rendering processes introduce errors. Moreover, during backpropagation, the gradient chain has to pass through the occupancy field. In the context of the optimization problem, using normals for supervision is essentially equivalent to using the occupancy for supervision. Since we already have the ground truth of the occupancy field, it raises the question of whether it is truly necessary to use normals, which involve a longer propagation chain, for supervision.
In addition to the above reasons, for the GAN loss, the normals rendered from the meshes reconstructed by the 3D VAE are absolutely clean. They are free of noise, have no background, show no high-frequency texture variations, and conform to physical constraints. This is different from the RGB images reconstructed by the 2D VAE, which contain some noise, cluttered backgrounds, and significant high-frequency variations. It's important to note that the experiment's failure might also be attributed to incorrect code or the presence of bugs. The above analysis is merely a post-hoc attempt to understand the outcome and does not guarantee a correct explanation.
Q3: What's the difference between point query and leanenable quary in the input of the VAE encoder?
A: According to the experiments conducted in 3DShape2VecSet, the performance of point query is better than that of learnable query. The model with point query as input has better generalization ability. The length of the point query is actually equivalent to that of the latent code, and we found that it has a great property: it is more flexible compared to the learnable query. During inference, it can easily switch between lengths that were not seen during training without introducing additional parameters. In contrast, the model trained with learnable query cannot use lengths that were not encountered during training at test time, which limits its flexibility.
Q4: Any interesting findings?
Q5: Can Dora-VAE handle the thin shell data?
Q6: 2D VAEs typically require several billion data for training. However, due to the shortage of 3D data, 3D VAEs are usually trained with less than one million data. Does it have good generalization performance?
A: At first, we also had this question. But after improving and training the 3D VAE based on the vecset-based architecture proposed by 3DShape2VecSet, we were pleasantly surprised to find that it's really powerful, which had also been verified by CLAY. In fact, it only needs about 400K data to have good generalization ability. We hypothesize that the distribution of 3D geometry is simpler than that of RGB images. This is because, unlike RGB images, 3D geometry doesn't have many high-frequency texture variations or cluttered backgrounds.
@InProceedings{Chen_2025_Dora,
author = {Chen, Rui and Zhang, Jianfeng and Liang, Yixun and Luo, Guan and Li, Weiyu and Liu, Jiarui and Li, Xiu and Long, Xiaoxiao and Feng, Jiashi and Tan, Ping},
title = {Dora: Sampling and Benchmarking for 3D Shape Variational Auto-Encoders},
booktitle = {Proceedings of the Computer Vision and Pattern Recognition Conference (CVPR)},
month = {June},
year = {2025},
pages = {16251-16261}
}
536 followers · starred Feb 2026
59 followers · starred Dec 2024
Python
99.2%