用于生成表示像素束的数据的方法和装置与流程

文档序号:15072621发布日期:2018-08-01 00:14阅读:149来源:国知局

本发明涉及表示光场的数据的生成。



背景技术:

由anatlevin等人在eccv2008的会议论文集中发表的文章“understandingcameratrade-offsthroughabayesiananalysisoflightfieldprojections”中解释可以被视为四维光场的采样(即光线的记录)的四维或4d光场数据的采集,是热门研究课题。

与从相机获得的典型二维或2d图像相比,4d光场数据使得用户能够访问更多的增强图像的呈现和与用户的交互性的后处理特征。例如,对于4d光场数据,能够使用自由选择的聚焦距离执行图像的重新聚焦,这意味着焦平面的位置可以被后验地指定/选择,以及稍微改变图像的场景中的视点。为了获取4d光场数据,可以使用若干技术。例如,全光照相机能够获取4d光场数据。图1a中提供全光相机的架构的细节。图1a是示意性表示全光相机100的图。全光相机100包括主透镜101,包括布置成二维阵列的多个微透镜103的微透镜阵列102和图像传感器104。

获取4d光场数据的另一方式是使用图1b中描绘的相机阵列。图1b表示多阵列相机110。多阵列相机110包括透镜阵列112和图像传感器114。

在如图1a所示的全光相机100的示例中,主透镜101接收来自主透镜101的物场中的物体(图中未示出)的光,并使光通过主透镜101的图像场。

最后,获取4d光场的另一方式是使用配置成在不同焦平面上捕捉同一场景的2d图像序列的传统相机。例如,j.-h.park等人发表于opticsexpress,卷22,第21号,2014年10月的文献“lightrayfieldcaptureusingfocalplanesweepinganditsopticalreconstructionusing3ddisplays”中描述的技术,可以用于实现借助传统相机获取4d光场数据。

存在表示4d光场数据的若干方式。事实上,在renng在2006年7月发表的题为“digitallightfieldphotography”的博士学位论文的3.3章中,描述表示4d光场数据的三种不同方式。首先,当由全光照相机通过采集微透镜图像记录时,可以表示4d光场数据。该表示中的4d光场数据被命名为原始图像或原始4d光场数据。其次,当由全光相机或相机阵列通过一组子孔径图像记录时,可以表示4d光场数据。子孔径图像对应于来自视点的场景的捕获图像,该视点在两个子孔径图像之间略微不同。这些子孔径图像给出关于成像场景的视差和深度的信息。第三,可以通过一组核线图像表示4d光场数据,例如参见s.wanner等人发表在isvc2011的会议论文集中的标题为“generatingepirepresentationofa4dlightfieldswithasinglelensfocusedplenopticcamera”的文章。光场数据可能占用大量的贮存空间,这可能使得存储繁琐且处理效率低。此外,光场获取设备是极其异构的。光场相机有不同类型,例如全光或相机阵列。在每个类型中都存在许多差异,诸如不同光学布置或不同焦距的微透镜。每个相机有其自身的专有文件格式。目前,没有支持多维信息的获取和传输的标准,针对光场依赖的不同参数的穷尽性概述。如此,用于不同相机的获取的光场数据具有多种格式。考虑到前述内容已经设计出本发明。



技术实现要素:

根据本发明的第一方面,提供一种用于分类被称为生成射线的光线的集合的计算机实现的方法,所述集合的每个生成射线在光学获取系统的物体空间中,通过围绕一体积的回转轴进行旋转来生成所述体积的表面,所述体积的表面由通过所述光学获取系统的光瞳和所述光学获取系统的传感器的至少一个像素的共轭的一组光线占据,所述体积由被称为像素束的该组光线占据,方法包括:

-对于至少一个像素束,选择生成与参考直线交叉的所述像素束的表面的生成射线,

-生成包括选择的生成射线的所分类的生成射线的集合。

根据本发明的一个实施例,在用于分类光线的集合的方法中,由生成射线生成的像素束的表面是单页双曲面。

根据本发明的一个实施例,在用于分类光线的集合的方法中,参考直线平行于光学获取系统的主透镜的光轴。

根据本发明的一个实施例,在用于分类光线的集合的方法中,参考直线平行于光学获取系统的透镜阵列的中心轴。

根据本发明的一个实施例,在用于分类光线的集合的方法中,选择生成射线在于:

-通过将用于定义属于生成射线的集合的所述像素束的另一生成射线的矢量与旋转矩阵相乘,计算用于定义选择的生成射线的矢量的坐标,

-由于所选择的生成射线和所述参考直线相互交叉,所以选择的生成射线和参考直线之间的距离等于零,基于用于定义所选择的生成射线和所述参考直线的矢量和所述点,计算旋转矩阵的旋转角度的值。

本发明的另一目的是一种用于在光学获取系统的物体空间中生成表示一体积的数据的方法,所述体积由通过所述光学获取系统的光瞳和所述光学获取系统的传感器的至少一个像素的共轭的一组光线占据,所述体积由被称为像素束的该组光线占据,方法包括:

-获取被称为生成射线的第一光线集合和第二光线集合,生成射线的所述集合的每个生成射线通过围绕所述像素束的回转轴旋转来生成像素束的表面,所述像素束的回转轴是属于第一光线集合的光线;

-计算用于定义给定像素束的生成射线和回转轴与多个给定参考平面的相交的相交数据,所述参考平面彼此平行且对应于物体空间中的不同深度;

-获得用于定义2d射线图中的相交数据的图形表示的射线图参数,以提供表示所述像素射束的数据。

