用于驾驶员监测的系统和方法与流程

文档序号:18513424发布日期:2019-08-24 09:17阅读:211来源:国知局
用于驾驶员监测的系统和方法与流程

本申请涉及并要求保护于2016年7月1日提交的美国专利申请号62/357,902和于2016年7月5日提交的美国专利申请号62/358,480的优先权,其中每个通过引用其全部内容并入本文。

本公开的方面和实现方式涉及数据处理,并且更具体地,但不限于,驾驶员监测、驾驶员注视确定、驾驶员方位和座椅位置的确定、驾驶期间驾驶员行为的确定、在交通工具上驾驶员相关数据的发送以及多个传感器和交通工具信息的组合,以实时地和在一时间段期间分析驾驶员。



背景技术:

为了安全地操作马达交通工具(机动车),这种交通工具的驾驶员必须将他/她的注意力聚焦在正在行驶的道路或路径上。周期性地,驾驶员的注意力可能改变(例如,当看交通工具的镜时)。各种现有的眼睛追踪系统可以被配置成追踪用户的注视(凝视)。这种系统通常需要校准以便有效地操作。



技术实现要素:

以下内容呈现了该公开的各个方面的简要概述,以便提供对这些方面的基本理解。该概述不是对所有预期方面的广泛综述,并且既不旨在识别关键或重要元件,也不旨在描述这些方面的范围。其目的是以紧凑的形式呈现该公开的一些概念,作为稍后呈现的更详细描述的序言。

在本公开的一个方面中,公开了用于驾驶员监测的系统和方法。在一个实现方式中,接收一个或多个图像,例如从图像传感器。这样的(一个或多个)图像可以反映驾驶员的面部的至少一部分。使用图像,确定驾驶员的注视方向。使用至少一个预定义方向识别一组经确定的驾驶员的注视方向。使用与所识别的组(集合)相关联的信息来提取驾驶员的一只或多只(两只)眼睛的一个或多个特征。

附图说明

从下面给出的详细描述和该公开的各个方面和实现方式的随附附图,将更全面地理解本公开的方面和实现方式,然而,这些不应该将该公开限制于特定方面或实现方式,但仅供解释和理解。

图1示出了根据示例实施方式的示例系统。

图2是示出了根据示例实施方式的用于驾驶员监测的方法的流程图。

图3a示出了根据示例实施方式的本文描述的示例场景。

图3b示出了根据示例实施方式的本文描述的示例场景。

图4示出了根据示例实施方式的用户的眼睛。

图5a是示出了根据示例实施方式的方法的流程图。

图5b是示出了根据示例实施方式的方法的流程图。

图6示出了根据示例实施方式的本文描述的示例场景。

图7a示出了根据示例实施方式的本文描述的示例场景。

图7b示出了根据示例实施方式的本文描述的示例场景。

图8是示出了根据示例实施方式的方法的流程图。

图9示出了根据示例实施方式的本文描述的示例场景。

图10示出了根据示例实施方式的本文描述的示例场景。

图11示出了根据示例实施方式的本文描述的示例场景。

图12是示出机器的部件的方框图,其能够从机器可读介质读取指令并执行本文所讨论的任何方法,根据示例实施方式。

具体实施方式

本公开的方面和实现方式涉及驾驶员注视确定。

可以理解,各种眼睛追踪技术使得能够确定用户注视(例如,用户的眼睛被引导或聚焦的方向/方位)。然而,这些技术要求在用户的(一只或多只)眼睛与另一对象之间识别/确定相互关系。例如,除了感知用户的(一只或多只)眼睛的摄像机(相机)之外,某些技术利用朝外指向的第二摄像机(即,在用户正在看的方向上)。然后必须关联由相应的摄像机捕获的图像(例如,反映用户注视的那些和描绘用户正在看的对象的那些)。可替代地,其他解决方案在已知方位/装置处向用户呈现图标、指示器等。然后,用户必须看所提到的图标,在该点处可以执行校准。然而,这两种所提到的解决方案都存在许多缺点。例如,两种解决方案都需要额外的硬件,这种硬件可能昂贵、难以安装/配置或者以其他方式不可行。

因此,本文以各种实现方式描述了用于驾驶员监测的系统、方法和相关技术。如本文所述,所公开的技术克服了所提到的缺点并提供了许多额外的优点和改进。例如,所公开的技术可以精确地计算所提到的确定,而不需要第二摄像机,并且不需要用户/驾驶员在某个特定时刻看特定方位/指示器。

因此可以理解,所描述的技术涉及并解决了很多技术领域中的特定技术挑战和长期缺陷,包括但不限于图像处理、眼睛追踪和机器视觉。如本文详细描述的,所公开的技术为所提到的技术领域中未满足的需求和所提到的技术挑战提供了特定的技术解决方案,并且在常规方法上提供了许多优点和改进。另外,在各种实现方式中,操作本文所提到的硬件元件、部件等中的一个或多个,以实现、改进和/或增强所描述的技术,诸如以本文描述的方式。

图1示出了根据一些实现方式的示例系统100。如所示出的,系统100包括传感器130,其可以是图像获取装置(例如,摄像机)、图像传感器、ir传感器或本文所述的任何其他此类传感器。传感器130可以定位或定向在交通工具120(例如,汽车、公共汽车或用于运输的任何其他此类交通工具)内。在某些实现方式中,传感器130可以包括或以其他方式集成有一个或多个处理器132,其处理图像(一个或多个)和/或由传感器捕获的其他此类内容。在其他实现方式中,传感器130可以被配置成连接其他装置(一个或多个)和/或以其他方式与其他装置(一个或多个)通信(如本文所述),并且这种装置可以接收和处理所提到的(一个或多个)图像。

传感器130(例如,摄像机)可以包括例如ccd图像传感器、cmos图像传感器、光传感器、ir传感器、超声传感器、接近传感器、短波红外(swir)图像传感器、反射率传感器、rgb摄像机、黑白摄像机或能够感测环境的视觉特性的任何其他装置。此外,传感器130可以包括例如能够扫描区域的单个光电传感器或1-d线传感器、2-d传感器或包括例如多个2-d图像传感器的立体传感器。在某些实现方式中,摄像机例如可以与透镜相关联,用于将特定区域的光聚焦到图像传感器上。透镜可以是窄的或宽的。宽透镜可以用于获得宽视场,但是这可能需要高分辨率传感器以获得良好的辨识距离。可替代地,可以使用具有较窄透镜的两个传感器,其具有重叠的视场;它们一起提供宽视场,但是两个这样的传感器的成本可能低于高分辨率传感器和宽透镜。

传感器130可以观察或感知例如圆锥形或角锥形的空间体积。传感器130可以具有固定位置(例如,在交通工具120内)。由传感器130捕获的图像可以被数字化并输入到至少一个处理器132,或者可以以模拟形式输入到至少一个处理器132并由至少一个处理器数字化。

应注意,如图1所描绘的传感器130以及在其他附图中描绘并且在本文中描述和/或提到的各种其他传感器可以包括例如配置成获得三维(3-d)视觉空间的图像的图像传感器。图像传感器可以包括任何图像采集装置,包括例如以下中的一个或多个:摄像机、光传感器、红外(ir)传感器、超声波传感器、接近传感器、cmos图像传感器、短波红外(swir)图像传感器或反射率传感器、能够扫描区域的单个光电传感器或1-d线传感器、ccd图像传感器、反射率传感器、包括3-d图像传感器或两个或更多个二维(2-d)立体图像传感器的深度视频系统以及能够感测环境的视觉特性的任何其他装置。位于(一个或多个)传感器的视觉空间中的用户或其他元素可以出现在由(一个或多个)传感器获得的图像中。(一个或多个)传感器可以将2-d或3-d单色、彩色或ir视频输出到处理单元,该处理单元可以与(一个或多个)传感器集成或通过有线或无线通信信道连接到(一个或多个)传感器。

如图1中描绘的至少一个处理器132以及其他图中描绘并在本文中描述和/或提到的(一个或多个)各种其他处理器可以包括例如对一个或多个输入执行逻辑运算的电子电路。例如,这样的处理器可以包括一个或多个集成电路、微芯片、微控制器、微处理器、全部或部分中心处理单元(cpu)、图形处理单元(gpu)、数字信号处理器(dsp)、现场可编程门阵列(fpga)、专用集成电路(asic)或适用于执行指令或执行逻辑运算的任何其他电路。该至少一个处理器可以与处理单元的任何部分一致或者可以构成处理单元的任何部分,诸如除其他之外可以包括处理器和可以用于存储由图像传感器获得的图像的存储器的处理单元。处理单元除其他之外可以包括处理器和可以用于存储由(一个或多个)传感器获得的图像的存储器。处理单元和/或处理器可以被配置成执行驻留在处理器和/或存储器中的一个或多个指令。这种存储器(例如,如图12所示的存储器1230)可以包括,例如,永久性存储器、rom、eeprom、earom、sram、dram、ddrsdram、闪速存储器装置、磁盘、磁光盘、cd-rom、dvd-rom、蓝光光碟等,并且可以包含指令(即软件或固件)或其他数据。通常,至少一个处理器可以接收由存储器存储的指令和数据。因此,在一些实施方式中,至少一个处理器执行软件或固件以执行功能,通过对输入数据操作和生成输出。然而,至少一个处理器也可以是例如专用硬件或专用集成电路(asic),其通过对输入数据操作和生成输出来执行处理。至少一个处理器可以是专用硬件、一个或多个asic、一个或多个通用处理器、一个或多个dsp、一个或多个gpu或能够处理数字信息的一个或多个其他处理器的任何组合。

由传感器130捕获的图像可以被传感器130数字化并输入到处理器132,或者可以以模拟形式输入到处理器132并由处理器132数字化。示例接近传感器除其他之外可以包括电容传感器、电容式位移传感器、激光测距仪、使用飞行时间(tof)技术的传感器、ir传感器、检测磁场畸变的传感器或能够生成指示存在接近该接近传感器的对象的信息的任何其他传感器中的一个或多个。在一些实施方式中,由接近传感器生成的信息可以包括对象到接近传感器的距离。接近传感器可以是单个传感器或可以是一组传感器。尽管图1中示出了单个传感器130,但是系统100可以包括多种类型的传感器和/或相同类型的多个传感器。例如,多个传感器可以设置在单个装置内,诸如数据输入装置,其容纳系统100的一些或所有部件,在系统100的其他部件外部的单个装置中,或者在具有至少一个外部传感器和内置于系统100的另一部件(例如,处理器132或显示器)中的至少一个传感器的各种其他配置中。

