论文翻译——FingerSound:Recognizing unistroke thumb gestures using a ring

1. INTRODUCTION

       可穿戴计算已经发展到相当大的消费市场,近年来已经有了大量的应用。可穿戴设备 - 最突出的智能手表和屏幕带,以及Oculus Rift等移动虚拟现实设备 - 现在可以被视为商品硬件,大部分人口在日常生活中使用它们。随着这种普及,出现了简化对可穿戴和移动计算设备的输入的期望和机会。前者的原因是传统的交互方式(例如鼠标和键盘)通常不太适合小型化的移动和可穿戴设备。另一方面,小型化的进步和大大增加的传感和计算能力使创新和可能更方便的交互方式成为可能。此外,随着全新设备类别和/或应用领域的出现,需要开发出既方便用户又可靠自动处理的有效输入装置。    

      在移动虚拟现实(VR)的示例中,用户沉浸在合成世界中,其中诸如键盘和鼠标的传统计算机接口可能消失。因此,对新颖,有效的输入方式的需求是惊人的。可以说,在这种情况下,短消息的文本输入可能仍然是必要的,用于响应来自其他人的通知,标记文件或对象,或控制操作系统。输入短消息输入的需要导致VR系统在虚拟世界中呈现虚拟键盘和控制,用户可以通过头部或手部移动来选择每个字母。另一种选择是在虚拟世界中呈现物理键盘的表示,以便用户可以对其进行渲染。这两个选项都需要显着的视觉和手动注意力,并且可以打破虚拟世界中的沉浸感。此外,物理键盘(以及在特定位置呈现的虚拟键盘)需要用户移动到界面,这在虚拟世界是笨拙的或分散注意力的。

       在本文中,我们介绍了FingerSound,这是一种用于单击拇指手势识别的系统,可为可穿戴计算设备提供基于字符的输入。 FingerSound使用带有陀螺仪的环和拇指上的接触式麦克风来检测针对手的非击打手势。 用户可以通过在拇指上摩擦/刮擦拇指来执行手势。 可以在任何时间和任何位置虚拟地启动输入,而无需用户的视觉注意来选择每个字母。 类似地,可以在不需要用户的视觉注意力的情况下进行命令手势,或者使用户感觉盲目地搜索接口设备的物理环境。

       FingerSound在某些​​可穿戴计算环境中也很有用。想象一下,在一个团队会议中,头戴式显示器集成在一副眼镜的镜片中[18]。与在会议中使用移动电话不同,头戴式显示器设计得非常精巧,并保持对话的融洽关系。然而,一旦用户触摸眼镜来控制它们,它就会引起注意佩戴者和系统的使用。使用FingerSound,用户可以将手放在桌子下面并向头戴式显示器发出命令。假设头戴式显示器显示来电。用拇指对着手掌绘制X会将呼叫发送到语音邮件。类似地,传入的文本消息可以显示用户通过在他的手掌上绘制数字或字母来选择快速响应的选项。例如,“见到你吃晚餐”可能会显示“K:OK X:无法制作”,用户通过在他们的手掌上画一个K来选择'OK'。对于需要构建自定义和短消息的情况,FingerSound允许通过在拇指上刮擦拇指来写入所有36个字母和数字。虽然FingerSound仅限于逐字逐句地编写单词,但今天的自动完成系统可以帮助加快文本输入速度,并在将来纠正识别和拼写错误。

       在本文中,我们展示了不同的容易学习的单行程手势(例如,方向控制,数字0-9和Grafti字符),如图1所示,可以由佩戴者巧妙地执行,而无需查看设备。箭头表示拇指的运动。此外,它不会导致使用其他可穿戴设备(如Google Glass)导致的任何社交尴尬。总之,FingerSound提供了以下贡献:

       • 带有内置接触式麦克风和陀螺仪传感器的戒指设计,可捕捉拇指绘制手势沿着手柄的声音和动作。
       • 演示了三组基于单笔画的拇指手势。
       • 使用K-Nearest-Neighbors进行分类和Dynamic Time Warping作为手势分类的时间距离度量的数据处理管道。
       • 用户研究验证FingerSound在每个手势仅使用三个训练样本识别三组单笔画手势时的有效性。
       • 讨论实际部署的机遇和挑战

2、相关工作

 