根据本发明的一个实施例,在用于生成表示像素束的数据的方法中,对应于生成射线和回转轴的相交数据在射线图中被图形表示为数据线,并且射线图参数包括表示以下至少一项的数据:

-数据线的斜率;和

-数据线与射线图的轴线的相交点。

根据本发明的一个实施例,在用于生成表示像素束的数据的方法中,表示所述像素束的数据还包括表示对应的第二生成射线和回转轴的颜色的颜色数据。

根据本发明的一个实施例,在用于生成表示像素束的数据的方法中,获取的生成射线的集合根据用于生成表示像素束的数据的方法获得。

本发明的另一目的关注一种用于分类被称为生成射线的光线的集合的装置,所述集合的每个生成射线在光学获取系统的物体空间中,通过围绕一体积的回转轴旋转来生成所述体积的表面,所述体积由通过所述光学获取系统的光瞳和所述光学获取系统的传感器的至少一个像素的共轭的一组光线占据,所述体积由称为像素束的该组光线占据,所述装置包括处理器,该处理器配置为:

-对于至少一个像素束,选择生成与参考直线交叉的所述像素束的表面的生成射线,

-生成包括选择的生成射线的分类的生成射线的集合。

根据本发明的一个实施例,用于分类光线的集合的装置的处理器配置为:

通过以下方式选择生成射线

-通过将定义属于生成射线的集合的所述像素束的另一生成射线的矢量与旋转矩阵相乘,来计算用于定义选择的生成射线的矢量的坐标,

-选择的生成射线和参考直线之间的距离由于所选择的生成射线和所述参考直线相互交叉而等于零,基于用于定义所选择的生成射线和所述参考直线的矢量和点,来计算旋转矩阵的旋转角度的值。

本发明的另一目的关注一种用于在光学获取系统的物体空间中生成表示一体积的数据的装置,所述体积由通过所述光学获取系统的光瞳和所述光学获取系统的传感器的至少一个像素的共轭的一组光线占据,所述体积由被称为像素束的该组光线占据,该装置包括处理器,该处理器配置为:

-获取被称为生成射线的第一光线集合和第二光线集合,生成射线的所述集合的每个生成射线通过围绕所述像素束的回转轴旋转来生成像素束的表面,所述像素束的回转轴是属于第一光线集合的光线;

-计算用于定义给定像素束的生成射线和回转轴与多个给定参考平面的相交的相交数据,所述参考平面彼此平行且对应于物体空间中的不同深度;

-获得定义2d射线图中的相交数据的图形表示的射线图参数,以提供表示所述像素束的数据。

根据本发明的一个实施例,用于生成表示像素束的数据的装置的处理器,根据权利要求1-5中任一项的方法获得生成射线的获取的集合。

本发明的另一目的是一种光场成像设备,包括:

-以规则格点结构排列的微透镜的阵列;

-光电传感器,配置为从微透镜的阵列捕获投射在光电传感器上的光,光电传感器包括多组像素,每组像素与微透镜的阵列中的相应微透镜在光学上关联;以及

-根据权利要求8提供元数据的设备。

本发明的另一目的是一种数字文件,包括在光学获取系统的物体空间中表示一体积的数据,所述体积由通过所述光学获取系统的光瞳和所述光学获取系统的传感器的至少一个像素的共轭的一组光线占据,所述体积由被称为像素束的该组光线占据,所述数据包括:

-射线图参数,用于定义被称为生成射线的第一光线和第二光线的相交数据的2d射线图中的图形表示,所述生成射线通过围绕另一光线旋转生成像素束的表面,所述另一光线是所述像素束的回转轴,相交数据定义生成射线和像素束的回转轴与多个给定参考平面的相交,所述参考平面彼此平行且对应于物体空间中的不同深度;

-颜色数据,用于定义生成射线和像素束的回转轴的颜色。

由本发明的要素实现的一些处理可以由计算机实现。因此,这样的要素可以采取完全硬件实施例、完全软件实施例(包括固件、驻留软件、微代码等)或组合软件和硬件方面的实施例的形式,其可以在本文中全部通称为“电路”、“模块”或“系统”。此外,这样的要素可以采取体现在介质中的计算机可用程序代码的任何有形的表达介质中的计算机程序产品的形式。

因为本发明的要素可以以软件来实现,所以本发明可以体现为用于在任何合适的载体介质上提供给可编程装置的计算机可读代码。有形载体介质可以包括诸如软盘、cd-rom、硬盘驱动器、磁带设备或固态存储器设备等的贮存介质。瞬态载体介质可以包括诸如电信号、电子信号、光信号、声信号、磁信号或电磁信号(例如,微波或rf信号)之类的信号。

附图说明

现在将仅以举例的方式并参考以下附图来描述本发明的实施例,在附图中:

图1a是示意性表示全光相机的图;

图1b表示多阵列相机;

图2a是根据本发明实施例的光场相机的功能图;

图2b是根据本发明实施例的光场数据格式化器和光场数据处理器的功能图;

图3是在光电传感器阵列上形成的原始光场图像的示例;

图4表示在相机或光学获取系统的光学系统的物体空间中由一组光线占据的体积;

图5表示单页双曲面;

图6a是例示根据本发明的一个或多个实施例的用于分类像素束的生成射线的设备的模块的功能框图;

图6b是例示根据本发明的一个或多个实施例的用于分类像素束的生成射线的方法的步骤的流程图;

图7a和图7b图示地例示根据本发明的一个或多个实施例的参考平面用于参数化光场数据;

图8示意性例示根据本发明的实施例的相对于参考平面的光场射线的表示;

