Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Voxel-fied Output #7

Open
ghost opened this issue Aug 8, 2021 · 9 comments
Open

Voxel-fied Output #7

ghost opened this issue Aug 8, 2021 · 9 comments

Comments

@ghost
Copy link

ghost commented Aug 8, 2021

I tested the docker version right now with a bunch of images and all of their .obj files are getting voxel-fied (block-like).

Is there a known fix for this?

@AaronJackson
Copy link
Owner

it's a limitation of the maching cubes implementation used in python

@ghost
Copy link
Author

ghost commented Aug 8, 2021

Ah right, I see. I remember the site version not having this issue. What was different there?

@Zaniyar
Copy link

Zaniyar commented Aug 28, 2021

Is this a licensing issue or just a technical limitation? I get the same result, voxelated upside-down model without textures.

@AaronJackson
Copy link
Owner

Hmm are we comparing to the web demo? The last few months of the online demo used the same container. There is no texture outputted ever, but colour is stored per-vertex in the obj file, which is how it has always been. Not idea, but the colour information is there.

The actual method was never supposed to produce blocky output. The network outputs a soft non-binary value which is usually close to 0 or 1. This allows good implementations of marching cubes to create smooth output. Unfortunately I've never been able to find a Python implementation for this, but matlab's built in isosurface function does it by default. So, this has always been an issue for the online demo, but with colour information it's always been hard to tell.

Can't really remember why it's upside down but the web demo always flipped this by subtracting the vertical axis from 192. My best guess is that I was having some issues trying to figure out the camera and projection matrices early on in the development of the method and never got round to fixing it. That would have been like 2016 though.

@Zaniyar
Copy link

Zaniyar commented Sep 4, 2021

Even when you donwload the obj example in the repo you'll have a voxelated model without textures when you import it into your software (c4d, blender, three.js..)

@AaronJackson
Copy link
Owner

Like I said, this is stored per-vertex. If you open the obj file in a text editor, you will see that the vertex entries have six numbers. This is xyzrgb. You'll have to do some Googling to figure out how to view this in the software you are using - meshlab supports it by default and I was able to get it working in three js previously.

@sjcengine
Copy link

Hello - adding to this chain, no problems getting the obj's extra data out in three.js, works pretty smoothly for my workflow.

The only issue is avoiding the voxelated issue mentioned above. You suggested using Matlab due to python limitations, but I wasn't sure how to go about this.

I'm hoping to use this as a tool for a charity project, so would be great to name you if we can use it.

@echeng8
Copy link

echeng8 commented Apr 20, 2022

The only issue is avoiding the voxelated issue mentioned above. You suggested using Matlab due to python limitations, but I wasn't sure how to go about this.

Have you found a solution for this? I am getting voxelated outputs for everything including turing.jpg.

@tabcat
Copy link

tabcat commented Aug 31, 2022

whats the closest way to view the output like it was on the site in 2017?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

5 participants