林玉婷 吳保國
(北京林業(yè)大學(xué)信息學(xué)院,北京 100083)
全景漫游技術(shù)是一種基于真實(shí)場景的虛擬現(xiàn)實(shí)技術(shù),其實(shí)現(xiàn)方法是用相機(jī)360°拍攝一組照片,拼接成全景圖像,從而實(shí)現(xiàn)實(shí)時、全方位、可交互的全景漫游。因?yàn)槿皥D是利用實(shí)拍照片生成的,所以它具有建模容易、高度真實(shí)感的優(yōu)勢,同時全景漫游系統(tǒng)又具有良好的交互性。數(shù)字標(biāo)本館是信息技術(shù)發(fā)展的產(chǎn)物,是將各種標(biāo)本轉(zhuǎn)化為數(shù)字化信息并存儲起來通過計(jì)算機(jī)技術(shù)進(jìn)入到標(biāo)本館中,而且能在網(wǎng)絡(luò)化的環(huán)境中被本地和遠(yuǎn)程用戶存取,還能通過復(fù)雜的和一體化的自動控制系統(tǒng)為用戶提供先進(jìn)的、自動化的服務(wù)[1]。由于標(biāo)本館中展廳眾多,因此在數(shù)字標(biāo)本館中應(yīng)用全景漫游技術(shù),可以對標(biāo)本館進(jìn)行全面真實(shí)的展示。另外,全景漫游技術(shù)還可以添加一定的交互效果,增強(qiáng)用戶體驗(yàn)的效果。
近年來,對全景漫游技術(shù)的研究比較多,這種基于圖像的繪制技術(shù)(IBR:image-based-rendering)因可以大幅降低建模難度而受到人們越來越多的關(guān)注。其中對全景漫游算法進(jìn)行研究的有基于柱面模型的ADPW多媒體全景漫游平臺[2]、基于球面模型的X3D下的全景漫游算法[3]等。對全景漫游技術(shù)在系統(tǒng)中應(yīng)用進(jìn)行研究的有全景漫游技術(shù)在虛擬校園中的應(yīng)用[4]、蕪湖長江大橋多媒體全景漫游[5]等。近年來我國數(shù)字標(biāo)本館、數(shù)字博物館的建設(shè)也取得了長足進(jìn)展,建成了以數(shù)字故宮為代表的國家級數(shù)字博物館、各省級數(shù)字博物館、高校數(shù)字博物館、專題數(shù)字博物館等。在林業(yè)系統(tǒng)中,建成的樹木學(xué)數(shù)字標(biāo)本館較少,最有代表性的是中國植物數(shù)字標(biāo)本館,在建成的樹木學(xué)數(shù)字標(biāo)本館中還未見對全景漫游技術(shù)進(jìn)行應(yīng)用的。本文給出了北京林業(yè)大學(xué)樹木學(xué)數(shù)字標(biāo)本館的功能結(jié)構(gòu)和數(shù)據(jù)庫設(shè)計(jì)。
北京林業(yè)大學(xué)樹木學(xué)數(shù)字標(biāo)本館,旨在構(gòu)建一個對樹木標(biāo)本和標(biāo)本館內(nèi)部景觀進(jìn)行全面的網(wǎng)絡(luò)虛擬展示,使用戶可以同步學(xué)習(xí)相關(guān)樹木學(xué)知識的虛擬場所。在設(shè)計(jì)上遵循了安全性、可擴(kuò)展性和易操作性的原則。
為滿足多用戶在任意時間、任意地點(diǎn)同時使用的需求,并同時保證系統(tǒng)具有較好的穩(wěn)定性和反饋速度,系統(tǒng)采用瀏覽器/服務(wù)器體系結(jié)構(gòu),用戶可通過瀏覽器訪問樹木學(xué)數(shù)字標(biāo)本館,而樹木學(xué)數(shù)字標(biāo)本館的系統(tǒng)安裝在服務(wù)器上,數(shù)據(jù)庫由數(shù)據(jù)庫管理系統(tǒng)統(tǒng)一管理,體系結(jié)構(gòu)圖見圖1。
圖1 樹木學(xué)數(shù)字標(biāo)本館體系結(jié)構(gòu)
在設(shè)計(jì)北京林業(yè)大學(xué)樹木學(xué)數(shù)字標(biāo)本館功能時,筆者充分考慮不同用戶各種層次需求,集成了樹木學(xué)標(biāo)本的各種相關(guān)信息,為用戶提供全面的展示和信息。北京林業(yè)大學(xué)樹木學(xué)數(shù)字標(biāo)本館功能主要包括:標(biāo)本管理、館體展示、科普教育、實(shí)習(xí)林場地圖展示等,功能結(jié)構(gòu)圖如圖2所示。①標(biāo)本管理功能。它是數(shù)字標(biāo)本館的基本功能,該功能對北京林業(yè)大學(xué)樹木學(xué)標(biāo)本館內(nèi)各類標(biāo)本進(jìn)行數(shù)字化展示及管理。②館體展示功能。采用全景漫游技術(shù),使參觀者通過網(wǎng)絡(luò)實(shí)現(xiàn)對標(biāo)本館的虛擬參觀。③科普教育功能。它的目的是使參觀者在瀏覽數(shù)字標(biāo)本的同時了解對應(yīng)物種的相關(guān)知識。④地圖展示功能。它是為了將數(shù)字標(biāo)本與標(biāo)本物種的實(shí)地生長狀況相結(jié)合,增加用戶的體驗(yàn)效果。⑤其他功能。主要包括數(shù)據(jù)批量添加和系統(tǒng)后臺管理。
圖2 樹木學(xué)數(shù)字標(biāo)本館功能結(jié)構(gòu)
北京林業(yè)大學(xué)樹木學(xué)數(shù)字標(biāo)本館數(shù)據(jù)庫包含標(biāo)本信息表、物種知識表、林場數(shù)據(jù)表、用戶表等,其主要的關(guān)系表結(jié)構(gòu)如下:①標(biāo)本信息表存儲實(shí)物標(biāo)本的各種信息,存儲的信息類別有標(biāo)本信息、保存信息、采集信息、物種信息等。標(biāo)本信息表關(guān)系結(jié)構(gòu)如下:標(biāo)本信息表(標(biāo)本號、標(biāo)本屬性、標(biāo)本等級、標(biāo)本來源、鑒定日期、保存位置、保存方式、產(chǎn)地、海拔、采集日期、生境、采集人、采集編號、物種編號…),主鍵是標(biāo)本號。②物種知識表存儲不同物種的信息,包括物種編號、物種名、物種的分類信息、物種的特性及用途等。物種知識表與標(biāo)本信息表通過物種編號建立一對一的聯(lián)系。物種知識表關(guān)系結(jié)構(gòu)如下:物種知識表(物種編號、中文名、學(xué)名、門、綱、目、科、屬、鑒別特征、形態(tài)描述、地理分布、保護(hù)等級…),主鍵是物種編號。其他關(guān)系表在此不詳細(xì)闡述。
為保證數(shù)據(jù)庫的安全性,在系統(tǒng)中設(shè)置2個用戶角色:第一個為普通用戶角色,只有讀取數(shù)據(jù)的權(quán)限;第二個為管理員角色,可以增加、刪除、修改數(shù)據(jù),管理員角色還設(shè)置IP判別功能。數(shù)據(jù)庫的查詢使用可通過存儲過程實(shí)現(xiàn),這樣一方面可以提高查詢效率,另一方面可以提高安全性。
在全景漫游技術(shù)中需要解決的關(guān)鍵問題主要有:全景圖的生成、漫游空間編輯、多個漫游空間的切換、全景漫游系統(tǒng)的后臺管理等。其中全景圖的生成是全景漫游系統(tǒng)的基礎(chǔ),在很多文獻(xiàn)中都提到了全景圖的生成方法[6-7],全景圖的生成方法可分為軟件生成和算法生成2大類。
1.軟件生成全景圖
采用全景圖處理軟件生成全景圖是一種比較簡單的方法,將拍攝好的照片輸入軟件內(nèi),選擇相應(yīng)的模型,就可生成全景圖。目前許多軟件都提供了全景圖生成功能,如PTGui、COOL 360等軟件。筆者在該研究中使用COOL 360軟件對拍攝的照片進(jìn)行了處理,在進(jìn)行處理時需要注意幾個問題。首先,在處理的圖片中相鄰圖片有15%的重合;其次,輸入圖片時盡量按照順序輸入,以減少后期調(diào)整的難度。筆者通過實(shí)際應(yīng)用發(fā)現(xiàn),利用該軟件生成全景圖后感覺拼接效果不太理想,圖片的邊界處理不夠細(xì)致,不能滿足樹木學(xué)數(shù)字標(biāo)本館全景圖的要求。因此,筆者采用圓柱體模型投影算法對圖片進(jìn)行預(yù)處理,再用PTGui軟件進(jìn)行拼接的方法生成全景圖。
2.算法生成全景圖
投影算法生成全景圖的主要步驟為:①計(jì)算柱面投影模型的投影算法;②編程實(shí)現(xiàn)該算法并對每一張?jiān)磮D像進(jìn)行投影處理;③利用支持特征點(diǎn)直觀選擇的PTGui軟件對投影后的圖片進(jìn)行拼接得到全景圖。
(1)柱面投影模型
由于用相機(jī)拍攝的圖片是真實(shí)場景在平面上的投影,而柱面全景圖要表現(xiàn)真實(shí)場景的柱面投影,因此在進(jìn)行圖像拼接前首先要將真實(shí)場景投影到一個假想圓柱面上,該圓柱的半徑為相機(jī)的焦距。將相機(jī)的焦距設(shè)為R,平面圖片的寬度和高度分別設(shè)為W、H,張角設(shè)為θ,平面圖和柱面投影圖的關(guān)系可以用圖3表示。對平面上的任一點(diǎn)Q(x,y,z),它在柱面上的投影為 P(x′,y′,z′),2者之間的關(guān)系可以用公式1表示。
圖3 平面圖與柱面投影圖的關(guān)系
(2)投影算法的軟件實(shí)現(xiàn)及照片預(yù)處理
用Visual C++6.0編程實(shí)現(xiàn)上面的投影算法,對每一張圖片分別進(jìn)行投影處理。處理過程為:打開一幅圖片→對該圖片運(yùn)行算法程序→獲得并保存投影后的圖片。
(3)處理后的圖片拼接
筆者采用PTGui軟件經(jīng)柱面投影模型的投影算法處理后的一組圖片進(jìn)行拼接,并生成全景圖。圖片拼接的實(shí)質(zhì)是將相鄰2幅圖像的重疊部分盡可能地對齊,主要方法是找到相鄰2幅圖片的特征點(diǎn),計(jì)算2個對應(yīng)特征點(diǎn)間的變換矩陣,根據(jù)該矩陣對整幅圖片進(jìn)行拼接。PTGui軟件提供了較直觀的特征點(diǎn)選取截面,并根據(jù)選擇的特征點(diǎn)計(jì)算轉(zhuǎn)換矩陣,從而自動完成圖片的拼接。拼接步驟為:啟動軟件→輸入源圖像→調(diào)整圖像順序→為相鄰圖片選取特征點(diǎn)→系統(tǒng)拼接生成全景圖→輸出并保存圖像。
采用算法生成的全景圖和采用軟件生成的全景圖效果對比如圖4所示,其中上圖為用算法生成的全景圖,下圖為用軟件生成的全景圖。通過對比可以看出算法生成的全景圖在邊緣處理上較細(xì)致,擬合效果更好。
圖4 算法生成的全景圖與軟件生成的全景圖對比
生成全景圖后,還需要對全景圖進(jìn)行一定的后期編輯,以達(dá)到更好的用戶體驗(yàn)效果。目前有很多對全景圖進(jìn)行編輯的軟件,其中Pano2VR軟件是應(yīng)用比較多的。該軟件可以對生成的全景圖添加熱點(diǎn)鏈接和聲音效果等,并將全景圖轉(zhuǎn)換為Flash格式或QuickTime格式。將全景圖轉(zhuǎn)換為Flash格式(waiguan.swf文件)后,將生成的Flash文件嵌入到樹木學(xué)數(shù)字標(biāo)本館中。
北京林業(yè)大學(xué)樹木學(xué)數(shù)字標(biāo)本館充分考慮了用戶對樹木標(biāo)本的各種信息需求,提供了藏品展示、館體展示、科普學(xué)習(xí)、林場地圖等多種功能,能夠?yàn)橛脩籼峁┤娴膱D文并茂的信息及展示,使用戶在瀏覽標(biāo)本的同時能夠?qū)W習(xí)到相關(guān)的知識。將全景漫游技術(shù)應(yīng)用于數(shù)字標(biāo)本館領(lǐng)域,使用戶可以通過網(wǎng)絡(luò)對標(biāo)本館進(jìn)行虛擬參觀,用戶認(rèn)為北京林業(yè)大學(xué)樹木學(xué)數(shù)字標(biāo)本館場景真實(shí)、體驗(yàn)效果好。
[1]陳三茂,田曄林.21世紀(jì)植物標(biāo)本館的發(fā)展方向——數(shù)字植物標(biāo)本館[J].北京農(nóng)學(xué)院學(xué)報(bào),2003,18(3):208-210.
[2]李新華,萬壽紅,韋穗,等.基于柱面的多媒體全景漫游[J].計(jì)算機(jī)工程,2004,30(23):127-128.
[3]曾濤,戴余良,程剛,等.非跳躍式全景漫游算法及在X3D下的實(shí)現(xiàn)[J].系統(tǒng)仿真技術(shù),2008,4(4):266-271.
[4]楊琳,趙建民,朱信忠,等.虛擬校園三維全景漫游技術(shù)研究[J].計(jì)算機(jī)工程與科學(xué),2007,29(10):26-28.
[5]李新華,阮宗才,韋穗.蕪湖長江大橋多媒體全景漫游[J].系統(tǒng)仿真學(xué)報(bào),2001(增刊2):490-492.
[6]唐俊,趙為民,谷峰,等.基于魚眼圖像的全景漫游模型[J].微機(jī)發(fā)展,2003,13(2):69-70.
[7]方賢勇,喬曉軍,潘志庚.蔬菜基地全景漫游系統(tǒng)[J].計(jì)算機(jī)工程與應(yīng)用,2003(16):46-48.