CN109214295A - 基于Kinect v2和Leap Motion的数据融合的手势识别方法 - Google Patents

基于Kinect v2和Leap Motion的数据融合的手势识别方法 Download PDF

Info

Publication number
CN109214295A
CN109214295A CN201810895658.1A CN201810895658A CN109214295A CN 109214295 A CN109214295 A CN 109214295A CN 201810895658 A CN201810895658 A CN 201810895658A CN 109214295 A CN109214295 A CN 109214295A
Authority
CN
China
Prior art keywords
leap motion
data
kinect
hand
motion
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
CN201810895658.1A
Other languages
English (en)
Other versions
CN109214295B (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.)
Changchun University of Science and Technology
Original Assignee
Changchun University of Science and Technology
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 Changchun University of Science and Technology filed Critical Changchun University of Science and Technology
Priority to CN201810895658.1A priority Critical patent/CN109214295B/zh
Publication of CN109214295A publication Critical patent/CN109214295A/zh
Application granted granted Critical
Publication of CN109214295B publication Critical patent/CN109214295B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • 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
    • G06V40/28Recognition of hand or arm movements, e.g. recognition of deaf sign language
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/25Fusion techniques
    • G06F18/251Fusion techniques of input or preprocessed data
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/25Fusion techniques
    • G06F18/253Fusion techniques of extracted features

Landscapes

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

Abstract

本发明涉及一种Kinect v2和Leap Motion的数据融合的手势识别方法,其特征在于具体实现步骤如下:1、设备的布置;2、利用Kinect v2得到人体的深度图,并利用中间件OpenNi和Nite2取得人手的中心,然后对Kinect v2的深度图进行处理;3、深度图像预处理,4、得到指尖的空间坐标;5、初步的联合标定;6、两个Leap Motion的数据的精细配准;7、Kinect v2和基准Leap Motion之间的数据的精细配准;8、数据在时间上的对准;9、两种体感设备数据的采信方案;10、采信识别手指是运动的那个Leap Motion的数据。可以由Kinect v2扩展手的活动空间,提高了系统人机自然交互的效果,提高了手势的识别率。

Description

