A computer- implemented method for identifying moving objects in an imaged environment comprising: acquiring a first camera image, from a camera mounted on a vehicle, at a first time at a first pose; acquiring a second camera image, from the camera, at a second pose at a second time, the second time being after the first time; acquiring a third camera image, from the camera, at a third pose at a third time, the third time being after the second time; forming a first optical flow map from the first camera image and the second camera image; forming a second optical flow map from the second camera image and the third camera image; forming a motion likelihood image for said third camera image in which a value for each motion likelihood image location is formed by: selecting a plurality of flow information values from a region of the second flow map corresponding to said location; aggregating the plurality of flow information values and, using a pose change between said second and third poses, forming a motion likelihood value for said location; weighting the motion likelihood value according to the variance of the plurality of flow information values in said region and selecting a minimum of the motion likelihood value and a corresponding motion likelihood value previously formed from the first optical flow map; and identifying regions of the motion likelihood image as corresponding to moving objects wherein weighting the motion likelihood value according to the variance of the plurality of flow information values in said region, comprises: calculating a covariance matrix for horizontal and vertical flow values in the plurality of flow information values; summing the eigenvalues of the covariance matrix into a summed value, λ; and multiplying the motion likelihood value by 1/(1 + ωλ 2), where ω is an adjustable parameter. acquiring a first camera image, from a camera mounted on a vehicle, at a first time at a first pose; acquiring a second camera image, from the camera, at a second pose at a second time, the second time being after the first time; acquiring a third camera image, from the camera, at a third pose at a third time, the third time being after the second time; forming a first optical flow map from the first camera image and the second camera image; forming a second optical flow map from the second camera image and the third camera image; forming a motion likelihood image for said third camera image in which a value for each motion likelihood image location is formed by: selecting a plurality of flow information values from a region of the second flow map corresponding to said location; aggregating the plurality of flow information values and, using a pose change between said second and third poses, forming a motion likelihood value for said location; weighting the motion likelihood value according to the variance of the plurality of flow information values in said region and selecting a minimum of the motion likelihood value and a corresponding motion likelihood value previously formed from the first optical flow map; and selecting a plurality of flow information values from a region of the second flow map corresponding to said location; aggregating the plurality of flow information values and, using a pose change between said second and third poses, forming a motion likelihood value for said location; weighting the motion likelihood value according to the variance of the plurality of flow information values in said region and selecting a minimum of the motion likelihood value and a corresponding motion likelihood value previously formed from the first optical flow map; and identifying regions of the motion likelihood image as corresponding to moving objects wherein weighting the motion likelihood value according to the variance of the plurality of flow information values in said region, comprises: calculating a covariance matrix for horizontal and vertical flow values in the plurality of flow information values; summing the eigenvalues of the covariance matrix into a summed value, λ; and multiplying the motion likelihood value by 1/(1 + ωλ 2), where ω is an adjustable parameter. calculating a covariance matrix for horizontal and vertical flow values in the plurality of flow information values; summing the eigenvalues of the covariance matrix into a summed value, λ; and multiplying the motion likelihood value by 1/(1 + ωλ 2), where ω is an adjustable parameter.