用于在无约束环境中检测人类视线和手势的系统和方法与流程

文档序号:23067613发布日期:2020-11-25 17:54阅读:191来源:国知局
用于在无约束环境中检测人类视线和手势的系统和方法与流程

本公开总体上涉及对人类移动的检测,更具体地,涉及在无约束环境中由智能机器进行的对人类视线或手势移动的检测。



背景技术:

随着交互式计算机、机器学习和人工智能的发展,对人类移动的机器检测已经变得普遍。台式计算机、智能手机、平板电脑、视频游戏系统以及具有集成或外围相机的其他设备可以包括检测人类移动甚至检测用户视线(例如,用户的眼睛正在看的方向)的能力。

已知的手势控制和视线跟踪系统依赖于窄视野相机,并且被设计用于用户的运动以某种方式受到限制的环境(例如,估计驾驶员或计算机屏幕前的人的视线)。这些系统既不允许用户自由移动,在大多数情况下也不能观察到用户观察到的相同环境。在其中用户可以指示机器人在空间中的其他对象中接合(例如,移动或传递)对象的更一般的环境中,这些系统是无用的,并且也不能理解用户正在看什么或指向什么,因为关注的对象通常不在相机的视野中。



技术实现要素:

本公开的实施例包括用于在无约束环境中进行视线和手势检测的系统。该系统可以包括图像捕获设备,该图像捕获设备被配置为生成包括个体和感兴趣对象的无约束环境的360度图像。该系统还可以包括深度传感器和知识库,深度传感器被配置为生成无约束环境的三维深度图。可以包括处理器,该处理器被配置为从360度图像和深度图生成环境图,并确定360度图像中的个体的关注方向。处理器还可以被配置为生成表示关注方向的方向性向量,并将来自个体的方向性向量投影到环境图上。处理器还可以被配置为检测方向性向量与感兴趣对象的交点,并使用与感兴趣对象相关的数据在知识库中搜索感兴趣对象的身份。

该系统的附加特征可以包括单目全景相机作为图像捕获设备。可替代地,360度图像可以是缝合在一起的若干图像。处理器可以被配置为从视线、个体的手势方向中的至少一种或其组合来确定关注的方向。深度传感器可以是红外传感器、为深度估计而训练的神经网络或同时定位和绘图传感器之一。

在本公开的另一实施例中,公开了一种用于定位和识别对象的方法。该方法可以包括捕获包括个体和感兴趣对象的无约束环境的360度图像,并生成环境图。可以确定来自捕获的360度图像中的个体的关注方向,并且可以生成表示关注方向的方向性向量。可以从环境图上的个体投影方向性向量,并且可以检测方向性向量与感兴趣对象的交点。

该系统和方法的附加特征可以包括在知识库中搜索感兴趣对象的身份,并且当在知识库中没有找到感兴趣对象的身份时,启动学习过程。学习过程可以是神经网络。可以通过获得环境深度信息并将深度信息与360度图像相结合来生成环境图。深度信息可以从红外传感器、同时定位和绘图过程或从神经网络获得。环境图可以是显著性图(saliencymap)和/或可以包括环境的语义解析。该系统和方法可以进一步估计个体的视线和/或手势方向。关注的方向可以由视线和/或手势来确定。视线可以使用红外传感器获得。

本公开的另一实施例可以包括用于定位和识别对象的系统。该系统可以包括单目相机,该单目相机被配置为捕获包括个体和感兴趣对象的无约束环境的360度图像。红外深度传感器可以被配置为生成无约束环境的3d深度图。该系统还可以包括知识库和处理器。处理器可以被配置为从360度图像和深度图生成显著性图,并确定来自个体的关注方向。处理器还可以生成表示关注方向的三维方向性向量,并将来自个体的三维方向性向量投影到环境图上。处理器还可以检测三维方向性向量与感兴趣对象的交点,并使用与感兴趣对象相关的捕获图像数据在知识库中搜索感兴趣对象的身份。

附图说明

在附图的图中示出了设备、系统和方法的实施例,这些附图意在是示例性的而非限制性的,在附图中相同的附图标记旨在指代相同或相应的部分,并且其中:

图1是无约束环境的概念图,该概念图示出了用于实现根据本公开的实施例的用于通过智能机器检测人类视线和/或手势移动的系统和方法的情境;

图2a-图2b描绘了根据本公开的实施例的观察个体手势的图像捕获设备的概念图;

图3a是根据本公开实施例的360度全景图像和由系统基于2d图像和深度感测数据生成的所得到的显著性图的概念图;

图3b是根据本公开实施例的热图的概念图;

图4示出了根据本公开实施例的用于检测人眼视线和/或手势移动的系统;

图5是根据本公开实施例的使用视线和手势检测来定位和识别对象的方法的流程图;和

图6是描绘根据本公开实施例的视线确定的改进的另一流程图。

具体实施方式

本公开描述了用于估计和跟踪人类视线和手势以预测、定位和识别无约束环境中的对象的系统和方法。该系统可以依靠先进的成像技术、机器学习和人工智能,基于对人类手势、视线、识别的语音或其任意组合的解释来识别对象及其位置。现在将参考附图在下文中更全面地描述本公开的实施例。然而,前述内容可以以许多不同的形式实施,并且不应被解释为限于这里阐述的所示实施例。

本公开提供了捕获人类视线或手势以及个体周围的环境以定位和识别对象的系统和方法。根据一个实施例,360度单目相机可以产生无约束环境的360度二维(“2d”)图像。一个或多个红外深度传感器可用于创建深度图,以增强场景捕获,从而提供无约束环境中的个体或对象的深度估计参数。

