cdcseacave / openMVS

open Multi-View Stereo reconstruction library
http://cdcseacave.github.io
GNU Affero General Public License v3.0
3.28k stars 901 forks source link

Question : how can i improve the process to get good 3D model #1012

Open anasel01 opened 1 year ago

anasel01 commented 1 year ago

I am using OpenMVG and OpenMVS to generate a 3D model by taking photos of cars on the street, similar to the example below. I have two questions: First, how can I improve the appearance of the car's glass in the 3D model? Second, regarding noise, is there a way to obtain only the 3D model of the car without use software ? I have used Mask R-CNN to obtain a mask of the car, as shown in the example. Should I use the masked image of the car without the background or use the entire image of the car with other image the content the mask ? Thank you! car 1 car 2 mask

ghost commented 1 year ago

For a better reconstruction you will need to coat the vehicle. To isolate the vehicle, image masks or bounding boxes can be used. If you need to downscale, take the images closer to the surface to reduce position error.

image

cdcseacave commented 1 year ago

I'd add that even more important is getting good images for phtogrammetry: lot of overlap , seeing each spot on the surface that needs to be reconstructed in at least 8 images, sharp and clear images, good lighting but diffuse, etc: there are tons of tutorials on internet how to acquire good images

anasel01 commented 1 year ago

Hi @cdcseacave and @4CJ7T, thank you for your response. I greatly appreciate the suggestion you provided; it was great! Furthermore, I utilized Mask-RCNN to detect cars and emphasize them, which effectively minimizes noise. Would it be advisable for me to capture more images with a closer and sharper view to the glass windows? I would greatly appreciate it if you could review the image and offer any further suggestions you may have. img1 img2 img3 img4 img5 img6

ghost commented 1 year ago

Transparent and reflective surfaces such as glass don't reconstruct well. I suggest coating the surface.

image

anasel01 commented 1 year ago

Thank you @4CJ7T for your response. Regarding the suggestion to coat the vehicle images for better reconstruction, could you please provide more information on how to coat the vehicle images? Specifically, I would like to know what steps or techniques can be used to coat the images before using them for reconstruction. Thank you.

ghost commented 1 year ago

Not the images, the vehicle. If you are taking images of random vehicles on the street, you are not going to achieve a clean reconstruction unless it is covered in dust.

anasel01 commented 1 year ago

Thank you very much @4CJ7T for your response. Yes, I understand you. I will attempt to approach it differently.

cdcseacave commented 1 year ago

Transparent and reflective surfaces such as glass don't reconstruct well. I suggest coating the surface.

image

great reconstruction @4CJ7T

amughrabi commented 1 year ago

@4CJ7T - Very nice reconstruction! I wonder how do you view the mesh in such color. Is it a step in OpenMVS or another tool you use?

Transparent and reflective surfaces such as glass don't reconstruct well. I suggest coating the surface.

ghost commented 1 year ago

I used Meshlab with 2006/2010 shader code to view the normals. shaders.zip VCG\MeshLab\shaders

amughrabi commented 1 year ago

I used Meshlab with 2006/2010 shader code to view the normals. shaders.zip VCG\MeshLab\shaders

WoW, that's awesome! thanks a ton for sharing the shader! I added it through Render -> Shaders -> Add Shaders

shares

You made my day!