Closed ynyBonfennil closed 4 years ago
Thank you for pointing out. Indeed there was a bug in the rendering code that does not properly set some camera parameters. Please pull the latest commit. render data again and see if it works.
Thank you for your advice. I tried the latest commit and the construction of meshes looks good now. (The following output is from 100th epoch).
It has some outliers and texture is misaligned, but this suggests that the current network design is optimized to 512px input and doesn't always work properly at different size, am I correct?
It seems that there're still some bugs remaining. In theory, the framework should support arbitrary image resolutions. So it should work, putting aside GPU memory constraints. But for more efficient high-resolution geometry learning, I found that applying multi-level approach is highly effective (see PIFuHD paper if you are interested). I'm currently quite occupied for other things, but I can circle back with you on this bug in 2-3 weeks. The bug shouldn't be too complicated.
I took a quick look at the code and intermediate results. The training side is working fine and even the intermediate results during training look okay. How did you generate the result above? If you train the model with 1024 and test on 512, I can imagine that results would look like this. Please make sure you train and test at the same image resolution.
Sorry that was my mistake! I tried again from pulling the latest commit, and now it worked pretty good!
It seems 95c6a10 did solve the problem. Thank you for your quick fix.
It seems we can change the size of rendering image of apps.render_data by using
-s
augment like this:python -m apps.render_data -s 1024 -i ./rp_dennis_posed_004_OBJ/ -o ./data_1024px/
And we can also change the size of loading image of apps.train_shape like this (I changed the batch size because of my small gpu memory):
python -m apps.train_shape --dataroot ./data_1024px/ --loadSize 1024 --random_flip --random_scale --random_trans --batch_size 1
I think this just changes the input size and won't affect the output size, but the output looks a bit bigger and head and foot are out of range. The output of 1st epoch looks like this![snapshot00](https://user-images.githubusercontent.com/42052727/81533837-dcb3a580-93a1-11ea-8734-f9b265ebc4fb.png)
Do we have to change more options to use 1024px input? or is this a problem of network design (HourGlass, MLP etc.) ?