处理器132可以经由一个或多个有线或无线通信链路连接到传感器130或集成在其内,并且可以从传感器130接收数据,诸如图像或者能够由传感器130收集的任何数据,诸如本文所述的。这样的传感器数据可以包括例如用户的头部、眼睛、面部等的传感器数据。图像可以包括以下中的一个或多个:由传感器130捕获的模拟图像、由传感器130捕获或确定的数字图像、由传感器130捕获的数字或模拟图像的子集、由处理器132进一步处理的数字信息、与由传感器130感测的数据相关联的信息的变换或数学表达、作为视觉信息(诸如表示图像的频率数据)呈现的信息、概念信息(诸如在传感器的视场中存在对象)等。图像还可以包括在捕获图像期间指示传感器的状态和/或其参数(例如,传感器130的视场、曝光、帧速率、图像的分辨率、颜色位分辨率、深度分辨率)的信息,包括在捕获图像期间来自(一个或多个)其他传感器的信息,例如接近传感器信息、加速度传感器(例如,加速度计)信息、描述进一步发生捕获图像的进一步处理的信息、捕获图像期间的照明条件、由传感器130从数字图像提取的特征或者与由传感器130感测的传感器数据相关联的任何其他信息。此外,所提到的图像可以包括与静态图像、运动图像(即视频)或任何其他基于视觉的数据相关联的信息。在某些实现方式中,从一个或多个传感器130接收的传感器数据可以包括运动数据、gps方位坐标和/或方向矢量、眼睛注视信息、声音数据以及由各种传感器类型测量的任何数据类型。另外,在某些实现方式中,传感器数据可以包括通过分析来自两个或更多个传感器的数据的组合而获得的度量(指标)。

在某些实现方式中,处理器132可以经由一个或多个有线或无线通信链路从多个传感器接收数据。在某些实现方式中,处理器132还可以连接到显示器,并且可以向显示器发送指令用于显示一个或多个图像,诸如本文描述和/或提到的那些。应理解的是,在所描述的各种实现方式中,(一个或多个)传感器、(一个或多个)处理器和(一个或多个)显示器可以包含在单个装置内,或者分布在具有(一个或多个)传感器、(一个或多个)处理器和(一个或多个)显示器的各种组合的多个装置上。

如上所述,在某些实现方式中,为了减少从传感器到嵌入式装置主板、处理器、应用处理器、gpu、由应用处理器控制的处理器或任何其他处理器的数据转移,系统可以部分或完全集成到传感器中。在发生仅对传感器、isp或传感器模块部分集成的情况下,提取对象的特征(例如,与预定义对象相关)的图像预处理可以作为传感器、isp或传感器模块的部分进行集成。可以经由专用线连接或总线传输视频/图像和/或对象的特征的数学表达,以在外部cpu上进行进一步处理。在整个系统集成到传感器、isp或传感器模块中的情况下,可以将消息或命令(包括,例如,本文提到的消息和命令)发送到外部cpu。此外,在一些实施方式中,如果系统包括立体图像传感器,则可以通过2d图像传感器或图像传感器isp中的视频/图像的图像预处理来创建环境的深度图,并且视频/图像、对象的特征和/或其他减少的信息的数学表达可以在外部cpu中进一步处理。

如图1所示,传感器130可以被定位以捕获或以其他方式接收用户110(例如,可以是交通工具120的驾驶员或操作者的人类用户)的(一个或多个)图像或其他这样的输入。可以以不同的帧速率(fps)捕获这样的(一个或多个)图像。如本文所述,这样的(一个或多个)图像可以反映例如用户110的面部的各个方面,包括但不限于用户110的(一只或多只)眼睛111的注视或方向、用户110的面部的位置(空间中的方位)和取向等。在一个实例中,系统可以配置为以不同的曝光率捕获图像以检测用户注视。在另一实例中,系统可以改变或调整所捕获的图像的fps以检测用户注视。在另一实例中,系统可以改变或调整与检测到用户佩戴眼镜和/或眼镜的类型(观察镜、太阳镜等)有关的曝光率和/或帧速率。

应理解的是,通过举例的方式提供图1中描绘的场景。因此,所描述的技术也可以以各种其他布置、配置等来配置或实现。例如,传感器130可以定位或位于任何数量的其他方位(例如,在交通工具120内)中。例如,在某些实现方式中,传感器130可以位于用户110之上,在用户110的前面(例如,定位在交通工具110的仪表板上或集成在其内)、定位到用户110的侧面(使得该用户的眼睛可从侧面看到/观察到传感器,这可以是有利的并且克服了由佩戴眼镜的用户引起的挑战)以及位于任何数量的其他位置/方位。另外,在某些实现方式中,所描述的技术可以使用多个传感器(其可以布置在不同方位)来实现。

在某些实现方式中,图像、视频和/或其他输入可以在传感器130处捕获/接收,并且处理(例如,使用面部检测技术)以检测用户110的(一只或多只)眼睛111的存在。在检测到用户的(一只或多只)眼睛时,可以确定用户的注视。在某些实现方式中,可以使用信息(诸如传感器130在交通工具120内的位置)来确定用户的注视。在其他实现方式中,可以使用附加信息进一步确定用户的注视,附加信息诸如用户110的面部在交通工具内的方位(其可以根据用户的身高而变化)、用户年龄、性别、面部结构、来自其他传感器的输入,这些传感器包括定位在交通工具中的不同地点中的(一个或多个)摄像机、提供用户的面部的3d信息的传感器(诸如tof传感器)、ir传感器、物理传感器(诸如位于交通工具的座椅内的压力传感器)、接近传感器等。在其他实现方式中,用户的注视或注视方向可以由其他装置、系统等识别、确定或提取,并且发送/提供给所描述的系统。在检测/确定用户的注视时,可以进一步提取用户110的(一只或多只)眼睛111的各种特征,如本文所述。

应理解的是,如本文所描述和/或提到的,“用户的注视”、“眼睛注视”等可以指人类用户的(一只或多只)眼睛定位/聚焦的方式。例如,用户110的“注视”或“眼睛注视”可以指用户110的(一只或多只)眼睛111指向或聚焦的方向,例如,在特定情况下和/或在一段时间内。通过进一步举例的方式,“用户的注视”可以是或指代用户在特定时刻看的方位。通过更进一步举例的方式,“用户的注视”可以是或指代用户在特定时刻看的方向。

此外,在某些实现方式中,所描述的技术可以使用各种技术(诸如本领域普通技术人员已知的技术)来确定/提取所提及的用户的注视。例如,在某些实现方式中,传感器(例如,图像传感器、摄像机、ir摄像机等)可以捕获(一只或多只)眼睛(例如,一只或多只人眼)的(一个或多个)图像。然后可以处理这样的(一个或多个)图像,例如,以提取各种特征,诸如眼睛的瞳孔轮廓、ir源的反射(例如,闪烁)等。然后可以计算/输出注视或(一个或多个)注视矢量,指示眼睛的注视点(其可以对应于特定方向、方位、对象等)。

另外,在某些实现方式中,所描述的技术可以计算、确定等(例如在某些情况下)用户的注视指向(或可能指向)特定物品、对象等。例如,如本文所述,在确定用户正在高速公路上直线地驾驶的场景下,可以确定,如图1所示的用户110的注视指向(或可能指向)前方道路/地平线。应理解的是,此处提到的“看向前方道路”可以指用户(诸如交通工具的驾驶员)的注视/聚焦指向/对齐可通过正在驾驶的交通工具的前挡风玻璃可见的道路/路径(在向前方向驾驶时)。

在一些实现方式中,处理器132被配置成启动各种(一个或多个)动作,诸如与在所捕获或接收的图像内识别的方面、特性、现象等相关联的动作。由处理器执行的动作可以是例如消息的生成或命令的执行(其可以与检测到的方面、特性、现象等相关联)。例如,生成的消息或命令可以被寻址到任何类型的目标,包括但不限于操作系统、一个或多个服务、一个或多个应用、一个或多个装置、一个或多个远程应用、一个或多个远程服务或一个或多个远程装置。

应注意,如本文所使用的,“命令”和/或“消息”可以指代指向和/或能够由任何类型的目标接收/处理的指令和/或内容,该目标包括但不限于以下中的一个或多个:操作系统、一个或多个服务、一个或多个应用、一个或多个装置、一个或多个远程应用、一个或多个远程服务或一个或多个远程装置。

还应理解的是,根据特定实现方式,本文提到的各种部件可以组合在一起或分成另外的部件。另外,在一些实现方式中,各种部件可以在单独的机器上运行或体现。此外,本文更详细地描述和说明了某些部件的一些操作。

当前公开的主题还可以配置为能够诸如响应于对图形(或其他)元素的选择而与外部装置或网站进行通信。这种通信可以包括发送消息到在外部装置上运行的应用、在外部装置上运行的服务、在外部装置上运行的操作系统、在外部装置上运行的进程、在外部装置的处理器上运行的一个或多个应用、在外部装置的后台中运行的软件程序或者在外部装置上运行的一个或多个服务。另外,在某些实现方式中,可以将消息发送到在装置上运行的应用、在装置上运行的服务、在装置上运行的操作系统、在装置上运行的进程、在装置的处理器上运行的一个或多个应用、在装置的后台中运行的软件程序或在装置上运行的一个或多个服务。

本文使用的“图像信息”可以是以下中的一个或多个:由传感器130捕获的模拟图像、由传感器130捕获或确定的数字图像、由传感器130捕获的数字或模拟图像的子集、由isp进一步处理的数字信息、与由传感器130感测的数据相关联的信息的变换或数学表达、由传感器130捕获的图像中的频率、概念信息,诸如传感器130的视场中的对象的存在、指示在捕获图像时图像传感器或其参数的状态的信息(例如,曝光、帧速率、图像的分辨率、颜色位分辨率、深度分辨率或图像传感器的视场)、当传感器130正在捕获图像时来自其他传感器的信息(例如接近传感器信息或加速度计信息)、描述在捕获图像之后发生的进一步处理的信息、当图像被捕获时的照明条件、由传感器130从数字图像提取的特征或者与由传感器130感测的数据相关联的任何其他信息。此外,“图像信息”可以包括与静态图像、运动图像(即视频)或任何其他基于视觉的数据相关联的信息。

图2是示出根据示例实施方式的用于驾驶员注视确定的方法200的流程图。该方法由处理逻辑执行,该逻辑可以包括硬件(电路、专用逻辑等)、软件(诸如在计算装置(诸如本文描述的计算装置)上运行的)或两者的组合。在一个实现方式中,方法200(以及本文描述的其他方法)由关于图1描绘和/或描述的一个或多个元件(包括但不限于本文描述的装置传感器130和/或集成/连接的计算装置)执行。在一些其他实现方式中,图2的一个或多个方框可以由其他一个或多个机器执行。

为了简化说明,方法被描绘和描述为一系列活动(动作)。然而,根据该公开的活动可以以各种顺序和/或同时发生地,与本文未呈现和描述的其他活动一起发生。此外,可能不需要所有示出的活动来实现根据所公开的主题的方法。另外,本领域技术人员将理解并领会,这些方法可以替代地表示为经由状态图或事件的一系列相互关联的状态。另外,应理解的是,该说明书中公开的方法能够存储在制品(制造的物品)上以便于运输并将这些方法传输到计算装置。本文使用的术语“制品”旨在涵盖可从任何计算机可读装置或存储介质访问的计算机程序。

