CN108364034A - 一种多模式耦合的动作捕捉方法及装置 - Google Patents

一种多模式耦合的动作捕捉方法及装置 Download PDF

Info

Publication number
CN108364034A
CN108364034A CN201810282711.0A CN201810282711A CN108364034A CN 108364034 A CN108364034 A CN 108364034A CN 201810282711 A CN201810282711 A CN 201810282711A CN 108364034 A CN108364034 A CN 108364034A
Authority
CN
China
Prior art keywords
data
motion capture
equipment
server
registration
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.)
Granted
Application number
CN201810282711.0A
Other languages
English (en)
Other versions
CN108364034B (zh
Inventor
陈斌
袁帅
易超
陈远秋
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Peking University
Original Assignee
Peking University
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Peking University filed Critical Peking University
Priority to CN201810282711.0A priority Critical patent/CN108364034B/zh
Publication of CN108364034A publication Critical patent/CN108364034A/zh
Application granted granted Critical
Publication of CN108364034B publication Critical patent/CN108364034B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/25Fusion techniques
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V40/00Recognition of biometric, human-related or animal-related patterns in image or video data
    • G06V40/20Movements or behaviour, e.g. gesture recognition

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Data Mining & Analysis (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Health & Medical Sciences (AREA)
  • Evolutionary Computation (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Artificial Intelligence (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Evolutionary Biology (AREA)
  • General Health & Medical Sciences (AREA)
  • Psychiatry (AREA)
  • Social Psychology (AREA)
  • Human Computer Interaction (AREA)
  • Multimedia (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

本发明公布了一种多模式耦合的动作捕捉方法及装置,获取多种类型的动作捕捉数据,选择数据的基准坐标系,将数据进行转换,得到具有统一坐标系的数据;再对捕捉到的各类数据进行耦合优化;包括数据获取过程、数据配准过程、数据耦合过程和数据发布过程。多模式耦合的动作捕捉装置包括:动作捕捉设备、客户端、服务端和数据接收客户端;服务端包括数据接收器、数据解析与存储器、数据配准器、数据融合优化器和数据发布模块。通过本发明可获得多种模式耦合的动作捕捉优化数据,满足单用户或多用户协同操作的动作捕捉需求,有效提高虚拟与真实环境之间交互的效率,提升用户沉浸感,可广泛应用于诸多领域。

Description

一种多模式耦合的动作捕捉方法及装置
技术领域
本发明涉及动作捕捉技术领域,尤其涉及一种多种模式的动作捕捉耦合方法及装置。
背景技术
动作捕捉技术可以获取真实环境中的人或物的运动状态和姿态,其思想萌芽普遍被认为是Fleischer在1915年发明的“Rotoscope”技术。更具现代意义上的动作捕捉技术产生于20世纪70年代后期,由心理学家Johansson在Moving Light Display实验中提出。20世纪80年代,通过电脑实现的针对人体动作捕捉的研究开始出现,美国Biomechanics实验室、MIT等高校先后对此进行了研究,推动了动作捕捉技术的发展,如1983年MIT研发出了一套叫做“Op-Eye”的图形牵线木偶,这个牵线木偶充当了第一套“动作捕捉服装”,引领了动作捕捉技术的风潮。20世纪90年代,人体姿态和动作识别、手指动作识别,以及人体和手部空间定位技术已经有所研究并得到一定程度的应用,以Tardif等人为代表的学者进一步推动了运动捕捉技术,使得该技术日趋发展成熟。21世纪以来,伴随着计算机科学和传感器技术快速发展,动作捕捉技术展现出强大的生命力,特别就近几年来,动作捕捉技术最新发展为实现虚拟环境与真实环境之间的通信提供了可靠的技术保障,多种代表型的动作捕捉设备相继问世,比如Motion Analysis、HTC Vive、Noitom、Kinect等,大大提升了用户的沉浸感和人机交互效率,进一步拓展了其应用范围。
从工作原理来看,目前主流的动作捕捉技术主要包括基于光学、基于惯性和基于计算机视觉等模式。不同模式的动作捕捉技术的性能各有优劣。三种主流动作捕捉模式在多对象捕捉能力、手指精细捕捉能力、定位精度和使用便捷性等方面比较结果如表1所示:
表1主流的动作捕捉模式的性能比较
可见,当前的动作捕捉技术明显存在的问题包括:一是单模式的动作捕捉技术尚不能满足对于用户整体和局部肢体的综合捕捉精度要求高的应用;二是单模式的动作捕捉技术在兼顾高定位精度和高便捷性等方面效果不理想,不能做到优势互补;三是单模式的动作捕捉数据一旦出现丢失,则无法复原或弥补,影响用户体验。例如,采用现有的动作捕捉技术难以同时提供较高的多对象捕捉能力和手指精细捕捉能力,也难以满足同时具备定位精度高和便捷性高的应用需求。
发明内容
为了克服上述现有技术的不足,本发明提供一种多模式耦合的动作捕捉方法及装置,通过使用基于光学跟踪、视觉识别、惯性测量等多种传感器的多模式动作捕捉耦合技术,有效耦合基于不同模式的动作捕捉获得的数据,实现不同模式技术的优势互补,提高动作捕捉性能,可同时提供较高的多对象捕捉和手指精细捕捉能力,具有定位精度高、便捷性高的优点。
本发明首先通过多种模式的动作捕捉设备获取多种类型的数据;然后以其中的某种模式的动作捕捉数据类型为基础建立坐标系,将其它类型的数据进行转换,建立统一的坐标系;最后对每个用户捕捉到的各类数据进行耦合优化;当用户使用任一种动作捕捉设备/模式时,捕捉获得的是经过多种动作捕捉模式耦合的优化数据,从而使得动作捕捉操作具备多种动作捕捉模式的技术优势。
本发明提供的技术方案如下:
一种多模式耦合的动作捕捉方法,利用光学跟踪、视觉识别、惯性测量等多种传感器设备及相应的动作捕捉模式获取多种类型/模式的数据,确定数据的基准坐标系,根据基准坐标系将数据进行转换,得到具有统一坐标系的数据;再对捕捉到的各类数据进行耦合优化;由此获得多种模式耦合的动作捕捉优化数据;包括数据获取过程、数据配准过程、数据耦合过程和数据发布过程,具体包括以下步骤:
1)获取多种模式动作捕捉设备的数据,包括:动作捕捉设备的客户端程序捕捉数据并发送、服务端程序接收并存储数据;
具体地,使用不同模式的多台动作捕捉设备,各个动作捕捉设备的客户端程序与服务端程序建立连接(socket连接);客户端程序循环读取动作捕捉设备捕获到的数据;每次读取循环中,客户端程序读取到动作捕捉数据后即发送给服务端,并接收服务端返回的状态码;服务端程序对每个客户端的连接请求开启一个新线程;在开启的每一个线程中,服务端循环接收对应客户端程序发送的数据,将该数据根据预定义的传输格式进行解析后存储到服务端对应该设备的数据共享内存空间。
2)数据配准:进行数据两两配准,得到配准参数;
两种以上模式的耦合需要进行多次数据两两配准;数据两两配准具体执行如下操作:
2.1获取坐标对
利用两类不同模式的动作捕捉设备捕获多个点对,点对即空间中同一个点在两类坐标系(对应两类不同模式的动作捕捉设备)下的空间坐标,表示为X(x1,y1,z1,1)T和Y1(x3,y3,z3)T;点对应大致覆盖整个捕捉范围且均匀分布;
2.2坐标对拟合,得到配准参数;
通过变换公式对点对进行拟合,求取变换矩阵,作为配准参数;
变换公式表示为式1:
Y=MX (式1)
其中,X表示某一点在模式1坐标系下的坐标向量;Y表示相应点通过变换公式变换后的在模式2坐标系下的坐标向量;M为变换矩阵;
本发明具体实施时,X表示向量(x1,y1,z1,1)T,其中x1,y1,z1为该点在模式1坐标系下的坐标;Y表示向量(x2,y2,z2)T,x2,y2,z2为该点通过变换公式转换出在模式2坐标系下的坐标;M为3x4变换矩阵;表示为:
拟合的目的是求取该变换矩阵,即配准参数。求取计算过程可使用逐步逼近的方式,使用梯度下降法优化目标函数。目标函数表示为式2:
L=∑||Y-Y1||2 (式2)
其中,Y为模式1坐标系下的点坐标通过变换公式转换出的模式2下的坐标,Y1为相应点在模式2坐标系下的实际坐标。
3)数据融合:从服务端的共享内存空间读取各种类型的数据,将数据归于对应用户;针对每个用户进行数据融合,将融合后得到的数据存储于服务端另一块共享内存空间,用于后续数据发布;具体执行如下操作:
3.1实时读取出步骤1)存储在共享内存空间中的数据,选定基准空间坐标系,根据步骤2)得到的配准参数将不同类型的实时捕捉数据变换到基准空间坐标系下;
3.2在同一坐标系下将数据归于不同的用户;
确定同一用户的数据包括动捕设备直接标识为该用户的数据和采用距离判定方法标识为属于该用户的数据(原始数据或配准数据);距离判定方法具体通过设定距离阈值,在同一坐标系下根据距离大小将数据归于不同的用户。
计算距离采用的参考点可根据不同种类的动作捕捉设备而定,一般可取用户头部位置的数据点作为参考点。通过比较配准数据的坐标离参考点的距离和距离阈值,若配准数据的坐标离参考点的距离小于等于距离阈值则属于同一个用户。
3.3对于同一用户的数据进行融合;包括如下情形:
3.3.1若同一用户的数据包括同种模式的多个设备捕捉到的数据,则只选择采用处于精度最佳位置的设备捕捉到的原始数据;
3.3.2若同一用户的数据包括多个设备捕捉到的数据,则选择精度高的原始数据或选择采用精度高的数据对精度低的设备进行数据配准得到的配准数据;
3.3.3若同一用户的数据包括多个不同模式的设备捕捉到的数据,设备捕捉到的用户部位不同,则将不同模式设备捕捉到的不同部位的数据进行合并,以获取该用户的更加丰富的动作和姿态信息;
3.3.4若用户在某种模式捕捉的数据丢失时,使用其它模式的捕捉数据进行补充;
例如,在动作捕捉过程中,因为HTC vive步骤的数据相对精度更高,通常以HTCvive捕捉到的手柄空间位置作为用户手的空间位置,若出现由于遮挡使得HTC vive捕捉到的手柄空间位置数据丢失,在此情况下,可用Kinect捕捉到的骨骼手部点数据作为用户手的空间位置数据,从而实现补充;
经过上述数据融合后,同一用户的数据均采用数据配准后的配准数据;
3.4根据步骤3.3处理所有用户的数据;将融合后得到的数据存储于另一共享内存空间,用于数据发布;
4)数据发布:为数据接收客户端提供实时的融合后的更高质量的数据;
具体地,服务端的数据发布程序接收到数据接收客户端发送获取数据的连接请求;服务端开启新线程,建立socket连接;服务端根据连接请求参数发送对应的融合数据给数据接收客户端;由此实现多模式耦合的动作捕捉。
本发明还提供一种能够实现上述多模式耦合的动作捕捉方法的多模式动作捕捉耦合装置,装置的总体框架包含动作捕捉设备、动作捕捉设备客户端、服务端和数据接收客户端;可包括多个动作捕捉设备、多个动作捕捉设备客户端、一个服务端、一个或多个数据接收客户端;服务端包括数据接收器、数据解析与存储器、数据配准器、数据融合优化器和数据发布模块;
每个动作捕捉设备与一个动作捕捉设备客户端相连接;动作捕捉设备客户端、数据接收客户端均与服务端连接;动作捕捉设备客户端与服务端的连接、数据接收客户端与服务端的连接均为socket连接;服务端对每个新的连接开启一个新线程;
动作捕捉设备客户端用于读取所连接的动作捕捉设备获取的数据并将数据发送到服务端;服务端用于接收从客户端发送的数据,并对数据进行配准和融合处理;其中,服务端的数据接收器用于接收从客户端发送的数据,同时发送状态码到动作捕捉设备客户端;数据解析与存储器对数据接收器获得的数据进行解析并存储;数据配准器用于通过计算获得不同模式/类型数据的两两配准参数;数据融合优化器用于将不同模式/类型数据识别为同一用户并针对用户对不同模式/类型数据进行融合优化;数据发布模块用于对优化后的数据进行存储并等待发布请求;数据接收客户端用于接收向服务端请求融合后的数据并进一步对数据进行展示或分析处理。
具体实施时,动作捕捉设备客户端可安装于带有动作捕捉设备的计算机上,服务端可安装于任意计算机上,数据接收客户端可安装于需要使用融合数据的显示设备或者计算机上。
与现有技术相比,本发明的有益效果是:
利用本发明提供的技术方案,多模式耦合的动作捕捉系统可对单一用户的动作或多用户的协同操作进行精细捕捉,并且可以根据不同的应用需求或个人喜好对不同的动作捕捉模式进行优化选择,实现动作捕捉优势互补。
本发明可满足单用户或多用户协同操作的动作捕捉需求,更有效地提高虚拟环境与真实环境之间交互的效率,提升用户沉浸感,可广泛应用于城市建设规划、战场态势感知、虚拟地质教学和应急灾害救援等诸多领域中,为多用户协同操作实际应用提供技术保障。
附图说明
图1是本发明提供的多模式耦合的动作捕捉方法的流程框图。
图2是本发明的动作捕捉客户端工作流程图。
图3是本发明的动作捕捉服务端工作流程图。
图4是本发明的动作捕捉数据配准流程图。
图5是本发明的动作捕捉数据融合流程图。
图6是本发明的动作捕捉数据发布流程图。
具体实施方式
下面结合附图,通过实施例进一步描述本发明,但不以任何方式限制本发明的范围。
本发明提供一种基于不同传感器的多模式动作捕捉耦合方法及装置,使得基于不同模式的动作捕捉技术有效耦合,能够同时提供较高的多对象捕捉能力和手指精细捕捉能力,提高定位精度,充分利用便捷性高的动捕设备优势。
多模式动作捕捉耦合系统的总体框架包含客户端、服务端和数据接收客户端;可包括多个动作捕捉设备、多个客户端、一个服务端、一个或多个数据接收客户端;每个动作捕捉设备与一个客户端相连接;客户端、数据接收客户端均与服务端连接;动作捕捉设备与客户端的连接、客户端与服务端的连接均为socket连接;服务端对每个新的连接开启一个新线程;客户端用于读取所连接的动作捕捉设备获取的数据并将数据发送到服务端;服务端包括数据接收器、数据解析与存储器、数据配准器、数据融合器和数据发布模块,用于接收从客户端发送的数据并进行解析后暂时存储数据,同时发送状态码到客户端,并对数据进行配准和融合处理;数据接收客户端用于向服务端请求融合后的数据并进一步对数据进行展示或分析处理。
本发明中,客户端程序安装于带有动作捕捉设备的计算机上,服务端程序可安装于任意计算机上,数据接收客户端可安装于需要使用融合数据的计算机上。
图1所示是本发明提供的多模式耦合动作捕捉方法的流程,其中箭头表示设备捕捉到的数据的流向。具体实施包括如下步骤:
1)获取基于不同模式的动作捕捉设备的各种捕捉数据,每个动作捕捉设备由一个客户端程序读取数据并且发送数据到统一的服务端程序,服务端程序负责暂时存储该数据;具体执行如下操作:
对于客户端(如图2所示):
一个设备对应一个客户端程序,不论是同种模式的设备还是模式不同的设备,但一台计算机一般可同时支持多个不同模式的设备,因此一台计算机上可能有多个不同模式设备对应的客户端程序。
1.1使用不同模式的多台动作捕捉设备,各个动作捕捉设备的客户端程序与服务端程序建立socket连接;
1.2客户端程序循环读取设备捕获到的数据;
一次循环代表着获取用户某一时刻的状态;直到用户直接关闭客户端程序,程序自动终止;数据传输采用预定义的格式,可采用任意格式,例如如果读取的数据包含很多点,则每个点之间可使用分号分隔,每个点坐标值使用逗号分隔,服务端的实现根据此格式进行解析。不同动捕设备捕获的点位可能不同,如Kinect可捕获全身关节点,HTC vive可捕获头部位置和双手位置。
1.3每次读取循环中,动作捕捉设备的客户端程序读取到动作捕捉数据后即发送给服务端,并且接收服务端返回的状态码;状态码可为整数,用于表示发送过去的数据在服务端是否被成功的接收并处理(例如,状态码0表示服务器成功接收并处理了此客户端发送的数据,1表示服务端处理期间遇到问题),客户端根据状态码知晓此次发送过去的数据在服务端是否被成功的接收并处理,便于程序在安装过程中的调试以及在需要时客户端可根据返回的状态决定下一步如何进行(例如是否终止程序等)。
对于服务端(如图3所示):
1.1服务端程序等待客户端程序发送socket连接请求;
1.2一旦接收到客户端连接请求,服务端程序对每个连接开启一个新线程;
1.3在开启的每一个线程里面,服务端进入循环,循环接收对应客户端程序发送的数据,将该数据根据预定义的传输格式(例如,某个客户端只传输空间点的数据,每一个点的坐标用逗号分隔,点之间用分号分隔)解析后存储到服务端对应该设备的数据共享内存空间,若该空间原来有数据,则替换该数据,完成后返回此次处理的状态码;然后该线程继续等待此客户端程序的下一次数据发送。
2)进行数据配准(如图4所示),得到两种不同的空间坐标系的配准参数。
数据配准在服务端进行,在每次动作捕捉设备的空间位置改变导致其捕获的数据的空间坐标系改变后均需配准。不同模式的动捕设备具有不同的空间坐标系;处于不同的位置的相同模式的多个动捕设备具有不同的空间坐标系。在多种模式的动作捕捉中,每个用户获取到的动作数据有多份,且不同模式(类型)的数据(如骨骼关节点定位数据、头部定位数据、身体标定位置的定位数据)所基于的空间坐标系不统一,需要通过数据配准来进行空间坐标变化,建立起同一个空间点在不同坐标系下的坐标变换公式,以将不同类型下的数据经过变换后归于对应的用户。多种类型的动作捕捉数据配准需通过多次的不同类型的数据两两配准实现(得到多个两两组合的数据配准参数)。相同模式的两个设备的空间坐标系不同,也需要进行数据配准。
其中两种不同模式的数据配准执行如下操作:
2.1利用两类不同模式的动作捕捉设备捕获多个点对(即空间中同一个点在两类空间坐标系下的空间坐标),点对应大致覆盖整个捕捉范围且均匀分布;
点对的数据可达几千或者几万。可使用深度学习工具包Tensorflow对这些点对进行拟合,求解拟合参数。
2.2使用变换公式Y=MX对点对进行拟合,其中X表示向量(x1,y1,z1,1)T,x1、y1、z1为该点在模式1坐标系下的坐标,第四个维度(设置为常数1)目的是给线性变换增加一个偏置,Y表示向量(x2,y2,z2)T,x2、y2、z2为通过变换公式变换后的该点在模式2坐标系下的坐标,优化过程中需要调整变换矩阵的值,使得Y和该点在模式2坐标系下的实际坐标Y1更接近。具体实施中,M为3x4变换矩阵,因为3x4矩阵已足以表示空间直角坐标系之间的平移和旋转,矩阵的每一个元素可随机初始化,拟合的目的是求取该变换矩阵,即配准参数。变换矩阵M可表示为:
求取变换矩阵的计算过程可使用逐步逼近的方式,采用梯度下降法优化目标函数L=∑||Y-Y1||2,直至L不再降低。其中Y为模式1坐标系下的点坐标通过变换公式Y=MX转换后的该点在模式2坐标系下的拟合坐标,Y1为相应点在模式2坐标系下的实际坐标。对于每一个点对(同一个点在两个坐标系下的实际坐标),其对应的变换误差为预测点坐标和实际点坐标之间的欧式距离,将所有点对的变换误差的平方相加,得到对所有点的变换精度的一个评价,作为目标函数L。
3)数据融合(如图5所示)。从共享内存空间读取各种类型的数据,并将不同数据归于对应的用户,针对每个用户的数据进行融合,将融合后的数据存储于服务端另一块共享内存空间,用于后续数据发布,执行如下操作:
3.1实时读取出步骤1)存储在共享内存空间中的数据,选定基准空间坐标系,根据步骤2)得到的配准参数将不同类型的实时捕捉数据变换到同一空间坐标系(基准空间坐标系)下;可任选一种模式的某一设备的空间坐标系作为基准空间坐标系;
3.2设定距离阈值,在同一坐标系下根据距离远近将数据归于不同的用户;
由于某些动作捕捉设备在使用时,用户在其前面特定的范围内捕捉的数据更为准确,而其它位置误差较大,例如,对于Kinect,在其正前方约1.5米左右,采集的数据相对更精确。此外,由于单个用户使用了多个设备,同一个用户可对应多个设备捕捉到的数据,将数据归于不同的用户是指确定哪些数据是同一个用户的数据;若可事先对数据对应用户的关系进行标识,则可根据标识确定;若无法标识,本发明具体实施时采用距离判定方法,根据距离远近将数据归于不同的用户,具体利用步骤3.1)变换得到的坐标,根据变换后的坐标与其它哪些坐标数据更接近,来确定它们是否是捕捉到的同一个用户的数据。其中,距离计算(距离即变换后的点在同一个坐标系下的欧式距离)的参考点可根据不同种类的动作捕捉设备而定,一般可取用户头部位置的数据点作为参考点。即计算两套数据距离使用的点,例如计算两套骨骼之间的距离,可计算两个骨骼头部关节点之间的距离,此时选择头部关节点为参考点。再比较变换后的坐标离参考点的距离和距离阈值,小于距离阈值则属于同一个用户。
3.3对于同一用户的数据进行融合;
确定同一用户的数据包括动捕设备直接标识为该用户的数据和采用距离判定方法标识为属于该用户的数据(原始数据或配准数据);可根据如下原则对同一用户的数据进行融合:3.3.1最佳位置原则:同种设备情况下,选择采用处于精度最佳位置的设备捕捉到的原始数据;
如果用户相对设备的位置对捕捉的精度具有影响(根据对特定设备的了解可事先知道其在哪些范围内捕捉精度更高,例如Kinect在其正前方1.5米左右捕捉精度最高;HTCvive在其两个光塔之间定位精度高),在有多个该模式设备捕捉数据的情况下,选择最佳位置(即特定设备捕捉精度高的位置)对应的数据作为该用户的数据,舍弃不用其他设备捕捉的数据;
3.3.2精确度原则:根据不同设备的精度,使用精度高的原始数据或者使用精度高的数据校准精度低的设备得到的配准数据;
3.3.3数据互补原则:基于不同模式的设备捕捉到的用户部位不同(有的设备能够捕捉到用户骨骼数据,有的捕捉手部和手指动作数据等等),可将这些数据进行合并,以获取该用户的更加丰富的动作和姿态信息;
3.3.4缺失互补原则:当出现干扰,导致某种模式的数据丢失时,使用其它模式的捕捉数据进行补充。
进行融合后,同一用户的数据均采用数据配准后的配准数据;
3.4根据步骤3.3处理所有用户的数据,并存储于另一共享内存空间用于数据发布;
3.5重复3.1至3.4的步骤。
4)数据发布(如图6所示)。数据发布旨在提供实时的融合后的更高质量的数据,执行如下操作:
4.1数据发布服务端程序等待数据接收客户端应用程序发送获取数据的连接请求;
4.2开启新线程,建立socket连接;
4.3数据接收客户端应用程序发送过来的参数(例如,参数表示获取第几个用户的融合后的数据),根据参数服务端发送对应的融合数据给数据接收客户端应用程序;
4.4重复步骤4.3。
下面通过实施例对本发明做进一步说明。
基于光学的动作捕捉设备包括HTC vive、Motion Analysis、Shogun等。以下实施例对基于光学的HTC vive和基于计算机视觉的Kinect设备进行耦合实现两模式耦合的动作捕捉,HTC vive和Kinect分别使用OpenVR SDK和Kinect SDK驱动程序,客户端程序采用C++语言编写程序。HTC vive通过头部传感器获取用户头部位置的空间坐标,通过两个手柄获取双手的三维空间坐标和方向数据;通过Kinect获得(多个)用户全身关节点数据;通过本发明方法进行模式数据融合,通过HTC vive用户头盔显示融合后的数据。
1)数据获取。HTC vive获取用户头盔及两个手柄的三维空间坐标和方向数据,Kinect获取用户人体骨骼各个关节点的数据,接收到的数据存储于特定变量中;循环读取这些数据并通过socket连接将数据发送给服务端程序,并接受返回的状态码。
示意代码如下:
2)数据配准。同一用户戴上HTC vive头盔,站立于Kinect之前,在两类设备的公共捕捉范围内运动。通过程序循环读取服务端存储在步骤1)变量中的数据,读取出两类设备的同一空间点数据(HTC vive头盔位置,Kinect头部关节点位置),并存储于文件中(为便于查看和后续读取,每个点的一对坐标值存储为文件的一行,点之间用分号分隔,每个点的坐标值使用逗号分隔)。点的数目可达几千或者几万。对这些点进行拟合(以HTC vive坐标系作为基准坐标系),可通过使用深度学习工具包Tensorflow求解拟合参数。求解后将得到的配准参数存储到服务端的硬盘文件中。
数据配准过程的示意代码如下:
3)数据融合。数据融合通过循环进行,在每个循环中,从服务端存储的步骤1)的数据变量中读出所有数据,对这些数据点使用步骤2)中得到的配准参数进行空间坐标变换,并进行数据融合,得到融合后的数据。数据融合过程中,对于每个用户数据,包含由HTCvive获得的头部和双手的空间位置以及由Kinect获得的全身关节点数据;若Kinect数据包含多套,则根据Kinect获得的数据的头部点的原始坐标值计算和Kinect的距离,选择与对应Kinect距离最接近1.5米的Kinect数据作为其骨骼数据;若未发现有Kinect数据,则使用默认的骨骼数据,即其一个人正常站立时的骨骼各关节点位置;若只有一个骨骼数据,则使用此骨骼数据作为检测到的骨骼。使用HTC vive定位数据对骨骼的整体位置进行移动,即若HTC vive头盔位置改变,则骨骼数据整体进行移动,移动距离为HTC vive位置改变的距离,若未发现HTC vive数据,则骨骼数据保持整体位置不移动。示意代码如下:
4)数据发布。在循环中进行,使用socket服务器,对于每一个数据接收客户端的数据请求(例如按用户请求数据,请求指定的第几个人的融合后的数据),服务端开启一个新线程进行数据传输。服务器读取融合后的数据,若数据读取成功,则将数据拼接成字符串,发送给对应客户端。若读取失败,则重新读取直至成功。发送成功后继续读取融合后数据,如此循环。
示意代码如下:
通过上述步骤,将基于光学的HTC vive和基于计算机视觉的Kinect设备进行有效耦合,实现优势互补,同时具备两种设备所具有的动作捕捉效果。本实施例中,数据接收客户端为HTC vive的用户头盔,用户头盔将从服务端获得的融合后的数据显示出来。
需要注意的是,公布实施例的目的在于帮助进一步理解本发明,但是本领域的技术人员可以理解:在不脱离本发明及所附权利要求的精神和范围内,各种替换和修改都是可能的。因此,本发明不应局限于实施例所公开的内容,本发明要求保护的范围以权利要求书界定的范围为准。

