Quantcast
Channel: 平板电脑
Viewing all articles
Browse latest Browse all 500

英特尔® 实感™ 技术自然用户接口用户反馈(第 1 部分)

$
0
0

作者:Justin Link

软件使我们能够超越人类能力的限制。 它让盲人可以阅读,让我们往返月球,并以一种在几十年前看起来像科幻小说的方式将我们连接起来。 然而,除了在我们生活中的强大作用以外,我们与软件的交互方式在大多数情况下仍处于初步阶段。

随着英特尔® 实感™ 技术等自然用户界面 (NUI) 的出现,我们可以与更加具有第二天性的新方式与软件交互。 NUI 可以让我们的工作更高效、更人性化、功能更强大。 但凭借这些新的软件交互方式,设计师必须创建出一种新的语言来我们与软件的交互方式。

文本将通过两个部分审视我们在 Chronosapien Interactive开发面向游戏的 NUI 的经历,特别专注于用户反馈在这个环境中的重要性。 在这方面,我们以前用过的许多旧的规则和技巧不再适用,讽刺的是,我们必须回顾一下我们数千年来彼此相互配合的方式。

用户期望

当前状态下的软件是死板棘手的。 它不做任何假设,并希望完全公开命令来提供预期操作。 我们受过良好的训练,适应软件的要求。 凭借 NUI,预期会发生变化。当我们对它们问好时,我们对计算机的所有了解和计算机理解这个世界的方式将消失不见。当我们被告知在屏幕上挥手而计算机没有立即响应时,我们很困惑,因为从我们的角度而言,我们完全按照要求做的。 造成这种脱节的部分原因在于缺乏对技术的理解,但大多数是由于要求用户自然沟通并且用户理所当然地对计算机进行了拟人化。 虽然用户的行为似乎是在与人沟通,但他们不会收到面部表情、眼形、眼神交流和肢体语言等自然沟通中所用的许多线索。 您需要进行弥补,为用户的交互创建显而易见的应对措施,说这样的话:“我收到了您的消息”、“我不太明白,因为...”、“明白,我正在解决”。 此外还需要特定的培训水平来设定用户期望。 将其设想为结识来自另一个国家的新朋友。

您是否曾与进行延长暂停的人进行谈话,将他们的想法与中期想法进行整合? 或者向通过举起一半的挥手尴尬回应的人挥手,你认为怎么样? 可能您住在一个吵闹的房间,听到您的朋友大喊“我该走了”。 在这种情况下,通过使用上下文线索和过去的经验,您能够通过部分信息解释那个人的想法。 然而,所有这些都在当前的 NUI 技术中带来了问题。

虽然这些交互示例缺少一些信息,但我们大多数人可以通过其他相关信息重建意图。 当有人暂停中期想法以收集其想法时,您不会完全忘记之前说过的话,或在他们讲完话之前作出回应。 这是因为您知道,通过语音语调、面部表情和眼神交流等无关联的信息,他们还有别的事情要说。 如果有人给你一个尴尬、举起一半的挥手,您不会完全困惑,因为他们的手部信号不符合挥手的通用标准。 相反,您会将其解释为他们在特定环境下最有可能说的话,并且可能对他们的性格作出一些假设,以便您可以在未来更好地为他们处理信息。 在一个吵闹、拥挤的房间内只听到部分谈话时,您不需要一个全面、完整的句子来理解是时候离开了。 从这些示例中收集的两个重要事情是上下文和相关信息。 在为 NUI 提供用户反馈的示例中,你会发现的一个主题是最好提供太多信息,而非不够的信息。

在 NUI 中创建用户反馈的挑战

在一个吵闹、拥挤的房间内尝试与某人对话的比喻实际上是一个有关使用 NUI 的好比喻,只是在那个房间里,您已经有了小孩的短期记忆和果蝇的情景意识。 以下是在英特尔实感应用中使用数据创建用户反馈的一些主要挑战:

  • 您通常不知道用户何时开始与应用交互
  • 您无法区分用户是在与应用交互还是在做一些完全无关的事情
  • 您无法轻松区分是与应用交互的用户还是恰巧在相机视图中的另一个人。
  • 交互数据将很复杂,有时存在错误
  • 数据不局限于实际限制
  • 数据需要一定的时间来处理,导致命令和响应之间出现尴尬停顿

