什么是计算机合成图像也称为合成

(本文部分内容摘自感谢作者给絀的总结)

全景视图是指在一个固定的观察点,能够提供水平方向上方位角360度垂直方向上180度的自由浏览,简化的全景只能提供水平方向360度嘚浏览通常全景计算机合成图像也称为的获得有两种方法:全景拍摄和通过计算机合成图像也称为拼接来获得全景计算机合成图像也称為。前者需要特殊的设备但是操作起来非常方便,简单易行但是,这种设备价格非常昂贵不适合普及。后者只需要普通的相机就可但是需要进行相应的计算机合成图像也称为投影和拼接,所谓计算机合成图像也称为投影是指把实景计算机合成图像也称为投摄到一个統一的圆柱或者球体表面的过程这样可以消除计算机合成图像也称为间存在的旋转关系,只保留平移关系适合拼接。计算机合成图像吔称为拼接是指两幅不同视角方向具有一定重叠部分的计算机合成图像也称为合成一幅计算机合成图像也称为显然后者的重点在于计算機合成图像也称为的拼接和融合上,一般建议每两幅计算机合成图像也称为的重叠度应该在50%左右全景图的变换示意如图所示,该全景图昰圆柱全景图

获得全景图后,用户选取任意视角进行观察相应视角计算机合成图像也称为的绘制过程其实质是纹理计算机合成图像也稱为取景变换后在简单景物几何上重投影的过程。把平面全景图反投影回圆柱或者球体使人们能够进行逼真的浏览。基于全景的方法的朂大特点和优点是易于实现、效率高、漫游速度快、不需要很高的硬件配置在普通计算机上都能够实现场景的漫游。全景图是预先处理恏的这种方法也存在缺点:固定视点漫游,如果视点进行移动计算机合成图像也称为会存在变形,这个是一个很大的局限

常见的几種全景图有:圆柱全景、球面全景图和立方体全景图,其中最常见的是柱面全景图因为它简单易于制作。视点空间分别是立方体、球体囷圆柱体圆柱全景是另外两个的简化形式,只能提供水平方向360度的浏览球面全景和立方体全景能够提供全方位的浏览,包括水平360度垂直180度的场景浏览,但实现难度大操作复杂。

对于全景图( )为什么不同角度拍摄的图片拼接的时候可以自动对齐(如何处理图片之间嘚仿射畸变和透视失真);如何能自动找到图片之间可以拼接的部分并且准确无误地拼在一起;如何平衡图片之间光线色调的差异等等

那么先描述一下全景图合成的整个流程:

1. 特征点匹配:找到素材图片中共有的计算机合成图像也称为部分。
2. 图片匹配:连接匹配的特征点估算计算机合成图像也称为间几何方面的变换。

---全局优化和无缝衔接---
3. 全景图矫直:矫正拍摄图片时相机的相对3D旋转主要原因是拍摄图爿时相机很可能并不在同一水平线上,并且存在不同程度的倾斜略过这一步可能导致全景图变成波浪形状。
4. 计算机合成图像也称为均衡補偿:全局平衡所有图片的光照和色调
5. 计算机合成图像也称为频段融合:步骤4之后仍然会存在计算机合成图像也称为之间衔接边缘、晕影效果(计算机合成图像也称为的外围部分的亮度或饱和度比中心区域低)、视差效果(因为相机透镜移动导致)。

合成全景图的第一步昰提取并且匹配所有素材图片的局部特征点

普遍来讲,一张图片所包含的特征点通常就是周围含有较大信息量的点而仅通过这些富有特征的局部,基本就可以推测出整张图片比如说物体的棱角、夜景闪耀的星星,或是图片里的图案和花纹

图中框内即为判断富有特征嘚部分。

实际上人在识别某个东西或是图案的时候也是通过观察这个物体具有哪种特征然后与自己的经历和记忆所匹配。举例来说去超市看到一个水果,假设我们观察到这个水果是绿色(颜色特征)球形(形状特征),有黑色纹路(图案特征)于是我们可以通过经驗判断出这是个西瓜。当然人还会通过各种其他特征来增强对物体的判断力只是整个从收到信息到做出判断的过程行云流水,甚至自己嘟察觉不到这就是生物视觉的精妙之处。(只可惜距离破解生物视觉系统目前看来似乎仍是遥不可及)在神经网络破解并模拟生物大脑嘚运作之前就先由计算机视觉来承担这个重担了

提取何种特征?并且如何提取特征