系统可以处理2d图像和深度图,以确定指示个体的视线和/或手势(例如指向方向)的三维(“3d”)向量。该系统可以生成显著性图来定义场景中可能的关注区域。显著性图可以在更准确地预测个体正在注视或用手势指向的对象或位置方面提供技术优势。3d向量可以被投影到观察到的环境图像上,以确定3d向量是否与在个体的环境中识别的任何对象和位置相交。一旦系统足够确定地定位和识别了对象,系统就可以进一步与该对象交互。如果对象被定位但对于系统是未知的,则可以启动机器学习过程以进一步教导系统并扩展系统的知识库。

图1是示出了用于实现根据本公开的实施例的用于通过智能机器检测人类视线和/或手势移动的系统和方法的无约束环境100或情境的概念图。视线和手势检测系统可以体现在计算机器中,诸如配备有图像捕获设备110的机器人105。环境100可以包括一个或多个个体112、113、114和多个对象115。特别地,一个引导个体114可能正在看着多个对象115中的一个对象或朝着多个对象115中的一个对象打手势。图像捕获设备110可以捕获个体114的视线方向121。图像捕获设备还可以捕获或检测由引导个体114执行的手势122。手势检测信息可用于补充或确认引导个体114的关注方向。例如,如图1所示,无约束环境100中的多个对象115可以包括第一窗户117、第二窗户119和位于两个窗户117、119之间的一幅画118。画118可以悬挂在无约束环境100中的墙上,或者可以放置在架子或画架上。

如这里所使用的,术语“无约束环境”可以包括如下任何空间:在该空间中,个体的移动或动作不受相机或图像捕获设备110的空间视野的限制。与被限制在汽车座位上的驾驶员或者被限制在紧挨计算机相机的视野前方的区域中的计算机用户相比,示例性无约束环境100中的个体可以在该区域内自由移动,并且仍然在图像捕获设备110的视野内。

计算机器或机器人105可以包括360度单目相机111作为图像捕获设备110或其组件。360度单目相机111的使用提供了无约束环境100的基本完整的视野。因此,不管个体112、113、114或多个对象115的位置如何,个体112、113、114或对象115都可以被相机111捕获。这样,个体112、113、114和机器人105可以在环境100内移动,并且相机111仍然可以捕获无约束环境100内的个体112、113、114和多个对象115。

该系统还可以包括附加的环境数据收集能力,以收集无约束环境100内的深度信息。该系统可以通过捕获与多个对象115、个体112、113、114和环境轮廓(例如墙、柱和其他结构)相关的环境信息来生成深度图。机器人105和图像捕获设备110可以包括一个或多个红外(“ir”)传感器120,以扫描环境100或对环境100进行成像。此外,机器人105和图像捕获设备110可以使用ir信号的位移来生成深度图像,该深度图像可以被系统用来估计来自图像捕获设备110的环境中的对象或个体的深度。

如果机器人105或其他计算机器是移动机器人,则可以使用同时定位和绘图(“slam”)技术来获得环境深度信息。slam技术提供了一个过程,通过该过程,移动机器人可以构建未知环境的地图,该移动机器人还可以同时对环境进行导航。在一种配置中,slam技术可以使用从成像设备提取的特征来估计机器人在无约束环境内的位置。这可以在针对机器人105对环境进行绘图时完成,使得机器人105知道环境中对象的相对3d位置。这可以包括机器人105过去已经观察到的、但是目前被其他对象或场景结构遮挡的对象。

根据本公开的一个实施例,可以使用针对无约束环境(例如图1的无约束环境)中的深度估计而训练的人工神经网络来生成环境深度信息。作为上述方法和系统的替代或补充,人工神经网络可以生成环境深度信息。在一种配置中,可以使用对象信息来训练人工神经网络。基于系统不具有关于对象或其环境的先验信息,人工神经网络可以独立地开发关于环境中的每个对象或个体的它自己的定义特征。

可以针对一个或多个特定任务来训练人工神经网络。这些任务可以包括但不限于人员检测、身体姿态估计、面部检测、对象实例分割、识别和姿态估计、度量场景深度的估计以及将场景分割成进一步的属性,例如材料属性和形容词描述。系统可能会观察到系统无法确信地识别或分割的新对象或结构。在这种情况下,系统可能能够使用提取的属性和深度独立地开发关于每个对象的它自己的定义特征。

除了绘制无约束环境100的轮廓、对象和个体的图之外,该系统还可以包括捕获或检测引导个体114的视线信息的能力。可以使用ir传感器、rgb相机和/或与机器人105通信的一个或多个光学跟踪设备来获得视线信息。作为一个示例,ir光可以由ir传感器120发射,并从做出手势的个体114的眼睛反射。反射的ir光可以被相机或光学传感器感测到。如下所述,在进一步的改进中,可以使用多个图像、扫描等在一段时间内观察视线数据,以进一步发现注视方向或视线区域中的感兴趣对象。

图像信息然后由处理器分析,以从反射的变化中提取眼睛旋转。处理器可以使用角膜反射和瞳孔中心作为随时间跟踪的特征。可替代地,来自角膜前部和晶状体后部的反射可以是被跟踪的特征。通过使用作为深度图的一部分或者独立地成像和处理的做出手势的个体114的眼睛的ir图像,系统可以确定个体视线的方向。如下所述,系统可以跨环境图像图外推来自个体的视线,以搜索投影的视线和感兴趣对象的交点。

除了观察和捕获个体的位置和眼睛位置之外,系统还可以检测引导个体114的手势122(例如,指向手势)。手势122可用于识别、帮助识别或确认引导个体114的注意力的方向性。如下所述,系统可以检测伸出的手臂或手。基于做手势的手臂和引导个体114的身体之间的角度,系统可以外推通过无约束环境100的有方向性的线或向量。