基于Kinect v2和Leap Motion的数据融合的手势识别方法
技术领域
本发明涉及一种基于Kinect v2和Leap Motion的数据融合的手势识别方法,属于计算机模式识别技术领域。
背景技术
手势识别一直是人机交互领域专家和学者重点研究内容,而人手关节多、自由度高、形态多,是人机交互中最有效人体部位,交互方式最直观。相对于佩戴数据手套、惯性传感器、标记点等设备的不方便,Kinect和Leap Motion可以对完全无标记或未添加额外传感器的手部进行提取和跟踪。但Kinect擅长追踪的是中远距(0.5~4m)的人体全身动作,而不擅长手部尤其是手指的动作识别,毕竟Kinect提供的手部动作的细节信息不精确。LeapMotion是一种专门检测手部运动的体感设备,跟踪精度达到0.01mm,是Kinect识别精度的100倍,而且成本低、设备小、扩展性强,但Leap Motion识别的空间范围十分有限(约0.227m3)。因此,需要一种能结合两种体感设备的优势,并且互补两种体感设备劣势的手势识别方法。
目前,基于Kinect的手势识别方法很多,有静态手势识别的文献[1,2],也有动态手势识别的文献[3,4],但识别率低、识别效果差;
[1]J.Li,J.X.Wang and Z.J.Ju,Novel Hand Gesture Recognition Based onHigh-Level Features.International Journal of Humanoid Robotics 15(2018).
[2]R.P.Mihail,N.Jacobs and J.Goldsmith,Static hand gesturerecognition with 2Kinect sensors.In Proceedings of the InternationalConference on Image Processing,Computer Vision,and Pattern Recognition(IPCV),January,2012;The Steering Committee of The World Congress in ComputerScience,Computer Engineering and Applied Computing(WorldComp)(2012).
[3]X.L.Guo and T.T.Yang,Gesture recognition based on HMM-FNN modelusing a Kinect.Journal on Multimodal User Interfaces 11(2017)1-7.
[4]A.A.Kadethankar and A.D.Joshi,Dynamic hand gesture recognitionusing Kinect.In Power and Advanced Computing Technologies(i-PACT),2017Innovations in IEEE(2017).
基于Leap Motion的手势识别研究和应用也很多,如文献[5,6]分别实现了印度手语、美国手语实时识别系统;文献[7,8]分别实现了利用Leap Motion控制带有三个手指、五个手指机器钳子。文献[9]利用Leap Motion获取手指和关节之间的几何特征,用来识别手势和认证身份。文献[10]利用Leap Motion的实现了控制机械手臂的系统;文献[11]基于Leap Motion实现了国际象棋游戏,通过手势与棋子进行交互;文献[12]利用Leap Motion和Unity实现了手势与虚拟场景中乐器的演奏。但由于手部关节较多,自遮挡的情况也经常发生,导致一个Leap Motion手势的识别不精确;
[5]R.B.Mapari and G.Kharat,Real time human pose recognition usingleap motion sensor.In Research in Computational Intelligence andCommunication Networks(ICRCICN),2015IEEE International Conference on IEEE,(2015).
[6]D.Naglot and M.Kulkarni,Real time sign language recognition usingthe leap motion controller,2015;International Conference on InventiveComputation Technologies,IEEE(2015).
[7]I.Zubrycki and G.Granosik,Using Integrated Vision Systems:ThreeGears and Leap Motion,to Control a 3-finger Dexterous Gripper.Recent Advancesin Automation,Robotics and Measuring Techniques.;Publisher:Springer(2014),pp.553-564.
[8]I.Staretu and C.Moldovan,Leap motion device used to control a realanthropomorphic gripper.International Journal of Advanced Robotic Systems 13(2016).
[9]A.Chan,T.Halevi and N.Memon,Leap Motion Controller forAuthentication via Hand Geometry and Gestures.Human Aspects of InformationSecurity,Privacy,and Trust,Third International Conference,HAS 2015,Held asPart of HCI International 2015,Los Angeles,CA,USA,August 2-7,2015;Publisher:Springer(2015).
[10]Y.Pititeeraphab,P.Choitkunnan,N.Thongpance,K.Kullathum andC.Pintavirooj,Robot-arm control system using LEAP motioncontroller.International Conference on Biomedical Engineering,IEEE(2016).
[11]K.Yanaka and D.Ishiguro.Natural User Interface for Board GamesUsing Lenticular Display and Leap Motion.Experiences of Older Patients withMultiple Chronic Conditions in the Intensive Ambulatory Care Home TelehealthProgram,HCI International 2015-Posters′Extended Abstracts 2015;Publisher:Springer(2015).
[12]R.R.Hariadi and I.Kuswardayan,Design and implementation ofVirtual Indonesian Musical Instrument(VIMi)application using Leap MotionController.International Conference on Information&Communication Technologyand Systems,IEEE(2017).
有研究者提出了结合多个体感设备的数据对手势进行识别的方法。目前,有关Kinect和Leap Motion的融合方法,多数为多个同一种体感设备的融合,如文献[13-15]都实现了多个Kinect融合,识别的是全身的姿势,分别用门控式卡尔曼滤波[13]、关节与Kinect指尖的距离[14]、加权测量值的卡尔曼滤波来[15]判断关节位置的可靠性。如文献[16-18]实现了多个Leap Motion的融合,文献[16,17]利用了5个Leap Motion来扩大手的识别范围,但是该方法仅仅是识别手的位置和轨迹;文献[18]用了2个Leap Motion对手势进行了识别,融合了2个Leap Motion的数据,对人手到机械手的姿态做了映射,并做了机械手抓取物体的仿真实验。融合Kinect和Leap Motion数据的方法则比较少,如文献[19-21],都是利用一个Kinect和一个Leap Motion做数据融合,文献[19]从两个设备中提取出不同的特征集,输入到多支持向量机中来识别手势;文献[20]在Kinect的坐标系上注册了LeapMotion的位置和方向,两个设备做了一定程度上的互补,Leap Motion检测出手和手指的交互作用,Kinect扩展跟踪的空间。文献[21]融合了速度值用于对手的追踪,当两个设备都能追踪数据时,Leap Motion和Kinect设备的可信度将会被用于确定两个设备的权重,其中Leap Motion设置为更高的权重。无论怎样布置一个Kinect和一个Leap Motion,设备并不总是能够识别所有的手指,都会由于手部自身遮挡而识别不精确。
[13]J.T.Masse,F.Lerasle,M.Devy,A.Monin,O.Lefebvre and S.Mas,HumanMotion Capture Using Data Fusion of Multiple Skeleton Data.Advanced conceptsfor intelligent vision systems ACIVS:15th International Conference,ACIVS2013,Poznań,Poland,October 28-31,2013;Publisher:Springer(2013).
[14]K.Y.Yeung,T.H.Kwok and C.C.L.Wang,Improved skeleton tracking byduplex kinects:a practical approach for real-time applications.Journal ofComputing and Information Science in Engineering 13(4)(2013)1-10.
[15]S.Moon,Y.Park,W.K.Dong and I.H.Suh,Multiple kinect sensor fusionfor human skeleton tracking using kalman filtering.International Journal ofAdvanced Robotic Systems 13(2)(2016)1.
[16]T.J.Hu,X.J.Zhu,X.Q.Wang,T.S.Wang,J.F.Li and W.P.Qian,Humanstochastic closed-loop behavior for master-slave teleoperation using multi-leap-motion sensor.Science China Technological Sciences 60(3)(2017)374.
[17]P.Zhang,X.Liu,G.Du,B.Liang and X.Wang,A markerless human-manipulators interface using multi-sensors.Industrial Robot An InternationalJournal 42(6)(2015)544-553.
[18]H.Jin,Q.Chen,Z.Chen,Y.Hu and J.Zhang,Multi-leapmotion sensorbased demonstration for robotic refine tabletop object manipulation task.CaaiTransactions on Intelligence Technology 1(1)(2016)104-113.
[19]G.Marin,F.Dominio and P.Zanuttigh,Hand gesture recognition withjointly calibrated leap motion and depth sensor.Multimedia Tools andApplications 75(22)(2016)1-25.
[20]P.and O.Debeir,Multi-sensor data fusion for hand trackingusing kinect and leap motion.Conference:the 2014Virtual Reality InternationalConference(2014).
[21]A.Craig and S.Krishnan,Fusion of Leap Motion and Kinect Sensorsfor Improved Field of View and Accuracy for VR Applications.Stanford EE267,Virtual Reality,Course Report.
发明内容
为弥补现有基于Kinect和Leap Motion的手势识别方法的不足,解决Kinect识别精度差、Leap Motion识别范围小、以及一个Kinect和一个Leap Motion结合识别角度不多的问题,本发明的目的在于提供一种基于Kinect v2和Leap Motion的数据融合的手势识别方法,利用三个体感设备(两个Leap Motion和一个Kinect v2)放置在不同角度观测手势,将观测值在Unity中进行数据融合,实现动态手势识别。
本发明的技术方案是这样实现的:一种Kinect v2和Leap Motion的数据融合的手势识别方法,包括2台计算机、2台Leap Motion、1台Kinect v2,其中1台计算机为服务端计算机,1台计算机为客户端计算机,1台Leap Motion为基准Leap Motion,1台Leap Motion为辅助Leap Motion;首先,从Kinect v2的深度图像中识别指尖;然后,分三步对三个体感设备观察到的坐标进行空间上的对准,一是联合标定三个体感设备得到初步的坐标转换参数,二是对两个Leap Motion精细标定,三是Kinect v2和基准Leap Motion精细标定;最后,利用Unity将三个体感设备的数据在时间上对准,建立数据的采信方案,实现手势识别;其特征在于具体实现步骤如下:
步骤1、设备的布置,基准Leap Motion和Kinect v2通过数据线与服务端计算机进行连接,辅助Leap Motion通过数据线与客户端计算机进行连接;两个Leap Motion的角度为60°;Kinect v2距离基准Leap Motion大概700mm;
步骤2、取得手部区域,利用Kinect v2得到人体的深度图,并利用中间件OpenNi和Nite2取得人手的中心,然后对Kinect v2的深度图进行处理,分两种情况取得手部区域,(1)手心法向量指向Kinect v2时,利用Kinect v2的手部和背景的深度数据取得手部区域;(2)其他情况,按手部区域所占像素来获取手部区域;
步骤3、深度图像预处理,利用彩色图像、双边滤波和终止滤波对深度图进行预处理,消除空洞现象、高斯噪声和椒盐噪声;
步骤4、得到指尖的空间坐标,利用Canny算子提取手部区域轮廓;计算手部中心与手部边缘上每个像素的距离,并得到距离曲线;距离曲线多数峰值点对应的坐标位于手部中心之上,视为手指;少数峰值点对应的坐标位于手部中心以下,需经判断,距离手部中心y轴上更近的坐标点是指尖坐标,距离手部中心y轴上更远的坐标点不是指尖坐标;确定指尖的像素位置后,利用Kinect v2的SDK,将指尖的像素位置转换到对应的三维空间坐标;
步骤5、初步的联合标定,本发明1D标定物是一根杆上的三个反光球,同时标定三个体感设备,求出每个体感设备向基准坐标系转换的旋转矩阵R、平移矩阵T和内参数矩阵K,K中包含内参数α,β,γ,u0,v0,其中α和β表示图像u轴和v轴的比例因子,单位是mm,u0和v0表示相机的主点位置,单位是像素,γ表示坐标轴倾斜参数;
步骤6、两个Leap Motion的数据的精细配准,设基准Leap Motion对应的关键采样点的点集为B={bi|bi∈R3,i=1,2,...,m},辅助Leap Motion对应的关键采样点的点集为V={vi|vi∈R3,i=1,2,...,m};点集B和点集V的点下标数相等,且一一对应组成关联点对,利用单位四元数表示旋转矩阵和平移矩阵,设旋转向量为qR=[q0,q1,q2,q3],平移向量为qT=[q4,q5,q6],则坐标变换向量为qall=[qR|qT],这样,求得qall,即可得到辅助Leap Motion坐标系向基准Leap Motion坐标系转换的旋转矩阵R'和平移矩阵T';
步骤7、Kinect v2和基准Leap Motion之间的数据的精细配准,采用的对应点集是手的所有指尖,将刚性的手模型张开,保持各个关节在Kinect v2和基准Leap Motion的观测范围内不互相遮挡,使Kinect v2和基准Leap Motion能观测到手部的所有关节;利用步骤5的精细配准步骤,得到Kinect v2向基准Leap Motion坐标转换的旋转矩阵和平移矩阵;
步骤8、数据在时间上的对准,对于服务端计算机的两个体感设备设置同样的采样频率,使得基准Leap Motion采集的一帧对应同时刻Kinect v2采集的一帧;两个LeapMotion数据在时间上的对准采取对一个动作的时间配准,通过特征夹角的状态来判定一个动作的起止,使两个Leap Motion得到的数据对应的都是同一个手部动作的数据,融合方式如下:
(a)当一个动作未开始时,两个Leap Motion观测到的角度特征值同时是稳定状态;
(b)当基准Leap Motion检测到该手指的一个或多个特征值在某一时刻变成了非稳定状态,记这个时刻为一次运动的起点,而辅助Leap Motion由于两台计算机传输原因,延迟一段时间之后,其相对应的特征值也进入非稳定状态;
(c)当手部动作结束时,基准Leap Motion的全部特征值再次变为了稳定状态,经过两台计算机之间的数据传输,当辅助Leap Motion的全部特征值变为稳定状态,这时才是手部运动的结束;
步骤9、两种体感设备数据的采信方案,根据两种体感设备的识别范围筛选和采信数据,利用手心位置判断体感设备的识别范围,采信方案1:
(a)当手的位置超出Leap Motion可识别的范围,则采信Kinect v2的数据,否则采信Leap Motion的数据,注意,采信Kinect v2数据指的是手的位置数据,不是采信其指尖数据,指尖和手势的数据还是保持之前LeapMotion的数据;
(b)当Kinect v2得不到指尖数据时,则不采用Kinect v2得到的数据,只采信两个Leap Motion的数据;
步骤10、两个Leap Motion数据的采信方案,根据Leap Motion特性,当手指被手的其他部分遮挡时,建立决策层采信方案2:
(a)当两个Leap Motion监测某支手指,在一定时间内(330ms,10帧的时间)手指的状态一致,采信离手指近的那个Leap Motion的数据;
(b)当两个Leap Motion在一定时间内(330ms,10帧的时间)识别某支手指状态不一致,采信识别手指是运动的那个Leap Motion的数据。
本发明的积极效果是即使手的关节由于遮挡等原因,不能被其中一个体感设备检测到,仍然可以采用另一个体感设备的检测数据,当人手位置超出Leap Motion的检测范围,可以由Kinect v2扩展手的活动空间,提高了系统人机自然交互的效果,提高了手势的识别率。
附图说明
图1设备的布置。
图2提取手部区域。
图3深度图像预处理过程。
图4手部中心与手部轮廓的距离曲线。
图5确定指尖。
图6标定示意图。
图7指骨及关节。
图8特征夹角。
图9一个动作中某特征夹角的角度变化值。
图中:1、服务端计算机,2、客户端计算机,3、基准Leap Motion,4、辅助LeapMotion,5、Kinect v2,6、人手。
具体实施方式
下面结合附图和实施例对本发明进一步说明,附图是示意性质的图,不对本发明有任何限制。
对本发明的实施例进行详细描述。
步骤1、设备的布置,如图1中,基准Leap Motion 3和Kinect v2 5通过数据线与服务端计算机1进行连接,辅助Leap Motion 4通过数据线与客户端计算机2进行连接;两个Leap Motion的角度为60°;Kinect v2 5距离基准Leap Motion 3大概700mm。
步骤2、利用取得手部区域,利用图1中的Kinect v2 5得到人体的深度图,并利用中间件OpenNi和Nite2取得人手的中心,然后对Kinect v2 5的深度图进行处理。分两种情况取得手部区域,(1)手心法向量指向Kinect v2 5时,利用Kinect v2 5的手部和背景的深度数据的不同取得手部区域,图2中,深度距离取值Δz=100mm来分割手部;(2)其他情况,按手部区域所占像素来获取手部区域,在深度图中(分辨率512*424像素)所占的最大范围是148*148-100*100像素。
步骤3、深度图像预处理,利用彩色图像、双边滤波和终止滤波对深度图进行预处理,消除空洞现象、高斯噪声和椒盐噪声。图3中,首先利用彩色图像检测空洞现象,然后用两种滤波器对深度图进行预处理并填充空洞,其中采用双边滤波对高斯噪声进行处理,采用中值滤波对椒盐噪声进行消除。
双边滤波是一种非迭代、非线性的滤波方法,是结合像素点的空域信息和值域信息的一种折衷处理,达到保证边缘完整并且去噪的目的。具有能局部处理图片的特点。
设i,j是被过滤的像素的位置,k,l是邻域像素,f表示像素强度,像素邻域的加权值会对双边滤波的输出结果有决定性的影响,
其中权值w(i,j,k,l)由空域核函数d(i,j,k,l)和值域核函数r(i,j,k,l)的积决定。空域核见式(2),
值域核见式(3),
以上二式中,σd和σr是平滑参数,分别表示空间因子和彩色因子。以上二式的乘积则为加权系数:
本发明将σd设置为8,将σr设置为20,邻域设置为9*9。
中值滤波属于统计排序滤波器,是一种非线性的空间滤波器,中值滤波器设定一个奇数的核n,采用n*n个像素点的邻域,用该邻域内像素点灰度的中值作为该点的灰度值。本发明中值滤波使用的核为3,中值滤波能有效去除手部周围的椒盐噪声,可以配合双边滤波获得清晰的手部边缘。
步骤4、得到指尖的空间坐标,利用Canny算子提取手部区域轮廓,图5中,黑色轮廓是提取的手部区域轮廓;计算手部中心与手部边缘上每个像素的距离,并得到距离曲线,图4中,曲线是求得的距离曲线,红色点和绿色点是距离曲线的峰值点;距离曲线多数峰值点对应的坐标位于手部中心之上,视为手指;少数峰值点对应的坐标位于手部中心以下,需经判断,距离手部中心y轴上更近的坐标点是指尖坐标,距离手部中心y轴上更远的坐标点不是指尖坐标;图5中,红色点是指尖坐标,绿色点不是指尖坐标;确定指尖的像素位置后,利用Kinect v2的SDK,将指尖的像素位置转换到对应的三维空间坐标。
步骤5、初步的联合标定,本发明的1D标定物是一根杆上的三个反光球,同时标定三个体感设备。二维点和三维点的齐次向量分别用表示。之间的关系用式(5)表示
其中,r是的投影深度,[RT]是外参矩阵,本发明是将三个体感设备的坐标系转换到基准Leap Motion 3的坐标系,R旋转矩阵,T是平移矩阵。K是体感设备的内参矩阵,见式(6).
其中α和β表示图像u轴和v轴的比例因子,单位是mm,u0和v0表示相机的主点位置,单位是像素,γ表示坐标轴倾斜参数。
本发明的1D标定物是一根杆上的三个反光球,设它们对应的三个点为,PA、PB、PC,三个点之间的距离dAB=||PA-PB||,dBC=||PB-PC||,其中,dAB<dBC。图6中,每个平面上的{ai j,bi j,ci j}是标定物的三个点在第i个体感设备的投影点(标定物的第j个刚性动作)。其中,i=1,2,3;j=1,2,...,n。本发明n取值6。其余的算法与文献[22]中第3节中的算法一致,本发明不再赘述。最终,能求出每个体感设备的R,T和K,K中包含内参数α,β,γ,u0,v0
[22]L.Wang,F.C.Wu and Z.Y.Hu,Multi-Camera Calibration with One-Dimensional Object under General Motions.IEEE,International Conference onComputer Vision(2007).
步骤6、两个Leap Motion的数据的精细配准,设基准Leap Motion 3对应的关键采样点的点集为B={bi|bi∈R3,i=1,2,...,m},辅助Leap Motion 4对应的关键采样点的点集为V={vi|vi∈R3,i=1,2,...,m};点集B和点集V的点下标数相等,且一一对应组成关联点对,利用单位四元数表示旋转矩阵和平移矩阵,设旋转向量为qR=[q0,q1,q2,q3],平移向量为qT=[q4,q5,q6],则坐标变换向量为qall=[qR|qT],这样,求得qall,即可得到由辅助LeapMotion 4坐标系向基准Leap Motion 3坐标系转换的旋转矩阵R'和平移矩阵T'。大致过程如下:
(a)点集由手模型的关节点24个关节点组成,这些特征点由两个Leap Motion得到。利用步骤5联合标定的结果,对点集V进行转换,取得的关键点集记为V',为与点集B区分开,本节的点集B记为B',设目标函数为:
其中m=24,R(qR)为旋转向量qR对应的旋转矩阵。
(b)计算B',V'点集中所有对应点的欧氏距离:
取得这些点的均值,即目标函数的另一种表示形式。
(c)采用单位四元数法[23]计算临时的旋转矩阵Rt和平移矩阵Tt,使目标函数(7)的值最小;
(d)利用Rt和Tt对V'进行转换,得到新的点集;
(e)如果新的点集与B'中各个对应点的欧式距离的均方误差的变化量大于或等于设置的阈值ε=0.000005,则将新的点集作为初始值继续进行步骤(b)-(d),直到满足目标函数设置的要求,停止迭代。
[23]P.J.Besl and N.D.Mckay,A Method for Registration of 3-DShapes.IEEE Transactions on Pattern Analysis and Machine Intelligence-Specialissue on interpretation of 3-D scenes—part II 14(2)(1992)239-256.
步骤7、Kinect v2 5和基准Leap Motion 3之间的数据的精细配准,采用的对应点集是手的所有指尖,将刚性的手模型张开,保持各个关节在Kinect v2 5和基准LeapMotion 3的观测范围内不互相遮挡,使Kinect v2 5和基准Leap Motion 3能观测到手部的所有关节。利用步骤6的精细配准步骤,得到Kinect v25向基准Leap Motion 3坐标系转换的旋转矩阵和平移矩阵。
步骤8、数据在时间上的对准,对于服务端计算机1的两个体感设备设置同样的采样频率,使得基准Leap Motion 3采集的一帧对应同时刻Kinect v2 5采集的一帧,本发明设置每隔33ms,基准Leap Motion 3和Kinect v2 5同时输出一帧采集的数据;两个LeapMotion数据在时间上的对准采取对一个动作的时间配准,通过特征夹角的状态来判定一个动作的起止,使两个Leap Motion得到的数据对应的都是同一个手部动作的数据。
图7中,本发明对各个关节分别命名Joint0,Jonit1,Joint2,Joint3,注意,大拇指的与其他手指相比,少一节骨骼,大拇指加入了长度为0的metacarpal,所以,大拇指的Joint0和Joint1是一个关节;当手指动作时,通过每段指骨的向量之间的夹角即可判断动作的状态是否稳定。图8中,从右至左的蓝点分别为Joint0,Joint1,Joint2,Joint3,红色箭头是关节点之间的向量,θ123分别是向量之间的夹角。根据这三个夹角的状态来判定一个动作的起止。融合方式如下:
(a)当一个动作未开始时,两个Leap Motion观测到的角度特征值同时是稳定状态;
(b)当基准Leap Motion 3检测到该手指的一个或多个特征值在某一时刻变成了非稳定状态,记这个时刻为一次运动的起点,而辅助Leap Motion 4由于两台计算机传输原因,延迟一段时间之后,其相对应的特征值也进入非稳定状态;
(c)当手部动作结束时,基准Leap Motion 3的全部特征值再次变为了稳定状态,经过两台计算机之间的数据传输,当辅助Leap Motion 4的全部特征值变为稳定状态,这时才是手部运动的结束。
图9中,显示的是两个Leap Motion在0-2500ms范围内,观测到的每帧食指θ2的度数,红色点是辅助Leap Motion 4的每帧数据,蓝色点是基准Leap Motion 3每帧的数据。本发明设置连续10帧的度数相差没超过10°为稳定状态。
步骤9、两种体感设备数据的采信方案,根据两种体感设备的识别范围筛选和采信数据,利用手心位置判断体感设备的识别范围,采信方案1:
(a)当手的位置超出Leap Motion可识别的范围,则采信Kinect v2 5的数据,否则采信Leap Motion的数据,注意,采信Kinect v2 5数据指的是手的位置数据,不是采信其指尖数据,指尖和手势的数据还是保持之前Leap Motion的数据。
(b)当Kinect v2 5得不到指尖数据时,则不采用Kinect v2 5得到的数据,只采信两个Leap Motion的数据。
步骤10、两个Leap Motion数据的采信方案,根据Leap Motion特性,当手指被手的其他部分遮挡时,建立决策层采信方案2:
(a)当两个Leap Motion监测某支手指,在一定时间内(330ms,10帧的时间)手指的状态一致,采信离手指近的那个Leap Motion的数据;
(b)当两个Leap Motion在一定时间内(330ms,10帧的时间)识别某支手指状态不一致,采信识别手指是运动的那个Leap Motion的数据。
利用以上步骤,可以当手的关节被遮挡等原因,不能被其中一个体感设备检测到,仍然可以采用另一个体感设备的检测数据,当人手位置超出Leap Motion的检测范围,可以由Kinect v2扩展手的活动空间,提高了手势的识别率,提高了系统人机自然交互的效果。
虽然结合附图描述了本发明的具体实施步骤和方式,但是本领域技术研究人员可以在不脱离本发明的精神和范围的情况下做出更改与变型,这样的更改与变型均落入由所附权利要求的限定范围之内。