图9a是例示根据本发明的一个或多个实施例的方法的步骤的流程图;

图9b是例示根据本发明的一个或多个实施例的用于提供光数据格式的设备的模块的功能框图;

图10示意性例示根据本发明的实施例的用于表示光场射线的参数;

图11是图示例示根据本发明的实施例的相交数据的2d射线图;

图12图示例示根据本发明的实施例生成的数字线;

图13图示例示根据本发明的实施例生成的数字线;

图14a-14c图示例示根据本发明的实施例的应用于数字线的radon变换;以及

图15是图示例示根据本发明的实施例的多个相机的相交数据的二维射线图;

图16表示高斯束的几何形状。

具体实施方式

如本领域技术人员将认识,本原理的各方面可以体现为系统,方法或计算机可读介质。因此,本原理的方面可以采取完全硬件实施例、完全软件实施例(包括固件、驻留软件、微代码等)或组合软件和硬件方面的实施例的形式,其一般可以在本文称为“电路”、“模块”或“系统”。此外,本原理的各方面可以采取计算机可读贮存介质的形式。可以利用一个或多个计算机可读存储介质的任何组合。

本发明的实施例提供用于进一步的处理应用,诸如格式转换、重新聚焦、视点改变和3d图像生成,的光场数据的格式化。

图2a是根据本发明的实施例的光场相机设备的框图。根据图1a的光场相机,光场相机包括孔径/快门202、主(物)透镜201、微透镜阵列210和光电传感器阵列220。在一些实施例中,光场相机包括快门释放装置,该快门释放装置被激活以捕获对象或场景的光场图像。应认识到,功能特征也可以应用于图1b的光场相机。

光电传感器阵列220提供由lf数据获取模块240获取的光场图像数据,用于由光场数据格式化模块250生成光场数据格式和/或由光场数据处理器255处理。根据本发明的实施例,可以在获取之后和处理之后将光场数据以原始数据格式存储在存储器290中,作为子孔径图像或焦堆叠,或者以光场数据格式存储在存储器290中。

在例示的示例中,光场数据格式化模块150和光场数据处理器255被布置或集成到光场相机200中。在本发明的其他实施例中,光场数据格式化模块250和/或者光场数据处理器255可以设置在光场捕获相机外部的单独部件中。相对于光场图像捕获设备,独立的部件可以是本地的或远程的。将认识,可以使用任何合适的有线或无线协议来将光场图像数据传送到格式化模块250或光场数据处理器255;例如,光场数据处理器可以经由因特网、蜂窝数据网络、wifi网络、蓝牙通信协议和/或任何其他合适的方式来传递所捕获的光场图像数据和/或其他数据。

根据本发明的实施例,光场数据格式化模块250被配置为生成表示获取的光场的数据。光场数据格式化模块250可以以软件、硬件或其组合来实现。

根据本发明的实施例,光场数据处理器255被配置为对从lf数据获取模块240直接接收的原始光场图像数据进行操作,以例如生成焦堆叠或视图的矩阵。可以生成输出数据,诸如例如捕获的场景的静止图像、2d视频流等。光场数据处理器可以以软件,硬件或其组合来实现。

在至少一个实施例中,光场相机200也可以包括用户接口260,用于使用户能够提供用户输入以由控制器270控制相机100的操作。相机的控制可以包括相机的一个或多个光学参数(诸如快门速度之类)的控制,或者在可调整的光场相机的情况下,微透镜阵列和光电传感器之间的相对距离或物镜和微透镜阵列之间的相对距离的控制。在一些实施例中,可以手动调整光场相机的光学元件之间的相对距离。相机的控制也可以包括相机的其他光场数据获取参数,光场数据格式化参数或光场处理参数的控制。用户界面260可以包括任何合适的用户输入设备,诸如触摸屏、按钮、键盘、指点设备等。以这种方式,由用户接口接收的输入可以用于控制和/或配置用于控制数据格式化的lf数据格式化模块250,用于控制获取的光场数据的处理的lf数据处理器255以及用于控制光场相机200的控制器270。

光场相机包括电源280,诸如一个或多个可更换或可再充电电池。该光场相机包括存储器290,用于存储捕获的光场数据和/或呈现的最终图像或其他数据,诸如用于实现本发明的实施例的方法的软件。存储器可以包括外部和/或内部存储器。在至少一个实施例中,可以在与相机200分开的设备和/或位置处提供存储器。在一个实施例中,存储器包括可移除/可插拔的贮存设备,例如存储棒。

光场相机也可以包括显示单元265(例如,lcd屏幕),用于在捕获之前观看相机前面的场景和/或用于观看先前捕获和/或呈现的图像。屏幕265也可以用于向用户显示一个或多个菜单或其他信息。光场相机还可以包括一个或多个i/o接口295(诸如火线(firewire)或通用串行总线(usb)接口),或用于经由因特网、蜂窝数据网络、wifi网络、蓝牙通信协议和/或任何其他合适的方式进行数据通信的有线或无线通信接口。i/o接口295可以用于向诸如计算机系统或者显示单元之类的外部设备传递数据并且从诸如计算机系统或显示单元之类的外部设备传递数据,诸如由根据本发明的实施例的lf数据格式化模块生成的光场表示数据以及原始光场数据或诸如由lf数据处理器255处理的数据之类的光场数据,用于呈现应用。

图2b是例示光场数据格式化模块250和光场数据处理器253的潜在实现方式的具体实施例的框图。

