一种用于全景视图管理的3d图像拼接合成方法
【技术领域】:
[0001] 本发明涉及一种用于全景视图管理的3D图像拼接合成方法,可以用来实现包括 变电站、工厂、学校在内的各类展示项目及检测辅助项目的设备管理和日常维护,具有直观 便利、易于操作、实用性强等特点。
【背景技术】:
[0002] 国内外有很多系统设备管理的方案,有基于web的信息管理系统;利用ASP.NET开 发的B/S结构的web数据库管理系统;利用全网络视频监控的智能管理系统等等。这些方 案都能对各类实际系统进行高效管理,但是局限性很大。简单的报表功能只能提供数据记 录功能;完善的监控系统建设成本高,监控点局限于摄像头的范围,没有全局的空间感,设 备监控只能观看,不能显示、查询和记录监控设备的详细信息。
[0003] 三维建模技术国内外研究众多,有校园三维仿真管理系统,基于空间可视化技术 的三维小区物业信息管理系统,以及国外设计的通过网页就可以浏览的3D博物馆等等。这 些应用方便、快捷、智能,给人以身历其境的参观和管理体验。但是这些技术通过建模绘制 三维图形,工程复杂,周期长,对图形处理的硬件和软件要求高,受制于地形的面积大小和 复杂程度,而且虚拟建模出的场景不能真实体现空间场景。
[0004]目前三维建模技术的研究热点是球形全景视图的IBR技术。通过鱼眼图像采集以 及图像校正和拼接技术合成全景图像。谷歌的地图应用中加入的街景视图正是这项技术早 期成功应用的典范,国内腾讯公司也在自己的地图产品中增加了类似的功能。目前全景视 图技术主要应用于地图导航及景点展示等领域,很少应用于设备管理等方面。
[0005] 因此利用全景视图实现现实各类系统的数字化,智能化和空间可视化,既填补了 国内外利用虚拟现实技术在信息管理方面应用的技术空白,也给系统设备管理提供了一种 新型的迎合时代发展的管理模式。
【发明内容】
:
[0006] 本发明提出一种供各类信息系统使用,模拟并还原实地景观,并可查看及编辑设 备布局与型号信息的3D图像拼接合成方法。如图1所示,本方法主要包括图像采集、图像 处理、三维场景构建、热点编辑管理器、设备资料输入等几个模块。其中,需要人工操作的部 分仅有照片采集和设备资料输入两个部分。
[0007]( -)照片采集
[0008] 照片采集对后期拼接合成有很大影响,需要一些拍摄知识和经验。具体请参见"拍 照说明"。
[0009] 1)使用三脚架固定拍摄位置,确保旋转拍摄时中心位置不变。
[0010] 2)旋转拍摄时,两张图片要有相重合的地方,重合位置尽量不小于1/4画面,这样 可以有效地提高后期处理的精度,减少广角边缘的变形对画面的影响。
[0011] 3)使用水平仪,确保水平拍摄,水平旋转。
[0012] 4)拍摄时尽量使用同一组拍摄参数,使用手动对焦,以及光圈快门要根据拍摄地 点的光源和亮度选着,并固定参数。
[0013](二)图像处理
[0014] 图像处理模块包括图像预处理、图片特征点检测与配准、建立变换模型、统一坐标 变换,光照补偿,图像融合,全景图首尾无缝矫正及切片等部分。
[0015] 1)图像预处理
[0016] 调整图像大小和统一命名图像,如果原始图像过大可以通过预处理对其进行缩小 以降低时间复杂度和空间复杂度。对输入的图像统一命名,如第1列第一张图片会命名为 01_01.jpg,以便于拼接程序自动读取源图片。考虑到36-60张图片一次性拼接时间复杂度 太高而且程序运行结果不可调,所以将拼接按先列拼接再行拼接的顺序进行,如图2所示。 这样可以降低拼接所需时间,还可以调整拼接图像顺序,让主要建筑调整到全景图画幅中 央。
[0017] 2)图片特征点检测与配准
[0018] 配准图像,求出图像的重合区域以及单应性矩阵。采用对图像尺寸,光强,旋转具 有不变性,且鲁棒性很好的surf特征点检测,然后利用k-d树算法和RANSAC算法分别进行 特征点粗匹配和精确匹配,求出任意两幅图像匹配的置信度和单应性矩阵变换。
[0019] 3)建立变换模型
[0020] 计算相机参数,求出图像旋转矩阵R,相机参数矩阵K。根据图像的单应性矩阵,粗 略计算相机的焦距以及旋转角度,再使用BundleAdjustment消除单应性矩阵造成的累积 误差,对所有相机进行多重约束,求出精确的相机参数,构建出变换模型。
[0021] BundleAdjustment算法是将每个特征点投影到所有与它匹配的图像中,调整相 机参数,使特征点匹配误差的平方总和最小化。定义两个对应的特征点其中<表 示图像i中第k个特征点的位置),残差表示为
[0022] ^
[0023] 其中乂为对应点<从图像j到图像i的投影,即
[0024]
[0025] 误差函数是所有图像误差之和,表示如下:
[0026]
[0027] 其中n是总的图像数,I⑴是和图像i匹配的图像集,f(i,j)是图像i和图像j 的特征点匹配集,我们使用Huber鲁棒误差函数,如下所示:
[0028]
[0029]Huber鲁棒误差函数结合L2范数的快速收敛性作为内点的优化方案(距离小于 〇 ),和Q范数的鲁棒性作为外点的方案(距离大于〇 ),〇 = 2作为初始化过程中的点距 离。
[0030] 使用L-M算法就可以求出最优的相机参数,然后归一化旋转矩阵。
[0031] R^R^R;'
[0032]民为选取的参考相机旋转矩阵,将所有相机旋转矩阵都乘以参考矩阵的逆矩阵, 参考相机旋转矩阵则变换为单位阵,其他旋转矩阵也进行了归一化变换。
[0033] 4)统一坐标变换
[0034] 将图片根据相机参数做透视变换,统一到同一坐标系下。图像坐标(x,y,z),其中 Z= 1,转化为统一球形坐标(U,V,W),正投影变换公式如下:
[0035]
[0036] 正投影变换会使图像变换后出现空洞,所以利用反投影和二次线性差值求出透视 变换后的图像。根据球形正投影变换求出图像变换后坐标的顶点和坐标范围,然后进行反 投影,反投影的公式如下:
[0037]
[0038] 5)光照补偿
[0039] 对图像进行色彩归一化变换,消除图像亮度差。由于相机光圈和阳光变化,相邻图 片不同时拍摄,有可能出现亮度差,我们定义误差函数为所有重叠像素块的亮度误差之和, 表示如下:
[0040] W",.
[0041] 其中gl,g]是增益权重,R(i,j)是图像i和图像j的重叠区域。在实际中我们使 用图像块的光强代替,将图像分成32*32像素块,计算图像块的光强值代替每一个像 素的光强。
[0042] 6)图像融合
[0043] 使相邻图像平滑过渡,首先使用最大流法求出拼接缝,使拼接缝处相邻图像重合 像素差总和最小,即两图像最优的重合处。对拼接缝两边像素使用加权融合算法,使拼接缝 处两图像能平滑过渡。
[0044] 7)全景图首尾无缝矫正及填充拉伸处理
[0045] 由于全景图首尾有重叠,所以对首尾1/6部分进行surf特征点检测与匹配,将对 应点进行仿射变换,使首尾水平对齐。然后将全景图一分为二,分别水平翻转后图像首尾两 边进行加权融合,平滑过渡。如果首尾出现错位,可以通过对首尾做透视变换,上下拉伸微 调对齐。
[0046]由于拍摄时拍摄角度只达到仰角30°或者仰角45°,包含非天空的部分,如建筑 物、树木等,更高仰角则是特征点很少的蓝天或者运动的白云。不同时间拍摄导致不同图片 上白云位置不同,所以拼接时可能会找不到特征点或者特征点匹配错误而造成失败。所以 我们采用只拍摄仰角30°或者45°的方案,信息比较少的天空部分通过填充来处理,先求 出全景图顶部天空部分的平均值,然后全景图高维度的100行像素值全赋值为该平均值, 然后每一列像素都向上过渡到平均值,最后对填充的天空部分进行横向高斯滤波,让填充 部分过渡平滑。
[0047]低纬度部分拍摄俯角为30°,未拍摄地方的面积可视角度比较少,如果对其采集 会增加照片采集的复杂度和延长图像拼接的时间,地面信息比较单一,或者特征点比较少 的情况下,也会造成拼接失败。综合考虑,我们规定俯角拍摄为30°,未拍摄的地面信息通 过仿射变换对全景图向下拉伸,使视角达到60°。全景图显示时低于60°的空洞部分会有 logo图片将其覆盖,这样就达到了水平360°,垂直180°的球形全景图。
[0048] 最后对全景图切片,由于三维全景视图接口标准是4张2048*2048的图片,所以将 全景图缩放为8192*2048,然后水平平均切分为4份,传入三维全景视图中,新的场景即可 显示出来。
[0049] (三)三维场景构建
[0050] 本图像拼接合成