341/5000

       可穿戴设备通常比传统计算设备小得多。 因此,对这些小型设备的投入往往具有挑战性,这已成为人机交互界多年来的研究主题。 在本节中,我们将FingerSound与其他可穿戴输入技术进行比较,尤其是那些也将环用作外形的技术。

       许多新颖的可穿戴输入技术基于某种形式的臂带以便于用户输入。 已经探索了各种传感模式来捕获手臂上的信号,例如声信号[6,15]和肌电信号[17]。 尽管这些臂带提供了丰富的输入功能,但是用户可能在日常活动中佩戴这些装置时不方便且在社交上很不方便。

       不同于袖标,更容易说服用户佩戴腕式设备,因为人们已经佩戴了多年的手表。 因此,许多项目都建立了用于输入的腕式设备。 这些设备嵌入了不同的感应模式,以识别fnger或手势,如力感应[4],声学感应[16,22],电感应[26],静电感应[3],接近感应[5] ,相机[12]和动作感应[11,25]。 这些的输入词汇都相对较小,因此不支持文本输入。 Twiddler [13]允许用户通过手持键盘输入文本。 然而,在日常活动中佩戴装置可能是麻烦的。 此外,它具有更陡峭的学习曲线,以至于用户需要花费超过20小时来学习如何有效地使用设备进行输入。

      与FingerSound类似,之前的项目已经探索过利用戒指用于输入,因为戒指相对较小且较轻。戒指可以通过应用适当的感测模式来捕获fnger运动。一些戒指被构建用于支持表面上的手指交互[10,26]或与其他对象的交互[21]。其他环设计用于捕捉3D空间中的fnger运动,例如uTrack [2,24]和CyclopsRing [1]。 DigitSpace [7]探索了使用拇指输入和发现的设计空间,可以使用拇指输入Grafti字母。然而,在一个交叉验证分析中只评估了6个grafti字母。如[20]中所示,也可以使用由印刷电极制成的戒指来检测细微的折边运动。最近的工作FingOrbits使用了类似的传感模式,但只识别了一组较小的手指手势[23]。

       虽然已经探索过使用拇指进行输入,但已经演示的手势数量相对较少,这限制了潜在应用的范围。例如,我们不知道使用拇指移动来识别整套Grafti字母的任何工作。 FingerSound最多可以识别42个单击手势。

3 FingerSound

3.1 技术描述

        FingerSound的动机是建立一个始终可用,易于使用并提供丰富输入集的系统。我们通过设计用于佩戴在拇指上的戒指形状实现了这一点。戒指以一种对日常生活活动无阻碍的方式增强了手指可用性,并且与其他可穿戴输入设备不同,在社会上是可接受的[13]。选择拇指作为戒指的位置的原因是因为拇指可以到达背部的大部分部位。这允许用户将手指用作手势画布。其他现有的环输入设备(例如,[2])要求用户在空中执行手势而没有触觉反馈和手势开始和结束的清晰信号。我们设计了FingerSound,允许用户通过刮擦手掌和手掌来执行拇指手势,提供自然的触觉反馈,并清楚地指示手势何时开始和结束(这是用户拇指与手势画布的接触)。用户可以使用此反馈来指导他们的拇指顺利执行手势。此外,通过连续感应拇指与手接触的时间,我们提供始终可用的输入模态。

       为了执行手势,要求用户沿着手掌或手柄刮擦环形或拇指,以便制作预设图案。这种将拇指摩擦在皮肤上的刮擦动作产生了一种小但易于感知的声音以及拇指的微妙运动。与仅使用运动来检测手势事件相比,使用声音和运动两者可以帮助识别来自噪声的手势。例如,身体运动(例如,行走)可能看起来非常类似于陀螺仪上的拇指手势。但根据我们的调查,这些日常活动引起的声音与拇指在进行手势时摩擦所引起的声音完全不同。因此,我们将接触式麦克风捕获的声音与陀螺仪传感器捕获的运动数据通过多个滤波机制传递,然后对其进行分析以确定是否执行了手势或者是否仅仅是来自其他与此相关的活动的噪声。考虑到设备在fnger上的位置,很容易获得在执行手势模式时未产生的输入(声音和动作),但是通过任何类型的手柄触摸到另一个表面而产生。这就像Midas触摸问题[8],我们的系统需要处理它。我们设计了一个专用的机器学习管道来识别有效的手势,同时拒绝噪音。以下各节将详细介绍详细的技术实现。

3.2 硬件设计       

       如上所述,我们设计了一个带有内置接触式麦克风和陀螺仪的环,用于捕获相关的声学和运动数据,以捕获拇指手势。 与普通的机载麦克风相比,接触式麦克风使系统能够最大限度地提高边缘划痕声音的质量,同时最大限度地降低环境噪声的影响。 我们使用的接触式麦克风是Knowles BU-21771,它的尺寸为7.92 mm×5.59 mm×4.14 mm,提供低噪音,频率响应非常低,但输出电压也很低。 为了有效地捕获信号,我们设计了一个预放大器板,可以将信号放大100倍以上,然后在通过电路板之前将音频信号放大。 前置放大器的设计如图3所示。前置放大器的输出通过USB声卡传送到笔记本电脑(2013 MacBook Pro),并以44,100Hz采样。

       我们在环上使用的另一种感应模式是陀螺仪传感器,即InvenSense ITG-3200。 我们将此传感器连接到Teensy 3.2微控制器板,该板通过USB将数据发送到同一台笔记本电脑。此陀螺仪的初始采样率约为200 Hz。为了获得更高的采样率,我们优化了传感器之间的I2C1通信。到了Teensy并以120MHz的频率对Teensy的CPU进行了超频。 因此,我们能够以大约3,800Hz的频率对陀螺仪传感器进行采样。 使用最高采样率可以提供帮助使用类似的硬件集,算法和训练集,为可实现的最高识别精度提供基线。

         如图2所示,戒指有两个部分:3D打印模型和Velcro制成的带子,允许我们在大多数用户的拇指上敲击戒指而不改变戒指的尺寸。 设计环时的另一个挑战是如何在3D打印模型和皮肤之间很好地接触麦克风。 如果接触式麦克风没有位于环中,则在用户执行手势时可能会引入很多噪音。 为了解决这个问题,我们将麦克风粘在环内,同时允许其中一个表面突出。

