发现问题
在SLAM系统中,需要使用到噪声矩阵,原始的OpenVins代码中都是使用一个 单位阵保存噪声信息。
然而,其中真正使用到的变量仅仅为主对角线上的分量,使用一个矩阵保存简单的噪声信息,浪费了 大量内存。
分析问题
由于矩阵的对角线可以使用一个向量进行表示,因此,可以在前期使用 向量来存储噪声信息。在最后矩阵计算时,将向量转换为矩阵进行计算。并且可以利用eigen的特性,计算发生在最后的 赋值步骤,提升效率。
解决问题
假设:使用向量替换矩阵能够节省内存,减少时间
检验:使用简单代码,分别初始化一个单位阵,初始化向量然后转换为矩阵,分别计算花费时间。
测试代码
#include<iostream>
#include<Eigen/Dense>
#include<Eigen/Sparse>
#include<time.h></