发明内容
针对上述现有技术的不足,本发明的目的在于提供一种基于L1-Norm的毫米波雷达手势识别方法,通过对目标信息数据进行处理,去除目标信息中的无用特征,降低机器学习中网络训练的难度,提高雷达手势识别的精度,降低误识别率。
为了实现上述目的,本发明采用如下技术方案:
一种基于L1-Norm的毫米波雷达手势识别方法,其特征在于,包括如下步骤:
S100、雷达算法:通过雷达测算,解析得到目标的距离、速度、方位角和俯仰角信息;
S200、数据处理:通过L1-Norm对雷达解析出来的信息进行处理,使之数据稀疏化;
S300、机器学习:将经过L1-Norm处理后的数据传入神经网络,用来对手势做分类。
在本发明一个优选实施例中,在步骤S100中,雷达算法包括如下具体步骤:
S101、数据采样:通过ADC采样得到雷达基带数字信号;
S102、距离、速度维变换:在距离维与速度维上做傅里叶变换;
S103、目标检测:通过恒虚警概率下的检测器对目标进行检测;
S104、角度估计:通过角度估计提取目标的方位角和俯仰角信息;
S105、聚类:将一个真实目标产生的多个雷达目标聚类成一个目标。
在本发明一个优选实施例中,步骤S101的数据采样中,ADC数据是该流程的输入数据,该数据是一个矩阵形式,同一行的数据称为同一个距离维,同一列的数据称为同一速度维。
在本发明一个优选实施例中,步骤S103的目标检测中,恒虚警检测器通过待检测目标附近的距离单元所收集的训练数据来对其进行检测,待检测目标位于中心位置处,其外侧依次对称设有保护单元以及参考单元。
在本发明一个优选实施例中,在步骤S104的角度估计中,毫米波雷达上设有角度估计(Angle Estimation)模块,该模块包括两根接收天线,该模块通过两根天线接收信号的相位差来计算目标的方位角和俯仰角信息。
在本发明一个优选实施例中,在步骤S200中,通过稀疏函数使数据稀疏化,所述稀疏函数为:
式中W=[ωij]∈Rn×n,α作为L1-Norm的控制参数,X是输入信号数据,F是范数。。
在本发明一个优选实施例中,所述稀疏函数通过迭代方法解出最优化结果。
在本发明一个优选实施例中,所述迭代方法包括:
对稀疏函数式中的W的每一行Wi求导,然后令其为0,得到:
XTXZi-XTX+αDiWi=0
其中D
i(1≤i≤n)是对角矩阵,且第k个对角元素为
因此,
Wi=(XTX+αDi)-1XTX
将Di代入Wi的公式中,即可对Wi进行计算,通过迭代运算,最终Wi的值收敛至0或1附近,得到特征向量,可得稀疏函数W的最优解。
在本发明一个优选实施例中,所述神经网络为全连接神经网络。
通过上述技术方案,本发明具有如下有益效果:
(1)本发明设计合理,通过L1-Norm将雷达测算的目标信息进行数据稀疏化处理,实现特征的自动选择,去除无用特征,将特征对应的权重置为零,减少数据的冗余性,有利于网络学习,降低网络训练的难度,提高雷达手势识别的精度,降低其误识别率。
(2)本发明设计合理,在L1-Norm对雷达测算解析出的目标信息进行处理时,通过迭代方法求解稀疏函数的最优解,运用新的优化方法,对目标函数进行求解,简化求解过程的复杂度,提高手势识别的准确性。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。
在本发明使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本公开。在本公开和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。
如图1所示,示出了本发明一种基于L1-Norm的毫米波雷达手势识别方法,其步骤包括:
S100、雷达算法:通过雷达测算,解析得到目标的距离、速度、方位角和俯仰角信息;
S200、数据处理:通过L1-Norm对雷达解析出来的信息进行处理,使之数据稀疏化;
S300、机器学习:将经过L1-Norm处理后的数据传入神经网络,用来对手势做分类。
下面结合附图对本发明的方法进行详细描述。
请参阅图2,对于步骤S100、雷达测算的过程,包括:
S101、数据采样:通过ADC采样得到雷达基带数字信号。
具体的,雷达对目标进行测量,模/数转换器(ADC)将真实世界的模拟信号(例如温度、压力声音或者图像等)转换成数字信号,使其更容易存储、处理和发射。ADC将输入的模拟信号按规定的时间间隔采样,并与一系列标准的数字信号相比较,数字信号逐次收敛,直至两种信号相等为止。
如图3所示,ADC数据是一个矩阵形式,将同一行的数据称为同一个距离维。同一列的数据称为同一速度维,假设该数据的距离维大小为N,速度维大小为M。
S102、距离、速度维变换:在距离维与速度维上做傅里叶变换。
具体的,对数字信号分别在距离维做傅里叶变换和速度维做傅里叶变换,通过Range FFT模块对同一距离维的数据做快速傅里叶变换(FFT),因为ADC的数据大小为N*M,因此需要做M次距离维FFT,Range FFT后的结果同样是N*M大小的矩阵;通过Doppler FFT模块对同一速度维的数据做快速傅里叶变换,该模块的输入为Range FFT模块的输出,因为Range FFT模块的结果大小为N*M,因此需要做N次速度维FFT,Doppler FFT后的结果同样是N*M大小的矩阵。
S103、目标检测:通过CFAR检测模块对目标进行检测。CFAR为恒虚警率,在雷达信号检测中,当外界干扰强度变化时,雷达能自动调整其灵敏度,使雷达的虚警概率保持不变,这种特性称为恒虚警率特性。在距离维与速度维上做傅里叶变换后的数字信号传入恒虚警概率下的检测器,通过恒虚警概率下的检测器对待检测目标3进行检测,待检测目标3外侧依次对称设有保护单元2以及参考单元1。
具体的,如图4所示,CFAR模块通过待检测目标3附近的距离单元所收集的训练数据来估计被测目标,待检测目标3位于中心位置处,其外侧依次对称设有保护单元2以及参考单元1。CFAR模块首先假定雷达杂波的类型,然后通过对待检测目标3附近的参考单元1的数据采用某种算法,对待检测目标3中杂波的参数进行估计,再对待检测目标3中的杂波进行归一化,形成一个与杂波参数无关的量,将这个量与一个跟虚警概率和参考单元1数有关的门限进行比较,判断有无目标的存在,如输入端信号超过了此门限,则判为有目标,否则判为无目标。
具体检测过程如下,首先分别计算左右两侧的参考单元1的均值,计算结果记为x_average1和x_average2;然后计算x_average1和x_average2的均值,计算结果记为x_noise,最后比较待检测目标3和K*x_noise的大小,其中K称为门限值,若待检测目标3的值大于K*x_noise,则该待检测目标3为目标点,反之则不是目标点;经过CFAR检测模块后,可以得到一系列的过检测点,并且记录下每个过检测点在矩阵中的行和列。
S104、角度估计:通过角度估计提取目标的方位角和俯仰角信息。毫米波雷达上设有Angle Estimation(角度估计)模块,该模块包括两根接收天线,该模块通过接收天线接收信号的相位差来计算每一个过检测点的方位角和俯仰角信息。该模块通过接收天线接收信号的相位差来计算每一个过检测点的方位角和俯仰角信息。
具体的,如图5所示,毫米波雷达上设有两根接收天线RX,对于目标物的角度θ,设两接收天线RX接收信号的相位差为ω,则有
由此可以得到
其中,d
RX为毫米波雷达的两根接收天线的距离,计算每一个过检测点的方位角和俯仰角信息。
步骤S105、聚类:Clustering模块将距离较近的目标点聚类为一个目标点,并得到聚类后目标点的距离、速度、方位角以及俯仰角。聚类为将物理或抽象对象的集合分成由类似的对象组成的多个类的过程,由聚类所生成的簇是一组数据对象的集合,这些对象与同一个簇中的对象彼此相似,与其他簇中的对象相异。
具体的,通过Angle Estimation模块得到了每一个目标点在极坐标系下的距离、方位角和俯仰角,再通过坐标转换,得到目标在直角坐标系下的坐标值;而Clustering模块是把距离较近的目标点聚类为一个目标点,并得到聚类后目标点的距离、速度、方位角、俯仰角,以便于将目标点的信息输入机器学习网络中,并进行手势分类。通过Clustering模块,得到一个表示手的距离、速度、方位角和俯仰角的向量,并通过该模块额外增加三个分别用来表示速度、方位角以及俯仰角的符号。
步骤S200、数据处理:L1-Norm即L1范数,是向量中各个元素绝对值之和,L1范数可以进行特征选择,即让特征的系数变为0。L1-Norm对雷达解析出来的信息进行处理,通过稀疏函数使数据稀疏化,所述稀疏函数为:
式中W=[ωij]∈Rn×n,X为输入信号数据,可以是矩阵形式,W为分解输入信号的基本信号(字典),ωij为矩阵W的元素,α作为L1-Norm的参数,用于控制矩阵W整体的稀疏性,使得输入信号数据X中的每个样本xi都由与之具有强相关性的样本表示,F是范数。此稀疏函数是一个凸函数,但是L1-Norm是非光滑的,因此无法直接求解,为此,本发明一个实施例中提供一种有效的优化算法来解决这个问题,最后解出目标函数的最优化结果。例如可以是:
对稀疏函数式中的W的每一行Wi求导,然后令其为0,得到:
XTXZi-XTX+αDiWi=0
其中D
i(1≤i≤n)是对角矩阵,且第k个对角元素为
因此可以将上式表示为:
Wi=(XTX+αDi)-1XTX
此时,数据集XT和X已知,α为可调参数。但值得注意的是,Di依赖于W。
将Di代入Wi的公式中,即可对Wi进行计算,通过迭代运算,最终Wi的值收敛至0或1附近,得到特征向量,计算出稀疏函数W的最优解。
以上举例为一种梯度方法,在本发明实施例中,还可以采用其他梯度方式进行求解,例如,可以采用自然梯度法求解,例如,还可以是梯度下降法求解。
梯度下降法针对的目标是参数,我们更新的目标也是参数,而优化的真正目标是找到最优的模型。每一轮迭代中,对参数的改进和对模型的改进是不同的。相对而言,梯度下降法通常只考虑在梯度方向上对参数进行更新,并没有考虑模型层面的更新,因此就可能会出现模型更新不均匀的现象。自然梯度法不仅仅简单地使用学习率对参数更新进行量化,而是对模型效果进行量化。
因此,本领域技术人员可以根据实际针对侧重点的不同,灵活选取所需要的求解方法。
本领域技术人员在本发明内容的基础上,还可以另行采取其他方式求解,本发明在此不进行一一举例说明。
S300、机器学习:将经过L1-Norm处理后的数据传入神经网络,用来对手势做分类。具体的,如图6所示,神经网络为全连接神经网络,是由若干神经元连接组成的网络,分为输入层,隐藏层,输出层,层与层之前每两两个神经元之间存在连接,代表着一个权重,其中隐藏层可以是多层,用来计算的。以具体例子表示:
第j个输出神经元的输入:
其中,w是输入权重,h、y分别表示第h行、第y列,bh为输入向量中的第h个。
第h个隐层神经元的输入:
其中,v是输入权重,i、h分别表示第i行、第h列,zi为输入向量中的第i个。
如图7所示,神经元结构中,神经元是前一层的输出作为当前层的输入,用突触权值与输入值之间的乘积加上偏置值,作为激活函数的输入,因为前一层网络的计算结果很有可能不在0-1之间,而数据的范围需要统一,因此用激活函数把数据范围给限定住,通过激活函数将数据归一化,激活函数的值输出到下一层,完成对输入信号的矩阵计算,直到所有的层都计算完,最后输出手势的分类结果。
对每种手势进行训练时,为每个输出单元指定期望输出,其中一个输出单元为1,其余为0,这样对输出单元而言,每种手势都对应了一种组合。所有样本训练结束后,保存权值。然后将需要识别的手势信息进行处理后,将其输入神经网络进行识别,在输出单元中,根据输出值最接近1的单元号来判断所识别的手势。
本发明设计合理,通过L1-Norm将雷达测算的目标信息进行数据稀疏化处理,实现特征的自动选择,去除无用特征,将特征对应的权重置为零,减少数据的冗余性,有利于网络学习,降低网络训练的难度,提高雷达手势识别的精度,降低其误识别率。
以上所述,仅为本发明的较佳实施例,并非对本发明任何形式上和实质上的限制,应当指出,对于本技术领域的普通技术人员,在不脱离本发明方法的前提下,还将可以做出若干改进和补充,这些改进和补充也应视为本发明的保护范围。凡熟悉本专业的技术人员,在不脱离本发明的精神和范围的情况下,当可利用以上所揭示的技术内容而做出的些许更动、修饰与演变的等同变化,均为本发明的等效实施例;同时,凡依据本发明的实质技术对上述实施例所作的任何等同变化的更动、修饰与演变,均仍属于本发明的技术方案的范围内。