-
随着智能移动设备化概念的普及,以位置服务为核心的各类应用逐渐由室外转向室内。室内三维地图是室内位置应用的基础数据,不仅可以提供高真实感的室内三维模型,同时能传递丰富的空间和语义信息,有效提升用户体验和室内导航、分析计算、应急逃生等应用的可用性。
室内环境具有结构紧凑、主题多元、布局更新快等特点,室外三维制图手段难以适用。目前,针对室内空间建模方法主要分为基于二维工程制图[1-5]和三维激光扫描[6-10]两大类。前者可视化效果好,但纹理映射主要依赖人工作业。后者自动化生产能力强,但纹理采集手段复杂,且计算量较大。
为解决上述纹理问题,有学者提出采用多视角拍摄的方式,通过对图像特征线提取和影像内外方位元素的计算,将纹理映射到模型上[11],然而这种方法需要专业的数据采集和处理手段,无法结合由普通用户提供的实时图像数据。Kurazume等人利用场景各点的反射信息建立自然对应关系及相似性,并用M-估计方法对相机参数进行估计,但数据的特殊性限制了该方法的应用范围[12]。赵彬把用于多个站点的点云数据配准方法引入到纹理与点云配准之中, 但该方法仍需人工手动方式选取特征点[13]。文献[14]利用纹理图像中的平面特征和点云数据中的点作为配准基元,通过单纯形算法作为匹配策略求解出点云和纹理图像之间的变换,然而该算法依赖场景中大量的平面特征,具有较大的局限性。
此外,三维重建的纹理映射工作主要集中在建模过程,而对建模后室内环境的变更无法很好的应对,难以实现纹理的实时和动态更新,使得室内模型纹理缺乏现势性。
当前,智能手机的广泛应用为空间数据采集提供了新的思路,“众源”的理念在网络上逐渐兴起[15-16]。这类利用手机进行拍摄并记录地理位置的照片是室内实时可视化天然的数据源。一方面,其具有数据量大、成本低廉及现势性强的特点,能够很好地解决室内实时纹理获取的困难。另一方面,它们又是一批没有精确地理空间参考的无序数据集,需要与专业的空间数据进行一致性融合与管理,从而构建出实时动态、关系正确的空间信息。
针对以上问题,本文提出了一种基于手机图片的三维室内场景纹理自动更新方法。该方法融合了室内单张图像与三维几何模型,以室内定位系统支持下的手机拍摄图片为纹理数据源,通过对单张相片的室内场景理解,再与相应的三维几何模型坐标匹配,最终实现室内三维模型纹理的实时动态更新。
HTML
-
本文提出的三维室内场景纹理自动生成与更新方法是将手机图片数据与三维几何模型相结合,对手机拍摄和定位的二维室内图片进行场景理解,提取其三维布局结构,再将提取后的场景布局作为纹理图像与三维几何模型相匹配,最终实现2D图像与3D模型相应位置的纹理坐标映射。由图 1可以看出,纹理自动更新方法主要分为两个组成部分:室内场景理解和融合匹配。
-
手机图片的位姿信息是实时融合可视化的数据基础,本文利用Chen等[17]提出的方法,结合手机WiFi、PDR(pedestrian dead reckoning)和地标技术,以卡尔曼滤波代替粒子滤波,将定位误差控制在1 m左右,为纹理自动生成与更新提供了手机的拍摄位置和方向信息。
-
一张图片作为纹理的必要条件是能够从中找出与三维模型相对应的部分,这就要求对图像进行空间解读,并计算出图片中场景布局的像素坐标。本文基于室内三维场景理解技术[18-21],从二维图片中提取出室内场景的三维空间布局,并获取布局框架中心墙面的像素坐标。室内场景理解的工作流程如图 2所示,首先对输入的图片进行直线段检测,并计算出场景中3个相互垂直方向上灭点的位置,以此为基础可分析获得三维室内场景的方向特征,然后通过灭点与几何上下文、方向特征分别估算室内三维布局假设和室内前景物体假设,最后使用结构化预测方法寻找出最佳的室内布局框架。
-
估算图片中三维场景的布局假设,首先要获取灭点位置,然后以3个方向的灭点为发射源,向场景中发出若干条射线,构成射线网[22-24],从而生成候选布局框架(见图 2)。
当室内环境复杂,存在较多物体,如桌子、沙发、床等,单纯依靠背景布局假设得出的场景结构框架精度难以保证。通过估算出的物体位置,结合物体与场景间的几何约束,将很好地改进场景布局精度。
物体假设是由方向特征和几何上下文信息来获取。根据场景与物体之间的几何约束,对候选物体做出以下规定:
1) 所有的物体都必须在场景布局的地板上。
2) 所有物体的投影范围都完全处于房间内。
3) 物体之间不能相交、重叠。
4) 所有物体都是存在的,并有一定体积。
-
结构化预测是通过修改约束条件及目标函数对传统SVM(support vector machines)进行改进,使SVM从二分类问题扩展到可预测结构化问题。其基本思想是通过在一组标注样本{(xi, yi)|i=1, 2…n}上训练得到一个由输入特征到输出结果的映像f: x → y,其中x是输入特征,y是输出结构体标签。在训练得到映像f后,对于一个输入x就能够找到最合适的一个分类结果y:
式中,f为判别函数;f(x, y; w)= wTψ(x, y),w为权向量,ψ(x, y)为根据数据特征而提取出来代表着输入输出之间联合特性的向量,其形式取决于具体的结构化问题。
根据图像中获取的布局假设r= {r1, r2…rn }与前景物体假设o={o1, o2…om},寻求最佳的场景布局y= (yr, yo),其中yr= (yr1…yrn),yo=(yo1…yom),每个布局由5个面构成,y = {F1, F2, F3, F4, F5}通过构造打分函数f (x, y),获取分数最高的y*=arg maxyf(x, y)为最佳场景。其中x为输入图片,y为图片中真实布局框架。
f(x, y)= wTψ(x, y)+ wTφ(y),ψ(x, y)为图像中提取的特征向量,φ(y)为惩罚项。本文应用S-SVM[25](structured support vector machines),通过训练一组标注样本求解以下最优化问题而获取权向量w。
式中,xi为图片;yi为图片中的真实布局框架;ξi为松弛变量;C为常数;Δ (yi, y)为损失函数, 反映候选结果和实际结果的偏差程度, 即错误标识像素点占整个图像区域的百分比。例如某区域属于“左墙”而标记成为“天花板”。
特征向量ψ (x, y):方向特征与几何上下文对场景布局y的支持程度。计算场景中6类表面(上、下、左、中、右、前景物体)与方向特征、几何上下文相对区域的匹配程度,得到一个12维向量。例如布局y的“地板”特征由方向地图的水平面和几何上下文的“地板”标记计算而来。
惩罚项φ(y):衡量物体间几何约束的影响。由两部分组成:①φ(yr, yo),惩罚物体与房间相交的情况,计算物体超出房间部分的体积比;② $\sum\limits_{i,j}^{} {\varphi \left( {y_o^i,y_o^i} \right)} $,惩罚物体之间的相交情况,计算两物体重叠区域投影到地面占总面积的百分比。
基于结构化学习,进行了两次递归运算,第1次通过训练标注样本(x1, y1)…(xn, yn),设置参数C计算打分函数f(x, y),第2次将候选样本集输入打分函数进行计算,最终获取分数最高的场景布局框架。
-
图像与模型匹配就是对三维物体进行二维参数化。即用某种方法建立二维纹理空间点(u, v)到三维物体表面点(x, y, z)之间一一对应的关系, 如式(3)所示:
在建立图像和几何模型之间映射关系前,需根据手机拍摄的位姿信息在三维模型中找出拍摄墙面中所有三角面片。
-
搜索目标墙面三角面片的算法流程如下:
1) 以房间为单元,根据三维模型的语义信息和几何信息,确定每个房间的几何包围盒。然后遍历每个包围盒判断是否包含手机定位坐标,从而找出拍摄房间。确定房间后可根据语义信息与手机标注信息进行对比,若房间错误,则重新定位。
2) 手机磁力计得到的拍摄方向角度α是基于地理坐标系,以正北方向为0°,顺时针旋转。当三维几何模型在地理坐标系中沿正北方向水平摆放时,则拍摄方向向量V = (sinα, cosα, 0), 如图 3所示。若三维空间中模型的相对坐标与地理坐标存在角度β,则(V =sin(α+β), cos(α+β), 0)。
3) 根据房间内三角面片的几何坐标和索引计算房间内所有三角面片的法向量,并求解其与拍摄方向向量之间的夹角,若方向相反,则获取该面片(见图 4)。为防止定位角度误差带来的错误和纰漏,设定一个误差阈值,即获取夹角在155°~180°之间的三角面片。
-
室内三维几何模型中每个顶点都定义了纹理坐标,即(u, v)坐标,如图 5(a)所示,u和v的取值都在(0, 1)之间。根据搜索出的三角面片几何坐标,按照比例关系即可计算出纹理坐标。然而不同位置的房间在局部坐标系中的旋转角度不同,无法直接根据几何坐标值计算两点之间的距离(图 5(b))。需要先对三角面片进行坐标转换:以z轴为新坐标系的y′轴,以面片的法向量为z′轴,通过对y′轴和z′轴叉乘得到x′轴(图 5(c)),以新坐标基底为基础,乘以每个三角面片的顶点坐标,得到转换后的坐标值。
转换后的几何坐标在z′轴的值都等于0,通过搜索出最大坐标值(x′max, y′max, 0)和最小坐标值(x′min, y′min, 0),根据比例关系,即可计算出纹理(u,v)坐标,如图 6(a)所示。
再将计算出的(u,v)坐标与三维模型中拍摄墙面的几何坐标对应存储, 即(x, y, z, u, v),从而实现纹理映射。
1.1. 方法概述
1.2. 手机图片位姿获取
1.3. 三维室内场景理解
1.3.1. 布局与物体假设估算
1.3.2. 判别预测
1.4. 图像与三维几何模型的融合匹配
1.4.1. 搜索拍摄墙面三角面片
1.4.2. 坐标转换与纹理映射
-
本文以武汉大学某教学楼为实验区域,在不同位置进行手机拍摄采集图像数据。实验以所拍照片为数据源,像素大小限定为650×500,具体参数如表 1所示。
组号 室内相对坐标(x, y, z) 拍摄角度(地理坐标)/(°) 手机型号 1 (-16.139, -18.198, 3.527) 1 iPhone6s 2 (-5.949, 18.014, 7.904) 175 华为荣耀v8 3 (-23.428, -18.746, 7.904) 274 小米5 Table 1. Data Collection
实验结果如图 6所示,第1、2组实验采用带纹理的几何模型,第3组实验采用了没有纹理的白模。从实验结果可以看出,本文方法能够有效融合室内三维场景与手机相片。
-
以图像与几何模型对应顶点之间的匹配程度计算融合误差。将标注样本中与模型匹配的图像像素坐标作为真实值(x, y), 实验中与模型匹配的像素坐标为观测值(x′, y′)。实验误差如表 2所示。
项目 第1组 第2组 第3组 实验误差 2.438 3.424 7.753 Table 2. Error Under Different Condition/%
第1组实验的照片拍摄角度正对墙面,且图像中场景遮挡较少,误差最小。第2组场景遮挡少,虽存在拍摄角度,但误差与前者接近。第3组实验,照片中地板被物体严重遮挡,导致误差最大。
2.1. 实验
2.2. 误差分析
-
本文以图像理解技术为理论基础,提出一种新型室内场景纹理自动更新方法,不仅实现了室内几何模型纹理的实时动态更新, 同时也达成了对无序众源图像的空间融合与管理。然而,目前室内GIS的实时化、网络化、多源信息化仍存在很多困难,需要不断的完善和改进。文中方法为室内三维模型纹理的实时更新提供了新的思路,同时也存在一些问题。当室内存在过多物体而导致场景严重遮挡时,会大幅影响实时可视化效果。结合语义信息、图形分割等元素使动态纹理映射更加精准且不局限于墙面,是未来研究工作的一个重点。