一种用于视觉凸壳绘制的高光亮斑消除方法及其装置的制作方法

文档序号:6610410阅读:272来源:国知局
专利名称:一种用于视觉凸壳绘制的高光亮斑消除方法及其装置的制作方法
技术领域
本发明属于计算机图形学及虚拟现实技术领域,具体涉及一种用于视觉凸壳(Visual Hull)绘制的高光亮斑消除方法及其装置。
背景技术
3D计算机图形学的一个重要目标就是在计算机中对三维场景绘制出具有真实感的图像。传统的基于几何模型的绘制方法将场景描述成基本的几何基元,然后定义光源的分布与性质、物体表面材质和反射特性,最后通过绘制公式的计算产生出虚拟的合成图像。这种绘制方法存在着不可回避的问题现实中的物体和场景的复杂程度很难用简单的几何元素进行精确的描述,并且场景复杂度的增加会使绘制的计算量明显增加。
近年来出现的基于图像的绘制技术(Image-based Rendering,IBR)直接利用采集的场景或物体图像作为输入,不受其复杂度的影响,因此在绘制实际场景时有着传统绘制技术无法比拟的优点。如,文献“Image-Based Visual Hull”(Matusik,W.,Buehler,C.,et al.Proceedings of ACM SIGGRAPH 2000,369-374,2000.)提出了一种基于图像的视觉凸壳算法。
在基于图像的视觉凸壳算法中,如图1所示首先对物体采集若干参考图像,并将前景物体与背景进行分割。分割后得到的二值图像称为侧影图(silhouetteimage),由相机中心投射出来的射线与侧影的交集,称为投影锥。如图2所示,所有参考图像的投影锥的交集,即是对真实三维实体表面的一种近似表达,称为视觉凸壳。理论上讲,参考图像越多,视觉凸壳就越接近真实的物体表面。这种方法只需要知道拍摄时的相机标定信息和目标轮廓,这在实际中是较容易求得的。
但是,由于采集图像的条件限制,在采集得到的图像中会不可避免地存在高光亮斑,从而给物体最终的绘制效果带来不良影响。如参考图像上的高光亮斑过多会掩盖物体本身的纹理,高光亮斑越明显,新视图的纹理也就越不真实。
要消除这种不良影响,就需要通过图像修复等手段将参考图像中的高光亮斑去除。现有的高光消除算法一般对输入图像有特殊要求,如必须在完全相同的位置采集闪光照明和环境光照明的图像各一幅,然后通过分析比较两幅图像的差异来合成无高光的图像。另一类方法可以通过修改图像梯度域来消除单幅图像上的高光,但一般只能对背景比较单一的区域取得较好的效果。在视觉凸壳的绘制过程中,用于生成凸壳的参考图像序列往往多达数十幅图像,物体的颜色、纹理通常也比较复杂,因此上述方法都很难适用。

发明内容
本发明的目的即是针对现有方法的不足,提出一种适用于视觉凸壳计算、绘制过程的高光亮斑消除方法及其装置。该方法利用视觉凸壳生成过程中的相机标定信息以及参考图像之间的冗余信息,对每幅图像的高光区域分别进行修正,最终得到无高光亮斑的图像序列。使用修正后的图像序列进行视觉凸壳绘制,可以有效避免高光对绘制结果带来的不良影响。
为达到上述目的,本发明的高光亮斑消除方法主要分为以下几个步骤(如图3所示)1)提取高光亮斑子图像针对图像采集装置获得的每一幅参考图像,选取其中包含高光亮斑的子图像。
2)寻找对应子图像对第1步中选取包含高光亮斑的子图像,利用图像采集装置标定信息进行映射,在其他参考图像中分别找到其对应的子图像。
3)对高光亮斑子图像进行重采样利用各对应子图像的颜色信息对选定的高光亮斑子图像进行重采样,修正高光像素的颜色。
上述的方法,进一步包括如下步骤4)对重采样后的子图像边缘进行无缝化处理,消除子图像边缘的不连续现象。
本发明还提供了一种图像高光亮斑消除装置,包括
序列图像采集装置,用于采集参考图像序列,可以是数码相机或者CCD数字摄像头等;高光亮斑子图像提取装置用于从每一幅参考图像中提取包括高光亮斑的高光亮斑子图像;对应子图像映射装置用于根据序列图像采集装置的内外参数,在其他参考图像中找到当前高光亮斑子图像的对应子图像;高光亮斑子图像重采样装置,用于利用其他参考图像上的对应子图像的颜色信息对当前高光亮斑子图像进行重采样,消除高光亮斑。
上述的装置进一步还包括子图像边缘无缝化处理装置,用于消除重采样后子图像边界上的颜色不连续现象。还可以包括序列图像输出装置,用于输出消除了高光亮斑的序列图像。
本发明的优点在于利用了视觉凸壳绘制过程中提供的图像采集装置标定信息和物体轮廓信息来消除高光亮斑,计算简便高效。对输入图像序列没有其他的特殊要求,使用普通数码相机或者CCD数字摄像头在任意光源下取得的图像即可,无需在每个位置采集图像对,对纹理较为复杂的图像也可以适用。通过进一步的无缝化处理,可使重采样的子图像与原图像无缝融合,得到高真实感的无高光合成图像。