图2a示出了观察引导个体114的视线130的图像捕获设备110的概念图200的示例。除了检测视线130之外,图像捕获设备110可以从引导个体114识别指向方向124或其他方向手势,以对引导个体114感兴趣的位置或对象进行三角测量。该系统可以分析来自ir传感器120或360度单目相机111的图像图。基于该分析,系统可以应用模式或形状识别过程来识别引导个体114和指向方向124。

引导个体114、视线130和手势122可用于从做出手势的个体114推断关注的方向126。该系统可以检测引导个体114的视线130和手势122两者。该系统可以识别从较大质块(例如引导个体114的身体128)延伸出来的延伸臂或附属物。来自视线方向和手势方向的数据可以被组合。该系统可以使用从图像捕获设备110到引导个体114以及到指向方向124的末端的距离136、137来确定方向性向量132。如图2a的示例所示,可以通过手势122外推个体114的眼睛的方向上的方向性向量132。通过使用图像图,系统可以确定方向性向量132与关注对象(例如画118)相交。可以基于方向性向量132和关注对象的交点来识别关注对象。

图2b描绘了可以由系统解释的图2a的图。如图2b所示,系统可以分析来自ir传感器120’或360度单目相机111’的图像图。方向性向量132’可以例如通过对引导个体114’的身体128’、眼睛注视视线130’和手势122’进行三角测量来估计。该系统可以使用从图像捕获设备110’到做出手势的个体114’的眼睛以及眼睛注视视线130’与手势122’的交点的距离136’、137’来估计方向性向量132’。方向性向量132’可以沿着眼睛注视视线130’延伸到与感兴趣对象118’(例如,画118)的交点。虽然图2a-图2b的图示示例可以一起使用视线和手势识别,但是系统仍然可以仅使用视线来定位和识别感兴趣的对象,或者它可以使用手势信息来补充或确认视线检测的准确性。也可以仅使用手势信息。例如,通过仅使用手势122’并仅在手势122’的方向上外推来自个体114’的手势向量134’,手势向量134’仍然与感兴趣对象118’相交。

该系统可以生成显著性图来定义场景中可能的关注区域。该系统可以分析图像和深度图,以生成3d向量并将3d向量投影到显著性图上,该3d向量指示个体的视线和/或手势方向。图3a是系统基于2d图像和深度感测数据生成的360度全景图像300和显著性图300’的概念图。全景图像300可以是2d图像。在该示例中,当图像捕获设备扫描环境时,全景图像300线性地描绘个体112、113、114、窗户117、119和画118。

显著性图300’可以基于360度全景图像300和ir深度图。如前所述,ir深度图可以由图像捕获设备和ir传感器获得。显著性图300’可以是表示相应视觉场景的视觉显著性的拓扑排列图,例如无约束环境的360度图像。图像数据和深度传感数据可以被组合以形成显著性图300’。显著性图300’可以识别环境中的感兴趣区域。该系统可以将个体112’、113’、114’、对象117’、119’(例如,窗户117、119)和感兴趣对象118’(例如,画118)识别为感兴趣区域。出于说明的目的,显著性图300’中的感兴趣区域或对象被描绘成与全景图像300相比是相反的。由于周围区域和已知的不感兴趣区域的差异,系统可以将这些对象和个体确定为感兴趣的。

例如,与墙壁、地板和/或被视为连续图像数据的较大区域的其他位置相比,系统可能对环境内的可区分对象更感兴趣。诸如墙壁和/或地板之类的低兴趣区域可以被识别为低兴趣区域,这是因为连续且同质的像素数据跨越环境内的较大区域。由于基于与周围区域的像素数据的比较而识别的不同和对比的像素数据,个体和对象可以被识别为感兴趣的对象。该系统可以分析显著性图300’,连同注视和/或手势信息,以识别个体关注的对象或位置。

3d方向性向量138’可以由系统生成并投影在显著性图300’上。方向性向量138’可以被投影到观察场景的其余部分,包括任何不确定性界限。当数据被可视化为3d模型时,由于噪声和其他因素,数据中可能存在不确定性。不确定性数据可以与其他数据一起提供,以指示数据的不确定性水平(例如,保真度)。视线检测系统可以基于人的视角或相对姿态来估计不确定性界限。例如,如果此人将视线从相机移开,由于相机和个体的眼睛之间缺乏直接的视线,所以不确定性界限可能会很大。另一方面,如果这个人靠近相机并且前平行,则不确定性界限可能会较小。不确定性界限可以有效地将估计的3d向量转换成顶点在眼球处的圆锥体。

手势检测和相关信息可用于缩小不确定性界限。例如,如果引导个体的朝向远离相机,使得系统检测不到个体的眼睛,则手势检测和信息可用于补充分析以定位和识别感兴趣的对象。该系统可能能够基于个体头部远离相机的方向产生宽的关注锥体。如果检测到手势,则系统可以基于检测到的手势的方向性,生成手势关注锥体。然后,该系统可以确定视线关注锥体与手势关注锥体的交叉或重叠。两个关注锥体的交叉点可以提供更窄的3d向量锥体,系统可以在该3d向量锥体内定位和识别潜在的关注对象。

如前所述,系统可以使用深度图数据来确定从图像捕获设备到引导个体114’的距离。基于所确定的距离,系统可以从做出手势的个体114’的位置在检测到的视线或手势的方向上投影方向性向量138’,以识别与感兴趣对象118’的交点。在图3的示例中,系统可以在方向性向量138’的路径中识别感兴趣对象118’。因此,系统可以基于与方向性向量138’的交点,将感兴趣对象118’识别为做出手势的个体114’的关注对象。

