基于毫米波雷达的手势识别原理
1 Introduction/简介
本文以TI的Gesture UserGuide为参考,简述基于毫米波雷达的手势识别原理,手势识别目前在汽车、家电等方面有较高的应用场景。
性能要求
可识别如下6种手势:左划、右划、向上、向下、顺时针、逆时针。
2 FMCW Radar 原理
1. Chirp and Frame
FMCW雷达发射的一组Chirp,称为一个“Frame”。
2. 2D-FFT Grid
对每个天线接收到的数据做2D-FFT,将得到包含距离维和多普勒维的二维网格。网格中的峰值表示在距离下存在目标。
3. Angle-FFT
通过处理来自多个RX天线的网格中的相应峰值(“角度FFT”),以获得目标的到达角度。
3 手势识别处理流程
算法流程
1. 2D-FFT
对每个接收通道的ADC数据进行处理2D-FFT操作,得到包含距离维和多普勒维的2D-FFT matrix。
2. Noncoherent accumulation/非相干累加
对多个接收通道的2D-FFT matrix进行非相干累加,得到Range-Doppler Heat map。
3. Feature Extraction/特征提取
在Heat map中提取多个特征,每个特征生成时间序列。
4. Feature processing/特征处理
对特定时间窗内提取的特征,通过机器学习算法进行分类,输出对应的手势类别。
技术难点
1. 确认目标位置
包括:目标的角度和位置。
2. 雷达应具有较高的距离分辨率及角度分辨率
在Heat map上尽量为点目标。下图中,由于距离、角度分辨率较低,目标进行了发散,传统的峰值检测技术将不再试用。
3. Range-Doppler Heat map中提取特定特征
可以将特征视为从热图提取的单个数值,其值可反映特定参数的加权平均值;如:平均多普勒,平均距离,多普勒扩展等。其中,雷达的每一帧数据为每个特征生成一个值,通过帧序列得到每个特征的时间序列。
4. 识别和分类
对于手势识别,在提取了多个特征后,生成特征的时间序列,利用机器学习方法识别和分类各种手势。
特征提取
1. Weighted Doppler / 加权多普勒
对于每一帧数据的 Heat map,计算手的速度权重。
2. Instantaneous Energy / 瞬间能量
检测手的存在
3. Weighted Range / 距离加权
检测手的位置
4. Azimuth Angle \ 水平角度
检测手的水平角度,区分左划和右划手势。
5. Elevation Angle / 俯仰角度
检测手的俯仰角度,区分上划和下划手势。
6. Doppler-Azimuth Correlation / 多普勒-方位角相关性
统计特征:水平角度随速度变化,区分逆时针和顺时针手势。
特征分类
利用机器学习的方法,训练人工神经网络模型,实现手势的分类。
处理流程
4 手势识别及分析
1. 左划 / 右划
当手从左向右划动及从右向左划动时, Azimuth Angle 及 Doppler-Azimuth Correlation 均有明显的变化。
2. 上划 / 下划
当手从上向下划动及从下向上划动时, Elevation Angle 变化趋势明显相反。
3. 顺时针 / 逆时针
当手顺时针或逆时针转动时,Doppler-Azimuth Correlation分别为正相关和负相关。