图1是视觉凸壳生成过程中序列图像采集的示意图;图2是视觉凸壳生成原理示意图;图3是高光亮斑消除方法的流程示意图;图4是在一幅图像上选取高光亮斑子图像的示意图;图5是在邻近图像上寻找对应像素的原理示意图;图6是在邻近图像上找到高光亮斑子图像对应区域的示例;图7是通过子图像重采样消除高光亮斑的示意图;图8是重采样子图像边缘上颜色不连续现象的示例;图9是图像中的向导场原理示意图;
图10是通过求解泊松方程进行无缝化处理的子图像示例;图11(a)、(b)是高光亮斑消除的结果示例,图中左侧为原图像,右侧为经过高光消除后的图像;图11(c)是使用修正后的序列图像进行视觉凸壳绘制的结果示例,左侧是用原图像直接绘制的结果,右侧是使用消除高光的图像序列进行视觉凸壳绘制的新视图;图12是图像高光亮斑消除装置结构示意图。
具体实施例方式
以下参照附图,详细说明本发明的具体实施方案示例。
如图1所示,基于图像的视觉凸壳方法,其绘制过程的输入为围绕物体拍摄的一组参考图像。输入图像序列应具有以下的特点1.所有图像按拍摄时相机的空间位置排序;2.每两幅相邻图像应当有相互重叠的部分;3.整个图像序列能够包含物体的各个方位。
通过相机标定的方法,可以得到各参考图像相机的内外参数。再用图像分割等方法,可以将前景物体与背景分开,得到物体在各参考图像上的二维轮廓。利用以上这些信息,即可生成物体的视觉凸壳模型,并从任意新视角绘制出合成的图像。
要消除参考图像中的高光亮斑,首先需要从每幅图像中提取包含高光区域的子图像。这可以通过手工交互或自动计算的方法来实现。图4就是一个选取了高光亮斑子图像的例子。
在提取了高光亮斑子图像以后,分别对每个子图像进行计算,利用邻近参考图像上对应的颜色信息对当前高光亮斑子图像进行重采样,从而将高光亮斑消除。因此首先需要找到当前子图像在邻近参考图像上的对应区域。这一步骤中需要知道相机的内外参数,这在视觉凸壳的生成过程中已经由相机标定算法给出。
如错误!未找到引用源。5所示,已知图像I0上的一点P0,参考图像Ik,相机参数已知,要计算P0在图像Ik上的对应点Pk。计算的具体步骤如下1.从当前相机C0中心出发构造穿过P0的射线r;2.由于相机是已标定的,我们首先通过相机的标定参数,得到I0与Ik的基本矩阵(fundamental matrix),计算出P0点在图像Ik上的极线(epipolarline)le,它与物体轮廓的交点分别为Pak和Pbk,从相机中心C0发出的射线C0P0分别与CkPak、CkPbk相交(根据极线几何,这三条射线位于同一平面),将交点构成的线段记作VakVbk;3.重复步骤2,直至处理完所有有效的参考图像,得到一组线段{VakVbk|k=1,…,n};4.对这组线段求解其最大公共子线段,记作VaVb;5.将线段VaVb上距离视点较近的Va点投影至图像平面Ik,得到对应点Pk。
这样,就得到了高光亮斑子图像中任一像素在邻近图像上的对应像素。对子图像中每一像素重复上述步骤,即可得到高光亮斑子图像在其邻近参考图像上的对应区域,结果如图6所示。
由于光照环境的相对稳定,拍摄物体的角度不同,图像序列中的高光区域会出现一定的位移。例如,图6左图的高光亮斑在中图中仅有一部分是高光区域,而右图上已经完全消失,因此可以假定对应区域的大部分像素是非高光点。在此基础上,对于高光区域中的任一像素P0,可假定其对应像素集合{pk|k=1...n}中大部分像素的颜色是接近真实颜色的。于是,给每一个对应像素赋予一定权重wk后进行混合,就可以合成接近真实色彩的新像素。
光照下目标物体反映出的颜色是由漫反射(diffuse)分量与镜面反射(specular)分量组成的。对于非高光区域,各参考图像的像素主要是由漫射分量决定的,因而颜色分布集中;而高光区域内,颜色分布相对偏离。因此,在像素混合过程中,一个合理的权重分配原则是对于颜色分布偏离越大(方差越大)的像素,应赋予的权重越低。
在实际应用中,可以简略地用灰度值图像决定各像素的权重。假设gk为像素pk所对应的灰度值,则{pk|k=0...n}的平均灰度平均值为
gavg=1nΣk=0n-1gk.]]>根据灰度值方差,可以定义像素权重如下wk=c1|gavg-gk|2,]]>其中c为一常数,以保证wk之和等于1。于是,经过像素混合得到的新像素RGB值为RGB=Σk=0nwkRkΣk=0nwkGkΣk=0nwkBk,]]>其中(Rk,Gk,Bk)是pk的RGB分量。
一般来说,采用的图像越多,那么落在高光区域的对应像素相对来说更少,因此得到的颜色也与实际更为接近。但是由于相机标定、三维计算等带来的数值误差,求取对应点有可能产生位置误差,所以在复杂纹理部分容易产生模糊现象。因此,在统计像素的同时,还设置了一个阈值τ,用它来控制选取图片的数量。假设选取的子图像包含m个像素,每个像素的灰度值为bi,那么该区域像素的平均灰度为bavg=1mΣi=1mbi,]]>灰度方差为bdev=Σi=1m|bi-bavg|2.]]>于是,确定的参考图像数量(也即在像素混合过程中选用图片的数量)n为n=Nmax,bdev<τNmin,bdev≥τ.]]>其中的Nmax和Nmin为经验值,这样选取图片数量的意义是对于方差越大的高光区域,纹理越复杂,因此应该选用较少的参考图像数量防止模糊;对于纹理较为简单的区域,可以选用较多的参考图像,从而得到更加平滑的效果。具体实施时,将从所有参考图像中选取拍摄角度与目标图像最接近的n幅来参与运算。图7中就是采用上述方法去除高光的结果,左侧为原图,其中矩形为高光选区;右侧为修正后的图像。
采用像素混合、替换的方法可以较好地去除子图像内部的高光,但是在某些情况下,子图像边缘部分会出现一定的不连续现象。如图8中白色的底色较为敏感,因此在边缘上存在颜色的跳跃。为解决这一问题,本发明通过求解泊松方程来修正图像的梯度域,使子图像定义域上的拉普拉斯算子与消除高光的子图像保持一致,而在边界上与原图像保持一致,最后得到平滑的边界效果。
如图9所示,假设整个图像定义域I是R2上的一个闭合子集,Ω是I上的一个子集,Ω为该区域的边界,假设已知定义域I-Ω上的标量函数f*,另有一个定义在Ω上的向量场v(x,y),称之为向导场(guidance field)。求解的目标是得到Ω上的标量函数f,从而使该区域的梯度域f(x,y)与向导场v(x,y)一致。
由于该向量场非守恒,不能通过积分的方法直接求解。因此从所有的二维函数中,在最小二乘法的意义下寻找其梯度域与向导场v(x,y)最接近的解,这个问题相当于求解下面积分的最小值min∫∫F(f,v)dxdy,其中f|Ω=f*|Ω。
上式中,F(▿f,v)=||▿f-v||2=(∂f∂x-vx)2+(∂f∂y-vy)2.]]>根据变分原理,上述积分的最小值满足欧拉-拉格朗日等式∂F∂f-ddx∂F∂fx-ddy∂F∂fy=0]]>将F带入上式微分方程,得到2(∂2f∂x2-∂vx∂x)+2(∂2f∂y2-∂vy∂y)=0]]>化简上式,即得泊松方程Δf=divv。
其中Δ是拉普拉斯算子Δf=∂2f∂x2+∂2f∂y2,]]>divv是向量场v(x,y)的散度divv=∂vx∂x+∂vy∂y.]]>为求解上述泊松方程,首先要确定Ω的边界情况。一般来说可认为Ω为Neumann边界。可以用以下等式来估算拉普拉斯算子ΔΔf(x,y)≈f(x+1,y)+f(x-1,y)+f(x+1,y+1)+f(x,y-1)-4f(x,y)用向后差分的方法来估算散度算子divdiv v≈vx(x,y)-vx(x-1,y)+vy(x,y)-vy(x-1,y)由于拉普拉斯算子Δ和散度算子div皆为线性算子,因此可用一个求解线性方程组来近似估计。泊松方程的数值解法有很多种,为了提高算法效率,本发明中采用超松弛迭代法来求解。超松弛迭代法是Gauss-Seidel迭代法的一种加速收敛的方法,也是大型稀疏矩阵线性方程组的有效解法之一,它利用当前像素的四邻居和散度值对当前像素进行迭代。适当控制该算法的迭代次数,就能较为精确地逼近泊松方程的理想解。其伪码如下for each iterative countfor each pixel(x,y)in the regionif mask(x,y)is truethen newPixel(x,y)←[Sum of oldPixel(x,y)’s 4neighbors-divG(x,y)]/4*Omiga+oldPixel(x,y)*(1-Omiga);对于本发明中的无缝复制问题来说,关键是要保证选区边界颜色的连续和平滑。因此,对向导场的一个基本选择就是v=g,其中g为经过像素混合消除了高光的子图像。从各算子的定义出发,我们有 因此,泊松方程Δf=div v可以化简为Δf=Δg,其中f|Ω=f*|Ω。
使用超松弛迭代法求解上式,就可以快速地得到泊松方程的近似解,即修正后的子图像。
对图8中的花瓶采用上述方法进行无缝拼接后,得到的结果如图10所示。可以看到,在采用泊松方程方法保留了选区的边界之后,在选区边界处没有发生颜色跳跃的现象,因此结果也更加自然。
运用上述高光消除算法,可以对视觉凸壳的参考图像序列分别进行修复,去除高光亮斑,如图11(a)、(b)所示。在视觉凸壳绘制过程中使用修复后的参考图像进行新视点的绘制,就可以得到无高光的新视图(图11(c))。可以看到,由于去除了高光的影响,新的绘制结果具有更好的真实感。
本领域技术人员知道,本发明所提出的图像高光亮斑消除方法不仅可以用软件实现,同样可以用硬件实现。如图12所示,图像高光消除硬件装置可以包括一种图像高光亮斑消除装置,包括序列图像采集装置用于采集参考图像序列,可以是数码相机或者CCD数字摄像头等;高光亮斑子图像提取装置用于从每一幅参考图像中提取包括高光亮斑的高光亮斑子图像;对应子图像映射装置用于根据序列图像采集装置的内外参数,在其他参考图像中找到当前高光亮斑子图像的对应子图像;高光亮斑子图像重采样装置用于利用其他参考图像上的对应子图像的颜色信息对当前高光亮斑子图像进行重采样,消除高光亮斑;子图像边缘无缝化处理装置用于消除重采样后子图像边界上的颜色不连续现象;序列图像输出装置用于输出消除了高光亮斑的序列图像。
进而,该高光亮斑消除取硬件装置可以结合现有的视觉凸壳绘制硬件构成的视觉凸壳绘制系统。
尽管为说明目的公开了本发明的具体实施例和附图,其目的在于帮助理解本发明的内容并据以实施,但是本领域的技术人员可以理解在不脱离本发明及所附的权利要求的精神和范围内,各种替换、变化和修改都是可能的。因此,本发明不应局限于最佳实施例和附图所公开的内容。
权利要求
1.一种用于视觉凸壳绘制过程的高光亮斑消除方法,其特征在于,包括以下步骤(1)提取高光亮斑子图像针对图像采集装置获得的每一幅参考图像,选取其中包含高光亮斑的子图像;(2)寻找对应子图像对步骤(1)选取的包含高光亮斑的子图像,利用图像采集装置的标定信息进行映射,在其他参考图像中分别找到其对应的子图像;(3)对高光亮斑子图像进行重采样利用步骤(2)获取的对应子图像的颜色信息对步骤(1)选定的高光亮斑子图像进行重采样,修正高光像素的颜色。
2.如权利要求1所述的方法,其特征在于,所述步骤(3)后继续如下步骤(4)对所述步骤(3)重采样后的子图像边缘进行无缝化处理,消除子图像边缘的不连续现象。
3.如权利要求1所述的方法,其特征在于,所述步骤(1)中提取高光亮斑子图像是通过手工交互或自动计算的方法来实现的。
4.如权利要求1所述的方法,其特征在于,所述步骤(2)中寻找当前包含高光亮斑的子图像在其他参考图像上的对应子图像,是利用视觉凸壳生成过程中由图像采集装置标定算法给出的图像采集装置内外参数,经过几何变换计算而得出。
5.如权利要求1所述的方法,其特征在于,所述步骤(2)寻找对应子图像时,只在邻近的参考图像中分别找到对应的子图像。
6.如权利要求1所述的方法,其特征在于,所述步骤(2)中获取对应子图像的方法如下已知子图像I0上的已知点P0,参考图像Ik,相机参数已知,采用如下方法得出已知点P0在参考图像Ik上的对应点Pka.从当前相机中心C0出发构造穿过已知点P0的射线r;b.通过相机的标定参数,得到已知子图像I0与参考图像Ik的基本矩阵,计算出已知点P0在参考图像Ik上的极线le,以及极线le与物体轮廓的交点Pak和Pbk,从相机中心C0发出的射线C0P0分别与射线CkPak、CkPbk相交,确定交点构成的线段VakVbk;c.重复步骤b,直至处理完所有的参考图像,得到一组线段{VakVbk|k=1,…,n},n为参考图像的个数;d.对这组线段求解其最大公共子线段VaVb;e.将线段VaVb上距离视点较近的端点Va投影至参考图像平面Ik,得到对应点Pk;对已知子图像I0中每一像素重复上述步骤,即可得到高光亮斑子图像在其邻近参考图像上的对应子图像。
7.如权利要求6所述的方法,其特征在于,所述步骤(3)中按照如下方法修正高光象素的颜色对于高光区域中的任一像素P0,对其对应像素集合{pk|k=1…n}中每一个对应像素赋予一定权重wk后进行混合,合成接近真实色彩的新像素。
8.如权利要求7所述的方法,其特征在于所述各像素的权重按照如下方法采用灰度值图像决定对于像素pk所对应的灰度值gk,{pk|k=0…n}的平均灰度平均值为gavg=1nΣk=0n-1gk,]]>根据灰度值方差,可以定义像素权重如下wk=c1|gavg-gk|2,]]>其中c为一常数,以保证wk之和等于1。
9.如权利要求1所述的方法,其特征在于,所述步骤(2)中按照如下方法来控制参考图像的数量设选取的子图像包含m个像素,每个像素的灰度值为bi,那么该区域像素的平均灰度为bavg=1mΣi=1mbi,]]>灰度方差为bdev=Σi=1m|bi-bavg|2,]]>于是,参考图像的数量n为n=Nmax,bdev<τNmin,bdev≥τ,]]>其中τ是设置的一个阈值,Nmax和Nmin为经验值。
10.如权利要求1所述的方法,其特征在于,所述步骤(4)中的无缝化处理是通过求解泊松方程来修正图像的梯度域,使子图像定义域上的拉普拉斯算子与消除高光的子图像保持一致,而在边界上与原图像保持一致,最后得到平滑的边界效果。
11.一种图像高光亮斑消除装置,包括序列图像采集装置用于采集参考图像序列;高光亮斑子图像提取装置用于从每一幅参考图像中提取包含高光亮斑的高光亮斑子图像;对应子图像映射装置用于根据序列图像采集装置的内外参数,在其他参考图像中找到当前高光亮斑子图像的对应子图像;高光亮斑子图像重采样装置用于利用其他参考图像上的对应子图像的颜色信息对当前高光亮斑子图像进行重采样,消除高光亮斑。
12.如权利要求11所述的装置,其特征在于还包括子图像边缘无缝化处理装置,用于消除重采样后子图像边界上的颜色不连续现象。
13.如权利要求11所述的装置,其特征在于还包括序列图像输出装置,用于输出消除了高光亮斑的序列图像。
14.如权利要求11或12或13所述的装置,其特征在于所述序列图像采集装置是数码相机或者CCD数字摄像头。
全文摘要
本发明属于计算机图形学领域,涉及一种用于视觉凸壳绘制的高光亮斑消除方法及其装置。该方法借助视觉凸壳绘制中的图像采集装置标定信息及图像序列的冗余信息,消除图像中的高光亮斑,最终得到无高光的图像序列。该方法的主要步骤包括提取高光亮斑子图像;在其他参考图像中寻找对应子图像;对高光亮斑子图像进行重采样。进一步还对重采样后的子图像进行无缝化处理。本发明还提供了相应的硬件装置。本发明的优点在于利用了视觉凸壳绘制中提供的信息,计算简便高效,并且对输入图像序列没有特殊要求。去除高光后的图像序列可直接应用于视觉凸壳的绘制过程中,得到高真实感的无高光合成图像。
文档编号G06T5/00GK101067870SQ200710123089
公开日2007年11月7日 申请日期2007年6月29日 优先权日2007年6月29日
发明者冯洁, 陈亮, 周秉锋 申请人:北京大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1