我们已经了解如何生成具有基本形状、噪声或简单增强的图像,但制作真正看起来逼真的合成图像,难度明显增加。要生成与相机拍摄的照片无异的视觉效果,需要克服多项复杂难题。
捕捉视觉复杂性
场景的细节极其丰富。请考虑以下方面:
- 纹理与材质: 思考光滑的塑料表面、粗糙的树皮或织物细致的纹理之间的区别。准确再现这些表面特性,需要精细的纹理贴图或模仿材料形成方式的精密程序生成算法。简单地应用平面颜色或重复图案通常无法达到要求。
- 光照、阴影与反射: 光线在场景中的表现是真实感的根本。实际上,光线从多个表面反射,形成柔和的阴影、物体间细微的颜色渗透以及在光亮或潮湿表面上的复杂反射。准确模拟这一点,通常被称为全局光照,需要模拟光线传播的物理过程,这比放置简单的直接光源复杂得多。阴影和高光处理不当,通常会迅速显露图像是合成的。
- 物体几何与交互: 物体并非仅仅漂浮在空中;它们放置在表面上,相互依靠,并相互投射阴影。真实地模拟这些交互,包括细微变形(例如坐下时靠垫凹陷),需要精准的三维模型和物理模拟。生成多种物体多变且自然的排列,也并非易事。
- 细微瑕疵与变化: 真实场景极少完美。表面可能有灰尘、划痕或指纹。物体在形状、颜色和位置上展现微小变化。像人脸这样的生物主体在表情和外观上表现出极大多样性。在合成中捕捉这种自然的随机性和不完美,同时不显得人工或重复,是一种精妙的平衡。
生成高度逼真合成图像所涉及的因素和难题。
建模与计算障碍
真实场景的复杂性直接转化为建模和计算要求:
- 精细资产制作: 构建高质量三维模型、精细纹理和丰富环境,需要大量时间和通常专业的艺术技能。以编程方式生成这些资产是可行的,但实现真实感有难度。
- 物理模拟: 如前所述,逼真的光照通常依赖于模拟光线物理。类似地,模拟物体交互、布料运动或流体动力学,会增加多层计算复杂性。
- 计算资源: 渲染高保真图像,尤其是涉及复杂光照和精细几何的图像,需要大量处理能力(通常是GPU),并且每张图像可能需要数分钟到数小时的大量时间。生成大型数据集可能成为瓶颈。
- “恐怖谷”效应: 有时,非常接近真实感但含有细微瑕疵的图像,可能会显得怪异或令人不安。避免这种情况,需要极其细致地关注生成过程的各个方面。
在合成图像中实现照片级真实感是一个持续进行的研究与发展方向,通常需要像生成对抗网络 (GAN)(GANs)或精密基于物理的渲染引擎等先进技术,这些话题超出了本入门课程的范围。然而,理解这些难题有助于明白为什么生成简单的合成图像(如前所述)是一个更易于开始的起点,并且在完美真实感并非首要要求的许多机器学习 (machine learning)任务中,仍然有其价值。