壁画图元提取与情节动画交互研究

2022-08-25 09:57解思佳刘志强唐传谦刘晓静
软件导刊 2022年8期
关键词:图元壁画骨骼

解思佳,刘志强,唐传谦,刘晓静

(青海大学计算机技术与应用系,青海西宁 810016)

0 引言

作为中国文化的重要组成部分,壁画现存数量众多,如甘肃敦煌莫高窟共有壁画4.5 万m2,山西永乐宫壁画共约1 000m2等[1]。壁画不仅反映了不同历史时期的习俗、信仰和审美观念等,而且体现了政治、经济、文学等发展水平。壁画多保存在岩石等壁面上,由于环境、气候等多种因素极易被破坏[2]。随着时间更迭,壁画情节内涵因传承断代化已鲜为人知,亟需通过数字化技术对壁画文化进行保护和传承。

近年来,采用计算机动画技术诠释壁画情节为相关文化解读打开了新思路。传统的逐帧动画和补间动画因省略记录中间过渡帧动画而导致动作不流畅、内容匮乏,使观众易产生视觉疲劳。骨骼动画技术作为计算机动画的一个分支,实现了从骨骼变换序列到动画模型网格的仿射关系,达到了以骨架驱动模型产生形变的效果[3],使得动作自然流畅,画面极具表现力。

本文依托对壁画文化的深入剖析,利用骨骼动画技术研究从图像到图元的静态数字化,从单图元到多图元情节动画交互的动态数字化,为壁画的数字化保护和传承提供了新方法,创新了解读传统文化精神密码的方式。

1 相关研究

目前,国家大力倡导文化遗产数字化保护,在壁画方面的数字化保护研究也越来越多,主要集中在壁画图像拼接算法、色彩管理数字化、图像智能修复等方面。例如,陈涛[4]利用虚拟现实技术立体成像的特点以数字化的方式呈现白沙壁画;贾伟加[5]结合三维扫描和数字化技术构建了高仿真克孜尔洞窟立体模型并对洞窟中的壁画进行了高保真图像色彩和拼接处理;刘玮[6]将数字化壁画临摹技术和色彩演变智能模拟技术应用于阳曲县寺庙壁画修复工作中,对壁画图像边缘进行分割,对大区域的壁画图像进行着色和色彩模拟演变处理,取得了较好的修复效果;Ma 等[7]利用虚拟现实等多种技术构建了敦煌文化VR 博物馆;Yang 等[8]利用高精度数字信息采集技术修复和重建了破损壁画的细节和变形之处。然而以上研究主要针对壁画实体进行数字化保护,对于壁画情节数字化方面的研究较为缺乏。

随着骨骼动画技术的快速发展,其应用范围越来越广泛。例如,金文玥[9]将骨骼动画技术应用于灭火救援实验中,实现了三维虚拟教学场景的模拟;王萍[10]将戏曲元素与二维骨骼动画技术相结合,对非物质文化遗产花鼓戏曲的演绎方式进行了创新;谢云飞[11]将骨骼动画技术应用于儿童电子绘本设计中,制作了数字动画刊物《拥抱》。骨骼动画技术为传统艺术带来了全新的数字化演绎形式。本文将壁画文化与骨骼动画技术相结合,通过对壁画文化的深入剖析提取主要图元,构建节点骨骼动画模型,研究单图元到多图元的情节动画交互,以多形式的数字化手段促进壁画文化的源远流长。

2 图元提取

首先对壁画情节进行分析,根据情节特征提取图元信息[12],实现壁画图元的静态数字化。

2.1 情节分析

不同时期、不同地域的文化造就了壁画风格和内涵的迥异[13]。在情节分析阶段,首先以壁画内容为基础,从抽象到具象对其题材进行研究;其次分析壁画中的人物关系、故事情节、图像子元素等;最后从不同角度分析图像子元素之间的关系。图1为壁画情节分析流程。

Fig.1 Flow of mural plot analysis图1 壁画情节分析流程

以《文成公主入藏弘佛图》为例,分析其壁画情节,结果如图2所示。

Fig.2 Plot analysis of Princess Wencheng entering Tibet图2 《文成公主入藏弘佛图》情节分析

