3 绝对圆锥曲线

在进一步了解相机标定前,有必要了解绝对圆锥曲线(Absolute Conic)这一概念。

对于一个3D空间的点x,其投影空间的坐标为:x~=[x1,x2,x3,x4]T。我们定义无穷远处的平面用符号Π∞表示,该平面内的投影空间点坐标满足x4=0,则位于圆锥曲线Ω上的点满足:

{x21+x22+x23=0x4=0.(1)

令x∞=[x1,x2,x3]T是绝对圆锥曲线Ω上的点,如上图所示。由定义可知xT∞x∞=0,同时也有x~∞=[x1,x2,x3,0]T满足x~T∞x~∞=0。读至此处,我们发现不管是Π∞和Ω,还是x∞和x~∞都是存粹想象出来的,很难在实际生活里找到实例,但是科学就是这么迷人,给定一个起始点,想象和求知探索的渴求却不受其限制,直至永无止境。

让我们再看公式(1),如果我们令:x=x1/x3,y=x2/x3,显而易见,位于曲线Ω上的点方程就可以写成:x2+y2=−1,这就是一个圆方程,只不过我们所想象出来的这个虚拟圆的半径为−1−−−√,当然对于了解复数(Complex number)概念的我们,这并没什么不可。

此时,或许我们会困惑,为什么要费尽心机想象出绝对圆锥曲线呢?原因在于绝对圆锥曲线所具有的一条重要特性:对于刚体变换具有不变性,这么说是不是有点不明觉厉,那就继续往下看。

首先简单讲一下刚体变换:只有物体的位置(平移变换)和朝向(旋转变换)发生改变,而形状不变,得到的变换称为刚体变换。以三维刚体变换为例:

x=[R  t]X(2)

或者表述为:

x=RX+t   or   x=R(X+C)(3)

令H=[R0t1],对于位于绝对圆锥曲线Ω上的点x~∞=[x∞0],刚体变换后的点x~′∞可表示为:

x~′∞=Hx~∞=[Rx∞0](4)

则x′∞很明显也是位于无穷远平面上的点,而且是位于同一绝对圆锥曲线Ω上点:

x′T∞x′∞=(Rx∞)T(Rx∞)=xT∞(RTR)x∞=0(5)

令绝对圆锥曲线Ω对应的图像称为ω,也被简记为IAC(Image of the absolute conic),当然这也是想象出来的~于是对于Ω上的任一点x∞,其像点m∞满足:

m~∞=sA[R  t][x∞0]=sARx∞(6)

m~∞A−TA−1m~∞=s2xT∞RTRx∞=s2xT∞x∞=0(7)

因此,绝对圆锥曲线成像构成一个虚构曲线,并且由公式(7)可以看出,这个虚拟曲线由A−TA−1决定,这与相机的外参完全无关,而仅仅由相机内参决定。可以设想,如果我们找到了绝对圆锥曲线通过相机所成的图像,那就可以求解出相机内参。至此,我想大家也就明白为什么会提出Absolute Conic这一概念了吧。事实上,这一理论在相机自检校标定法(Self-calibration)中作为基础理论,十分重要。

后续文章将会为大家介绍几种确定绝对圆锥曲线Ω对应的图像ω的方法。

Camera Calibration 相机标定:原理简介(三)的更多相关文章

  1. Camera Calibration 相机标定

    Camera Calibration 相机标定 一.相机标定方法 在opencv中提供了一组函数用于实现相机的标定,标定返回的值包括:相机内参矩阵(fx fy xc yc).相机外参矩阵(R t)以及 ...

  2. Camera Calibration 相机标定:原理简介(五)

    5 基于2D标定物的标定方法 基于2D标定物的标定方法,原理与基于3D标定物相同,只是通过相机对一个平面进行成像,就可得到相机的标定参数,由于标定物为平面,本身所具有的约束条机,相对后者标定更为简单. ...

  3. Camera Calibration 相机标定:原理简介(四)

    4 基于3D标定物的标定方法 使用基于3D标定物进行相机标定,是一种传统且常见的相机标定法.3D标定物在不同应用场景下不尽相同,摄影测量学中,使用的3D标定物种类最为繁杂,如图-1的室内控制场,由多条 ...

  4. Camera Calibration 相机标定:原理简介(一)

    1 相机标定常见方法 广义来说,相机标定不单包括成像过程的几何关系标定,还包括辐射关系的标定,本文只探讨几何关系.相机标定是3D计算机视觉(Computer Vision)里从2D图像中提取量测信息的 ...

  5. Camera Calibration 相机标定:原理简介(二)

    2 针孔相机模型 常见的相机标定中,使用的相机多为针孔相机(Pinhole camera),也就是大家熟知的小孔成像理论.将其中涉及的坐标系之间的相互转换抽离出来,即为针孔相机模型的核心. 上图所示的 ...

  6. Camera Calibration 相机标定:Opencv应用方法

    本系列文章由 @YhL_Leo 出品,转载请注明出处. 文章链接: http://blog.csdn.net/yhl_leo/article/details/49427383 Opencv中Camer ...

  7. 【视频开发】【计算机视觉】相机标定(Camera calibration)原理、步骤

    相机标定(Camera calibration)原理.步骤 author@jason_ql(lql0716)  http://blog.csdn.net/lql0716 在图像测量过程以及机器视觉应用 ...

  8. 相机标定:PNP基于单应面解决多点透视问题

              利用二维视野内的图像,求出三维图像在场景中的位姿,这是一个三维透视投影的反向求解问题.常用方法是PNP方法,需要已知三维点集的原始模型. 本文做了大量修改,如有不适,请移步原文:  ...

  9. 相机标定简介与MatLab相机标定工具箱的使用(未涉及原理公式推导)

    相机标定 一.相机标定的目的 确定空间物体表面某点的三维几何位置与其在图像中对应点之间的相互关系,建立摄像机成像的几何模型,这些几何模型参数就是摄像机参数. 二.通用摄像机模型 世界坐标系.摄像机坐标 ...

随机推荐

  1. HDU 1028 Ignatius and the Princess III(母函数整数拆分)

    链接:传送门 题意:一个数n有多少种拆分方法 思路:典型母函数在整数拆分上的应用 /********************************************************** ...

  2. 2、使用Python3爬取美女图片-网站中的妹子自拍一栏

    代码还有待优化,不过目的已经达到了 1.先执行如下代码: #!/usr/bin/env python #-*- coding: utf-8 -*- import urllib import reque ...

  3. MySQL主从宕机的解决方法

    测试系统:centos6.5系统 测试环境IP地址划分: master: 192.168.80.130 slave:192.168.80.143 slave:192.168.80.146 首先模拟(M ...

  4. Could not find result map java.util.HashMap

    Could not find result map java.util.HashMap 找不到结果图java.util.HashMap MyBatis 找不到返回的 'resultMap'!把resu ...

  5. js常用特效-幻灯片

    <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title> ...

  6. ThinkPHP 跨模块调用操作方法(A方法与R方法)

    ThinkPHP 跨模块调用操作方法(A方法与R方法) 跨模块调用操作方法 前面说了可以使用 $this 来调用当前模块内的方法,但实际情况中还经常会在当前模块调用其他模块的方法.ThinkPHP 内 ...

  7. fensorflow 安装报错 DEPENDENCY ERROR

    1.错误信息 DEPENDENCY ERROR The target you are trying to run requires an OpenSSL implementation. Your sy ...

  8. spring mvc拦截器interceptor

    1.  SpringMVC 中的Interceptor 拦截器也是相当重要和相当有用的,它的主要作用是拦截用户的请求并进行相应的处理.比如通过它来进行权限验证,或者是来判断用户是否登陆,或者是像123 ...

  9. Android UI布局之TableLayout

    从字面上了解TableLayout是一种表格式的布局.这样的布局会把包括的元素以行和列的形式进行排列.表格的列数为每一行的最大列数.当然表格里边的单元格是能够为空的. 实例:LayoutDemo 执行 ...

  10. Perl怎样过滤html标签

    比方一串字符串 <div><b>123</b></div> 假设仅仅想拿到123怎么办呢? 用perl的正則表達式能够非常easy的做到. $str = ...