1. A computer implemented method for detecting road markings in a video, the method comprising: receiving a video comprising multiple digital representations of video frames, wherein each video frame contains zero, one or more road markings; for each video frame: detecting one or more regions of interest on the video frame; detecting one or more feature description key points in each detected region of interest; extracting one or more feature vectors for each detected key point; selecting one or more road marking candidates based on a comparison of the detected key points of the video frame and key points of a plurality of road marking templates; detecting each road marking in the video frame based on the selected road marking candidates; determining whether the video frame is qualified as a new road marking template based on detected road marking in the video frame, comprising: determining amount of a road marking template of the plurality of the road marking template detected in the video frame based on the detected road marking in the video frame; comparing a cost of adding the video frame as a road marking template with a threshold value; and determining that the video frame is qualified as a road marking template responsive to the amount of the road marking template detected in the video frame exceeding a matching threshold and to the cost of adding the video frame exceeding a cost threshold; and updating the plurality of the road marking templates by adding the video frame to the plurality of the road marking templates responsive to the video frame being qualified as a new road marking template.