APP下载

基于图像绘制的虚拟博物馆藏品动态更新技术初探

2019-08-27廖珊蔡杏琳韩盈盈吴堑虹

中国科技纵横 2019年15期
关键词:数据存储图像处理藏品

廖珊 蔡杏琳 韩盈盈 吴堑虹

摘 要:针对虚拟博物馆藏品动态更新无法与前台展示同步及数据一致性难以保障的问题,本文以湖南省地质博物馆为例,采用Pano2vr提供的二次开发接口,研究了展馆与藏品之间的数据关联,制定了数据库存储、文件存储和XML元数据相结合的数据存储方案,研究了在Web环境下的动态更新藏品的图像处理和数据一致性保障技术,提出了数据库与图像几何变换相融合的解决思路,探讨了基于图像绘制的虚拟博物馆藏品动态更新的实现方案。

关键词:藏品;动态更新;数据存储;图像处理

中图分类号:TP391 文献标识码:A 文章编号:1671-2064(2019)15-0034-03

0 引言

目前,展馆与藏品的虚拟展示依旧是虚拟博物馆建设的重心,但虚拟博物馆的建设多由专业团队进行,在建设完成后虚拟博物馆如何与实体博物馆场景和藏品的任何变化同步常会因缺乏专业技术人员而难以进行。因此探讨实体与虚拟的之间的信息互联,实现二者信息互动是实现实体博物馆和虚拟博物馆数据和显示的一致和同步性的基础。本文以湖南省地质博物馆为例,结合Pano2vr API的XML解译接口,根据博物馆馆/藏之间的关系,对虚拟博物馆的藏品动态更新进行研究,并设计出符合全景博物馆的藏品动态更新技术。

1 馆/藏关联关系

虚拟博物馆藏品的动态更新与实体博物馆藏品的信息更新或位置移动有关。藏品与博物馆展馆之间是依赖关联关系,这种关系主要表现在二者空间相对关系,它决定了不同视觉角度下藏品在展馆中的位置。这种空间相对依赖关系模型是动态实现web端的虚拟联动响应来的关键。

1.1 基础数据关联

在信息世界中,实体内部和实体之间都是有联系的,实体内部联系是实体属性之间的联系;实体间的联系是指不同实体集间的关联,虚拟地质博物馆和藏品是最重要的两个实体集。展馆实体包含展馆ID、展馆名、展馆描述等属性信息,藏品实体有展品ID、展品名、出产地、长、宽、高、价格、描述、图片路径、模型路径、音频路径、视频路径等信息,展馆与藏品以1:n的陈列关系关联,陈列关系包含了藏品在展馆中的节点位置。

为了提高數据库应用系统性能,尽量消除各属性之间的相互依赖关系,提前为藏品或展馆信息更新预留空间,藏品和展馆数据存储如表1-表3所示。

1.2 空间位置关系

基础数据涵盖了展馆和藏品实体的属性信息和非结构化数据的路径信息,但却缺乏对馆/藏的空间精确位置信息的描述,由于藏品动态更新除了属性数据更新外,更重要的是同步显示虚拟博物馆中3D藏品在展馆中位置变化。

通过球状投影坐标转换获得虚拟博物馆场景二维静态全景图,藏品实体动态更新是对藏品位置调整,实现展馆/藏品的空间位置关系的重新定义和显示。

全景图囊括了以视点为中心的三维空间中所有实体的映射图像,藏品数据更新时,根据图像在线处理的工作区是与全景图范围相同的浏览器可视区域建立其二维坐标系,定义坐标原点为可视区域的左上角,X轴为水平方向,Y轴为垂直方向。

任意一件藏品的位置都能以四边形的4个顶点(Xi,Yi)表示,其中i=1,2,3,4,则藏品坐标可表示为:

(Xi,Yi)=(pageXi,pageYi);

以Pano2vr坐标系为基准,在二维静态图中定义直角坐标系。其中,pan表示像机平摇量,等同于X轴,取值范围是[0,360°];tilt表示相机俯仰角,等同于Y轴,取值范围是[-90°,90°],fov表示相机视角,等同于Z轴,取值范围是[0,120°],默认值是70°,Pano2vr坐标系统下表示藏品范围的任一点坐标为:

(Xi,Yi,Zi)=(pani,tilti,fovi);

三维藏品动态更新时,通过全景图关联屏幕坐标和Pano2vr坐标实现二维坐标向三维坐标系转换,其计算公式如(1)、(2):

pani= (1)

tilti=90-*90(pageYi∈[0,H]) (2)

(pageXi,pageYi)表示第i个顶点相对于浏览器展示区域左上角的偏移量,W和H分别代表全景图的宽度和高度。

2 馆/藏更新技术

博物馆藏品的动态更新包括基础数据和空间位置两部分,该过程中保障藏品异构数据的一致性和完整性是非常重要的,采用数据库技术和图像处理技术相融合存储的方式保证藏品更新过程中其相关数据的完整和一致。

2.1 异构数据存储