在操作210处,接收一个或多个图像。在某些实现方式中,这样的(一个或多个)图像可以在诸如图像传感器(例如,如图1所示的传感器130)的传感器处捕获和/或从其接收。如上所述,这样的(一个或多个)图像可以包括和/或以其他方式反映用户的面部(和/或其一部分)。例如,如图1所示,传感器130可以被定向以捕获用户110(这里是交通工具120的驾驶员)的眼睛111的图像。

在操作220处,确定用户注视的方向。在某些实现方式中,可以使用由传感器捕获的(一个或多个)图像(例如,在操作210处捕获/接收的(一个或多个)图像)来确定所提到的注视的方向。例如,如图1所示,可以处理或以其他方式分析由传感器130捕获的(一个或多个)图像以确定用户110的注视方向。

在某些实现方式中,用户注视的方向可以反映用户正在看的方位,例如,在特定时间。例如,在驾驶员的(一只或多只)眼睛正在看前方道路的场景下(例如,通过他/她正在驾驶的交通工具的前挡风玻璃),可以确定这样的用户的注视直线地指向前方道路等。

通过图示的方式,图3a描绘了相对于交通工具120绘制的各种圆点或点310。所描绘的点中的每个表示交通工具120的驾驶员的注视的辨识方向,例如,在时间的特定时刻。例如,点310a、310b和310c对应于用户的注视所指向的方位(例如,在时间的不同时刻)。另一示例场景在图3b中描绘。如图3b所示,用户的注视可以指向交通工具120内的各个方位(例如,点310e和310f)和/或交通工具120外的各个方位(例如,点310d)。

在操作230处,确定用户/驾驶员的头部/面部的位置、取向等。在某些实现方式中,可以使用由传感器130捕获的(一个或多个)图像(例如,使用面部/头部检测和/或如本领域中公知的其他这些图像处理技术)来确定这样的位置/取向。应理解的是,可以在某些场景中确定但是在其他场景中不确定(或不一定确定)用户的头部/面部的位置/取向。例如,在用户看起来正在直线地/向前(和/或朝向远距离)看的场景下,可能不一定确定头部的位置。在其他场景中(例如,当用户朝向近距离看时,例如,交通工具内的对象/方位,交通工具的侧镜等),可以确定头部的位置和取向,例如,为了提取和校准用户眼睛的特征(当用户正朝着近距离看时,如所指出的那样)。还应注意,在某些实现方式中,该系统可以从另一系统、装置、源等接收用户的面部/头部的位置和/或取向。

在操作240处,识别一组经确定的驾驶员注视方向。在某些实现方式中,可以使用与这样的预定义的(一个或多个)方向相关的一个或多个预定义的方向来识别这样的组。这样的预定义的方向可以反映,例如与驾驶员正在其内行驶的交通工具的运动方向对齐或一致的方向(例如,直线/向前方向)。因此,这样的预定义的方向可以定义用户的眼睛注视预期指向或可能指向的方式,例如在某些情况下。例如,当在高速公路上直线行驶时,用户的眼睛注视预期为指向与前方道路成直线/朝向前方道路的方位。在某些实现方式中,各种所辨识的(一个或多个)驾驶员注视方向可以与所提到的预定义的方向相互关联。应理解的是,所提到的预定义的(一个或多个)方向是通过举例的方式提供的,并且其他预定义的(一个或多个)方向(例如,交通工具的镜的方向、交通工具内置导航系统的方向等)也可以以类似的方式使用。

通过图示的方式,图3a描绘了组320a,其包括点310a和310b并且反映了驾驶员的注视指向特定方位(这里,直线,朝向前方道路)期间的那些情况。如图3a所示,点310c(对应于用户的注视指向另一方位例如天空的时刻)不包括在组320a中。通过识别与所提到的预定义的方向相对应的那些驾驶员注视方向(例如,对应于驾驶员直视前方的点310a和310b的(一个或多个)方向),可以进一步利用以提取驾驶员的眼睛的各种(一个或多个)特征,例如,如本文所述的。

在某些实现方式中,系统可以沿时间窗辨识一组不同的注视方向,例如,具有高概率将用户的注视反映(映射)到预定义方位的组。例如,高概率反映在直视前方时的驾驶员注视的组。一旦识别出该组,则例如使用与该组相关联的数据来提取驾驶员眼睛特征。在一个实例中,在该组内,系统选择该组的部分以反映朝向预定义方位的驾驶员的注视(例如,向前看),并过滤掉注视方向的其他样本(与其相关为“噪声”)。在某些实现方式中,可以使用不同的方法来选择原始确定组(例如320a)内的注视方向的组。在一个实例中,可以在确定的组(例如320a)上使用中值滤波器。在另一实例中,可以对所确定的组中取样的注视方向进行平均。在又一实例中,可以创建注视方向的概率分布图,并且可以根据样本注视方向的分布量来选择注视方向的组。

在某些实现方式中,可以使用与驾驶期间驾驶员注视的分布(例如,在驾驶期间在汽车内/外的驾驶员注视的分布等)相关联的信息(例如,先验信息)来识别这样的一组经确定的驾驶员注视方向。例如,可以定义和/或确定驾驶员的注视预期为指向前方道路达所定义的时间百分比(例如,驾驶员正在高速公路上直线驾驶的时间的至少80%)。因此,在接收信息或以其他方式确定交通工具正在直线行驶和/或位于高速公路上时,可以确定用户的注视预期为/可能直线地指向前方道路。

进一步举例来说,当用户正在高速驾驶时,并且当交通工具的转向轮(方向盘)成直线时,驾驶员的注视的分布(例如,在水平和竖直分量两者上)以道路的消失点(尽头)为中心。因此,在这种场景下,所描述的系统可以使用默认的一组眼睛参数,并收集计算出的驾驶员的注视点(例如,超过数千个帧/图像)。然后,系统可以识别/找到/确定哪个或哪些帧对应于指向消失点的驾驶员的注视。这可以通过计算/找到所计算的注视点的中值或者通过找到注视点的分布的平均值来完成。在某些实现方式中,可以校正一些眼睛参数/特征,例如,使得在这些帧上计算的注视将等于消失点。例如,这可以通过改变卡帕(kappa)角参数(水平和竖直)来完成。应理解的是,“眼睛参数”或“特征”(如本文所提到的)可以指各种物理参数(和/或其组),诸如可以用于从基于图像的特征计算注视方向的那些。这些参数可以包括描述眼睛的物理参数,和/或用于该计算的回归系数。然后可以将新的眼睛参数应用于注视计算,例如从此处开始。

在其他实现方式中,可以使用与基于各种驾驶行为(和/或交通工具的操作的其他方面)的驾驶员注视的分布相关联的信息(例如,先验信息)来识别这样的一组经确定的驾驶员注视方向。也就是说,如本文所述,可以理解的是,各种驾驶行为(例如,转向、启动转向信号等)可以指示驾驶员的注视可能指向特定方向。例如,可以定义和/或确定,驾驶员的注视可能受各种现象的影响,诸如交通工具的速度或操纵、交通工具的方位、查看镜等。因此,可以考虑这些因素或因子(例如,如由集成在交通工具和/或其他装置内的一个或多个传感器确定的)以确定所提到的驾驶员注视方向。

在另外的其他实现方式中,可以使用与基于由驾驶员采取/执行的动作的驾驶员注视的分布(例如,在交通工具内和/或与交通工具的部件相关的)相关联的信息(例如,先验信息)来识别这样的一组经确定的驾驶员注视方向。例如,可以理解的是,某些行为(例如,看镜、看交通工具内置导航系统、看乘客等)可能影响或改变驾驶员的注视。因此,在确定所提到的驾驶员注视方向时可以考虑这些因素。此外,在某些实现方式中,可以在识别经确定的驾驶员注视方向的组时考虑交通工具内的各种对象(例如镜)的位置。

在某些实现方式中,可以确定多组驾驶员注视方向(例如,第一组驾驶员注视方向、第二组驾驶员注视方向等)。例如,除了组320a(如图3a所描绘,反映对应于驾驶员直视的驾驶员注视方向),图3b描绘了对应于驾驶员看交通工具120的左侧镜的驾驶员注视方向的组320b。

在某些实现方式中,可以使用驾驶员的头部的位置(例如,如在操作230处确定的和/或从另一装置/源接收的)来识别所提到的一组经确定的驾驶员注视方向。例如,在确定驾驶员的注视指向交通工具内的对象、元件等(例如,交通工具内置导航系统、交通工具的主镜、驾驶员点击/选择的触摸屏装置上的方位)或交通工具外的对象、元件等(例如交通工具的侧镜)时,可以考虑驾驶员的头部的位置。举例来说,系统可以辨识用户点击/选择触摸屏上的图标(或其他元素)的时间,例如,通过检测所选图标或从其他系统接收信息(例如,汽车中的信息娱乐系统)。这样的信息可以反映用户触摸/点击触摸屏上与特定图标相关联的方位、显示器上图标的方位以及这种选择发生的时间戳(时间标记)。基于当用户点击触摸屏上的特定方位时,在该时刻用户正在看该方位(例如,以便将他的手指指向触摸屏上的该方位)的假设,系统可以使用:汽车的空间内的图标方位、用户的头部/眼睛的方位和取向以及触摸/点击图标的时刻检测到的注视方向,以提取用户的(一只或多只)眼睛的特征。

进一步举例来说,可以理解,在交通工具内部内存在用户可能经常看的各种对象(例如,镜、信息娱乐系统按钮/触摸按钮等)。这些对象相对于传感器摄像机具有固定的[x,y,z,]位置。所描述的系统可以以各种方式利用这些信息。例如,在一个实现方式中,系统可以分析驾驶员的所计算的注视的“热点”(例如,驾驶员经常看的区域),并确定所计算的注视点与对象(例如,在交通工具的内部/舱室(驾驶舱)内)之间的对应关系。在另一实现方式中,系统分析驾驶员的所计算的注视的“热点”,并将其与驾驶员的动作(例如,车道变换、触摸按钮等)相关联,以便确定所计算的注视点与舱室中的真实对象和/或驾驶员的行为之间的对应关系。在每个相关帧中,相对于摄像机/传感器计算每只眼睛的[x,y,z,]方位。这可以通过使用驾驶员的面部的3d信息和/或通过使用来自已知位置处的不同照明源的角膜反射之间的距离来完成。对于每只眼睛,可以建立一组对应关系,其中每个对应关系是对象的物理位置、眼睛的位置与来自该帧的基于图像的特征之间的对应关系。例如,可以校正一些眼睛参数,使得对每个这样的对应关系所计算的注视与由相对的对象-眼睛-摄像机位置预测的注视相匹配。应理解的是,如本文所提及的眼睛参数是指一组物理参数,其可用于从基于图像的特征来计算注视方向。这些参数可以包括描述眼睛的物理参数或用于该计算的回归系数。然后可以从此处开始将新的眼睛参数应用于注视计算。

