廖珊 蔡杏琳 韓盈盈 吳塹虹
摘 要:針對虛擬博物館藏品動態(tài)更新無法與前臺展示同步及數據一致性難以保障的問題,本文以湖南省地質博物館為例,采用Pano2vr提供的二次開發(fā)接口,研究了展館與藏品之間的數據關聯(lián),制定了數據庫存儲、文件存儲和XML元數據相結合的數據存儲方案,研究了在Web環(huán)境下的動態(tài)更新藏品的圖像處理和數據一致性保障技術,提出了數據庫與圖像幾何變換相融合的解決思路,探討了基于圖像繪制的虛擬博物館藏品動態(tài)更新的實現(xiàn)方案。
關鍵詞:藏品;動態(tài)更新;數據存儲;圖像處理
中圖分類號:TP391 文獻標識碼:A 文章編號:1671-2064(2019)15-0034-03
0 引言
目前,展館與藏品的虛擬展示依舊是虛擬博物館建設的重心,但虛擬博物館的建設多由專業(yè)團隊進行,在建設完成后虛擬博物館如何與實體博物館場景和藏品的任何變化同步常會因缺乏專業(yè)技術人員而難以進行。因此探討實體與虛擬的之間的信息互聯(lián),實現(xiàn)二者信息互動是實現(xiàn)實體博物館和虛擬博物館數據和顯示的一致和同步性的基礎。本文以湖南省地質博物館為例,結合Pano2vr API的XML解譯接口,根據博物館館/藏之間的關系,對虛擬博物館的藏品動態(tài)更新進行研究,并設計出符合全景博物館的藏品動態(tài)更新技術。
1 館/藏關聯(lián)關系
虛擬博物館藏品的動態(tài)更新與實體博物館藏品的信息更新或位置移動有關。藏品與博物館展館之間是依賴關聯(lián)關系,這種關系主要表現(xiàn)在二者空間相對關系,它決定了不同視覺角度下藏品在展館中的位置。這種空間相對依賴關系模型是動態(tài)實現(xiàn)web端的虛擬聯(lián)動響應來的關鍵。
1.1 基礎數據關聯(lián)
在信息世界中,實體內部和實體之間都是有聯(lián)系的,實體內部聯(lián)系是實體屬性之間的聯(lián)系;實體間的聯(lián)系是指不同實體集間的關聯(lián),虛擬地質博物館和藏品是最重要的兩個實體集。展館實體包含展館ID、展館名、展館描述等屬性信息,藏品實體有展品ID、展品名、出產地、長、寬、高、價格、描述、圖片路徑、模型路徑、音頻路徑、視頻路徑等信息,展館與藏品以1:n的陳列關系關聯(lián),陳列關系包含了藏品在展館中的節(jié)點位置。
為了提高數據庫應用系統(tǒng)性能,盡量消除各屬性之間的相互依賴關系,提前為藏品或展館信息更新預留空間,藏品和展館數據存儲如表1-表3所示。
1.2 空間位置關系
基礎數據涵蓋了展館和藏品實體的屬性信息和非結構化數據的路徑信息,但卻缺乏對館/藏的空間精確位置信息的描述,由于藏品動態(tài)更新除了屬性數據更新外,更重要的是同步顯示虛擬博物館中3D藏品在展館中位置變化。
通過球狀投影坐標轉換獲得虛擬博物館場景二維靜態(tài)全景圖,藏品實體動態(tài)更新是對藏品位置調整,實現(xiàn)展館/藏品的空間位置關系的重新定義和顯示。
全景圖囊括了以視點為中心的三維空間中所有實體的映射圖像,藏品數據更新時,根據圖像在線處理的工作區(qū)是與全景圖范圍相同的瀏覽器可視區(qū)域建立其二維坐標系,定義坐標原點為可視區(qū)域的左上角,X軸為水平方向,Y軸為垂直方向。
任意一件藏品的位置都能以四邊形的4個頂點(Xi,Yi)表示,其中i=1,2,3,4,則藏品坐標可表示為:
(Xi,Yi)=(pageXi,pageYi);
以Pano2vr坐標系為基準,在二維靜態(tài)圖中定義直角坐標系。其中,pan表示像機平搖量,等同于X軸,取值范圍是[0,360°];tilt表示相機俯仰角,等同于Y軸,取值范圍是[-90°,90°],fov表示相機視角,等同于Z軸,取值范圍是[0,120°],默認值是70°,Pano2vr坐標系統(tǒng)下表示藏品范圍的任一點坐標為:
(Xi,Yi,Zi)=(pani,tilti,fovi);
三維藏品動態(tài)更新時,通過全景圖關聯(lián)屏幕坐標和Pano2vr坐標實現(xiàn)二維坐標向三維坐標系轉換,其計算公式如(1)、(2):
pani= (1)
tilti=90-*90(pageYi∈[0,H]) (2)
(pageXi,pageYi)表示第i個頂點相對于瀏覽器展示區(qū)域左上角的偏移量,W和H分別代表全景圖的寬度和高度。
2 館/藏更新技術
博物館藏品的動態(tài)更新包括基礎數據和空間位置兩部分,該過程中保障藏品異構數據的一致性和完整性是非常重要的,采用數據庫技術和圖像處理技術相融合存儲的方式保證藏品更新過程中其相關數據的完整和一致。
2.1 異構數據存儲
虛擬博物館的數據主要分為兩類:一類是文本組成的基礎數據,采用關系數據庫存儲;一類是以圖像、多媒體、文件等組成的非結構化數據,選擇數據庫與文件庫集成的方式進行存儲。藏品動態(tài)更新過程中位置信息是展館和藏品的紐帶,二者間的配置是正確顯示二者關鍵信息,藏品動態(tài)更新所涉及的數據包括基礎數據、非結構化數據、位置和配置信息,對其的存儲采用圖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的陳列關系關聯(lián),陳列關系中包含了藏品在展館中的節(jié)點位置(大致方位),根據陳列關系建立二者間的關系模型:
DISPLAY(EXH_ID,EXHALL_ID,PANO_ID);
動態(tài)更新藏品時,利用數據庫操縱語言對數據表中的屬性和路徑數據進行增(INSERT)、刪(DELETE)、改(UPDATE)、查(SELECT)操作。更新藏品的基礎屬性信息時,以藏品關系表的EXH_ID和EXHALL_ID與陳列關系表DISPLAY 相關聯(lián),查詢或修改藏品的基本信息、路徑信息和陳列節(jié)點信息等,從而更新藏品的屬性和粗略位置信息等。
2.1.2 文件數據庫
相對于結構化數據,非結構化數據不方便直接通過數據庫的二維邏輯表進行存儲,卻可以采用二進制的形式存入。但這種方案存在以下不足:第一,二進制流轉換速度受文件大小和網絡通信速度影響,存儲和加載速度不穩(wěn)定性;第二,編碼和解碼的過程占用CPU空間,易造成線程阻塞;第三,無法對非結構化數據的數據集進行二進制流轉換和存儲。
針對二進制流存儲的不足,采用文件數據庫存儲非結構化數據,并通過關系數據庫中的路徑來維護藏品數據的一致性,在關系數據庫中記錄非結構化數據的路徑信息,在文件庫存放這些數據,關系數據庫與文件庫間通過路徑字段關聯(lián)。當新增或修改非結構化數據時,首先通過插入或更新編輯數據庫中的屬性字段,然后根據路徑字段檢索文件目錄,若目標目錄下文件存在則重寫文件內容,若不存在則創(chuàng)建目錄并將文件拷貝到該目錄下。
2.1.3 XML數據庫
根據位置的定義往往按照從粗略到精細、從大到小的順序逐步定位的原理,按照“展館→場景→實體三維坐標”的順序對虛擬博物館中的展館和藏品實體位置進行描述。
展館、場景、視角、節(jié)點及藏品之間彼此關聯(lián),一個展館包含多個場景,一個場景中有且僅有一個默認視角和一個漫游節(jié)點,但可以陳列多個藏品。結合位置定義,規(guī)定展館中某實體精確位置的表達模型為:
(EXHALL_ID,PANO_ID,(ENTITY_ID,PAN,TILT,F(xiàn)OV));
其中,EXHALL_ID指展館編號;PANO_ID是場景編號;ENTITY_ID是實體編號;PAN,TILT,F(xiàn)OV分別代表攝像機平搖、俯仰、視場角。
由上述表達模型可知,存儲位置信息分為兩部分:一是粗略位置,由展館ID、場景ID和實體ID組成;二是精確位置,由攝像機的三要素確定。對于粗略位置信息,采用關系數據庫存儲,如表1-表3所示。實體的精確位置由幾組坐標對(pani,tilti,fovi)表示,不適宜采用數據庫存儲,配置信息是以鍵值對描述的信息參數,亦不適合采用關系數據庫存儲。
XML作為描述數據的元語言,可以根據自己的目的靈活定義標記。本文設計的館/藏XML元數據庫以node為層級,層次化展館節(jié)點、默認視角、熱點、熱區(qū)及藏品的坐標位置、名稱等信息,通過Pano2vr API提供的XML接口,精確解析出藏品的精確位置和展館的參數信息,供虛擬博物館動態(tài)調取展示。
2.2 館/藏信息更新
藏品的更新涉及顯示信息及位置數據的變動,顯示信息的變動實際是藏品相對于場景的相對位置的變動;位置數據的變動是指基礎位置和精確位置的變動。因此,將虛擬博物館中藏品三維數據的動態(tài)更新歸納為基于藏品數據的位置信息更新和圖像顯示更新。從圖形學的角度,顯示更新通過位置移動和幾何變換將場景、展柜、藏品圖像進行重組與融合;從幾何學的角度,數據更新是通過數字化藏品獲取并記錄不規(guī)則圖形的坐標位置。
2.2.1 位置信息更新
藏品的位置包括基礎位置和精確位置,因此,藏品三維數據在位置信息方面的更新指的是對基礎位置和精確位置的更新。
關系數據庫記錄了藏品位于展館的節(jié)點位置,即基礎位置,但卻未記錄其精確坐標,通過XML元數據庫,以node節(jié)點定義藏品位置的vertex標簽,并以(pani,tilti,fovi)坐標記錄藏品位于展館的節(jié)點精確位置。因此動態(tài)更新藏品位置信息就是對數據庫的節(jié)點信息和XML文件庫中的藏品位置屬性vertex進行同步更新。
數據庫節(jié)點信息更新步驟如下:
(1)通過XML文件獲取當前展館的英文名和節(jié)點編號;(2)利用數據庫查詢語言查找與步驟(1)中英文名相同的展館編號;(3)通過數據庫操縱語言UPDATE更新陳列表中符合當前藏品編號記錄中的展館編號和節(jié)點編號。
其中,更新數據記錄的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組坐標對表示,四點相連形成閉合四邊形,代表了藏品熱區(qū)的區(qū)域范圍,更新藏品的精確位置就是重寫(數字化)XML文件中的4組坐標對,其步驟如下:
Step 1:讀取XML文件內容;
Step 2:輸入更新的藏品編號,判斷在XML子節(jié)點中是否已經存在該藏品的熱區(qū)。若存在則利用展柜刪除XML文件中藏品的原有節(jié)點信息,繼續(xù)Step 2;反之,依次添加4個角點;
Step 3:根據公式1-1和1-2將4個角點的屏幕坐標值轉換成三維坐標值;
Step 4:利用藏品名、藏品編號及三維坐標信息等創(chuàng)建藏品熱區(qū)節(jié)點,追加到XML文檔中的熱區(qū)位置;
Step 5:保存更新后的XML文檔內容。
2.2.2 圖像顯示更新
圖像顯示更新涉及了大量的圖形圖像處理算法,包括圖像的平移、旋轉、錯切等幾何算法、圖形的繪制及圖像的融合算法等。目前,面向HTML5 Canvas的JavaScript庫已經基本滿足了在線處理圖形圖像的要求,相對于其它常用的JavaScript Canvas庫,F(xiàn)abric.js具有功能強大、操作簡便、模型對象化、快速輸出等優(yōu)勢,選取其作為虛擬博物館圖像顯示更新的工具。在Fabric.js插件中,將加載的所有圖層看做對象,每個對象都由一個最小矩形包圍盒控制,每個包圍盒上分布著9個控制點,結合鼠標和鍵盤按鍵控制實現(xiàn)對象的平移、旋轉、縮放、錯切、翻轉等變換。
平移:在非控制點范圍拖動鼠標,實現(xiàn)對象的平移;
旋轉:順時針或逆時針拉動控制點9,可使對象按順時針或逆時針旋轉;
等比例縮放:鼠標拖動1、3、5、7控制點,對象分別以5、7、1、3控制點為中心等比例縮放;
非等比例縮放:鼠標拖動2、4、6、8控制點,對象分別以當前點所在的邊為基線拉伸或縮小;
錯切:鼠標拖動2、4、6、8控制點的同時按下SHIFT鍵,實現(xiàn)對象的錯切;
翻轉:鼠標拖動2、4、6、8控制點的同時按下ALT鍵,對象分別以4、8點所在直線和2、6點所在直線翻轉。
以藏品編號為MP-511的祖母綠為例,通過操作圖像控制點,圖像的顯示更新過程如圖2所示,其中,更新前的藏品、全景圖及展柜均以預處理后圖像的固有長寬顯示。
3 結語
館/藏之間的映射關系與藏品的存儲和更新數據類別的對應,是保證藏品信息數據一致性的基礎;Web環(huán)境下,采用數據庫與在線圖像處理技術的結合可以實現(xiàn)虛擬地質博物館藏品的動態(tài)更新。
本次研究解除了藏品與展柜的依賴關系,減低了藏品與展柜的耦合度,避免了復雜的三維建模過程;為非專業(yè)的管理人員提供了較為簡單的更新接口。此外,采用基于圖像的繪制更新方法,最大化地避免了藏品動態(tài)變化時場景的重復建設工作,為當前虛擬博物館的藏品動態(tài)更新研究提供了新思路。
參考文獻
[1] 朱旦晨,宋桂嶺.基于Unreal3的虛擬博物館系統(tǒng)的實現(xiàn)[J].計算機與現(xiàn)代化,2010(12):48-52.
[2] 李忻悅.博物館藏品信息化的探索[D].南京師范大學,2014.
[3] 張小朋.博物館信息化建設的初步探討[J].智能建筑與城市信息,2004(09):24-28.
[4] 秦國防.基于虛擬現(xiàn)實的數字三維全景技術的研究與實現(xiàn)[D].電子科技大學,2011.
[5] 崔夢林,吳塹虹,鄧吉秋.基于Web3D的異構數據存儲及通信研究——以湖南省虛擬地質博物館為例[J].科技視界,2015(24):104-106.
[6] 單旭.異構大數據存儲方法研究[D].北京交通大學,2014.
[7] 溫浩宇,李京京.大數據時代的數字圖書館異構數據集成研究[J].情報雜志,2013(09):138-141.
[8] 朱文.基于HTML5 Canvas技術的在線圖像處理方法的研究[D].華南理工大學,2013.