一种环场图像式虚拟环境接图系统和方法

文档序号:6663208阅读:120来源:国知局
专利名称:一种环场图像式虚拟环境接图系统和方法
技术领域
本发明主要涉及一种接图工具,利用此接图工具,可很容易地构造出一个环场图像式虚拟环境。
在这个现实世界里,要呈现这个多采多姿的世界,图像是最好的工具。过去,在计算机世界里,主要用绘图的方式呈现现实世界的自然景观,一点一滴地用线条慢慢地把所要表现的场景绘制出来。而这种方式需花费许多人力及时间,而且需要特殊且昂贵的计算机设备才能实时地把想要表现的场景经由计算机展现出来,虽然互动性高但缺点多。因此,就有人想要用图像直接来构造虚拟环境。这种方式有许多好处,首先,所需要的计算机设备不需太昂贵,即使是个人计算机就可得到很逼真的效果。再者,构建一个虚拟世界所花的人力与所要构建的景物无关,不管背景多复杂,计算机所花的时间都一样。利用图像来构建一个虚拟世界,首先要利用照相机,把它固定在一个旋转轴上,然后对景物环场拍一圈,便可得到一系列的图像。为了消除照相机镜头扭曲(perspective distortion)的问题,在接图之前,必须把这些图像投影到某一个数学模型(圆柱型或球型)上;然后利用接图器把这些图接合起来以构成一张环场图像;利用这张图像便可构建出真实世界的一个虚拟世界。
环场图像在实际中有许多应用,例如可应用在电影特技、电子游戏、虚拟购物或教育上。要构建这种环场图,最大的问题就是如何把由照相机拍下来的一系列图串成一张。一个很自然的方法是用手动的方式把这些图接在一起,可是这种方式不太便利,尤其当有很多的图像要接时,更是费时费力。因此利用计算机来自动接图是一种比较便捷的方式。
在把这些图像接在一起之前,为了克服图像因镜头而扭曲的问题,输入的图像必须投影到某一个数学模型,这个数学模型可以是球型(spherical)或圆柱型(cylindrical)。在实际应用中,球型投影在数据存储时会碰到一些问题,因为在计算机世界里,如果图像接近矩形则比较容易存储。另一个问题是照相机不好安排,位置摆得稍微不适当,图像间就有很大的扭曲及差异,而这会造成接图的困难。基于上述理由,在构建虚拟世界中,最常用到的投影方式为圆柱面投影(cylindrical projection)。
参考图2,圆柱面投影数学模型可详细描述如下矩形PQRS用来表示图像平面10,矩形pqrs用来表示假设的圆柱平面12(cylindrical plane),镜轴中心为O,PQRS将被投影到pqrs,图像平面10外切圆柱平面12,图像平面10中心点为O′,镜头长度为f,圆柱平面的半径为d。假设P(x,y)为图像平面10上的一点,而P(u,v)为P(x,y)在圆柱平面12上的对应点,参考图2,坐标(u,v)可表示如下u=d∠O′OB=dtan-1O′B-OO′-=dtan-1xf,---(1)]]>和v=dPB-OB-=dyx2+f2---(2)]]>事实上,半径d等于f,因此方程式(1)和(2)可改写如下u=ftan-1xf,---(3)]]>和v=fyx2+f2---(4)]]>以方程式(3)和(4)为基础,可把照相机摄得的图像投影到某一个圆柱平面,再利用本发明的接图器,便可把输入的图像接成一张完整的环场图像。
本发明的主要目的在于提供一种智能型接图器,利用这个接图器可把由照相机摄得的一系列图像极有效地接在一起,从而构成一张完整的环场图像。本发明主要是利用图像边(edges)的信息,把一系列不同的图像接起来。本发明还提出一种方法,其利用图像边的信息,找出一系列可能的对应解(matching solutions),再由这些可能的解,利用相关性匹配(correlation matching)确定出最后最佳的解,利用此最佳解,便可把相邻不同的图像接合起来。由于这一组可能解的数目很少,能以极有效的方式把最后解找出来。
在本发明中,当把两张图像接合在一起时,首先需要把它们投影到某一个圆柱面上,这就是所谓的扭曲(warping)运算,接着从这两张已扭曲过的图像,个别寻找边(edges)的信息,并把这些边的位置记录下来。利用这些边的位置,可以得到一组可能的对应点解。然后从这组解中,可以很有效地利用相关性匹配找到最终解。当找到最终解以后,由于这两张图像的亮度不一致,必须做所谓的混合(blending)运算,即利用一张图像上的一点的亮度以及它在另一张图像上对应点的亮度,根据它们离边界的距离进行加权平均,从而在两张图像变成一张后,在接缝处的亮度显得很平滑。
本发明的特点在于,当检测一张图像的垂直边(vertical edges)时,可利用图像中每一列(column)像素(pixels)梯度值(gradient intensity value)的总和来确定,即对图像中每一列的每一像素分别计算它的梯度值;然后对这一列的像素所有梯度值加以总和平均,此平均值再跟一个预先设定的阈值加以比较;如果这个平均值比阈值大,则这一列有一垂直边的存在;对每一列都作这种运算,就可把所有的垂直边找出。
类似地,当寻找一张图像的水平边(horizontal edges)时,可利用图像每一行(row)像素梯度值的总和来决定,即对图像中每一行的每一像素分别计算它的梯度值;然后对这一行的像素所有梯度值加以总和平均,此平均值再跟一个预先设定的阈值加以比较;如果这个平均值比阈值大,则这一行可视为有一水平边的存在;对每一行都作这种运算,就可把所有的水平边找出。
利用垂直边,可推测出所需要的对应解(matching solutions)在x轴上可能的坐标;通常,利用所谓的位移函数(offset function)来产生这组可能的解。它的定义如下d(i,k)=minl≤j≤Nb|Pa(i)-k-Pb(j)|,]]>其中Pa(i)表示在第a张扭曲图像(warped image)中第i条垂直边的位置;Pb(j)表示在第b张扭曲图像中第j条垂直边的位置;Nb表示在第b张扭曲图像中垂直边的数目;和k为使用者定义的一个变量。假设Np表示所有在第a张扭曲图像中其位移函数d(i,k)值小于一个预定的阈值(threshold)T0的垂直边的边数,由这些其d(i,k)值小于一个预定的阈值T0的垂直边,可以得到d(i,k)的一个平均值A(k)。如果A(k)值小于一个预定阈值(threshold)T1,而且Np大于另一个预定的阈值(threshold)T2,那么k位置就可视为一个可能的对应解在x方向上的坐标。给出不同k值,就可找出所有可能的对应解在x方向上的坐标。
根据本发明的另一方面,本发明提供一种用来有效地把输入的图像接成一张环场图的完整系统,该系统包含一个边缘检测器(edge detector),用来检测第a张图像的垂直或水平边以及在第b张图像中对应的垂直或水平边,此边缘检测器同时记录这些垂直边或水平边的位置。该系统还包括一存储器,用来存储这些垂直或水平边的位置数据,以使进一步处理。该系统同时包含一个可能解产生器(hypothesis generator)和最佳解选择器(optimum hypothesisselector),可能解产生器主要用来从存储于存储器中的垂直或水平边的位置来产生一系列可能的对应解,而最佳解选择器则用来从这一组可能的解利用相关性匹配来选择出最佳的解。
具体地讲,该系统利用存储器来记录图像数据,该系统包含一个混合引擎(blending engine),用来平滑图像间亮度的差异。两张图像接合起来时,必有共同的重叠区域(common overlapping area)。因为照相情况的不同,此两张图像共同的重叠区域亮度必然不同,可从一张图像取出一点像素来,同时在另一张图像取出其对应的像素,根据它们离边界的距离来进行加权平均,从而使得两张图像在共同重叠的区域的亮度非常平滑。在该系统中,边缘检测器(edge detector)、可能解产生器(hypothesis selector)、最佳解选择器(optimalhypothesis selector)都可包含在一个微处理器中。另外,可以利用外部的存储器(像硬盘)来记录扭曲过的图像(warped images)。
本发明还提供一种预测要被接图的可能解的方法。它基本上利用图像中的垂直或水平边的信息来预测这组可能的解。由于推测准确,这组解的数目很小,因此搜寻的范围被大大地减少,因而可很快找出最终解。在寻找最终解的时候,利用所谓的相关性匹配来得到最终解。因为相关性匹配花费时间较多,本发明提供一个用来事先去掉不必要的相关性匹配的裁剪方法(pruningmethod)。该裁剪方法的原理是,如果当前相关性匹配的值小于一个事先定义的值,则没必要进行更进一步的匹配,因此可事先去掉一些不必要的匹配。这种裁剪方法可减少很多相关性匹配的计算,因此大大提高了接图的效率。与传统的方法比较,本发明不仅在效率方面而且在可靠性方面都有了明显的改善,这主要是因为可事先预测可能的对应解,由于推测准确并且这组解的集合很小,可很快地找出最佳解。
本发明可应用到许多方面,例如虚拟环境、导游系统、电子游戏、地理信息系统、电影特技等。
通过参照附图
对本发明的详细描述,本发明的目的、特征和优点将变得更加明显,附图中图l表示利用图像来产生虚拟环境的系统分析图;图2是用来说明圆柱投影的几何图;图3是实现本发明的方法的系统示意图;图4A和4B以一个实例来说明图3系统的运行;图5用来解释混合(blending)技术如何平滑两张图像之间的亮度;和图6一个实现图3方法的计算机结构。
图3表示整个的接图系统20,其主要原理是利用边的信息(edgeinformation)来确定最后的最佳解。首先,利用边缘检测器22从图像中得到垂直边及水平边的位置。得到这些位置以后,利用可能解产生器24得到一系列可能解。接着,利用最佳解选择器26对这组可能解中的每一个解做最后的确认,从而有效地找出最后解。然后利用这最终解,个别地把相邻的图像接合在一起。为了消除个别图像间亮度的不连续性,可利用混合引擎28来解决这种亮度不连续性的问题。
在该接图系统中,边缘检测器仅使用垂直边和水平边来事先预测相邻图像之间可能的对应解。假设gx(p)代表一张图像中的一点像素p(i,j)在x方向上的梯度值,它的明确表示式为gx(p(i,j))=|I(p(i+l,j))-I(p(i-l,j))|,其中I(p)为像素p在图像中的亮度值。当检测垂直边时,边缘检测器对在同一列的像素累积它们的梯度值。如果这个累积值大于一个事先定义的阈值,则认定这一列中存有一个垂直边,并利用标记来记录这个垂直边的存在。在检测完所有的列以后,可得到所有垂直边的位置。可用相同的方法来寻找水平边的位置。
参考图4A和图4B,举一个例子来说明。假设个别的图像Ia和Ib要接合在一起,可利用边缘检测从Ia中得到如下垂直边(100,y)、(115,y)、(180,y)、(200,y)、(310,y)、(325,y)、(360,y)、(390,y)和(470,y),也可从Ib中得到如下垂直边(20,y)、(35,y)、(100,y)、(120,y)、(230,y)、(245,y)、(280,y)、(310,y)和(390,y)。由这些垂直边,可只利用它们在x方向上的坐标来得到两组坐标值,即Pa=(100,115,180,200,310,325,360,390,470)和Pb=(20,35,100,120,230,245,280,310,390)。因为这些垂直边彼此对应,Pa和Pb满足下列关系Pa(i)=Pb(j)+dx,其中i与j一一对应,dx是Pa和Pb之间的偏差(offset)。很明显,dx便是这两张相邻图像在x方向上的对应解(matchedsolution)。但是在某种情况下,由于存在噪声,可能找不到或找错在Ia和Ib的某些垂直边,这造成Pa和Pb之间不再是一一对应的关系。因此在本发明中,提出一种可能解产生器,用于从这些垂直边的信息找出在x方向上的可能对应解。
假设Na和Nb分别记录Pa和Pb中的元素数目,且令位移函数d(i,k)=minl≤j≤Nb|Pa(i)-k-Pb(j)|]]>。给定一个值k,则可能解产生器计算在Pa集合中其d(i,k)小于一个事先预定的阈值T0的元素数目。假设这个数目为Np,另外还假设这些满足条件的元素的d(i,k)的平均值为A(k),如果A(k)小于第二个事先预定的阈值T1,且Np大于第三个阈值T2,则这个位置k被视为一个可能对应解在X方向上的坐标值。提供不同的k,就有一组可能对应解产生。注意,这个可能解只是在x方向上的可能坐标值,令该可能解的集合为Sx。在这个求解过程中,三个预先设定的阈值T0,T1,T2均由实验所得,且对所有的图像都一样。
在水平边上也可用相同的方式。利用水平边,可以求出可能的对应解在y方向上的坐标。假设这些可能的y坐标构成一个集合Sx。因为Sx和Sy这个集合的元素不多,最终解可由最佳解选择器很快地得到。
最佳解选择器主要用来从Sx和Sy两集合的并集{S=(x,y)|x∈Sx,y∈Sy}中确定出最佳解。最佳解选择器主要利用相关性匹配来确定最佳解。在相关性匹配的方法中,比较常用的估价函数(measure function)有两个,一个是平均绝对差MAE(mean absolute error),另一个是正则互相关(normalizedcross-correlation),可参照L.G.Broum的论文。它们的定义分别如下D(p;q)=1(2M+1)2Σx,y=-Mx,y-M|I1(x+px,y+py)-I2(x+qx,y+qy)|]]>和C(p;q)=1σ1σ2(2M+1)2Σx,y=-Mx,y=M[I1(x+px,y+py)-u1][I2(x+qx,y+qy)-u2]]]>其中ui和σi为图像Ii的平均值及变化量。(2M+1)2表示匹配视窗的面积。虽然这两个估价函数都适用于确定最佳解,但当速度不是最重要的参考量时,正则互相关匹配是一个比较好的选择,因为它能容忍亮度的差异,但是,如果速度是一个很重要的参考量,则平均绝对误差估价函数是一个比较好的选择。
通常,计算平均绝对误差(MAE)所花费的时间很多,因此,在本发明中,提出一种裁剪技术(pruning technique),用来加速MAE的计算。首先利用一个矩阵(matrix)来记录在累积计算前一个MAE时MAE的暂时值,用这个矩阵来当做阈值。如果目前的MAE值小于它所对应的阈值(存在于矩阵中),则没有必要进一步累积计算MAE值。采用这种裁剪技术,就可避免许多不必要的相关性计算,因此明显改善了匹配的效率,也可很快地算出最佳解。
一旦找到最佳解以后,就可把相邻的两张图像接合起来。可是相邻的两张图像可能有亮度不一致的情况,因此,必须利用所谓的混合技术(blendingtechnique)来消除亮度不一致的问题。参照图5,假设Pi为在图像Ia上的一点,qi为pi在Ib上的对应点,la及lb为Ia及Ib的个别边缘线,da为pi到la的距离,db为qi到lb的距离,如果ri为pi和qi在合成图像I上的对应点,则利用pi和qi,可利用下列的式子得到ri的亮度I(ri)=datIa(pi)+ddtIb(qi)dat+dbt,··········(7)]]>其中t代表指数,其为一个可调整的参数。利用式(7),就可得到最后合成的图像。
图6是本发明的硬件结构,利用这个结构可以实时地把输入的图像接在一起。输入设备32可以是数码照相机或扫描器,由输入设备可以得到一系列的图像。这些图像可存储在外部存储设备32如硬盘或直接送到微处理器的随机存储器上(RAM),微处理器包括扭曲图像(warpmg images)、边缘检测(edgedetection)、产生可能的解(hypothesis generation)等功能。暂时得到的数据可放到微处理器的RAM上,以提高接图的速度。一旦接图的工作完成,便可以把这些结果直接显示到屏幕上,这些功能可用一般的个人计算机来完成。
以上所图示及说明的为本发明的一优选实施例。根据本发明所覆盖的范围及精神,本发明还可以做多种的变化。
权利要求
1.一种把一第一图像和一第二图像图形接合在一起的方法,该方法至少包括如下步骤将第一图像和第二图像扭曲到一代表全景环场图像的数学模型;检测出扭曲过的第一图像的一第一垂直或水平边,以及对应的扭曲过的第二图像的一第二垂直或水平边;从这些检测出来的第一和第二边记录它们的数据及位置坐标;从这些第一和第二边的数据及位置坐标找出一组可能的对应解;以及利用这些可能的对应解确定出一最佳的接合点对应解,以将两张图像接合起来。
2.如权利要求1所述的图像接图方法,其中数学模型由代表全景环场图像的多个像素所构成,所述方法在确定最佳的接合点并把两张图像接起来后,还至少包含一步骤把扭曲过的第一图像和扭曲过的第二图像进行混合,从而使得两张图像接合部分的像素亮度相差不多。
3.如权利要求1或2所述的图像接图方法,其中分别检测每一扭曲过的第一和第二图像的第一和第二边的数据的步骤至少包含检测各个所述第一和第二图像的一垂直边,其中还包含如下步骤对于各个第一和第二图像,沿着每一列计算每一像素的梯度值;沿着每一列累积每一个像素的梯度值;以及将所述累积值与一事先预定的阈值做比较。
4.如权利要求1或2所述的图像接图方法,其中分别检测每一扭曲过的第一和第二图像的第一和第二边的数据的步骤至少包含检测各个所述第一和第二图像的水平边,其中包含如下步骤对于各个第一图像和第二图像,沿着每一行计算每一像素的梯度值;沿着每一行累积每一像素的梯度值;以及将所述累积值与一事先预定的阈值做比较。
5.如权利要求1或2所述的图像接图方法,其中找出一组可能的对应解的步骤包含如下步骤根据下列公式计算位移函数d(i,k)=minl≤j≤Nb|Pa(i)-k-Pb(j)|,]]>其中Pa(i)表示在扭曲过的第一图像中第i条垂直边的位置;Pb(j)表示在扭曲过的第二图像中第j条垂直边的位置;Nb表示在扭曲过的第二图像中垂直边的数目;k为使用者定义的一个变量;计算在Pa这个集合中其位移函数d(i,k)值小于一个事先预定的阈值T0的元素数目,假设共有Np个元素满足这个条件;对所述满足条件的Np个元素,计算它们的d(i,k)的平均值;根据所述平均值和Np检验一位置k,确定它是否为一可能的对应解,如果一位置k为一可能的对应解,则其必须满足下列条件平均值必须小于第二事先预定的阈值T1,且Np必须大于第三事先预定的阈值T2。
6.如权利要求3所述的图像接图方法,其中找出一组可能的对应解的步骤包含如下步骤根据下列公式计算位移函数d(i,k)=minl≤j≤Nb|Pa(i)-k-Pb(j)|,]]>其中Pa(i)表示在扭曲过的第一图像中第i条垂直边的位置;Pb(j)表示在扭曲过后的第二图像中第j条垂直边的位置;Nb表示在扭曲过的第二图像中垂直边的数目;k为使用者定义的一个变量;计算在Pa这个集合中其位移函数d(i,k)值小于一事先预定的阈值T0的元素数目,假设共有Np个元素满足这个条件;对于所述满足条件的Np个元素,计算它们的d(i,k)的平均值;根据所述平均值和Np,确定一可能的对应解的位置k,所述位置k满足下列条件平均值必须小于一第二事先预定的阈值T1,且Np必须大于一第三事先预定的阈值T2。
7.如权利要求4所述的图像接图方法,其中找出一组可能的对应解的步骤包含如下步骤根据下列公式计算位移函数d(i,k)=minl≤j≤Nb|Pa(i)-k-Pb(j)|,]]>其中Pa(i)表示在扭曲过的第一图像中第i条垂直边的位置;Pb(j)表示在扭曲过的第二图像中第j条水平边的位置;Nb表示在扭曲过的第二图像中水平边的数目;k为使用者定义的一个变量;计算在Pa这个集合中其位移函数d(i,k)值小于一个事先预定的阈值T0的元素数目,假设共有Np个元素满足这个条件;对于所述满足条件的Np个元素,计算它们的d(i,k)的平均值;根据所述平均值和Np,确定一可能的对应解的位置k,所述位置k满足下列条件平均值必须小于第二事先预定的阈值T1,且Np必须大于一第三事先预定的阈值T2。
8.如权利要求1或2所述的图像接图方法,其中用平均绝对误差相关匹配的技术从可能的解中确定最佳解。
9.如权利要求6所述的图像接图方法,其中用平均绝对误差相关匹配的技术从可能的解中确定出最佳解。
10.如权利要求7所述的图像接图方法,其中用平均绝对误差相关匹配的技术从可能的解中确定最佳解。
11.如权利要求1或2所述的图像接图方法,其中用正则互相关匹配的技术从可能的解中决定出最佳解。
12.如权利要求6所述的图像接图方法,其中用正则互相关匹配的技术从可能的解中确定最佳解。
13.如权利要求7所述的图像接图方法,其中用正则互相关匹配的技术从可能的解中决定出最佳解。
14.一种图像接图系统,用于将由多个像素构成的代表全景环场图像的数学模型中的一第一图像和一第二图像接合在一起,所述系统至少包含一边缘检测器,用于检测出扭曲过的第一图像的一第一垂直或水平边、以及对应的扭曲过第二图像的一第二垂直或水平边,并记录所述检测出的边的位置,从而得到有关边位置数据的集合;一存储器,用来记录检测出的垂直边或水平边的位置数据的集合;一可能解产生器,用来从第一和第二垂直边或水平边的位置数据中产生一组可能的对应解;以及一最佳解选择器,用来从所述一组可能解的集合中确定一最佳解。
15.如权利要求14所述的图像接图系统,其中所述存储器还用来存储代表扭曲过的第一和第二图像的像素,所述系统还包含一混合引擎,其利用存储器中的数据把扭曲过的第一和第二图像接合成一张大的环场图像,所述混合引擎系用于对扭曲过的第一和第二图像进混合操作,从而使两张图像接合部分的像素亮度相差不多。
16.如权利要求14所述的图像接图系统,其中还包含一微处理器,所述微处理器包含所述边缘检测器、所述解产生器,以及所述最佳解选择器。
17.如权利要求15所述的图像接图系统,其中还包含一微处理器,所述微处理器包含所述边缘检测器、所述解产生器、所述最佳解选择器以及所述混合引擎。
18.如权利要求14所述的图像接图系统,其中所述系统还包含一外部存储器,用于存储所有扭曲过的图像。
全文摘要
一种把相邻几张图像接成一张大的全景环场图的系统和方法,用于利用全景图构造出虚拟环境,该方法包括如下步骤:扭曲或投影所输入的图像到一特殊的数字模型,然后从第一张扭曲过的图像和第二张扭曲过的图像直到最后一张图像中个别寻找有用的垂直边或水平边并记录其位置,可从这些边的位置找出一组可能的对应解。再利用相关性匹配很快确定最佳接合点,以把相邻的两张图接在一起。跟传统方法相比,在速度和稳定度上都有明显改善。
文档编号G07D5/00GK1222711SQ98103910
公开日1999年7月14日 申请日期1998年1月9日 优先权日1998年1月9日
发明者谢君伟, 程治, 江政钦, 黄书政 申请人:财团法人工业技术研究院
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1