CN109997170B - 用于从视图中获得距离信息的设备和方法 - Google Patents
用于从视图中获得距离信息的设备和方法 Download PDFInfo
- Publication number
- CN109997170B CN109997170B CN201680091169.XA CN201680091169A CN109997170B CN 109997170 B CN109997170 B CN 109997170B CN 201680091169 A CN201680091169 A CN 201680091169A CN 109997170 B CN109997170 B CN 109997170B
- Authority
- CN
- China
- Prior art keywords
- epipolar
- image
- line
- pixels
- epipolar line
- 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.)
- Active
Links
- 238000000034 method Methods 0.000 title claims abstract description 100
- 238000003708 edge detection Methods 0.000 claims abstract description 9
- 238000012545 processing Methods 0.000 claims description 19
- 238000004422 calculation algorithm Methods 0.000 claims description 16
- 238000004458 analytical method Methods 0.000 claims description 4
- 238000004590 computer program Methods 0.000 claims description 4
- 238000010801 machine learning Methods 0.000 claims description 2
- 230000008569 process Effects 0.000 description 21
- 238000012417 linear regression Methods 0.000 description 16
- 239000011159 matrix material Substances 0.000 description 16
- 238000004364 calculation method Methods 0.000 description 12
- 230000004075 alteration Effects 0.000 description 11
- 238000006243 chemical reaction Methods 0.000 description 5
- 230000008859 change Effects 0.000 description 4
- 239000006185 dispersion Substances 0.000 description 3
- 238000006073 displacement reaction Methods 0.000 description 3
- 238000012804 iterative process Methods 0.000 description 3
- 230000003287 optical effect Effects 0.000 description 3
- 238000013459 approach Methods 0.000 description 2
- 238000013461 design Methods 0.000 description 2
- 238000010586 diagram Methods 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- 238000005286 illumination Methods 0.000 description 2
- 238000003384 imaging method Methods 0.000 description 2
- 238000005259 measurement Methods 0.000 description 2
- 230000000877 morphologic effect Effects 0.000 description 2
- 238000013139 quantization Methods 0.000 description 2
- 238000012935 Averaging Methods 0.000 description 1
- 230000002159 abnormal effect Effects 0.000 description 1
- 230000006978 adaptation Effects 0.000 description 1
- 230000002547 anomalous effect Effects 0.000 description 1
- 238000013473 artificial intelligence Methods 0.000 description 1
- 230000015572 biosynthetic process Effects 0.000 description 1
- 230000007423 decrease Effects 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 230000005855 radiation Effects 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
- 238000005070 sampling Methods 0.000 description 1
- 238000001228 spectrum Methods 0.000 description 1
- 230000009466 transformation Effects 0.000 description 1
- 238000011144 upstream manufacturing Methods 0.000 description 1
Classifications
-
- 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/557—Depth or shape recovery from multiple images from light fields, e.g. from plenoptic cameras
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T5/00—Image enhancement or restoration
- G06T5/70—Denoising; Smoothing
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/10—Segmentation; Edge detection
- G06T7/13—Edge detection
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/10—Segmentation; Edge detection
- G06T7/155—Segmentation; Edge detection involving morphological operators
-
- 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
- G06T2200/00—Indexing scheme for image data processing or generation, in general
- G06T2200/28—Indexing scheme for image data processing or generation, in general involving image processing hardware
-
- 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/10—Image acquisition modality
- G06T2207/10004—Still image; Photographic image
- G06T2207/10012—Stereo images
-
- 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/10—Image acquisition modality
- G06T2207/10016—Video; Image sequence
-
- 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/10—Image acquisition modality
- G06T2207/10052—Images from lightfield camera
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Length Measuring Devices By Optical Means (AREA)
- Image Processing (AREA)
- Studio Devices (AREA)
- Image Analysis (AREA)
- Radar Systems Or Details Thereof (AREA)
- Measurement Of Optical Distance (AREA)
- Testing, Inspecting, Measuring Of Stereoscopic Televisions And Televisions (AREA)
Abstract
用于从视图获得距离信息的设备和方法。该方法包括从由光场获取设备(100)捕获的光场(501)生成极线图像(502,503);边缘检测步骤(508,509),用于在极线图像(502,503)中检测由光场获取设备(100)捕获的场景中的物体的边缘;在每个极线图像(502,503)中,检测由边缘的集合形成的有效极线线(510,511);确定有效极线线(510,511)的斜率(512,513)。边缘检测步骤(508,509)可以包括为极线图像(502,503)的每个像素计算二阶空间导数(506,507)并检测二阶空间导数的过零,以检测具有子像素精度的物体边缘。该方法可以由低成本移动设备(1000)执行,以从深度相机记录计算实时深度图。
Description
技术领域
本发明包括在数字图像处理领域中,并且更具体地,涉及用于从图像估计距离和生成深度图的方法。
背景技术
全光相机是能够不仅捕获场景的空间信息而且还捕获角度信息的成像设备。这种捕获的信息称为光场,其可以被表示为四维函数LF(px,py,lx,ly),其中px和py选择光线到达传感器的方向,lx、ly是那条光线的空间位置。全光相机通常由放置在传感器前面的微透镜阵列形成。这个***相当于从若干视点捕获场景(所谓的全光视图,就像若干相机均匀分布在全光相机的等效光圈周围)。通过将变量px、py固定到某对值,从光场获得全光视图。可以捕获光场的另一个***可以由若干相机的阵列形成。因而,在光场中隐含地捕获关于场景的不同物体的深度(即,物体本身和相机之间的距离)的信息。
提取物点的深度信息的一般方法是测这个物点的图像在场景的若干捕获的全光视图上的位移。位移或视差(disparity)直接与物体的实际深度相关。为了获得点的视差,有必要在若干视图中(或至少在两个视图中)识别相同点的位置。为了解决这个问题,通常使用视图之间的对应算法。考虑某个视图的一个点,这些方法分析周围区域并尝试在其余视图中找到最相似的区域,从而识别其余视图中相同点的位置。一旦获得视差并且知道设备结构的参数,就有可能通过三角测量方法获得对应的深度。还有可能通过将光场重新聚焦到若干深度平面并检测更聚焦的图像的区域来确定深度信息。这些方法的主要缺点是它们计算量太大,无法在移动平台上获得实时深度图。
从光场获得场景的深度信息的另一种方式是分析极线(epipolar)图像。极线图像是光场的二维切片。通过固定变量py、ly形成水平极线图像,并通过固定变量px、lx形成垂直极线图像。水平/垂直极线图像可以被理解为不同视图py/px的相同线ly/lx的堆叠。假设相同的物点被全光相机中的所有视图捕获,那么在极线图像中形成与不同点对应的线。全光相机中相邻视图之间的最大位移为±1像素。因此,在这种设备中可以避免对应算法,因为与某一行对应的每个点都直接连接到极线图像中其余视图的同一点。但是,如傅立叶域技术和离焦深度(depth-from-defocus)技术的当前全光相机算法在计算上非常低效,因为它们分析并处理图像的所有点(不仅是边缘,如在本发明中那样)。另一方面,简单的光场梯度方法(在水平和垂直方向上)产生非常差的深度图,具有不可靠的深度估计。而且,这些实现不能处理实时视频图像,花费几百毫秒到几分钟仅处理单个帧。
因此,需要一种非常高效的方法,使得移动设备(诸如移动电话、平板电脑或笔记本电脑)中的全光相机和3D图像能够计算深度图并处理实时视频图像(例如,每秒60帧)。
发明内容
本发明涉及计算机实现的方法和设备,其通过处理由全光相机或任何其它光场获取设备、全光功能采样设备或整体图像获取设备捕获的光场图像来获得深度图。该方法在计算上非常高效,因此即使在具有由电池操作的低成本处理器的低成本移动设备中(其中需要高效的计算以避免快速耗尽电池),它也可以用于获得实时深度图。
本发明使用非常高效的算法,该算法允许在全光相机、移动设备(移动电话、平板电脑、笔记本电脑、小型相机等)、运动感测输入设备和3D相机中的3D图像通过识别物体边缘并仅为识别出的边缘计算深度来处理实时视频图像(以每秒60帧和甚至更高的速度)。
在极线图像中产生的线的斜率与场景中的物体的实际深度之间存在关系。因此,通过检测极线图像的线的斜率,有可能生成场景的深度图。通常,基于极线图像的二维梯度的方法用于获得对应的斜率。也可以采用基于四维梯度的类似方法(因此,计算上更昂贵)。与所有这些方法相反,本方法仅针对边缘计算场景的深度,从而大大降低了计算要求。
为了本发明的描述,下文中将考虑以下定义:
-全光相机:不仅能够捕获空间位置而且还能够捕获入射光线到达方向的设备。
-光场:四维结构LF(px,py,lx,ly),其包含来自由全光相机中微透镜(lx,ly)下方的像素(px,py)捕获的光的信息。
-深度:场景的物点的平面与相机的主平面之间的距离,这两个平面都垂直于光轴。
-极线图像:通过选择(px,lx)(垂直极线图像)或(py,ly)(水平极线图像)的某个值而构成的光场结构的二维切片。
-水平-中心极线图像:通过选择微透镜下面的py维度的中心像素作为py和任何ly构成的极线图像(光场结构的二维切片)。
-垂直-中心极线图像:通过选择微透镜下方的px维度的中心像素作为px和任何lx构成的极线图像(光场结构的二维切片)。
-极线线:在极线图像内连接的、被检测为边缘的像素的集合,(即,连接的边缘像素的集合)。
-有效的极线线:其形状符合预期由物体世界中的边缘在理想相机中创建的形状的极线线,没有像差、未对准和制造公差。
-全光视图:通过选择某个值(px,py)获取光场结构的子集而形成的二维图像,对于每个微透镜(lx,ly)选择相同的(px,py)。
-深度图:二维图像,其中将物体世界的计算出的深度值(dz)作为附加值添加到二维图像的每个像素(dx,dy),构成(dx,dy,dz)。
-微透镜阵列:小透镜(微透镜)的阵列。
-微图像:由传感器上方的某些微透镜产生的主光圈的图像。
根据本发明的一方面,提供了一种用于从光场获得深度信息的方法。该方法包括以下步骤:从由光场获取设备(诸如全光相机)捕获的光场生成多个图像(例如,至少一个水平极线图像、至少一个垂直极线图像或其组合);边缘检测步骤,用于在极线图像中检测由光场获取设备捕获的场景中的物体的边缘;在每个极线图像中,检测由边缘集合形成的有效极线线;确定有效极线线的斜率。
在实施例中,边缘检测步骤包括计算极线图像的每个像素的二阶空间导数并检测二阶空间导数的过零。确定有效极线线的斜率的步骤可以包括将线拟合应用于检测到的边缘。
在极线图像中检测有效的极线线可以包括将极线线确定为连接的边缘的集合并分析极线线以确定极线线是否有效。极线线优选地被确定为连接的边缘像素的集合。在实施例中,分析极线线以确定它们是否有效包括检查与至少一个标准的依从性。在实施例中,标准涉及形成极线线的像素的数量超过确定的阈值(例如,形成极线线的像素的数量必须至少等于对应极线图像的高度的像素的数量)。另一个标准可以指在极线图像内边缘像素的方向的一致性。在实施例中,采用先前标准的组合。可替代地,代替检查与至少一个标准的依从性,分析极线线以确定极线线是否有效可以包括形态分析、启发式方法或机器学习算法。在实施例中,极线线的分析可以包括忽略在极线图像的顶部和/或底部的一行或若干行像素。
该方法还可以包括生成将斜率指派给物体世界中的位置的斜率图。在实施例中,生成斜率图的步骤包括仅将斜率值指派给检测到的边缘。生成斜率图的步骤还可以包括应用填充算法以将斜率值指派给斜率图的位置,同时考虑先前针对检测到的边缘获得的斜率。该方法可以包括从针对同一位置的不同有效极线线获得的冗余斜率的组合生成单个斜率图。在实施例中,丢弃指派给相对于这种位置的其余值具有高色散的某个位置的斜率。
该方法还可以包括生成将深度值指派给物体世界中的位置的深度图,其中通过将斜率到深度的转换应用于斜率图来获得深度图。根据另一个实施例,该方法包括获得与有效极线线的斜率对应的深度值,以及生成将深度值指派给物体世界中的位置的深度图。
生成深度图的步骤可以包括仅将深度值指派给检测到的边缘。生成深度图的步骤可以包括应用填充算法以考虑先前针对检测到的边缘获得的深度值而将深度值指派给深度图的位置。该方法可以包括从针对相同位置的不同极线图像获得的冗余深度值的组合生成单个深度图来生成单个深度图。在实施例中,丢弃指派给相对于这种位置的其余值具有高色散的某个位置的斜率。
在实施例中,该方法包括生成斜率图和/或深度图,其中通过使用在过零中获得的子像素精度,斜率和/或深度图的位置的数量高于微透镜的数量。
在实施例中,仅获得每条有效极线线的一个斜率值。该方法还可以包括将滤波器应用于极线图像以在边缘检测阶段之前获得经滤波的极线图像的步骤。
根据本发明的另一方面,提供了一种用于从光场生成深度图的设备。该设备包括处理装置,该处理装置被配置为执行先前解释的方法的步骤。在实施例中,该设备可以包括光场获取设备,诸如全光相机。优选地,该设备是电子移动设备,诸如智能电话、平板电脑、笔记本电脑或小型相机。处理装置可以包括:第一CPU,被配置为获得并分析水平极线图像;以及第二CPU,被配置为获得并分析垂直极线图像。在另一个实施例中,处理装置包括多核处理器。可替代地或者作为附加,处理装置可以包括图形处理单元。
根据本发明的又一方面,提供了一种用于从由全光相机捕获的图像生成深度图的计算机程序产品,包括计算机代码指令,当计算机代码指令由处理器执行时,使得处理器执行先前解释的方法。在实施例中,该计算机程序产品包括至少一个计算机可读存储介质,其上记录有计算机代码指令。
附图说明
下面非常简要地描述一系列附图,这些附图有助于更好地理解本发明并且与作为其非限制性示例的所述发明的实施例明确相关。
图1A表示全光相机捕获放置在微透镜阵列的共轭平面处的物体的光。图1B图示了由全光相机的图像传感器捕获的光。
图2A和2B示出了全光相机捕获放置得比微透镜阵列的共轭平面更近的物体的光。
图3A和3B描绘了全光相机捕获放置得比微透镜阵列的共轭平面更远的物体的光。
图4A-4D描绘了图1、2和3的示例的水平和垂直中心极线图像的形成处理。
图5描绘了根据实施例的用于通过分析在极线图像中检测到的线来确定物体世界中的点的深度的处理流程的图。
图6A-6C示出了在极线图像中有效和无效极线的各种示例。图6D-6G示出了图6A的示例中的极线线的斜率的计算处理。图6H-6J图示了图6B的极线线的斜率的计算处理。
图7A-7E示出了包括若干条极线线的极线图像,以及对应斜率的计算处理。
图8描绘了稀疏深度图的示例,其示出了处于不同深度的三个物体。
图9描绘了密集深度图的示例,其示出了处于不同深度的三个物体。
图10A-10C示出了执行本发明方法的电子移动设备的不同实施例。
具体实施方式
本发明涉及用于从光场生成深度图的设备和方法。可以通过多种设备捕获光场。为简单起见,下文将仅考虑全光相机。不过,本文描述的方法可以应用于由任何其它设备(包括其它整体成像设备)捕获的光场。
常规相机仅捕获由传感器捕获的光线的二维空间信息。此外,还可以通过使用所谓的Bayer构图的传感器或其它颜色传感器来捕获颜色信息。全光相机不仅捕获这个信息,而且还捕获光线的到达方向。通常,通过在主透镜和传感器之间放置微透镜阵列来制作全光相机。每个微透镜(lx,ly)在传感器上形成主光圈的小图像。这些小图像被称为微图像,使得任何微图像的每个像素(px,py)捕获来自主光圈的不同部分的光线,任何微透镜下方的每个微图像都是主透镜光圈的图像,并且每个微透镜中位置px1,py1或pxn,pyn中的每个像素对来自与微透镜位置无关的光圈(axn,ayn)的给定部分的光进行积分。穿过来自物体世界的不同位置的位置(axn,ayn)的光圈的光将命中不同的微透镜,但是将始终通过像素(pxn,pyn)进行积分。因而,微图像内的像素的坐标(px,py)确定捕获的光线到达给定微透镜的到达方向,并且(lx,ly)确定二维空间位置。所有这些信息被称为光场,并且可以用四维矩阵LF(px,py,lx,ly)或者,如果考虑颜色信息(c),那么五维矩阵LF(px,py,lx,ly,c)表示。下文仅考虑单色传感器。这些传感器捕获它们被设计用于的整个光谱的感测到的光强度。但是,本文描述的发明可以直接扩展到还捕获颜色信息的传感器,这对于本领域的专家来说是清楚的。本发明对这类传感器的可能适应(adaptation)是将本文描述的方法分开应用于每个颜色通道,以便进一步增加深度估计的冗余度。
距相机不同深度或距离处的物体在全光相机的传感器上产生不同的照明模式。图1A描绘了全光相机100的示意性二维视图,其包括主透镜102、微透镜阵列104(由聚集成行和列的多个微透镜105形成)以及位于微透镜阵列104后面以感测强度、颜色和方向信息的图像传感器106。在图1A所示的示例中,全光相机100从放置在微透镜阵列104的共轭平面处的物点110捕获传入的光线108。图1B表示由全光相机100的图像传感器106捕获的光。网格的每个单元格表示由图像传感器106上方的每个微透镜105产生的微图像112。
当物点110的图像聚焦在微透镜阵列104上时,物点110通过全光相机100的主透镜102放置在MLA的共轭平面上,并且仅在微透镜105上方的无穷小点被照亮(实际上,不是无穷小点而是衍射图案)。此外,由于微透镜105和图像传感器106之间的间隔近似为微透镜105的焦距,因此对应微图像112的所有像素收集完全相同的光强度,如图1B中所示。在本文示出的图像传感器平面上方的所有图像中,黑色用于表示光的缺乏并且像素越白,它们被照射越多,灰度级意味着部分照明。
另一方面,在物体世界中比微透镜阵列104的共轭平面更近的场景的物点110将照射更多的微透镜105,因为图像世界中的焦点将比微透镜阵列104更远(更朝着右侧),由传感器像素捕获的图案将不同。这个场景的图在图2A中示出,而图2B示出了在图像传感器106上方产生的对应图案。
相反,比微透镜阵列104的共轭平面更远的物点110也照射更多的微透镜105,但是现在焦点比微透镜阵列104的位置更靠近主透镜102,因此,由图像传感器106捕获的图案与前两种情况不同,如图3A和3B中所示。一些微图像112中的灰度级与部分照射的像素对应,而在白色像素中,像素的整个区域已被来自物体世界中的物点110的光命中。
由图像传感器106捕获的光场的这各种图案可以通过取得光场的二维切片以极线图像表示。图4A-4C分别针对图3A-3C的每个场景描绘了通过重新组织由图像传感器106捕获的像素的水平极线图像400(上部行)和垂直极线图像402(下部行)的生成处理。在图4A的示例中,物点110放置在微透镜阵列104的共轭平面处,在图4B中,物点110放置得比微透镜阵列104的共轭平面更近,而在图4C中,物点110放置得比微透镜阵列104的共轭平面更远。
通过固定光场的坐标(py,ly)形成水平极线图像400,而通过固定坐标(px,lx)形成垂直极线图像402。在图4A-4C中,水平极线图像400和垂直极线图像402分别是水平-中心极线图像和垂直-中心极线图像,因为已经对极线图像固定的像素py和px是它们相应的微透镜的中心-水平和中心-垂直像素。图4A-4C示出了垂直极线图像402(下行)和水平极线图像400(上行)如何直接从捕获的光场形成。
图4D更详细地示出了通过堆叠位于与同一行ly中定位的微透镜105(在图4D的示例中,ly=3,微透镜阵列104的水平-中心微透镜105)对应的微图像112的高度py=Y的像素线(410、412、414、416、418)形成的水平极线图像400(图4A的上行的缩放视图)的生成处理。由于微图像112中的像素线(410、412、414、416、418)的所选高度py=Y是中心高度,因此水平极线图像400被认为是水平-中心极线图像。未绘出形成图4D中的每条像素线(410、412、414、416、418)的各个像素(px=1,px=2,...)。相反,每个垂直极线图像(402)通过堆叠位于与同一列lx中定位的微透镜105对应的微图像112的确定宽度px=X的像素线而形成。
如在图4A-4D中可以看到的,在水平极线图像400和垂直极线图像402中,形成了极线线430(颜色为白色)。这条极线线430的所有被照射像素(白色像素)与物体世界中的相同物点110对应,如图1B-3B的示例中所示。极线线430是在极线图像内连接的、被检测为边缘的被照射像素(非黑色像素)的集合。此外,极线线430的斜率与在微透镜104上方和图像传感器106上方被照射的图案的类型以及与物体世界中物点110的对应深度直接相关。在图4D的示例中,极线线430的斜率是∞(相对于水平轴的角度=90°),其与使得物点110被放置在微透镜阵列104的共轭平面处的距离对应(图1A)。如果斜率为正(角度小于90°),那么物点110更靠近主透镜102(图2A),而如果斜率为负(角度高于90°),那么物点110远离主透镜102(图3A)。
因此,通过了解这个图案,有可能通过全光相机100反向跟踪由像素采样的图案,并获得产生这种图案的物点110的确切深度(dz)。深度和斜率之间的关系取决于用于捕获光场的全光相机100的物理维度和设计(已知)。
因而,极线线430的某个斜率明确地与真实三维世界场景的物点110的某个深度相关。
极线线的估计斜率包含某个物体的深度信息。斜率和深度是同一枚硬币的两面(有可能以确定的方式从斜率获得深度,反之亦然,转换中仅有由于传感器像素不是无穷小的事实引起的量化误差)。斜率本身足以获得关于场景的不同物体的相对深度的信息。这个相对信息(即,斜率)对于一些不必提供绝对深度信息的应用是有用的,诸如识别场景中位于相同深度(相同斜率)的不同物体。因此,在这种场景中,斜率的计算就足够了,并且可以省略斜率到深度的转换。
本发明的方法基于仅针对在微透镜阵列104上方的世界投影上存在边缘的区域(或者同样,物体世界上的边缘是什么)的深度的计算。在优选实施例中,对形成极线线430的被照射像素应用线性回归,以便获得某个斜率。当分析水平400或垂直402极线图像中的极线线430时,考虑沿着水平(px)或垂直(py)维度分布的所有全光视图,因为相同的物点110已被所有这些视图捕获。因此,线性回归技术通过利用沿着一维的冗余信息来减少统计噪声。
此外,该方法包括通过分析水平400和垂直402极线图像中的相同物点110并且考虑利用包含相同物点110的信息的各种极线图像(400、402)获得的深度值来进一步减少统计噪声的附加阶段(例如,清楚的是,如图1至4中所示,物体世界中的独特物点110在图像传感器106的若干点中产生若干印记,并且那些印记出现在若干垂直和若干水平极线图像)。
在实施例中,识别在水平400和垂直402极线图像中形成的所有极线线430,并计算对应的斜率。然后,通过考虑设备的物理维度来计算物点110的对应深度。
由于极线线由从若干视点捕获的相同物点110形成,因此仅计算每条极线线430的一个斜率和深度值。因此,由于以下两个因素,数据量急剧减少:
(i)与处理由图像传感器106捕获的所有点的其它方法相比,本方法仅处理感兴趣的点(即,被检测为边缘的物体世界的区域),因为它们创建了极线线(因为物体世界完全均匀没有边缘的区域不产生任何极线而是均匀的颜色)。
(ii)有可能每条极线线430仅存储一个斜率值,而不是为形成极线线430的每个像素存储一个值。
因此,这个计算处理的输出可以仅是这些检测到的斜率的对应深度值。
根据实施例,通过分析水平400和垂直402极线图像以及极线线430获得的斜率被组合成一个四维矩阵以减少统计噪声,这是由于输出的可靠性通过附加测量的冗余性得以提高,因为在分析垂直402和水平400极线图像两者时考虑同一个传感器像素,因此可以由物体世界的相同点产生若干斜率值。
通过考虑全光相机100的物理参数,将计算出的斜率变换为对应的物体深度。在实施例中,在组合所有冗余斜率之后执行这个变换阶段,从而大大减少斜率到深度变换的数量。
在另一个实施例中,先前生成的深度/斜率的四维矩阵被组合成二维稀疏深度/斜率图(稀疏是因为它仅在物体世界中存在边缘的情况下提供读数),从而进一步减少统计噪声并因此提高了深度图的质量。
在又一个实施例中,为水平400和垂直402极线图像中的极线线430计算的深度/斜率被直接组合成二维稀疏深度/斜率图,因此执行单个组合阶段,这提高了计算效率。
在实施例中,通过应用图像填充技术来填充稀疏深度/斜率图,以获得每个像素(dx,dy)的深度/斜率值。
在又一个实施例中,由如图4A-4D所示,仅水平-中心极线图像(通过将坐标py设置为等于微图像112内的py维度中的中心像素而形成)和/或仅垂直-中心极线图像(通过使坐标px等于微图像中的px维度中的中心像素而形成)被考虑,其目的是减少要分析的极线图像的数量,从而以减少统计冗余为代价来提高性能。
本发明的方法可以在配备有全光相机的移动设备(例如智能电话、平板电脑或笔记本电脑)中实现。
图5示出了根据实施例的用于生成深度图的方法的流程图。为了生成深度图,该方法从由全光相机100捕获的光场501生成水平502和垂直503极线图像。对于生成的每个水平502和垂直503极线图像,识别在极线图像内的有效极线线(510、511)。然后,计算这些有效极线线(510、511)的斜率(512、513),并最终获得对应的深度值(514、515)。
图5描述了识别和处理有效极线线(510、511)的过程,该过程将捕获的光场501作为输入并处理所有水平502和垂直503极线图像(图5中的“EPI”),执行以下步骤:
-对于每个水平极线图像502,针对(py,ly)值的固定对获得:
ο沿着lx维度应用一维(或更高)滤波器以便减少噪声,从而获得经滤波的水平极线图像504。
ο对于每个像素(px,lx),对沿着lx维度的像素的光强度或对比度在像素(px,lx)处计算二阶空间导数506。
ο通过分析具有子像素精度的极线,更具体而言,通过检测二阶空间导数的过零,来确定物体世界的边缘508。
ο搜索正确布置的每个过零,从而形成有效极线线510,丢弃无效极线线。
-对于每个垂直极线图像503,针对(px,lx)值的固定对获得:
ο沿着ly维度应用一维滤波器以减少噪声,从而获得经滤波的垂直极线图像505。
ο对于每个像素(py,ly),沿着ly维度计算二阶空间导数507。
ο通过分析具有子像素精度的极线,更具体而言,通过检测二阶空间导数的过零,来确定物体世界的边缘509。
ο搜索正确布置的每个过零,从而形成有效极线线511,丢弃无效极线线。
-对于在水平和垂直极线图像中找到的每条有效极线线(510、511),通过执行线性回归技术(但也可以使用任何其它拟合技术),子像素精度边缘被用于确定有效极线线(510、511)的斜率(512、513)。
-对于每个计算出的斜率,应用斜率到深度转换(514、515)。
-最后,生成深度的两个矩阵,用于水平极线图像502的水平深度矩阵516和用于垂直极线图像503的垂直深度矩阵517。
可以可选地丢弃降噪滤波器步骤以获得经滤波的水平504或垂直505极线图像,以提高处理速度。
在另一个实施例中,将两个斜率矩阵(从水平502和垂直503极线图像获得)组合成单个斜率矩阵,并最终获得单个深度矩阵。
根据实施例,二阶空间导数的过零由二阶导数的连续正-负或负-正值识别。此外,为了获得子像素精度,考虑这些点的二阶导数的量值以确定实际过零发生的位置。本领域专家将认识到,许多其它边缘检测方法(诸如Canny边缘检测器操作器、曲线拟合方法或基于矩的方法)也可以用于此目的,并且本文描述的技术不限于过零方法。不过,在确定由检测到的边缘形成的线的斜率时,尽可能获得最大准确性是非常重要的,这就是为什么确定边缘的子像素精度非常重要的原因。所提出的方法的目标之一是计算高效(在选择要采用的边缘检测算法时应当考虑这个要求)。
物体世界的完全均匀(没有任何纹理或颜色对比度)的区域将不会产生任何极线线,因为所有像素将记录非常相同的光强度,而与光源到相机的距离无关。图1至4中所示的所有实施例与“暗”物体世界对应,其中仅有一个辐射点光源(物点110)在极线图像(400、402)内产生极线线430。
在实际情况下,通过对比度的改变或颜色的改变来创建极线线430,这就是为什么极线线430与物体世界中的边缘(颜色或对比度的改变)对应的原因。
因此,极线线430由物体边缘产生。极线图像的一阶导数(即,对于像素的强度)提供梯度(即,光强度或对比度改变的快速性)。二阶导数指示对比度改变最快的位置(与物体世界中的物体边缘对应)。由于二阶导数不一定在给定像素处具有过零(因为它取决于像素中的光强度值,例如图6A中的极线图像具有某个灰度级),因此利用子像素精确确定物体边缘。
正是由于全光相机100的本质和设计约束,在极线图像内形成有效极线线(510、511)的像素必须处于相邻位置(即,形成有效极线线的点必须连接)并且必须构成线,其所有点朝着与我们在极线线上自上而下或自下而上的相同方向前进。
图6A-6C描绘了在极线图像600中有效极线线610的示例(图6A)以及在相应极线图像(602、604)中的无效极线线(612、614)的若干示例(图6B和6C)。在优选实施例中,当在极线图像中寻找边缘以形成有效极线线时仅考虑相邻位置(从检测为边缘的中心像素开始,图6A-6C中的箭头表示为确定形成极线线的连接边缘像素所考虑的相邻位置)。因此,如图6A所示的极线线610被认为是有效的,而如图6B中所示的极性线612被检测为无效,因为极线图像602的顶部620处的像素和底部622处的像素未连接到极线线612的其余部分。
初看起来,如图6C中所示的极线线614可以被认为是有效的极线线。但是,由于全光相机100的性质,这种线不会在无瑕疵的设备中发生(顶部630处和底部632处的像素不遵循与极线线的其余部分相同的方向)。在一个实施例中,在计算极线线的斜率时可以省略这些线的这些极端像素(630、632),并且仍被认为是有效的极线线,因为外部像素可能来自主透镜的像差。以这种方式,我们折衷接收光功率和斜率辨别能力以减少由穿过光圈的最异常(aberrated)***部分的光线形成的极端像素的像差。也可以将整条线标记为无效,以避免用无效的极线线执行计算。
启发式地,通过视觉检查线的形态,人类容易区分有效与无效的极线线。但是,在计算机上做出决定的算法并不简单。对于这个问题的专家来说,设想执行那个任务的若干不同算法并不困难,并且分析形态的任何算法的特定实现与本发明的内容无关。已经启发式定义了如何识别有效极线线,并且可以开发许多计算机解决方案来执行那个任务。
在实施例中,只有具有至少与极线图像的高度相同数量的被照射像素的极线线才被认为是有效线。这可以提高在(在前一阶段中光学地或计算地)实际校正像差的设备中的斜率计算的准确性。
主透镜102的最高像差是在透镜的极端处产生的(远离其中心的区域,其中近轴近似不再有效)。通过主透镜102的这些极端部分的所有光线比在其中心附近穿过透镜的光线更异常。在全光相机100中,这些光线被每个微图像112的极端像素或每个微透镜104的极端像素捕获,这些微透镜104也是在极线图像的顶部或底部附近的极端像素640(图6A)。因此,在实施例中,可以省略极线图像的极端像素640以减少光学像差的影响以及增加检测到的深度值的数量(通过忽略极端像素来增加有效极线线的数量)。因此,具有比像差图像的像素高度更少的像素的极线线可以被认为是有效的,例如图6B和6C,忽略它们的顶部(620、630)和底部(622、632)像素。
图6D-6G表示图6A的极线图像600中的极线线610的斜率的计算过程的示例。在这个示例中,已经考虑了像素的以下强度值,如图6D的表642中所示:黑色像素的值为0,深灰色像素的值为20,浅灰色像素的值为60,并且白色像素的值为100。根据以下等式,图6E的表644表示沿着lx维度的强度I的像素i处的数值二阶导数:
其中i+1表示lx维度上的后续像素,并且i-1表示前一像素。连续像素之间的距离Δlx总是相同(它被认为是Δlx=1的值)。
图6F描绘了图646,其具有沿着lx维度(水平子轴)的每个像素px(水平轴)的二阶导数(垂直轴)的值,示出了由连续正-负或负-正值识别的二阶导数的过零650。如前面所解释的,通过检测二阶空间导数的过零650来确定物体世界中的物体边缘。
图6G在图6A的极线图像600中描绘了具有子像素精度的过零650。为了理解子像素精度,在微透镜lx=2(二阶导数值为100)和lx=3(二阶导数值为-200)之间针对像素px=1的过零已被放大。连接两个二阶导数值的线652与过零650中的零纵坐标相交,该过零650位于具有子像素精度的lx=2内。通过对检测到的过零650应用线性回归656并直接计算线性回归656的斜率来获得图6G的极线线610的斜率。
图6H-6J表示图6B的极线图像602中的极线线612的斜率的计算过程的另一个示例。像素的强度值I在图6H的表653中示出,而图6I的表654表示二阶导数值。计算过零650并在图6J中显示为点。通过对检测到的过零650应用线性回归658来计算极线线612的斜率。要注意的是,由于分别从像素620和622获得的过零650a和650b,图6J中的极线线612的线性回归658具有比图6G中的极线线610的线性回归656更高的斜率。
在实施例中,在线性回归中考虑所有过零。但是,在另一个实施例中,可以预先丢弃一些过零,并且在获得极线线的斜率的处理中不考虑这些过零。与用于应用线性回归技术的其余点相比具有高色散的点可以被识别并从这个处理中排除,以便获得更准确的斜率估计或消除异常值。例如,在图6J中,当计算线性回归658(获得具有类似于为图6G的极线线610获得的斜率的斜率的极线线)时,可以丢弃由极线图像602的顶部像素620引起的过零650a和底部像素622引起的过零650b,因为顶部620和底部622像素未连接到引起极线线612的其余像素(在这种情况下,顶部620和底部622像素可以是由主透镜102的像差引起的)。
一旦计算出二阶导数644,就决定它们是定义有效还是无效极线线。对于这个处理,可以丢弃与一些像素对应的二阶导数的一些值,如前面所解释的。将线性回归应用于有效过零以计算其对应的斜率。相反,对于所有被识别为无效的极线线,不需要执行进一步的计算。
有可能使用启发式方法、形态分析、人工智能或任何其它方法预先从极线图像确定极线线是有效还是无效,并避免进一步计算,甚至不计算我们提前知道它们无效的极线线的斜率。
在实施例中,当将线性回归应用于检测到的有效极线线时,还可以计算误差估计。作为示例,极线线(即,过零)的点与最终估计的回归线之间的距离之和可以用作误差(即,计算出的极线线与用于计算这条极线线的点之间的距离的绝对值的相加)。但是,可以定义任何其它类型的误差计算。
在实施例中,最大误差阈值可以用于丢弃极线线(并且不在算法的其余部分中考虑)。为此,如果计算出的误差高于最大误差阈值,那么认为极线线无效,并且如果计算出的误差低于最大误差阈值,那么认为极线线有效。
水平极线图像400可以包含若干条极线线(至多Nlx条极线线),例如在图5中的水平极线图像502的检测到的有效极线线510中所示。类似地,垂直极线图像可以包含若条极线线518(至多Nly条极线线)。图7A示出了包括两条不同极线线(图7E中的710和712)的水平极线图像700的示例。图7A示出了与两条极线线都对应的过零650的线性回归(756、758)。这个示例表示比图4和6中呈现的更现实的场景,因为光图案现在由具有一定尺寸而不是无穷小的物体产生的。这就是为什么由图像传感器106记录的高强度(白色像素)占据图7A中的若干微透镜(lx)的原因。
在图7B的表720中示出了极线图像700的像素的强度值“I”,而图7C的表730表示二阶导数值。在实施例中,考虑极线图像的像素是否被标记或被检测为边缘像素731或者不包括找到具有二阶导数的负值的那些像素(px,lx)的方法,在这些像素的右侧或左侧具有带正二阶导数的像素(图7C的突出显示的像素)。作为替代,如图7D中所示(图7C的相同表,二阶导数值),对于具有二阶导数的正值的那些像素(px,lx),在这些像素的右侧或左侧具有带负二阶导数的像素(图7D的突出显示的像素),可以将极线图像的像素标记为边缘像素731。
一旦检测到边缘像素731,根据实施例,就在此参考图7E的示例解释识别在极线图像内的有效极线线的过程(与图7C的二阶导数值和边缘像素731对应):
-对于位于与中心像素(px=5)对应的中心行px(或对于垂直极线图像是py)中的水平极线图像中并标记为边缘像素731(边缘像素A和J)的每个1x像素(lx=1至lx=11)(或垂直极线图像中的ly):
1-在上部相邻位置(lx,px-1),(lx+1,px-1),(lx-1,px-1)中搜索标记为边缘像素731的像素:找到边缘像素B(对于从边缘像素A开始的第一次迭代)和边缘像素K(对于从边缘像素J开始的第一次迭代)。
2-如果找到边缘像素731,那么用新边缘像素731的坐标更新lx和px(在从边缘像素A开始的第一次迭代中,边缘像素B的坐标:lx=4,px=4;在从边缘像素J开始的第一次迭代中,边缘像素K的坐标:lx=8,px=4)并且重复步骤1(当从边缘像素A迭代时,找到接下来的边缘像素:边缘像素D、F和H;当从边缘像素J迭代时,边缘像素M和O,其中边缘像素Q不被认为是极线线的一部分,因为它相对于边缘像素O位于lx+2中)。否则继续执行步骤3。
3-在下部相邻位置(lx,px+1),(lx+1,px+1),(lx-1,px+1)中搜索标记为边缘的像素:边缘像素C(当从边缘像素A开始迭代时)和边缘像素L(当从边缘像素J迭代时)。
4-如果找到边缘像素731,那么用新边缘像素731的坐标更新lx和px(在从边缘像素A开始的第一次迭代中,边缘像素C的坐标:lx=4,px=6;在从边缘像素J开始的第一次迭代中,边缘像素L的坐标:lx=8,px=6)并且重复步骤3(当从边缘像素A迭代时,找到接下来边缘像素:边缘像素E、G和I;当从边缘像素J迭代时,边缘像素N和P,其中边缘像素R不被认为是极线线的一部分,因为它相对于边缘像素P位于lx-2中)。否则继续下一步。
这个迭代过程的结果是第一极线线710(与中心边缘像素A对应)和第二极线线712(与中心边缘像素J对应)。第一极线线710由9个边缘像素(H,F,D,B,A,C,E,G,I)形成。第二极线线712由7个边缘像素(O,M,K,J,L,N,P)形成。
-取决于在所描述的迭代过程中针对中心行px中的某个lx检测到的边缘像素731的数量,可以认为极线线是有效的或无效的。在实施例中,检测到的边缘像素731的数量必须至少是极线图像的像素高度(即,图7E的示例中是9)。第一极线线710符合这个标准,因为它具有9个像素;但是,第二极线线712不符合这个标准,因为它仅由7个像素形成。在另一个实施例中,可以省略极端像素(px=1,px=9)以减小主透镜102的光学像差的影响(在那种情况下,检测到的边缘像素731的数量应当至少为极线图像的像素减去2(即,图7E中的7个像素))。在这最后的实施例中,图7E的两条极线线(710、712)都被认为是有效的。
-取决于在极线线内的每个边缘像素731的方向的一致性,可以认为极线线是有效的或无效的(指向极线图像中的相同方向)。例如,在第一极线线710中,从中心边缘点A开始,所有上部边缘像素(B,D,F,H)都位于位置lx-1或lx,而下部边缘像素(C,E,G,I)位于lx+1或lx位置,从而形成第一极线线710的一致方向。这同样适用于第二极线线712,从中心边缘点J开始,所有上部边缘像素(K,M,O)都位于位置lx-1或lx,而下部边缘像素(L,N,P)位于lx+1或lx位置。
在实施例中,对于被认为是有效的极线线,必须遵守这两个标准(对于极线线检测到的边缘像素731的数量和方向的一致性)。
因此,并且根据图7E中描述的实施例,为了将极线线视为有效:
-首先,使用二阶导数值检测极线图像中与物体边缘对应的像素(即,边缘像素731)。
-然后,获得形成极线线的连接的边缘像素的集合。可以采用不同的算法,诸如先前在图7E中定义的迭代处理,从边缘像素A和J开始(箭头示出向上和向下迭代搜索方向,寻找相邻的边缘像素,以便获得连接的边缘像素的集合,从而形成极线)。
-基于一个或多个标准(例如,集合中的边缘像素的数量和集合中的边缘像素的相干方向),极线线被认为是有效的或无效的。
当检测到有效极线线时,计算这条线的斜率。然后可以将这个斜率值直接转换为深度值,因为斜率和距离值之间存在直接关系。一旦计算出被分析的极线线的斜率,根据实施例,该方法的输出就是稀疏二维深度图,其包含由全光相机捕获的场景的物体的边缘的深度值(dz)。深度图的坐标(dx,dy)指示对应物点的横向位置(即,物体世界的二维坐标),而深度值(dz)表示物体世界中对应坐标(dx,dy)的深度。图8图示了稀疏深度图的边缘,其示出了处于不同深度的三个物体(802、804、806),其中黑色表示没有指派深度值并且深度值越白,场景中的物体越远。
该方法可以包括附加的阶段,以考虑在前一阶段中获得的极线线的斜率而生成稀疏深度图。通过将现实世界中的物体的深度值(dz)指派给在(dx,dy)之前计算的边缘来获得稀疏深度图。
在实施例中,稀疏深度图生成的输入是两个矩阵(水平深度矩阵516,以及与计算的深度值(dz)和光场结构(px,py,lx,ly)中的对应位置相关的垂直深度矩阵517)。稀疏深度图生成的输入也可以是在先前步骤中获得的两个斜率矩阵(512、513)。在这种情况下,首先获得稀疏斜率图,并且仅将到深度的转换应用于这个二维斜率图,从而减少计算要求。
通过分析水平极线图像获得水平深度矩阵516,而从垂直极线图像获得垂直深度矩阵517。现有技术中这些矩阵(516、517)中的每一个的尺寸是Npx×Npy×Nlx×Nly,Npx和Npy是水平和垂直方向上每个微图像的像素数,而Nlx和Nly是水平和垂直微透镜的数量。
当执行极线线的线性回归时,有可能仅获得一个斜率值。因而,在实施例中,可以大大减小这个阶段的输入矩阵的尺寸,以仅存储由线性回归方法产生的每条极线线的深度/斜率值,使得水平深度矩阵的尺寸为Npy·Nly·Nlx(水平极线图像可以包含多达Nlx条极线线)并且垂直深度矩阵的尺寸为Npx·Nlx·Nly(垂直极线图像可以包含多达Nly条极线线)。
在实施例中,两个深度/斜率矩阵可以仅包括在水平-中心和垂直-中心极线图像(或任何其它极线图像)中分析的点,使得矩阵的尺寸对于它们两者都是Nlx×Nly。
这些矩阵的许多点可以没有计算出的深度值,因为在极线图像内的对应位置没有检测到有效极线线(没有检测到边缘)。
可以使用组合阶段将获得的每个深度值(dz)指派给物体世界的二维坐标(dx,dy),从而取决于计算出的点的斜率并考虑点的坐标(px,py,lx,ly)(即,传感器上的位置)获得深度图(dx,dy,dz)。如在图1至4中可以观察到的,物点110在传感器上产生不同的图案以及在极线线上产生不同的斜率。因此,通过计算斜率并知道传感器上的位置(px,py,lx,ly),有可能为每条检测到的极线线找到对应世界位置(dx,dy)。
对于同一对(dx,dy)可以获得若干不同的dz值,因为物体世界中的单个边缘可以引起受到略微不同的噪声、像差、遮挡或量化误差影响的若干条极线线,从而产生具有不同斜率以及因此不同深度的极线线。其中一些水平极线线和其中一些垂直极线线也可能产生略微不同的dz值。
在实施例中,所有冗余的深度值(dz的不同值)被组合成单个深度图,以便在生成二维深度图(每个dx,dy坐标的单个dz值)时减少统计噪声。
当获得深度图(dx,dy,dz)上的所有深度值(dz)时,可以获得相同位置(dx,dy)的若干深度值(dz)。因此,可以应用若干方法以便获得最终值。作为示例而非限制,算术平均值或中值或任何其它平均技术(具有或不具有加权思考)可以应用于针对相同深度图位置(dx,dy)获得的所有深度值(所有dz值)。
由于这种冗余性,统计噪声减少,从而提高了深度图的质量。此外,在至少一个实施例中,可以考虑为极线线计算的误差估计,以便选择深度图的某个位置(dx,dy)的最终深度值(dz);例如,通过选择投影到相同位置(dx,dy)的所有值中具有最低误差的值(例如,将极线线与引起那条极性线的像素之间的所有距离相加作为误差,或任何其它测量)。
获得的深度值越多,由于冗余性增加而产生的深度图越准确,从而最小化深度测量的误差。不过,可以减少算法所考虑的冗余性,从而也降低深度图的质量,以便降低计算要求和实现的复杂性。
在实施例中,通过采用包含估计的深度值的水平(或垂直)极线结构的某个全光视图直接生成二维稀疏深度图,即,通过取得将px和/或py设置为某些像素(通常是中心像素,因为它是较少受像差影响的视图)的所有点。在这种情况下,计算复杂性以更少冗余和可能更稀疏的深度图(仅用于每个微透镜的深度值)为代价而降低。
在实施例中,深度图的分辨率可以高于微透镜的总数,以便利用在过零边界检测阶段中获得的子像素准确度。
由于斜率值只能在识别出的极线图像边缘(在极线线处)获得,因此在前一阶段获得的稀疏深度图包含许多空位置(dx,dy),不仅对于大量像素,而且对于大量微透镜,其中现实世界的均匀性不会在极线图像上产生边缘。在实施例中,可以通过考虑相邻位置的深度值来获得所有这些空位置的对应深度值。获得密集深度图的这个过程可以被称为“深度图填充”并且从图像填充技术中的许多现有技术获利。
可以应用若干技术来填充稀疏深度图以便获得密集深度图。因而,这些方法中的一些仅仅是示例而非限制:区域增长、分离和合并和/或聚类技术,以及现有技术中已知的用于图像处理的一些其它方法。此外,可以采用正则化方法来填充深度图。
图9描绘了密集深度图的示例,其示出了处于不同深度的三个物体(902、904、906)。这个图9以灰度级示出了在图8中生成的稀疏深度图的密集深度图,其中黑色表示没有指派深度值并且深度值越白,场景中的物体越远。
根据优选实施例,本发明的方法在诸如智能电话、平板电脑或笔记本电脑之类的电子移动设备中执行。图10A、10B和10C图示了具有处理单元或处理装置1004的电子移动设备1000的不同实施例,处理单元或处理装置1004被配置为执行该方法以便从由全光相机100捕获的图像1002获得深度图。
为了在移动设备中实时地获得深度图,强烈建议以非常高效的方式实现本方法。为了实现这一点,可以利用当前多核心处理器1006(图10A)中包括的多个核心,甚至在来自移动设备的处理器中,从而以这样一种方式创建若干算法执行线程,使得它们中的每一个负责执行不同的操作。
在实施例中,创建两个CPU执行线程,使得第一CPU 1008a(图10B中)为水平极线图像502执行所描述的步骤(参见图5),而第二CPU 1008b负责对垂直极线图像503执行相同的操作。
可以使用更先进的计算技术以便提高计算效率。例如,可以使用图形处理单元(图10C中的GPU 1010),甚至包括在移动设备中的图形处理单元,因为GPU包括能够同时执行操作的数百或数千个核心。因而,在实施例中,在GPU 1010的不同核心中同时处理每个极线图像(垂直和水平),以进一步加速算法的执行。
Claims (15)
1.一种用于从光场获得深度信息的方法,包括:
从由光场获取设备(100)捕获的光场(501)中生成多个极线图像(502,503);
边缘检测步骤(508,509),所述边缘检测步骤用于在极线图像(502,503)中检测对应于由光场获取设备(100)捕获的场景中的物体的边缘的边缘像素(731);
在每个极线图像(502,503)中检测有效极线线(510,511),每个有效极线线仅由所述边缘像素(731)所组成,所述边缘像素是连接的并且形成有效极线线的一致方向;
确定在前一步骤中检测的有效极线线(510,511)的斜率(512,513)。
2.如权利要求1所述的方法,其中边缘检测步骤(508,509)包括计算极线图像(502,503)的每个像素的二阶空间导数(506,507)并检测二阶空间导数的过零。
3.如权利要求1所述的方法,其中确定有效极线线(510,511)的斜率(512,513)的步骤包括将线拟合应用于检测到的边缘像素(731)。
4.如权利要求1-3中任一项所述的方法,其中在极线图像(502,503)中检测有效极线线(510,511)包括将极线线确定为连接的边缘像素(731)的集合并分析极线线,以确定极线线是否有效。
5.如权利要求4所述的方法,其中分析极线线以确定极线线是否有效包括检查形成极线线(710,712)的像素的数量超过确定阈值。
6.如权利要求5所述的方法,其中形成极线线(710,712)的像素的数量必须至少等于对应极线图像(502,503)的高度的像素数。
7.如权利要求4所述的方法,其中分析极线线以确定极线线是否有效包括以下任何一个:
-形态分析;
-启发式方法;以及
-机器学习算法。
8.如权利要求4所述的方法,其中分析极线线包括忽略在极线图像(502,503)的顶部和/或底部的一个或多个极限像素(630,632)。
9.如权利要求8所述的方法,其中当所述极限像素(630,632)没有指向与形成极线线的其余边缘像素(731)相同的方向时,忽略所述极限像素(630,632)。
10.如权利要求1-3中任一项所述的方法,还包括根据针对相同位置(dx,dy)的水平极线线图像(502)和垂直极线图像(503)的不同有效极线线(510,511)获得的冗余的斜率或深度的组合来生成单个斜率或深度图。
11.如权利要求1-3中任一项所述的方法,包括生成斜率图和/或深度图,其中通过使用在过零中获得的子像素精度,斜率图和/或深度图的位置(dx,dy)的数量高于微透镜的数量。
12.一种用于从光场生成深度图的设备,包括被配置为执行如权利要求1至11中任一项所述的方法的步骤的处理装置(1004)。
13.如权利要求12所述的设备,包括光场获取设备(100)。
14.一种计算机可读存储介质,所述计算机可读存储介质存储用于从由全光相机捕获的图像中生成深度图的计算机可执行指令,当所述计算机可执行指令由处理器执行时,使得处理器执行如权利要求1至11中任一项所述的方法。
15.一种计算机设备,包括存储器、处理器和存储在存储器上并能够在处理器上运行的计算机程序,其中当所述计算机程序被所述处理器执行时,使得所述处理器执行如权利要求1至11中任一项所述的方法。
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/EP2016/074992 WO2018072817A1 (en) | 2016-10-18 | 2016-10-18 | A device and method for obtaining distance information from views |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109997170A CN109997170A (zh) | 2019-07-09 |
CN109997170B true CN109997170B (zh) | 2023-08-11 |
Family
ID=57184433
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201680091169.XA Active CN109997170B (zh) | 2016-10-18 | 2016-10-18 | 用于从视图中获得距离信息的设备和方法 |
CN201680091175.5A Active CN110036410B (zh) | 2016-10-18 | 2016-12-20 | 用于从视图中获得距离信息的设备和方法 |
Family Applications After (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201680091175.5A Active CN110036410B (zh) | 2016-10-18 | 2016-12-20 | 用于从视图中获得距离信息的设备和方法 |
Country Status (9)
Country | Link |
---|---|
US (2) | US11423562B2 (zh) |
EP (2) | EP3516625B8 (zh) |
JP (2) | JP6855587B2 (zh) |
KR (2) | KR102674646B1 (zh) |
CN (2) | CN109997170B (zh) |
CA (2) | CA3040002C (zh) |
ES (2) | ES2866975T3 (zh) |
IL (2) | IL266041B (zh) |
WO (2) | WO2018072817A1 (zh) |
Families Citing this family (35)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11747135B2 (en) * | 2015-02-13 | 2023-09-05 | Carnegie Mellon University | Energy optimized imaging system with synchronized dynamic control of directable beam light source and reconfigurably masked photo-sensor |
US11493634B2 (en) | 2015-02-13 | 2022-11-08 | Carnegie Mellon University | Programmable light curtains |
US11425357B2 (en) | 2015-02-13 | 2022-08-23 | Carnegie Mellon University | Method for epipolar time of flight imaging |
US10679370B2 (en) * | 2015-02-13 | 2020-06-09 | Carnegie Mellon University | Energy optimized imaging system with 360 degree field-of-view |
US11972586B2 (en) | 2015-02-13 | 2024-04-30 | Carnegie Mellon University | Agile depth sensing using triangulation light curtains |
FR3051584B1 (fr) * | 2016-05-20 | 2019-11-01 | Safran | Procede de reconstruction tridimensionnelle a l'aide d'une camera plenoptique. |
EP3510562A1 (en) | 2016-09-07 | 2019-07-17 | Starship Technologies OÜ | Method and system for calibrating multiple cameras |
US10430994B1 (en) * | 2016-11-07 | 2019-10-01 | Henry Harlyn Baker | Techniques for determining a three-dimensional textured representation of a surface of an object from a set of images with varying formats |
TWI668670B (zh) * | 2017-01-05 | 2019-08-11 | 鈺立微電子股份有限公司 | 深度圖產生裝置 |
EP3416371A1 (en) * | 2017-06-12 | 2018-12-19 | Thomson Licensing | Method for displaying, on a 2d display device, a content derived from light field data |
EP3416381A1 (en) | 2017-06-12 | 2018-12-19 | Thomson Licensing | Method and apparatus for providing information to a user observing a multi view content |
US11393114B1 (en) * | 2017-11-08 | 2022-07-19 | AI Incorporated | Method and system for collaborative construction of a map |
EP3486606A1 (de) * | 2017-11-20 | 2019-05-22 | Leica Geosystems AG | Stereokamera und stereophotogrammetrisches verfahren |
KR20200144097A (ko) * | 2018-04-12 | 2020-12-28 | 도판 인사츠 가부시키가이샤 | 라이트 필드 화상 생성 시스템, 화상 표시 시스템, 형상 정보 취득 서버, 화상 생성 서버, 표시 장치, 라이트 필드 화상 생성 방법 및 화상 표시 방법 |
KR102187211B1 (ko) * | 2018-04-23 | 2020-12-04 | 코그넥스코오포레이션 | 스테레오-시간적 이미지 시퀀스들로부터 향상된 3-d 데이터 재구성을 위한 방법들 및 장치 |
EP3572971B1 (de) * | 2018-05-22 | 2021-02-24 | Sick Ag | Absichern eines überwachungsbereichs mit mindestens einer maschine |
EP3598390A1 (en) * | 2018-07-19 | 2020-01-22 | Thomson Licensing | Method for estimating a depth for pixels, corresponding device and computer program product |
US11440744B2 (en) | 2018-07-30 | 2022-09-13 | Laitram, L.L.C. | Conveyor package-flow measuring system |
CN109344818B (zh) * | 2018-09-28 | 2020-04-14 | 合肥工业大学 | 一种基于深度卷积网络的光场显著目标检测方法 |
KR20200067020A (ko) * | 2018-12-03 | 2020-06-11 | 삼성전자주식회사 | 캘리브레이션 방법 및 장치 |
KR102606835B1 (ko) * | 2019-02-20 | 2023-11-29 | 삼성전자주식회사 | 뎁스 맵을 생성하는 전자 장치 및 방법 |
CN111862098B (zh) * | 2019-04-30 | 2023-11-24 | 曜科智能科技(上海)有限公司 | 基于光场语义的个体匹配方法、装置、设备和介质 |
CN112446909B (zh) * | 2019-08-30 | 2022-02-01 | 上海商汤临港智能科技有限公司 | 一种深度图像补全方法及装置、计算机可读存储介质 |
CN110827343B (zh) * | 2019-11-06 | 2024-01-26 | 太原科技大学 | 基于能量增强散焦响应的改进光场深度估计方法 |
CN112907701B (zh) * | 2019-11-19 | 2022-08-05 | 杭州海康威视数字技术股份有限公司 | 获取图像的方法、装置、计算机设备和存储介质 |
JP2023511670A (ja) * | 2020-01-21 | 2023-03-22 | プロプリオ インコーポレイテッド | 多視点カメラシステムからのデータを用いるなどで深度センサからの深度データを増強する方法及びシステム |
CN112750156B (zh) * | 2020-03-16 | 2022-09-09 | 奕目(上海)科技有限公司 | 光场成像***、处理方法和装置 |
CN111724373B (zh) * | 2020-06-22 | 2024-05-14 | 江西财经大学 | 一种基于感知加密光场图像的视觉安全性度量方法 |
KR20220010297A (ko) | 2020-07-17 | 2022-01-25 | 에스케이하이닉스 주식회사 | 엣지 기반 샤프니스 세기 제어 회로, 이미지 센싱 장치 및 그 동작방법 |
CN111986086B (zh) * | 2020-08-27 | 2021-11-09 | 贝壳找房(北京)科技有限公司 | 三维图像优化生成方法及*** |
CN112595238B (zh) * | 2020-11-25 | 2022-09-27 | 四川云盾光电科技有限公司 | 一种高低速兼容直线位移增量精密测量方法 |
KR20220170090A (ko) * | 2021-06-22 | 2022-12-29 | 에스케이하이닉스 주식회사 | 멀티-뷰 이미지에서 노이즈 감소를 위한 장치 및 방법 |
CN114897952B (zh) * | 2022-05-30 | 2023-04-04 | 中国测绘科学研究院 | 一种自适应遮挡的单张光场影像准确深度估计方法及*** |
CN115359105B (zh) * | 2022-08-01 | 2023-08-11 | 荣耀终端有限公司 | 景深扩展图像生成方法、设备及存储介质 |
CN117308967B (zh) * | 2023-11-30 | 2024-02-02 | 中船(北京)智能装备科技有限公司 | 一种目标对象位置信息的确定方法、装置及设备 |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2004037657A (ja) * | 2002-07-01 | 2004-02-05 | Olympus Corp | 広角測距視野カメラ |
Family Cites Families (31)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2941139B2 (ja) * | 1993-03-11 | 1999-08-25 | 凸版印刷株式会社 | 視差画像作成方法および装置 |
JP3275010B2 (ja) * | 1995-02-03 | 2002-04-15 | ザ・リジェンツ・オブ・ザ・ユニバーシティ・オブ・コロラド | 拡大された被写界深度を有する光学システム |
US6009188A (en) * | 1996-02-16 | 1999-12-28 | Microsoft Corporation | Method and system for digital plenoptic imaging |
US6201899B1 (en) * | 1998-10-09 | 2001-03-13 | Sarnoff Corporation | Method and apparatus for extended depth of field imaging |
CA2511040A1 (en) * | 2004-09-23 | 2006-03-23 | The Governors Of The University Of Alberta | Method and system for real time image rendering |
US8194168B2 (en) * | 2005-06-03 | 2012-06-05 | Mediapod Llc | Multi-dimensional imaging system and method |
US7620309B2 (en) * | 2006-04-04 | 2009-11-17 | Adobe Systems, Incorporated | Plenoptic camera |
US8090194B2 (en) * | 2006-11-21 | 2012-01-03 | Mantis Vision Ltd. | 3D geometric modeling and motion capture using both single and dual imaging |
EP2084491A2 (en) * | 2006-11-21 | 2009-08-05 | Mantisvision Ltd. | 3d geometric modeling and 3d video content creation |
US7769205B2 (en) * | 2006-11-28 | 2010-08-03 | Prefixa International Inc. | Fast three dimensional recovery method and apparatus |
US8290358B1 (en) * | 2007-06-25 | 2012-10-16 | Adobe Systems Incorporated | Methods and apparatus for light-field imaging |
JP4856611B2 (ja) * | 2007-10-29 | 2012-01-18 | 富士重工業株式会社 | 物体検出装置 |
US7949252B1 (en) * | 2008-12-11 | 2011-05-24 | Adobe Systems Incorporated | Plenoptic camera with large depth of field |
US8938099B2 (en) * | 2010-12-15 | 2015-01-20 | Canon Kabushiki Kaisha | Image processing apparatus, method of controlling the same, distance measurement apparatus, and storage medium |
US9607424B2 (en) * | 2012-06-26 | 2017-03-28 | Lytro, Inc. | Depth-assigned content for depth-enhanced pictures |
US8619082B1 (en) * | 2012-08-21 | 2013-12-31 | Pelican Imaging Corporation | Systems and methods for parallax detection and correction in images captured using array cameras that contain occlusions using subsets of images to perform depth estimation |
GB201302694D0 (en) * | 2013-02-15 | 2013-04-03 | Oxford Instr Nanotechnology Tools Ltd | Method of electron beam diffraction analysis |
WO2014133974A1 (en) * | 2013-02-24 | 2014-09-04 | Pelican Imaging Corporation | Thin form computational and modular array cameras |
US9786062B2 (en) | 2013-05-06 | 2017-10-10 | Disney Enterprises, Inc. | Scene reconstruction from high spatio-angular resolution light fields |
WO2014198351A1 (en) * | 2013-06-12 | 2014-12-18 | Vidinoti Sa | Method and apparatus for identifying local features |
US9451162B2 (en) * | 2013-08-21 | 2016-09-20 | Jaunt Inc. | Camera array including camera modules |
JP6026979B2 (ja) * | 2013-09-06 | 2016-11-16 | 日本電信電話株式会社 | 画像処理装置、画像処理方法及び画像処理プログラム |
JP6462671B2 (ja) * | 2013-10-03 | 2019-01-30 | ユニバーシティー オブ デラウェア | Xスリットカメラ |
JP6114229B2 (ja) * | 2014-04-28 | 2017-04-12 | 日本電信電話株式会社 | 画像生成装置及び画像生成プログラム |
US8988317B1 (en) * | 2014-06-12 | 2015-03-24 | Lytro, Inc. | Depth determination for light field images |
US10008027B1 (en) * | 2014-10-20 | 2018-06-26 | Henry Harlyn Baker | Techniques for determining a three-dimensional representation of a surface of an object from a set of images |
US9292926B1 (en) * | 2014-11-24 | 2016-03-22 | Adobe Systems Incorporated | Depth map generation |
CN104598744B (zh) * | 2015-01-27 | 2017-11-21 | 北京工业大学 | 一种基于光场的深度估计方法 |
US9661308B1 (en) * | 2015-04-20 | 2017-05-23 | Samsung Electronics Co., Ltd. | Increasing tolerance of sensor-scanner misalignment of the 3D camera with epipolar line laser point scanning |
CN104851089A (zh) * | 2015-04-28 | 2015-08-19 | 中国人民解放军国防科学技术大学 | 一种基于三维光场的静态场景前景分割方法和装置 |
CN105023249B (zh) * | 2015-06-26 | 2017-11-17 | 清华大学深圳研究生院 | 基于光场的高光图像修复方法及装置 |
-
2016
- 2016-10-18 WO PCT/EP2016/074992 patent/WO2018072817A1/en unknown
- 2016-10-18 CN CN201680091169.XA patent/CN109997170B/zh active Active
- 2016-10-18 KR KR1020197014305A patent/KR102674646B1/ko active IP Right Grant
- 2016-10-18 ES ES16784856T patent/ES2866975T3/es active Active
- 2016-10-18 US US16/342,735 patent/US11423562B2/en active Active
- 2016-10-18 EP EP16784856.3A patent/EP3516625B8/en active Active
- 2016-10-18 JP JP2019541848A patent/JP6855587B2/ja active Active
- 2016-10-18 IL IL266041A patent/IL266041B/en unknown
- 2016-10-18 CA CA3040002A patent/CA3040002C/en active Active
- 2016-12-20 ES ES16816689T patent/ES2864834T3/es active Active
- 2016-12-20 CA CA3040006A patent/CA3040006C/en active Active
- 2016-12-20 WO PCT/EP2016/081966 patent/WO2018072858A1/en unknown
- 2016-12-20 KR KR1020197014170A patent/KR20190076998A/ko not_active Application Discontinuation
- 2016-12-20 CN CN201680091175.5A patent/CN110036410B/zh active Active
- 2016-12-20 JP JP2019541849A patent/JP7043085B2/ja active Active
- 2016-12-20 EP EP16816689.0A patent/EP3516626B1/en active Active
- 2016-12-20 US US16/342,739 patent/US10832429B2/en active Active
-
2019
- 2019-04-15 IL IL266036A patent/IL266036B/en active IP Right Grant
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2004037657A (ja) * | 2002-07-01 | 2004-02-05 | Olympus Corp | 広角測距視野カメラ |
Non-Patent Citations (1)
Title |
---|
Epipolar-Plane Image Analysis: An Approach to Determining Structure from Motion;ROBERT;《International Journal of Computer Vision》;19870101;说明书第8页右栏最后一段-第10页右栏第一段、第24页左栏最后一段-第25页左栏第一段、第25页左栏最后一段以及图24、第25页右栏第二段以及图24 * |
Also Published As
Publication number | Publication date |
---|---|
CA3040006C (en) | 2023-09-26 |
EP3516625A1 (en) | 2019-07-31 |
US11423562B2 (en) | 2022-08-23 |
EP3516625B8 (en) | 2021-04-21 |
CA3040002C (en) | 2023-12-12 |
CA3040002A1 (en) | 2018-04-26 |
KR20190065432A (ko) | 2019-06-11 |
JP7043085B2 (ja) | 2022-03-29 |
JP2019532451A (ja) | 2019-11-07 |
KR102674646B1 (ko) | 2024-06-13 |
EP3516626B1 (en) | 2020-11-25 |
WO2018072858A1 (en) | 2018-04-26 |
US20190236796A1 (en) | 2019-08-01 |
IL266041B (en) | 2022-09-01 |
US10832429B2 (en) | 2020-11-10 |
IL266036B (en) | 2021-02-28 |
US20200051266A1 (en) | 2020-02-13 |
CA3040006A1 (en) | 2018-04-26 |
ES2866975T3 (es) | 2021-10-20 |
CN110036410A (zh) | 2019-07-19 |
CN109997170A (zh) | 2019-07-09 |
IL266036A (en) | 2019-06-30 |
EP3516626A1 (en) | 2019-07-31 |
IL266041A (en) | 2019-06-30 |
KR20190076998A (ko) | 2019-07-02 |
JP6855587B2 (ja) | 2021-04-07 |
EP3516625B1 (en) | 2020-11-25 |
CN110036410B (zh) | 2023-06-30 |
JP2020503817A (ja) | 2020-01-30 |
ES2864834T3 (es) | 2021-10-14 |
WO2018072817A1 (en) | 2018-04-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109997170B (zh) | 用于从视图中获得距离信息的设备和方法 | |
JP6509027B2 (ja) | 被写体追跡装置、光学機器、撮像装置、被写体追跡装置の制御方法、プログラム | |
Feng et al. | Benchmark data set and method for depth estimation from light field images | |
US9818199B2 (en) | Method and apparatus for estimating depth of focused plenoptic data | |
EP3182372B1 (en) | Method and system for estimating the position of a projection of a chief ray on a sensor of a light-field acquisition device | |
US20210158081A1 (en) | System and method for correspondence map determination | |
CN107004274B (zh) | 估计未聚焦全光数据的深度的方法和装置 | |
CN116883981A (zh) | 一种车牌定位识别方法、***、计算机设备及存储介质 | |
JP2018081378A (ja) | 画像処理装置、撮像装置、画像処理方法および画像処理プログラム | |
JP2018133064A (ja) | 画像処理装置、撮像装置、画像処理方法および画像処理プログラム | |
CN108062741B (zh) | 双目图像处理方法、成像装置和电子设备 | |
CN111489384A (zh) | 基于互视角的遮挡评估方法及装置、设备、***和介质 | |
CN115514877B (zh) | 图像处理装置和降低噪声的方法 | |
Rodriguez | A methodology to develop computer vision systems in civil engineering: Applications in material testing and fish tracking | |
CN111080689B (zh) | 确定面部深度图的方法和装置 | |
RU2595620C1 (ru) | Способ автокалибровки стереокамер, используемых в целях автоматического распознавания лица человека | |
CN118339584A (zh) | 训练方法、训练***以及训练程序 | |
CN116112656A (zh) | 一种获取点云图的方法 |
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 | ||
GR01 | Patent grant |