Swimming pool detection

I trained a model to detect swimming pools from satellite imagery and results were great.

But when I tried on images which were which contained water bodies like lakes results were disappointing.

Please suggest what can I do to improve the results containing water bodies?

Things I know which may work.
a) create a no pool class and train my model on it on a data where water bodies are marked as no pools.
b) use image processing techniques to discard bboxes which are on large blue blobs

It seems it learned small blue blobs to detect if that a pool, instead of small blue blobs with closing land borders.
I would play with a grid size…

should i increase or decrease the grid size?

try to add the lakes as a separate class (not as part of the background) and the model will learn to differentiate better between pool and lakes.
also, based on your results and assuming you are implementing some sort of SSD architecture, I would consider working with more scales

Instead of adding a no-pool class, you could just collect more training data with large water bodies. The model will learn that those are not pool. What percentage of your training data contains water bodies?

Actually, I found a workaround. I now run my model only on residential areas.

This shouldn’t improve performance much as in satellite data all the objects tends to be of same size.

Is your model work fine on residential areas? I also have to create model for swimming pools located at Houston areas and I am going to target Pengu Swim School