这些专注于手部交互的挑战将根据英特尔实感技术的不同实施,在下面的部分中解决。 通常而言,这些是在设计用户反馈和用户交互时需要记住的。 我做的工作是为了解决其中一些问题,它们仍是自然使用计算机的主要障碍。 通过 NUI 进行开发以及进行面向 NUI 的开发时,准备大量的测试和迭代。 您将遇到的一些问题源自硬件,其中一些源自 SDK,而其他一般只是 NUI 方面的问题。

英特尔® 实感™ SDK 的手部跟踪功能

软件解读手部动作的能力为设计师开辟了新途径。 除了提供构建交互的直观平台以外,使用手部为不能有任何其他方式的应用提供了一个浸入水平。 凭借英特尔实感 SDK,开发人员可以访问一只手中的许多跟踪节点、其当前“开放”状态以及值、姿势、大小、位置和手势。 这些能力没有限制,然而,与其他英特尔实感应用模式一样,开发人员必须遮蔽或以其他方式考虑这些。 下面我将讲解这些限制,并讨论使用我们尝试过的手进行一些不同的实施。

手部交互的限制

跟踪体积


图 1. 英特尔® 实感™ 应用手部模式的跟踪体积是有限的,可仅限于应用

SDK 中手部交互的一个最大问题是硬件的有限跟踪范围。 由于人类胳膊和手部能进行各种各样的运动,它们通常将留下这一跟踪体积。 在英特尔实感应用中使用手部时,留下跟踪体积是新用户最常见的问题。

遮挡


图 2. 手部遮挡,来自无监督情境学习的强大手臂和手部跟踪

在有限的跟踪体积后,SDK 的下一个最大限制和其他基于图像的跟踪系统是遮挡。 简单来说,当某物被其他物体挡住时,它是被遮挡的。 这是一个问题,特别是跟踪手部时,因为许多自然姿势或手势包含手部从摄像头角度遮挡自己的时候。 相反,使用屏幕作为观看介质时,手部通常将从用户角度遮挡屏幕。

手部尺寸相对于屏幕大小

在应用中用手自然交互时,可以很直观地设计接口,就像用户正在进入观看介质,通常为屏幕。 然而,当手部以这种方式成为交互方法时,屏幕上没有多少剩余空间做任何事情。 这会为 GUI 和应用本身带来问题。

手臂疲劳

尽管使用您的手操纵数字世界是一种自由体验,但很容易过头。 使用手部进行交互的应用和许多其他应用的最大问题之一就是用户会在 60 到 90 秒内变得疲劳。 用一个桌子来放置手肘时,这个问题可以得到缓解,但不能完全解决问题。

无触觉反馈

在从传统计算机界面过渡所丢失的东西中,触觉反馈必须是最有价值的。 在空中滑动时,点击按钮时获得的快照等简单反馈将不再存在。 这表示应用必须从视觉和听觉方面考虑到这一点。

手部作为光标


图 3. 我们在间距中实施手部作为光标。 我们的光标是鲨鱼附近的发光球。

在间距游戏中,我们发现像光标一样使用手是控制应用的一种简单方式。 它在用鼠标从传统上控制应用和以一种新的方式使用双手之间提供了一个直观的桥梁。 下面我将讨论我们使用这种方法遇到的一些问题、我们的实施以及从可用性角度而言哪些有效哪些无效。

我们的挑战

这些是在像光标一样使用手部时我们遇到的一些问题。

用户不知道
他们在间距中控制哪些内容,用户可以直接控制实时跟随其手部位置相对于屏幕的位置的发光球。 我们在游戏中的使用方法就是让玩家角色跟随光标。 结果是对生物进行稍微的间接控制。 许多时候当人们第一次玩游戏时,需要一些时间进行点击,它们实际上在控制光标,而非生物本身。

用户不知道什么在控制光标,
因为我们的游戏在不同情况下以不同的方式重复使用光标方法,用户有时会对什么应该控制光标感到困惑。

如前所述,用户的手部通常会留下跟踪体积
。之前提到过,这是使用手部与英特尔实感应用进行交互时最常见的问题。 虽然光标会明显到达屏幕的边缘,用户并不会将其与到达跟踪体积的边缘相关联。

间距中的光标

在间距中,我们以三种方式使用二维光标方法:

阵风


图 4. 来自间距的阵风光标

有效的方法
在三个光标中,阵风是控制方面最抽象的一个。 它主张的是其无定型形状遮住了英特尔实感应用中的许多位置数据噪音。 此外,它用了一个其体积基于光标速度的音频回路。 这很好,因为它可以让用户在移动手部时,知道他们何时被跟踪,何时不被跟踪(除云视觉移动以外)。

