A computer-implemented method for determining a vehicle's position and predicting navigation key points, the method comprising the steps of: instructing a first vehicle mounted camera to capture a first plurality of images; receiving the first plurality of images, from the first vehicle mounted camera, the first plurality of images comprising at least a first image captured at a first time interval and a second image captured at a second time interval after the first time interval; receiving GPS coordinates, Inertial Measurement Unit, IMU, measurements, and the vehicle's velocity; computing the angular changes between the first image and the second image; determining the vehicle's position and heading vector with the computed angular changes; determining a confidence value for the determined vehicle's position and heading vector, based on the received GPS coordinates, IMU measurements, and vehicle's velocity; collecting, as a first training data subset, at least one image of the first plurality of images; obtaining, as a second training data subset, image-related coordinates of navigation key points related to the at least one image of the first training data subset; supplying the first training data subset and the second training data subset to an artificial neural network as a training dataset; training the artificial neural network on the training dataset to predict image-related coordinates of navigation key points indicative of road sign locations and/or turn points; and processing images of the first vehicle mounted camera as an input dataset by the artificial neural network to predict image-related coordinates of navigation key points indicative of road sign locations and/or turn points. instructing a first vehicle mounted camera to capture a first plurality of images; receiving the first plurality of images, from the first vehicle mounted camera, the first plurality of images comprising at least a first image captured at a first time interval and a second image captured at a second time interval after the first time interval; receiving GPS coordinates, Inertial Measurement Unit, IMU, measurements, and the vehicle's velocity; computing the angular changes between the first image and the second image; determining the vehicle's position and heading vector with the computed angular changes; determining a confidence value for the determined vehicle's position and heading vector, based on the received GPS coordinates, IMU measurements, and vehicle's velocity; collecting, as a first training data subset, at least one image of the first plurality of images; obtaining, as a second training data subset, image-related coordinates of navigation key points related to the at least one image of the first training data subset; supplying the first training data subset and the second training data subset to an artificial neural network as a training dataset; training the artificial neural network on the training dataset to predict image-related coordinates of navigation key points indicative of road sign locations and/or turn points; and processing images of the first vehicle mounted camera as an input dataset by the artificial neural network to predict image-related coordinates of navigation key points indicative of road sign locations and/or turn points.