视觉定位系统原理——基础矩阵

时间:2022-09-24作者:佚名

  介绍基础矩阵我们先说一下对积几和

  对极几何一定是对二幅图像而言,对极几何实际上是“两幅图像之间的对极几何”,它是图像平面与以基线为轴的平面束的交的几何(这里的基线是指连接摄像机中心的直线),以下图为例:对极几何描述的是左右两幅图像(点x和x’对应的图像)与以CC’为轴的平面束的交的几何!

视觉定位系统原理——基础矩阵

  直线CC’为基线,以该基线为轴存在一个平面束,该平面束与两幅图像平面相交,下图给出了该平面束的直观形象,可以看到,该平面束中不同平面与两幅图像相交于不同直线;

视觉定位系统原理——基础矩阵

  上图中的灰色平面π,只是过基线的平面束中的一个平面(当然,该平面才是平面束中最重要的、也是我们要研究的平面);

  epipolarpoints极点

  每一个相机的透镜中心是不同的,会投射到另一个相机像面的不同点上。这两个像点用eL和eR表示,被称为epipolarpoints极点。两个极点eL、eR分别与透镜中心OL、OR在空间中位于一条直线上。

  epipolarplane极面

  将X、OL和OR三点形成的面称为epipolarplane极面。

  epipolarline极线

  直线OL-X被左相机看做一个点,因为它和透镜中心位于一条线上。然而,从右相机看直线OL-X,则是像面上的一条线直线eR-XR,被称为epipolarline极线。从另一个角度看,极面X-OL-OR与相机像面相交形成极线。

  极线是3D空间中点X的位置函数,随X变化,两幅图像会生成一组极线。直线OL-X通过透镜中心OL,右像面中对应的极线必然通过极点eR。一幅图像中的所有极线包含了该图像的所有极点。实际上,任意一条包含极点的线都是由空间中某一点X推导出的一条极线。

  如果两个相机位置已知,则:

  1.如果投影点XL已知,则极线eR-XR已知,点X必定投影到右像面极线上的XR处。这就意味着,在一个图像中观察到的每个点,在已知的极线上观察到该点的其他图像。这就是Epipolarconstraint极线约束:X在右像面上的投影XR必然被约束在eR-XR极线上。对于OL-XL上的X,X1,X2,X3都受该约束。极线约束可以用于测试两点是否对应同一3D点。极线约束也可以用两相机间的基本矩阵来描述。

  2.如果XL和XR已知,他们的投影线已知。如果两幅图像上的点对应同一点X,则投影线必然交于X。这就意味着X可以用两个像点的坐标计算得到。

  如果已知基础矩阵F,以及一个3D点在一个像面上的像素坐标p,则可以求得在另一个像面上的像素坐标p‘。这个是基础矩阵的作用,可以表征两个相机的相对位置及相机内参数。

视觉定位系统原理——基础矩阵

  面具体介绍基础矩阵与像素坐标p和p’的关系。

  以O1为原点,光轴方向为z轴,另外两个方向为x,y轴可以得到一个坐标系,在这个坐标系下,可以对P,p1(即图中所标p),p2(即图中所标p‘)得到三维坐标,同理,对O2也可以得到一个三维坐标,这两个坐标之间的转换矩阵为[RT],即通过旋转R和平移T可以将O1坐标系下的点P1(x1,y1,z1),转换成O2坐标系下的P2(x2,y2,z2)。

  则可知,P2=R(P1-T)(1)

  采用简单的立体几何知识,可以知道

  

  其中,p,p‘分别为P点的像点在两个坐标系下分别得到的坐标(非二维像素坐标)。Rp’为极面上一矢量,T为极面上一矢量,则两矢量一叉乘为极面的法向量,这个法向量与极面上一矢量p一定是垂直的,所以上式一定成立。(这里采用转置是因为p会表示为列向量的形式,此处需要为行向量)

  采用一个常用的叉乘转矩阵的方法,

  

  将我们的叉乘采用上面的转换,会变成

  

  红框中所标即为本征矩阵E,他描述了三维像点p和p‘之间的关系

  

  有了本征矩阵,我们的基础矩阵也就容易推导了,

  注意到将p和p‘换成P1和P2式(4)也是成立的,且有

  q1=K1P1(6)

  q2=K2P2(7)

  上式中,K1K2为相机的校准矩阵,描述相机的内参数q1q2为相机的像素坐标代入式(4)中,得

  

  上式中p->q1,p‘->q2

  这样我们就得到了两个相机上的像素坐标和基础矩阵F之间的关系了

  

  二、不同图像对的基础矩阵

  代码

  # coding: utf-8

  # In[1]:

  from PIL import Image

  from numpy import *

  from pylab import *

  import numpy as np

  # In[2]:

  from PCV.geometry import homography, camera, sfm

  from PCV.localdescriptors import sift

  # In[5]:

  # Read features

  im1 = array(Image.open('im1.jpg'))

  sift.process_image('im1.jpg', 'im1.sift')

  im2 = array(Image.open('im2.jpg'))

  sift.process_image('im2.jpg.', 'im2.sift')

  # In[6]:

  l1, d1 = sift.read_features_from_file('im1.sift')

  l2, d2 = sift.read_features_from_file('im2.sift')

  # In[7]:

  matches = sift.match_twosided(d1, d2)

  # In[8]:

  ndx = matches.nonzero()[0]

  x1 = homography.make_homog(l1[ndx, :2].T)

  ndx2 = [int(matches[i]) for i in ndx]

  x2 = homography.make_homog(l2[ndx2, :2].T)

  d1n = d1[ndx]

  d2n = d2[ndx2]

  x1n = x1.copy()

  x2n = x2.copy()

  # In[9]:

  figure(figsize=(16,16))

  sift.plot_matches(im1, im2, l1, l2, matches, True)

  show()

  # In[10]:

  #def F_from_ransac(x1, x2, model, maxiter=5000, match_threshold=1e-6):

  def F_from_ransac(x1, x2, model, maxiter=5000, match_threshold=1e-6):

  """ Robust estimation of a fundamental matrix F from point

  correspondences using RANSAC (ransac.py from

  /Cookbook/RANSAC).

  input: x1, x2 (3*n arrays) points in hom. coordinates. """

  from PCV.tools import ransac

  data = np.vstack((x1, x2))

  d = 10 # 20 is the original

