Items with no label
3335 Discussions

Very noisy depth image of D435 camera

HHa4
Beginner
6,749 Views

Dear all,

I have a new D435 camera and i want to use depth image of this camera, but the depth image is very noisy. I'm also using camera kinect of microsoft. I think D435 camera is supposed be better than kinect, but the result is opposite. The depth image of kinect is much more better than D435 camera.

I don't know what happen with my D435 camera. Can anyone give me a suggestion to test the D435 camera ?

Thanks all.

0 Kudos
15 Replies
MartyG
Honored Contributor III
2,567 Views

Could you give details please of the kind of lighting conditions in the location where you are taking the depth scan? Is the lighting quite low, or very bright?

0 Kudos
HHa4
Beginner
2,567 Views

I use the camera in indoor condition under fluorescent light.

0 Kudos
HHa4
Beginner
2,567 Views

I get something like the noise in the video I posted above. Please help me!

0 Kudos
MartyG
Honored Contributor III
2,567 Views

I would suspect that the fluorescent light is flickering at a rate that is not easily visible to the human eye. Apart from the flickering, it looks like quite a good depth image. If possible, I would suggest turning off the fluorescent light and using an alternative artificial light source.

If you have no choice but to use the fluorescent lights, the article below explains the problem and suggests some tips for adjusting the camera.

http://www.untamedscience.com/filmmaking/production-shooting/flickering-video-fluorescent-lights/ Flickering Video and Fluorescent Lights - Untamed Science

0 Kudos
HHa4
Beginner
2,567 Views

I even turn off the fluorescent light, the result is still not good. I'm so disappointed about this camera.

0 Kudos
spolt1
Beginner
2,567 Views

Hi all,

I have the same problem. The images from the D435 are very noisy. I tried to use different "advanced mode " presets: RS2_RS400_VISUAL_PRESET_HIGH_ACCURACY, RS2_RS400_VISUAL_PRESET_HIGH_DENSITY .... But the images are still very bad. I have SR300 and Structure Sensor Depth cameras; and both of them give way better results. Can someone explain me how is it possible that the latest camera produces so bad results?

Sergii

0 Kudos
AShub
Beginner
2,567 Views

I have never used any of the previous Realsense cameras but I have used both of the Kinect Cameras alot. The second one, which was released around the time of 2014/2015, was an excellent camera. I was looking forward to the D435 camera as it offered higher resolution, frame rate, distance, and it only needed a USB 3.0 connection. Comparing the results of Kinect 2 camera vs D435, Kinect is slightly better when it comes to the precision of the point cloud. I am also getting noisy results from D435. Walls and corners, rendered at distances of less than 10 meters sometimes are "wavy", even when post processing is turned on. I think this has to be the technology that is being used, the active stereo camera. Kinect used a time of flight camera. I'm still going to give this camera a good chance given the many advantages it has. I guess we just have to develop some smart filter to take care of the waviness.

With regards,

Aydynbek

HHa4
Beginner
2,567 Views

Thank you for your answer that gives me a lot information. I use D435 to make a fake laser sensor for SLAM (Simultaneous localization and mapping), but with the noisy depth image like this I think I can not use it. Did you do any project like I'm doing now ? If so, can you give me some suggestion.

Thank and best regards

0 Kudos
AShub
Beginner
2,567 Views

The algorithm that I have made for Kinect camera tries to create a simplified 3D mesh with the point cloud. This 3D mesh will be used for autonomous navigation in both indoor and outdoor environments. The algorithm worked well on Kinect and I will be trying to port it to the D435. I think this is similar to what you are doing. It is certain that we would need as much precision with regards to the point cloud as possible; resolution and frame rate come at a secondary priority.

I have an idea as to what could be done: one could average several frames (like 5 or 10) to remove some of the noise. This would have to be done with the raw depth data (a 2D array of uint16_t that hold the distances for x and y coordinates) rather than the point cloud. I am trying to work with the API to see if this is possible in the most efficient way. There is much testing that needs to be done.

I have also noticed something; the noise, or the waviness, is directed straight to the center of the camera:

... with post processing.

... with no post processing.

As you can see, the waviness is directed towards the center. Maybe this could offer us a clue as to how to mitigate this noisiness.

Also, here is an image of the work that I have done for Kinect:

0 Kudos
HHa4
Beginner
2,567 Views

Great idea ! I'll try it now. Thank you so much.

0 Kudos
idata
Employee
2,567 Views

Hello everyone,

 

 

For those of you having depth quality/noise issues please post more details on your environment.

 

 

Distance from camera, surface type, RGB picture, lighting conditions, etc.

 

 

I do not get the noise in my lab where I have fluorescent lights.

 

 

Regards,

 

Jesus

 

Intel Customer Support
0 Kudos
HHa4
Beginner
2,567 Views

Dear Jesus,

Thank you for your answer. I use D435 camera in my lab. I also use both fluorescent lights and natural lights, but I get the same result (you can see my result I posted in above comment).

I use depth image of D435 camera to create a fake laser. Here is my comparison between D435 and Kinect v1 (in the same condition). The distance from the both cameras to the wall is about 2m.

D435 camera result

This result is wavy and oscillating.

Kinect v1 result.

Although the revolution of kinect v1 is less then the revolution of D435, but the result is smoother and less oscillating than the D435 result.

Can you suggest me what is the problem I have. Thank in advance.

Regards,

0 Kudos
idata
Employee
2,567 Views

Hello HoanHaiHa,

 

 

We received a response from the RealSense team regarding the depth noise you are seeing:

 

 

"Although it is still not available to ROS users, we do offer depth post-processing that significantly reduces depth noise. It is available (by default) in the RealSense Viewer (since 2.9.0) and also available through code (code sample is coming)."

 

 

I hope this helps.

 

 

Regards,

 

Jesus

 

Intel Customer Support

 

0 Kudos
HHa4
Beginner
2,567 Views

Dear Jesus,

Thank you for your very useful information. I have two question. The first one is: where can I find the depth post-processing code ?

The second one is: Is there the depth post-processing code for ROS in the near future?

Thank and Regards

0 Kudos
idata
Employee
2,567 Views

Hi,

 

 

The post-processing header file is https://github.com/IntelRealSense/librealsense/blob/ba01147d65db16fdf4da36a3e718fe81c8421034/include/librealsense2/h/rs_processing.h.

 

 

You can do a search for "post-processing" in https://github.com/IntelRealSense/librealsense and you will find where and how it is used.

 

 

I cannot say when it will be available for ROS. All I know is "it is in development."

 

 

Regards,

 

Jesus

 

Intel Customer Support
0 Kudos
Reply