It has been a while since I covered depth sensors for 3D scanning because there haven’t been interesting new ones for a while. When people ask what sensor to buy to take their first steps into the world of 3D scanning, I usually advice a Structure Sensor (Review) for iPad owners and and a 3D Systems Sense 2 (Review) — which features an Intel RealSense SR300 sensor — to people that want to use a Windows 10 laptop or tablet.

I always stress that the sensor itself is just 50% of the scanning experience. The software is the other half. The Sense 2 comes with its own well-designed Sense for RealSense software and for the Structure Sensor I advice either itSeez3D or Skanect, depending on the use case.

But the SR300 has been replaced by Intel’s latest RealSense D400 series of depth sensors and I’m getting a lot of questions about it in relation to 3D scanning. Also, I see a big rise in popularity of the Astra line-up from Orbbec, which is also HP’s sensor supplier of choice for the Sprout Pro G2 all-in-one computer (Review) and recently introduced HP Z Camera (which I’m currently beta-testing and will review soon). And of course, a lot of people are Googling for Microsoft Kinect alternatives and these sensors are all contenders for that.

Hardware

So for this review I’ve tested both the $172.55 Intel RealSense D415 and $159.99 Orbbec Astra S sensors to see how they perform for 3D scanning small to medium objects. And as a benchmark, I’ve put these sensors up the RealSense SR300 which I have been using for almost two years now — both in the form of the 3D Systems Sense 2 and the more bare-bone (dev-kit) version in the form $149.99 Creative BlasterX Senz3D.

Here are the sensors with some specs

  SR300 D415 Astra S
Price $149.99 $172.55 $159.99
Range 0.3 – 2m 0.16 – 10m 0.4 – 2m
Max Depth Res 640×480 @ 30fps 1280×720 @ 60fps (1280×1024 @ 5fps)
640×480 @ 30fps
Max Color Res 1920×1080 @ 30fps 1920×1080 @ 60fps (1280×960 @ 7fps)
640×480 @ 30fps
FoV H: 73, V: 59 H: 69.4, V: 42.5 H: 60, V: 49.5
Connection USB 3.0 USB 3.0 / C USB 2.0

There are a few things that are noteworthy before I continue:

  • The SR300 and Astra S are both short-range sensors (hence the model names). The D415 has a longer range but it does start at a very nearby distance which makes it better suitable for object scanning than long-range sensors like the RealSense R200 and the Orbbec Astra (non-S) which hav a minimal scanning distance of 0.5m and 0.6m respectively.
  • There’s also a RealSense D435 model which has a larger field of view due to wide-angle lenses and a global shutter system for all cameras. Both features have benefits for object or human tracking use-cases that either have to cover a large area or have fast-moving subjects, but there are no benefits for (slowly) scanning small to medium objects or people.
  • The Astra S’ higher resolution modes only work at very slow frame rates, making them less suitable for handheld scanning (turntable scanning does work). More about that later.
  • The Astra S is a lot larger than the other sensors, putting the projector and IR-sensor further apart. This can make it harder to scan hard-to-reach areas that are obstructed by other parts of an object.
  • Finally, it’s good to know that all three sensors have standard tripod threads but the SR300 is impossible to mount on the plates of most large tripod because the thread isn’t located at the lowest point of the device. A reader noted in the comments that even though my Astra S does have a standard 1/4″-20TPI tripod thread, recent models have an M6x7.2mm thread that might not fit the tripods you have (mine all have 1/4″ screws). The RealSense models all have a single 1/4-20 tripod threads on top of that the D400-series have two M3 threads on the back.

Software

To test these devices properly I needed software that supported all of them. The only commercial software that I know of that does so is RecFusion. I’m using the $99 single-sensor version for this review but it’s good to know that there’s also a $499 multi-sensor version. With that, you can create a calibrated rig with multiple sensors around a subjects so you can minimize or eliminate movement and increase scanning speed.

I’ll do a full review of RecFusion soon in which I will also cover its editing features. But in short the big benefit of the software is that it supports so many sensors and let you choose all available depth and color resolutions independently (although not all resolutions or combinations of resolutions seem to work).

Note about Texture Quality
A downside of RecFusion that greatly impacts this review is how it captures and handles color data. Unlike the recent version of Skanect that has a mode that can capture color frames independently of depth data and map these images as textures onto the geometry later, RecFusion strictly uses per-vertex coloring internally. It can export a UV texture map in some file formats but that will be generated from the per-vertex colors, not from external image files. This means texture quality isn’t on par with other software in my opinion, so I’m forced to mainly focus on geometric scan quality for this review.