相关阅读

提升卧轴矩台平面磨床加工效率的有效策略

  卧轴矩台平面磨床作为金属加工行业的核心设备,其加工效率直接影响到生产线的整体性能。为了提升卧轴矩台平面磨床的加工效率,以下几点策略至关重要。   一、优化磨削工...
2024-07-16

德国Mahr 马尔 MarSurf Engineered 1100 测量站优势

工程解决方案 MarSurf Engineered Series 1100 能够对小型组件进行快速且高准确度的序列测量是 MarSurf Engineered 系列 1100 测量站的优势之一。因为有可容纳最多六种不同工件支架的专用转台,所...
2023-09-01
德国Mahr 马尔 MarSurf Engineered 1100 测量站优势

双头数控车床适用于加工什么材料

双头数控车床是一种非常常见的机床,通常用于加工轴类零件和棒状零件,但适用的加工材料有哪些呢?下面就来简单介绍一下相关的内容。 双头数控车床通常适用于加工高强度金属材...
2024-03-16

单轴动力头升级指南:提高精度和性能的技巧

在机械加工领域,单轴动力头是实现精确加工的关键组件。随着技术的发展和制造要求的提高,不断升级和优化 单轴动力头 成为提升机床性能的重要途径。本文将探讨一些实用的技巧...
2024-03-14
单轴动力头升级指南:提高精度和性能的技巧

比强度!?设备轻量化的新指标 【更小、更轻】

  目次   1.轻量化的好处   2.什么是比强度?   3.强度和比强度的区别   4.NBK标准品 不同材料的比强度   5.推荐产品   轻量化的好处   (jìn)年来,...
2024-06-27
比强度!?设备轻量化的新指标 【更小、更轻】

热销商品

手术衣一次性防护服打农药防尘实验服参观服加厚透气无纺布隔离衣

手术衣一次性防护服,作为一种重要的医疗防护用品,广泛应用于医院、实验室等场所。它采用加厚透气无纺布制成,具有优良的防尘、防污、防病毒能力,能有效保护医护人员免...
14

欧普照明led灯泡e27/e14大小螺口超亮家用节能灯螺旋暖白光球泡

欧普照明LED灯泡,适用于E27和E14两种常见螺口,是您家用照明的理想选择。这款灯泡采用先进LED技术,亮度超群,瞬间点亮,无需等待,为您提供明亮舒适的光环境。同时,它节能环...
3.59

LED柜内照明灯 AC220V 4W 7W配电箱导轨式 LL10-W 高压柜内照明灯

LED柜内照明灯AC220V 4W/7W配电箱导轨式LL10-W是一款专为高压柜、配电箱等封闭电气设备设计的紧凑型照明产品。采用高效LED光源,功耗低(4W/7W可选),亮度高,寿命长,节能...
7

密封胶条包邮耐磨耐高温耐腐蚀圆柱棒丁晴/氟胶实心硅胶胶条红色

本品采用优质丁腈橡胶(NBR)或氟橡胶(FKM)及实心硅胶材质制成,呈红色圆柱棒状,具备卓越的耐磨、耐高温(-40℃至+200℃以上,氟胶可达250℃)、耐腐蚀性能,适用于酸、碱、油类等...
1

小木锤木锤子实木木榔头圆头木锤实木棰木头锤子木柄锤黄檀手工锤

小木锤采用优质黄檀木精心打造,通体实木结构,质地坚硬、纹理细腻,手感温润舒适。圆头设计兼顾敲击与整形功能,适用于木工、雕刻、家具组装及日常维修等场景。木柄经精...
3.4

网站栏目