一种基于光场的图像深度估计方法技术领域
本发明涉及图像深度提取方法,特别涉及一种基于光场的图像深度估计方法。
背景技术
图像深度估计是计算机视觉领域的一项基本内容。深度指的是场景中的某个
点到相机平面的距离。如果能从真实拍摄的图像中准确地恢复出场景深度,将有
利于诸多计算机视觉应用的实现。近年来,光场相机的出现为图像深度估计提出
了新的解决思路。相比于传统相机,光场相机在传感器前放置了一个微透镜阵列,
能在一次曝光期间记录到达成像面任意光线的位置与角度,全面描述四维光场,
能在后续处理中实现深度估计、场景重聚焦、变换视点等多种应用。
目前,一些基于光场的深度估计方法被提出,取得了较好的成果,但也存在
着一些问题。比如,主流的光场图像深度估计方法集中于对已分离视点的光场数
据进行深度估计,视点分离时采用去马赛克后的光场数据,然而在去马赛克过程
时引入的视点间混淆却不能在后续处理中去除,很大程度上制约了深度估计的准
确性。此外,一些算法使用根据经验计算深度估计值的置信度,在优化过程中加
入了人为影响。
发明内容
本发明的目的在于提供一种基于光场的图像深度估计方法,避免插值过程引
起的视点混淆,提升深度估计准确性。
为此,本发明提出的一种基于光场的图像深度估计方法,其特征在于包括如
下步骤:S1、光场原始数据视点提取:获取场景在不同视角下的图像,根据估计
的子图像中心位置,对未经去马赛克的光场数据进行视点分离,再对缺失像素的
信息进行插值处理;S2、基于块匹配的深度估计:对与中心视点处于同一行或同
一列的视点对上并且记录相同光线颜色的对应块进行相似性度量,找到使相似性
最大的深度。
优选地,本发明基于光场的图像深度估计方法还包括如下步骤:S3、基于显
著特征约束的深度优化:提取显著特征点并进行匹配,将估计出的视差作为强约
束条件,优化深度估计。
本发明的优点在于,由于分离视点前并未进行去马赛克处理,避免了视点混
淆,从而提升了深度估计准确性。
进一步地,由于采用了基于显著特征约束的深度优化算法,所提取的显著特
征点在不同视点间的匹配作为强约束条件加入优化目标函数,进一步提升了深度
估计准确性。
附图说明
图1是本发明实施例基于光场的图像深度估计方法的流程示意图。
图2是本发明实施例从原始数据中提取视点的示意图。
图3是本发明实施例以一维插值为例填补空白像素位置的示意图。
具体实施方式
图1为本发明实施例方法的框架,该方法包含三个部分:第一,光场原始数
据视点提取方法,获取场景在不同视角下的图像,它根据估计的子图像中心位置,
对未经去马赛克的光场数据进行视点分离,再对缺失像素的信息进行插值处理。
第二,基于块匹配的深度估计算法,对与中心视点处于同一行或同一列的视点对
上并且记录相同光线颜色的对应块进行相似性度量,找到使相似性最大的深度。
第三,基于显著特征约束的深度优化算法,提取显著特征点并进行匹配,将估计
出的视差作为强约束条件,优化深度估计。
下面通过对光场原始数据视点提取方法、基于块匹配的深度估计算法和基于
显著特征约束的深度优化算法进行数学建模来说明本发明实施例的基本原理。
1、光场原始数据视点提取
视点提取需要对光场原始图像中的像素位置进行选择和重排,将属于同一拍
摄角度的像素组成一幅视点图,从而形成多个视点。每一个视点图都是场景在不
同角度观察得到的图像。单个微透镜在传感器上覆盖的图像被称为子图像。子图
像中的每一个像素位置对应着不同的角度分辨率。选取所有子图像中相对子图像
中心相同位置的像素组成的图像被称为某个视点图。
子图像中心估计:
为有效覆盖传感器平面,不同形状的微透镜排列方式不同,可能不是按直角
坐标系排列。子图像中心组成的坐标系原点往往与传感器坐标系原点存在一定偏
差,并且子图像覆盖面积不一定是整像素。因此,为有效提出视点,需要事先估
计出各个子图像中心在传感器坐标系上对应的位置。
传感器像素一般是按照直角坐标系排列,记为C坐标系,其原点分别设为最
左上角的像素位置;微透镜排列的二维坐标系记为M坐标系,其原点分别设为
最左上角的微透镜位置。假设x和m分别为C坐标系和M坐标系的坐标,那么
两坐标之间的关系为:
x=Tm+o(1)
其中,o表示两坐标系原点的平移向量,T表示变换矩阵,具体由错切变换矩阵
T1、伸缩变换矩阵T2、旋转变换矩阵T3相乘得到:
T=T1T2T3(2)
在实际中,本发明使用光场相机对纯白漫反射物体拍摄一张图像,该图像与
圆形光斑掩膜进行卷积,结果的局部极大值坐标即为子图像的中心位置C在坐标
系中的坐标xi。已知xi与微透镜坐标mi,得到多组xi=Tmi+o,可用最小二乘
法估计出T和o。因此,最终子图像中心由下式获得:
ci=round(Tmi+o)(3)
其中,round(.)表示取整。
像素重排:
为实现视点分离,需要对光场原始图像中的像素进行选择和重排。具体方式
是在子图像中选取处于相同位置(角度分辨率)的像素,保持像素间的相对位置
关系(如果某位置没有像素,用空白代替),构成一幅视点图。图2以Lytro相机
(一种小型的“光场”相机)为例给出从原始数据中提取两个视点1和2的方法。
由于光场相机镜头中采用了彩色滤波阵列,每个像素点实际上只记录了一种
颜色的光(红、绿、蓝中的一种)。一般来讲,每个像素点丢失的其他两种颜色
分量需要进行去马赛克处理,即插值重建来要恢复全彩色图像,但在对光场原始
数据去马赛克会引入视点混淆。若在分离视点之后进行去马赛克,虽然不会混合
不同视点的信息,但每个视点的彩色滤波阵列可能不同,现有的去马赛克算法并
不适用,尤其是在高频区域。因此,本发明直接使用光场原始数据提取视点,在
分离后的视点中使用插值方法对空白像素位置进行填补:以一维线性插值为例,
如果空白像素的同一行相邻两个位置都是记录同一颜色光线的像素,那么该空白
像素记录相同颜色光线,响应值为两个相邻位置的平均值;如果空白像素的同一
行相邻两个位置记录光线颜色不同,为简化处理,该空白像素记录的颜色信息和
响应值与左边像素相同,见图3。
2、基于块匹配的深度估计
将视点图组成视点矩阵,由于处于同一行或同一列的视点仅是在水平或竖直
方向上存在视差,满足外极约束。光场相机的相邻两个微透镜间基线很小,视点
间形成的遮挡可忽略不计。因此,对于中心视点下的某个像素,它在同一行视点
中对应像素的位置仅是在中心视点中的位置水平移动了一定距离,同理,它在同
一列视点中对应像素的位置仅是在中心视点中的位置竖直移动了一定距离。
由于每个视点的彩色滤波阵列可能不同,本发明提出的基于块匹配的深度估
计仅对记录相同光线颜色的块进行相似性度量。假设表示I中心视点,Ip和Iq表
示与中心视点属于同一行的视点,bp和bq分别表示Ip和Iq所代表的微透镜与中
心视点微透镜之间的基线距离,那么对于中心视点中以像素(x0,y0)为中心的块B0,
在视点Ip和Iq中对应块相似度可用加权均方误差和(WSSD)衡量,写为视差d
的代价函数:
其中,
xp:=x+bpd
xq:=x+bqd(5)
表示对两个视点下对应像素在RGB空间中欧氏距离的平方,w(.)表示
加权系数。
w(xp,xq,y)=G0(x,y)·S(xp,xq,y)(6)
G0(x,y)代表中心为(x0,y0)的高斯函数,S(xp,xq,y)用来确定两个像素记录相同的
光线颜色(R、G、B中的一种)。
同理,可以得到Ip、Iq与中心视点属于同一列的视点的代价函数。
本发明利用光场相机提取的多视点,估计中心视点中像素在不同视点对下的
视差。令Π表示与中心视点处于同一行上的视点对和处于同一列上的视点对的集
合。由于光场相机主透镜边缘区域接收光线较少,亮度较低,故只考虑了靠近中
心的7×7视点矩阵组成的视点对。
因此,中心视点下像素(x0,y0)的视差为:
d ( x 0 , y 0 ) = Med ( p , q ) ∈ Π { arg min d cost p , q ( x 0 , y 0 , d ) } - - - ( 8 ) ]]>
其中,Med表示中值滤波器。中值滤波器可用来去除噪声,得到更加稳定的视
差估计结果。
3、基于显著特征约束的深度优化
为得到更加准确的深度估计结果,本发明在代价函数中加入显著特征点匹配
的约束条件。显著特征点的提取使用SIFT算法,对中心视点I和视点Ip进行特征
提取和匹配。若中心视点下某一特征点位置为(x0,y0),它的对应点在Ip位置为(xp,yp),
位置偏差为Δ=(xp-x0,yp-y0)。已知视点I角度坐标为(0,0),Ip的角度坐标
sp=(up,vp),位置偏差Δ和微透镜直径k,可由式(10)计算出位置的视差dc:
Δ=dc·k·sp(9)
本发明使用基于块匹配的深度估计中得到的视点对集合Π,Π对中的任意一
对视点对Ip和Iq,显著特征约束项为:
conf p , q ( x 0 , y 0 , d ) = Σ ( x 0 y 0 ) ∈ M | | d - d c p , 0 ( x 0 , y 0 ) | | + Σ ( x 0 , y 0 ) ∈ N | | d - d c q , 0 ( x 0 , y 0 ) | | ]]>
其中,和分别表示中心视点下特征点(x0,y0)与Ip和Iq视点下对应特征点
的视差,M表示SIFT算子在中心视点中检测为显著特征并且能在视点下Ip找到
对应的显著特征的点集合,同理得到SIFT算子在中心视点中检测为显著特征并
且能在视点下Iq找到对应的显著特征的点集合N。
得到最终视差优化函数为:
d ( x 0 , y 0 ) = Med ( p , q ) ∈ Π { arg min d ( cost p , q ( x 0 , y 0 , d ) + conf P , q ( x 0 , y 0 , d ) ) } - - - ( 10 ) ]]>
根据视差与深度之间的关系,可将最终的视差转换为深度depth,即:
d e p t h ( x 0 , y 0 ) = r d ( x 0 , y 0 ) - - - ( 11 ) ]]>
其中,r表示与相机参数相关的常数。
本发明实施例具有如下有益效果:
1、提出了光场原始数据视点提取算法,通过估计子图像中心并进行像素重
排,分离视点前并未进行去马赛克处理,避免视点混淆。
2、提出了基于显著特征约束的深度优化算法,将提取的显著特征点在不同
视点间的匹配作为强约束条件加入优化目标函数,提升深度估计准确性。
以上所述仅为本发明的实施例,并非因此限制本发明的专利范围,凡是利用
本发明说明书及附图内容所作的等效装置或等效方法变换,或直接或间接运用在
其他相关的技术领域,均同理包括在本发明的专利保护范围内。