Ask Your Question

flat surfaces become "waved" using stereo_image_proc

asked 2011-03-17 00:13:12 -0600

updated 2011-03-17 00:13:58 -0600


using stereo_image_proc I observe that flat surfaces appear waved in the resulting point cloud - with growing "wavelength" for farer points. Is this because of the quadratic interpolation done by stereo_image_proc for subpixel accurancy? Is there any option to reduce this effect (which is really bad for drivability analysis)?

Curious about your answers, Sabrina

P. S. I also posted these questions on the ros-users mailing list.

edit retag flag offensive close merge delete

5 Answers

Sort by ยป oldest newest most voted

answered 2011-03-17 22:23:56 -0600

After some more tests I found out that this seems to be an issue related to texture rendering in our 3D simulator (not gazebo) that I am using. With our real stereo cam this effect is hardly visible. Thus it is not a stereo_image_proc specific problem.

edit flag offensive delete link more

answered 2011-03-17 03:56:04 -0600

Hi Raph,

I already looked closely at the parameters (and the corresponding source code) for pre and post-processing and the Open CV's Stereo Block Matcher. I don't see any possibility to reduce the wave effect with these parameters.

I am also playing around with a Kinect which is quite interesting for indoor applications but for outdoor usage the kinect is not suitable in my experience.

Regards, Sabrina

edit flag offensive delete link more


I indicated a few other stereo processing packages on your other post. I hope you can find something better but I somehow feel you are reaching the limits of stereoscopy itself. I am curious to hear a specialist's opinion. One work around could be to use pcl to detect the flat surfaces and somehow adverage the points in them. (check
raphael favier gravatar imageraphael favier ( 2011-03-17 04:17:58 -0600 )edit
I thought about something like this as well. But the problem is that I want to use the stereo camera for obstacle detection and I can't distinguish between real (maybe small) obstacles on the ground and the waves created by interpolation. Thus segmenting planes would not solve my problem.
Sabrina gravatar imageSabrina ( 2011-03-17 07:59:01 -0600 )edit
sabrina-this seems but definitely too noisy. Could you upload some bags with the data representing your artifacts? d.
dejanpan gravatar imagedejanpan ( 2011-03-17 08:41:31 -0600 )edit

answered 2011-03-17 00:42:59 -0600

raphael favier gravatar image

Hello Sabrina,

IMHO, this is perfectly normal in the context of stereography. As you say, it is due to the quadratic interpolation done by stereo_image_proc.

Have a look at chapter 12 of the book "learning openCV", it explains this process. In the main line, the problem is that there is a nonlinear relationship between the disparity (distance in pixel between left and right image) and the real distance.

Did you try following this tutorial on tuning stereo_proc parameters?

Hope it helps


edit flag offensive delete link more

answered 2011-03-17 01:08:37 -0600

raphael favier gravatar image

updated 2011-03-17 01:13:18 -0600


Bare in mind I could be wrong.

Does the tutorial plays with the disparity pre and post-processing parameters? Maybe that could help.

If you want to deepen your research, you could have a look at the Stereo Block Matching algorithm of openCV that stereo_image_proc implements.

As a more general remark, why not using a Kinect? The sensor is far cheaper than a high-end stereo camera, far faster, and can even see in the dark! :)


edit flag offensive delete link more

answered 2011-03-17 00:59:22 -0600

Hi Raph,

thank you for your answer. Yes, I followed the tutorial on tuning the parameters. But I was hoping, that I missed something to reduce the "wave" effect. Apparently this is not the case.

Regards, Sabrina

edit flag offensive delete link more

Your Answer

Please start posting anonymously - your entry will be published after you log in or create a new account.

Add Answer

Question Tools


Asked: 2011-03-17 00:13:12 -0600

Seen: 423 times

Last updated: Mar 17 '11