电路2000包括存储器2090、存储器控制器2045和包括一个或多个处理单元(cpu)的处理电路2040。一个或多个处理单元2040被配置为运行存储在存储器2090中的各种软件程序和/或指令集以执行包括光场数据格式化和光场数据处理的各种功能。存储在存储器中的软件组件包括根据本发明的实施例的用于生成表示获取的光数据的数据的数据格式化模块(或指令集)2050和根据本发明的实施例的用于处理光场数据的光场数据处理模块(或指令集)2055。其他模块可以被包括在用于光场相机设备的应用的存储器中,诸如用于控制一般系统任务(例如,电源管理、存储器管理)以及用于便于设备2000的各种硬件和软件部件之间的通信的操作系统模块2051,以及用于控制和管理经由i/o接口端口与其他设备的通信的接口模块2052。

图3例示在图1a的光电传感器阵列104或图1b的光电传感器阵列114上形成的2d图像的示例。经常被称为表示4d光场的原始图像的2d图像由微图像mi的阵列组成,每个微图像由微透镜阵列102,112的相应微透镜(i,j)产生。微图像以由i和j轴定义的矩形格点结构排列在阵列中。微透镜图像可以由相应的微透镜坐标(i,j)来标记。光电传感器104,114的像素pi可以通过其空间坐标(x,y)来标记。与给定像素相关联的4d光场数据可被称为(x,y,i,j)。

存在若干表示(或定义)4d光场图像的方式。例如,可以通过之前参照图3描述的微透镜图像的集合来表示4d光场图像。当由全光相机通过一组子孔径图像记录时,也可以表示4d光场数据。由从每个微透镜图像中选择的相同位置的像素组成每个子孔径图像。此外,4d光场图像可以由一组核线图像表示,这不是像素束的情况。

本发明的实施例基于像素束的概念提供光场数据的表示。这样,可以考虑格式和光场设备的多样性。事实上,基于射线的格式的一个缺点是,参数化平面不得不被采样以反映像素格式和尺寸。因此,采样需要与其他数据一起定义,以便恢复物理上有意义的信息。

如图4所示,像素束40表示由相机的光学系统41的物体空间中的一组光线占据的体积。该组光线由相机的传感器43的像素42感测到通过所述光学系统41的光瞳44。与射线相反,像素束40可以被随意采样,因为它们本身递送“光学扩展量(étendue)”,其与横越物理光线的截面的能量守恒对应。

光学系统的光瞳被定义为通过所述光学系统的一部分,即,在孔径光阑之前的相机的透镜,看到的孔径光阑的图像。孔径光阑是限制通过相机的光学系统的光量的开口。例如,位于相机透镜前部附近的可调节光圈是透镜的孔径光阑。允许通过光圈的光量由光圈开口的直径控制,光圈开口的直径可以根据相机的用户希望允许的光量或者用户希望的景深适配。例如,使孔径更小减少了允许通过光圈的光量,但增加景深。由于透镜的折射作用,光阑的表观尺寸可以大于或小于其物理尺寸。形式上,光瞳是通过相机的光学系统的孔径光阑的图像。

像素束40被定义为当经由入射光瞳44传播通过光学系统41时到达给定像素42的光线束。当光在自由空间中以直线行进时,这样的像素束40的形状可以由两个部分定义,一个是像素42的共轭45,另一个是入射光瞳44。像素42由其非空表面及其灵敏度图定义。

因此,如图5所示,像素束可以由通过两个要素支撑的单叶双曲面50表示:相机的物体空间中的光瞳54和像素42的共轭55。

单叶双曲面是直纹面(ruledsurface),其可以支持光线束的概念并且与物理光束的“光学扩展量”的概念相兼容。

单叶双曲面对应于高斯束的几何形状。事实上,在光学中,高斯束是一束单色的电磁辐射,其横向磁场和电场幅度轮廓由高斯函数给出;这也暗示高斯强度轮廓。该基本的横向高斯模式描述了大多数激光器的预期输出,因为这样的光束可以聚焦到最集中的光斑上。

下面的方程假设在的所有值处具有圆形横截面的束;这可以通过注意到单个横向维度r出现来看出。

在沿束的位置处(从焦点测量),光斑尺寸参数w由下式给出

其中w0是腰部尺寸。

如图16表示,在距腰部的距离等于zr处,束的宽度w等于

虽然高斯函数的尾部实际上不达到零。这意味着远离腰部,束“边缘”是锥形。沿着该锥(其r=w(z))的线和束的中心轴(r=0)之间的角度被称为束的发散角。

然后,远离腰部的束的总角扩展度由θ=2θ给出。

因为单叶双曲面是直纹面,所以围绕双曲面的回转轴(被称为主射线)的旋转的一族直线(被称为生成射线)描述了这样的表面。双曲面的主射线和描述其表面的生成射线不相互平行并且绝不相互拦截。定义主射线和属于双曲面的生成线的族的任何生成射线的参数的知识足以定义像素束40,50。

表示像素束40,50的单页双曲面的一般方程是:

其中(x0,y0,z0)是以光瞳的中心为中心的坐标系中的像素束的腰部的中心的坐标,a,b,c分别与沿着ox,oy,oz的半轴的长度对应,其中a表示腰部沿着ox的半径;b表示沿着oy的腰部的半径,并且c定义像素束的角度孔径,并且θx,θy定义相对于光瞳44中心的入口的主射线方向。它们取决于传感器43上的像素42位置和光学系统41的光学元件。更准确地,参数θx,θy表示定义从光瞳44的中心的像素42的共轭45的方向的剪切角。在本发明的一些实施例中,a和b具有相同的值,在这些情况下,腰部具有圆形形状。

