我继承了使用此页面上显示Eigen::Matrix的代码解决问题的代码:
(A.transpose() * A).ldlt().solve(A.transpose() * b)
这可行,但我的矩阵大小通常可以是。表达式为我提供了一个包含 400 倍数据的巨大方阵,因此我怀疑求解器浪费了大量时间来处理这些额外数据。
是否有一个“更好”的求解器可以避免创建方阵,或者可以通过“分而治之的策略”来解决这个问题,也许我可以解决 40 个 50x5 的问题,然后解决 40x5 的结果?
更新:有关更多信息,我的问题是在对立体图像进行视差检查后,我有一个点云,并且根据函数名称,它正在尝试检测路面。我们求解矩阵,然后使用计算出的系数去除每组点中的噪声。
尝试准确解决所有 2000 分似乎需要付出很大的努力,这也让我感到震惊。也许选择每 10 个点会给出大致相似的答案?
此外,5 行值类似于(IIRC,我离开我的电脑一周!),,,和
最后,请注意,一个操作本身并不是那么低效,而是我有超过 300 组点,每帧总计超过 100,000 个点。