Robotics StackExchange | Archived questions

How to filter camera noise

I have read this page: http://wiki.ros.org/cob_3d_mapping_filters And I wanted to ask if it is useful for me. I am using a pico flexx. And it publishes pointcloud2 data. My intention is to remove the noise from the camera. And I am not sure which node to start, because there are a few.

Asked by S.Yildiz on 2019-05-27 04:37:44 UTC

Comments

I had to do some research on these filters (nice find, didn't know those were out there). Usually talking about "filtering" a set of sensor measurements involves a goal of what you're trying to remove. Whether its motion blur, extraneous points, bad edges (like the jump edge filter), low confidence points (intensity), or points with some criteria you don't like (too high, too low, too far).

So what are your filtering goals? What about your measurements are you trying to get rid of?

Asked by stevemacenski on 2019-05-27 21:47:48 UTC

I'd start with ROS open cv: https://docs.opencv.org/3.2.0/d5/d69/tutorial_py_non_local_means.html

Asked by mch on 2019-06-07 20:13:23 UTC

Answers

I would recommend you the pointcloud library. It's similar to OpenCV, just for point clouds. A generic filter approach is to use a downsampling (see voxelgrid) first. Maybe you can skip this for pico flexx witk 38k points... However, the next step may be the statistical outlier removal filter (see here). The SOR-filter is a bit expensive. You have to check whether it's worth or not...The contional outlier radius filter (link) was a bit faster in my case, but the result wasn't that satisfing as with the SOR.

So, that's already a bunch of filters.

Cheers Matthias

P.S.

Just in case you haven't so far: Make sure you won't put any forces to the usb connector on the pico flexx. We made a huge effort to avoid any pulling on the cable but unfortunatly two cameras broke down.

Asked by matt_do on 2019-06-10 01:34:23 UTC

Comments