参数c定义像素束40,50的角度孔径α,并且由公式给出,或者由以下方程给出:

方程:

其中r表示光瞳半径,并且zp表示像素束的腰部在光瞳前方的位置。

然而,像素束40,50的这种表示占用大量的存储空间,因为用于存储射线的传统文件格式在于存储3d空间中的位置和方向。下文参照图9b描述用于减少存储像素束的表示所需的存储空间量的解决方案。

就本质而言,虽然主射线将表现为顺利地通过相机的微透镜阵列的微透镜中心,但生成射线在微透镜边界处遭受到更强的偏离。因此,生成射线倾向于在更大孔径角度下击中相机的主透镜。类似畸变的像差将由此干扰生成射线,而主射线受这样的像差影响较小。生成射线的该干扰使得难以运行参考图9b描述的方法,因为所述方法在有序的射线的集合的情况下工作。为此,本发明的发明人提出一种用于对相机的像素束的集合的生成射线进行分类的方法,以便将这样的分类的生成射线的集合馈送给根据图6b的方法。

图6a是示意性例示根据本发明的一个或多个实施例的用于分类相机的像素束的集合的生成射线的装置的主要模块的框图。在本发明的实施例中,这样的装置可以被嵌入光场数据格式化模块250中。

装置600包括通过总线606连接的处理器601、贮存单元602、输入设备603、显示设备604和接口单元605。当然,计算机装置600的组成元件可以通过与总线连接不同的连接来连接。

处理器601控制装置600的操作。贮存单元602存储由处理器601执行的至少一个能够分类相机的像素束的集合的生成射线的程序,以及各种数据,包括与光学获取系统的光学系统21相关的参数、由处理器601执行的计算使用的参数、由处理器601执行的计算的中间数据等。处理器601可以由任何已知和合适的硬件或软件或硬件和软件的组合形成。例如,处理器601可以由诸如处理电路的专用硬件形成,或者由诸如执行存储在其存储器中的程序的cpu(中央处理单元)之类的可编程处理单元形成。

贮存单元602可以由能够以计算机可读方式存储程序、数据等的任何合适的贮存器或构件形成。贮存单元602的示例包括诸如半导体存储器设备之类的非暂时计算机可读贮存介质以及加载到读写单元中的磁、光或磁光记录介质。程序使处理器601执行根据本公开的实施例的用于计算表示由光学系统的物体空间中的一组光线占据的体积的参数以及利用由光学获取系统捕获的图像编码这些参数的处理,如下文参考图9b描述。

输入设备603可以由键盘、诸如鼠标之类的指点设备等形成,用于由用户使用以输入命令,以使得用户选择用于生成由光学系统的物体空间中的一组光线占据的体积的参数表示的参数。输出设备604可以由显示设备形成以例如显示图形用户界面(gui),或者根据本公开的实施例生成的图像。例如,输入设备603和输出设备604可以由触摸屏面板整体形成。

接口单元605提供装置600和外部装置之间的接口。接口单元605可以通过电缆或无线通信与外部装置通信。在一个实施例中,外部装置可以是相机、或者嵌入这样的相机的便携式设备,类似移动电话、平板电脑等。

图6b是例示根据本发明的一个或多个实施例的用于分类相机的像素束的集合的生成射线的方法的步骤的流程图。

在预备步骤s601中,或者通过由从远程服务器中存储的数据文件取得这样的参数来校准相机,或者在诸如相机的存储器290或者连接到相机的闪存盘之类的本地贮存单元上,获取定义与相机的传感器的像素相关联的不同像素束的参数(x0,y0,z0),a,b,c和θx,θy。该获取或校准可以由装置600的处理器601执行。

参数(x0,y0,z0),a,b,c和θx,θy的值的计算例如通过运行程序来实现,程序能够对光线通过相机的光学系统的传播进行建模。这样的程序例如是诸如zemax,或code的光学设计程序。光学设计程序用于设计和分析光学系统。光学设计程序对通过光学系统的光线的传播进行建模;并且可以对诸如简单透镜、非球面透镜、梯度折射率透镜、镜和衍射光学元件等光学元件的效果进行建模。光学设计程序可以由装置600的处理器601执行。

在由处理器601执行的步骤s602中,去除像素束的主射线的剪切。未剪切主射线在于写入:

其给出其主射线与oz轴平行的单页双曲面:

其中是属于双曲面的表面的一个点的坐标,并且(x0,y0,z0)是所考虑像素束的腰部的中心的坐标。

在步骤s603中,处理器601计算坐标点(x0,y0,z0)上的双曲面的中心,并且然后计算双曲面的归一化,其给出:

因此方程(1)现在读为

x2+y2-z2=1(4)

未剪切然后中心化和归一化像素束恢复为使用函数以将(x,y,z)坐标变换成(x,y,z)坐标。

因为双曲面的中心轴是oz轴,所以属于该轴的两个点在(xyz)坐标系中具有以下一组坐标(0,0,0)和(0,0,1)。该双曲面的中心轴在原始坐标系(x,y,z)中变换回来是像素束的主射线ρc。

由方程(4)定义的双曲面具有两族生成射线:

·通过围绕连接第一坐标点(1,0,0)和第二坐标点(1,ζ,ζ)的直线的oz轴的旋转,对于任何(例如ζ=1)给出第一族生成射线,以及

·通过围绕连接坐标点(1,0,0)和第三坐标点(1,-ζ,ζ)的直线的oz轴旋转,对于任何给出第二族生成射线。