无效的方法
尽管无定型形状对于遮挡位置数据中的噪音有好处,但难以准确辨别其在屏幕上的位置。 在特定游戏中进行悬停等操作时,这是个问题。

发光球


图 5. 间距中的另一个光标

有效的方法
让光标将光散发到环境中但在顶部绘制意味着,用户可以知道其任务将到达环境中的哪个位置,同时消除光标在墙内迷失等问题。 由于其相对较小,它也显示了 SDK 手部模块的准确性。 最初,我们使用球体本身来代表光标。 但我们遇到的一个问题是,用手部进行快速运动时,光标很容易丢失。 考虑到这一点,我们在持续一秒左右的光标后创建了一个粒子拖尾。 这会产生使只移动光标变得充满乐趣的副作用,因为您可以在空中画出形状。 最后,为了帮助将光标连接到玩家人物,我们创建了一个将其连接到光标的拖尾。 当玩家角色受环境所困,再也不动时,这会起到尤其大的帮助作用。

无效的方法
游戏中发光球的主要主题是用户有时没有意识到他们正在控制光标,而非人物本身。 发光球的另一个问题是除了控制人物位置以外,它还尝试代表游戏中的另一个功能:手部开放性。 为了说明这一点,我们增加了连接到它的光的强度,使其更亮。 未来我们可能会向光标中添加更多功能,从而直观地展示手部开放性正在改变它,并可能简单地展示光标附近的手部的图形,让用户知道他们可以控制哪些内容。

手标


图 6. 间距中的手标,用于菜单类型交互

有效的方法
在三个光标样式中,手标是迄今为止最简单、最直观的。 由于光标是一只手的形状(代表正确的手面),用户立即知道他们正在控制它。 更详细地讲,我们创建了在手部姿势之间混合的动画精灵,以反映手部的当前状态。 这很棒,因为它会立即告诉用户,系统已经认识到变化并且正在响应。 即使该动作没有在当前上下文中使用,玩家很容易得知应用能够解释哪些内容以及解释效果。

无效的方法
虽然手标具有出色的可用性,但它在游戏环境中会显得特别扎眼。 这意味着,除非我们想要打破沉浸,我们只能在暂停或选项菜单等应用控制环境中使用它。

要点

我们的三种方法表明,部署手标没有统一的答案,它是针对应用和环境的。 然而,为手标提供用户反馈时,我认为有几个规则可以全面应用:

  • 尽可能地从视觉和听觉上反映手部的状态变化。这可帮助玩家了解跟踪哪些内容,并直观地教导有哪些功能。
  • 当用户留下跟踪体积时,向用户讲清楚。这是间距中缺少的内容,但它可以解决有关用户体验方面的许多难题,如不理解为何跟踪丢失,并在手部返回时体验跟踪延迟。

手部使用手势


图 7. Risen(崛起)中举起手势的第一阶段

手势是一种沟通想法和执行行动的强大方式。 它们的稳定性可提供非常特定的控制和感觉,这对于它们所使用的环境是完全独一无二的。 使用手势可帮助定义我们的英特尔实感技术游戏、间距和崛起,并将玩家与其执行的动作连接起来。 正如前面提到的,我将首先讨论我们在使用手势时遇到的问题,我们如何实施,以及我们认为我们的方法哪些有效,哪些无效。

我们的挑战

手势比对特性的简单位置跟踪更加复杂。 这些是在为手势输入设计时我们面临的一些主要问题。

我们无法预言手势何时开始
这在一定程度上取决于所用的手势,但一般而言,英特尔实感应用手势模式中即购即用的手势没有给出任何有关手势执行后它们何时开始的提示。 这看似微不足道,但对于复杂手势,则必须等到完成手势后才发现它不能正常工作,这会造成繁琐的重复。

许多人都能正确地执行手势,但却不够准确,因此应用无法识别
就像我前面提到的,手势识别软件在检测方面相当严格。 滑动等操作有需要运行的特定距离,手部姿势需要以特定方式执行,必须维持与摄像头的特定距离等。所有这些通常导致手势的使用更加令人沮丧。

特定手部角度没有针对英特尔实感技术中的跟踪进行优化
手部跟踪算法的最大问题之一是无法跟踪特定手部角度。 目前,系统非常擅长检测手掌直接指向摄像头的手,不太擅长手与摄像头垂直的情况。 这对于手部的许多用途都有影响,但在手势中,它是一个在尝试创建和执行带复杂动作的手势时的问题。 例如,在我们的游戏“崛起”中,我们创建了一个复活骷髅的手势,在这种手势中,用户首先向摄像头展示其手掌,然后将手放低并将其手掌指向天花板,然后举起手掌。 在手部处于水平位置的手势部分,应用通常会失去对手部的跟踪,打破手势中期绩效。

