一种基于聚焦堆栈单体数据子集架构的全局计算成像方法与流程

文档序号:22031418发布日期:2020-08-28 17:19阅读:230来源:国知局
一种基于聚焦堆栈单体数据子集架构的全局计算成像方法与流程

本发明涉及计算机视觉与数字图像处理技术领域,特别是关于一种基于聚焦堆栈单体数据子集架构的全局计算成像方法。



背景技术:

聚焦堆栈计算成像是计算成像的一种手段,可实现深度重建、全聚焦成像和光场重建。聚焦堆栈数据的获取是从固定角度拍摄一组聚焦在不同平面的图像,可通过移动被拍摄物体、移动(或改变)成像镜头、或者移动成像探测器实现。

聚焦堆栈数据蕴含着丰富的场景信息,比如:利用聚焦测度逐像素处理聚焦堆栈数据,可以实现场景深度和全聚焦图的重建;利用投影模型,可以由聚焦堆栈数据重建出任意角度分辨率的光场,实现光场显示和立体显示。

由于聚焦堆栈数据的数据量大,在一些应用场景中需要在较高的时间分辨率完成数据采集,减少聚焦堆栈数据的数据量,高效计算深度和全聚焦图,是聚焦堆栈计算成像应用研究的重点。目前,对于提升聚焦堆栈计算成像的计算效率,主要是通过减少聚焦堆栈数据的数据量来实现,然而,在减少聚焦堆栈数据的数据量的同时,却带来了重建精度下降的问题。



技术实现要素:

本发明的目的在于提供一种基于聚焦堆栈单体数据子集架构的全局计算成像方法,从而提升聚焦堆栈重建的计算效率以及实现三维场景的高精度重建。

为实现上述目的,本发明提供一种基于聚焦堆栈单体数据子集架构的全局计算成像方法,该方法包括:

步骤1,从场景图像聚焦堆栈数据中找出聚焦测度值最大的场景图像;

步骤2,利用如下式(6),在每一幅所述场景图像中划分出每一个单体j所在区域dj对应的区域图像hj(x,y),j=1,2,...,j;

式(6)中,hj(x,y)表示第j个单体的区域图像,supp(*)表示*所在的图像区域,dj表示第j个单体区域图像在(x,y)空间上的支集,d表示聚焦堆栈数据在(x,y)空间上的支集;

步骤3,在步骤1获得的最大聚焦测度值的场景图像的每一个单体j的区域图像hj(x,y)上,找出每一个单体的单体区域;

步骤4,利用步骤3中得到的第j个单体的单体区域dj,找出第j个单体的聚焦堆栈数据,则第j个单体的第i个图像表示为式(7):

步骤5,在第j个单体的单体区域dj中选定代表区域,以从第j个单体的聚焦堆栈数据的i个场景图像中筛选出v个场景图像,筛选后得到第j个单体的第v个图像表示为式(8),进而得到由式(9)表示的聚焦堆栈单体数据子集:

其中,表示利用式(5)计算得到的所选取的第j个单体的代表区域的聚焦测度大小,w表示选取单体代表区域的宽度,h表示选取单体代表区域的高度,表示在深度sv下像素点(x,y)处的聚焦测度,tj表示聚焦测度阈值,i1,i2,...,iv是经由筛选后的聚焦堆栈单体数据子集中的图像标号;

步骤6,对步骤2获取的聚焦堆栈单体数据子集进行单体进行深度重建和全聚焦成像;

步骤7,对步骤6重建的单体进行局部一致性优化;

步骤8,将步骤7优化后的单体进行全局融合。

进一步地,步骤3具体包括:

步骤31,采用alphamatting方法,在步骤1获得的聚焦测度值最大的场景图像的每一个单体j的区域图像hj(x,y)上,获取初步的单体区域;

步骤32,利用扫描线种子填充算法,对步骤31获得的初步的单体区域内部进行填充,得到最终的单体区域。

进一步地,步骤1通过下式(4)计算像素点的聚焦测度值:

