A method for detecting and tracking one or more vehicles using a system for obtaining two-dimensional visual data depicting traffic flow on a road, the two-dimensional visual data comprising a plurality of image frames captured at a low camera height, the method comprising: filtering the two-dimensional visual data using background subtraction to yield a foreground mask; identifying a plurality of feature points from the foreground mask using a feature detector; determining the plumb line projection of the feature points; estimating three-dimensional world coordinates of the feature points using the plumb line projection of the feature points; the z-coordinate representing a height above a road plane defined by the road, the y-coordinate representing a position along a length of the road; determining a slope with respect to the road plane associated with each feature point, wherein the absolute value of the slope is defined as ξ = |( y + - y -)/( x + - x -)|, wherein x +, y + and x -, y - are coordinates of the 3D coordinates of preimages p u + = x + y + z + = φ 0 u + and p u − = x − y − z − = φ 0 u − of u + and u -, respectively, wherein these preimages φ 0 (u +) and φ 0 (u -) are world points whose projection onto the image plane is u + and u -, respectively; categorizing each of the feature points as either a stable feature or an unstable feature based on the estimated three-dimensional world coordinates of the feature points, wherein a feature point is a stable feature if the z-coordinate is less than a threshold and the slope with respect to the road plane is less than a threshold; grouping stable features to form groups of associated stable features based on a closeness of y-coordinates associated with each stable feature to a mean of the y-coordinates of all the features in the group, the y-coordinates representing positions along a length of the road; associating unstable features with groups of associated stable features to create segmented feature groups based on a score computed using the plumb line projection and motion coherence, the score indicating a likeliness of whether an unstable feature belongs to a group of associated stable features; tracking segmented feature groups over the plurality of image frames; outputting data based on the tracked segmented feature groups. filtering the two-dimensional visual data using background subtraction to yield a foreground mask; identifying a plurality of feature points from the foreground mask using a feature detector; determining the plumb line projection of the feature points; estimating three-dimensional world coordinates of the feature points using the plumb line projection of the feature points; the z-coordinate representing a height above a road plane defined by the road, the y-coordinate representing a position along a length of the road; determining a slope with respect to the road plane associated with each feature point, wherein the absolute value of the slope is defined as ξ = |( y + - y -)/( x + - x -)|, wherein x +, y + and x -, y - are coordinates of the 3D coordinates of preimages p u + = x + y + z + = φ 0 u + and p u − = x − y − z − = φ 0 u − of u + and u -, respectively, wherein these preimages φ 0 (u +) and φ 0 (u -) are world points whose projection onto the image plane is u + and u -, respectively; categorizing each of the feature points as either a stable feature or an unstable feature based on the estimated three-dimensional world coordinates of the feature points, wherein a feature point is a stable feature if the z-coordinate is less than a threshold and the slope with respect to the road plane is less than a threshold; grouping stable features to form groups of associated stable features based on a closeness of y-coordinates associated with each stable feature to a mean of the y-coordinates of all the features in the group, the y-coordinates representing positions along a length of the road; associating unstable features with groups of associated stable features to create segmented feature groups based on a score computed using the plumb line projection and motion coherence, the score indicating a likeliness of whether an unstable feature belongs to a group of associated stable features; tracking segmented feature groups over the plurality of image frames; outputting data based on the tracked segmented feature groups.