问题标签 [visual-odometry]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
c++ - OpenCV - findEssentialMat 后正确恢复姿势
我在连续帧之间有正确的对应关系,并且需要估计它们之间的转换以生成轨迹。下面的 C++ 管道,生成的轨迹毫无意义。
所以,我的问题是:如何使用 C++ OpenCV 实用程序正确恢复两个连续帧之间的转换?是否需要额外的步骤来这样做?
matlab - 立体图像的图像校正
我的最终目标是进行视觉里程计。为此,我将收集我自己的图像数据集。但首先,我正在尝试使用Malaga Dataset的原始图像进行图像校正。数据集是立体图像数据集。我已经下载了 malaga-urban-dataset-extract-07.zip 文件,并尝试使用原始图像进行图像校正。我使用了MATLAB 代码:
但它给了我第 152 帧的错误:
除了这个错误之外,经过修正的图像(从第 1 帧到第 151 帧)已经与 Malaga 数据集的原始修正图像不相似。例如; 如果我分别给你看一下马拉加原始图像数据集的第20帧,我使用的Matlab代码的校正结果和马拉加数据集的原始校正图像:
我知道我对未校准的相机使用了 Matlab 纠正代码。但是,它已经是马拉加数据集中的校准原始图像数据集。另一个整改 matlab 代码是这个但是马拉加数据集图像(或我将收集的数据集)不包含棋盘。所以,我无法理解如何将此代码与不包含棋盘格的图像一起使用。
我有三个问题:
- 如何解决我在上面写的错误问题?
- 为什么 Matlab 校正的结果与原始校正图像不相似?
- 我怎样才能用另一种方式纠正原始图像?
python - 如何使用 KITTI 里程计数据集评估单目视觉里程计结果
我正在尝试使用 KITTI 开放数据集进行深度单目视觉里程计我尝试使用这个repo
它使用此代码将姿势转换为 6DoF
模型输出也采用相同的格式(6DoF)
问题是如何评估 6DoF 结果,因为此评估工具 ( kitti-odom-eval ) 仅支持以下两种格式
opencv - 错误 C3861:“findEssentialMat”:找不到标识符 - 带有 Visual c++ 2010 的 Opencv 2.4.9
在我的代码中,我有以下内容:
和代码:
但是使用带有 Visual c++ 2010 的 Opencv 2.4.9 我得到了编译错误:
如何解决它们?
谢谢!
python - 在没有 PnP 的情况下在单目视觉里程计中查找相对比例
我正在实现一个标准的 VO 算法,并进行了一些更改,即提取特征、匹配特征点、找到基本矩阵并分解以获得姿势。然而,在初始化之后,我没有对后续帧使用 3D-2D 运动估计 (PNP),而是使用相同的 2D-2D 运动估计(使用基本矩阵)。我发现 2D-2D 估计似乎比 3D-2D 准确得多。为了找到第二个姿势相对于第一个姿势的相对比例,我可以找出共同点(对两个帧对进行三角剖分)。根据视觉里程计教程,Scaramuzza,可以通过找到公共点对之间的相对距离的比率来找到相对比例。
如果f13D
并且f23D
是来自后续帧对的三角化 3D 点,我会随机选择点对并计算距离,这是相同的粗略代码片段。
我还尝试用线性 ransac 估计器替换最后一行。然而,由于比例三角测量并不完美,这些值非常嘈杂,因此使用不同的 numpy 种子时,比例估计也有很大差异。
这是在文章中描述的在单目 VO 中实现相对比例的正确方法吗?如果没有,最好的方法是什么(我不希望使用 PNP,因为旋转似乎不太准确)
opencv - OpenCV recoverPose 从基本矩阵 E
使用 Opencv 3.0,我获得了具有以下功能的基本矩阵:
查看掩码值,内点的数量非常高。
在我使用了 recoverPose 函数之后:
但我注意到通过的内点数(查看掩码)非常少(通常为零)。
我的问题是:有没有办法从recoverPose 函数中获得更多的内点?如果没有,是否有替代方法来获取 R 和 t(不使用 recoverPose 函数)?
非常感谢!
scale - 使用 IMU 数据和/或距离计解决 Visual Odometry 中的绝对比例问题
视觉里程计给我 x,y,z 位置,除非是绝对比例。我也可以有 IMU 数据(例如获取滚动、偏航信息)。我也可以有一个测距仪(以获得与当前物体的不同距离)
有没有一种简单的方法可以结合这些信息并获得相关的量表?
谢谢!
python - 在 ROS 模拟中使用 OpenCV 尝试 KLT 时的问题
我正在尝试使用 ROS + Gazebo 和 OpenCV 的 KLT 算法制作一些视觉里程计项目。
我的代码运行得不太好。使用视频文件作为源可以正常工作,就像在本教程中一样,但是当我尝试使用 ROS 主题/图像作为输入时,效果并不好。即使我可以跟踪特征点,视图也会冻结(我必须单击 esc 几次才能刷新)并且在移动时没有绘制点路径。
我还尝试更改模拟相机的帧速率,因为处理时间太快了,但没有成功。
我想我犯了一些基本错误,与回调或事件“旧框架”与“新框架”关系有关,但不知道如何解决。
如果有人能在这个问题上提供一些支持,我将不胜感激。
我的代码如下:
computer-vision - 智能手机相机运动估计 - 检测退化情况
我有一个系统,它使用智能手机摄像头视频作为输入来重建小物体的 3D 模型(我会注意到我可以在物体旁边放置已知大小的标记)。
我想检测视频中没有足够运动的扫描,对于 3d 重建实际上退化的情况,例如纯旋转的情况。最初的想法是执行SFM并计算实际完成了多少运动,但这里有一个问题,因为从一开始这些都是执行 SFM 有问题的情况(退化情况)。
你会推荐我做什么?
我还会注意到我使用智能手机,所以我也可以选择它的 IMU。
谢谢