A computer-implemented method for determining an egomotion parameter using an egomotion estimation system comprising: obtaining a first image frame and a second image frame; selecting a first portion of the first image frame to obtain a first sub-image (124a, 124b) and selecting a second portion of the second image frame to obtain a second sub-image (126a, 126b); performing a transformation on the first sub-image (124a, 124b) and the second sub-image (126a, 126b) to respectively obtain a first perspective image and a second perspective image; iteratively adjusting the second perspective image to obtain a plurality of adjusted perspective images; determining a plurality of difference values respectively corresponding to the respective difference between the first perspective image and the plurality of adjusted perspective images; and determining a translation vector for an egomotion parameter, the translation vector corresponds to one of the difference values in the plurality of difference values, where the translation vector includes a horizontal component and a vertical component and further comprising: performing a first iteration to obtain a first plurality of difference values and performing a second iteration to obtain a second plurality of difference values; determining a horizontal translation value that corresponds to one of the difference values in the first plurality of difference values and determining a vertical translation value that corresponds to one of the difference values in the second plurality of difference values; and identifying the horizontal translation value as the horizontal component of the translation vector and identifying the vertical translation value as the vertical component of the translation vector, where: the first iteration is performed over a first interval that is based on a maximum horizontal component of a maximum translation vector; and the second iteration is performed over a second interval that is based on a maximum vertical component of the maximum translation vector determining the maximum horizontal component and the maximum vertical component of the maximum translation vector based on a predetermined maximum speed, a predetermined image frame rate, and a time interval between the first image frame and the second image frame. obtaining a first image frame and a second image frame; selecting a first portion of the first image frame to obtain a first sub-image (124a, 124b) and selecting a second portion of the second image frame to obtain a second sub-image (126a, 126b); performing a transformation on the first sub-image (124a, 124b) and the second sub-image (126a, 126b) to respectively obtain a first perspective image and a second perspective image; iteratively adjusting the second perspective image to obtain a plurality of adjusted perspective images; determining a plurality of difference values respectively corresponding to the respective difference between the first perspective image and the plurality of adjusted perspective images; and determining a translation vector for an egomotion parameter, the translation vector corresponds to one of the difference values in the plurality of difference values, where the translation vector includes a horizontal component and a vertical component and further comprising: performing a first iteration to obtain a first plurality of difference values and performing a second iteration to obtain a second plurality of difference values; determining a horizontal translation value that corresponds to one of the difference values in the first plurality of difference values and determining a vertical translation value that corresponds to one of the difference values in the second plurality of difference values; and identifying the horizontal translation value as the horizontal component of the translation vector and identifying the vertical translation value as the vertical component of the translation vector, where: the first iteration is performed over a first interval that is based on a maximum horizontal component of a maximum translation vector; and the second iteration is performed over a second interval that is based on a maximum vertical component of the maximum translation vector determining the maximum horizontal component and the maximum vertical component of the maximum translation vector based on a predetermined maximum speed, a predetermined image frame rate, and a time interval between the first image frame and the second image frame.