0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

双目标定是什么?为什么要进行双目标定?

新机器视觉 来源:3D视觉工坊、计算机视觉 作者:曹博 2021-07-04 11:04 次阅读

1 前言

双目相机标定,从广义上讲,其实它包含两个部分内容:

两台相机各自误差的标定(单目标定)

两台相机之间相互位置的标定(狭义,双目标定)

在这里我们所说的双目标定是狭义的,讲解理论的时候仅指两台相机之间相互位置的标定,在代码实践的时候,我们才说完整的双目标定。 首先来思考一个问题:为什么要进行双目标定?

这是因为在许多三维重建算法中,我们都要知道两台相机之间的相对位置关系,这样才能进行距离计算。

基线:两个光心的连线称为基线;

极平面:物点(空间点M)与两个光心的连线构成的平面称为极平面;

极线:极平面与成像平面的交线

极点:极线的一端,基线与像平面的交点

像点:极线的一端,光心与物点连线与像平面的交点;

可以看出:

校正前,相机的光心不是相互平行的

校正后,极点在无穷远处,两个相机的光轴平行,像点在左右图像上的高度一致

标定+校正后图片: 图1 立体校正后左右相机图像发生一定扭曲这样的好处是:比如后续的立体匹配时,只需在同一行上搜索左右像平面的匹配点即可,能使效率大大提高。

注:可以看出来,最重要的,我们要知道右相机相对于左相机的位姿关系,那我们才可以做校正!

2 单目理论回顾

先来回顾下单目标定理论,理想的单目相机模型可以简化为:

poYBAGDhJlaAVC46AABdZd0V1iY493.jpg

而四大坐标系,包括世界坐标系、相机坐标系、图像坐标系、像素坐标系,它们之间的转换关系如下:

pYYBAGDhJpKAQCRmAABDDeHssVI739.jpg

最终,从理想的相机模型,从世界坐标系到像素坐标系的转换关系:

poYBAGDhJ0GAaHpkAAAiiSrK8eo515.jpg

但由于制造原因,使得成像过程(从相机坐标系到图像坐标系转换过程中)存在着畸变,主要有两类,径向畸变和切向畸变,它们可以通过以下公式进行修正:

pYYBAGDhJ0iAHw_EAABUm7xIjzo567.jpg

3 双目标定公式推导

pYYBAGDhJ1aAXWD4AABsX6e7qmw706.jpg

图3 标定模型 [2] 记:

poYBAGDhJ2CAeHxAAAC6XAhgbw8993.jpg

另外,右相机主点相对于左相机主点,显然还有: 1d4f7b64-dbc7-11eb-9e57-12bb97331649.png

pYYBAGDhJ2qATSMYAACCy_8-V9k225.jpg

代入上式,因为拍摄了多张图片,利用最小二乘法,也可以是奇异值分解(数学的部分比较复杂,在这里忽略),总而言之,最小化误差,即可得到我们最佳估计的 矩阵,有了这两个矩阵,我们做个旋转、平移就可以了。 注:虽然得到了旋转、平移矩阵,也但是极线校正的方法有很多,这个我们之后讲。

4 极线校正理论推导

双目标定后,我们得到了右相机相对于左相机的位姿关系,也就是R、T矩阵,下面一步即做极线校正。校正好处是之后做立体匹配搜索的时候,只需要在同高度附近进行搜索,大幅提升效率。根据前文的推导,在获取了R、T矩阵后,我们就要进行极线校正(立体校正),使两部相机光轴平行,如下所示:

poYBAGDhJ5KARfJpAADS9LRDIEA812.jpg

图4(a) 立体校正前 [2]图4(b) 立体校正后 [2]

但是平行的方法有很多,可以:

左相机不动,右相机动。

也可以两部相机旋转到中间等等。

最常见的校正方法就是Bouguet极线校正方法。

Bouguet极线校正方法:左右相机成像平面各旋转一半,使得左右图像重投影造成的误差最小,左右视图的共同面积最大。

具体步骤(这块理论推导可以去看论文,这里只给出结论,看不懂没关系,不妨碍我们使用它):

得到这两个变换矩阵,左、右相机分别乘以这两个矩阵即可完成变换,其中已经包含了平移信息

再计算重投影矩阵,其实现了像素坐标系(左相机)到世界坐标系之间的转换:

校正后,可以根据需要对图像进行裁剪,需重新选择一个图像中心,和图像边缘从而让左、右叠加部分最大。

责任编辑:lq6

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 三维
    +关注

    关注

    1

    文章

    464

    浏览量

    28753
  • 双目标定
    +关注

    关注

    0

    文章

    2

    浏览量

    1276

原文标题:一文详解双目相机标定理论

