Closed xTayEx closed 2 years ago
hi! the fox was just a few seconds iphone video, with a few frames selected to minimise blur and to cover a range of angles. you can see the chosen frames in the data/nerf/fox/images folder. the colmap2nerf script was used with default parameters apart from --aabb_scale 4 which basically says 'theres a small amount of background visible in the distance, outside the main bounding box'. see the nerf tips document for more info. the reconstruction you are showing above is indeed quite bad! how many images do you have? are they from a range of angles? have you checked if COLMAP was able to create accurate camera poses? (you can do that by using the COLMAP gui and running colmap manually). without seeing the dataset itself it's hard to know what's going wrong.
clutching at straws, perhaps the lack of contrast between the foreground and background is leading to the problem. The NeRF algorithm basically works by adjusting the density (shape) so that random training rays 'agree' on the color of the pixel. I can imagine that if the foreground and background objects are very similar in color, only the shadows will help to drive the algorithm towards convergence. so perhaps that could be it... but as I say, Id have to look at the data more to understand it. I would expect a scene of that complexity to be fittable fairly easily.
Thank you so much for your reply! I have made some progress in creating dataset. Instead of using the fan object shown above, now I am using a rubber duck to create my new dataset. Instant-ngp can reconstruct my duck, but there is so much 'dust' around it as shown below.
I have checked my rubber duck dataset with COLMAP, the camera poses seems right. However, I found that the duck cant be reconstruct well in COLMAP. Would it be the cause of the 'dust'?
Below is the COLMAP analysis result and one of the rubber duck photos.
What's more, to generate the dataset, I used colmap2nerf with default parameters apart from --aabb_scale 4.
One tip that I have from my experiments - visualize cameras and ensure that the near distance is set appropriately. If I understand correctly, if your near clipping distance is too far from the actual focal plane, then the algorithm will never sample there, and hence it will never be able to clear out the "dust"
I use colmap2nerd.py in commit bb00a1 to regenerate my dataset, then it works magically! Someone who has the same problem can try it.
I use colmap2nerd.py in commit bb00a1 to regenerate my dataset, then it works magically! Someone who has the same problem can try it.
Great!
I am facing a similar problem, I have a set of images then using the colmap2nerf
with the default values I extracted the camera poses:
but then the reproduced mesh looks really bad (used res 512):
if I zoom in I can see the object in the center, though in really bad quality but all these noise around is really bad:
while the input images are looking similar to the following:
any idea how I could improve this?
Thanks.
Hi, I've faced the same problem. I think that the 'dust' is caused by the the picture blur. Indeed I've preprocessed the images removing the background and the results really improved: before after the input was like : an running rembg p path/to/the/images path/to/images/processed becomes :
the question is how to use the code for more complicated scenes...
Hi, I've faced the same problem. I think that the 'dust' is caused by the the picture blur. Indeed I've preprocessed the images removing the background and the results really improved:
Hello, may I ask how you remove the background? After removing the background, won't the black background be recreated?
Hi, it depends how you remove the background. In my case i have set it transparent using RGBA color space (alpha channel is the transparent one) then saving in png format instant nerf won't consider the transparent colors. while to get better resolution of the obj i suggest to decrease the aabb value
Wow, thank you for your response! I will try it out right away.
Hello, thanks for your great paper. I would like to know how you generate the fox dataset. I take some photos of real world objects, and use the colmap2nerf.py script to process them. However. I didn't get a good training result using the new dataset. One of the original photos and the training result are shown bellow.