Separating Knowledge and Perception with Procedural Data