Test Setup

Although all sensors can be used hand-held, I’ve opted to mount them on a Manfrotto Action Tripod and use a simple IKEA SNUDDA lazy susan. This way I can make sure that the scan results are not influenced by human variables such as hand motion. Because I’ve scanned from a single static angle, this means that the resulting models will contain holes. However, the goal of this test is not to make complete scans but rather look at the relative results between sensors.

As you can see I’m using two softboxes with continuous studio lights but that’s strictly for better texture quality (which isn’t RecFusion’s strong point). Depth capture is not influenced by artificial lights at all — depth sensors can even “see” depth in complete darkness. As a side note: the SR300 and Astra S don’t like sunlight from nearby windows, while the D415 is designed to also function outdoors. I haven’t tested that yet, tough.

It is nice that RecFusion let’s you set the sensor orientation to vertical. For tall objects, this is often preferable because the sensors image size is rectangular. Here is what the color and depth feeds look like, and how that translates to a realtime 3D point cloud:

The default settings for the SR300 (above is a still frame) are pretty good. And because the range stops at 2 meters I had no problems with the back wall of my office. The depth image might not be just VGA resolution but it’s very stable and almost without noise. This is a different story with the D415’s depth map (below is an animated GIF) that has a lot of moving noise — regardless of the resolution:

In my tests, I found that the severe noise impacted both the tracking during scanning as well as the scan quality. It did help to set the depth-cutoff to 1 meter (since the sensor can sense up to 10 meters) even though the 3D image is only formed withing the bounding volume.

Note about D400 Results
After publishing this post, the CTO of Intel RealSense commented with tips on how to improve the D400 series noise levels and scanning results. I’ll dive into this and update the post accordingly if results indeed improve.

With the Astra S, RecFusion displayed the high res color and depth modes as 30fps while the specs state 5-7fps.

But if you look closely at the bottom-right corner you can see the actual combined framerate drop to 3fps with the highest depth resolution selected. That’s very low even for turntable scanning. That might be a limitation of the Orbbec sensor’s USB 2.0 connection vs. USB 3.0 on the RealSense devices. Somehow the highest color resolution streamed only colored static.

Results

Note about D400 Results
After publishing this post, the CTO of Intel RealSense commented with tips on how to improve the D400 series noise levels and scanning results. I’ll dive into this and update the post accordingly if results indeed improve.

But now let look at some results! What you see in the Sketchfab embed below are (from left to right): the SR300 result with the 640×480 depth resolution; the D415 result in both 640×480 and 1280×720 resolutionl and the Astra S result in 640×480 and 1280×1024 resolution.

Note: All models were captured with RecFusion’s Volume Resolution set to 512×512 which translate to a “voxel size” of 2mm, meaning it won’t capture details smaller than that. Theoretically these sensors have a higher depth resolution than that at close range (the resolution is distance-dependent). For instance, Intel states that the D400 series is less than 1% of the distance, meaning ~1mm at 1m. But setting any higher resolution proved too much for my Surface Book with GTX965 and 2GB of VRAM. RecFusion simply gave an error that it wouldn’t go any finer — at least in real-time*.

*Note about Real-Time & Offline Reconstruction
After publishing this post I continued doing my full review of RecFusion (out soon!) and have discovered on the website that it also supports offline reconstruction on the CPU besides real-time reconstruction on the GPU. However, I’ve not been able to find the Compute Unit panel described on the tutorial page that should let you choose CPU or GPU mode. I’ve contacted the developer for tips on this and will update the post accordingly. I’m specifically curious to the improvement of color resolution when I max out the voxel resolution.

To start, let’s quickly take a look at the colors. From a distance they’re all okay’ish but zoom in and they’re blurry. Since RecFusion does per-vertex coloring, increasing the Volume Resolution can possibly result in slightly better textures but I can’t say how significant this is. Also, a higher resolution would be overkill for the 640×480 depth setting so you’ll just end up with an unnecessary high polycount.

Hit 3 on your keyboard to view the embed in MatCap mode without the textures. The SR300 made the bust a bit chubby somehow but overal the geometry is very clean (again, the holes are because of the single-angle scanning from a tripod).

