Photographing and Masking
For our second attempt at photogrammetry, we decided to expand on the scale of the model and the image quality. To this end, we started with a DSLR camera, setting ISO to a fixed brightness and leaving the other settings to auto. We discovered that zoom and different photo orientations are sub-optimal for photogrammetry. This is likely because zoom changes the field of vision of the camera and distorts the distances between pixels. Incorrectly oriented photos could be rotated, however, and FOV did not seem to hugely impact the outcome.



Moving from a sitting position to a standing full body shot required much more time and photographs. The sitting person can be captured in full with a single shot, but a full body needs to be divided into three or four groups. In addition to full body shots, we also did focused shooting around the face (ensuring to get photographs above the head to fill in the hole for the hair,) and shoes. Shoes were somewhat problematic, as sneakers tend to cast shadows and curve inwards at the bottom, confusing not just the photogrammetry algorithm but also any object selection tools in Photoshop, leading to poor results. In the future, we would like to try doing a separate scan of the sneakers on their own, and connecting the bottoms of the shoes to the final model, creating a cleaner base. Because of the greater work load involved in touching up and producing a full body mesh, we did not have time for this step.
As a result of the high quantity of images, masking took a long time. I developed a Photoshop workflow for masking that involves creating a custom action to select subject, expanding the selection by a few pixels, and masking to the alpha layer. Actions can be run on a batch of images, automatically generating masks for all photos. These masks can then be touched up in Metashape in the following step…

Exporting PNGs from Photoshop at largest file size leaves large blocks of buffer room

(presumably saving on processing power when saving transparency). We use this to our advantage because Metashape displays these overflow chunks, and we can add and subtract from the mask in Metashape’s masking tool to fix inconsistencies.
Extremely detailed masking is absolutely essential. Because Photoshop object selection tends to err on the conservative side, these changes will dramatically effect the outcome. In my final outcome, a noticeable chunk of the lower left forearm is missing. This is likely because that section of the input images were not touched up properly, and masking subtracted too much from the subject. This could also be a result of mistakes when cleaning the dense point cloud. Because I generated at ultra quality, the number of points was almost too many. Me and my partner concluded that it is better to generate at medium to high quality and then refine the edges to perfection.
Metashape Workflow
There is not much to say for aligning photos. We made sure to identifying bad alignments and reset/realign them. Aside from this the process is very straightforward.

For dense point cloud generation, my model seemed to generate with very bumpy textures. This could be because of the number of photos contributing too many points leading to greater amounts of inaccuracy, or because of the quality setting which was ultra-high, producing even more points. Perhaps we lacked enough image data for the setting to render a good result. My partner was able to get an almost higher quality outcome with about two thirds the images, so the time spent waiting for ultra quality to render should instead be spent touching up masks and cleaning point clouds.
Our overall takeaway is that too much cleaning at this stage will actually mutilate the mesh. However not enough will leave bumpy surfaces on your model.
Moving areas obviously pose the greatest challenge. This is why the chest, which expands and contracts with breathing, and the arms which move slightly rendered much worse than the pants, which are loose and unaffected by minor adjustments of the legs. A look at the point data gathered from images including the arms shows that the smooth coloring of the arms also posed a challenge.

My partner experienced issues with my arms moving too much. In the end we tried masking specifically the arms and rendering them as a separate chunk before joining them together. We discovered that because they were part of the same photo set, allowing Metashape to do automatic alignment was better than marking common points. In the end, we still chose to retake the photos.

Holes are better filled in Metashape than Meshmixer, generally. Meshmixer is unable to fill large holes, while metashape can. Holes in Metashape are not well re-textured though, and need to have their correct textures projected onto them in another software.
One issue I had was Metashape closing the gaps between the arms and the sides, as well as the two legs. It’s clear in the dense cloud that there is a gap, however in the model the gap is closed. So, while the arms should not be too far from the sides, they also ideally should have some distance to prevent this gap filling. Either that, or have the subject wear something with sleeves that touch at the sides, so this effect is not noticeable.
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |







The process of masking isn’t essential to the process of generating the point cloud, but for a higher quality alignment of the photographs in 3D, masking is absolutely necessary. Masking excludes background colors from confusing the triangulation algorithm.















