In July 2020, I decided I wanted to get serious about photogrammetry. I first learned about photogrammetry at university in 2014, using 123D for mobile scanning. It was slow, buggy and poor quality. I didn't really think much of it until some time in 2019 when I tried it again, this time with a DSLR and Meshroom. I was unsuccessful because I didn't really know anything about photogrammetry, so my results were not good enough to use. But when I saw this video earlier this year, I was really amazed by the process and the results. I never considered doing it this way, but it made a lot of sense and I decided to start building a small, affordable set up to give it a shot.
If you look online for photogrammetry set ups, you will get a lot of mixed results. Some will say you must purchase a certain ring flash which costs over £400, but this isn't completely true. Of course, having a powerful, high quality ring flash will make things better, but that doesn't mean it is required at all. There are more affordable lighting options that I use, which I will be showing. I bought everything in the UK, so prices will vary a lot, but I think this set up is quite affordable and widely available. Plus, it is compact enough that it could be easily packed away when not in use. Equipment like a camera, lens and tripod, I would assume you already have if you want to do photogrammetry, but I will include mine anyway. Though it is not too important what you use, as long as you have manual controls. People often ask if a mobile phone can be used for photogrammetry. The short answer is yes, but I do not reccomend it. Even if you can shoot fully manual, raw photos on your phone, they will never match the quality of even a budget DSLR and lens. If you have no other options though, you can try using a phone, preferably using manual settings and a tripod.
I shoot with a Sony A6000. I picked this up last year because I wanted something smaller than my Canon DSLR and higher megapixels. At 24MP, it offers a lot of resolution for photogrammetry and is very affordable for what you get. If you are in the market for a good camera on a budget, I can't reccomend the A6000 enough. It is a couple years old now, but still performs well and is a great choice for photogrammetry too.
I have two main lenses that I use. My preferred lens is a Sigma 30mm F1.4. The main reason being that it has a minimum focus distance of 30cm which is great for photogrammetry, it focuses quickly and is quite sharp, especially in the middle where the object usually is. The wide aperture of F1.4 is not really useful for photogrammetry, but I use it for general photography too. At 30mm , (48mm on a cropped sensor) it is a very natural looking lens, so it doesn't distort much, unlike a wide or telephoto lens might. My other lens is a Sony 18-105mm F4 which is a great lens, but with a minimum focus distance of 90cm as well as it being significantly larger and heavier, I don't really enjoy using it for photogrammetry, though it is a good lens in general. Prime lenses tend to be better quality, due to the simplicity of them, with less glass and moving parts inside the lens. Your choice of lens is not that important, but it is recommended to stick to focal lengths around 50mm to avoid unnaturally distorting the object you are trying to scan. I have had good results at higher focal lengths too, but avoid very wide lenses if possible. Also, a circular polarising filter (CPL) is essential if you want to cut out reflections on the surface of your object.
Any tripod will work, but a tripod is essential. I purchased a Coman C2016 Carbon Fibre Tripod because it was small, light and easily adjustable. All you really need is something that is strong enough to hold your camera.
The photos below are a small sample from my most recent photoscan. This was a very challenging object because it is made of metal, making it quite reflective. Cutting down the reflections by using two polarised lights (no ring flash) positioned about 60cm on either side of the photo tent for soft lighting and as little highlights as possible. Ideally, I would use a ring flash too which would increase the overall lighting rather than shooting a 2 second exposure each time. But this worked pretty much perfectly. I take all of the RAW photos into Lightroom to edit them and crop out the excess. The main thing with editing is to try to get the background as dark as possible, lift the shadows and lower the highlights. Once one is edited, then I can just copy and paste the settings to all 240 images, making sure nothing is cropped out that shouldn't be. The background doesn't need to be perfectly black, but removing as much information as possible from everything but the object will make the whole process go much smoother. If there is any visible in the background fabric, it may cause tracking issues later, so trying to get it as dark as possible in camera and in post is very helpful.
The number of photos you take will depend entirely on the complexity of the model. On a simple shape, such as fruit, you can often get away with just three passes (passes meaning photos at different heights). But a more complex object such as the metal statue, will require at least 4 or 5. If any part of the object can't be seen by the camera, it will not be modelled or textured by Reality Capture, so it is really important to get under and above the object, with good overlap between photos. If your images have poor overlap due to too much rotation and not enough passes, Reality Capture will struggle to track the cameras and you will have a lot of missing or blurred geometry and textures. As you can see below, the object was tracked perfectly with all 240 photos being matched by Reality Capture. This also shows roughly how many photos you need per pass. This was about 50 photos per pass, or roughly 7 degrees of rotation. Of course, the more photos and the more passes, the better the result will be. But taking too many photos will just slow down the processing time significantly without giving you much better results. Use your own judgement for how many photos you need to take, just try to get good overlap in each image so it will be tracked properly. In this case, I didn't scan the bottom because I didn't see any reason to, but you can flip the object upside down to scan the bottom with an additional 1-2 passes. As long as there is enough overlap, Reality Capture will be able to merge the bottom and the top seamlessly.
After all of the photos have been taken, edited in Lightroom and saved into a new folder, they can now be put into Reality Capture. There is other photogrammetry software available, such as Meshroom and Metashape, but I haven't found those to be as easy to use, as quick and as high quality as Reality Capture. So for now, I am sticking with Reality Capture. I won't go into detail about the Reality Capture workflow as it is already available online. If your images are good enough, the default alignment settings will usually work. You only really need to change them if there is an issue with it finding cameras. The settings are fairly straight forward, essentially just controlling how many tracking points Reality Capture should look for. If you turn these numbers up really high, it will take longer but might give you better results. You can also change the overlap amount to force Reality Capture to track your images if there is not enough overlap, but this is a poor technique to use and won't give you the highest quality mesh because it has to guess a lot more. If things have aligned properly, you should have all of the cameras visible like in the above image and a point cloud showing your object. Next you can adjust the region to fit your object and then reconstruct the mesh. I always use the "High Detail" option because I have had issues with "Normal Detail" but it is much slower. Since Reality Capture is GPU powered, it will entirely depend on what spec your GPU is. I am using a 1080Ti for these. You can change the reconstruction settings, I normally set "Maximal Vertex Count" to 10 million instead of 5 million, but it is not necessary. Setting this number very high won't give you much better detail, so I don't ever set it higher, but it will depend on each model and how much detail it requires.
Now that the mesh is perfectly optimized and textured, it just comes down to material creation. I use 3DS Max and Corona for this, with a studio lighting set up I created. I also take the 16K texture from Reality Capture into Photoshop, to sharpen the texture and downscale it to 8K. Although Reality Capture is very good at texturing, there is always a slight blur in the texture which can be easily improved in Photoshop. Also in Photoshop, I will sometimes fix texturing errors by clone stamping or painting. This is really useful if some of the textures have been stretched due to a lack of information in the scan. I will also use Photoshop to correct the colours and values of my texture so it looks more natural and realistic. Below, you can see the difference between the unedited and edited texture.
Finally, here are the renders. You can see every little speck of dust, bits of candle wax stuck to the object, dirt and corrosion. This is what I love about photogrammetry and why I want to build a big library of objects for my projects and to sell. Creating this level of detail through traditional modelling and texturing would be extremely difficult. I think for archviz specifically, photogrammetry adds that small touch of realism that a lot of renders are lacking. I look at a lot of architectural and interior photography and the biggest difference I always see between that and archviz, are the personal touches, organic shapes and imperfect surfaces.
Anyway, that is all I have to write for now. I want to scan a lot more and am happy with the results I am getting now. I have failed a lot of scans due to poor preparation and mistakes, so it is nice to have a really successful scan for a change. Hopefully I will be uploading many more when I have time to do them. If you have any questions, feel free to contact me and I will try to answer as best as I can. Thanks for reading, if you want to download the model, it is available to purchase on my CGMood page and Artstation.