The “low-res” D415 result seems to reveal that the sensor uses circular structured light patterns or something like that since there are circular deformations on the surface. Also there’s not a lot of definition, possibly because of normalized noise. This moving noise has been smoothed out on the actual surface because the software fuses image data over time but it’s still visible on top of the model. The “high-res” version has slightly more detail (check the eyes). Possibly this could have been more with a higher Volume Resolution setting but I doubt it will be significant because of the severe noise.

The Astra S results have a few errors but are overal smooth and even the “low-res” model contains more definition than the SR300 model with the same 640×480 depth resolution. The “high-res” model is a bit more defined but also contains a bit more surface noise. And since scanning was done at 3fps this was also the slowest scanning session of all.

Next up is a scan of a full-scale foam head. I chose this object because it doesn’t have so many details and a very smooth surface, making it harder to track (especially the back) and easier to spot noise on. For this comparison I’ve scanned with all 3 sensors at 640×480 resolution. I discarded color altogether since the foam head is all white anyway.

In this comparison it becomes very clear how the noise (which is probably even exaggerated by the white surface) on the D415 influences both the tracking and capture quality — it’s horrible! The face is completely different than the real thing and if you look at the back you can see that it didn’t capture the small indent in the skull which the other two sensors had no problem with.

Comparing the results from the two short-range sensors, you can see that they’re very similar in details but the Astra S scan is smoother and has less deformations.

To wrap up, a scan of a 30cm tall old jar with all three sensors:

By the way, the color quality in terms of hue, saturation and brightness can be easily controlled in RecFusion — both at the capture stage and afterwards — but I simply didn’t pay any attention to that here. Also, the deformations on the Astra S scan are probably because its projector and sensor are further apart compared to the RealSense arrays which becomes problematic when scanning smaller objects, especially from a fixed angle.

Although an object this size is only just within the comfort zone for a sensor like this, it’s clear that the D415 has most noise and the SR300 and Astra S surfaces are similar, with the latter having the edge on overal smoothness.

Conclusion

First, let me repeat that I cannot judge color capture quality for texturing with the native RGB cameras in this test because of the per-vertex nature of RecFusion. In general, both RealSense sensors should give better texture quality with their Full HD (~2 megapixel) RGB cameras while the Orbbec Astra S can only capture textures at VGA (~0.3 megapixel) resolution, at least at a decent framerate for 3D scanning. But even a Full HD camera won’t cut it for creating quality assets for purposes like asset creation for game and VR/AR development or mobile real-time 3D applications. That’s why HP added an external 14.2 megapixel RGB camera to the Astra S sensor array for it’s Sprout G2 (Review) and Z Camera (Review soon!) products combined with software that can perform asynchronous UV-texture mapping.

Need Tailored Advice?

Want to know which depth sensor is best for your use-case — or if a depth sensor is the best technology for that in the first place?

Consider my affordable Consulting Service.

I consult for individuals and startups as well as large Fortune 50 corporations, so don’t hesitate to send me an email with your 3D scanning challenges.

But maybe you don’t care about color at all! Then it’s clear that Intel’s latest D400-series depth sensors, or at least the D415 (but I strongly believe the D435 performs similar) is not a step forward for 3D scanning compared to the SR300 short-range sensor of the previous generation. I don’t know if it can be fixed with software but the severe noise levels on my D415 make it unacceptable to use for 3D scanning both in terms of tracking and actual geometry capture.

Note about D400 Results
After publishing this post, the CTO of Intel RealSense commented with tips on how to improve the D400 series noise levels and scanning results. I’ll dive into this and update the post accordingly if results indeed improve.

That is, of course, for the small objects I’m testing with in this post. The D415 can scan up to a whopping 10 meters, which I’ll test soon. At a larger distance and for larger objects or interiors, the noise levels might be more acceptable.

For objects, my advice would be to buy an SR300 if color capture is important to you, or buy an Astra S if you care more about smooth surfaces in the geometry. Or you could wait for the HP Z Camera to come out, since it features a secondary high-res RGB camera and software for quality UV-texture mapping, but you’ll have to wait for my review to know if that combination works out — and need to save a bit more since pricing will “start at $599” according to HP.


Next up I’ll do a full review of RecFusion and its editing features. Follow me on LinkedIn, Facebook or Instagram and be the first to know when that post is live!

Subscribe to my Monthly Newsletter

Get great contents delivered straight to your inbox everyday, just a click away, Sign Up Now.
Email address