上述各式中,为场景图像上第j个单体的像素点(x,y)在深度sv下的聚焦测度,α表示介于0到1之间是加权系数,由式(3)计算得到,n表示所取的聚焦测度窗口的边长大小,(x,y)表示所取的聚焦测度窗口的中心像素点,(x′,y′)为(x,y)的窗口范围内地像素,由式(2)计算获得,t为阈值,由式(4)计算得到,ω(x,y)表示以像素点(x,y)为中心的邻域,用邻域ω(x,y)内特征点总数进行表征,k表示邻域ω(x,y)内特征点的总数,k=1,2,...,k;(xk,yk)为第k个特征点的坐标,用来判断第k个特征点(xk,yk)是否属于ω(x,y),即在第k个特征点(xk,yk)属于ω(x,y)的情形下,t(xk,yk,d)的值为1;在第k个特征点(xk,yk)不属于ω(x,y)的情形下,t(xk,yk,d)的值为0。

进一步地,步骤6具体包括:

步骤61,利用式(4),在步骤5获得的聚焦堆栈单体数据子集的每一个单体区域内,逐个像素点计算聚焦堆栈单体数据子集的聚焦测度

步骤62,根据步骤61计算得到的聚焦堆栈单体数据子集的聚焦测度通过下式(10)表述的二次曲线数据拟合得到最大聚焦测度对应的深度:

式(10)中,s(x,y)表示深度,a0、a1、a2均为待求解的参数;

步骤63,根据步骤62获得的系数,拟合出深度上连续的场景图像上第j个单体的像素点(x,y)在深度s下的聚焦测度θ(s,j)(x,y),进而利用下式(11),求解拟合曲线中的最大聚焦测度对应的深度:

式(11)中,表示θ(s,j)(x,y)取最大值对应s的值,sj(x,y)表示第j个单体的深度;

步骤64,根据步骤63求得的深度,利用式(12)将单体聚焦堆栈数据子集中最大聚焦测度所对应的像素点组合成全聚焦图:

式(12)中,表示θ(s,j)(x,y)取最大值对应的图像。

进一步地,步骤7具体采用全变差正则化或其它现有方法,对单体聚焦堆栈数据子集重建的结果进行优化,优化方法比如采用如下式(13)所示的方法:

其中,depthj(x,y)为全变差正则化后的深度,为depthj(x,y)的梯度,λ是权重系数。

进一步地,步骤8具体是在(x,y)空间上,利用式(14)和式(15),融合所有单体得到全局的深度和全聚焦图:

其中,depth(x,y)和allfocus(x,y)分别为整个场景的深度和全聚焦图。

本发明由于采取以上技术方案,其具有以下优点:

通过采用本发明提供的基于聚焦堆栈单体数据子集架构的全局计算成像方法,可以提高聚焦堆栈重建的计算的效率、实现三维场景单体的高精度重建,同时还可以为大视场成像基础数据的处理、计算方法的改进提供参考和理论依据。

附图说明

图1为本发明实施例提供的构建单体区域和获取聚焦堆栈单体数据子集对示意图。

具体实施方式

下面结合附图和实施例对本发明进行详细的描述。

本发明实施例所提供的基于聚焦堆栈单体数据子集架构的全局计算成像方法包括如下步骤:

步骤1,从场景图像聚焦堆栈数据中找出聚焦测度值最大的场景图像。

如图1中a示出了场景图像聚焦堆栈数据该场景图像堆栈数据中,每一幅场景图像表示为其在深度方向上,根据深度sv的不同依次获得i幅场景图像。

“找出场景图像聚焦堆栈数据中聚焦测度值最大的场景图像”的方法可以采用如下方法实现。

第一种方法,对图像中的单个像素点的聚焦测度基于边缘信息进行描述,如下式(2)所示:

式(1)中,(x,y)表示场景图像中单个像素点的坐标,表示第j个单体在深度sv下的像素点(x,y)的像素值,表示改进的拉普拉斯算子,用于提取图像的边缘。

