基于Kinect的人体-皮影交互体验装置设计

2022-05-26 07:39张紫然宋文芳张祖耀
广东工业大学学报 2022年3期
关键词:关节点左臂体感

张紫然,宋文芳,张祖耀

(1. 广东工业大学 艺术与设计学院, 广东 广州 510090;2. 浙江理工大学 艺术与设计学院, 浙江 杭州 310000)

皮影戏作为我国民间传统的艺术形式,凭借独特的傀儡艺术和重要的表演形式被列入中国首批非物质文化遗产名单。然而在现代化发展道路上,皮影戏深受现代新娱乐方式的冲击,呈现演出市场疲软、后继无人、萎缩甚至消亡的局面。皮影戏具有重要的艺术和文化传承价值,皮影戏的现代化创新发展是急需探索的重要课题[1-2]。

目前,市场上传播皮影文化的方式主要有3类:戏团表演、皮影形象定制包和皮影数字产品的推广。近年来,随着皮影等传统艺术再次受到关注,皮影戏团表演陆续增加场次,但是收效甚微[3]。皮影形象定制包为市场上最常见的形式,其包括皮影人、操纵杆和演出戏台,这些装备使用户可以独立进行皮影戏表演创作,在体验中加深对皮影文化的理解。然而,这种方式需要用户熟练掌握皮影表演技巧,而大多数用户并不能灵活操作皮影[4]。目前出现的皮影数字产品,如AR(Augmented Reality)皮影书和皮影视觉感网游等,通过视觉或者视触觉结合的方式增强了皮影体验的沉浸性和趣味性,有效促进皮影文化的保护与传承[5-7]。

本文提出一种基于Kinect的人体-皮影交互体验装置设计,该装置中的皮影表演可由人体肢体动作控制,从而增强了人体和皮影之间的互动性。Kinect体感设备可以通过深度信息和RGB信息实现人体骨骼追踪,并建立人体各个骨骼关节点的三维坐标,目前被广泛应用于操作控制、手语识别和三维动作实时动态识别等方面(机械臂抓取和移送等)[8-16]。本文提出的装置通过Kinect捕捉人体动作,发出指令到安装于皮影关节处的舵机,由舵机控制皮影模仿人体运动。最后,以人体左臂运动为例,通过左臂运动角度与舵机运动角度对比,验证装置仿人运动的准确性和灵敏性。

1 实验方法

1.1 人体-皮影交互体验装置设计思路

人体-皮影交互体验装置的原理是通过Kinect体感设备(内置人体骨骼点读取程序)采集人体运动关节点坐标并构建人体关节模型[17-21],由装置自定义程序将关节点坐标数据转换为旋转角度,并将该角度数据传输至Arduino,由Arduino控制安装在皮影关节上的舵机模仿人体运动(见图1)。值得注意的是由于人肢体运动为圆周运动,因此这里选择舵机控制皮影。另外,角度数据的输出以s为单位,实现皮影和人体的同步运动。

图1 人体-皮影交互体验装置的设计思路Fig.1 The design concept of the human-shadow play interactive experience device

1.2 装置皮影控制点选择及设计

传统皮影形态是基于真人形态来设计的,如图2(a)所示。传统皮影在操控中存在原位运动和同步的位移,即皮影在进行原地动作的同时,可以被控制杆带动在幕布上进行位置移动。为控制其运动,皮影至少存在5个可旋转点(橙色点),3个固定关节点(蓝色点)以及5个与控制杆相连的控制点(绿色点),如图2(a)所示。相应地,需要5根控制杆操纵皮影四肢及头部的运动,如图2(b)所示。

图2 传统皮影控制点示意图及操作图Fig.2 The control points and operation diagram of the traditional shadow play

