gpt4 book ai didi

opencv - block bundle 调整流程

转载 作者:太空宇宙 更新时间:2023-11-03 20:46:56 24 4
gpt4 key购买 nike

我正在研究用于查找的 bundle block adjustment

  • 图像点的X、Y、Z值
  • 修正相机特性值(外部参数等)
  • 修正测量值

在我看来,BB 调整过程是通过以下步骤完成的(已给出相机内在特性):

  1. 收集连接点(每个图像对的 x、y)和地面控制点(每个图像的 x、y 和相关的 X、Y、Z 位置)
  2. 为每个 View 计算初始外部参数(相机姿势)
  3. 使用相机姿势计算每个连接点的初始真实世界位置
  4. 使用所有这些初始值和其他参数作为输入执行稀疏束调整步骤
  5. 使用稀疏束平差的输出作为真实世界位置、外部特征和测量的准确结果。

我想问的一件事是该流程是否正确。从 View 中进行结构和运动估计的方法有很多,所以我对此不太确定。

当我搜索各种资源时,我发现有些库可以执行 block bundle 调整操作的每个部分。对于每个步骤:

  1. OpenCV 等图像处理库可用于自动收集连接点
  2. cvFindExtrinsicCameraParams2 可用于空间切除( 但它需要 4 个点,对于 block 束调整,提到每个 View 有 3 个地面控制点就足够了。我应该使用另一种方法,如从立体 View 进行姿态估计吗? )
  3. 通过使用 OpenCV 的三角测量和投影方法,可以计算出真实世界的位置
  4. SBA 或 SSBA 适合此操作
  5. 不适用

还有一个问题是,如果前面提到的流程是对的,配套的库是否足以实现整个流程?(可能每个部分都有更好的建议)

我是这个领域的新手,所以我很感激在这个问题上的任何帮助,谢谢......

最佳答案

您已经描述了立体摄影测量的默认方法。我建议您使用术语内部和外部方向进行搜索,而不是使用计算机视觉术语(外在的、内在的)。如果您有有限数量的重叠图像并且它具有一些定义明确的误差估计方法的好处,这是一种很好的方法。
这是一些基础数学:

http://itee.uq.edu.au/~elec4600/elec4600_lectures/1perpage/uq1.pdf http://itee.uq.edu.au/~elec4600/elec4600_lectures/1perpage/uq2.pdf

.2. cvFindExtrinsicCameraParams2 may be used for space resection ( but it requires 4 points, for block bundle adjustment it is mentioned that 3 Ground control points are enough for each view.

cvFindExtrinsicCameraParams2 需要四个控制点的原因是方程欠定只有三个。如果您没有足够的控制权,您可能必须使用替代方法(或传感器)来估计初始相机姿态向量。

关于opencv - block bundle 调整流程,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9601031/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com