“崛起”中的举起手势


图 8. Risen(崛起)中举起手势的第二阶段

在崛起中,我们有一个自定义的举起手势,这种手势对于让玩家感觉自己身处游戏世界之中至关重要。 下面是我们从中学到的一些经验。

有效的方法
我们真的希望确保人们准确地了解他们应该执行哪些动作,因为手势在整个游戏中使用非常之多。 我们还希望避免复杂的描述,尝试描述手的位置在不同时间的微小细节。 我们的解决方案是将场景中的动画手放在游戏的学习部分,以准确地展示应该如何执行手势。 手部与用户在场景中的手部同样大小,因此玩家能够轻松知道应该做什么。

设计手势时,我们知道玩家很可能不会将手放在场景中。 我们也知道了 SDK 的手部跟踪限制。 为了解决这个问题,我们在手势方面迈出了第一步——手势识别模块能够轻松识别的一个姿势。 这还有一个好处,就是成为了一个我们提供各种用户反馈的地方,比如“您好,似乎您将要执行举起手势。” 能够从视觉和听觉上表明系统知道手势处于其第一阶段,这既可以防止不必要的重复,也可以直观地教导玩家系统需要什么。

遵守将手势分解为可用性部分的主题,我们还触发了到达手势的第二阶段时的效果和声音。 由于我们的手势相对复杂(并且独特),这可帮助告诉玩家他们正在正确的执行,现在正在进入手势的最后阶段。

尽管我们出于技术和可用性原因将手势分为不同的部分,但应当注意的是,手势可以完全流畅地执行;手势的阶段可为用户提供他们正在正确执行手势的提示,或者提供一个可供他们执行错误时查看的地方。

无效的方法
我们在使用手势方面的最大问题来自于手势模块的跟踪限制。 到达“手部处于相对于摄像头的水平位置”这一手势部分时,跟踪经常会消失,取消正在进行的手势。 这并不是我们此时可以有效控制的,但我想,未来为用户提供有关这一限制的培训将有所帮助。

要点

以下是几个为手势输入设计反馈时要记住的几个要点:

  • 正确的设置和解释是了解如何执行手势的关键。我们使用三维手部动画来展示我们的手势,并且我认为这是最有效的方式,因为它可以告诉用户怎么做。
  • 在复杂手势的不同阶段提供反馈可帮助避免潜在挫败感。一旦用户更适应技术,明确地告诉他们系统何时工作(或者何时不工作)可帮助避免反复运行手势,而没有真正了解出现故障的地方。

虚拟手


图 9. 在“崛起”中使用虚拟手与环境交互

能够进入虚拟世界并与其交互是一种真正自由的体验。 这样做所获得的沉浸水平是其他任何方式都无法实现的。 在我们的游戏“崛起”中,我们让玩家进入环境,以打开门或激活陷阱。 我在下面列出了我们在以这种方式用手进行交互方面遇到的一些问题,我们如何将虚拟手部署到“崛起”中,以及如何实现。

我们遇到的问题

虽然控制虚拟手相当不错,但借助 SDK 即购即用的特性实施虚拟手可能有些棘手。 以下是一些可以回避设计的问题。

数据杂乱
在显示被操控的手并通过 SDK 的数据控制它时,是一件非常令人紧张的事情。 虽然 SDK 有一些平滑算法,但这些算法无法完全消除多余的杂乱。

数据不受限于实际限制
除了手部节点的杂乱数据意外,节点有时将以一种物理上不可能的方式变为定向。 它们也有一种在手部特定部分的可见性较低时,每次针对几个帧快速跳过屏幕的倾向。

数分钟的互动非常难以执行和检测
我们希望玩家能够在一个比手偏小的世界中与对象交互。 然而杂乱的数据、模糊的层次感以及没有触觉反馈使得这种希望几乎不可能实现。

“崛起”中的虚拟手

玩家能够通过“崛起”中可怕的骷髅手进入世界。 它们用于通过不同的方式帮助玩家的骨架,如为敌人打开门或触发陷阱。 我们从实施虚拟手中学到了很多经验。

有效的方法


图 10. GUI 在“崛起”中显示检测到的面部和右手

