问题标签 [pose-estimation]
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++ - 在单目视觉里程计中使用 3d-2d 运动估计的相机位置
在论文Visual Odometry Part I中,它说我们可以在单目情况下使用 3d-2d 运动估计来获得相机位置(它需要三个图像)。
所以,我使用 3d-2d 运动估计从函数 solvePnPRansac 得到了 Rvec 和 tvec。
问题是如何获取相机位置并从 Rvec 和 tvec 绘制其轨迹。下面两个公式对吗?
1.Rcur=Rvec * Rcur
2.tcur=tcur+scale*(Rcur * tvec)
因为我发现Avi Singh在 2d-2d 运动估计中使用它们。
有没有关于使用 3d-2d 运动估计的单目视觉里程计的论文来推荐。
image-processing - 基于单深度图像的部分实时人体姿态识别
我一直在阅读这篇论文,但有一点我不清楚。对于他们的算法,他们正在使用身体部位,但我找不到他们如何获得身体部位。有没有直接的方法来获取身体部位?
c++ - 使用 OpenCV 的光线和屏幕相交的注视估计
我正在使用 OpenCV 对一个人进行注视估计。目前,我有一个用户注视向量(对于每只眼睛)和眼睛中心的坐标,所有这些都在 3D 世界坐标中。
我想弄清楚用户在屏幕上的大致位置。我尝试了几种方法,但结果不准确。我该怎么做呢?
python - 足球场同名
好的,所以我正在尝试查找足球比赛的单应性。到目前为止我所拥有的是
- 从一个文件夹中读取图像,该文件夹基本上是模板足球场的许多裁剪图像。基本上这有中心圆和罚球线等的图像。
- 从文件中读取视频流并将其裁剪成许多较小的片段。
- 在视频流中的图像内循环,在另一个循环内循环我从文件夹中读取的图像。
- 现在在我通过迭代得到的两个图像中,我应用了一个绿色过滤器,因为我假设字段是绿色的
- 使用 orb 查找点,然后查找匹配项。
现在的问题是,由于玩家和人群中的一些噪音,我无法找到适合单应性的匹配。删除它们也是一个问题,因为这也往往会隐藏我需要计算单应性的足球场线。
对此的任何建议将不胜感激。下面还有一些我正在使用的示例代码和图像。
示例图像
我得到的输出
输出右侧的图像是视频中的一帧,左侧的图像是我在 filterGreen 函数后上传的相同示例图像,从代码中可以看出。
最后我想要的是图像正确映射到中心圆,这样我就可以在中心绘制一个立方体,有点类似于“这个例子”。提前感谢您帮助我。
c# - 用于在 Unity3D 中定位 3D 对象的 OpenCV 旋转(Rodrigues)和平移向量
我正在使用“OpenCV for Unity3d”资产(它与 Java 的 OpenCV 包相同,但为 Unity3d 翻译为 C#),以便为我的理学硕士论文(计算机科学)创建增强现实应用程序。
到目前为止,我能够使用 ORB 特征检测器从视频帧中检测到一个对象,并且我可以使用 OpenCV 的 SolvePnP 方法找到 3D 到 2D 的关系(我也进行了相机校准)。通过这种方法,我得到了平移和旋转向量。问题出现在增强阶段,我必须将 3d 对象显示为虚拟对象并在每一帧更新其位置和旋转。OpenCV返回罗德里格斯旋转矩阵,但Unity3d使用四元数旋转,所以我更新对象的位置和旋转错误,我无法弄清楚如何实现转换论坛(从罗德里格斯到四元数)。
获取 rvec 和 tvec:
更新虚拟对象的位置:
Z 轴有一个减号,因为当您将 OpenCV 转换为 Unty3d 的系统坐标时,您必须反转 Z 轴(我自己检查了系统坐标)。
Unity3d的坐标系(绿色为Y,红色为X,蓝色为Z):
OpenCV的坐标系:
此外,我对旋转矩阵做了同样的事情,并更新了虚拟对象的旋转。
ps 我发现了一个类似的问题,但是提出这个问题的人没有明确发布解决方案。
谢谢!
algorithm - 最小化测量误差时姿态估计的不确定性
假设我想估计给定图像的相机位姿,I
并且我有一组测量值(例如 2D 点 u i及其相关的 3D 坐标 P i),我想最小化误差(例如平方重投影误差的总和) )。
我的问题是:如何计算最终姿势估计的不确定性?
为了使我的问题更具体,考虑一个图像I
,我从中提取了 2D 点 u i并将它们与 3D 点 P i匹配。用T w表示我将要估计的这张图像的相机位姿,并用 pi T表示将 3D 点映射到其投影的 2D 点的变换。这里有一张小图来澄清事情:
有几种技术可以解决相应的非线性最小二乘问题,考虑我使用以下(高斯-牛顿算法的近似伪代码):
我在几个地方读到 J r T .J r可以被认为是姿态估计的协方差矩阵的估计。以下是更准确的问题列表:
- 任何人都可以解释为什么会这样和/或知道详细解释这一点的科学文件吗?
- 我应该在最后一次迭代中使用 J r的值还是应该以某种方式组合连续的 J r T .J r?
- 有人说这实际上是对不确定性的乐观估计,那么估计不确定性的更好方法是什么?
非常感谢,对此的任何见解将不胜感激。
opencv - 将面从非正面旋转到正面opencv
我已经为一个问题苦苦挣扎了一周,我无法将一张脸从这张图片中的左脸这样的非正面旋转到同一张图片中的右脸一样的正面。
1)。我在 learnopencv 网站上使用了一个关于 delaunay 的教程来获取左脸的所有三角形(大约 138 个三角形),如下所示:
2)。和这个库:https ://github.com/chili-epfl/attention-tracker (可以估计头部姿势)来获得Left Face头部姿势的4x4矩阵变换,这个矩阵似乎是函数的结果Rodrigues
在opencv中。
所以我不知道下一步如何用步骤 2 中的 4x4 矩阵旋转步骤 1 中的所有三角形以获得 Right Face 的结果。请帮忙!
opencv - Finding transformation between cameras looking at the same scene from different angles
I have a camera setup with two or more cameras looking at he same object from opposite directions:
I want to find a transformations between these cameras using asymmetric circles pattern and cv::stereoCalibrate. Is it going to work in this setup?
First problem that I've noticed is that OpenCV can't find inverted pattern, so second camera does not recognize pattern. To solve for that I flip image about x for second camera and then flip found points.
computer-vision - 外部相机参数是否被归类为旋转矩阵?
我一直在阅读 Prince 的书Computer Vision: Models, Inference, and Learning,特别是为了理解相机参数和姿态估计问题,我在外部相机参数方面遇到了一些麻烦。据我了解,外部相机参数由旋转矩阵和平移向量组成。旋转矩阵将世界坐标系转换为相机坐标系。我的问题是旋转矩阵是否是严格意义上的旋转矩阵;因为它是正交的并且具有行列式 1。
我之所以问,是因为在随后的几何变换章节中,他描述了相机正在查看平面(w/z 坐标 = 0)的情况,并介绍了由外在相机矩阵表示的仿射和投影变换。我很困惑,因为使用旋转矩阵无法实现这样的转换,还是我错了?一般糊涂
opencv - 使用 5 点算法和 RANSAC 进行相对位姿优化
我正在尝试从未校准的多视图图像中进行 3D 重建。我不知道相机的内在参数
我有 SIFT 特征。
我喜欢做的是使用 5 点算法结合 RANSAC 过滤异常值,这样我就可以对匹配的点进行相对位姿优化和三角剖分。
Opencv 有一个 API findEssentialMat(); 该API需要focal和pp。我可以在哪里获得focal和pp?这个 API findEssentialMat() 是我必须用于姿势估计的正确 API 吗?如果我的方法是错误的,是否有任何 API 更接近我想要在 OpenCV 中实现的目标?谢谢