1. A computing device comprising: one or more processors for controlling operations of the computing device; and a memory storing data and program instructions used by the one or more processors, wherein the one or more processors are configured to execute instructions stored in the memory to: receive an image of a vehicle environment; process the image using a convolutional neural network including at least one convolutional layer, at least one max-pooling layer, and at least one fully connected layer; calculate a prediction regarding whether the image contains a traffic lane marking segment based on outputs generated by the convolutional neural network; calculate geometric characteristics of the traffic lane marking segment based on the outputs generated by the convolutional neural network; and train the convolutional neural network based on the geometric characteristics of the traffic lane marking segment only if the prediction is that the image contains the traffic lane marking segment.