确定皮影控制方法后,需要选择互动装置的皮影控制点,以保证其与人体运动关节点的匹配,并且选择的点必须能够安装皮影运动的舵机。本装置采用的Kinect V1 体感设备(Microsoft, USA),可以识别人体20处骨骼关节点并对关节点的运动进行追踪,如图3(a)和3(b)所示[18]。图3(c)中的红色点为传统皮影控制所需的13个骨骼点,分别为头部、脖子、肩部中心、左肘关节、右肘关节、左腕骨、右腕骨、脊柱、髋部中心、左膝关节、右膝关节、左脚踝关节、右脚踝关节。

图3 装置中皮影控制点及舵机安装点Fig.3 The control points and steering engine installation points of the interactive device

图3(d)展示的是在图3(c)基础上进行调整后的皮影关节控制点(15个控制点),即以肩部中心向两侧扩展了左肩关节点和右肩关节点(蓝色点为左肩关节点和右肩关节点),以髋部中心向两侧扩展了左髋关节点和右髋关节点(橙色为左髋关节点和右髋关节点),另外,头部和颈部关节点合并为1个关节点(绿色为头部点)。图3(e)中蓝色点为舵机安装关节点,分别为左肩关节点、右肩关节点、肩部中心、左肘关节、右肘关节、髋部中心、左髋关节点、右髋关节点、左膝关节、右膝关节,以控制皮影四肢及头部的运动。

确定皮影的基本控制点后开始进行皮影形象设计。传统皮影在表现人物形态时为了最大程度地呈现动作变化和人物特征,采用了全侧头部、3/4侧上半身和正面下身的组合,见图4(a)。然而,人体-皮影交互体验装置在控制皮影时,因为人的视觉习惯以及视线范围的限制,人体需要正面面向体感设备,因此设备读取的也是人体正面骨骼点的位置数据,这需要对传统皮影形态进行重新设计。该装置皮影头面部由原来的全侧形象改为3/4侧面,这样既保留了头部大部分特征又不会造成人和皮影头面部运动的不一致现象,如人面部的左右转动在皮影上表现为点头运动。另外,皮影上半身和下半身采用正面形象,这样可以保证皮影实现人体动作的同时,也较大程度上保留了形象特点,如图4(b)所示。图4(c)为安装舵机的皮影示意图。

图4 皮影设计线稿示意图Fig.4 The line drawing diagram of the shadow play

1.3 人体-皮影互动体验装置软件设计

图5为人体-皮影互动体验装置的软件控制流程图。首先将Kinect体感设备与电脑端通讯接口相连,安装Visio studio环境,启动Kinect for Windows SDK V1程序与TCP客户端。接着由Kinect PV1库示例代码中的骨骼追踪程序采集人体各个关节点数据信息。然后采用C语言编写1个上位机以读取选择好的人体关节点的坐标数据,并在显示屏界面显示,建立人体节点数据模型,数据通过TCP传输到Phython,由Phython计算出舵机控制皮影肢体运动所需要的旋转角度,并传送至Arduino。最后由Arduino发出指令控制舵机运动。另外,安装与Arduino相连的显示屏(LCD 1 602)以同步观察舵机的旋转度数。

图5 装置运行流程图Fig.5 Operation flow chart of the device

其中Kinect输入的关节点数据与舵机转动角度之间需要转换。人体相邻的3个关节点均可构成一个三角形,运动时,可以计算各夹角变化以控制皮影关节点的舵机运动。以左臂运动为例(A点为左肩点,B点为左肘关节点,C点为左腕骨点,如图6所示),当左上臂在人体冠状面内运动时(肩部维持原位置不动),B点则以A为圆心进行圆周运动,同理,左前臂运动时,C点则围绕B点进行圆周运动。左上臂与人体垂直轴的夹角α以及左上臂与左前臂的夹角β的具体计算过程如下。

图6 左臂关节点及关节角度变化示意图Fig.6 The diagram of the joint points and the angle changes of the left arm

(1) Kinect捕捉到的左肩点A、左肘关节B和左手手腕C坐标点分别为(xA,yA), (xB,yB)和(xC,yC)。以B为原点,进行坐标变换,对应位置A',B'和C'的坐标为(xA-xB,yA-yB), (0, 0)和(xC-xB,yC-yB),如图6所示。