Claims (1)

1.一种Kinect v2和Leap Motion的数据融合的手势识别方法,包括2台计算机、2台Leap Motion、1台Kinect v2,其中1台计算机为服务端计算机,1台计算机为客户端计算机,1台Leap Motion为基准Leap Motion,1台Leap Motion为辅助Leap Motion;首先,从Kinectv2的深度图像中识别指尖;然后,分三步对三个体感设备观察到的坐标进行空间上的对准,一是联合标定三个体感设备得到初步的坐标转换参数,二是对两个Leap Motion精细标定,三是Kinect v2和基准Leap Motion精细标定;最后,利用Unity将三个体感设备的数据在时间上对准,建立数据的采信方案,实现手势识别;其特征在于具体实现步骤如下:
步骤1、设备的布置,基准Leap Motion和Kinect v2通过数据线与服务端计算机进行连接,辅助Leap Motion通过数据线与客户端计算机进行连接;两个Leap Motion的角度为60°;Kinect v2距离基准Leap Motion大概700mm;
步骤2、取得手部区域,利用Kinect v2得到人体的深度图,并利用中间件OpenNi和Nite2取得人手的中心,然后对Kinect v2的深度图进行处理,分两种情况取得手部区域,(1)手心法向量指向Kinect v2时,利用Kinect v2的手部和背景的深度数据取得手部区域;(2)其他情况,按手部区域所占像素来获取手部区域;
步骤3、深度图像预处理,利用彩色图像、双边滤波和终止滤波对深度图进行预处理,消除空洞现象、高斯噪声和椒盐噪声;
步骤4、得到指尖的空间坐标,利用Canny算子提取手部区域轮廓;计算手部中心与手部边缘上每个像素的距离,并得到距离曲线;距离曲线多数峰值点对应的坐标位于手部中心之上,视为手指;少数峰值点对应的坐标位于手部中心以下,需经判断,距离手部中心y轴上更近的坐标点是指尖坐标,距离手部中心y轴上更远的坐标点不是指尖坐标;确定指尖的像素位置后,利用Kinect v2的SDK,将指尖的像素位置转换到对应的三维空间坐标;
步骤5、初步的联合标定,本发明1D标定物是一根杆上的三个反光球,同时标定三个体感设备,求出每个体感设备向基准坐标系转换的旋转矩阵R、平移矩阵T和内参数矩阵K,K中包含内参数α,β,γ,u0,v0,其中α和β表示图像u轴和v轴的比例因子,单位是mm,u0和v0表示相机的主点位置,单位是像素,γ表示坐标轴倾斜参数;
步骤6、两个Leap Motion的数据的精细配准,设基准Leap Motion对应的关键采样点的点集为B={bi|bi∈R3,i=1,2,...,m},辅助Leap Motion对应的关键采样点的点集为V={vi|vi∈R3,i=1,2,...,m};点集B和点集V的点下标数相等,且一一对应组成关联点对,利用单位四元数表示旋转矩阵和平移矩阵,设旋转向量为qR=[q0,q1,q2,q3],平移向量为qT=[q4,q5,q6],则坐标变换向量为qall=[qR|qT],这样,求得qall,即可得到辅助Leap Motion坐标系向基准Leap Motion坐标系转换的旋转矩阵R'和平移矩阵T';
步骤7、Kinect v2和基准Leap Motion之间的数据的精细配准,采用的对应点集是手的所有指尖,将刚性的手模型张开,保持各个关节在Kinect v2和基准Leap Motion的观测范围内不互相遮挡,使Kinect v2和基准Leap Motion能观测到手部的所有关节;利用步骤5的精细配准步骤,得到Kinect v2向基准Leap Motion坐标转换的旋转矩阵和平移矩阵;
步骤8、数据在时间上的对准,对于服务端计算机的两个体感设备设置同样的采样频率,使得基准Leap Motion采集的一帧对应同时刻Kinect v2采集的一帧;两个Leap Motion数据在时间上的对准采取对一个动作的时间配准,通过特征夹角的状态来判定一个动作的起止,使两个Leap Motion得到的数据对应的都是同一个手部动作的数据,融合方式如下:
(a)当一个动作未开始时,两个Leap Motion观测到的角度特征值同时是稳定状态;
(b)当基准Leap Motion检测到该手指的一个或多个特征值在某一时刻变成了非稳定状态,记这个时刻为一次运动的起点,而辅助Leap Motion由于两台计算机传输原因,延迟一段时间之后,其相对应的特征值也进入非稳定状态;
(c)当手部动作结束时,基准Leap Motion的全部特征值再次变为了稳定状态,经过两台计算机之间的数据传输,当辅助Leap Motion的全部特征值变为稳定状态,这时才是手部运动的结束;
步骤9、两种体感设备数据的采信方案,根据两种体感设备的识别范围筛选和采信数据,利用手心位置判断体感设备的识别范围,采信方案1:
(a)当手的位置超出Leap Motion可识别的范围,则采信Kinect v2的数据,否则采信Leap Motion的数据,注意,采信Kinect v2数据指的是手的位置数据,不是采信其指尖数据,指尖和手势的数据还是保持之前Leap Motion的数据;
(b)当Kinect v2得不到指尖数据时,则不采用Kinect v2得到的数据,只采信两个LeapMotion的数据;
步骤10、两个Leap Motion数据的采信方案,根据Leap Motion特性,当手指被手的其他部分遮挡时,建立决策层采信方案2:
(a)当两个Leap Motion监测某支手指,在330ms内10帧的时间手指的状态一致,采信离手指近的那个Leap Motion的数据;
(b)当两个Leap Motion在一定时间内即330ms,10帧的时间识别某支手指状态不一致,采信识别手指是运动的那个Leap Motion的数据。
CN201810895658.1A 2018-08-08 2018-08-08 基于Kinect v2和Leap Motion的数据融合的手势识别方法 Active CN109214295B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201810895658.1A CN109214295B (zh) 2018-08-08 2018-08-08 基于Kinect v2和Leap Motion的数据融合的手势识别方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201810895658.1A CN109214295B (zh) 2018-08-08 2018-08-08 基于Kinect v2和Leap Motion的数据融合的手势识别方法

