解思佳,劉志強,唐傳謙,劉曉靜
(青海大學計算機技術與應用系,青海西寧 810016)
作為中國文化的重要組成部分,壁畫現存數量眾多,如甘肅敦煌莫高窟共有壁畫4.5 萬m2,山西永樂宮壁畫共約1 000m2等[1]。壁畫不僅反映了不同歷史時期的習俗、信仰和審美觀念等,而且體現了政治、經濟、文學等發展水平。壁畫多保存在巖石等壁面上,由于環境、氣候等多種因素極易被破壞[2]。隨著時間更迭,壁畫情節內涵因傳承斷代化已鮮為人知,亟需通過數字化技術對壁畫文化進行保護和傳承。
近年來,采用計算機動畫技術詮釋壁畫情節為相關文化解讀打開了新思路。傳統的逐幀動畫和補間動畫因省略記錄中間過渡幀動畫而導致動作不流暢、內容匱乏,使觀眾易產生視覺疲勞。骨骼動畫技術作為計算機動畫的一個分支,實現了從骨骼變換序列到動畫模型網格的仿射關系,達到了以骨架驅動模型產生形變的效果[3],使得動作自然流暢,畫面極具表現力。
本文依托對壁畫文化的深入剖析,利用骨骼動畫技術研究從圖像到圖元的靜態數字化,從單圖元到多圖元情節動畫交互的動態數字化,為壁畫的數字化保護和傳承提供了新方法,創新了解讀傳統文化精神密碼的方式。
目前,國家大力倡導文化遺產數字化保護,在壁畫方面的數字化保護研究也越來越多,主要集中在壁畫圖像拼接算法、色彩管理數字化、圖像智能修復等方面。例如,陳濤[4]利用虛擬現實技術立體成像的特點以數字化的方式呈現白沙壁畫;賈偉加[5]結合三維掃描和數字化技術構建了高仿真克孜爾洞窟立體模型并對洞窟中的壁畫進行了高保真圖像色彩和拼接處理;劉瑋[6]將數字化壁畫臨摹技術和色彩演變智能模擬技術應用于陽曲縣寺廟壁畫修復工作中,對壁畫圖像邊緣進行分割,對大區域的壁畫圖像進行著色和色彩模擬演變處理,取得了較好的修復效果;Ma 等[7]利用虛擬現實等多種技術構建了敦煌文化VR 博物館;Yang 等[8]利用高精度數字信息采集技術修復和重建了破損壁畫的細節和變形之處。然而以上研究主要針對壁畫實體進行數字化保護,對于壁畫情節數字化方面的研究較為缺乏。
隨著骨骼動畫技術的快速發展,其應用范圍越來越廣泛。例如,金文玥[9]將骨骼動畫技術應用于滅火救援實驗中,實現了三維虛擬教學場景的模擬;王萍[10]將戲曲元素與二維骨骼動畫技術相結合,對非物質文化遺產花鼓戲曲的演繹方式進行了創新;謝云飛[11]將骨骼動畫技術應用于兒童電子繪本設計中,制作了數字動畫刊物《擁抱》。骨骼動畫技術為傳統藝術帶來了全新的數字化演繹形式。本文將壁畫文化與骨骼動畫技術相結合,通過對壁畫文化的深入剖析提取主要圖元,構建節點骨骼動畫模型,研究單圖元到多圖元的情節動畫交互,以多形式的數字化手段促進壁畫文化的源遠流長。
首先對壁畫情節進行分析,根據情節特征提取圖元信息[12],實現壁畫圖元的靜態數字化。
不同時期、不同地域的文化造就了壁畫風格和內涵的迥異[13]。在情節分析階段,首先以壁畫內容為基礎,從抽象到具象對其題材進行研究;其次分析壁畫中的人物關系、故事情節、圖像子元素等;最后從不同角度分析圖像子元素之間的關系。圖1為壁畫情節分析流程。

Fig.1 Flow of mural plot analysis圖1 壁畫情節分析流程
以《文成公主入藏弘佛圖》為例,分析其壁畫情節,結果如圖2所示。