在原始坐标系中被变换回的这些生成射线中的任一个,可以被选择为像素束的生成射线ρg0。

在以下根据本发明的实施例的方法的描述中,在(xyz)坐标系中其坐标是(1,0,0)的g0和其坐标是(1,1,1)的i0的两个点定义(xyz)坐标系中的初始生成射线ρg0。

在步骤s604中,处理器601将如上定义的函数t应用于相机的物体空间中的参考直线δ。在本发明的一个实施例中,参考直线δ是相机的主透镜的光轴。在本发明的另一实施例中,参考直线δ是相机的透镜阵列的中心轴,在第三实施例中,参考直线δ是具有与相机主透镜的光轴形成角度小于或等于的方向的线。

参考直线δ由(x,y,z)坐标系中的坐标pδ0(xδ0,yδ0,zδ0)和pδ1(xδ1,yδ1,zδ1)的两个点定义。

在(xyz)坐标系中向pδ0和pδ1的坐标应用函数t给出:

由于像素束的主射线ρc是(xyz)坐标系中的oz轴,所以围绕主射线ρc的角度的旋转由以下旋转矩阵给出:

命名通过围绕主射线ρc旋转角度的生成射线ρg0(g0,i0)的图像,点的坐标由以下给出:

在步骤s605期间,处理器601计算旋转角度的值。

当生成射线与参考直线δ交叉时,即参考直线δ和生成射线之间的距离等于0,获得旋转角度的值。

利用以下方程

由(gellert等,1989,第538页)给出两条斜线之间的距离。

这可以写成简洁的形式:

通过定义

在当前情况下,对于

x1=pδ0并且x2=pδ1,以及并且

等于零的两条直线之间的距离恢复为计算:

在参考直线δ和生成射线的情况下:

写出其中:

给出d=0的的两个解可以通过以下求出:

判别式:∧=4.a2.b2-4.(b2-c2).(a2-c2)=4.(a2+b2-c2).c2这导致两个解:

因此,针对生成射线标识两个角度以与参考直线δ交叉。

因为对于同一双曲面存在两族生成射线,所以生成像素束的四个不同射线与参考直线△交叉,对于两族生成射线中的每一个是两个。在与参考直线交叉的四个生成射线之中选择一个生成射线。然后在步骤s606中将选择的生成射线变换回原始坐标系中。

该方法在相机的不同像素束上运行。因此,获得两个射线的集合:包括相机的像素束的主射线的第一射线集合和包括对于相机的不同像素束的与参考直线交叉的生成射线的第二射线集合。这两个射线集合用于下文描述的方法中,以提供用于表示像素束的紧凑格式。

为了提出需要较少贮存空间的存储射线的文件格式,用于参数化光场辐射的四个维度的方法可以参考图7a中例示的立方体。立方体的所有六面可用于参数化光场。为了参数化方向,可以添加平行于立方体面的第二组平面。以这种方式,可以相对于具有沿如下轴线方向的法线的六对平面定义光场:

图7b例示光场射线,例如定义穿过用于参数化的两个参考平面p1和p2的像素束的主射线或生成射线,所述两个参考平面p1和p2在位置上彼此平行并且分别位于已知深度处。光场射线在交点在深度处与第一参考平面p1相交并且在交点处在深度处与第二参考平面p2相交。这样,光场射线可以由四个坐标标识。因此,光场可以由用于参数化的一对参考平面p1,p2参数化,p1,p2在本文也称为参数化平面,每个光场射线被表示为4d射线空间中的点(x1,y1,x2,x2,)∈r4。因此,这对于相机的像素束的集合的每个主射线和每个生成射线进行。

例如,参考坐标系的原点可以放置在由坐标轴系统的基矢量生成的平面p1的中心。轴垂直于生成的平面p1,并且为了简单起见,可以将第二平面p2放置在沿着轴距平面p1的距离处。为了考虑六个不同的传播方向,整个光场可以由六对这样的平面特征化。通常被称为光板的一对平面特征化沿着传播方向与光场相机的传感器或传感器阵列相互作用的光场。

用于参数化的参考平面的位置可以如下给出:

其中是法线,d是沿着法线方向距3d坐标系的原点的偏移量。

用于参数化的参考平面的笛卡尔方程可以如下给出:

如果光场射线具有已知的位置:

和归一化传播矢量:

3d中射线的一般参数方程可以如下给出:

光场射线和参考平面之间的交点的坐标如下给出:

如果不满足以下条件,则光场射线和参考参数化之间不存在相交:

由于与用于参数化光场的一对参考平面的系统中的轴之一垂直,对于每个平面,射线相交的分量之一总是恒定的。因此,如果存在光场射线和第一参考平面的相交以及所述光场和第二参考平面的相交则四个坐标变化并且方程a可用于计算光场射线的四个参数。这四个参数可用于建立光场的4d射线图。

假定参照两个参数化参考平面的光场的参数化,可以如下获得表示光场的数据。如果参考系统如图8描绘设置,则第一参数化平面p1在z=z1处垂直于z轴,第二参数化平面p2在z=z2处垂直于z轴布置,并且其光场参数是l(x1;y1;x2;y2)的射线将被呈现在位置z=z3处,光场相机的光电传感器阵列位于此处。从方程(a):

其中

展开以上表达式给出:

z3=z3

z3=z3

两组方程将提供与新位置处呈现的光场射线相同的点通过利用作为的函数的它们的对应表达式替换如果使用前一个块的第二组方程,并将x3和y3相加:

则导致表达式:

下标3的坐标与其中呈现光场的已知点相关。所有深度坐标都已知。参数化平面处于传播或呈现的方向。光场数据参数l是