如上所述,手势信息可由系统观察并用于帮助系统定位和识别感兴趣对象118’。可以使用来自显著性图300’的信息来生成手势向量140’。手势向量140’可以基于做出手势的手臂相对于个体114’身体的角度,并且在通过显著性图300’的方向上外推。如图3所示,手势向量140’仍然可以与相同的感兴趣对象118’相交。为了提高准确性和确定性,系统可以使用视线和手势向量两者来三角测量或以其他方式检测与感兴趣对象的交点。

为进一步减少不确定性,该系统可以通过生成热图来改进视线检测,该热图结合了引导个体在一段时间内的视线的离散快照。不仅人眼总是在移动,而且引导个体的注意力也可能会变化。例如,引导个体可能会暂时回头注视机器人、另一个个体或感兴趣对象的另一部分。对引导个体眼睛的单个图像捕获可能不足以识别或不足以准确识别正确的关注对象。

图3b是根据本公开的一个实施例的热图301的概念图。使用热图301可以提供附加的精确度,该热图301结合了一段时间内引导个体的视线的一个或多个图像或扫描。热图301可以通过组合来自在时间t内拍摄的一系列视线图像或扫描(这些图像或扫描在图3b中描绘为视线范围142″)的数据来形成,以识别引导个体以最高频率注视的区域。图3b中描绘的区域112″、113″、117″、118″、119″代表其中引导个体可以被确定为注视该特定区域的图像扫描的密度和/或频率。系统可以估计,在给定的扫描周期t内,引导个体114″注视一个区域118″的频率高于环境内的其他区域。根据说明性热图301,基于扫描密度,最高数量的视线扫描可以指示感兴趣区域118″。

可以在相邻区域117″、119″(分别代表窗户117和119)处检测到不太频繁的感兴趣区域。指示环境中其他个体112、113的区域112″、113″也可以用较低频率的扫描数据来显示。在热图中识别的较低频率区域可以指示引导个体114″在时间段t期间短暂地扫视窗户和环境中的其他个体。应当理解,图3b中的引导个体114″的表示仅仅是为了说明的目的而提供的,以提供附加的情境和参考框架。在系统收集视线数据的时间段t内,引导个体不大可能注视自己。

热图301可以与显著性图相结合,以确定热图中的感兴趣区域与显著性图中识别的对象的交集。该系统可能已经识别出环境中的对象物理上位于何处(即,显著性图),并确定引导个体正在注视哪里或向哪里做手势(即,热图)。组合两组数据可以以某一确定性水平指示感兴趣对象的位置。

一旦系统已经使用上述方法中的任何方法识别出感兴趣的对象,系统就可以确定所识别的对象的身份。该系统可以使用由图像捕获设备获得的图像和深度数据来(例如,通过使用由神经网络提供的特征表示)搜索知识库,以将所识别的感兴趣对象118’与知识库中的类似对象相关联。如果在一定程度的确定性内进行了匹配,则系统可以将所识别的感兴趣对象118’与匹配对象相关联。

然而,如果感兴趣的对象不匹配,则系统可以开始学习过程来识别对象的身份。例如,系统可以指示所识别的感兴趣对象是未知的,并提示引导个体或其他操作员提供信息。系统提示可以包括音频或视觉提示,或者系统可以通过其获得关于感兴趣对象的身份的信息的任何其他寻求输入的请求。该系统可以使用机器学习技术和用户输入来将与对象相关的图像数据与已知对象的身份相关联,使得感兴趣对象(例如,画)和观察到的具有相似图像数据的对象对于系统来说可以是已知的。

系统可以使用用户输入向知识库提供识别信息。例如,系统可以使用语音识别和自然语言理解来从用户输入中获得对象名称和其他信息。例如,如果系统不能识别知识库中的对象,则系统可以输出用于识别信息的音频或视觉提示。响应于提示,个体可以通过名字来口头识别对象。该系统可以记录个体的口头识别的音频信号,并使用自然语言处理器处理该音频信号,以解析该音频并将该音频转换成机器可理解的文本。然后,系统可以将识别信息与图像数据相关联,并将该关联存储在知识库中,以供将来调用。此外,系统还可以记录关于对象的附加信息,例如对象相对于环境的位置、对象与其他类似或可区分的对象的接近度等。收集的附加数据可以在将来查询或处理环境中的对象时帮助系统。

该系统还可以学习或被编程为具有命令、对象和每个对象的启示(affordance)的库。启示可包括个体或机器与其环境之间可能的各种事务。该系统可以在获知对象的身份后,将该对象与一组启示相关联,该组启示为该系统将如何定位、识别给定对象以及与该给定对象进行交互提供了附加的上下文。例如,如果系统被训练来识别桌子,则某些启示可以与该对象相关联,以用于将来的交互。给定桌子的对象标识,系统可以将某些特征与对象相关联。示例性的属性可以包括但不限于可以放置物品的平坦表面、在地板上方抬高的表面等。因此,来自引导个体的未来交互可以指示系统定位“桌子上”的对象。系统可以识别桌子的身份并提取相关属性,并且知道桌子包括在地面上方抬高的表面。

这样的启示和与对象相关联的属性然后可以用于进一步过滤环境信息,使得系统可以首先寻求识别桌子,然后在桌子(及其表面)的较窄环境中定位所请求的对象。对象与其属性和特征的关联可以在训练、语义场景解析或本文所述的其他机器学习阶段期间完成。