在操作250处,提取驾驶员的一只或多只眼睛的一个或多个特征。这些特征、眼睛特征、用户的(一只或多只)眼睛的特征等可以是例如各种解剖学特性、参数等,诸如可以用于眼睛追踪和/或在其他环境中的那些。在某些实现方式中,使用与所识别的一组经确定的驾驶员注视方向(例如,如在操作240处识别的)相关联的信息来提取这样的(一个或多个)特征。可以提取的一个示例特征是驾驶员的一只或多只眼睛的卡帕角。这种卡帕角可以对应于用户的眼睛的瞳孔轴线与视轴线之间的角。可以提取的其他示例特征包括但不限于驾驶员的眼睛的角膜的曲率半径以及驾驶员的眼睛的角膜的曲率中心与瞳孔平面(光瞳面)之间的距离。应理解的是,通过举例的方式提供这样的特征,并且也可以提取任何数量的其他这样的特征(例如,用户的(一只或多只)眼睛的解剖学参数或特性)。

通过进一步图示的方式,图4描绘了示例眼睛400,诸如本文所描述的。图4描绘了眼球405和角膜410的适当方位,然后可以用其确定中央凹415和光学轴线420。然后可以使用中央凹415和光学轴线420来计算/确定视轴线425和卡帕角430,例如,如本文所述的。

例如,如上所述,可以提取与眼睛的图像的各种图像特征相关的数据,例如,用于进一步处理。可以处理所提取的数据,然后用于计算或获得注视矢量(例如,与每只眼睛关联的)。这样的提取数据可以包括,例如:眨眼、瞳孔等的高度准确的方位。

在某些实现方式中,可以经由各种操作实现这样的(一个或多个)图像的处理和用户注视、注视矢量等的确定。这样的操作可以包括,例如:估计图像中眼睛的光学轴线,诸如图4的眼睛400的光学轴线420。这种光学轴线是指穿过角膜410的曲率中心且平行于对称轴线延伸的线。应理解的是,眼睛400可以包括角膜410和晶状体(其可以用于聚焦),其中可以从角膜410获得反射。另外,球形镜可以被视为角膜410的模型(例如,数学模型)(例如,与眼睛400的物理特征相对)。如本文所述,光学轴线的各种参数可以基于图像特征、角膜的曲率半径以及角膜曲率中心与瞳孔平面的距离中的一个或多个来计算。另外,在某些实现方式中,所提及的操作可以进一步包括估计图像中眼睛的视轴线(例如,图4的眼睛400的视轴线425,其中视轴线是指穿过目视中心诸如穿过图4的中央凹415和眼睛的(光学)节点的线)。

还如图4所示,视轴线425可以从光学轴线420转移被称为卡帕(“κ”)430的角,其中κ可以包括两个分量,诸如水平角α(阿尔法)和侧向角β(贝塔)。例如,α的平均值可以是5°并且β的平均值可以是1.5°。对于每个人,角κ可以不同,诸如人与人之间不同,以及对于每只眼睛不同,诸如左眼和右眼。此外,可以通过校准过程测量每个个体的κ。

在某些实现方式中,可以通过计算κ和眼睛的三轴姿态,基于光学轴线获得视轴线。类似地,眼睛的俯仰角和偏转角也可以从光学轴线获得或知道,而滚动角可以从一个或多个经验法则获得,诸如(但不限于)donders法则(即当沿特定方向看时眼睛的取向总是一样的)、listing法则(眼睛的旋转轴线位于一个共同的平面中,并且该平面垂直于光学轴线)等。

此外,在某些实现方式中,已经估计了一只或多只眼睛的视轴线(例如,如上文描述的),然后可以使用视轴线与眼睛的光学轴线(以及其他特征)一起来计算或确定用户的注视。用户的注视可以用于精确追踪眼睛,其然后可以用于任何数量的商业和非商业软件程序或应用。设想到了准确的眼睛追踪可以促进采用眼睛追踪的任何软件应用的更好和更准确的性能。

在某些实现方式中,对应的(一个或多个)特征可以从各种经确定的驾驶员注视方向(例如,在一组(诸如在操作240处识别的一组经确定的驾驶员注视方向)内包括的那些注视方向)提取。例如,可以相对于第一经确定的驾驶员注视方向(例如,如图3a所示的点310a)提取第一特征,并且可以相对于第二经确定的驾驶员注视方向(例如,点310b)提取第二特征。

另外,如上所述,在某些实现方式中,可以识别多组经确定的驾驶员注视方向。因此,在这些场景,可以例如使用与第一组经确定的驾驶员注视方向关联的信息来提取一个特征,并且可以使用与第二组经确定的驾驶员注视方向关联的信息来提取第二特征。此外,在某些实现方式中,可以使用与第一组经确定的驾驶员注视方向和/或第二组经确定的驾驶员注视方向关联的信息来提取所提到的特征。

该系统还被配置成辨识驾驶员,并使用已存储的/先前提取的驾驶员的(一只或多只)眼睛的特征来计算驾驶员注视,并在根据注视方向(例如,使用已保存的根据先前校准的驾驶员的(一只或多只)眼睛的特征)确定相关的所选组驾驶员注视(如上文所述)的同时提取驾驶员的(一只或多只)眼睛的附加特征。在另一实例中,系统可以标记从驾驶员的(一只或多只)眼睛提取的特征的确定性(例如,确定性程度),并且使用一组新的驾驶员的(一只或多只)眼睛的特征改变、更新等驾驶员的(一只或多只)眼睛的已保存/存储的特征,例如,如果新的组被标记为与更高的确定性关联(例如,更高的准确度概率)。

进一步举例来说,系统可以被配置成确定或判断驾驶员何时向前方看,例如,在交通工具120正在高速移动的场景下(例如,比50mph或65mph的速度更快)。在另一实例中,系统确定/判断驾驶员何时向前方看,在交通工具正在高速公路上行驶,交通工具正在直线移动一定时间量(t秒)的场景下,等。系统可以使用从向前看的摄像机接收的数据以选择相关的注视方向组并滤除反映较低概率驾驶员正在向前方看的注视方向的样本。例如,只要在该时刻,高速公路上的其他车辆被确定为正在其车道中移动,并且没有车辆改变其车道(可以理解在这种情况下用户/驾驶员可能正在直视前方),则可以选择注视方向的样本。

在另一实现方式中,系统使用与驾驶员和/或交通工具相关联的数据(例如,交通工具速度、声音(诸如来自道路上其他交通工具的声音)和/或驾驶员行为)来确定用户/驾驶员何时可能正在向前方看/向前看。例如,可以选择注视方向,响应于确定汽车正在至少以某一速度移动,道路上没有交通工具改变其车道,和/或驾驶员没有拾起/看他的电话。在另一示例中,系统利用与汽车的方向、汽车的方位、汽车的速度和/或用户行为相关联的数据的组合来确定用户/驾驶员何时可能正在向前方看/向前看,例如,以本文所述的方式。

此外,在某些实现方式中,系统可以进一步使用反映驾驶员所处的方位的数据。这样的数据可以例如从汽车接收,并且可以反映驾驶员在例如汽车内的所处的物理方位。这样的数据可以源自传感器(诸如位于驾驶员座椅内的压力传感器),例如,以确定驾驶员和/或驾驶员的头部的方位。

应理解的是,在各种实现方式中,所描述的系统可以被配置成实时、离线和/或在“云”中(例如,在远程装置或机器上)执行所描述的数据分析。

本公开的其他方面和实现方式涉及使用与摄像机的图像信号处理器(isp)通信来对用户注意力的变化作出反应。

当前公开的主题可以进一步包括,响应于对图形元素的选择,从外部装置或网站接收与图像中识别的图形元素有关的数据并将所接收的数据呈现给用户。与外部装置或网站通信可以通过通信网络进行。

图5a是示出了根据示例实施方式的方法500的流程图,用于使用与摄像机的isp通信来对用户注意力的变化作出反应。这些方法由处理逻辑执行,处理逻辑可以包括硬件(电路、专用逻辑等)、软件(诸如在计算机系统或专用机器上运行的)或两者的组合。在某些实现方式中,这样的方法可以由一个或多个装置、(一个或多个)处理器、机器等执行,包括但不限于本文描述和/或提到的那些。应理解的是,在某些实现方式中,本文描述和/或提到的方法/过程的各种操作、步骤等可以由本文所描述/提到的处理器/处理装置、传感器和/或显示器中的一个或多个来执行,而在其他实施方式中,一些操作/步骤可以在(一个或多个)其他处理装置、(一个或多个)传感器等中执行。另外,在某些实现方式中,本文描述的方法/过程的一个或多个操作/步骤可以使用包括多个处理器的分布式计算系统来执行,并且在联网装置中的另一处理器(诸如移动电话)执行另一步骤/操作。此外,在一些实施方式中,可以使用云计算系统来执行所描述的方法/过程中的一个或多个步骤。

还应该注意,尽管本文描述的系统是关于使用与摄像机的isp通信对用户注意力的变化作出反应来说明的,但是所描述的系统也可以在任何数量的附加或替代设置或环境中实现,并且朝向任何数量的附加目标。

在一个示例实现方式中,在操作510处,接收由图像传感器捕获的第一图像。在操作520处,处理第一图像,例如,以确定用户的一只或多只眼睛的眼睛注视指向道路。在操作530处,基于确定用户的眼睛注视指向道路,图像传感器被配置成向至少一个处理器发送对应于用户的眼睛的第二图像的一部分。在操作540处,处理对应于用户的眼睛的第二图像的部分。

图5b是示出根据示例实施方式的另一方法550的流程图。在操作560处,接收图像。在操作570处,处理图像,例如,以确定用户的一只或多只眼睛的眼睛注视。在某些实现方式中,这可以包括确定用户的眼睛注视的角度和/或确定用户维持眼睛注视达所定义的时间段。在操作580处,基于用户的眼睛注视的确定,调整与图像传感器相关联的一个或多个图像处理参数。在某些实现方式中,这可以包括相对于与用户的眼睛相对应的图像内的坐标来调整一个或多个图像处理参数。

所描述的系统包括用于捕获诸如人类用户的图像、视频等的系统和方法。可以处理这样的图像、视频等,以检测/确定用户正在指向特定项目(物品)、任务等的注意力。在某些实现方式中,在确定用户是(或不是)将他/她的注意力指向特定项目、任务等时,与所提到的图像、视频等的捕获相关联的各种方面、参数、设置等可以被改变、调整、修改等。例如,基于各种(一个或多个)确定(例如,用户正在或未将其注意力指向前方道路),可以降低功耗、视频传输带宽(例如,从摄像机/图像传感器到处理器),同时维持高图像捕获帧速率(例如,60fps或120fps)。因此,本文还描述了如下的系统和方法,其用于分析/处理(一个或多个)图像以确定驾驶员是否正在维持他/她的眼睛注视/聚焦在前方道路上(例如,在驾驶时)以及切断从摄像机到处理器的图像的带宽/功耗(和/或调整与这些图像的捕获/处理相关联的其他参数)同时保持与用户的所捕获的(一个或多个)图像相关联的帧速率在高速率。

