多视图几何中5点法非线性求解计算本质矩阵

一、概述

在slam 和sfm领域,恢复相机位姿和3D点的坐标是其重要的任务,描述一个场景的3D点在不同相机的图像坐标之间的关系被称为对极几何关系。对极几何关系描述的矩阵通常有基本矩阵(fundamental matrix)、本质矩阵(essential matrix)、单应矩阵(homography matrix)。基本矩阵的求解算法有7点法、8点法;基本矩阵的求解算法有5点法、8点法;单应矩阵的求解算法为DLT算法。

在对极几何关系矩阵中,单应矩阵的求解、基本矩阵和本质矩阵的8点法求解算法统称为线性求解,而基本矩阵的7点法和本质矩阵的5点法称为非线性求解,尤其本质矩阵的5点法求解过程非常复杂,大多数教材都是先计算基本矩阵,然后利用内参和基本矩阵求解本质矩阵(如orb2-slam中本质矩阵的求解),5点法的求解涉及10次多项式的求解,故相关资料较少(包括波恩大学photogrammetry 课程,5点法求解E矩阵的过程也是直接跳过)。

关于其它对极几何(F-7points、F-8points、E-8points、H-DLT)的算法具体介绍,可以关注本人“视觉三维重建的关键技术与实现-colmap代码解析”课程视频,具体课程介绍可以扫以下二维码:

二、算法介绍

(1) 前提条件

Essential matrix 5个dof,故 最小支撑点为5对匹配点。

(2) 算法流程

首先借鉴求解f矩阵的线性表达式,得到有关本质矩阵元素的表达式如下:

填充元素可得:

step1 : 提取nullspace 的4个特征向量

因为未知数个数为9,E的dof 为5,则以上齐次方程的解存在4个基础解系,那么E矩阵的通解变为基础解系的线性组合,即:

由于E本身尺度不唯一,故为了不失一般性,令c_{w}=1,则未知数元素变为了[c_{x}, c_{y}, c_{z}];

代码如下:

step2 : 加入约束方程

把(1)式带入(2)和(3)中得到9个三元三次方程

step3: 利用Gauss-Jordan消元

由于三元三次求解不好求解,故可以建立等效方程,将其变成Aj=0;其中A矩阵是10*20的大小,j 是未知数c_{x}, c_{y}, c_{z}的20个组合。利用GaussJordan约减A可得到以下矩阵:

将(4)式有关z的多项式全部代入(5),便可得到关于z的一元10次方程.高斯约减的图示如下:

注:将Mx=0,约减成[I B]x=0

代码如下:

step 4: 求解E矩阵

根据step3 得到每个c_{z}都可以求出一组c_{x}, c_{y},带入(1)便可求解出E矩阵:

参考文献:

1.Recent Developments on Direct Relative Orientation[J].H Stewénius.ISPRS 2006

2.An efficient solution to the five-point relative pose problem[J]. D. Nister.EEE-T-PAMI, 26(6), 2004

本文仅做学术分享,如有侵权,请联系删文。

下载1

在「3D视觉工坊」公众号后台回复:3D视觉即可下载 3D视觉相关资料干货,涉及相机标定、三维重建、立体视觉、SLAM、深度学习、点云后处理、多视图几何等方向。

下载2

在「3D视觉工坊」公众号后台回复:3D视觉github资源汇总即可下载包括结构光、标定源码、缺陷检测源码、深度估计与深度补全源码、点云处理相关源码、立体匹配源码、单目、双目3D检测、基于点云的3D检测、6D姿态估计源码汇总等。

下载3

在「3D视觉工坊」公众号后台回复:相机标定即可下载独家相机标定学习课件与视频网址;后台回复:立体匹配即可下载独家立体匹配学习课件与视频网址。

重磅!3DCVer-学术论文写作投稿 交流群已成立

扫码添加小助手微信,可申请加入3D视觉工坊-学术论文写作与投稿 微信交流群,旨在交流顶会、顶刊、SCI、EI等写作与投稿事宜。

同时也可申请加入我们的细分方向交流群,目前主要有3D视觉CV&深度学习SLAM三维重建点云后处理自动驾驶、多传感器融合、CV入门、三维测量、VR/AR、3D人脸识别、医疗影像、缺陷检测、行人重识别、目标跟踪、视觉产品落地、视觉竞赛、车牌识别、硬件选型、学术交流、求职交流、ORB-SLAM系列源码交流、深度估计等微信群。

一定要备注:研究方向+学校/公司+昵称,例如:”3D视觉 + 上海交大 + 静静“。请按照格式备注,可快速被通过且邀请进群。原创投稿也请联系。

▲长按加微信群或投稿

▲长按关注公众号

3D视觉从入门到精通知识星球:针对3D视觉领域的视频课程(三维重建系列三维点云系列结构光系列手眼标定相机标定orb-slam3等视频课程)、知识点汇总、入门进阶学习路线、最新paper分享、疑问解答五个方面进行深耕,更有各类大厂的算法工程人员进行技术指导。与此同时,星球将联合知名企业发布3D视觉相关算法开发岗位以及项目对接信息,打造成集技术与就业为一体的铁杆粉丝聚集区,近2000星球成员为创造更好的AI世界共同进步,知识星球入口:

学习3D视觉核心技术,扫描查看介绍,3天内无条件退款

 圈里有高质量教程资料、可答疑解惑、助你高效解决问题

觉得有用,麻烦给个赞和在看~  

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值