现在转向图4,示出了根据本公开的实施例的系统400。系统400可以包括专用计算机器405。如上所述,计算机器405可以被实现为移动机器人,或者可以是另一种整合的或分布式的计算机器,例如被设计和实现为使用人类视线和手势检测来定位和识别感兴趣对象的专用计算机。计算机器405可以包括专门为这里描述的系统设计的数据源、服务器和/或客户端设备。

计算机器405可以包括能够与人类交互的交互式机器人。计算机器405也可以是用于通过网络402与其他设备或传感器交互的设备,但是被置于如上文所述的无约束环境中,诸如膝上型计算机、台式计算机、个人数字助理、平板电脑、移动电话、电视、机顶盒、可穿戴计算机等。在某些方面,计算机器405可以使用硬件或者软件和硬件的组合来实现。计算机器405可以是独立设备、集成到另一个实体或设备中的设备、分布在多个实体上的平台或者在虚拟化环境中执行的虚拟化设备。

网络402可以包括适于在系统400中的组件之间传送数据和控制信息的(一个或多个)数据网络或(一个或多个)互联网络。这可以包括诸如因特网之类的公共网络、专用网络和电信网络,诸如公共交换电话网或使用第三代蜂窝技术(例如3g或imt-2000)、第四代蜂窝技术(例如4g、lte、mt-advanced、e-utra等)、wimax-advanced(ieee802.16m)和/或其他技术的蜂窝网络,以及各种公司区域、城域、校园或其他局域网或企业网络中的任何一种,以及可用于在如本文所述在计算机系统400中互操作的组件之间传送数据的任何交换机、路由器、集线器、网关等。网络402还可以包括数据网络的组合,并且不需要限于严格的公共或私有网络。该系统可以包括外部设备404。外部设备404可以是通过网络402连接到计算机器405的计算机或其他远程资源。

通常,计算机器405可以包括处理器406、存储器408、网络接口410、数据存储库412和一个或多个输入/输出接口414。计算机器405还可以包括有线或无线外围设备416或者可以连接到输入/输出接口414的其他外部输入/输出设备,例如遥控器、通信设备等,或者与有线或无线外围设备416或者其他外部输入/输出设备通信。

处理器406可以是能够处理指令以在计算机器405或系统400内执行的处理器或处理电路。处理器406可以包括单线程处理器、多线程处理器、多核处理器等中的一种或多种。处理器406可以能够处理存储在存储器408或数据存储库412中的指令,并提供如本文所述的功能。处理器406可以是单个处理器,或者可以包括与系统400和其他处理器协同工作以并行执行指令的多个处理器。

存储器408可以在计算机器405内存储信息。存储器408可以包括易失性或非易失性存储器或其他计算机可读介质,包括但不限于随机存取存储器(ram)、闪存、只读存储器(rom)、可编程只读存储器(prom)、可擦除prom(eprom)、寄存器等。存储器408可以存储程序指令、程序数据、可执行程序以及对控制计算机器405的操作和将计算机器405配置为执行用于用户的功能有用的其他软件和数据。存储器408可以包括用于计算机器405的操作的不同方面的多个不同阶段和不同类型的存储器。例如,处理器可以包括板载存储器和/或高速缓存,用于更快地访问某些数据或指令,并且可以包括独立的主存储器等,以根据需要扩展存储器容量。如本文所预期的,所有这样的存储器类型都可以是存储器408的一部分。

通常,存储器408可以包括包含计算机代码的非易失性计算机可读介质,当计算机代码被计算机器405执行时,为所讨论的计算机程序创建执行环境(例如,构成处理器固件、协议栈、数据库管理系统、操作系统或前述的组合的代码),并且执行流程图和/或本文阐述的其他算法描述中描述或阐述的一些或全部步骤。

虽然描绘了单个存储器408,但是应当理解,多个存储器可以有用地结合到计算机器405中。例如,第一存储器可以提供非易失性存储装置,例如盘驱动器,用于即使当计算机器405断电时的文件和代码的永久或长期存储。诸如随机存取存储器之类的第二存储器可以提供易失性(但速度更高的)存储器,用于存储用于执行过程的指令和数据。第三存储器可用于通过为寄存器、高速缓存等提供与处理器406物理相邻的更高速存储器来提高性能。

网络接口410可以包括硬件和/或软件,用于通过网络402以通信关系连接计算机器405和其他资源。这可以包括通过因特网可访问的远程资源,以及使用短程通信协议可用的本地资源,所述短程通信协议使用例如物理连接(例如,以太网)、射频通信(例如,wi-fi)、光通信(例如,光纤、红外等)、超声波通信、或者这些介质或可以用于在计算机器405和其他设备之间携带数据的其他介质的组合。网络接口410可以例如包括路由器、调制解调器、网卡、红外收发器、射频(rf)收发器、近场通信接口、射频识别(rfid)标签读取器或任何其他数据读取或写入资源等。

更一般地,网络接口410可以包括适合于将计算机器405的组件耦合到其他计算或通信资源的硬件和软件的组合。作为示例而非限制,这可以包括根据ieee802.11标准(或其变体)操作的有线或无线以太网连接的电子器件,或者其他短程或远程无线网络组件等。这可以包括用于短程数据通信的硬件,例如蓝牙或红外收发器,该硬件可以用于耦合到其他本地设备,或者连接到局域网等,该局域网又耦合到数据网络402,例如因特网。这也可以包括用于(使用例如cdma、gsm、lte或任何其他合适的协议或协议组合的)wimax连接或蜂窝网络连接的硬件/软件。网络接口410可以作为输入/输出接口414的一部分被包括,反之亦然。