Fig.2 Plot analysis of Princess Wencheng entering Tibet圖2 《文成公主入藏弘佛圖》情節分析
在確定壁畫情節后,需要對原圖像進行增強處理[14],以提升對比度,便于對圖元進行提取。對原圖像色彩還原的準確性決定了圖元邊緣提取的準確性。因此,本文對原圖像的R、G、B 3個色彩通道分別進行相同的調整運算。
圖像增強算法表示為:


式中,R 表示圖像調整前的R、G、B 分量,R′表示圖像調整后的R、G、B 分量,Sd表示圖像色階的黑場閾值,HL表示圖像色階的白場閾值,Mt為圖像色階的中間調,D為改變整個圖像的色階,pi為改變每一個像素點的色階。
基于原圖像色彩和黑白場閾值的圖像增強算法具體步驟為:

圖3 為圖像增強處理前后對比圖(彩圖掃OSID 碼可見,下同)。

Fig.3 Comparison before and after image enhancement processing圖3 圖像增強處理前后比較
在獲取預處理圖像的亮度和對比度信息后,通過提高前景與背景的對比度細節得到前景圖像的邊緣信息,以完成對各個圖像子元素的圖元提取。具體實現方法如圖4所示。
在完成壁畫情節分析和圖元提取的基礎上,對得到的各個圖元進行進一步修復處理,并通過動畫骨骼動力系統[15]為圖元添加骨架結構,構建節點骨骼動畫模型[16],實現壁畫實體的靜態數字化。
對提取的破損圖元進行圖像色彩還原處理,即利用圖像中的樣本像素信息處理其他色彩受損區域。圖5 為圖像破損修復過程示意圖,其中A 表示圖像色彩未受損區域,B 表示圖像色彩受損區域。在初始化階段,隨機在A 區域選取一個像素塊a,交互式確定以像素塊a 為中心的色彩區域b;在傳遞階段,計算色彩區域b 包含的所有像素信息,并將結果傳遞至色彩受損區域b′;在反向傳播階段,保持b 區域中心點與b′區域中心點之間的距離不變,通過b1′區域的位移計算更新后b1區域的所有像素信息,同時傳遞給b1′區域;在搜索階段,采用隨機像素法以b 區域中的像素塊為中心點,在全圖范圍內隨機搜索新的像素塊區域b2,提取b2區域所有像素信息并覆蓋b2′區域。

Fig.4 Primitives extraction method圖4 圖元提取實現方法

Fig.5 Schematic diagram of image damage repair process圖5 圖像破損修復過程示意圖
以《文成公主入藏弘佛圖》為例對圖元進行特征分類[17],具有生物特征的圖元為文成公主、松贊干布,具有非生物特征的圖元為鎮魔圖、華蓋。對兩類圖元分別進行切片處理[18],提取各部位基礎體,并整體拼接經過處理的圖元各部位,完成對兩類圖元的處理過程。圖6 為圖元預處理過程。
為仿真壁畫情節,需要對獲取的每個圖元創建骨架并進行綁定,實現骨骼與圖像的關聯,完成壁畫圖元節點骨骼動畫模型的構建。主要步驟如下:
(1)確定創建的骨骼類型。具有生物特征的圖元需要結合自然動力學和運動規律創建骨骼,具有非生物特征的圖元則需要結合圖像和動畫風格創建骨骼。
(2)確定骨骼長度。根據圖元大小對骨骼長度進行匹配調整,簡化動畫計算過程。圖7為圖元骨架結構。

Fig.6 Element preprocessing process圖6 圖元預處理過程

Fig.7 Element skeleton structure圖7 圖元骨架結構
(3)調整動畫模型網格頂點和布線。完成骨骼結構的添加后,通過骨骼位置和模型三角面網格頂點位置建立骨骼與頂點之間的仿射關系以完成骨骼綁定[19]。在該過程中會產生位置和數量錯誤的網格頂點,需要交互式調整網格點和布線,使模型網格數據點正確依附在骨架節點上。圖8為網格數據點和布線調整前后比較。

