毫米波雷达实现油烟机手势扫描感知

科技   2024-09-30 21:53   江苏  

点击下方卡片,关注“调皮连续波
一起学习和科普雷达技术!
【正文】
编辑|雷达小助理  审核|调皮哥 

红外、超声波、相机等传感器都可以用于近端手势扫描感知(还有语音控制),毫米波雷达逐渐也在挖掘和探索一些新兴领域,以扩大雷达传感器的生存空间。本期文章来聊聊油烟机中的手势扫描感知,虽然小众,但也有生存空间。

一、概述

毫米波雷达实现油烟机手势扫描感知的技术,已经在业内有所研究。例如,渤海大学肖冰等人在《基于手势识别的油烟机控制系统中》设计了毫米波雷达实现油烟机手势扫描的系统方案,并且定义了控制油烟机的手势动作。(https://patentimages.storage.googleapis.com/c2/1b/5b/fe71707520cdbd/CN105373037A.pdf)

图1:手势识别系统和手势定义

苏州矽典微智能科技有限公司在《隔空手势识别方法和装置以及智能设备》中设计了毫米波雷达手势识别的信号处理流程,并且定义了手势的动作。(https://patentimages.storage.googleapis.com/c5/64/1e/44566135674421/CN112363156A.pdf)

图2:矽典微手势识别处理流程和手势定义

虽然该文献并没有直接将该技术应用于油烟机的手势扫描感应中,但是该技术具备在油烟机中的应用价值。

而宁波隔空智能科技有限公司在《基于微波雷达手势识别技术的抽油烟机控制器及控制方法》中设计了手势控制油烟机的动作,以及整个控制系统。

图3:隔空智能手势动作和识别系统

需要注意的是,隔空智能没有采用毫米波雷达,而是微波雷达。在其官方网站还有演示的视频可以观看:https://www.airtouching.com/news/51.html

电目科技也曾在2021年说:“未来,电目科技预计用一年左右时间,把1发1收的毫米波雷达的价格做到10元级别,这将极大地扩大毫米波雷达的应用范围。几百元的毫米波雷达汽车用得起的,几十元的毫米波雷达空调用得起,未来10元级别的毫米波雷达将赋能抽油烟机、电视机等诸多家电,也能让消防烟感加上人感成为标配。”(https://iot.ofweek.com/2021-10/ART-132235-8120-30529528.html)

目前1发1收的毫米波雷达价格已经在10元以下了,市场内卷加深,如果需求量上不去,将没有利润空间可言。

上海矽杰微在《低成本毫米波手势识别实现方法及系统》中设计了由两个微波模块组成的低成本手势识别系统,如下图所示。(https://patents.google.com/patent/CN111552387A/zh)

图4:矽杰微低成本手势识别方案

二、技术难点

(1)人体运动和手势动作的区分

毫米波雷达很难像摄像头一样检测人体和手掌的关节点:

图5:人体关节点

即使当前有研究人员采用高分辨的4D成像毫米波雷达实现人体骨骼生成,但也很难对手掌这么做,同时成本也很高。

图6:4D成像毫米波雷达实现人体骨骼生成(https://www.researcher-app.com/paper/5602090)

如果对人的整个手臂运动进行检测,采用4D成像毫米波雷达到还有一些可能,但也不可避免的是成本太高。

图7:手臂动作点云成像(https://www.mdpi.com/1424-8220/22/22/8738)

如果采用低成本的24G雷达,其收发通道数、分辨率都难以实现点云成像,因此很难实现高精度的人体骨骼生成,更不用说通过人体骨骼来实现手势识别。

因此,这种低成本的雷达主要是检测手势的运动过程,比如前、后、左、右、上、下、画圈等等,而且手势必须是动态的(不考虑ISAR成像)。其输出的信息是一段时间内手势变化的距离、速度、角度、功率,及其这些信息的相关性。

大部分的研究仅考虑了手势动作的定义和识别率,很少有考虑人体运动对手势识别精度的影响。人体的运动和手势的动作在分辨率较低的24G雷达中,是很难区分的。有的方案是限定人体手势的感知距离,比如限定40厘米,只有手势位于40厘米内才进行检测,同时要求人的身体不能靠近。但是这种做法对于油烟机感知以及其他大多数手势识别应用是难以被接受的。

文献《Towards Natural Virtual Mouse with mm-Wave Radar讨论了,人体运动和手势动作的区分,并且英飞凌BGT60TR13C芯片上验证了该算法。

图8:人体和手势的RD谱

该论文提出了一种基于图像过滤的身体跟踪算法,旨在通过消除身体的干扰,专注于手部的跟踪。

图9:人体运动干扰消除

其他消除人体运动干扰的方法,比如可以重新定义人体手势动作,隔空双击、三击或者抓握等动作来控制智能设备(启动、关闭、调节挡位)。多次近距离隔空敲击的手势具有比较明显的特征规律,与人体的随机运动不同。不过这种动作对于用户的体验感可能没有直接进行左右扫描那么流畅,需要对用户进行习惯培养。

其实除了人体运动的干扰之外,还有厨房内各种杂物,抽油烟机风机振动,以及炒菜时各种动作。如此复杂的场景下,定义有明显特征的手势来切换功能是比较好的策略,不用花费太多时间在信号处理算法以及神经网络算法上。

也有研究提出采用手势扫描的速度、距离、角度来联合判别手势动作,以避免人体引起的干扰。但是手势扫描的速度需要高于人体运动的速度,才能具备速度区分的特征,否则也无法有效区分。这种方法的弊端在于无法保证人体速度和手势运动速度没有重叠,如果手势需要很高的速度,对于用户的体验感会很不友好。

(2)距离、速度和角度精度提升和稳定

油烟机场景仅针对单目标而言,可以不用考虑多目标检测的场景,因此单目标检测的精度很重要,只有精度足够高,后续手势识别的精度才能足够好。

首先第一步是信号质量足够好,虽然24G雷达成本比60G雷达低,但是有的雷达芯片的信号质量是不好的,存在不一致性的问题很大,比如雷达间、帧间、Chirp间、通道间。另外还有干扰、杂波、噪声,以及近端泄露等等问题,需要抑制。

第二步是选择合适的算法,提高测距精度。最常见的提高测距精度的算法是FFT三点抛物线插值法,详细原理见:https://blog.csdn.net/zwchhm/article/details/136236649

function fe = FFT_Interpolate(FFT_in, nfft)% FFT_in -- 复数正弦波% nfft -- FFT点数Freq_Domain = fft(FFT_in, nfft);abs_F = abs(Freq_Domain);[max_value, index] = max(abs_F);if(index == 1)    left_value = abs_F(nfft);    right_value = abs_F(2);elseif(index == nfft)    left_value = abs_F(nfft - 1);    right_value = abs_F(1);else    left_value = abs_F(index - 1);    right_value = abs_F(index + 1);end  delta_f = (left_value - right_value) / (right_value + left_value - 2 * max_value) / 2;fe = (index - 1 + delta_f) * fs / nfft;if(fe > fs / 2)    fe = fe - fs;end

除了上述算法之外,还有其他很多方法,例如在文献《基于唯多谱勒的被动雷达信号处理技术研究》中提到了好几种。

二元分支搜索:

利用插值的频率估计:

高效的利用插值的频率估计新方法:

还有利用MIN-MAX插值的非均匀FFT方法:常见的典型的计算频谱的方法有FFT、补零FFT、级联-ZOOM-FFT、ZOOM-FFT、CZT和非均匀傅里叶变换方法,除了非均匀傅里叶变换方法,其他的方法在频率分辨率、计算精度和计算量方面不能兼得。

24G雷达一般都是1T1R或者1T2R,如果采用级联则可以做到2T4R等等。在测角算法方面主要采用CaponBF算法(https://ieeexplore.ieee.org/document/767766)。

%% DOA CAPON%% 初始化参数 initial parameterclose all;clear all;clc;source=2;       %信源  signal number 期望信号N=4;            %array numbertheta_s=[20 60];      %DOA of signalss=1024;        %snapshot  快拍数snr=[1 1];    %  SNR  信噪比j=sqrt(-1);%% 信号复包络 SIGNALw=[pi/6 pi/5]';for m=1:source    S(m,:)=10.^(snr(m)/10)*exp(-j*w(m)*[0:ss-1]);end%% 阵列流形  STEERING VECTORA=exp(-j*(0:N-1)'*pi*sin(theta_s/180*pi));%% 噪声  NOISEn=randn(N,ss)+j*randn(N,ss);%% 观测信号  SIGNAL RECEIVEDX=A*S+n;%% 阵列协方差矩阵  COVIARIANCE MATRIXR=X*X'/ss;inv_R = inv(R);%% Capon DOAfor phi=1:1:90;    a=exp(-j*pi*(0:N-1)'*sin(phi*pi/180));    Pcapon(phi)=1/(a'*inv_R*a);endphi_scan=1:1:90;Pcapon=10*log10(Pcapon);figure();plot(phi_scan,Pcapon,'linewidth',2);legend('N=7,d=lamda/2');xlabel('Picth Angle (\circ)');ylabel('Magnitude (dB)');grid on;

如果采用1T2R,在角度维度上两根天线只能区分一个目标,不过对于手势扫描感知类的应用,不需要区分多个目标。另外,如果两个通道不一致,还需要做通道校准。

当然除了Capon之外,还有其他的DOA估计算法,但是需要平衡雷达芯片的算力和存储资源,然后在精度和可实现性之间进行调整。最终,我们希望雷达能够精确跟踪上人体手势动作,给予最好的手势感应,一般识别精度要求至少在95%以上。

三、总结

本文先对手势扫描感知在油烟机等场景下的应用进行概述,并简单介绍了当前的市场和研究现状。然后对24G手势扫描感知雷达的关键技术和难点进行了简要的分析,例举了一些处理算法。后续会根据在实际的研发过程中,遇到的问题进行进一步深入分析。

推荐阅读

(三十八)利用毫米波雷达实现虚拟鼠标

【本期结束】

加雷达群(备注单位+研究方向)、产品推广、品牌推广、招生招聘宣传、活动宣传、推文撰写和代发、转载开白、技术交流、年度会员、付费咨询、代码仿真、资料代找、企业引流、公众号互推、文章投稿、其他合作或问题,请扫描下方二维码

喜欢文章可以一键四连【分享】【收藏】【在看】【点赞】,有疑问可以在文章最下方写留言给我留言!

调皮连续波
做好雷达科普,与大家一起成长!
 最新文章