2.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所示。

3 节点骨骼动画模型

在完成壁画情节分析和图元提取的基础上,对得到的各个图元进行进一步修复处理,并通过动画骨骼动力系统[15]为图元添加骨架结构,构建节点骨骼动画模型[16],实现壁画实体的静态数字化。

3.1 图元预处理

对提取的破损图元进行图像色彩还原处理,即利用图像中的样本像素信息处理其他色彩受损区域。图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 为图元预处理过程。

3.2 骨骼绑定

为仿真壁画情节,需要对获取的每个图元创建骨架并进行绑定,实现骨骼与图像的关联,完成壁画图元节点骨骼动画模型的构建。主要步骤如下:

(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 骨骼权重调整前后比较

4 多图元交互设计

在对壁画图元进行静态数字化的基础上,通过节点骨骼动画模型和骨骼动画技术完成壁画情节的仿真设计,即动态数字化。

4.1 骨骼动画的数据结构和运动原理

骨骼动画利用骨骼记录物体对象的位移、旋转、缩放等动画信息,对于物体本身则仅记录不同部位的骨骼权重影响,通过控制虚拟骨骼的位置和方向模拟角色的动态效果[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 控制骨骼旋转完成图形向量的变换流程

4.2 动画生成

在对节点骨骼动画模型进行动画生成时,不仅需要采用骨骼关键帧记录骨架节点的形变信息,还需要考虑骨骼之间的父子链接关系,即父骨骼会带动子骨骼运动而子骨骼不会影响父骨骼的运动,且子骨骼相对于父骨骼的坐标为相对坐标。图12为骨骼父子链接关系示意图。

Fig.12 Bone parent-child link relationship图12 骨骼父子链接关系

在动画生成阶段,通过式(3)计算出每根骨骼的相对坐标,利用骨骼关键帧记录每根骨骼的相对坐标,表示为:

式中,Ma为A 骨骼的世界坐标,Mb为B 骨骼的世界坐标,通过逆矩阵计算出A 骨骼相对于B 骨骼的相对坐标Mab。将Mab和Mb代入式(4)可以计算出A 骨骼的世界坐标,表示为:

通过骨骼绑定和封套,将节点骨骼动画模型中的每个网格数据顶点与一个或多个骨骼进行绑定,使得点完全受骨骼的影响。比较顶点动画产生前后的坐标发现,顶点的世界坐标发生了变化,但相对于骨骼的坐标没有发生变化。基于上述方法,在动画生成之前将顶点由模型空间变换到骨骼空间,在动画生成之后将顶点由骨骼空间变换回模型空间,从而计算出顶点产生动画后的世界坐标,完成顶点动画的制作。

一般来说,网格数据顶点受多根骨骼的权重影响,本文假设一个网格顶点受到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 骨骼对顶点的权重影响因子。

4.3 仿真实验

在动画播放阶段,根据时间轴线获得的所有骨骼矩阵解析出骨骼坐标,从而计算出网格顶点的世界坐标,完成对动画的刻画。二维动画的传统制作方式主要为逐帧动画[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 壁画情节内涵仿真

5 结语

本文针对壁画文化的数字化保护问题,通过构建节点骨骼动画模型实现了壁画文化的静态数字化,通过深入剖析壁画情节并结合骨骼动画技术实现了壁画文化的动态数字化。与传统逐帧动画相比,本文通过分析壁画情节进行图元的提取和特征分类,依据图元角色三角面网格特征建立二维骨骼关系,并通过骨架节点与角色模型网格顶点的仿射关系计算顶点的世界坐标完成图元角色的动作刻画,所提出的壁画图元提取以及从单图元到多图元交互的方法实现了壁画情节的多元数字化处理。但本文方法对于图像缺失严重、颜色退化明显的壁画支持度存在一定问题,这将是下一步的研究方向。

猜你喜欢
图元壁画骨骼
敦煌壁画中的消暑妙招
一种组态控件技术在电力监控系统中的运用
做家务的女性骨骼更强壮
三减三健全民行动——健康骨骼
学术出版物插图的编排要求(一):图注
联锁表自动生成软件的设计与实现
壁画上的数学
骨骼和肌肉
帮壁画“治病”