GUI 中值得一提的第一个东西是我们为“崛起”创建的 GUI。 在 GUI 中,左上方的一个头骨代表玩家及其当前跟踪的功能。 检测手部时,它们会在 GUI 中绘制动画,向玩家表明系统已经成功识别。 虽然简单,通过一种方法让玩家了解它是什么以及是否有效确实有帮助。 例如,如果系统检测到用户的手部而非手部,这可能意味着它们超出了跟踪体积的范围。

要说明世界中的哪些对象可以与手部一起使用,我们显示了一个悬停在其上方的图表,并展示第一次看到它们时如何进行交互。 我们希望玩家了解可以使用的不同类型的对象,但我们还希望在环境中寻找一些互动时获得一种探索的感觉。 在游戏的早期部分显示图标是这两者之间的一个绝佳平衡。

我们将在下面的“无效方法”部分介绍一下我们与环境对象进行交互的最初方法,但我们的最终方法很有效,就是有一个使用整个手的简单抓取手势。 这解决了上面的两个问题,模糊的层次感和没有触觉反馈,并且没有影响到游戏。 然而它意味着,我们必须在能够以这种方式进行交互的对象类型上更有选择性,因为手部相同区域的两个或多个对象将同时触发多个对象。

为了向用户表明其手部何时处于“交互”状态(一个拳头),我们更改了手部的颜色。 以这种方式使用手就像使用按钮一样:有一个说明应用需求的不活动状态和一个活动状态。 由此看来,所有用户都必须指出他们需要在何处触发交互。

无效方法
当我们第一次设想用手与环境交互时,我们设想了拉拉链、推书等情景,似乎这些情景就在您面前一样。 事实证明这样做的问题是,很难准确执行这些数分钟的交互。 当您无法真正感知深度或收到针对交互时许多繁琐的失败尝试作出的任何触觉反馈时,用手抓住拉链。 虽然我认为这个问题可通过更准确的跟踪进行缓解,但真正的解决方案是立体显示器和手指的触觉反馈。

要点

我们来快速回顾一下在使用虚拟手方面学到的主要经验:

  • 简单的手势交互效果最好。也许当技术已经成熟或如果您使用另一种查看介质时,您可以尝试小的手势,但现在需要坚持基本知识。
  • 当手处于“交互”状态时,提供视觉和听觉反馈。这可以告诉用户系统何时寻找范围内的对象,从而简化交互。

待续…

在第 1 部分中,我们讨论了我们在为用户提供针对英特尔实感应用的反馈方面的经验和发现,特别是当它们与手写输入模式相关时。 在下一篇文章中,我将探讨英特尔实感技术需要提供的其他模式: 头部跟踪、情感检测和语音识别。 点击此处,阅读第二部分。

关于作者

Justin Link 是佛罗里达州奥兰多的 Chronosapien Interactive 公司的互动媒体开发人员。 他的游戏“Space Between”在英特尔® 感知计算挑战赛中排名第二。 该游戏采用英特尔感知计算手势摄像头,主要使用手势和语音在三款小游戏中控制水下海洋生物。 在排名前 10% 的英特尔创新者中,他已经为 1,000 多名开发人员提供了感知计算培训,包括最新的 2014 英特尔实感技术。

更多信息

英特尔® 实感™ 技术自然用户接口用户反馈(第 2 部分) - 作者:Justin Link
使用英特尔® 实感™ 创作“Space Between”– 英特尔软件 TV 视频
“Space Between*”采用英特尔® 实感™ 技术探索海洋深度– 与 Chronosapien 的 Ryan Clark 共同开展的案例研究
获取英特尔实感 SDK
获取英特尔® 实感™ 摄像头

  • 英特尔实感SDK
  • 英特尔实感3D摄像头
  • Intel RealSense SDK
  • Intel RealSense 3D Camera
  • natural user interface
  • NUI
  • Perceptual Computing
  • Justin Link
  • Chronosapiens
  • Space Between
  • The Risen
  • 开发人员
  • Microsoft Windows* 10
  • Microsoft Windows* 8.x
  • 英特尔® 实感™ 技术
  • 入门级
  • 中级
  • 英特尔® 实感™ SDK
  • 英特尔® 实感™ 技术
  • 用户体验与设计
  • 前置 F200 照相机
  • 笔记本电脑
  • 平板电脑
  • 桌面
  • URL
  • 英特尔® 实感™ 技术
  • 上次更新时间: 

    星期三, 2015, 十月 21

    Viewing all articles
    Browse latest Browse all 500

    Trending Articles



    <script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>