3.3 数据处理管道

       我们的数据处理管道允许FingerSound系统实时捕获和分析数据。硬件组件 - 麦克风和陀螺仪 - 通过USB端口分别将数据发送到MacBook Pro笔记本电脑。 Java程序同时读取两个输入并将它们存储在易于访问的数据结构中。在另一个并行线程中,连续分析输入声音流以检测输入手势活动。这是使用基于能量的滑动窗口分割技术完成的,如3.4节所述。如果该算法检测到可能的输入,则将声音数据的该部分和相应的陀螺仪数据分段并保存以供进一步处理。在分割陀螺仪数据时,我们在两个方向上扩展该段以获得一些额外的陀螺仪数据作为缓冲器。我们这样做是为了防止在手势中剪切任何陀螺仪数据,并且还适应任何数据接收延迟。然后,该分段的声音和陀螺仪数据通过支持向量机(SVM)分类器以检测数据是否表示真实的手势或噪声。有关分类的详细信息,请参见第3.5节。如果数据被SVM分类器识别为手势,则陀螺仪数据通过低通滤波器发送到我们的分类器,该分类器识别输入手势模式,如第3.6节所述。图4突出显示了数据处理管道的主要组件。

3.4 基于能量的手势分割

       为了检测手势的开始和结束,我们分析了拇指放在手指或手掌上产生的声音。 我们的分析基于麦克风信号的短期能量表示。 该能量被计算为在短分析窗口(帧)上麦克风信号的欧几里德范数之和的平方根。 该分析窗口为4,410个样本(0.1s)长并沿原始传感器数据移位。

       产生的能量信号是检测相关拇指手势的开始和一组相关拇指手势的基础。 对于手势分割,即确定连续传感器数据流中相关拇指手势的起点和终点,我们采用两阶段过滤方法。

       首先,使用另一个滑动窗口程序,我们提取覆盖连续两秒音频(能量)数据的分析窗口。通过我们的实证研究,我们发现相关的拇指手势通常持续不超过两秒,这决定了窗口长度。在中间处理步骤中,我们首先消除信号能量低于某个噪声阈值的窗口,从而有效地跳过“静音”阶段。

       其次,在每个提取的两秒窗口内,我们然后搜索潜在的拇指手势的起点和终点。因此起点被表征为在两个第二窗口内的第一个位于正平面上,即当信号能量从“0”增加到正值时。相应地,终点被确定为在负片段上的两秒窗口内的最后一个点(从正值到“零”)。通过这种起始和设定检测程序,我们可以非常有效地分割手势候选者。

        如果提取的手势候选的长度超过最小手势长度的预设阈值,则我们认为它是真正的输入。然后将提取的这些手势的起点和终点用作索引点,用于从连续数据流中分割实际声音(不是能量)和陀螺仪数据,并将该数据传递到我们处理流水线中的后续阶段,即特征提取和分类。

3.5 特征提取和基于SVM的噪声分类

        基于声能的手势检测方案可能过度分割基础信号,即产生假阳性预测。 其主要原因是在处理流程的这个阶段,仅应用了相对一般的分析规则,其相当粗略地分析声学信号。 到目前为止,尚未执行实际分类。

      在下一步中,我们通过为每个提取的段应用二进制SVM分类器来消除误报手势预测。 这个分类器有效地将那些与拇指手势不相符但与噪声相对应的数据部分清除掉。 请注意,分类器不对原始信号进行操作,而是对其特征表示进行操作(参见下文)。 我们使用Weka提供的SVM的顺序最小优化(SMO)实现。

       陀螺仪和声音数据都用于计算有意义的特征。我们使用的特征在[22]中介绍,如下。对于每个陀螺仪数据轴,我们通过计算每个轴数据的导数来提取虚拟传感器。对于原始传感器及其派生的虚拟传感器的每个轴,我们提取一组统计特征,包括最小值,最大值,标准偏差,零 - 交叉率,均方根(RMS),峰值和峰值之间的差异。我们还计算了第一和第二峰值,能量峰值的比率和差异,以及原始陀螺仪和衍生虚拟传感器之间的不同轴之间的相关性。对于声学数据,我们在频域中提取一组共同特征,包括26个Mel频率倒谱系数(MFCC)和快速傅里叶变换(FFT)的低30个频段。我们选择这些功能是因为它表明这些频率范围是信息量最大的[22]。将从陀螺仪和声学数据中提取的特征连接在一起,我们有154个组件的特征向量,用于训练SVM以分类手势与噪声。

3.6 手势分类算法

        在处理流程的最后阶段,先前已被分类为手势的每个提取的片段现在由专用识别器分析,该识别器对手势的类型进行分类。 由于我们的系统应作为实际应用的输入模式,(近)实时性能是强制性的。 该约束排除了许多识别技术,因为它们仅仅是对计算资源的要求。

       我们采用基于动态时间扭曲的分类,它已广泛用于分析时间序列数据,尤其是手势识别[19]。 动态时间扭曲本质上是动态编程的一种实现,其中使用特定编辑距离比较两个时间模式。 DTW通过对最小的操作集合 - 插入,删除,匹配,替换 - 将一个序列映射到另一个序列从而使用每个操作的成本因子来量化两个顺序输入模式之间的不相似性。 通过最小化整体编辑成本,该过程可以实现最佳对齐并量化误差。 基于DTW的分析的优势在于它考虑了不同长度的输入模式,并且非常有效。

       我们将基于DTW的序列匹配与标准k-NN分类器(k = 3)组合用于分类。 有效地,这个过程转化为非常有效和有效的模板匹配。 我们的模板数据库包含所有相关拇指手势的代表性示例。 DTW的实现由Java机器学习库提供。