Fig.8 Comparison of grid data points and wiring before and after adjustment圖8 網格數據點和布線調整前后比較
(4)設置骨骼權重。為使骨骼能驅動動畫模型產生移動、旋轉和縮放等形變,需要對動畫模型進行權重調整。通過設置骨骼權重對動畫模型的每個部位進行封套[20],使其能被骨骼驅動產生形變。當部分位置鄰近的骨骼權重分布重合或影響部位錯誤時,會導致動畫模型產生非正常的扭曲形變,此時需調整動畫模型網格數據點和骨架節點的權重重新進行封套,使模型中所有網格節點正確地依附在骨架節點上。圖9為骨骼權重調整前后比較。

Fig.9 Comparison of bone weight before and after adjustment圖9 骨骼權重調整前后比較
在對壁畫圖元進行靜態數字化的基礎上,通過節點骨骼動畫模型和骨骼動畫技術完成壁畫情節的仿真設計,即動態數字化。
骨骼動畫利用骨骼記錄物體對象的位移、旋轉、縮放等動畫信息,對于物體本身則僅記錄不同部位的骨骼權重影響,通過控制虛擬骨骼的位置和方向模擬角色的動態效果[21],使得動畫動作更具真實感。不同于傳統動畫,骨骼動畫通過記錄骨骼及其權重實現了物體對象與動畫的分離,節省了資源容量。節點骨骼動畫模型創建的骨架模型為鉸鏈式結構,一般包括骨骼和關節兩類元素。圖10 為骨架結構示意圖。
對初始設定的骨架結構中每根骨骼定義一個骨骼空間的蒙皮矩陣Mi,使得骨骼從世界坐標系轉換到骨架坐標系中,旋轉了θ角度后的骨骼坐標可以由另一個骨骼空間的旋轉矩陣表示??紤]到節點骨骼動畫模型的一個網格數據頂點受唯一的第i根骨骼權重影響,采用式(2)計算出由初始綁定姿勢的網格數據頂點S(x,y,z)旋轉θ角度后得到的變換頂點W(x′,y′,z′):

式中,Mi’為第i根骨骼空間的旋轉矩陣,Mi-1為骨骼空間的綁定姿勢矩陣,即骨骼空間模型矩陣的逆矩陣。利用Mi的逆矩陣將初始點S 由世界坐標變換到骨骼坐標空間,再采用Mi’通過旋轉角度θ變換回世界坐標系,以完成對W頂點的位置求解。圖11為該變換流程。

Fig.10 Skeleton structure diagram圖10 骨架結構示意圖

Fig.11 Flow of controlling the bone rotation to complete the transformation process of graphics vector圖11 控制骨骼旋轉完成圖形向量的變換流程
在對節點骨骼動畫模型進行動畫生成時,不僅需要采用骨骼關鍵幀記錄骨架節點的形變信息,還需要考慮骨骼之間的父子鏈接關系,即父骨骼會帶動子骨骼運動而子骨骼不會影響父骨骼的運動,且子骨骼相對于父骨骼的坐標為相對坐標。圖12為骨骼父子鏈接關系示意圖。

Fig.12 Bone parent-child link relationship圖12 骨骼父子鏈接關系
在動畫生成階段,通過式(3)計算出每根骨骼的相對坐標,利用骨骼關鍵幀記錄每根骨骼的相對坐標,表示為:

式中,Ma為A 骨骼的世界坐標,Mb為B 骨骼的世界坐標,通過逆矩陣計算出A 骨骼相對于B 骨骼的相對坐標Mab。將Mab和Mb代入式(4)可以計算出A 骨骼的世界坐標,表示為:

通過骨骼綁定和封套,將節點骨骼動畫模型中的每個網格數據頂點與一個或多個骨骼進行綁定,使得點完全受骨骼的影響。比較頂點動畫產生前后的坐標發現,頂點的世界坐標發生了變化,但相對于骨骼的坐標沒有發生變化?;谏鲜龇椒ǎ趧赢嬌芍皩㈨旤c由模型空間變換到骨骼空間,在動畫生成之后將頂點由骨骼空間變換回模型空間,從而計算出頂點產生動畫后的世界坐標,完成頂點動畫的制作。
一般來說,網格數據頂點受多根骨骼的權重影響,本文假設一個網格頂點受到A 骨骼和B 骨骼的權重影響,如圖13所示。