在点处形成图像的光场射线通过表达式(b)链接,表达式(b)在中定义超平面。

这说明如果图像要从双平面参数化光场呈现,则只需要呈现超平面附近的射线,不需要追踪它们。图9a是例示根据本发明的一个或多个实施例的用于生成表示光场的数据的方法的步骤的流程图。图9b是示意性例示根据本发明的一个或多个实施例的用于生成表示光场的数据的系统的主要模块的框图。

在方法的预备步骤s801中,获取定义与相机的传感器的像素相关联的不同像素束的主射线和生成射线的参数。获得这些参数作为上述分类生成射线的方法的结果。

这样的参数是与不同像素的参考直线交叉的主射线和生成射线的坐标。

在另一预备步骤s802中,原始光场数据由光场相机801获取。原始光场数据例如可以以参考图3描述的微图像的形式。光场相机可以是诸如图1a或1b以及图2a和2b所示的光场相机装置。

在步骤s803中,通过射线参数模块802处理获取的光场数据,以提供定义捕获的光场射线与在各自的深度处用于参数化的一对参考平面p1,p2的相交的相交数据捕获的光场射线对应于与像素束40,50的参考直线交叉的主射线和生成射线。

从相机的校准,可以确定以下参数:投射的中心相机光轴的取向和相机的针孔到光电传感器平面的距离f。光场相机参数在图10中例示。光电传感器平面位于深度处。光电传感器的像素输出被转换成光场射线的几何表示。包括两个参考平面p1和p2的光板在相机到光电传感器的投射的中心的另一侧处分别位于超过的深度处。通过对光线应用三角原理,记录从微透镜的阵列投射的光的像素坐标可以通过应用以下表达式而映射到射线参数,即参考平面相交点

上面的计算可以扩展到具有不同的三元组对的多个相机:

在全光相机的情况下,使用具有孔径的相机模型,并且在相空间中将光场射线描述为具有原点和方向它传播到深度处的平面可以被描述为矩阵变换。透镜将充当abcd矩阵来折射射线,并且另一abcd传播矩阵将射线带到光板参考平面p1和p2上。

从该步骤,获得相交数据其在几何上定义与参考直线交叉的主射线和生成射线与参考面p1,p2的相交的。

在步骤s804中,通过射线图生成器模块803获得在图形上表示相交数据的2d射线图。

图11是图形表示在位置和深度处以孔径|a|<0.5由相机捕获的光场射线的相交数据的2d射线图。用于参数化的射线图的数据线由提供256×256像素的图像的256个单元进行采样。

如果将图11中例示的射线图解释为矩阵,则可以看出其被稀疏地填充。如果射线要单独保存在文件中而不是4d相空间矩阵中,则这将需要为每个射线,针对每个位置保存至少2个字节(int16)加上颜色的3个字节,即针对2d切片光场,每个射线为7个字节,针对全4d表示,每个射线11个字节。即使那样,射线将随机存储在文件中,这可能不适合需要操作表示的应用。本发明的发明人已经确定如何从射线图矩阵中仅提取代表性数据并且以结构化的方式将数据存储在文件中。

因为光场射线沿着二维射线图的数据线映射,所以存储定义数据线的参数而不是线值本身更有效。定义数据线的参数,诸如例如,,斜率定义参数s、轴截距可以与属于该数据线的一组光场射线一起存储。

这可能仅仅需要例如斜率参数s的2个字节,截取参数的2个字节,然后每个射线只需要3个字节。此外,射线可以在文件中延各线排序。为了设置通过矩阵单元的线,生成所谓的数字线,其近似于具有最小误差的射线线。

为了在步骤s805定位数据线并获得斜率参数s和截距参数d,由线检测模块804对在步骤s804中生成的射线图执行radon变换。

从获得的斜率参数s和截距参数d,在步骤s806中由数字线生成模块805生成代表性数字线。在该步骤中,通过将分析线逼近其最近的网格点,例如通过应用bresenham的算法,生成数字线。事实上,bresenham的算法提供了以最少的操作提供数字线的方法。其他方法可以应用快速离散radon变换计算。bresenham应用的示例是根据以下参考适配的:

http://www.cs.helsinki.fi/group/goa/mallinnus/lines/bresenh.html

数字格式通过网格的两点(0,d)和(n-1,s)定义数据线,d是当x1=0时与x2的值对应的相交,且s是当x1=n-1时与x2的值对应的斜率参数。从生成的数字格式中,每个单独线的斜率a可以表示为d,n和s的函数,如下所示:

其中,s∈{0,1,….n-1}并且d∈{0,1,….n--1}

图12例示通过应用bresenham的算法生成的数字线的示例。

图13例示一组具有相同斜率a(或s–d)但不同截距的数字线,该组数据线是连续的。该组数据线在本文被称为一束线,并且对应于由相机(不是理想地为针孔相机)产生的束。每个线针对不同的像素。换句话说,一个像素仅属于具有相同斜率但不同截距的唯一线束。轴相交d的上下边界分别为dmax和dmin。

由采样线对(2d中)参数化并且属于一个相机的射线数据属于用于表示数据的相空间中的一族数字线(束)。束的首部可以简单地包含斜率a和由轴相交的上下边界定义的束的厚度dmax-dmin。射线值将作为rgb颜色沿着数字线存储,其首部可以是d和s。不需要存储采样空间中的射线图的空单元。可以从参数d,s并且从单元沿着数字线的位置推导出射线的坐标x1;x2。