4、评估

4.1 程序

       为了展示识别单指拇指手势和评估与FingerSound的交互体验的能力,我们进行了一项用户研究,共有9名参与者,平均年龄为26岁(3名男性),两组简单的手势 - 数字0-9和定向滑动 (参见图1) - 在两个设置下。 所有参与者都是从大学校园招募的。 该研究是在基于实验室的环境中进行的。 每个用户研究持续约一个小时。 在研究之前,两位研究人员提供了大约100个手势和100个噪声样本作为构建SVM噪声分类器的基本训练数据。 在研究开始时,一位研究人员帮助参与者戴上戒指并演示了如何执行每个手势。 允许参与者练习每个手势,直到她感到舒适进行实际测试。 实际研究包括2个培训课程和6个测试课程。

        在前两次培训课程中,参与者被要求将手和手放在桌子上。在每个会话期间,每个单笔划手势以随机顺序执行3次。屏幕上的视觉刺激和音频提示用于提醒参与者要执行的手势。手势分割管道连续运行以检测和分割手势实例。如果系统未能检测到手势,则建议参与者重复该手势,直到成功检测到。我们将第一个会话视为练习会话,这有助于参与者熟悉unistroke手势集以及我们的实验实时系统。第二个会话被用作训练数据收集会话,用于构建手势分割(SVM)和手势分类(具有DTW距离功能的KNN)的机器学习模型。总共收集30个(3×10个手势)和12个(3×4个手势)手势样本作为针对每个参与者的用于单行数字手势和定向轻扫手势的训练数据集。收集的手势数据与来自研究人员的预先收集的数据相结合,以训练每个参与者的基于SVM的噪声分类器。

       在前两个会话之后,每个参与者被要求每个手势提供30个测试实例,他们的手放在两个不同的位置。 在每个会话中,每个参与者以随机顺序为每个手势提供5个实例。 手势识别结果在屏幕上实时呈现给参与者。 如果分类结果与刺激手势匹配,则背景标记为绿色。 否则,它变成了红色。 此外,如果参与者执行了手势,但系统未能检测到它或将其标记为噪声,则该手势被标记为假阴性错误。

       为了研究用户是否能够以无眼的方式和不同的手势进行手势,我们将这6个测试会话分为两组。 在前4个测试阶段,参与者将手放在桌子上,类似于训练课程。 对于每个参与者,在这4个测试会话中总共测试200个用于单行数字的样本(5×10个手势×4个会话)和用于定向滑动的80个样本(5×4个手势×4个会话)。 在最后两个会话中,参与者被要求握在桌子下面以执行手势。 这两个会话旨在模拟真实场景,用户可能会以各种手部姿势以无眼的方式执行手势。 总共在最后两个会话中测试了100个用于单行数字的样本(5×10个手势×2个会话)和用于定向滑动的40个样本(5×4个手势×4个会话)。

       保存所有实时识别结果和原始传感器数据以供以后分析。

4.2 结果

        我们报告实时分类结果。 对于10个单行程数字,前四个会话和后两个会话的平均准确度分别为92%和89%。 平均而言,每次会话中捕获了2.58个假阴性错误。 混淆矩阵在图5中给出。最准确的手势是数字'1','7','8',最不准确的数字是'0','6'和'4'。 '0'和'6'是最相互混淆的手势对,因为它们的手势模式非常相似。 唯一的差异是'6'结尾略低于'0'。 有趣的是,'4'与'1'被错误分类,而'1'获得了最高精度。 要执行'1',很容易发现在手指上绘制'4',参与者需要先将手指向下拖动,这与'1'相同,然后将拇指向右转。

       四次定向滑动的平均准确度一般较高,前四次和后两次(无眼睛)分别为98.19%和96.94%。当手被放在桌子下面时,只有“向下”和“向左”会引起一些混乱。平均每个会话中观察到2.74个假阴性错误。
       目前的结果表明,当参与者在桌子下进行手势时,准确度略低。有两个因素会影响这种准确性第一个因素是降低的准确度是由于在最后两个会话中执行手势时缺乏对手的视觉观察引起的。然而,即使在基于我们观察的前四个会话中,所有参与者一旦掌握了手势就开始执行手势而不用看他们的手。另一个假设是在将手放在桌子上时收集训练数据。然而,当手被握在桌子下方时,手的姿势是不同的,这可能影响手势的执行方式。

       图7显示了每个参与者的准确度,其中P1和P8提供了最高的精度和P6以及最低的准确度。 除P1外,大多数参与者的准确度在无眼评估中有所下降。 我们的观察是P1在所有会话中执行手势的方式非常一致。