(2)α和β的计算公式如式(1)~(2)所示。

1.4 装置测试

本文以人体左臂运动为例,测试Kinect体感设备控制系统的准确性和灵敏性。图7(a)和7(b)分别为人体-皮影交互体验装置工作流程和软件界面图。将Kinect体感设备与电脑、皮影装置相连接,并启动Kinect体感设备。然后,电脑界面会显示出一个识别界面,并且界面右侧会出现实时的关节点坐标数据。当受试者完全进入Kinect体感设备照射范围后,自行调整位置以确保要选取的关节点数据被完整读取。当数据读取成功时,软件界面会显示选取好的身体关节点(以蓝色圆圈标注),同时,右侧会显示每个关节点的坐标,如图7(b)所示。实验人员在电脑屏幕上同步观察进入Kinect投射范围内的人体是否完整,并确认需要采集的人体关节点数量以及采集情况。完成上述步骤后,开始进行舵机跟随人体运动的准确性测试。这里选择舵机而非皮影能更准确地进行对比。另外,同步对人体运动和舵机运动进行录像。

图7 人体-皮影交互体验装置工作流程和软件界面图(以左臂运动为例)Fig.7 The workflow and software interface diagrams of the bodyshadow play interactive experience device (taking the movement of the left arm as an example)

图8(a)和图8(b)为人体左上臂和人体左下臂的皮影关节处舵机的运动状态示意图。在测试过程中,人体正对Kinect体感设备,肩部保持不动,左臂在人体冠状面内运动,在此基础上,计算左上臂围绕人体垂直轴的旋转角度、左前臂和左上臂的夹角以及对应的舵机角度。另外,计算舵机跟随人体关节运动的准确度,如式(3)所示。

图8 舵机跟随人体左臂的运动状态图Fig.8 The movement of the steering engine following that of the human left arm

式中:A为准确度,β为舵机旋转角度,θ为人体肢体旋转角度。

2 实验结果与分析

实验结束后,将人体运动录像和装置皮影舵机运动录像进行同步播放,并对比每个动作下左上臂和左肘关节点转动的角度。

表1为左上臂围绕人体垂直轴的旋转角度、左前臂和左上臂的夹角变化、对应舵机角度变化以及舵机跟随人体左臂运动的准确度。可以发现,皮影左臂的控制舵机跟随人体左臂运动的准确度为96.6%~99.8%,具有较高的准确度和灵敏度。

表1 皮影左臂关节处舵机跟随人体左臂运动的准确度Table 1 Accuracy of the steering engine installed at the left arm of the shadow play following the movement of human left arm

3 总结

本研究提出了一种基于Kinect体感设备的人体-皮影交互体验装置。该装置利用Kinect体感设备采集人体骨骼点,建立人体关节模型,通过计算将人体关节模型中各个关节坐标点的运动数据变化转化为皮影关节处舵机所需要的角度,随后发送至Arduino,由Arduino向皮影发出动作指令,控制舵机运动。以人体左臂运动为例,通过测试发现皮影左臂处的舵机跟随人体左臂运动的准确度为96.6%~99.8%,证明了该装置具有较高准确性和灵敏度。另外,该装置具备较强的互动性和趣味性且操作简单,有利于人们在体验中更好地理解和传承皮影文化。

未来研究将进一步改善和开发该装置,考虑人体更加复杂的运动,如肢体在三维空间的运动和整体位置移动等。同时,进行用户体验现场测量,从主观和客观上对装置进一步验证及评价。

猜你喜欢
关节点左臂体感
基于关节点数据关注RGB视频的双人交互行为识别
体感交互技术在脑卒中康复中的应用
基于人体行为模型的跌倒行为检测方法①
三个小动作练反应
结构化:向儿童思维更深处漫溯
引入体感控制技术推动校园足球发展
蝴蝶仙女
王天海诗选
电动车体感防盗系统
独臂人