Consider also using the 3D information together with an image stream for the “not floor” detection. Filters out already a lot of hard to classify stuff if you only consider points on floor height.
Might even be able to come up with something that does not use a machine learning black box. I would look into frequency analysis of images to differentiate between regular floor patterns and obstacles.
Always depends what you are doing though, trying out machine learning for a research project is probably nice