摄影测量问题:将两个 3D 坐标系与旋转映射在一起

Photogrammetry Problem: Mapping two 3D coordinate systems together with rotations

提问人:Peterqt 提问时间:5/13/2023 更新时间:5/13/2023 访问量:34

问:

我正在尝试完成一个相对基本的摄影测量项目,在该项目中,我们尝试根据图片在世界坐标中的位置,从 2D 图片中定位物体在世界坐标中的 3D 点。相机的投影角度是已知的。这些照片是在已知半径内围绕物体周围 8 个等距距离拍摄的,因此投影中心的坐标是已知的。

然后,我从不同的图片中识别出物体上的相应关键点。在图像平面上标识的关键点将与投影中心形成一条 3D 线,这条线将用于从另一个方向进行三角测量。这是在针孔相机模型假设下。

我的问题是确定这个关键点在 3D 世界坐标中的位置。

我认为我没有时间在截止日期之前对此进行编程(在 Python 中使用 OpenCV),但只是想能够了解如何完成这个三角测量。

我的想法是,我可以把相机坐标原点放在相机的投影中心,从而在相机焦距的距离处给出虚拟图像平面。现在,像素坐标可以转换为毫米,并给出该平面上关键点的其他两个坐标。我现在在相机的本地坐标系中有一个关键点的 3D 坐标。我无法将相机的局部坐标系映射到世界坐标系,即使我知道它们之间的旋转和平移。

这是否仅用轮换和平移矩阵来表示?如何定义可以将局部相机坐标系中的 3D 点转换为全局世界坐标系的关系?

我遇到的另一个问题是,应用于 3D 点的两个旋转矩阵将根据乘法顺序获得不同的结果。因此,对于需要绕两个轴旋转才能在世界坐标系中定义的坐标系,我如何知道应用旋转的顺序?我需要使用四元数吗?

数学 3D 变换 元数 摄影测量

评论

0赞 fmw42 5/13/2023
欢迎使用 Stack Overflow。请阅读帮助中心stackoverflow.com/help)中的信息指南,特别是“如何提出一个好问题”(stackoverflow.com/help/how-to-ask)和“如何创建一个最小的、可重复的例子”(stackoverflow.com/help/minimal-reproducible-example)。请一次一个问题!
0赞 fana 5/18/2023
也许最快的方法是阅读现有的{书籍、论文、网站},而不是希望有人能解释所有的理论/几何/数学等。
0赞 fana 5/18/2023
> 我如何知道以哪个顺序应用旋转?-->这取决于你旋转的原因(每次旋转的定义/含义)。您将需要考虑“这个旋转结果是什么?换句话说,“你如何以数学方式定义/建模旋转的表示(坐标变换)”。
0赞 fana 5/18/2023
例如,当您使用欧拉角来表示姿态(旋转)时,您是唯一知道“如何使用角度值集?(3 个矩阵的正确乘法顺序)”。

答: 暂无答案