本申请要求以2018年3月27日在美国提交发明名称为“HAND GEST URERECOGNITION SYSTEM FOR VEHICULAR INTERACTIVECONTROL”、申请号为No .62/648,828的临时申请作为优先权基础,该申请的全部内容通过引用的方式纳入本申请。
附图说明
图1示意性地示出了根据示例性实施方案的用于基于手势控制的交互系统的环境。
图2示意性地示出了根据示例性实施方案的手势控制模块。
图3是示出根据示例性实施方案的基于手势控制的交互过程的流程图。
图4是示出根据示例性实施方案的基于手势跟踪的功能触发和切换的流程图。
图5是示出根据示例性实施方案的手势识别和相应动作的流程图。
图6是示出根据示例性实施方案的基于手势跟踪的交互过程的流程图。
图7是示出其中可以实现本文所述的任何实施方案的实例计算系统的框图。
图8是示出根据示例性实施方案的在两种不同模式下的交互的流程图。
图9示意性地示出了根据示例性实施方案的定义、分配和调整热键控制功能的过程。
图10是示出根据示例性实施方案的与手势跟踪GUI集成的上下文敏感建议的流程图。
图11是示出根据示例性实施方案的结合手势跟踪使用按钮和/或语音输入来控制交互的流程图。
图12是示意性地示出根据示例性实施方案的物理按钮、触觉反馈、眼睛跟踪和手势控制的组合的图示。
图13是示意性地示出根据示例性实施方案的语音和手势控制的组合的图示。
图14是示出根据示例性实施方案的五个手指向上滑动以开启完全访问手势跟踪的手势的图。
图15示意性地示出了根据示例性实施方案的功能之间的切换。
图16是示出根据示例性实施方案的两个手指向左滑动以切换功能的手势的图。
图17是示出根据示例性实施方案的两个手指向右滑动以切换功能的手势的图。
图18示出了根据示例性实施方案的移动和量的选择。
图19是示出根据示例性实施方案的两个手指向左滑动并保持以减少量的手势的图。
图20是示出根据示例性实施方案的两个手指向右滑动并保持以增加量的手势的图。
图21是示出根据示例性实施方案的手掌面向下的手势的图,其中所有手指伸展然后闭合以形成拳头,使得能够在3D GUI中进行控制。
图22是示出根据示例性实施方案的手指指向并保持以选择功能的手势的图。
图23A示意性地示出了根据示例性实施方案的顺时针旋转。
图23B是示出根据示例性实施方案的两个手指顺时针延伸和旋转以增加量的手势的图。
图24A示意性地示出了根据示例性实施方案的逆时针旋转。
图24B是示出根据示例性实施方案的两个手指延伸并逆时针旋转以减少量的手势的图。
图25是示出根据示例性实施方案的一个手指轻敲以点击或激活功能的手势的图。
图26是示出根据示例性实施方案的四个手指轻敲以取消功能的手势的图。
图27是示出根据示例性实施方案的从拳头变为手掌以脱离手势跟踪的手势的图。
图28是示出根据示例性实施方案的手掌向上然后卷起两个手指以调出菜单的手势的图。
图29示意性地示出了根据示例性实施方案的在光标模式下受控的交互。
图30示意性地示出了根据示例性实施方案的在网格模式下受控的交互。
图31示意性地示出了根据示例性实施方案的控制屏幕导航的算法。
图32示意性地示出了根据示例性实施方案的可自定义手势控制。
图33示出了根据示例性实施方案的对手上具有一个或多个自由度的临界点进行跟踪以形成骨架模型。
图34示意性地示出了根据示例性实施方案的三维(3D)图形用户界面(GUI)。
具体实施方式
本发明包括用于驾驶员和乘客通过手势控制汽车的控制系统和方法。例如,基于手势的汽车控制可包括汽车的操作,例如驾驶、停车等。手势可由所述系统识别,以控制汽车前进、减速、加速、停在车库、返回停车位等。基于手势的汽车控制也可包括对汽车其他操作部件的控制,如对灯光、车窗、车门、行李箱等的控制。此外,基于手势的汽车控制可包括座舱内控制,例如对汽车信息娱乐系统的控制。手势控制系统和方法基于预定义的一组手势。可以通过使用所述手势控制系统和方法来控制车辆座舱中的许多常见功能,例如气候控制、无线电、电话呼叫、导航、视频播放等。
所述手势控制系统和方法可以定义用户与汽车(包括操作部件和信息娱乐系统)之间的交互。例如,所述系统和方法可以定义手势控制系统如何开启,以及汽车如何对某些手势做出反应。所述手势控制系统和方法还可以允许用户自定义各种手势的功能。进一步地,物理按钮和/或语音命令可以与手势组合来控制信息娱乐系统。所述系统和方法可以响应于用户手势而通过各种听觉(例如,音效、音调、语音等)、触觉(例如振动、压力、阻力等)或视觉手段提供反馈。
所述手势控制系统和方法可以自动启动汽车的一种第一控制模式。汽车的所述第一控制模式在下文中也可被称为“快速访问模式”。在所述第一控制模式下,通过手势控制系统可以控制汽车的有限操作。所述系统和方法可以定义一个第一系列手势(也称为“始终开启快速访问手势”或“快速访问手势”),以便在不打开第二控制模式(也称为“完全访问手势跟踪模式”)的情况下,而在第一控制模式下自动控制信息娱乐系统或汽车的其他部件。例如,所述第一系列手势可以对应于控制汽车非移动操作的命令,例如照明、车窗等。所述第一控制模式下的控制仅限于与汽车驾驶或停车无关的操作,从而避免安全风险。在另一个实例中,在所述第一控制模式下,手势可能仅限于控制不会分散驾驶员注意力的汽车简单操作。例如,第一系列手势可以对应于控制照明、车窗、接听或拒绝电话等的命令。这样的操作不需要用户和汽车之间进行大量的视觉交互,因此不会在用户驾驶时分散用户的注意力。
所述手势控制系统和方法可以通过传感器(例如相机)来检测一个触发事件(例如一种预定义的手势)以开启和关闭所述汽车的第二控制模式(也被称为“完全访问手势跟踪模式”)。一旦手势控制系统被开启,所述系统和方法可以识别所述第二系列手势来控制汽车的全部功能,例如行车、停车、控制其他操作部件、控制信息娱乐系统等。例如,与第二模式相关联的手势可能对应于选择信息娱乐系统中功能的命令,例如座舱气候控制。也可以通过使用导航、选择、确认等手势与显示屏上的图形用户界面(GUI)交互来实现控制功能。一旦选择了该功能,所述系统和方法可以检测到预先定义的手势来调整某些设置。以气候控制为例,当所述系统和方法检测到用户的预先定义的手势时,所述系统和方法可以相应地将温度上下调整到所需的水平。在另一个实例中,所述系统和方法可以允许用户通过修改系统当前定义的手势或添加新的手势来自定义手势。
在某些实施方案中,所述手势控制系统和方法可以提供类似于基于多点触摸的用户界面所提供的交互,该用户界面利用自由手运动而不与屏幕物理接触。手势控制系统和方法还可以通过无需物理指向或跟踪设备(例如,计算机鼠标)的自由手动运动来提供与基于光标的桌面用户界面范例的精确细粒度导航或选择控制类似的精确细粒度导航或选择控制。
手势控制和方法在许多不同的车辆内部设计中提供了一致的可缩放用户交互范例,从传统显示器到大规模显示器,例如4K显示器、平视显示器、后排乘客的座椅靠背显示器、下拉/翻转/头顶监视器、3D显示器、全息显示器和挡风玻璃投影屏幕。
上述功能允许用户主动管理信息娱乐系统。存在用户通过使用手势对来自信息娱乐系统的某些事件做出反应的某些情形。通过对手势执行一致的语义规则,只需要很小的直观手势集就能以最少的用户训练来控制汽车的所有功能。例如,用户可以使用相同的手势来拒绝一个应用中的电话呼叫以及忽略另一应用中的弹出消息。
根据本公开的实施方案包括交互式输入系统和用于交互式输入的方法。
在下文中,将参考附图描述与本公开一致的实施方案。在可能的情况下,在所有附图中使用相同的附图标记来表示相同或相似部件。
图1示意性地示出了根据示例性实施方案的用于基于手势控制的交互系统的环境100。环境100包括与用户120交互的系统102(诸如基于手势控制的交互系统)、服务器104、主处理器116、显示系统(屏幕)114和用户设备108(例如,客户端设备、台式机、膝上型计算机、智能电话、平板电脑、移动设备)。主机处理器116、服务器104和用户设备108可以通过网络106彼此通信。系统102、主计算机116、服务器104和用户设备108可以包括一个或多个处理器和存储器(例如,永久存储器、临时存储器)。处理器可以配置成通过解释存储在存储器中的机器可读指令来执行各种操作。系统102、主计算机116、服务器104和用户设备108可以包括其他计算资源和/或对其他计算资源具有访问权(例如,经由一个或多个连接/网络)。主处理器116可用于控制信息娱乐系统和其它客舱内功能,控制气候控制系统,运行应用程序,处理来自系统102的手势输入,处理诸如触摸/语音/按钮等其它用户输入122,经由显示系统(屏幕)114上图形用户接口(GUI)与用户通信,经由无线因特网连接106实现汽车连接,控制通信系统(蜂窝电话、无线宽带等),控制导航系统(GPS),控制包括自主驾驶能力的驾驶员辅助系统,经由车载局域网126与车辆中的其他处理器和系统128(例如,发动机控制装置)通信,以及提供其他用户反馈,诸如声音(听觉)、触觉124等。
虽然系统102、主处理器116、服务器104和用户设备108在图1中示出为单个实体,但是这仅仅是为了便于参考,而非旨在限制。这里描述的系统102、主处理器116、服务器104和用户设备108的一个或多个组件或功能可以在单个计算设备或多个计算设备中实现。例如,系统102的一个或多个组件或功能可以在服务器104中实现和/或分布在多个计算设备上。作为另一实例,可以将在传感器模块112中执行的传感器处理和/或在手势控制模块110中执行的手势控制功能卸载到主处理器116。
系统102可以是用于汽车信息娱乐系统的手势控制系统。系统102可以基于一组预定义的手势。信息娱乐系统中许多常见功能的控制可以使用手势控制来实现,例如气候控制、无线电、电话呼叫、导航、视频播放等。
系统102可以定义用户与信息娱乐系统之间的交互。例如,系统102可以定义手势控制系统如何开启,以及信息娱乐系统如何响应于触发事件(例如手势、语音、按压物理按钮等)而作出反应。物理按钮、触摸和/或语音也可以与手势组合以控制信息娱乐系统。系统可以响应于用户手势而通过各种听觉(例如音调、语音、音效等)、触觉(例如振动、压力、阻力等)或视觉手段提供反馈。
在一些实施方案中,系统102可搜索预定义手势以启用完全访问手势跟踪模式。在完全访问手势跟踪模式中,系统102可以识别预定义手势,该预定义手势使得能够选择信息娱乐系统中的功能(或应用),诸如气候控制。气候控制功能是由系统102中的处理器(诸如图7中的处理器704)执行的各种应用程序的实例。应用可以具有显示在显示屏114上的关联GUI。
在一些实施方案中,可以同时激活许多应用,类似于在台式计算机上的多个窗口中执行的多个任务。应用的GUI可以向用户呈现菜单以选择功能并调整某些设置,例如气候控制系统中的温度。与桌面计算环境中基于鼠标的交互范例不同,乘客与GUI之间的交互可以通过用于导航、选择、确认等的自由手势来实现。一旦选择了功能,系统102就可以检测预定义手势,以基于用户手势的检测将当前设置调节至所需设置。例如,当系统102检测到用户的预定义手势时,系统102可以相应地将温度上调或下调节至手势所指示的水平。
应用的实例包括气候控制、无线电、导航、个人辅助、日历和时间表、行驶辅助、安全和驾驶员辅助系统、座椅调节、后视镜调节、车窗控制、娱乐、通信、电话、远程信息处理、紧急服务、驾驶员警报系统、健康和状态良好、手势库、车辆维护和更新、连接的汽车等。某些应用可以在制造时预加载到车辆中(并且存储在存储器中,例如图7所示的存储器708)。用户可以在任何时候(从应用商店)经由无线装置通过空中或经由其它方式(例如从USB驱动器下载固件)下载附加应用。
在一些实施方案中,系统102可以允许用户通过修改系统当前定义的手势或通过添加新手势来自定义手势定义。参照图32,示意性地示出了根据示例性实施方案的可自定义手势控制。用户可以修改手势与功能之间的映射(例如,该映射可以存储在手势库中),并且将新添加的手势下载到系统102可识别的手势库中。
由于大量可能的应用可能会使显示器杂乱无章,因此在不调用完全访问手势控制的情况下快速访问一些常用的基本功能(例如,无线电、气候、电话控制)是有用的。这样,可以避免不必要的导航或与特定应用GUI的眼睛接触。
在一些实施方案中,系统102还可以定义一组始终开启的快速访问手势,以控制信息娱乐系统或汽车的其他部件,而不开启完全访问手势跟踪模式。始终开启的快速访问手势的实例可以包括但不限于开启或关闭无线电的手势、增大或减小音量的手势、调节温度的手势、接受或拒绝电话呼叫的手势等。这些手势可用于控制应用以向用户提供期望的结果,而无需用户与GUI交互,从而避免分散用户(例如驾驶员)的注意力。在一些实施方案中,快速访问手势通常可能不提供应用中可用的完全控制。除了快速访问手势之外,如果用户期望更精细的控制,则用户可以做出手势以在显示屏上弹出应用。例如,当执行用于控制电话的快速访问手势时,指向屏幕的快速手移动可以在屏幕上调出电话应用。
系统102可以使用美国专利号US 9323338 B2中描述的设备和方法来捕获手势并识别手势。
系统102的上述功能允许用户主动管理信息娱乐系统。存在用户对来自信息娱乐系统的事件做出反应的情形。例如,接到电话呼叫可给予用户接受或拒绝电话呼叫的选择。在另一实例中,可以弹出来自另一方的消息,以便用户可以选择响应或忽略它。
系统102包括手势控制模块110(以下将参考图2进行详细描述),和传感器模块112(例如,相机、温度传感器、湿度传感器、速度传感器、振动传感器、位置传感器等)及其相关联的信号处理硬件和软件(硬件或软件)。在一些实施方案中,传感器模块112可以与通过电缆连接的手势控制模块110物理分离。传感器模块112可安装在面向车辆乘员的仪表板中心附近、后视镜附近的上方或其它位置。虽然图1中仅示出了一个传感器模块112,但是系统102可以包括多个传感器模块112以捕获不同的测量。多个传感器模块112可以安装在多个
位置以呈现不同的视点(POV)或视角,从而能够实现更大的覆盖区域并且利用更多的传感器数据提高检测的稳健性。
对于图像传感器,传感器模块可以包括可见光谱以及人类不可见的电磁波光谱(例如红外)中的照明源。例如,相机可以捕捉用户的手势。手势控制模块110可以使用捕获的手势的图片或视频帧来控制用户与汽车的信息娱乐系统之间的交互。
在另一实例中,由陀螺仪和/或加速度计组成的惯性感测模块可用于测量或保持汽车的取向和角速度。这种传感器或其它类型的传感器可以测量汽车的不稳定性。手势控制模块110可以考虑不稳定性的测量,以调整方法或算法,从而即使在不稳定驾驶状况下也进行稳健的手势控制。以下将参考图2、30和31对此进行详细描述。
图2示意性地示出了根据示例性实施方案的手势控制模块110。手势控制模块110包括手势识别模块201、模式确定模块202、快速访问手势控制模块204和完全访问手势跟踪模块206。手势控制模块110中还可以包括其他组件以实现本文未描述的其他功能。
在一些实施方案中,手势识别模块201可以从传感器处理系统112接收数据(例如点云、像素颜色或亮度值、深度信息等),滤除数据中的噪声,将与手相关的数据点与背景分离,检测手的存在,使用被跟踪点(例如图33中的那些)的坐标来形成手的骨架模型,并跟踪其位置和移动。手势识别模块201检测、识别和跟踪对计算位置和移动至关重要的手部和其它身体部位(例如肘部)上的临界点。图33示出了对精确跟踪很有用的手关节。根据关节提供的自由度(DOF)来选择关节。图33是结合手臂跟踪的26DOF手跟踪的实例。利用这些关节的位置,手势识别模块201可创建手和肘部的骨架模型,该模型可用于以足够的帧速率跟踪手和/或臂在3D空间内的位置或移动,以跟踪具有低等待时间的快速移动,从而以3D实现准确、实时的手和/或臂跟踪。
静态和动态手势(例如,图5中的实例)都可以由手势识别模块201检测和识别。所识别的静态手势可以是通过将手的手指、手腕和其他部分移动到手势库中定义的在一定容差内的构造(例如,位置和取向)(例如,该构造可以在可接受的预定范围内)而形成的手势语,其在给定时刻被捕捉作为手的快照。可将手的骨架模型中的点的坐标(图33)和/或所跟踪的点的相对位置与特定手势(存储在手势库中)的一组可接受范围和/或参考(例如模板)手模型进行比较,以确定有效手势是否已经被肯定地检测到和识别出。容差可以是当前手的关节位置和旋转坐标与手势库中存储的可接受参考坐标相比的可允许量。
手势识别模块201可以使用美国专利号US 9323338 B2中描述的方法来捕获手势并识别手势。
在一些实施方案中,动态手势可以是在特定容差内(例如,可接受轨迹的预定范围、可接受速度值的预定范围)以预定义轨迹和速度移动的一系列识别的手势语。可以跟踪手的位置、移动和速度,并将其与预定义手势库中的参考值和/或模板模型进行比较,以确定是否已经肯定地检测到有效手势。传统的计算机视觉算法和基于深度学习的神经网络(独立或组合地应用)都可以用于跟踪和识别静态或动态手势。
一旦检测到有效手势(以及其它可能的非手势用户输入),模式确定模块202可搜索触发完全访问手势跟踪模式的触发事件。例如,触发事件可以是由相机捕获的手势、由声音传感器捕获的语音、或按压汽车上装配的物理按钮。在一些实施方案中,完全访问手势跟踪模式可以由两个或多个捕获的事件的组合触发。例如,当模式确定模块202从传感器接收到手势和语音时,模式确定模块202可以确定触发完全访问手势跟踪模式。
快速访问控制模块204可以配置成实现由快速访问手势控制的交互。快速访问手势可以定义为用于控制汽车部件而不触发完全访问手势模式的手势。例如,在不触发完全访问手势跟踪模式的情况下,快速访问手势控制模块204可以检测用户的手势(例如,伸出五个手指挥动手)并控制窗口的上下滚动。在另一实例中,快速访问控制模块204可以检测手势和语音的组合(例如,检测语音命令以快速启动气候控制应用并且检测手势以微调温度设置),并且控制汽车执行预定义功能(例如,启动气候控制应用、微调温度设置等)。
在一些实施方案中,快速访问控制模块204还可以配置成即使在完全访问手势跟踪模式开启时也工作。例如,快速访问控制模块204可以检测快速访问手势并且在完全访问手势跟踪模式开启并且完全访问手势跟踪模块206可以主动地工作的同时控制汽车的相应功能。
快速访问模块204和完全访问模块206可以接收由手势识别模块201检测和识别的静态或动态有效手势,并且执行与所识别的手势对应的适当动作。例如,快速接入模块204可以接收用于开启无线电的手势,然后向无线电控制模块发送信号以改变音量。在另一实例中,完全访问模块206可以接收激活导航应用的手势,然后向主处理器116发送信号以执行该应用并在屏幕114上调出导航应用的GUI。
总之,通过预定义的手势和相应的功能,手势控制模块110可以从传感器模块112接收数据并识别手势。手势识别模块201可以使用美国专利号US 9323338 B2中描述的方法来捕获手势并识别手势。手势模块204和206然后可以通过向由主处理器116控制的信息娱乐系统发送信号或指令来触发信息娱乐系统的功能(例如,诸如温度控制应用等应用)。在一些实施方案中,手势模块204和206还可以检测用于在功能之间切换的手势。手势模块204和206可向信息娱乐系统发送指令以将当前功能切换到由手势指示的新功能。
其它类型的动作可以基于手势由手势模块204和206控制。例如,手势模块204和206可以管理应用的活动/非活动状态、显示和隐藏功能、增加或减少量(诸如音量、温度水平)、调出菜单、取消功能等。本领域技术人员可以理解可以由手势模块204和206控制的其他动作。
参考图5,示出了根据示例性实施方案的示出手势识别和相应动作的流程图500。手势识别(框502)可由完全访问手势模块206或快速访问模块204执行。手势识别模块(框502)可以基于用户的手动作来识别一组手势。并且在识别出手势之后,可以触发特定的系统动作。图5示出了可由手势识别模块识别的一组手势的实例(框502),以及针对每个手势触发的特定系统动作的实例。如果手势是五个手指向上滑动(框504A),则可以触发完全访问手势跟踪模式(框506A)。参考图14,示出了根据示例性实施方案的示出了五个手指向上滑动以开启完全访问手势跟踪的手势的图14。
如果手势是两个手指滑动(框504B),例如向左或向右滑动,则功能可以在彼此之间切换(框506B)。参照图15,示出了根据示例性实施方案的功能之间的切换。框A代表功能A框B代表功能B。功能A和功能B可以是信息娱乐系统的应用。功能A和功能B彼此之间可以切换。系统102可以使用户能够使用这种手势来在功能A和功能B之间切换。GUI可以分别示出功能A和功能B从前景到背景的切换,反之亦然。在切换之后,可以在执行前景功能的同时暂停、停用、隐藏或关闭背景功能。参考图16和17,图16和17分别示出了两个手指向左和向右滑动以切换功能的手势。
如果手势是两个手指滑动并保持(框504C),则可以执行移动和选择量(框506C)。参照图18,示出了根据示例性实施方案的移动和量的选择。例如,在温度调节情形下,A可以表示空调的非活动状态(例如,风扇关闭),B可以表示空调的活动状态(例如,风扇处于最高速度)。数字0-8可以表示风扇的速度,其中零可以是最低速度,八可以是最高速度。两个手指的移动可用于选择两个极端设置A和B之间的滑动刻度上的量。
参考图19和20,图19和20示出了根据示例性实施方案的两个手指向左滑动并保持的手势以及两个手指向右滑动并保持的手势以分别减少或增加量。在上述温度调节情形中,如果显示器上跟随两个手指的光标在图18的数字4位置上,则两个手指向左滑动并保持在稍后的位置可以使光标向左移动并停止在诸如3、2、1、0等的数字处。类似地,两个手指向右滑动并保持在稍后的位置可以使光标向右移动并停止在更大的数字处,例如5、6、7、8等。
回头参考图5,如果手势正在形成拳头(框504D),例如将手掌变为拳头并握持,则可以启用三维(3D)移动和检测(框506D)。参照图21,示出了根据示例性实施方案的示出手掌面朝下的手势的图21,其中所有手指首先伸展然后闭合以形成拳头,使得能够控制如图34所示的3D GUI。在图34中,在2D GUI中,忽略Z方向上的手移动。在3D GUI中,手沿X、Y、Z轴的移动对应于光标沿3D GUI显示中的X、Y、Z轴的移动。
如果手势是一个手指指向并保持(框504E),则可以执行选择(框506E)。例如,在信息娱乐系统的屏幕上显示的菜单中,可以有几个功能按钮或选项(图标)。一个手指指向对应于一个按钮或选项(图标)的位置并保持在该位置的手势可以触发按钮或选项(图标)的选择。在一些实施方案中,按钮或选项(图标)可以仅在外观上改变(例如突出显示),而可以不被上述手势点击和激活,除非做出另一手势(或其他用户输入)来将其激活。参照图22,图22示出了根据示例性实施方案的手指指向并保持以选择功能的手势。
如果手势是伸出两个手指并旋转(框504F),则可以执行量的增加或减少(框506F)。参照图23A,示出了根据示例性实施方案的顺时针旋转。参考图23B,图23示出了根据示例性实施方案的两个手指伸出并顺时针旋转以增加量的手势。例如,两个手指伸出并顺时针旋转的手势是为了增加音乐或收音机的音量。参照图24A,示出了根据示例性实施方案的逆时针旋转。参考图24B,图24示出了根据示例性实施方案的两个手指伸出并逆时针旋转以减少量的手势。例如,两个手指伸出并逆时针旋转的手势是为了减小音乐或收音机的音量。
如果手势是一个手指轻敲(框504G),则可以执行点击或激活(框506G)。例如,在基于由框504E定义的手势选择功能按钮或选项(图标)之后,手指轻敲的手势可导致点击功能按钮或选项(图标)。功能按钮或选项(图标)可以被激活。参考图25,图25示出了根据示例性实施方案的一个手指轻敲以点击或激活功能的手势。
如果手势是四个手指轻敲(框504H),则可以执行取消功能(框506H)。参考图26,图26示出了根据示例性实施方案的四个手指轻敲以取消功能的手势。
如果手势从拳头变为手掌(框504I),则执行脱离完全访问手势跟踪模式(框506I)。参考图27,示出了示出根据示例性实施方案的从拳头变为手掌以脱离完全访问手势跟踪的手势的图27。
如果手势是正在卷起两个手指(框504J),例如手掌向上并卷起两个手指,则可以执行调出菜单(框506J)。参照图28,图28示出了根据示例性实施方案的手掌向上然后卷起两个手指以调出菜单的手势。
回头参考图2,手势识别模块201可以使用美国专利号US 9323338 B2中描述的方法来检测、跟踪和计算手的多个点(例如指尖、手掌、手腕、关节等)的3D坐标,如图29所示。参照图29,示意性地示出了根据示例性实施方案的在光标模式下受控的交互。连接任意两点的线形成一个矢量。例如,连接伸出的手指的末端和手腕中心的线形成指向屏幕的矢量。通过将矢量延伸到指尖之外,矢量的轨迹将最终与显示屏的表面相交。通过将光标放置在交叉点处并跟踪手的位置,光标的位置可以通过手的相应移动而改变。如图29所示,手腕变成枢轴,并且矢量(在指尖与手腕之间形成)的位移被指尖与屏幕之间的距离放大,从而通过手的小运动穿过大屏幕区域。
在一些实施方案中,肘部可以用作枢轴,并且指尖与肘部之间形成的矢量可以用于导航屏幕。肘部-手指组合允许在屏幕上进行更大范围的移动。枢转点可以位于在支撑表面上,例如扶手或中控台上,以提高稳定性并减少疲劳。完全访问手势模块206可以基于手的位置和旋转(例如,真实世界空间内的指尖位置和旋转、手腕位置和旋转)来控制光标在屏幕上的位置和旋转的显示。
在一些实施方案中,除了手之外,系统还识别和跟踪肘部,从而提供与手和肘部的解剖结构中的主要关节相关联的附加自由度,如图33所示。图33示出了根据示例性实施方案的对手上具有一个或多个自由度的临界点进行跟踪以形成骨架模型。可以使用任何两点来形成用于在屏幕上导航的矢量。点可以是图33中的任何关节。点也可以由多个关节的加权平均值或质心形成以提高稳定性。矢量沿X轴和Z轴的移动(如图30中的手取向)转换成光标在屏幕上相应轴上的移动。肘部或手的其它部分的并非矢量的一部分的移动可用于做出用于接合光标、释放光标、进行选择(“点击”等效)等的手势。这种手势的实例可以包括但不限于用另一手指触摸一个手指、伸出或闭合手指、沿Y轴移动、圆周运动等。
在一些实施方案中,可以同时导航光标和做出其它手势。例如,系统102允许用拇指触摸中指的指尖或中间关节以做出接合光标、释放光标或进行选择等手势,同时响应于检测和识别出伸出食指的手势而执行光标导航和指向。本领域的技术人员应当理解,系统102还能够实现许多其它组合。
在一些实施方案中,移动的粒度可以是屏幕上的块或网格。参照图30,示意性地示出了根据示例性实施方案的在网格模式下受控的交互。类似于光标模式,在网格模式中,完全访问手势模块206可以利用手的位置和旋转来控制对放置在网格上的图标的选择。例如,基于指尖和手腕的位置和旋转,完全访问手势跟踪模块206可以控制信息娱乐系统选择图标(例如,通过高亮显示图标等)。因此,代替使用小光标(尽管其是更精确的指向机构),完全访问手势跟踪模块206可以将信息娱乐系统配置为使用更大的指示符(例如,将图标放置在由预定数量的垂直或水平线的组合形成的预定义且适当间隔的网格上),以向用户提供更好的视觉反馈,当用户坐回到驾驶员或乘客的座位上时,该视觉反馈更清晰。这样一来就不需要手势的绝对精度,从而可以在合理接近图标的范围内的任何地方通过做出选择手势来选定图标。例如,当手势扫过屏幕时,将根据手的移动而高亮显示连续的图标。
在一些实施方案中,网格线可以统一地、相等地或均匀地间隔。适当间隔的网格在图标之间提供了足够的空间,以在用户的手不稳定时使错误选择最小化。例如,适当间隔的网格可以是根据给定屏幕尺寸通常大于图标尺寸的垂直和/或水平分割空间。在一个实例中,相邻的四个网格也可以组合成更大的网格。在另一实例中,屏幕可以被划分成预定数量的块或区域,例如三个块或区域、四个块或区域等。当手的位置对应于一个块或区域中的位置时,整个块或区域被选择并高亮显示。
此外,即使在驾驶状况不稳定的情况下,网格模式也可以促进稳健交互。参照图31,示意性地示出了根据示例性实施方案的控制屏幕导航的算法3100。在一些实施方案中,算法3100可用于控制网格模式下的交互。例如,在算法3100中,可以捕获并存储描述手在上一时间点的位置和旋转(例如指尖的位置和旋转、手腕的位置和旋转)的上一视频帧。还可以存储指示符上一次在屏幕显示器上的位置和旋转。坐标可用于并存储以表示指尖、手腕和指示符的位置和旋转。
完全访问手势模块206可以检测手在当前时间点的当前位置和旋转。手腕和指尖在当前时间的位置和旋转可以分别由坐标(x,y,z)和(x1,y1,Z1)表示。指示符在当前时间点在屏幕显示器上的位置和旋转可以由坐标(x2,y2,z2)表示。上一次的位置和旋转可以通过利用坐标与当前位置和旋转进行比较。位置和旋转的移动可以由A(用于手腕)、A1(用于指尖)和A2(用于指示符)表示。如果上一次的位置与当前位置之间的移动和旋转小于预定范围(例如,0.1-3mm),则完全访问手势模块206可以控制信息娱乐系统在与上一时间点相同的位置显示指示符。即,如果手腕和指尖(A,A1)的坐标移动在预定义的范围内,则屏幕指示符(A2)的坐标移动可以保持在所选区域中。例如,仍然可以选择上次选择的图标,而非选择另一个图标(例如相邻图标)。
允许手的位置和旋转的这种预定义差异(或变化)范围的益处是适应一定程度的驾驶不稳定性。当在恶劣道路状况下驾驶时,用户的手可能会不经意地摇动从而轻微移动或旋转,导致产生虚假运动。在不允许进行轻微漂移的情况下,手运动抖动可能触发信息娱乐系统显示或执行用户并未打算执行的一些功能。另一个好处是,只要手势动作不会导致手移出当前网格,就可以在图标保持高亮的同时做出手势。
通过使用三个坐标系捕获指尖的位置和旋转、手腕的位置和旋转以及屏幕显示上的点的相应位置和旋转,可以实现与视觉反馈的交互。通过过滤不希望的小移动或旋转,可以实现基于手的位置、旋转和手势的稳健交互。
在一些实施方案中,一个或多个传感器模块112可以测量驾驶的不稳定性水平,并且使用稳定性数据来动态地调整预定义的容许范围。例如,当不稳定性水平较高时,即使指尖在上一帧中的位置和旋转与当前帧中的位置和旋转之间的差异和/或手腕在上一帧中的位置和旋转与当前帧中的位置和旋转之间的差异相对较大,手势跟踪模块206也可以降低运动检测的灵敏度。另一方面,如果状况相对稳定,则完全访问手势模块206可增加灵敏度。在一些实施方案中,完全访问手势模块206可仅在驾驶状况稳定或车辆静止时才允许光标模式。在一些实施方案中,屏幕的GUI可以响应于驾驶状况而改变(例如,在不稳定驾驶状况下从光标模式切换到网格模式)。
图3是示出根据示例性实施方案的基于手势控制的交互过程的流程图300。该过程可以从手势跟踪模式检测开始(框302)。然后,该过程可以确定是否已经触发了完全访问手势跟踪模式(框304)。如果未触发完全访问手势跟踪模式,则过程可执行快速访问手势检测(框310)并执行快速访问功能(框312)。快速访问功能可以是完全访问模式中可用的一组完全功能的子集。在一些实施方案中,即使完全访问手势跟踪模式被激活(框306),用户仍然能够使用几个预定义的快速访问手势来执行快速访问功能。由快速访问手势控制的功能通常不依赖或不严重依赖于屏幕显示或对用户的视觉反馈。例如,快速访问功能可以是媒体应用的音量控制以及电话应用的应答或拒绝呼叫功能等。
如果完全访问手势跟踪模式被触发,则过程300可在完全访问手势跟踪模式下执行完全手势控制,如上文参考图2所述。系统102可以执行手势跟踪以跟踪一整组手势(框306),诸如图5中定义的那些手势。过程300可以在手势跟踪模式下实现全功能性能(框308)。例如,系统102可以使用户能够开启和关闭应用、在应用之间切换以及通过使用如参考图5定义的不同手势来调整每个应用中的参数。通常,在完全访问手势跟踪模式下的整组手势是快速访问手势的超集。
图4是示出根据示例性实施方案的基于手势跟踪的功能触发和切换的过程400的流程图。在一些实施方案中,过程400可以由完全访问手势模块206实现。过程400可以开始于手势跟踪(框402)。当检测到预定义手势时,过程400可触发由手势指示的功能(框404)。过程400可确定是否检测到新手势(框406)。如果是,则过程400可以触发由新手势指示的新功能(框408)。过程400可以确定是否检测到切换信号(框410)。例如,切换信号可以是手势、语音、按压物理按钮或其组合。
图6是示出根据示例性实施方案的基于手势跟踪的交互过程600的流程图。在一些实施方案中,过程600可以由系统102实现。在框610,可以搜索触发事件。例如,触发事件可以是手势、语音、按压物理按钮或其组合。在框620,可以确定是否触发手势跟踪模式。在框630,可以识别手势。在框640,可以基于所识别的手势来触发第一功能。在框650,可以检测切换信号。在框660,作为切换信号的结果,可以切换到第二功能。
图7是示出可以在其内实现本文所述的任何实施方案的实例系统700的框图。系统700包括总线702或用于传送信息的其它通信机构、与总线702耦接以处理信息的一个或多个硬件处理器704。硬件处理器704可以是例如一个或多个通用微处理器。
系统700还包括主存储器系统706,该主存储器系统706由诸如动态和/或静态随机存取存储器(DRAM/SRAM)、高速缓存和/或其他存储设备之类的存储设备的分层结构组成,其耦接到总线702,用于存储将由处理器704执行的数据和指令。主存储器706还可用于在处理器704执行指令期间存储临时变量或其它数据。当这些指令被存储在处理器704可访问的存储介质中时,这些指令使系统700成为被自定义以执行由软件程序中的指令指定的操作的专用机器。处理器704执行包含在主存储器706中的一个或多个指令的一个或多个序列。这种指令可以从诸如存储设备708的另一存储介质读入主存储器706。执行主存储器706中包含的指令序列使得处理器704执行由软件程序中的指令指定的操作。
在一些实施方案中,系统700的处理器704可以用诸如自定义ASIC的硬连线逻辑和/或诸如FPGA的可编程逻辑来实现。固件控制下的硬连线或可编程逻辑可以代替一个或多个可编程微处理器或与一个或多个可编程微处理器组合使用,以使系统700成为被自定义以执行在软件和/或固件中的指令中编程的操作的专用机器。
系统700还包括耦接到总线702的通信接口710。通信接口710提供与连接到一个或多个网络的一个或多个网络链路的双向数据通信耦合。作为另一实例,通信接口710可以是局域网(LAN)卡,以提供与兼容LAN(或与WAN通信的WAN组件)的数据通信连接。也可以实现无线链路。
某些操作的执行可以分布在多个处理器之间,不一定驻留在单个机器内,而是部署在多个机器上。在一些实例实施方案中,处理器或处理引擎可以位于单个地理位置(例如,在家庭环境、办公室环境或服务器群内)。在其他实例实施方案中,处理器或处理引擎可以分布在多个地理位置上。
图8是示出根据示例性实施方案的在两种不同模式下的交互的流程图800。系统102可以检测完全访问手势跟踪模式是开启还是关闭(框802)。当完全访问手势跟踪模式关闭时,可以检测始终开启的快速访问手势以快速访问某些功能(框806)。当完全访问手势跟踪模式开启时,可以检测手势以允许用户完全访问信息娱乐系统的功能(框804),例如启动或关闭功能,以及功能之间的切换等。
在一些实施方案中,为了进一步简化和缩短导航GUI的任务,热键菜单可以通过手势、按压按钮或语音命令来弹出,以显示应用中功能子集的简短列表和相应的控制手势。图9示意性地示出了根据示例性实施方案的定义、分配和调整热键控制功能的过程900。每个应用902可以包含许多功能904A、904B、904N,并且某些功能可以通过向其附加热键标签而被指定为热键候选(框906)。在系统设置期间,可以允许用户从所有带标签的功能中选择功能以包括在热键菜单中,如图9所示。例如,附加有热键标签的功能904A(框902)可以被分配给热键菜单(框908)。一旦热键菜单已经通过按压按钮或语音1102被触发,系统就可以显示热键菜单,如关于图11所描述,并且用户可以使用手势控制来调整参数。否则,用户需要启动应用程序才能访问全部功能。
图10是示出根据示例性实施方案的与手势跟踪GUI集成的上下文敏感建议的流程图1000。可以启动应用程序(框1004)。在启动应用程序之后,主处理器116可与服务器通信以发送和收集与当前活动相关的用户数据(框1002)。系统102可以检测手势A(框1006)。响应于检测到手势A,系统102可触发相应功能(框1008)。系统102还可以检测手势B(框1010)以触发另一功能。在一些实施方案中,某些功能可能需要用户输入某些数据。例如,导航应用可以要求用户输入目的地的地址。另一种解决方案是,由于服务器104可以访问用户的智能设备,所以可以通过服务器104将所需信息自动提供给应用。例如,服务器104可以访问用户的智能设备以从日历和会议日程获得信息(框1014)。然后,服务器104可以向用户呈现计划很快开始的会议的位置作为相关上下文敏感建议或默认选择(框1012)。该上下文是在日历中指定的时间驾车赴约。
图11是示出根据示例性实施方案的物理按钮和/或语音命令与手势跟踪的组合的流程图1100。系统102和/或主处理器116可以将手势控制与按钮和/或语音命令控制相结合。在框1102,系统102和/或主处理器116可以确定是否接收到按钮按压或语音命令。例如,当用户使用左手按压方向盘上的物理按钮(图12)时,系统可以确定接收到按钮的按压。在框1106,响应于按钮按压或语音命令,可以触发热键菜单。例如,响应于接收到方向盘上的物理按钮的按压,系统102可以触发热键菜单。在框1104,响应于没有接收到任何按钮按压或语音命令,可以通过手势来控制应用。例如,系统102可以允许用户使用手势控制来调整菜单内的功能。
图12是示意性地示出根据示例性实施方案的物理按钮控制、语音控制和手势控制的组合的图12。图13是示意性地示出根据示例性实施方案的语音和手势控制的组合的图13。如图13、14所示,可以组合使用物理按钮、语音命令和/或手势来控制汽车的信息娱乐系统。组合的实例可以包括但不限于,用手势点击按钮一次;用手势点击按钮两次;点击按钮后用手势保持;用手势保持按钮;用语音命令点击按钮一次;用语音命令点击按钮两次;点击按钮后用语音命令保持;用语音命令保持按钮。其它组合也是可能的。
在一些实施方案中,触觉反馈可以与手势组合。触觉反馈设备可以包括但不限于方向盘中的触觉振动换能器、超声波发射器和气压发射器。例如,方向盘与驾驶员的手频繁接触的区域可装配有触觉振动换能器(图12)。整个方向盘也可以振动。触觉反馈设备能够产生多个不同的触觉反馈效果。例如具有不同持续时间、不同强度、不同频率和不同调制模式的效果。触觉反馈可由主处理器116控制,以在人机交互过程期间向用户提供反馈。并且在不同状况下,主处理器116可以触发不同类型的触觉反馈。系统可以在但不限于以下状况下触发触觉反馈:当系统改变手势检测模式时;当系统识别出用户的手势时;当系统识别到无效手势时;当用户导航到UI网格中的不同单元格时;当用户点击虚拟按钮时;或者当用户的手移入或移出手势交互区域时。
可以在乘员面部前方的许多可能位置处安装眼睛注视跟踪器以监视眼睛运动,如图12所示。可以单独跟踪乘员的注视方向和点。眼睛注视跟踪可以通过直接跟踪眼睛运动来实现,或者通过跟踪头部运动来估计眼睛注视方向来实现。跟踪眼睛移动以确定屏幕上或屏幕外的注视点可用于改变显示器的亮度和/或屏幕上显示的内容。这可用于减少明亮屏幕的眩光(特别是在夜间)或当乘员不直接看屏幕时周围视觉区域的干扰。为了在乘员的眼睛未注视屏幕时进一步减少乘员的分心,屏幕显示器可以在具有很少或无运动(例如,冻结视频)、颜色黯淡(例如,变淡、改变颜色、无明亮颜色、不闪烁、无快速变化等)的情况下变为静态,完全关闭(关闭状态),和/或部分关闭,仅显示基本信息(例如速度)。
除了检测眼睛注视是在屏幕上还是在屏幕外(二进制判定),眼睛注视跟踪器可以以足够的分辨率跟踪注视以选择性地在屏幕的一部分上执行上述动作。例如,当乘员的注视回到当前处于关闭状态的屏幕上时,注视点周围的屏幕区域将点亮,而远离注视点的屏幕部分将对应于注视的移动而变暗;即仅高亮显示乘员正在看的屏幕部分的移动聚光灯效果。这种效果可以单独地响应于不同乘员。例如,在屏幕上可以存在分别与驾驶员和乘客的移动注视对应的两个独立高亮区域(聚光灯)。
在一些实施方案中,眼睛注视也可用于开启/关闭屏幕控制手势,而无需明确手势或其它形式的命令/控制。例如,当乘员看着屏幕时,手势控制被开启,而当乘员看着别处时,手势控制被关闭。
通过考虑这里公开的本发明的说明书和实践,本公开的其它实施方案对于本领域技术人员将是显而易见的。说明书和实施方案应仅看作是示例性的,本发明的真实范围和精神由所附权利要求书指示。