Reducing the cost of neural network training for car pose estimation using Synthetic Data
For a recent mobile app project, Laan Labs needed to create an augmented reality experience around the exterior of an automobile. In order to overlay realistic graphics onto a car in AR, one must accurately estimate the position & orientation of the vehicle in real-time.
Image training data can be very costly to acquire and may require labor-intensive, error-prone manual annotation. Cars, in particular, are large and shiny- and can look very different depending on weather conditions and surrounding scenery due to their high reflectivity.
Laan Labs needed to gather 10,000+ images that are representative of the real-world conditions a user might encounter when photographing a car with a smartphone.
“[synthetic data provides] unique photorealistic images with precise ground truth labels.”
Laan Labs’ approach was to leverage Synthetic Data, by developing software that generates unique photorealistic images with precise ground truth labels. A selection of artist-created 3D car models, background scenes, and lighting models were chosen as the seed of a 3D environment. Image annotations were computed directly from the 3D scene. Various aspects of the scene were parameterized, such as: camera angle, lighting, and background. Vehicle-specific attributes, such as: vehicle pose, paint color & matting, window tinting, wheel selection, were customizable. With the parameterized 3D scene, countless variations of annotated car images can be procedurally rendered using cloud computing.
By employing the use of Synthetic Data, Laan Labs was able to train a neural network to accurately estimate the pose of a car- all without the need to rent cars or expensive photography locations. No manual image annotation was necessary, saving hundreds of work hours. Additionally, the assurance that images were correctly labeled eliminated a major source of error from the overall project.
Laan Labs leveraged synthetic data to deliver an augmented reality experience within the tight time and budget constraints of a prototype project.
Check out some other cases