CN117203641A - 训练机器学习模块以在周围计算环境中进行基于雷达的手势检测 - Google Patents
训练机器学习模块以在周围计算环境中进行基于雷达的手势检测 Download PDFInfo
- Publication number
- CN117203641A CN117203641A CN202280024776.XA CN202280024776A CN117203641A CN 117203641 A CN117203641 A CN 117203641A CN 202280024776 A CN202280024776 A CN 202280024776A CN 117203641 A CN117203641 A CN 117203641A
- Authority
- CN
- China
- Prior art keywords
- gesture
- radar
- machine learning
- learning module
- data
- 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.)
- Pending
Links
- 238000010801 machine learning Methods 0.000 title claims abstract description 150
- 238000001514 detection method Methods 0.000 title claims abstract description 33
- 238000012549 training Methods 0.000 title claims description 45
- 238000000034 method Methods 0.000 claims abstract description 91
- 238000012854 evaluation process Methods 0.000 claims abstract description 11
- 230000033001 locomotion Effects 0.000 claims description 51
- 230000008569 process Effects 0.000 claims description 23
- 230000003252 repetitive effect Effects 0.000 claims description 4
- 230000007613 environmental effect Effects 0.000 abstract description 5
- 230000003993 interaction Effects 0.000 abstract description 5
- 230000001149 cognitive effect Effects 0.000 abstract description 2
- 208000037170 Delayed Emergence from Anesthesia Diseases 0.000 description 49
- 238000004364 calculation method Methods 0.000 description 29
- 238000011176 pooling Methods 0.000 description 19
- 238000004891 communication Methods 0.000 description 14
- 238000009432 framing Methods 0.000 description 13
- 230000015654 memory Effects 0.000 description 13
- 230000002123 temporal effect Effects 0.000 description 13
- 230000004622 sleep time Effects 0.000 description 10
- 239000000872 buffer Substances 0.000 description 9
- 230000004044 response Effects 0.000 description 9
- 230000004043 responsiveness Effects 0.000 description 9
- 238000001228 spectrum Methods 0.000 description 9
- 238000003860 storage Methods 0.000 description 9
- 230000000694 effects Effects 0.000 description 8
- 230000009471 action Effects 0.000 description 7
- 238000010606 normalization Methods 0.000 description 7
- 238000012545 processing Methods 0.000 description 7
- 238000012360 testing method Methods 0.000 description 7
- 238000012935 Averaging Methods 0.000 description 6
- 230000002354 daily effect Effects 0.000 description 5
- 238000011161 development Methods 0.000 description 5
- 238000007781 pre-processing Methods 0.000 description 5
- 230000005540 biological transmission Effects 0.000 description 4
- 238000009826 distribution Methods 0.000 description 4
- 210000003811 finger Anatomy 0.000 description 4
- 239000012634 fragment Substances 0.000 description 4
- 230000001965 increasing effect Effects 0.000 description 4
- 238000005305 interferometry Methods 0.000 description 4
- 230000002093 peripheral effect Effects 0.000 description 4
- 230000009466 transformation Effects 0.000 description 4
- 230000035559 beat frequency Effects 0.000 description 3
- 230000002708 enhancing effect Effects 0.000 description 3
- 238000011156 evaluation Methods 0.000 description 3
- 239000000463 material Substances 0.000 description 3
- 238000012544 monitoring process Methods 0.000 description 3
- 238000005457 optimization Methods 0.000 description 3
- 230000005855 radiation Effects 0.000 description 3
- 230000000007 visual effect Effects 0.000 description 3
- 238000003491 array Methods 0.000 description 2
- 238000004140 cleaning Methods 0.000 description 2
- 125000004122 cyclic group Chemical group 0.000 description 2
- 238000013434 data augmentation Methods 0.000 description 2
- 238000013500 data storage Methods 0.000 description 2
- 238000010586 diagram Methods 0.000 description 2
- 230000009977 dual effect Effects 0.000 description 2
- 230000003203 everyday effect Effects 0.000 description 2
- 239000011521 glass Substances 0.000 description 2
- 230000036541 health Effects 0.000 description 2
- 230000007787 long-term memory Effects 0.000 description 2
- 238000013507 mapping Methods 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 238000007670 refining Methods 0.000 description 2
- 230000035945 sensitivity Effects 0.000 description 2
- 230000003213 activating effect Effects 0.000 description 1
- 230000004913 activation Effects 0.000 description 1
- 230000002776 aggregation Effects 0.000 description 1
- 238000004220 aggregation Methods 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 230000006399 behavior Effects 0.000 description 1
- 235000012813 breadcrumbs Nutrition 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000004883 computer application Methods 0.000 description 1
- 238000010411 cooking Methods 0.000 description 1
- 239000013078 crystal Substances 0.000 description 1
- 238000013480 data collection Methods 0.000 description 1
- 230000003247 decreasing effect Effects 0.000 description 1
- 230000003111 delayed effect Effects 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 210000004247 hand Anatomy 0.000 description 1
- 238000005286 illumination Methods 0.000 description 1
- 230000000977 initiatory effect Effects 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 239000007769 metal material Substances 0.000 description 1
- 230000003278 mimic effect Effects 0.000 description 1
- 230000002085 persistent effect Effects 0.000 description 1
- 230000000704 physical effect Effects 0.000 description 1
- 229920003023 plastic Polymers 0.000 description 1
- 239000004033 plastic Substances 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
- 238000002310 reflectometry Methods 0.000 description 1
- 238000005070 sampling Methods 0.000 description 1
- 230000006403 short-term memory Effects 0.000 description 1
- 230000011664 signaling Effects 0.000 description 1
- 239000000779 smoke Substances 0.000 description 1
- 238000010408 sweeping Methods 0.000 description 1
- 210000003813 thumb Anatomy 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
- 238000009827 uniform distribution Methods 0.000 description 1
Classifications
-
- 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/02—Systems using reflection of radio waves, e.g. primary radar systems; Analogous systems
- G01S13/06—Systems determining position data of a target
- G01S13/08—Systems for measuring distance only
- G01S13/32—Systems for measuring distance only using transmission of continuous waves, whether amplitude-, frequency-, or phase-modulated, or unmodulated
- G01S13/34—Systems for measuring distance only using transmission of continuous waves, whether amplitude-, frequency-, or phase-modulated, or unmodulated using transmission of continuous, frequency-modulated waves while heterodyning the received signal, or a signal derived therefrom, with a locally-generated signal related to the contemporaneously transmitted signal
- G01S13/345—Systems for measuring distance only using transmission of continuous waves, whether amplitude-, frequency-, or phase-modulated, or unmodulated using transmission of continuous, frequency-modulated waves while heterodyning the received signal, or a signal derived therefrom, with a locally-generated signal related to the contemporaneously transmitted signal using triangular modulation
-
- 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/583—Velocity 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/584—Velocity 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
-
- 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/35—Details of non-pulse systems
- G01S7/352—Receivers
- G01S7/358—Receivers using I/Q processing
-
- 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/417—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 involving the use of neural networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N20/00—Machine learning
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/045—Combinations of networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
- G06N3/082—Learning methods modifying the architecture, e.g. adding, deleting or silencing nodes or connections
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N5/00—Computing arrangements using knowledge-based models
- G06N5/01—Dynamic search techniques; Heuristics; Dynamic trees; Branch-and-bound
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/044—Recurrent networks, e.g. Hopfield networks
Abstract
描述了训练机器学习模块以在周围计算环境中执行基于雷达的手势检测的技术和装置。与依赖于物理用户界面的其他智能设备相比,具有雷达系统(102)的智能设备(104)可以通过提供无眼睛交互和较低认知要求的基于手势的用户界面来支持周围计算。雷达系统(102)可以被设计为解决与周围计算相关联的各种挑战,包括功耗、环境变化、背景噪声、大小和用户隐私。雷达系统(102)使用周围计算机器学习模块(222)来快速辨识由多达至少两米外的用户所执行的手势。至少部分地使用两级评估过程来训练周围计算机器学习模块(222),其包括分段的分类任务和未分段的辨识任务。
Description
背景技术
随着智能设备变得越来越普遍,用户将他们并入日常生活中。例如,用户可以使用一个或多个智能设备来获得日常天气和交通信息,控制家庭的温度,应答门铃,打开或关闭灯,和/或播放背景音乐。然而,与一些智能设备交互可能是麻烦并且低效的。例如,智能设备能够具有物理用户界面,该物理用户界面可能需要用户通过物理地触摸智能设备来通过一个或多个提示进行导航。在该情况下,用户必须将注意力从其他主要任务转移开以与智能设备交互,这可能是不方便和破坏性的。
发明内容
描述了用于训练机器学习模块以在周围计算(ambient computing)环境中执行基于雷达的手势检测的技术和装置。与依赖于物理用户界面的其他智能设备相比,具有雷达系统的智能设备能够通过提供无眼睛交互和较低认知要求的基于手势的用户界面来支持周围计算。雷达系统能够被设计成解决与周围计算相关联的各种挑战,包括功耗、环境变化、背景噪声、大小和用户隐私。雷达系统使用周围计算机器学习模块来快速辨识由用户执行的多达至少两米远的手势。
周围计算机器学习模块的训练部分地涉及两阶段评估过程。两阶段评估过程包括第一阶段,其使用预分段的数据执行分段的分类任务。第二阶段使用未分段或连续的时间序列数据和手势去抖动器来执行未分段的辨识任务。未分段的辨识任务可能比分段的分类任务显著地更具有挑战性,因为手势何时出现在连续时间序列数据中是未知的。通过执行分段的分类任务和未分段的辨识任务,周围计算机器学习模块可以被训练以对背景噪声进行滤波并且具有足够低的误报率以增强用户体验。
下面描述的方面包括一种用于训练机器学习模块以执行周围计算的方法。该方法包括使用两阶段评估过程来评估机器学习模块。该评估包括使用机器学习模块使用预分段的数据来执行分段的分类任务,以评估与多个手势的分类相关联的错误。预分段的数据包括具有多个手势分段的复杂雷达数据。多个手势片段中的每个手势片段包括手势运动。跨多个手势片段的手势运动的中心在每个手势片段内具有相同的相对定时对准。该方法还包括使用机器学习模块使用连续时间序列数据来执行未分段的辨识任务,以评估误报率。连续时间序列数据包括其他的复杂雷达数据。该方法附加地包括调整机器学习模块的一个或多个元素以减少错误和误报率。
下面描述的方面还包括一种包括雷达系统和处理器的系统。该处理器被配置成处理由雷达系统根据已经根据所描述的方法中的任何一个方法进行训练的机器学习模块生成的复杂雷达数据。
下面描述的方面包括一种计算机可读存储介质,其包括响应于通过处理器的执行而使系统执行所描述的方法中的任何一个方法的计算机可执行指令。
下面描述的方面还包括一种包括雷达系统和处理器的智能设备。该处理器被配置成处理由雷达系统根据已经根据所描述的方法中的任何一个方法进行训练的机器学习模块生成的复杂雷达数据。
下面描述的方面还包括具有用于训练雷达系统的机器学习模块以执行周围计算的手段的系统。
附图说明
参考以下附图描述训练机器学习模块以在周围计算环境中执行基于雷达的手势检测的装置和技术。整个附图中使用相同的数字来引用相似的特征和组件:
图1-1图示能够实现使用雷达系统的周围计算的示例环境;
图1-2图示与周围计算相关联的示例滑动手势;
图1-3图示与周围计算相关联的示例轻敲手势;
图2图示作为智能设备的一部分的雷达系统的示例实施方式;
图3-1图示示例雷达系统的操作;
图3-2图示用于周围计算的示例雷达成帧结构;
图4图示用于周围计算的雷达系统的示例天线阵列和示例收发器;
图5图示由雷达系统实现的用于周围计算的示例方案;
图6-1图示用于周围计算的示例硬件抽象模块;
图6-2图示由硬件抽象模块生成的用于周围计算的示例复杂雷达数据;
图7-1图示用于周围计算的周围计算机器学习模块和手势去抖动器的示例;
图7-2图示用于周围计算的跨多个手势帧的概率的示例图表;
图8-1图示用于使用雷达系统的周围计算的第一示例帧模型;
图8-2图示用于使用雷达系统的周围计算的第一示例时间模型;
图9-1图示用于使用雷达系统的周围计算的第二示例帧模型;
图9-2图示用于使用雷达系统的周围计算的示例残差块;
图9-3图示用于使用雷达系统的周围计算的第二示例时间模型;
图10-1图示其中能够为训练机器学习模块收集数据以在周围计算环境中执行基于雷达的手势检测的示例环境;
图10-2图示其中能够为训练机器学习模块收集肯定记录以在周围计算环境中执行基于雷达的手势检测的示例流程图;
图10-3图示用于细化肯定记录内的手势片段的定时的示例流程图;
图11图示用于增强肯定和/或否定记录的示例流程图;
图12图示用于训练机器学习模块以在周围计算环境中执行基于雷达的手势检测的示例流程图;
图13图示使用雷达系统促进周围计算的示例方法;
图14图示用于在周围计算环境中生成基于雷达的手势检测事件的另一示例方法;
图15图示用于训练机器学习模块以在周围计算环境中执行基于雷达的手势检测的示例方法;以及
图16图示示例计算系统,该计算系统体现了或者在其中可以实现使得能够使用雷达系统的周围计算的技术。
具体实施方式
随着智能设备变得越来越普遍,用户将它们并入日常生活中。例如,用户可以使用一个或多个智能设备来获得日常天气和交通信息,控制家庭的温度,应答门铃,打开或关闭灯,和/或播放背景音乐。然而,与一些智能设备的交互可能是麻烦并且低效的。例如,智能设备能够具有物理用户界面,该物理用户界面可能需要用户通过物理地触摸智能设备以通过一个或多个提示导航。在该情况下,用户必须将注意力从其他主要任务转移开以与智能设备交互,这可能是不方便和破坏性的。
为了解决此问题,一些智能设备支持周围计算,与需要物理触摸和/或用户的视觉注意的其他界面相比,这使得用户能够以非物理和较低认知要求的方式与智能设备交互。利用周围计算,智能设备无缝地存在于周边环境中,并且在用户执行诸如烹饪、清洁、驾驶、与人们说话或阅读书籍的主要任务的同时向用户提供对信息和服务的访问。
然而,将周围计算结合到智能设备中存在若干挑战。这些挑战包括功耗、环境变化、背景噪声、大小和用户隐私。功耗成为挑战,因为支持周围计算的智能设备的一个或多个传感器必须处于永久的“开启状态”以便于检测来自用户的输入,这可能在任何时间发生。对于依赖于电池功率的智能设备,可能期望使用利用相对低的功率量的传感器来确保智能设备能够操作一天或多天。
第二个挑战是智能设备可以在其中执行周围计算的各种环境。在一些情况下,基于时间的进展(例如,从白天到晚上,或从夏季到冬季)在给定环境中发生自然改变。这些自然改变可能导致温度波动和/或照明条件的改变。这样,期望智能设备能够跨这样的环境变化执行周围计算。
第三个挑战涉及背景噪声。与响应于基于触摸的输入而实现用户交互的其他设备相比,执行周围计算的智能设备在它们以永久“开启状态”操作时可能经历更大量的背景噪声。对于具有话音用户界面的智能设备,背景噪声能够包括背景对话。对于具有基于手势的用户界面的其他智能设备,这能够包括与日常任务相关联的其他移动。为了避免烦扰用户,期望智能设备滤波出此背景噪声并且减少将背景噪声错误地辨识为用户输入的概率。
第四个挑战是大小。期望智能设备具有相对小的占用空间。这使得智能设备能够被嵌入在其他对象内或占据柜台或墙上的较少空间。第五挑战是用户隐私。因为智能设备可以在个人空间(例如,包括卧室、起居室或工作场所)中使用,所以期望以保护用户的隐私的方式并入周围计算。
为了解决这些挑战,描述了训练机器学习模块以在周围计算环境中执行基于雷达的手势检测的技术。雷达系统能够被集成在功率受限和空间受限的智能设备内。在示例实施方式中,雷达系统消耗二十毫瓦或更少的功率并且具有四毫米×六毫米的占用空间。雷达系统还能够容易地容纳在大体上不影响射频信号传播的材料——诸如塑料、玻璃或其他非金属材料——后面。附加地,与红外传感器或相机相比,雷达系统不易受温度或照明变化的影响。此外,雷达传感器不产生用户的空间结构或话音的可区分表示。以该方式,与其他基于图像的传感器相比,雷达传感器能够提供更好的隐私保护。
为了支持周围计算,雷达系统使用周围计算机器学习模块,其被设计成以有限的功率和有限的计算资源操作。周围计算机器学习模块使得雷达系统能够快速辨识由用户在至少两米远的距离处执行的手势。这允许用户在远离智能设备的最远距离处执行其他任务的同时灵活地与智能设备交互。
周围计算机器学习模块的训练部分地涉及两阶段评估过程。两级评估过程包括第一阶段,其使用预分段的数据执行分段的分类任务。第二阶段使用未分段或连续的时间序列数据和手势去抖动器来执行未分段的辨识任务。未分段的辨识任务可能比分段的分类任务显著地更具挑战性,因为手势何时出现在连续时间序列数据中是未知的。通过执行分段的分类任务和未分段的辨识任务两者,周围计算机器学习模块可以被训练来对背景噪声进行滤波并且具有足够低的误报率以增强用户体验。
操作环境
图1-1是示例环境100-1至100-5的图示,其中,可以体现使用雷达系统的技术和包括使用雷达系统的周围计算的装置。在所描绘的环境100-1至100-5中,智能设备104包括能够执行周围计算的雷达系统102。尽管智能设备104被示出为环境100-1至100-5中的智能电话,但是智能设备104通常能够实现为任何类型的设备或对象,如相对于图2进一步描述的。
在环境100-1至100-5中,用户执行不同类型的手势,这些手势由雷达系统102检测。在一些情况下,用户使用附肢或身体部位执行手势。可替代地,用户也可以使用触笔、手持对象、戒指或任何类型的可以反射雷达信号的材料来执行手势。
在环境100-1中,用户通过沿水平维度(例如,从智能设备104的左侧向智能设备104的右侧)在智能设备104上方移动手来做出滚动手势。在环境100-2中,用户做出伸手手势,这减小智能设备104与用户的手之间的距离。环境100-3中的用户通过朝向和远离智能设备104移动手来做出轻敲手势。在环境100-4中,智能设备104被存放在钱包内,并且雷达系统102通过检测被钱包遮挡的手势来提供遮挡手势辨识。在环境100-5中,用户做出手势以发起计时器或使警报静音。
雷达系统102还可以辨识图1中未示出的其他类型的手势或运动。手势的示例类型包括把手转动手势,其中,用户卷曲他们的手指以紧握假想的门把手并且以顺时针或逆时针的方式旋转他们的手指和手以模仿转动假想的门把手的动作。手势的另一示例类型包括纺锤体(spindle-twisting)扭转手势,用户通过将拇指和至少另一个手指在一起摩擦来执行该手势。手势可以是二维的,诸如与触敏显示器一起使用的手势(例如,两指捏合、两指展开或轻敲)。手势也可以是三维的,诸如许多手语手势,例如,美国手语(ASL)和全球其他手语的手势。一旦检测到这些手势中的每一个,智能设备104就可以执行诸如显示新内容、播放音乐、移动光标、激活一个或多个传感器、打开应用等的动作。以该方式,雷达系统102提供对智能设备104的无接触控制。
一些手势可以与用于导航由智能设备104呈现的视觉或听觉内容的特定方向相关联。这些手势可以沿着大体上平行于智能设备104(例如,大体上平行于智能设备104的显示器)的水平面来执行。例如,用户可以执行从智能设备104的左侧行进到智能设备104的右侧的第一滑动手势(例如,向右滑动)以播放队列中的下一首歌曲或者向前跳进一首歌曲。可替代地,用户可以执行从智能设备104的右侧行进到智能设备104的左侧的第二滑动手势(例如,向左滑动)以播放队列中的前一首歌曲或者向后跳进一首歌曲。为了在不同方向中通过视觉内容滚动,用户可以执行从智能设备104的底部行进到智能设备104的顶部的第三滑动手势(例如,向上滑动)或执行从智能设备104的顶部行进到智能设备104的底部的第四滑动手势(例如,向下滑动)。一般而言,与导航相关联的手势可以被映射到导航输入,诸如改变歌曲、导航卡片列表和/或消除项目。
其他手势可以与选择相关联。这些手势可以沿着大体上垂直于智能设备104的垂直平面来执行。例如,用户可以使用轻敲手势来选择由智能设备104呈现的特定选项。在一些情况下,轻敲手势可以是等效于鼠标的单击或在触摸屏上轻敲。一般而言,与选择相关联的手势可以被映射到“采取行动”意图,诸如发起计时器、打开通知卡、播放歌曲和/或暂停歌曲。
雷达系统102的一些实施方式在智能设备104的场境中应用时特别有利,对此存在问题的汇聚。这可能包括对雷达系统102的间隔和布局以及低功率的限制的需求。智能设备104的示例性总体侧向尺寸可以是例如大约八厘米乘以大约十五厘米。雷达系统102的示例性占用空间甚至可以被更多地限制,诸如包括天线在内的大约四毫米乘以六毫米。雷达系统102的示例性功耗可以在几毫瓦到几十毫瓦的数量级上(例如,在大约两毫瓦和二十毫瓦之间)。雷达系统102的这种有限的占用空间和功耗的要求使得智能设备104能够在空间受限的包装中包括其他期望的特征(例如,相机传感器、指纹传感器、显示器等)。
利用提供手势辨识的雷达系统102,智能设备可以通过对日常任务提供快捷方式来支持周围计算。示例快捷方式包括管理闹钟、计时器或烟雾探测器的中断。其他快捷方式包括加速与话音控制智能设备的交互。该类型的快捷方式在没有使用关键词来唤醒智能设备的情况下可以激活智能设备中的话音辨识。有时,用户可能更喜欢使用基于手势的快捷方式代替话音激活的快捷方式,特别是在他们正在参与会话的情形下或在不适合讲话的环境中,诸如在教室或在图书馆的安静的区域。当用户正在驾驶时,使用雷达系统的周围计算可以使用户能够接受或拒绝全球导航卫星系统(GNSS)路线的改变。
周围计算还可以应用于公共场所来控制日常用品。例如,雷达系统102可以辨识控制建筑物特征的手势。这些手势可以使人们能够打开自动门、选择电梯内的楼层以及升高或下降办公室的百叶窗。作为另一个示例,雷达系统102可以辨识操作水龙头、冲厕所或喷泉式饮水器的手势。在示例实施方式中,雷达系统102辨识不同类型的滑动手势,这将关于图1-2进一步描述。可选地,雷达系统还可以辨识轻敲手势,这将关于图1-3进一步描述。
图1-2图示与周围计算相关联的滑动手势的示例类型。一般来说,滑动手势表示横穿智能设备104的至少两侧的扫掠运动(sweeping motion)。在一些情况下,滑动手势可以类似于把桌子上的面包屑刷掉的运动。用户可以使用手掌面向智能设备104的手(例如,平行于智能设备104定位的手)来执行滑动手势。可替代地,用户可以使用手掌朝向或远离运动方向的手(例如,垂直于智能设备104定位的手)来执行滑动手势。在一些情况下,滑动手势可以与定时要求相关联。例如,要被认为是滑动手势,用户将在大约0.5秒内将对象跨智能设备104上的两个相对点扫掠过。
在所描绘的配置中,智能设备104被示出为具有显示器106。显示器106被认为位于智能设备104的前侧。智能设备104还包括侧部108-1至108-4。雷达系统102被定位为接近侧部108-3。考虑以纵向(portrait)定向而定位的智能设备104,使得显示器106面向用户并且具有雷达系统102的侧部108-3远离地面而被定位。在该情况下,智能设备104的第一侧108-1与智能设备104的左侧相对应,并且智能设备104的第二侧108-2与智能设备104的右侧相对应。此外,智能设备104的第三侧108-3与智能设备104的顶侧相对应,并且智能设备104的第四侧108-4与智能设备104的底部(例如,接近地面而定位的侧部)相对应。
在110处,箭头描绘了相对于智能设备104的向右滑动112(例如,向右滑动手势)的方向和向左滑动114(例如,向左滑动手势)的方向。为了执行向右滑动112,用户将对象(例如附肢或触笔)从智能设备104的第一侧108-1移动到智能设备104的第二侧108-2。为了执行向左滑动114,用户将对象从智能设备104的第二侧108-2移动到智能设备104的第一侧108-1。在该情况下,向右滑动112和向左滑动114横穿大体上平行于第三侧108-3和第四侧108-4并且大体上垂直于第一侧108-1和第二侧108-2的路径。
在116处,箭头描绘了相对于智能设备104的向上滑动118(例如,向上滑动手势)的方向和向下滑动120(例如,向下滑动手势)的方向。为了执行向上滑动118,用户将对象从第四侧108-4移动到第三侧108-3。为了执行向下滑动120,用户将对象从第三侧108-3移动到第四侧108-4。在该情况下,向上滑动118和向下滑动120横穿大体上平行于第一侧108-1和第二侧108-2并且大体上垂直于第三侧108-3和第四侧108-4的路径。
在122处,箭头描绘了使用箭头相对于智能设备104的示例全向滑动(例如,全向滑动手势)的方向。全向滑动124表示不一定平行或垂直于给定侧的滑动。以另一种方式解释,全向滑动124表示任何类型的滑动运动,包括上面提到的方向滑动(例如,向右滑动112、向左滑动114、向上滑动118和向下滑动120)。在图1-2中所示的示例中,全向滑动124是从侧部108-1和108-3触摸的点横穿到侧部108-2和108-4触摸的另一点的对角滑动。其他类型的对角运动也是可能的,诸如从侧部108-1和108-4触摸的点到侧部108-2和108-3触摸的另一点的对角滑动。
各种滑动手势可以从以设备为中心的角度来定义。换句话说,向右滑动112通常从智能设备104的左侧行进到智能设备104的右侧,而不管智能设备104的定向如何。考虑以下示例:其中智能设备104以横向(landscape)定向而定位,具有面向用户的显示器106并且第三侧108-3具有定位在智能设备104的右侧上的雷达系统102。在该情况下,第一侧108-1表示智能设备104的顶侧,并且第二侧108-2表示智能设备104的底侧。第三侧108-3表示智能设备104的右侧,并且第四侧108-4表示智能设备104的左侧。这样,用户通过跨第三侧108-3和第四侧108-4移动对象来执行向右滑动112或向左滑动114。为了执行向上滑动118或向下滑动120,用户跨第一侧108-1和第二侧108-2移动对象。
在126处,示出了执行滑动手势112、114、118、120和124中的任何滑动手势的对象与智能设备104的前表面(例如,显示器106的表面)之间的竖直距离128以贯穿手势保持相对不变。例如,滑动手势的起始位置130可以处于在距智能设备104大约相同的竖直距离128处,作为滑动手势的结束位置132。术语“大约”可以意指起始位置130的距离可以在结束位置132的距离的+/-10%内或更小(例如,在结束位置132的+/-5%、+/-3%或+/-2%内)。以另一种方式解释,滑动手势涉及横穿大体上平行于智能设备104的表面(例如,大体上平行于显示器106的表面)的路径的运动。
在一些情况下,滑动手势可以与距智能设备104的特定范围的竖直距离128相关联。例如,如果手势在作为距智能设备104大约3到20厘米之间的竖直距离128处被执行,则手势能够被视为滑动手势。术语“大约”可以意味着该距离可以在指定值的+/-10%内或更小(例如,在指定值的+/-5%、+/-3%或+/-2%内)。尽管在图1-2中起始位置130和结束位置132被示出为在智能设备104上方,但是其他滑动手势的起始位置130和结束位置132可以被定位为远离智能设备104,尤其是在用户在距智能设备104水平距离处执行滑动手势的情形下。作为示例,用户可以在远离智能设备104多于0.3米处执行滑动手势。
图1-3图示与周围计算相关联的示例轻敲手势。一般而言,轻敲手势是首先朝向智能设备104移动并且然后远离智能设备104移动的“弹跳式”运动。此运动大体上垂直于智能设备104的表面(例如,大体上垂直于显示器106的表面)。在一些情况下,用户可以使用手掌面向智能设备104的手(例如,与智能设备104平行而定位的手)来执行轻敲手势。
图1-3描绘了轻敲手势随时间流逝的运动,其中时间从左到右进展。在134处,用户将对象(例如,附肢或触笔)定位在起始位置136处,该起始位置136在距智能设备104的第一距离138处。用户将对象从起始位置136移动到中间位置140。该中间位置140在距智能设备104的第二距离142处。第二距离142小于第一距离138。在144处,用户将对象从中间位置140移动到结束位置146,该结束位置146在距智能设备104的第三距离148处。第三距离148大于第二距离142。第三距离148可以与第一距离138相似或不同。关于图2进一步描述智能设备104和雷达系统102。
图2将雷达系统102图示为智能设备104的一部分。智能设备104被图示具有各种非限制性示例设备,包括台式计算机104-1、平板计算机104-2、膝上型计算机104-3、电视机104-4、计算手表104-5、计算眼镜104-6、游戏系统104-7、微波炉104-8以及车辆104-9。也可以使用其他设备,诸如家庭服务设备、智能扬声器、智能恒温器、安全相机、婴儿监视器、Wi-FiTM路由器、无人机、轨迹板、绘图板、上网本、电子阅读器、家庭自动化和控制系统、墙上显示器以及其他家用电器。注意,智能设备104可以是可穿戴的、不可穿戴的但移动的或相对不移动的(例如,台式机和电器)。雷达系统102可以用作独立雷达系统,或者与许多不同的智能设备104或外围设备一起使用,或嵌入许多不同的智能设备104或外围设备中,诸如嵌入控制家用电器和系统的控制面板中、嵌入汽车中以控制内部功能(例如,音量、巡航控制或甚至汽车驾驶)或者用作膝上型计算机的附件来控制膝上型计算机上的计算应用。
智能设备104包括一个或多个计算机处理器202和至少一个计算机可读介质204,该计算机可读介质204包括存储器介质和存储介质。体现为计算机可读介质204上的计算机可读指令的应用和/或操作系统(未示出)可以由计算机处理器202执行,以提供本文所述的一些功能性。计算机可读介质204还包括应用206,其使用由雷达系统102检测到的周围计算事件(例如,手势输入)来执行与基于手势的无触摸控制相关联的动作。在一些情况下,雷达系统102还能够提供雷达数据以支持基于存在的无触摸控制、用于自动驾驶的碰撞避免、健康监测、健身跟踪、空间映射、人类活动辨识等等。
智能设备104还可以包括用于通过有线、无线或光网络传递数据的网络接口208。例如,网络接口208可以通过局域网(LAN)、无线局域网(WLAN)、个人局域网(PAN)、有线局域网(WAN)、内联网、互联网、对等网络、点对点网络、网状网络等来传递数据。智能设备104还可以包括显示器106。
雷达系统102包括用于将雷达数据发射到远程设备的通信接口210,尽管当雷达系统102被集成在智能设备104内时不需要使用此通信接口210。雷达数据可以包括周围计算事件并且可以可选地包括其他类型的数据,诸如与存在检测、碰撞避免、健康监测、健身跟踪、空间映射或人类活动辨识相关联的数据。通常,由通信接口210提供的雷达数据是以应用206可使用的格式。
雷达系统102还包括至少一个天线阵列212和至少一个收发器214,以发射和接收雷达信号。天线阵列212包括至少一个发射天线元件和至少两个接收天线元件。在一些情况下,天线阵列212包括多个发射天线元件和/或多个接收天线元件。利用多个发射天线元件和多个接收天线元件,雷达系统102可以实现能够在给定时间发射多个有区别的波形的多输入多输出(MIMO)雷达(例如,每个发射天线元件发射不同的波形)。天线元件可以是圆极化的、水平极化的、竖直极化的、或其组合。
天线阵列212的多个接收天线元件可以以一维形状(例如,线)或二维形状(例如,矩形布置、三角形布置或“L”形布置)进行定位,用于包括三个或更多接收天线元件的实施方式。一维形状使得雷达系统102能够测量一个角度维度(例如,方位角或仰角),而二维形状使得雷达系统102能够测量两个角度维度(例如,以确定对象的方位角角度和仰角角度)。与接收天线元件相关联的元件间距可以小于、大于或等于雷达信号的中心波长的一半。
收发器214包括用于经由天线阵列212发射和接收雷达信号的电路系统和逻辑。收发器214的组件可以包括用于调节雷达信号的放大器、相移器、混频器、开关、模数转换器或滤波器。收发器214还包括用于执行诸如调制或解调的同相/正交(I/Q)运算的逻辑。可以使用各种调制,包括线性频率调制、三角频率调制、步进频率调制或相位调制。可替代地,收发器214可以产生具有相对恒定的频率或单音调的雷达信号。收发器214可以被配置成支持连续波或脉冲雷达操作。
收发器214用于生成雷达信号的频谱(例如,频率范围)可以涵盖1和400吉赫兹(GHz)之间、4和100GHz之间、1和24GHz之间、24GHz和70GHz之间、2和4GHz之间、57和64GHz之间、或在大约2.4GHz的频率。在一些情况下,频谱可以被划分成具有相似或不同带宽的多个子频谱。带宽可以在500兆赫兹(MHz)、1GHz、2GHz、4GHz、6GHz等的数量级上。在一些情况下,实现超宽带(UWB)雷达的带宽大约为中心频率的20%或更多。
不同的频率子频谱可以包括例如在大约57和59GHz、59和61GHz、或61和63GHz之间的频率。尽管上述示例频率子频谱是连续的,但是其他频率子频谱可能不是连续的。为了实现相干性,可以由收发器214使用具有相同带宽的多个频率子频谱(连续的或不连续的)来生成多个雷达信号,所述多个雷达信号被同时发射或在时间上分离。在一些情形下,可以使用多个连续的频率子频谱来发射单个雷达信号,从而使雷达信号能够具有宽的带宽。
雷达系统102还包括一个或多个系统处理器216和至少一个系统介质218(例如,一个或多个计算机可读存储介质)。在所描绘的配置中,系统介质218可选地包括硬件抽象模块220。代替依赖于随时间流逝直接跟踪用户的手的位置来检测手势的技术,雷达系统102的系统介质218包括周围计算机器学习模块222和手势去抖动器224。硬件抽象模块220、周围计算机器学习模块222和手势去抖动器224能够使用硬件、软件、固件或其组合来实现。在此示例中,系统处理器216实现硬件抽象模块220、周围计算机器学习模块222和手势去抖动器224。硬件抽象模块220、周围计算机器学习模块222和手势去抖动器使系统处理器216能够处理来自天线阵列212中的接收天线元件的响应,以在周围计算的场境下辨识由用户302执行的手势。
在可替代实施方式(未示出)中,硬件抽象模块220、周围计算机器学习模块222、和/或手势去抖动器224被包括在计算机可读介质204内并且由计算机处理器202实现。这使得雷达系统102能够经由通信接口210向智能设备104提供原始数据,使得计算机处理器202可以处理用于应用206的原始数据。
硬件抽象模块220将由收发器214提供的原始数据变换成硬件不可知的数据,其可以由周围计算机器学习模块222处理。具体地,硬件抽象模块220使来自各种不同类型的雷达信号的复杂数据符合周围计算机器学习模块222的预期输入。这使得周围计算机器学习模块222能够处理由雷达系统102接收的不同类型的雷达信号,包括利用用于调频连续波雷达、相位调制扩频雷达或脉冲雷达的不同调制方案的那些信号。硬件抽象模块220还可以归一化来自具有不同中心频率、带宽、发射功率电平或脉冲宽度的雷达信号的复杂数据。
附加地,硬件抽象模块220符合使用不同硬件架构生成的复杂数据。不同的硬件架构可以包括被定位在智能设备104的不同表面上的不同天线阵列212或天线阵列212内的不同天线元件的集合。通过使用硬件抽象模块220,周围计算机器学习模块222可以处理由具有不同增益的不同天线元件的集合、各种数量的不同天线元件的集合或具有不同天线元件间隔的不同天线元件的集合生成的复杂数据。
通过使用硬件抽象模块220,周围计算机器学习模块222可以在具有影响可用雷达调制方案、传输参数或硬件架构类型的不同限制的雷达系统102中操作。关于图6-1和图6-2进一步描述硬件抽象模块220。
周围计算机器学习模块222分析硬件不可知的数据,并且确定各种手势发生的似然性(例如,由用户执行)。虽然相对于周围计算进行了描述,但是周围计算机器学习模块222也可以被训练成在非周围计算环境的场境中辨识手势。周围计算机器学习模块222是使用多级架构来实现的,这将关于图7-1和图9-3进一步描述。
一些类型的机器学习模块被设计和训练以辨识特定或分段的时间间隔内的手势,诸如由触摸事件发起的时间间隔或对应于显示器处于活动状态的时间间隔。然而,为了支持周围计算的各个方面,周围计算机器学习模块被设计和训练以以连续和非分段的方式跨时间辨识手势。
手势去抖动器224基于由周围计算机器学习模块222提供的似然性(或概率)来确定用户是否执行了手势。手势去抖动器224是关于图7-1和7-2进一步描述的。雷达系统102是关于图3-1进一步描述的。
图3-1图示了雷达系统102的示例操作。在所描绘的配置中,雷达系统102被实现为调频连续波雷达。然而,可以实现其他类型的雷达架构,如上关于图2所述。在环境300中,对象302位于距雷达系统102的特定倾斜范围304处并且通过用户操纵以执行手势。对象302可以是用户的附肢(例如,手、手指或手臂)、被用户佩戴的物品、或被用户握持的物品(例如,触笔)。
为了检测对象302,雷达系统102发射雷达发射信号306。在一些情况下,雷达系统102可以使用大体上宽的辐射图案来发射雷达发射信号306。例如,辐射图案的主波瓣可以具有大约90度或更大(例如,大约110、130或150度)的波束宽度。该广泛的辐射模式使用户能够更灵活地执行用于周围计算的手势。在示例实施方式中,雷达发射信号306的中心频率可以是大约60GHz,并且雷达发射信号306的带宽可以在大约4和6GHz之间(例如,大约4.5或5.5GHz)。术语“大约”可以意味着带宽可以在指定值的+/-10%或更少内(例如,在指定值的+/-5%、+/-3%、或+/-2%内)。
雷达发射信号306的至少一部分被对象302反射。该反射部分表示雷达接收信号308。雷达系统102接收雷达接收信号308,并且处理雷达接收信号308以提取用于手势辨识的数据。如所描绘的,由于在传播和反射期间招致的损耗,雷达接收信号308的幅度小于雷达发射信号306的幅度。
雷达发射信号306包括啁啾(chirp)310-1至310-N的序列,其中N表示大于一的正整数。雷达系统102可以以连续突发发射啁啾310-1至310-N,或者作为时间分离的脉冲发射啁啾310-1至310-N,如关于图3-2进一步所述。例如,每个啁啾310-1至310-N的持续时间可以在数十或数千微秒的数量级上(例如,在大约30微秒(μs)至5毫秒(ms)之间)。雷达系统102的示例脉冲重复频率(PRF)可以大于1500Hz,诸如大约2000Hz或3000Hz。术语“大约”可以意味着脉冲重复频率可以在指定值的+/-10%或更少内(例如,在指定值的+/-5%、+/-3%、或+/-2%内)。
啁啾310-1至310-N的单独频率可以随时间流逝增大或减小。在所描绘的示例中,雷达系统102采用双斜率循环(例如,三角频率调制)以随着时间流逝线性地增大和线性地减小啁啾310-1至310-N的频率。双斜率循环使得雷达系统102能够测量由对象302的运动引起的多普勒频率移位。通常,啁啾310-1至310-N的传输特性(例如,带宽、中心频率、持续时间和发射功率)可以被定制以实现特定的检测范围、范围分辨率或多普勒灵敏度,以检测对象302的一个或多个特性。术语“啁啾”通常指的是雷达信号的片段或部分。对于脉冲多普勒雷达,“啁啾”表示脉冲雷达信号的单独脉冲。对于连续波雷达,“啁啾”表示连续波雷达信号的片段。
在雷达系统102处,雷达接收信号308表示雷达发射信号306的延迟版本。延迟量与从雷达系统102的天线阵列212到对象302的倾斜范围304(例如,距离)成比例。具体来说,此延迟表示雷达发射信号306从雷达系统102传播到对象302所花费的时间与雷达接收信号308从对象302传播到雷达系统102所花费的时间的总和。如果对象302正在移动,则由于多普勒效应雷达接收信号308在频率方面相对于雷达发射信号306被移位。雷达发射信号306和雷达接收信号308之间的频率差可以被称为拍频312。拍频的值基于倾斜范围304和多普勒频率。类似于雷达发射信号306,雷达接收信号308由啁啾310-1至310N中的一个或多个组成。多个啁啾310-1至310-N使雷达系统102能够在预定时间段内对对象302进行多个观察。雷达成帧结构确定啁啾310-1至310-N的定时,如参考图3-2进一步所述。
图3-2图示用于周围计算的示例雷达成帧结构314。在所描绘的配置中,雷达成帧结构314包括三种不同类型的帧。在最高等级处,雷达成帧结构314包括手势帧316(或主帧)的序列,其可以处于活动状态或不活动状态。一般而言,相对于不活动状态,活动状态消耗更大量的功率。在中间等级处,雷达成帧结构314包括特征帧318的序列,其可以类似地处于活动状态或不活动状态。不同类型的特征帧318包括脉冲模式特征帧320(在图3-2的左下方示出)和突发模式特征帧322(在图3-2的右下方示出)。在低等级处,雷达成帧结构314包括雷达帧(RF)324的序列,它们也可以处于活动状态或不活动状态。
雷达系统102在活动的雷达帧324期间发射和接收雷达信号。在一些情况下,针对诸如搜索和跟踪、杂波图生成、用户位置确定等等的基本的雷达操作单独地分析雷达帧324。可以在完成雷达帧324之后将在每个活动雷达帧324期间收集到的雷达数据保存到缓冲区中,或者直接提供给图2的系统处理器216。
雷达系统102跨多个雷达帧324(例如,跨与活动特征帧318相关联的一组雷达帧324)分析雷达数据,以标识特定特征。特征的示例类型包括外部环境内的一个或多个静止对象、这些一个或多个对象的材料特性(例如,反射属性)、这些一个或多个对象的物理特性(例如,大小)。为了在活动手势帧316期间执行手势辨识,雷达系统102分析与多个活动特征帧318相关联的雷达数据。
手势帧316的持续时间可以在毫秒或秒的数量级上(例如,在大约10毫秒(ms)与10秒(s)之间)。在活动手势帧316-1和316-2出现之后,雷达系统102是不活动的,如由不活动手势帧316-3和316-4所示。不活动手势帧316-3和316-4的持续时间由深度睡眠时间326表征,该深度睡眠时间326可以在数十毫秒或更长(例如,大于50ms)的数量级上。在示例实施方式中,雷达系统102关闭收发器214内的所有活动组件(例如,放大器、有源滤波器、压控振荡器(VCO)、压控缓冲区、多路复用器、模数转换器、锁相环(PLL)或晶体振荡器)以在深度睡眠时间326期间节省功率。
对于周围计算,可以适当地设置深度睡眠时间326以在节省功率的同时实现足够的反应和响应性。换句话说,深度睡眠时间326可以足够短以使雷达系统102能够满足周围计算的“始终开启”方面,同时还使能够尽可能地节省功率。在一些情况下,可以基于由雷达系统102检测到的活动量或者基于雷达系统102是否确定用户存在来动态地调整深度睡眠时间326。如果活动水平相对较高或者用户距离雷达系统102足够近以执行手势,则雷达系统102可以减少深度睡眠时间326以增大响应性。可替代地,如果活动水平相对低或者用户距离雷达系统102足够远使得不能在指定距离间隔内执行手势,则雷达系统102可以增大深度睡眠时间326。
在所描绘的雷达成帧结构314中,每个手势帧316包括K个特征帧318,其中K是正整数。如果手势帧316处于不活动状态,则与该手势帧316相关联的所有特征帧318也处于不活动状态。相反,活动手势帧316包括J个活动特征帧318和K-J个不活动特征帧318,其中J是小于或等于K的正整数。特征帧318的数量可以基于环境的复杂性或者手势的复杂性来调整。例如,手势帧316可以包括几个到一百个特征帧316或者更多(例如,K可以等于2、10、30、60或100)。每个特征帧318的持续时间可以在毫秒的数量级上(例如,在大约1ms与50ms之间)。在示例实施方式中,每个特征帧318的持续时间在大约30ms和50ms之间。
为了节省功率,活动特征帧318-1至318-J出现在不活动特征帧318-(J+1)至318-K之前。不活动特征帧318-(J+1)至318-K的持续时间由睡眠时间328表征。以该方式,不活动特征帧318-(J+1)至318-K连续被执行,使得相对于可能使不活动特征帧318-(J+1)至318-K与活动特征帧318-1至318-J交错的其他技术,雷达系统102可以在更长的持续时间内处于断电状态。一般而言,增大睡眠时间328的持续时间使雷达系统102能够关闭收发器214内需要更长启动时间的组件。
每个特征帧318包括L个雷达帧324,其中L是可以等于或可以不等于J或K的正整数。在一些实施方式中,一定数量的雷达帧324可以跨不同的特征帧318变化并且可以包括几帧或几百帧(例如,L可以等于5、15、30、100或500)。雷达帧324的持续时间可以是在数十或数千个微秒的数量级上(例如,在大约30μs和5ms之间)。可以针对预定的检测范围、范围分辨率或多普勒敏感度来定制特定特征帧318内的雷达帧324,这有助于检测特定特征或手势。例如,雷达帧324可以利用特定类型的调制、带宽、频率、发射功率或定时。如果特征帧318处于不活动状态,则与该特征帧318相关联的所有雷达帧324也处于不活动状态。
脉冲模式特征帧320和突发模式特征帧322包括不同的雷达帧324的序列。一般而言,活动的突发模式特征帧320内的雷达帧324发射在时间上以预定的量分离的脉冲。这随着时间流逝使观察分散,由于相对于突发模式特征帧322在脉冲模式特征帧320内观察到的啁啾310-1至310-N中的较大改变,这可以使雷达系统102更容易辨识手势。相反,活动的突发模式特征帧322内的雷达帧324跨突发模式特征帧322的一部分连续地发射脉冲(例如,脉冲没有被预定的时间量分离)。这将通过关闭包括具有更长启动时间的组件的较大数量的组件使得活动的突发模式特征帧322消耗的功率比脉冲模式特征帧320少,如下面进一步所述。
在每个活动脉冲模式特征帧320内,雷达帧324的序列在活动状态和不活动状态之间交替。每个活动的雷达帧324发射啁啾310(例如,脉冲),其由三角形图示。啁啾310的持续时间由活动时间330表征。在活动时间330期间,收发器214内的组件被通电。在包括活动雷达帧324内的剩余时间和随后的不活动雷达帧324的持续时间的短空闲时间332期间,雷达系统102通过关闭收发器214内具有在短空闲时间332的持续时间内的启动时间的一个或多个活动组件来节省功率。
活动的突发模式特征帧322包括P个活动的雷达帧324和L-P个不活动的雷达帧324,其中P是小于或等于L的正整数。为了节省功率,活动的雷达帧324-1至324-P在不活动的雷达帧324-(P+1)至324-L之前出现。不活动雷达帧324-(P+1)至324-L的持续时间由长空闲时间334表征。通过将不活动的雷达帧324-(P+1)至324-L分组在一起,雷达系统102可以相对于在脉冲模式特征帧320期间出现的短空闲时间332在较长持续时间内处于断电状态。附加地,雷达系统102可以关闭收发器214内的具有比短空闲时间332更长并且比长空闲时间334更短的启动时间的附加的组件。
活动的突发模式特征帧322内的每个活动的雷达帧324发射啁啾310的一部分。在此示例中,活动的雷达帧324-1至324-P在发射频率增大的啁啾310的一部分和频率减小的啁啾310的一部分之间交替。
雷达成帧结构314使得能够通过每种帧类型内的可调占空比来节省功率。第一占空比336基于相对于特征帧318(K)的总数量的活动特征帧318(J)的数量。第二占空比338基于相对于雷达帧324(L)的总数量的活动雷达帧324的数量(例如,L/2或P)。第三占空比340基于相对于雷达帧324的持续时间的啁啾310的持续时间。
考虑针对功率状态的示例雷达成帧结构314,其消耗大约2毫瓦(mW)的功率并且具有在大约1和4赫兹(Hz)之间的主帧更新率。在该示例中,雷达成帧结构314包括手势帧316,其持续时间在大约250ms与1秒之间。手势帧316包括三十一个脉冲模式特征帧320(例如,K等于31)。三十一个脉冲模式特征帧320中的一个处于活动状态。这导致占空比336大约等于3.2%。每个脉冲模式特征帧320的持续时间在大约8和32ms之间。每个脉冲模式特征帧320由八个雷达帧324(例如,L等于8)组成。在活动脉冲模式特征帧320内,所有八个雷达帧324都处于活动状态。这导致占空比338等于100%。每个雷达帧324的持续时间在大约1到4ms之间。每个活动雷达帧324内的活动时间330在大约32和128μs之间。这样,所得占空比340大约为3.2%。已经发现该示例雷达成帧结构314产生良好的性能结果,同时在低功率状态的手持智能电话的应用场境中也产生良好的功率效率结果。而且,此性能使雷达系统102能够在保持响应性的同时满足与周围计算相关联的功耗和大小约束。该功率节省可以使雷达系统102能够在功率受限设备中至少一小时的时间段内连续发射和接收用于周围计算的雷达信号。在一些情况下,雷达系统102可以在几十小时或多天的数量级的时间段内操作。
虽然两斜率循环信号(例如,三角频率调制信号)在图3-1和3-2中显式示出,但是这些技术可以应用于其他类型的信号,包括关于图2提到的那些信号。(图3-1的)雷达发射信号306的生成和(图3-1的)雷达接收信号308的处理是关于图4进一步描述的。
图4图示雷达系统102的示例天线阵列212和示例收发器214。在所描绘的配置中,收发器214包括发射器402和接收器404。发射器402包括至少一个压控振荡器406和至少一个功率放大器408。接收器404包括至少两个接收信道410-1至410-M,其中M是大于1的正整数。每个接收信道410-1至410-M包括至少一个低噪声放大器412、至少一个混频器414、至少一个滤波器416和至少一个模数转换器418。天线阵列212包括至少一个发射天线元件420和至少两个接收天线元件422-1至422-M。发射天线元件420被耦合到发射器402。接收天线元件422-1至422-M分别被耦合到接收信道410-1至410-M。
在传输期间,压控振荡器406以射频生成调频雷达信号424。功率放大器408将调频雷达信号424放大,以经由发射天线元件420进行传输。发射的调频雷达信号424由雷达发射信号306表示,其可以包括基于图3-2的雷达成帧结构314的多个啁啾310-1至310-N。作为示例,根据图3-2的突发模式特征帧322生成雷达发射信号306,并且雷达发射信号306包括16个啁啾310(例如,N等于16)。
在接收期间,每个接收天线元件422-1至422-M接收雷达接收信号308-1至308-M的版本。通常,雷达接收信号308-1至308-M的这些版本之间的相对相位差是由于接收天线元件422-1至422-M的位置差异引起的。在每个接收信道410-1至410-M内,低噪声放大器412放大雷达接收信号308,并且混频器414将放大的雷达接收信号308与调频雷达信号424混频。具体地,混频器执行差拍操作,其下变频和解调雷达接收信号308以生成差拍信号426。
差拍信号426的频率(即,差拍频率312)表示调频的雷达信号424和雷达接收信号308之间的频率差,该频率差与图3-1的倾斜范围304成比例。尽管未示出,但是差拍信号426可以包括多个频率,其表示来自外部环境内的不同的对象或对象的部分的反射。在一些情况下,这些不同对象相对于雷达系统102以不同的速度移动、沿不同的方向移动或被定位在不同的倾斜范围处。
滤波器416对差拍信号426进行滤波,并且模数转换器418将滤波后的差拍信号426进行数字化。接收信道410-1至410-M分别生成数字差拍信号428-1至428-M,它们被提供给系统处理器216以进行处理。收发器214的接收信道410-1至410-M被耦合到系统处理器216,如图5中所示。
图5图示了由雷达系统102实现的用于周围计算的示例方案。在所描绘的配置中,系统处理器216实现硬件抽象模块220、周围计算机器学习模块222、以及手势去抖动器224。系统处理器216被连接到接收信道410-1至410-M并且还可以与(图2的)计算机处理器202通信。尽管未示出,但是硬件抽象模块220、周围计算机器学习模块222、以及/或者手势去抖动器224可以由计算机处理器202可替代地实现。
在此示例中,硬件抽象模块220从接收信道410-1至410-M接受数字差拍信号428-1至428-M。数字差拍信号428-1至428-M表示原始或未处理的复杂数据。硬件抽象模块220执行一个或多个操作以基于数字差拍信号428-1至428-M生成复杂数据502-1至502-M。硬件抽象模块220将由数字差拍信号428-1至428-M提供的复杂数据变换成由周围计算机器学习模块222所预期的形式。在一些情况下,硬件抽象模块220对与不同发射功率电平相关联的幅度进行归一化或将复杂数据变换成频域表示。
复杂雷达数据502-1至502-M包括幅度和相位信息(例如,同相和正交分量或实数和虚数)。在一些实施方式中,复杂雷达数据502-1至502-M表示用于每个接收信道410-1至410-M和用于每个活动特征帧318的距离多普勒图,如关于图6-2进一步描述的。距离多普勒图包括隐式代替显式的角度信息。在其他实施方式中,复杂雷达数据502-1至502-M包括显式的角度信息。例如,硬件抽象模块220可以执行数字波束成形以显式地提供角度信息,诸如以四维距离-多普勒-方位角-仰角图的形式。
复杂雷达数据502-1到502-M的其他形式也是可能的。例如,复杂雷达数据502-1到502-M可以包括用于每个接收信道410-1到410-M的复杂干涉测量数据。复杂干涉测量数据是距离多普勒图的正交表示。在又一示例,复杂雷达数据502-1至502-M包括用于活动特征帧318的数字差拍信号428-1至428-M的频域表示。尽管未示出,但是雷达系统102的其他实施方式可以将数字差拍信号428-1至428-M直接提供给周围计算机器学习模块222。一般而言,复杂雷达数据502-1至502-M至少包括多普勒信息以及用于一个或多个维度(例如,距离、方位角或仰角)的空间信息。
有时,复杂雷达数据502可以包括上述示例中的任何一个的组合。例如,复杂雷达数据502可以包括与距离多普勒图和复杂干涉测量数据相关联的幅度信息。一般而言,如果复杂雷达数据502-1至502-M包括关于对象302的角度位置的隐式或显式信息,则雷达系统102的手势辨识性能可以改善。该隐式或显式可以包括距离多普勒图内的相位信息、使用波束成形技术确定的角度信息和/或复杂干涉测量数据。
周围计算机器学习模块222可以执行分类,其中周围计算机器学习模块222为一个或多个类别中的每一个提供描述相信输入数据应该被分类到对应的类的程度的数值。在一些实例中,由周围计算机器学习模块222提供的数值可以被称为“置信度得分”,其指示与将输入分类到相应类相关联的相应置信度。在一些实施方式中,可以将置信度得分与一个或多个阈值进行比较以渲染离散类别预测。在一些实施方式中,可以仅选择具有相对最大置信度得分的某些数量的类(例如,一个)来渲染离散类别预测。
在示例实施方式中,周围计算机器学习模块222可以提供概率分类。例如,周围计算机器学习模块222能够在给定样本输入的情况下预测类的集合上的概率分布。因此,周围计算机器学习模块222可以针对每个类输出样本输入属于这样的类的概率,而不是仅输出样本输入应该属于的最可能的类。在一些实施方式中,所有可能类上的概率分布总和可以为一。
可以使用监督学习技术来训练周围计算机器学习模块222。例如,可以在训练数据集上训练机器学习模型,该训练数据集包括标记为属于(或不属于)一个或多个类的训练示例。关于图10-1至12提供了关于监督训练技术的进一步细节。
如图5中所示,周围计算机器学习模块222分析复杂雷达数据502-1至502-M并且生成概率504。概率504中的一些与雷达系统102可以辨识的各种手势相关联。概率504中的另一个可以与后台任务(例如,没有被雷达系统102辨识的背景噪声或手势)相关联。手势去抖动器224分析概率504以确定用户是否执行了手势。如果手势去抖动器224确定手势发生,则手势去抖动器224向计算机处理器202通知周围计算事件506。周围计算事件506包括辨识与周围计算相关联的输入的信号。在此示例中,信号标识辨识后的手势和/或将手势控制输入传递给应用206。基于周围计算事件506,计算机处理器202或应用206执行与检测到的手势或手势控制输入相关联的动作。尽管关于手势进行了描述,但是周围计算事件506可以被扩展以指示其他事件,诸如用户是否存在于给定距离内。将关于图6-1至6-2进一步描述硬件抽象模块220的示例实施方式。
图6-1图示了用于周围计算的示例硬件抽象模块220。在所描绘的配置中,硬件抽象模块220包括预处理级602和信号变换级604。预处理级602对数字差拍信号428-1至428-M内的每个啁啾310-1至310-N进行操作。换句话说,预处理级602对每个活动雷达帧324执行操作。在此示例中,预处理级602包括一维(1D)快速傅里叶变换(FFT)模块606-1至606-M,其分别处理数字差拍信号428-1至428-M。执行类似操作的其他类型的模块也是可能的,诸如傅里叶变换模块。
信号变换级604对数字差拍信号428-1至428-M中的每一个内的啁啾310-1至310-M的序列进行操作。换句话说,信号变换级604对每个活动特征帧318执行操作。在此示例中,信号变换级604包括缓冲区608-1至608-M和二维(2D)FFT模块610-1至610-M。
在接收期间,一维FFT模块606-1至606-M对数字差拍信号428-1至428-M内的啁啾310-1至310-M执行单独的FFT运算。假定雷达接收信号308-1至308-M包括16个啁啾310-1至310-N(例如,N等于16),则每个一维FFT模块606-1至606-M执行16个FFT运算以每个啁啾612-1至612-M生成经预处理的复杂雷达数据。当执行单独运算时,缓冲区608-1至608-M存储结果。一旦与活动特征帧318相关联的所有啁啾310-1至310-M已经由预处理级602处理,由缓冲区608-1至608-M存储的信息就表示针对用于对应接收信道410-1至410-M的每个特征帧614-1至614-M的经预处理的复杂雷达数据。
二维FFT模块610-1至610-M分别处理每一特征帧614-1至614-M的经预处理的复杂雷达数据以生成复杂雷达数据502-1至502-M。在该情况下,复杂雷达数据502-1至502-M表示距离多普勒图,如参考图6-2进一步描述的。
图6-2图示了由硬件抽象模块220生成的用于周围计算的示例复杂雷达数据502-1。硬件抽象模块220被示出为处理与接收信道410-1相关联的数字差拍信号428-1。数字差拍信号428-1包括作为时域信号的啁啾310-1至310-M。啁啾310-1至310-M以它们被收发器214接收和处理的次序被传递到一维FFT模块606-1。
如上所述,一维FFT模块606-1在第一时间对数字差拍信号428-1的第一啁啾310-1执行FFT运算。缓冲区608-1存储与第一啁啾310-1相关联的预处理的复杂雷达数据612-1的第一部分。一维FFT模块606-1继续处理后续的啁啾310-2至310-N,并且缓冲区608-1继续存储经预处理的复杂雷达数据612-1的对应部分。该过程继续直到缓冲区608-1存储与啁啾310-M相关联的经预处理的复杂雷达数据612-M的最后部分。
此时,缓冲区608-1存储与特定特征帧614-1相关联的经预处理的复杂雷达数据。每个特征帧614-1的经预处理的复杂雷达数据表示跨不同啁啾310-1至310-N和跨不同距离分段(range bin)616-1至616-A的(或者距离间隔)的幅度信息(未示出)和相位信息(未示出),其中A表示正整数。
二维FFT 610-1接受每一特征帧614-1的经预处理的复杂雷达数据,并且执行二维FFT运算以形成表示距离多普勒图620的复杂雷达数据502-1。距离多普勒图620包括用于距离分段616-1至616-A和多普勒分段(Doppler bin)618-1至618-B(或多普勒频率间隔)的复杂数据,其中B表示正整数。换句话说,每个距离分段616-1至616-A和多普勒分段618-1至618-B包括具有实部和/或虚部的复数,该实部和虚部表示幅度和相位信息。距离分段616-1至616-A的数量可以在数十或数百的数量级上,诸如32、64或128(例如,A等于32、64或128)。多普勒分段的数量可以在数十或数百的数量级上,诸如16、32、64或124(例如,B等于16、32、64或124)。在第一示例实施方式中,距离分段的数量是64并且多普勒分段的数量是16。在第二示例实施方式中,距离分段的数量是128并且多普勒分段的数量是16。距离分段的数量可以基于手势304的预期倾斜范围而减少。复杂雷达数据502-1,以及(图6-1的)复杂雷达数据502-2至502-M被提供给周围计算机器学习模块222,如图7-1中所示。
图7-1图示周围计算机器学习模块222和手势去抖动器224的示例。周围计算机器学习模块222具有多级架构,其包括第一级和第二级。在第一级中,周围计算机器学习模块222跨空间域处理复杂雷达数据502,这涉及基于逐个特征帧处理复杂雷达数据502。第一级由帧模型702表示。关于图8-1、8-2、9-1和9-2进一步描述帧模型702的示例实施方式。
在第二级中,周围计算机器学习模块222连结多个特征帧318的概要。这些多个特征帧318可以与手势帧316相关联。通过连结概要,第二级基于逐个手势帧跨时域处理复杂雷达数据502。在一些实施方式中,手势帧316在时间上重叠,使得连续手势帧316可以共享至少一个特征帧318。在其他实施方式中,手势帧316是有区别的并且在时间上不重叠。在该情况下,每个手势帧316包括唯一的特征帧318的集合。在示例方面,手势帧316具有相同的大小或持续时间。以另一方式解释,手势帧316可以与相同数量的特征帧318相关联。第二级由时间模型704表示。
利用多级架构,与其他类型的机器学习模块相比,周围计算机器学习模块222的总体大小和推理时间可以显著更少。这可以使周围计算机器学习模块222能够在具有有限计算资源的智能设备104上运行。
在操作期间,帧模型702从硬件抽象模块220接受复杂雷达数据502-1至502-M。作为示例,复杂雷达数据502-1至502-M可以包括用于特征帧318的复数的集合。假定复杂雷达数据502-1至502-M表示距离多普勒图620,则每个复数可以与特定距离分段616(例如,距离间隔或倾斜距离间隔)、多普勒分段618(或多普勒频率间隔)和接收信道410相关联。
在一些实施方式中,在将复杂雷达数据502提供给帧模型702之前,对复杂雷达数据502进行滤波。例如,可以对复杂雷达数据502进行滤波以移除与静止对象(例如,一个或多个“中心”或“慢”多普勒分段618内的对象)相关联的反射。附加地或可替代地,可以基于距离阈值对复杂雷达数据502进行滤波。例如,如果雷达系统102被设计成在周围计算的场境中辨识多达某些距离(例如,多达大约1.5米)的手势,则距离阈值可以被设置成排除与大于距离阈值的距离相关联的距离分段616。这有效地减少复杂雷达数据502的大小并且增大周围计算机器学习模块222的计算速度。在第一示例实施方式中,滤波器将距离分段的数量从64个距离分段减少到24个距离分段。在第二示例实施方式中,滤波器将距离分段的数量从128个距离分段减少到64个距离分段。
此外,可以在将复杂雷达数据502提供给帧模型702之前对复杂雷达数据502进行重塑。例如,复杂雷达数据502可以被重塑为输入张量,该输入张量具有与距离分段616的数量相关联的第一维度、与多普勒分段618的数量相关联的第二维度以及与接收信道410的数量乘以二相关联的第三维度。将接收信道410的数量乘以两个考虑复杂雷达数据502的实数值和虚数值。在示例实施方式中,输入张量可以具有24x16x6或64x16x6的维度。
帧模型702分析复杂雷达数据502并且生成帧概要706-1至706-J(例如,对于每个特征帧318一个帧概要706)。帧概要706-1至706-J是用于多个特征帧318的多维复杂雷达数据502的一维表示。时间模型704接受与手势帧316相关联的帧概要706-1至706-J。时间模型704分析帧概要706-1至706-J并且生成与一个或多个类708相关联的概率504。
示例类708包括至少一个手势类710和至少一个背景类712。手势类710表示周围计算机器学习模块222被训练以辨识的各种手势。这些手势可以包括向右滑动112、向左滑动114、向上滑动118、向下滑动120、全向滑动124、轻敲或其一些组合。背景类712可以涵盖背景噪声或不与手势类710相关联的任何其他类型的运动,包括周围计算机器学习模块222未被训练为辨识的手势。
在第一实施方式中,周围计算机器学习模块222根据三个预测对类708进行分组。这三个预测可以包括纵向预测、横向预测或全向预测。每个预测包括两个或三个类708。例如,纵向预测包括与向右滑动112和向左滑动114相关联的背景类712和手势类710。横向预测包括与向上滑动118和向下滑动120相关联的背景类712和手势类710。全向预测包括与全向滑动124相关联的背景类712和手势类710。在该情况下,类708在每个预测内是互斥的,然而两个预测之间的类708可能不是互斥的。例如,纵向预测的向右滑动112可以与横向预测的向下滑动120相对应。此外,纵向预测的向左滑动114可以与横向预测的向上滑动118相对应。附加地,与全向滑动124相关联的手势类710可以与其他预测中的任何方向滑动相对应。在每个预测内,类708的概率504总计为1。
在第二实施方式中,周围计算机器学习模块222不将类708分组为各种预测。这样,类708是互斥的,并且概率504总计为1。在此示例中,类708包括与向右滑动112、向左滑动114、向上滑动118、向下滑动120和轻敲相关联的背景类712和手势类710。
手势去抖动器224通过评估概率504来检测周围计算事件506。手势去抖动器224使雷达系统102能够从连续数据流中辨识手势,同时保持误报率低于误报率阈值。在一些情况下,手势去抖动器224可以利用第一阈值714和/或第二阈值716。确定第一阈值714的值,使得确保雷达系统102可以快速并且准确地辨识由不同用户执行的不同手势。第一阈值714的值可以通过实验确定,以平衡雷达系统102的响应性和误报率。一般来说,如果与对应手势类710相关联的概率504高于第一阈值714,则手势去抖动器224可以确定手势被执行。在一些实施方式中,手势的概率504必须高于多个连续特征帧318——诸如两个、三个或四个连续特征帧318——的第一阈值714。
手势去抖动器224还可以使用第二阈值716来保持误报率低于误报率阈值。具体地,在检测到手势之后,手势去抖动器224防止另一手势被检测到,直到与手势类710相关联的概率504小于第二阈值716。在一些实施方式中,对于多个连续特征帧318,诸如两个、三个或四个连续特征帧318,手势类710的概率504必须小于第二阈值716。作为示例,第二阈值716可以被设置为大约0.3%。关于图7-2进一步描述手势去抖动器224的示例操作。
图7-2图示跨多个手势帧316的概率504的示例图表718。为了简单起见,在图表718中示出了三个概率504-1、504-2和504-3。这些概率504-1至504-3与不同的手势类710相关联。尽管仅示出了三个概率504-1至504-3,但是下面描述的操作可以应用于具有其他数量的手势类710和概率504的其他实施方式。在图表718中,为了简单起见,未显式示出与背景类712相关联的概率504。
如图表718中所看到的,对于手势帧316-1和316-2,概率504-1至504-3低于第一阈值714和第二阈值716。对于手势帧316-3,概率504-2大于第一阈值714。此外,概率504-1和504-3在针对手势帧316-3的第一阈值714和第二阈值716之间。对于手势帧316-4,概率504-1和504-2高于第一阈值714,并且概率504-3在第一阈值714和第二阈值716之间。对于手势帧316-5,概率504-1大于第一阈值714,概率504-2低于第二阈值716,并且概率504-3在第一阈值714和第二阈值716之间。
在操作期间,手势去抖动器224可以响应于概率504-1到504-3中的一个大于第一阈值714而检测周围计算事件506。具体地,手势去抖动器224标识概率504中的最高概率。如果最高概率与手势类710中的一个而非背景类712相关联,则手势去抖动器224检测到与具有最高概率的手势类710相关联的周围计算事件506。在手势帧316-3的情况下,手势去抖动器224可以检测和与大于第一阈值714的概率504-2相对应的手势类710相关联的周围计算事件506。如果多于一的概率504大于第一阈值714,诸如在手势帧316-4中,则手势去抖动器224可以检测和与最高概率504相对应的手势类710相关联的周围计算事件506,在此示例中该最高概率504为概率504-2。
为了减少误报,手势去抖动器224可以响应于多个连续手势帧316——诸如两个连续手势帧316——的概率504大于第一阈值714而检测周围计算事件506。在该情况下,手势去抖动器224在手势帧316-3处没有检测到周围计算事件506,因为概率504-2低于先前手势帧316-2的第一阈值714。然而,手势去抖动器224在手势帧316-4处检测到周围计算事件506,因为概率504-2大于连续手势帧316-3和316-4的第一阈值714。利用此逻辑,手势去抖动器224还可以基于概率504-1大于连续手势帧316-4和316-5的第一阈值714来将另一周围计算事件506检测为在手势帧316-5期间发生。
在用户执行手势之后,用户可以做出可以使手势类710的概率504高于预期的其他运动。为了减少这些其他运动导致手势去抖动器224错误地检测到后续周围计算事件506的似然性,手势去抖动器224可以应用引用第二阈值716的附加逻辑。具体而言,手势去抖动器224可以防止后续周围计算事件506被检测到,直到与手势类710相关联的概率504小于一个或多个手势帧316的第二阈值716为止。
利用此逻辑,手势去抖动器224可以在手势帧316-4处检测周围计算事件506,因为概率504-1至504-3在手势帧316-4之前的一个或多个手势帧(例如,在手势帧316-1和316-2处)小于第二阈值716。然而,因为手势去抖动器224在手势帧316-4处检测到周围计算事件506,所以手势去抖动器224在手势帧316-5处没有检测到另一周围计算事件506,即使概率504-1大于第一阈值714。这是因为在手势帧316-4处检测到周围计算事件506之后,对于一个或多个手势帧316,概率504-1至504-3没有机会减小到低于第二阈值716。
关于图8-1至8-3描述了周围计算机器学习模块222的第一示例实施方式。此周围计算机器学习模块222被设计为辨识图1-2的方向滑动和全向滑动124。关于图9-1至9-3描述周围计算机器学习模块222的第二示例实施方式。此周围计算机器学习模块222被设计为辨识方向滑动和轻敲手势。附加地,与图8-1至8-3的周围计算机器学习模块222相比,图9-1至9-3的周围计算机器学习模块222使得能够辨识更远距离处的手势。
图8-1和8-2图示用于周围计算的示例帧模型702。通常,帧模型702包括利用残差块的卷积、池化和激活层。在图8-1所示的所描绘的配置中,帧模型702包括平均池化层802、拆分804和第一残差块806-1。平均池化层802接受包括复杂雷达数据502的输入张量800。作为示例,输入张量800可以具有24x16x6的维度。平均池化层802执行下采样,这减少输入张量800的大小。通过减少输入张量800的大小,平均池化层802可以减少周围计算机器学习模块222的计算成本。拆分804沿着范围维度拆分输入张量。
第一残差块806-1执行类似于干涉测量的计算。在示例实施方式中,第一残差块806-1可以被实现为1x1残差块。第一残差块806-1包括主路径808和旁路路径810。主路径808包括第一块812-1,其包括第一卷积层814-1、第一批量归一化层816-1和第一整流器层818-1(例如,整流线性单元(ReLU))。第一卷积层814-1可以实现为1x1卷积层。通常,批量归一化层是可以帮助减少周围计算机器学习模块222对训练数据的过度拟合的泛化技术。在此示例中,旁路路径810不包括另一层。
主路径808还包括第二卷积层814-2和第二批量归一化层816-2。第二卷积层814-2可以类似于第一卷积层814-1(例如,可以是1x1卷积层)。主路径808附加地包括第一汇总层820-1,其使用汇总将从主路径808和旁路路径810输出组合在一起。在第一残差块806-1之后,帧模型702包括第二整流器层818-2、连结层822、第二残差块806-2和第三整流器层818-3。第二残差块806-2可以具有与上述第一残差块806-1相同的结构。关于图8-2进一步描述帧模型702的结构。
在图8-2所示的所描绘的配置中,帧模型702还包括残差块824。残差块824不同于第一残差块806-1和第二残差块806-2。例如,残差块824可以被实现为3x3残差块。沿着主路径808,残差块824包括第二块812-2,其具有与第一块812-1相同的结构。主路径808还包括环绕填充层826、逐深度卷积层828、第三批量归一化层816-3、第四整流器层818-4、第三块812-3和最大池化层830。逐深度卷积层828可以被实现为3x3逐深度卷积层。第三块812-3具有与第一块812-1和第二块812-2相同的结构。第二块812-2、环绕填充层826、逐深度卷积层828、第三批量归一化层816-3、第四整流器层818-4、第三块812-3和最大池化层830表示第一块832-1。
沿着旁路路径810,残差块822包括第三卷积层814-3和整流器层818-4。第三卷积层814-3可以实现为1x1卷积层。残差块822还包括第二汇总层820-2,其使用汇总来组合主路径808和旁路路径810的输出。
在残差块824之后,帧模型702包括第二块832-2,其具有与第一块832-1类似的结构。框架模型702还包括平坦化层834、第一密集层836-1、第五整流器层818-5、第二密集层836-2和第六整流器层818-6。帧模型702输出与当前特征帧318相关联的帧概要706(例如,帧概要706-1至706-J之一)。在示例实施方式中,帧概要706具有带有32个值的单个维度。帧概要706可以存储在存储器中,诸如存储在系统介质218或计算机可读介质204内。随着时间流逝,多个帧概要706被存储在存储器中。时间模型704处理多个帧概要706,如关于图8-3进一步描述的。
图8-3图示用于周围计算的示例时间模型704。时间模型704从存储器访问先前帧概要706-1至706-(J-1),并将先前帧概要706-1至706-(J-1)与当前帧概要706-J连结,如连结838所表示的。此连结帧概要840的集合(例如,连结帧概要706-1至706-J)可以与当前手势帧316相关联。在示例实施方式中,帧概要706的数量是12(例如,J等于12)。
时间模型704包括长短期记忆(LSTM)层842和三个分支844-1、844-2和844-3。分支844-1至844-3包括相应的密集层836-3、836-4和836-5以及相应的softmax层846-1、846-2和846-3。softmax层846-1至846-3可以用于将分别与可能的类708相关联的实际值的集合挤压到在0至1的范围内的实际值的集合,其总和为一。对于与特定预测848相关联的类708,每个分支844生成概率504。例如,第一分支844-1生成与纵向预测848-1相关联的概率504。第二分支844-2生成与横向预测848-2相关联的概率504。第三分支844-3生成与全向预测848-3相关联的概率504。通常,时间模型704可以用任何数量的分支844来实现,包括一个分支、两个分支或八个分支。
图8-1和图8-2中描述的卷积层814可以使用多普勒维度中的循环填充来补偿多普勒混叠。图8-1和图8-2的卷积层814还可以在范围维度中使用零填充。关于图9-1至9-3进一步描述周围计算机器学习模块222的另一实施方式。
图9-1图示用于周围计算的另一示例帧模型702。与图8-1和8-2的帧模型702相比,图9-1的帧模型702采用可分离的残差块902。具体地,图9-1的帧模型702使用一系列可分离残差块902来处理输入张量,并且最大池化层830生成帧概要706。
如图9-1所示,帧模型702包括平均池化层802和跨多个维度操作的可分离残差块902-1。图9-1的平均池化层802可以以与图8-1的平均池化层802类似的方式操作。例如,平均池化层802接受包括复杂雷达数据502的输入张量800。作为示例,输入张量800可以具有64x16x6的维度。平均池化层802执行下采样,这减少了输入张量800的大小。通过减少输入张量的大小,平均池化层802可以减少周围计算机器学习模块222的计算成本。可分离残差块902-1可以包括利用1x1滤波器操作的层。关于图9-2进一步描述可分离残差块902-1。
图9-2图示用于周围计算的示例可分离残差块902。可分离残差块902包括主路径808和旁路路径810。沿着主路径808,可分离残差块902包括第一卷积层908-1、第一批量归一化层816-1、第一整流器层818-1、第二卷积层908-2和第二批量归一化层816-2。卷积层908-1和908-2被实现为可分离二维卷积层906(或更一般地,可分离多维卷积层)。通过使用可分离卷积层906代替可分离残差块902中的标准卷积层,可以以准确度性能相对小的减小为代价显著减少可分离残差块902的计算成本。
可分离残差块902还包括沿着旁路路径810的第三卷积层908-3,其可以被实现为标准二维卷积层。可分离残差块902的汇总层820使用汇总将主路径808和旁路路径810的输出组合在一起。可分离残差块902还包括第二整流器层818-2。
返回图9-1,帧模型702包括一系列块904,其使用第二可分离残差块902-2和第一最大池化层830-1来实现。第二可分离残差块902-2可以具有与第一可分离残差块902-1类似的结构,并且使用利用3x3滤波器操作的层。第一最大池化层830-1可以利用2x2滤波器执行操作。在此示例中,帧模型702包括串联定位的三个块904-1、904-2和904-3。帧模型702还包括第三可分离残差块902-3,其可以具有利用3x3滤波器操作的层。
附加地,帧模型702包括第一可分离二维卷积层906-1,其可以利用2x4滤波器操作。第一可分离二维卷积层906-1跨多个接收信道410压缩复杂雷达数据502。框架模型702还包括平坦化层846。
帧模型702的输出是帧概要706。在示例实施方式中,帧概要706具有带36个值的单个维度。帧概要706可以存储在存储器中,诸如存储在系统介质218或计算机可读介质204内。随着时间的流逝,多个帧概要706被存储在存储器中。时间模型704处理多个帧概要706,如关于图9-3进一步描述的。
图9-3图示用于周围计算的示例时间模型704。时间模型704从存储器访问先前帧概要706-1至706-(J-1),并将先前帧概要706-1至706-(J-1)与当前帧概要706-J连结,如连结838所表示的。此连结帧概要840的集合(例如,连结帧概要706-1至706-J)可以与当前手势帧316相关联。在示例实施方式中,帧概要706的数量是30(例如,J等于30)。
时间模型704包括一系列块914,其包括残差块912和第二最大池化层830-2。残差块912可以被实现为一维残差块,并且第二最大池化层830-2可以被实现为一维最大池化层。在此示例中,时间模型704包括块914-1、914-2和914-3。关于图9-2进一步描述残差块912。
如图9-2中所看到的,残差块912可以具有与可分离残差块902类似的结构。然而,在可分离残差块902与残差块912之间存在一些差异。例如,可分离残差块902使用多维卷积层,并且一些卷积层是可分离卷积层。相反,残差块912使用一维卷积层,并且卷积层是标准卷积层,代替可分离卷积层。在残差块912的场境中,第一、第二和第三卷积层908-3被实现为一维卷积层910。在可替代实施方式中,块914-1到914-3用长短期记忆层替换。长短期记忆层可以以增大计算成本为代价改善性能。
返回图9-3,时间模型704还包括第一密集层828-1和softmax层846-1。时间模型704输出与类708相关联的概率504。
用于周围计算环境中的基于雷达的手势检测的训练机器学习模块
图10-1图示示例环境1000-1至1000-4,其中数据可以被收集以训练用于周围计算环境中的基于雷达的手势检测的机器学习模块。在所描绘的环境1000-1至1000-4中,记录设备1002包括雷达系统102。记录设备1002和/或雷达系统102能够记录数据。在一些情况下,记录设备1002被实现为智能设备104。
在环境1000-1和1000-2中,当参与者1006执行手势时,雷达系统102收集肯定记录1004。在环境1000-1中,参与者1006使用左手执行向右滑动112。在环境1000-2中,参与者1006使用右手执行向左滑动114。通常,肯定记录1004表示在参与者1006执行与手势类710相关联的手势的时间段期间由雷达系统102或记录设备1002记录的复杂雷达数据502。
可以使用具有各种身高和用手习惯(例如,惯用右手的、惯用左手或左右手都灵的)的参与者1006来收集肯定记录1004。此外,可以利用位于相对于雷达系统102的各种位置处的参与者1006来收集肯定记录1004。例如,参与者1006可以在相对于雷达系统102的各种角度处执行手势,包括大约-45度和45度之间的角度。作为另一示例,参与者1006可以在距雷达系统102的各种距离处执行手势,包括大约0.3和2米之间的距离。附加地,可以使用各种姿态(例如,坐下、站立或躺下)、在不同的记录设备1002放置(例如,在桌子上或在参与者1006的手中)的情况下以及在记录设备1002的各种定向(例如,纵向定向、在参与者右边处的侧部108-3的纵向定向或在参与者左边处的侧部108-3的横向定向)的情况下通过参与者1006来收集肯定记录1004。
在环境1000-3和1000-4中,当参与者1006执行后台任务时,雷达系统102收集否定记录1008。在环境1000-3中,参与者1006操作计算机。在环境1000-4中,参与者1006用杯子在记录设备1002周围移动。通常,否定记录1008表示在参与者1006执行与背景类712相关联的后台任务(或不与手势类710相关联的任务)的时间段期间由雷达系统102记录的复杂雷达数据502。
在环境1000-3和1000-4中,参与者1006可以执行类似于与一个或多个手势类710相关联的手势的背景运动。例如,环境1000-3中的参与者1006可以在计算机和鼠标之间移动他们的手,这可以类似于方向滑动手势。作为另一示例,环境1000-4中的参与者1006可以将杯子向下放置在记录设备1002旁边的桌子上,并将杯子重新拾取,这可以类似于轻敲手势。通过在否定记录1008中捕获这些手势状背景运动,雷达系统102可以被训练以在具有手势状运动和意图控制智能设备104的有意手势的后台任务之间进行区分。
否定记录1008可以在各种环境中被收集,包括厨房、卧室或起居室。通常,否定记录1008捕获记录设备1002周围的自然行为,其可以包括参与者1006在记录设备1002处于持有者中时伸手以拾取记录设备1002、在附近跳舞、行走、用桌子上的记录设备1002清洁桌子、或转动汽车的方向盘。否定记录1008还可以捕获类似于滑动手势的手移动的重复,诸如将对象从记录设备1002的一侧移动到另一侧。出于训练目的,否定记录1008被指配背景标签,该背景标签将其与肯定记录1004区分开。为了进一步改善周围计算机器学习模块222的性能,可以可选地滤波否定记录1008以提取与具有高于预定义阈值的速度的运动相关联的样本。
肯定记录1004和否定记录1008被拆分或划分以形成训练数据集、开发数据集和测试数据集。可以确定数据集中的每一个中的肯定记录1004与肯定记录1008的比率以最大化性能。在示例训练过程中,比率为1:6或1:8。关于图12进一步描述周围计算机器学习模块222的训练和评估。关于图10-2进一步描述肯定记录1004的捕获。
图10-2图示用于收集肯定记录1004以用于训练机器学习模块在周围计算环境中执行基于雷达的手势检测的示例流程图1010。在1012处,记录装置1002显示动画,该动画图示手势(例如,与手势类710相关联的手势中的一个)。例如,记录设备1002可以向参与者1006示出特定滑动手势或轻敲手势的动画。
在1014处,记录设备1002提示参与者1006执行所图示的手势。在一些情况下,记录设备1002向参与者1006显示通知或播放可听音调以提示参与者1006。参与者1006在接收到提示之后执行手势。此外,雷达系统102记录复杂雷达数据502以生成肯定记录1004。
在1016处,记录设备1002从正在监视数据收集工作的监督者(proctor)接收通知。该通知指示手势片段的完成。在1008处,记录设备1002将在1004处参与者被提示的时间与在1006处通知被接收到的时间之间发生的肯定记录1004的一部分标记为手势片段。在1020处,记录设备1002将手势标签指配给手势片段。手势标签指示与在1012处显示的动画相关联的手势类710。
在1022处,记录设备1002(或另一设备)预处理肯定记录1004以移除与无效手势相关联的手势片段。如果一些手势片段的持续时间长于或短于预期,则可以移除这些手势片段。如果参与者1006执行手势太慢,则可能发生这种情况。在1024处,记录设备1002(或其他设备)将肯定记录1004拆分成训练数据集、开发数据集和测试数据集。
肯定记录1004可以包括记录设备1002在1014处提示参与者1006时与参与者1006开始执行手势时之间的延迟。附加地,肯定记录1004可以包括当参与者1006完成执行手势时与记录设备1002在1016处接收到通知之间的延迟。为了细化肯定记录1004内的手势片段的定时,可以执行附加操作,如关于图10-3进一步描述的。
图10-3图示用于细化肯定记录1004内的手势片段的定时的示例流程图1026。在1028处,记录设备1002检测肯定记录1004的手势片段内的手势运动的中心。作为示例,记录设备1002在给定手势片段内检测零多普勒交叉。零多普勒交叉可以指的是其中手势的运动在正多普勒分段618和负多普勒分段618之间改变的时间实例。用另一种方式解释,零多普勒交叉可以指的是多普勒确定的距离变化率在正值和负值之间改变的时间实例。这指示手势运动的方向变得大体上垂直于雷达系统102的时间,诸如在滑动手势期间。它还可以指示手势运动的方向颠倒并且手势运动变得大体上静止的时间,诸如在轻敲手势的中间位置140处,如图1-3所示。可以使用其他指示符来检测其他类型的手势的中心点。
在1030处,记录设备1002基于检测到的手势运动的中心来对准定时窗口。定时窗口可以具有特定的持续时间。此持续时间可以与特定数量的特征帧318——诸如12或30个特征帧318——相关联。通常,特征帧318的数量足以捕获与手势类710相关联的手势。在一些情形中,附加偏移被包括在定时窗口内。偏移可以与一个或多个特征帧318的持续时间相关联。定时窗口的中心可以与检测到的手势运动的中心对准。
在1032处,记录设备1002基于定时窗口来调整手势片段的大小以生成预分段的数据。例如,手势片段的大小被减少以包括与对准的定时窗口相关联的样本。预分段的数据可以作为训练数据集、开发数据集和测试数据集的一部分提供。肯定记录1004和/或否定记录1008可以被增强以进一步增强周围计算机器学习模块222的训练,如关于图11进一步描述的。
图11图示用于增强肯定记录1004和/或否定记录1008的示例流程图1100。利用数据增强,周围计算机器学习模块222的训练可以更一般化。具体地,它可以减轻特定于记录设备1002或与记录设备1002相关联的雷达系统102的肯定记录1004和否定记录1008内的潜在偏差的影响。以该方式,数据增强使周围计算机器学习模块222能够忽略记录的数据内固有的某些种类的噪声。
示例偏差可以存在于复杂雷达数据502的幅度信息内。例如,幅度信息可以取决于制造雷达系统102的天线阵列212的过程变化。而且,可以通过散射表面的信号反射率和这些表面的定向来偏置幅度信息。
另一示例偏差可以存在于复杂雷达数据502的相位信息内。存在与复杂雷达数据502相关联的两种类型的相位信息。第一类型的相位信息是绝对相位。复杂雷达数据502的绝对相位可以取决于表面位置、相位噪声和采样定时中的错误。第二类型的相位信息包括跨复杂雷达数据502的不同接收信道410的相对相位。相对相位可以对应于雷达系统102周围的散射表面的角度。通常,期望训练周围计算机器学习模块222学习以评估相对相位而不是绝对相位。然而,这可能是具有挑战性的,因为绝对相位可能具有偏差,周围计算机器学习模块222可以辨识并依赖于该偏差来进行正确的预测。
为了以减少这些偏差对周围计算机器学习模块222的训练的影响的方式改善肯定记录1004或否定记录1008,通过增强记录的数据来生成附加训练数据。在1102处,例如,使用幅度缩放来增强记录的数据。具体地,肯定记录1004和/或否定记录1008的幅度是利用从正态分布中挑选的缩放因子来缩放的。在示例方面,正态分布具有平均值1和标准偏差0.025。
在1104处,附加地或可替代地使用随机相位旋转来增强记录的数据。具体地,将随机相位旋转应用于肯定记录1004和/或否定记录1008内的复杂雷达数据502。随机相位值可以从-180度和180度之间的均匀分布中挑选。通常,数据增强使记录的数据能够以不需要收集附加数据的成本有效的方式人为变化。
图12图示用于训练机器学习模块以在周围计算环境中执行基于雷达的手势检测的示例流程图1200。在1202处,使用训练数据集和监督学习来训练周围计算机器学习模块222。如上所述,训练数据集可以包括在1032处生成的预分段的数据。此训练使能够优化周围计算机器学习模块222的内部参数,包括权重和偏差。
在1204处,使用开发数据集优化周围计算机器学习模块222的超参数。如上所述,开发数据集可以包括在1032处生成的预分段的数据。通常,超参数表示在1202处的训练期间未改变的外部参数。第一类型的超参数包括与周围计算机器学习模块222的架构相关联的参数,诸如层的数量或每个层中的节点的数量。第二类型的超参数包括与处理训练数据相关联的参数,诸如学习率或时代的数量。超参数可以是手动选择的,或者可以使用诸如网格搜索、黑盒优化技术、基于梯度的优化等技术来自动选择。
在1206处,使用测试数据集评估周围计算机器学习模块222。具体地,执行两阶段评估过程。在1208处描述的第一阶段包括使用周围计算机器学习模块222和测试数据集内的预分段的数据来执行分段的分类任务。代替使用手势去抖动器224来确定周围计算事件506,基于由时间模型704提供的最高概率来确定周围计算事件506。通过执行分段的分类任务,可以评估周围计算机器学习模块222的准确性、精度和召回。
在1210处描述的第二阶段包括使用周围计算机器学习模块和手势去抖动器224来执行未分段的辨识任务。代替使用测试数据集内的预分段的数据,使用连续时间序列数据(或连续数据流)来执行未分段的辨识任务。通过执行未分段的辨识任务,可以评估周围计算机器学习模块222的检测率和/或误报率。具体地,可以使用肯定记录1004来执行未分段的辨识任务以评估检测率,并且可以使用否定记录1006来执行未分段的辨识任务以评估误报率。未分段的辨识任务利用手势去抖动器224,这使能够进一步调谐第一阈值714和第二阈值716以实现期望的检测率和期望的误报率。
如果分段的分类任务和/或未分段的辨识任务的结果不令人满意,则可以调整周围计算机器学习模块222的一个或多个元素。这些元素可以包括周围计算机器学习模块222的整体架构、对训练数据的调整和/或对超参数的调整。利用这些调整,周围计算机器学习模块222的训练可以在1202处重复。
示例方法
图13至15描绘用于使用雷达系统实现周围计算的各方面的示例方法1300、1400以及1500。方法1300、1400以及1500被示为执行的操作(或动作)的集合,但不必限于本文示出操作的次序或组合。此外,操作中的任何一个或者多个可以被重复、组合、重组或链接,以提供各种各样的附加和/或替代方法。在以下讨论的部分中,可以参考图1的环境100-1至100-5,以及图2、图4、图5以及7-1详述的实体,对其的参考仅作为示例。技术不限于由在一个设备上操作的一个实体或多个实体来执行。
在图13中的1302处,发射包括多个帧的雷达发射信号。多个帧中的每个帧包括多个啁啾。例如,雷达系统102发射雷达发射信号306,如图3-1所示。雷达发射信号306与多个特征帧318相关联,如图3-2所示。每个特征帧318包括在活动雷达帧324内描绘的多个啁啾310。多个特征帧318可以与相同的手势帧316相对应。
在1304处,接收包括由用户反射的雷达发射信号的版本的雷达接收信号。例如,雷达系统102接收雷达接收信号308,其表示由用户(或更一般地,对象302)反射的雷达发射信号306的版本,如图3-1所示。
在1306处,基于雷达接收信号生成用于多个帧中的每个帧的复杂雷达数据。例如,雷达系统102的硬件抽象模块220基于与雷达接收信号308相关联的数字拍频信号428生成复杂雷达数据502,如图6-1所示。硬件抽象模块220为多个特征帧318中的每个特征帧318生成复杂雷达数据502。复杂雷达数据502可以表示距离多普勒图620,如图6-2所示。
在1308处,将复杂雷达数据提供给机器学习模块。例如,硬件抽象模块220将复杂雷达数据502提供给周围计算机器学习模块222,如图7-1所示。
在1310处,由机器学习模块的第一级并且基于复杂雷达数据生成用于多个帧中的每个帧的帧概要。例如,周围计算机器学习模块的帧模型702基于复杂雷达数据502为每个特征帧318生成帧概要706,如图7-1、8-2和9-1所示。
在1312处,多个帧概要由机器学习模块的第二级连结以形成帧概要的连结集合。例如,时间模型704连结帧概要706-1至706-J以形成帧概要840的连结集合,如图8-3和9-3所示。
在1314处,与多个手势相关联的概率由机器学习模块的第二级并且基于帧概要的连结集合来生成。例如,时间模型704基于帧概要840的连结集合来生成概率504。概率504与多个手势或多个手势类710相关联。示例手势包括方向滑动、全向滑动和轻敲。概率504中的一个还可以与后台任务或背景类712相关联。
在1316处,基于与多个手势相关联的概率确定用户已执行多个手势中的手势。例如,手势去抖动器224确定用户基于概率504执行多个手势中的手势(例如,检测周围计算事件506)。响应于确定用户执行了手势,智能设备104可以执行与所确定的手势相关联的动作。
在图14中的1402处,接收由用户反射的雷达接收信号。例如,雷达系统102接收由用户(或更一般地,对象302)反射的雷达接收信号308,如图3-1所示。
在1404处,基于接收到的雷达信号生成复杂雷达数据。例如,雷达系统102的硬件抽象模块220基于与雷达接收信号308相关联的数字拍频信号428生成复杂雷达数据502,如图6-1所示。硬件抽象模块220为多个特征帧318中的每个特征帧318生成复杂雷达数据502。复杂雷达数据502可以表示距离多普勒图620,如图6-2所示。
在1406处,使用机器学习模块来处理复杂雷达数据。已经使用监督学习来训练机器学习模块,以生成与多个手势相关联的概率。例如,使用周围计算机器学习模块222处理复杂雷达数据502,如图5所示。已经使用监督学习来训练周围计算机器学习模块222,以生成与多个手势(例如,多个手势类710)相关联的概率504。如图7-1所示。
在1408处,选择多个手势中具有概率中的最高概率的手势。例如,手势去抖动器224选择多个手势中具有概率504中的最高概率的手势。考虑针对图7-2中的手势帧316-1至316-5给出的示例概率504。在该情况下,手势去抖动器224选择第三概率504-3作为针对手势帧316-1的最高概率。对于手势帧316-3和316-4,手势去抖动器224选择第二概率504-2作为最高概率。对于手势帧316-5,手势去抖动器224选择第一概率504-1作为最高概率。
在1410处,确定最高概率大于第一阈值。例如,手势去抖动器224确定最高概率大于第一阈值。考虑针对图7-2中的手势帧316-1至316-5给出的示例概率504。在该情况下,手势去抖动器224确定手势帧316-1和316-2内的最高概率(例如,概率504-3和504-2)低于第一阈值714。然而,对于手势帧316-3和316-4,手势去抖动器224确定最高概率(例如,概率504-2)大于第一阈值714。
可以预先确定第一阈值714以实现雷达系统102的目标响应性、目标检测率和/或目标误报率。通常,增大第一阈值714减小雷达系统102的误报率,但是可以减小响应性并且减小检测率。同样,减小第一阈值714可以以增大误报率为代价增大雷达系统102的响应性和/或检测率。以该方式,可以以优化雷达系统102的响应性、检测率和误报率的方式来挑选第一阈值714。
在1412处,响应于确定最高概率大于第一阈值,确定用户已经执行多个手势中的手势。例如,手势去抖动器224响应于手势的选择并且确定最高概率504大于第一阈值714而确定用户执行多个手势中的手势(例如,检测周围计算事件506)。响应于确定用户执行了手势,智能设备104可以执行与所确定的手势相关联的动作。
有时,手势去抖动器224具有用于确定用户执行手势的附加逻辑。此逻辑可以包括针对多于一个连续手势帧316确定最高概率大于第一阈值714。可选地,手势去抖动器224还可以要求概率504已经小于针对在1408处选择最高概率的当前手势帧之前的一个或多个连续手势帧的第二阈值716。
在图15中的1502处,使用两阶段评估过程来评估机器学习模块。例如,使用关于图12描述的两阶段评估过程来评估周围计算机器学习模块222。
在1504处,使用预分段的数据和机器学习模块来执行分段的分类任务,以评估与多个手势的分类相关联的错误。预分段的数据包括具有多个手势片段的复杂雷达数据。多个手势片段中的每个手势片段包括手势运动。跨多个手势片段的手势运动的中心在每一手势片段内具有相同的相对定时对准。
例如,使用测试数据集内的预分段的数据执行在1208处描述的分段的分类任务。预分段的数据包括具有多个手势片段的复杂雷达数据502。根据图10-3的流程图1026对准每个手势片段内的手势运动的中心。错误可以表示错误地标识由用户执行的手势的错误。
在1506处,使用连续时间序列数据、机器学习模块和手势去抖动器来执行未分段的辨识任务以评估误报率。例如,使用连续时间序列数据来执行未分段的辨识任务,如图12中的1210处所描述的。连续时间序列数据不是预分段的。
在1508处,调整机器学习模块的一个或多个元素以减少错误和误报率。例如,可以调整周围计算机器学习模块222的整体架构、对训练数据的调整和/或超参数的调整,以减少错误和/或误报率。
示例计算系统
图16图示示例计算系统1600的各种组件,所述示例计算系统1600可以被实现为如参考先前的图2所述的任何类型的客户端、服务器和/或计算设备以实现训练机器学习模块以执行环境计算的方面。
计算系统1600包括通信设备1602,通信设备1602使能够实现设备数据1604(例如,接收到的数据、正在接收的数据、为广播而调度的数据或者数据的数据分组)的有线和/或无线通信。通信设备1602或计算系统1600可以包括一个或多个雷达系统102。设备数据1604或其他设备内容可以包括设备的配置设定、存储在设备上的媒体内容和/或与设备的用户相关联的信息。存储在计算系统1600上的媒体内容可以包括任何类型的音频、视频和图像数据。计算系统1600包括可以经由其接收任何类型的数据、媒体内容和/或输入的一个或多个数据输入1606,诸如人类话语、用户可选择输入(显式的或隐式的)、消息、音乐、电视媒体内容、录制的视频内容以及从任何内容和/或数据源接收的任何其他类型的音频、视频和/或图像数据。
计算系统1600还包括通信接口1608,其可以被实现为串行和/或并行接口、无线接口、任何类型的网络接口、调制解调器中的任何一个或多个以及被实现为任何其他类型的通信接口。通信接口1608提供计算系统1600与通信网络之间的连接和/或通信链路,其他电子、计算和通信设备通过所述通信网络来与计算系统1600传递数据。
计算系统1600包括一个或多个处理器1610(例如,微处理器、控制器等中的任何一个),所述一个或多个处理器1610处理各种计算机可执行指令以控制计算系统1600的操作。可替代地或附加地,计算系统1600可以利用连同通常在1612处标识的处理和控制电路一起实现的硬件、固件或固定逻辑电路系统中的任何一个或组合来实现。尽管未示出,但是计算系统1600可以包括耦合设备内的各种组件的系统总线或数据传输系统。系统总线可以包括不同总线结构的任何一种或组合,诸如存储器总线或存储器控制器、外围总线、通用串行总线,和/或利用各种总线架构中的任何一种的处理器或本地总线。
计算系统1600还包括计算机可读介质1614,诸如使能够实现持久和/或非暂时性数据存储(即,与仅信号传输相反)的一个或多个存储器设备,其示例包括随机存取存储器(RAM)、非易失性存储器(例如,只读存储器(ROM)、闪存、EPROM、EEPROM等中的任何一个或多个)和盘存储设备。可以将盘存储设备实现为任何类型的磁或光学存储设备,诸如硬盘驱动器、可记录和/或可重写光盘(CD)、任何类型的数字通用盘(DVD)等。计算系统1600还可以包括大容量存储介质设备(存储介质)1616。
计算机可读介质1614提供存储设备数据1604以及各种设备应用1618和与计算系统1600的操作方面有关的任何其他类型的信息和/或数据的数据存储机制。例如,操作系统1620可以利用计算机可读介质1614被维护为计算机应用并在处理器1610上执行。设备应用1618可以包括设备管理器,诸如任何形式的控制应用、软件应用、信号处理和控制模块、特定设备本机的代码、用于特定设备的硬件抽象层等等。
设备应用1618还包括实现周围计算的任何系统组件、引擎或管理器。在此示例中,设备应用1618包括图2的应用206、周围计算机器学习模块222和手势去抖动器224。
结论
尽管已经以特定于特征和/或方法的语言描述了训练机器学习模块以在周围计算环境中执行基于雷达的手势检测的技术和包括训练机器学习模块以在周围计算环境中执行基于雷达的手势检测的装置,但是应当理解,所附权利要求书的主题不必限于所描述的具体特征或方法。相反,具体特征和方法被公开为训练机器学习模块以在周围计算环境中执行基于雷达的手势检测的示例实施方式。
下面描述一些示例。
示例1:一种用于训练机器学习模块的方法,所述方法包括:
使用两级评估过程评估机器学习模块,所述评估包括:
使用所述机器学习模块使用预分段的数据的分段来执行分类任务,以评估与多个手势的分类相关联的错误,所述预分段的数据包括具有多个手势片段的复杂雷达数据,所述多个手势片段中的每个手势片段包括手势运动,跨所述多个手势片段的手势运动的中心在每个手势片段内具有相同的相对定时对准;
使用所述机器学习模块使用连续时间序列数据来执行未分段的辨识任务,以评估误报率,所述连续时间序列数据包括其他的复杂雷达数据;以及
调整所述机器学习模块的一个或多个元素以减少所述错误和所述误报率。
示例2:根据权利要求1所述的方法,其中,所述连续时间序列数据没有在时间上被分段。
示例3:根据权利要求1或2所述的方法,其中,所述连续时间序列数据包括与至少一个用户自然移动或执行与所述多个手势类似的重复运动相关联的否定记录。
示例4:根据任一前述权利要求所述的方法,进一步包括:
在评估所述机器学习模块之前使用第二预分段的数据训练所述机器学习模块的内部参数;以及
在评估所述机器学习模块之前使用第三预分段的数据来优化所述机器学习模块的超参数。
示例5:根据任一前述权利要求所述的方法,进一步包括:
在评估所述机器学习模块之前,将随机偏移应用于所述预分段的数据和所述连续时间序列数据。
示例6:根据权利要求5所述的方法,其中,应用所述随机偏移包括下述中的至少一个:
将相位旋转应用于所述复杂雷达数据;或者
将幅度缩放应用于所述复杂雷达数据。
示例7:根据任一前述权利要求所述的方法,进一步包括:
在执行所述分段的分类任务之前生成所述预分段的数据,所述预分段的数据的生成包括:
检测肯定记录的每个手势片段内的手势运动的中心;
基于所检测到的所述手势运动的中心来对准定时窗口;以及
基于所述定时窗口调整所述手势片段的大小以生成所述预分段的数据。
示例8:根据权利要求7所述的方法,其中,检测所述手势运动的中心包括检测所述肯定记录的每个手势片段内的零多普勒交叉。
示例9:根据任一前述权利要求所述的方法,其中,所述预分段的数据包括:
与至少一个用户执行所述多个手势相关联的肯定记录;以及
与所述至少一个用户自然移动或执行与所述多个手势类似的重复运动相关联的否定记录。
示例10:根据权利要求9所述的方法,其中,所述肯定记录和所述否定记录包括由雷达系统记录的所述复杂雷达数据。
示例11:根据权利要求10所述的方法,其中,所述复杂雷达数据表示与多个接收信道相关联的复杂距离多普勒图。
示例12:根据权利要求10或11中的任一项所述的方法,其中,所述肯定记录与所述至少一个用户在距所述雷达系统的不同距离处多次执行所述多个手势中的每个手势相关联。
示例13:根据权利要求10至12中的任一项所述的方法,其中,所述肯定记录与所述至少一个用户在相对于所述雷达系统的不同角度处多次执行所述多个手势中的每个手势相关联。
示例14:根据任一前述权利要求所述的方法,其中,所述错误表示其中所述机器学习模块将由用户执行的手势错误地分类或者将由所述用户执行的背景运动错误地分类为手势的情形。
示例15:根据任一前述权利要求所述的方法,进一步包括:
执行另一个未分段的辨识任务以评估检测率;以及
调整所述一个或多个元素以增加检测率。
示例16:一种包括雷达系统和处理器的系统,所述处理器被配置成根据已经根据权利要求1至15的方法中的任一项训练的机器学习模块来处理由所述雷达系统生成的复杂雷达数据。
示例18:一种计算机可读存储介质,包括响应于处理器的执行而使系统执行根据示例1至15所述的方法中的任一项的指令。
示例19:一种智能设备,包括雷达系统和处理器,该处理器被配置成根据已经根据权利要求1至15的方法中的任一项训练的机器学习模块来处理由所述雷达系统生成的复杂雷达数据。
示例20:根据示例19所述的智能设备,其中,所述智能设备包括:
智能电话;
智能手表;
智能扬声器;
智能恒温器;
安全相机;
游戏系统;或者
家用电器。
示例21:根据示例19所述的智能设备,其中,所述雷达系统被配置成消耗小于20毫瓦的功率。
示例22:根据示例19所述的智能设备,其中,所述雷达系统被配置成使用与毫米波长相关联的频率来操作。
示例23:根据示例19所述的智能设备,其中,所述雷达系统被配置成在至少一小时的时间段内发射和接收雷达信号。
Claims (16)
1.一种用于训练机器学习模块的方法,所述方法包括:
使用两阶段评估过程评估所述机器学习模块,所述评估包括:
使用所述机器学习模块使用预分段的数据来执行分段的分类任务,以评估与多个手势的分类相关联的错误,所述预分段的数据包括具有多个手势片段的复杂雷达数据,所述多个手势片段中的每个手势片段包括手势运动,跨所述多个手势片段的手势运动的中心在每个手势片段内具有相同的相对定时对准;
使用所述机器学习模块使用连续时间序列数据来执行未分段的辨识任务,以评估误报率,所述连续时间序列数据包括其他的复杂雷达数据;以及
调整所述机器学习模块的一个或多个元素以减少所述错误和所述误报率。
2.根据权利要求1所述的方法,其中,所述连续时间序列数据在时间上未被分段。
3.根据权利要求1或2所述的方法,其中,所述连续时间序列数据包括与至少一个用户自然移动或执行与所述多个手势类似的重复运动相关联的否定记录。
4.根据任一前述权利要求所述的方法,进一步包括:
在评估所述机器学习模块之前使用第二预分段的数据训练所述机器学习模块的内部参数;以及
在评估所述机器学习模块之前使用第三预分段的数据来优化所述机器学习模块的超参数。
5.根据任一前述权利要求所述的方法,进一步包括:
在评估所述机器学习模块之前,将随机偏移应用于所述预分段的数据和所述连续时间序列数据。
6.根据权利要求5所述的方法,其中,应用所述随机偏移包括下述中的至少一个:
将相位旋转应用于所述复杂雷达数据;或者
将幅度缩放应用于所述复杂雷达数据。
7.根据任一前述权利要求所述的方法,进一步包括:
在执行所述分段的分类任务之前生成所述预分段的数据,所述预分段的数据的生成包括:
检测肯定记录的每个手势片段内的手势运动的中心;
基于所检测到的所述手势运动的中心来对准定时窗口;以及
基于所述定时窗口调整所述手势片段的大小以生成所述预分段的数据。
8.根据权利要求7所述的方法,其中,检测所述手势运动的所述中心包括检测所述肯定记录的每个手势片段内的零多普勒交叉。
9.根据任一前述权利要求所述的方法,其中,所述预分段的数据包括:
与至少一个用户执行所述多个手势相关联的肯定记录;以及
与所述至少一个用户自然移动或执行与所述多个手势类似的重复运动相关联的否定记录。
10.根据权利要求9所述的方法,其中,所述肯定记录和所述否定记录包括由雷达系统记录的所述复杂雷达数据。
11.根据权利要求10所述的方法,其中,所述复杂雷达数据表示与多个接收信道相关联的复杂距离多普勒图。
12.根据权利要求10或11中的任一项所述的方法,其中,所述肯定记录与所述至少一个用户在距所述雷达系统的不同距离处多次执行所述多个手势中的每个手势相关联。
13.根据权利要求10至12中的任一项所述的方法,其中,所述肯定记录与所述至少一个用户在相对于所述雷达系统的不同角度处多次执行所述多个手势中的每个手势相关联。
14.根据任一前述权利要求所述的方法,其中,所述错误表示其中所述机器学习模块将由用户执行的手势错误地分类或者将由所述用户执行的背景运动错误地分类为手势的情形。
15.根据任一前述权利要求所述的方法,进一步包括:
执行另一个未分段的辨识任务以评估检测率;以及
调整所述一个或多个元素以增加所述检测率。
16.一种包括雷达系统和处理器的系统,所述处理器被配置成根据已经根据权利要求1至15的方法中的任一项训练的机器学习模块来处理由所述雷达系统生成的复杂雷达数据。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US202163173082P | 2021-04-09 | 2021-04-09 | |
US63/173,082 | 2021-04-09 | ||
PCT/US2022/071646 WO2022217288A1 (en) | 2021-04-09 | 2022-04-08 | Training machine-learned modules for radar-based gesture detection in an ambient compute environment |
Publications (1)
Publication Number | Publication Date |
---|---|
CN117203641A true CN117203641A (zh) | 2023-12-08 |
Family
ID=81603712
Family Applications (3)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202280024774.0A Pending CN117203640A (zh) | 2021-04-09 | 2022-04-08 | 在周围计算机环境中使用机器学习模块进行基于雷达的手势检测 |
CN202280024782.5A Pending CN117321604A (zh) | 2021-04-09 | 2022-04-08 | 在周围计算机环境中使用机器学习模块进行基于雷达的手势检测 |
CN202280024776.XA Pending CN117203641A (zh) | 2021-04-09 | 2022-04-08 | 训练机器学习模块以在周围计算环境中进行基于雷达的手势检测 |
Family Applications Before (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202280024774.0A Pending CN117203640A (zh) | 2021-04-09 | 2022-04-08 | 在周围计算机环境中使用机器学习模块进行基于雷达的手势检测 |
CN202280024782.5A Pending CN117321604A (zh) | 2021-04-09 | 2022-04-08 | 在周围计算机环境中使用机器学习模块进行基于雷达的手势检测 |
Country Status (3)
Country | Link |
---|---|
EP (3) | EP4320552A1 (zh) |
CN (3) | CN117203640A (zh) |
WO (3) | WO2022217288A1 (zh) |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
BR112020001729A8 (pt) * | 2017-08-01 | 2023-04-11 | Huawei Tech Co Ltd | Método, aparelho e dispositivo de reconhecimento de gestos |
US20190383903A1 (en) * | 2018-06-13 | 2019-12-19 | KaiKuTek Inc. | Gesture recognition system having machine-learning accelerator |
US11550031B2 (en) * | 2019-03-18 | 2023-01-10 | Samsung Electronics Co., Ltd. | Method and apparatus for biometric authentication using face radar signal |
US11385722B2 (en) * | 2019-07-26 | 2022-07-12 | Google Llc | Robust radar-based gesture-recognition by user equipment |
-
2022
- 2022-04-08 WO PCT/US2022/071646 patent/WO2022217288A1/en active Application Filing
- 2022-04-08 WO PCT/US2022/071648 patent/WO2022217290A1/en active Application Filing
- 2022-04-08 CN CN202280024774.0A patent/CN117203640A/zh active Pending
- 2022-04-08 EP EP22722986.1A patent/EP4320552A1/en active Pending
- 2022-04-08 EP EP22723526.4A patent/EP4320554A1/en active Pending
- 2022-04-08 CN CN202280024782.5A patent/CN117321604A/zh active Pending
- 2022-04-08 CN CN202280024776.XA patent/CN117203641A/zh active Pending
- 2022-04-08 WO PCT/US2022/071647 patent/WO2022217289A1/en active Application Filing
- 2022-04-08 EP EP22722987.9A patent/EP4320553A1/en active Pending
Also Published As
Publication number | Publication date |
---|---|
WO2022217290A1 (en) | 2022-10-13 |
EP4320554A1 (en) | 2024-02-14 |
WO2022217288A1 (en) | 2022-10-13 |
CN117321604A (zh) | 2023-12-29 |
EP4320553A1 (en) | 2024-02-14 |
EP4320552A1 (en) | 2024-02-14 |
CN117203640A (zh) | 2023-12-08 |
WO2022217289A1 (en) | 2022-10-13 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP7340656B2 (ja) | 電子機器およびソフトウェアプログラム | |
JP6816201B2 (ja) | タイプに依存しないrf信号表現 | |
Hayashi et al. | RadarNet: Efficient gesture recognition technique utilizing a miniature radar sensor | |
CN111812633B (zh) | 检测基于智能设备的雷达系统中的参考系变化 | |
US20200410072A1 (en) | Radar-Based Authentication Status Feedback | |
US20210064145A1 (en) | Detecting and Processing Unsuccessfully Recognized or Unsuccessfully Utilized Non-Contact Gestures for a Computing System | |
US11169615B2 (en) | Notification of availability of radar-based input for electronic devices | |
EP3811187B1 (en) | Input methods for mobile devices | |
US20210103348A1 (en) | Facilitating User-Proficiency in Using Radar Gestures to Interact with an Electronic Device | |
CN110431435A (zh) | 低功率雷达 | |
CN114365008A (zh) | 使用时空神经网络执行姿态识别的基于智能设备的雷达系统 | |
EP4193185A1 (en) | Smart-device-based radar system performing angular position estimation | |
CN117203641A (zh) | 训练机器学习模块以在周围计算环境中进行基于雷达的手势检测 | |
Li et al. | Di-gesture: Domain-independent and real-time gesture recognition with millimeter-wave signals |
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 |