数据存储库412可以是提供计算机可读介质的内部存储库,例如盘驱动器、光盘驱动器、磁盘驱动器、闪存驱动器或能够为计算机器405提供大容量存储的其他设备。数据存储库412可以以非易失性的形式为计算机器405或系统400存储计算机可读指令、数据结构、程序模块和其他数据,用于相对长期的、持久的存储以及随后的检索和使用。例如,数据存储库412可以存储操作系统、应用程序、程序数据、数据库、文件和其他程序模块或其他软件对象等。

输入/输出接口414可以支持来自可能耦合到计算机器405的其他设备的输入和向该其他设备的输出。例如,这可以包括串行端口(例如,rs-232端口)、通用串行总线(usb)端口、光学端口、以太网端口、电话端口、音频插孔、组件音频/视频输入、hdmi端口等,它们中的任何一种都可以用于形成到其他本地设备的有线连接。这还可以包括红外接口、射频接口、磁卡阅读器或其他输入/输出系统,用于以通信关系与其他本地设备无线耦合。应当理解,虽然用于网络通信的网络接口410与用于本地设备通信的输入/输出接口414分开描述,但是这两种接口可以是相同的,或者可以例如在usb端口用于附接到wi-fi附件的情况下,或者在以太网连接用于耦合到本地网络附接存储装置的情况下共享功能。

外围设备416可以包括用于向计算机器405提供信息或从计算机器405接收信息的设备。这可以包括人类输入/输出(i/o)设备,例如遥控器、键盘、鼠标、鼠标垫、轨迹球、操纵杆、麦克风、脚踏板、触摸屏、扫描仪或可以用来向计算机器405提供输入的其他设备。这可以包括显示器、扬声器、打印机、投影仪、耳机或用于呈现信息的任何其他视听设备。外围设备416可以包括数字信号处理设备、致动器或其他设备,以支持对其他设备或组件的控制或与其他设备或组件的通信。

适合用作外围设备416的其他i/o设备包括触觉设备、三维呈现系统、增强现实显示器等。在一方面,外围设备416可以充当网络接口410,例如与被配置为经由短程(例如,蓝牙、wi-fi、红外、射频等)或远程(例如,蜂窝数据或wimax)通信协议提供通信的usb设备一起。在另一方面,外围设备416可以利用诸如全球定位系统(gps)设备,安全加密狗或其他设备之类的附加功能或特征来增强计算机器405的操作。在另一方面,外围设备416可以包括存储设备,例如闪存卡、usb驱动器或其他固态设备,或者光驱、磁盘驱动器、盘驱动器或适合大容量存储的其他设备或设备的组合。更一般地,适合与计算机器405一起使用的设备或设备的组合可以被用作如本文所设想的外围设备416。

控制器418可用于控制计算机器405的运动或移动控制。例如,计算机器405可以被实现为移动机器人,其中控制器418可以负责监测和控制计算机器405的所有运动和移动功能。控制器418的任务可以是控制与计算机器的运动部件的运动或移动相关联的马达、轮子、齿轮、臂或铰接的肢体或手指。控制器可以与输入/输出接口414和外围设备416对接,其中外围设备416是能够引导计算机器的移动的遥控器。

图像捕获设备420可以包括相机、传感器或其他图像数据收集设备,用于结合计算机器405捕获和记录与环境相关的图像数据的能力来使用。例如,图像捕获设备420可以包括适于捕获无约束环境的2d图像的360度全景相机422。图像捕获设备420还可以包括深度感测设备424,诸如立体相机、结构光相机、飞行时间相机等,从而为计算机器405提供生成环境的深度图并且与2d全景图像一起生成详细描述环境内的个体、手势和感兴趣区域的显著性图的能力。图像捕获设备420还可以包括附加的视线检测设备,例如光学跟踪器等。可替代地,深度感测设备424可能能够例如如上所述使用红外相机和传感器来检测视线。

知识库426可以充当如上所述的计算机器405的学习中心。知识库426可以是人工智能系统、深度神经网络、语义场景解析系统、同时定位和绘图系统、计算机视觉系统等的形式。知识库可以与输入/输出接口414或网络接口410对接,以通过网络402与外部数据源通信,以获得与未知对象的识别和关联相关的附加信息。知识库426可以用作使用环境图像数据对系统定位的感兴趣对象的识别和关联的基础。知识库426可以与数据存储库412或存储器408对接,以存储和调用与识别的已知和未知对象相关的数据以及与这些对象相关的属性。

其他硬件428,例如协处理器、数字信号处理系统、数学协处理器、图形引擎、视频驱动器、麦克风或扬声器,可以被结合到计算机器405中。其他硬件428可以包括扩展的输入/输出端口、额外的存储器或附加的驱动器(例如,盘驱动器或其他附件)。

总线430或总线的组合可以用作电子或机电中枢,用于互连计算机器405的组件,例如处理器406、存储器408、网络接口410、数据存储库412、输入/输出接口414、控制器418、图像捕获设备420、知识库426和其他硬件428。如图所示,可以使用系统总线430以通信关系将计算机器405的每个组件互连,以共享控制、命令、数据或电源。

现在转向图5,示出了根据本公开的实施例的使用人类视线和手势检测来定位和识别对象的方法500的流程图。如上所述,这里描述的系统可以使用环境图像数据、人眼视线信息和手势信息来定位和识别个体感兴趣的对象。如框505所示,系统可以接收识别对象的请求。例如,个人可以通过在遥控器或与系统通信的其他接口上发出口头命令或触觉命令来发起定位和检测请求。