第二种方法,采用以像素点(x,y)为中心、边长为n的矩形区域的边缘信息进行描述聚焦测度如下式(2)所示:

式(2)中,表示第j个单体在深度sv下的像素点(x,y)的聚焦测度,n表示所取的聚焦测度窗口的边长大小,(x,y)表示所取的聚焦测度窗口的中心像素点,(x′,y′)为(x,y)的窗口范围内地像素,由式(1)计算获得;t为阈值,该阈值是以像素点(x,y)为中心、边长为n的矩形聚焦测度窗下像素的均值,用来判断(x,y)周围像素对其测度的贡献。

第二种方法相较于第一种方法,描述聚焦测度鲁棒性更好。

第三种方法,对场景图像中单个像素点的聚焦测度基于特征点密度进行描述,如下式(3)所示:

式(3)中,表示第j个单体在深度sv下的像素点(x,y)的聚焦测度。ω(x,y)表示以像素点(x,y)为中心的邻域,用邻域ω(x,y)内特征点总数进行表征,k表示邻域ω(x,y)内特征点的总数,k=1,2,...,k;(xk,yk)为第k个特征点的坐标,用来判断第k个特征点(xk,yk)是否属于ω(x,y),即在第k个特征点(xk,yk)属于ω(x,y)的情形下,t(xk,yk,d)的值为1;在第k个特征点(xk,yk)不属于ω(x,y)的情形下,t(xk,yk,d)的值为0。

第四种方法,融合式(2)和式(3),通过下式(4)描述像素点的聚焦测度:

式(4)中,为场景图像上第j个单体的像素点(x,y)在深度sv下的聚焦测度,α表示加权系数,α介于0到1之间,α的具体数值与实验场景有关,对于相对平滑的场景取较小的α值,对于纹理丰富的场景取较大的α值。

场景图像在聚焦时像素点具有相同的点扩展函数,则整幅图像的聚焦测度表示为式(5):

式(5)中,rarea(x,y)表示步骤11中选取单体代表区域的聚焦测度,选取单体代表区域是单体区域中的一部份区域,来代表单体区域,w表示选取单体代表区域的宽度,h表示选取单体代表区域的高度,表示在深度sv下像素点(x,y)处的聚焦测度。

步骤2,在场景图像聚焦堆栈数据中的每一幅场景图像中,利用如下式(1)划分出每一个单体j所在区域dj对应的区域图像hj(x,y),j=1,2,...,j。其中,“单体”可以理解为“场景图像中的单一物体”的简称,例如图1中的a示出的“佛像”即可理解为本实施例中的一个单体,“小熊”也是本实施例中的另一个单体。当然,在本实施例中使用的场景图像中并不仅限于这两个单体。本实施例则是以场景图像中的“佛像”单体为例,说明本发明实施例提供的方法,如图1中的b所示的“佛像”单体,即为经由步骤2获得的聚焦测度值最大的场景图像中的“佛像”单体。

式(6)中,hj(x,y)表示第j个单体的区域图像,supp(*)表示*所在的图像区域,supp(f)中的f指的是f(x,y),supp(hj)中的hj指的是hj(x,y),dj表示第j个单体区域图像在(x,y)空间上的支集,d表示聚焦堆栈数据在(x,y)空间上的支集。

步骤3,在步骤1获得的最大聚焦测度值的场景图像的每一个单体j的区域图像hj(x,y)上,找出每一个单体j的外轮廓边界线,该外轮廓边界线形成封闭的区域,下文将“该外轮廓边界线形成封闭的区域”称作为单体区域,如图1中的c和d示意出的空白部分,即为“佛像”单体的单体区域dj。

每一个单体j的单体区域为后文将步骤中的“提取聚焦堆栈单体数据子集”提供准确的区域信息。通过提取聚焦堆栈单体数据子集,一方面可以有效利用单体内部物点的空间连续性,以提高物体内部物点的重建精度、提高计算效率;另一方面可以有效避免物体边界处深度跳跃带来的重建误差,能够提高物体的外轮廓边界线的重建精度。

步骤3具体包括:

