evo工具使用问题——Degenerate covariance rank, Umeyama alignment is not possible

记录一下我犯蠢的全过程
如果遇到这个问题请不要怀疑,去比对自己的两个轨迹文件,一定有哪不对!!!!!
我这里是两个轨迹的时间戳除了第一个就没有一样的,谁能想到739条数据没一个相同的TAT

问题描述

在进行轨迹的评估时遇到了无法对齐的情况,数据没有缺失,文件格式正确
在这里插入图片描述

解决过程

在evo–core文件夹下的geometry.py文件中找到了报错的位置,61行SVD相关
在这里插入图片描述
一路输出往回找(我是真的不会Debug TAT),发现从轨迹文件中读取出来的position_xyz数组的大小和数量不太对。
一个轨迹文件读出来的数组应该是一个非常大的数据,但是这个轨迹对应的数组只有一行三个数据。在这里插入图片描述
继续
在工具的主函数,main_ape.py中的run函数中,在输出从parser中读取的数据时,发现我好好的文件中的轨迹呢????咋就1个位姿,0m的轨迹了呢????
在轨迹信息第一次被读取出来到输入ape主体中进行对齐和计算之前分别将轨迹信息读取出来,也就是228,229行加的输出和246,247行加入的输出
在这里插入图片描述
结果
输出结果
好的确定了,在232到244过程中发生了一些奇奇怪怪的bug。。。
之后发现错误出现在240行,两个曲线同步的时候
曲线同步主要是通过时间戳进行对齐,输出相同的时间戳数量之后进行对齐,当然这个时候发现输出的相同时间戳数为0
这个时候我感到了一点点的不太对。。。
当我打开两个轨迹的文件,随机找了几个时间戳,他们竟然不一样!!!739多条数据,一条都没对上!!!

结果

之前调试的时候更改了项目时间戳的精度,改了之后用新的轨迹重新评估,问题解决。

  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
"Degenerate mixture covariance"是指混合高斯模型(Mixture Gaussian Model)中某个混合成分的协方差矩阵退化为一个低秩矩阵的情况。 在混合高斯模型中,每个混合成分都由一个高斯分布表示,包括均值向量和协方差矩阵。协方差矩阵描述了特征的变化和相关性。但是,在某些情况下,某个混合成分的协方差矩阵可能退化为一个低秩矩阵,即其秩小于特征的维度。这意味着该混合成分在某些方向上的变化和相关性信息丢失了,因为它在这些方向上的方差为零。 退化的协方差矩阵会导致混合高斯模型对数据的建模能力下降,因为它无法准确地描述数据的变化和相关性。在模型训练过程中,退化的协方差矩阵通常会导致数值不稳定的问题。 为了解决退化的协方差矩阵问题,可以采取以下措施之一: 1. 增加训练数据量:增加数据量可以提供更多的样本来估计协方差矩阵,减少退化的可能性。 2. 使用正则化技术:应用正则化技术(如岭回归)可以限制协方差矩阵的条件数,减少其退化的可能性。 3. 考虑其他建模方法:如果存在多个混合成分的协方差矩阵都退化的情况,可以考虑使用其他建模方法来替代混合高斯模型,如因子分析或独立成分分析。 总之,"Degenerate mixture covariance"指的是混合高斯模型中某个混合成分的协方差矩阵退化为一个低秩矩阵的情况,需要特别注意和处理。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值