Advice for Improving the depth Image Quality


Our group is currently working on a project that require depth information from the scene with high resolution of the objects. Below is a comparison of the kinect and astra depth images taken with the cameras directly above eachother. The images show a small box (cardboard) on an office chair, distance is about 4 meters. The project requires the kind of sharpness seen on the kinect image and we would like to know if its possible to tune out Astra to a similar performance?

Which kinect version are you using?

I believe this has to do with the different technologies used by the Kinect and Astra for doing their depth detection; the Astra uses structured light, while the Kinect uses a time-of-flight camera. TOF cameras tend to give cleaner data, but are also more expensive.

My advice would be to do some pre-processing on the raw image from the camera before passing it off to whatever algorithms you’re using for your application. I find that applying a median blur and/or erode/dilate filters can improve the quality of the data a fair bit. (You want to use a median blur, not a gaussian one; median blurs will fill in corrupted/missing data better, while a gaussian blur with tend to smear the inaccuracy around.)

Thanks for the responses.

We are using a Kinect 2.

Good idea with the postprossing, unfortunately it does not seem to average out enough to provide a reliable meassure for use in our work.

Yes Kinect 2 is a different technology. Astra is more like Kinect 1.