多点DLT (Direct Linear Transformation) 算法
阅读前可以先参看上一篇代数视觉博客:
四点DLT (Dierct Linear Transformation) 算法
对于大于4个点的数据点来进行 DLT 算法变换, 如果数据点的标注都十分准确,那么将所有数据点都放进 矩阵中进行求解的话, 与只放4个点没有区别,因为一致性会让矩阵 的秩仍为8.
但由于现实操作中, 数据点总是不准确带有噪声的, 盲目将全部点带入矩阵 会导致 中的 只有 0 解, 这并不是我们想要的. 因此我们需要进行改造
为了让所有点都可用,我们将所有点的数据构成的 矩阵的前两行组成 矩阵. 然后我们可以构造 . 但前面已经说明,这样直接求解会导致零解. 因此我们将等于零换为它们乘积的范数近似为0, 即 但为了避免 为零解, 我们加入一项对 的约束,
因此我们可以多点DLT的算法改成一个优化损失函数的算法
进一步的,我们可以改写上式成
算法表如下
引用: Multiple View Geometry in Computer Vision Second Edition
分类:
代数视觉
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 使用C#创建一个MCP客户端
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· ollama系列1:轻松3步本地部署deepseek,普通电脑可用
· 按钮权限的设计及实现