VSLAM 算法的输入分析(三)

151 阅读2分钟

携手创作,共同成长!这是我参与「掘金日新计划 · 8 月更文挑战」的第2天,点击查看活动详情

选定完进行 VLSAM 算法的图像采集相机之后,便需要在模型侧进行处理,因此梳理清楚模型的输入方式非常关键。

模型侧的输入参数

程序系统读取图像及参数文件。图像及参数就是程序模型认识图像数据的方式,即 VSLAM 算法的输入。

输入文件一般包含:

  • 相机参数文件
  • 图像数据文件
  • Gamma 文件
  • Vignette 文件

输入文件(1)提供包括光度标定参数在内的相机参数;(2)将图像数据传递给 OpenCV 模块读取等;

相机的参数类型有:

  • 伽马校准:一个相机颜色调整参数,是用来针对影片或是影像系统里对于光线的辉度或是三色刺激值所进行非线性运算或反运算的。

为图像进行Gamma校准的目的是对人类视觉对光线或者黑白的感知进行补偿,最大化地利用表示黑白的数据位或带宽。如果不进行伽马编码,那么会有过多的数据位或者带宽用来表示人类根本无法察觉到的差异。

图像的的伽马编码不是必须的,浮点数格式的颜色值已经提供一部分对数曲线的线性估计。

  • 透镜衰减(晕影,Vignette):8 位或 16 位的位图文件。如果除了光学被除了孔径光阑之外的光学元件遮挡,从而到不了像面,就是发生了晕影。

采集到图像后,读入原始采集图像,载对图像进行预处理步骤,对于一个简单的模型,这一步可以先暂行不做。以地平线开发的 stereo_dso 为例,该定位建模算法模型省略了 Gamma 文件和 Vignette 文件,直接调用图像数据集。当然这和该模型直接使用完备的图像数据集不无关系,但是对于一个简单的模型来说,直接使用处理好的数据训练并无不妥。