CN106909871A - 手势指令识别方法 - Google Patents
手势指令识别方法 Download PDFInfo
- Publication number
- CN106909871A CN106909871A CN201510971612.XA CN201510971612A CN106909871A CN 106909871 A CN106909871 A CN 106909871A CN 201510971612 A CN201510971612 A CN 201510971612A CN 106909871 A CN106909871 A CN 106909871A
- Authority
- CN
- China
- Prior art keywords
- palm
- gesture
- centre
- staff
- people
- 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.)
- Pending
Links
Classifications
-
- 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
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V40/00—Recognition of biometric, human-related or animal-related patterns in image or video data
- G06V40/10—Human or animal bodies, e.g. vehicle occupants or pedestrians; Body parts, e.g. hands
- G06V40/107—Static hand or arm
Landscapes
- Engineering & Computer Science (AREA)
- Human Computer Interaction (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Multimedia (AREA)
- Theoretical Computer Science (AREA)
- Health & Medical Sciences (AREA)
- Computer Vision & Pattern Recognition (AREA)
- General Health & Medical Sciences (AREA)
- Psychiatry (AREA)
- Social Psychology (AREA)
- Image Analysis (AREA)
- User Interface Of Digital Computer (AREA)
Abstract
本发明提供一种手势指令识别方法,包括:利用Kinect彩色摄像头获取三维人手图像,利用景深摄像头获取景深数据;对所述三维人手图像进行图像增强处理;对所述三维人手图像进行轮廓检测处理,获取人手轮廓坐标;根据所述人手轮廓坐标计算并存储至少一人手掌心位置坐标;根据所述人手轮廓坐标及所述人手掌心位置坐标,计算人手轮廓上任一像点到掌心的距离;以及判断手指尖位置,存储手指尖位置坐标。本发明的优点在于,可以精确地识别手掌轮廓、手指指尖及掌心位置,具有景深识别功能,可以识别带有深度的手势,如前推、后拉、点击、握手等,无需使用人体骨骼数据,不用使整个人体出现在摄像头视野内。
Description
技术领域
本发明涉及手势识别领域,特别涉及一种手势指令识别方法。
背景技术
在计算机科学中,手势识别是通过数学算法来识别人类手势的一个议题。手势识别可以来自人的身体各部位的运动,但一般是指人体手部的运动。手势作为一种自然、直观的人机交互手段,在过去二十多年里一直是人机交互技术的一个研究热点。
在手势识别技术中,最为基本的问题就是,人手的形状及位置的判断,只有能精确识别人手形状变化,才能精确识别人的手势。现有技术的手势识别技术主要有两种,一种是应用彩色摄像头结合图像算法来识别手势,其不足之处在于,由于摄像头不是景深摄像头,难以识别带有深度的手势(例如前推,弯曲等),其识别精度比较低;另一种是采用3D体感摄影机Kinect来识别,Kinect自带的SDK软件的优点是在人体骨骼识别方面效果出色,为了保证识别效果,需要将整个人体都出现摄像头覆盖区域内,操作不便。
发明内容
本发明的目的在于,提供一种手势指令识别方法,有效解决现有手势识别技术中存在的难以识别带有深度的手势、手形识别精度低、操作不便的技术问题。
为实现上述目的,本发明提供一种手势指令识别方法,包括:利用至少一Kinect彩色摄像头获取至少一三维人手图像,利用至少一景深摄像头获取至少一景深数据;对所述三维人手图像进行图像增强处理;对所述三维人手图像进行轮廓检测处理,获取至少一人手图像,存储人手轮廓坐标;根据所述人手轮廓坐标计算并存储至少一人手掌心位置坐标;根据所述人手轮廓坐标及所述人手掌心位置坐标,计算人手轮廓上任一像点到掌心的距离;以及判断手指尖位置,存储手指尖位置坐标。
其中,判断手指尖位置,包括如下步骤:将手掌轮廓上的所有像点依次编号,记录为第1像点、第2像点、.......第M像点,M为像点编号;计算手掌轮廓上每一像点到人手掌心的距离,记录第N像点到人手掌心的距离SN;将SN分别与SN-1及SN+1作对比,当SN大于SN-1且SN大于SN+1时,判定第N像点为一手指的指尖;以及记录伸出的指尖总数量K。
进一步地,所述的手势指令识别方法,还包括如下步骤:定义第P帧时第Q个指尖点到掌心的距离TQP;P为帧数,Q小于或等于K;当伸出的指尖数量K为1时,若T1 ( P+5 )与T1P的差值大于一恒定距离X,判定当前手势为单击手势;其中X大于20mm且小于40mm;以及当伸出的指尖数量K大于4时,若若TQ ( P+W )小于TQP/2,或者,伸出的指尖数量K减少至小于或等于1,判定当前手势为握手手势;其中,W大于10且小于20。
进一步地,所述手势指令识别方法,还包括如下步骤:根据所述景深数据计算第P帧时人手掌心到Kinect彩色摄像头的距离RP;若R( P+W )与RP的差值大于一恒定距离Y,判定当前手势为后拉手势;若R( P+W )与RP的差值小于一恒定距离-Y,判定当前手势为前推手势;其中, Y大于10mm且小于30mm。
进一步地,所述手势指令识别方法还包括如下步骤:将人手掌心位置与显示器上光标位置形成映射,当人手掌心坐标发生移动时,显示器光标会发生对应移动,判定当前的手势为移动手势。
本发明的优点在于,可以精确地识别手掌轮廓、手指指尖及掌心位置,具有景深识别功能,可以识别带有深度的手势,如前推、后拉、点击、握手等,无需使用人体骨骼数据,不用使整个人体出现在摄像头视野内。
附图说明
图1所示为本发明中手势指令识别方法的流程图。
具体实施方式
以下参考说明书附图介绍本发明的优选实施例,用以举例证明本发明可以实施,这些实施例可以向本领域中的技术人员完整介绍本发明的技术内容,使得本发明的技术内容更加清楚和便于理解。然而本发明可以通过许多不同形式的实施例来得以体现,本发明的保护范围并非仅限于文中提到的实施例。
如图1所示,本发明提供一种手势指令识别方法,包括:
步骤S1)利用至少一Kinect彩色摄像头获取至少一三维人手图像,利用至少一景深摄像头获取至少一景深数据。Kinect是微软公司设计的一种3D体感摄影机,可以通过USB接口与主机相连接,它导入了即时动态捕捉、影像辨识、麦克风输入、语音辨识、社群互动等功能。Kinect比一般的摄像头更为智能,Kinect能够发射红外线,从而对整个房间进行立体定位。Kinect彩色摄像头则可以借助红外线来识别人体的运动,还可以识别出完整的RGB色彩,并借助面部识别技术自动为用户登录。除此之外,配合主机上的一些高端软件,便可以对人体的48个部位进行实时追踪。在Kinect彩色摄像头拍照速度为30帧/秒的情况下,每秒会获取30张三维人手图像,以及相应的30组景深数据。指令判断步骤中,每一次判断手势指令都是在一个特定的时间段内(如0.8-1.8秒)进行,或者说,是在一个特定的帧数范围(如24-36帧)内进行,这个特定的时间段或者特定的帧数范围可以由用户自行设定,只需判断手指移动前后的帧数量就可以判断手指的移动,可以减少误判的出现。
步骤S2)对所述三维人手图像进行图像增强处理,具体包括:修正直方图,用以调整图像颜色,使图像的灰度平均;以及调整分辨率,将分辨率调整为512×424。该步骤是通过与Kinect彩色摄像头相连接的主机中的软件来实现的。
步骤S3)对所述三维人手图像进行轮廓检测处理,获取至少一人手图像,存储人手轮廓坐标,具体包括如下步骤:步骤S301)定义人的皮肤颜色在YCbCr色度空间上分布范围;步骤S302)计算所述三维人手图像上的每一像点在YCbCr色度空间上的映射数据;步骤S303)在YCbCr色度空间上,将所述映射数据中符合人的皮肤颜色的像点集合定义为人手图像,将所述映射数据中不符合人的皮肤颜色的像点设置为白色;以及步骤S304)定义所述人手图像边缘处的像点集合为所述三维人手图像对应的人手轮廓。该步骤是通过与Kinect彩色摄像头相连接的主机中的软件来实现的,例如OpenCV软件。OpenCV是一个基于(开源)发行的跨平台计算机视觉库,可以运行在Linux、Windows和Mac OS操作系统上。它轻量级而且高效--由一系列 C 函数和少量 C++ 类构成,同时提供了Python、Ruby、MATLAB等语言的接口,实现了图像处理和计算机视觉方面的很多通用算法。计算机用OpenCV软件的cvFindCounters方法找出人手图像的轮廓,由于人的皮肤颜色在YCbCr色度空间的分布范围:100<=Cb<=127, 138<=Cr<=170,在此范围内的像素点可以认为是人手部分的图像,其他像素点可以设置为白色,这样可初步去除色差较大的背景色,得到一个人手图像,该人手图像中与白色部分相邻的像点即为人手轮廓。如有必要可以进行二次或三次轮廓检测处理,以获取比较精确的人手轮廓。
步骤S4)根据所述人手轮廓坐标计算并存储至少一人手掌心位置坐标,该步骤是通过与Kinect彩色摄像头相连接的主机中的软件来实现的,例如OpenCV软件。计算机用OpenCV的moments方法可以计算出掌心的位置,即掌心点的三维坐标。先通过findContours方法,由前面找到的轮廓参数找到手的面积,用HandArea表示,然后通过moments方法,以HandArea为参数,得出掌心的位置。
步骤S5)根据所述人手轮廓坐标及所述人手掌心位置坐标,计算人手轮廓上任一像点到掌心的距离。该步骤是通过与Kinect彩色摄像头相连接的主机中的软件来实现的。
步骤S6)判断手指尖位置,存储手指尖位置坐标,具体包括如下步骤:步骤S601)将手掌轮廓上的所有像点依次编号,记录为第1像点、第2像点、.......第M像点,M为像点编号;步骤S602)计算手掌轮廓上每一像点到人手掌心的距离,记录第N像点到人手掌心的距离SN;步骤S603)将SN分别与SN-1及SN+1作对比,当SN大于SN-1且SN大于SN+1时,判定第N像点为一手指的指尖;步骤S604)记录伸出的指尖总数量K。正常情况下,用户的手握成拳状,K=0;用户的手五指张开,K=5。该步骤是通过与Kinect彩色摄像头相连接的主机中的软件来实现的。
步骤S7)定义第P帧时第Q个指尖点到掌心的距离TQP;P为帧数,Q小于或等于K;当伸出的指尖数量K为1时,用户只伸出一个手指,T1P为第P帧时该手指指尖点到掌心的距离;T1 ( P+5 )为5帧后的第P+5帧时该手指指尖点到掌心的距离。若T1 ( P+5 )与T1P的差值大于一恒定距离X,判定当前手势为单击手势;其中X大于20mm且小于40mm,优选30mm。也就是说,用户伸出一根手指,向下按压30mm,即为单击操作。用户可以事先设定,将一根手指的单击操作设定为鼠标左键单击。该步骤是通过与Kinect彩色摄像头相连接的主机中的软件来实现的。
当伸出的指尖数量K大于4时,用户伸出五个手指,TQP为第P帧时第Q个手指指尖点到掌心的距离;TQ ( P+W )为W帧后的第P+W帧时第Q个手指指尖点到掌心的距离。若TQ ( P+W )小于TQP/2,或者,伸出的指尖数量K减少至小于或等于1,判定当前手势为握手手势;其中,W大于10且小于20。也就是说,用户张开五个手指,向内收缩再握住,即为握手操作。用户可以事先设定,将五指张开再握住的操作设定为选取,例如选取地图。
步骤S8)根据所述景深数据计算第P帧时人手掌心到Kinect彩色摄像头的距离RP;W帧后的第P+W帧时人手掌心到Kinect彩色摄像头的距离R( P+W );若R( P+W )与RP的差值大于一恒定距离Y,判定当前手势为后拉手势;若R( P+W )与RP的差值小于一恒定距离-Y,判定当前手势为前推手势;其中, Y大于10mm且小于30mm。也就是说,用户将手掌向前推移,即为前推操作;将手掌向后拉动,即为后拉操作。用户可以事先设定,将前推操作设定为放大,实现地图放大的效果;将前推操作设定为缩小,实现地图缩小的效果。
步骤S9)将人手掌心位置与显示器上光标位置形成映射,当人手掌心坐标发生移动时,显示器光标会发生对应移动,判定当前的手势为移动手势。也就是说,用户利用手掌上下左右移动,即可以控制显示器上光标的移动效果。该步骤是通过与Kinect彩色摄像头相连接的主机中的软件来实现的。
其中,步骤S7)-步骤S9)基本是同步进行,并无先后顺序。步骤S6)-步骤S9)的指令判断步骤中,每一次判断手势指令都是在一个特定的时间段内进行,或者说,是在一个特定的帧数范围(如24-36帧/秒)内进行,这个特定的时间段或者特定的帧数范围可以由用户自行设定,只需判断手指移动前后的帧数量就可以判断手指的移动,可以减少误判的出现。
本发明将彩色摄像头与景深摄像头结合起来使用,将两者的数据相叠加,优化了判断算法,提升了手指判断的精度,因此手势识别更加精准。本发明具有景深识别功能,可以识别带有深度的手势,如前推、后拉、点击、握手等,无需使用人体骨骼数据,不用使整个人体出现在摄像头视野内。
以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。
Claims (5)
1.一种手势指令识别方法,其特征在于,包括:
利用至少一Kinect彩色摄像头获取至少一三维人手图像,利用至少一景深摄像头获取至少一景深数据;
对所述三维人手图像进行图像增强处理;
对所述三维人手图像进行轮廓检测处理,获取至少一人手图像,存储人手轮廓坐标;
根据所述人手轮廓坐标计算并存储至少一人手掌心位置坐标;
根据所述人手轮廓坐标及所述人手掌心位置坐标,计算人手轮廓上任一像点到掌心的距离;以及
判断手指尖位置,存储手指尖位置坐标。
2.如权利要求1所述的手势指令识别方法,其特征在于,判断手指尖位置,包括如下步骤:
将手掌轮廓上的所有像点依次编号,记录为第1像点、第2像点、.......第M像点,M为像点编号;
计算手掌轮廓上每一像点到人手掌心的距离,记录第N像点到人手掌心的距离SN;
将SN分别与SN-1及SN+1作对比,当SN大于SN-1且SN大于SN+1时,判定第N像点为一手指的指尖;以及
记录伸出的指尖总数量K。
3.如权利要求2所述的手势指令识别方法,其特征在于,还包括如下步骤:
定义第P帧时第Q个指尖点到掌心的距离TQP;P为帧数,Q小于或等于K;
当伸出的指尖数量K为1时,若T1 (P+5)与T1P的差值大于一恒定距离X,判定当前手势为单击手势;其中X大于20mm且小于40mm;以及
当伸出的指尖数量K大于4时,若TQ (P+W)小于TQP/2,或者,伸出的指尖数量K减少至小于或等于1,判定当前手势为握手手势;其中,W大于10且小于20。
4.如权利要求1所述的手势指令识别方法,其特征在于,还包括如下步骤:
根据所述景深数据计算第P帧时人手掌心到Kinect彩色摄像头的距离RP;
若R(P+W)与RP的差值大于一恒定距离Y,判定当前手势为后拉手势;若R(P+W)与RP的差值小于一恒定距离-Y,判定当前手势为前推手势;其中, Y大于10mm且小于30mm。
5.如权利要求1所述的手势指令识别方法,其特征在于,还包括如下步骤:
将人手掌心位置与显示器上光标位置形成映射,当人手掌心坐标发生移动时,显示器光标会发生对应移动,判定当前的手势为移动手势。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510971612.XA CN106909871A (zh) | 2015-12-22 | 2015-12-22 | 手势指令识别方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510971612.XA CN106909871A (zh) | 2015-12-22 | 2015-12-22 | 手势指令识别方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN106909871A true CN106909871A (zh) | 2017-06-30 |
Family
ID=59199816
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510971612.XA Pending CN106909871A (zh) | 2015-12-22 | 2015-12-22 | 手势指令识别方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN106909871A (zh) |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111142663A (zh) * | 2019-12-27 | 2020-05-12 | 恒信东方文化股份有限公司 | 一种手势识别方法及手势识别系统 |
CN111568237A (zh) * | 2020-02-29 | 2020-08-25 | 佛山市云米电器科技有限公司 | 饮水机控制方法、饮水机及计算机可读存储介质 |
CN112488059A (zh) * | 2020-12-18 | 2021-03-12 | 哈尔滨拓博科技有限公司 | 一种基于深度学习模型级联的空间手势控制方法 |
WO2022126775A1 (zh) * | 2020-12-14 | 2022-06-23 | 安徽鸿程光电有限公司 | 光标控制方法、装置、设备及介质 |
CN115185411A (zh) * | 2022-07-08 | 2022-10-14 | 北京字跳网络技术有限公司 | 光标移动方法、装置和电子设备 |
CN115798054A (zh) * | 2023-02-10 | 2023-03-14 | 国网山东省电力公司泰安供电公司 | 一种基于ar/mr技术的手势识别方法及电子设备 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103019389A (zh) * | 2013-01-12 | 2013-04-03 | 福建华映显示科技有限公司 | 手势辨识系统及手势辨识方法 |
CN103488294A (zh) * | 2013-09-12 | 2014-01-01 | 华南理工大学 | 一种基于用户交互习惯的非接触手势控制映射调整方法 |
WO2014009561A2 (en) * | 2012-07-13 | 2014-01-16 | Softkinetic Software | Method and system for human-to-computer gesture based simultaneous interactions using singular points of interest on a hand |
CN103839040A (zh) * | 2012-11-27 | 2014-06-04 | 株式会社理光 | 基于深度图像的手势识别方法和装置 |
CN103941866A (zh) * | 2014-04-08 | 2014-07-23 | 河海大学常州校区 | 一种基于Kinect深度图像的三维手势识别方法 |
-
2015
- 2015-12-22 CN CN201510971612.XA patent/CN106909871A/zh active Pending
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2014009561A2 (en) * | 2012-07-13 | 2014-01-16 | Softkinetic Software | Method and system for human-to-computer gesture based simultaneous interactions using singular points of interest on a hand |
CN103839040A (zh) * | 2012-11-27 | 2014-06-04 | 株式会社理光 | 基于深度图像的手势识别方法和装置 |
CN103019389A (zh) * | 2013-01-12 | 2013-04-03 | 福建华映显示科技有限公司 | 手势辨识系统及手势辨识方法 |
CN103488294A (zh) * | 2013-09-12 | 2014-01-01 | 华南理工大学 | 一种基于用户交互习惯的非接触手势控制映射调整方法 |
CN103941866A (zh) * | 2014-04-08 | 2014-07-23 | 河海大学常州校区 | 一种基于Kinect深度图像的三维手势识别方法 |
Cited By (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111142663A (zh) * | 2019-12-27 | 2020-05-12 | 恒信东方文化股份有限公司 | 一种手势识别方法及手势识别系统 |
CN111142663B (zh) * | 2019-12-27 | 2024-02-02 | 恒信东方文化股份有限公司 | 一种手势识别方法及手势识别系统 |
CN111568237A (zh) * | 2020-02-29 | 2020-08-25 | 佛山市云米电器科技有限公司 | 饮水机控制方法、饮水机及计算机可读存储介质 |
WO2022126775A1 (zh) * | 2020-12-14 | 2022-06-23 | 安徽鸿程光电有限公司 | 光标控制方法、装置、设备及介质 |
CN112488059A (zh) * | 2020-12-18 | 2021-03-12 | 哈尔滨拓博科技有限公司 | 一种基于深度学习模型级联的空间手势控制方法 |
CN115185411A (zh) * | 2022-07-08 | 2022-10-14 | 北京字跳网络技术有限公司 | 光标移动方法、装置和电子设备 |
CN115185411B (zh) * | 2022-07-08 | 2024-03-15 | 北京字跳网络技术有限公司 | 光标移动方法、装置和电子设备 |
CN115798054A (zh) * | 2023-02-10 | 2023-03-14 | 国网山东省电力公司泰安供电公司 | 一种基于ar/mr技术的手势识别方法及电子设备 |
CN115798054B (zh) * | 2023-02-10 | 2023-11-10 | 国网山东省电力公司泰安供电公司 | 一种基于ar/mr技术的手势识别方法及电子设备 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106909871A (zh) | 手势指令识别方法 | |
US10394334B2 (en) | Gesture-based control system | |
CN105528082B (zh) | 三维空间及手势识别追踪交互方法、装置和系统 | |
US20180224948A1 (en) | Controlling a computing-based device using gestures | |
CN104317391B (zh) | 一种基于立体视觉的三维手掌姿态识别交互方法和系统 | |
CN106774850B (zh) | 一种移动终端及其交互控制方法 | |
Rautaray et al. | Real time multiple hand gesture recognition system for human computer interaction | |
CN106598227A (zh) | 基于Leap Motion和Kinect的手势识别方法 | |
CN111047511A (zh) | 一种图像处理方法及电子设备 | |
US20170140215A1 (en) | Gesture recognition method and virtual reality display output device | |
Shah et al. | Hand gesture based user interface for computer using a camera and projector | |
WO2023273372A1 (zh) | 手势识别对象确定方法及装置 | |
KR101465894B1 (ko) | 손가락에 부착한 마커를 이용하여 제어 명령을 생성하는 이동 단말 및 손가락에 부착한 마커를 이용하여 단말에서 제어 명령을 생성하는 방법 | |
CN111831123B (zh) | 一种适用于桌面混合现实环境的手势交互方法及系统 | |
CN106909872A (zh) | 人手轮廓识别方法 | |
CN109947243A (zh) | 基于触摸手检测的智能电子设备手势捕获与识别技术 | |
JPH0648458B2 (ja) | 情報入力装置 | |
CN113282164A (zh) | 一种处理方法和装置 | |
US10824237B2 (en) | Screen display control method and screen display control system | |
Abdallah et al. | An overview of gesture recognition | |
Lan et al. | Data fusion-based real-time hand gesture recognition with Kinect V2 | |
KR101465896B1 (ko) | 전면부 카메라 및 후면부 카메라를 이용하여 제어 명령을 생성하는 이동 단말 | |
Vančo et al. | Gesture identification for system navigation in 3D scene | |
Heo et al. | Hand segmentation and fingertip detection for interfacing of stereo vision-based smart glasses | |
Shastrakar et al. | Cursor Movement Control Using Color Detection |
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 | ||
WD01 | Invention patent application deemed withdrawn after publication | ||
WD01 | Invention patent application deemed withdrawn after publication |
Application publication date: 20170630 |