Visual Perception for Self Driving Cars