opencv detección de piso por segmentación

Estoy trabajando en una forma de detectar el piso en una imagen. Estoy tratando de lograr esto reduciendo la imagen a áreas de color y luego suponiendo que el área más grande es el piso. (Podemos hacer algunas suposiciones bastante amplias sobre el entorno en el que operará el robot)

Lo que estoy buscando son algunas recomendaciones sobre algoritmos que se adapten a este problema. Cualquier ayuda sería muy apreciada.

Edit: específicamente estoy buscando un algoritmo de segmentación de imágenes que pueda extraer un área de manera confiable. Todo lo que he probado (principalmente PyrSegmentation) parece funcionar al reducir la imagen a N colores. Esto está causando falsos positivos cuando la cámara está mirando un área vacía.

Respuestas a la pregunta(2)

Su respuesta a la pregunta