我使用OpenCV的cv2.aruco.estimatePoseSingleMarkers
函数来估计ArUco标记的姿态&它工作得很好。然而,我也希望姿态估计的不确定性/协方差。
有办法做到这一点吗?
发布于 2022-07-20 20:58:12
我也一直在寻找关于姿态不确定性的论文。我并不是很成功,但我发现了几篇理论上研究这个问题的论文。在实践中很难应用。一篇论文甚至说到“没有人在想错误”。
我刚刚放弃了我的文献搜索,并尝试了以下方法:
rvecs, tvecs
)cv2.projectPoints
,找出小组中心四种不同的方式(从每个姿势)。这就给出了2D (像素空间)随机误差。这是一种有用的方法--你可以得到局部像素精度的估计,(mm/pixel).cv2.Rodrigues
的4×4变换矩阵),以不同的方式在相机中找到群中心--我认为这应该给出3自由度(平移)随机误差。给出了群中心位置的平均±std,如果需要再用三维旋转/平移的方法,可以得到locations.不过,这只是随机错误。现在我在考虑如何包含精确误差..。我通常回到约翰·R·泰勒的“错误分析导论”(“火车残骸”一书)。他说
...For例子,如果你必须用刻度为毫米的标尺测量一个明确定义的长度l,你可能会合理地决定长度可以读到最近的毫米,但没有更好的。在这里,不确定度dl =0.5mm.
用同样的(我想?)推理,我放弃亚像素细化,并将开始一个像素精度估计假设像素精度误差为半像素。但肯定有更聪明的人能纠正这一点吗?多诺。
我会在进步的时候更新这个..。
编辑:还有几个想法。
cv.estimatePoseBoard
当然也这么做了--我想我读过的书给出了“改进”的估计.但它不返回任何不确定性信息!这是一个多么大的损失。https://stackoverflow.com/questions/72530924
复制相似问题