  For low-level computer vision and image processing ML tasks, training on
large datasets is critical for generalization. However, the standard practice
of relying on real-world images primarily from the Internet comes with image
quality, scalability, and privacy issues, especially in commercial contexts. To
address this, we have developed a procedural synthetic data generation pipeline
and dataset tailored to low-level vision tasks. Our Unreal engine-based
synthetic data pipeline populates large scenes algorithmically with a
combination of random 3D objects, materials, and geometric transformations.
Then, we calibrate the camera noise profiles to synthesize the noisy images.
From this pipeline, we generated a fully synthetic image denoising dataset
(FSID) which consists of 175,000 noisy/clean image pairs. We then trained and
validated a CNN-based denoising model, and demonstrated that the model trained
on this synthetic data alone can achieve competitive denoising results when
evaluated on real-world noisy images captured with smartphone cameras.
