CN108628455B - 一种基于触摸屏手势识别的虚拟沙画绘制方法 - Google Patents
一种基于触摸屏手势识别的虚拟沙画绘制方法 Download PDFInfo
- Publication number
- CN108628455B CN108628455B CN201810454070.2A CN201810454070A CN108628455B CN 108628455 B CN108628455 B CN 108628455B CN 201810454070 A CN201810454070 A CN 201810454070A CN 108628455 B CN108628455 B CN 108628455B
- Authority
- CN
- China
- Prior art keywords
- touch
- sand
- point
- coordinate
- sand painting
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/017—Gesture based interaction, e.g. based on a set of recognized hand gestures
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/048—Interaction techniques based on graphical user interfaces [GUI]
- G06F3/0487—Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser
- G06F3/0488—Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser using a touch-screen or digitiser, e.g. input of commands through traced gestures
- G06F3/04883—Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser using a touch-screen or digitiser, e.g. input of commands through traced gestures for inputting data by handwriting, e.g. gesture or text
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V40/00—Recognition of biometric, human-related or animal-related patterns in image or video data
- G06V40/20—Movements or behaviour, e.g. gesture recognition
- G06V40/28—Recognition of hand or arm movements, e.g. recognition of deaf sign language
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2203/00—Indexing scheme relating to G06F3/00 - G06F3/048
- G06F2203/01—Indexing scheme relating to G06F3/01
- G06F2203/012—Walk-in-place systems for allowing a user to walk in a virtual environment while constraining him to a given position in the physical environment
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Human Computer Interaction (AREA)
- General Physics & Mathematics (AREA)
- Physics & Mathematics (AREA)
- General Health & Medical Sciences (AREA)
- Social Psychology (AREA)
- Psychiatry (AREA)
- Multimedia (AREA)
- Health & Medical Sciences (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Processing Or Creating Images (AREA)
Abstract
本发明属于虚拟沙画绘制方法技术领域,具体涉及一种基于触摸屏手势识别的虚拟沙画绘制方法。本发明主要为解决真实沙画绘制受限于经费,师资力量、设备等因素,目前沙画表演的教学与介绍多为小规模的培训班模式,培训学习费用较为昂贵,且由于需要专业的绘制设备,导致难于练习,相较于传统绘画,其参与门槛较高,推广较为困难的问题。本发明利用PQ Labs G4S触摸屏获取触摸位置信息,分析接触类沙画绘制手势,构建图形结构描述手势特征,采用图嵌入方法将其描述为特征向量进而对触摸手势进行分类识别,同时结合Unity3D强大的渲染功能,以像素模拟沙粒构建沙画绘制笔刷,最终实现虚拟沙画的绘制。
Description
技术领域
本发明属于虚拟沙画绘制方法技术领域,具体涉及触摸屏手势分类识别和触摸式虚拟沙画绘制交互。
背景技术
虚拟现实技术(Virtual Reality,VR)是一种可以创建和体验虚拟世界的计算机技术,是以沉浸性(Immersion)、交互性(Interaction)和构想性(Imagination)为基础特征的计算机高级人机界面。它利用计算机生成一种虚拟环境,通过模拟实际情况从而对人的触觉、听觉、视觉等感觉器官进行影响,使人能沉浸在计算机生成的虚拟世界中。同时还可借助传感头盔、运动捕捉系统、数据手套等专业设备,使用户进入虚拟空间,实时感知和操作虚拟环境中的对象。
人机交互作为虚拟现实技术的核心之一,肩负着提升用户沉浸体验和系统真实性的任务。且随着虚拟现实技术、图形技术和计算机硬件的发展,有越来多的虚拟仿真应用需求随之产生,进而相应的对更高层次的人机交互需求也孕育而生,在历经批处理界面、命令行界面、图形用户界面等交互界面后,人机交互已开始逐步向以用户为核心,满足用户体验需要的自然用户界面(Natural User Interface,NUI)发展。用户在新的交互方式中,不必再拘泥于传统鼠标键盘的方式操控电脑,取而代之以动作,手势等方式即可完成指令的输入与识别。触摸屏作为实现人机交互的一种新的方式,具有更加简便的操作指令,更加快捷的操作方式以及多点同时操作的优势,使用户在需要触摸的仿真类应用上获得更加真实的体验。
沙画表演作为一种“以沙为墨,用指代笔”的新型视觉艺术表现形式,通过将中国画与油画的艺术特点加以融合,使用音乐与光效为绘制过程增添效果,从而给人们带来全方位的艺术享受。沙画表演根据主题的不同,其呈现的作品时而具体写实,时而抽象迷幻,可向观众传达不同的思想。沙画创作的主要形式为作画者使用自己的双手在舞台灯箱上控制细沙进行绘画,在表演前根据绘画的主题确定创作思路,用类似连环画的形式将每幅图画连成一个整体,最终将绘制与表演的过程投影到大屏幕上展示给观众。这种特殊新颖的表演形式,与其他艺术表现形式相比更具活力与感染力。
目前沙画表演的教学与介绍多为小规模的培训班模式,培训学习费用较为昂贵,且由于需要专业的绘制设备,导致难于练习,相较于传统绘画,其参与门槛较高,推广较为困难。同时,国内外绘画仿真主要集中于水墨画,版画等传统绘画形式,对沙画这种新颖的绘画形式研究较少。现有的沙画绘制也是基于小型触屏设备的开发,其绘制方式与绘制效果与真实沙画有一定差距。
发明内容
本发明的目的是解决实体沙画表演教学及练习受限于经费,师资力量、设备等技术问题,提出一种基于触摸屏手势识别的虚拟沙画绘制方法。
为解决上述技术问题,本发明采用的技术方案为:
一种基于触摸屏手势识别的虚拟沙画绘制方法,包括以下步骤:
1)数据采集:将PQ Labs G4S触摸屏与显示器相粘合,连接触摸屏至计算机确保触摸数据能够正确传输;通过TUIO协议在Unity3D中对触摸数据进行接收,依据触摸点识别ID将触摸产生的时间,位置,活动状态分别接收存储,然后将其封装为Unity3D触摸事件;
2)数据处理:对触摸事件在三维场景内生成的实例化触点进行坐标轴对齐、坐标偏差修正处理;
3)手势描述:根据真实沙画绘制时的接触类绘制手法,结合触摸屏操作和Unity3D引擎处理特点,将模拟手势定义为手指单点与多点抹沙、手掌抹沙、手掌铺沙;使用图形建模的方式描述不同手势的特征;
4)手势识别:采用图嵌入方法构建不同模拟绘制手势的特征向量,依据特征向量建立手势数据库,使用触摸屏采集触摸位置与库中手势进行匹配,从而完成对模拟绘制手势进行分类识别;
5)虚拟沙画笔刷构建:根据真实沙画绘制效果,采用像素模拟真实沙粒的方法构建沙画绘制笔刷,依照手指抹沙和手掌抹沙、铺沙绘制特点,使用shader渲染实时赋予画板材质,从而对沙画绘制进行效果模拟;
6)沙画绘制:结合触摸手势与绘制笔刷实现触摸屏虚拟沙画的绘制。
进一步,所述步骤2)中对触摸事件在三维场景内生成的实例化触点进行坐标轴对齐的方法为:
采用如下公式对齐二者坐标原点:
(x,y,z)=(x′,1-y′,z′)×R
R为坐标转换矩阵,W为相机渲染宽度camera Width,H为相机渲染高度cameraHight;
坐标偏差修正方法为:将实际触摸位置与实例化触摸点位置导入MATLAB,采用线性拟合方法对二者进行拟合,依据如下公式对偏差进行修正:
更进一步,所述步骤3)中,使用图形建模的方式描述不同手势的特征,将这一过程分为开始,中间与结束三部分,每个触摸点采用具有相同编号的顶点进行描述,采用边缘Bs(x,y)作为描述同一触摸点的位置变化关系,使用边缘Ast(x,y,t)描述不同触摸点间的相对位置关系,包括相对x位置、相对y位置和时序关联,下标s代表测量顶点间的距离,t为测量顶点间时序,Vs代表开始点,Vm为中间点,Ve为结束点;在描述绘制手势时,通过将点与点的位置关系Relative_X(R_X)和Relative_Y(R_Y)描述其在空间位置上的差异,通过时间关系Relative_T(R_T)描述不同点的触摸顺序,将三者对应到边缘关系Ast(x,y,t)={R_X,R_Y,R_T};对于单独触摸点的边缘描述B,其作用在于识别同一触摸点的坐标变化,只需其与将单一触摸点的x坐标与y坐标的位移向关联可得单一顶点的位置关系Bs(x,y)。
再进一步,所述步骤4)中,采用图嵌入方法构建不同模拟绘制手势的特征向量的具体方法为:采用图嵌入的方法对手势模型图结构进行特征向量转化,依据触摸点数量的不同选择五个子结构,即分别对应一到五个触摸点时的情况组成的矩阵的列,每个结构将涉及以下几部分内容:(1)顶点与顶点的相对关系:图结构中的边缘A将包括开始、中间和结束三处的相对x位置,相对y位置以及相对t时间,即每组A关系拥有9个相对关系标签;(2)每个触摸点自身位置变化关系:图结构中的边缘B将包含开始与结束两处的x位置变化,y位置变化,再加上时间标签,即单点自身位移B关系拥有6个描述标签;同时加入聚类标签,最终在经过图嵌入后将产生长度为148的特征向量。
再进一步,所述步骤5)中根据真实沙画绘制效果,采用像素模拟真实沙粒的方法构建沙画绘制笔刷的具体方法为:(1)手指抹沙与勾沙笔刷:预制一个圆环绘制方法并将其颜色渲染为c1,每当触摸坐标更新时在新的位置调用该圆环绘制方法;通过一个字典类记录每一次的触摸信息作为该圆环的中心坐标,取5个记录之前的坐标作为上一位置的坐标B,将当前坐标A减去B获得触点的位置偏移向量V,通过计算V与Y轴的夹角确定圆环边缘像素渲染方向,在对应方向上渲染c2颜色的半个圆环;由于堆积方向总位于前进方向上,在绘制未结束时,采用覆盖渲染的方式用c1不断的将c2覆盖获得绘制结果;勾沙笔刷的实现采用上述相同步骤,区别在于笔刷半径的不同;(2)手掌抹沙笔刷:使用c1渲染预制一个矩形区域,通过另外两指触摸确定抹沙区域宽度,使用字典类记录位置方法确定像素模拟沙粒堆积的方向,同时依据索引量自增模拟大面积的抹沙沙粒堆积的厚度,并在抹除位置的边缘,依据索引数量增加像素渲染量;(3)手掌铺沙笔刷:采用高斯分布模拟铺沙时沙粒分布的规律,预制一个铺沙区域,将区域中心作为原点,以区域边界到原点的距离作为变量dis,将一半区域划分为六个部分,依此划分模拟沙粒在不同位置的下落概率,该下落过程为:
取距离dis作为边界上限,将每个区域的边界作为下落分界点,依照公式各区域计算下落概率P,用P乘像素密度基数T=30×dis,根据触摸确定绘制边界,在边界按上述公式向区域内分布,并在内部随机选取一点为原点向两侧分布,同时使用T除以密度修正变量D=0.05×(8+j)模拟沙粒由密到疏的效果,j为自增变量。
本发明采用以上技术方案,利用PQ Labs G4S触摸屏获取触摸信息,根据真实沙画绘制过程中接触类绘制手法,有针对性的选择手指单点与多点抹沙,手掌铺沙,手掌抹沙手势,采用图形建模的方式,将绘制过程分为开始、中间、结束三部分,通过判断多触摸点间对应的时间和空间关系描述相应手势特征,并通过图嵌入的方法将其转化为特征向量以供手势识别。同时采用像素模拟沙粒效果进行相应手势的绘制笔刷设计开发,结合两者完成虚拟沙画创作。本发明采用触摸屏进行沙画模拟绘制:与真实沙画相比,两者操作具有一定相似性,且本发明具有较为便捷和低成本的优势,并且触摸跟踪效果稳定,能够很好地用于虚拟沙画绘制系统中。
附图说明
图1是本发明流程图;
图2是产生坐标偏差原理图;
图3是手掌抹沙建模图结构;
图4是三指抹沙建模图结构;
图5是手指抹沙绘制笔刷效果图;
图6是手掌抹沙绘制笔刷效果图;
图7是手掌铺沙笔刷构建原理图;
图8是绘制成果展示图。
具体实施方式
本实施例中的一种基于触摸屏手势识别的虚拟沙画绘制方法,包括以下步骤:
1)数据采集:将PQ Labs G4S触摸屏与显示器相粘合,连接触摸屏至计算机确保触摸数据能够正确传输;通过TUIO协议在Unity3D中对触摸数据进行接收,依据触摸点识别ID将触摸产生的时间,位置,活动状态分别接收存储,然后将其封装为Unity3D触摸事件;
具体实施过程为:使用USB 2.0接口将PQ Labs G4S触摸屏与计算机连接,通过品奇数码官方网站下载对应的多点触控驱动PQ Labs platform,该驱动支持TUIO协议,任何基于TUIO协议的多点触摸开发应用程序都可通过此驱动获取触摸信息,同时将TUIO协议引入Unity3D,其提供的API将从触摸屏获取触摸点的标识ID,位置,时间,活动状态等几类数据,当发生触摸事件时,可通过TouchEvent类将上述信息封装为Unity3D识别的触摸事件。
2)数据处理:对触摸事件在三维场景内生成的实例化触点进行坐标轴对齐、坐标偏差修正处理;
坐标轴对齐:经TUIO协议传输的坐标数据取值范围为[0,1],而在Unity3D中渲染视口的坐标取值范围是0到视口的宽度与高度,若直接使用触摸信息坐标,实例化的触摸点几乎不会产生移动。因此为实现两者的坐标转换,需解决如下问题:(1)坐标缩放:由于两者具有线性关系,可将[0,1]取值范围的触摸坐标放大为对应的视口渲染范围;(2)变换坐标原点:触摸屏的触摸坐标的原点位于屏幕左上角,视口坐标的原点位于屏幕左下角。
触摸事件在三维场景内生成的实例化触点进行坐标轴对齐的方法为:
采用如下公式对齐二者坐标原点:
(x,y,z)=(x′,1-y′,z′)×R
R为坐标转换矩阵,W为相机渲染宽度camera Width,H为相机渲染高度cameraHight;
坐标偏差修正:在经过坐标转换后,由于Unity3D渲染机制的限制,其二维视口坐标始终无法完全与触摸屏坐标对齐,且由于触摸屏坐标取值范围为[0,1],即触摸位置相对于整个屏幕的比例位置,经过转换到视口坐标时则会变成实例化触摸点相对于视口的位置。用黑色圆环代表实际触摸位置,灰色圆环代表实例化触摸点位置,由于是向两者中心缩小的关系,这一偏差现象在远离放缩基点(灰点)时会更加明显,甚至会出现手指已经移出视口但实例化触摸点仍距离视口边缘有一定的距离如图中ACD点(见附图2)。
坐标偏差修正方法为:将实际触摸位置与实例化触摸点位置导入MATLAB,采用线性拟合方法对二者进行拟合,依据如下公式对偏差进行修正:
经拟合后,可在正确位置实例化触摸图标,经反比对比测试,当阶数更大时,会造成明显的坐标抖动,影响直线触摸效果;当阶数较小时,对偏差修正的效果不够理想,因此选择4阶拟合,在经过拟合之后可看到实际触摸位置与表示实例化触摸点的白色圆环已重合,触摸位置可准确识别。
3)手势描述:根据真实沙画绘制时的接触类绘制手法,结合触摸屏操作和Unity3D引擎处理特点,将模拟手势定义为手指单点与多点抹沙、手掌抹沙、手掌铺沙;使用图形建模的方式描述不同手势的特征;
在触控式沙画手势建模时,主要应考虑触摸点的数量以及不同触摸点间空间和时间信息,根据不同触摸点的数量先将手势进行第一次分类,然后在触点数量相同的手势中通过不同触摸点的空间位置关系可以对触摸手势进行分类建模(分类结果见表1)。
表1依据触摸点数量的绘制手势分类
使用图形建模的方式描述不同手势的特征,将这一过程分为开始,中间与结束三部分,每个触摸点采用具有相同编号的顶点进行描述,采用边缘Bs(x,y)作为描述同一触摸点的位置变化关系,使用边缘Ast(x,y,t)描述不同触摸点间的相对位置关系,包括相对x位置、相对y位置和时序关联,下标s代表测量顶点间的距离,t为测量顶点间时序,Vs代表开始点,Vm为中间点,Ve为结束点;在描述绘制手势时,通过将点与点的位置关系Relative_X(R_X)和Relative_Y(R_Y)描述其在空间位置上的差异,通过时间关系Relative_T(R_T)描述不同点的触摸顺序,将三者对应到边缘关系Ast(x,y,t)={R_X,R_Y,R_T};对于单独触摸点的边缘描述B,其作用在于识别同一触摸点的坐标变化,只需其与将单一触摸点的x坐标与y坐标的位移向关联可得单一顶点的位置关系Bs(x,y)。
以同样使用3个触摸点的手掌抹沙和三指抹沙绘制为例:在手掌抹沙手势模型当中,touch1与touch2仅作为手掌抹沙特征使用,其位置与距离相对固定,touch3与两者的距离关系是判定抹沙位置的依据,通过将其Relative_X(R_X)和Relative_Y(R_Y)对应到边缘关系Ast中来描述三点在空间位置上的差异,作为抹沙特征的两个触摸点touch1与touch2同时进行,作为提供渲染坐标依据的touch3可随时加入,将其对应到边缘关系Ast(x,y,t)={R_X,R_Y,R_T}。对于单独触摸点的边缘描述B,其主要用于识别同一触摸点的坐标变化,只需其与将单一触摸点的x坐标与y坐标的位移向关联可得单一顶点的位置关系Bs(x,y)(见附图3)。
在三指抹沙手势模型中:建模过程具体差别体现在其所描述的各触摸点相对位置关系,touch1、2、3三个触摸点都将进行同向运动,且在初始和结束位置的差异并没有较大的变化,同样将其Relative_X(R_X)和Relative_Y(R_Y)对应到边缘关系Ast,触摸点的相对空间位置将与手掌抹沙具有显著差异,由此可在空间关系上对二者加以区分。在时间关系中也有一定的差异,在进行三指抹沙时,三个触摸点通常会同时开始同时结束,这一特征又显著区别与手掌抹沙手势,将其添加到顶点间时间关系Relative_T(R_T)中再将其对应到边缘关系Ast。通过对比两种绘制手势建模图结构在边缘关系描述上的差异可知:手掌抹沙touch3并不需要与touch2进行时间描述,因此其边缘A仅需描述空间关系,即下标只有s,其时间关系特征用0占位,而三指抹沙将时间关系关联到touch3与touch2的边缘A,所以下标是st。此外在三指抹沙进行的过程中,三个触摸点行进方向应相同,因此三者在图结构中顺序对应一致(见附图4)。
4)手势识别:采用图嵌入方法构建不同模拟绘制手势的特征向量,依据特征向量建立手势数据库,使用触摸屏采集触摸位置与库中手势进行匹配,从而完成对模拟绘制手势进行分类识别;
采用图嵌入方法构建不同模拟绘制手势的特征向量的具体方法为:采用图嵌入的方法对手势模型图结构进行特征向量转化,依据触摸点数量的不同选择五个子结构,即分别对应一到五个触摸点时的情况组成的矩阵的列,每个结构将涉及以下几部分内容:(1)顶点与顶点的相对关系:图结构中的边缘A将包括开始、中间和结束三处的相对x位置,相对y位置以及相对t时间,即每组A关系拥有9个相对关系标签;(2)每个触摸点自身位置变化关系:图结构中的边缘B将包含开始与结束两处的x位置变化,y位置变化,再加上时间标签,即单点自身位移B关系拥有6个描述标签;同时加入聚类标签,最终在经过图嵌入后将产生长度为148的特征向量。
手势数据库由5人进行输入,每人输入六组绘制手势,其中五组用于训练,一组用于识别检测,采用k均值算法对5人输入的相同手势进行聚类,并将聚类结果添加作为聚类标签加入子结构(见表2)。
表2不同数量触摸点子结构标签个数
由表2可知第一个子结构的长度为14,第二个为20,最终在经过图嵌入后将产生长度为14+20+29+38+47=148的特征向量。通过支持向量机对手势进行分类,本课题将主要使用LIBSVM作为分类依据,采用高斯径向基函数作为SVM的核函数,利用网格搜索方法调整分类器参数并用网格划分RBF参数空间。运用样本手势特征向量进行训练,最终部分绘制手势识别效果见表3。
表3绘制手势部分识别效果
分析识别率数据可以看出,单指触摸由于不具备其他干扰因素,且描述关系与其他手势具有较大差异,从而具有较高的正确率,而在多指触摸时,随着参与触摸点个数的增加,会逐渐加大识别难度,导致正确率降低。同样对于复杂手势的详细特征描述也会一定程度上影响识别的正确率。
5)虚拟沙画笔刷构建:根据真实沙画绘制效果,采用像素模拟真实沙粒的方法构建沙画绘制笔刷,依照手指抹沙和手掌抹沙、铺沙绘制特点,使用shader渲染实时赋予画板材质,从而对沙画绘制进行效果模拟;
根据真实沙画绘制效果,采用像素模拟真实沙粒的方法构建沙画绘制笔刷的具体方法为:(1)手指抹沙与勾沙笔刷:预制一个圆环绘制方法并将其颜色渲染为c1,每当触摸坐标更新时在新的位置调用该圆环绘制方法;通过一个字典类记录每一次的触摸信息作为该圆环的中心坐标,取5个记录之前的坐标作为上一位置的坐标B,将当前坐标A减去B获得触点的位置偏移向量V,通过计算V与Y轴的夹角确定圆环边缘像素渲染方向,在对应方向上渲染c2颜色的半个圆环;由于堆积方向总位于前进方向上,在绘制未结束时,采用覆盖渲染的方式用c1不断的将c2覆盖获得绘制结果(见附图5);勾沙笔刷的实现采用上述相同步骤,区别在于笔刷半径的不同;(2)手掌抹沙笔刷:使用c1渲染预制一个矩形区域,通过另外两指触摸确定抹沙区域宽度,使用字典类记录位置方法确定像素模拟沙粒堆积的方向,同时依据索引量自增模拟大面积的抹沙沙粒堆积的厚度,并在抹除位置的边缘,依据索引数量增加像素渲染量(见附图6);(3)手掌铺沙笔刷:采用高斯分布模拟铺沙时沙粒分布的规律,预制一个铺沙区域,将区域中心作为原点,以区域边界到原点的距离作为变量dis,将一半区域划分为六个部分,依此划分模拟沙粒在不同位置的下落概率,该下落过程为:
取距离dis作为边界上限,将每个区域的边界作为下落分界点,依照公式各区域计算下落概率P,用P乘像素密度基数T=30×dis,根据触摸确定绘制边界,在边界按上述公式向区域内分布,并在内部随机选取一点为原点向两侧分布,同时使用T除以密度修正变量D=0.05×(8+j)模拟沙粒由密到疏的效果,j为自增变量(见附图7)。
6)沙画绘制:结合触摸手势与绘制笔刷实现触摸屏虚拟沙画的绘制。
绘制过程与真实沙画具有一定的相似性,绘制过程流畅,仿真效果较好,最终可完成沙画作品创作(见附图8)。
Claims (4)
1.一种基于触摸屏手势识别的虚拟沙画绘制方法,其特征在于:包括以下步骤:
1)数据采集:将PQLabsG4S触摸屏与显示器相粘合,连接触摸屏至计算机确保触摸数据能够正确传输;通过TUIO协议在Unity3D中对触摸数据进行接收,依据触摸点识别ID将触摸产生的时间,位置,活动状态分别接收存储,然后将其封装为Unity3D触摸事件;
2)数据处理:对触摸事件在三维场景内生成的实例化触点进行坐标轴对齐、坐标偏差修正处理;
3)手势描述:根据真实沙画绘制时的接触类绘制手法,结合触摸屏操作和Unity3D引擎处理特点,将模拟绘制手势定义为手指单点与多点抹沙、手掌抹沙、手掌铺沙;使用图形建模的方式描述不同手势的特征;
4)手势识别:采用图嵌入方法构建不同模拟绘制手势的特征向量,依据特征向量建立手势数据库,使用触摸屏采集触摸位置与库中手势进行匹配,从而完成对模拟绘制手势进行分类识别;
5)虚拟沙画笔刷构建:根据真实沙画绘制效果,采用像素模拟真实沙粒的方法构建沙画绘制笔刷,依照手指抹沙和手掌抹沙、铺沙绘制特点,使用shader渲染实时赋予画板材质,从而对沙画绘制进行效果模拟;
6)沙画绘制:结合触摸手势与绘制笔刷实现触摸屏虚拟沙画的绘制;
所述步骤5)中根据真实沙画绘制效果,采用像素模拟真实沙粒的方法构建沙画绘制笔刷的具体方法为:(1)手指抹沙与勾沙笔刷:预制一个圆环绘制方法并将其颜色渲染为c1,每当触摸坐标更新时在新的位置调用该圆环绘制方法;通过一个字典类记录每一次的触摸信息作为该圆环的中心坐标,取5个记录之前的坐标作为上一位置的坐标B,将当前坐标A减去B获得触点的位置偏移向量V,通过计算V与Y轴的夹角确定圆环边缘像素渲染方向,在对应方向上渲染c2颜色的半个圆环;由于堆积方向总位于前进方向上,在绘制未结束时,采用覆盖渲染的方式用c1不断的将c2覆盖获得绘制结果;勾沙笔刷的实现采用上述相同步骤,区别在于笔刷半径的不同;(2)手掌抹沙笔刷:使用c1渲染预制一个矩形区域,通过另外两指触摸确定抹沙区域宽度,使用字典类记录位置方法确定像素模拟沙粒堆积的方向,同时依据索引量自增模拟大面积的抹沙沙粒堆积的厚度,并在抹除位置的边缘,依据索引量增加像素渲染量;(3)手掌铺沙笔刷:采用高斯分布模拟铺沙时沙粒分布的规律,预制一个铺沙区域,将区域中心作为原点,以区域边界到原点的距离作为变量dis,将一半区域作为绘制区域并划分为六个部分,依此划分模拟沙粒在不同位置的下落概率,该下落概率公式为:
取距离dis作为边界上限,将每个区域的边界作为下落分界点,依照公式各区域计算下落概率P,用P乘像素密度基数T=30×dis,根据触摸确定绘制区域边界,在绘制区域边界按上述公式向绘制区域内分布,并在绘制区域内部随机选取一点为原点向两侧分布,同时使用T除以密度修正变量D=0.05×(8+j)模拟沙粒由密到疏的效果,j为自增变量。
3.根据权利要求2所述的一种基于触摸屏手势识别的虚拟沙画绘制方法,其特征在于:所述步骤3)中,使用图形建模的方式描述不同手势的特征,将这一过程分为开始,中间与结束三部分,每个触摸点采用具有相同编号的顶点进行描述,采用边缘Bs(x,y)作为描述同一触摸点的位置变化关系,使用边缘Ast(x,y,t)描述不同触摸点间的相对位置关系,包括相对x位置、相对y位置和时序关联,下标s代表测量顶点间的距离,t为测量顶点间时序,Vs代表开始点,Vm为中间点,Ve为结束点;在描述绘制手势时,通过将点与点的位置关系Relative_X(R_X)和Relative_Y(R_Y)描述其在空间位置上的差异,通过时间关系Relative_T(R_T)描述不同点的触摸顺序,将三者对应到边缘关系Ast(x,y,t)={R_X,R_Y,R_T};对于单独触摸点的边缘描述B,其作用在于识别同一触摸点的坐标变化,只需将其与单一触摸点的x坐标与y坐标的位移项关联可得单一顶点的位置关系Bs(x,y)。
4.根据权利要求3所述的一种基于触摸屏手势识别的虚拟沙画绘制方法,其特征在于:所述步骤4)中,采用图嵌入方法构建不同模拟绘制手势的特征向量的具体方法为:采用图嵌入的方法对手势模型图结构进行特征向量转化,依据触摸点数量的不同选择五个子结构,即分别对应一到五个触摸点时的情况组成的矩阵的列,每个结构将涉及以下几部分内容:(1)顶点与顶点的相对关系:图结构中的边缘A将包括开始、中间和结束三处的相对x位置,相对y位置以及相对t时间,即每组A关系拥有9个相对关系标签;(2)每个触摸点自身位置变化关系:图结构中的边缘B将包含开始与结束两处的x位置变化,y位置变化,再加上时间标签,即单点自身位移B关系拥有6个描述标签;同时加入聚类标签,最终在经过图嵌入后将产生长度为148的特征向量。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810454070.2A CN108628455B (zh) | 2018-05-14 | 2018-05-14 | 一种基于触摸屏手势识别的虚拟沙画绘制方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810454070.2A CN108628455B (zh) | 2018-05-14 | 2018-05-14 | 一种基于触摸屏手势识别的虚拟沙画绘制方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN108628455A CN108628455A (zh) | 2018-10-09 |
CN108628455B true CN108628455B (zh) | 2021-10-15 |
Family
ID=63693058
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810454070.2A Active CN108628455B (zh) | 2018-05-14 | 2018-05-14 | 一种基于触摸屏手势识别的虚拟沙画绘制方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN108628455B (zh) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110968250A (zh) * | 2019-11-30 | 2020-04-07 | 的卢技术有限公司 | 一种在unity编辑器环境下实现模拟触摸屏手势的方法与系统 |
CN113971070B (zh) * | 2021-10-28 | 2024-05-28 | 上海交通大学 | 适用于多虚拟机同屏显示的方法及系统 |
CN114296621B (zh) * | 2021-12-23 | 2023-06-09 | 天翼视讯传媒有限公司 | 一种触摸屏三点触摸识别计算方法 |
CN116627262B (zh) * | 2023-07-26 | 2023-10-13 | 河北大学 | 一种基于数据处理的vr交互设备控制方法及系统 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104007925A (zh) * | 2013-02-22 | 2014-08-27 | 三星电子株式会社 | 用于通过触摸屏上的书写输入产生内容的方法和设备 |
CN104424473A (zh) * | 2013-09-06 | 2015-03-18 | 北京三星通信技术研究有限公司 | 一种手绘草图识别和编辑的方法及装置 |
CN104732570A (zh) * | 2015-02-04 | 2015-06-24 | 腾讯科技(深圳)有限公司 | 一种图像生成方法及装置 |
US9406170B1 (en) * | 2012-07-16 | 2016-08-02 | Amazon Technologies, Inc. | Augmented reality system with activity templates |
CN107291360A (zh) * | 2017-07-03 | 2017-10-24 | 北京林业大学 | 构建沙画模拟系统的方法 |
CN107340964A (zh) * | 2017-06-02 | 2017-11-10 | 武汉斗鱼网络科技有限公司 | 一种视图的动画效果实现方法及装置 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9274607B2 (en) * | 2013-03-15 | 2016-03-01 | Bruno Delean | Authenticating a user using hand gesture |
-
2018
- 2018-05-14 CN CN201810454070.2A patent/CN108628455B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9406170B1 (en) * | 2012-07-16 | 2016-08-02 | Amazon Technologies, Inc. | Augmented reality system with activity templates |
CN104007925A (zh) * | 2013-02-22 | 2014-08-27 | 三星电子株式会社 | 用于通过触摸屏上的书写输入产生内容的方法和设备 |
CN104424473A (zh) * | 2013-09-06 | 2015-03-18 | 北京三星通信技术研究有限公司 | 一种手绘草图识别和编辑的方法及装置 |
CN104732570A (zh) * | 2015-02-04 | 2015-06-24 | 腾讯科技(深圳)有限公司 | 一种图像生成方法及装置 |
CN107340964A (zh) * | 2017-06-02 | 2017-11-10 | 武汉斗鱼网络科技有限公司 | 一种视图的动画效果实现方法及装置 |
CN107291360A (zh) * | 2017-07-03 | 2017-10-24 | 北京林业大学 | 构建沙画模拟系统的方法 |
Non-Patent Citations (4)
Title |
---|
《Gesture based painting system》;Vishnu Bose等;《IEEE Xplore》;20170209;第23-27页 * |
《交互式沙画模拟算法》;杨猛等;《计算机辅助设计与图形学学报》;20160731;第1084-1093页 * |
《基于Leap Motion的手势识别在虚拟沙画中的应用研究》;宁亚楠;《中国优秀硕士学位论文全文数据库 信息科技辑》;20170815;第I138-352页 * |
《基于多点触控的沙画虚拟系统》;席晓晨;《中国优秀硕士论文全文数据库 信息科技辑》;20170815;第I138-349页 * |
Also Published As
Publication number | Publication date |
---|---|
CN108628455A (zh) | 2018-10-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108628455B (zh) | 一种基于触摸屏手势识别的虚拟沙画绘制方法 | |
CN106598227B (zh) | 基于Leap Motion和Kinect的手势识别方法 | |
CN101807114B (zh) | 一种基于三维手势的自然交互方法 | |
CN107728792B (zh) | 一种基于手势识别的增强现实三维绘图系统及绘图方法 | |
CN103226387B (zh) | 基于Kinect的视频人手指尖定位方法 | |
CN100407798C (zh) | 三维几何建模系统和方法 | |
CN104571823B (zh) | 一种基于智能电视的非接触式虚拟人机交互方法 | |
Bonnici et al. | Sketch-based interaction and modeling: where do we stand? | |
CN102622225A (zh) | 一种支持用户自定义手势的多点触控应用程序开发方法 | |
CN111475667A (zh) | 一种基于手写汉字的机械臂楷体风格书法撰写方法 | |
CN108919955A (zh) | 一种基于多体感设备的虚拟沙画交互结合方法 | |
CN104407696B (zh) | 移动设备的虚拟球模拟及控制的方法 | |
Caramiaux et al. | Beyond recognition: using gesture variation for continuous interaction | |
CN106293099A (zh) | 手势识别方法及系统 | |
Zhang et al. | Chinese calligraphy specific style rendering system | |
CN109116984A (zh) | 一种用于三维交互场景的工具箱 | |
Chatain et al. | Exploring input modalities for interacting with augmented paper maps | |
CN108335340A (zh) | 压力触摸屏手写输入呈现为具有型笔特征笔迹的方法 | |
CN104732570B (zh) | 一种图像生成方法及装置 | |
CN111860086A (zh) | 基于深度神经网络的手势识别方法、装置及系统 | |
Varma et al. | Gestural interaction with three-dimensional interfaces; current research and recommendations | |
Feng et al. | FM: Flexible mapping from one gesture to multiple semantics | |
CN106774974B (zh) | 输出信息的方法和装置 | |
Yan et al. | AGRMTS: A virtual aircraft maintenance training system using gesture recognition based on PSO‐BPNN model | |
Hussain | Intelligent Image Processing System Based on Virtual Painting |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |