三维室内空间注记优化配置方法
2022-03-11郝天浩林志勇
郝天浩,林志勇*
(1.武汉大学 遥感信息工程学院,湖北 武汉 430072)
三维室内注记在室内空间标识、线路指引上发挥着重要作用,且增加了三维室内地图的可读性。与室外相比,室内空间布局更为紧凑,注记更密集,且存在大量墙体的遮挡,不利于注记的判读,由此导致标注对象不明确、注记重叠等问题,无法准确、完整地表达三维室内空间信息。优化三维室内注记,使标注对象明确、注记信息完整是三维室内信息可视化的重要内容[1-5]。
用户在浏览三维地图时,因视角的变换极易出现注记重叠问题,如何在完整展示注记内容的同时防止注记重叠是当前研究的重点和难点[6-9]。目前,许多学者针对调整重叠注记位置并求取最优解方面进行了深入研究,如梁娟珠[10]等利用遗传算法自动配置点注记,基于遗传算法迭代寻找最优标注位置,并通过大量随机点标注实验证明了遗传算法优化配置注记的可行性;吕德奎[11]等提出了基于网格的地图标注避让算法,通过网格划分标注区域,以空网格作为标注位置。上述算法均存在耗时较多的问题,仅适用于注记相对位置基本不随视角变动而改变的二维地图;然而,三维地图注记相对位置会随视角变动而改变,因此需要动态处理重叠注记。针对三维场景注记配置,周鑫鑫[12]等以GRID算法为基础,以遗传算法为核心,实现了小规模地理场景点要素三维注记的可行最优解求解,与主流GIS平台的三维注记配置效果相比,注记质量有所提高。该方法存在一定耗时,不能随视角的变化快速调整好注记位置,且未考虑调整注记位置后引起的标注对象不明确问题。
针对三维室内标注出现的问题,本文综合分析了各类注记形式的优劣和适用场景,在广告牌式注记的基础上设计了指向式注记以明确标注对象,并基于该注记形式,提出了一种快速检测并动态调整重叠注记位置的方法,合理利用三维室内多余空间作为注记可调整区域,实现了视角范围内所有注记信息的完整展示。通过实验对比多视角下优化前后的三维室内标注效果,证明了该方法的可行性。
1 三维注记的配置要素与形式
1.1 三维注记的配置要素
注记作为表达场景信息的辅助要素,在显示上通常与场景有明显的区分,三维注记的配置要素由注记文字内容、注记位置、注记形状、注记大小、注记角度等参数组成,通过调整这些参数来设置最佳的注记展示效果。
由三维注记配置要素可知,良好的标注效果需在单个注记设计和整体注记展示上进行优化调整。单个注记应位置准确,标注对象明确,标注内容简洁明了,注记色调和场景区分明显;在整体注记显示上,应减少因视角变化或标注密集而引起的注记重叠现象,注记大小符合三维透视原则,整体表现出层次感,更好地辅助人们认知三维室内地图[13-15]。
1.2 常见的三维注记形式
根据标注对象维度的不同,可将标注对象抽象并划分为点、线、面、体4种类型。不同类型的标注对象适用不同的注记形式。常见的注记形式如图1所示。
图1 常见三维注记形式
1)广告牌式注记,注记始终面向浏览者,保证任意视角下都能看到注记信息。这种表现形式的不足之处在于注记随视点旋转的过程中可能遮挡注记定位点周围地物,若在标注密集区还会出现注记重叠的问题。
2)纹理贴附式注记,将文字以纹理图片的方式贴附在标注对象表面,能准确标识目标对象,还能通过改变注记的方向和曲折程度来适配标注对象的形状。其缺点是在变换相机视角时注记可能显示不完整,甚至被遮挡。这类注记常用于道路、河流、湖泊等紧贴地表的地物标注,注记和它表示的地物一样,随着地形起伏而起伏。
3)三维文字模型,利用三维文字模型的形式展示注记内容,使注记内容具有立体感,展示效果较好;但注记朝向固定,因此在改变相机视角后,注记容易显示不完整,只有在相机朝向注记正向时才会有较好的显示效果。这类注记适用于视角范围变动不大的三维场景。
2 指向式注记的设计与配置
2.1 指向式注记的形式设计
三维室内空间浏览需要在任意视角下均可看到注记信息,因此只有广告牌式注记符合要求。图2中采用广告牌式注记,当相机视角过低时,出现了注记穿透墙体的问题,不能准确识别其标注的房间,且在房间密集区出现了注记不明确的问题,因此需要优化广告牌式注记。
图2 广告牌式注记效果图
由于室内的墙体高度基本一致,室内上方无其他地物,可充分利用室内上方空白区域作为注记放置点位。将注记位置调整到房间上方,并从房间内部绘制一条三维直线,指向注记内容,这种将三维模型与二维平面注记相结合的注记形式,使注记内容始终面朝浏览者,且注记方向线始终指向目标房间,避免注记穿透墙体引起的注记不明确问题。最终效果如图3所示,但在较低视角下和房间密集区域仍会存在注记重叠问题。
图3 指向式注记效果图
2.2 指向式注记的位置配置
实现指向式注记,需要确定广告牌式注记所在的屏幕坐标,并使三维指向线始终指向广告牌式注记。实验中的标注点位在室内场景中的三维坐标已知,因此只需把三维坐标转为二维屏幕坐标即可。
1)已知标注点位在室内的三维坐标P0,P0在房间内部,由P0向房间顶部绘制一条和房间三维模型高度等长的线段,得到线段的顶点坐标P1。
2)此时P1(XP,YP,ZP)为世界坐标系坐标,需转为相机坐标系坐标Q1。相机坐标系的原点为相机投影面中心点,Z轴方向为相机视线中心线方向。三维场景中相机坐标系相对于世界坐标系的坐标偏移量(X0,Y0,Z0)以及沿X、Y、Z轴的旋转角度θx、θy、θz均为已知条件,根据旋转变换公式计算得到Q1坐标(Xq,Yq,Zq)。
将P1绕X、Y、Z轴旋转,根据式(1)~(3)计算得到与相机坐标系旋转角度一致的Q1坐标。
根据式(4),再沿偏移方向平移对应的偏移量即可得到转换后的Q1坐标。
3)如图4所示,从相机点位坐标Q向Q1连线得到线段L,此时L与相机成像面T(XOY平面)之间存在交点Q2,根据空间坐标系直线与平面相交公式得到Q2在相机坐标系中的坐标。
图4 相机坐标系
4)如图5所示,把Q2的X、Y坐标转换为屏幕坐标系中S的坐标,屏幕坐标系原点为左上角,需先对相机坐标系进行平移变换,再根据相机坐标系成像面宽高和屏幕宽高的比例关系进行缩放,最终得到屏幕坐标S,即为广告牌式注记要放置的点位坐标。
图5 相机坐标系转换为屏幕坐标系
2.3 重叠注记的判断与处理
三维场景下的视角变换会改变注记间的透视关系,影响其在屏幕空间上的相对位置,导致注记重叠。处理重叠注记的方案包括隐藏重叠注记和调整重叠注记位置至不重叠区域。由于隐藏重叠注记会丢失注记信息,不符合注记信息完整的目标,本文采用调整重叠注记位置的方案,并充分利用室内上方空白区域作为重叠注记的候选调整位置。
判断重叠注记的具体算法为;
1)获取所有注记的三维坐标P1、P2、P3…以及这些注记对应的注记矩形R1、R2、R3…(注记矩形是指广告牌式注记在屏幕坐标系中所占的矩形空间范围,屏幕原点为左上角),并按照Pi距相机的距离从近到远排序。
2)按距离相机从近到远的顺序遍历注记Pi,先将Pi初始化到原来的位置上,保证Pi在任意视角下都能从距离其标注对象最近的位置开始调整,将其前面的所有注记矩形按距离相机从近到远的顺序排序,并将其注记矩形Ri与其前面排序后的所有注记矩形Rj逐个进行比较,判断是否存在相交矩形。矩形重叠可能出现的情况如图6所示。
图6 矩形重叠情况分类
设注记矩形Ri的横纵坐标X、Y的最小、最大值分别为 minXi、maxXi、minYi、maxYi,注记矩形Rj的横纵坐标X、Y的最小、最大值分别为minXj、maxXj、minYj、maxYj。判断矩形重叠的公式为;
若X0≤X1且Y0≤Y1,那么这两个注记矩形重叠;否则,不重叠。
调整重叠注记位置的具体流程为;
1)若Ri与Rj重叠,则调整向上重叠注记矩形Ri位置。注记可能出现的重叠情况如图7所示,只需将注记矩形Ri向上移动距离s即可。
图7 注记重叠情况
2)调整重叠注记指向线端点D1坐标,使其指向重叠注记。计算相机距离D1的长度dis1,相机距离注记Pi中心的长度dis,根据相似三角形得到D1应移动的距离S1=dis1×s/dis,如图8所示。
图8 重叠注记移动量计算
3)继续判断Ri与其前面剩余注记矩形之间的重叠关系,若仍存在重叠矩形,则Ri在原来上移的基础上再按上述处理方式继续向上调整位置,直到遍历完其前面所有注记为止。
4)继续遍历下一个注记Pi+1,直到遍历完室内场景的所有注记为止,如图9所示。
图9 重叠注记位置调整流程图
3 算法实验
3.1 三维室内注记质量评价函数
为了定量评价良好的三维室内注记,达到标注对象明确、注记信息完整的目标,本文设计了三维室内注记质量评价函数。从标注信息完整性、标注对象明确性出发,设计了重叠注记质量评价函数、模糊注记质量评价函数两个评价指标;并采用统计加权的方法,设计了注记综合评价函数,重叠注记数目越少、模糊注记数目越少,则注记综合评价函数值越大,标注效果越好,从而体现对于场景注记的全局最优评判。
1)重叠注记质量评价函数。若两个注记之间存在部分重叠或完全遮挡现象,则视为注记重叠,并将这两个注记视为重叠注记。设注记总数为M,重叠注记数量为M1,则重叠注记质量函数为;
2)模糊注记质量评价函数。在三维室内场景中经常出现注记偏离其所标注的区域、注记穿透墙体导致无法辨别标注对象的现象,这种注记称为模糊注记。模糊注记往往会扰乱人们对室内空间信息的准确判断。设注记总数为M,模糊注记数量为M2,则模糊注记质量评价函数为;
重叠注记会导致注记信息丢失,不能准确判读标注对象;而模糊注记仅为注记与标注对象之间的偏移过大,影响地图整体判读的效率和精确性,但仍能获得标注对象信息,因此相对重叠注记的影响较小。根据上述两个因素对三维室内注记质量的影响程度,设定质量评价函数的得分权重S1=0.7、S2=0.3,最终确定三维室内注记质量综合评价函数为;
3.2 实验环境与实验数据
实验基于Three.js三维开发库在Web端实现三维室内场景的展示和漫游、三维注记的绘制和处理。以某一层楼的三维室内模型为实验场景,以房间中心点为注记的放置点位,并随机对室内各个房间进行标注,实验数据为室内所有注记。
3.3 实验结果分析与比较
本文设计了注记优化前后两组实验,并在多个视角下对比分析两组实验的展示效果。实验a为注记优化前的实验,实验b为注记优化后的实验,每组实验使用的数据完全一致,最终截取了俯视(1)、斜视(2)、平视(3)3种视角下每组实验的效果图,如图10所示。根据三维室内注记质量评价函数,统计各组实验的注记质量评价得分,结果如表1、2所示。
图10 注记优化前后实验结果
表1 注记数目统计
由实验数据可知,注记优化后的实验结果在3种视角下的综合质量评价得分均最高,且重叠注记质量评价得分均为100,不存在注记重叠现象,仅有少量注记模糊,能准确完整地展示视角范围内的所有标注信息,整体标注效果较好,且注记位置可随视角的变换而快速调整,始终处于优化后的位置;而注记优化前的实验结果在俯视视角的综合质量评价得分良好,但随着视角的降低,综合质量评价得分逐渐下降,在平视视角的综合质量评价得分仅为36.22,存在大量注记重叠和标注不明确现象,整体标注混乱,影响对三维室内地图的判读。
表2 质量评价得分
4 结 语
三维室内空间比室外更紧凑,因此注记较密集、注记重叠和标注对象不明确问题更严重。当前注记配置优化算法存在一定耗时,不能随三维视角变化而快速动态调整注记位置,且调整位置后可能会产生标注不明确的问题。针对上述问题,本文归纳了常用注记形式的优劣以及三维室内空间特点;将三维模型与二维平面注记相结合,设计了指向式注记形式及其配置方法;基于该注记形式,利用矩形重叠算法快速检测重叠注记,通过透视变换矩阵迭代调整重叠注记位置和三维注记线指向,运算速度较快;针对标注对象不明确、注记重叠问题,设计了注记质量评价函数。实验结果表明,本文提出的优化方法实现了标注对象明确、标注信息完整的目标,能随视角变换快速优化注记位置。本文提出的三维室内注记质量评价函数仅基于模糊注记、重叠注记两个指标,且评价得分权重具有不确定性,因此可能存在其他影响注记质量的因素以及更具代表性的注记优劣评价函数和得分权重,值得深入研究探讨。