CN113791411B - 一种基于轨迹判断的毫米波雷达手势识别方法及装置 - Google Patents
一种基于轨迹判断的毫米波雷达手势识别方法及装置 Download PDFInfo
- Publication number
- CN113791411B CN113791411B CN202111042676.3A CN202111042676A CN113791411B CN 113791411 B CN113791411 B CN 113791411B CN 202111042676 A CN202111042676 A CN 202111042676A CN 113791411 B CN113791411 B CN 113791411B
- Authority
- CN
- China
- Prior art keywords
- point
- track
- gesture
- swing
- millimeter wave
- 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
- 238000000034 method Methods 0.000 title claims abstract description 46
- 230000008569 process Effects 0.000 claims description 8
- 230000008859 change Effects 0.000 claims description 6
- 230000009467 reduction Effects 0.000 claims description 6
- 230000003247 decreasing effect Effects 0.000 claims description 5
- 238000012545 processing Methods 0.000 claims description 3
- 230000003139 buffering effect Effects 0.000 claims 1
- 230000006870 function Effects 0.000 abstract description 48
- 238000012549 training Methods 0.000 abstract description 3
- 238000010586 diagram Methods 0.000 description 3
- 238000013461 design Methods 0.000 description 2
- 230000003993 interaction Effects 0.000 description 2
- 230000003190 augmentative effect Effects 0.000 description 1
- 230000015572 biosynthetic process Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000035945 sensitivity Effects 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 238000007619 statistical method Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01S—RADIO DIRECTION-FINDING; RADIO NAVIGATION; DETERMINING DISTANCE OR VELOCITY BY USE OF RADIO WAVES; LOCATING OR PRESENCE-DETECTING BY USE OF THE REFLECTION OR RERADIATION OF RADIO WAVES; ANALOGOUS ARRANGEMENTS USING OTHER WAVES
- G01S13/00—Systems using the reflection or reradiation of radio waves, e.g. radar systems; Analogous systems using reflection or reradiation of waves whose nature or wavelength is irrelevant or unspecified
- G01S13/02—Systems using reflection of radio waves, e.g. primary radar systems; Analogous systems
- G01S13/50—Systems of measurement based on relative movement of target
- G01S13/58—Velocity or trajectory determination systems; Sense-of-movement determination systems
- G01S13/62—Sense-of-movement determination
-
- 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
- G01—MEASURING; TESTING
- G01S—RADIO DIRECTION-FINDING; RADIO NAVIGATION; DETERMINING DISTANCE OR VELOCITY BY USE OF RADIO WAVES; LOCATING OR PRESENCE-DETECTING BY USE OF THE REFLECTION OR RERADIATION OF RADIO WAVES; ANALOGOUS ARRANGEMENTS USING OTHER WAVES
- G01S13/00—Systems using the reflection or reradiation of radio waves, e.g. radar systems; Analogous systems using reflection or reradiation of waves whose nature or wavelength is irrelevant or unspecified
- G01S13/88—Radar or analogous systems specially adapted for specific applications
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01S—RADIO DIRECTION-FINDING; RADIO NAVIGATION; DETERMINING DISTANCE OR VELOCITY BY USE OF RADIO WAVES; LOCATING OR PRESENCE-DETECTING BY USE OF THE REFLECTION OR RERADIATION OF RADIO WAVES; ANALOGOUS ARRANGEMENTS USING OTHER WAVES
- G01S13/00—Systems using the reflection or reradiation of radio waves, e.g. radar systems; Analogous systems using reflection or reradiation of waves whose nature or wavelength is irrelevant or unspecified
- G01S13/88—Radar or analogous systems specially adapted for specific applications
- G01S13/89—Radar or analogous systems specially adapted for specific applications for mapping or imaging
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01S—RADIO DIRECTION-FINDING; RADIO NAVIGATION; DETERMINING DISTANCE OR VELOCITY BY USE OF RADIO WAVES; LOCATING OR PRESENCE-DETECTING BY USE OF THE REFLECTION OR RERADIATION OF RADIO WAVES; ANALOGOUS ARRANGEMENTS USING OTHER WAVES
- G01S7/00—Details of systems according to groups G01S13/00, G01S15/00, G01S17/00
- G01S7/02—Details of systems according to groups G01S13/00, G01S15/00, G01S17/00 of systems according to group G01S13/00
- G01S7/41—Details of systems according to groups G01S13/00, G01S15/00, G01S17/00 of systems according to group G01S13/00 using analysis of echo signal for target characterisation; Target signature; Target cross-section
- G01S7/415—Identification of targets based on measurements of movement associated with the target
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F17/00—Digital computing or data processing equipment or methods, specially adapted for specific functions
- G06F17/10—Complex mathematical operations
-
- 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/011—Arrangements for interaction with the human body, e.g. for user immersion in virtual reality
-
- 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
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Remote Sensing (AREA)
- General Physics & Mathematics (AREA)
- Radar, Positioning & Navigation (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Human Computer Interaction (AREA)
- Computer Networks & Wireless Communication (AREA)
- Health & Medical Sciences (AREA)
- Multimedia (AREA)
- Social Psychology (AREA)
- Psychiatry (AREA)
- General Health & Medical Sciences (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Electromagnetism (AREA)
- Mathematical Physics (AREA)
- Data Mining & Analysis (AREA)
- Mathematical Analysis (AREA)
- Mathematical Optimization (AREA)
- Computational Mathematics (AREA)
- Pure & Applied Mathematics (AREA)
- Databases & Information Systems (AREA)
- Software Systems (AREA)
- Algebra (AREA)
- User Interface Of Digital Computer (AREA)
Abstract
本发明公开一种基于轨迹判断的毫米波雷达手势识别方法及装置,该方法包括:步骤1:根据回波信号得到人员手部运动轨迹每个点的数据信息;步骤2:设定轨迹起点和终点的检索方法,不漏掉任何手势且减少轨迹重复判断;步骤3:针对一段给定起点和终点的轨迹,计算其Y坐标和Z坐标关于时刻t的最小二乘直线斜率,排除不可能的基础手势;之后判断当前手势是否是剩余的基础手势;步骤4:如果连续判定出的基础手势构成组合手势,输出组合手势判定结果。本发明装置低成本、低功耗、低运算复杂度,保护用户隐私;本发明方法不需收集特定几种手势的大量数据集进行训练,功能全面且可扩展性较强,同时可保证较高的识别正确率。
Description
技术领域
本发明属于毫米波雷达系统技术领域,尤其涉及的是一种基于轨迹判断的毫米波雷达手势识别方法及装置。
背景技术
动态手势是人机交互最易懂和简便的方式之一。手势识别目前在可穿戴移动设备、手势控制智能电视、手势控制智能家居、自动娱乐系统、增强现实/虚拟现实(AR/VR,augmented/virtual reality)等场景已有一定应用。目前的手势识别系统主要使用的传感器包括基于摄像机的、基于深度的以及带有3D追踪技术的嵌入式手套。但是这些系统均存在较大瓶颈限制其应用。基于摄像机的传感器容易受到光线、颜色、背景的影响,且由于需要处理大规模的图像计算开销较大。基于深度的传感器更容易检测出位置变化,但不能检测出方向和特定的手形态。可穿戴技术会干扰用户日常生活中的其他任务,且将系统输入限制为佩戴输入设备的人。
毫米波雷达传感器不受光线影响,可精确检测到手的具体运动方向和轨迹,其芯片的尺寸可以小于1cm2,且发射的无线信号可以穿透部分材料,因此便于隐藏在设备面板之后,为设备外观设计提供了更多可能性。此外,毫米波雷达具有低成本、低功耗、低运算复杂度等优势,且不收集任何的图像、声音等信息,从本质上规避了用户隐私泄露的风险。
然而,现有的毫米波雷达手势交互系统需要收集特定几种手势的大量数据集进行训练,功能较少、可扩展性较差。因此,设计一套精确度较高、功能全面、可扩展性较强的毫米波雷达手势识别装置对毫米波雷达的商业化应用具有重要意义。
发明内容
本发明的目的在于解决现有毫米波雷达手势识别系统功能不全、可扩展性较差,运算开销较高等问题,为克服现有技术的缺点提出一种基于轨迹判断的毫米波雷达手势识别方法及装置,能够精确判断的基础手势包括左挥、右挥、上挥和下挥,以及基于上述基础手势组成的组合手势。
本发明提出了一种基于轨迹判断的毫米波雷达手势识别方法及装置,该装置主要包括如下部分:毫米波射频收发单元、微控制单元、发射天线和接收天线。
微控制单元与毫米波射频收发单元连接,毫米波射频收发单元分别与发射天线和接收天线连接。毫米波射频收发单元根据雷达波形参数产生相应的毫米波雷达信号,并接收毫米波雷达信号被人员手部反射回来的回波信号,再将回波信号传输给微控制单元;微控制单元使用目前已经商用的成熟微控制单元即可,例如可烧录和运行手势识别程序的单片机,主要功能是处理回波信号得到人员手势判断结果;发射天线用于发射毫米波射频收发单元产生的毫米波雷达信号;接收天线用于接收空间中反射回来的毫米波雷达信号,并将其传输给毫米波射频收发单元。雷达板子为Y-Z平面。和雷达垂直的是X轴,板子正面是X轴的正方向。Y轴和地面平行,人正面对雷达时,左手是Y轴负方向,右手是Y轴正方向。Z轴和地面垂直,向上是Z轴负方向,向下是Z轴正方向。
一种基于轨迹判断的毫米波雷达手势识别方法,主要在微控制单元对于回波信号的处理流程中完成,具体包括如下步骤:
步骤1:微控制单元根据回波信号得到人员手部运动轨迹每个点的数据信息;
步骤2:设定轨迹起点和终点的检索方法,该方法应遵循不漏掉任何手势且减少轨迹重复判断的原则;
步骤3:针对一段给定起点和终点的轨迹,首先计算其Y坐标和Z坐标关于时刻t的最小二乘直线斜率以及各个坐标轴方向的变化幅度,通过最小二乘斜率可以排除不可能的基础手势(基础手势指左挥、右挥、上挥和下挥);排除不可能的基础手势后,结合各个坐标轴方向的变化幅度,仅判断当前手势是否是剩余的基础手势即可。
步骤4:如果连续判定出的基础手势构成组合手势,输出组合手势判定结果。
进一步地,步骤1所述的具体内容如下:
所述人员手部运动轨迹每个点具体包括如下信息:
(1)帧编号frame_num;
(2)毫米波雷达在当前帧采集的点数量target_num;
(3)当前时刻msec;
(4)当前采集的点的三维空间坐标(x,y,z);
进一步地,步骤2所述的轨迹起点和终点的检索方法,具体内容如下:
引入自定义外层函数gStartEndInner更新用于手势判断的轨迹起点和终点,所述的外层函数进行的主要操作如下:
S201、引入状态变量curState,用于指示当前轨迹手势判断结果,其初值可设为“RANDOM”,初始起点和终点均设为毫米波雷达数据采集的第一个点,下一时刻的点到来时起点不变终点变为当前时刻点。同时,给定最小时间间隔minGPartInterval,当起点和终点时间间隔小于minGPartInterval时,不进行对于轨迹的手势判断,即手势判断算法要求单个手势时间间隔不低于minGPartInterval,直到新的点到来,终点更新为当前时刻点且起点和终点时间间隔不小于minGPartInterval时开始进行具体的手势判断;
S202、当起点和终点时间间隔大于或等于minGPartInterval时,判断该段轨迹属于哪一种基础手势,结果可分类为左挥、右挥、上挥、下挥、随机五种状态,随后curState的值更新为相应状态。
若结果为左挥,curState值置为“LEFT”,保持起点不变,终点是当前时刻最后一个点,直到左挥中断,此时输出左挥的起点和终点,考虑到毫米波雷达采集的点是随时间逐渐获取的,为保证实时性,新的起点和终点均变为该左挥结束时的终点,当下一时刻点到来时起点不变,终点变为该时刻的点;右挥、上挥、下挥和左挥同理。
若结果为随机或超过最大时间间隔maxGPartInterval仍未判断出基础手势,起点向前移动一个点,终点不变,直到起点和终点时间间隔小于minGPartInterval,此时终点可向后滑动一个点,起点变为上一个基础手势结束时的终点;
其中,minGPartInterval和maxGPartInterval需结合大量测试人员手势挥动数据并针对给定的手势识别正确率需求进行确定,考虑到人的习惯,通常minGPartInterval取值范围0.3s~1s,maxGPartInterval取值范围1.5s~4s,本领域技术人员也可根据具体应用场景和实际性能需求进行微调。
S203、为提高手势识别算法效率,应减少相同轨迹的重复判断次数,因此,每当有新的点到来之前,以当前最后一个点为终点的轨迹均要判断完毕,从而保证有新的点到来时,只对以该点为终点的轨迹进行手势判断。
进一步地,步骤3所述的具体内容如下:
引入自定义内层函数gStateTrans针对给定起点和终点的一段轨迹给出手势判断结果,该内层函数进行的主要操作如下:
S301、计算轨迹上的点的Y和Z坐标随时间t变化的最小二乘直线斜率YT和ZT;YT和ZT反应的是轨迹分别在Y轴和Z轴方向的平均运动速率;
S302、计算轨迹上的点的X坐标变化幅度dx,这里dx定义为:去掉最大的X坐标和最小X坐标,在剩余X坐标中最大值减去最小值,同理可计算dy和dz;
S303、curState当前值为“RANDOM”的情形:
(a)|YT|>|ZT|,YT<0时,仅需判断当前轨迹是否是左挥即可;
(b)|YT|>|ZT|,YT>0时,仅需判断当前轨迹是否是右挥即可;
(c)|YT|<|ZT|,YT<0时,仅需判断当前轨迹是否是上挥即可;
(d)|YT|<|ZT|,YT>0时,仅需判断当前轨迹是否是下挥即可;
S304、curState当前值不为“RANDOM”的情形:
(a)curState==“LEFT”时,仅需判断左挥是否中断;
(b)curState==“RIGHT”时,仅需判断右挥是否中断;
(c)curState==“UP”时,仅需判断上挥是否中断;
(d)curState==“DOWN”时,仅需判断下挥是否中断。
以左挥为例,判断一段给定起点和终点的轨迹是否是左挥可分两种情况讨论:
第一种情况:cur State==“RANDOM”:对于左挥,Y坐标应符合逐渐减小的趋势,这里定义对于轨迹上相邻时刻采集到的两点,若当前时刻点的Y坐标大于上一时刻点的Y坐标,则认为当前时刻点是坏点。如果|YT|>|ZT|,YT<0且下列条件全部满足时cur State切换为“LEFT”:条件a、坏点数低于预先设定的最大数量或比例,相关数量和比例可通过大量的实验数据并保证手势识别正确率达到90%以上的前提下设定和调整,通常最大坏点数取值范围3~7,最大坏点比例取值范围20%~35%;条件b、轨迹上第二个点和第三个点的Y坐标均小于起点的Y坐标;条件c、轨迹至少包含的点数为minNum,该值的设定需要综合特征要求和实验数据,为3~7;条件d、dy>dz;条件e、dx和dz均不超过指定阈值,该阈值通常可设定为测试人员挥动手势的平均上限距离;条件f、基础手势的挥动设有最小距离minDistance,为了减少其他手势带来的干扰,该装置能够识别的手势挥动幅度要求不小于此最小距离,取值范围通常在0.10m~0.20m。。
第二种情况:cur State==“LEFT”:下列条件满足其一则左挥中断:条件a、连续两个点的Y坐标增大;条件b、连续两个点的Z坐标增大幅度大于Y坐标减小幅度;条件c、连续两个点的Z坐标减小幅度大于Y坐标减小幅度;条件d、坏点数超过预先设定的最大数量或比例,该数量和比例设定与所述第一种情况的条件a相同;条件e、dx或dz超过指定阈值,该阈值设定与所述第一种情况的条件e相同。当左挥中断时,当前轨迹的起点即为该左挥的起点,终点为中断点的前一时刻的点,cur State由“LEFT”切换为“RANDOM”。
同理可判断右挥、上挥和下挥的形成和中断。
进一步地,步骤4所述的具体内容如下:本发明中预先定义了若干组合手势,例如顺时针画矩形由四个基础手势右挥、下挥、左挥、上挥构成。同时,手势识别算法中定义了一个结构体数组用于缓存基础手势的判定结果,当连续出现右挥、下挥、左挥、上挥四个基础手势时,可判定为一个预先定义的组合手势。另一方面考虑到手势在挥动过程中会因为外界干扰发生中断的情形,且组合手势的判定需要所有基础手势均判定成功,故本发明在组合手势的判定过程中将两个连续相同基础手势合并为一个。
一种基于轨迹判断的毫米波雷达手势识别方法及装置,其优点及效果在于:毫米波雷达传感器不受光线影响,可精确检测到手的具体运动方向和轨迹,低成本、低功耗、低运算复杂度,保护用户隐私。基于轨迹判断的手势识别方法充分利用统计学特性,不需收集特定几种手势的大量数据集进行训练,功能全面且可扩展性较强,同时可保证较高的识别正确率。
附图说明
图1为毫米波雷达手势识别装置各个元件基本框图。
图2为微控制单元采用单片机示例图。
图3为手势识别算法基本框图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合附图对本发明的各实施方式进行详细的阐述。然而,本领域的普通技术人员可以理解,在本发明各实施方式中,为了使读者更好地理解本发明而提出了许多技术细节。但是,即使没有这些技术细节和基于以下各实施方式的种种变化和修改,也可以实现本发明所要求保护的技术方案。
本发明提出了一种基于轨迹判断的毫米波雷达手势识别装置。雷达板子为Y-Z平面。和雷达垂直的是X轴,板子正面是X轴的正方向。Y轴和地面平行,人正面对雷达时,左手是Y轴负方向,右手是Y轴正方向。Z轴和地面垂直,向上是Z轴负方向,向下是Z轴正方向。
该装置主要由毫米波射频收发单元、微控制单元、发射天线和接收天线四部分组成,其系统框架如图1所示。毫米波射频收发单元根据雷达波形参数产生相应的毫米波雷达信号,并接收毫米波雷达信号被人员手部反射回来的回波信号,再将回波信号传输给微控制单元;微控制单元使用目前已经商用的成熟微控制单元即可,例如可烧录和运行手势识别程序的单片机(如图2所示),对回波信号处理得到人员手势判断结果;发射天线用于发射所述毫米波射频收发单元产生的毫米波雷达信号;接收天线用于接收空间中反射回来的毫米波雷达信号,并将其传输给毫米波射频收发单元。
本发明,一种基于轨迹判断的毫米波雷达手势识别方法所采用的手势识别算法是基于轨迹判断的统计学方法,主要在微控制单元对于回波信号的处理流程中完成,主要流程如图3所示,具体包括如下步骤:
步骤1:微控制单元根据回波信号得到人员手部移动轨迹每个点的数据信息,数据信息保存在结构体数组trajArray中,trajArray主要包括如下元素:
(1)帧编号frame_num;
(2)毫米波雷达在当前帧采集的点数量target_num;
(3)当前时刻msec;
(4)当前采集的点的坐标(x,y,z);
步骤2:基于轨迹判断的手势识别方法,首先应定义好用于手势判断的轨迹起点和终点的检索方法,该方法应遵循不漏掉任何手势且尽可能地减少轨迹重复判断的原则;为提高手势识别效率,应减少相同轨迹的重复判断次数,因此,每当有新的点到来之前,以当前最后一个点inEndIdx为终点的轨迹均要判断完毕,从而保证有新的点到来时,只对以inEndIdx为终点的轨迹进行手势判断。
本发明中定义外层函数gStartEndInner更新用于手势判断的轨迹起点和终点,并用curState指示当前手势判断状态。gStartEndInner函数输入参数包括:
(1)trajArray,轨迹各个点信息结构体数组;
(2)trajTimeArray,轨迹各个点时刻的数组;
(3)inStartIdx,用于轨迹检索的起点;
(4)inEndIdx,轨迹终点。
该函数返回判定出的各个基础手势的起点和终点。
gStartEndInner函数中调用gStateTrans函数用于判定给定轨迹起点和终点的手势判断结果。gStateTrans函数输入参数包括:
(1)curState,
(2)trajArray,
(3)trajTimeArray,
(4)trajStartIdx,用于手势判断的轨迹起点,初始值等于inStartIdx;
(5)inEndIdx。
该函数返回给定起点和终点的轨迹手势判断结果。
gStartEndInner函数每次运行均对应不同的inEndIdx,而同一gStartEndInner函数下gStateTrans函数每次运行终点固定为inEndIdx,起点trajStartIdx每次运行时更新。
gStartEndInner函数下,有四个静态变量,分别为:
(1)round,当前gStartEndInner函数运行的次数;
(2)completeIdx,可用于记录上一个基础手势中断点前一个点,初值设为0;
(3)lastRoundState,上一次gStartEndInner函数运行时curState的值;
(4)lastRoundEndIdx,上一次gStartEndInner函数运行时用于手势判断的轨迹终点;
运行gStateTrans函数:
(1)若curState由"RANDOM"切换为基础手势之一,记录相应基础手势起点startIdx和当前终点,更新completeIdx;随后起点trajStartIdx保持不变,终点向后滑动(即当前gStartEndInner结束,运行下一次gStartEndInner函数);
(2)若curState由基础手势之一切换为"RANDOM",则当前基础手势已中断,更新completeIdx,当前gStartEndInner结束,下一次运行gStartEndInner函数的起点和终点均变为上一次基础手势结束时的终点;
(3)若curState连续两次运行gStateTrans函数均判定为"RANDOM"或超过最大时间间隔maxGPartInterval仍未判断出基础手势,更新completeIdx,起点trajStartIdx向前移动一个点,终点不变,直到起点和终点时间间隔小于minGPartInterval,此时终点可向后滑动一个点(即当前gStartEndInner函数结束,运行下一次gStartEndInner函数),起点变为上一个基础手势结束时的终点。考虑到人的习惯,通常minGPartInterval取值范围0.3s~1s,maxGPartInterval取值范围1.5s~4s。
每次gStartEndInner函数运行结束前,
lastRoundState=curState;
lastRoundEndIdx=inEndIdx;
round=round+1;
步骤3:gStateTrans函数下调用了isGLeft,isGRight,isGUp,isGDown函数分别用于左挥、右挥、上挥、下挥四种基础手势的判断。另一方面,如果针对一段给定起点和终点的轨迹,将上述四个函数均运行一遍,算法效率会较为低下。因此,为提高算法效率,针对一段给定起点和终点的轨迹,首先计算其Y坐标和Z坐标关于时刻t的最小二乘直线斜率,排除不可能的基础手势,缩小手势判定范围。
S301、计算轨迹上的点Y坐标和Z坐标随时间t变化的最小二乘直线斜率YT和ZT;
S302、curState当前值为“RANDOM”的情况下:
if|YT|>|ZT|,YT<0
运行isGLeft函数;
end
if|YT|>|ZT|,YT>0
运行isGRight函数;
end
if|YT|<|ZT|,YT<0
运行isGUp函数;
end
if|YT|<|ZT|,YT>0
运行isGDown函数;
end
其他情况,curState的值仍为“RANDOM”;
S303、if cur State==“LEFT”
运行isGLeft函数;
手势未中断则curState保持“LEFT”;
手势中断则curState切换为“RANDOM”;
end
if curState==“RIGHT”
运行isGRight函数;
手势未中断则curState保持“RIGHT”;
手势中断则curState切换为“RANDOM”;
end
if curState==“UP”
运行isGUp函数;
手势未中断则cur State保持“UP”;
手势中断则cur State切换为“RANDOM”;
end
if curState==“DOWN”
运行isGDown函数;
手势未中断则curState保持“DOWN”;
手势中断则curState切换为“RANDOM”;
end
S304、排除不可能的基础手势后,仅判断当前手势是否是剩余的基础手势即可。
运行gStateTrans函数时,还需要计算轨迹上的点X坐标变化幅度dx,这里dx定义为去掉最大X坐标和最小X坐标,在剩余X坐标中最大值减去最小值,同理可计算dy和dz;
isGLeft函数具体包括如下步骤:
(1)这里定义对于轨迹上相邻时刻的两点,若当前时刻Y坐标大于上一时刻Y坐标,则认为当前时刻点是坏点。
首先计算轨迹上坏点个数和坏点比例。
(2)if curState==“RANDOM”
除了|YT|>|ZT|,YT<0以外,下列条件需全部满足,则curState切换为“LEFT”.
(a)坏点数低于预先设定的数量或比例,该数量和比例可通过大量的实验数据并保证手势识别正确率达到90%以上的前提下设定和调整,通常最大坏点数取值范围3~7,最大坏点比例取值范围20%~35%;
(b)轨迹上第二个点和第三个点的Y坐标均小于起点Y坐标;
(c)轨迹至少包含的点数为minNum,这个值是综合特征要求和实验数据进行设定的,为了防止手势识别中轻微的手势晃动都被识别,即灵敏性不能太强,所以minNum不能太小,同时需要保证测试人员做出指定手势的难度不能太大,因此结合上百组实验数据可设定为3~7,具体值可结合应用场景下的性能需求最终确定,但不能小于3;
(d)dy>dz;
(e)dx和dz均不超过指定阈值,该阈值通常可设定为测试人员挥动手势的平均上限距离。
(f)基础手势的挥动设有最小距离minDistance,为了减少其他手势带来的干扰,该装置能够识别的手势挥动幅度要求不小于此最小距离,通常取值范围在0.10m~0.20m。
上述条件有一条不满足则curState保持“RANDOM”.
end
(3)if curState==“LEFT”
下列条件满足其一则左挥中断:
(a)连续两个点Y坐标增大;
(b)连续两个点Z坐标增大幅度大于Y坐标减小幅度;
(c)连续两个点Z坐标减小幅度大于Y坐标减小幅度;
(d)坏点数超过预先设定的数量或比例,通常最大坏点数取值范围3~7,最大坏点比例取值范围20%~35%;
(e)dx或dz超过指定阈值,该阈值通常可设定为测试人员挥动手势的平均上限距离。
上述条件均不满足则curState保持“LEFT”.
end
isGRight函数、isGUp函数、isGDown函数与isGLeft函数同理。
步骤4:如果连续判定出的基础手势构成组合手势,输出组合手势判定结果。为节省内存,毫米波雷达采集的手部运动轨迹信息所保存的结构体数组其长度上限设为MAX_TRAJ_CNT,可人为调整,采集的点数过多时,仅保留最新的MAX_TRAJ_CNT个点的信息。gStartInner函数下通过缓存指定数量的基础手势,与预先定义好的组合手势进行对比。由于组合手势的判定需要每个基础手势均判断正确,为提高组合手势识别率,可将时间间隔相近的连续两个相同基础手势合并为一个。
关于组合手势的定义:引入自定义变量combStepCnt表示组合手势包含的基础手势数量,自定义结构体数组combStep用来存储连续的已判定出的基础手势,combStep数组长度为combStepCnt,数组中的每个成员包含如下信息:
(1)state,缓存的基础手势;
(2)elapsedMsec,相邻基础手势最大时间间隔,可根据具体应用场景和需求设定,超过此时间间隔可判定为组合手势中断,新的组合手势判定需要重新开始。
例如顺时针画矩形可定义为:右挥、下挥、左挥、上挥,则
combStepCnt=4;
combStep(1).state="RIGHT";
combStep(1).elapsedMsec=1000000;
combStep(2).state="DOWN";
combStep(2).elapsedMsec=1000000;
combStep(3).state="LEFT";
combStep(3).elapsedMsec=1000000;
combStep(4).state="UP";
combStep(4).elapsedMsec=1000000;
逆时针画矩形可定义为:左挥、下挥、右挥、上挥,则
combStepCnt=4;
combStep(1).state="LEFT";
combStep(1).elapsedMsec=1000000;
combStep(2).state="DOWN";
combStep(2).elapsedMsec=1000000;
combStep(3).state="RIGHT";
combStep(3).elapsedMsec=1000000;
combStep(4).state="UP";
combStep(4).elapsedMsec=1000000。
Claims (8)
1.一种基于轨迹判断的毫米波雷达手势识别方法,其特征在于:该方法包括:
步骤1:通过微控制单元根据回波信号得到人员手部运动轨迹每个点的数据信息;
步骤2:设定轨迹起点和终点的检索方法,该方法应遵循不漏掉任何手势且减少轨迹重复判断的原则;
步骤3:针对一段给定起点和终点的轨迹,首先计算其Y坐标和Z坐标关于时刻t的最小二乘直线斜率,排除不可能的基础手势;排除不可能的基础手势后,结合各个坐标轴方向的变化幅度,仅判断当前手势是否是剩余的基础手势即可;所述的基础手势为左挥、右挥、上挥和下挥;
步骤4:如果连续判定出的基础手势构成组合手势,输出组合手势判定结果;
步骤2所述的轨迹起点和终点的检索方法,包括引入自定义外层函数gStartEndInner更新用于手势判断的轨迹起点和终点,该外层函数gStartEndInner进行的操作如下:
(1)引入当前手势状态变量curState,初值为“RANDOM”,初始起点和终点均设为毫米波雷达数据采集到的第一个点,当起点和终点时间间隔小于minGPartInterval时,不进行对于轨迹的手势判断,直到新的点到来,终点向后移动一个点;
(2)当起点和终点时间间隔大于或等于minGPartInterval时,判断该段轨迹属于哪一种基础手势;结果分类为左挥、右挥、上挥、下挥、随机五种状态:若结果为左挥,curState值置为“LEFT”,保持起点不变,终点是当前时刻采集到的最后一个点直到左挥中断,此时输出左挥的起点和终点,同时新的起点和终点均变为上一个左挥结束时刻的点;右挥、上挥、下挥和左挥同理;
(3)若结果为随机或超过最大时间间隔maxGPartInterval仍未判断出基础手势,起点向前移动一个点,终点不变,直到起点和终点时间间隔小于minGPartInterval,此时终点向后滑动一个点,起点变为上一个基础手势结束时的终点;
所述步骤3的具体过程如下:
引入自定义内层函数gStateTrans针对给定起点和终点的一段轨迹,会根据上一时刻curState的值给出手势判断结果,该内层函数进行的主要操作如下:
S301、计算轨迹上的点的Y和Z坐标随时间t变化的最小二乘直线斜率YT和ZT;YT和ZT反应的是轨迹分别在Y轴和Z轴方向的平均运动速率;
S302、计算轨迹上的点的X坐标变化幅度dx,这里dx定义为:去掉最大的X坐标和最小X坐标,在剩余X坐标中最大值减去最小值,同理计算dy和dz;
S303、curState当前值为“RANDOM”的情形:
(a)|YT|>|ZT|,YT<0时,仅需判断当前轨迹是否是左挥即可;
(b)|YT|>|ZT|,YT>0时,仅需判断当前轨迹是否是右挥即可;
(c)|YT|<|ZT|,YT<0时,仅需判断当前轨迹是否是上挥即可;
(d)|YT|<|ZT|,YT>0时,仅需判断当前轨迹是否是下挥即可;
S304、curState当前值不为“RANDOM”的情形:
(a)curState==“LEFT”时,仅需判断左挥是否中断;
(b)curState==“RIGHT”时,仅需判断右挥是否中断;
(c)curState==“UP”时,仅需判断上挥是否中断;
(d)curState==“DOWN”时,仅需判断下挥是否中断。
2.根据权利要求1所述一种基于轨迹判断的毫米波雷达手势识别方法,其特征在于:步骤1所述人员手部运动轨迹每个点具体包括如下信息:帧编号frame_num;毫米波雷达在当前帧采集的点数量target_num;当前时刻msec;当前采集的点的三维空间坐标(x,y,z)。
3.根据权利要求1所述一种基于轨迹判断的毫米波雷达手势识别方法,其特征在于:所述的minGPartInterval取值范围0.3s~1s,maxGPartInterval取值范围1.5s~4s。
4.根据权利要求1所述一种基于轨迹判断的毫米波雷达手势识别方法,其特征在于:所述的外层函数gStartEndInner在判断时,为减少重复判断,每次有新的点到来之前,以当前时刻最后一个点为终点的轨迹均要判断完毕,保证有新的点到来时,只对以该点为终点的轨迹进行手势判断。
5.根据权利要求1所述一种基于轨迹判断的毫米波雷达手势识别方法,其特征在于:所述的步骤S303 curState当前值为“RANDOM”的情形:
对于左挥,Y坐标应符合逐渐减小的趋势,这里定义对于轨迹上相邻时刻采集到的两点,若当前时刻点的Y坐标大于上一时刻点的Y坐标,则认为当前时刻点是坏点;如果|YT|>|ZT|,YT<0且下列条件全部满足时curState切换为“LEFT”:条件a、坏点数低于预先设定的最大数量或比例,最大坏点数取值范围3~7,最大坏点比例取值范围20%~35%;条件b、轨迹上第二个点和第三个点的Y坐标均小于起点的Y坐标;条件c、轨迹至少包含的点数为minNum,为3~7;条件d、dy>dz;条件e、dx和dz均不超过指定阈值,该阈值设定为测试人员挥动手势的平均上限距离;条件f、基础手势的挥动设有最小距离minDistance,识别的手势挥动幅度要求不小于此最小距离,取值范围在0.10m~0.20m。
6.根据权利要求1所述一种基于轨迹判断的毫米波雷达手势识别方法,其特征在于:所述的步骤S304 curState当前值不为“RANDOM”的情形:若cur State==“LEFT”:下列条件满足其一则左挥中断:条件a、连续两个点的Y坐标增大;条件b、连续两个点的Z坐标增大幅度大于Y坐标减小幅度;条件c、连续两个点的Z坐标减小幅度大于Y坐标减小幅度;条件d、坏点数超过预先设定的最大数量或比例,最大坏点数取值范围3~7,最大坏点比例取值范围20%~35%;条件e、dx或dz超过指定阈值,该阈值设定为测试人员挥动手势的平均上限距离;
当左挥中断时,当前轨迹的起点即为该左挥的起点,终点为中断点的前一时刻的点,curState由“LEFT”切换为“RANDOM”。
7.根据权利要求1所述一种基于轨迹判断的毫米波雷达手势识别方法,其特征在于:所述步骤4预先定义了组合手势,同时定义了一个结构体数组用于缓存基础手势的判定结果,当连续出现右挥、下挥、左挥、上挥四个基础手势时,判定为一个预先定义的组合手势;另一方面在所述的组合手势的判定过程中将两个连续相同基础手势合并为一个。
8.一种基于权利要求1-7任一项所述的轨迹判断的毫米波雷达手势识别方法的装置,其特征在于:该装置包括:毫米波射频收发单元、微控制单元、发射天线和接收天线;
微控制单元与毫米波射频收发单元连接,毫米波射频收发单元分别与发射天线和接收天线连接;毫米波射频收发单元根据雷达波形参数产生相应的毫米波雷达信号,并接收毫米波雷达信号被人员手部反射回来的回波信号,再将回波信号传输给微控制单元;微控制单元用于处理回波信号得到人员手势判断结果;发射天线用于发射毫米波射频收发单元产生的毫米波雷达信号;接收天线用于接收空间中反射回来的毫米波雷达信号,并将其传输给毫米波射频收发单元。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111042676.3A CN113791411B (zh) | 2021-09-07 | 2021-09-07 | 一种基于轨迹判断的毫米波雷达手势识别方法及装置 |
US17/535,973 US20220082684A1 (en) | 2021-09-07 | 2021-11-26 | Millimeter wave radar gesture recognition method and device based on trajectory judgment |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111042676.3A CN113791411B (zh) | 2021-09-07 | 2021-09-07 | 一种基于轨迹判断的毫米波雷达手势识别方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113791411A CN113791411A (zh) | 2021-12-14 |
CN113791411B true CN113791411B (zh) | 2024-05-28 |
Family
ID=78879667
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111042676.3A Active CN113791411B (zh) | 2021-09-07 | 2021-09-07 | 一种基于轨迹判断的毫米波雷达手势识别方法及装置 |
Country Status (2)
Country | Link |
---|---|
US (1) | US20220082684A1 (zh) |
CN (1) | CN113791411B (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114647362B (zh) * | 2022-03-22 | 2024-04-12 | 天马微电子股份有限公司 | 显示面板的触控算法 |
US12026319B2 (en) | 2022-04-13 | 2024-07-02 | Samsung Electronics Co., Ltd. | Dynamic gesture recognition using mmWave radar |
CN115185381A (zh) * | 2022-09-15 | 2022-10-14 | 北京航天奥祥通风科技股份有限公司 | 基于头部的运动轨迹控制终端的方法和装置 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103164696A (zh) * | 2013-03-28 | 2013-06-19 | 深圳泰山在线科技有限公司 | 手势识别方法及装置 |
CN103399662A (zh) * | 2013-07-06 | 2013-11-20 | 广东欧珀移动通信有限公司 | 一种处理触摸屏上报坐标事件的方法、系统及移动终端 |
CN104182037A (zh) * | 2014-06-17 | 2014-12-03 | 惠州市德赛西威汽车电子有限公司 | 一种基于坐标变换的手势识别方法 |
CN108845747A (zh) * | 2018-04-23 | 2018-11-20 | 普联技术有限公司 | 一种防误触控方法、装置和终端设备 |
CN112034446A (zh) * | 2020-08-27 | 2020-12-04 | 南京邮电大学 | 一种基于毫米波雷达的手势识别系统 |
CN112363156A (zh) * | 2020-11-12 | 2021-02-12 | 苏州矽典微智能科技有限公司 | 隔空手势识别方法和装置以及智能设备 |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10817065B1 (en) * | 2015-10-06 | 2020-10-27 | Google Llc | Gesture recognition using multiple antenna |
CN108803862B (zh) * | 2017-04-28 | 2020-08-11 | 腾讯科技(深圳)有限公司 | 用于虚拟现实场景中的账号关系建立方法及装置 |
TWI634344B (zh) * | 2017-06-07 | 2018-09-01 | 國立中山大學 | 三維軌跡偵測系統 |
CN108509042A (zh) * | 2018-03-29 | 2018-09-07 | 莆田市烛火信息技术有限公司 | 一种终端手势操作识别方法及终端 |
CN111476058B (zh) * | 2019-01-23 | 2024-05-14 | 北京邮电大学 | 一种基于毫米波雷达的手势识别方法 |
CN111624572B (zh) * | 2020-05-26 | 2023-07-18 | 京东方科技集团股份有限公司 | 一种人体手部与人体手势识别的方法及装置 |
-
2021
- 2021-09-07 CN CN202111042676.3A patent/CN113791411B/zh active Active
- 2021-11-26 US US17/535,973 patent/US20220082684A1/en active Pending
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103164696A (zh) * | 2013-03-28 | 2013-06-19 | 深圳泰山在线科技有限公司 | 手势识别方法及装置 |
CN103399662A (zh) * | 2013-07-06 | 2013-11-20 | 广东欧珀移动通信有限公司 | 一种处理触摸屏上报坐标事件的方法、系统及移动终端 |
CN104182037A (zh) * | 2014-06-17 | 2014-12-03 | 惠州市德赛西威汽车电子有限公司 | 一种基于坐标变换的手势识别方法 |
CN108845747A (zh) * | 2018-04-23 | 2018-11-20 | 普联技术有限公司 | 一种防误触控方法、装置和终端设备 |
CN112034446A (zh) * | 2020-08-27 | 2020-12-04 | 南京邮电大学 | 一种基于毫米波雷达的手势识别系统 |
CN112363156A (zh) * | 2020-11-12 | 2021-02-12 | 苏州矽典微智能科技有限公司 | 隔空手势识别方法和装置以及智能设备 |
Also Published As
Publication number | Publication date |
---|---|
US20220082684A1 (en) | 2022-03-17 |
CN113791411A (zh) | 2021-12-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN113791411B (zh) | 一种基于轨迹判断的毫米波雷达手势识别方法及装置 | |
US11383166B2 (en) | Interaction method of application scene, mobile terminal, and storage medium | |
CN103353935B (zh) | 一种用于智能家居系统的3d动态手势识别方法 | |
CN102970548B (zh) | 一种图像深度感知装置 | |
CN109218535B (zh) | 智能调节音量的方法、装置、存储介质及终端 | |
CN103970264B (zh) | 手势辨识与控制方法及其装置 | |
CN110505408B (zh) | 终端拍摄方法、装置、移动终端及可读存储介质 | |
CN106055097A (zh) | 一种亮屏控制方法、装置及电子设备 | |
CN102446032A (zh) | 基于摄像头的信息输入方法及终端 | |
CN109753892B (zh) | 人脸皱纹的生成方法、装置、计算机存储介质和终端 | |
WO2021017947A1 (zh) | 终端控制方法、装置、移动终端及存储介质 | |
CN109829982B (zh) | 模型匹配方法、装置、终端设备及存储介质 | |
WO2023284418A1 (zh) | 定位方法、装置、电子设备以及计算机可读存储介质 | |
CN105306819A (zh) | 一种基于手势控制拍照的方法及装置 | |
WO2023134663A1 (zh) | 运动的识别方法、装置、电子设备和可读存储介质 | |
CN110198413A (zh) | 一种视频拍摄方法、视频拍摄装置和电子设备 | |
CN110069125B (zh) | 虚拟对象的控制方法和装置 | |
CN110502108A (zh) | 设备控制方法、装置以及电子设备 | |
CN114510140A (zh) | 一种调频方法、装置及电子设备 | |
CN110908517B (zh) | 图像编辑方法、装置、电子设备及介质 | |
CN116030512A (zh) | 注视点检测方法及装置 | |
WO2024055748A1 (zh) | 一种头部姿态估计方法、装置、设备以及存储介质 | |
CN109947345B (zh) | 一种指纹识别方法和终端设备 | |
WO2022227833A1 (zh) | 内容显示方法、装置、终端、车辆和可读存储介质 | |
EP3979619A1 (en) | Video recording method and terminal |
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 |