Giter Site home page Giter Site logo

amir-arsalan / synthesize3dviadepthorsil Goto Github PK

View Code? Open in Web Editor NEW
163.0 12.0 31.0 141.29 MB

[CVPR 2017] Generation and reconstruction of 3D shapes via modeling multi-view depth maps or silhouettes

Home Page: http://openaccess.thecvf.com/content_cvpr_2017/papers/Soltani_Synthesizing_3D_Shapes_CVPR_2017_paper.pdf

License: MIT License

Lua 100.00%
3d-reconstruction 3d-generation depth-maps silhouette 2d-3d generative-models representation-sharing deep-learning 3d-shapes variational-autoencoder

synthesize3dviadepthorsil's People

Contributors

amir-arsalan avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

synthesize3dviadepthorsil's Issues

Angles in camPosList

Hello, can you tell me, how to calculate the real angles value from camPosList.txt? And where the reference point is located?
Greetings

Download question

Hello,the download link of pre-trained models is unavailable. so,could you update it again? Thank you

Need input of dimension 4

I have my own trained models (AllVPNet and dropoutNet) trained from ShapeNet Core with my own 20 determined viewpoints with the default settings @epoch80 and batchsize of 4. Both networks are trained on depth maps.

However, I encountered the following error when I tried to output the results for "Random silhouettes/depth maps from user"

Error thrown:
Need input of dimension 4 and input.size[1] == 20 but got input to be of shape: [2 x 1 x 224 x 224]

The input of 20 depth maps are produced with the provided renderDepth program.
The error occurred when trying to use my trained models AllVPNet and also dropoutNet.

However, it worked when I used the originally provided pre-trained model "singleVPNet".
The provided pre-trained model "AllVPNet" and "dropoutNet" also didn't worked.

or could it be that using my own depth maps in "userData" only works for singleVPNet?
If so, how could I get it work with AllVPNet and/or dropoutNet?

I would like to produce results from my own trained network AllVPNet and dropoutNet from an input of 20 depth maps but could not get it to work so far.

Any help is really much appreciated

Thanks in advance

How to compute the IoU

Hello, can you give me c code for calculating IoU? Or teach me how to calculate it? I looked at the process of calculating IoU in 3d-r2n2, but I still don't understand it. Looking forward to your reply.

Questions about trainning the network

I have two questions and I really hope to get your help.

First, I have a big problem with training data.
I want to use the ShapeNet Core dataset to repeat your experiments. So I'm going to convert the .mat file into the .ply file.I've found that I can copy the vertex array and faces array directly from the mat file into the ply file. But this approach is too complex. Do you have some simpler ways to do it?

Second, I find the following problems when I training the network of AllVP with a 3D shape(only depths from 20 views). I don't know if it's due to my incorrect input.

/install/torch/install/bin/luajit: /install/torch/install/share/lua/5.1/nn/Container.lua:67:
In 3 module of nn.Sequential:
...torch/install/share/lua/5.1/cudnn/BatchNormalization.lua:44: assertion failed!
stack traceback:
[C]: in function 'assert'
...torch/install/share/lua/5.1/cudnn/BatchNormalization.lua:44: in function 'createIODescriptors'
...torch/install/share/lua/5.1/cudnn/BatchNormalization.lua:60: in function <...torch/install/share/lua/5.1/cudnn/BatchNormalization.lua:59>
[C]: in function 'xpcall'
/install/torch/install/share/lua/5.1/nn/Container.lua:63: in function 'rethrowErrors'
/install/torch/install/share/lua/5.1/nn/Sequential.lua:44: in function 'func'
/install/torch/install/share/lua/5.1/nngraph/gmodule.lua:345: in function 'neteval'
/install/torch/install/share/lua/5.1/nngraph/gmodule.lua:380: in function 'forward'
2_train.lua:300: in function 'opfunc'
/install/torch/install/share/lua/5.1/optim/adam.lua:37: in function 'adam'
2_train.lua:406: in main chunk
[C]: in function 'dofile'
main.lua:130: in main chunk
[C]: in function 'dofile'
...tall/torch/install/lib/luarocks/rocks/trepl/scm-1/bin/th:150: in main chunk
[C]: at 0x00405e90

Thanks for your help.

Question about the loss

Hello,I read the paper "Synthesizing 3D Shapes via Modeling Multi-view Depth Maps and Silhouettes with Deep Generative Networks",the loss function which mention inside is to minimize : loss = -DKL(q(Z|X)||p(Z)) + E[logp(x|Z)]
but the loss function in VAE is :
loss = DKL(q(Z|X)||p(Z)) - E[logp(x|Z)]
I am confused about it, I hope you can give me some advice,thank you

getIoU

Hi Amir,

I tried getting the IoU for quantitative evaluations.
Requirements are all met and runs without any error.
Requirements:

  1. Visual C++ Redistributable for Visual Studio 2015 (installed-but not from the provided link because a newer version is already installed when installing Visual Studio 2015,
    Version 14.0.24215 was installed instead of the provided Version 14.0.23026)
  2. Visual C++ Redistributable Packages for Visual Studio 2013 (installed from the provided link)
  3. Python 3.7 (installed)
  4. Anaconda with Python 3.6 (installed)

Paths of the .ply files in the test folder are as below:
test/model-userData-1/model-userData-1-or.ply
test/model-userData-1/model-userData-1-rec.ply
test/model-userData-2/model-userData-1-or.ply
test/model-userData-2/model-userData-1-rec.ply
test/model-userData-3/model-userData-1-or.ply
test/model-userData-3/model-userData-1-rec.ply
etc

However, I'm only getting
"----------------average------------------
-nan(ind)"

I believed that the issue might be lying somewhere in the getIoU.exe because it seems to run
without any errors till the end.
However, I could not further verify the problem since the getIoU is a binary.

Have you come across the same problem before?
Any pointers/advise is really much appreciated.

Thanks in advance

Best regards,
Safwan

Training on my own data

When I try and train on my own dataset, I include files for all 20 viewpoints per the README, but when I perform random sampling on the manifold I get results (the 5x5 grids) that are the same for each viewpoint. However when I train with the same arguments on class data from ShapeNet Core through the provided link (e.g. headphones) then I am able to get expected results with different views for each viewpoint. Could you offer any ideas of what I might be doing wrong with my data? Thanks.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.