在某些实现方式中,所描述的系统和方法可以被配置成分析/处理(一个或多个)图像以确定用户是否正在维持他/她的眼睛注视/聚焦在前方道路上(例如,在驾驶时)。在确定驾驶员正在维持他/她的眼睛注视/聚焦(例如,朝向道路)时,图像传感器可以被配置成发送(例如,到处理器)仅一部分随后捕获的(一个或多个)图像,例如,对应于用户的眼睛的位置的这样的(一个或多个)图像的部分。然后可以处理所捕获的(一个或多个)图像的提及部分(对应于用户的眼睛)(例如,以确定用户正在维持他/她的注视朝向前方道路)。在这样做时,可以通过以下来降低功耗:仅发送和处理所捕获的图像的子集(即,对应于用户的眼睛的部分),同时保持与用户的所捕获的(一个或多个)图像相关联的帧速率在高速率和/或高分辨率。

在某些实现方式中,所描述的系统可以被配置成捕获用户的面部、眼睛等的图像、视频等,并处理这些图像以便追踪用户的注视,并基于关于用户的注视计算的一个或多个确定调整所提到的设置、参数等(例如,切断/降低功耗、从摄像机到处理器的视频传输带宽等)。如上所述,如本文所描述和/或提到的,“用户的注视”、“眼睛注视”等可以指人类用户的眼睛例如在一时间段内维持其位置/聚焦的方式。例如,用户的“眼睛注视”可以指代这样的用户的眼睛指向或聚焦例如持续一时间段的方向。另外,在某些实现方式中,可以基于用户的眼睛指向特定的角度/方向的确定来确定用户的注视指向特定项目、对象、任务等(例如,在驾驶时指向前方道路),其与“看道路”相关联并且与对驾驶或与图像/视频中的环境元件(元素)有关的适当的注意力相关联,例如在车辆内部和/或在其他图像/视频中)。应理解的是,此处提到的“看向前方道路”可以指交通工具的驾驶员将他/她的眼睛的注视/聚焦指向/维持为朝向可通过正在驾驶的汽车的前挡风玻璃可见的道路(在向前方向驾驶时)。可以理解的是,出于安全原因,优选的(如果不是强制性的话)是,在用户正在驾驶汽车期间的大部分(如果不是全部的话)持续时间期间,驾驶员维持他/她的眼睛注视朝向前方道路。

例如,在某些实现方式中,在确定用户注视指向道路(例如,用户的注视在被定义为看道路的角度的边界内)时,所描述的系统可以进一步处理/分析所捕获的(一个或多个)图像、(一个或多个)视频等的一部分(例如包含用户眼睛的区域),以便进一步确定用户仍然在看道路。在确定/辨识出用户注视不指向前方道路(或做出这种确定的置信水平低于所定义的阈值,或所描述的系统不能识别/辨识用户的眼睛等)时,所描述的系统和方法可以进一步被配置成处理/分析图像/视频的较大部分(例如,确定包括用户的整个面部的部分)和/或甚至分析整个图像。

在某些实现方式中,所描述的系统可以从一个或多个传感器(例如,图像传感器(例如,摄像机))接收图像、视频和/或其他输入。可以处理(例如,使用面部检测技术)这样的(一个或多个)图像、视频等以检测用户的眼睛的存在。在检测到用户的眼睛时,可以确定用户的注视。在某些实现方式中,可以基于以下信息确定用户的注视:诸如摄像机在汽车中的位置、用户的面部在汽车内的方位(其可以根据用户身高而变化)、用户年龄、性别、面部结构、来自其他传感器的输入,其包括定位在汽车中的不同地方的摄像机、提供用户面部的3d信息的传感器(诸如tof传感器)或包括ir摄像机,来自外部系统等。

在检测/确定用户的注视时,可以定义包含用户的眼睛的区域(例如,(一个或多个)图像的区域)。然后可以将坐标(例如,图像内的x、y坐标)发送到例如摄像机的isp(图像信号处理器)。

在一个示例中,图像中用户的眼睛或用户注视的检测由摄像机外部的处理器执行,在另一实例中,图像中用户的眼睛或用户注视的检测由集成在摄像机模块或isp中的处理器执行或由isp执行。

在另一实现方式中,由isp或由集成在摄像机模块中的处理器执行检测,并且向外部处理器发送包括用户面部的图像的部分,以进一步处理和分析用户注视方向的检测。

基于所接收的坐标,isp可以被配置成将即将捕获的图像的子集发送到处理器以进行分析,例如,仅定义所提到的区域的坐标内的像素将被发送到处理器。这样做,由于通过总线发送到处理器的数据量减少,并且由于处理器仅对图像的子集而不是所有图像进行分析,因此可以降低系统的总功耗。

然后,所描述的系统可以处理/分析所提到的图像子集。这样做,可以确定/验证用户注视是否继续维持在定义的方向的范围内,例如,用户是否继续看向前方道路。应理解的是,在某些实现方式中,用户的头部、眼睛等的位置可能会改变(例如,如果他们移动其头部)。在这种情况下,可以检测/确定这样的改变,并且如果需要(例如,在用户将其头部移动一点但仍然正在看道路的情况下),可以向isp提供校正/更新的坐标。

在检测、确定、辨识等用户没有在看道路时(例如,不维持其注视朝向前方道路)(或所描述的系统确定怀疑用户没有在看前方道路、或辨识用户注视的置信水平低于定义的阈值或用户的眼睛无法在图像中识别等),所描述的系统可以被配置为处理、分析等图像的较大的(一个或多个)部分或分析整个图像,例如,通过向isp发送对应于图像的较大部分(或整个图像)的新坐标。

在一个实例中,所描述的系统可以被配置成检测和/或忽略眨眼事件(例如,当用户眨眼时,用户的“注视”暂时不指向道路)。可以通过摄像机外部的处理器来执行眨眼事件的检测和/或忽略。在另一实例中,图像中用户注视或用户的眼睛的检测由处理器执行,该处理器集成在摄像机模块中或在isp中或由isp执行。

为了检测佩戴眼镜、太阳眼镜等的用户的注视,所描述的系统可以利用/应用检测戴有眼镜的面部的面部辨识技术(例如,使用对戴有眼镜和太阳眼镜的用户训练过的分类器)。

在用户戴着太阳镜的情况下,可以考虑/计算注视的检测,(至少部分地)基于用户的面部面向的方向,使用信息诸如摄像机在汽车中的方位、与用户的面部有关的用户面向的位置等。

