deepseek-ai / DreamCraft3D

[ICLR 2024] Official implementation of DreamCraft3D: Hierarchical 3D Generation with Bootstrapped Diffusion Prior
https://mrtornado24.github.io/DreamCraft3D/
MIT License
2.04k stars 87 forks source link

The difference of Stable-Zero123 and Zero-123-XL #29

Open xiaobiaodu opened 10 months ago

xiaobiaodu commented 10 months ago

Hi

Thanks for your excellent work.

I am wondering the slight difference in your stable_zero123_guidance.py and zero123_guidence.py. Could you please explain why the delta radius is different from zero123?


        T = torch.stack(
            [
                torch.deg2rad(
                    (90 - elevation) - (90 - self.cfg.cond_elevation_deg)
                ),  # Zero123 polar is 90-elevation
                torch.sin(torch.deg2rad(azimuth - self.cfg.cond_azimuth_deg)),
                torch.cos(torch.deg2rad(azimuth - self.cfg.cond_azimuth_deg)),
                torch.deg2rad(
                    90 - torch.full_like(elevation, self.cfg.cond_elevation_deg)
                ),
            ],
            dim=-1,
        )[:, None, :].to(self.device)```
MrTornado24 commented 10 months ago

It appears that stable zero123 eliminates the delta radius conditioning and opts for an estimated elevation instead. I didn't find a source that explains the reason for this.

snowflakewang commented 10 months ago

@echosum Hello, sorry to bother you. May I ask you a question, please? I wonder that, if I want to run the code with Zero123-XL instead of Stable-Zero123, should I switch guidance_3d_type from "stable-zero123-guidance" to "zero123-guidance"?

flyingdoubleG commented 10 months ago

@echosum Hello, sorry to bother you. May I ask you a question, please? I wonder that, if I want to run the code with Zero123-XL instead of Stable-Zero123, should I switch _guidance_3dtype from "stable-zero123-guidance" to "zero123-guidance"?

I think you should use "zero123-unified-guidance"

snowflakewang commented 10 months ago

@flyingdoubleG Hello, many thanks to your guidance! I wonder whether there are non-trivial difference between zero123-guidance and zero123-unified-guidance? Because I have run some cases with zero123-guidance and zero123-xl.ckpt and the geometries of the results are reasonable.

Thanks a lot! :)

flyingdoubleG commented 10 months ago

@flyingdoubleG Hello, many thanks to your guidance! I wonder whether there are non-trivial difference between zero123-guidance and zero123-unified-guidance? Because I have run some cases with zero123-guidance and zero123-xl.ckpt and the geometries of the results are reasonable.

Thanks a lot! :)

Ah, I think they are almost same except the way for loading the model, and zero123-unified-guidance also implemented VSD, you can try both

snowflakewang commented 10 months ago

@flyingdoubleG Thank you for your answer! I will try both of them.

denred0 commented 8 months ago

@flyingdoubleG Hi! Can you help to find where I can set zero123-guidance and zero123-unified-guidance? I can't find these settings(