该系统可以在接收到口头或其他形式的请求时,使用自然语言处理、习得行为等来解析该请求,以进一步改进定位和识别过程。如上所述,该系统可以用命令、对象和启示的库来训练或编程,该库可以用于改进显著性图和对象定位和检测。请求的语言可以向系统提供附加的情境信息,这可以允许系统缩小其搜索区域或环境。例如,如果引导个体提交了“定位桌子上的对象”的请求,并注视着桌子上的盒子,则系统可以解析该请求并将桌子识别为系统可以从其中搜索到对象的较窄的环境。系统可以知道桌子具有升高的平坦表面,对象可以放置在该表面上。然后,系统可以从其环境中消除墙、地板和不共享桌子的已知属性的其他对象。已知和学习的命令、对象和启示的库可以提供基础知识库,系统可以基于该基础知识库,开始其定位和识别过程。

如框510所示,系统可以捕获与无约束环境相关的图像和深度信息。该系统可以捕获无约束环境的2d图像。2d环境图像可以由360度全景相机捕获,或者可以是由一个或多个相机拍摄的一系列图像,这些图像被拼接在一起以形成环境的360度表示。该系统可以进一步捕获深度图像。深度图像可以使用红外相机、传感器等获得。环境深度信息也可以使用(例如,用于移动机器人系统的)slam或深度神经网络来获得,该深度神经网络被训练用于在诸如室内场景之类的无约束环境中的深度估计。深度信息可以用于测量系统、系统检测到的个体、对象和/或环境的其他可定义轮廓之间的距离。

如框515所示,系统可以构建或检索环境图。环境图可以基于由系统获得的2d全景图像和深度感测数据。可替代地,如果环境图先前已经被绘制或上传到系统,则可以从系统存储器中检索环境图。环境图可以作为显著性图生成,该显著性图将图像和深度数据详细描述成对系统来说有意义且更容易解释的环境表示。可替代地,可以通过将场景语义解析成对象及其身份(如果已知的话)来生成环境图。该系统可以基于(例如,与公共或同质像素区域相比,识别区分像素或图像数据的区域的)区分图像数据来定义感兴趣区域。

如框520所示,一旦构建或检索了环境图,则系统可以定位和识别个体,而不是对象,以及个体的视线。可以在被识别的个体的头部和眼睛周围生成边界框。在边界框内,可以使用红外传感器或其他光学/头部跟踪设备来检测个体的视线,以定位和跟踪个体眼睛的移动,从而形成估计的视线向量。

如框525所示,系统可以检测来自个体的视线。对环境图和所识别的个体的分析可以导致对引导个体的视线方向的检测。可以使用rgb相机、红外传感器等来检测视线,以确定个体眼睛的移动和注视方向。

如框530所示,系统然后可以生成方向性向量。对个体视线和手势的分析可以允许系统在个体视线和手势的估计方向上从个体跨越环境图在环境场景上投射方向性向量。方向性向量可以通过环境从个体的视线和手势推断出来。

如框535所示,系统可以基于个体的视线和手势来搜索和定位关注对象。该系统可以分析外推的方向性向量,以确定该向量是否与显著性图中识别的任何对象或感兴趣区域的相交。如果向量与显著性图中的感兴趣区域相交,则系统可以将感兴趣区域确定为个体关注的对象。

如框540所示,系统可以确定对象是否已知。一旦感兴趣的对象被定位,系统可以查阅知识库,例如神经网络、图像数据库或其他数据源,以将对象的图像数据与具有类似关联图像数据的已知对象进行比较。

如果对象是已知的,如框550所示,则系统可以从个体寻求进一步的指令。例如,系统可以产生对象已经被定位和识别的可听或视觉指示,并指示对象的身份。然后,系统可以提示个体提供关于该对象的进一步指令,或者另一个对象的位置和标识。如果系统不知道该对象,如框545所示,系统可以启动学习过程,通过该学习过程,系统可以利用来自个体的交互,通过将对象的图像数据记录在知识库中以及记录由个体提供的相关联的身份来被训练。下一次调用系统来识别具有相似图像数据的对象时,可以调用图像数据和相关联的身份。

现在转向图6,进一步的流程图描绘了根据本公开的实施例的视线确定的改进。如框605所示,并且如前所述,系统可以从引导个体接收定位和识别感兴趣对象的请求。该请求可以是口头请求,或者可以通过位于系统上或远离系统的用户界面或其他控制器来发起。该系统通过编程或先进的机器学习技术,可以解析复杂的和基于情境的请求,以便开始搜索和定位感兴趣的对象。该请求可以进一步包括一旦感兴趣的对象被识别就要执行的附加指令。系统同样可以依靠编程或先进知识库来解析和执行附加指令。

如框610所示,并且如前所述,系统可以捕获与无约束环境相关的传感器信息。传感器数据可以通过rgb相机、红外传感器等来获取,以捕获环境。如框615所示,系统可以使用捕获的传感器信息来构建或检索环境图。系统可以将新获取的传感器数据的一些或全部与系统可能已经存储在存储器中的其他环境图进行比较。如果该环境对于系统是已知的,则可以检索先前存储的环境图。然而,如果环境对于系统是未知的,则系统可以在存储器中注册环境图以供后续操作使用。

如框620所示,并且如本文所述,系统还可以基于捕获的传感器数据来定位和识别环境中的个体。可以实现模式识别、面部识别等来定位和识别环境内个体的存在。如果环境中存在一个以上的个体,则系统可以实施附加的过程来确定哪个个体是引导个体。为了定位引导个体关注的对象以及该个体正在注视的地方,系统可以解析与个体相关的数据,以确定个体中的一个个体是否正在直视系统、做出手势或者拥有系统可以被编程来定位的特定特征。例如,引导个体可能拿着遥控器或系统可以识别的其他控制器,从而表示携带者是引导个体。如果系统无法识别引导个体,则系统可以发出寻求进一步指示的提示。

