CN111695420B - 一种手势识别方法以及相关装置 - Google Patents

一种手势识别方法以及相关装置 Download PDF

Info

Publication number
CN111695420B
CN111695420B CN202010368240.2A CN202010368240A CN111695420B CN 111695420 B CN111695420 B CN 111695420B CN 202010368240 A CN202010368240 A CN 202010368240A CN 111695420 B CN111695420 B CN 111695420B
Authority
CN
China
Prior art keywords
point cloud
cloud data
data set
sub
gesture recognition
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
Application number
CN202010368240.2A
Other languages
English (en)
Other versions
CN111695420A (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.)
Huawei Technologies Co Ltd
Original Assignee
Huawei Technologies Co Ltd
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 Huawei Technologies Co Ltd filed Critical Huawei Technologies Co Ltd
Priority to CN202010368240.2A priority Critical patent/CN111695420B/zh
Publication of CN111695420A publication Critical patent/CN111695420A/zh
Priority to PCT/CN2021/088850 priority patent/WO2021218753A1/zh
Priority to EP21795861.0A priority patent/EP4131064A4/en
Priority to US17/976,629 priority patent/US20230067322A1/en
Application granted granted Critical
Publication of CN111695420B publication Critical patent/CN111695420B/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
    • G06F3/00Input 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/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/017Gesture based interaction, e.g. based on a set of recognized hand gestures
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01SRADIO 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/00Systems 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/02Systems using reflection of radio waves, e.g. primary radar systems; Analogous systems
    • G01S13/06Systems determining position data of a target
    • G01S13/42Simultaneous measurement of distance and other co-ordinates
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01SRADIO 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/00Systems 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/02Systems using reflection of radio waves, e.g. primary radar systems; Analogous systems
    • G01S13/50Systems of measurement based on relative movement of target
    • G01S13/58Velocity or trajectory determination systems; Sense-of-movement determination systems
    • G01S13/583Velocity or trajectory determination systems; Sense-of-movement determination systems using transmission of continuous unmodulated waves, amplitude-, frequency-, or phase-modulated waves and based upon the Doppler effect resulting from movement of targets
    • G01S13/584Velocity or trajectory determination systems; Sense-of-movement determination systems using transmission of continuous unmodulated waves, amplitude-, frequency-, or phase-modulated waves and based upon the Doppler effect resulting from movement of targets adapted for simultaneous range and velocity measurements
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01SRADIO 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/00Systems 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/66Radar-tracking systems; Analogous systems
    • G01S13/72Radar-tracking systems; Analogous systems for two-dimensional tracking, e.g. combination of angle and range tracking, track-while-scan radar
    • G01S13/723Radar-tracking systems; Analogous systems for two-dimensional tracking, e.g. combination of angle and range tracking, track-while-scan radar by using numerical data
    • G01S13/726Multiple target tracking
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01SRADIO 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/00Systems 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/88Radar or analogous systems specially adapted for specific applications
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01SRADIO 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/00Systems 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/88Radar or analogous systems specially adapted for specific applications
    • G01S13/89Radar or analogous systems specially adapted for specific applications for mapping or imaging
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01SRADIO 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/00Details of systems according to groups G01S13/00, G01S15/00, G01S17/00
    • G01S7/02Details of systems according to groups G01S13/00, G01S15/00, G01S17/00 of systems according to group G01S13/00
    • G01S7/41Details 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/417Details 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 involving the use of neural networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/23Clustering techniques
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/24Classification techniques
    • G06F18/241Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/044Recurrent networks, e.g. Hopfield networks
    • G06N3/0442Recurrent networks, e.g. Hopfield networks characterised by memory or gating, e.g. long short-term memory [LSTM] or gated recurrent units [GRU]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • G06N3/084Backpropagation, e.g. using gradient descent
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/70Arrangements for image or video recognition or understanding using pattern recognition or machine learning
    • G06V10/762Arrangements for image or video recognition or understanding using pattern recognition or machine learning using clustering, e.g. of similar faces in social networks
    • G06V10/7635Arrangements for image or video recognition or understanding using pattern recognition or machine learning using clustering, e.g. of similar faces in social networks based on graphs, e.g. graph cuts or spectral clustering
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/70Arrangements for image or video recognition or understanding using pattern recognition or machine learning
    • G06V10/82Arrangements for image or video recognition or understanding using pattern recognition or machine learning using neural networks
    • 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/10Human or animal bodies, e.g. vehicle occupants or pedestrians; Body parts, e.g. hands
    • G06V40/107Static hand or arm
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/045Combinations of networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V2201/00Indexing scheme relating to image or video recognition or understanding
    • G06V2201/12Acquisition of 3D measurements of objects

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Remote Sensing (AREA)
  • Radar, Positioning & Navigation (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Evolutionary Computation (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Data Mining & Analysis (AREA)
  • Artificial Intelligence (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Health & Medical Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • Multimedia (AREA)
  • Human Computer Interaction (AREA)
  • Software Systems (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Computing Systems (AREA)
  • Electromagnetism (AREA)
  • Computational Linguistics (AREA)
  • Evolutionary Biology (AREA)
  • Molecular Biology (AREA)
  • Biophysics (AREA)
  • Psychiatry (AREA)
  • Social Psychology (AREA)
  • Biomedical Technology (AREA)
  • Mathematical Physics (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Medical Informatics (AREA)
  • Databases & Information Systems (AREA)
  • Spectroscopy & Molecular Physics (AREA)
  • User Interface Of Digital Computer (AREA)

Abstract

本申请实施例公开了一种手势识别方法以及相关装置,通过对雷达装置采集的原始点云数据集进行筛选,得到第一点云数据集。第一点云数据集包括多帧第一子点云数据集,第一子点云数据集包括第一聚类中心,第一聚类中心为第一子点云数据集中多个点云数据的聚类中心,任意两个第一聚类中心之间的最大水平距离满足第一预设条件,第一点云数据集的时间长度满足第一预设条件。可有效滤除运动轨迹与手势运动不相符的点云数据。使用筛选后得到的第一点云数据集进行手势识别,可以降低误触发概率,改善用户的人机交互体验。

Description

一种手势识别方法以及相关装置
技术领域
本申请涉及信息处理技术领域,尤其涉及一种手势识别方法以及相关装置。
背景技术
近年来随着智能家居与可穿戴设备的迅速发展,用于计算的设备无处不在并融入到人们生活的环境当中。为方便人与计算设备的交互,相对于传统的接触式人机交互方式,有必要提出一种更加自然、使用户尽可能摆脱对输入设备等依赖的交互方式,如隔空手势。隔空手势是一类非接触式的、能够使用户以徒手方式进行操作的空中手势,其本质是一种不给用户手势交互带来任何不便的自然人机交互方式。
隔空手势通过用户自然地利用手指、手腕和手臂动作表达其交互意图,主要包括指、挥手、握拳、手掌转动等,具有更广阔的交互空间、更高的灵活度和更好的交互体验等特点。依据感知设备的不同,目前主要分为基于计算机视觉、超声波和电磁波信号的三大类手势识别技术。
以电磁波信号为例,为实现手势动作的识别,提出了利用基于调频连续波(frequency modulated continuous wave,FMCW)调制方式的雷达进行手势动作的感知。雷达传感器向用户发送雷达信号后,雷达信号作用于人体产生反射信号。雷达传感器根据这些反射信号生成点云(point cloud)数据集。但是目前,雷达难以判断这些点云数据集是否是手部动作或有效手势动作所产生的点云数据,造成手势识别的误触发概率较高。
发明内容
本申请实施例提供了一种手势识别方法,降低手势识别的误触发概率,改善用户的人机交互体验。
第一方面,本申请实施例提供了一种手势识别方法,可以包括:
首先,手势识别装置获取原始点云数据集,该原始点云数据集包括多个子点云数据集,每个子点云数据集对应该原始点云数据集中的一帧。每个子点云数据集包括多个点云数据,该多个点云数据对应多个反射信号,该反射信号与雷达装置发射的雷达信号对应;
其次,对原始点云数据集进行筛选,得到第一点云数据集。具体的,第一点云数据集包括多个第一子点云数据集,每个第一子点云数据集对应第一点云数据集中的一帧,该多个第一子点云数据集在时间上连续。对原始点云数据集进行聚类处理,然后根据该原始点云数据集中各个子点云数据集的聚类中心之间的最大水平距离进行筛选,得到第一点云数据集。在第一子点云数据集中,该聚类中心称为第一聚类中心,在第一点云数据集中任意两个第一聚类中心之间的最大水平距离满足第一预设条件。该第一点云数据集的时间长度满足第一预设条件,即第一点云数据集中第一个第一子点云数据集至最后一个第一子点云数据集的时间长度满足第一预设条件。该原始点云数据集中各个子点云数据集的聚类中心可视为人体在雷达装置的探测区域中的位置。因此,第一点云数据集中任意两个第一聚类中心之间的最大水平距离过大时,可以认为该人体在走动或跑动,此时,不启动手势识别。当任意两个第一聚类中心的最大水平距离满足第一预设条件时(小于第三门限,第三门限可以是0.5米、0.8米、1米或1.2米,此处不做限定),可以认为该人体处于相对静止状态,可以认为该人体正在进行基于手势的人机交互操作,启动手势识别。此外,还需要基于时间长度对该原始点云数据集进行筛选,第一点云数据集的时间长度(即第一点云数据集中第一个第一子点云数据集至最后一个第一子点云数据集之间的时间长度)太长时,认为使用者处于相对静止状态,例如以雷达装置部署于智能电视为例,使用者处于观看电视节目的状态时,则不启动手势识别。第一点云数据集的时间长度太短时,认为使用者晃动身体或做其它持续时间较短动作,例如挠头或拿水杯等,也不启动手势识别。只有当第一点云数据集的时间长度满足第一预设条件时(第一点云数据集的时间长度处于大于第四门限且小于第五门限,第四门限可以是0.3秒、0.4秒或0.5秒,第五门限可以是2.4秒、2.5秒、2.6秒或2.8秒,此处不作限定),启动手势识别,例如:第一点云数据集的时间长度满足小于2.5秒且大于0.5秒。
再次,根据第一点云数据集中点云数据的特征值进行手势识别,特征值包括点云数据在空间坐标系中的坐标值、距离或速度中的至少一项。
本申请实施例中,对原始点云数据集进行筛选,得到第一点云数据集。第一点云数据集中包括多帧第一子点云数据集,每帧第一子点云数据集对应第一点云数据集中的一帧,这些第一子点云数据集在时间上连续。第一点云数据集中任意两个第一聚类中心之间的最大水平距离满足第一预设条件,且,多帧第一子点云数据集对应的时间长度满足第一预设条件。最终使用这个第一点云数据集中点云数据的特征值进行手势识别。由于第一聚类中心位置的变化轨迹可以视为探测目标的运动轨迹;多个连续的第一子点云数据集所对应的时间长度,可视为探测目标的运动时间长度。因此,通过对原始点云数据集进行筛选,可有效滤除运动轨迹过大或过小所对应的点云数据集,且滤除运动时间长度过长或过短所对应的点云数据集。这些被滤除的点云数据集中包括的点云数据为无效数据。然后使用筛选后的点云数据集进行手势识别,从而降低误触发概率,改善用户的人机交互体验。
结合第一方面,在第一方面的一种可选设计中,根据第一点云数据集中点云数据的特征值进行手势识别,包括:首先,对第一点云数据集中每一帧进行聚类处理,生成第二点云数据集。具体的,对每一帧中点云数据最多的子类进行聚类处理。例如:第一点云数据集的第5帧包括3个子类,每个子类由若干个点云数据组成。则选取点云数据最多的子类作为第二点云数据集中的第5帧的点云数据,然后对该子类进行聚类处理。生成的聚类中心称为第二聚类中心。该第二点云数据集中包括多帧第二子点云数据集,第二子点云数据集为对应的第一子点云数据集中聚类后点云数量最多的子类,第二子点云数据集包括第二聚类中心,第二聚类中心的边界框(bounding box)尺寸小于等于第一聚类中心的边界框尺寸。其次,根据第二点云数据集中点云数据的特征值进行手势识别。
本申请实施例中,通过对第一点云数据集中的点云数据进行二次聚类处理,生成第二点云数据集,第二点云数据集包括多个第二子点云数据集,第二子点云数据集包括第二聚类中心,第二聚类中心的边界框尺寸小于或等于第一聚类中心的边界框尺寸。由于近距离场景下,雷达装置接收到的反射信号主要来自于手部的反射信号;但在远距离场景下,由于视野更大,雷达装置接收到的反射信号来自于手部、躯干以及多目标体的反射信号。通过上述二次聚类,可以有效过滤躯干或其它目标的反射信号产生的点云数据。提升了应用于近距离场景时的手势识别准确率。
结合第一方面,在第一方面的一种可选设计中,对第一点云数据集进行聚类处理,生成第二点云数据集之前,方法还包括:当第一点云数据集的帧数与预设帧数不一致时,规整第一点云数据集,其中,将规整前第一点云数据集的帧数扩充或压缩至预设帧数,规整后第一点云数据集的帧数为预设帧数,预设帧数由雷达装置发送雷达信号的帧率确定。当手势识别装置得到第一点云数据集后,检测该第一点云数据集的帧数(即第一点云数据集中第一子点云数据集的数量)与预设帧数是否一致。该预设帧数由雷达装置100发送雷达信号的帧率确定,例如:该雷达装置100发送雷达信号的帧率为20赫兹。当第一点云数据集的帧数为15帧,与预设帧数不一致,则需要将第一点云数据集的帧数扩大至预设帧数(20帧);当第一点云数据集的帧数为25帧,与预设帧数不一致,则需要将第一点云数据集的帧数压缩至预设帧数。将第一点云数据集的帧数扩充或压缩至预设帧数,在本申请实施例中称为“规整”。
可选的,按照时间顺序,取规整前第一点云数据集中单数位第一子点云数据集作为规整后的第一点云数据集。
可选的,按照时间顺序,取规整前第一点云数据集中双数位第一子点云数据集作为规整后的第一点云数据集。
可选的,按照第一点云数据集的时间顺序,选取规整前第一点云数据集中多帧第一子点云数据集的点云数据的并集,作为规整后第一点云数据集中一个第一子点云数据集的点云数据;或,选取规整前第一点云数据集中一个第一子点云数据集的点云数据,作为规整后第一点云数据集中多帧第一子点云数据集的点云数据。
可选的,通过如下方法规整第一点云数据集:
其中,为规整后第一点云数据集,/>为规整前第一点云数据集,/>为规整后第一点云数据集中的第i帧第一子点云数据集,/>为规整前第一点云数据集中第k帧子点云数据集,/>由γ个/>中点云数据的并集组成,t为原始点云数据集中子点云数据集的帧数,F为预设帧数。
本申请实施例中,由于不同个体执行手部动作的快慢不一,例如:张三的右手画一个圈用时0.8秒,李四的右手画一个圈用时1.2秒,则用时不同对应点云数据集的时间长度也不同,造成了识别困难。通过对第一点云数据集进行规整处理,将不同个体产生的第一点云数据集的时间长度规整至预设帧数,降低了手势识别难度,提升了手势识别的准确率。
结合第一方面,在第一方面的一种可选设计中,根据第二点云数据集中点云数据的特征值进行手势识别,包括:
首先,根据第二子点云数据集中各个点云数据的速度,确定速度平均值,速度平均值为第二子点云数据集中各个点云数据的速度平均值。例如:第二点云数据集包括5帧,对这5帧第二子点云数据集中所有的点云数据的速度求平均值。其次,根据该速度平均值,滤除该第二子点云数据集中与该速度平均值正负性不一致的点云数据,确定第三子点云数据集,其中,该第三子点云数据集中各个点云的该速度与该速度平均值的正负性一致。该第三点云数据集中包括多个该第三子点云数据集,该第三点云数据集的帧数与该第二点云数据集的帧数一致。再次,根据第三点云数据集中点云数据的特征值进行手势识别。
本申请实施例中,通过对第一点云数据集的进一步筛选与处理,使得最终进行手势识别的点云数据与人体真实的手部动作更为匹配。可以有效提升手势识别的准确性。
结合第一方面,在第一方面的一种可选设计中,由于人体正常呼吸时胸部会产生起伏,雷达信号照射到胸部上所产生的反射信号同样会以点云数据的形式记录在原始点云数据集。同样的,人体不可能完全静止,当人体轻微晃动时,人体位置的变化也会以点云数据的形式记录在点云数据集中。这类与手部动作无关的点云数据,在本申请实施例中称为“微运动点云数据”。为了避免微运动点云数据对后续手势识别带来负面影响,需要从原始点云数据集中滤除。具体的,设置第一门限,并使用该第一门限滤除原始点云数据集中的点云数据,原始点云数据集中速率小于或等于该第一门限的点云数据均被滤除。可选的,该第一门限为0.15米/每秒、或0.10米/每秒。为了保证第一点云数据集对应的动作是连续的,将该原始点云数据集中,临近两帧之间时间长度大于或等于第二门限的子点云数据集滤除。第一点云数据集中点云数据的速率大于第一门限,第一点云数据集中连续的两帧第一子点云数据集之间的时间长度小于第二门限。本申请实施例中,通过对原始点云数据集的进一步筛选与处理,使得最终进行手势识别的第一点云数据集与人体真实的手部动作更为匹配。可以有效提升手势识别的准确性。
结合第一方面,在第一方面的一种可选设计中,特征值经过方差处理、中位数处理、最值处理或平均值处理。
结合第一方面,在第一方面的一种可选设计中,特征值经过归一化处理。对第一点云数据集中点云数据的特征值进行归一化处理,可有效提升手势识别装置的泛化能力(generalization ability),可以适应不同人群、不同手势幅度大小以及不同距离空间下的场景。
结合第一方面,在第一方面的一种可选设计中,根据第一点云数据集中点云数据的特征值进行手势识别,包括:使用神经网络模型对第一点云数据集中点云数据的特征值进行处理,进行手势识别,神经网络模型包括环神经网络(recurrent neural network,RNN),例如:长短期记忆网络(long short-term memory,LSTM)、双向长短期记忆循环神经网络(bi-directional long short-term memory,Bi-LSTM)或多层长短期记忆循环神经网络(multi-LSTM)等。本申请实施例中,基于归一化处理后的第一点云数据集进行手势识别,具体采用循环神经网络进行分类,可有效降低神经网络模块的复杂度与计算量,提高手势识别的实时性。
结合第一方面,在第一方面的一种可选设计中,根据第一点云数据集中点云数据的特征值进行手势识别,包括:首先,根据第一点云数据集中点云数据的特征值,和,预设的点云数据集合进行相似度计算。具体的,通过动态时间规划方式,或,向量余弦方式计算第一点云数据集与预设的点云数据集之间的相似度,基于该相似度进行手势识别。该预设的点云数据集的数量此处不作限制,预设的点云数据集可以是一个或多个预设的点云数据集,每个预设的点云数据集对应一个预定义手势。示例性的:预设的点云数据集A对应向右挥手,预设的点云数据集B对应向左挥手,预设的点云数据集C对应逆时针转圈。手势识别装置通过计算第一点云数据集与预设的点云数据集之间的相似度,基于该相似度进行手势识别。其次,根据相似度计算的结果,确定第一点云数据集对应的手势。本申请实施例中,除了使用神经网络模型外,还可以基于相似度计算结果进行手势识别,提升了本申请的实现灵活性。
第二方面,本申请提供了一种手势识别装置,包括:
获取模块,用于获取原始点云数据集,该原始点云数据集包括多个点云数据,该多个点云数据对应多个反射信号,该反射信号与雷达装置发射的雷达信号对应;处理模块,用于对该原始点云数据集进行筛选,得到第一点云数据集,该第一点云数据集包括多帧第一子点云数据集,每帧该第一子点云数据集对应该第一点云数据集中的一帧,该多帧第一子点云数据集在时间上连续,该第一子点云数据集包括第一聚类中心,该第一聚类中心为该第一子点云数据集中多个点云数据的聚类中心,任意两个该第一聚类中心之间的最大水平距离满足第一预设条件,该第一点云数据集的时间长度满足该第一预设条件;该处理模块,还用于根据该第一点云数据集中点云数据的特征值进行手势识别,该特征值包括点云数据在空间坐标系中的坐标值、距离或速度中的至少一项。
结合第二方面,在第二方面的一种可选设计中,该处理模块,具体用于对该第一点云数据集进行聚类处理,生成第二点云数据集,其中,该第二点云数据集中包括多帧第二子点云数据集,该第二子点云数据集为对应的该第一子点云数据集中聚类后点云数据最多的子类,该第二子点云数据集包括第二聚类中心,该第二聚类中心的边界框尺寸小于等于该第一聚类中心的边界框尺寸;该处理模块,具体用于根据该第二点云数据集中点云数据的该特征值进行手势识别。
结合第二方面,在第二方面的一种可选设计中,该处理模块,还用于当该第一点云数据集的帧数与预设帧数不一致时,规整该第一点云数据集,其中,将规整前该第一点云数据集的帧数扩充或压缩至该预设帧数,规整后该第一点云数据集的帧数为该预设帧数,该预设帧数由该雷达装置发送该雷达信号的帧率确定。
结合第二方面,在第二方面的一种可选设计中,该处理模块具体用于,按照该第一点云数据集的时间顺序,选取规整前该第一点云数据集中多帧该第一子点云数据集的点云数据的并集,作为规整后该第一点云数据集中一个该第一子点云数据集的点云数据;或,选取规整前该第一点云数据集中一个该第一子点云数据集的点云数据,作为规整后该第一点云数据集中多帧该第一子点云数据集的点云数据。
结合第二方面,在第二方面的一种可选设计中,该处理模块,具体用于根据该第二子点云数据集中各个点云数据的该速度,确定速度平均值,该速度平均值为该第二子点云数据集中各个点云数据的速度平均值;该处理模块,具体用于根据该速度平均值,滤除该第二子点云数据集中与该速度平均值正负性不一致的点云数据,确定第三子点云数据集,其中,该第三子点云数据集中各个点云的该速度与该速度平均值的正负性一致;该处理模块,具体用于根据第三点云数据集中点云数据的该特征值进行手势识别,其中,该第三点云数据集中包括多个该第三子点云数据集,该第三点云数据集的帧数与该第二点云数据集的帧数一致。
结合第二方面,在第二方面的一种可选设计中,该第一点云数据集中点云数据的速率大于第一门限,该第一点云数据集中连续的两帧该第一子点云数据集之间的时间长度小于第二门限。
结合第二方面,在第二方面的一种可选设计中,该特征值经过方差处理、中位数处理、最值处理或平均值处理。
结合第二方面,在第二方面的一种可选设计中,该特征值经过归一化处理。
结合第二方面,在第二方面的一种可选设计中,该处理模块,具体用于使用神经网络模型对该第一点云数据集中点云数据的该特征值进行处理,进行手势识别,该神经网络模型包括循环神经网络。
结合第二方面,在第二方面的一种可选设计中,该处理模块,具体用于根据该第一点云数据集中点云数据的该特征值,和,预设的点云数据集合进行相似度计算;
该处理模块,具体用于根据该相似度计算的结果,确定该第一点云数据集对应的手势。
结合第二方面,在第二方面的一种可选设计中,该第一预设条件为:任意两个该第一聚类中心之间的最大水平距离小于第三门限,该第一点云数据集的时间长度对应的时间长度小于第四门限且大于第五门限。
第三方面,本申请提供了一种雷达装置,包括雷达天线和处理器,该雷达天线与该处理器通信连接,该雷达天线,用于发送雷达信号,接收雷达信号的反射信号,并将反射信号输送至处理器;
该处理器,用于获取原始点云数据集,该原始点云数据集包括多个点云数据,该多个点云数据对应多个反射信号,该反射信号与雷达装置发射的雷达信号对应;对该原始点云数据集进行筛选,得到第一点云数据集,该第一点云数据集包括多帧第一子点云数据集,该第一子点云数据集包括第一聚类中心,该第一聚类中心为该第一子点云数据集中多个点云数据的聚类中心,任意两个该第一聚类中心之间的最大水平距离满足第一预设条件,该第一点云数据集的时间长度满足该第一预设条件;根据该第一点云数据集中点云数据的特征值进行手势识别,该特征值包括点云数据在空间坐标系中的坐标值、距离或速度中的至少一项。
结合第三方面,在第三方面的一种可选设计中,该处理器,具体用于:对该第一点云数据集进行聚类处理,生成第二点云数据集,其中,该第二点云数据集中包括多帧第二子点云数据集,该第二子点云数据集为对应的该第一子点云数据集中聚类后点云数据最多的子类,该第二子点云数据集包括第二聚类中心,该第二聚类中心的边界框尺寸小于等于该第一聚类中心的边界框尺寸;根据该第二点云数据集中点云数据的该特征值进行手势识别。
结合第三方面,在第三方面的一种可选设计中,该处理器,还用于:当该第一点云数据集的帧数与预设帧数不一致时,规整该第一点云数据集,其中,将规整前该第一点云数据集的帧数扩充或压缩至该预设帧数,规整后该第一点云数据集的帧数为该预设帧数,该预设帧数由该雷达装置发送该雷达信号的帧率确定。
结合第三方面,在第三方面的一种可选设计中,该处理器,具体用于:按照该第一点云数据集的时间顺序,选取规整前该第一点云数据集中多帧该第一子点云数据集的点云数据的并集,作为规整后该第一点云数据集中一个该第一子点云数据集的点云数据;或,选取规整前该第一点云数据集中一个该第一子点云数据集的点云数据,作为规整后该第一点云数据集中多帧该第一子点云数据集的点云数据。
结合第三方面,在第三方面的一种可选设计中,该处理器,具体用于:根据该第二子点云数据集中各个点云数据的该速度,确定速度平均值,该速度平均值为该第二子点云数据集中各个点云数据的速度平均值;根据该速度平均值,滤除该第二子点云数据集中与该速度平均值正负性不一致的点云数据,确定第三子点云数据集,其中,该第三子点云数据集中各个点云数据的该速度与该速度平均值的正负性一致;根据第三点云数据集中点云数据的该特征值进行手势识别,其中,该第三点云数据集中包括多个该第三子点云数据集,该第三点云数据集的帧数与该第二点云数据集的帧数一致。
结合第三方面,在第三方面的一种可选设计中,该第一点云数据集中点云数据的速率大于第一门限,该第一点云数据集中连续的两帧该第一子点云数据集之间的时间长度小于第二门限。
结合第三方面,在第三方面的一种可选设计中,该特征值经过方差处理、中位数处理、最值处理或平均值处理。
结合第三方面,在第三方面的一种可选设计中,该特征值经过归一化处理。
结合第三方面,在第三方面的一种可选设计中,该处理器,具体用于:使用神经网络模型对该第一点云数据集中点云数据的该特征值进行处理,进行手势识别,该神经网络模型包括循环神经网络。
结合第三方面,在第三方面的一种可选设计中,该处理器,具体用于:根据该第一点云数据集中点云数据的该特征值,和,预设的点云数据集合进行相似度计算;根据该相似度计算的结果,确定该第一点云数据集对应的手势。
结合第三方面,在第三方面的一种可选设计中,该第一预设条件为:任意两个该第一聚类中心之间的最大水平距离小于第三门限,该第一点云数据集的时间长度对应的时间长度小于第四门限且大于第五门限。
第四方面,本申请提供了一种手势识别系统,包括:雷达装置和如第二方面以及第二方面中任一种手势识别装置。该雷达装置和该手势识别装置通信连接;该雷达装置,用于发送雷达信号;该雷达装置,还用于接收反射信号,根据该反射信号生成原始点云数据集,并发送该原始点云数据集至该手势识别装置;该手势识别装置,用于根据该原始点云数据集进行手势识别,并执行如第一方面以及第一方面中任一种手势识别方法。
第五方面,本申请还提供了一种手势识别装置,该装置包括处理器以及存储器;该存储器用于存储程序代码,并将该程序代码传输给该处理器;该处理器用于根据该程序代码中的指令执行如第一方面以及第一方面中任一种手势识别方法。
第六方面,本申请还提供了一种物联网设备,其特征在于,该物联网设备包括如第二方面以及第二方面中任一种手势识别装置。
第七方面,本申请提供了一种芯片系统,该芯片系统包括处理器,用于支持雷达装置实现上述方面中所涉及的功能,例如,例如发送或处理上述方法中所涉及的数据和/或信息。在一种可能的设计中,芯片系统还包括存储器,存储器,用于保存雷达装置必要的程序指令和数据。该芯片系统,可以由芯片构成,也可以包括芯片和其他分立器件。
第八方面,本申请提供了一种计算机可读存储介质,包括程序,当其在计算机上运行时,使得计算机执行如上述第一方面所述的方法。
从以上技术方案可以看出,本申请实施例具有以下优点:
原始点云数据集进行筛选,得到第一点云数据集。第一点云数据集中包括多帧第一子点云数据集,每帧第一子点云数据集对应第一点云数据集中的一帧,这些第一子点云数据集在时间上连续。第一点云数据集中任意两个第一聚类中心之间的最大水平距离满足第一预设条件,且,第一点云数据集的时间长度满足第一预设条件。最终根据这个第一点云数据集中点云数据的特征值进行手势识别。
第一点云数据集中,各个第一聚类中心的位置变化轨迹可以视为探测目标(例如手部)的运动轨迹;第一点云数据集的时间长度的时间长度,可视为探测目标的运动时间长度。因此,通过对原始点云数据集进行筛选,可有效滤除运动轨迹过大或过小所对应的点云数据,且,滤除运动时间长度过长或过短所对应的点云数据。然后使用筛选后的点云数据集(第一点云数据集)进行手势识别,可以降低手势识别的误触发概率,改善用户的人机交互体验。
附图说明
图1为本申请实施例提供的一种应用场景示意图;
图2为本申请实施例提供的一种雷达装置100的架构示意图;
图3a为本申请实施例中多输入多输出调频连续波雷达的雷达信号的一种处理流程示意图;
图3b为本申请实施例中多输入多输出调频连续波雷达的雷达信号的又一种处理流程示意图;
图3c为本申请实施例提供的一种聚类处理示意图;
图4a为本申请实施例提出的一种手势识别方法的实施例示意图;
图4b为本申请实施例中筛选原始点云数据集的一种流程示意图;
图4c为本申请实施例涉及的一种点云数据示意图;
图4d为本申请实施例涉及的又一种点云数据示意图;
图4e为本申请实施例涉及的又一种点云数据示意图;
图4f为本申请实施例中一种数据集规整示意图;
图4g为本申请实施例中另一种数据集规整示意图;
图4h为本申请实施例中另一种数据集规整示意图;
图5a为本申请实施例中筛选第一点云数据集的一种流程示意图;
图5b为本申请实施例涉及的又一种点云数据示意图;
图6为本申请实施例中一种基于神经网络模型的手势识别示意图;
图7为本申请实施例中手势识别装置的一种实施例示意图;
图8为本申请实施例提供的雷达装置的一种结构示意图;
图9为本申请实施例提供的物联网设备的一种结构示意图;
图10为本申请实施例提供的芯片的一种结构示意图。
具体实施方式
本申请实施例提供了一种手势识别方法,通过对原始点云数据集进行筛选,可有效滤除运动轨迹与手势运动不相符的点云数据。这些被滤除的点云数据集中包括的点云数据为无效数据。使用筛选后的点云数据集进行手势识别,可以降低误触发概率,改善用户的人机交互体验。
本申请的说明书和权利要求书及上述附图中的术语“第一”、第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的术语在适当情况下可以互换,这仅仅是描述本申请的实施例中对相同属性的对象在描述时所采用的区分方式。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,以便包含一系列单元的过程、方法、系统、产品或设备不必限于那些单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它单元。
下面结合附图,对本申请的实施例进行描述。本领域普通技术人员可知,随着技术的发展和新场景的出现,本申请实施例提供的技术方案对于类似的技术问题,同样适用。
请参阅图1,图1为本申请实施例提供的一种应用场景示意图。如图1所示,雷达装置100集成于电视中,该雷达装置100还可以集成于其他产品(例如床头灯、计算机、智能手机、智能手表或智能开关等需要用户进行无接触人机交互的产品),该雷达装置100还可以是独立的检测装置。在图1示出的场景中,用户在雷达装置100的监视区域中挥动手部,该手部在如图1所示的空间坐标系(例如但不限于:x-y-z轴空间直角坐标系)中形成运动轨迹。雷达装置100可以向人体发送雷达信号,并接受该雷达信号的反射信号。根据雷达装置100的不同具体实现,该雷达信号可以有多种载体,例如:当该雷达装置100是微波雷达时,该雷达信号为微波信号(microwave);当该雷达装置100是超声波雷达时,该雷达信号为超声波信号;当雷达装置100是激光雷达时,该雷达信号为激光信号。需要说明的是,当该雷达装置100为集成多种不同的雷达时,该雷达信号可以是多种雷达信号的集合,此处不作限定。除了图1所示的空间直角坐标系外,还可以是其它空间坐标系,例如柱坐标系或极坐标系等,对应的,选择不同的空间坐标系,点云数据的特征值存在不同可能,本申请对此不作限定。示例性的,本申请实施例中手势识别方法应用的空间坐标系与点云数据的特征值之间的关系,如表1所示:
表1
需要说明的是,图1示出的场景仅为一种示意,在其它场景中,只要是用户进行人机交互的场景中,包括手势交互以及基于人体其它部位运动进行的交互,例如脚部、头部或躯干等,雷达装置100都可实现对人体的监测,这里并不限定。
接下来,以该雷达装置100是微波雷达为例,介绍雷达装置100的架构,请参阅图2,图2,图2为本申请实施例提供的一种雷达装置100的架构示意图。其中,雷达装置100可以生成雷达信号并将雷达信号发射到雷达装置100正在监视的区域中。信号的生成和发射可以由RF信号发生器12、雷达发射电路14和发射天线32来实现。雷达发射电路14通常包括生成经由发射天线32发射的信号所需的任何电路,例如脉冲整形电路、发射触发电路、RF开关电路或由雷达装置100使用的任何其他适当的发射电路。RF信号发生器12和雷达发射电路14可经由处理器20来得以控制,该处理器经由控制线34发出命令和控制信号,使得在发射天线32处发射具有期望的配置和信号参数的期望的RF信号。
雷达装置100还经由接收天线30在雷达接收和模拟处理电路16处接收返回的雷达信号,此返回的雷达信号在本文中可以称为“回波”或“回波信号”或“反射信号”。雷达接收和模拟处理电路16通常包括处理经由接收天线30接收的信号(例如信号分离、混合、外差和/或零差转换、放大、滤波、接收信号触发、信号切换和路由,以及/或者由雷达装置100执行的任何其他适当的雷达信号接收功能)所需的任何电路。因此,雷达接收和模拟处理电路16生成由雷达装置100处理的一个或多个模拟信号,例如同相(I)模拟信号和正交(Q)模拟信号。所得到的模拟信号被发射到模数转换器电路(analog-to-digital converter,ADC)18并由该电路数字化。然后,数字化的信号被转发到处理器20以进行反射信号处理。
处理器20可以是实现下述功能的各种类型的处理器中的一种:其能够对数字化的接收信号进行处理并且控制RF信号发生器12和雷达发射电路14以提供雷达装置100的雷达操作和功能。因此,处理器20可以是数字信号处理器(digital signal processor,DSP)、微处理器、微控制器或其他此类设备。为了执行雷达装置100的雷达操作和功能,处理器20经由系统总线22与一个或多个其他所需电路(例如由一种或多种类型的存储器组成的一个或多个存储器设备24、任何所需的外围电路26标识以及任何所需的输入/输出电路28对接。
处理器20可以经由控制线34对接RF信号发生器12和雷达发射电路14。在替代实施例中,RF信号发生器12和/或雷达发射电路14可连接到总线22,使得它们可经由总线22与处理器20、存储器设备24、外围电路26和输入/输出电路28中的一者或多者通信。
在一种可选的实现方式中,该处理器20对反射信号进行处理,生成原始点云数据集。然后根据该原始点云数据集生成第一点云数据集,并根据该第一点云数据集进行手势识别。则该雷达装置100等同于本申请实施例提出的手势识别装置,该雷达装置100组成本申请实施例提出的手势识别系统。
在另一种可选的实现方式中,该处理器20对反射信号进行处理,生成原始点云数据集。然后,该处理器20通过输入/输出电路28将该原始点云数据集输出至与该雷达装置100连接的物联网设备,例如:智能电视、床头灯、智能手机、智能手表、计算机设备或部署于云端的服务器等。由这些物联网设备对该原始点云数据集进行处理,生成第一点云数据集,并根据该第一点云数据集进行手势识别。则该物联网设备中部署本申请实施例提出的手势识别方法,该物联网设备中本申请实施例提出的手势识别装置。该物联网设备与该雷达装置100组成本申请实施例提出的手势识别系统。
下面结合本申请实施例中的附图对本申请实施例进行描述。本申请的实施方式部分使用的术语仅用于对本申请的具体实施例进行解释,而非旨在限定本申请。
首先,结合附图介绍本申请实施例中原始点云数据集的来源。本申请实施例以该雷达装置100为多输入多输出调频连续波雷达(multiple-in multiple-out frequencymodulated continuous wave radar,MIMO FMCW Radar)为例进行说明。
请参阅图3a,图3a为本申请实施例中多输入多输出调频连续波雷达的雷达信号的一种处理流程示意图。图3a中的(1)所示的是雷达装置通过发射天线,周期性地发送雷达信号(电磁波信号)。
雷达信号的种类可以至少包括两种:连续波(continuous wave,CW)信号和啁啾(chirp)信号。
本申请实施例中,以雷达信号为啁啾信号为例进行说明。啁啾信号是频率随时间变化的电磁波信号。通常,上升啁啾信号的频率随时间推移增大,而下降啁啾信号的频率随时间推移减小。啁啾信号的频率变化可以呈现许多不同的形式。例如,线性调频(LFM)信号的频率线性地变化。啁啾信号中的其他形式的频率变化包括指数变化。
除了其中频率根据某些预定函数(即线性函数或指数函数)连续变化的这些后一类型的啁啾信号之外,还可以生成步进啁啾信号形式的啁啾信号,其中频率步进变化。也就是说,典型的步进啁啾信号包括多个频率步进,其中频率在每个步进处在某个预定持续时间内恒定。步进啁啾信号还可脉冲式开启和关闭,其中该脉冲在啁啾扫描的各个步进期间的某个预定时间段期间开启。
雷达装置每秒发送啁啾信号的次数称为该雷达信号的帧率。(a)所示为频域表征信号,具体的:(a)中x轴为快时间域(fast time)轴,表示啁啾信号的起始时刻至结束时刻直接的时间间隔,例如:啁啾信号“Chirp#0”的时间长度为“T”;z轴表示频率;y轴为慢时间域(slow time)轴,表示某个时间间隔内该雷达装置发送的啁啾信号的数量,例如:在时间长度为“T”的时间间隔内,该雷达装置发送啁啾信号“Chirp#0”、“Chirp#1”···以及“Chirp#P”。也就是说,一帧雷达信号中包括P个啁啾信号,P为正整数。
当雷达装置发送雷达信号后,该雷达信号作用于其它物体并产生反射信号。雷达装置通过接收天线接收该反射信号。例如图3a中的(2)所示,雷达装置对这些反射信号进行解调处理,然后再进行模数转换处理。得到各个接收天线接收到的啁啾信号。具体的,请参阅图3b,图3b为本申请实施例中多输入多输出调频连续波雷达的雷达信号的又一种处理流程示意图。雷达装置通过K个接收天线接收反射信号,K为正整数。然后,雷达装置对每个天线接收的每个啁啾信号进行快速傅里叶变换(fast fourier transformation,FFT),并得到该啁啾信号对应的距离维-FFT(Range-FFT)结果,距离维FFT中包括啁啾信号经过FFT计算后得到的频域信号(可以是复数值或模值)。FFT是一种信号处理技术,用于将信号的时域采样转变为频域采样。例如图3b中的(3)所示,为单个接收天线一帧内所有接收的啁啾信号的距离维FFT。横坐标对应一帧内P个啁啾信号的FFT结果,纵坐标对应每个啁啾信号FFT后的FFT数据,纵轴各距离点(Range-Bin)对应距离分辨率rres,该距离分辨率的单位为米。距离点(Range-Bin)也称为距离维FFT中的每个频点,而每个频点对应雷达与目标之间的距离信息。
当得到每个接收天线上一帧啁啾信号的距离维FFT后,针对每个距离点(range-bin)中共P个值进行FFT计算,得到一帧内所有距离点(range-bin)上二维傅立叶变换(2D-FFT)结果构成的距离多普勒谱(Range-Doppler),例如图3b中的(4)所示的横坐标为速率(velocity),横坐标的每个小格表示速率分辨率vres,从而识别不同距离处具有不同速率的目标。
当得到距离多普勒谱(Range-Doppler)后,根据该距离多普勒谱生成点云数据(point cloud data),这些点云数据的集合称为原始点云数据集。具体的,如图3b中的(5)所示,根据不同目标的速度以及距离,对反射信号进行数字波束赋形增强目标信噪比,同时根据各天线上同一距离多普勒谱的目标进行角度估计,进而估算同一距离(r)且同一速率(v)的来自不同方向的点云数据;而角度估计又可根据水平与垂直天线阵列分布,计算点云数据的水平方位角(α)与垂直俯仰角(θ),根据距离(r),水平方位角α和垂直俯仰角(θ)可计算点云数据在空间直角坐标系中x,y,z坐标,最终得到原始点云数据集该原始点云数据集中每个点云数据包括如下特征值中的一个或多个:水平方位角(α)、垂直俯仰角(θ)、距离(r)、速率(v)、坐标值(x,y,z)或极径(R)。
可选的,该原始点云数据集可以经过降噪算法的处理,以滤除噪声对应的点云数据。该降噪算法包括但不限于:主成分分析(principal component analysis,PCA)算法、双向滤波器(bilateral filter)或导向滤波(guided filter)等。
可选的,该原始点云数据集还可以经过聚类(clustering)处理。具体如下:由于雷达信号照射到物体上,会产生多方向的反射信号,雷达装置根据接收到的反射信号生成原始点云数据集,在该原始点云数据集中存在大量无效反射信号对应的点云数据,例如:以雷达装置检测对象是手部为例,则人体的其它部位产生的反射信号所对应的点云数据,同样记录在原始点云数据集中。因此需要对这些散射的点云数据进行聚类处理,以得到聚类中心(cluster center)。本申请实施例中可选用的聚类处理算法包括但不限于:具有噪声的基于密度空间的聚类算法(density-based spatial clustering of applications withnoise,DBSCAN)、基于层次结构的平衡迭代聚类方法(balanced iterative reducing andclustering using hierarchies,BIRCH)、k均值聚类算法(k-means clusteringalgorithm)或基于密度的聚类算法(density-based clustering,DENCLUE)等等。为了便于理解,请参阅图3c,图3c为本申请实施例提供的一种聚类处理示意图。图3c中的(6),对图3b中的(5)的原始点云数据集进行聚类处理。图3c中的(6),以边界框(bounding box)内包括三个点云数据“□”为例,对边界框内的点云数据进行聚类处理,得到聚类中心“○”。对原始点云数据集中每一帧子点云数据集进行聚类处理,可以得到聚类中心的运动轨迹,例如图3c中的(7)所示。
本申请实施例中,原始点云数据集,可以是如图3b中的(5)所示的未经降噪处理和聚类处理的点云数据集;也可以是对图3b中的(5)所示的点云数据集,经过处理降噪处理后的点云数据集;还可以是对图3b中的(5)所示的点云数据集,经过处理聚类处理后的点云数据集;还可以是对图3b中的(5)所示的点云数据集,首先经过降噪处理,其次再经过聚类处理后的点云数据集,本申请对此不作限定。
其次,介绍本申请实施例提出的手势识别方法,请参阅图4a,图4a为本申请实施例提出的一种手势识别方法的实施例示意图。本申请实施例提出的一种手势识别方法包括:
401、获取原始点云数据集。
本实施例中,手势识别装置获取原始点云数据集,该原始点云数据集包括多个子点云数据集,每个子点云数据集对应该原始点云数据集中的一帧。每个子点云数据集包括多个点云数据,该多个点云数据对应多个反射信号,该反射信号与雷达装置发射的雷达信号对应。该原始点云数据集的相关描述请参见前述图3a-图3c以及相关文字说明,此处不再赘述。
该手势识别装置既可以与雷达装置集成一体,该手势识别装置以雷达装置中的处理器实现;该手势识别装置也可以与雷达装置相互独立。这种情况下,雷达装置,用于发送雷达信号并接收反射信号,根据该反射信号生成原始点云数据集。手势识别装置用于该原始点云数据集,并进行手势识别。
402、对原始点云数据集进行筛选,得到第一点云数据集。
本实施例中,手势识别装置对该原始点云数据集进行筛选,得到第一点云数据集。具体的,第一点云数据集包括多个第一子点云数据集,每个第一子点云数据集对应第一点云数据集中的一帧,该多个第一子点云数据集在时间上连续。
对原始点云数据集进行聚类处理,然后根据该原始点云数据集中各个子点云数据集的聚类中心之间的最大水平距离进行筛选,得到第一点云数据集。在第一子点云数据集中,该聚类中心称为第一聚类中心,在第一点云数据集中任意两个第一聚类中心之间的最大水平距离满足第一预设条件。该第一点云数据集的时间长度满足第一预设条件,即第一点云数据集中第一个第一子点云数据集至最后一个第一子点云数据集的时间长度满足第一预设条件。
该原始点云数据集中各个子点云数据集的聚类中心可视为人体在雷达装置100的探测区域的位置。因此,第一点云数据集中任意两个第一聚类中心之间的最大水平距离过大时,可以认为该人体在走动或跑动,此时,不启动手势识别。当任意两个第一聚类中心的最大水平距离满足第一预设条件时(小于第三门限,第三门限可以是0.5米、0.8米、1米或1.2米,此处不做限定),可以认为该人体处于相对静止状态,可以认为该人体正在进行基于手势的人机交互操作,启动手势识别。
此外,还需要基于时间长度对该原始点云数据集进行筛选,第一点云数据集的时间长度(即第一点云数据集中第一个第一子点云数据集至最后一个第一子点云数据集之间的时间长度)太长时,认为使用者处于相对静止状态,例如以雷达装置100部署于智能电视为例,使用者处于观看电视节目的状态时,则不启动手势识别。第一点云数据集的时间长度太短时,认为使用者晃动身体或做其它持续时间较短动作,例如挠头或拿水杯等,也不启动手势识别。只有当第一点云数据集的时间长度满足第一预设条件时(第一点云数据集的时间长度处于大于第四门限且小于第五门限,第四门限可以是0.3秒、0.4秒或0.5秒,第五门限可以是2.4秒、2.5秒、2.6秒或2.8秒,此处不作限定),启动手势识别,例如:第一点云数据集的时间长度满足小于2.5秒且大于0.5秒。
具体的筛选方式,请参见后续图4b对应的实施例。
403、当第一点云数据集的帧数与预设帧数不一致时,将第一点云数据集的帧数扩充或压缩至预设帧数。
本实施例中,当手势识别装置得到第一点云数据集后,检测该第一点云数据集的帧数(即第一点云数据集中第一子点云数据集的数量)与预设帧数是否一致。该预设帧数由雷达装置100发送雷达信号的帧率确定,例如:该雷达装置100发送雷达信号的帧率为20赫兹。当第一点云数据集的帧数为15帧,与预设帧数不一致,则需要将第一点云数据集的帧数扩大至预设帧数(20帧);当第一点云数据集的帧数为25帧,与预设帧数不一致,则需要将第一点云数据集的帧数压缩至预设帧数。
将第一点云数据集的帧数扩充或压缩至预设帧数,在本申请实施例中称为“规整”,下面对不同规整方式分别进行描述。以规整前第一点云数据集中包括10帧第一子点云数据集,预设帧数为5帧为例进行说明:
在一种可选的实现方式中,按照时间顺序,取规整前第一点云数据集中单数位第一子点云数据集作为规整后的第一点云数据集。如图4f所示,图4f为本申请实施例中一种数据集规整示意图。规整前第一点云数据集包括{1、2、3、4、5、6、7、8、9、10},选取其中{1、3、5、7、9}作为规整后的第一点云数据集{0、1、2、3、4},其中,规整前{1}作为规整后的{0}、规整前{3}作为规整后的{1}、规整前{5}作为规整后的{2}、规整前{7}作为规整后的{3},规整前{9}作为规整后的{4}。
当规整前第一点云数据集的帧数与预设帧数之间不是整数倍的关系时,取规整前第一点云数据集中单数位第一子点云数据集作为规整后的第一点云数据集,且,规整前第一点云数据集中末位(或倒数第二位)第一子点云数据集作为规整后的第一点云数据集中末位(或倒数第二位)第一子点云数据集。例如:规整前第一点云数据集的帧数为8帧,预设帧数为5帧。则规整前第一点云数据集包括{1、2、3、4、5、6、7、8},选取其中{1、3、5、7、8}作为规整后的第一点云数据集{0、1、2、3、4},其中,规整前{1}作为规整后的{0}、规整前{3}作为规整后的{1}、规整前{5}作为规整后的{2}、规整前{7}作为规整后的{3},规整前{8}作为规整后的{4}。
在另一种可选的实现方式中,按照时间顺序,取规整前第一点云数据集中双数位第一子点云数据集作为规整后的第一点云数据集。如图4g所示,图4g为本申请实施例中另一种数据集规整示意图。规整前第一点云数据集包括{1、2、3、4、5、6、7、8、9、10},选取其中{2、4、6、8、10}作为规整后的第一点云数据集{0、1、2、3、4},其中,规整前{2}作为规整后的{0}、规整前{4}作为规整后的{1}、规整前{6}作为规整后的{2}、规整前{8}作为规整后的{3},规整前{10}作为规整后的{4}。
当规整前第一点云数据集的帧数与预设帧数之间不是整数倍的关系时,取规整前第一点云数据集中双数位第一子点云数据集作为规整后的第一点云数据集,且,规整前第一点云数据集中末位第一子点云数据集作为规整后的第一点云数据集中末位第一子点云数据集。例如:规整前第一点云数据集的帧数为8帧,预设帧数为5帧。则规整前第一点云数据集包括{1、2、3、4、5、6、7、8},选取其中{2、4、6、7、8}作为规整后的第一点云数据集{0、1、2、3、4},其中,规整前{2}作为规整后的{0}、规整前{4}作为规整后的{1}、规整前{6}作为规整后的{2}、规整前{7}作为规整后的{3},规整前{8}作为规整后的{4}。
在另一种可选的实现方式中,按照时间顺序,将规整前第一点云数据集中多帧第一子点云数据集的点云数据的并集,作为规整后第一点云数据集中一个第一子点云数据集的点云数据;或,将规整前第一点云数据集中一个第一子点云数据集的点云数据,作为规整后第一点云数据集中多帧第一子点云数据集的点云数据。例如:规整前第一点云数据集包括{1、2、3、4、5、6、7、8、9、10},选取规整前{1、2}中包括的点云数据的并集,作为规整后{0}的点云数据;规整前{3、4}中包括的点云数据的并集,作为规整后的{1}的点云数据;规整前{5、6}中包括的点云数据的并集,作为规整后的{2}的点云数据;规整前{7、8}中包括的点云数据的并集,作为规整后的{3}的点云数据;规整前{9、10}中包括的点云数据的并集,作为规整后的{4}的点云数据。
可选的,通过如下方法规整第一点云数据集:
其中,为规整后第一点云数据集,/>为规整前第一点云数据集,/>为规整后第一点云数据集中的第i帧第一子点云数据集,/>为规整前第一点云数据集中第k帧子点云数据集,/>由γ个/>中点云数据的并集组成,t为原始点云数据集中子点云数据集的帧数,F为预设帧数。为了便于理解,请参阅图4h,图4h为本申请实施例中另一种数据集规整示意图。以i=2为例,由于t=10、F=5、j=0或1,则通过上述方法确定k=5和k=6,即规整前第一点云数据集中第5帧的点云数据(第5个第一子点云数据集)和第6帧的点云数据(第6个第一子点云数据集)的并集,组成规整后第一点云数据集中第2帧(第2个第一子点云数据集)的点云数据。
404、根据第一点云数据集中的点云数据的特征值进行手势识别。
本实施例中,手势识别装置得到规整后的第一点云数据集后,根据该第一点云数据集中的点云数据的特征值进行手势识别,该特征值包括:点云数据在空间坐标系中的坐标值、距离、速度、水平角或俯仰角中的至少一项。该特征值还可以包括点云数据的数量等等,此次不做限定。
可选的,该特征值经过方差处理、中位数处理、最值处理或平均值处理中的至少一种处理方法。例如:
方差处理:以特征值是距离为例,对第一子点云数据集中各个点云数据的距离进行方差处理,然后使用各帧第一子点云数据集中距离的方差进行手势识别;
中位数处理:以特征值是速度为例,对第一子点云数据集中各个点云数据的速度进行中位数处理,即对该第一子点云数据集中各个点云数据的速度值进行排序,选取该速度值得中位值,然后使用各帧第一子点云数据集中速度的中位值进行手势识别;
最值处理:以特征值是点云数据在空间坐标系中的坐标值为例(x轴坐标值),对第一子点云数据集中各个点云数据的x轴坐标值进行排序,选取该x轴坐标值的最大值或最小值,然后使用各帧第一子点云数据集中点云数据的x轴坐标值的最大值或最小值进行手势识别;
平均值处理:以特征值是水平角为例,对第一子点云数据集中各个点云数据的x轴水平角求平均值,然后使用各帧第一子点云数据集中点云数据的平均值进行手势识别。
可选的,该特征值还可以经过归一化(Normalization)处理,针对不同特征值可选用不同的归一化处理。例如:
1、点云数据在空间坐标系中的坐标值、距离、速度、水平角或俯仰角,则采用“z-score”标准化方法对这些特征值进行归一化处理,具体的:每帧第一子点云数据集中点云数据的特征值减去该特征值的平均值,然后再除以该特征值得标准差。
可选的,采用如下方法进行归一化处理:
其中,为归一化后的特征值,/>为归一化前的特征值,μx为该特征值在该第一子点云数据集中的平均值,σx为该特征值在该第一子点云数据集中的标准差。
2、点云数据的速度:计算第一子点云数据集中各个点云数据的速度的绝对值,然后使用该绝对值求该第一子点云数据集中速度的平均值,最后使用该第一子点云数据集中各个点云数据的速度与该平均值相除。
可选的,采用如下方法进行归一化处理:
其中,为归一化后的特征,/>为归一化前的特征值,μv为该特征值在该第一子点云数据集中的平均值。
3、点云数据的数量:计算第一点云数据集中,各帧第一子点云数据集中点云数据的数量。然后,计算各帧第一子点云数据集中点云数据数量的平均值。最后,每帧第一子点云数据集中点云数据的数量除以该平均值。
可选的,采用如下方法进行归一化处理:
其中,为归一化后的特征,/>为每帧第一子点云数据集中点云数据的数量,μn为各帧第一子点云数据集中点云数据数量的平均值。
需要说明的是,特征值既可以经过方差处理、中位数处理、最值处理或平均值处理,然后再经过归一化处理后,进行手势识别;该特征值也可以仅经过方差处理、中位数处理、最值处理或平均值处后,进行手势识别;该特征值还可以仅经过归一化处理后,进行手势识别;该特征值还可以直接进行手势识别,本申请对此不做限定。
手势识别装置根据第一点云数据集中点云数据的特征值进行手势识别,可以选用两种不同方案:(1)、使用神经网络模型进行手势识别。(2)、计算与预设的点云数据集合之间的相似度,基于相似度进行手势识别。下面分别进行说明:
(1)、使用神经网络模型进行手势识别。
手势识别装置可以使用神经网络模型进行手势识别,该神经网络模型可以是循环神经网络(recurrent neural network,RNN),例如:长短期记忆网络(long short-termmemory,LSTM)、双向长短期记忆循环神经网络(bi-directional long short-termmemory,Bi-LSTM)或多层长短期记忆循环神经网络(multi-LSTM)等。下面,以多层长短期记忆循环神经网络为例进行说明,请参阅图6,图6为本申请实施例中一种基于神经网络模型的手势识别示意图。
图6中,第一点云数据集中点云数据的m个特征值的向量集为该/>作为Multi-LSTM网络的输入,该m个特征值可以是点云数据中一个或多个特征值,例如:当点云数据的特征值包括空间直角坐标系中的坐标值、距离和速度时,选取m个特征值包括空间直角坐标系中的坐标值(x,y,z)和速度(v),即m=4。或者:当点云数据的特征值包括球坐标系的坐标值,距离,速度和加速度时,选取m个特征值包括球坐标系的坐标值(r,θ,φ),速度(v)和加速度(a),即m=5。/>为m*T,T=20为规整后第一点云数据集的时间长度, 为1*m列特征值组成的向量。
激活函数:Mulit-LSTM网络中激活函数为线性整流函数(rectified linearunit,ReLU),Relu激活函数对原始数据处理为:
win为m*Nin维变量,bin为1*Nin维变量,Nin设置为LSTM中隐藏单元个数Nhidden为1*Nin维张量,其中,bin与win为该Mulit-LSTM网络在手势识别的处理中逐渐学习得到的变量,具体的,该Mulit-LSTM网络在手势识别的处理中,通过误差反向传播算法(backpropagation,BP)逐渐调整bin与win
Multi-LSTM网络层:如图6中的(1)所示,虚线箭头表示可再加入更多层LSTM网络,以两层LSTM网络为例,A1为LSTM-Cell1,A2为LSTM-Cell2,LSTM-Cell1的输入为LSTM-Cell2的输入可以是LSTM-Cell1的输出/>也可以是/>的加权线性变换,本实施例中,以/>为LSTM-Cell2的输入为例:时间长度为Nstep=T=F=20,两个LSTM-Cell中隐藏单元个数可相同或不相同,此以设置相同数目Nhidden=16为例。
Softmax层:如图6中的(2)和(3)所示,Multi-LSTM网络的最终输出是在LSTM-Cell2的最后一个时间T时刻输出的进行加权再softmax后的结果,即:oT为Nclass*1维向量,wout为Nclass*Nhidden维变量,bout为Nclass*1维变量,/>为Nhidden*1维张量,Nclass为手势的种类数量。
手势判别:oT为Multi-LSTM网络的输出,格式为独热编码(one-hot)模式,如[0,0,…,1,…,0],即共Nclass维向量,第k个值为1,其它值为0,表示识别的手势为模型训练过程中预定义的第k种手势。例如表2所示:
预定义手势 One-hot码
向上挥手 [1,0,0,0,0,0]
向下挥手 [0,1,0,0,0,0]
向左挥手 [0,0,1,0,0,0]
向右挥手 [0,0,0,1,0,0]
转圈 [0,0,0,0,1,0]
向前挥手 [0,0,0,0,0,1]
表2
通过以上神经网络模型的处理,可识别当前第一点云数据集对应的手势。
(2)、计算与预设的点云数据集合之间的相似度,基于相似度进行手势识别。
具体的,通过动态时间规划方式,或,向量余弦方式计算第一点云数据集与预设的点云数据集之间的相似度,基于该相似度进行手势识别。
该预设的点云数据集的数量此处不作限制,预设的点云数据集可以是一个或多个预设的点云数据集,每个预设的点云数据集对应一个预定义手势。示例性的:预设的点云数据集A对应向右挥手,预设的点云数据集B对应向左挥手,预设的点云数据集C对应逆时针转圈。手势识别装置通过计算第一点云数据集与预设的点云数据集之间的相似度,基于该相似度进行手势识别。例如表3所示,则确定第一点云数据集的手势为逆时针转圈:
表3
动态时间规划方式:首先,获取第一点云数据集中的特征值,与,预设的点云数据集中的特征值。然后,通过最优规整函数来求取上述两个特征值(分别作为两个向量)间的最小累计距离值,该值作为第一点云数据集与预设的点云数据集之间的相似度。
向量余弦方式:首先,获取第一点云数据集中的特征值,与,预设的点云数据集中的特征值。然后,上述两个特征值作为两个向量,通过计算两个向量之间的余弦值,该余弦值作为第一点云数据集与预设的点云数据集之间的相似度。
具体的,根据第一点云数据集中的点云数据的特征值进行手势识别的详细步骤,请参阅图5a所示的实施例。
本申请实施例中,对原始点云数据集进行筛选,得到第一点云数据集。第一点云数据集中包括多帧第一子点云数据集,每帧第一子点云数据集对应第一点云数据集中的一帧,这些第一子点云数据集在时间上连续。第一点云数据集中任意两个第一聚类中心之间的最大水平距离满足第一预设条件,且,多帧第一子点云数据集对应的时间长度满足第一预设条件。最终使用这个第一点云数据集中点云数据的特征值进行手势识别。由于第一聚类中心位置的变化轨迹可以视为探测目标的运动轨迹;多个连续的第一子点云数据集所对应的时间长度,可视为探测目标的运动时间长度。因此,通过对原始点云数据集进行筛选,可有效滤除运动轨迹过大或过小所对应的点云数据集,且滤除运动时间长度过长或过短所对应的点云数据集。这些被滤除的点云数据集中包括的点云数据为无效数据。然后使用筛选后的点云数据集进行手势识别,从而降低误触发概率,改善用户的人机交互体验。其次,由于不同个体执行手部动作的快慢不一,例如:张三的右手画一个圈用时0.8秒,李四的右手画一个圈用时1.2秒,则用时不同对应点云数据集的时间长度也不同,造成了识别困难。通过对第一点云数据集进行规整处理,将不同个体产生的第一点云数据集的时间长度规整至预设帧数,降低了手势识别难度,提升了手势识别的准确率。对第一点云数据集中点云数据的特征值进行归一化处理,可有效提升手势识别装置的泛化能力(generalizationability),可以适应不同人群、不同手势幅度大小以及不同距离空间下的场景。
再次,对上述图4a所示实施例中的部分内容进行进一步描述。分别是:
步骤402:(1)、如何对原始点云数据集进行筛选,得到第一点云数据集。
步骤404:(2)、对第一点云数据集中的各个点云数据进行进一步处理,并使用处理后点云数据的特征值进行手势识别。
(1)、如何对原始点云数据集进行筛选,得到第一点云数据集。
请参阅图4b,图4b为本申请实施例中筛选原始点云数据集的一种流程示意图。
S1、滤除原始点云数据集中的微运动点云数据。
步骤S1中,由于人体正常呼吸时胸部会产生起伏,雷达信号照射到胸部上所产生的反射信号同样会以点云数据的形式记录在原始点云数据集。同样的,人体不可能完全静止,当人体轻微晃动时,人体位置的变化也会以点云数据的形式记录在点云数据集中。这类与手部动作无关的点云数据,在本申请实施例中称为“微运动点云数据”。
为了避免微运动点云数据对后续手势识别带来负面影响,需要从原始点云数据集中滤除。具体的,设置第一门限,并使用该第一门限滤除原始点云数据集中的点云数据,原始点云数据集中速率小于或等于该第一门限的点云数据均被滤除。可选的,该第一门限为0.15米/每秒、或0.10米/每秒。
为了便于理解,请参与图4c,图4c为本申请实施例涉及的一种点云数据示意图。图4c示意的是未滤除微运动点云数据的原始点云数据集。该原始点云数据集的每一帧中点云数据的特征值,由上到下分别是x轴坐标值、y轴坐标值、z轴坐标值以及速度值。
S2、根据当前时刻的聚类中心与初始时刻的聚类中心之间的水平距离,确定当前时刻的点云数据是否属于第一点云数据集。
步骤S2、第一预设条件同时限定了第一点云数据集的时间长度,以及第一点云数据集中任意两个第一聚类中心之间的最大水平距离。
因此,首先从原始点云数据集中选取一个时刻作为初始时刻,具体如下:步骤S1中已经从原始点云数据集中滤除了微运动点云数据,为了保证第一点云数据集对应的动作是连续的,需要将经过步骤S1处理后的原始点云数据集进行进一步筛选。将该原始点云数据集中,临近两帧之间时间长度大于或等于第二门限的子点云数据集滤除。剩余的原始点云数据集中,包括一个或多个由连续的子点云数据集组成的第四子点云数据集。每一段第四子点云数据集中第一帧之前的空白时间长度大于或等于第二门限,空白时间长度为:这段时间长度内无第四子点云数据集,最后一帧之后的空白时间长度大于或等于第二门限。第二门限可以是0.5秒。
其次,对第四子点云数据集进行进一步筛选,将时间长度过长或过短的第四子点云数据集滤除。筛选完成后的原始点云数据集中,每个第四子点云数据集的时间长度满足第一预设条件。
再次,选取每个第四子点云数据集中的第一帧作为初始时刻,其余帧作为当前时刻。计算每帧的聚类中心,其中,可选的聚类方法详见前述实施例,此处不再赘述。
根据当前时刻的聚类中心与初始时刻的聚类中心之间的水平距离,确定当前时刻的点云数据是否属于第一点云数据集。具体的,当第四子点云数据集中任意两个聚类中心之间的最大水平距离不满足第一预设条件时,从原始点云数据集中滤除该第四子点云数据集。
最后,将剩余的原始点云数据集作为第一点云数据集输出,该第一点云数据集如图4d所示,图4d为本申请实施例涉及的又一种点云数据示意图。对比图4c与图4d,可以直观得出杂乱的点云数据已经被有效滤除。
(2)、对第一点云数据集中的各个点云数据进行进一步处理,并使用处理后点云数据的特征值进行手势识别。
请参阅图5a,图5a为本申请实施例中筛选第一点云数据集的一种流程示意图。
步骤501、对第一点云数据集进行聚类处理,生成第二点云数据集,第二点云数据集中包括多帧第二子点云数据集。
步骤501中,手势识别装置对步骤403经过规整后的第一点云数据集进行聚类处理。为了便于理解,以图4d为规整前的第一点云数据集,则规整后的第一点云数据如图4e所示,图4e为本申请实施例涉及的又一种点云数据示意图。
对规整后的第一点云数据集中每一帧进行聚类处理,生成第二点云数据集。具体的,对每一帧中点云数据最多的子类进行聚类处理。例如:第一点云数据集的第5帧包括3个子类,每个子类由若干个点云数据组成。则选取点云数据最多的子类作为第二点云数据集中的第5帧的点云数据,然后对该子类进行聚类处理。生成的聚类中心称为第二聚类中心。
该第二点云数据集中包括多帧第二子点云数据集,第二子点云数据集为对应的第一子点云数据集中聚类后点云数量最多的子类,第二子点云数据集包括第二聚类中心,第二聚类中心的边界框尺寸小于等于第一聚类中心的边界框尺寸。
步骤502、根据第二子点云数据集中各个点云数据的速度,确定速度平均值。
步骤502中,根据第二子点云数据集中各个点云数据的速度,确定速度平均值。例如:第二点云数据集包括5帧,对这5帧第二子点云数据集中所有的点云数据的速度求平均值。
步骤503、根据速度平均值,滤除第二子点云数据集中与速度平均值正负性不一致的点云数据,确定第三子点云数据集。
步骤503中,根据该速度平均值,滤除该第二子点云数据集中与该速度平均值正负性不一致的点云数据,确定第三子点云数据集,其中,该第三子点云数据集中各个点云的该速度与该速度平均值的正负性一致。该第三点云数据集中包括多个该第三子点云数据集,该第三点云数据集的帧数与该第二点云数据集的帧数一致。
步骤504、对第三子点云数据集中点云数据的特征值进行归一化处理。
步骤504中、对第三子点云数据集中点云数据的特征值进行归一化处理。具体的归一化处理的方法,与前述步骤404类似,此处不再赘述。为了便于理解,归一化处理后第三点云数据集,请参阅图5b。图5b为本申请实施例涉及的又一种点云数据示意图。对比图4d与图5b,可以直观得出点云数据的变化规律。
步骤505、根据第三点云数据集中点云数据的特征值进行手势识别。
步骤505与前述步骤404类似,此次不再赘述。
本申请实施例中,通过对第一点云数据集的进一步筛选与处理,使得最终进行手势识别的点云数据与人体真实的手部动作更为匹配。可以有效提升手势识别的准确性。
上述主要以方法的角度对本申请实施例提供的方案进行了介绍。可以理解的是,上述手势识别装置为了实现上述功能,其包含了执行各个功能相应的硬件结构和/或软件模块。本领域技术人员应该很容易意识到,结合本文中所公开的实施例描述的各示例的模块及算法步骤,本申请能够以硬件或硬件和计算机软件的结合形式来实现。某个功能究竟以硬件还是计算机软件驱动硬件的方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
本申请实施例可以根据上述方法示例对手势识别装置进行功能模块的划分,例如,可以对应各个功能划分各个功能模块,也可以将两个或两个以上的功能集成在一个处理模块702中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。需要说明的是,本申请实施例中对模块的划分是示意性的,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。
下面对本申请中的手势识别装置进行详细描述,请参阅图7,图7为本申请实施例中手势识别装置的一种实施例示意图。手势识别装置700包括:
获取模块701,用于获取原始点云数据集,该原始点云数据集包括多个点云数据,该多个点云数据对应多个反射信号,该反射信号与雷达装置发射的雷达信号对应;
处理模块702,用于对该原始点云数据集进行筛选,得到第一点云数据集,该第一点云数据集包括多帧第一子点云数据集,每帧该第一子点云数据集对应该第一点云数据集中的一帧,该多帧第一子点云数据集在时间上连续,该第一子点云数据集包括第一聚类中心,该第一聚类中心为该第一子点云数据集中多个点云数据的聚类中心,任意两个该第一聚类中心之间的最大水平距离满足第一预设条件,该第一点云数据集的时间长度满足该第一预设条件;
该处理模块702,还用于根据该第一点云数据集中点云数据的特征值进行手势识别,该特征值包括点云数据在空间坐标系中的坐标值、距离、速度、水平角或俯仰角中的至少一项。
在本申请的一些实施例中,
该处理模块702,具体用于对该第一点云数据集进行聚类处理,生成第二点云数据集,其中,该第二点云数据集中包括多帧第二子点云数据集,该第二子点云数据集为对应的该第一子点云数据集中聚类后点云数据最多的子类,该第二子点云数据集包括第二聚类中心,该第二聚类中心的边界框尺寸小于等于该第一聚类中心的边界框尺寸;
该处理模块702,具体用于根据该第二点云数据集中点云数据的该特征值进行手势识别。
在本申请的一些实施例中,该处理模块702,具体用于,按照该第一点云数据集的时间顺序,选取规整前该第一点云数据集中多帧该第一子点云数据集的点云数据的并集,作为规整后该第一点云数据集中一个该第一子点云数据集的点云数据;
或,选取规整前该第一点云数据集中一个该第一子点云数据集的点云数据,作为规整后该第一点云数据集中多帧该第一子点云数据集的点云数据。
在本申请的一些实施例中,该处理模块702,还用于当该第一点云数据集的帧数与预设帧数不一致时,规整该第一点云数据集,其中,将规整前该第一点云数据集的帧数扩充或压缩至该预设帧数,规整后该第一点云数据集的帧数为该预设帧数,该预设帧数由该雷达装置发送该雷达信号的帧率确定。
在本申请的一些实施例中,该处理模块702具体用于,通过如下方法规整该第一点云数据集:
/>
其中,为该规整后该第一点云数据集,/>为该规整前该第一点云数据集,/>为该规整后该第一点云数据集中的第i帧该第一子点云数据集,/>为该规整前该第一点云数据集中第k帧第一子点云数据集,/>由γ个/>中点云数据的并集组成,t为该规整前该第一点云数据集的帧数,F为该预设帧数。
在本申请的一些实施例中,该处理模块702,具体用于根据该第二子点云数据集中各个点云数据的该速度,确定速度平均值;
该处理模块702,具体用于根据该速度平均值,滤除该第二子点云数据集中与该速度平均值正负性不一致的点云数据,确定第三子点云数据集,其中,该第三子点云数据集中各个点云的该速度与该速度平均值的正负性一致;
该处理模块702,具体用于根据第三点云数据集中各个点云数据的该特征值进行手势识别,其中,该第三点云数据集中包括多个该第三子点云数据集,该第三子点云数据集的数量与该第二点云数据集中该第二子点云数据集的数量一致。
在本申请的一些实施例中,该第一点云数据集中点云数据的速率大于第一门限,该第一点云数据集中连续的两帧该第一子点云数据集之间的时间长度小于第二门限。
在本申请的一些实施例中,该特征值经过方差处理、中位数处理、最值处理或平均值处理。
在本申请的一些实施例中,该特征值经过归一化处理。
在本申请的一些实施例中,该处理模块702,具体用于使用神经网络模型对该第一点云数据集中各个点云数据的该特征值进行处理,进行手势识别,该神经网络模型包括循环神经网络。
在本申请的一些实施例中,该处理模块702,具体用于根据该第一点云数据集中各个点云数据的该特征值,和,预设的点云数据集合进行相似度计算;该处理模块702,具体用于根据该相似度计算的结果,确定该第一点云数据集对应的手势。
在本申请的一些实施例中,该第一预设条件为:任意两个该第一聚类中心之间的最大水平距离小于第三门限,该第一点云数据集的时间长度对应的时间长度小于第四门限且大于第五门限。
本申请提供了一种雷达装置,包括雷达天线和处理器,该处理器与该雷达天线通信连接,该雷达天线,用于发送多个雷达信号,接收该多个雷达信号的多个反射信号,并将该多个反射信号输送至该处理器;
该处理器,用于获取原始点云数据集,该原始点云数据集包括多个点云数据,该多个点云数据对应多个反射信号,该反射信号与雷达装置发射的雷达信号对应;处理模块,用于对该原始点云数据集进行筛选,得到第一点云数据集,该第一点云数据集包括多帧第一子点云数据集,每帧该第一子点云数据集对应该第一点云数据集中的一帧,该多帧第一子点云数据集在时间上连续,该第一子点云数据集包括第一聚类中心,该第一聚类中心为该第一子点云数据集中多个点云数据的聚类中心,任意两个该第一聚类中心之间的最大水平距离满足第一预设条件,该第一点云数据集的时间长度满足该第一预设条件;该处理器,还用于根据该第一点云数据集中点云数据的特征值进行手势识别,该特征值包括点云数据在空间坐标系中的坐标值、距离、速度、水平角或俯仰角中的至少一项。
该处理器,具体用于对该第一点云数据集进行聚类处理,生成第二点云数据集,其中,该第二点云数据集中包括多帧第二子点云数据集,该第二子点云数据集为对应的该第一子点云数据集中聚类后点云数据最多的子类,该第二子点云数据集包括第二聚类中心,该第二聚类中心的边界框尺寸小于等于该第一聚类中心的边界框尺寸;
该处理器,具体用于根据该第二点云数据集中点云数据的该特征值进行手势识别。
该处理器,还用于当该第一点云数据集的帧数与预设帧数不一致时,规整该第一点云数据集,其中,将规整前该第一点云数据集的帧数扩充或压缩至该预设帧数,规整后该第一点云数据集的帧数为该预设帧数,该预设帧数由该雷达装置发送该雷达信号的帧率确定。
该处理器具体用于,按照该第一点云数据集的时间顺序,选取规整前该第一点云数据集中多帧该第一子点云数据集的点云数据的并集,作为规整后该第一点云数据集中一个该第一子点云数据集的点云数据;
或,选取规整前该第一点云数据集中一个该第一子点云数据集的点云数据,作为规整后该第一点云数据集中多帧该第一子点云数据集的点云数据。
该处理器具体用于,通过如下方法规整该第一点云数据集:
其中,为该规整后该第一点云数据集,/>为该规整前该第一点云数据集,/>为该规整后该第一点云数据集中的第i帧该第一子点云数据集,/>为该规整前该第一点云数据集中第k帧第一子点云数据集,/>由γ个/>中点云数据的并集组成,t为该规整前该第一点云数据集的帧数,F为该预设帧数。
该处理器,具体用于根据该第二子点云数据集中各个点云数据的该速度,确定速度平均值;该处理器,具体用于根据该速度平均值,滤除该第二子点云数据集中与该速度平均值正负性不一致的点云数据,确定第三子点云数据集,其中,该第三子点云数据集中各个点云的该速度与该速度平均值的正负性一致;该处理器,具体用于根据第三点云数据集中各个点云数据的该特征值进行手势识别,其中,该第三点云数据集中包括多个该第三子点云数据集,该第三子点云数据集的数量与该第二点云数据集中该第二子点云数据集的数量一致。
可选的,该第一点云数据集中点云数据的速率大于第一门限,该第一点云数据集中连续的两帧该第一子点云数据集之间的时间长度小于第二门限。
可选的,该特征值经过方差处理、中位数处理、最值处理或平均值处理。
可选的,该特征值经过归一化处理。
该处理器,具体用于使用神经网络模型对该第一点云数据集中各个点云数据的该特征值进行处理,进行手势识别,该神经网络模型包括循环神经网络。
该处理器,具体用于根据该第一点云数据集中各个点云数据的该特征值,和,预设的点云数据集合进行相似度计算;该处理器,具体用于根据该相似度计算的结果,确定该第一点云数据集对应的手势。
可选的,该第一预设条件为:任意两个该第一聚类中心之间的最大水平距离小于第三门限,该第一点云数据集的时间长度对应的时间长度小于第四门限且大于第五门限。
接下来介绍本申请实施例提供的一种雷达装置,请参阅图8,图8为本申请实施例提供的雷达装置的一种结构示意图。具体的,雷达装置800包括:接收器801、发射器802、处理器803和存储器804(其中雷达装置800中的处理器803的数量可以一个或多个,图8中以一个处理器为例),其中,处理器803可以包括应用处理器8031和通信处理器8032。在本申请的一些实施例中,接收器801、发射器802、处理器803和存储器804可通过总线或其它方式连接。
存储器804可以包括只读存储器和随机存取存储器,并向处理器803提供指令和数据。存储器804的一部分还可以包括非易失性随机存取存储器(non-volatile randomaccess memory,NVRAM)。存储器804存储有处理器和操作指令、可执行模块或者数据结构,或者它们的子集,或者它们的扩展集,其中,操作指令可包括各种操作指令,用于实现各种操作。
处理器803控制雷达装置的操作。具体的应用中,雷达装置的各个组件通过总线系统耦合在一起,其中总线系统除包括数据总线之外,还可以包括电源总线、控制总线和状态信号总线等。但是为了清楚说明起见,在图中将各种总线都称为总线系统。
上述本申请实施例揭示的方法可以应用于处理器803中,或者由处理器803实现。处理器803可以是一种集成电路芯片,具有信号的处理能力。在实现过程中,上述方法的各步骤可以通过处理器803中的硬件的集成逻辑电路或者软件形式的指令完成。上述的处理器803可以是通用处理器、数字信号处理器(digital signal processing,DSP)、微处理器或微控制器,还可进一步包括专用集成电路(application specific integratedcircuit,ASIC)、现场可编程门阵列(field-programmable gate array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。该处理器803可以实现或者执行本申请实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。结合本申请实施例所公开的方法的步骤可以直接体现为硬件译码处理器执行完成,或者用译码处理器中的硬件及软件模块组合执行完成。软件模块可以位于随机存储器,闪存、只读存储器,可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。该存储介质位于存储器804,处理器803读取存储器804中的信息,结合其硬件完成上述方法的步骤。
接收器801可用于接收输入的数字或字符信息,以及产生与雷达装置的相关设置以及功能控制有关的信号输入。发射器802可用于通过第一接口输出数字或字符信息;发射器802还可用于通过第一接口向磁盘组发送指令,以修改磁盘组中的数据。
本申请实施例还提供了一种物联网设备,请参阅图9,图9为本申请实施例提供的物联网设备的一种结构示意图,物联网设备可因配置或性能不同而产生比较大的差异,可以包括一个或一个以上中央处理器(central processing units,CPU)922(例如,一个或一个以上处理器)和存储器932,一个或一个以上存储应用程序942或数据944的存储介质930(例如一个或一个以上海量存储设备)。其中,存储器932和存储介质930可以是短暂存储或持久存储。存储在存储介质930的程序可以包括一个或一个以上模块(图示没标出),每个模块可以包括对训练设备中的一系列指令操作。更进一步地,中央处理器922可以设置为与存储介质930通信,在物联网设备900上执行存储介质930中的一系列指令操作。
物联网设备900还可以包括一个或一个以上电源926,一个或一个以上有线或无线网络接口950,一个或一个以上输入输出接口958,和/或,一个或一个以上操作系统941,例如Windows ServerTM,Mac OS XTM,UnixTM,LinuxTM,FreeBSDTM等等。
本申请实施例中,中央处理器922,用于执行上述实施例中描述的手势识别方法以及手势识别方法中与手势识别相关的步骤。
本申请实施例中还提供一种包括计算机程序产品,当其在计算机上运行时,使得计算机执行手势识别方法。
本申请实施例中还提供一种计算机可读存储介质,该计算机可读存储介质中存储有用于进行信号处理的程序,当其在计算机上运行时,使得计算机执行如前述实施例描述的方法中手势识别方法。
本申请实施例提供的物联网设备具体可以为芯片,芯片包括:处理单元和通信单元,所述处理单元例如可以是处理器,所述通信单元例如可以是输入/输出接口、管脚或电路等。该处理单元可执行存储单元存储的计算机执行指令,以使执行设备内的芯片执行上述实施例描述的手势识别方法,或者,以使训练设备内的芯片执行上述实施例描述的手势识别方法。可选地,所述存储单元为所述芯片内的存储单元,如寄存器、缓存等,所述存储单元还可以是所述无线接入设备端内的位于所述芯片外部的存储单元,如只读存储器(read-only memory,ROM)或可存储静态信息和指令的其他类型的静态存储设备,随机存取存储器(random access memory,RAM)等。
具体的,请参阅图10,图10为本申请实施例提供的芯片的一种结构示意图,所述芯片可以表现为神经网络处理器NPU1000,NPU1000作为协处理器挂载到主CPU(Host CPU)上,由Host CPU分配任务。NPU的核心部分为运算电路1003,通过控制器1004控制运算电路1003提取存储器中的矩阵数据并进行乘法运算。
在一些实现中,运算电路1003内部包括多个处理单元(Process Engine,PE)。在一些实现中,运算电路1003是二维脉动阵列。运算电路1003还可以是一维脉动阵列或者能够执行例如乘法和加法这样的数学运算的其它电子线路。在一些实现中,运算电路1003是通用的矩阵处理器。
举例来说,假设有输入矩阵A,权重矩阵B,输出矩阵C。运算电路从权重存储器1002中取矩阵B相应的数据,并缓存在运算电路中每一个PE上。运算电路从输入存储器1001中取矩阵A数据与矩阵B进行矩阵运算,得到的矩阵的部分结果或最终结果,保存在累加器(accumulator)1008中。
统一存储器1006用于存放输入数据以及输出数据。权重数据直接通过存储单元访问控制器(direct memory access controller,DMAC)1005,DMAC被搬运到权重存储器1002中。输入数据也通过DMAC被搬运到统一存储器1006中。
BIU为Bus Interface Unit即,总线接口单元1010,用于AXI总线与DMAC和取指存储器(Instruction Fetch Buffer,IFB)1009的交互。
总线接口单元1010(Bus Interface Unit,简称BIU),用于取指存储器1009从外部存储器获取指令,还用于存储单元访问控制器1005从外部存储器获取输入矩阵A或者权重矩阵B的原数据。
DMAC主要用于将外部存储器DDR中的输入数据搬运到统一存储器1006或将权重数据搬运到权重存储器1002中或将输入数据数据搬运到输入存储器1001中。
向量计算单元1007包括多个运算处理单元,在需要的情况下,对运算电路的输出做进一步处理,如向量乘,向量加,指数运算,对数运算,大小比较等等。主要用于神经网络中非卷积/全连接层网络计算,如Batch Normalization(批归一化),像素级求和,对特征平面进行上采样等。
在一些实现中,向量计算单元1007能将经处理的输出的向量存储到统一存储器1006。例如,向量计算单元1007可以将线性函数和/或非线性函数应用到运算电路1003的输出,例如对卷积层提取的特征平面进行线性插值,再例如累加值的向量,用以生成激活值。在一些实现中,向量计算单元1007生成归一化的值、像素级求和的值,或二者均有。在一些实现中,处理过的输出的向量能够用作到运算电路1003的激活输入,例如用于在神经网络中的后续层中的使用。
控制器1004连接的取指存储器(instruction fetch buffer)1009,用于存储控制器1004使用的指令;
统一存储器1006,输入存储器1001,权重存储器1002以及取指存储器1009均为On-Chip存储器。外部存储器私有于该NPU硬件架构。
其中,上述任一处提到的处理器,可以是一个通用中央处理器,微处理器,ASIC,或一个或多个用于控制上述手势识别方法的程序执行的集成电路。
另外需说明的是,以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。另外,本申请提供的装置实施例附图中,模块之间的连接关系表示它们之间具有通信连接,具体可以实现为一条或多条通信总线或信号线。
通过以上的实施方式的描述,所属领域的技术人员可以清楚地了解到本申请可借助软件加必需的通用硬件的方式来实现,当然也可以通过专用硬件包括专用集成电路、专用CPU、专用存储器、专用元器件等来实现。一般情况下,凡由计算机程序完成的功能都可以很容易地用相应的硬件来实现,而且,用来实现同一功能的具体硬件结构也可以是多种多样的,例如模拟电路、数字电路或专用电路等。但是,对本申请而言更多情况下软件程序实现是更佳的实施方式。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在可读取的存储介质中,如计算机的软盘、U盘、移动硬盘、ROM、RAM、磁碟或者光盘等,包括若干指令用以使得一台计算机设备执行本申请各个实施例所述的方法。
在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。
所述计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行所述计算机程序指令时,全部或部分地产生按照本申请实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、手势识别装置、计算设备或数据中心通过有线(例如同轴电缆、光纤、数字用户线(DSL))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、手势识别装置、计算设备或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存储的任何可用介质或者是包含一个或多个可用介质集成的手势识别装置、数据中心等数据存储设备。所述可用介质可以是磁性介质,(例如,软盘、硬盘、磁带)、光介质(例如,DVD)、或者半导体介质(例如固态硬盘(Solid State Disk,SSD))等。
应理解,说明书通篇中提到的“一个实施例”或“一实施例”意味着与实施例有关的特定特征、结构或特性包括在本申请的至少一个实施例中。因此,在整个说明书各处出现的“在一个实施例中”或“在一实施例中”未必一定指相同的实施例。此外,这些特定的特征、结构或特性可以任意适合的方式结合在一个或多个实施例中。应理解,在本申请的各种实施例中,上述各过程的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本申请实施例的实施过程构成任何限定。
另外,本文中术语“系统”和“网络”在本文中常被可互换使用。本文中术语“和/或”,仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。另外,本文中字符“/”,一般表示前后关联对象是一种“或”的关系。
应理解,在本申请实施例中,“与A相应的B”表示B与A相关联,根据A可以确定B。但还应理解,根据A确定B并不意味着仅仅根据A确定B,还可以根据A和/或其它信息确定B。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,上述描述的系统、装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本申请所提供的几个实施例中,应该理解到,所揭露的系统,装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例方法的全部或部分步骤。
总之,以上所述仅为本申请技术方案的较佳实施例而已,并非用于限定本申请的保护范围。凡在本申请的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。

Claims (23)

1.一种手势识别方法,其特征在于,包括:
获取原始点云数据集,所述原始点云数据集包括多个点云数据,所述多个点云数据对应多个反射信号,所述反射信号与雷达装置发射的雷达信号对应;
对所述原始点云数据集进行筛选,得到第一点云数据集,所述第一点云数据集包括多帧第一子点云数据集,所述第一子点云数据集包括第一聚类中心,所述第一聚类中心为所述第一子点云数据集中多个点云数据的聚类中心,任意两个所述第一聚类中心之间的最大水平距离满足第一预设条件,所述第一点云数据集的时间长度满足所述第一预设条件,所述第一预设条件为:任意两个所述第一聚类中心之间的最大水平距离小于第三门限,所述第一点云数据集的时间长度对应的时间长度小于第四门限且大于第五门限;
根据所述第一点云数据集中点云数据的特征值进行手势识别,所述特征值包括点云数据在空间坐标系中的坐标值、距离或速度中的至少一项。
2.根据权利要求1所述的方法,其特征在于,根据所述第一点云数据集中点云数据的特征值进行手势识别,包括:
对所述第一点云数据集进行聚类处理,生成第二点云数据集,其中,
所述第二点云数据集中包括多帧第二子点云数据集,所述第二子点云数据集为对应的所述第一子点云数据集中聚类后点云数据最多的子类,
所述第二子点云数据集包括第二聚类中心,所述第二聚类中心的边界框尺寸小于等于所述第一聚类中心的边界框尺寸;
根据所述第二点云数据集中点云数据的所述特征值进行手势识别。
3.根据权利要求2所述的方法,其特征在于,对所述第一点云数据集进行聚类处理,生成所述第二点云数据集之前,所述方法还包括:
当所述第一点云数据集的帧数与预设帧数不一致时,规整所述第一点云数据集,其中,将规整前所述第一点云数据集的帧数扩充或压缩至所述预设帧数,规整后所述第一点云数据集的帧数为所述预设帧数,所述预设帧数由所述雷达装置发送所述雷达信号的帧率确定。
4.根据权利要求3所述的方法,其特征在于,规整所述第一点云数据集,包括:
按照所述第一点云数据集的时间顺序,选取规整前所述第一点云数据集中多帧所述第一子点云数据集的点云数据的并集,作为规整后所述第一点云数据集中一个所述第一子点云数据集的点云数据;
或,选取规整前所述第一点云数据集中一个所述第一子点云数据集的点云数据,作为规整后所述第一点云数据集中多帧所述第一子点云数据集的点云数据。
5.根据权利要求3所述的方法,其特征在于,根据所述第二点云数据集中点云数据的所述特征值进行手势识别,包括:
根据所述第二子点云数据集中各个点云数据的所述速度,确定速度平均值,所述速度平均值为所述第二子点云数据集中各个点云数据的速度平均值;
根据所述速度平均值,滤除所述第二子点云数据集中与所述速度平均值正负性不一致的点云数据,确定第三子点云数据集,其中,所述第三子点云数据集中各个点云数据的所述速度与所述速度平均值的正负性一致;
根据第三点云数据集中点云数据的所述特征值进行手势识别,其中,所述第三点云数据集中包括多个所述第三子点云数据集,所述第三点云数据集的帧数与所述第二点云数据集的帧数一致。
6.根据权利要求1至5中任一项所述的方法,其特征在于,
所述第一点云数据集中点云数据的速率大于第一门限,
所述第一点云数据集中连续的两帧所述第一子点云数据集之间的时间长度小于第二门限。
7.根据权利要求2至4中任一项所述的方法,其特征在于,所述特征值经过方差处理、中位数处理、最值处理或平均值处理。
8.根据权利要求2至5中任一项所述的方法,其特征在于,所述特征值经过归一化处理。
9.根据权利要求1至5中任一项所述的方法,其特征在于,根据所述第一点云数据集中点云数据的所述特征值进行手势识别,包括:
使用神经网络模型对所述第一点云数据集中点云数据的所述特征值进行处理,进行手势识别,所述神经网络模型包括循环神经网络。
10.根据权利要求1至5中任一项所述的方法,其特征在于,根据所述第一点云数据集中点云数据的所述特征值进行手势识别,包括:
根据所述第一点云数据集中点云数据的所述特征值,和,预设的点云数据集合进行相似度计算;
根据所述相似度计算的结果,确定所述第一点云数据集对应的手势。
11.一种手势识别装置,其特征在于,包括:
获取模块,用于获取原始点云数据集,所述原始点云数据集包括多个点云数据,所述多个点云数据对应多个反射信号,所述反射信号与雷达装置发射的雷达信号对应;
处理模块,用于对所述原始点云数据集进行筛选,得到第一点云数据集,所述第一点云数据集包括多帧第一子点云数据集,每帧所述第一子点云数据集对应所述第一点云数据集中的一帧,所述多帧第一子点云数据集在时间上连续,所述第一子点云数据集包括第一聚类中心,所述第一聚类中心为所述第一子点云数据集中多个点云数据的聚类中心,任意两个所述第一聚类中心之间的最大水平距离满足第一预设条件,所述第一点云数据集的时间长度满足所述第一预设条件,所述第一预设条件为:任意两个所述第一聚类中心之间的最大水平距离小于第三门限,所述第一点云数据集的时间长度对应的时间长度小于第四门限且大于第五门限;
所述处理模块,还用于根据所述第一点云数据集中点云数据的特征值进行手势识别,所述特征值包括点云数据在空间坐标系中的坐标值、距离或速度中的至少一项。
12.根据权利要求11所述的装置,其特征在于,
所述处理模块,具体用于对所述第一点云数据集进行聚类处理,生成第二点云数据集,其中,所述第二点云数据集中包括多帧第二子点云数据集,所述第二子点云数据集为对应的所述第一子点云数据集中聚类后点云数据最多的子类,所述第二子点云数据集包括第二聚类中心,所述第二聚类中心的边界框尺寸小于等于所述第一聚类中心的边界框尺寸;
所述处理模块,具体用于根据所述第二点云数据集中点云数据的所述特征值进行手势识别。
13.根据权利要求12所述的装置,其特征在于,
所述处理模块,还用于当所述第一点云数据集的帧数与预设帧数不一致时,规整所述第一点云数据集,其中,将规整前所述第一点云数据集的帧数扩充或压缩至所述预设帧数,规整后所述第一点云数据集的帧数为所述预设帧数,所述预设帧数由所述雷达装置发送所述雷达信号的帧率确定。
14.根据权利要求13所述的装置,其特征在于,
所述处理模块具体用于,按照所述第一点云数据集的时间顺序,选取规整前所述第一点云数据集中多帧所述第一子点云数据集的点云数据的并集,作为规整后所述第一点云数据集中一个所述第一子点云数据集的点云数据;
或,选取规整前所述第一点云数据集中一个所述第一子点云数据集的点云数据,作为规整后所述第一点云数据集中多帧所述第一子点云数据集的点云数据。
15.根据权利要求13所述的装置,其特征在于,
所述处理模块,具体用于根据所述第二子点云数据集中各个点云数据的所述速度,确定速度平均值,所述速度平均值为所述第二子点云数据集中各个点云数据的速度平均值;
所述处理模块,具体用于根据所述速度平均值,滤除所述第二子点云数据集中与所述速度平均值正负性不一致的点云数据,确定第三子点云数据集,其中,所述第三子点云数据集中各个点云的所述速度与所述速度平均值的正负性一致;
所述处理模块,具体用于根据第三点云数据集中点云数据的所述特征值进行手势识别,其中,所述第三点云数据集中包括多个所述第三子点云数据集,所述第三点云数据集的帧数与所述第二点云数据集的帧数一致。
16.根据权利要求11至15中任一项所述的装置,其特征在于,所述第一点云数据集中点云数据的速率大于第一门限,所述第一点云数据集中连续的两帧所述第一子点云数据集之间的时间长度小于第二门限。
17.根据权利要求12至13中任一项所述的装置,其特征在于,所述特征值经过方差处理、中位数处理、最值处理或平均值处理。
18.根据权利要求12至15中任一项所述的装置,其特征在于,所述特征值经过归一化处理。
19.根据权利要求11至15中任一项所述的装置,其特征在于,
所述处理模块,具体用于使用神经网络模型对所述第一点云数据集中点云数据的所述特征值进行处理,进行手势识别,所述神经网络模型包括循环神经网络。
20.根据权利要求11至15中任一项所述的装置,其特征在于,
所述处理模块,具体用于根据所述第一点云数据集中点云数据的所述特征值,和,预设的点云数据集合进行相似度计算;
所述处理模块,具体用于根据所述相似度计算的结果,确定所述第一点云数据集对应的手势。
21.一种手势识别系统,其特征在于,包括:雷达装置和上述权利要求11至20中任一项所述的手势识别装置;
所述雷达装置和所述手势识别装置通信连接;
所述雷达装置,用于发送雷达信号;
所述雷达装置,还用于接收反射信号,根据所述反射信号生成原始点云数据集,并发送所述原始点云数据集至所述手势识别装置;
所述手势识别装置,用于根据所述原始点云数据集进行手势识别,并执行如权利要求1至10中任一项所述的手势识别方法。
22.一种手势识别装置,其特征在于,所述装置包括处理器以及存储器;所述存储器用于存储程序代码,并将所述程序代码传输给所述处理器;所述处理器用于根据所述程序代码中的指令执行权利要求1至10中任一项所述的手势识别方法。
23.一种物联网设备,其特征在于,所述物联网设备包括上述权利要求11至20中任一项所述的手势识别装置。
CN202010368240.2A 2020-04-30 2020-04-30 一种手势识别方法以及相关装置 Active CN111695420B (zh)

Priority Applications (4)

Application Number Priority Date Filing Date Title
CN202010368240.2A CN111695420B (zh) 2020-04-30 2020-04-30 一种手势识别方法以及相关装置
PCT/CN2021/088850 WO2021218753A1 (zh) 2020-04-30 2021-04-22 一种手势识别方法以及相关装置
EP21795861.0A EP4131064A4 (en) 2020-04-30 2021-04-22 GESTURE RECOGNITION METHOD AND ASSOCIATED DEVICE
US17/976,629 US20230067322A1 (en) 2020-04-30 2022-10-28 Gesture recognition method and related apparatus

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010368240.2A CN111695420B (zh) 2020-04-30 2020-04-30 一种手势识别方法以及相关装置

Publications (2)

Publication Number Publication Date
CN111695420A CN111695420A (zh) 2020-09-22
CN111695420B true CN111695420B (zh) 2024-03-08

Family

ID=72476973

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010368240.2A Active CN111695420B (zh) 2020-04-30 2020-04-30 一种手势识别方法以及相关装置

Country Status (4)

Country Link
US (1) US20230067322A1 (zh)
EP (1) EP4131064A4 (zh)
CN (1) CN111695420B (zh)
WO (1) WO2021218753A1 (zh)

Families Citing this family (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111695420B (zh) * 2020-04-30 2024-03-08 华为技术有限公司 一种手势识别方法以及相关装置
CN112418089A (zh) * 2020-11-23 2021-02-26 森思泰克河北科技有限公司 一种手势识别方法、装置及终端
CN112416128B (zh) * 2020-11-23 2022-07-01 森思泰克河北科技有限公司 一种手势识别方法及终端设备
US11474232B2 (en) 2021-03-19 2022-10-18 KaiKuTek Inc. Range doppler angle detection method and range doppler angle detection device
US11804077B2 (en) 2021-04-01 2023-10-31 KaiKuTek Inc. Generic gesture detecting method and generic gesture detecting device
TWI756122B (zh) * 2021-04-30 2022-02-21 開酷科技股份有限公司 距離都卜勒雷達角度感測方法及裝置
CN113344029B (zh) * 2021-05-10 2024-04-05 深圳瀚维智能医疗科技有限公司 人体点云提取方法、电子装置和可读存储介质
TWI810564B (zh) * 2021-05-14 2023-08-01 開酷科技股份有限公司 通用手勢檢測方法和通用手勢檢測設備
CN113313712B (zh) * 2021-07-30 2021-11-09 季华实验室 一种电池涂胶缺陷检测方法、装置、电子设备及存储介质
CN113720862B (zh) * 2021-08-17 2023-01-13 珠海格力电器股份有限公司 零件异常检测方法、装置、设备及存储介质
US20230186637A1 (en) * 2021-12-10 2023-06-15 Ford Global Technologies, Llc Systems and methods for detecting deep neural network inference quality using image/data manipulation without ground truth information
CN114397963B (zh) * 2022-01-18 2023-06-30 深圳大学 一种手势识别方法、装置、电子设备及存储介质
CN115105035B (zh) * 2022-06-16 2023-06-16 深圳市华屹医疗科技有限公司 生理特征检测方法、装置、计算机设备和存储介质

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103455144A (zh) * 2013-08-22 2013-12-18 深圳先进技术研究院 车载人机交互系统及方法
CN104503275A (zh) * 2014-11-21 2015-04-08 深圳市超节点网络科技有限公司 基于手势的非接触式控制方法及其设备
US9633483B1 (en) * 2014-03-27 2017-04-25 Hrl Laboratories, Llc System for filtering, segmenting and recognizing objects in unconstrained environments
CN108501954A (zh) * 2018-04-03 2018-09-07 北京瑞特森传感科技有限公司 一种手势识别方法、装置、汽车和存储介质
CN109643372A (zh) * 2017-02-28 2019-04-16 深圳市大疆创新科技有限公司 一种识别方法、设备以及可移动平台
CN110533087A (zh) * 2019-08-16 2019-12-03 成都电科慧安科技有限公司 一种基于速度矢量人群聚类的分类方法

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP2474950B1 (en) * 2011-01-05 2013-08-21 Softkinetic Software Natural gesture based user interface methods and systems
CN104317391B (zh) * 2014-09-24 2017-10-03 华中科技大学 一种基于立体视觉的三维手掌姿态识别交互方法和系统
CN107918753B (zh) * 2016-10-10 2019-02-22 腾讯科技(深圳)有限公司 点云数据处理方法及装置
CN110032270B (zh) * 2018-01-12 2020-05-08 中国科学院沈阳自动化研究所 一种基于手势识别的人机交互方法
US10929654B2 (en) * 2018-03-12 2021-02-23 Nvidia Corporation Three-dimensional (3D) pose estimation from a monocular camera
CN110007764B (zh) * 2019-04-11 2022-06-10 北京华捷艾米科技有限公司 一种手势骨架识别方法、装置、系统及存储介质
CN111695420B (zh) * 2020-04-30 2024-03-08 华为技术有限公司 一种手势识别方法以及相关装置

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103455144A (zh) * 2013-08-22 2013-12-18 深圳先进技术研究院 车载人机交互系统及方法
US9633483B1 (en) * 2014-03-27 2017-04-25 Hrl Laboratories, Llc System for filtering, segmenting and recognizing objects in unconstrained environments
CN104503275A (zh) * 2014-11-21 2015-04-08 深圳市超节点网络科技有限公司 基于手势的非接触式控制方法及其设备
CN109643372A (zh) * 2017-02-28 2019-04-16 深圳市大疆创新科技有限公司 一种识别方法、设备以及可移动平台
CN108501954A (zh) * 2018-04-03 2018-09-07 北京瑞特森传感科技有限公司 一种手势识别方法、装置、汽车和存储介质
CN110533087A (zh) * 2019-08-16 2019-12-03 成都电科慧安科技有限公司 一种基于速度矢量人群聚类的分类方法

Also Published As

Publication number Publication date
EP4131064A1 (en) 2023-02-08
WO2021218753A1 (zh) 2021-11-04
CN111695420A (zh) 2020-09-22
US20230067322A1 (en) 2023-03-02
EP4131064A4 (en) 2023-09-06

Similar Documents

Publication Publication Date Title
CN111695420B (zh) 一种手势识别方法以及相关装置
US11573311B2 (en) Smart-device-based radar system performing angular estimation using machine learning
Sang et al. Micro hand gesture recognition system using ultrasonic active sensing
Liu et al. Real-time arm gesture recognition in smart home scenarios via millimeter wave sensing
Skaria et al. Deep-learning methods for hand-gesture recognition using ultra-wideband radar
CN111812633B (zh) 检测基于智能设备的雷达系统中的参考系变化
CN111142102B (zh) 一种呼吸数据计算方法以及相关设备
CN113454481A (zh) 在存在饱和的情况下检测用户姿势的基于智能设备的雷达系统
US20210232228A1 (en) Adaptive thresholding and noise reduction for radar data
CN115244586A (zh) 微波识别方法及系统
CN113064483A (zh) 一种手势识别方法以及相关装置
CN111722706A (zh) 基于雷达网络的空中书写字符识别的方法和系统
US20220326367A1 (en) Smart-Device-Based Radar System Performing Gesture Recognition Using a Space Time Neural Network
Zhou et al. Efficient high cross-user recognition rate ultrasonic hand gesture recognition system
Liu et al. Spectrum-based hand gesture recognition using millimeter-wave radar parameter measurements
Jiang et al. Recognition of dynamic hand gesture based on mm-wave FMCW radar micro-Doppler signatures
CN115343704A (zh) 基于多任务学习的fmcw毫米波雷达的手势识别方法
Gan et al. Gesture recognition system using 24 GHz FMCW radar sensor realized on real-time edge computing platform
Zhang et al. Temporal-range-doppler features interpretation and recognition of hand gestures using MmW FMCW radar sensors
US20240027600A1 (en) Smart-Device-Based Radar System Performing Angular Position Estimation
CN113918004A (zh) 手势识别方法及其装置、介质和系统
Zhou et al. Efficiently user-independent ultrasonic-based gesture recognition algorithm
Huang et al. RPCRS: Human Activity Recognition Using Millimeter Wave Radar
Feng et al. Hand gesture recognition with ensemble time-frequency signatures using enhanced deep convolutional neural network
Salami et al. Tesla-Rapture: A Lightweight Gesture Recognition System from mmWave Radar Point Clouds

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