1. A method for detecting a road surface deviation, the method performed by a driver assistance system mounted in a vehicle, wherein the driver assistance system comprises: a processor, a camera operatively connectible to the processor, and a memory storing instructions that can be executed by the processor, the method comprising: capturing multiple images via the camera, the multiple images comprising a first image of the road surface captured at a first time and a second image of the road surface captured at a second time, the second time being subsequent to the first time, determining, by the processor, based on at least the first image and the second image, a first current estimate of a plane normal of the road surface, creating, by the processor, a model of the road surface based on a combination of: (i) a previous estimate of the plane normal of the road surface updated based on an ego-motion of the vehicle; and (ii) the current estimate of the plane normal of the road surface based on the first image and the second image; using, by the processor, the model of the road surface to determine a residual motion along a projected path of the vehicle, computing, by the processor, a vertical deviation of the road surface based on the residual motion, and transmitting, by the processor, vertical deviation data to a vehicle control system for controlling a motion of the vehicle.