A method for training a classifier of a mobile robot, the method comprising: obtaining a plurality of image frames along a drive direction of the mobile robot, the plurality of image frames comprising a base image frame corresponding to an initial pose of the mobile robot and subsequent image frames obtained at intervals during forward travel of the mobile robot, the mobile robot having a forward facing camera mounted thereon for obtaining the image frames, the camera having a field of view including the floor in front of the mobile robot, and the mobile robot having a memory device configured to store a learned data set of a plurality of descriptors determined by mobile robot events; assuming that a location is traversable floor, wherein the mobile robot is configured to detect traversable floor and non-traversable non-floor with one or more sensors (115, 420) mounted on the mobile robot; determining that the location is non-floor based on a robot sensor event at the location; retrieving from a frame buffer an image frame obtained immediately prior to the robot sensor event; the method being characterized in that it further comprises the steps of generating a floor descriptor corresponding to the characteristics of the floor at the bottom of the image frame captured by the camera immediately prior to the robot sensor event; generating a non-floor descriptor corresponding to characteristics of the non-floor at the top of the image frame captured by the camera immediately prior to the robot sensor event, wherein identifying the bottom and the top of the image frame includes identifying a horizon within the image frame, wherein the top of the image frame is above the horizon and the bottom of the image frame is below the horizon; and storing the floor descriptor and the non-floor descriptor in the learned data set. obtaining a plurality of image frames along a drive direction of the mobile robot, the plurality of image frames comprising a base image frame corresponding to an initial pose of the mobile robot and subsequent image frames obtained at intervals during forward travel of the mobile robot, the mobile robot having a forward facing camera mounted thereon for obtaining the image frames, the camera having a field of view including the floor in front of the mobile robot, and the mobile robot having a memory device configured to store a learned data set of a plurality of descriptors determined by mobile robot events; assuming that a location is traversable floor, wherein the mobile robot is configured to detect traversable floor and non-traversable non-floor with one or more sensors (115, 420) mounted on the mobile robot; determining that the location is non-floor based on a robot sensor event at the location; retrieving from a frame buffer an image frame obtained immediately prior to the robot sensor event; generating a floor descriptor corresponding to the characteristics of the floor at the bottom of the image frame captured by the camera immediately prior to the robot sensor event; generating a non-floor descriptor corresponding to characteristics of the non-floor at the top of the image frame captured by the camera immediately prior to the robot sensor event, wherein identifying the bottom and the top of the image frame includes identifying a horizon within the image frame, wherein the top of the image frame is above the horizon and the bottom of the image frame is below the horizon; and storing the floor descriptor and the non-floor descriptor in the learned data set.