4.3 利用Graffiti手势输入

        

        识别10位数和4次方向滑动的结果令人鼓舞。 为了进一步理解FingerSound可以支持的输入词汇的丰富性,我们进行了一项后续研究,以识别更大的28个单击手势,包括26个Grafti风格的字母,如图8所示.Grafti是一个手势集,是 由Palm,Inc.5创建,用于在PDA上提供文本输入。 每个Grafti手势都类似于英文字母的大写形式,因此易于学习和使用。 之前的一项研究已经表明,参与者在练习五分钟后可以达到97%的准确度[14]。 表明我们的系统能够识别Grafti手势,不仅展示了我们的技术识别丰富的一瞥手势的强大功能,而且还考察了将此技术用作未来短消息的替代文本输入方法的可能性。

       在这项研究中,我们减少了测试会话的数量(给定了大量样本),但与之前的用户研究相比,增加了一个练习课程,以便为用户提供更多时间来学习更大的手势集。 总的来说,我们在这项研究中有5次会话。 前两个会话是练习会话(每个会话每个手势3个样本),第三个会话(每个会话每个手势3个样本)是训练数据收集会话和最后两个会话(每个会话每个手势5个样本,仅限于桌面) )是测试会议。 和以前一样,实时分类结果被呈现给参与者并被记录。

       总共有10名参与者(包括4名研究人员,2名女性)平均年龄为27岁参加了这项研究。 没有参与者参与第一项研究。 所有会议都在一小时内完成。 用于识别28个单行程手势的实时分类结果导致平均准确度为92.46%。 每次会话平均观察到5.9个假阴性错误。
       图10显示了此手势集的混淆矩阵。 最准确的手势是字母“X”和“Z”,其精度为100%。 最不准确的手势是字母“D”和“P”,精度分别为69%和74%。 这两个字母之间混淆的原因在图8中可见,因为它们看起来非常相似。它们之间唯一不同的是手势结束的地方。 “D”结束于比“P”结束的位置低,与其他字母相比,这似乎更难以通过直觉来区分。

       每个参与者的准确度如图9所示.P1和P8的最高准确度分别为98.93%和最低准确度80.36%。 我们的观察是P8在练习和训练期间没有形成一致的模式。 因此,每次手势被错误分类时,P8都倾向于调整手势的执行方式,最终导致更多的误报错误。 它表明某些用户可能需要更长的时间来掌握拇指手势,或者应该在将来部署强化学习方法。

5、讨论

5.1在嘈杂的环境中评估FingerSound

       为了理解FingerSound在存在运动和声学背景噪声的嘈杂环境中的表现,我们对5名参与者进行了一项后续研究(两名有经验的用户,三名新手用户,平均年龄31岁,女性1名)。 参与者被要求在嘈杂的环境中行走时执行10个单行数字。 有三个会话:练习课程,培训课程和测试课程。 只有新手参与者被要求通过以随机顺序重复每个手势三次来完成练习。

        培训课程与之前的研究相同。参与者在坐在桌子前面的训练课程中为每个单节目数字提供了三个训练样本。然后为每个参与者进行一次测试会话,其中每个手势以随机顺序测试5次。根据之前的研究,为了模拟现实世界的情景,参与者被要求在整个测试过程中继续在一张大桌子(大约4 x 3米)周围走动。将笔记本电脑扬声器放置在桌子的中央,以80分贝的速度播放预先记录的街道/人群高斯噪声,以模拟用户在日常活动中可能遇到的声学噪声。戒指连接到放在推车上的笔记本电脑。研究人员在每次会议期间移动购物车跟随参与者。要求参与者以正常的步行速度行走,并且在执行手势时不要停止。与之前的研究类似,音频和视觉刺激以及实时分类结果都显示在笔记本电脑上。一位研究人员观察了这项研究并记录了假阴性/阳性错误。在所有参与者中对10个单行程数字进行分类的平均准确率为92.8%,这与我们之前的研究相似。最低精度为90%,这是一个新手用户。在本研究中,我们没有观察到检测到手势事件的任何误报错误。但是,测试会话中所有参与者的平均假阴性错误数增加到5。我们将此归因于在手势/噪声二元分类器(SVM)的最终训练数据集中从嘈杂环境中收集的数据的缺乏。在嘈杂环境中收集训练数据可以潜在地提高识别准确度并减少假阴性错误。然而,为了提供基线以帮助读者理解我们提出的系统的普遍性以及将当前结果直接与先前研究的结果进行比较,我们在更具挑战性的环境中进行了这项额外的用户研究,其中训练数据是在受控设置(无噪音)下收集的,但在嘈杂的环境中进行测试。

5.2 降低陀螺仪的取样频率

       我们以当前硬件组支持的最高速率(3800 Hz)对陀螺仪进行采样。 较高的采样率不会影响分类精度,但会导致更高的能耗[9]和更长的响应时间。 为了研究采样率对准确度的影响,我们将从研究中收集的数据下采样到100Hz,并使用与研究中使用的相同的分类管道重新处理数据。 令人惊讶的是,准确度与之前的研究相当,分别为96.85%,89.96%和93.21%,用于识别4个定向滑动,10个单行程数字和28个Grafti单行程手势。 在较低频率下获得的可比较的准确度意味着不需要超频。 这表明将来可以以低得多的采样率再现性能,这需要低处理能力和能量消耗。

