What really matters…

Recently I was talking with a co-worker about an image detection model and they mentioned the now “classic” question of how do you deal with weather obfuscation of data.

Image result for stop sign with snow
You know it says “Stop” but does your algorithm?

We quickly moved from static obstruction (the snow covered stop sign) to the dynamic obstruction of rain and snow.

Starting from first principals you can quickly out line the factors that contribute to the model

  • Rain / Snow density (drops / flakes per m^3): This is a measure of storm “intensity”
  • Size: How large are the snow flakes / rain drops
  • Wind speed: This effects how the flakes / drops move, it is complicated by wind gusts.
  • Camera velocity: Is your camera moving?
  • Depth: How far away is the object that you are viewing

There already exist a number of interesting papers that examine these parameters in full. My real question is “Do I want to model the rain or the effect of the rain on my algorithms”?.

In some cases it may be necessary to fully model a the behavior. In others a simplified characteristic model can be used. Let us look at what we determined was important.

What really matters…

Given that objects, in general, don’t change their shape(1) it is possible to filter out the noise of rain or snow. What we need to understand is how rain or snow obscure objects.

  • Interposition: Every drop of rain and every flake of snow acts as a “point barrier” between the camera and the object.
What happens

Take the simple example: for an object 10 meters away the extent of “obscuring” is a function of the rain density and the droplet size; further the distance between the camera and the object (depth) determines the extend of the obstruction. What then should we do with with the wind? How should we model the movement?

Image result for wind blowing
All we are is…

It turns out, not much. When I compared the effect of random movement of the patterns with the wind models the effect on obstruction there were negligible difference for the vision application.

The moral of the story…

  • Modeling systems is a question about what is required for your analysis. Knowing this I can create the minimal model that is required to perform my tests.
  • Developing simplified models start with an understanding of the “real” system
Image result for aesop's fables

Footnote: 1: The profile of the object may change as the relative angle is changed.

If you find this content useful, please consider subscribing

Leave a Reply

This site uses Akismet to reduce spam. Learn how your comment data is processed.