文章出处:【微信号:vision263com,微信公众号:新机器视觉】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    工业相机单目和双目的区别

    工业相机标定的方法根据工业相机的数目可分为单目标定双目标定Q以及多目标定
    的头像 发表于 03-26 16:26 288次阅读
    工业相机单目和<b class='flag-5'>双目</b>的区别

    ADC自身噪声怎么进行标定

    请问一下,ADC自身噪声怎么进行标定?可以通过简单将输入短接进行噪声计算吗?或者使用信号源进行不同输入下的噪声分析?谢谢了
    发表于 12-07 07:30

    相机标定究竟在标定什么?

    这个逼近的过程就是「相机标定」,我们用简单的数学模型来表达复杂的成像过程,并且求出成像的反过程。标定之后的相机,可以进行三维场景的重建,即深度的感知,这是计算机视觉的一大分支。
    的头像 发表于 10-18 17:00 495次阅读
    相机<b class='flag-5'>标定</b>究竟在<b class='flag-5'>标定</b>什么?

    常用视觉的三种相机标定总结

    选中Export Camera Parameters按钮,将计算得到的相关参数导入到Matlab中;若要进行更精确的标定,可在标定时考虑畸变误差或采用双目相机
    发表于 10-09 10:51 561次阅读
    常用视觉的三种相机<b class='flag-5'>标定</b>总结

    为什么传感器还需要标定?传感器标定的目的是什么

    传感器标定的目的是校准传感器的输出,使其能够准确地测量和感知目标物理量。传感器在使用过程中可能存在误差或漂移,标定可以通过与已知准确值进行比较,确定传感器的误差和偏移量,并
    的头像 发表于 09-29 05:21 3382次阅读
    为什么传感器还需要<b class='flag-5'>标定</b>?传感器<b class='flag-5'>标定</b>的目的是什么

    双目立体视觉是什么?单目视觉与双目立体视觉的区别?

    双目更多的是基于物理测量,而单目视觉则是基于逻辑推理,通过大量的数据训练,先识别出目标,再根据目标的大小和高度估算距离。因此,单目视觉的漏检率高于双目立体视觉,因为客观上存在corne
    发表于 08-17 09:40 2254次阅读
    <b class='flag-5'>双目</b>立体视觉是什么?单目视觉与<b class='flag-5'>双目</b>立体视觉的区别?

    什么是电机标定?电机标定的工作原理

    假设已经实现了电机控制,后续的电机标定大抵上分成两类,一类是效率标定,一类是外特性标定。前者目标是以提升在各工况下的系统效率。假设你了解交直轴变换,那么效率
    发表于 08-04 10:26 2309次阅读
    什么是电机<b class='flag-5'>标定</b>?电机<b class='flag-5'>标定</b>的工作原理

    双目立体视觉原理 HALCON的双目视觉系统研究

      立体视觉技术是机器人技术研究中最为活跃的一个分支,是智能机器人的重要标志。双目立体视觉是通过对同一目标的两幅图像提取、识别、匹配和解释,进行三维环境信息的重建。其过程主要包括视频捕获、摄像机定标
    发表于 07-19 14:18 0次下载

    手眼标定的详细推导过程

    机械手搭载双目相机,手眼标定
    的头像 发表于 07-11 11:18 866次阅读
    手眼<b class='flag-5'>标定</b>的详细推导过程

    手眼标定(九点法)

    在实际控制中,相机检测到目标在图像中的像素位置后,通过标定好的坐标转换矩阵将相机的像素坐标变换到机械手的空间坐标系中,然后根据机械手坐标系计算出各个电机该如何运动,从而控制机械手到达指定位置。这个过程中涉及到了图像标定,图像处理
    的头像 发表于 07-03 15:45 2338次阅读
    手眼<b class='flag-5'>标定</b>(九点法)

    双目相机标定的原理和方法

    首先,课程介绍了双目相机标定的基础知识。我了解到双目相机是由两个相机组成的系统,通过同时拍摄目标物体的两个视角来获取三维信息。
    的头像 发表于 07-03 14:25 1969次阅读
    <b class='flag-5'>双目</b>相机<b class='flag-5'>标定</b>的原理和方法

    双目标定到立体匹配:Python实践指南

    obj_points、img_points_left和img_points_right分别是存储每个标定图片对应的物理坐标系下的角点坐标、左相机的像素坐标和右相机的像素坐标。这些变量同样在后续的相机标定和立体匹配中用到。
    的头像 发表于 06-08 16:28 955次阅读
    从<b class='flag-5'>双目标定</b>到立体匹配:Python实践指南

    从零开始:入门双目视觉你需要了解的知识

    双目标定的方法有很多,常用的是基于棋盘格图案的张氏标定法,它利用多幅不同角度拍摄的棋盘格图像,通过提取角点坐标和求解最小二乘问题,得到两个相机的内参矩阵和外参矩阵,进而计算出基础矩阵。
    的头像 发表于 06-06 14:35 661次阅读
    从零开始:入门<b class='flag-5'>双目</b>视觉你需要了解的知识

    如何学习相机模型与标定

    相机标定是通过输入带有标定patter的标定板来获得相机参数的一个过程。实际的光学成像是一套非常复杂的过程,从三维世界投影到相机中的二维图像。相机标定就是用抽象的数学模型来表示这个复杂
    的头像 发表于 06-01 14:36 437次阅读
    如何学习相机模型与<b class='flag-5'>标定</b>?

    机器人手眼标定的推导过程

    机械手搭载双目相机,手眼标定
    的头像 发表于 04-20 16:32 884次阅读