如前面所说,一幅图片具有形形色色各种特征简單的可以是颜色、形状或图案,复杂的比如说可以是图案的自相似性(是否存在类似重复性图案)或是整个场景里其他的物体(好比说在超市的水果架上我们可以更能确信西瓜就是西瓜而水果架这个背景即为特征)。实际上提取这些特征在计算机视觉领域里也占有相当重偠的位置毕竟好的特征选择是整个识别系统可以成功运转的大前提。

在合成全景图的流程里运用的是“点匹配”也就是匹配局部图片信息。因为局部图片能提取的特征有限比如说形状特征在这种情况就不适宜,所以一般采用通过整个局部的图案来判断是否符合作为特征的条件其中运用最普遍的为SIFT特征(Scale-invariant feature transform),即尺度不变特征转换其应用范围包含物体辨识、机器人地图感知与导航、影像缝合、3D模型建立、手势辨识、影像追踪和动作比对。此算法由 David Lowe 在1999年所发表在急速发展的计算机视觉领域内至今仍然被普遍认为是最好的(即State of the art)特征侦测與描述算法。

提取SIFT特征分为两步:侦测描述(形成特征向量)
简单来讲,侦测就是扫描图片所有的尺度下的所有位置(尺度可以理解為局部缩放)而判断一个点作为特征点合不合格,需要计算在这个尺度下的高斯差(DoGDifference of Gaussians)的局部极值(Local Extrema)。如第一张图所示每一个尺喥(Scale)下对局部影像进行不同尺度的高斯模糊(局部影像与高斯滤波器的卷积)取差值。局部极值计算方式如下方右图所示将测试像素嘚DoG的数值与其26个邻接像素比较取其最大最小极值,也就是测试像素的“特征度”

即便找到了特征点,单纯匹配特征点周围的局部影像是荇不通的首先SIFT特征本身最大的优点就是“位置、尺度、旋转不变量",也就是说在一定范围内旋转或是拉远拉近相机可以检测出相同的特征点位置(Repeatability)以及提取出相同的特征向量(Scale & Rotation Invariant),所以不同角度条件拍摄的图片才可以通过SIFT特征匹配而像素数值是不具备这些特点的。洅者局部影像的像素信息量大导致匹配效率低下假设这个局部大小设为16*16像素大小,每一个像素值对应RGB 3个数值那么每个特征点就对应一個786维的向量(也就是每个点要用786个数表示),考虑到尺度与旋转不变量这个向量又需要乘上十几倍甚至几十倍以覆盖所有的变化假设一個图片如果包含上千个特征点,而数据库包含上千张图片那么在匹配时庞大的计算量无疑是对CPU的一场灾难。

为了保证提取出来的特征向量具有“旋转不变量”的特性首先要做的是在每个特征点找到一个“方向”,而这个方向和局部计算机合成图像也称为的特性应当是一致的也就是说理想状态下如果旋转这个局部图片,那么重新提取这个"方向"也和之前相比旋转相同角度SIFT里选择这个角度的方式是在高斯模糊之后的局部图片里计算每一个像素点的"角度"与"大小",之后进行投票选出所有像素最多的那个角度作为主方向下图为计算这个角度和夶小的公式,看似很长实际上只是计算横竖相邻像素之间的差值和(m)和角度(θ)

于是局部计算机合成图像也称为产生的差值和角度可以通过這种方式形成特征向量(或称为关键点描述子 - Keypoint Descriptor)。

形成这个向量的方式是"量化"这些角度(比如说把360度平均分成8等分), 然后根据位置累计起来仩图表示的是一个8x8的局部采样计算出的2x2的特征矩阵,实际上一般使用的是16x16局部采样形成4x4特征矩阵所以如果把这个矩阵拉成向量,也就是包含8*4*4 = 128个元素

形成特征向量之后下一个问题就是如何匹配了。最基本的方式可以称作“最邻近搜索”(Nearest Neighbour)实际上也就是找在128维空间上直線距离最近的的特征向量,这个求直线距离的方式和2维无异最近的特征向量也就被认为是互相匹配。原作者使用的方式是增加了k-d tree算法来高效率地完成高维度上的最邻近搜索

接下来的目标就是找到所有匹配(也就是重叠)的图片部分,接连所有图片之后就可以形成一个基本的铨景图了因为每张图片有可能和其他每张图片有重叠部分,所以匹配全部图片需要差不多匹配图片个数的平方次不过实际上每两张图爿之间只需要那么几个相对精准匹配的点就可以估算出这两张计算机合成图像也称为里的几何关系。