如框625所示,系统可以估计引导个体的活动、视线和/或手势。如上所述,系统可以通过扫描眼睛活动和处理引导个体可能正在看的地方来检测引导个体的视线。视线检测和跟踪可以由其他可观察的信息来补充,从而向系统给出附加的情境信息以基于其继续系统的分析。例如,系统可以观察以确定个人是否参与特定的活动、姿势或位置,这可以进一步细化系统正在寻找关注对象的环境。另外,如前所述,系统可以检测引导个体的手势以提供附加信息。这些观察结果可以形成一组参数,供系统用来将环境信息过滤到较窄的关注区域中,以便定位关注对象。

如框630所示,包括图像和深度信息的环境图可用于生成显著性图。显著性图可以使用上述技术生成,这些技术包括语义场景解析或其他图像处理技术。系统获得的附加信息可以帮助生成显著性图。结合框625,个体的观察结果可用于进一步发展或限制显著性图。如果以进一步细化环境的方式观察引导个体,则系统可能只关心那个有限的区域。例如,如果引导个体正在向环境的一部分做出手势,则系统可以将显著性图仅限制到环境的该区域。

另外,在框605处,系统可能能够使用从原始请求提取的情境信息和启示来进一步限制环境。例如,如果请求包括对环境区域(例如角落)的标识,或者它包括用于“打开窗户”的情境命令,则系统可以将环境和显著性图仅限制为在墙上的对象。以这种方式,系统可以生成具有更有限的潜在对象或感兴趣区域总体的关注显著性图。

如步骤635所示,系统可以基于观察到的引导个体的活动和视线生成关注热图。关注热图可以由系统使用在一段时间内对引导个体的多次扫描来生成。如上所述,由于眼睛的自然移动和引导个体在发出请求时注视多个区域的倾向,系统可以进行多次扫描,并生成详细描述引导个体视线的位置的频率和密度的热图。引导个体视线的最高集中区域可以表示引导个体正引导她的注意力指向的区域或方向。虽然可能检测到若干离散的视线方向,但是若干视线扫描的合并可以提供指向关注对象所在区域的明显更多数量的扫描。

如框640所示,关注热图可以与显著性图组合、覆盖或重叠,以确定感兴趣对象的位置。该系统可以通过确定显著性图上的感兴趣区域与检测到的视线的集中区域的交点来确定感兴趣对象的位置。如果系统能够确定这样的交点,则系统可以已经定位了感兴趣的对象,然后可以继续识别该对象。如前所述,如果可以使用系统在该过程中获得的任何信息来识别感兴趣的对象,则系统可以指示同样多的信息。如果该对象对于系统是未知的,则可以启动学习过程。

虽然这里描述的系统的实施例包括检测人类视线和手势的移动机器人,但是本领域技术人员将认识到,该系统不仅仅局限于那些机器人,并且在不脱离本公开的范围的情况下,可以以其他方式实现其他类型的计算机器,无论是分布式的还是集中式的。

此外,尽管本公开中描述的说明性系统和方法实现了360度全景相机来捕获无约束环境的2d图像,但是本领域技术人员将认识到,可以使用其他图像捕获设备。例如,rgb相机、旋转相机或具有重叠视场的多个相机可用于捕获一系列环境图像,系统处理器可将这些环境图像拼接在一起以形成环境的单个360度表示。

虽然本公开的实施例描述了使用红外相机、传感器等来生成深度图信息,但是本领域技术人员将认识到,在不脱离本公开的范围的情况下,可以使用其他深度感测技术,包括但不限于为深度估计而训练的深度神经网络或slam。

对单数形式的项目的引用应理解为包括复数形式的项目,反之亦然,除非另有明确说明或从文本中是清楚的。语法连词旨在表达连词从句、句子、单词等的任何和所有转折连词和连词组合,除非另有说明或从上下文中是清楚的。因此,术语“或”通常应理解为意指“和/或”等。

除非本文另有说明,否则本文对数值范围的记载并不旨在进行限制,而是替代地单独指落入该范围内的任何和所有数值,并且这样范围内的每个单独的数值都被结合到说明书中,如同其在本文中被单独记载一样。当伴随数值或方向时,词语“大约”、“近似”、“基本上”等应被解释为指示偏差,如本领域普通技术人员所理解的那样,以为了预期目的而令人满意地操作。值和/或数值的范围在此仅作为示例提供,并不构成对所述实施例范围的限制。本文提供的任何和所有示例或示例性语言(“例如”、“诸如”等)的使用仅旨在更好地说明实施例,而不构成对实施例范围的限制。说明书中的任何语言都不应被解释为表示任何对实施例的实践至关重要的未要求保护的元素。

在说明书和随后的权利要求中,应当理解,诸如“第一”、“第二”、“第三”、“以上”、“以下”等之类的术语是为了方便起见而使用的词语,除非另有明确说明,否则不应被解释为限制性术语。

应当理解,上述方法和系统是作为示例而非限制来阐述的。对于本领域普通技术人员来说,许多变化、添加、省略和其他修改将是明显的。此外,以上描述和附图中的方法步骤的顺序或表示不旨在要求执行所述步骤的该顺序,除非明确要求特定的顺序或者从上下文中是明显的。因此,虽然已经示出和描述了特定的实施例,但是对于本领域技术人员来说明显的是,在不脱离本公开的精神和范围的情况下,可以在形式和细节上进行各种改变和修改,并且旨在形成由以下权利要求限定的公开的一部分,这些权利要求将在法律允许的最广泛的意义上进行解释。

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