虚拟博物馆的数据主要分为两类:一类是文本组成的基础数据,采用关系数据库存储;一类是以图像、多媒体、文件等组成的非结构化数据,选择数据库与文件库集成的方式进行存储。藏品动态更新过程中位置信息是展馆和藏品的纽带,二者间的配置是正确显示二者关键信息,藏品动态更新所涉及的数据包括基础数据、非结构化数据、位置和配置信息,对其的存储采用图1所示的方案。

2.1.1 关系数据库

采用关系数据库存储藏品的基础属性数据和文件路径的方式保持数据的一致性。对基础数据的存储包括了藏品属性和各展馆和藏品关系的存储。展馆和藏品基础数据关系模型分别为:

EXHIBITE(EXH_ID,EXH_NAME,ORIGIN,EXH_ INFO,PIC_PATH,MODEL_PATH,AUDIO_PATH,VIDEO_PATH,…)

EXHALL(EXHALL_ID,EXHALL_NAME,EXHALL _INFO,EXHALL_FLOOR,…)

展馆与藏品以1:n的陈列关系关联,陈列关系中包含了藏品在展馆中的节点位置(大致方位),根据陈列关系建立二者间的关系模型:

DISPLAY(EXH_ID,EXHALL_ID,PANO_ID);

动态更新藏品时,利用数据库操纵语言对数据表中的属性和路径数据进行增(INSERT)、删(DELETE)、改(UPDATE)、查(SELECT)操作。更新藏品的基础属性信息时,以藏品关系表的EXH_ID和EXHALL_ID与陈列关系表DISPLAY 相关联,查询或修改藏品的基本信息、路径信息和陈列节点信息等,从而更新藏品的属性和粗略位置信息等。

2.1.2 文件数据库

相对于结构化数据,非结构化数据不方便直接通过数据库的二维逻辑表进行存储,却可以采用二进制的形式存入。但这种方案存在以下不足:第一,二进制流转换速度受文件大小和网络通信速度影响,存储和加载速度不稳定性;第二,编码和解码的过程占用CPU空间,易造成线程阻塞;第三,无法对非结构化数据的数据集进行二进制流转换和存储。

针对二进制流存储的不足,采用文件数据库存储非结构化数据,并通过关系数据库中的路径来维护藏品数据的一致性,在关系数据库中记录非结构化数据的路径信息,在文件库存放这些数据,关系数据库与文件库间通过路径字段关联。当新增或修改非结构化数据时,首先通过插入或更新编辑数据库中的属性字段,然后根据路径字段检索文件目录,若目标目录下文件存在则重写文件内容,若不存在则创建目录并将文件拷贝到该目录下。

2.1.3 XML数据库

根据位置的定义往往按照从粗略到精细、从大到小的顺序逐步定位的原理,按照“展馆→场景→实体三维坐标”的顺序对虚拟博物馆中的展馆和藏品实体位置进行描述。

展馆、场景、视角、节点及藏品之间彼此关联,一个展馆包含多个场景,一个场景中有且仅有一个默认视角和一个漫游节点,但可以陈列多个藏品。结合位置定义,规定展馆中某实体精确位置的表达模型为:

(EXHALL_ID,PANO_ID,(ENTITY_ID,PAN,TILT,FOV));

其中,EXHALL_ID指展馆编号;PANO_ID是场景编号;ENTITY_ID是实体编号;PAN,TILT,FOV分别代表摄像机平摇、俯仰、视场角。

由上述表达模型可知,存储位置信息分为两部分:一是粗略位置,由展馆ID、场景ID和实体ID组成;二是精确位置,由摄像机的三要素确定。对于粗略位置信息,采用关系数据库存储,如表1-表3所示。实体的精确位置由几组坐标对(pani,tilti,fovi)表示,不适宜采用数据库存储,配置信息是以键值对描述的信息参数,亦不适合采用关系数据库存储。

XML作为描述数据的元语言,可以根据自己的目的灵活定义标记。本文设计的馆/藏XML元数据库以node为层级,层次化展馆节点、默认视角、热点、热区及藏品的坐标位置、名称等信息,通过Pano2vr API提供的XML接口,精确解析出藏品的精确位置和展馆的参数信息,供虚拟博物馆动态调取展示。

2.2 馆/藏信息更新

藏品的更新涉及显示信息及位置数据的变动,显示信息的变动实际是藏品相对于场景的相对位置的变动;位置数据的变动是指基础位置和精确位置的变动。因此,将虚拟博物馆中藏品三维数据的动态更新归纳为基于藏品数据的位置信息更新和图像显示更新。从图形学的角度,显示更新通过位置移动和几何变换将场景、展柜、藏品图像进行重组与融合;从几何学的角度,数据更新是通过数字化藏品获取并记录不规则图形的坐标位置。

2.2.1 位置信息更新

藏品的位置包括基础位置和精确位置,因此,藏品三维数据在位置信息方面的更新指的是对基础位置和精确位置的更新。

关系数据库记录了藏品位于展馆的节点位置,即基础位置,但却未记录其精确坐标,通过XML元数据库,以node节点定义藏品位置的vertex标签,并以(pani,tilti,fovi)坐标记录藏品位于展馆的节点精确位置。因此动态更新藏品位置信息就是对数据库的节点信息和XML文件库中的藏品位置属性vertex进行同步更新。