Fig.13 Schematic diagram of vertices affected by the weight of two bones圖13 頂點受兩根骨骼權重影響示意圖
在動畫生成之前,頂點的世界坐標為S(x,y,z)。為計算出動畫生成后頂點的世界坐標W(x′,y′,z′),首先需要計算出頂點在動畫生成后在A 骨骼完全影響下的世界坐標Mwa,以及在B 骨骼完全影響下的世界坐標Mwb。式(5)為Mwa的計算公式,式(6)為Mwb的計算公式。

式中,Ms為頂點運動前的世界坐標,M0a為頂點運動前世界坐標轉換為相對A 骨骼的相對坐標,Ma1為頂點運動后相對A 骨骼的相對坐標轉換為的世界坐標。

式中,M0b為網格頂點在運動前世界坐標轉換為相對B骨骼的相對坐標,Mb1為頂點運動后相對B 骨骼的相對坐標轉換為的世界坐標。
考慮到不同骨骼對節點骨骼動畫模型網格數據頂點的影響權重不同,將上式計算出的Mwa和Mwb代入式(7)計算出一個網格頂點受兩根骨骼影響下動畫產生后的世界坐標,表示為:

式中,x1為A 骨骼對頂點的權重影響因子,x2為B 骨骼對頂點的權重影響因子。
在動畫播放階段,根據時間軸線獲得的所有骨骼矩陣解析出骨骼坐標,從而計算出網格頂點的世界坐標,完成對動畫的刻畫。二維動畫的傳統制作方式主要為逐幀動畫[22],即在每幀給壁畫圖元預先設定動作并進行擺放,使用補間幀動畫的方法完成壁畫圖元的情節仿真。逐幀動畫要求制作者熟練掌握運動學原理,以確保制作出的動畫符合人體運動規律,該方式呈現的動畫效果流暢度不高且只能制作位移動畫,制作過程需要耗費大量時間。圖14為基于逐幀動畫的壁畫圖元情節刻畫,主要呈現的是壁畫圖元關鍵幀的動畫制作。圖15 為采用本文方法制作的壁畫圖元情節刻畫。本文方法花費時間較少,且動畫效果相對流暢,能夠呈現出更多動作細節。

Fig.14 Mural element plot simulation based on frame-by-frame animation圖14 基于逐幀動畫的壁畫圖元情節刻畫

Fig.15 Mural element plot portrayal based on the method of this paper圖15 基于本文方法的壁畫圖元情節刻畫
基于對《文成公主入藏弘佛圖》壁畫情節和節點骨骼動畫模型類型的分析,在動作刻畫階段記錄骨骼關鍵幀,在動畫生成階段以時間軸線為基礎計算骨骼矩陣生成頂點的世界坐標,完成對壁畫情節的動態數字化。實驗平臺配置:操作系統為Windows10,中央處理器為Intel Core i7-9700,內存大小為16GB。圖16 為壁畫情節內涵仿真示意圖,可以看出本文方法成功實現了壁畫情節的動態數字化,相較于傳統逐幀動畫制作方法能夠呈現更多動作細節且更為流暢,更能體現壁畫的情節內涵。


Fig.16 Mural plot connotation simulation圖16 壁畫情節內涵仿真
本文針對壁畫文化的數字化保護問題,通過構建節點骨骼動畫模型實現了壁畫文化的靜態數字化,通過深入剖析壁畫情節并結合骨骼動畫技術實現了壁畫文化的動態數字化。與傳統逐幀動畫相比,本文通過分析壁畫情節進行圖元的提取和特征分類,依據圖元角色三角面網格特征建立二維骨骼關系,并通過骨架節點與角色模型網格頂點的仿射關系計算頂點的世界坐標完成圖元角色的動作刻畫,所提出的壁畫圖元提取以及從單圖元到多圖元交互的方法實現了壁畫情節的多元數字化處理。但本文方法對于圖像缺失嚴重、顏色退化明顯的壁畫支持度存在一定問題,這將是下一步的研究方向。