How to filter rain and fog

Hello,

I am currently using the ouster in my algo for plane detection. I am facing a problem because of my application. I am trying to fix the ouster on a spraying drone, the problem is: when I activate the plane detection at the same time as my spraying, it happens that my algo detects the plane on the spray cloud instead of detecting it on a target surface for example, something that I would like to avoid.

My question is the following. Do you have any solutions that can be used via ROS that I could implement in my algo concerning the filtering of spray clouds, rain or fog?

I am open to any other proposals that could solve my problem.

Hi @deep_reflexio , you can refer to this thread for some leads on the topic. The simplest approach would be to implement a threshold based on intensity/reflectivity since fog and rain have lower intensity values than regular surfaces.

A StatisticalOutlierFilter could potentially help in this area. For an example on how to use it along with the ros-driver (using python) refer to ouster-ros-extras/scripts/ros2_pcl_filters.py at ros2 · ouster-lidar/ouster-ros-extras · GitHub

There is definitely more advanced techniques that involve fusing the signal from multiple sensors or building a deep learning model that act as a filter for water droplets that you can also check.

Hope this helps

2 Likes

also consider filtering points closest to the sensor using a spatial filter since this is where rain droplets have the largest impact.

1 Like

Hi @Samahu thanks for your reply. I have used the StatisticalOutlierFilter as you mentioned it and it perfectly works. Thank you for your help really appreciate it.

1 Like