“Photogrammetry is the science of making measurements from photographs. It infers the geometry of a scene from a set of unordered photographies or videos. Photography is the projection of a 3D scene onto a 2D plane, losing depth information. The goal of photogrammetry is to reverse this process.”
I got interested in this process when I read an article from the website Instructables. It was about using a bunch of Raspberry Pi’s with cameras attached to take pictures of a subject from all angles and creating a 3D model from the pictures. This was written a number of years ago. The RPIs were all linked together so they took the pictures within milliseconds of each other so in essence capturing the subject in an instance of time. A person can’t sit still for very long to get pictures from all angles so a guy came up this that project. He used the Autodesk software program 123D Catch. It is not available any more.
I searched for quite some time before I found a viable alternative that wouldn’t break the bank. The software I found is called Meshroom developed by AliceVision which is an opensource program which means FREE. It is mind boggling to me that a group of programmers could develop such software.
“The AliceVision project is supported by the ALICEVISION association, a non-profit organization whose ambition is to democratize 3D digitization technologies from photographs. The association has been created in July 2020 by 14 founding members from the European academic and industry sector, who have been collaborating in the field of 3D computer vision for cultural and creative industries since 2010.”
It essentially converts 2D pictures into a 3D model. Granted you need to take a lot of pictures of the object from as many angles as possible to get a good model. But even so, I can’t imagine the complexity of the program to accomplish this task.
I downloaded the program and decided to give it a try. I watched the videos on how it works. I pulled out on of my european moose mounts and set it on a stool so I could get pictures from all angles. I proceeded to take about 50 pictures and loaded them into the software. I started the program. It errored out about halfway thru its cycle. Looking in the logs, the error was: Error: This program needs a CUDA Enabled GPU. I checked my graphics card driver and it had the CUDA enabled. I then searched their help file and they recommended that you load the lasted driver for your graphics card.
That sent me down the rabbit hole. Three or four hours later I had the latest driver installed and working so I tried running the program again. After two and half hours it finally completed. Took a bit of messing around to figure out how to see the results and find the model file. The finally product can be found by right clicking on the last box in the pipeline called “Texturing” and select “Open folder”. You will then find an object file (*.obj) called “texturedMesh.obj” in this folder.
I then opened this file in a program called Meshmixer. I took the pictures in a small room so this file contained lots of clutter from all the walls and stuff in the room. The moose skull was a very small object down in the middle of this mess. An hour later after deleting out everything other than the skull, I found the skull to be vary lacking in detail. On the video it said you could just take more pictures and add them in. So I took another 40 pictures and tried it again. The results were better but still disappointing.
I decided to take the skull outside and take the pictures so I wouldn’t have all the close wall clutter. I also found a couple settings in the documentation that clicking on the second pipeline box “FeatureExtraction” you can set the attribute “Describer Preset” to ” High” and clicking on the “Meshing” box and setting the attribute “Min Observations angle” to “30”. I then ran the software again and got much better results. I was able to clean the model up in Meshmixer and save it off as an STL file that my slicer program can use create the gcode for my 3D printer. I printed it and was quite happy with the results.
It is still amazing to me that you can convert 2D pictures into a 3D model.