应理解的是,对于确定/检测用户注视,图像总体上的质量可能不太重要,而具有与用户的面部相关的尽可能多的视觉信息可能更重要。因此,所描述的系统可以被配置成向isp提供坐标,用该坐标计算图像参数,诸如曝光、用户面部的协调(性)。以这种方式,所描述的系统可以验证图像的那些重要方面处于其最佳视觉质量,并且用户周围的区域,包括来自诸如汽车窗户的图像部分的信息,可以被减弱或忽略(关于这些区域中的图像的视觉质量,例如,它们可能是完全黑暗的或者完全“点亮(burn)”等等。

在某些实现方式中,所描述的技术可以进一步包括用于辨识用户注视的系统和/或方法。这样的系统可以包括图像传感器、图像传感器的观看空间的至少一个图像。该至少一个图像可以由至少一个处理器处理,并且可以获得指示图像内的用户(或驾驶员)的面部或眼睛的方位的数据。可以相对于检测到的用户面部/眼睛确定图像的子集(例如,图像的子集可以包含检测到的用户的面部/眼睛)。在某些实现方式中,系统可以被配置成根据与所确定的图像的子集内的图像信息相关联的视觉数据来改变图像传感器或isp参数,并在改变isp参数之后检测图像中的用户注视。

在另一实例中,系统可以根据与用户注视的检测水平相关联的参数迭代地改变(一个或多个)图像传感器或isp参数。在某些实现方式中,图像传感器或isp可以迭代地改变参数,直到达到用于用户注视检测的(一个或多个)最佳参数。

在各个图中描绘了所描述的系统的另外的方面。例如,图1描绘了提取、确定等用户(例如,汽车的驾驶员)的眼睛注视的方面,例如,使用可以包括摄像机在汽车中的位置、用户面部在汽车中的方位(其可根据用户身高而不尽相同)、用户年龄、性别、面部结构等的信息,如本文所述。如图1所示,驾驶员110可以坐在汽车120中(应理解的是,所描述的系统可以被类似地用于实际上任何交通工具,例如公共汽车等),并且可以基于由定位在汽车内的摄像机130捕获的图像来确定用户位置的眼睛的注视/位置。还应注意,本文使用的“汽车”实际上可以指用于运输的任何马达交通工具,诸如轮式、自供电马达交通工具、飞行交通工具等。

图6描绘了汽车120内的示例区域600,其反映了可以被视为看向前方道路的驾驶员注视的角度。如果确定用户注视在区域600的角度之外,则可以确定驾驶员没有在看道路。

图7a和图7b描绘了用户注视的实例,其中用户没有看向前方道路。在这样的情况下,所描述的系统可以被配置成分析图像的更大子集或者甚至完整图像。

本文还描述了用于检测驾驶员身体姿势的系统、方法和相关技术。所描述的系统和方法可以用于捕获汽车的内部的图像、视频等。在某些实现方式中,可以处理这样的图像以检测汽车内的人类用户(例如,汽车的驾驶员)的存在。更具体地,可以处理/分析汽车的内部的(一个或多个)图像以识别/检测驾驶员的身体的各个部位,以便以高保真度确定驾驶员的身体姿势(例如,在驾驶时)。然后可以关于提供各种指令/启动各种动作/命令考虑身体姿势的检测。例如,可以使用驾驶员的身体姿势的确定或检测来确定交通工具内的哪个安全气囊在发生事故时膨胀。

图8是示出根据示例实施方式的方法800的流程图。在操作810处,例如从图像传感器接收与汽车内的空间相关联的图像信息。在操作820处,例如在图像信息中检测驾驶员身体姿势。在操作830处,接收附加信息,例如,来自图像传感器的信息之外的信息。这样的附加信息可以是,例如,可以是驾驶员在汽车中的空间中的方位(例如,如从图像传感器之外的其他传感器提取的驾驶员身体部位的方位、驾驶员的座椅距方向盘的距离等)。在某些实现方式中,这种附加信息可以与驾驶员身体姿势的信息相关联,该身体姿势与在过去检测条件最佳的情况下检测到的身体姿势类似。在某些实现方式中,附加信息可以部分地与预定义的身体姿势中的身体关节之间的相互关系和方位有关。在某些实现方式中,可以至少部分地基于检测驾驶员身体关节的方位来检测驾驶员身体姿势。在某些实现方式中,附加信息可以是从数据库提取的信息,其表示与检测到的身体姿势匹配的身体姿势中的关节方位和其他驾驶员身体部位。在某些实现方式中,附加信息可以是驾驶员身体尺寸。在某些实现方式中,驾驶员身体尺寸包括驾驶员身高。在操作840处,附加信息用于修改或验证检测到的驾驶员身体姿势。

为了以高度鲁棒性(例如,准确度)检测驾驶员的身体姿势,所描述的系统可以进一步使用/考虑附加信息,与从图像传感器接收的数据/输入一起,以便检测驾驶员的身体姿势。这样的“附加信息”可以源自各种源,并且可以用于验证和/或修改用户的身体姿势的确定(例如,如先前基于所捕获的图像检测/确定的)。

在某些实现方式中,可以至少部分地基于对预定义的身体部位(诸如头部、颈部、臂等)的方位和/或驾驶员的身体关节的辨识来检测驾驶员的身体姿势。

所提到的附加信息(如所指出的,其在确定/检测驾驶员的身体姿势时也可以考虑)可以是例如在前面的(一个或多个)帧/图像中预定义的驾驶员的身体姿势(例如检测驾驶员将他的多只手放在交通工具的方向盘上)的检测,并使用与这种预定义的身体姿势相关联的信息(例如,关于处于这种预定义的身体姿势时驾驶员的身体部位和关节的空间中的方位的信息),以验证和/或校正(如果需要)检测到的根据从图像传感器提取的信息提取/确定的驾驶员的身体姿势。

例如,当检测到驾驶员将多只手放在方向盘上(在该盘上的某个方位)时,可以利用附加信息来增强、校正和/或验证驾驶员的身体姿势的检测(例如,根据从图像传感器提取的信息来确定),诸如从数据库提取的表示当驾驶员的身体姿势反映他/她正将其手放在方向盘上时,驾驶员的(一个或多个)关节和其他身体部位的方位信息。

其他附加信息(如所指出的,其在确定/检测驾驶员的身体姿势时也可以考虑)可以与以下相关联:驾驶员的(一个或多个)身体尺寸(例如,驾驶员的身高,这是例如可以从数据库提取的信息)、驾驶员在汽车内的空间中的方位(例如,驾驶员的座椅与方向盘之间的距离或,驾驶员的(一个或多个)身体部位的方位,如从其他传感器提取的,其他传感器诸如tof传感器、位于驾驶员的座椅中的压力传感器和/或可以提供这样的信息的任何其他传感器)、与过去(在检测条件最佳的情况下)检测到的身体姿势类似的驾驶员的身体姿势的信息等。

所提到的附加信息(如所指出的,其在确定/检测驾驶员的身体姿势时也可以考虑)也可以与用户行为(例如打呵欠)及与其相关的各种(一个或多个)姿态相关联(例如,诸如用户可以将他们的手伸向他们的嘴)。

所描述的系统可以利用附加信息的子集或全部来辅助/增强对驾驶员的身体姿势的检测,验证和/或校正驾驶员身体关节或其他身体部位的检测。

此外,可以考虑/使用以高保真度进行这样的检测(例如,当存在驾驶员姿势的先验知识/信息时的检测,诸如当驾驶员将他的多只手放在方向盘上时,处于这种姿势时关节和身体的距离关系以及方位是什么的知识/信息)以帮助检测驾驶员在其他检测到的姿势中的身体姿势(例如,当检测到的姿势未与数据库中的预定义姿势对齐时),因为在一个姿势到另一姿势之间的变化是线性运动(无论运动有多快),并且在时间上的第一时刻(“t1”)处的身体姿势检测的高保真度的信息可以帮助在时间上的第二时刻(“t2”)处的身体姿势的检测。

该系统可以涉及所提到的高保真度的时刻,作为连续检测驾驶员的身体姿势的过程中的“对接点”。示例对接点可以是时间上的(一个或多个)时刻,其中以高保真度进行驾驶员的身体姿势的检测,或者利用与检测到的预定义驾驶员身体姿势相关联的所提到的附加信息。

在一个实例中,该系统使用反映辨识用户身体姿势的保真度(准确度)水平的值来标记检测到的用户(驾驶员)的一些或每个身体姿势。系统可以使用标记来分类“对接点”。

在一个示例中,系统使用反映用户(驾驶员)将从第一身体姿势移动到第二身体姿势的概率的信息。

本文还描述了用于检测/确定驾驶员的注意力的自动(汽车)系统和方法。在某些实现方式中,这样的自动系统可以被配置成克服光的快速变化,例如,照射在驾驶员的面部上的光,并且以正确的曝光水平设置摄像机(例如,能够实现关于用户的面部所检测的视觉信息的质量稳定的曝光水平)。

驾驶员的面部上的光的这种快速变化可以在夜间发生,例如,当汽车行驶经过街灯时,或者当在道路的另一侧上行驶的汽车正在接近时。驾驶员的面部上的光的量的变化可能非常显著,并且这种变化可能非常快速地发生。

可以理解,可以通过增加图像传感器的fps(每秒帧数)来克服这种快速变化,但是这样做也可能增加功耗。

该系统可以被配置成使用信息预测驾驶员的面部上的光的变化,这些信息来自外部传感器(例如,扫描/看向汽车外并且可以例如辨识来自从另一侧接近的汽车的光、或街灯或驶入/出通道等的传感器),或者从先前图像提取,如检测重复顺序的光的增加(例如由街灯产生),或者来自其他信息源,包括但不限于地图,或与道路相关的数据,或来自其他汽车的数据。

在所提到的预测之后,系统可以将信息发送到图像传感器(例如,图像信号处理器(isp)),以用于其曝光的计算。

在另一实例中,系统可以是或包括isp,其基于以下来计算曝光:从图像传感器提取的信息和从其他源接收的信息,诸如来自外部传感器(扫描/看向汽车外的并且可以例如辨识来自从另一侧接近的汽车的光,或街灯或驶入/出通道等的传感器)的信息,或者从先前图像提取的,如检测重复顺序的光的增加(例如由街灯产生的),或者来自其他信息源,包括地图,或与道路相关的数据,或来自其他汽车的数据、或在分析由与isp有关的图像传感器捕获的图像的cpu上运行的系统、提取与用户有关的信息的系统,包括检测他的面部或注视方向。

在一个实例中,提供了一种系统和方法,用于驾驶员监测和/或检测驾驶员注视,例如,通过改变图像传感器或isp参数;使用除了从面向驾驶员的图像传感器提取的信息之外的信息来预测和设置面向驾驶员的图像传感器的参数,以获得最佳信息用于检测驾驶员相关的特征(诸如驾驶员注视、驾驶员情绪反应、驾驶员警觉性等)。

在一个实例中,该系统和方法将来自不同源的信息组合;例如,面向外部并且可以提供与来自从另一侧接近的汽车的光、或街灯或驶入/出通道等的反射有关的信息的传感器,将其与汽车的速度相结合并计算,以预测什么时候需要改变图像传感器(isp)参数来防止驾驶员的面部被来自外部源(汽车、街灯等)的光“点亮”。

在另一实例中,当分析驾驶员眼睛的特征(诸如瞳孔的大小)以检测驾驶员注视时,该系统和方法使用与在驾驶员面部和眼睛上光的突然改变相关联的附加信息。

在另一实例中,该系统和方法可以预测驾驶员是否将被遮挡(其中在“遮挡时期”期间,可以减少驾驶员响应于道路上发生事件的能力)并以与驾驶员不被遮挡的状态相比不同的方式控制汽车的参数(例如,汽车的速度、方向)。

本文还描述了使用来自至少一个加速器的信息来预测驾驶员的身体姿势的系统和方法。在某些实现方式中,这样的系统可以使用与从位于汽车中的至少一个加速器提取的数据相关联的信息来辨识/确定驾驶员的身体姿势。

另外,在某些实现方式中,在驾驶员姿势的变化高(并且图像可能模糊)的汽车中发生撞击的情况下,系统可以利用在撞击之前(例如,在撞击之前的t毫秒处)从图像传感器提取的信息和来自加速器的信息作为撞击的时刻内的主要信息。

本文还描述了使用深度学习和/或机器学习来提取/识别手关节的系统和方法。在某些实现方式中,可以使用同一只手的2d和3d图像来训练深度学习机器。在这样做时,可以仅从2d图像的输入识别/提取手关节。

本文还描述了用于追踪汽车内的驾驶员的系统和方法。

可以理解的是,在汽车内定位/定向摄像机以便检测驾驶员的注意力、身体姿势和其他驾驶员行为的最佳地点之一是挡风玻璃的方位。然而,在挡风玻璃上定位摄像机可能会干涉摄像机的视场,例如在将其取下时或当它位于两个位置之间时。

因此,所描述的系统可以通过检测挡风玻璃何时处于干涉摄像机的视场的位置并且向驾驶员发信号(例如,将其完全拉下或者将其放回)来克服该挑战/缺点。

其他选项包括在挡风玻璃设计中增加使挡风玻璃不能处于干涉摄像机的位置的模块。例如,可以采用这样的绳,当挡风玻璃处于一定角度(其也是干涉摄像机的角度)内时,挡风玻璃自动地(通过绳)移动到打开或关闭位置。

另一选项可以是以挡风玻璃将不干涉摄像机视场的方式设计挡风玻璃,和/或由对ir透明的材料制成挡风玻璃。

另一选项可以是挡风玻璃可以由电动发动机控制,该电动发动机将挡风玻璃从一个位置摆动到另一位置,并且这种发动机可以配置成使挡风玻璃不能定向/定位在与摄像机干涉的角度处。

本文结合各个图描述了所描述的系统的另外的方面。图9描绘了以预定义姿势坐着的驾驶员的示例情形,诸如多只手在方向盘上。如本文所述,可以基于用户关节900和其他身体部位来定义/确定这种姿势。

图10描绘了以预定义姿势坐着的另一驾驶员(多只手在方向盘上)的示例情形。如本文所述,可以基于用户关节和其他身体部位来定义/确定这种姿势。如图10所示,所提到的附加信息(基于其可以验证驾驶员的姿势)可以具体地与现在当前正在驾驶汽车的驾驶员有关。

图11描绘了所提到的附加信息的(一个或多个)实例1100,其可以用于验证/修改各种确定(例如,驾驶员的姿势),诸如与驾驶员空间有关的信息(例如,驾驶员的座椅的方位、座椅与方向盘之间的距离、座椅的高度等)。可以理解的是,不同的驾驶员和不同的汽车可以反映不同的驾驶员空间,但对于特定的汽车和驾驶员来说,这样的空间非常恒定。

图7a和图7b描绘了在车内时学习驾驶员的身体姿势的实例,例如,当汽车停止时(例如,在交通灯处时)和在驾驶期间。

还应该注意,尽管本文描述的技术主要是关于驾驶员监测来说明的,但是所描述的技术也可以在任何数量的附加或替代设置或环境中实现,并且朝向任何数量的附加目标。应理解的是,作为这种实现方式的结果,可以实现另外的技术优点、解决方案和/或改进(超出本文描述和/或提到的那些)。

例如,在某些实现方式中,所描述的系统中可以应用于其中存在用户所看的预定义方位处的场景(其可能不涉及交通工具)。在这样的场景中,所描述的技术可以辨识用户注视方向并且将检测到的用户注视方向与用户可以/可能正在看的预定义的(一个或多个)方位相互关联。可以从每个预定义方位的全部检测到的注视方向选择一组注视方向。可以(可选地)选择所确定的组内的一组样本。可以使用与所选择的一组用户注视方向、用户的方位(包括用户的头部的方位和取向)以及与每组相关联的对象的方位(其也可以是数字视觉对象)相关联的数据来提取用户的(一只或多只)眼睛的特征。

应注意,所描述的技术可以在各种装置或部件之内和/或与其结合来实现,诸如任何数字装置,包括但不限于:个人计算机(pc)、娱乐装置、机顶盒、电视(tv)、移动式游戏机器、移动电话或平板电脑、电子阅读器、智能手表、数字护腕、游戏控制台、便携式游戏控制台、便携式计算机诸如笔记本电脑或超极本、一体机、tv、互联网电视、显示装置、家用器具、通信装置、空调、对接站、游戏机、数码摄像机、手表、交互式表面、3d显示器、娱乐装置、扬声器、智能家居、iot装置、iot模块、智能窗、智能玻璃、智能灯泡、厨房器具、媒体播放器或媒体系统、基于方位的装置;以及移动式游戏机、微型投影仪或嵌入式投影仪、医疗装置、医疗显示装置、交通工具、车载/空中信息娱乐系统、无人机、无人驾驶汽车、自动驾驶汽车、飞行交通工具、导航系统、可穿戴装置、增强现实启用装置、可穿戴护目镜、虚拟现实装置、基于方位的装置、机器人(robot)、社交机器人、(人形)机器人(android)、交互式数字标牌、数字售货亭、自动贩卖机器、自动柜员机器(atm)和/或可以接收、输出和/或处理数据的任何其他这样的装置。

根据在计算机存储器内的数据位上操作的算法和符号表示来呈现详细描述的一些部分。这些算法描述和表示是数据处理领域的技术人员用来将他们工作的实质最有效地传达给本领域其他技术人员的手段。算法在此并且通常被认为是导致期望结果的自相一致步骤序列。这些步骤是需要物理量的物理操纵的步骤。通常,尽管不是必要的,但这些量采用能够存储、传输、组合、比较和以其他方式操纵的电信号或磁信号的形式。已经证明有时,主要出于通用的原因,将这些信号称为位、值、元素、符号、字符、项、数字等是便利的。

然而,应记住,所有这些和类似的术语都应与适当的物理量相关联,并且仅仅是应用于这些量的便利标签。除非从上面的讨论中以其他方式明确地声明,否则应理解,在整个说明书中,利用术语诸如“接收”、“处理”、“提供”、“识别”等的讨论是指计算机系统或类似的电子计算装置的活动和过程,其操作表示为计算机系统的寄存器和存储器内的物理(例如电子)量的数据并将其变换为类似地表示为计算机系统存储器或寄存器或其他这样的信息存储、传输或显示装置内的物理量的其他数据。

该公开的方面和实现方式还涉及用于执行本文的操作的设备。因此,用于启动或配置计算装置的计算机程序可以存储在计算机可读存储介质中,诸如但不限于任何类型的盘,包括软盘、光盘、cd-rom和磁光盘、只存储器(rom)、随机存取存储器(ram)、eprom、eeprom、磁卡或光卡或适用于存储电子指令的任何类型的介质。

不参考任何特定编程语言描述本公开。将理解的是,可以使用各种编程语言来实现如本文所述的该公开的教导。

如本文所用,短语“例如,”、“诸如,”、“比如,”及其变型描述了本公开主题的非限制性实施方式。在说明书中提及“一种情况,”、“一些情况,”、“其它情况,”或其变型意味着结合(一个或多个)实施方式描述的特定特征、结构或特性包括在本公开主题的至少一个实施方式中。因此,短语“一种情况,”、“一些情况,”、“其它情况,”或其变体的出现不一定指的是相同的(一个或多个)实施方式。

为了清楚起见,在本说明书中单独的实施方式的上下文中描述的某些特征也可以在单个实施方式中组合地提供。相反,在单个实施方式的上下文中描述的各种特征也可以分别提供在多个单独的实施方式中或以任何合适的子组合的方式提供。此外,虽然特征可以如上描述为在某些组合中起作用并且甚至最初要求保护为这样,但是在一些情况下,来自所要求保护的组合的一个或多个特征可以从该组合删去,并且所要求保护的组合可以针对子组合或子组合的变型。

已经描述了特定的实施方式。其他实施方式在随附的权利要求的范围内。

某些实现方式在本文中被描述为包括逻辑或多个部件、模块或机制。模块可以构成软件模块(例如,在机器可读介质上体现的代码)或硬件模块。“硬件模块”是能够执行某些操作的有形单元,并且可以以某种物理方式配置或布置。在各种示例实现方式中,一个或多个计算机系统(例如,独立的计算机系统、客户端计算机系统或服务器计算机系统)或计算机系统的一个或多个硬件模块(例如,处理器或一组处理器)可以由软件(例如,应用或应用部分)配置为用于执行如本文所述的某些操作的硬件模块。

在一些实现方式中,硬件模块可以机械地、电子地或其任何合适的组合来实现。例如,硬件模块可以包括专用电路或永久配置的逻辑以执行某些操作。例如,硬件模块可以是专用处理器,诸如现场可编程门阵列(fpga)或专用集成电路(asic)。硬件模块还可以包括由软件临时配置以执行某些操作的可编程逻辑或电路。例如,硬件模块可以包括由通用处理器或其他可编程处理器执行的软件。一旦由这样的软件配置,硬件模块就成为特定的机器(或机器的特定部件),其被独特地定制以执行配置的功能并且不再是通用处理器。将理解的是,在专用和永久配置的电路中或在临时配置的电路(例如,由软件配置的)中机械地实现硬件模块的决定可以由成本和时间考虑来驱动。

因此,短语“硬件模块”应该被理解为包含有形实体,即被物理构造、永久配置(例如,硬连线)或临时配置(例如,编程)来以某种方式操作或执行本文所述的某些操作的实体。如本文所使用的,“硬件实现的模块”指的是硬件模块。考虑其中临时配置(例如,编程)硬件模块的实现方式,不需要在任何一个时刻及时地配置或具体化每个硬件模块。例如,在硬件模块包括由软件配置成为专用处理器的通用处理器的情况下,通用处理器可以在不同时间处分别被配置为不同的专用处理器(例如,包括不同的硬件模块)。因此,软件配置特定的一个或多个处理器,例如,在时间的一个时刻处构成特定的硬件模块,并在时间的不同的时刻处构成不同的硬件模块。

硬件模块可以向其他硬件模块提供信息并从其接收信息。因此,所描述的硬件模块可被视为通信地耦合。在同时存在多个硬件模块的情况下,可以通过在两个或更多个硬件模块之间或之中的信号传输(例如,通过适当的电路和总线)来实现通信。在其中在不同时间处配置或具现化多个硬件模块的实现方式中,例如,通过存储和检索多个硬件模块已经访问的存储器结构中的信息,可以实现这些硬件模块之间的通信。例如,一个硬件模块可以执行操作并将该操作的输出存储在其通信地耦合的存储器装置中。然后,另一硬件模块可以在稍后访问存储器装置以检索和处理所存储的输出。硬件模块还可以开始与输入或输出装置的通信,并且可以操作资源(例如,信息的集合)。

本文描述的示例方法的各种操作可以至少部分地由临时配置(例如,通过软件)或永久配置以执行相关操作的一个或多个处理器来执行。无论是临时配置还是永久配置,这些处理器都可以构成处理器实现的模块,其操作以执行本文描述的一个或多个操作或功能。如本文所使用的,“处理器实现的模块”指的是使用一个或多个处理器实现的硬件模块。

类似地,本文描述的方法可以是至少部分地处理器实现的,其中特定的一个或多个处理器是硬件的实例。例如,方法的至少一些操作可以由一个或多个处理器或处理器实现的模块执行。此外,一个或多个处理器还可以操作以支持“云计算”环境中的相关操作的性能或操作为“软件即服务”(saas)。例如,至少一些操作可以由一组计算机(如包括处理器的机器的实例)执行,其中这些操作可经由网络(例如,因特网)和经由一个或多个适当的接口(例如,api)访问。

某些操作的执行可以在处理器之间分布,不仅驻留在单个机器中,而且跨多个机器部署。在一些示例实现方式中,处理器或处理器实现的模块可以位于单个地理方位(例如,在家庭环境、办公室环境或服务器群内)。在其他示例实现方式中,处理器或处理器实现的模块可以跨多个地理方位进行分布。

结合图1-图11描述的模块、方法、应用等在机器和关联的软件架构的上下文中的一些实现方式中实现。下面的章节描述代表性的(一个或多个)软件架构和(一个或多个)机器(例如,硬件)架构,其适用于所公开的实现方式。

软件架构与硬件架构结合使用以创建针对特定目的而定制的装置和机器。例如,耦合有特定软件架构的特定硬件架构将创建移动装置,诸如移动电话、平板电脑装置等。稍微不同的硬件和软件架构可以产生用于“物联网”的智能装置,而又一组合产生用于云计算架构内的服务器计算机。这里并未呈现这样的软件架构和硬件架构的所有组合,因为本领域技术人员可以容易地理解如何实现与本文所包含的公开不同内容的发明主题。

图12是示出根据一些示例实现方式的机器1200的部件的方框图,其能够从机器可读介质(例如,机器可读存储介质)读取指令并执行本文所讨论的方法中的任何一种或多种。具体地,图12示出了计算机系统的示例形式中的机器1200的图形表示,在其内执行指令1216(例如,软件、程序、应用、小应用、app或其他可执行代码),该指令用于引起机器1200执行本文所讨论的方法中的任何一种或多种。指令1216将通用的、未编程的机器变换为被编程从而以所描述的方式执行所描述和说明的功能的特定机器。在替代实现方式中,机器1200作为独立装置操作或者可以与其他机器耦合(例如,联网)。在联网部署中,机器1200可以在服务器-客户端网络环境中以服务器机器或客户端机器的身份运行,或者作为对等(或分布式)网络环境中的对等机器运行。机器1200可以包括但不限于服务器计算机、客户端计算机、pc、平板电脑计算机、笔记本电脑计算机、上网本、机顶盒(stb)、个人数字助理(pda)、娱乐媒体系统、蜂窝电话、智能手机、移动装置、可穿戴装置(例如智能手表)、智能家居装置(例如智能器具)、其他智能装置、网络器具、网络路由器、网络交换机、网桥或能够顺序地或以其他方式执行指令1216的任何机器,其指定将由机器1200采取动作。此外,虽然仅示出了单个机器1200,但是术语“机器”还将被视为包括机器1200的集合,其单独地或共同地执行指令1216以执行本文所讨论的方法中的任何一种或多种。

机器1200可以包括处理器1210、存储器/存储装置1230和i/o部件1250,其可以配置成彼此通信诸如经由总线1202。在示例实现方式中,处理器1210(例如,中心处理单元(cpu)、精简指令集计算(risc)处理器、复杂指令集计算(cisc)处理器、图形处理单元(gpu)、数字信号处理器(dsp)、asic、射频集成电路(rfic)、其他处理器或其任何合适的组合)可以包括例如可以执行指令1216的处理器1212和处理器1214。术语“处理器”旨在包括多核处理器,其可以包括可以同时执行指令的两个或更多个独立处理器(有时称为“核”)。虽然图12示出了多个处理器1210,但是机器1200可以包括具有单核的单个处理器、具有多核的单个处理器(例如,多核处理器)、具有单核的多个处理器、具有多核的多个处理器或其任何组合。

存储器/存储装置1230可以包括存储器1232,诸如主存储器或其他存储器存储装置以及存储单元1236,两者都可访问处理器1210,诸如经由总线1202。存储单元1236和存储器1232存储指令1216,其体现本文描述的方法或功能中的任何一个或多个。指令1216还可以完全或部分地驻留在存储器1232内、在存储单元1236内、在处理器1210中的至少一个内(例如,在处理器的高速缓存存储器内)或其任何合适的组合,在由机器1200执行其期间。因此,存储器1232、存储单元1236和处理器1210的存储器是机器可读介质的实例。

如本文所使用的,“机器可读介质”表示能够临时或永久地存储指令(例如,指令1216)和数据,并且可以包括但不限于随机存取存储器(ram)、只读存储器(rom)、缓冲存储器、闪存存储器、光学介质、磁介质、高速缓存存储器、其他类型的存储装置(例如,可擦除可编程只读存储器(eeprom))和/或其任何合适的组合。术语“机器可读介质”应被视为包括能够存储指令1216的单个介质或多个介质(例如,集中式或分布式数据库或关联的高速缓存和服务器)。术语“机器可读介质”还应被视为包括任何介质或多种介质的组合,其能够存储由机器(例如,机器1200)执行的指令(例如,指令1216),使得指令在由机器的一个或多个处理器(例如,处理器1210)执行时,使机器执行本文所述的方法中的任何一种或多种。因此,“机器可读介质”指的是单个存储设备或装置以及包括多个存储设备或装置的“基于云的”存储系统或存储网络。术语“机器可读介质”不包括信号本身。

i/o部件1250可以包括用于接收输入、提供输出、产生输出、发送信息、交换信息、捕获测量等的各种各样的部件。包含在特定机器中的特定i/o部件1250将取决于机器的类型。例如,便携式机器(诸如移动电话)将可能包括触摸输入装置或其他这样的输入机构,而无头服务器机器将可能不包括这样的触摸输入装置。将理解的是,i/o部件1250可以包括图12中未示出的许多其他部件。i/o部件1250根据功能分组仅为简化以下讨论,并且分组决不是限制性的。在各种示例实现方式中,i/o部件1250可以包括输出部件1252和输入部件1254。输出部件1252可以包括视觉部件(例如,显示器(诸如等离子体显示器面板(pdp)、发光二极管(led)显示器、液晶显示器(lcd))、投影仪或阴极射线管(crt))、声学部件(例如扬声器)、触感部件(例如,振动马达、阻力机构)、其他信号发生器等。输入部件1254可以包括字母数字输入部件(例如,配置成接收字母数字输入的触摸屏、键盘、光学键盘或其他字母数字输入部件)、基于点的输入部件(例如,鼠标、触摸板、轨迹球、操纵杆、运动传感器或其他指向仪器)、触觉输入部件(例如,物理按钮、提供触摸或触摸手势的方位和/或力的触摸屏或其他触觉输入部件)、音频输入部件(例如,麦克风)等。

在另外的实现方式中,除了大量的其他部件外,i/o部件1250可以包括生物识别部件1256、运动部件1258、环境部件1260或位置部件1262。例如,生物识别部件1256可以包括用于检测表达(例如,手部表达、面部表情、声音表达、身体姿势或眼睛追踪)、测量生物信号(例如,血压、心率、体温、出汗或脑电波)、识别人(例如,语音识别、视网膜识别、面部识别、指纹识别或基于脑电图的识别)等的部件。运动部件1258可以包括加速度传感器部件(例如,加速度计)、重力传感器部件、旋转传感器部件(例如,陀螺仪)等。环境部件1260可以包括,例如,照明传感器部件(例如,光度计)、温度传感器部件(例如,检测环境温度的一个或多个温度计)、湿度传感器部件、压力传感器部件(例如,气压计)、声学传感器部件(例如,检测背景噪声的一个或多个麦克风)、接近传感器部件(例如,检测附近对象的红外传感器)、气体传感器(例如,气体检测传感器,用于检测危险气体的浓度以确保安全或测量大气中的污染物)或可以提供对应于周围物理环境的指示、测量或信号的其他部件。位置部件1262可以包括方位传感器部件(例如,全球定位系统(gps)接收器部件)、海拔传感器部件(例如,检测可以从其得到海拔的空气压力的高度计或气压计)、取向传感器部件(例如,磁力计)等。

可以使用各种各样的技术来实现通信。i/o部件1250可以包括通信部件1264,其可操作以分别经由耦合1282和耦合1272将机器1200耦合到网络1280或装置1270。例如,通信部件1264可以包括用于与网络1280连接的网络接口部件或其他合适的装置。在另外的实例中,通信部件1264可以包括有线通信部件、无线通信部件、蜂窝通信部件、近场通信(nfc)部件、部件(例如,低功耗)、部件和经由其他形式提供通信的其他通信部件。装置1270可以是其他机器或各种各样的外围装置(例如,经由usb耦合的外围装置)中的任何一种。

此外,通信部件1264可以检测标识符或包括可操作以检测标识符的部件。例如,通信部件1264可以包括射频识别(rfid)标签读取器部件、nfc智能标签检测部件、光学读取器部件(例如,用于检测一维条形码诸如通用产品码(upc)条形码、多维条形码诸如快速响应(qr)码、aztec码、数据矩阵、dataglyph、maxicode、pdf417、ultracode、uccrss-2d条形码和其他光学码的光学传感器)或声学检测部件(例如,用于识别标记的音频信号的麦克风)。另外,可以经由通信部件1264导出各种信息,诸如经由因特网协议(ip)地理定位的方位、经由信号三角测量的方位、经由检测可以指示特定方位的nfc信标信号的方位等。

在各种示例实现方式中,网络1280中的一个或多个部分可以是自组织网络、内联网、外联网、虚拟专用网络(vpn)、本地区域网络(lan)、无线lan(wlan)、wan、无线wan(wwan)、城域网(man)、因特网、因特网的一部分、公共交换电话网(pstn)的一部分、普通老式电话服务(pots)网络、蜂窝电话网络、无线网络、网络、其他类型网络或两种或更多种这些网络的组合。例如,网络1280或网络1280的一部分可以包括无线或蜂窝网络,并且耦合1282可以是码分多址(cdma)连接、全球移动通信系统(gsm)连接或者其他类型的蜂窝或无线耦合。在该实例中,耦合1282可以实现各种类型的数据传输技术中的任何一种,诸如单载波无线电传输技术(1xrtt)、演化数据优化(evdo)技术、通用分组无线服务(gprs)技术、gsm演化的增强数据速率(edge)技术、包括3g的第三代合作伙伴计划(3gpp)、第四代无线(4g)网络、通用移动电信系统(umts)、高速分组接入(hspa)、微波存取全球互通(wimax)、长期演进(lte)标准,由各种标准制定组织定义的其他标准(技术)、其他远程协议或其他数据传输技术。

指令1216可以使用传输介质经由网络接口装置(例如,包括在通信部件1264中的网络接口部件)并利用许多众所周知的传输协议中的任何一个(例如,http)来通过网络1280发送或接收。类似地,指令1216可以使用传输介质经由耦合1272(例如,对等耦合)发送到装置1270或从其接收。术语“传输介质”将被视为包括能够存储、编码或携带由机器1200执行的指令1216的任何无形介质,并包括数字或模拟通信信号或其他无形介质,用于促进这种软件的通信。

在整个说明书中,多个例子可以实现被描述为单个例子的部件、操作或结构。尽管一个或多个方法的单独的操作被示出并描述为分开的操作,但是可以同时执行一个或多个单独的操作,并且不需要以所示的顺序执行操作。在示例配置中作为分开的部件呈现的结构和功能可以实现为组合结构或部件。类似地,作为单个部件呈现的结构和功能可以实现为分开的部件。这些和其他变型、修改、添加和改进都落入本文主题的范围内。

尽管已经参考特定示例实现方式描述了本发明主题的概述,但是在不脱离本公开的实现方式的更宽范围的情况下,可以对这些实现方式进行各种修改和改变。本发明主题的这些实现方式在本文中可以单独地或共同地通过术语“发明”来引用,仅为方便而不旨在将该申请的范围自愿地限制于任何单个公开或发明构思,如果实际上公开了不止一个。

本文所示的实现方式足够详细地描述,以使本领域技术人员能够实践所公开的教导。可以使用其他实现方式并从其导出,在不脱离本公开的范围的情况下,可以进行结构和逻辑替换和改变。因此,具体描述不应被视为具有限制意义,并且各种实施方式的范围仅由所附权利要求以及这些权利要求所赋予的等价物的全部范围来限定。

如本文所用,术语“或”可以以包含性或排他性的含义来解释。此外,可以为本文描述的资源、操作或结构提供多个例子,作为单个例子。另外,各种资源、操作、模块、引擎和数据存储之间的边界在某种程度上是任意的,并且特定操作在特定说明性配置的上下文中示出。设想了其他功能分布,并且其可以落入本公开的各种实现方式的范围内。通常,在示例配置中作为分开的资源呈现的结构和功能可以实现为组合结构或资源。类似地,作为单个资源呈现的结构和功能可以实现为分开的资源。这些和其他变型、修改、添加和改进落入由所附权利要求表示的本公开的实现方式的范围内。因此,说明书和附图应被视为说明性的而非限制性的。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1