要从光场或相机的几何体估计的参数是斜率a和数字线截距的下限和上限(dmin,dmax)以及数字线参数(di,si)。离散radon变换已经被作为测量射线图中光场的支持位置的工具讨论。

图14b示出图14a的数据线的数字线参数空间(d,s)中的离散radon变换。图14c是图14b中包含的感兴趣区域的放大。数字线的束通过搜索最大值参数来定位。由于图像内容,drt的对称的几何中心和最大值的实际位置之间可能存在一些偏移,使得稍后使用算法来针对对称的中心而不是最大值。然后,如图13c所示的束变换的腰部很容易找到以给出值(dmin,dmax)。点(dmin=74,s=201)是来自图12a的数字线的束的下包络,点(dmax=81,s=208)是数字线的束的上包络。

来自方程b的两个正交2d切片空间的方程如下给出。

(z2-z3)(x1+y1)+(z3-z1)(x2+y2)=(z2-z1)(x3+y3)(c)

如果取得xi坐标的2d切片,则通过在(x3,y3,z3)的尺寸a的孔径的射线数据将映射的线的束的方程如下给出:

类似地,如果对yi坐标采用2d切片:

如之前描述,可以在离散域中评估m和的值。为了本地化由先前讨论的格式定义的光场特性,不需要执行4d离散radon变换(drt)。如果获得两个正交的2ddrt,则可以执行超平面的斜率m和数字超平面的束宽度的测量,其中所有数据集中在4d射线图中。

这个更简单的位置的例程假设圆形入瞳a,使得将涵盖所有超平面截距,某些以该格式写入的值将不包含任何值。

感兴趣的是获得4d情况的格式,这与对于2d情况提出的类似。为此,将在π(x1,x2)上找到的2d线与具有在π(y1,y2)位置上找到的线的平面相关联(即,作为对应超平面与π(x1,x2)和π(y1,y2)的两个正交切片的相交的结果的线)将是有趣的。从表达式d和e可知,对应的线具有相同的斜率m。这是将π(x1,x2)中的每个线与π(y1,y2)中的线相关联的第一参数,用于某一深度处的相机。如果在相同深度处存在多个相机(即,图14a的情况),则在π(x1,x2)中存在三个线,并且在π(y1,y2)中存在三个线,具有相同的估计的斜率m。然后确定这两个平面中线之间的线偏移中的对应性。为此,利用表达式d和e中的线的公式。具体地,表示

偏移量如下:

并且

这些方程组可以解出k,x3和y3。注意,(x3,y3,z3)对应于相机的坐标,或者换句话说,对应光束被聚焦成半径a的圆的体元(voxel)。我们假设定位在z3的平面上的孔径是圆形,使得并且通过求解前面的方程组:

可以使用bresenham数字线在π(x1,x2)上如以前那样扫描数字线;对于每个单个(x1,x2)值,存储在光场中捕获的相应(y1,y2)值。为了找到这样的值,利用表达式c。以下所有都是已知的或从表达式f和g,x3;y3;z3;z1;z2估计出。

在π(x1,x2)中的每个线上移动,对于每个获得(y1,y2)中的以下关系:

或者,

对于π(x1,x2)中的每个点,保存π(y1,y2)中的线的集合。doff对应于扫描的线的偏移并且对于保存。注意:

参照图12,每个正方形是点,并且对于这些点中的每一个点,存在沿着由以下方程定义的数字束耗尽图的平面的一组bresenham数字线:

垂直于描绘的数据线,但在4d空间中。

表1中例示每个相机的数据线的束的示例性数据格式。

表1

首先提供4d空间的一般元数据:包括4轴的边界及其对应的采样。也提供相机(束)的数量。对于每个相机j,保存以下参数:

孔径的尺寸:其对应于像素束的光瞳的直径,

相机的焦点:camj;focuspoint=(u3,u3,w3)

中的最低d截距

陡度=mj

在每个相机上,对于每个使用bresenham数字线相对于表达式(k)在上开始扫描,并且保存每个光场射线的rgb值。具体地,并且根据表达式(k)计算对应的doff。

使用存储的元数据在解码步骤中执行相同的计算。具体地,使用方程(h)找到k。因此格式保持紧凑。不需要为系统中的每个射线存储四个索引。注意,上面的超平面的采样是4d射线空间的采样,并且因此不漏掉单个x1;y1;x2;y2位置。这只是用于以非常紧凑的形式保存所有数据的4d射线空间的系统扫描的一个示例。当然可以应用其他处理。参数化形式看上去适配于探查超平面,因为它允许交错空间探索。

在多个相机在包含超平面的若干束(由于多个相机的radon变换中的几个最大值)的数据上工作的情况下,可以使用更复杂的算法。作为预处理步骤,对于π(x1,x2)的radon变换中的所有峰值找到参数并放入一组。对于中的峰值也这样做,并且参数放在另一组中。现在,在贪心算法的每次迭代中,在的2dradon变换中找到最大峰值强度,并且通过匹配先前找到的参数找到中的对应峰值。在保存上一节提及的数据之后,这些峰值将从radon变换中清除,并开始下一次迭代,直到光场中没有任何意义的对象为止。

虽然在上文中参照具体实施例描述本发明,但是本发明不限于具体实施例,并且对于本领域技术人员来说,落入本发明范围内的修改将是显而易见的。

一旦参考前面的例示性实施例,许多另外的修改和变化将提示本领域技术人员,例示性实施例仅以示例的方式给出并且不旨在限制本发明的范围,其仅由所附权利要求限定。具体地,来自不同实施例的不同特征可以在适当的情况下互换。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1