首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >ArUco标记OpenCV姿态估计中的不确定性/协方差

ArUco标记OpenCV姿态估计中的不确定性/协方差
EN

Stack Overflow用户
提问于 2022-06-07 12:04:51
回答 1查看 161关注 0票数 0

我使用OpenCV的cv2.aruco.estimatePoseSingleMarkers函数来估计ArUco标记的姿态&它工作得很好。然而,我也希望姿态估计的不确定性/协方差。

有办法做到这一点吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2022-07-20 20:58:12

我也一直在寻找关于姿态不确定性的论文。我并不是很成功,但我发现了几篇理论上研究这个问题的论文。在实践中很难应用。一篇论文甚至说到“没有人在想错误”。

我刚刚放弃了我的文献搜索,并尝试了以下方法:

  • 在一个正方形中创建了一个由四个ArUco标记组成的组。这给出了四个以“团体中心”为中心的估计。获取四个姿势和相关数据(rvecs, tvecs)
  • Using cv2.projectPoints,找出小组中心四种不同的方式(从每个姿势)。这就给出了2D (像素空间)随机误差。这是一种有用的方法--你可以得到局部像素精度的估计,(mm/pixel).
  • Using三维旋转/平移(即建立和使用要求cv2.Rodrigues的4×4变换矩阵),以不同的方式在相机中找到群中心--我认为这应该给出3自由度(平移)随机误差。给出了群中心位置的平均±std,如果需要再用三维旋转/平移的方法,可以得到locations.
  • Finally,的SE (标准差) ->传播误差,将每个姿态的Z轴投影到相机空间。单元Z给出了姿态方向余弦,而均值±std又给出了方向的随机误差。这将是另一个3自由度(旋转)随机误差,我希望.

不过,这只是随机错误。现在我在考虑如何包含精确误差..。我通常回到约翰·R·泰勒的“错误分析导论”(“火车残骸”一书)。他说

...For例子,如果你必须用刻度为毫米的标尺测量一个明确定义的长度l,你可能会合理地决定长度可以读到最近的毫米,但没有更好的。在这里,不确定度dl =0.5mm.

用同样的(我想?)推理,我放弃亚像素细化,并将开始一个像素精度估计假设像素精度误差为半像素。但肯定有更聪明的人能纠正这一点吗?多诺。

我会在进步的时候更新这个..。

编辑:还有几个想法。

  • cv.estimatePoseBoard当然也这么做了--我想我读过的书给出了“改进”的估计.但它不返回任何不确定性信息!这是一个多么大的损失。
  • 一旦出现不确定性,那么你可能就得把它放到其他位置了。NIST的Franaszek和Cheok发表了“三维刚性物体的方位不确定性向其点的传播”(我不记得我在哪里找到了PDF),介绍了如何做到这一点--我还没有把这项工作完全纳入我的工作中,但似乎(?)这将有助于将不确定因素投射到刚体的其他部分,从而获得姿态。--
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/72530924

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档