Claims (10)

1.一种多模式耦合的动作捕捉方法,利用多种传感器设备及相应的动作捕捉模式获取多种类型的数据,选择数据的基准坐标系,将数据进行转换,得到具有统一坐标系的数据;再对捕捉到的各类数据进行耦合优化,由此获得多种模式耦合的动作捕捉优化数据;包括数据获取过程、数据配准过程、数据耦合过程和数据发布过程;具体包括以下步骤:
1)获取多种模式的动作捕捉设备的数据,包括:动作捕捉设备的客户端获取捕捉数据并发送、服务端接收并存储数据到服务端对应该设备的数据共享内存空间;
2)数据配准:进行数据两两配准,得到配准参数;数据两两配准针对两种模式的数据进行配准;对两种以上模式的数据进行耦合需要进行多次数据两两配准;
数据两两配准具体执行如下操作:
2.1获取多个坐标对,每个坐标对为空间中同一个点在两个动作捕捉设备对应的不同空间坐标系下的空间坐标,分别表示为X(x1,y1,z1,1)T和Y1(x3,y3,z3)T,x1、y1、z1为该点在空间坐标系1下的真实坐标,x3、y3、z3为该点在空间坐标系2下的真实坐标;
2.2对坐标对进行拟合,得到配准参数;
通过变换方法对多个点的坐标对进行拟合,求取变换矩阵作为配准参数;变换式表示为式1:
Y=MX (式1)
其中,X表示某一点在坐标系1下的坐标向量X(x1,y1,z1,1)T;Y表示相应点通过变换公式变换后的在空间坐标系2下的坐标向量;M为变换矩阵,作为数据两两配准的配准参数;
使用逐步逼近方式求取配准参数:首先建立目标函数L,目标函数表示为式2:
L=∑||Y-Y1||2=∑||MX-Y1||2 (式2)
再通过梯度下降法优化目标函数,由此求取变换矩阵M,作为配准参数;
3)数据融合:从服务端的共享内存空间读取各种类型的数据,针对不同用户识别得到不同用户的数据;针对每个用户进行数据融合,将融合后得到的数据存储于服务端另一块共享内存空间,用于后续数据发布;具体执行如下操作:
3.1实时读取出步骤1)存储在共享内存空间中的数据,选定基准空间坐标系,根据步骤2)得到的配准参数将不同类型的实时捕捉数据变换到基准空间坐标系下;
3.2在同一坐标系下将数据归于不同的用户;同一用户的数据包括动捕设备直接标识为该用户的数据和采用距离判定方法标识为属于该用户的数据;
3.3对于同一用户的数据进行融合;包括如下情形:
3.3.1若同一用户的数据包括同种模式的多个设备捕捉到的数据,则只选择采用处于精度最佳位置的设备捕捉到的原始数据;
3.3.2若同一用户的数据包括多个设备捕捉到的数据,则选择精度高的原始数据或选择采用精度高的数据对精度低的设备进行数据配准得到的配准数据;
3.3.3若同一用户的数据包括多个不同模式的设备捕捉到的数据,不同模式的设备捕捉到的用户部位不同,则将不同模式设备捕捉到的不同部位的数据进行合并;
3.3.4若用户在某种模式捕捉的数据丢失时,使用其它模式的捕捉数据进行补充;经过融合后,同一用户的数据均采用配准数据;
3.4根据步骤3.3处理所有用户的数据;将融合后得到的数据均存储于另一共享内存空间,用于数据发布;
4)数据发布:为数据接收客户端提供实时的融合后的优化数据,实现多模式耦合的动作捕捉。
2.如权利要求1所述的多模式耦合的动作捕捉方法,其特征是,步骤1)获取多种模式动作捕捉设备的数据,具体是:使用不同模式的多台动作捕捉设备,各个动作捕捉设备的客户端程序与服务端程序建立socket连接;客户端程序循环读取动作捕捉设备捕获到的数据;每次读取循环中,客户端程序读取到动作捕捉数据后即发送给服务端,并接收服务端返回的状态码;服务端程序对每个客户端的连接请求开启一个新线程;在开启的每一个线程中,服务端循环接收对应客户端程序发送的数据,将该数据根据预定义的传输格式进行解析后存储到服务端对应该设备的数据共享内存空间。
3.如权利要求1所述的多模式耦合的动作捕捉方法,其特征是,步骤2.2中,M为3x4变换矩阵。
4.如权利要求1所述的多模式耦合的动作捕捉方法,其特征是,步骤3.2所述距离判定方法具体通过设定距离阈值,在同一坐标系下根据距离大小将数据归于不同的用户;计算距离采用的参考点根据不同种类的动作捕捉设备确定;通过比较配准数据的坐标离参考点的距离和距离阈值,若配准数据的坐标离参考点的距离小于等于距离阈值则属于同一个用户。
5.如权利要求4所述的多模式耦合的动作捕捉方法,其特征是,,将用户头部位置的数据点作为参考点。
6.如权利要求1所述的多模式耦合的动作捕捉方法,其特征是,步骤4)数据发布具体是:服务端接收到数据接收客户端发来获取数据的连接请求;服务端开启新线程,建立socket连接;服务端根据连接请求参数发送对应的融合数据给数据接收客户端;由此实现多模式耦合的动作捕捉。
7.一种多模式动作捕捉耦合装置,包括:动作捕捉设备、动作捕捉设备客户端、服务端和数据接收客户端;动作捕捉设备为多个;数据接收客户端为一个或多个;每个动作捕捉设备与一个动作捕捉设备客户端相连接;动作捕捉设备客户端、数据接收客户端均与服务端连接;服务端包括数据接收器、数据解析与存储器、数据配准器、数据融合优化器和数据发布模块;
动作捕捉设备客户端用于读取所连接的动作捕捉设备获取的数据并将数据发送到服务端;
服务端用于接收从客户端发送的数据,并对数据进行配准和融合处理;其中,服务端的数据接收器用于接收从客户端发送的数据,同时发送状态码到动作捕捉设备客户端;数据解析与存储器对数据接收器获得的数据进行解析并存储;数据配准器用于通过计算获得不同模式或不同类型数据的两两配准参数;数据融合优化器用于将不同模式或不同类型数据识别为同一用户并针对用户对不同模式或不同类型数据进行融合优化;数据发布模块用于对优化后的融合数据进行存储并等待发布请求;
数据接收客户端用于接收向服务端请求融合后的数据并进一步对数据进行展示或分析处理。
8.如权利要求7所述的多模式动作捕捉耦合装置,其特征是,动作捕捉设备客户端与服务端的连接、数据接收客户端与服务端的连接均为socket连接。
9.如权利要求7所述的多模式动作捕捉耦合装置,其特征是,服务端对每个新的连接开启一个新线程。
10.如权利要求7所述的多模式动作捕捉耦合装置,其特征是,动作捕捉设备客户端安装于配置有动作捕捉设备的计算机上;服务端安装于任意计算机上;数据接收客户端安装于使用融合数据的显示设备或者计算机上。
CN201810282711.0A 2018-04-02 2018-04-02 一种多模式耦合的动作捕捉方法及装置 Active CN108364034B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201810282711.0A CN108364034B (zh) 2018-04-02 2018-04-02 一种多模式耦合的动作捕捉方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201810282711.0A CN108364034B (zh) 2018-04-02 2018-04-02 一种多模式耦合的动作捕捉方法及装置

