训练过程总是在测试之前。
整体的顺序和流程是这样的:
-
数据收集和预处理:
- 这是整个流程的起点,收集用于训练和测试的多视角图像数据,并进行预处理,如规范化、裁剪、可能的标注等。
-
训练(Training):
- 使用预处理后的数据来训练神经网络模型。在训练期间,网络通过优化参数(如权重和偏差)来学习场景的3D表示。
- 训练过程涉及到使用已知视角的图像来训练神经网络。网络在这个阶段学习如何根据输入的3D位置和2D视角预测场景的颜色和体积密度。
- 通过反向传播和梯度下降(或其他优化算法)来更新网络参数,以最小化预测图像和实际图像之间的差异。
- 训练完成后,你会得到一个能够对场景进行准确表示的模型,这通常需要数小时到数天的时间,取决于数据的复杂性和网络架构。
-
验证(Validation)(可选步骤):
- 在某些情况下,在开始正式的测试之前,可能会在独立的验证集上评估模型的性能。这有助于检测过拟合并调整超参数。
-
测试(Testing)或推理(Inference):
- 一旦模型训练好,就可以在新的视角下进行测试,以评估模型对未知视角渲染图像的能力。
- 在测试过程中,模型的参数是固定的,不会再进行更新。测试的目的是验证模型是否能够准确地推广到未见过的数据上。
训练是一个计算密集和时间消耗的过程,目的是构建一个能够理解场景结构的模型。而测试则是使用这个训练好的模型来进行预测,通常是计算代价较小的过程。在实际应用中,例如在游戏或者其他实时系统中,只进行测试阶段,因为训练好的模型已经集成在系统内。