数据库节点信息更新步骤如下:

(1)通过XML文件获取当前展馆的英文名和节点编号;(2)利用数据库查询语言查找与步骤(1)中英文名相同的展馆编号;(3)通过数据库操纵语言UPDATE更新陈列表中符合当前藏品编号记录中的展馆编号和节点编号。

其中,更新数据记录的SQL语句如下:

UPDATE display_relation SET pano_id=$pano,exhall_id=

(SELECT exhall_id FROM exhall_baseinfo WHERE en_name=$hall)

WHERE exh_id=$exh;

XML元數据记录的馆/藏精确位置以4组坐标对表示,四点相连形成闭合四边形,代表了藏品热区的区域范围,更新藏品的精确位置就是重写(数字化)XML文件中的4组坐标对,其步骤如下:

Step 1:读取XML文件内容;

Step 2:输入更新的藏品编号,判断在XML子节点中是否已经存在该藏品的热区。若存在则利用展柜删除XML文件中藏品的原有节点信息,继续Step 2;反之,依次添加4个角点;

Step 3:根据公式1-1和1-2将4个角点的屏幕坐标值转换成三维坐标值;

Step 4:利用藏品名、藏品编号及三维坐标信息等创建藏品热区节点,追加到XML文档中的热区位置;

Step 5:保存更新后的XML文档内容。

2.2.2 图像显示更新

图像显示更新涉及了大量的图形图像处理算法,包括图像的平移、旋转、错切等几何算法、图形的绘制及图像的融合算法等。目前,面向HTML5 Canvas的JavaScript库已经基本满足了在线处理图形图像的要求,相对于其它常用的JavaScript Canvas库,Fabric.js具有功能强大、操作简便、模型对象化、快速输出等优势,选取其作为虚拟博物馆图像显示更新的工具。在Fabric.js插件中,将加载的所有图层看做对象,每个对象都由一个最小矩形包围盒控制,每个包围盒上分布着9个控制点,结合鼠标和键盘按键控制实现对象的平移、旋转、缩放、错切、翻转等变换。

平移:在非控制点范围拖动鼠标,实现对象的平移;

旋转:顺时针或逆时针拉动控制点9,可使对象按顺时针或逆时针旋转;

等比例缩放:鼠标拖动1、3、5、7控制点,对象分別以5、7、1、3控制点为中心等比例缩放;

非等比例缩放:鼠标拖动2、4、6、8控制点,对象分别以当前点所在的边为基线拉伸或缩小;

错切:鼠标拖动2、4、6、8控制点的同时按下SHIFT键,实现对象的错切;

翻转:鼠标拖动2、4、6、8控制点的同时按下ALT键,对象分别以4、8点所在直线和2、6点所在直线翻转。

以藏品编号为MP-511的祖母绿为例,通过操作图像控制点,图像的显示更新过程如图2所示,其中,更新前的藏品、全景图及展柜均以预处理后图像的固有长宽显示。

3 结语

馆/藏之间的映射关系与藏品的存储和更新数据类别的对应,是保证藏品信息数据一致性的基础;Web环境下,采用数据库与在线图像处理技术的结合可以实现虚拟地质博物馆藏品的动态更新。

本次研究解除了藏品与展柜的依赖关系,减低了藏品与展柜的耦合度,避免了复杂的三维建模过程;为非专业的管理人员提供了较为简单的更新接口。此外,采用基于图像的绘制更新方法,最大化地避免了藏品动态变化时场景的重复建设工作,为当前虚拟博物馆的藏品动态更新研究提供了新思路。

参考文献

[1] 朱旦晨,宋桂岭.基于Unreal3的虚拟博物馆系统的实现[J].计算机与现代化,2010(12):48-52.

[2] 李忻悦.博物馆藏品信息化的探索[D].南京师范大学,2014.

[3] 张小朋.博物馆信息化建设的初步探讨[J].智能建筑与城市信息,2004(09):24-28.

[4] 秦国防.基于虚拟现实的数字三维全景技术的研究与实现[D].电子科技大学,2011.

[5] 崔梦林,吴堑虹,邓吉秋.基于Web3D的异构数据存储及通信研究——以湖南省虚拟地质博物馆为例[J].科技视界,2015(24):104-106.

[6] 单旭.异构大数据存储方法研究[D].北京交通大学,2014.

[7] 温浩宇,李京京.大数据时代的数字图书馆异构数据集成研究[J].情报杂志,2013(09):138-141.

[8] 朱文.基于HTML5 Canvas技术的在线图像处理方法的研究[D].华南理工大学,2013.

猜你喜欢

数据存储图像处理藏品
抱朴斋藏品
李杰森藏品
谭礼藏品
基于图像处理的机器人精确抓取的设计与实现
机器学习在图像处理中的应用
罗妍妍藏品欣赏
基于图像处理的定位器坡度计算
Photo Shop通道在图像处理中的应用