5.3 构建用户独立模型

      在用户研究中,每个参与者被要求在测试手势之前提供三个训练样本。在实际场景中,从提供更好的用户体验的角度来看,使用该系统是理想的,而无需首先提供校准或训练数据。因此,我们对从用户研究中收集的数据进行了独立于用户的分析。使用由其他参与者提供的训练数据构建训练模型(每个参与者每个手势3个实例)。我们为每个参与者为每个手势集运行了分类管道。识别4次定向滑动的所有参与者的平均准确度为87%,但是对于单行数字和Grafti unistrokes手势,低于70%。这表明识别系统中的手势越多,所需的训练就越多。但是,我们注意到4个方向滑动手势参与者的准确性存在巨大差异,其中4个参与者的准确率超过96%,而两个参与者的准确率大约为65%。对于两个异常值,混淆矩阵表明某些手势完全错误分类。这表明通过一小组手势(例如,4个定向滑动),一些用户可以在不收集任何训练数据的情况下使用该系统。但是,某些用户可能需要为无法识别的手势提供校准手势。该研究仅在相对较小的一组训练数据中进行。需要进一步调查一组更大的训练数据才能得出某些结论。

5.4 重新设计拇指输入的单笔画手势

     在这项研究中,我们使用三个常见的单笔画手势集评估了FingerSound。但是,这些手势集专门设计用于使用手写笔输入,这可能不适合基于拇指的手势。与使用触笔进行输入相比,拇指具有相对有限的移动自由度。当用手写笔书写时可以很容易地区分的手势,在用拇指进行时可能会引起混淆,因为我们的系统不是直接测量拇指的运动轨迹,而是捕捉环上的旋转运动。视觉上可区分的一些姿势可能难以分类,例如“D”和“P”,“V”和“J”。但是,我们也注意到我们的系统可以很容易地识别出一些视觉上相似的手势。例如“U”和“V”或四个方向滑动。这些手势都有不同的起始位置。我们的观察是我们的系统可以很容易地区分手势之间的不同起始位置。此外,参与者报告说,用拇指进行一些手势是不舒服的。例如,“Y”要求用户通过将拇指朝向右上方向移动来手掌上的手势,这是具有挑战性的,因为拇指在该区域中的移动自由度有限。

       尽管我们的系统能够识别出超过92%准确度的单行手势,但只有少数手势会导致大多数分类错误,例如“D”和“P”。 如果修改这些手势的设计以适应拇指手势,那么这些手势将更容易被识别。 因此,我们总结了我们对该研究的观察,作为未来拇指手势设计实践的指导:

(1)如果方向或起点不同,可以区分视觉上相似的手势。
(2)避免设计轨迹相似的姿势,只根据长度进行设计。
(3)避免设计将拇指移向手掌边缘的手势,因为这符合人体工程学的不舒服。

5.4 硬件限制和改进

        当前系统设计的一个限制是环仅用作感测单元并且连接到识别算法运行的膝上型计算机。 它无法独占运行整个算法。 但是,我们预计这种限制可以通过以下两种方式之一解决。 一个是随着技术的进步,处理器和电池可以比现在更小。 因此,所有的硬件都可能潜入环本身,尽管摩尔定律的限制使得这种可能性降低。 另一种是在环上添加无线传输单元(例如,蓝牙)。 然后,数据处理和识别可以在另一个便携式设备上进行,例如智能手机。 我们预计第二种方法将更加普及,因为它融入了我们在行业中观察到的互联智能设备的当前趋势。

      传感器漂移是另一个需要解决的问题,才能在实际应用中广泛部署。在当前系统中,我们在每个参与者启动系统之前校准传感器一次。将环放置在工作台上2.5秒,程序记录累积的o ff组,然后用于校准所有传感器值。在每个参与者的一小时用户研究期间,我们没有观察到由传感器漂移引起的识别系统的任何显着影响。然而,如果系统部署较长时间,则传感器可能保持漂移,从而影响手势识别系统的性能。这个问题的一个流行的解决方案是使用IMU传感器组中的其他传感器来补偿漂移。

5.6 提高识别速度

       为了对新的手势实例进行分类,我们当前的实现计算了未分类实例与训练集中的每个实例之间的DTW距离。随着训练集中手势的数量增加,系统响应时间也增加,这可以影响交互体验。由于计算DTW距离是最耗时的计算,因此减少DTW距离计算的数量将减少响应时间。因此,不是使用每个训练样本计算DTW距离,而是实时分类系统应该仅使用来自每个手势集的一些预先选择的模板样本来计算距离。可以基于它们与相同手势的其他训练样本的DTW距离来选择这些代表性样本。通常,选择与其他人具有最小DTW距离的样本作为模板。例如,如果我们选择每个手势1个样本作为模板,则与当前实现相比,响应时间将减少三分之二。此外,即使训练样本的大小增加,实时响应时间也不会改变。较低的采样率还可能潜在地减少DTW计算所需的时间,这也可以提高识别速度,正如我们在前一节中所讨论的那样。


5.7自定义拇指手势

       虽然我们只展示了对三个单行程手势集(4,10和28个手势)的识别,但该系统有可能识别更广泛的拇指手势,包括用户自己设计的手势。 这些定制的手势可以被用户映射到不同的功能,例如用于其他连接设备的解锁手势。

5.8 激活手势

      当前系统仅在实验室环境中进行评估,其中在所有会话期间检测到手势事件时观察到零假阳性。 但是,如果用户参与其他体重运动较多的活动,可能会出现更多误报错误。 这是每个手势识别系统在实际部署之前必须解决的难题。 我们的解决方案是设计一个激活手势来启动整个系统。 这意味着,仅当检测到激活手势时,系统才开始识别全套手势。 可以从与其他手势混淆最少的手势中选择激活手势。 例如,我们可以选择“X”作为我们系统的激活手势,因为它具有100%的精度和99%的召回率,如图10所示。

