CN104065946B - 基于图像序列的空洞填充方法 - Google Patents
基于图像序列的空洞填充方法 Download PDFInfo
- Publication number
- CN104065946B CN104065946B CN201410271105.0A CN201410271105A CN104065946B CN 104065946 B CN104065946 B CN 104065946B CN 201410271105 A CN201410271105 A CN 201410271105A CN 104065946 B CN104065946 B CN 104065946B
- Authority
- CN
- China
- Prior art keywords
- image
- target image
- cavity
- pixel
- empty
- 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.)
- Expired - Fee Related
Links
Landscapes
- Image Processing (AREA)
- Testing, Inspecting, Measuring Of Stereoscopic Televisions And Televisions (AREA)
Abstract
本发明公开了一种基于图像序列的空洞填充方法,根据三维图像变换前后的参考图像Rt和目标图像Dt得到视差图,对目标图像Dt进行小空洞预处理,根据参考图像Rt前后的一组邻近参考图像生成邻近目标图像,计算邻近目标图像与目标图像Dt的深度差值,对邻近目标图像中的像素点进行可用标记,从邻近目标图像拷贝可用像素点对目标图像Dt进行空洞填充,然后使用邻近参考图像对目标图像Dt采用运动补偿的方式进行空洞填充,此时再对小于阈值的空洞采用基于视差图的空洞填充方法,然后选取下一组邻近参考图像进行填充;最终剩下的空洞由图像修复算法完成填充。本发明只需一路视频,可达到较佳的图像质量,节省传输视频数据所需的带宽,减少硬件实现的时间复杂度。
Description
技术领域
本发明属于三维图像变换技术领域,更为具体地讲,涉及一种基于图像序列的空洞填充方法。
背景技术
在3D电视系统中,利用基于深度图像的绘制技术(Depth Image BasedRendering,DIBR)来生成新视图时,由于视点的改变等原因,有可能产生大的空洞(Holes)。空洞问题是最主要也是最难解决的问题,它严重影响了新视图的质量。空洞填充问题引起了很多研究人员的关注,相应的也有了很多的解决方案。根据它们的技术特点,主要可以分成两类:
一、基于空域的空洞填充。
比较经典的主要有深度图像预处理,图像修复等。其中深度图像预处理通过滤波来平滑深度图像以减少深度值的不连续性,达到缩减空洞的目的。如:Fehn提出用高斯滤波器平滑深度图像,以消除合成的新视图中较大空洞或者使之变小。之后Chen等人、Zhang等人在滤波器的选择以及滤波的区域方面做了改进,采用边缘依赖深度滤波器(Edge Dependent Depth Filter),非对称高斯滤波器处理深度图像,来减弱背景中垂直纹理信息产生的几何扭曲(GeometricDistortion)现象。图像修复则根据空洞区域的特征用偏微分方程或是纹理分析的方法来填充空洞。
二、基于时空结合的空洞填充算法。
这种算法也可以分为三种,第一种利用多个视点的参考图像来绘制虚拟视点的视图,从而可以通过图像融合有效的缩小空洞的范围。第二种是迭代算法,如Wang等人则提出的非对称边缘自适应滤波器(Asymmetric Edge AdaptiveFilter,AEAF)对深度图像进行预处理,其核心思想来自双边滤波(BilateralFilter)。该算法通过运动估计,计算当前帧和参考帧的对应点的亮度差异,来设置掩模系数。掩模在水平方向和垂直方向的系数是不同,需要迭代多次才能得到这些系数。这种算法太复杂,不利于硬件实现。
在现有的两大类算法中,基于空域的空洞填充算法,缺乏空洞区域的场景信息,用来填充的像素不是真实场景的像素,而是通过一定的规则模拟出来的,填充后会降低图像的逼真度;而基于时空结合的空洞填充算法虽然可以利用更多的场景信息,用多个视点的参考图像来绘制虚拟视点的视图,从而得到较好的目标图像,但需要较高的带宽来传输多路视频信息。迭代算法时间复杂度高,不利于硬件实现。
发明内容
本发明的目的在于克服现有技术的不足,提供一种基于图像序列的空洞填充方法,只需要传输一路视频,从图像序列中选择场景信息来填充较大空洞,不需要迭代多次,既达到较佳的图像质量,又减少硬件实现的时间复杂度。
为实现上述发明目的,本发明基于图像序列的空洞填充方法,包括以下步骤:
S1:根据三维图像变换前后的参考图像Rt和目标图像Dt,计算各对应像素点的视差矢量,得到视差图MV_DtRt;
S2:对目标图像Dt进行小空洞预处理,包括以下步骤:
S2.1对目标图像Dt进行中值滤波,去除极小空洞;
S2.2:按从左往右的顺序遍历视差图MV_DtRt,检测空洞,除图像边缘的空洞以外,当空洞的连续空洞点个数小于空洞长度阈值len,进入步骤S2.4,否则进入步骤S2.3;
S2.3:判断该空洞两端的像素点是否均为前景像素点,如果是,进入步骤S2.4,否则不作任何操作:
S2.4:对该空洞采用基于视差图的空洞填充方法进行填充;
S3:基于图像序列依次对剩余空洞进行填充,具体步骤包括:
S3.1:设置k=1;
S3.2:根据图像序列中的参考图像Rt-k和参考图像Rt+k,得到目标图像Dt-k和目标图像Dt+k;
S3.3:将当前目标图像Dt的深度图,分别与目标图像Dt-k和Dt+k的深度图求差,得到两个深度差值矩阵,遍历深度差值矩阵,当深度差值大于0且小于预设阈值时,将目标图像Dt-k或Dt+k中的对应像素点的可用标记设置为1,否则设置为0;当目标图像Dt-k或Dt+k不存在时,直接将对应像素点的可用标记设置为0;
S3.4:按行遍历视差图MV_DtRt,如果检测到Dt(u,v)为空洞点,按以下方法进行填充:
其中,Dt(u,v)表示目标图像Dt中的像素点(u,v),Dt-k(u,v)表示目标图像Dt-k中的像素点(u,v),mt-k(u,v)表示目标图像Dt-k中像素点(u,v)的可用标记,Dt+k(u,v)表示目标图像Dt+k中的像素点(u,v),mt+k(u,v)表示目标图像Dt+k中像素点(u,v)的可用标记;
同时将目标图像Dt中行方向上距离Dt(u,v)最近的背景像素点的视差值和深度值作为Dt(u,v)的视差值和深度值更新视差图和深度图;
S3.5:分别判断参考图像Rt-k、Rt+k与参考图像Rt相比,前景是否相对于背景发生运动,如果是,则将参考图像Rt-k或Rt+k记为图像R′,对目标图像Dt进行运动补偿后进入步骤S3.6,否则直接进入步骤S3.6,运动补偿的方法为:
遍历当前目标图像Dt的视差图,得到所有空洞的非空洞端点中为背景像素的端点集合,依次选择端点集合中的各个端点Dt(p,q),通过视差值得到参考图像中的对应像素点Rt(p′,q′),选取以像素点Rt(p′,q′+αn)为中心、边长为2n+1的图像块作为当前块,其中n为正整数,α为偏移方向指示,当端点Dt(p,q)为空洞的左端点,α=-1,当端点Dt(p,q)为空洞的右端点,α=1;在图像R′中搜索当前块的最佳匹配块,计算得到当前块至匹配块的运动矢量然后对目标图像Dt中以Dt(p,q-αn)为中心、边长为n的图像块中的空洞点进行填充,当Dt(p+i,q-αn+j)为空洞点,其中i、j的取值范围分别为-n≤i≤n、-n≤j≤n,图像R′中用于填充该空洞点的像素点为同时将目标图像Dt中行方向上距离Dt(p+i,q-αn+j)最近的背景像素点的视差值和深度值作为像素点Dt(p+i,q-αn+j)的视差值和深度值更新视差图和深度图;
S3.6:遍历视差图MV_DtRt,检测空洞,当空洞的连续空洞点个数小于空洞长度阈值len,采用基于视差图的空洞填充方法对该空洞进行填充,否则不作任何操作;
S3.7:判断是否k=max(a,b),其中a表示图像序列中参考图像Rt之前的可用图像数量,b表示图像序列中参考图像Rt之后的可用图像数量,如果是,进入步骤S4,否则令k=k+1,返回步骤S3.2;
S4:采用图像修复方法对步骤S3得到的目标图像进行修复。
本发明基于图像序列的空洞填充方法,根据三维图像变换前后的参考图像Rt和目标图像Dt,得到视差图MV_DtRt,对目标图像Dt进行小空洞预处理,再基于图像序列依次对剩余空洞进行填充:根据参考图像Rt前后的一组邻近参考图像生成邻近目标图像,计算邻近目标图像与目标图像Dt的深度差值,根据深度差值对邻近目标图像中的像素点进行可用标记,再根据可用标记从邻近目标图像拷贝像素点对目标图像Dt的空洞进行填充,然后使用邻近参考图像对目标图像Dt采用运动补偿的方式进行空洞填充,此时再对小于阈值的空洞采用基于视差图的空洞填充方法,然后选取下一组邻近参考图像进行填充;最终剩下的空洞由图像修复算法完成填充。
本发明具有以下有益效果:
(1)只需要一路视频,从图像序列中选择场景信息来填充较大空洞,不需要额外传输其他视频数据,在保证较佳图像质量的前提下,节省传输视频数据所需的带宽,减少硬件实现的时间复杂度;
(2)从图像序列中获取场景信息,提高了填充后的空洞区域的真实性,得到高质量的新视图。
附图说明
图1是块匹配运动估计原理图;
图2是目标图像以及前后参考图像关系示意图;
图3是本发明基于图像序列的空洞填充方法的工作流程示意图;
图4是本实施例中参考图像与目标图像;
图5是小空洞预处理的工作流程示意图;
图6是中值滤波后的目标图像;
图7是空洞大小检测示意图;
图8是较大空洞分类示意图;
图9是基于图像序列进行空洞填充的工作流程图;
图10是三个目标图像对应的深度图;
图11是前后两帧目标图像中的可用像素标记;
图12是三帧参考图像;
图13是根据图12中参考图像得到的三帧目标图像;
图14是第0帧目标图像在基于图像序列的空洞填充过程和结果;
图15是第0帧目标图像完全修复的结果图;
图16是第0帧目标图像采用对比算法的修复结果图;
图17是第49帧目标图像在基于图像序列的空洞填充过程和结果;
图18是第49帧目标图像完全修复的结果图;
图19是第49帧目标图像采用对比算法的修复结果图;
图20是第99帧目标图像在基于图像序列的空洞填充过程和结果;
图21是第99帧目标图像完全修复的结果图;
图22是第99帧目标图像采用对比算法的修复结果图。
具体实施方式
下面结合附图对本发明的具体实施方式进行描述,以便本领域的技术人员更好地理解本发明。需要特别提醒注意的是,在以下的描述中,当已知功能和设计的详细描述也许会淡化本发明的主要内容时,这些描述在这里将被忽略。
为了对本发明进行更好的说明,下面先对本发明的相关概念进行简单介绍。
1、运动矢量
运动矢量指由匹配块与当前块的相对位置计算出的运动位移,可以用块匹配运动估计算法估计出来。通常情况下,参考帧为当前帧的相邻帧。图1是块匹配运动估计原理图。如图1所示,为确定当前帧Rt中的块Bt(当前块)的运动矢量,在参考帧Rt+1中寻找其最佳匹配块,最佳匹配块的搜索通常在一个搜索窗内进行。例如待估计的块大小为M×N,搜索范围为正负m,则搜索窗大小为(M+2m)×(N+2m)。通常在选取块大小时,M=N。最佳匹配块的判断准则有多种,比如最小绝对差准则和最小绝对偏差和(Sum of Absolute Difference,SAD)准则等。
在前一帧中寻找匹配块进行的运动估计,也称为前向运动估计;相反,到后一帧中寻找匹配块进行的运动估计,相应地称之为后向运动估计。
2、前后向运动估计补偿融合
图2是目标图像以及前后参考图像关系示意图。如图2所示,通过搜索匹配块可得到参考图像(当前帧)与其相邻的前/后参考图像的运动矢量MV_RtRt+i,再求目标图像与参考图像对应的运动矢量(也就是视差向量)MV_DtRt,这两个运动矢量求和便可得到目标图像与其前后视频图像的运动矢量MV_DtRt+i。因此,通过目标图像与参考图像的视差图,以及前/后参考图像的匹配块搜索可以在前/参考图像中得到目标图像像素点的对应信息,因此可以根据这些对应信息进行空洞填充。
由于图像序列里可能没有包含填充目标图像空洞需要的全部信息,如需填补全部空洞,还需结合中值滤波、基于视差图的空洞填充和图像修复等方法综合进行。
实施例
图3是本发明基于图像序列的空洞填充方法的工作流程示意图。如图3所示,本发明基于图像序列的空洞填充方法包括以下步骤:
S301:计算视差图:
根据三维图像变换前后的参考图像Rt和目标图像Dt,计算各对应像素点的视差矢量,得到视差图MV_DtRt。
本实施例采用“ballet”序列中的图像及其附带标定参数。参考图像选择由“ballet”序列中由摄像机4捕获的图像作为参考图像(左视图)。图4是本实施例中参考图像与目标图像。
S302:对目标图像Dt进行小空洞预处理:
图5是小空洞预处理的工作流程示意图。如图5所示,对目标图像Dt的小空洞预处理包括以下步骤:
S501:中值滤波:
如图4所示,目标图像中有许多大小不同的空洞,对于尺寸很小的空洞(即所谓极小空洞),可将其视为图像中的噪点,可以采用中值滤波进行去除,以便进行后续的操作。用目标图像Dt中距离空洞点Dt(u,v)最近的背景像素的视差值作为被填充空洞点Dt(u,v)的视差值。图6是中值滤波后的目标图像。如图6所示,经过中值滤波后,尺寸较小的空洞已经被去除。
S502:检测空洞大小,区分较大空洞和较小空洞,即判断连续空洞是否小于空洞长度阈值len,再分别进行处理。图7是空洞大小检测示意图。如图7所示,空洞大小检测的具体方法为:按从左往右的顺序遍历视差图MV_DtRt,检测空洞,并确定该空洞的终点和连续空洞点的个数,除图像边缘的空洞以外,当空洞的连续空洞点个数小于空洞长度阈值len,则认为此处是较小空洞,进入步骤S504,则认为此处是较大空洞,否则进入步骤S503。
S503:较大空洞分类:
由于深度图像的不准确,在较大空洞边缘(即较大空洞的边缘区域为背景时)会产生匹配误差,从而在处理较大空洞时先需要将较大空洞分类,然后再用其他填充较大空洞的方法得到较好的图像质量。
图8是较大空洞分类示意图。如图8所示,根据较大空洞两端的像素为前景或是背景像素,以及是否在边界上,可以将空洞分为五种情况:A:两端都为背景像素点;B:左端为背景像素点,右端为前景像素点;C:左端为前景像素点,右端为背景像素点;D:两端都为前景像素点;E:为边界空洞。
对于D类空洞,采用基于视差图的空洞填充方法来进行填充,其他ABCE类空洞采用基于图像序列的空洞填充方法进行填充。因此,判断空洞两端的像素点是否均为前景像素点,如果是,进入步骤S504,否则暂不处理,即不作任何操作。
S504:基于视差图进行空洞填充:
采用基于视差图的空洞填充方法,即直接从参考图像Rt中拷贝像素点来填充目标图像Dt中的空洞,即空洞点Dt(u,v)=Rt(u,v)+d,当目标图像Dt为左视图时,d为目标图像Dt中前景左边距离空洞点Dt(u,v)最近的背景像素的视差值,当目标图像Dt为右视图时,d为前景右边距离空洞点Dt(u,v)最近的背景像素的视差值。同时更新目标图像Dt的视差图和深度图,将d作为被填充空洞点Dt(u,v)的视差值,用拷贝像素点的深度值作为被填充空洞点Dt(u,v)的深度值。
基于视差图进行空洞填充的方法具体可以参见Liu,R.,et al.,Hole-fillingBased on Disparity Map for DIBR.KSII Transactions on Internet and InformationSystems(TIIS),2012.6(10):p.2663-2678。
S303:基于图像序列进行空洞填充:
图9是基于图像序列进行空洞填充的工作流程图。如图9所示,基于图像序列进行空洞填充包括以下步骤:
S901:令邻近参考图像序号k=1。
S902:根据图像序列中的参考图像Rt-k和参考图像Rt+k,得到目标图像Dt-k和目标图像Dt+k,即对参考图像Rt-k和参考图像Rt+k进行三维图像变换。为了使目标图像Dt-k和目标图像Dt+k中能够包含更多的新场景信息,还可以对得到的目标图像Dt-k和目标图像Dt+k采用步骤S302中的方法进行小空洞预处理。
S903:计算深度差值矩阵并标记可用像素:
标记可用像素的目的是确定目标图像Dt-k和目标图像Dt+k的新场景信息。具体方法为:将当前目标图像Dt的深度图,分别与目标图像Dt-k和Dt+k的深度图求差,得到两个深度差值矩阵;遍历深度差值矩阵,当深度差值大于0且小于预设阈值时,将目标图像Dt-k或Dt+k中的对应像素点的可用标记设置为1,否则设置为0;当目标图像Dt-k或Dt+k不存在时,直接将对应像素点的可用标记设置为0。阈值可以根据实际情况进行设置,在本实施例中,阈值设置为9。为了能够尽量多地使用图像序列中的参考图像及其目标图像进行空洞填充,之前的参考图像数量和之后的参考图像数量通常不相同,有可能之前与之后的参考图像只存在一个,因此当目标图像Dt-k或Dt+k不存在时,肯定不存在可用像素,因此直接将对应像素点的可用标记设置为0。
图10是三个目标图像对应的深度图。图11是前后两帧目标图像中的可用像素标记。经过图10中的深度图得到深度差值矩阵后进行可用像素标记,图11中以图像形式表示标记表,其中白色表示可用标记1,黑色表示可用标记0。可见,在一张邻近的参考图像中,能够进行空洞填充的可用像素并不很多,因此本发明需要利用图像序列中的多个邻近参考图像来进行空洞填充。
S904:图像序列像素点拷贝:
经过步骤S903进行可用像素标记后,就可以根据标记将经过处理的邻近目标图像相应的位置拷贝场景信息来填充当前帧的空洞。具体做法是:按行遍历视差图MV_DtRt,如检测到Dt(u,v)的视差值为-128,则对应的目标图像中的Dt(u,v)为空洞点。然后根据可用标记判断Dt(u,v)在邻近目标图像中是否有可用的新场景信息,也就是判定Dt(u,v)的可用标记是否等于1,如有可用新场景信息则拷贝相应的像素点进行补偿。填充方法为:
其中,Dt(u,v)表示目标图像Dt中的像素点(u,v),Dt-k(u,v)表示目标图像Dt-k中的像素点(u,v),mt-k(u,v)表示目标图像Dt-k中像素点(u,v)的可用标记,Dt+k(u,v)表示目标图像Dt+k中的像素点(u,v),mt+k(u,v)表示目标图像Dt+k中像素点(u,v)的可用标记。
填充的同时更新视差图和深度图,即将目标图像Dt中行方向上距离Dt(u,v)最近的背景像素点的视差值和深度值作为Dt(u,v)的视差值和深度值更新视差图和深度图。
S905:判断前景相对于背景是否运动:
判断是否满足运动补偿条件,即分别判断参考图像Rt-k、Rt+k与参考图像Rt相比,前景是否相对于背景发生运动,如果是,则将参考图像Rt-k或Rt+k记为图像R′,进入步骤S906对目标图像Dt进行运动补偿,否则直接进入步骤S907。
本实施例中,先判断参考图像Rt-k与参考图像Rt中的前景是否相对于背景发生运动,如果是,记参考图像Rt-k为图像R′,采用图像R′对目标图像Dt进行运动补偿,然后判断参考图像Rt+k与参考图像Rt中的前景是否相对于背景发生运动,如果是,记参考图像Rt+k为图像R′,采用图像R′对目标图像Dt进行运动补偿,如果参考图像Rt-k和Rt+k都不能进行运动补偿,进入步骤S907。
前景相对于背景的运动可以分为两种情况:一种是场景静止,前景有运动(前景没有运动,则不需要运动补偿);另一种是场景运动,前景也运动,且前景运动量比场景大。这两种情况下前景都拥有大于场景的运动量,因此会有新的场景信息出现在序列中,并且能用运动估计的方法搜寻到这些新场景信息进行补偿。这两种情况之外,则是前景相对于场景没有运动,那么运动矢量为0,执行运动补偿无意义。
S906:运动补偿像素点拷贝:
遍历当前目标图像Dt的视差图,得到所有空洞的非空洞端点中为背景像素的端点集合。这是因为在空洞填充时,都是用背景像素来进行填充。
依次选择端点集合中的各个端点Dt(p,q),通过视差值得到参考图像中的对应像素点Rt(p′,q′),选取以像素点Rt(p′,q′+αn)为中心、边长为2n+1的图像块作为当前块,其中n为正整数,本实施例中n=1,α为偏移方向指示,当端点Dt(p,q)为空洞的左端点,α=-1,当端点Dt(p,q)为空洞的右端点,α=1;在图像R′中搜索当前块的最佳匹配块,计算得到当前块至匹配块的运动矢量然后对目标图像Dt中以像素点Dt(p,q-αn)为中心、边长为n的图像块中的空洞点进行填充,当Dt(p+i,q-αn+j)为空洞点,其中i、j的取值范围分别为-n≤i≤n、-n≤j≤n,图像R′中用于填充的像素点为同时将目标图像Dt中行方向上距离像素点Dt(p+i,q-αn+j)最近的背景像素点的视差值和深度值作为像素点Dt(p+i,q-αn+j)的视差值和深度值更新视差图和深度图,进入步骤S907。
S907:对较小空洞进行空洞填充:
按从左往右的顺序遍历目标图像Dt的视差图MV_DtRt,检测空洞,除图像边缘的空洞以外,当空洞的连续空洞点个数小于空洞长度阈值len,则采用基于视差图的空洞填充方法进行空洞填充,即直接从参考图像Rt中拷贝像素点来填充目标图像Dt中的空洞,空洞点Dt(u,v)=Rt(u,v)+d,d为目标图像Dt中距离空洞点Dt(u,v)最近的背景像素的视差值,将d作为被填充空洞点Dt(u,v)的视差值,用拷贝像素点的深度值作为被填充空洞点Dt(u,v)的深度值,否则暂不处理。
S908:判断是否k=max(a,b),其中a表示图像序列中参考图像Rt之前的可用图像数量,b表示图像序列中参考图像Rt之后的可用图像数量,如果是,即用于填充的可用图像已经用完,进入步骤S304,否则令k=k+1,返回步骤S902;
S304:采用图像修复方法对步骤S303得到的目标图像进行修复。
由于邻近的参考图像对应的目标图像中新场景信息有限,基于图像序列的空洞填充方法尚不能完成所有大空洞的修复,因此最后需要采用图像修复算法来完成目标图像中剩下的较大空洞的修复,以便得到完整的视图。修复时是基于空洞的,只有一个空洞完全修复了才去修复下一个空洞。图像修复的具体方法参见图像修复相关算法,例如Gautier,J.,O.Le Meur,and C.Guillemot.Depth-based image completion for view synthesis.in 5th 3DTV Conference:TheTrue Vision-Capture,Transmission and Display of 3D Video,3DTV-CON 2011,May 16,2011-May 18,2011.2011.Antalya,Turkey:IEEE Computer Society.,此处不再详述。
为了验证本发明的有益效果,因此采用“ballet”中图像进行实验验证。对比算法采用不基于图像序列的空洞填充方法,即在本发明方法中,小空洞处理后直接进行图像修复。
选用以摄像机4捕获的第0至第99帧为图像序列,第0帧、第49帧和第99帧作为左视图(参考图像),来合成右视图(目标图像)。图12是三帧参考图像。
本实验基线长度为0.65(以“ballet”序列camera space中的长度单位计),虚拟摄像机的内部参数矩阵及旋转变换矩阵与摄像机4的相同,平移变换矩阵在水平方向相差0.65,由该序列第0帧、第49帧和第99帧参考图像及对应深度图像经三维图像变换可得到目标图像。图13是根据图12中参考图像得到的三帧目标图像。
按照本发明方法,对生成的目标图像依次执行中值滤波、基于视差图的空洞填充、基于序列的空洞填充和图像修复算法修复完所有空洞。
图14是第0帧目标图像在基于图像序列的空洞填充过程和结果。图15是第0帧目标图像完全修复的结果图。图16是第0帧目标图像采用对比算法的修复结果图。
图17是是第49帧目标图像在基于图像序列的空洞填充过程和结果。图18是第49帧目标图像完全修复的结果图。图19是第49帧目标图像采用对比算法的修复结果图。
图20是第99帧目标图像在基于图像序列的空洞填充过程和结果。图21是第99帧目标图像完全修复的结果图。图22是第99帧目标图像采用对比算法的修复结果图。
如图14、图17和图20所示,随着搜索帧数的增加,空洞填充效果越来越好。从图15、图18、图21,结合图16、图19、图22,可以看出对于前景物体附近的大空洞,采用基于序列的空洞填充能有效改善背景扭曲、失真等现象(如图中圈注所示),对于右边人员附近的大空洞和边缘大空洞,由于缺乏场景的运动,基于序列的空洞填充算法所起的作用较为有限,但结合后续的图像修复仍能得到一定程度的改善。
尽管上面对本发明说明性的具体实施方式进行了描述,以便于本技术领域的技术人员理解本发明,但应该清楚,本发明不限于具体实施方式的范围,对本技术领域的普通技术人员来讲,只要各种变化在所附的权利要求限定和确定的本发明的精神和范围内,这些变化是显而易见的,一切利用本发明构思的发明创造均在保护之列。
Claims (2)
1.一种基于图像序列的空洞填充方法,其特征在于,包括以下步骤:
S1:根据三维图像变换前后的参考图像Rt和目标图像Dt,计算各对应像素点的视差矢量,得到视差图MV_DtRt;
S2:对目标图像Dt进行小空洞预处理,包括以下步骤:
S2.1对目标图像Dt进行中值滤波;
S2.2:按从左往右的顺序遍历视差图MV_DtRt,检测空洞,除图像边缘的空洞以外,当空洞的连续空洞点个数小于空洞长度阈值len,进入步骤S2.4,否则进入步骤S2.3;
S2.3:判断该空洞两端的像素点是否均为前景像素点,如果是,进入步骤S2.4,否则不作任何操作:
S2.4:对该空洞采用基于视差图的空洞填充方法进行填充;
S3:基于图像序列依次对剩余空洞进行填充,具体步骤包括:
S3.1:设置k=1;
S3.2:根据图像序列中的参考图像Rt-k和参考图像Rt+k,得到目标图像Dt-k和目标图像Dt+k;
S3.3:将当前目标图像Dt的深度图,分别与目标图像Dt-k和Dt+k的深度图求差,得到两个深度差值矩阵,遍历深度差值矩阵,当深度差值大于0且小于预设阈值时,将目标图像Dt-k或Dt+k中的对应像素点的可用标记设置为1,否则设置为0;当目标图像Dt-k或Dt+k不存在时,直接将对应像素点的可用标记设置为0;
S3.4:按行遍历视差图MV_DtRt,如果检测到Dt(u,v)为空洞点,按以下方法进行填充:
其中,Dt(u,v)表示目标图像Dt中的像素点(u,v),Dt-k(u,v)表示目标图像Dt-k中的像素点(u,v),mt-k(u,v)表示目标图像Dt-k中像素点(u,v)的可用标记,Dt+k(u,v)表示目标图像Dt+k中的像素点(u,v),mt+k(u,v)表示目标图像Dt+k中像素点(u,v)的可用标记;
同时将目标图像Dt中行方向上距离Dt(u,v)最近的背景像素点的视差值和深度值作为Dt(u,v)的视差值和深度值更新视差图和深度图;
S3.5:分别判断参考图像Rt-k、Rt+k与参考图像Rt相比,前景是否相对于背景发生运动,如果是,则将参考图像Rt-k或Rt+k记为图像R′,对目标图像Dt进行运动补偿后进入步骤S3.6,否则进入步骤S3.6,运动补偿的方法为:
遍历当前目标图像Dt的视差图,得到所有空洞的非空洞端点中为背景像素的端点集合,依次选择端点集合中的各个端点Dt(p,q),通过视差值得到参考图像中的对应像素点Rt(p′,q′),选取以像素点Rt(p′,q′+αn)为中心、边长为2n+1的图像块作为当前块,其中n为正整数,α为偏移方向指示,当端点Dt(p,q)为空洞的左端点,α=-1,当端点Dt(p,q)为空洞的右端点,α=1;在图像R′中搜索当前块的最佳匹配块,计算得到当前块至匹配块的运动矢量然后对目标图像Dt中以Dt(p,q-αn)为中心、边长为n的图像块中的空洞点进行填充,当Dt(p+i,q-αn+j)为空洞点,其中i、j的取值范围分别为-n≤i≤n、-n≤j≤n,图像R′中用于填充该空洞点的像素点为同时将目标图像Dt中行方向上距离Dt(p+i,q-αn+j)最近的背景像素点的视差值和深度值作为像素点Dt(p+i,q-αn+j)的视差值和深度值更新视差图和深度图;
S3.6:遍历视差图MV_DtRt,检测空洞,当空洞的连续空洞点个数小于空洞长度阈值len,采用基于视差图的空洞填充方法对该空洞进行填充,否则不作任何操作;
S3.7:判断是否k=max(a,b),其中a表示图像序列中参考图像Rt之前的可用图像数量,b表示图像序列中参考图像Rt之后的可用图像数量,如果是,进入步骤S4,否则令k=k+1,返回步骤S3.2;
S4:采用图像修复方法对步骤S3得到的目标图像进行修复。
2.根据权利要求1所述的空洞填充方法,其特征在于,所述步骤S3.2中,还对得到的目标图像Dt-k和目标图像Dt+k采用步骤S2中的方法进行小空洞预处理。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410271105.0A CN104065946B (zh) | 2014-06-17 | 2014-06-17 | 基于图像序列的空洞填充方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410271105.0A CN104065946B (zh) | 2014-06-17 | 2014-06-17 | 基于图像序列的空洞填充方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN104065946A CN104065946A (zh) | 2014-09-24 |
CN104065946B true CN104065946B (zh) | 2015-10-21 |
Family
ID=51553447
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201410271105.0A Expired - Fee Related CN104065946B (zh) | 2014-06-17 | 2014-06-17 | 基于图像序列的空洞填充方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN104065946B (zh) |
Families Citing this family (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104378618B (zh) * | 2014-11-11 | 2016-06-29 | 清华大学深圳研究生院 | 一种基于深度图的并行视点合成负载均衡方法 |
CN104683788B (zh) * | 2015-03-16 | 2017-01-04 | 四川虹微技术有限公司 | 基于图像重投影的空洞填充方法 |
CN106028020B (zh) * | 2016-06-21 | 2017-11-17 | 电子科技大学 | 一种基于多方向预测的虚拟视角图像空洞填补方法 |
CN107798150B (zh) * | 2016-08-31 | 2021-07-23 | 复旦大学 | 一种基于序列二次规划方法统一框架的哑元填充方法 |
CN106851248A (zh) * | 2017-02-13 | 2017-06-13 | 浙江工商大学 | 基于稀疏性的图像修复优先级计算方法 |
CN107657591A (zh) * | 2017-09-05 | 2018-02-02 | 维沃移动通信有限公司 | 一种图像处理方法及移动终端 |
CN111432194B (zh) * | 2020-03-11 | 2021-07-23 | 北京迈格威科技有限公司 | 视差图空洞填充方法、装置及电子设备及存储介质 |
CN111476723B (zh) * | 2020-03-17 | 2023-04-18 | 哈尔滨师范大学 | 一种Landsat-7扫描线纠正器失效的遥感图像丢失像素恢复方法 |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101855980B1 (ko) * | 2011-12-14 | 2018-05-10 | 연세대학교 산학협력단 | 홀 채우기 방법 및 장치 |
KR101323194B1 (ko) * | 2012-03-26 | 2013-10-30 | (주)리얼디스퀘어 | 2차원 영상을 3차원으로 변환하는 장치 및 그 방법 |
CN103051908B (zh) * | 2012-12-26 | 2014-11-05 | 四川虹微技术有限公司 | 一种基于视差图的空洞填充装置 |
-
2014
- 2014-06-17 CN CN201410271105.0A patent/CN104065946B/zh not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
CN104065946A (zh) | 2014-09-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104065946B (zh) | 基于图像序列的空洞填充方法 | |
CN101902657B (zh) | 一种基于深度图分层的虚拟多视点图像的生成方法 | |
CN102026013B (zh) | 基于仿射变换的立体视频匹配方法 | |
CN103702098A (zh) | 一种时空域联合约束的三视点立体视频深度提取方法 | |
CN103236082A (zh) | 面向捕获静止场景的二维视频的准三维重建方法 | |
CN112019828B (zh) | 一种视频的2d到3d的转换方法 | |
CN103150729B (zh) | 一种虚拟视图渲染方法 | |
US9661307B1 (en) | Depth map generation using motion cues for conversion of monoscopic visual content to stereoscopic 3D | |
CN103679739A (zh) | 基于遮挡区域检测的虚拟视图生成方法 | |
CN104506872A (zh) | 一种平面视频转立体视频的方法及装置 | |
CN103260032B (zh) | 一种立体视频深度图序列的帧率提升方法 | |
CN102750694B (zh) | 基于局部最优置信传播算法的双目视频深度图求取方法 | |
Liu et al. | An enhanced depth map based rendering method with directional depth filter and image inpainting | |
CN102567992B (zh) | 遮挡区域的图像匹配方法 | |
CN104661014A (zh) | 时空结合的空洞填充方法 | |
CN103945206A (zh) | 一种基于相似帧比较的立体图像合成系统 | |
Liu et al. | Hole-filling based on disparity map and inpainting for depth-image-based rendering | |
CN106791772B (zh) | 基于绘制的最大可容忍深度失真计算方法 | |
CN104994365B (zh) | 一种获取非关键帧深度图像的方法以及2d视频立体化方法 | |
CN102271268B (zh) | 多视点立体视频的深度序列生成方法和装置 | |
Liu et al. | Texture-adaptive hole-filling algorithm in raster-order for three-dimensional video applications | |
Jung et al. | Superpixel matching-based depth propagation for 2D-to-3D conversion with joint bilateral filtering | |
CN113132706A (zh) | 基于逆向映射的可控位置虚拟视点生成方法及装置 | |
Chen et al. | Disocclusion-type aware hole filling method for view synthesis | |
Shao et al. | Object-based depth image–based rendering for a three-dimensional video system by color-correction optimization |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20151021 |
|
CF01 | Termination of patent right due to non-payment of annual fee |