Spectre3D versus Kiri Engine versus 3D Scanner Pro

It’s only a few years ago that photogrammetry apps were just a bit of fun, often turning complex objects into a few coloured blobs that were mostly only of use for the background of Spongebob Squarepants movies. But these days there’s not only more of them, but also they can produce some excellent digital representations. Of course, choosing which app to use, and just as importantly which app(s) to pay for, can be difficult, especially given that use cases can range from purely-digital to purely-physical 3D prints.

So I decided to compare results from three paid Android photogrammetry apps I’ve used a fair bit: Spectre3D, Kiri Engine and 3D Scanner Pro. And to do that I needed a subject to scan, for which I chose this memorial in the grounds of St John’s Church in Bromsgrove. It’s around six feet high, has quite a lot of carved detail, and has limited texture making it a good object for testing photogrammetry. It represents an angel on a cross, from around 1920, and is dedicated ‘In loving memory of Evelyn’.

The memorial chosen for testing photogrammetry apps.
The memorial chosen for testing photogrammetry apps.

First up I tried Spectre3D. I’ve used it quite a bit now and find it very easy to use. Basically, all I had to do was move around the memorial while moving my phone up and down as it captured a video. Then I uploaded to their servers and a while later I had my 3D model to download. I then used Meshmixer to orient it vertically and trim excess surrounding detail (which I also did for the other models below). As you can see below, the textured scan is very good and even the underlying mesh is quite representative of the shape. However, as the zoomed in section of face shows, the density of vertices is quite low. In fact, this model had the least vertices at 166,086. So overall I think the results are good for digital use, but it’s less useful for detailed things like sculpting or 3D printing.

The results from Spectre3D.
The results from Spectre3D.

Next I tried out Kiri Engine, which I only started using recently. It allows you to use photos previously taken so I took forty 12 megapixel images with my smartphone. Then I uploaded the images to their server through their app, with the texture and mesh quality options set to high. As the image below shows, the textured model is just as good as Spectre3D, although there is a little more detail if you want to use high-definition image textures. But the underlying mesh is obviously more detailed, and accurate, with 1,105,413 vertices. So the results are obviously much better for things like sculpting and 3D printing than Spectre3D. But I think, given that there’s more than a five-fold increase in vertices, Spectre3D has the edge when it comes to many digital-only use cases.

The results from Kiri Engine.
The results from Kiri Engine.

Finally, I used the 3D Scanner Pro app. I’ve used it for the longest, over a year in fact, so know it can produce good results. It also allows uploading of previously taken images, so I used the same ones I uploaded to Kiri Engine. As you see below, the textured model is just as good as the other apps. But the underlying geometry is much more detailed, although it made more mistakes with shape as the zoomed face shows. And the extra detail came at the cost of having a whopping 4,584,117 vertices even though I’d set image quality to medium! So, unless you really need a very detailed model, and have a computer capable of smoothly working with it, I think Kiri Engine is a better option for use in 3D sculpting and printing.

The results from 3D Scanner Pro.
The results from 3D Scanner Pro.

Another consideration with the choice of app, for me, was how much work I needed to get a trimmed 3D model. With Spectre3D and Kiri Engine there was very little surrounding detail to crop in Meshmixer. However, 3D Scanner Pro wanted to include everything it saw in the background of the images. As you can see below, that made for a very large model: the red circle shows where the memorial is located. In fact, the model as (very slowly) downloaded had an enormous 12,367,491 vertices, so I had to crop around eight million vertices. It does a better job on objects with minimal background, but even on my 12-core i5 laptop, with 16GB of RAM, it was a painfully tedious and extremely slow process for this scan.

The extent of the 3D Scanner Pro model.
The extent of the 3D Scanner Pro model.

So, overall, what app perfomed the best? Well, in my opinion, that depends on your use case. For digital only work, like for use in video scenes, I think Spectre3D did best as it provided a good texture image with just enough detail to ensure the shape was representative. But, for many uses where good, but not excellent, quality of detail is needed, Kiri Engine gave a pretty reasonable 3D mesh (and could have done better with more, closer, images). Overall though, 3D Scanner Pro gave the most detail for use in 3D prints, but at the expense of a very large download size and difficulty processing on maker-level computers.

The number of vertices in the 3D Scanner Pro model also made it unsuitable for use in many digital-only scenarios as it would slow down rendering enormously. Of course, for that kind of use you could decimate the mesh in Meshmixer or Blender, but given that the texture image isn’t really any better than the other apps you’d just end up with results similar to the other two apps, just with a lot more effort thrown in. So I think I’ll be using Spectre3D where I want a quick and simple 3D scan, but also having Kiri Engine, for more detailed meshes, will let me cover most bases. I’ll still use the credits I paid for in 3D Scanner Pro, but only where I’m sure there’s minimal scenery in the background and I really need the extra detail.