Publications (2)

Publication Number Publication Date
CN109214295A true CN109214295A (zh) 2019-01-15
CN109214295B CN109214295B (zh) 2022-03-22

Family

ID=64988820

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201810895658.1A Active CN109214295B (zh) 2018-08-08 2018-08-08 基于Kinect v2和Leap Motion的数据融合的手势识别方法

Country Status (1)

Country Link
CN (1) CN109214295B (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111399634A (zh) * 2019-11-25 2020-07-10 南京邮电大学 一种手势引导物体识别的方法及装置
CN111831101A (zh) * 2019-04-22 2020-10-27 四川大学 一种基于Leap Motion的多特征动态手势识别方法

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104793738A (zh) * 2015-03-17 2015-07-22 上海海洋大学 基于Leap Motion的非接触式计算机操控方法
CN106295603A (zh) * 2016-08-18 2017-01-04 广东技术师范学院 汉语手语双向翻译系统、方法和装置
CN106598227A (zh) * 2016-11-15 2017-04-26 电子科技大学 基于Leap Motion和Kinect的手势识别方法
US20170220856A1 (en) * 2015-02-06 2017-08-03 King Fahd University Of Petroleum And Minerals Multi-camera spatial sign language recognition method and system
US20170228138A1 (en) * 2016-02-08 2017-08-10 University Of Ontario Institute Of Technology System and method for spatial interaction for viewing and manipulating off-screen content
CN107203269A (zh) * 2017-06-01 2017-09-26 珠海智康医疗科技有限公司 一种数据处理方法及装置

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20170220856A1 (en) * 2015-02-06 2017-08-03 King Fahd University Of Petroleum And Minerals Multi-camera spatial sign language recognition method and system
CN104793738A (zh) * 2015-03-17 2015-07-22 上海海洋大学 基于Leap Motion的非接触式计算机操控方法
US20170228138A1 (en) * 2016-02-08 2017-08-10 University Of Ontario Institute Of Technology System and method for spatial interaction for viewing and manipulating off-screen content
CN106295603A (zh) * 2016-08-18 2017-01-04 广东技术师范学院 汉语手语双向翻译系统、方法和装置
CN106598227A (zh) * 2016-11-15 2017-04-26 电子科技大学 基于Leap Motion和Kinect的手势识别方法
CN107203269A (zh) * 2017-06-01 2017-09-26 珠海智康医疗科技有限公司 一种数据处理方法及装置

Non-Patent Citations (7)

* Cited by examiner, † Cited by third party
Title
ADAM CRAIG等: "Fusion of Leap Motion and Kinect Sensors for Improved Field of View and Accuracy for VR Applications", 《HTTP://STANFORD.EDU/CLASS/EE267/SPRING2016/REPORT_CRAIG_KRISHNAN.PDF》 *
BENOÎT PENELLE等: "Multi-Sensor Data Fusion for Hand Tracking using Kinect and Leap Motion", 《HTTP://DX.DOI.ORG/10.1145/2617841.2620710》 *
HAIYANG JIN等: "Multi-LeapMotion sensor based demonstration for robotic refine tabletop object manipulation task", 《CAAI TRANSACTIONS ON INTELLIGENCE TECHNOLOGY》 *
徐春凤等: "基于Kinect深度信息的指尖检测", 《长春理工大学学报(自然科学版)》 *
李华等: "一种基于Kinect深度图的人像自动抠像算法", 《长春理工大学学报(自然科学版)》 *
金培根: "基于双手手势控制的双机器人人机交互技术的研究", 《中国优秀硕士学位论文全文数据库_信息科技辑》 *
黄俊等: "基于Leap Motion的手势识别在虚拟交互中的研究", 《计算机应用研究》 *

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111831101A (zh) * 2019-04-22 2020-10-27 四川大学 一种基于Leap Motion的多特征动态手势识别方法
CN111399634A (zh) * 2019-11-25 2020-07-10 南京邮电大学 一种手势引导物体识别的方法及装置
CN111399634B (zh) * 2019-11-25 2022-09-23 南京邮电大学 一种手势引导物体识别的方法及装置

Also Published As

Publication number Publication date
CN109214295B (zh) 2022-03-22

Similar Documents

Publication Publication Date Title
CN109255813B (zh) 一种面向人机协作的手持物体位姿实时检测方法
CN110480634B (zh) 一种针对机械臂运动控制的手臂引导运动控制方法
CN110913751B (zh) 具有滑动检测和校正功能的可穿戴眼睛跟踪系统
CN112083800B (zh) 基于自适应手指关节规则滤波的手势识别方法及系统
CN105389539A (zh) 一种基于深度数据的三维手势姿态估计方法及系统
JP5895569B2 (ja) 情報処理装置、情報処理方法およびコンピュータプログラム
Seo et al. A comparative study of in-field motion capture approaches for body kinematics measurement in construction
KR20160138729A (ko) 영상에서 동작 인식을 위한 특징점 추출 방법 및 골격 정보를 이용한 사용자 동작 인식 방법
CN109243575B (zh) 一种基于移动交互和增强现实的虚拟针灸方法及系统
JP2018119833A (ja) 情報処理装置、システム、推定方法、コンピュータプログラム、及び記憶媒体
CN111966217A (zh) 基于手势和眼动的无人机控制方法和系统
CN113505694A (zh) 一种基于视线追踪的人机交互方法、装置及计算机设备
CN108305321A (zh) 一种基于双目彩色成像系统的立体人手3d骨架模型实时重建方法和装置
JP2002259989A (ja) ポインティングジェスチャ検出方法及びその装置
CN109214295A (zh) 基于Kinect v2和Leap Motion的数据融合的手势识别方法
Cao et al. Human posture recognition using skeleton and depth information
Li et al. Gesture recognition based on Kinect v2 and leap motion data fusion
Lu et al. An eye gaze tracking method of virtual reality headset using a single camera and multi-light source
CN108115671A (zh) 基于3d视觉传感器的双臂机器人控制方法及系统
Ángel-López et al. Kinematic hand analysis using motion capture technology
Li et al. A dexterous hand-arm teleoperation system based on hand pose estimation and active vision
CN115205750B (zh) 基于深度学习模型的运动实时计数方法和系统
CN112183271A (zh) 一种图像处理的方法及装置
CN107247424A (zh) 一种基于激光距离传感器的ar虚拟开关及其方法
CN113989942A (zh) 手势识别方法和装置

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