Have you encountered the problem of reflective surfaces for realsense camera (d435 or t265) and lidar (A1 or A2). I would like to know what are the ways to solve problems with reflective surfaces for them programmatically, without using other sensors such as sonars. Perhaps there are any solutions at OpenCV. I would be very glad to hear people who tried to solve a similar problem. Thank you for attention
2 Answers
Reducing reflection on an image is hard, really hard, because you only have the pixels, and they are most likely white. So changing the environment to get good images is the desired solution. Robotiq wrote a nice article about it: https://blog.robotiq.com/10-solutions-to-improve-robot-vision-with-shiny-objects
You can however detect reflection using OpenCV, and then decide what to do, for example:
- fill the reflection with the average color of the pixels around
- Ignore the reflection area.
If your reflection is not covering everything you might want to look into deep learning instead of openCV, i found it much easier to cover all cases using a good model, than to create filters in openCV that covered every scenario.
note that I don't have any experience related to reflection regarding the realsense or Lidar.
I had the same difficulty about 10 years ago and ended up using lacquer spray to get rid of reflectivity. This is impossible to solve edge case unless you somehow introduce semantic scene understanding and make a special routine to handle it.