5.9 应用

       但是,FingerSound并非设计用于所有任务的输入。 它可能不适合编写长文本,因为使用FingerSound的输入在速度和准确性方面不如使用传统键盘。 一些参与者报告说,长时间使用拇指输入(在研究中一小时),身体要求很高。 另外,对于需要极快响应的应用可能不是所希望的,例如第一人称视点拍摄或赛车游戏。

       鉴于其当前的设计和性能,FingerSound更适合用于需要短响应的其他设备或应用程序。 例如,家庭娱乐系统使用遥控器进行输入。 但是,要输入文本,用户必须使用繁琐的输入技术,例如在屏幕上导航QWERTY键盘的方向按钮。 通过使用FingerSound,可以通过简单地用拇指抓住手来完成文本输入。

        FingerSound还可以用作智能手表的替代输入设备。 由于手表屏幕相对较小,因此输入短文本或数字非常具有挑战性。 这些人可能会遮挡内容。 FingerSound允许智能手表用户使用相同的手或不同的手在他们的手表上输入而不会遮挡屏幕。

       与其他基于手势的输入技术类似,FingerSound无法提供完美的识别准确度,这意味着用户在使用系统时可能会遇到识别错误。 为了提供最佳的用户体验,需要补偿这些错误。 一种显而易见的方法是进一步提高系统精度,我们将在下一节中讨论。 另一个同样重要的解决方案是在应用程序的上下文中适当地设计交互。 例如,设计者应该考虑使用最准确和最有效的手势来访问“删除”功能,这有助于纠正错误。

5.10 限制和未来工作

5.10.1提高准确性和效率。 该系统仅在基于实验室的环境中进行测试。 然而,在系统部署在野外时,仅使用三个训练样本来实现类似的识别性能可能是具有挑战性的。 一种解决方案是在嘈杂的环境中收集更多的训练数据。 另一种是采用更先进的算法,如隐马尔可夫模型,以提高识别效率和准确性。 此外,当前的噪声训练数据是在实验室环境中收集的,这可能不能最好地代表日常活动中的噪声。 在日常活动中收集噪音数据可能有助于改善表现。 例如,我们当前的噪声样本是在基于实验室的环境中收集的。 虽然它在研究中有效,但我们计划在未来的自然环境下收集日常活动中的噪声数据。

       我们计划进行的未来工作的另一部分是提高输入准确性和效率。 正如我们所讨论的,应用更先进的机器学习技术(例如,HMM)可以在更大的训练数据集的情况下提高准确性。 此外,采用自动完成系统将进一步提高输入效率。 我们计划将来进一步调查这些问题。

5.10.2其他。 我们还计划用9度IMU传感器更换陀螺仪传感器。 基于新传感器,可以实施传感器漂移补偿算法以增加传感器数据的稳定性。
当前系统中的另一个问题是环被电缆束缚,这可能限制其移动自由度并降低识别精度。 环的方向也会影响系统的性能。 为了解决这些问题,我们计划在未来通过添加无线通信模块使整个系统可移植,这样我们就可以在环的方向上保持一致并在野外部署系统。

6、结论
        FingerSound是一种输入技术,使用环形识别单指拇指手势,包括接触式麦克风和陀螺仪传感器。 具有DTW的距离函数的KNN模型被实现为仅针对每个手势使用三个训练样本来识别手势。 一项有19名参与者的用户研究表明,FingerSound能够识别4个方向滑动,10个单行程数字和28个Grafti字母,平均准确度分别为92%,98.19%和92.46%。 我们讨论了在将其部署到实际应用程序之前需要解决的潜在应用程序,机会和挑战。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/508541.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

23种设计模式之中介者模式

中介者模式的定义 中介者模式, 当多个类彼此关联, 会增大耦合性, 这时各个模块通过中介者进行交流, 每个模块只负责自己的业务逻辑, 不属于自己的就丢给中介者, 降低耦合 定义: 用一个中介对象封装一系列的对象交互, 中介者使各对象不需要显示的相互作用,从而使其耦合松散,而…

课堂笔记——计算机体系结构(1)

落了一节课,直接lecture3 Lecture3 Basic Pipeline 1、Single-cycle implementation: seldom used 取指 译码 执行 读mem/cache 写回WB 2、How to make it fast? To decrease the clock cycle time? difficult! Whats the problem?资源浪费 串行…

23种设计模式之命令模式

命令模式的定义 定义: 将一个请求封装成一个对象, 从而让你使用不同的请求将客户端参数化, 对请求排队或者记录请求日志, 可以提供命令的撤销和恢复功能 通俗的说, 就是当有不同的请求时, 将每一种请求都封装成一个对象, 不同的请求调用不同的执行者来执行 命令模式的通用类…

Ubicomp2018年论文列表

S1: IMPROVING OUR MENTAL HEALTH (关于心理健康) A Weakly Supervised Learning Framework For Detecting Social Anxiety And DepressionTouch Sense: Touch Screen Based Mental Stress Sense(触摸屏 压力)Tracking Depression…

23种设计模式之责任链模式

责任链模式的定义 定义: 使多个对象都有机会处理请求, 从而避免了请求的发送者和接受者之间的耦合关系. 将这些对象连成一条链, 并沿着这条链传递该请求,直到有对象处理它为止 通俗的讲, 就是将对请求的处理组成一条链, 当请求来时, 在链中依次传递, 知道找到能够处理此请求的…