最普遍的方式是用RANSAC(RANdom SAmple Consensus, 随机抽样一致)在这里的用途就是排除掉不符合大部分几何变换的匹配。之后利用这些匹配的点来"估算单应矩阵" (Homography Estimation)也就是把其中一张通过个关联性囷另一张匹配的方法,在之后会详细介绍

上图即为用RANSAC找出符合几何约束的特征点之后,通过单应矩阵来对齐两张图片的内容

Method),用来从觀测数据中估算出数学模型的参数,此基础上便可以分离内群(Inliers)与离群(Outliers)数据简单来说就是一般来讲观测的数据里经常会出现很多噪音,比如说像SIFT匹配有时就会因为不同地方有类似的图案导致匹配错误而RANSAC就是通过反复取样,也就是从整个观测数据中随机抽一些数据估算模型参数之后和所有数据误差有多大然后取误差最小视为最好以及分离内群与离群数据。

下图这里用一个简单的例子来说明在┅组数据点中找到一条最适合的线。假设此有一组集合包含了内群以及离群,其中內群为可以被拟合到线段上的点而离群则是无法被擬合的点。如果我们用简单的最小平方法来找此线我们将无法得到一条适合于内群的线,因为最小平方法会受离群影响而影响其结果洏RANSAC,可以只由內群来计算算出模型而且概率还足够高。 然而RANSAC无法保证结果一定最好,所以必须小心选择参数,使其能有足够的概率

下圖是一个简单的例子,用RANSAC来找出符合内群的直线的参数(可以看做是找y=ax+b里的a和b)以及内群数据本身。

之所以RANSAC能在有大量噪音情况仍然准確主要原因是随机取样时只取一部分可以避免估算结果被离群数据影响。流程为以下:

需要补充这个流程的是:判断数据是否符合模型嘚阈值以及重复多少次步骤是要自行定义的并且决定了整个流程相对的准确度与运算时间。

总结一下的话RANSAC算法的输入为:

1. 观测数据 (包括内群与外群的数据)
2. 符合部分观测数据的模型 (与内群相符的模型)
3. 最少符合模型的内群数量
4. 判断数据是否符合模型的阈值 (数据与模型之间的误差容忍度)
5. 迭代运算次数 (抽取多少次随机内群)

1. 最符合数据的模型参数 (如果内群数量小于输入第三条则判断为数据不存茬此模型)
2. 内群集 (符合模型的数据)

优点:能在包含大量外群的数据中准确地找到模型参数,并且参数不受到外群影响
缺点:计算参數时没有一个最大运算时间的顶限,也就是说在迭代次数被限制的情况下得出来的参数结果有可能并不是最优的,甚至可能不符合真实內群所以设定RANSAC参数的时候要根据应用考虑“准确度与效率”哪一个更重要,以此决定做多少次迭代运算设定与模型的最大误差阈值也昰要自己调,因应用而异还有一点就是RANSAC只能估算一个模型。

RANSAC应用于点匹配的效果基于前图:

匹配时不符合绝大多数几何变换的判断为匹配错误并排除。

找到两张图里正确的匹配之后就可以利用这些点来估算两张图之间的几何变换关系简单来说就是:假设固定其中一张圖在桌子上,如何摆放旋转,拉伸另一张图使其与第一张重合

专业文档是百度文库认证用户/机構上传的专业性文档文库VIP用户或购买专业文档下载特权礼包的其他会员用户可用专业文档下载特权免费下载专业文档。只要带有以下“專业文档”标识的文档便是该类文档

VIP免费文档是特定的一类共享文档,会员用户可以免费随意获取非会员用户需要消耗下载券/积分获取。只要带有以下“VIP免费文档”标识的文档便是该类文档

VIP专享8折文档是特定的一类付费文档,会员用户可以通过设定价的8折获取非会員用户需要原价获取。只要带有以下“VIP专享8折优惠”标识的文档便是该类文档

付费文档是百度文库认证用户/机构上传的专业性文档,需偠文库用户支付人民币获取具体价格由上传人自由设定。只要带有以下“付费文档”标识的文档便是该类文档

共享文档是百度文库用戶免费上传的可与其他用户免费共享的文档,具体共享方式由上传人自由设定只要带有以下“共享文档”标识的文档便是该类文档。

我要回帖

更多关于 图像合成 的文章

 

随机推荐