zoukankan      html  css  js  c++  java
  • 各种经典透镜投影模型

    各种经典透镜投影模型

    Models for the various classical lens projections

    鱼眼镜片与其他镜片同等重要

    where fisheye lenses are considered on an equal footing with the others

    一.前言

    为了简化和清晰本文,摄影图像都假设是完全旋转对称的,并由折射光学产生。实际上,对于绝大多数摄影和全景(即非摄影测量)目的,这种假设现在可能是有效的。此外,矩形图像捕获设备(例如数字传感器)的中心此后假定在透镜光轴上。事实上,这并不总是正确的:即使在高端摄影齿轮上也可能存在轻微的偏心。它经常被留下,因为这一缺陷在休闲摄影中没有真正的后果,也不被视为真正的缺陷。但是,在全景成像(拼接)工作流程的优化阶段,应考虑可能的偏心,并可能进行数字校正。              

    本文从根本上假设存在一个连接物体空间和入射光线会聚的像面(在经典透视投影中称为透视中心)的单点和不动点。这种简化(以最简单的方式)模拟了透镜折射产生的复杂路径。当不涉及光圈和焦距设置时,例如当感兴趣的对象点位于距镜头“特定”距离时,这个重要的近似值肯定是有效的。例如,根据入射光的角度,多透视点相机系统、非中心相机系统和狭缝相机系统不考虑入射光瞳孔的移动。             

    对各种经典透镜投影进行了定性和经验描述。高级投影建模:对本文的补充。自20世纪90年代初以来,为适应三维场景建模等需要,人提出并发展了多种镜头建模方法,。特别是,参数多项式模型(在许多非常不同的形式下)目前被非常有效地用于摄影镜头评估、图形计算机视觉、机器人工程、全景成像(例如。。。全景拼接)等。这些不同的方法的优点是允许模型描述在至少所有的折射透镜中进行可能的推广。

    二.绘制透镜投影图(用一点三角法)             

    基本原则

     三.经典透镜投影             

    模型经典分类法毫无疑问是纯粹的传统分类法(也就是说:任意分类法),但它是一种非常聪明的简化方法,其优点是可以用各种简单的数学公式很好地匹配每个模型。它的发明是为了清楚地区分它之间一些孤立的典型摄影镜头“概念”。这已成为事实上的标准。              将上述原理应用于五个著名的具体案例,得到以下图表:

    四.等价关系

    对图形的颜色使用相同的约定,上面的基本图形与下面的图形等效:

    这些图说明了从图像中心到图像点(在图像平面中)的距离r(unit=“f”)是从镜头纵轴到相应感兴趣点(在对象空间中)测量的角度θ的函数。             

    “标准”(即中心透视或直线)无畸变投影的公式为r=f tanθ。             

    大多数摄影镜头都属于第一种投影,它将物体空间中的直线渲染为图像平面上的直线。。。尽管许多人或多或少地受到几何畸变的影响,如畸变(即桶、针垫或“胡子”)。             

    鱼眼镜头通常用于拍摄多幅图像,这些图像应缝合成球形全景图。有各种各样的光学结构,但鱼眼图像投影的三角公式通常是由对应于数学函数的语言表达式任意定义的。这样的经典分类是:             

    赤平投影:r=2f tan(θ/2)             

    等距(又称等角)投影:r=fθ             

    等立体角(又称等面积)投影:r=2f sin(θ/2)             

    正投影(又称正弦定律):r=f sin(θ)

    五.鱼眼透镜径向映射的说明             

    Q: 除了经典模型外,鱼眼镜头是否有任何可能的数学径向映射函数?             

    R: 当然,例如,图表绘图区域中曲线之间的空白可以用其他曲线填充,这些曲线将描述中间的“无名称”模型!             

    应该注意到,虽然早在20世纪60年代,人就可以找到一些关于特殊光学概念的信息量非常大的技术文献,但大多数文献很少真正构建出来。无论如何,鱼眼镜头一般很少被用来拍摄科学静态照片以外的东西。。。在数字技术出现并在20世纪90年代改变了游戏规则和游戏规则之前……之前提出的简化分类法(仅包含五个类别)自然可以完成:没有理由将整个图形平面[r;θ]仅限于一些离散的图。绘图区域可以是连续的,也可以是平滑过渡的。例如,在下图中的“经典五点图”中添加了三个补充图。可以称之为(图表上从左到右):巨大的针垫、桶形畸变和亚立体图)

     对一些真实的透镜进行了实验测量。下面是r=f(θ)图,这些镜头在全景摄影师群体中很受欢迎。

     重要提示             

    沿垂直坐标轴是距离中心的距离,但不同于上面的其他绘图,它不除以焦距!水平轴(θ)的跨度从负到正,以简化极性表示:入射角不应有任何符号,因为存在旋转对称性(相反,辅助极性角Ψ允许完成整个物体球体)             

    六. 5个经典投影的方法             

    可以使用新方法绘制表示经典投影的图表:             

    可以选择另一个不是直线的投影作为参考。绘制不以θ为显式变量的图形,例如通过计算图像的一个图像点与径向距离ru的参考投影函数中的对应点之间的径向距离差ru rd。可以在下表右侧的两个图表上看到。

    入射光角θ的径向距离r函数Radial distance r function of incident light angle θ

    这是r=θ函数最常见的正则表示。这个演示通常是这样做的:它是科学文献中最常见的解释“各种镜头投影”的方法。本文介绍了五种不同的经典非参数投影,它是光线进入透镜的入射角的函数。在所有其他投影的中间有一条直线(黑色),等距投影可能看起来是所有投影中的“中间寄存器”。。。但传统、人类的视觉和良好的判断力都告诉,直线投影实际上是正常的统治标准。记住:直线必须是直线!             

    θ/2(90°非对称垂直线)是将直线世界与鱼眼世界分开的硬极限,但与它的同级不同的是,正投影不能越过这条边界线:π/2确实是最终可能的入射角极限。曲线靠近端点的斜率的水平性表示对圆形边界附近图像的巨大压缩。。。

    相对于任意投影的径向距离偏差,沿图像半径。

    对于沿图像半径(并除以焦距)的五个经典投影中的每一个,报告与理想鱼眼等距投影(r=f*θ)的径向偏差(除以焦距)。             

    这里可以清楚地看到,传统的投影分类法倾向于从单一的透视投影中分离出一个组(“鱼眼”)。这一观察结果很重要:针对两个系列,用于校正图像的理想投影可能需要不同。             

    透视(失真校正)             

    鱼眼(图像投影转换)             

    在处理这两种不同的情况时,可能必须使用不同的校正模型。

    这里报告沿图像半径(并除以焦距)的五个投影中的每一个投影与理想直线投影(rd=f*θ)的径向偏差(除以焦距)。这说明了优化鱼眼图像全景拼接的主要方法。这可能是因为全景软件的性能(精度和稳定性)的“最佳点”(接近水平坐标轴),当需要缝合鱼眼图像来渲染完整的球形全景图时。。。。             

    ... 幸运的是,大多数鱼眼镜片都是这种(等立体角)。相反,当使用远离“理想”投影(等距)的鱼眼镜头时,可以期望更高的RMS控制点距离误差。

     关于焦距的评论              

    即使焦距已知相同,两个透镜之间的视场(FoV)也可能有很大的差异:不同的投影和相同的焦距==>不同的FoV,除非光学/机械渐晕造成另一个严格的限制。。。。              注意,当垂直坐标未标准化(例如在这些其他图上)并且θ非常小时,当一组不同的被考虑透镜的焦距相同时,所有曲线(包括直线)在一条直线上重合(r=k fθ)。换句话说:所有焦距相同的图像在圆形图像的中心附近共享相同的摄影放大率。所有的图像“看起来都一样”。这是一种定义和测量焦距的方法。。。             

    七.焦距的对角线角度(在APS-C和全帧传感器上)功能

     

     这些图显示了最终可以沿着数字传感器对角线捕获的理论视角。来自真实相机的图像通常受到透镜结构内的光学渐晕的限制,视场不超过180°到195°取决于投影类型。

    八.其他主题             

    Q: “扭曲”影响鱼眼吗?             

    R: 依看,不,但这是可以争论的。失真不应该是一个没有补充说明的词,即使这是在大多数相关文献中做的(也不得不做了几次,只是为了确保被理解)。鱼眼的变形对普通摄影师来说往往具有退火的美学意义,但应该向他解释,这种“变形”绝对是一种有意无意的绝对特征,是一种相当有力的工具。             

    然而,“畸变”这个词的正式定义是测量对“标准”(即直线)透镜产生负面影响的几何畸变。鱼眼镜头是特意设计来产生具有弯曲线条的图像的,而这些线条本来应该与标准镜头是直线的。除了一些非摄影用途,平面图像上的弯曲边缘和线条没有“问题”。在积极的一面,它可以产生非常大的视场角,这是不可能用标准镜头得到的。鱼眼投影偏离直线投影(反之亦然)。但偏差并不是扭曲。             

    在正式的ISO 9039:2008(E)<<光学和光子学-光学系统的质量评估-失真的测定>>,人可以在导言中看到:一般来说,旋转对称光学系统的功能是形成一个与物体几何相似的图像,除了一些特殊的系统,如鱼眼镜片和目镜,这种情况是故意不保持的。理想情况下,该功能是根据透视投影的几何结构来实现的。偏离理想的图像几何结构称为不连续。(…)。本文有意避免在涉及鱼眼镜头时正式禁止或不鼓励称为“失真”,这是遗憾:虽然使用鱼眼镜头“失真”的官方标准定义显然是没有意义的,但这是(而且仍然是)经常做的,包括在许多最近的著名专利中文件。IMO的“畸变”应该明确地限制在直线透镜上。             

    当这一切都说出来的时候,事情有时就变得不那么简单了。有一个坚定和明确的意见和判断并不总是可行的。让举一个例子来演示:鱼眼镜头设置在裁剪相机传感器上的长焦(例如28毫米,smc Pentax 1/3.5-4.5;17-28毫米)上拍摄的图像与28毫米受桶形失真影响的直线镜头拍摄的图像和安装在全帧相机上的图像有很大不同吗?必须承认,在这样的条件下,差别可能是微乎其微的。。。             

    Q: 一个真正的鱼眼镜头也会受到复杂的“偏离标准”的影响吗?             

    R: 是的。像标准的“失真”直线透镜一样,鱼眼透镜可能会受到复杂的径向映射的影响,这与任何简单的“经典”鱼眼模型都有很大的不同。             

    许多直线透镜受到相当大的畸变影响。这种几何像差可以是桶形的(广角镜头最受关注)。它也可以是针垫失真(远距镜头是最关心的),但也可以经常观察到复杂的混合失真(即“胡子”失真)的图像拍摄与许多现代非常广角直线镜头。没有理由假设鱼眼透镜也不存在标准透镜上观察到的相同的可能复杂性,特别是最近在一些设计中引入了非球面透镜元件。。。。这种复杂的映射不能用“简单”的经典三角函数来建模,因此高次多项式函数可以更好地拟合。但那是另一个故事。             

    关于失真“标准”:事实上,它都在对失真图像边缘附近的三个像素进行简单的线性近似,这些当前的“标准”方法甚至不能在“胡子”或直线镜头的“波浪”失真的情况下提供正确的信息。

  • 相关阅读:
    React之react-router(connected-react-router/react-router-dom)
    React之redux学习日志(redux/react-redux/redux-saga)
    React之常用技术栈
    js书写规范
    Mybatis plus 常用更新操作
    Mybatis plus 常用删除方式
    Mybatis plus 实体类常用注解
    spring boot 单元测试
    mybatis plus 添加启用打印日志
    Lombok插件优缺点
  • 原文地址:https://www.cnblogs.com/wujianming-110117/p/13026790.html
Copyright © 2011-2022 走看看