czq142857 / implicit-decoder Goto Github PK
View Code? Open in Web Editor NEWThe code for paper "Learning Implicit Fields for Generative Shape Modeling".
License: Other
The code for paper "Learning Implicit Fields for Generative Shape Modeling".
License: Other
Hi @czq142857 , I have tried the code and its works fine.
1.)The code in IMSVR uses the pre-trained IMAE checkpoints in IMSVR training. Can I get a more detailed explanation of using those checkpoints?
2.) In the IMSVR\data, we have hdf5 files of train, test,only_train,only_train_z.
03001627_hsp_vox_train.hdf5 and 03001627_hsp_vox_test.hdf5 contains
['pixels', 'points_16', 'points_32', 'points_64', 'values_16', 'values_32', 'values_64']. Can you explain from how are these files made?
Thanks!!
Thanks for great work.
I wonder is it possible for you to share the code to prepare the training data?
Currently, I'm having difficulty to detect if the point is inside or outside the object.
Thanks
Luan
Hi,sincerely thank you for your great work.
Did you know how can I make gif animation from a lot of .dae file.
I'm using the great work in bionic design related research and I need to use it to produce the Interpolation effect.
I try many dae viewer but they can just view one model one time.
one of author of the research say that he uses 3dmax in one issue and i guess it can be made by using 3dmax to make animation but i haven't taken it. I need more information about this.
thank you!
thank you for your excellent work. i have succeed in run it in my own binvox dataset.It is really pretty in Interpolation.
but when i try to rot the 3D shape in hdf5, 1 can't solve the following problem:
why the last dim of data_points is 3
why the second dim of data_points32 is 8192,which is 161616*2
def visualize_voxels(voxels, thres=0.5, output_dir='voxel_list', filename='out'):
import mcubes
"""
:param voxels: ndarray shape like (64,64,64,1) bool value
:param thres:
:param output_dir:
:return:
"""
if not os.path.exists(output_dir):
os.makedirs(output_dir)
voxels = np.squeeze(voxels) # (64,64,64,1)->(64,64,64)
model_float = voxels
vertices, triangles = mcubes.marching_cubes(model_float, thres)
mcubes.export_mesh(vertices, triangles, os.path.join(output_dir, filename + ".dae"))
def visualize_voxels_batch(voxels_batch, thres=0.5, output_dir='voxel_list'):
import mcubes
"""
:param voxels: ndarray shape like (64,64,64,1) bool value
:param thres:
:param output_dir:
:return:
"""
if not os.path.exists(output_dir):
os.makedirs(output_dir)
for t in range(voxels_batch.shape[0]):
model_float = np.squeeze(voxels_batch[t]) # (64,64,64,1)->(64,64,64)
vertices, triangles = mcubes.marching_cubes(model_float, thres)
mcubes.export_mesh(vertices, triangles, os.path.join(output_dir, str(t) + ".dae"))
def rot_voxel2zheng(voxel_batch):
return np.flip(np.rot90(voxel_batch,k=1,axes=(2,3)),axis=2)
def rot_pointorvalue2zheng(points_batch):
d=round(points_batch.shape[1]**(1/3))
points_batch = points_batch.reshape([points_batch.shape[0],d,d,d,points_batch.shape[-1]])#(num,d**3,3)->(num,d,d,d,3)
points_batch = np.flip(np.rot90(points_batch,k=1,axes=(2,3)),axis=2)
return points_batch.reshape(points_batch.shape[0],d**3,points_batch.shape[-1])
Because i can't understand the problem 1, I have no idea how to adjust the data_points and points and values of 32dims.
UnicodeEncodeError: 'gbk' codec can't encode character '\x80' in position 0: illegal multibyte sequence
i have add my question to related issue
Hi, Zhiqin,
It is a good job and I have a naive question about resolution of 3D object. Have you tried to improve the resolution of the shapes? I know that the resolution you used in paper is up to 256. The implicit field is a very good method, so can the resolution of the shape be improved without consuming a lot of memory?
wonderful job!
for MC algorithm, i want to konw whether we render all points that inside the shape?
thanks :-)
Hi, thanks for the code first. I want to try out the model on my own 3D voxelized shape for reconstruction. Is there any quick way to do this? Only training commands are provided in README.
Thanks!
hi, it seems that your loss had a weight called wp. is it in your code?
hi Zhiqin:
Thanks for your great work. And i am doing some works about 3D shape generation recently.I find that you show the results of COV-LFD and MMD-LFD in paper.Do you have the results of COV-CD or MMD-CD ? I would appreciate it if you could reply.
Hi, thank you very much for sharing the code of your great work. I am trying to prepare my own data for training and I use vox2pointvaluepair_from_binvox.py. I also visualize those h5py data using test_vox.py. However, I find that some shapes are good, some are not very satisfactory.
I use binvox.exe to change the original shape from segmented data of ShapeNetV2 to voxels. I have visualized these binvox data and they look good. The shapes have been normalized to the unit box. I am wondering what causes the result in figure 2. Thanks a lot again!
Hi,
I'm a CV novice. Thanks for your code, it's really helpful to me. I'm trying to rewrite the code for my own research.I try to rewrite the file "vox2pointvaluepair_from_binvox.py" for sampling points from binvox of 32^3. But I can not understand the function "hierarchicalfloodFill" in the code: Why do we need to do this before sampling points. And another question: In the original function "hierarchicalfloodFill" (sampling points for binvox of 64^3), why do we need to compress voxel of 64^3 to 32^3 first and then restore it to 64^3.
Cheers.
Dear Zhiqin,
Thanks a lot for sharing your great work!
We have run the script you provide successfully, but we have some naive questions as I'm not familiar with the problem ;)
It would be great if you have time to answer these questions, thanks!
Best,
Shihao
Hi Zhiqin,
Thanks for the great work.
Where can I find an implementation of the light field descriptor for model evaluation?
Best regards,
Guy
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.