基于互联网图像的几何建模

基于互联网图像的几何建模

 

真实场景建模是虚拟现实、计算机图形学和计算机视觉研究的重要内容之一,特别是构造室外静态场景三维模型,如故宫、巴黎圣母院、自由女神像等,它在文化遗产数字化保护、数字城市、数字影视与娱乐等方面有重要的应用价值.   传统的三维场景建模方法往往需要使用专门设备对目标场景进行数据采集,如用三维激光扫描仪采集场景的几何信息,用同一个已标定的相机采集场景的外观,用可控的主动光源对场景进行照明等,因而受到场景规模、几何结构、周边环境与光照条件等的诸多限制,能适用的场景数量非常有限,而且这种数据采集过程的复杂性和高成本也决定了其伸缩性较差,难以用于街道乃至城市规模的室外场景建模.   近几年,随着数码相机、照相手机与互联网的普及,人们将拍摄的大量的室外场景照片上传到互联网进行分享.   截至2011年2月,著名的照片分享站点picasaweb的照片总数达到70亿张,flickr.com达50亿张,而社交网站Facebook的共享照片更高达600亿张,再加上Google街景等照片,构成了海量的互联网共享照片集.   这种照片集有3个特点:   1)覆盖面广.   几乎涵盖了世界的各个角落,特别是对于各地的名胜古迹,往往有大量从不同视点、在不同时间(一年四季,一天从早到晚)和不同天气条件(晴天、多云等)下拍摄的照片;   2)获取成本很低.   例如人们可以轻松地从Google上搜索、下载超过20万张天安门的照片;   3)具有无结构性.   即拍摄的视点是无序分布的,并且拍摄时的光照条件未经过测量,拍摄者所使用的相机、镜头各不相同,响应曲线和色彩未经过标定,场景中还常存在杂乱的遮挡现象等.   这些特点决定如何挖掘和利用这类新数据集中丰富的信息,快速、方便地构造逼真的虚拟场景模型,这是近年来互联网发展给虚拟现实、计算机图形学和计算机视觉带来的新的研究热点.   本文先分析基于互联网照片构造室外场景模型中存在的基本科学问题,然后分别从室外场景的几何、光照和反射属性建模技术3个方面,分析和总结该领域的国内外研究现状,并给出对发展趋势的思考.   1基于互联网照片集的室外场景建模   互联网照片记录了室外场景的外观,照片中各像素每个通道的值反映了由场景各点向观察者视点方向出射的光照辐射度,这取决于光照条件、场景的几何结构、其表面材质的光学属性、相机的视点、投影变换参数、曝光参数和成像系统的响应曲线.   这些因素中,前三者与相机无关,它们之间的交互作用决定了场景在某一时刻形成的光场,若仅考虑由不透明材质构成的场景,则该交互过程可用绘制方程表示为L(x,ωo)=∫ΩLin(x,ωi)V(x,ωi)ρ(ωi,ωo)h(n,ωi)dωi(1)该方程是在场景中某一点x处单位正半球面Ω上的积分,其中ωi,ωo分别表示入射与出射光方向;n是表面法向量;Lin(x,ωi)表示入射辐照度;V(x,ωi)表达环境光源可见性,其值为0或1;ρ(ωi,ωo)表示材质反射属性,常用双向反射分布函数(bidirectionalreflectancedistributionfunction,BRDF)描述;投影因子h(n,ωi)=n•ωi,常包含在BRDF模型ρ中;L(x,ωo)则是出射辐射度.   与相机相关的参数中,投影与视点三维变换通常用相机内外参数矩阵P和M表示,如(u,v)T=P•M•(x,y,z)T=P•(R|t)•(x,y,z)T所示,其中R和t分别是视点的相对旋转、平移参数.   曝光参数与响应曲线则分别用I(u,v)=f(k•L(u,v))中线性系数k与从辐射度L到像素值I的非线性映射f来表示.   因此,从照片构造场景模型可看作反射与成像的逆过程,根据式(1),由不同照片中的像素值,求出拍摄各照片的视点与投影参数、场景各点三维坐标与表面法向量,以及表面材质的BRDF反射属性模型和环境光照信息.   研究者们对基于图像建模研究已经取得丰硕的成果,但与这些传统方法相比,通过互联网共享照片集进行场景建模要解决的难点问题包括:   问题1.   传统基于图像的建模方法中拍照所用的相机往往曝光参数已知,响应曲线可用实验测出,很容易将不同相片中的像素值投影到统一的线性辐照度空间.而拍摄每张互联网照片所用的不同相机曝光参数和响应曲线无法事后通过实验测量,因此需要发掘照片自身特征和场景中的不变特性,对各照片进行辐射度标定.   问题2.   传统基于图像的建模方法所用的场景照片往往是视点固定或已知的,其分布也满足一定轨迹和顺序.而互联网照片的拍摄视点都是未知的,分布具有无序和不均匀性,因此需要发掘场景自身几何结构的不变性对外观的作用和约束、求出相机视点,并对视点进行筛选,按一定结构重新组织;然后将基于照片集的建模问题划分为有序的子问题,设计出高效的几何重构算法.   问题3.   室外场景的外观是一个甚高维空间,变幻无穷的环境光照与阴影、变化的视点位置与镜头焦距、多种多样材质的复杂反射属性、复杂几何结构带来的自遮挡与随机出现的前景遮挡等,各自都具有很高的维度.互联网照片集虽然数量多,所采样到的场景外观仍只是一个相对很小的子空间,使得求解问题高度病态.#p#分页标题#e#   因此需要引入领域和先验知识,建立适宜的描述光照与反射属性的模型,并设计相应的算法,以降低问题的维度并增加约束,求解或估计出光照与材质反射.   问题4.   作为对场景外观甚高维空间的采样,传统基于图像的建模方法往往使用同一光照条件下多个视点的照片和同一视点不同光照条件下的照片,数据在一些维度上是对齐的;而互联网照片集中任意2张照片的拍摄视点、光照条件等都不相同,在高维空间中的分布有稀疏性和无结构性.   因此,需要利用照片主体相同这一共同点,从场景自身属性中发掘不变量,并以之为桥梁建立照片之间的联系,从而求解出反射属性与环境光照等变量.   上述问题中,问题1利用图像进行相机辐射度自标定的问题是基于互联网照片集构造光照与反射属性模型的基础.   在2010年以前的相关研究中,如Haber等[1]往往假设照片在sRGB颜色空间,套用标准的响应曲线.2011年,Diaz等[2]提出了利用同一场景的互联网照片集进行相机辐射度标定的方法,以场景表面法向量几何信息为不变量,用漫反射材质反射公式构造方程组,同时求解各个相机归一化之后的响应曲线形状,但还没有将不同相机的辐射度数值统一到同一个线性空间.   下面分别从几何、光照、反射属性建模方面针对其余问题进行介绍和小结.   2室外场景几何建模   利用互联网照片集构造场景的几何模型,其实质就是要利用场景几何结构这个不变量,从照片的视点变化中和场景的明暗变化中对场景进行三维重构.   从反射与成像过程原理可看出,互联网照片集中,场景的几何结构对其在照片中外观的作用和约束有以下几个方面:1)相机视点与场景的相对运动中,场景各点的空间位置决定了其二维投影点的位置,在多张照片之间满足对极几何等多视图几何约束;2)场景的几何遮挡关系决定了各处受到的环境光照;3)场景各处的表面法向量决定了该处对光照的反射情况.   据此,可根据几何建模方法所利用的几何结构对外观的作用和约束,将其分为多视角立体方法、光度立体方法,以及在此基础上利用对场景的特殊知识进行建模的方法.   2.1多视角立体方法   多视角立体方法(multi-viewstereo,MVS)是利用从多个视角拍摄的同一场景的多幅照片构造场景的三维模型.   对于包围球直径在10cm左右的小型物体,在采样方向较密集的情况下,传统的MVS方法构造出的模型能达到较高的准确度.Seitz等[3]对多种经典的MVS方法进行了深入分析比较.   然而,对于互联网照片集,如第1节问题2所述,首先要解决拍照视点未知的问题.2006年,Snavely等[4]提出了针对互联网无序照片集的从运动恢复结构(structurefrommotion,SfM)方法.   该方法用SIFT(scale-invariantfeaturetransform)和RANSAC算法[5]对多个未知视点下同一场景的图像特征点进行迭代地提取和匹配,并用光束平差方法同时求出特征点的三维坐标以及相机在两两照片间的相对运动,进而求解出各相机的内外参数,并重建出场景的稀疏三维点云模型.   但该方法时间渐进复杂度较高,可处理几百幅左右的照片,仅适用于单个雕塑或独栋建筑物;而对于如整个城市规模的建模问题,使用的照片数量则可高达上万甚至十多万幅.   因此2010年,Agarwal等[6]提出了基于非精确牛顿方法的新光束平差算法,其适用于这种大规模数据集,降低了求解视点的内存需求和运行时间.Agarwal等[7]还提出了用于超大规模照片集的分布式并行算法,它对问题规模与处理器数目都具有很好的伸缩性.   该算法根据视点位置和覆盖的场景区域对照片集进行划分,保证每个子集既集中在同一个区域的同时,又有足够的基线,成功地把建模问题并行化.该算法在500处理器内核的集群上能在一天内处理包含15万张照片的大型城市场景.   上述算法的缺陷是都严重依赖于对图像特征点的提取与匹配,因此对纹理不丰富的场景,求得视点的准确性和重建出的三维点数量都大大下降.   求出相机视点,并得到稀疏特征点的三维坐标后,为了构造密集或半密集的三维模型,仍需解决对视点进行筛选和重新组织的问题.Goesele等[8]针对这些问题,提出了用适用于互联网照片集的MVS方法,其提出了全局和局部两级图像自动筛选框架,在立体匹配前,先为每一张照片选出内容、外观、尺度接近并有足够视差的图像子集,再分别为每一个像素在该子集中选出几个最适合匹配的视点,并将照片集划分为多个适宜求解的子问题;然后从已知三维坐标的特征点出发向邻域扩展,以微面片在不同视角下的投影与照片的一致性为目标函数,优化各点的深度和法向量,实现立体匹配,构造出场景的几何模型.   采用该方法利用互联网照片构造的自由女神像、圣彼得大教堂等三维模型如图1所示[8],但这些模型仍有较大噪声且细节较不准确;且该方法以完全漫反射作为材质模型,故其仅适用于砖、石一类材料构成的场景.   对于一些由人工建筑构成的场景,有很多先验知识可以用来克服上述方法的缺陷.Furukawa等[9]提出一种针对以平面为主、纹理较少的城市场景几何建模方法,其根据城市高楼结构特征,假设场景由相互垂直的3个主导方向的若干平面构成,先用MVS方法求出场景中纹理丰富区域的稀疏三维点坐标和法向量,以此估计出这3个主导方向,并根据这些点在3种方向上的分布情况产生假设平面;然后用马尔科夫场恢复各个视角下的场景深度图像.#p#分页标题#e#   Sinha等[10]则假设建筑由大量矩形平面构成,其边界形成3组方向相互垂直的消隐线,在MVS求解过程中引入消隐线约束,并用消隐线方向来辅助用户在照片上手工地画出多边形边沿,从而交互式地分割出各个平面.   另外,Jiang等[11]利用很多建筑具有对称性的特点,仅使用一张照片,通过对称性约束求解相机的内外参数,让用户交互式地在图像中标示出建筑结构模块,就可生成整个建筑的三维模型.   这些方法虽然比Goesele[4]等的MVS方法能生成更平滑、低噪、准确、美观的三维模型,但都只适用于特殊类型建筑的场景的几何建模.   2.2.光度立体方法   光度立体方法利用在固定视点、不同光照条件下拍摄的多幅场景图像中像素的亮度变化,求解表面法向量,重建三维模型.   传统光度立体方法往往需要使用可控或已知的方向光源,并要求观察视点固定不变.Basri等[12]虽提出了适用于未知的环境光照的光度立体方法,但要求场景表面材质的反射属性和环境光照都可用1~2阶球面调和函数近似表达,且无法处理投射阴影.   而室外场景结构复杂的特点决定了其自遮挡、投射阴影较多且情况复杂,表面也往往不连续,因此无法直接使用传统的光度立体方法.   受到光度立体方法思路启发,Koppal等[13]使用了在固定视点以一定时间间隔连续拍摄的照片集,即时移视频(time-lapsevideo);其利用场景表面亮度随时间的变化规律,对像素按表面法向量聚类,并标识出场景中各个平面.Sunkavalli等[14]对互联网上的室外场景时移视频进行分解,得到场景的几何表达,能实现表面结构的复制、粘贴等简单编辑.但这2种方法都没有求出完全的三维表面法向量.   如绘制方程式(1)所示,表面法向量几何信息是光与场景交互中的一个重要因素与不变量,如何利用时移视频及普通多视点互联网室外场景照片集中丰富的光照变化带来的场景外观变化,求解出场景表面法向量,是光度立体方法需要探索解决的问题.   2.3基于过程建模的方法   借助建筑结构上的特殊规律,研究者通过引入建筑结构规则,结合基于图像建模方法与过程建模方法,仅从一张或几张照片就可以快速构造出较为准确的建筑三维几何模型.   Aliaga等[15]定义了风格语法,提出了从建筑照片中提取规则、构造建筑三维模型的方法,能直观、快速地生成风格相同的新建筑模型.   但该方法要求用户预先手工分割照片,划分出属于不同结构的区域.   在此基础上,Müller等[16]提出了从照片对建筑外墙进行自动分割的方法.   首先将照片中建筑外墙自动分割为楼层和门窗格,对重复或相似的窗格聚类,并将这些窗格自动细分为小矩形;然后通过与三维建筑元素库进行匹配,识别出这些小矩形的语义,生成树状的、带纹理和语义的建筑表面平面模型;最后用户手工调整各类别元素相对外墙平面的高度,构造出建筑外墙的三维模型.   他们还从语义树推导出形状语法规则,用于生成类似建筑模型.   这些方法虽不是明确针对互联网照片,但互联网照片集的特征符合其对输入照片的要求;因此它们尤其适合解决相对非热点的、照片覆盖较少的场景的几何建模问题.   肖健雄等[17]则结合立体视觉与过程建模方法,提出了半自动的、从类似Google街景照片集的街道两侧多幅照片中构造建筑表面三维几何模型的方法.   他们使用SfM方法从沿街拍摄的建筑照片中恢复稀疏特征点的三维信息,并对拼接起来的建筑表面照片用类似文献[16]的方法将其自动细分为小平面;然后通过马尔科夫场优化,用特征点的三维信息求得各个小平面的深度,该方法需要用户在表面细分、深度赋值等阶段进行手工交互.基于过程建模的方法的局限性在于其只能用于某一类简单建筑,对于每类特定建筑,设计规则和构造提取规则的算法也比较困难.   3室外光照建模   随着季节、天气、时间、环境的不同,室外场景的光照条件可谓变幻无穷,要利用图像进行求解,就要解决降低光照模型维度问题,并发掘、利用场景信息与光照的关系构造照片间的联系.为了通过降维简化问题,研究者们往往忽略场景中的相互反射,并将最主要的光源———日光[18]分解为太阳直射光和天空散射光,根据其到场景的距离远远大于场景尺度的特点,视其为远光源,即假设入射光场对场景中所有点都相同.这样,光照Lin(x,ωi)则可简化为Lin(ωi)与V(x,ωi),前者用环境光照映射表示,后者由场景各点的环境遮挡决定.即便如此,环境光照仍然有具有很高的维度,而要同时求解多张照片的光照条件,维度还要扩大很多倍.基于图像建模的研究者们还针对室外自然光照特点,引入领域知识和先验知识,以降低光照模型的维度;并利用场景中各种不同的信息,提出了多种方法,其中不少对解决互联网图像集的光照建模问题也适用,有的为互联网照片建模提供了基础,包括:   1)利用场景表面明暗变化信息.由第1节可知,已知场景几何信息的条件下,可利用场景中物体表面明暗变化求得光照和材质反射属性,这种两者同时求解的方法将在本文第4节反射属性建模部分论述.   2)利用照片中可见天空部分的亮度信息.一些较早的基于图像建模研究在拍摄场景照片同期拍摄天空和场景四周环境的照片[19-20],以此拼接出入射光照环境映射,但互联网照片集往往以场景为主体,只拍到少量天空和其四周环境.#p#分页标题#e#   Lalonde等[18]以Perez参数模型[21]为基础对光照模型进行降维,并用照片中可见的天空部分进行拟合.Perez等提出了参数化描述不同天气情况下各入射方向上天空光照强度的Perez模型,即Lin(ωi)=Lzf(θi,γi)?f(0,θs),f(θi,γi)=[1+α•exp(b?cosθi)]×[1+c•exp(dγi)+e•cos2γi];其中θi,γi为入射方向的高度角及其与太阳方向间的夹角,θs是太阳高度角,Lz是太阳亮度,5个经验参数(a,b,c,d,e)描述了太阳光晕大小、地平线附近明暗梯度等大气环境的不同方面.Preetham等[22]将这5个参数在一定取值范围内近似表达为单一大气浑浊度参数的线性函数.   Lalonde等进一步将Perez模型中天空光照强度表达为相机焦距fc、视角(θc,?c)和太阳角度(θs,?s)的函数f(θi,γi)=g(ui,vu,θc,?c,fc,θs,?s)(4)由于该模型的高度非线性特征,为了给进行图像拟合引入足够多的约束,他们使用了同一天拍摄的时移视频,充分利用可见天空部分亮度随空间、时间多维度的变化,用非线性最小二乘法求得各参数的最优解,标定出如图2所示[18]太阳位置和相机视角,构造出天空光照的模型.   文献[23]还进一步将拟合天空光照模型与多种其他线索相结合,提出了从单张照片求解天空光照模型的方法.   为解决用单张天空照片求解式(4)缺乏足够约束的问题,该方法将模型的参数空间离散化,对每一组参数设置求解出一种可能的天空光照模型;然后从照片中找出阴影方向、竖直平面的亮度等多种线索,并从互联网上的大量室外场景时移视频中计算出先验概率,用贝叶斯估计选出最可能的一种天空光照模型.   该方法在部分互联网照片上取得了如图3所示[23]很好的效果,但其依赖条件较多,对场景和图像选择性较强.   3)利用遮挡物投射的阴影信息.Sato等[24]以图像中选出的部分像素亮度为约束,在这些像素的位置上对入射方向进行适应性离散采样,结合阴影平面材质反射属性,求解出环境光照的分布.Okabe等[25]等用球面调和基函数和小波基函数表达遮挡信息和环境光照,以阴影区域像素亮度为约束,精度由粗到细迭代地增加基函数,并通过逐渐增加分辨率,求解出环境光照分布.   这些方法对阴影部分的亮度变化非常敏感,而在互联网上的室外场景照片中,阴影部分往往有面积小、分辨率低、模糊、动态范围退化等特点.   为此,Cao等[26]提出了利用从2个视点拍摄的场景中的至少2个点及其对应阴影点的位置,可以求解出相机的内参以及日光的方向.   但互联网照片集中的照片不满足其在同一光照条件下从多个角度拍摄场景照片的要求.   4室外场景表面材质反射属性建模   由绘制方程式(1)可知,已知几何模型,基于图像的反射属性建模问题就是在已知出射辐射度、遮挡关系和法向量的情况下,分别求解入射辐照度Lin和BRDF函数ρ的问题,也称为逆向绘制问题.   近年来,在室内已知光照条件下的材质反射属性采集与建模研究取得了很大的进展.   研究者研制了采用可控的主动光源和相机的许多采集设备[27-28],提出了多种反射属性求解、建模方法[29-35].   特别是Ramamoorthi等[36]提出了基于信号处理的通用逆向绘制问题理论分析框架,将环境光照和材质BRDF展开到球面调和基函数空间,把绘制方程的积分表示为角域上的卷积,并将其转化为频域系数乘积的求和,在频域对一般的逆向绘制问题以及如镜面材质、漫反射材质、Phong和Torrance-SparrowBRDF[37]模型,球面调和BRDF模型等多种特殊逆向绘制问题的适定性、条件数等进行了理论分析,提出了相应的求解算法.   这些成果是室外场景表面材质反射属性建模研究的基础.   为了解决基于互联网照片集建模问题由采样稀疏和无结构带来的病态性,需要对光照模型和反射属性进行充分降维,并引入先验知识与领域知识对解空间加以约束.在基于室外照片的建模研究中,一些根据不同场景、数据的特点所提出的方法,已成为解决这些基于互联网照片集建模问题的基础.   俞益洲等[19]使用了在固定光照条件下,从多个不同角度拍摄目标场景的照片集,并现场采集环境光照数据;然后用参数化BRDF模型拟合采样值,求出材质各处的反射属性.Yu等[38]也以固定光照下不同视点拍摄的照片作为输入,但不需要采集环境光照.   他们用漫反射与高光基材质的线性组合表示材质BRDF,对图像集进行迭代的张量分解,求出环境光照、材质纹理与光传递矩阵.但这2种方法要求光照条件不变,符合大多数室外场景互联网照片集的特征.   基于完全漫反射材质的假设,Weiss[39]提出了本征图像分解方法,将在同一视点、不同光照拍摄的多张照片分解为表示漫反射率的本征图像与表示明暗的本征图像,从而提取出漫反射问题.但其分解结果中光照与场景几何、阴影信息紧密耦合.Liu等[40]对同一场景的互联网照片集进行注册,然后对注册成功的图像进行了本征分解,求出了场景的漫反射纹理.   对于视点固定、光照变化的时移视频,Sunkavalli等[14,41]假设室外自然光照可分解为用方向光源表示的太阳光和由均匀分布的半球面光源表示的天空散射光.#p#分页标题#e#   他们以场景一天从早到晚的时移视频作为输入,将其迭代分解为表示光照随时间变化的曲线,以及表示场景几何与反射属性空间分布的权重图.   但其分解结果中场景表面法向量、环境遮挡因子与材质漫反射系数耦合在一起,无法单独求出反射属性模型.   Haber等[1]提出了第一个适用于不同未知光照条件拍摄的同一场景照片的逆向绘制建模方法,其假设场景的几何模型已知,将各照片的环境光照、各顶点的环境遮挡与BRDF都展开到频域的Haar小波基函数空间;并使用基材质BRDF的线性组合来表示各顶点材质的反射属性,在降低模型维度的同时,将BRDF限制在物理上合理的子空间,从而将分解光照和反射属性转化为在频域求解小波系数构成的双线性方程组的问题.   为此,他们构造了基于三重小波积的快速绘制框架,每一步将当前绘制结果与各照片相比较,迭代地优化BRDF和环境光照,   5总结与展望   综上所述,近几年从无序照片集构建室外场景的几何、反射属性和光照模型,已成为虚拟现实、计算机图形学和计算机视觉领域的研究热点,且相关研究取得了一些新颖的成果.但要实现从互联网照片集构造虚拟场景,还有很多问题尚未解决.   我们认为,未来该方向研究中和亟待解决的问题和可能的研究热点主要有以下方面:   1)如何利用场景自身的不变量,从不同相机在不同光照条件下拍摄的多张照片中求解出各个相机的辐射度响应曲线,并将辐射度值统一到同一个线性空间中.   2)如何从互联网无序照片集中自动地或借助尽量少的用户交互,求解出不规则场景的密集三维网格模型.   目前的方法或者只针对某一类有特殊结构的场景,或者仍需要较多的用户干预,或者精致程度和准确性并不令人满意,而且在不同自然光照下场景反射光场的变化反映出的场景几何信息也没有得到充分利用.   因此,进一步研究基于图像集的几何建模方法非常重要.   3)如何利用自然光照的先验知识和领域知识构造参数维度更低、更便于求解的天空光照模型.   目前求解天空光照模型的方法并没有充分利用天文学、大气散射等领域的知识,以及场景的地理位置等信息,而这些都可能带来新的有效约束,使得自然光照模型求解更准确、更鲁棒.   4)如何提高室外场景材质反射属性建模方法的准确性、鲁棒性和适用的材质范围.互联网照片集在相同光照下对视点采样稀疏,约束相对较少,适宜的BRDF模型及表示方法可以降低求解难度,提高模型的准确性.   而利用对基材质库、自然光照和场景的知识,对材质及其分布更复杂的场景进行反射属性建模也是一个发展方向.