步骤31,采用alphamatting或现有的其它方法,在步骤1获得的聚焦测度值最大的场景图像的每一个单体j的区域图像hj(x,y)上,准确获取单体的外轮廓边界线,得到如图1中c所示的初步的单体区域。

步骤32,利用扫描线种子填充算法或现有其它方法,对步骤31获得的初步的单体区域内部进行填充,得到最终的单体区域,该单体区域为如图1中d示出的黑色区域所包围得空白区域。

步骤4,利用步骤3中得到的第j个单体的单体区域dj,找出第j个单体的聚焦堆栈数据(如图1中的f所示),则第j个单体的第i个图像表示为式(7):

步骤5,在第j个单体的单体区域dj中选定代表区域,该代表区域通常是单体区域中特征和/或边界比较清晰明显的区域,利用聚焦测度对代表区域的聚焦清晰程度进行判断,以从第j个单体的聚焦堆栈数据的i个场景图像中筛选出v个场景图像,筛选后得到第j个单体的第v个图像表示为式(8):

其中,表示利用式(5)计算得到的所选取的第j个单体的代表区域的聚焦测度大小,tj表示聚焦测度阈值,该阈值为经验值,比如可以是步骤1计算得到的最大聚焦测度值的一半,i1,i2,...,iv是经由筛选后的聚焦堆栈单体数据子集中的图像标号。

在(x,y)空间上构建场景的单体,在深度方向上对i个场景图像筛选出v个图后,如图1中g所示,得到j个单体的聚焦堆栈数据,即表示为式(9)的聚焦堆栈单体数据子集:

步骤6,对步骤2获取的聚焦堆栈单体数据子集进行单体进行深度重建和全聚焦成像,其具体包括:

步骤61,利用式(4),在步骤5获得的聚焦堆栈单体数据子集的每一个单体区域内,逐个像素点计算聚焦堆栈单体数据子集的聚焦测度

步骤62,根据步骤61计算得到的聚焦堆栈单体数据子集的聚焦测度通过数据拟合得到最大聚焦测度对应的深度。其中,“数据拟合”方法,比如可以使用下式(10)表述的二次曲线数据拟合方法,也可以采用现有的其它数据拟合方法。

通过式(10)给出的二次曲线表达式,描述聚焦测度和深度之间的关系:

式(10)中,s(x,y)表示深度,a0、a1、a2均为待求解的参数。

根据步骤61计算得到的每一个像素点的聚焦测度和对应的深度,根据最小二乘法解出式(10)中的系数a0、a1、a2。

步骤63,根据步骤62获得的系数,可以拟合出深度上连续的场景图像上第j个单体的像素点(x,y)在深度s下的聚焦测度θ(s,j)(x,y),进而利用下式(11),求解拟合曲线中的最大聚焦测度对应的深度:

式(11)中,表示θ(s,j)(x,y)取最大值对应s的值,sj(x,y)表示第j个单体的深度。

步骤64,根据步骤63求得的深度,利用式(12)将单体聚焦堆栈数据子集中最大聚焦测度所对应的像素点组合成全聚焦图:

式(12)中,表示θ(s,j)(x,y)取最大值对应的图像,(x,y)表示采集实际场景图像中单个像素点的坐标,sj(x,y)是第j个单体的深度。

步骤7,对步骤6重建的单体进行局部一致性优化:采用全变差正则化或其它现有方法,对单体聚焦堆栈数据子集重建的结果进行优化,优化方法比如采用如下式(13)所示的方法:

其中,depthj(x,y)为全变差正则化后的深度,为depthj(x,y)的梯度,λ是权重系数,比如1。

步骤8,将步骤7优化后的单体进行全局融合:在(x,y)空间上,融合所有单体(j个单体)得到全局的深度和全聚焦图。

其中,depth(x,y)和allfocus(x,y)分别为整个场景的深度和全聚焦图。

最后需要指出的是:以上实施例仅用以说明本发明的技术方案,而非对其限制。本领域的普通技术人员应当理解:可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。

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