Android Studio Process 'command ...\aapt.exe'' finished with non-zero exit value 1

错误:Process command "...\build-tools\27.0.3\aapt.exe finished with non-zero exit value 1 org.gradle.initialization.ReportedException: org.gradle.internal.exceptions.LocationAwareException: Execution failed for task :app:processDebugResour…

23种设计模式之装饰模式

装饰模式的定义 定义: 动态的给一个对象添加一些额外的职责. 就增加功能来说, 装饰模式相比生成子类更为灵活. 通俗的说, 就是对一个类或方法进行包装 装饰模式的通用类图: 类图中的四个角色说明如下: Component 抽象构件: Component是一个接口或抽象类, 就是定义我们最核心…

23种设计模式之策略模式

策略模式的定义 定义: 定义一组算法, 将每个算法都封装起来, 并且使它们之间可以互换 通俗的说, 就是对一个接口下的一组算法进行封装 其类图如下: 其中三个角色说明: Strategy 抽象策略角色: 策略、算法家族的抽象, 通常为接口, 定义每个策略或算法必须具有的方法和属性Co…

ZJU期末考试记录(研究生)——数据挖掘

1、全英文试卷,可以用中文作答,时间2h,普遍反映时间不足; 2、可以带的设备:计算器(必需) 3、题型:填空题(2*8),大题 4、题目记录: …

23种设计模式之门面模式

门面模式的定义 定义: 要求一个子系统的外部与其内部的通信必须通过一个统一的对象进行. 门面模式提供一个高层次的接口, 使得子系统更易于使用. 通俗的说, 就是设计一个类,专门用于对外服务的, 门面对象是外界访问子系统内部的唯一通道 其类图如下: 其中两个角色如下: Fac…

转载:Android Studio 3.1.2 新项目报错 AAPT2 error: check logs for details (Gradle 3.1.2)

转载自 https://blog.csdn.net/u011618035/article/details/80574645 原本好好的项目,突然有一天打开就开始报错AAPT2 error: check logsfor details。展开错误详细信息错误文本com.android.build.gradle.tasks.ResourceException:Error: java.util.concurrent.Exec…

23种设计模式之迭代器模式

迭代器模式的定义 定义: 它提供一种方法访问一个容器对象中各个元素, 而又不需暴露该对象的内部细节 其类图如下: 其中角色: Iterator 抽象迭代器: 抽象迭代器负责定义访问和遍历元素的接口, 而且基本上是有固定的三个方法: first()获得第一个元素, next()访问下一个元素, i…

2019Mobicom 论文列表

(BurstTracker)Detecting if LTE is the Bottleneck with BurstTracker (超声波定位)Rebooting Ultrasonic Positioning Systems for Ultrasound-incapable Smart Devices (无线)Wideband Full-Duplex Wi…

23种设计模式之适配器模式

适配器模式的定义 定义: 将一个类的接口变换成客户端所期待的另一种接口, 从而使原本因接口不匹配而无法在一起工作的两个类能够在一起工作. 通俗的说, 就是有 A、B两个接口, 现在要求把A和B安装在一起使用, 两者的接口不一致, 怎么办? 引入一个物体C, 如下图: 引入C物体后,…

23种设计模式之组合模式

组合模式的定义 定义: 将对象组合成树形结构以表示 "部分-整体" 的层次结构,使得用户对单个对象和组合对象的使用具有一致性. 通俗的说, 就是实现了树形结构 通用类图如下: 其中的三个角色如下: Component 抽象构件角色: 定义参加组合对象的共有方法和属性, 可以…

23种设计模式之观察者模式

观察者模式的定义 定义: 定义对象间一种一对多的依赖关系,使得每当一个对象改变状态,则所有依赖于它的对象都会得到通知并被自动更新 通俗的说, 就是一个类的某个条件满足时, 会调用一系列定义好的方法 其类图如下: 其中的4个角色: Subject 被观察者: 定义被观察者必须实现…

23种设计模式之访问者模式

访问者模式的定义 定义: 封装一些作用于某种数据结构中的各元素的操作, 它可以在不改变数据结构的前提下定义作用于这些元素的新的操作 通俗的说, 就是定义一个访问者角色, 当对指定角色进行访问时要通过访问者进行访问 其类图如下: 各角色说明: Vistor 抽象访问者: 抽象类…

IoTDI2019论文列表

day 1 session 1 IoT For Buildings 1. Anonymizing Building Data for Data Analytics in Cross-Organizational Settings (匿名化数字分析) Jens Hjort Schwee, Fisayo Caleb Sangogboye, Mikkel Baun Kjrgaard (University of Southern Denmar…

EWSN 2019 (待续)

整理了一些我感兴趣的论文 1. Improving the Timeliness of Bluetooth Low Energy in Noisy RF Environments (Best paper runup) Michael Spörk, Carlo Alberto Boano, Kay Römer (Graz University of Technology, Austria) 概要:处理了BLE在嘈杂环境中的抗…

23种设计模式之解释器模式

解释器模式的定义 定义: 给定一门语言,定义它的文法的一种表示, 并定义一个解释器, 该解释器使用该表示来解释语言中的句子. 其类图如下: 其中的角色说明: AbstractExpression 抽象解释器: 具体的解释任务由各个实现类完成TerminalExpression 终结符表达式: 实现与文法中的元…