Many vehicles now incorporate one or more obstacle detection system which use cameras to provide a field of view of the roadway and surrounding environment. The obstacle detection systems process the video stream or sequence of image frames provided by the camera in an attempt to ascertain the existence of an obstacle in the path of vehicle. Obstacle detection algorithms do this by attempting identify a variety of objects localized in one or more predefined regions of interest in the captured field of view, determine whether or not such objects are real, and estimate their path relative to the vehicle to determine whether or not such objects will indeed become obstacles.
The conventional approach to solving such a problem is to develop a series of classifiers and detectors to detect a group of predefined objects. The classifiers work in a cascade or in a parallel fashion to detect image content such as pedestrians, vehicles and geometrically shaped objects such as balls and poles. Such systems may require significant computational resources provided by expensive signal processors. In addition, in such a system, all the objects that need to be detected have to be defined in the development stage and require extensive training for the classifiers. Such a process is expensive and time consuming and might not be generic enough with respect to all possible different objects that might be encountered in the real world.