Publications (2)

Publication Number Publication Date
CN108364034A true CN108364034A (zh) 2018-08-03
CN108364034B CN108364034B (zh) 2023-09-22

Family

ID=63002078

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201810282711.0A Active CN108364034B (zh) 2018-04-02 2018-04-02 一种多模式耦合的动作捕捉方法及装置

Country Status (1)

Country Link
CN (1) CN108364034B (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109373993A (zh) * 2018-10-09 2019-02-22 深圳华侨城文化旅游科技股份有限公司 一种基于多台体感设备的定位系统及方法
CN109447020A (zh) * 2018-11-08 2019-03-08 郭娜 基于全景肢体动作的交互方法及系统

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2014022901A2 (en) * 2012-08-10 2014-02-13 Sabia Experience Tecnologia S.A. Method and system implemented by a collaborative distributed computational network, and related devices
CN106256394A (zh) * 2016-07-14 2016-12-28 广东技术师范学院 混合动作捕捉的训练装置及系统
CN106362377A (zh) * 2016-07-14 2017-02-01 广东技术师范学院 一种混合动作捕捉的训练装置
CN106843460A (zh) * 2016-12-13 2017-06-13 西北大学 基于多摄像头的多目标位置捕获定位系统及方法
CN107038406A (zh) * 2016-01-04 2017-08-11 大众汽车有限公司 用于分析姿态的方法
CN107609509A (zh) * 2017-09-09 2018-01-19 北京工业大学 一种基于运动显著性区域检测的动作识别方法
CN107820593A (zh) * 2017-07-28 2018-03-20 深圳市瑞立视多媒体科技有限公司 一种虚拟现实交互方法、装置及系统

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2014022901A2 (en) * 2012-08-10 2014-02-13 Sabia Experience Tecnologia S.A. Method and system implemented by a collaborative distributed computational network, and related devices
CN107038406A (zh) * 2016-01-04 2017-08-11 大众汽车有限公司 用于分析姿态的方法
CN106256394A (zh) * 2016-07-14 2016-12-28 广东技术师范学院 混合动作捕捉的训练装置及系统
CN106362377A (zh) * 2016-07-14 2017-02-01 广东技术师范学院 一种混合动作捕捉的训练装置
CN106843460A (zh) * 2016-12-13 2017-06-13 西北大学 基于多摄像头的多目标位置捕获定位系统及方法
CN107820593A (zh) * 2017-07-28 2018-03-20 深圳市瑞立视多媒体科技有限公司 一种虚拟现实交互方法、装置及系统
CN107609509A (zh) * 2017-09-09 2018-01-19 北京工业大学 一种基于运动显著性区域检测的动作识别方法

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109373993A (zh) * 2018-10-09 2019-02-22 深圳华侨城文化旅游科技股份有限公司 一种基于多台体感设备的定位系统及方法
CN109447020A (zh) * 2018-11-08 2019-03-08 郭娜 基于全景肢体动作的交互方法及系统

Also Published As

Publication number Publication date
CN108364034B (zh) 2023-09-22

Similar Documents

Publication Publication Date Title
WO2021169839A1 (zh) 一种基于骨骼关键点的动作还原方法以及装置
CN107990899A (zh) 一种基于slam的定位方法和系统
CN112434679B (zh) 康复运动的评估方法及装置、设备、存储介质
CN110211222A (zh) 一种ar沉浸式旅游导览方法、装置、存储介质及终端设备
CN105068657B (zh) 手势的识别方法及装置
KR20230028249A (ko) 3차원 자세 추정을 위한 장치들 및 방법들
CN108364034A (zh) 一种多模式耦合的动作捕捉方法及装置
Nguyen et al. Practical 3D human skeleton tracking based on multi-view and multi-Kinect fusion
Qin et al. PointSkelCNN: Deep Learning‐Based 3D Human Skeleton Extraction from Point Clouds
Zhang et al. Probabilistic human mesh recovery in 3d scenes from egocentric views
Li et al. Action recognition based on multimode fusion for VR online platform
CN110142769A (zh) 基于人体姿态识别的ros平台在线机械臂示教系统
CN117711066A (zh) 一种三维人体姿态估计方法、装置、设备及介质
Xia et al. Cascaded 3d full-body pose regression from single depth image at 100 fps
Kim et al. Implementation of an omnidirectional human motion capture system using multiple kinect sensors
Fu et al. Capture of 3D human motion pose in virtual reality based on video recognition
CN108124479A (zh) 地图标注的方法、装置、云端服务器、终端及应用程序
Wang et al. Swimmer’s posture recognition and correction method based on embedded depth image skeleton tracking
CN208110635U (zh) 一种多模式耦合的动作捕捉装置
Guo et al. Multiperson extreme motion prediction with cross-interaction attention
CN116485953A (zh) 数据处理方法、装置、设备和可读存储介质
Nguyen et al. 3D human pose estimation in Vietnamese traditional martial art videos
US20240013410A1 (en) Information processing apparatus, information processing method, and program
Qin et al. [Retracted] Detection Method of Limb Movement in Competitive Sports Training Based on Deep Learning
WO2023027712A1 (en) Methods and systems for simultaneously reconstructing pose and parametric 3d human models in mobile devices

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