CN112970044A - 根据广角图像的视差估计 - Google Patents
根据广角图像的视差估计 Download PDFInfo
- Publication number
- CN112970044A CN112970044A CN201980073038.2A CN201980073038A CN112970044A CN 112970044 A CN112970044 A CN 112970044A CN 201980073038 A CN201980073038 A CN 201980073038A CN 112970044 A CN112970044 A CN 112970044A
- Authority
- CN
- China
- Prior art keywords
- image
- mapping
- projection
- wide
- angle
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
- 238000013507 mapping Methods 0.000 claims abstract description 268
- 230000003287 optical effect Effects 0.000 claims abstract description 21
- 238000000034 method Methods 0.000 claims description 50
- 238000012937 correction Methods 0.000 claims description 17
- 230000007423 decrease Effects 0.000 claims description 6
- 230000004044 response Effects 0.000 claims description 2
- 238000004590 computer program Methods 0.000 claims 2
- 230000009466 transformation Effects 0.000 description 16
- 238000012545 processing Methods 0.000 description 10
- 230000008859 change Effects 0.000 description 8
- 230000008901 benefit Effects 0.000 description 7
- 239000011159 matrix material Substances 0.000 description 5
- 238000013459 approach Methods 0.000 description 4
- 230000008569 process Effects 0.000 description 4
- 238000009877 rendering Methods 0.000 description 4
- 230000015572 biosynthetic process Effects 0.000 description 3
- 239000002131 composite material Substances 0.000 description 3
- 230000006835 compression Effects 0.000 description 3
- 238000007906 compression Methods 0.000 description 3
- 238000003786 synthesis reaction Methods 0.000 description 3
- 230000015556 catabolic process Effects 0.000 description 2
- 238000004891 communication Methods 0.000 description 2
- 238000006731 degradation reaction Methods 0.000 description 2
- 238000011161 development Methods 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 230000002194 synthesizing effect Effects 0.000 description 2
- 230000003044 adaptive effect Effects 0.000 description 1
- 230000001934 delay Effects 0.000 description 1
- 238000006073 displacement reaction Methods 0.000 description 1
- 239000012634 fragment Substances 0.000 description 1
- 238000007654 immersion Methods 0.000 description 1
- 238000005457 optimization Methods 0.000 description 1
- 238000010845 search algorithm Methods 0.000 description 1
- 238000000638 solvent extraction Methods 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
- 238000000844 transformation Methods 0.000 description 1
- 230000001131 transforming effect Effects 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T3/00—Geometric image transformations in the plane of the image
- G06T3/04—Context-preserving transformations, e.g. by using an importance map
- G06T3/047—Fisheye or wide-angle transformations
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/50—Depth or shape recovery
- G06T7/55—Depth or shape recovery from multiple images
- G06T7/593—Depth or shape recovery from multiple images from stereo images
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/97—Determining parameters from multiple pictures
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/20—Special algorithmic details
- G06T2207/20021—Dividing image into blocks, subimages or windows
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/20—Special algorithmic details
- G06T2207/20068—Projection on vertical or horizontal image axis
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/20—Special algorithmic details
- G06T2207/20228—Disparity calculation for image-based rendering
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Image Processing (AREA)
- Studio Devices (AREA)
- Image Analysis (AREA)
- Measurement Of Optical Distance (AREA)
- Magnetic Resonance Imaging Apparatus (AREA)
Abstract
一种装置,接收器(201),其接收具有第一投影的广角图像,在所述第一投影中,场景位置的垂直图像位置取决于从场景位置到针对图像的光轴的水平距离。因此,场景点的垂直图像位置可以取决于水平图像位置。映射器(203)通过对应于从第一投影到透视投影的映射、随后从透视投影到经修正的投影的经修正的垂直映射的非线性垂直映射和从透视投影到经修正的投影的经修正的水平投影的非线性水平映射,应用到第一广角图像的映射来生成具有经修正的投影的经修正的图像。视差估计器(205)相对于第二图像生成用于经修正的图像的视差,并表示与第一广角图像不同的视点。
Description
技术领域
本发明涉及基于一个且典型地基于多个广角图像的视差估计,并且具体但非排他地涉及根据使用鱼眼相机镜头拍摄的图像的视差估计。
背景技术
近年来,随着不断开发和引入利用和消费视频的新的服务和方式,图像和视频应用的种类和范围已大大增加。
例如,一种越来越流行的服务是以这样一种方式提供图像序列,即,使得查看者能够主动地和动态地与***交互以改变呈现的参数。在许多应用中,一个非常吸引人的特征是改变查看者的有效查看位置和查看方向(查看姿态)的能力,例如允许查看者在所呈现的场景中移动并“环顾四周”。
这样的特征具体地能够使得能向用户提供虚拟现实体验。这可以允许用户在虚拟环境中(相对)自由地移动,并动态地改变其位置和正在看的地方。典型地,这种虚拟现实应用是基于场景的三维模型,其中,对模型进行动态评估,以提供特定的请求视图。这种方法从例如用于计算机和控制台的游戏应用(如在第一人称射击游戏的游戏类别)中是众所周知的。
具体地,对于虚拟现实应用,还期望所呈现的图像是三维图像。实际上,为了优化查看者的沉浸感,对于用户通常优选的是,体验所呈现的场景为三维场景。实际上,虚拟现实体验应当优选地允许用户选择他/她自己的位置、相机视点以及相对于虚拟世界的时刻。
支持基于(具体地三维)场景表示的各种服务的主要问题是需要大量数据。这导致对资源的高要求,例如对大型存储资源的需求。然而,在许多情况下,最大的限制不是存储或处理要求,而是通信要求。如果要求表示场景的数据必须在带宽受限的通信通道(内部或外部)上通信,则非常希望尝试减少需要进行通信的数据量。
对于许多新内容服务的具体问题是,它们对于拍摄内容提供所基于的场景的要求大大提高了。例如,对于虚拟现实服务,如特别是无视点视频服务,要求从不同的位置和方向拍摄场景,以便生成允许针对在拍摄的时间处通常未知的不同视图姿态生成视图图像的数据。
在许多***中,这是通过使用相对大量的相机来实现的,这些相机位于不同的位置并指向不同的方向,以便更完整地拍摄场景。为了减少所需的单独相机/拍摄和图像的数量,通常希望使用广角相机拍摄场景,并且通常使用极广角相机(如采用鱼眼镜头的相机)拍摄场景。然而,这样的广角镜头趋于引入明显的畸变并且趋于导致真实的三维场景在图像上的畸变投影。这实质上使许多操作复杂化或降级。具体地,基于比较来自不同视点的两个图像而实质上阻碍或复杂化视差和深度估计。
因此,用于确定视差信息的改进方法将是有利的。具体地,允许改进的操作、促进的操作、改进的场景表示、增加的灵活性、促进的实施方式、促进的操作、(尤其是对于广角拍摄的)改进的和/或促进的视差估计、和/或改进的性能的方法将是有利的。
发明内容
因此,本发明试图优选地单独地或以任意组合地减轻、消减或消除一个或多个上述缺点。
根据本发明的一个方面,提供一种装置,包括:接收器,其用于接收第一广角图像,第一广角图像具有至少90°的视角和第一投影,在第一投影钟,场景位置的垂直图像位置取决于针对所述广角图像从场景位置到光轴的水平距离;映射器,其用于将映射应用于第一广角图像,以生成具有经修正的投影的经修正的图像,所述映射提供垂直映射函数和水平映射函数,所述垂直映射函数匹配从第一投影到透视投影的映射、随后从透视投影到经修正的投影的经修正的垂直投影的非线性垂直映射,所述水平映射函数匹配从第一投影到透视投影的映射、随后从透视投影到经修正的投影的经修正的水平投影的非线性水平映射;视差估计器,其用于生成所述经修正的图像相对于表示与第一广角图像不同的视点的第二图像的一组视差;以及,视差映射器,其用于通过应用被应用于第一广角图像的映射的逆映射而将另一组视差映射到第一投影,从而生成针对第一广角图像的另一组视差。
在许多实施例和场景中,本发明可以针对和基于广角图像提供改进的和/或促进的视差估计。它通常可以提供来自广角图像的改进的视差估计,而无需将它们变换为具有非常高分辨率(即,具有极其大的像素数)的大图像,并且可以提供与广角图像直接相关的视差值。所述方法可以允许改进的视差估计,同时针对大视角维持相对较低的分辨率。所述方法通常可以提供改进的视差估计,而无需视差搜索算法,所述视差搜索算法在搜索过程中明确考虑到鱼眼图像投影。后者将需要重新设计当今正在使用的并且使用基于水平线的扫描进行匹配的许多视差估计算法中的大部分。
所述方法在许多情况下可以允许使用水平视差估计,并且尽管第一广角图像具有例如针对给定场景位置/点的水平和垂直图像位置之间的相互依赖性,但是所述方法可以消除或减少对二维视差搜索的要求。
在许多实施例中,所述方法可以允许重新使用为窄角图像开发的现有视差估计算法和例程。
在许多场景下,所述方法可以允许用于视差估计的较低的复杂度和资源使用率。例如,在许多实施例中,它可以允许使用基于线的视差估计。
所述方法可以允许在垂直和水平方向上的独立且不同的映射。可以针对水平和垂直方向的特定要求优化非线性映射。例如,可以考虑水平视差估计来优化水平映射,而可以不考虑视差估计来优化垂直映射。可以在水平和垂直方向上使用不同的映射函数,其中,针对用于两个方向的个体属性和要求对个体映射函数进行优化。垂直和水平映射函数可以是不同的,并且可以分别进行优化。
场景位置可以是由第一广角图像表示的三维场景中的位置。如在本领域中经常使用的,它也可以被称为世界空间位置。
在垂直图像位置可以取决于水平图像位置(反之亦然)的意义上,场景位置的垂直图像位置取决于水平距离。
在一些实施例中,非线性垂直映射包括针对第一广角图像中具有相同垂直值和不同水平值的至少一些位置在相反方向上的映射。
针对图像的投影可以表示场景点在图像上的投影/映射,或者等效地在拍摄图像的图像传感器上的或对应于图像的视图端口上的投影/映射。通常,实际的投影取决于拍摄图像中所涉及的镜头的特性,但是应当理解,投影可以表示场景点在图像上的任何投影/映射,无论这种投影在实践中是否能够由镜头实现(或者实际上究竟能否实际实施)。投影可以被考虑为对应于从场景点到图像的任何可能的映射,并且经常可以被描述为数学公式(尽管并不要求以这种方式描述它,或者甚至能够以这种方式描述它)。垂直投影可以是在图像的垂直方向上的投影(对于恒定的水平位置),并且水平投影可以是在水平方向上的投影(对于恒定的垂直位置)。
映射可以是从一个图像到另一个图像,并且具体地,映射可以是从一组平面图像坐标到另一组平面图像坐标。第一广角图像和经修正的图像可以是平面图像。映射可以是从第一广角图像的图像平面到经修正的图像的图像平面。
表示场景的任何图像都会固有地表示场景在图像上的投影。图像的空间失真(例如,将图像位置从输入位置映射到不同的输出位置)导致经修正的投影。
映射器可以被布置为通过将第一广角图像中的图像位置映射到经修正的图像中的图像位置来生成经修正的图像。这种映射导致从第一广角图像到经修正的图像的投影中的改变。
非线性垂直映射和非线性水平映射可以一起形成映射,对于这种映射,输出垂直位置仅取决于输入垂直位置,并且输出水平位置仅取决于输入水平位置。非线性垂直映射可以将垂直图像位置坐标映射到垂直图像位置坐标。非线性水平映射可以将水平图像位置坐标映射到水平图像位置坐标。
根据本发明的可选特征,非线性垂直映射的映射函数不同于非线性水平映射的映射函数。
在许多实施例中,所述方法可以允许改进的和/或更有效的操作。非线性映射的映射函数中的差异导致水平映射函数和垂直映射函数不同。
根据本发明的可选特征,非线性垂直映射的映射函数比非线性水平映射的映射函数被更多地压缩。
在许多实施例中,这可以提供改进的性能,并且可以具体地在许多场景下允许生成较小的经修正的图像(例如,就分辨率或像素数而言),但仍然允许准确的视差估计。
在一些实施例中,在相同的像素范围和/或视角在垂直方向上比在水平方上映射到更小的像素范围和/或视角的意义上,非线性垂直映射可以比非线性水平映射更多地压缩。
在一些实施例中,在针对非线性垂直映射的梯度小于针对与广角图像的图像中心的(垂直和水平分别)相同偏移的非线性水平映射的意义上,非线性垂直映射可以比非线性水平映射更多地压缩。
根据本发明的可选特征,第二图像表示经修正的投影。
在许多实施例中,这可以允许改进的和/或更有效的操作。视差估计可以基于具有场景在传感器/图像/视图端口上的相同投影的两个图像。
根据本发明的可选特征,所述装置还包括深度估计器,其被布置为响应于所述一组视差和所述非线性水平映射来确定针对经修正的图像的一组深度。
所述方法可以允许对针对图像的深度进行有效和/或高性能的估计。
根据本发明的可选特征,所述映射器被布置为通过将第一映射应用于第一广角图像以生成具有透视投影的中间图像,并且将第二映射应用于中间图像以生成经修正的图像,从而应用映射。
根据本发明的可选特征,所述映射器被布置为针对第一广角图像执行校正,作为第一映射的部分。校正可以包括畸变补偿。畸变补偿可以是针对第一投影相对于用于第一投影的通用模型的畸变的补偿。畸变补偿可以是针对已经拍摄了第一广角图像的相机的畸变的补偿。
在一些实施例中,所述装置还包括呈现器,其用于根据第一广角图像和根据针对经修正的图像的一组视差确定的视差来合成合成图像。
在许多实施例中,所述方法可以允许改进的图像的合成。合成可以基于原始的广角图像,即,不具有通过映射引入的劣化和伪影的图像。合成图像可以是针对与第一广角图像的视点和第二图像的视点不同的视点。
在一些实施例中,所述呈现器被布置为根据第一广角图像和针对所述第一广角图像的一组视差来合成合成图像。
根据本发明的可选特征,所述映射器被布置为将第一广角图像划分为多个图像部分,并且通过将子映射应用于每个图像部分来执行映射,针对所述多个图像部分中的至少两个的子映射是不同的。
在许多实施例中,这可能是特别有利的。例如,它可以促进并行处理,从而潜在地显著减少处理延迟。确定针对广角图像的视差估计的方法可以特别适合于并行处理。
根据本发明的可选特征,所述映射器被布置为执行立体校正,作为映射的一部分,所述立体校正是相对于第二广角图像的。
这可以提供改进的和/或促进的操作。
根据本发明的可选特征,所述接收器被布置为接收第二广角图像,第二广角图像是针对与第一广角图像不同的视点,并且具有至少90°的视角和第一投影;以及,映射器被布置为通过将映射应用于第二广角图像来生成第二图像。
根据本发明的可选特征,相对于针对第一广角图像和第二广角图像的光轴具有不同量级的水平偏移的场景位置被投影到第一广角图像和第二广角图像中的不同垂直位置。
根据本发明的可选特征,映射将第一广角图像和第二广角图像中的不同垂直位置映射到经修正的图像和第二图像中的相同垂直位置。
根据本发明的可选特征,非线性水平映射具有随着到第一广角图像的中心的水平距离增加而减小的梯度。
这可以提供改进的和/或促进的操作。
对于第一广角图像中的给定位置,映射可以确定经修正的图像中的位置。到第一广角图像的中心的水平距离越远,非线性水平映射可以减小经修正的图像中的水平图像位置的变化。
梯度可以被确定为经修正的图像中的水平图像位置的差(δ)除以与映射到透视投影的第一广角图像相对应的图像中的水平图像位置的差(δ)。
在一些实施例中,非线性垂直映射具有随着到第一广角图像的中心的垂直距离增加而减小的梯度。
对于第一广角图像中的给定位置,映射可以确定经修正的图像中的位置。到第一广角图像的中心的垂直距离越远,非线性垂直映射可以减小经修正的图像中的垂直图像位置的变化。
梯度可以被确定为经修正的图像中的垂直图像位置的差(δ)除以与映射到透视投影的第一广角图像相对应的图像中的垂直图像位置的差(δ)。
所述位置距离第一广角图像的中心越远,并且所述位置到第一广角图像的边缘越近,则对于针对与映射到透视的第一广角图像相对应的图像的图像位置中的给定变化,经修正的图像中的图像位置的变化就越小。
根据本发明的一个方面,提供一种估计视差的方法,所述方法包括:接收第一广角图像,所述第一广角图像具有至少90°的视角和第一投影,其中,场景位置的垂直图像位置取决于从场景位置到针对广角图像的光轴的水平距离;将映射应用于第一广角图像,以生成具有经修正的投影的经修正的图像,所述映射提供垂直映射函数和水平映射函数,所述垂直映射函数匹配从第一投影到透视投影的映射、随后从透视投影到经修正的投影的经修正的垂直投影的非线性垂直映射,并且所述水平映射函数匹配从第一投影到透视投影的映射、随后从透视投影到经修正的投影的经修正的水平投影的非线性水平映射;生成针对经修正的图像相对于第二图像的一组视差,并表示与第一广角图像不同的视点;以及,并且通过应用被应用于第一广角图像的映射的逆映射而将另一组视差映射到第一投影,从而生成针对第一广角图像的另一组视差。
参考下文描述的实施例,本发明的这些和其他方面、特征和优点将变得显而易见并得到阐明。
附图说明
将参考附图仅通过范例的方式描述本发明的实施例,其中
图1示出了不同图像投影的范例;
图2示出了根据本发明的一些实施例的用于生成视差估计的装置的元件的范例;
图3示出了不同图像投影的范例;
图4示出了不同图像投影的范例;
图5示出了根据本发明的一些实施例的用于生成视差估计的装置的元件的范例;
图6示出了根据本发明的一些实施例的用于生成视差估计的装置的元件的范例;
图7示出了广角图像的不同表示的范例;以及
图8示出了由图2的装置处理的广角图像的平铺的范例。
具体实施方式
以下描述关注于可应用于适合于例如虚拟现实或3D视频应用的图像处理和视差/深度估计的本发明的实施例。然而,应当理解,本发明不限于这种应用,而是可以在例如许多不同的图像处理和呈现应用中被应用。
在许多这样的实施例中,可以从多个不同的拍摄姿态拍摄场景。在本领域中,术语位置或姿态用作一种通用术语,其用于例如对象、相机的位置和/或方向/取向以及位置和/或方向/取向的组合,或者,视图实际上通常被称为姿态或位置。
在许多实施例中,可以使用多个相机或者例如使用同时拍摄两个偏移图像的立体相机从多个不同的拍摄姿态同时拍摄场景。在某些静态场景中,可以通过在不同拍摄姿态之间移动单个相机由单个相机来顺序拍摄图像。
为了表征三维场景,除了视觉信息之外,还需要深度信息,并且在许多实施例中,深度信息是通过从不同的视角查看场景的(例如,在用于动态场景的相同时间处的)对应图像之间的视差估计导出的。这种视差估计通常基于识别从拍摄姿态到相同场景对象的视图方向之间的视差。这通常通过以下过程来实现:从不同的拍摄姿态中找到图像中的对应匹配图像区域/分段/对象,并确定不同图像中这些对应图像部分之间的图像位置的偏移。
在许多实际应用中,例如虚拟现实应用中,期望拍摄大部分场景。为此,在许多应用中使用广角相机,特别是使用鱼眼镜头相机是特别实用的。这样的相机通常具有至少90°的视角,在许多情况下包括高达180°或甚至更大的视角。
然而,这种相机在拍摄图像时易于引入严重的失真。事实上,尽管所有的相机都可能易于引入由于将场景投影到图像平面而导致的某些失真,但对于窄角相机,这种失真通常相对较小或无关紧要。相反,对于广角相机,这通常是相当严重的。
常规的窄角相机可能由于场景投影在图像平面上而引入一些(镜头)失真,但是这种失真通常很小,并且可以通过将转换或映射应用于图像以将其变换为例如无失真的透视投影来进行校正。
然而,针对广角图像和相机的失真通常是极端的。这可以通过图1的范例来举例说明,图1示出了由广角相机生成的小的相同正方形的规则等距网格的图像。图1示出了通过透视相机的相同正方形的规则图案的拍摄以及通过广角相机拍摄的图像。如图所示,通过广角镜将图案投影到图像/传感器平面上导致严重失真,影响网格和矩形的尺寸和形状二者。
能够看出,存在非常严重的失真。失真是广角镜头的结果,并且是由对拍摄单个图像中的大部分场景导致的折衷方案。此外,失真引入水平位置和垂直位置之间的依赖性。给定场景点的垂直图像位置不仅取决于场景点的垂直位置,还取决于水平位置,即,它取决于相机的光轴与场景点之间的水平距离。因此,在所拍摄的广角图像中,垂直位置和水平位置不是独立的。
发明人已经意识到,这种严重增加的失真对于通过视差估计来确定深度信息是有问题的,并且通常导致包括不准确或不可靠的估计在内的严重降低的性能。例如,本领域最新的视差估计器执行水平匹配,这将导致朝向图像边缘的所估计的视差中的不准确。这也意味着从这些错误的视差导出的深度估计将是不可靠的。
另一个关键问题是,广角投影导致场景中的水平线被投影到在图像中非水平的图像中的线中(如图1中能够看到的,水平的正方形行被变换为失真的正方形的弧形行(在垂直方向上))。大多数视差估计算法都是基于确定图像水平视差,因为这些视差通常对应于场景水平视差,从而反映了被水平取向的人眼之间的视差。然而,由于这对于广角图像不再是有效假设,因此不能使用现有的视差估计技术。这不仅在妨碍向后兼容和现有算法的复用方面不切实际,从而需要开发新算法,而且还导致视差估计必须是完全二维视差估计算法的要求,这严重增加复杂性和资源使用率。由于视差仅是水平的约束假设不再有效,因此通常还导致性能下降。具体地,所述特征阻止使用现有的基于行的视差估计算法。
发明人还已经意识到,简单地将图像转换为具有透视投影的中间图像(对应于适合于窄角图像的方法)通常是不实际的,因为它需要极大的图像尺寸(非常高的分辨率/像素数)。
将广角图像映射到透视投影,同时保持图像中心的分辨率会导致需要非常高分辨率的非常大的图像。例如,典型的传感器可以具有水平4000像素x垂直3000像素的尺寸,并且来自这种传感器的广角图像所产生的未失真的透视投影图像通常可能需要至少12000x9000像素的分辨率。这种大的图像往往是不实际的。相反,典型的当前的视差估计器(软件/硬件)可以被设计为用于水平1920像素x垂直1080像素的输入图像分辨率。这种大的图像往往是不实际的,并且对资源的需求过多。例如,它们不适合大多数现有的视差估计算法,因为它们将具有太高的资源要求。例如,对于160度的水平视场,未失真的透视图像能够是与原始广角图像相比三倍的尺寸(在两个维度上)。这意味着像素数增加了九倍以上。视差估计的成本也因此严重增加。
图2示出了用于来自广角相机的视差估计的装置的范例。所述装置遵循了一种方法,并且特别是利用了发明人已经意识到可以解决上面指出的一些问题的映射。具体地,它可以在许多应用中允许重新使用现有的视差估计算法,并且避免了对极大图像的需求。
所述装置包括接收器201,其被布置为接收将在其上执行视差估计的至少一个广角图像。通常,接收器201可以被布置为接收对应于不同的拍摄位置的多个广角图像,其中,视差估计基于找到不同图像之间的视差。然而,应当理解,在一些实施例中,与例如从另一个拍摄位置拍摄的窄角图像相比,可以接收单个广角图像,并且视差估计可以是基于该单个广角图像。
广角图像具体地对应于在至少一个方向上的至少90°的视角,并且通常在水平方向上。如前所述,广角拍摄导致表示具有相对高的失真量的场景到图像平面上的投影的图像。此外,投影使得世界空间位置的垂直图像位置取决于从世界空间位置到针对图像的光轴的水平距离。针对镜头的光轴可以例如被定义为光沿其方向变化最小的线。
与光轴重合的场景点通常被投影到图像中心或中心附近。相机相对于传感器具有固有的取向,因此具有与正在拍摄的场景中的水平方向相对应的取向。通常,相机在物理上被布置为具有旨在通过定位使得对齐方向而与场景中的水平方向对准的取向。
应当理解,术语水平和垂直是本领域中的通用术语,并且通常用于表示图像和图像传感器的正交方向。对于矩形图像和图像传感器,一个方向(两个平行边缘的方向)称为水平方向,另一个方向(其他两个平行边缘的方向)称为垂直方向。在标准使用(nominaluse)中,图像传感器被布置为使得水平方向对应于正在拍摄的场景/世界中的水平方向,并且垂直方向对应于正在拍摄的场景/世界中的垂直方向。
关于所拍摄的图像,其相应地具有水平和垂直方向。图像通常是被布置在规则网格或矩阵中的像素阵列,其中,水平图像方向对应于网格/矩阵的行,并且垂直方向对应于网格/矩阵的列。这种广角图像是由传感器的拍摄生成的,因此传感器具有水平方向和垂直方向。通常,相机被布置为使得当执行拍摄时,传感器的水平方向与场景空间中的水平方向对准,并且传感器的垂直方向与场景空间中的垂直方向对准。
对于常规的窄角图像,场景空间到传感器上的投影使得两个方向在某种意义上基本上是独立的,即,从场景中的相应方向独立给出场景中针对场景点(即场景空间中的点)的位置(以及等效地传感器的投影点)。因此,水平图像/传感器位置由场景点(相对于光轴)的水平位置确定,并且独立于场景点(相对于光轴)的垂直位置。类似地,垂直图像/传感器位置由场景点(相对于光轴)的垂直位置确定,并且独立于场景点(相对于光轴)的水平位置。因此,对于窄角图像,针对场景中的给定点的水平图像位置取决于该点沿平行于图像传感器的水平方向的轴的位置。类似地,针对场景中的给定点的垂直图像位置取决于该点沿平行于图像传感器的垂直方向的轴的位置。
然而,对于由接收器201接收的广角图像,情况不再如此。具体地,图像中的场景点的垂直位置不仅取决于场景点的垂直位置,而且取决于场景点的水平位置。因此,对于给定的场景点,垂直位置将是不同的,取决于场景点是朝向中心(在水平方向上)拍摄的还是朝向图像边缘拍摄的。
换言之,场景被投影到图像传感器上,使得针对场景中的给定点的垂直投影位置不仅取决于场景点的垂直位置(即,在平行于图像传感器的垂直方向的方向中的场景中的位置)。而是,垂直位置还取决于水平位置。因此,相机围绕传感器的垂直轴的旋转(即,不改变传感器在垂直方向上的位置)将导致给定场景点不仅改变水平图像位置而且改变垂直图像位置。
因此,对于诸如鱼眼镜头相机的广角相机,垂直和水平图像位置不是独立的,而具体地是垂直图像位置取决于水平图像位置。
应当注意,在图2的范例中能够清楚地看到这种效果,其清楚地示出了正方形的水平线如何被投影到失真的正方形的弧中,其中,随着向图像边缘移动,垂直位置越来越偏离中心。
在许多场景中,对水平位置的依赖性可以是很大的。例如,依赖性/投影可以使得对于相同的垂直场景位置在垂直位置中从广角图像的中心到边缘的差可以超过垂直图像尺寸的1%。1%的垂直偏移已经是有问题的,因为这将对应于1080的图像高度的1%,例如相当于大约10个像素。当立体对的左右图像之间的垂直偏移不止一个像素时,仅使用水平匹配的视差估计器已经受到性能的影响。
在范例中,场景图案被投影到具有正方形之间的距离以及正方形的大小的几乎圆形的图案上,进一步大大减小了到由图像中心代表的相机/图像的光轴的距离。
接收器201被耦合到映射器203,所述映射器203被布置为将广角图像映射/变换为经修正的图像,所述经修正的图像对应于场景/世界在图像上的不同投影。经修正的图像可以被具体地生成为对应/表示与广角图像相同的视图端口,但表示场景在图像/视图端口/图像传感器上的不同投影。
映射器203被耦合至视差估计器205,所述视差估计器205接收经修正的图像以及表示来自不同视点的场景的拍摄的至少一个其他图像。视差估计器205被布置为执行视差估计,以生成针对经修正的图像相对于第二图像的一组视差。视差估计器205可以相应地生成指示不同图像对象的深度的视差信息。
视差估计器205可以例如通过找到两个图像中的对应的图像对象/点,并将视差确定为两个图像中的这些图像/点的位置之间(可能是仅水平)的距离来执行视差估计。
在范例中,所述装置还包括呈现器207,所述呈现器207被布置为合成针对不同视点的图像。例如,呈现器207可以基于经修正的图像和所确定一组视差根据与所拍摄的视点/姿态不同的视图姿态来合成图像。这样的处理可以例如应用本领域技术人员已知的视图移位算法。
在图2的装置中,映射器203被布置为将表示场景在图像上(并且等效地在传感器/视图端口/图像平面上)的第一投影的广角图像变换为表示场景在图像上(并且等效地在传感器/视图端口/图像平面上)的下层第二个和不同的投影的经修正的图像。映射器203的映射通过将广角图像中的位置映射到经修正的图像中的位置来执行。可以相应地映射广角图像中的给定位置处的图像值,以提供经修正的图像中的映射位置处的图像值(该图像值可以是广角图像或经修正的图像中的直接像素值,或者可以例如是针对未与像素位置对齐的位置的广角图像或经修正的图像中的***值)。映射可以相应地将广角图像中的图像位置映射到经修正的图像中的图像位置。映射可以是空间映射,其根据广角图像中的位置提供经修正的图像中的位置,反之亦然。可以使用广角图像中的位置与经修正的图像中的位置之间的一对一映射函数来生成经修正的图像。映射函数可以是根据经修正的图像中的位置提供广角图像中的位置的函数,和/或根据广角图像中的位置提供经修正的图像中的位置的函数,其中,一个函数是另一个函数的反函数。
使用水平映射函数和垂直映射函数来实施映射。这些函数中的每一个可以是一对一的函数,并且可以在任一方向上进行映射(即,从广角图像到经修正的图像,反之亦然),其中通常在反方向上的映射由反函数表示。
因此,广角图像与经修正的图像之间的映射是具有从场景到图像/视图端口/传感器的不同投影的(对于同一视图端口的)两个图像之间的映射。
映射器203被布置为生成经修正的图像,使得其具有经修正的投影,所述经修正的投影对应于从第一投影到透视投影的映射、随后从透视投影到经修正的投影的经修正的垂直投影的非线性垂直映射、以及从透视投影到经修正的投影的经修正的水平投影的非线性水平映射。映射可以提供两个映射函数,即垂直映射函数和水平映射函数。这些函数可以是不同的,并且通常可以针对两个方向的偏好和要求进行优化。
垂直映射函数匹配根据从第一投影到透视投影的映射随后从透视投影到经修正的投影的经修正的垂直投影的非线性垂直映射产生的函数。水平映射函数匹配根据从第一投影到透视投影的映射随后从透视投影到经修正的投影的经修正的水平投影的非线性水平映射产生的函数。
映射器203可以执行首先将经修正的图像映射到具有透视投影的中间图像的操作。透视投影的特征在于简单的投影方程,其中,水平图像坐标与水平场景坐标除以场景深度成比例,并且垂直图像坐标与垂直场景坐标除以场景深度成比例。通常,左右鱼眼图像被同时变换为两个新的透视虚拟视点,其中,执行相机头的不变形和旋转,使得生成的立体对垂直对齐,并且能够逐行进行立体匹配。这种第一映射可以是在单个操作中执行以实施水平和垂直映射函数的第一部分的二维映射。
然后,映射器203可以将非线性映射应用于中间图像,其中,水平和垂直方向上的非线性映射可以相同或可以不同。这导致总体映射是独立的,并且通常对于两个方向是不同的,即,实现垂直映射函数和水平映射函数。所述方法可以允许在水平和垂直方向上对映射进行单独的优化。
非线性映射可以是使得透视投影中的等距点之间的距离随着到图像中心(具体地对应于光轴)的距离而减小。因此,非线性映射使得,距离图像的中心越远,中间图像中的距离的压缩更多,即压缩朝向图像的边缘增加。因此,非线性映射可以使得广角图像中的位置到经修正的图像中的位置的映射的梯度随着位置距离图像的边缘越近并且距离图像的中心越远而减小(其中,对于非线性水平映射和非线性垂直映射,距离分别是水平或垂直距离)。
映射器203因此可以通过应用与以下序列相对应的映射来应用将广角图像变换为具有不同的下层投影的经修正的图像的空间图像变换:
1、第一映射/转换为透视投影;以及
2、第二非线性映射,其具体地在水平和垂直方向上可以不同,并且在水平和垂直方向上是独立的,使得垂直输出位置仅取决于垂直输入位置,并且水平输出位置仅取决于水平输入位置(因此提供第二映射不会在校正后的立体图像对之间引入垂直视差的特性)。
这可以产生一种经修正的图像,所述经修正的图像是原始广角图像的变换版本,但是具有可以去除垂直位置对水平位置的依赖性并且具有可以表示可变有效分辨率的投影的特性。可以进一步控制这种可变分辨率以提供分辨率和图像尺寸之间的最佳折衷,并且可以进一步在水平和垂直方向上对其进行单独优化。
所描述的方法的一个具体优点是它可以允许非常有效的视差估计。具体地,所述方法可以生成其中视差估计仅需要考虑水平视差的经修正的图像,因此,对匹配图像部分的搜索能够限于水平搜索。实际上,所述方法甚至可以允许基于线的视差估计。此外,能够生成经修正的图像,使得其保持在可管理的尺寸,同时提供合理的分辨率。例如,图像中心的分辨率能够保持与广角图像的分辨率相同,而同时降低朝向图像的边缘的分辨率,以在图像尺寸与图像边缘处的视差估计所要求的精度之间提供所需的折衷。
所述方法的优点在于,可以在垂直和水平方向上分别优化非线性映射。这可以允许针对视差估计优化水平映射,以便允许有效的水平匹配和估计。由于视差估计可以仅基于考虑水平视差,因此可以在不考虑视差估计的这些方面的情况下优化垂直非线性映射。
因此,在许多实施例中,可以在水平和垂直方向上使用不同的映射函数,即,垂直和水平映射函数可以是不同的。具体地,到经修正的图像中的中心点的距离与到广角图像中的中心点的距离之间的关系在水平和垂直方向上可以是不同的。
所述方法的具体优点在于,在许多实施例中,允许使用现有的视差估计算法。例如,已经针对窄角图像(例如,具有透视投影)开发了许多视差估计算法,并且在许多情况下可以将由所述映射生成的经修正的图像与这种现有的视差估计技术一起使用。
在前面的范例中,从广角图像到经修正的图像的映射/变换通过两步过程,首先是生成中间图像,然后生成经修正的图像。例如,这可以通过生成对应于透视投影的大的中间图像(并且例如,在不降低图像中心分辨率的情况下),然后将其映射到较小经修正的图像来完成。然而,在许多实施例中,可以在单个操作中完成所述映射/变换,使用在广角图像的位置与经修正的图像中的位置之间的单个组合映射直接将广角图像映射到经修正的图像中。例如,对于经修正的图像中的每个像素位置,表示投影变换的预定位置映射可以提供在广角图像中的位置。然后可以将(例如,通过相邻像素值的适当的***而生成的)该位置处的图像值应用于经修正的图像中的该像素。
因此,不同于将垂直和水平映射函数实施为包括首先映射到透视投影随后非线性映射的两步函数,可以通过匹配首先将广角投影映射到透视投影随后第二非线性映射而产生的映射的直接一步函数来实施映射函数。
如所提及的,在经修正的图像和表示来自不同视点的场景的第二图像之间执行视差估计。能够通过其他处理生成第二图像,例如,它可以是场景的窄角图像(或由多个窄角图像形成的组合图像)。在这种情况下,窄角图像通常将被映射到与经修正的图像相同的投影,以促进视差估计。因此,通常(但不必总是)用于视差估计的经修正的图像和第二图像将采用从场景到图像的相同投影。
在大多数实施例中,将以与经修正的图像相同的方式来生成第二图像,即,视差估计将基于至少第一和第二经修正的图像,两者均采用第二/经修正的投影,所述第二/经修正的投影是从通过对应于图像到透视投影的顺序映射随后单独的水平和垂直映射的广角图像的映射而产生的。
因此,在一些实施例中,接收器201还可以进一步接收第二广角图像,所述第二广角图像也具有至少90°的视角和与第一图像相同的投影。映射器203可以在该图像上执行相同的操作,从而生成可以在其上能够执行视差估计的第一和第二经修正的图像。
应当注意,在这样的范例中,相同的场景点/位置通常由相机在相对于光轴和图像中心的不同偏移处拍摄。由于广角效应,场景点/位置将相应地位于两个广角图像中的不同水平位置。因此,两个广角图像中相同场景点的垂直位置通常将是不同的。然而,对于场景点,到经修正的图像的映射将是不同的,使得对应于相同场景点的两个经修正的图像中的垂直位置是相同的,即,它们被映射到两个经修正的图像中的相同的垂直位置但不同的水平位置。能够由视差估计器205来确定水平位置之间的差,以提供与场景点相对应的第一经修正的图像中的位置的视差值。
作为实际范例,能够使用来自著名的OpenCV库的校准工具来确定第一映射,其将两个输入鱼眼图像变换为每个均伴随透视投影的未失真的立体校正图像对。立体校正通过对每个输入鱼眼坐标系应用适当的旋转来对齐光轴。当前方法则可以引入第二映射,其在该输出上变换非线性映射。能够组合用于两次映射的方程式以构建单个组合的映射。该映射可以存储在重新映射表中。可选地,也可以存储该映射的逆映射,以用于稍后将视差/深度反向映射到鱼眼坐标系。
在下文中,将描述特定范例以阐明所述方法。在范例中,将考虑透视投影,其使用以下关系式将场景点的水平角度映射到传感器上的位置:
r=ftan(θ) (1)
其中,θ是水平(或原则上垂直)光轴外角度[弧度],f是镜头焦距[m],并且r是从传感器的光学中心到投影点的距离[m]。
相比之下,例如鱼眼镜头的广角镜头可以例如产生恒定的角分辨率。例如,f-theta鱼眼镜头可以产生以下公式的投影:
r=fθ (2)
其中,分辨率对于所有角度均相等。这种鱼眼镜头因此对于虚拟现实应用非常有吸引力,在虚拟现实应用中,人们希望在所有方向上环顾四周,并在所有方向上都具有恒定的图像分辨率。图1示出了当使用具有这种镜头的相机拍摄正方形的网格时所得到的图像的范例。
图像可以提供给接收器201,并且被馈送至映射器203,映射器203将其映射为经修正的图像。在图3中示出了经修正的图像的范例,其示出了第一广角图像以及变换后的经修正的图像。如能够看出的,映射使得经修正的图像保持原始水平位置,即,每行正方形在经修正的图像中被表示为矩形的水平线。此外,非线性映射导致在垂直和水平方向上的失真,使得距离朝着图像的边缘逐渐压缩。然而,压缩/失真可以针对具体的预期目的进行优化,而不是由镜头或广角图像的特性给出。变换可以覆盖与原始鱼眼图像相同的传感器区域。如能够看到的,变换还导致正方形的缩放/失真。
为了描述由映射器203执行的映射/变换的具体范例,(u,v)可以表示拍摄的鱼眼图像中(即,接收到的广角图像中)的图像坐标。从方程式(2)开始,偏轴角能够推导为:
将其***方程式(1)中得出未失真的半径:
用于单个广角图像的第一次映射(到透视投影)现在如下:
变换随后可以通过首先对θ求解(1),然后在(2)中***θ,来分别对u和v应用第二映射,即可以分别在水平和垂直方向上应用第二次映射。在还***(5)和(6)之后,我们得到:
这允许确定针对广角图像中的给定位置的经修正的图像中的图像位置。
在许多实施例中,映射器203还可以被布置为执行作为映射一部分的立体校正。相对于通常由不同相机生成的另一个广角图像来提供立体校正。具体地,映射器203可以包括针对用于生成视差估计中使用的两个图像的立体相机设置的立体校正。立体校正是用于执行对齐的立体对并因此在输入图像的每个3D坐标系上执行轴旋转的操作。它还可以对每个输入相机图像应用传感器偏移。应当理解,用于立体校正的不同算法和方法是已知的,并且映射器203可以使用任何合适的方法。
这种方法的结果可以是到透视投影/视图的第一映射,以补偿失真和立体校正。
令M≡(Mu(u,v),Mv(u,v))为创建透视坐标的生成的映射,函数如下:
u透视=Mu(u,v) (9)
v透视=Mv(u,v) (10)
对于一对已校准的广角图像相机,我们现在能够执行以下提议的变换:
现在可以将总变换存储在新的映射M’中。因此,与组合的第一和第二映射相对应的单个映射(到透视投影然后到经修正的非线性投影的映射)能够用于直接从输入广角图像到经修正的图像的映射。然后,该经修正的图像可以特别适合用于视差估计,并且可以具体在许多实施例中允许使用基于线的标准视差估计。
所述方法的具体优点是,它可以允许在水平和垂直方向上进行不同的映射。在许多实施例中,非线性垂直映射因此不同于非线性水平映射,即,可以在水平和垂直方向上使用不同的映射函数。
具体地,在许多实施例中,非线性垂直映射可以比非线性水平映射被更多地压缩。例如,映射器203的映射函数在水平方向上的梯度可以小于映射器203的映射函数在垂直方向上的梯度。此外,梯度可以随着到广角图像中心的距离的增加而减小。
这种方法的一个范例在图4中示出。在此范例中,将正方形广角图像映射到在水平方向上具有较大扩展的经修正的图像,即,将正方形广角图像映射到比其高度更宽的经修正的图像(应当理解,所示的正方形图像可以对应于图像的正方形截面)。因此,在该范例中,对于相对于广角图像的中心的给定偏移(垂直的或水平的),对于水平映射的映射梯度比对于垂直映射的映射梯度更低。
这样的方法可以例如促进或改进水平视差估计,同时减小整体图像尺寸。在许多实施例中,它还可以通过降低复杂性和资源要求来促进硬件实施。
作为具体范例,可以为上述具体范例中的垂直方向和水平方向选择不同的焦距:
例如,设置fu=1并且fv=0.8将产生图4的范例。
在先前的描述中,针对经修正的图像确定视差值,并且随后将经修正的图像和所确定的视差值用于合成针对不同视点的图像。
在一些实施例中,装置可以包括用于将视差值映射到针对广角图像的视差值(即,映射到与输入广角投影相关的而不是与经修正的图像的经修正的投影相关的视差)的功能。
例如,如图5所示,装置可以包括视差映射器501,视差映射器501被布置为通过将根据经修正的图像确定的一组视差映射到广角图像的投影中来生成针对广角图像的一组视差。这是通过应用被应用于广角图像以生成经修正的图像的映射的逆映射来实现的。因此,在视差估计之后,视差值可以保持在经修正的图像的坐标(u变换,v变换)中,或者可以将其变换回输入图像(u,v)的坐标。
作为范例,方程式(7)和(8)可以反转,使得坐标(u,v)可以写为变换后的图像的坐标(u变换,v变换)的函数。另一种方法是仅重新使用重新映射表的新映射M',然后对其进行数值反转以产生M”。
在针对广角图像生成视差的范例中,在一些实施例中,可以将这些与广角图像一起提供给呈现器207,并且呈现器207可以布置为基于广角图像和相关联的视差合成针对不同视点的图像。在这种情况下,呈现算法可以通过使用已知的相机固有特性(焦距、变形参数)和外部特性(旋转)参数来将广角图像的失真考虑在内,以在OpenGL中生成网格期间执行校正。这意味着在所谓的顶点着色器中,在将其与采样的深度映射值组合在一起之前,首先将图像坐标变换为校正后的透视图像坐标,以计算3D(x,y,z)场景坐标。因此,从本质上讲,取消失真/校正操作成为如由OpenGL的顶点和片段着色器所实施的那样的纹理映射操作的一部分。
在许多场景中,这种方法可以是优选的,因为它允许原始(未过滤的)图像形成图像合成/呈现的基础。
在上述范例中,视差估计提供当合成一个或多个图像时由呈现器207直接使用的视差值。在一些实施例中,例如在图6的范例中,装置可以包括深度估计器601,其被布置为根据该一组视差确定针对经修正的图像的一组深度。深度估计器601可以具体地针对每个视差值确定深度值。
然而,为了这样做,深度估计器601必须将所执行的映射考虑在内,特别是非线性水平映射。非线性水平映射影响图像视差/距离与真实世界视差/距离之间的关系,并且因此影响所确定的视差和真实世界深度之间的关系。
用于确定深度的方法可以基于将透视投影方程式考虑到世界空间中的坐标。在广角图像的情况下,此方法可以考虑值(u,v)和D(u,v),或者在经修正的图像的情况下,此方法可以考虑(u变换,v变换)和D(u变换,v变换),其中,前者指示相应图像中的位置,后者表示所估计的该图像中的图像视差。根据这些,计算透视投影中的对应值(u透视,v透视)和D透视(u透视,v透视)。该投影中的视差值可以确定为偏移,但是现在它与两个图像相关,而且每个图像根据透视投影。并且,对于这样的未失真和校正后的图像对,在观察到的视差和深度之间存在简单的关系。根据所确定的透视投影的视差,能够仅使用传感器位移、焦距和基线来计算3D(x,y,z)坐标。例如,OpenCV计算机视觉库提供深度矩阵的视差,所述矩阵执行从图像坐标和视差到均匀矩阵中的x,y,z的映射。所确定的深度值能够因此存储为坐标(u,v)或(u变换,v变换)分别在广角图像或经修正的图像中的函数。只要我们认识到深度与透视投影相关,并在呈现期间对此进行补偿即可。
在一些实施例中,映射器203可以布置为将广角图像划分为多个图像部分,然后通过对每个图像部分应用子映射来执行映射。在这种情况下,不同图像部分中的具体子映射将是不同的。具体地,可以针对整个图像确定映射,例如,如前所述,然后可以确定要在每个图像部分中执行的对应映射,并将其作为子映射应用于该图像部分。这样的方法在许多实施例中可以是有利的。具体地,它可以促进或使得并行处理能够用于实施映射器203的函数性。在许多实施例中,这可以允许更快的操作,并且例如可以允许对视频流(即广角帧)的广角图像进行实时处理。
作为具体范例,在许多实施例或场景中,将广角图像划分为图块可以是有利的。然后可以分别映射每个图块,并且实际上可以针对每个图块分别执行视差估计。
图7示出一个范例,该范例示出了输入的广角图像的尺寸[以像素为单位]相对于等效的未失真的透视图像的尺寸[以像素为单位]。图8示出了三个图块中的图7的未失真的图像的可能的划分和非线性缩放。现在,每个图块测量2000x1000像素,这是适合视差估计的大小。应当注意,非线性缩放对于每个图块是不同的。
上面已经描述了关于广角(鱼眼)拍摄***的范例性实施例。在许多这样的图像拍摄***中,存在许多坐标系和映射。
首先,被拍摄的真实世界由通常独立于拍摄姿态的真实世界坐标系表示。在其中基于相机的位置和方向来表示真实世界的真实世界坐标被称为相机坐标系,即,相机坐标系基于相机姿态反映真实世界的3D坐标。因此,相机坐标系能够被认为是与拍摄相机的姿态在空间上同步的3D现实世界坐标系。
图像的拍摄将相机坐标系投影到图像坐标系,即存在从3D相机坐标X,Y,Z(或由球坐标表示)到2D图像坐标(例如(u,v);(x*,y*))的变换。
从3D相机坐标到2D图像坐标的不同投影是已知的。流行的一些包括等距投影r=fθ和透视投影r=f tan(θ)。这些投影表示从三维真实世界到二维平面的投影。
所描述的方法针对与这样一种从真实世界到2D图像平面的映射不同的映射,即,它引入从一组2D图像坐标到另一组2D图像坐标的映射,即,所述方法与两个图像之间的2D到2D映射相关。具体地,映射是从第一广角图像到经修正的图像,即,它是图像到图像的映射,而不是真实世界到图像平面的映射(即它不是从3D真实世界到所拍摄的图像的投影)。
术语投影通常可以指3D(例如球形)坐标到2D平面坐标的投影和/或从场景/相机坐标系到图像平面坐标系的投影。术语映射通常可以指图像坐标系之间的映射,并且具体地,映射器203被布置为在两个(平面)图像之间进行映射。映射器203执行2D映射。
此外,这种2D映射可以包括两个子映射。
第一个是从第一个广角图像(通常是由广角相机拍摄的图像)中的2D图像坐标(u,v)到中间图像的2D图像坐标(U透视,V透视)的子映射。
第二个是从中间图像的2D图像坐标(U透视,V透视)到经修正的2D图像坐标(U变换,V变换)的子映射。
这些(子)映射是2D图像坐标之间的所有2D映射。它们在不同的2D图像坐标系之间进行映射。它们不是从3D真实世界或相机坐标到2D图像坐标的映射。
当然,从3D场景到拍摄3D场景的任何2D图像都固有地存在投影。投影表示(例如,由视域表示的)3D场景的坐标如何投影到图像平面中的坐标。因此,第一广角图像、(可能是虚拟的)中间图像和经修正的图像中的每一个固有地具有从相机坐标到图像坐标的投影(对于不同的图像,投影是不同的)。
由第一广角图像表示的3D相机坐标的投影将取决于拍摄图像的相机的细节。在当前情况下,图像是具有投影的广角图像,其中,场景位置的垂直图像位置取决于从场景位置到广角图像的光轴的水平距离。它不是对极投影。
具体的投影将当然地取决于相机的特性,包括潜在的失真等。当前的方法不依赖于由相机所实施的任何具体投影,也不依赖于具有任何具体投影的拍摄图像。
可以通过合适的相机模型来建模广角拍摄。用于鱼眼镜头的常见模型是f-theta投影(请参见方程式2):
r=fθ。
然而,其他模型也是可能的。实际上,事实上,投影在细节上取决于镜头的具体属性。通常,投影是通过诸如上面的等距投影的低复杂度的“理想化”模型以及反映镜头的失真和不准确度的其他组件一起来建模的。在某些情况下,能够忽略这些失真。
第一子映射将第一广角图像中的2D图像坐标(u,v)变换为中间图像的2D图像坐标(U透视,V透视)。结果是,第一子映射将用于第一广角图像的投影改变为用于中间图像的不同投影。因此,存在于相机坐标与第一广角图像的2D图像坐标(u,v)之间的投影将改变为存在于相机坐标与中间图像的2D图像坐标(U透视,V透视)之间的不同投影。
实际上,在所描述的方法中,映射使得中间图像将具有从相机坐标到中间图像的2D图像坐标(U透视,V透视)的透视投影。因此,中间图像表示3D真实世界相机坐标在图像平面上的透视投影。
将第一广角图像的2D图像坐标(u,v)映射到中间图像的2D图像坐标(U透视,V透视)的具体的第一子映射将取决于从3D相机坐标到2D图像坐标(u,v)的投影。映射将使得映射的结果是具有透视投影的中间图像。因此,映射被选择为使得其产生与透视投影相对应的中间图像的2D图像坐标(U透视,V透视)。
对于所拍摄图像的,针对第一广角图像的投影(第一投影)将取决于拍摄相机的特性。如果已知或假设由相机执行的投影,则能够预先确定映射。例如,如果假设相机使用鱼眼镜头,导致f-theta投影,r=fθ,则直接跟随用于实现所生成的(中间)图像的透视投影的2D到2D图像映射。
然而,所述方法的一个具体优点是,它提供一种适合特定相机和拍摄投影的有效方法。具体地,复杂的算法是已知的,其能够搜索并适配对应于透视投影的将所拍摄的图像坐标映射到图像坐标的参数。许多这样的方法利用与下层理想投影相对应的相机模型,例如用于鱼眼镜头的f-theta投影,以及动态适配以补偿用于镜头的个体失真和不准确性的自适应非线性映射。该过程称为校正,并且在许多实施例中,当前方法可从能够使用这种校正算法而受益。
然而,如发明人已经意识到的,透视投影具有缺点,其对于诸如鱼眼图像之类的广角图像来说尤其关键。所述方法通过应用来自透视投影的非线性水平映射的第二子映射来解决此问题。这可以导致适合于视差估计并且不具有过多的存储要求或需要非常耗费资源的视差估计的图像。此外,映射可以在水平和垂直方向上是单独的。
本发明能够以包括硬件、软件固件或它们的任何组合的任何适当形式来实施。本发明可以可选地至少部分地实施为在一个或多个数据处理器和/或数字信号处理器上运行的计算机软件。本发明的实施例的元件和部件可以以任何合适的方式在物理上、功能上和逻辑上实施。实际上,可以在单个单元中、在多个单元中或作为其他功能单元的一部分来实现所述功能。因此,本发明可以在单个单元中实施,或者可以在物理上和功能上分布在不同的单元、电路和处理器之间。
尽管已经结合一些实施例描述了本发明,但是本发明并不旨在限于本文所阐述的具体形式。而是,本发明的范围仅由所附权利要求书限制。另外,尽管看起来可能结合具体实施例描述了特征,但是本领域技术人员应当认识到,可以根据本发明组合所描述的实施例的各种特征。在权利要求中,术语“包括”不排除其他元件或步骤的存在。
此外,尽管被单独列出,但是多个装置、元件、电路或方法步骤可以通过例如单个电路、单元或处理器来实施。另外,尽管单独的特征可以被包括在不同的权利要求中,但是这些特征可以被有利地组合,并且包括在不同的权利要求中并不意味着特征的组合是不可行和/或不利的。同样,在一个权利要求类别中包括特征并不意味着对该类别的限制,而是表示该特征适当地同样适用于其他权利要求类别。此外,权利要求中的特征的顺序并非暗示特征必须在其中以任何特定顺序进行工作,并且具体地,方法权利要求中的各个步骤的顺序并非暗示必须以该顺序执行步骤。而是,可以以任何合适的顺序执行步骤。另外,单数引用并不排除多个。因此,对“一”、“一个”、“第一”、“第二”等的引用不排除多个。权利要求中的附图标记仅作为说明性范例而提供,不应被解释为以任何方式限制权利要求的范围。
Claims (15)
1.一种装置,包括:
接收器(201),其用于接收第一广角图像,所述第一广角图像具有至少90°的视角和第一投影,在所述第一投影中,场景位置的垂直图像位置取决于从所述场景位置到针对所述广角图像的光轴的水平距离;
映射器(203),其用于将映射应用于所述第一广角图像,以生成具有经修正的投影的经修正的图像,所述映射提供垂直映射函数和水平映射函数,所述垂直映射函数匹配从所述第一投影到透视投影的映射、随后从所述透视投影到所述经修正的投影的经修正的垂直投影的非线性垂直映射,并且所述水平映射函数匹配从所述第一投影到所述透视投影的映射、随后从所述透视投影到所述经修正的投影的经修正的水平投影的非线性水平映射;
视差估计器(205),其用于生成针对所述经修正的图像的相对于表示与所述第一广角图像不同的视点的第二图像的一组视差;以及
视差映射器(501),其用于通过应用被应用于所述第一广角图像的所述映射的逆映射,通过将另一组视差映射到所述第一投影,来生成针对所述第一广角图像的所述另一组视差。
2.根据权利要求1所述的装置,其中,所述非线性垂直映射的映射函数与所述非线性水平映射的映射函数不同。
3.根据权利要求2所述的装置,其中,所述非线性垂直映射的所述映射函数比所述非线性水平映射的所述映射函数被更多地压缩。
4.根据前述权利要求中任一项所述的装置,其中,所述第二图像表示所述经修正的投影。
5.根据权利要求1所述的装置,还包括深度估计器(601),所述深度估计器被布置为响应于所述一组视差和所述非线性水平映射来确定所述经修正的图像的一组深度。
6.根据权利要求1所述的装置,其中,所述映射器(203)被布置为通过将第一映射应用于所述第一广角图像以生成具有所述透视投影的中间图像并且将第二映射应用于所述中间图像以生成所述经修正的图像来应用所述映射。
7.根据权利要求6所述的装置,其中,所述映射器被布置为执行针对所述第一广角图像的校正,作为所述第一映射的一部分。
8.根据权利要求1所述的装置,其中,所述映射器(203)被布置为将所述第一广角图像划分为多个图像部分,并且通过将子映射应用于每个图像部分来执行所述映射,针对所述多个图像部分中的至少两个的所述子映射是不同的。
9.根据前述权利要求中的任一项所述的装置,其中,所述映射器(203)被布置为执行立体校正,作为所述映射的一部分,所述立体校正相对于第二广角图像。
10.根据前述权利要求中的任一项所述的装置,其中,所述接收器(201)被布置为接收第二广角图像,所述第二广角图像针对与所述第一广角图像不同的视点并且具有至少90°的视角和所述第一投影;并且
所述映射器(203)被布置为通过将所述映射应用于所述第二广角图像来生成所述第二图像。
11.根据权利要求10所述的装置,其中,相对于针对所述第一广角图像和所述第二广角图像的光轴具有不同水平偏移量的场景位置被投影到所述第一广角图像和所述第二广角图像中的不同垂直位置。
12.根据权利要求11所述的装置,其中,所述映射将所述第一广角图像和所述第二广角图像中的所述不同垂直位置映射到所述经修正的图像和所述第二图像中的相同垂直位置。
13.根据前述权利要求中任一项所述的装置,其中,所述非线性水平映射具有随着到所述第一广角图像的中心的水平距离增加而减小的梯度。
14.一种估计视差的方法,所述方法包括:
接收第一广角图像,所述第一广角图像具有至少90°的视角和第一投影,在所述第一投影中,场景位置的垂直图像位置取决于从所述场景位置到用于所述广角图像的光轴的水平距离;
将映射应用于所述第一广角图像以生成具有经修正的投影的经修正的图像,所述映射提供垂直映射函数和水平映射函数,所述垂直映射函数匹配从所述第一投影到透视投影的映射、随后从所述透视投影到所述经修正的投影的经修正的垂直投影的非线性垂直映射,所述水平映射函数匹配从所述第一投影到所述透视投影的映射、随后从所述透视投影到所述经修正的投影的经修正的水平投影的非线性水平映射;
生成针对所述经修正的图像的相对于表示与所述第一广角图像不同的视点的第二图像的一组视差;并且
通过应用被应用于所述第一广角图像的所述映射的逆映射,通过将另一组视差映射到所述第一投影来生成针对所述第一广角图像的所述另一组视差。
15.一种计算机程序产品,包括计算机程序代码装置,所述计算机程序代码装置适于当所述程序在计算机上运行时执行根据权利要求14所述的所有步骤。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
EP18204567.4 | 2018-11-06 | ||
EP18204567.4A EP3651119A1 (en) | 2018-11-06 | 2018-11-06 | Disparity estimation from a wide angle image |
PCT/EP2019/080110 WO2020094575A1 (en) | 2018-11-06 | 2019-11-04 | Disparity estimation from a wide angle image |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112970044A true CN112970044A (zh) | 2021-06-15 |
CN112970044B CN112970044B (zh) | 2024-07-19 |
Family
ID=64270618
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201980073038.2A Active CN112970044B (zh) | 2018-11-06 | 2019-11-04 | 根据广角图像的视差估计 |
Country Status (8)
Country | Link |
---|---|
US (1) | US20210407037A1 (zh) |
EP (2) | EP3651119A1 (zh) |
JP (1) | JP7326442B2 (zh) |
KR (1) | KR20210087511A (zh) |
CN (1) | CN112970044B (zh) |
BR (1) | BR112021008558A2 (zh) |
TW (1) | TWI820246B (zh) |
WO (1) | WO2020094575A1 (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE102019200632B4 (de) * | 2019-01-18 | 2021-11-25 | Audi Ag | Bediensystem mit portabler Schnittstelleneinheit sowie Kraftfahrzeug mit dem Bediensystem |
US11797854B2 (en) * | 2019-07-08 | 2023-10-24 | Sony Semiconductor Solutions Corporation | Image processing device, image processing method and object recognition system |
US20230005213A1 (en) * | 2020-01-23 | 2023-01-05 | Sony Group Corporation | Imaging apparatus, imaging method, and program |
Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1700776A (zh) * | 2004-05-21 | 2005-11-23 | 株式会社东芝 | 三维图像显示方法、三维图像捕获方法以及三维显示装置 |
CN101156456A (zh) * | 2005-04-14 | 2008-04-02 | 株式会社东芝 | 用于为三维图像显示产生多视点图像的方法及其程序 |
US20100119172A1 (en) * | 2008-11-12 | 2010-05-13 | Chi-Chang Yu | Fisheye Correction with Perspective Distortion Reduction Method and Related Image Processor |
JP2012198077A (ja) * | 2011-03-18 | 2012-10-18 | Ricoh Co Ltd | ステレオカメラ装置、視差画像生成方法 |
CN103796002A (zh) * | 2014-01-21 | 2014-05-14 | 四川大学 | 基于正交投影的一维集成成像3d拍摄方法 |
CN103945207A (zh) * | 2014-04-24 | 2014-07-23 | 浙江大学 | 一种基于视点合成的立体图像垂直视差消除方法 |
US20150373318A1 (en) * | 2014-06-23 | 2015-12-24 | Superd Co., Ltd. | Method and apparatus for adjusting stereoscopic image parallax |
CN105592310A (zh) * | 2014-11-06 | 2016-05-18 | 迪士尼企业公司 | 用于投影仪校准的方法和*** |
CN108633331A (zh) * | 2015-05-05 | 2018-10-09 | 皇家飞利浦有限公司 | 用于自动立体显示器的图像的生成 |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH07254074A (ja) * | 1994-03-15 | 1995-10-03 | Toppan Printing Co Ltd | 視差画像作成方法および装置 |
JP5550970B2 (ja) * | 2010-04-12 | 2014-07-16 | 住友重機械工業株式会社 | 画像生成装置及び操作支援システム |
EP2820593B1 (en) * | 2012-03-01 | 2019-11-13 | Geo Semiconductor Inc. | Method and system for adaptive perspective correction of ultra wide-angle lens images |
JP5846549B1 (ja) * | 2015-02-06 | 2016-01-20 | 株式会社リコー | 画像処理システム、画像処理方法、プログラム、撮像システム、画像生成装置、画像生成方法およびプログラム |
US10979691B2 (en) * | 2016-05-20 | 2021-04-13 | Qualcomm Incorporated | Circular fisheye video in virtual reality |
US10699389B2 (en) * | 2016-05-24 | 2020-06-30 | Qualcomm Incorporated | Fisheye rendering with lens distortion correction for 360-degree video |
US10917633B2 (en) * | 2017-09-15 | 2021-02-09 | Intel Corporation | Generating stereoscopic light field panoramas using concentric viewing circles |
-
2018
- 2018-11-06 EP EP18204567.4A patent/EP3651119A1/en not_active Withdrawn
-
2019
- 2019-11-04 JP JP2021523269A patent/JP7326442B2/ja active Active
- 2019-11-04 EP EP19795031.4A patent/EP3877952B1/en active Active
- 2019-11-04 KR KR1020217017145A patent/KR20210087511A/ko not_active Application Discontinuation
- 2019-11-04 US US17/291,046 patent/US20210407037A1/en active Pending
- 2019-11-04 WO PCT/EP2019/080110 patent/WO2020094575A1/en unknown
- 2019-11-04 CN CN201980073038.2A patent/CN112970044B/zh active Active
- 2019-11-04 BR BR112021008558-0A patent/BR112021008558A2/pt unknown
- 2019-11-05 TW TW108140023A patent/TWI820246B/zh active
Patent Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1700776A (zh) * | 2004-05-21 | 2005-11-23 | 株式会社东芝 | 三维图像显示方法、三维图像捕获方法以及三维显示装置 |
CN101156456A (zh) * | 2005-04-14 | 2008-04-02 | 株式会社东芝 | 用于为三维图像显示产生多视点图像的方法及其程序 |
US20100119172A1 (en) * | 2008-11-12 | 2010-05-13 | Chi-Chang Yu | Fisheye Correction with Perspective Distortion Reduction Method and Related Image Processor |
JP2012198077A (ja) * | 2011-03-18 | 2012-10-18 | Ricoh Co Ltd | ステレオカメラ装置、視差画像生成方法 |
CN103796002A (zh) * | 2014-01-21 | 2014-05-14 | 四川大学 | 基于正交投影的一维集成成像3d拍摄方法 |
CN103945207A (zh) * | 2014-04-24 | 2014-07-23 | 浙江大学 | 一种基于视点合成的立体图像垂直视差消除方法 |
US20150373318A1 (en) * | 2014-06-23 | 2015-12-24 | Superd Co., Ltd. | Method and apparatus for adjusting stereoscopic image parallax |
CN105592310A (zh) * | 2014-11-06 | 2016-05-18 | 迪士尼企业公司 | 用于投影仪校准的方法和*** |
CN108633331A (zh) * | 2015-05-05 | 2018-10-09 | 皇家飞利浦有限公司 | 用于自动立体显示器的图像的生成 |
Non-Patent Citations (1)
Title |
---|
崔宝侠;栾婷婷;张驰;段勇;: "基于双目视觉的机器人运动目标检测与定位", 沈阳工业大学学报, no. 04 * |
Also Published As
Publication number | Publication date |
---|---|
JP2022506104A (ja) | 2022-01-17 |
CN112970044B (zh) | 2024-07-19 |
KR20210087511A (ko) | 2021-07-12 |
EP3877952B1 (en) | 2023-10-04 |
EP3877952C0 (en) | 2023-10-04 |
BR112021008558A2 (pt) | 2021-08-03 |
WO2020094575A1 (en) | 2020-05-14 |
TWI820246B (zh) | 2023-11-01 |
EP3651119A1 (en) | 2020-05-13 |
EP3877952A1 (en) | 2021-09-15 |
US20210407037A1 (en) | 2021-12-30 |
TW202029056A (zh) | 2020-08-01 |
JP7326442B2 (ja) | 2023-08-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10609282B2 (en) | Wide-area image acquiring method and apparatus | |
US9438878B2 (en) | Method of converting 2D video to 3D video using 3D object models | |
US9241147B2 (en) | External depth map transformation method for conversion of two-dimensional images to stereoscopic images | |
US9357206B2 (en) | Systems and methods for alignment, calibration and rendering for an angular slice true-3D display | |
JP5340952B2 (ja) | 三次元投影ディスプレイ | |
JP4942221B2 (ja) | 高解像度仮想焦点面画像生成方法 | |
US7643025B2 (en) | Method and apparatus for applying stereoscopic imagery to three-dimensionally defined substrates | |
US20120182403A1 (en) | Stereoscopic imaging | |
US20070248260A1 (en) | Supporting a 3D presentation | |
US20090002394A1 (en) | Augmenting images for panoramic display | |
CN112970044B (zh) | 根据广角图像的视差估计 | |
US11812009B2 (en) | Generating virtual reality content via light fields | |
CA2540538C (en) | Stereoscopic imaging | |
CN112995638A (zh) | 自动调节视差的裸眼3d采集和显示***及方法 | |
Knorr et al. | An image-based rendering (ibr) approach for realistic stereo view synthesis of tv broadcast based on structure from motion | |
US20220165015A1 (en) | Image signal representing a scene | |
KR101742018B1 (ko) | 홀로그램을 이용한 전시시스템 및 이를 이용한 홀로그램 전시방법 | |
Knorr et al. | From 2D-to stereo-to multi-view video | |
CN115004683A (zh) | 成像装置、成像方法和程序 | |
Yamada et al. | Multimedia ambience communication based on actual moving pictures in a steroscopic projection display environment | |
CN113821107A (zh) | 一种实时、自由视点的室内外裸眼3d*** |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant |