使用图像数据的活动讲话者检测的制作方法

文档序号:33383600发布日期:2023-03-08 07:04阅读:27来源:国知局
使用图像数据的活动讲话者检测
背景技术
::1.语音识别系统已经发展到人们可以使用语音与计算设备交互的程度。这种系统采用基于接收到的音频输入的各种质量来识别人类用户所说的词语的技术。与自然语言理解处理技术相结合的语音识别使得计算设备的基于语音的用户控制能够基于用户的所讲命令来执行任务。语音识别和自然语言理解处理技术在本文可以统称为语音处理。语音处理还可以涉及将用户的语音转换为文本数据,然后可以将文本数据提供给各种基于文本的软件应用。2.语音处理可以由计算机、手持设备、电话计算机系统、自助服务终端和各种其它设备所使用,以改进人机交互。附图说明3.为了更完整地理解本公开,现在结合附图参考以下描述。4.图1是示出了根据本公开实施例的执行活动讲话者检测以检测和跟踪发声的虚拟辅助系统的概念图。5.图2是根据本公开实施例的系统组件的概念图。6.图3是示出了根据本公开实施例的可包括在设备中的组件的概念图。7.图4是根据本公开实施例的用于检测输入音频数据是否包括系统导向语音的系统组件的概念图。8.图5是根据本公开实施例的图像处理组件的组件的概念图。9.图6a至图6f示出了根据各种实施例的跟踪图像数据中的用户面部的示例。10.图7是示出了根据本公开实施例的通过计算嘴部纵横比来执行活动讲话者检测的示例的概念图。11.图8a至图8b是示出了根据本公开实施例的生成具有未知面部表示的网格模型的示例的概念图。12.图9是示出了根据本公开实施例的用于生成网格模型的形状参数和表情参数的示例的概念图。13.图10a至图10b是示出了根据本公开实施例的执行面部测量并计算纵横比的示例的概念图。14.图11是示出了根据本公开实施例的与两个不同面部相关联的嘴部纵横比值和对应的标准偏差的示例的概念图。15.图12a是示出了根据本公开实施例的用于执行活动讲话者检测的基于帧的方法的示例的概念图。16.图12b是示出了根据本公开实施例的用于执行活动讲话者检测的基于发声的方法的示例的概念图。17.图13是概念性示出了根据本公开实施例的用于生成嘴部纵横比数据的示例性方法的流程图。18.图14a是概念性示出了根据本公开实施例的用于执行活动讲话者检测以检测发声的基于帧的方法的实例的流程图。19.图14b是概念性示出了根据本公开实施例的用于执行活动讲话者检测以识别与发声相关联的面部的基于发声的方法的示例的流程图。20.图15a至图15b是概念性示出了根据本公开实施例的用于确定嘴部数据和使用嘴部数据来确定用户是否正在讲话的示例性方法的流程图。21.图16a至图16b是概念性示出了根据本公开实施例的用于执行活动讲话者检测以检测发声并执行语音处理的示例性方法的流程图。22.图17是概念性示出了根据本公开实施例的用于执行活动讲话者检测以确定哪个用户正在讲话并执行动作的示例性方法的流程图。23.图18是概念性示出了根据本公开实施例的设备的实例性组件的框图。24.图19是概念性示出了根据本公开实施例的系统的示例性组件的框图。25.图20示出了根据本公开实施例的用于与整个系统一起使用的计算机网络的示例。具体实施方式26.电子设备可以使用不同的计算机化的语音使能技术。自动语音识别(automaticspeechrecognition,asr)属于将与语音相关联的音频数据转换为该语音的表示文本的计算机科学、人工智能和语言学领域。类似地,自然语言理解(naturallanguageunderstanding,nlu)属于使计算机能够从包含自然语言的文本输入中获得含义的计算机科学、人工智能以及语言学领域。asr和nlu经常被一起用作语音处理系统(其有时被称为口语语言理解(spokenlanguageunderstanding,slu)系统)的一部分。文本到语音(text-to-speech,tts)是涉及将文本和/或其它数据转换为合成以类似于人类语音的音频数据的计算机科学领域。asr、nlu和tts可以一起用作语音处理系统的一部分。27.该系统可以被配置成结合用户许可,并且如果被用户批准,则可以仅执行本文所公开的活动。这样,本文描述的系统、设备、组件和技术通常被配置成在适当情况下限制处理,并且仅以确保遵守所有适当的法律、法规、标准等的方式来处理用户信息。该系统和技术可以在地理基础上实现,以确保遵守系统和/或用户的组件所在的各种管辖区和实体中的法律。28.对话处理属于涉及经由文本、音频和/或其它形式的通信的计算系统与人类之间通信的计算机科学领域。虽然一些对话处理仅涉及只给出来自用户的最近输入(即,单轮对话)的响应的简单生成,但是更复杂的对话处理涉及在多个对轮话(例如进行餐馆预订和/或预订航空机票)中对用户所表达的一个或多个目标进行确定和可选地进行动作。这些多轮“面向目标”的对话系统通常需要识别、保持和使用在与用户的来回或“多轮”交互期间在多于一个输入期间收集的信息。29.为了改善对话处理和/或用户体验,一种系统可以被配置成使用图像数据来帮助执行活动讲话者检测,以检测/理解发声和/或确定哪个用户正在讲话。例如,当执行发声检测时,系统可以被配置成处理输入图像数据以便相应地进行响应。例如,系统可以连续地处理图像数据,以识别在图像数据中表示的面部,执行面部分析以确定表示面部的形状参数(例如,表示面部形状的数据或特定面部特征至少相对于其它面部特征的相对定位)和表示面部的面部表情参数(例如,表示面部表情的数据或至少面部特征的相对运动),并且使用表情参数来确定用户是否正在讲话。在一些示例中,系统使用表情参数来生成具有表示用户的嘴部运动的统一标识(identity)和姿势的中性网格模型。使用该中性网格模型,系统可以测量用户随时间的嘴部运动,例如通过确定嘴部高度和嘴部宽度之间的嘴部纵横比。基于嘴部运动的变化量,系统可以确定用户是否正在讲话并检测发声。30.在一些示例中,系统可以被配置成处理音频数据以检测发声并确定发声的开始和/或结束。为了改善用户体验,系统可以执行活动讲话者检测,以基于图像数据确定哪个用户正在讲话。使用上述技术,系统可以处理与发声相对应的一部分图像数据,以确定在图像数据中表示的每个面部的嘴部运动的变化量。例如,系统可以将与第一用户相关联的第一变化量与与第二用户相关联的第二变化量进行比较,以便确定第一用户是正在讲话还是第二用户正在讲话。31.图1是示出了根据本公开实施例的执行活动讲话者检测以检测和跟踪发声的虚拟辅助系统的概念图。如图1所示,虚拟辅助系统100可以包括:用户5本地的语音使能设备110、自然语言命令处理系统120(缩写为“系统120”)、以及跨一个或多个网络199连接的一个或多个技能支持系统125(如图2所示)。尽管本公开的附图和讨论以特定顺序示出了某些步骤,但是在不脱离本公开的情况下,也可以以不同的顺序(以及去除或添加的某些步骤)来执行所描述的步骤。32.设备110可以接收与源自用户5的所讲自然语言输入相对应的音频。在一些示例中,设备110可以在检测到唤醒字之后处理音频。设备110可以生成与音频相对应的音频数据211,并且可以将音频数据211发送到系统120。设备110可以经由安装在设备110上并且与系统120相关联的应用将音频数据211发送到系统120。这种应用的示例是可以安装在智能电话、平板电脑等上的amazonalexa应用。在一些实现方式中,设备110可以接收与源自用户5的自然语言输入相对应的文本数据213,并将该文本数据发送到系统120。设备110还可以从系统120接收输出数据,并生成合成的语音输出。设备110可以包括用于捕获图像和/或视频数据(其统称为图像数据112)以供系统120处理的相机。图20进一步示出了各种设备110的示例。系统120可以是远程系统,诸如位于地理上远离设备110但可经由网络199访问的计算组件(例如,可经由因特网访问的服务器)组。系统120还可以包括远程系统,该远程系统在物理上与设备110分离,但是地理上靠近设备110并且可以经由网络199(例如位于与设备110相同的住宅中的家庭服务器)访问。系统120还可以包括其某种组合,例如,其中某些组件/操作经由一个或多个家庭服务器来执行,而其它组件/操作经由地理上远程的服务器来执行。33.为了改善用户体验,系统100可以被配置成执行活动讲话者检测以使用图像数据来检测发声。代替处理音频数据211以执行发声检测,系统100可以被配置成处理图像数据112,以便识别用户何时向系统讲话并相应地作出响应。例如,系统100可以连续地处理图像数据112以识别在图像数据中表示的用户5的面部,执行面部分析以确定表示用户面部的形状参数(例如,表示面部形状的数据或特定面部特征至少相对于其它面部特征的相对定位)以及面部表情参数(例如,表示面部表情的数据或面部特征的至少相对运动)。并且使用表情参数来确定用户5是否正在讲话。在一些示例中,系统100使用表情参数来生成中性网格模型,该中性网格模型具有统一标识的未知面部表示和表示用户嘴部运动的姿势。使用该中性网格模型,系统100可以测量用户随时间的嘴部运动,例如通过确定嘴部高度和嘴部宽度之间的嘴部纵横比来测量用户随时间的嘴部运动。基于嘴部运动的变化量,系统100可以确定用户是否正在讲话并检测发声。34.在其它示例中,系统100可被配置成处理音频数据211以检测发声并且确定发声的开始和/或结束。为了改善用户体验,系统100可以执行活动讲话者检测,以基于图像数据来确定哪个用户正在讲话。使用上述技术,系统100可以处理与发声相对应的图像数据112的一部分(例如,在基于发声的开始和/或结束的选定时间窗内),以确定在图像数据中表示的每个面部的嘴部运动的变化量。例如,系统100可以将与第一用户相关联的第一变化量和与第二用户相关联的第二变化量进行比较,以便确定第一用户正在讲话还是第二用户正在讲话。35.系统100可以使用对图像数据进行操作的计算机视觉(computervision,cv)技术来执行活动讲话者检测。因此,系统100可以使用图像数据来确定用户5何时正在讲话和/或哪个用户正在讲话。系统100可以使用面部检测技术来检测在图像数据中表示的面部(例如使用如下所述的对象检测组件530)。系统100可以使用分类器或其它模型,该分类器或其它模型被配置成确定面部是否正在观看设备110(例如,使用如下所述的对象跟踪组件560)。系统100还可以被配置成跟踪图像数据中的面部以理解视频中的哪些面部属于同一个人,以及这些面部可以位于图像数据中和/或相对于设备110的位置(例如,使用用户识别组件295和/或对象跟踪组件560,如下所述)。系统100还可以被配置成,例如通过确定图像数据中的哪一个(或哪些)面部属于同一个人以及该人是否正在讲话来确定活动讲话者(例如使用用户嘴唇部的图像数据来查看他们是否正在运动,并且将该图像数据与关于用户语音的语音和/或音频数据相匹配以及语音的字是否与嘴唇部运动相匹配)。系统100可以使用诸如用户识别组件295、对象跟踪组件560和/或其它组件之类的组件来执行这种操作。36.如图1所示,系统100可以通过设备110/远程系统120来接收(150)由设备110的相机生成的第一图像数据,可以确定(152)第一面部表示在第一图像数据的一部分中,并且可以处理(154)第一图像数据的该部分以确定与第一面部相对应的表情参数(例如,面部表情参数)。如下面更详细描述的,系统100可以使用被配置成生成3d可变形模型(3dmorphablemodel,3dmm)参数的深度神经网络(deepneuralnetwork,dnn)或其它训练模型来处理第一图像数据的所述一部分,所述3d可变形模型(3dmm)参数至少包括表情参数以及其它参数,例如形状参数。然而,本公开并不限于此,并且在一些示例中,系统100可以在不脱离本公开的情况下将第一图像数据输入到dnn或其它训练模型。37.使用表情参数,系统100可以生成(156)具有未知面部表示的网格模型,并且可以使用该未知面部表示来确定(158)面部标志。例如,系统100可以仅使用表情参数(例如,忽略形状参数和3dmm参数的其它部分)来生成表示面部的网格模型,并且可以确定与网格模型内的面部标志相对应的坐标值,如下面关于图10a所描述的。在确定面部标志和相应的坐标值之后,系统100可以基于面部标志来确定(160)第一嘴部数据。在一些示例中,第一嘴部数据可以表示未知面部表示的嘴部纵横比,然而本公开并不限于此。例如,系统100可以确定与嘴部高度对应的第一距离、与嘴部宽度对应的第二距离、并且通过将第一距离除以第二距离来确定嘴部纵横比值。然而,本公开并不限于此,并且在不脱离本公开的情况下,系统100可以使用其它技术来确定嘴部纵横比和/或其它面部测量值。38.系统100可以生成(162)与第一用户相关联的第一数据。例如,系统100可以通过将在第一时间生成的第一嘴部数据与在第二时间生成的第二嘴部数据组合等方式来生成第一数据。因此,第一数据可以对应于随时间变化的第一用户的一系列的嘴部纵横比值,尽管本公开并不限于此。系统100可以使用第一数据来确定(164)第一标准偏差。例如,系统100可以处理一系列的嘴部纵横比值,并且确定表示在一系列的嘴部纵横比值中表示的变化量的第一标准偏差值。然而,本公开并不限于此,并且在不脱离本公开的情况下,系统100也可以使用其它技术来确定标准偏差。例如,在不脱离本公开的情况下,系统100可以取得随时间变化的嘴部纵横比值之间的差值,并基于这些差值来确定第一标准偏差值。39.系统100可以基于第一标准偏差来确定(166)用户正在讲话。例如,当第一标准偏差满足阈值时,系统100可以确定用户正在讲话。在一些示例中,系统100可以基于测试数据来选择阈值,使得该阈值对应于用户正在讲话的强似然性。然而,本公开并不限于此,并且在其它示例中,在不偏离本公开的情况下,系统100可以基于与第二用户相关联的第二标准偏差来选择阈值。因此,系统100可以确定与第二用户相比第一用户更可能正在讲话,尽管本公开并不限于此。40.当系统100确定用户正在讲话(例如,检测发声)时,系统100可以生成(168)表示发声的第一音频数据,可以对第一音频数据执行(170)语音处理以确定语音命令,并且可以基于语音命令来开始待执行的动作。41.系统100可使用如图2中所描述的各种组件来操作。各种组件可以位于相同或不同的物理设备上。可以直接产生或通过网络199产生各种组件之间的通信。设备110可以包括一个或多个音频捕获部件(例如设备110的麦克风或麦克风阵列),捕获音频11并创建对应的音频数据。一旦在表示音频11的音频数据中检测到语音,设备110就可以确定该语音是否指向设备110/系统120。在至少一些实施例中,可以使用唤醒字检测组件220来进行这种确定。唤醒字检测组件220可被配置成检测各种唤醒字。在至少一些示例中,每个唤醒字可以对应于不同数字助理的名称。示例性的唤醒字/数字助理名称是“alexa”。在另一示例中,到系统的输入可以是文本数据213的形式,例如作为用户键入到设备110的用户界面的输入的结果。其它输入形式可以包括用户已按下设备110上的物理或虚拟按钮、用户已做出手势等的指示。设备110还可以使用设备110的一个或多个相机1818来捕获图像,并且可以将表示一幅或多幅图像的图像数据112发送到系统120。图像数据112可以包括原始图像数据或由设备110在发送到系统120之前处理的图像数据。图像数据112还可以包括单独的静止图像和/或多个图像的视频馈送。42.设备110的唤醒字检测器220可以处理表示音频11的音频数据,以确定在其中是否表示有语音。设备110可以使用各种技术来确定音频数据是否包括语音。在一些示例中,设备110可以应用语音活动检测(voice-activitydetection,vad)技术。这种技术可以基于音频数据的各种定量方面(例如音频数据的一个或多个帧之间的频谱斜率);音频数据在一个或多个频谱带中的能级;音频数据在一个或多个频谱带中的信噪比;或其它定量方面来确定语音是否存在于音频数据中。在其它示例中,装置110可以实现被配置成区分语音与背景噪声的分类器。可以通过诸如线性分类器、支持向量机和决策树之类的技术来实现分类器。在其它示例中,装置110可应用隐马尔可夫模型(hiddenmarkovmodel,hmm)或高斯混合模型(gaussianmixturemodel,gmm)技术来将音频数据与存储器中的一个或多个声学模型进行比较,所述声学模型可包括与语音、噪声(例如,环境噪声或背景噪声)或静音对应的模型。还可以使用其它技术来确定语音是否存在于音频数据中。43.通常在不执行语言分析、文本分析或语义分析的情况下执行唤醒字检测。相反,分析表示音频11的音频数据,以确定音频数据的特定特性是否与预先配置的声音波形、音频签名或对应于唤醒字的其它数据相匹配。44.因此,唤醒字检测组件220可将音频数据与所存储的数据进行比较以检测唤醒字。一种用于唤醒字检测的方法应用通用大词汇表连续语音识别(largevocabularycontinuousspeechrecognition,lvcsr)系统来解码音频信号,其中在所得到的格子或混淆网络中进行唤醒字搜索。另一种用于唤醒字检测的方法分别为每个唤醒字和非唤醒字语音信号建立hmm。非唤醒字语音包括其它所讲字,背景噪声等。可以建立一个或多个hmm来对非唤醒字语音特征进行建模,其被命名为填充符模型。viterbi解码被用于在解码图中搜索最佳路径,并且解码输出被进一步处理以对唤醒字的存在做出决定。通过结合混合dnn-hmm解码框架,该方法可以被扩展为包括区别信息。在另一示例中,可以直接在深度神经网络(deepneuralnetwork,dnn)/递归神经网络(recursiveneuralnetwork,rnn)结构上构建唤醒字检测组件220,而不涉及hmm。这种架构可以通过在用于dnn的上下文窗口内堆叠帧或者使用rnn来估计具有上下文数据的后验的唤醒字。后续的后验阈值调整或平滑被应用于决策。也可使用其它用于唤醒字检测的技术,例如本领域已知的技术。45.一旦唤醒字检测器220检测到唤醒字和/或由输入检测器检测到输入,设备110就可以“唤醒”并开始将表示音频11的音频数据211传输到一个或多个系统120。音频数据211可以包括对应于唤醒字的数据;在其它实施例中,在将音频数据211发送到一个或多个系统120之前,设备110去除与唤醒字相对应的音频部分。在触摸输入检测或基于手势的输入检测的情况下,音频数据可以不包括唤醒字。46.在一些实现方式中,系统100可以包括多个系统120。系统120可以响应于不同的唤醒字和/或执行不同类别的任务。每个系统120可以与其自身的唤醒字相关联,使得说出特定的唤醒字将导致音频数据被发送到特定系统并由特定系统处理。例如,由唤醒字检测器220对唤醒字“alexa”的检测将导致将音频数据发送到系统120a以供处理,而由唤醒字检测器对唤醒字“computer”的检测将导致将音频数据发送到系统120b以供处理。该系统可以具有用于不同技能/系统(例如,用于游戏技能/系统120c的“dungeonmaster”)的单独的唤醒字和系统,和/或所述技能/系统可以由一个或多个系统120的一个或多个技能290协调。47.一旦由一个或多个系统120接收到音频数据211,该音频数据211可以被发送到协调器组件230。协调器组件230可以包括存储器和逻辑,该逻辑使得协调器组件230能够向系统的各种组件发送各种数据块和形式,以及执行本文描述的其它操作。48.协调器组件230可以将音频数据211发送到语言处理组件292。语言处理组件292(有时也称其为口头语言理解(spokenlanguageunderstanding,slu)组件)包括自动语音识别(automaticspeechrecognition,asr)组件250和自然语言理解(naturallanguageunderstanding,nlu)组件260。asr组件250可以将音频数据211转录为文本数据。由asr组件250输出的文本数据表示一个或多个(例如,以n最佳列表的形式)asr假设,该asr假设表示在音频数据211中表示的语音。asr组件250基于音频数据211和预先建立的语言模型之间的相似性来解释音频数据211中的语音。例如,asr组件250可以将音频数据211与针对声音的模型(例如,诸如音素、赛农(senon)、电话等的声学单元)以及声音序列进行比较,以识别与音频数据211中所表示的语音的声音序列相匹配的字。在一些实施例中,asr组件250经由协调器组件230将由此生成的文本数据发送到nlu组件260。从asr组件250发送到nlu组件260的文本数据可以包括单个最高得分asr假设,或者可以包括n最佳列表,该n最佳列表包括多个最高得分asr假设。n最佳列表可额外地包括与其中所表示的每个asr假设相关联的相应得分。49.语音处理系统292还可以包括nlu组件260。nlu组件260可以从asr组件接收文本数据。nlu组件260可以尝试通过确定与文本数据中所表示的一个或多个短语或语句相关联的一个或多个含义来对其中所输入的文本数据中所表示的一个或多个短语或语句进行语义解释。nlu组件260可以确定表示用户期望执行的动作的意图,并且可以确定允许设备(例如,设备110、一个或多个系统120、技能组件290、一个或多个技能系统125等)执行该意图的信息。例如,如果文本数据对应于“播放贝多芬的第五交响曲”,则nlu组件260可以确定系统输出音乐的意图,并且可以将“贝多芬”识别为艺术家/作曲家,将“第五交响曲”识别为要播放的音乐。又例如,如果文本数据对应于“天气如何”,则nlu组件260可以确定系统输出与设备110的地理位置相关联的天气信息的意图。在另一示例中,如果文本数据对应于“关闭灯”,则nlu组件260可以确定系统关闭与设备110或用户5相关联的灯的意图。然而,如果nlu组件260不能解析这样的词条-例如,因为词条是通过后缀来引用的/诸如“该歌曲”或“我的下一次约会”的上下文引用,则语音处理系统292可以向另一个语音处理系统292发送解码请求,以获得关于该词条提及的信息和/或与发声相关的其它上下文。语音处理系统292可以基于音频数据211以及从其它语音处理系统292接收的任何数据来增加、校正或基础结果数据。50.nlu组件260可将nlu结果数据985/925(其可包括经标记的文本数据、意图的指示符等)返回到协调器230。协调器230可以将nlu结果数据转发到一个或多个技能组件290。如果nlu结果数据包括单个nlu假设,则nlu组件260和协调器组件230可以将nlu结果数据导向到与nlu假设相关联的一个或多个技能组件290。如果nlu结果数据985/925包括nlu假设的n最佳列表,则nlu组件260和协调器组件230可将最高得分nlu假设导向到与最高得分nlu假设相关联的一个或多个技能组件290。51.技能组件可以是在类似于软件应用的一个或多个系统120上运行的软件。也就是说,技能组件290可以使一个或多个系统120能够执行特定的功能,以便提供数据或产生一些其它请求的输出。如本文所使用的,“技能组件”可以指能够置于机器或虚拟机上的软件(例如,当被调用时可在虚拟实例中启动的软件)。技能组件可以是软件定制的,用于执行由业务实体、设备制造商、用户等所指示的一个或多个动作。本文中被描述为技能组件的内容可使用许多不同的术语来指代,例如动作、机器人、应用等。一个或多个系统120可以配置有多个技能组件290。例如,天气服务技能组件可以使一个或多个系统120提供天气信息,汽车服务技能组件可以使一个或多个系统120预订与出租车或乘坐共享服务相关的旅行,餐馆技能组件可以使一个或多个系统120订购与餐馆的在线订购系统相关的比萨饼等。技能组件290可在一个或多个系统120与其它设备(例如设备110)之间协同操作,以便完成某些功能。对技能组件290的输入可来自语音处理交互或经由其它交互或输入源。技能组件290可包括可专用于特定技能组件290或在不同技能组件290之间共享的硬件、软件、固件等。52.一个或多个技能支持系统125可与一个或多个系统120内的一个或多个技能组件290通信和/或直接与协调器组件230或其它组件通信。一个或多个技能支持系统125可以被配置成执行一个或多个动作。执行一个或多个动作的能力有时可以被称为“技能”。也就是说,技能可以使一个或多个技能支持系统125能够执行特定的功能,以便提供数据或执行用户所请求的一些其它动作。例如,天气服务技能可以使一个或多个技能支持系统125向一个或多个系统120提供天气信息,汽车服务技能可以使一个或多个技能支持系统125预订与出租车或乘坐共享服务相关的旅行,订购比萨饼技能可以使一个或多个技能支持系统125订购与餐馆的在线订购系统相关的比萨饼等。其它类型的技能包括家庭自动化技能(例如,使用户能够控制诸如灯、门锁、相机、恒温器等的家庭设备的技能)、娱乐设备技能(例如,使用户能够控制诸如智能电视等娱乐设备的技能)、视频技能、闪光通知技能、以及与任何预先配置的技能类型无关的定制技能。53.一个或多个系统120可以配置有专门用于与一个或多个技能支持系统125交互的技能组件290。除非另有明确说明,否则对于技能、技能设备或技能组件的引用可以包括由一个或多个系统120操作的技能组件290和/或由一个或多个技能支持系统125操作的技能。此外,本文中作为技能描述的功能或技能可以使用许多不同的术语来指代,例如动作、机器人、应用等。技能290和/或一个或多个技能支持系统125可以将输出数据返回到协调器230。54.一个或多个系统100可以包括管理和/或跟踪用户和设备之间的对话的对话管理器组件。如本文使用的,“对话”可以指系统100和用户(例如,通过一个或多个设备110)之间的数据传输(例如,涉及多个用户输入和系统100输出),这些数据传输都涉及系统和用户之间的可能源于发起对话的单个用户输入的单次“谈话”。因此,对话的数据传输可以与相同的对话标识符相关联,该对话标识符可以被整个系统100的组件用于跟踪跨越对话的信息。相同对话的后续用户输入可以从或可以不从唤醒字的讲话开始。对话的每个自然语言输入可以与不同的自然语言输入标识符相关联,使得多个自然语言输入标识符可以与单个对话标识符相关联。此外,其它非自然语言输入(例如,图像数据、手势、按钮按压等)可与依赖于输入上下文的特定对话相关。例如,用户可以打开与系统100的对话以口头发音的方式请求递送食物,并且系统可以通过显示可用于订购的食物的图像来响应,并且用户可以说出响应(例如,“项目1”或“那一个”)或者可以打手势来响应(例如,指向屏幕上的项目或者给出拇指向上)或者可以在要选择的期望项目上触摸屏幕。非语音输入(例如,手势、屏幕触摸等)可以是对话的一部分,并且与其相关联的数据可以与对话的对话标识符相关联。55.对话管理器组件可以在识别出用户正参与与用户的对话时将对话会话标识符与对话相关联。对话管理器组件可以跟踪用户输入,并且相应的系统生成作为轮次的对用户输入的响应。对话会话标识符可以对应于用户输入的多轮和相应的系统生成的响应。对话管理器组件可以将由对话会话标识符标识的数据直接传输到协调器组件230或其它组件。根据系统配置,对话管理器可以确定适当的系统生成的响应,以给出特定的发声或一轮用户输入。或者,可以由系统的另一组件(例如,语言输出组件293、nlg279,协调器230等)来管理系统生成的响应的创建,而对话管理器选择适当的响应。可替代地,一个或多个系统120的另一组件可使用本文所论述的技术来选择响应。可以将系统生成的响应的文本发送到tts组件280,用于创建与该响应对应的音频数据。然后,可以将音频数据发送到用户设备(例如,设备110)以最终输出到用户。可替代地(或另外地),对话响应可以以文本或某种其它形式返回。56.对话管理器可以接收asr假设/假设(即,文本数据)并且对其中表示的一个或多个短语或一个或多个语句进行语义解释。也就是说,对话管理器基于文本数据中表示的字来确定与文本数据中表示的一个或多个短语或一个或多个语句相关联的一个或多个含义。对话管理器确定对应于用户期望执行的动作的目标以及允许设备(例如,设备110、一个或多个系统120、技能290、一个或多个技能系统125等)执行该意图的文本数据的片段。例如,如果文本数据对应于“天气如何”,则对话管理器可以确定一个或多个系统120将输出与设备110的地理位置相关联的天气信息。在另一示例中,如果文本数据对应于“关闭灯”,则对话管理器可以确定一个或多个系统120将关闭与一个或多个设备110或一个或多个用户5相关联的灯。57.对话管理器可以将结果数据发送到一个或多个技能290。如果结果数据包括单个假设,则协调器组件230可以将结果数据发送到与该假设相关联的一个或多个技能290。如果结果数据包括假设的n最佳列表,则协调器组件230可将最高得分的假设发送到与最高得分的假设相关联的一个或多个技能290。58.系统120包括语言输出组件293。语言输出组件293包括自然语言生成(naturallanguagegeneration,nlg)组件279和文本到语音(tts)组件280。为了向用户输出tts,nlg组件279可以生成文本。例如,nlg组件279可以生成与对应于用户要执行的特定动作的指令相对应的文本。nlg组件279可生成适当的文本,以用于如本文所述的各种输出。nlg组件279可包括一个或多个经训练的模型,该模型被配置成输出适于特定输入的文本。由nlg组件279输出的文本可以成为tts组件280的输入(例如,输出下文讨论的文本数据2110)。可替代地或附加地,tts组件280可以从技能290或其它系统组件接收文本数据以供输出。59.nlg组件279可以包括经训练的模型。nlg组件279根据由对话管理器接收的对话数据来生成文本数据2110,使得输出文本数据2110具有中性感,并且在一些实施例中,输出文本数据2110包括为请求个人专门格式化的字和/或短语。nlg可以使用模板来制定响应。和/或nlg系统可以包括模型,该模型是根据用于形成输出文本数据2110的各种模板训练的。例如,nlg系统可以分析本地新闻节目、电视节目、体育赛事或任何其它媒体节目的副本,以获得相关语言和/或区域的公共组件。作为一个说明性示例,nlg系统可以分析区域体育节目的转录,以确定针对描述特定区域的得分或其它体育新闻的常用字或短语。nlg还可以接收作为输入的对话历史、形式级别的指示符、和/或命令历史、或诸如对话历史的其它用户历史。60.nlg系统可以基于一个或多个响应模板来生成对话数据。进一步继续上面的示例,nlg系统可以响应于形式为:“当前天气是$weather_information$”的问题“目前天气如何?”来选择模板。nlg系统可以分析模板的逻辑形式以产生一个或多个文本响应,包括标记和注释以熟悉所产生的响应。在一些实施例中,nlg系统可以确定哪个响应是要选择的最适当的响应。因此,该选择可以基于过去相应、过去的问题、形式水平、和/或任何其它特征、或其任何其它组合。然后,可以使用文本到语音组件280生成表示由nlg系统生成的响应的响应式音频数据。61.tts组件280可使用一种或多种不同方法根据文本数据来产生音频数据(例如,合成的语音)。输入到tts组件280的文本数据可以来自技能组件290、协调器组件230或系统的其它组件。在一种被称为单元选择的合成方法中,tts组件280将文本数据与所记录语音的数据库进行匹配。tts组件280选择记录语音的匹配单元并且将所述单元连接在一起以形成音频数据。在称为参数合成的另一种合成方法中,tts组件280改变诸如频率、音量和噪声的参数以创建包括人工语音波形的音频数据。参数合成使用计算机化的语音发生器,有时称为声码器。62.设备110可以包括静止图像和/或视频捕获组件,例如一个或多个相机,以捕获一个或多个图像。设备110可以包括用于数字化图像和/或视频以作为图像数据传输到一个或多个系统120的电路。设备110还可以包括用于基于语音命令控制相机的电路,以允许用户5请求捕获图像或视频数据。设备110可以本地化地处理命令,或者将表示命令的音频数据211发送到一个或多个系统120,以进行处理,之后一个或多个系统120可以返回输出数据,该输出数据可以使设备110连接其相机。63.一旦一个或多个系统120接收到图像数据112,图像数据112可以被发送到协调器组件230。协调器组件230可以将图像数据112发送到图像处理组件240。图像处理组件240可以执行诸如对象识别、建模、重构等计算机视觉功能。例如,图像处理组件240可以检测人、脸等(然后可以使用用户识别组件295来识别)。下面参考图5更详细地描述图像处理组件240。设备110还可以包括与图像处理组件240类似地操作的图像处理组件340。64.在一些实现方式中,图像处理组件240可以检测图像中文本的存在性。在该实现方式中,图像处理组件240可以识别文本的存在性,将图像数据转换为文本数据,并且经由协调器组件230将所得的文本数据发送到语言处理组件292,以由nlu组件260进行处理。65.一个或多个系统120可以包括用户识别组件295,该用户识别组件295使用各种数据来识别一个或多个用户,如下面参考图18和图19更详细地描述的。然而,本公开并不限于此,在不偏离本公开的情况下,设备110可以包括用户识别组件395来代替系统120的用户识别组件295,和/或除了系统120的用户识别组件295之外还包括用户识别组件395。用户识别组件395类似于用户识别组件295操作。66.用户识别组件295可以将音频数据211和/或由asr组件250输出的文本数据作为输入。用户识别组件295可以通过将音频数据211中的音频特征与存储的用户音频特征进行比较来执行用户识别。用户识别组件295还可以通过将由系统接收的与当前用户输入相关的生物测定数据(例如,指纹数据、虹膜数据等)与假定用户许可和先前授权的存储的用户生物测定数据进行比较来执行用户识别。用户识别组件295还可以通过将由系统接收的与当前用户输入相关的图像数据(例如,包括用户的至少一个特征的表示)与包括不同用户的特征的表示的存储的图像数据进行比较来执行用户识别。用户识别组件295可执行额外的用户识别过程,包括本领域已知的过程。67.用户识别组件295确定指示用户输入是否源自特定用户的得分。例如,第一得分可以指示用户输入源自第一用户的可能性,第二得分可以指示用户输入源自第二用户的可能性,等等。用户识别组件295还确定关于用户识别操作准确性的总体置信度。用户识别组件295还可以被配置成确定(或帮助另一组件确定)特定语音与特定面部匹配,以用于用户识别和/或在环境中跟随用户(如果该用户在图像数据中不可见的话)。68.用户识别组件295的输出可以包括与源自用户输入的最可能的用户相对应的单个用户标识符。可替代地,用户识别组件295的输出可包括用户标识符的n最佳列表,其具有指示源自用户输入的相应用户的可能性的相应得分。用户识别组件295的输出可用于通知nlu处理以及由系统的其它组件执行的处理。69.系统100(在设备110、系统120、或其组合上)可以包括简档存储器,其用于存储与与系统交互的各个用户、用户组、设备等相关的各种信息。如本文所使用的,“简档”指的是与用户、用户组,设备等相关联的数据组。简档的数据可以包括特定于用户、设备等的偏好;设备的输入输出能力;互联网连接信息;用户著录信息;订阅信息以及其它信息。70.简档存储器270可以包括一个或多个用户简档,其中每个用户简档与不同的用户标识符/用户简档标识符相关联。每个用户简档可以包括对应于用户/简档组的各种数据271(未单独示出)。每个用户简档还可以包括与用户的偏好相对应的数据。每个用户简档还可以包括用户的偏好和/或表示用户的一个或多个设备的一个或多个设备标识符。例如,用户帐户可以包括与所标识的用户帐户相关联的每个附加电子设备的一个或多个ip地址、mac地址、和/或设备标识符(例如序列号)。当用户登录到安装在设备110中的应用时,用户简档(与所呈现的登录信息相关联)可以被更新以包括关于设备110的信息,例如具有设备当前正在使用的指示。每个用户简档可以包括用户已经启用的技能的标识符。当用户启用技能时,用户向系统120提供允许该技能相对于用户的自然语言用户输入执行的许可。如果用户未启用技能,则系统120将不调用执行关于用户的自然语言用户输入的技能。71.简档存储270可以包括一组或多组简档。每组简档可以与不同组标识符相关联。简档组可以特定于用户组。也就是说,简档组可以与两个或更多个独立用户简档相关联。例如,简档组可以是与单个家庭的多个用户相关联的与用户简档相关联的家庭简档。简档组可以包括由与其相关联的所有用户简档共享的偏好。与简档组相关联的每个用户简档可以额外地包括与之相关联的用户特定的偏好。也就是说,每个用户简档可以包括与相同简档组相关联的一个或多个其它用户简档不同的偏好。用户简档可以是独立的简档或者可以与简档组相关联。72.简档存储器270可以包括一个或多个设备简档。每个设备简档可以与不同的设备标识符相关联。每个设备简档可以包括各种设备标识信息。每个设备简档还可以包括一个或多个用户标识符,其表示与该设备相关联的一个或多个用户。例如,家庭设备的简档可以包括家庭用户的用户标识符。73.尽管图2的组件可以被例示为一个或多个系统120、设备110等的一部分,但是在不脱离本公开的情况下,这些组件可以被布置在其它设备中(例如,在系统120中被例示为设备110中,或者反之亦然,或者在其它设备中)。图3示出了这样配置的设备110。74.在至少一些实施例中,系统120可以从设备110接收音频数据211,以识别与所接收的音频数据211中的所讲输入相对应的语音,并且响应于所识别的语音执行功能。在至少一些实施例中,这些功能涉及从系统120向设备110(和/或其它设备110)发送指令(例如命令),以使设备110执行动作,例如经由一个或多个扬声器输出对所讲输入的可听响应,和/或通过向辅助设备发送控制命令来控制环境中的辅助设备。75.因此,当设备110能够通过一个或多个网络199与系统120通信时,能够由系统120执行的一些或全部功能可以通过在一个或多个网络199上向设备110发送一个或多个指令来执行,随后,设备110可以处理一个或多个指令并执行一个或多个相应的动作。例如,系统120使用包括在响应数据(例如,远程响应)中的远程指令,可以指示设备110经由设备110的一个或多个扬声器(或以其它方式与设备110相关联)来输出对用户问题的可听响应(例如,使用由设备上的tts组件380执行的tts处理),以经由设备110的扬声器(或以其它方式与设备110相关联)输出内容(例如,音乐),在设备110的显示器(或以其它方式与设备110相关联)上显示内容,和/或向第二设备发送指令(例如,开启智能灯的指令)。应当理解,系统120可以被配置成提供除本文讨论的功能之外的其它功能,例如但不限于,提供用于从原始位置导航到目的地位置的逐步指示,作为购物功能的一部分的指导用户5进行电子商务交易的行为,在用户5和其他用户之间建立通信会话(例如,视频呼叫),等等。76.如图2和图3所示,设备110可以包括唤醒字检测组件220,其被配置成将音频数据211与用于检测唤醒字(例如,“alexa”)的存储模型进行比较,该存储模型向设备110指示音频数据211要被处理以确定nlu输出数据(例如,对应于命名实体的时隙数据、标记数据、和/或意图数据等)。在至少一些实施例中,设备110的混合选择器324可以将音频数据211发送到唤醒字检测组件220。如果唤醒字检测组件220在音频数据211中检测到唤醒字,则唤醒字检测组件220可以向混合选择器324发送这种检测的指示。响应于接收到该指示,混合选择器324可以将音频数据211发送到系统120和/或asr组件350。唤醒字检测组件220还可以向混合选择器324发送表示未检测到唤醒字的指示。响应于接收到这样的指示,混合选择器324可以制止向系统120发送音频数据211,并且可以防止asr组件350进一步处理音频数据211。在这种情况下,可以丢弃音频数据211。77.设备110还可以包括系统导向输入检测器385。(系统120还可以包括系统导向输入检测器285,其可以以类似于系统导向输入检测器385的方式操作。)系统导向输入检测器385可以被配置成确定到系统的输入(例如语音、手势等)被导向到系统或未被导向到系统(例如被导向到其它用户等)。系统导向输入检测器385可以与唤醒字检测器220一起工作。如果系统导向输入检测器385确定输入被导向到系统,则设备110可以“唤醒”并开始发送捕获的数据,以用于进一步处理(例如,使用语言处理292/392来处理音频数据,使用图像处理组件240/340来处理捕获的图像数据等)。如果数据正在被处理,则设备110可以例如通过激活或改变照明输出(例如led环)的颜色、在显示器(例如显示器上的光条)上显示指示器、使音频指示器(例如蜂鸣声)输出或以其它方式通知用户输入数据正在被处理来向用户指示这种情况。如果系统导向的输入检测器385确定输入未被导向到系统(例如被导向到其它用户的语音或手势),则设备110可以丢弃数据并且不采取进一步的动作,以用于处理目的。以这种方式,系统100可以防止处理未导向到系统的数据,从而保护用户的隐私。然而,作为到用户的指示符,当系统导向输入检测器385确定输入是潜在的设备导向时,系统可以输出音频、视觉或其它指示符。例如,系统可以在考虑输入的同时输出橙色指示符,并且如果检测到系统导向的输入,则可以输出绿色指示符。其它这种构型也是可能的。78.设备110可以使用诸如slu/语言处理组件392(其可以包括asr组件350和nlu360)的设备上语言处理组件来进行其自身的语音处理,其类似于本文针对系统120的slu组件292(或asr组件250和nlu组件260)所讨论的方式。语言处理组件392可类似于语言处理组件292操作,asr组件350可类似于asr组件250操作,并且nlu组件360可类似于nlu组件260操作。设备110还可以在内部包括其它组件或者可以访问其它组件,例如能够基于nlu输出数据或者由设备110/系统120确定的其它结果来执行命令的一个或多个技能组件390(其可以类似于技能组件290操作)、用户识别组件395(被配置成以类似于本文关于系统120的用户识别组件295所讨论的方式来处理)、简档存储器370(被配置成存储与本文中关于系统120的简档存储器270所讨论的简档数据类似的简档数据)或其它组件。在至少一些实施例中,简档存储器370可仅存储与装置110特定地相关联的用户或用户群组的简档数据。类似于以上关于技能组件290所描述的,技能组件390可与一个或多个技能系统125通信。设备110还可以具有其自身的语言输出组件393,其可以包括nlg组件379和tts组件380。语言输出组件393可类似于语言输出组件293操作,nlg组件379可类似于nlg组件279操作,并且tts组件380可类似于tts组件280操作。79.在至少一些实施例中,设备上语言处理组件可以不具有与系统120的语言处理组件相同的能力。例如,设备上语言处理组件可以被配置成仅处理可以由系统120处理的自然语言用户输入的子集。例如,这种自然语言用户输入的子集可以对应于本地类型的自然语言用户输入,例如与用户家庭相关联的控制设备或组件。在这种情况下,设备上语言处理组件能够比涉及系统120的处理更快地解释和响应本地类型的自然语言用户输入。如果设备110试图处理不一定是设备上语言处理组件最适合的自然语言用户输入,则由设备110确定的语言处理结果可指示低置信度或其它度量,其指示设备110的处理可能不如系统120所进行的处理那样准确。80.设备110的混合选择器324可以包括混合代理服务器(hybridproxy,hp)326,该hp326被配置成代理到/来自系统120的业务。例如,hp326可以被配置成向/从混合选择器324的混合执行控制器(hybridexecutioncontroller,hec)327发送消息。例如,可以使用hp326将从系统120接收的命令/导向性数据发送到hec327。hp326还可以被配置成允许音频数据211传递到系统120,同时还接收(例如,截取)该音频数据211并将音频数据211发送到hec327。81.在至少一些实施例中,混合选择器324还可以包括本地请求协调器(localrequestorchestrator,lro)328,该lro328被配置成向asr组件350通知表示用户语音的新音频数据211的可用性,并且在新音频数据211变得可用时以其它方式发起本地语言处理的操作。总体上,混合选择器324可以控制本地语言处理的执行,例如通过发送“执行”和“终止”事件/指令来控制本地语言处理的执行。“执行”事件可以指示组件继续任何挂起的执行(例如,通过指示组件对先前确定的意图执行以便确定指令)。同时,“终止”事件可以指示组件终止进一步的执行,例如当设备110从系统120接收到导向性数据并选择使用该远程确定的导向性数据时。82.因此,当音频数据211被接收到时,hp326可以允许音频数据211传递到系统120,并且hp326还可以通过路由音频数据211经由混合选择器324的hec327将音频数据211输入到设备上asr组件350,由此lro328将音频数据211通知到asr组件350。此时,混合选择器324可以等待来自系统120或本地语言处理组件或同时来自这两者的响应数据。然而,本公开并不限于此,并且在一些示例中,在不脱离本公开的情况下,混合选择器324可以仅向本地asr组件350发送音频数据211。例如,设备110可以本地化处理音频数据211,而不向系统120发送音频数据211。83.本地asr组件350被配置成从混合选择器324接收音频数据211,并且识别音频数据211中的语音,并且本地nlu组件360被配置成根据所识别的语音来确定用户意图,并且通过生成nlu输出数据来确定如何对用户意图进行动作,所述nlu输出数据可以包括导向性数据(例如,指示组件执行动作)。这种nlu输出数据可以采取类似于由系统120的nlu组件260所确定的形式。在一些情况下,导向性可以包括对意图的描述(例如,关闭{设备a}的意图)。在一些情况下,导向性可以包括(例如,编码)一个或多个第二设备(例如厨房灯)的标识符,以及在一个或多个第二设备(例如厨房灯)处执行的操作。可以使用java(例如javascript语法或基于javascript的语法)来格式化指示性数据。这可以包括使用json来格式化导向性数据。在至少一些实施例中,设备确定的导向性数据可以被串行化,这非常类似于远程确定的导向性数据如何可以被串行化以用于在一个或多个网络199上的数据分组中传输。在至少一些实施例中,设备确定的导向性数据可以被格式化为具有与远程确定的导向性数据相同的逻辑操作的编程化应用编程接口(applicationprogramminginterface,api)调用。换句话说,设备确定的导向性数据可以通过使用与远程确定的指令相同或类似的格式来模仿远程确定的指令。84.nlu假设(由nlu组件360输出)可以被选择为可用于响应自然语言用户输入,并且本地响应数据可以被发送(例如,本地nlu输出数据、本地知识库信息、因特网搜索结果和/或本地导向性数据)到混合选择器324,例如“准备执行”响应。然后,混合选择器324可以确定是否使用来自设备上组件的指示性数据来响应自然语言用户输入,使用从系统120接收的指示性数据,假设甚至接收到远程响应(例如,当设备110能够通过一个或多个网络199访问系统120时),或者确定请求来自用户5的附加信息的输出音频。85.设备110和/或系统120可以将唯一标识符与每个自然语言用户输入相关联。当向系统120发送音频数据211时,设备110可以包括唯一标识符,并且来自系统120的响应数据可以包括唯一标识符,以标识响应数据对应于哪个自然语言用户输入。86.在至少一些实施例中,设备110可以包括或被配置成使用一个或多个技能组件390,所述一个或多个技能组件390可以类似于由系统120实现的一个或多个技能组件290来工作。一个或多个技能组件390可对应于一个或多个域,所述一个或多个域被用于确定如何以特定方式对口述输入进行动作,例如通过输出对应于所确定的意图并且可被处理以实现所期望的操作的指令。安装在设备110上的一个或多个技能组件390可以包括,但不限于,智能家居技能组件(或智能家居域)和/或设备控制技能组件(或设备控制域),其响应于与控制环境中的第二设备的意图相对应的口述输入而执行;音乐技能组件(或音乐域),其响应于对应于播放音乐的意图的口述输入而执行;导航技能组件(或导航域),其响应于与获取指示的意图相对应的口述输入而执行;购物技能组件(或购物域),其响应于与从电子市场购买物品的意图相对应的口述输入而执行,等等。87.附加地或替代地,设备110可以与一个或多个技能系统125通信。例如,技能系统125可以位于远程环境(例如,单独的位置)中,使得设备110可以仅经由一个或多个网络199与技能系统125通信。然而,本公开并不限于此。例如,在至少一些实施例中,可以在本地环境(例如,家庭服务器等)中配置技能系统125,使得设备110可以经由专用网络(例如,局域网(lan))与技能系统125通信。88.如本文所用,“技能”可指技能组件390、技能系统125、或技能组件390与对应技能系统125的组合。类似于关于图2讨论的方式,本地设备110可以被配置成识别多个不同的唤醒字和/或根据唤醒字执行不同类别的任务。这种不同的唤醒字可以调用本地设备110的不同处理组件(图3中未示出)。例如,由唤醒字检测器220对唤醒字“alexa”的检测可导致将音频数据发送到某些语言处理组件392/技能390以进行处理,而由唤醒字检测器对唤醒字“computer”的检测可导致将音频数据发送到不同语言处理组件392/技能390以进行处理。89.图4示出了系统导向输入检测器285/385的配置和操作。如图4所示,系统导向输入检测器285/385可以包括多个不同的部件。首先,系统导向输入检测器285/385可以包括语音活动检测器(voiceactivitydetector,vad)420。vad420可被操作成检测输入的音频数据211是否包括语音。vad输出421可以是二进制指示符。因此,如果输入的音频数据211包括语音,则vad420可以输出音频数据211包括语音的指示符421(例如,a1),并且如果输入音频数据211不包括语音,则vad420可以输出音频数据211不包括语音的指示符421(例如,a0)。vad输出421也可以是对应于音频数据211包括语音的可能性的分数(例如,0和1之间的数字)。vad420还可以执行开始点检测以及结束点检测,其中vad420确定语音何时在音频数据211中开始以及语音何时在音频数据211中结束。因此,vad输出421还可以包括语音开始点和/或语音端点的指示符,以供系统的其它组件使用。(例如,开始点和结束点可以将被发送到语音处理组件240的音频数据211划分)。vad输出421可以与音频数据211相同的唯一id相关联,以用于跨越各个组件跟踪系统处理。90.可使用各种vad技术来操作vad420,包括上文关于由装置110执行的vad操作所描述的那些技术。vad可以被配置成对背景噪声进行鲁棒,以便精确地检测音频数据实际是否包括语音。vad420可以对原始音频数据211(例如由设备110发送的音频数据)进行操作,或者可以对特征向量或表示音频数据211的其它数据进行操作。例如,vad420可以采用深度神经网络(dnn)的形式,并且可以对从设备接收的表示整个音频数据211的单个特征向量进行操作,或者可以对多个特征向量进行操作,例如表示音频数据帧的特征向量,其中每个帧覆盖音频数据的特定时间量(例如,25ms)。vad420还可以对在检测音频数据211中的语音活动中有用的其它数据481进行操作。例如,其它数据481可以包括锚定语音检测的结果,其中系统采用语音的参考部分(例如,向包括唤醒字的系统发出先前命令的语音)的表示(例如,语音指纹、参考特征向量等),并且与在音频数据211中检测到的语音进行比较,以确定该语音是否与语音的参考部分中的语音相匹配。如果语音匹配,可以存在vad420检测到语音的指示符。如果不是,可以存在vad420未检测到语音的指示符。(例如,可以对第一输入音频数据中的语音数据进行表示,然后可以将其与第二输入音频数据进行比较,以查看语音是否匹配。如果是(或不是),则vad420可以考虑该信息)。是否确定检测到语音,vad420还可以考虑其它数据。vad420还可以考虑扬声器id信息(例如可以由用户识别组件295输出),可以指示从哪个方向(相对于捕获设备110)接收到输入音频的导向性数据。这种导向性数据可以从设备110接收,并且可以由波束形成器或设备110的其它组件来确定。vad420还可以考虑关于先前发声的数据,其可以指示由系统接收的另外的音频数据是否可能包括语音。也可使用其它vad技术。91.如果vad输出421指示没有检测到语音,则系统(通过协调器230或其它一些组件)可以停止关于音频数据211的处理,从而节省可能花费在其它过程(例如,音频数据211的asr等)上的计算资源。如果vad输出421指示检测到语音,则系统可以确定语音是否指向语音处理系统。这种确定可以由系统导向音频检测器440进行。系统导向音频检测器440可以包括经训练的模型(例如dnn),其对特征向量进行操作,所述特征向量表示在确定语音是否被导向到系统中可能有用的某些数据。为了创建可由系统导向音频检测器440操作的特征向量,可以使用特征提取器430。特征提取器430可以输入asr结果410,该asr结果410包括由语音识别组件处理音频数据211的结果。92.为了隐私保护的目的,在某些配置中,可以从位于设备110上或位于家庭远程组件上的语言处理组件392/asr组件350获得asr结果410,这与位于云或其它远程系统120上的语言处理组件292/asr组件250相反,以便音频数据211不被发送到远离用户的家庭,除非系统导向输入检测器组件385已经确定输入是系统导向的。然而这可以根据用户偏好/系统配置来调整。93.asr结果410可以包括最高得分asr假设及其对应的得分、具有得分的asr格子(lattice)/网格(trellis)的一部分(或全部)、具有得分的asr搜索图的一部分(或全部)、具有得分的asr混淆网络的一部分(或全部)、或其它这种asr输出的n-最佳列表。作为示例,asr结果410可以包括网格,该网格可以包括在asr解码期间得分的原始搜索图。asr结果410还可以包括格子,其可以是已经被剪裁以去除不超过分数阈值或假设阈值的数目的某些假设的被具有得分的网格。asr结果410还可以包括混淆网络,其中来自格子的路径已经被合并(例如,合并可以共享全部或一部分相同字的假设)。混淆网络可以是对应于线性图的数据结构,该线性图可以用作解码器格子的最可能假设的替代性表示。asr结果410还可以包括对应的相应得分(例如针对网格、格子、混淆网络、个体假设、n-最佳列表等的得分)。94.asr结果410(或其它数据491)可以包括其它asr结果相关数据,例如来自asr系统的其它特征或由另一组件确定的数据。例如,系统可以确定asr结果的熵(例如网格熵等),该熵指示网格的概率质量如何扩展到替代性假设之中。大的熵(例如,概率质量在许多假设上的大的扩展)可以指示asr组件250关于其最佳假设不太可靠,这又可以与检测到的语音不是设备导向的相关。熵可以是包括在将由系统导向音频检测器440考虑的其它数据491中的特征。95.系统还可以确定和考虑asr解码成本,其可以包括来自asr的维特比(viterbi)解码成本的特征。这种特征可以指示输入声学和词汇与声学模型和语言模型的匹配程度。较高的维特比成本可以指示模型和给定数据之间的较大失配,这可以与检测到的语音不是设备导向的相关。还可以使用混淆网络特征。例如,来自特定节点(表示两个字之间的潜在连接)的平均弧数(其中每个弧代表一个字)可以测量在混淆网络中存在多少竞争假设。大量竞争假设可指示asr组件250关于顶部假设不太可靠,这可以与所检测到的语音不是设备导向的相关联。来自asr结果410的其它这种特征或数据也可以用作其它数据491。96.asr结果410可以在系统导向检测器(sdd)特征向量431中表示,其可以用于确定语音是否是系统导向的。特征向量431可表示asr结果410,但也可表示音频数据211(其可输入到特征提取器430)或其它信息。这种asr结果有助于确定语音是否是系统导向的。例如,如果asr结果包括高评分单一假设,则可以指示在音频数据211中表示的语音指向并旨在用于设备110。然而,如果asr结果不包括单一高评分假设,而是包括许多较低评分假设,则可以指示语音识别组件250的一部分上的某种混淆,并且还可以指示在音频数据211中表示的语音不是指向并且不是旨在用于设备110的。97.asr结果410可以包括完整的asr结果,例如对应于起始点和端点(诸如完整的格子等)之间的所有语音的asr结果。在这种配置中,在操作特征提取器430和系统导向音频检测器440之前,系统可以等待直到对于某个输入音频的所有asr处理已经完成。因此,系统导向音频检测器440可以接收包括由特征提取器430创建的音频数据211的所有表示的特征向量431。然后,系统导向音频检测器440可以在特征向量431上操作经训练的模型(例如dnn),以确定对应于音频数据211包括系统导向语音的表示的可能性的分数。如果得分高于阈值,则系统导向音频检测器440可以确定音频数据211包括系统导向语音的表示。sdd结果442可包括音频数据是否包括系统导向语音、得分和/或一些其它数据的指示符。98.asr结果410还可以包括不完整的asr结果,例如,仅对应于起始点和端点之间的一些语音的asr结果(例如不完整的格子等)。在这种配置中,特征提取器430/系统导向音频检测器440可以被配置成对不完整的asr结果410进行操作,并且因此系统导向音频检测器440可以被配置成输出ssd结果442,该ssd结果442提供关于所处理的音频数据部分(对应于不完整的asr结果)是否对应于系统导向语音的指示。因此,系统可以被配置成至少部分地与系统导向音频检测器440并行地执行asr,以在asr结果数据准备好时处理asr结果数据,并因此连续地更新sdd结果442。一旦系统导向输入检测器285/385已经处理了足够的asr结果和/或sdd结果442超过阈值,系统就可以确定音频数据211包括系统导向语音。类似地,一旦系统导向输入检测器285/385已经处理了足够的asr结果和/或sdd结果442降到低于另一阈值,系统就可以确定音频数据211不包括系统导向语音。99.sdd结果442可以与音频数据211和vad输出421具有相同的唯一id,以便跨越各个组件跟踪系统处理过程。100.特征提取器430还可以将其它数据491的特征向量431表示合并到特征向量431中。其它数据491可以包括,例如,可以考虑的来自语音识别组件输出的字的字嵌入。字嵌入是字或字序列的矢量表示,其示出了特定字相对于其它字如何使用,例如在大文本语料库中。根据字嵌入所表示的文本段中有多少字,字嵌入可以具有不同的长度。为了特征提取器430处理和表示嵌入在特征向量431(其可以是固定长度)中的字,未知长度的字嵌入可以由具有存储器的神经网络(例如lstm(长短期存储器)网络)来处理。字嵌入的每个向量可以由lstm处理,然后lstm可以输出输入字嵌入向量的固定表示。101.其它数据491也可以包括,例如,可以考虑的从自然语言260组件输出的nlu。因此,如果自然语言输出数据1585/1525指示音频数据211与域外指示之间的高相关性(例如,来自ic的意图分类器得分或来自识别器的总域得分均未达到某个置信度阈值),则这可以指示音频数据211不包括系统导向的语音。其它数据491还可以包括例如作为用户识别组件295输出的用户/扬声器的指示符。因此,例如,如果用户识别组件295未指示已知用户的存在,或者指示与音频数据211(其不与先前的发声相关联)相关联的用户的存在,则这可以指示音频数据211不包括系统导向语音。其它数据491还可以包括在音频数据211中表示的语音与在对应于先前发声的先前输入音频数据中检测到的语音相同(或不同)的指示。其它数据491还可以包括导向性数据,例如使用波束成形或其它音频处理技术来确定检测到的语音的源的方向/位置以及该源方向/位置是否与讲话用户匹配。其它数据491还可以包括指示用户语音的方向朝向设备110或远离设备110的数据,这可以指示语音是否是系统导向的。102.其它数据491也可以包括图像数据112。例如,如果从设备110附近的一个或多个设备(其可以包括设备110本身)检测到图像数据,其中该设备捕获使用系统导向输入检测器(285/385)处理的音频数据,则可以处理图像数据以确定用户是否面对音频捕获设备,以便确定语音是否是系统导向的,如下面进一步解释的。103.其它数据491也可以对话历史数据。例如,其它数据491可以包括关于讲话者是否已经从先前发声改变到当前音频数据211、对话主题是否已经从先前发声改变到当前音频数据、来自先前发声的nlu如何与使用当前音频数据211获得的nlu结果相比较、其它系统上下文信息的信息。其它数据491还可以包括关于音频数据211是否作为唤醒命令的结果被接收或者音频数据211是否在没有设备110检测唤醒命令的情况下被发送(例如,设备110由远程系统120指示和/或确定在没有首先检测唤醒命令的情况下发送音频数据)的指示符。104.其它数据491还可以包括来自用户简档270的信息。105.其它数据491还可以包括方向数据,例如关于由设备检测到的语音的到达方向的数据,例如波束索引号、角度数据等。如果第二音频数据是从与第一音频数据不同的方向接收的,则系统可能不太可能断言第二音频数据包括系统导向的语音,因为其源自不同的位置。106.其它数据491还可以包括声学特征数据、诸如音高、韵律、音调、音量,或描述音频数据211中的语音的其它数据。由于用户可以使用与其他人不同的口音来与机器讲话,所以声学特征信息在确定语音是否是设备导向的方面将是有用的。107.其它数据491还可以包括指示音频数据211是否包括唤醒字的指示符。例如,如果设备110在将音频数据211发送到远程系统120之前检测到唤醒字,则设备110可以沿着设备110检测到音频数据211中的唤醒字的指示符发送。在另一示例中,远程系统120可以包括处理输入音频数据211以确定它是否包括唤醒字的另一组件。如果是,则该组件可以创建指示音频数据211包括唤醒字的指示符。然后,该指示符可以被包括在其它数据491中,以被合并在特征向量431中和/或由系统导向的音频检测器440以其它方式考虑。108.其它数据491还可以包括设备历史数据,例如与发送音频数据211的设备110有关的先前操作的信息。例如,其它数据491可以包括关于刚执行的先前发声的信息,其中发声源自与当前发声相同的设备110,并且先前发声在当前发声的某个时间窗内。设备历史数据可以以与设备标识符(其也可以被包括在其它数据491中)相关联的方式被存储,该设备历史数据也可以被用于跟踪关于设备的其它信息,诸如设备硬件、能力、位置等。109.vad420使用的其它数据481可以包括与特征提取器430使用的其它数据491类似的数据和/或不同的数据。因此,其它数据481/491可以包括与来自先前发声的输入音频相对应的各种数据。该数据可以包括来自先前发声的声学数据、来自先前发声的讲话者id/语音识别数据、关于先前发声与当前发声之间的时间的信息、或者从先前发声取得的本文描述的各种其它数据。分数阈值(针对系统导向音频检测器440和/或vad420)可以基于来自先前发声的数据。例如,得分阈值(针对系统导向的音频检测器440和/或vad420)可以基于来自先前发声的声学数据。110.特征提取器430可以输出用于输入音频数据411的一个发声/实例的单个特征向量431。特征向量431可以一致地是固定长度,或者可以是取决于对于特定音频数据211可用的相关数据的可变长度向量。因此,系统导向音频检测器440可以针对输入音频数据411的每个发声/实例来输出单一sdd结果442。sdd结果442可以是二进制指示符。因此,如果输入的音频数据211包括系统导向语音,则系统导向音频检测器440可输出音频数据211包括系统导向语音的指示符442(例如,a1),而如果输入的音频数据211不包括系统导向语音,则系统导向音频检测器440可输出音频数据211不包括系统导向语音的指示符442(例如,a0)。sdd结果442也可以是与音频数据211包括系统导向语音的可能性相对应的分数(例如,0和1之间的数字)。尽管在图4中未示出,但是到和来自系统导向输入检测器285/385的数据流可以由协调器230或一个或多个其它组件来管理。111.可以在包括正和负训练样本(例如,表示系统导向语音和表示非系统导向语音的样本)的sdd特征向量的许多不同示例上训练系统导向音频检测器440的一个或多个经训练模型,使得系统导向音频检测器440的dnn和/或其它经训练模型能够稳健地检测语音是系统导向的以及语音不是系统导向的。112.系统导向输入检测器285/385的其它输入可以包括来自tts组件280的输出数据,以避免由系统输出的合成语音被混淆为由用户所讲的系统导向语音。来自tts组件280的输出可以允许系统在考虑到语音是否是系统导向的情况下忽略合成语音。来自tts组件280的输出还可以允许系统确定用户捕获的发声是否响应于tts输出,从而改善系统操作。113.系统导向输入检测器285/385还可以使用回声往返损耗增强(echoreturnlossenhancement,erle)和/或声学回声消除(acousticechocancellation,aec)数据,以避免对系统生成的音频数据的处理。114.如图4所示,系统导向输入检测器285/385可以简化地使用音频数据来确定输入是否是系统导向的(例如,系统导向音频检测器440可以输出sdd结果442)。当不存在可用的图像数据时(例如,对于没有相机的设备),这将是正确的。然而,如果图像数据112是可用的,则系统也可以被配置成使用图像数据112来确定输入是否是系统导向的。图像数据112可以包括由设备110捕获的图像数据和/或由设备110环境中的一个或多个其它设备捕获的图像数据。音频数据211、图像数据112和其它数据481可以是加时间戳的或以其它方式相关,使得系统导向的输入检测器285/385可以确定被分析的数据均与相同的时间窗相关,以便确保关于特定输入是否是系统导向的而考虑的数据的对准。例如,系统导向输入检测器285/385可以为音频数据的每一帧/视频流的每一图像确定系统导向性得分,并且可以将它们对准和/或窗口化,以为对应于音频帧/图像组的特定输入确定单个整体得分。115.图像数据112连同其它数据481可以由特征提取器435接收。特征提取器可以创建一个或多个特征向量436,其可以表示图像数据112/其它数据481。在某些实例中,其它数据481可包括来自图像处理组件240的数据,该数据可包括关于在图像数据112中检测到的面部、手势等的信息。为了隐私保护的目的,在某些配置中,可以从位于设备110上的图像处理组件340或位于家庭远程组件上的图像处理组件340获得其任何图像处理/结果,这与位于云或其它远程系统120上的图像处理组件240相反,从而除非系统导向输入检测器组件385已经确定输入是系统导向的,否则图像数据112不被发送到远离的用户家庭。然而这可以根据用户偏好/系统配置来调整。116.特征向量436可以被传递到用户检测器425。用户检测器425(其可以使用图像处理组件240、用户识别组件295等的各种组件/操作)可以被配置成处理图像数据112和/或特征向量436,以确定关于用户行为的信息,该信息又可以被用于确定输入是否是系统导向的。例如,用户检测器425可以被配置成确定用户相对于设备110/系统100的位置/行为。用户检测器425还可以被配置成确定用户的嘴部是否以提示用户正在讲话的方式而开启/闭合的。用户检测器425还可以被配置成确定用户是否正在点头或摇头。用户检测器425还可以被配置成确定用户的凝视是指向设备110的、指向其他用户的、或指向其它对象的。例如,使用检测器425可以包括或配置成使用来自凝视检测器565的数据。用户检测器425还可以被配置成确定用户的手势,例如耸肩、指向对象、挥手、手向上以指示停止指令、或者手指移动以指示继续指令、握持一定数量的手指、抬起拇指等。用户检测器425还可以被配置成确定用户的位置/方向,例如面向另一用户、面向设备110、他们的背部是否转动等。用户检测器425还可以被配置成确定出现在图像数据中的多个用户的相对位置(和/或在音频数据211中讲话,其也可以由用户检测器425连同特征向量431一起考虑),例如哪些用户更靠近设备110而哪些更远离设备110。用户检测器425(和/或其它组件)还可以被配置成识别在图像数据中表示的其它对象,并确定对象是否与对话或系统交互相关(例如,确定用户是否通过移动或语音来引用对象)。117.用户检测器425可以操作一个或多个模型(例如,一个或多个分类器)来确定在图像数据112中是否表示了某些情况。例如,用户检测器425可以采用视觉方向性分类器,该分类器可以针对在图像数据112中检测到的每个面部来确定该面部是否正在观看设备110。例如,可以使用轻量级卷积神经网络(convolutionalneuralnetwork,cnn),其将从面部检测器的结果修剪的面部图像作为输入,并输出关于面部是否面向相机的可能性的得分[0,1]。另一技术可包括确定每个面部的三维(3d)标志,估计面部的3d角度并基于3d角度预测直接性得分。[0118]用户检测器425(或一个或多个其它组件,例如图像处理240中的组件)可以被配置成跟踪图像数据中的面部,以确定所表示的哪些面部可以属于同一个人。该系统可以使用基于iou的跟踪器、基于均值移位的跟踪器、基于粒子滤波器的跟踪器、或其它技术。[0119]用户检测器425(或一个或多个其它组件,例如用户识别组件295中的组件)可以被配置成确定图像数据中表示的面部是否属于正在讲话的人,从而执行活动讲话者检测。该系统可以获取来自面部跟踪器的输出并且聚集来自同一个人的面部序列,作为输入,以及预测该人是否正在讲话。唇部运动、用户id、检测到的语音数据和其它数据可用于确定用户是否正在讲话。[0120]然后,系统导向图像检测器450可以基于来自用户检测器425的信息(其是基于图像数据的)来确定与图像数据相关的输入是否是系统导向的。系统导向图像检测器450还可以对其它输入数据进行操作,例如包括原始图像数据112的图像数据、包括基于原始图像数据的特征数据436的图像数据、其它数据481,或其它数据。由系统导向图像检测器450进行的确定可以产生指示输入是否是基于图像数据所系统导向的得分。如果没有音频数据可用,则可以输出该指示作为sdd结果442。如果音频数据可用,则该指示可以被发送到系统导向检测器470,系统导向检测器470可以考虑来自系统导向音频检测器440和系统导向图像检测器450的信息。然后,系统导向检测器470可以处理来自系统导向音频检测器440和系统导向图像检测器450的数据,以得到关于输入是否是系统导向的总体确定,其可以作为sdd结果442输出。系统导向检测器470不仅可以考虑从系统导向音频检测器440和系统导向图像检测器450输出的数据,还可以考虑与输入相对应的其它数据/元数据(例如,图像数据/特征数据436、音频数据/特征数据431、图像数据112、音频数据211或参考图4所讨论的数据)。系统导向检测器470可以包括一个或多个模型,其可以分析各种输入数据以做出关于sdd结果442的确定。[0121]在一个示例中,系统导向检测器470的确定可以基于“与(and)”逻辑,例如,如果同时从系统导向音频检测器440和系统导向图像检测器450接收到肯定数据,则确定输入是系统导向的。在另一示例中,系统导向检测器470的确定可以基于“或(or)”逻辑,例如,如果从系统导向音频检测器440或从系统导向图像检测器450接收到肯定数据,则确定输入是系统导向的。在另一示例中,基于系统导向检测器470可用的其它信息对从系统导向音频检测器440和系统导向图像检测器450接收到的数据进行单独加权,以确定音频和/或图像数据应该在何种程度上影响输入是否是系统导向的判定。[0122]系统导向输入检测器285/385还可以从唤醒字组件220接收信息。例如,系统导向输入检测器285/385(例如,系统导向音频检测器440、系统导向检测器470等)可以考虑检测到唤醒字的指示(例如,ww数据444),作为对系统输入是否是设备定向的总体考虑的一部分。对唤醒字的检测可以被考虑为是特定输入是设备导向的强信号。[0123]如果确定输入是系统导向的,则可以将与输入相关的数据发送到下游组件以供进一步处理(例如,发送到语言处理292)。如果确定输入不是系统导向的,则系统可以不采取关于与输入相关的数据的进一步动作,并且可以允许删除它。在某些配置中,为了保持隐私,用于确定输入是否是系统导向的操作由设备110(或一个或多个家庭服务器120)执行,并且只有在确定输入是系统导向的情况下,才将其它数据(例如音频数据211或图像数据112)发送到在用户的家庭外部或其它直接控制的远程系统120。[0124]如图5所示,一个或多个系统120可以包括图像处理部件240。图像处理组件240可以位于不同的物理和/或虚拟机之间。图像处理组件240可接收并分析图像数据(其可包括单个图像或多个图像,例如视频馈送中的多个图像)。图像处理组件240可与系统120的其它组件一起工作,以执行各种操作。例如,图像处理组件240可以与用户识别组件295一起工作,以辅助使用图像数据的用户识别。图像处理组件240还可包括或以其它方式与图像数据存储器570相关联,所述图像数据存储器570可存储图像处理组件240所使用的各种图像数据。图像数据可以是不同格式的,例如jpeg、gif、bmp、mpeg、视频格式等。[0125]图像匹配算法(例如由图像处理组件240使用的图像匹配算法)可以利用对象或场景的图像包含多个特征点的事实。特征点是图像中对图像旋转、缩放、视点或亮度条件的变化呈现鲁棒性的特定点。这意味着这些特征点通常存在于两个待比较的图像中,即使这两个图像是不同的。这些特征点也可以被称为“感兴趣点”。因此,图像匹配算法的第一阶段可以包括在图像中找到这些特征点。可以构建图像金字塔以确定图像的特征点。图像金字塔是图像的尺度空间表示,例如,它包含各种金字塔图像,每个金字塔图像是处于特定尺度的图像的表示。尺度空间表示使得图像匹配算法能够匹配在整体尺度上不同的图像(例如在距对象不同距离处获取的图像)。金字塔图像可以是原始图像的平滑的和向下采样的版本。[0126]为了建立对象图像的数据库(其中每个图像具有多个对象),可以从不同的视点获取对象的多个不同图像。从这些图像中,可以提取特征点并构造金字塔图像。可以在数据库内(例如,在下面描述的树结构内)获取和链接来自每个特定对象的不同视点的多个图像。所述多个图像可以对应于对象的不同视点,该视点足以从可以包括在用户的查询图像中的任何稍后的角度来识别对象。例如,从仰视图看,从俯视图看,或从侧视图看,鞋将会非常不同。对于某些对象,该不同图像角度的数目可以是6个(顶部、底部、左侧、右侧、前部、后部),对于其它对象,这可以或多或少地取决于各种因素,包括应当取得多少图像以确保在输入查询图像中可以识别对象。使用可用对象的不同图像,即使用户的输入图像是以稍微不同的角度拍摄的,来自用户的输入图像也更可能被系统识别并且识别出对象。[0127]可以对多个对象重复该过程。对于诸如在线购物数据库的大型数据库,其中用户可以提交待识别的对象的图像,该过程可以重复数千次,数百万次,以构建图像和数据的数据库以用于图像匹配。数据库还可以被连续地更新和/或细化,以考虑要待识别的对象的变化类别。[0128]当配置数据库时,可以使用金字塔图像、特征点数据和/或来自图像或对象的其它信息,以聚集特征并构建对象和图像的树,其中树的每个节点将保持对象和相应特征的列表。树可以被配置成对图像/特征的视觉上重要的子集进行分组,以便于匹配所提交的用于对象检测的图像。关于待识别的对象的数据可以由系统存储在图像数据570、简档存储器270或其它存储组件中。[0129]图像选择组件520可以从输入图像数据中选择期望的图像,以在运行时用于图像处理。例如,输入图像数据可以来自一系列的连续图像,例如视频流,其中每个图像是视频流的帧。这些输入图像需要被分类以确定哪些图像将被选择用于进一步的对象识别处理,因为对低质量图像执行图像处理将导致不期望的用户体验。为了避免这种不期望的用户体验,执行从首先开始视频馈送到向用户传递结果的完整识别过程的时间应该尽可能的短。当视频馈送中的图像可以快速连续地出现时,图像处理组件240可以被配置成快速地选择或丢弃图像,使得系统可以依次快速地处理所选择的图像并将结果传递给用户。图像选择组件520可通过计算视频馈送中的每一帧的度量/特征以及如果所述度量超过某阈值则选择用于处理的图像来选择用于对象识别的图像。虽然图5示出了作为系统120的一部分的图像选择组件520,但图像选择组件520也可位于设备110上,使得设备可仅选择将一个或多个所期望图像发送到系统120,从而避免将过多图像数据发送到系统120(从而花费不必要的计算/通信资源)。因此,出于图像分析的目的,设备可以只选择最佳质量的图像。[0130]用于选择图像的度量可以是一般性图像质量度量(焦点、锐度、运动等),或者可以是定制的图像质量度量。度量可以由软件组件或硬件组件来计算。例如,可以根据诸如陀螺仪、加速度计、场传感器、惯性传感器、相机元数据或其它组件的设备传感器的输出导出度量。因此,度量可以是基于图像的(例如,从图像导出或从诸如焦距等相机元数据获取的统计量),或者可以是不基于图像的(例如,从陀螺仪、加速度计、gps传感器等导出的运动数据)。当通过系统获得来自视频馈送的图像时,系统(例如设备)可确定用于图像的度量值。可以为每个图像确定一个或多个度量。为了考虑时间波动,可以将用于每个相应图像的独立度量与用于图像馈送中的先前图像的度量值进行比较,从而可以计算图像的历史度量值和度量。该历史度量也可以被称为历史度量值。历史度量值可以包括与同一视频馈送中的不同图像组的度量值相比的图像的某些度量值的表示。可以使用经训练的分类器模型来处理一个或多个历史度量,以选择哪些图像适于随后的处理。[0131]例如,如果要使用聚焦度量(其是图像的聚焦的数字表示)来测量特定图像,则也可以为特定图像的前n个帧计算聚焦度量。n是可配置的数目,并且可以根据诸如延迟时间、精确度等的系统约束而变化。例如,n可以是30个图像帧,表示例如以每秒30帧的视频馈送的一秒视频。可以计算用于前n个图像的聚焦度量的平均值,以及用于聚焦度量的标准偏差。例如,对于视频馈送序列中的图像数x+1,前n个图像可以具有与它们中的每一个相关联的各种度量值。讨论了诸如聚焦、运动和对比度的各种度量,但是其它度量也是可行的。可以计算用于n个图像中的每个图像的每个度量的值,然后根据那些单独的值,可以计算平均值和标准偏差值。然后,平均和标准偏差(std)可用于计算归一化的历史度量值,例如std(度量)/mean(度量)。因此,特定图像处的历史聚焦度量的值可以是std除以用于前n个帧的聚焦度量的平均值。例如,用于聚焦、运动和对比度的历史度量(hist)可以表示为:[0132][0133][0134][0135]在一个实施例中,可以通过将上述历史度量除以帧数n来进一步归一化历史度量,特别是在对于特定时间窗考虑少量帧的情况下。可以使用作为视频馈送的一部分接收的每个新图像帧来重新计算历史度量。因此,输入视频馈送的每个帧可以具有与之前帧不同的历史度量。用于视频馈送的特定图像的度量可以与历史度量比较以选择在其上执行图像处理的期望图像。[0136]图像选择组件520可以执行各种操作来识别图像中可能包含可识别文本的潜在位置。这个过程可以被称为图像字符区域检测。图像字符(glyph)是尚未被识别的文本字符。如果检测到图像字符区域,则可以计算各种度量,以帮助最终的光学字符识别(opticalcharacterrecognition,ocr)处理。例如,可以为特定图像字符区域重新使用或重新计算用于整体图像选择的相同度量。因此,虽然整个图像可以具有足够高的质量,但是可以测量特定图像字符区域的质量(即,聚焦、对比度、强度等)。如果图像字符区域的质量差,则出于文本识别的目的,可以拒绝该图像。[0137]图像选择组件520可生成界定文本行的边界框。该边界框可以界定图像字符区域。可以为边界框中的部分图像计算一个或多个图像/区域适合性度量的一个或多个值。还可以为边界框外的部分图像计算一个或多个相同度量的一个或多个值。然后,可以将边界框内的一个或多个值与边界框外的一个或多个值进行比较,以对图像的适用性进行另一种确定。这种确定也可以使用分类器。[0138]可以计算附加特征以确定图像是否包括用于进一步处理的足够质量的文本区域。也可以使用分类器来处理这些特征的值,以确定图像是否包含真实的文本字符/图像字符或者是否适于识别处理。为了将每个候选字符位置局部地分类为真实文本字符/图像字符位置,从本地像素图案中提取捕获候选位置的显著特征的特征组。这些特征可以包括纵横比(边界框宽度/边界框高度)、紧密度(4*π*候选图像字符区域/(周长)2)、实度(候选图像字符区域/边界框区域)、描边宽度与宽度比(最大描边宽度/边界框宽度)、描边宽度与高度比(最大描边宽度/边界框高度)、凸度(凸包周长/周长)、原始紧密度(4*π*(候选像素的图像字符数目)/(周长)2)、候选图像字符中的孔的数目、或其它特征。也可以使用其它候选区域识别技术。例如,系统可以使用涉及最大稳定极值区域(maximallystableextremalregion,mser)的技术。代替mser(或结合mser),可以使用定向梯度的直方图(histogramoforientedgradient,hog)和gabor特征来识别候选位置。[0139]如果图像具有足够高的质量,则可以通过图像选择520来选择该图像以发送到另一组件(例如,从设备发送到系统120)和/或进一步处理,例如文本识别、对象检测/分辨率等。[0140]由图像选择组件520计算的特征数据可以被发送到其它组件,例如文本识别组件540、对象检测组件530、对象解析组件550等,使得这些组件可以在它们的操作中使用特征数据。可以在识别/分辨率操作之前对图像数据执行诸如掩蔽、二值化等其它预处理操作。这些预处理操作可以在发送图像数据之前由设备执行或由系统120执行。[0141]对象检测组件530可以被配置成分析图像数据以识别在图像数据中表示的一个或多个对象。可以使用各种方法来尝试识别和标识对象,以及确定这些对象的类型和与这些对象的类型相对应的应用或动作,如本领域中已知的或使用的。例如,可以使用各种计算机视觉算法来尝试定位、识别和/或标识图像或视频序列中的各种类型的对象。计算机视觉算法可以采用各种不同的方法,如可以包括边缘匹配、边缘检测、部分识别、梯度匹配、直方图比较、解释树等。[0142]对象检测组件530可以处理图像数据的至少一部分以确定特征数据。特征数据表示在图像数据中描述的一个或多个特征。例如,特征可以是面部数据或其它对象,例如由简档存储器270中存储的数据表示的对象。特征的其它示例可以包括身体部分的形状或识别人的存在性的其它这种特征。特征的其它示例可以包括门的边缘、墙壁上的阴影、墙壁上的纹理、环境中的艺术品部分等,以识别空间。对象检测组件530可以将检测到的特征与指示检测到的特征如何与已知对象相关的存储数据(例如,在简档存储器270、图像数据570或其它存储器中的存储数据)进行比较,以用于对象检测的目的。[0143]可以使用各种技术来确定图像数据中特征的存在。例如,可以使用canny检测器、sobel检测器、高斯差分、来自加速段测试特征(featuresfromacceleratedsegmenttest,fast)检测器、尺度不变特征变换(scale-invariantfeaturetransform,sift)、加速鲁棒特征(speededuprobustfeature,surf)、彩色sift、局部二进制模式(localbinarypattern,lbp)、经训练的卷积神经网络、或其它检测方法中的一者或多者来确定图像数据中的特征。已检测到的特征可以具有表征该特征的关联描述符。在一些实现方式中,描述符可以包括矢量值。例如,描述符可以包括表示关于许多(例如,256)不同维度的特征的数据。[0144]可以用于图像的几何匹配的一种统计算法是随机采样一致性(randomsampleconsensus,ransac)算法,然而也可以使用类ransac算法或其它统计算法的其它变体。在ransac中,随机采样一小组推定的对应关系。此后,使用这些采样的特征点生成几何变换。在生成变换之后,确定拟合模型的推定的对应关系。拟合模型并且几何一致的推定的对应关系被称为“内点(inliers)”。内点是特征点对,每个图像中的一个可以彼此对应,其中该对拟合特征点的视觉(和其它)内容的特定比较阈值内的模型,并且在几何上是一致的(如下面关于运动估计所解释的)。可以确定内点的总数目。可以重复上述步骤,直到重复/试验的次数大于预定的阈值,或者用于图像的内点数目足够高以确定图像为匹配(例如,内点数目超过阈值)。ransac算法返回具有对应于该模型的最高内点数目的模型。[0145]为了进一步测试图像之间的推定的对应特征点对,在确定了推定的对应关系之后,可以对推定的对应关系的子集执行拓扑等价测试,以避免形成物理上无效的变换。在确定变换之后,可以执行取向一致性测试。可以为图像中的一者中的推定对应关系的子集中的特征点确定偏移点。每个偏移点在其对应的特征点的取向方向上偏离其对应的特征点。如果图像中的任何一者被匹配并且其偏移点与估计的方向相差预定限制,则基于从假定对应关系的子集中的特征点获得的特征点的方向来丢弃变换。随后,可以使用满足拓扑等价性测试的推定的对应关系的子集来执行运动估计。[0146]运动估计(也称为几何验证)可以确定相应的推定的相应特征点对之间的相对位置差。推定的对应特征点之间的几何关系可以确定在一个图像(例如,要匹配的图像输入)中相对于推定的匹配图像(即,数据库图像)中的可能相同的点找到特定点的位置。还可以确定许多推定的对应特征点对之间的几何关系,从而在图像上的推定的对应特征点之间创建潜在的映射。然后,可以比较这些点的几何关系,以确定是否有足够数量的点相对应(即,点对之间的几何关系是否在几何关系的某个阈值分数内),从而指示一个图像可以代表相同的真实世界物理对象,尽管从不同的观点来看。因此,运动估计可以确定一个图像中的对象与另一个图像中的对象相同,仅旋转某个角度或者从不同的距离观看,等等。[0147]可以针对特定查询图像多次执行上述图像比较特征点以及在推定的匹配图像上执行运动估计的过程,以将查询图像与所存储的数据库图像中的多个潜在匹配进行比较。可以在可以找到超过相关阈值(对于匹配特征点和运动估计)的一个(或多个)满意匹配之前执行数十次比较。阈值还可以包括置信度阈值,该置信度阈值将每个潜在匹配图像与可以基于上述处理的置信度分数进行比较。如果置信度分数超过某个高阈值,则系统可以停止处理附加候选匹配,并且简化地选择高置信度匹配作为最终匹配。或者,如果图像的置信度得分在某个范围内,则系统可以将候选图像保持为潜在匹配,同时为潜在匹配继续搜索其它数据库图像。在某些情况下,多个数据库图像可以超过各种匹配/置信度阈值,并且可以被确定为候选匹配。在这种情况下,可以使用权重或置信度得分的比较来选择最终匹配,或者可以使用候选匹配的某种组合来返回结果。系统可以继续尝试匹配图像,直到识别出一定数量的潜在匹配,达到一定的置信度分数(或者单独地具有单个潜在匹配或者在多个匹配之间),或者触发一些其它搜索停止指示符。例如,可以向潜在匹配数据库图像的每个对象赋予权重。如果发现多个查询图像(例如,来自相同图像流的多个帧)与相同对象的数据库图像匹配,则该权重可以递增地增加。如果该权重超过阈值,则可以触发搜索停止指示符,并且选择相应的对象作为匹配。[0148]一旦对象检测组件530检测到对象,系统可以使用对象解析组件550来确定实际看到哪个对象。因此,诸如对象检测组件530的一个组件可以检测对象是否在图像中被表示,而另一组件,对象解析组件550可以确定哪个对象被实际表示。尽管被示为单独的组件,但是系统也可以被配置成使得单个组件可以同时执行对象检测和对象解析。[0149]例如,当数据库图像被选择为与查询图像匹配时,查询图像中的对象可以被确定为匹配数据库图像中的对象。与数据库映像相关联的对象标识符(例如产品id或其它标识符)可用于沿着“我看见持有对象x”的行以及其它信息向用户返回结果,这给出了关于对象的用户信息。如果返回多个潜在匹配(例如,当系统不能准确地确定找到了哪个对象时,或者如果在查询图像中出现了多个对象时),则系统可以向用户指示找到了多个潜在匹配对象,并且可以返回与多个对象相关的信息/选项。[0150]在另一示例中,对象检测组件530可以确定在图像数据中表示对象的类型,然后,对象解析组件550可以确定表示哪个特定对象。对象解析组件550还可以使关于已识别对象的特定数据可用于其它组件,从而可以针对已解析对象执行其它操作。[0151]对象检测组件530可以被配置成处理图像数据以检测近似二维(2d)对象(例如一张纸)或三维(3d)对象(例如面部)的表示。这种识别可以基于可用的存储数据(例如,270、570等),这些数据又可以通过由图像数据摄取组件510管理的图像数据摄取过程来提供。可以使用各种技术来确定图像数据中特征的存在。例如,可以使用canny检测器、sobel检测器、高斯差分、来自加速段测试特征(fast)检测器、尺度不变特征变换(sift)、加速鲁棒特征(surf)、彩色sift、局部二进制模式(lbp)、经训练的卷积神经网络、或其它检测方法中的一者或多者来确定图像数据中的特征。已经检测到的特征可以具有表征该特征的关联描述符。在一些实现方式中,描述符可以包括矢量值。例如,描述符可以包括表示关于许多(例如,256)不同维度的特征的数据。[0152]在各种实施例中,对象检测组件530可被配置成检测图像数据中的用户或用户的一部分(例如,头、脸、手),并确定用户在图像数据中的初始位置和/或方向。可以使用各种方法来检测图像数据内的用户。用于检测用户的技术有时可以被表征为基于特征或基于外观。基于特征的方法总体上涉及从图像中提取特征并应用各种规则、度量或试探法(heuristics)来确定人是否存在于图像中。所提取的特征可以是低级图像特征,例如点(例如,线交叉点、高方差点、gabor小波的局部曲率不连续性、曲线的拐点、小波变换的局部极值、harris角、shitomasi点)、边(例如,canny边、shen-castan(isef)边)、或者感兴趣的区域(例如,斑点、高斯斑点的拉普拉斯算子、高斯差分斑点、hessian斑点、最大稳定极值区域(mser))。用于用户检测的基于低级图像特征的方法的示例是边缘分组方法。在边缘方法的分组中,边缘图(通过例如canny检测器、sobel滤波器、marr-hildreth边缘算子生成)和试探法被用于从输入图像中去除和分组边缘,从而仅保留面部轮廓的边。然后将框或椭圆拟合到头部区域和背景之间的边界。基于低级特征的方法也可以基于灰度级信息或肤色。例如,诸如眉毛,瞳孔和嘴唇部的面部特征通常看起来比面部的周围区域更暗,并且这种观察可以用于检测图像内的面部。在一种这样的方法中,使用输入图像的低分辨率高斯或拉普拉斯算子来定位类似取向的斑点和条纹的线性序列,例如两个暗斑点和三个亮斑点来表示眼睛、面颊和鼻子并且条纹来表示面部、眉毛和嘴唇部的轮廓。可以应用几何规则来分析斑点和条纹之间的空间关系,以验证人是否位于图像中。肤色也可以用作检测和/或跟踪用户的基础,因为肤色包括可以相对有效地定位在图像中的有限范围的色谱。[0153]所提取的特征还可以基于用户的高级特性或特征,例如眼睛、鼻子和/或嘴。某些基于高级特征的方法可以被表征为自上而下或自下而上的。自上而下的方法首先试图检测特定的用户特征(例如,头部或面部),然后通过检测该用户特征的组成部分(例如,眼睛、鼻子、嘴)来验证图像中人的存在。相反,自下而上的方法开始于首先提取组成成分,然后基于正确排列的组成成分来确认人的存在。例如,一种基于自上而下特征的方法是基于多分辨率规则的方法。在该实施例中,通过从图像生成一组在图像金字塔或分级结构(例如,高斯金字塔、差分高斯金字塔、拉普拉斯金字塔)的每个上升级进行卷积和子采样的金字塔或分级结构图像,来将人检测为存在于图像内。在包括图像金字塔或分级结构的最低分辨率图像的最高级别,可以应用最常规的规则组来找到用户是否被表示。用于检测面部的规则组的示例可以包括:包括均匀强度的像素集合的面部的上圆形部分、包括第二均匀强度的像素集合的面部的中心部分,并且面部的上圆形部分和中心部分的强度之间的差在阈值强度差内。图像金字塔或分级结构是下降的,并且可以根据更具体的规则集以更精细的分辨率以更低的级别来处理在符合该级别的规则的更高级别上检测到的面部候选者。金字塔或分级结构的较低级别或较高分辨率图像的规则的示例集合可以基于局部直方图均衡和边缘检测,并且金字塔或分级结构的最低级别或最高分辨率图像的规则可以基于面部特征度量。在另一自上而下的方法中,基于用于定位面部边界的kanade投影方法来定位面部候选。在该投影方法中,首先沿着水平轴分析输入图像的强度分布,并且确定两个局部最小值是头部的左侧和右侧的候选。然后评估沿垂直轴的强度分布,并确定局部最小值是嘴、鼻和眼睛位置的候选。用于眉毛/眼睛、鼻孔/鼻子、和嘴的检测规则或类似方法可用于验证候选者是否是面部。[0154]一些基于特征和基于外观的方法使用模板匹配来确定用户是否表示在图像中。模板匹配是基于匹配预定义的面部图案或参数化函数以定位图像内的用户。模板通常是手动“离线”准备的。在模板匹配中,通过将一个或多个模板与输入图像进行比较来获得头部和面部特征的相关值,并且根据相关值来确定面部的存在。一种用于检测图像内的用户的基于模板的方法是yuille方法,其将参数化的面部模板匹配到输入图像的候选区域。另外两个模板分别用于匹配眼睛和嘴。定义能量函数,其将图像强度分布中的边缘、峰和谷与模板中的相应特性相关联,并且通过迭代地调整模板的参数来最小化能量函数以适配图像。另一种模板匹配方法是活动形状模型(activeshapemodel,sm)。asm统计地模拟可变形对象(例如,用户的头部、面部、其它用户特征)的形状,并且与具有标记的标志的图像的训练集一起离线地构建。可变形对象的形状可以由标记的标志的矢量来表示。可以使用主成分分析(principalcomponentanalysis,pca)将形状矢量归一化并投影到低维子空间上。asm被用作模板以确定人是否位于图像中。asm已经导致使用活动外观模型(activeappearancemodel,aam),其进一步包括定义纹理或强度矢量作为模板的一部分。基于点分布模型,图像训练集中的图像可以被变换为平均形状,以产生无形状的图块。可以对来自这图块的强度进行采样以生成强度矢量,并且可以使用pca来降低强度矢量的维数。aam的参数可以被优化,并且可以使用例如梯度下降技术或线性回归使aam适配出现在新图像中的对象。[0155]还可以使用各种其它基于外观的方法来定位用户是否表示在图像中。基于外观的方法通常使用分类器,所述分类器是根据图像中表示有人的正面示例和图像中未表示人的负面示例来训练的。对输入图像应用分类器可以确定用户是否存在于图像中。基于外观的方法可以基于pca、神经网络、支持向量机(svm)、朴素贝叶斯分类器(bayesclassifier)、隐马尔可夫模型(hmm)、归纳学习、自适应增强(adaboost)等。本征面是基于pca的方法的示例。对已知包括面部的图像的训练集执行pca,以确定训练集的协方差矩阵的特征向量。本征面跨越称为“面空间”的子空间。面部的图像被投影到子空间上并被群聚。为了检测图像中的人的面部,为图像中的所有位置计算图像区域和“面部空间”之间的距离。到“面部空间”的距离被用作图像主题是否包括面部的度量,并且到“面部空间”的距离形成“面部图”。可以根据“面部图”的局部最小值中检测面部。[0156]神经网络受到生物神经网络的启发,并且由使用连接论方法处理信息的互连的一组功能或分类器组成。神经网络在训练过程中改变其结构,例如通过合并一个网络内的重叠检测和训练仲裁网络来组合来自不同网络的结果。基于神经网络的方法的示例包括rowley的多层神经网络、自联想神经网络、基于概率决策的神经网络(probabilisticdecision-basedneuralnetwork,pdbnn)、winnows的稀疏网络(sparsenetworkofwinnows,snow)。神经网络的变体是深度信念网络(deepbeliefnetwork,dbn),其使用无监督的预训练来生成神经网络以首先学习有用的特征,并且通过使用经训练的数据进一步反向传播来训练dbn。[0157]支持向量机(svm)是在结构风险最小化的原则下操作的,其目的是最小化期望泛化误差的上限。svm寻求找到由支持向量构成的最优分离超平面,并定义为二次规划问题。朴素贝叶斯分类器以多个分辨率估计面部图案的局部外观和位置。在每个尺度上,面部图像被分解成子区域,并且子区域根据空间、频率和方向被进一步分解。从投影样本中估计每个投影子区域的统计量,以了解对象和位置的联合分布。如果似然比大于先前概率(即,)的比,则确定面部在图像内。在基于hmm的方法中,面部图案被处理为观察矢量序列,每个矢量包括一条像素。每个像素条带被视为hmm的观察或状态,并且像素条带之间的边界根据统计建模由观察或状态之间的转换来表示。诸如基于quinlan的c4.5算法或mitchell的find-s算法的归纳学习方法也可用于检测图像中人的存在。[0158]adaboost是一种机器学习增强算法,其从许多“弱”假设(即,实质差错率)的组合中找到高度精确的假设(即,低差错率)。给定包括类内而不是类内的示例的数据集以及基于对示例和弱分类器集进行分类的困难的权重,adaboost在一系列轮次的每一个中生成并调用新的弱分类器。对于每个调用,更新权重的分布,其指示数据集中的示例对于分类的重要性。在每一轮中,每一个不正确分类的示例的权重被增加,并且每一个正确分类的示例的权重被减少,因此新分类器集中于困难的示例(即,那些示例没有被正确分类)。基于adaboost的方法的一个示例是viola-jones检测器。[0159]在已经在由计算设备捕获的图像数据中检测到用户的至少一部分之后,例如使用对象跟踪组件560,根据各种实施例的方法跟踪用户的检测部分。对象跟踪组件560、凝视检测器565或一个或多个其它组件可使用用户识别数据1895或与用户识别组件相关的其它信息来使用图像数据以识别和/或跟踪用户。图6a至图6f示出了根据各种实施例的可用于检测和跟踪用户面部的某些方法。图6a示出了这样的示例,其中已经确定了用户602的头部的近似位置和方向,并且使用本文讨论的各种用户检测过程中的一者或多者来围绕用户的头部放置虚拟“框”620。也可以使用类似或不同的方法来确定每个用户眼睛(或者在一些情况下是两只的眼睛)和嘴或其它面部特征的近似位置和区域622。通过将用户的眼睛和嘴的位置确定为面部检测的一部分,可以获得优点,因为被确定为用户面部的图像实际上更可能包括用户的面部,并且可以确定用户在设备的前面并且用户正在观看设备。此外,当用户正在执行诸如前后点头或摇动头部的运动时,用户的眼睛和嘴的相对运动可以比用户面部的整体运动更容易被检测。[0160]也可以使用各种其它方法来跟踪用户。例如,图6b示出了这样的示例,其中用户面部上的各种特征被识别并被分配为图像中的点624。因此,系统可以检测用户面部特征的各个方面,并且可以确定变化,例如运动或形状或表情的变化。在某些情况下,这种方法可以提供优于图6a中的一般性方法的优点,因为可以确定沿着面部特征的各个点,例如用户嘴的端点和至少一个中心点。因此,即使用户的嘴或面部的整体位置没有运动,也可以捕捉诸如微笑或皱眉的表情。[0161]一旦检测到用户的面部特征,就可以跟踪面部表情中的相对运动或变化并将其用作根据各种实施例的输入。例如,图6c示出了用户头部602相对于成像元件的可视区域上下运动的示例。如所讨论的,这可能是用户摇动他或她的头部,或者用户上下移动设备等的结果。图6d示出了类似的示例,其中通过用户、设备或这两者的移动用户相对于设备从右向左移动。可以看出,每个运动可以分别作为垂直或水平运动被跟踪,并且每个运动可以作为输入被不同地处理以执行指定的功能。应当理解,各种实施例也可以检测对角线或其它运动。图6e进一步示出了示例,其中用户倾斜设备和/或用户的头部,并且眼睛位置的相对变化被检测为旋转。在一些系统中,可以监视对应于眼睛(或其它面部特征,例如眉毛、发线、嘴、下巴、耳朵等)的相对位置的“线”,并且可以将该线的角度偏移与角度阈值进行比较,以确定何时应该将旋转解释为输入。[0162]图6f示出了使用诸如参照图6b所述的方法来确定用户面部上各种特征的位置的其它优点。在该示例中,可以看到第二用户604的头部的特征具有不同的相对位置和间隔。因此,计算设备不仅可以确定特定用户的面部特征的位置和变化,而且可以区分不同的用户。此外,该设备可以被配置成基于例如各种特征625的分离量和比来检测用户与该设备的距离,使得该设备可以检测朝向和远离该设备的移动。这有助于提高面部跟踪的准确性。[0163]在一些实施例中,来自计算设备的其它传感器的信息(例如关于计算设备的运动的信息)可以用于增强头部/面部跟踪,或者由设备执行的其它对象跟踪。例如,计算设备可以包括能够捕获用户头部或其它特征(例如,手、手指、面部特征等)的图像的一个或多个相机。图像数据可以被处理以执行面部识别或手势识别,用于不需要设备的物理触摸的手势以及其它功能。通常,用户检测和/或跟踪可以是计算密集型的,并且可能希望通过使用关于计算设备的运动的信息来优化这些过程。例如,如果计算设备基于惯性传感器数据(例如,加速度计、陀螺仪、测斜仪和/或磁力计)检测到用户已经转动计算设备,使得用户面部不可能在相机的视图内,则计算设备可以停止用户检测和/或跟踪的过程,以节省资源(例如,cpu利用率、功率等)。类似地,如果设备确定用户在移动的公共汽车上(例如,如由公共汽车票价的移动支付应用所确定的)或者在光量周期性变化的其它变化环境中(例如,如由环境光传感器所确定的),则计算设备可以选择继续执行头部跟踪过程,即使用户的面部(或其它特征)可能由于缺少光而在某些时间间隔期间变得不可检测。以这种方式,计算设备可以利用关于设备的运动和其它上下文的信息来辅助用于用户检测和跟踪的过程。[0164]对象跟踪组件560还可以跟踪在图像数据中表示的其它对象。在图像数据中识别的对象(例如,由对象检测组件530)可以出现在由设备110的相机捕获的图像数据中的一个或多个不同位置。对象跟踪组件560可以跨越图像数据跟踪对象,并且可以(连同系统的一个或多个其它组件一起)使用各种技术来尝试确定对象随时间相对于设备110(或其它参考点)的相对位置。[0165]对象跟踪组件560还可以包括凝视检测组件565。凝视检测部件565也可以位于系统设计中的其它地方。凝视检测组件565可包括分类器或其它组件(例如,包括一个或多个经训练的模型),所述分类器或其它组件被配置成使用图像数据和/或对应于图像数据的特征数据来跟踪用户的凝视。凝视检测组件565可以输出指示用户正在观看设备或观看其它(例如,另一用户)的数据。如果在设备110上操作,则注视检测组件565可以处理图像数据(其可以包括由相机捕获的原始图像数据,或者可以包括表示原始图像数据的特征数据)以确定用户正在设备的相机上注视。如果在另一设备上操作,则凝视检测组件565可处理图像数据以确定用户正在观看设备110,例如在讲话时观看设备110。以这种方式,可以使用第二设备的处理来确定用户在向第一设备讲话时正在观看第一设备。因此,例如,在智能家庭情况下,来自从语音捕获设备(例如,设备110)移除的相机的图像数据可用于确定用户在讲话时正在观看语音捕获设备。来自凝视检测器565的数据可以由例如系统导向输入检测器385使用。[0166]图7是示出了根据本公开实施例的通过计算嘴部纵横比来执行活动讲话者检测的示例的概念图。如图7所示,系统100可以执行面部分析以生成用户面部的三维(3d)模型。例如,系统100可以处理图像数据221以计算视频段720中的每个人的嘴部纵横比。[0167]如图7所示,系统100处理图像数据221的单独视频帧。例如,系统100可以选择图像数据221的单独视频帧,检测(725)与表示面部的视频帧的一部分相对应的面部边界框,并提取(730)面部。系统100可以将所提取的面部输入到模型,该模型被配置成输出用于面部的密集3d网格表示的3d可变形模型(3dmorphablemodel,3dmm)参数。而不脱离本公开的情况下,如本文所使用的,3d网格表示可以被称为网格模型等。在一些示例中,模型可以是深度神经网络(dnn)模型,其被训练以将面部检测器的输出(例如,围绕面部修剪的图像数据的一部分)作为输入并直接输出3dmm参数,尽管本公开并不限于此。[0168]如图7所示,系统100可以预测(735)对应于面部的3dmm参数。3dmm参数可以包括形状参数(例如,表示面部形状的参数)、表情参数(例如,表示一个或多个面部表情的参数)、标量参数、旋转矢量、平移矢量、和/或对应于面部的附加参数。例如,形状参数使得系统100能够建模用户的特定面部形状,表情参数使得系统100能够建模用户的一个或多个面部表情,而标量参数、旋转矢量和平移矢量分别修改网格模型的大小、旋转和位置。[0169]为了执行活动讲话者检测,系统100可以使用表情参数来生成(740)未知面部表示。基于面部标志(例如,在未知面部表示中表示的上嘴唇部和下嘴唇部的位置),系统100可以通过将嘴部高度除以嘴部宽度(例如,(t-b)/(r-l))来计算(745)嘴部纵横比,如下面关于图10a更详细地描述的。[0170]最后,系统100可以确定(750)随时间变化的表示嘴部纵横比的嘴部数据755,可以计算(760)对应于嘴部数据755的标准偏差765,并且可以将标准偏差与阈值进行比较(770)以预测标记。因此,系统100可以为图像数据221的一个或多个独立视频帧生成指示用户是否正讲话的标记数据775,但本公开并不限于此。关于生成未知面部表示、计算嘴部纵横比、计算标准偏差和/或生成标记数据的附加细节在下面参考图8a至图8b进行描述。[0171]图8a至图8b是示出了根据本公开实施例的生成具有未知面部表示的网格模型的示例的概念图。为了精确地测量嘴部运动,而不管单独用户之间面部形状的变化和/或用户的旋转运动,系统100可以执行面部分析以生成用户面部的三维(3d)模型。例如,系统100可以将表示面部的图像数据输入到模型,该模型被配置成输出用于面部的密集3d网格表示的3d可变形模型(3dmm)参数。如本文所使用的,3d网格表示可以被称为网格模型,尽管本公开并不限于此。[0172]在一些示例中,模型可以是深度神经网络(dnn)模型,其被训练以将面部检测器的输出(例如,围绕面部修剪的图像数据的一部分)作为输入并直接输出3dmm参数,尽管本公开并不限于此。为了说明这个概念,图8a示出了使用来自dnn模型的输出将3d网格模型拟合在二维(2d)图像上的示例。例如,图8a示出了被输入到dnn模型并被应用到中性网格模型的原始图像810,该中性网格模型被示为平均网格模型815。平均网格模型815是可以使用形状参数和/或表情参数来修改以建模用户面部的基线或平均值网格模型。例如,形状变形网格820示出了平均网格模型815被变形以仅匹配用户面部的形状的示例,表情变形网格825示出了平均网格模型815被变形以仅匹配用户面部的面部表情的示例,并且形状和表情变形网格830示出了平均网格模型815被变形以同时匹配用户面部的形状和用户面部的面部表情的示例。[0173]如图8a所示,形状和表情变形的网格830可以被修改以生成与原始图像810相对应的旋转网格模型835。例如,可以使用标量参数、旋转矢量、平移矢量和/或附加参数来修改变形网格830的形状和表情,使得旋转网格模型835对应于在原始图像810中表示的原始面部。因此,重叠图像840示出了重叠在原始图像810之上的旋转网格模型835的示例,以示出网格模型如何对应于原始面部。[0174]用于生成面部表示的3dmm参数可以包括形状参数(例如,表示面部形状的参数)、表情参数(例如,表示面部表情的参数)、标量参数、旋转矢量、平移矢量、和/或对应于面部的附加参数。例如,形状参数使得系统100能够对用户的特定面部形状(例如,形状变形网格820)进行建模,表情参数使得系统100能够对用户的一个或多个面部表情(例如,表情变形网格825)进行建模,并且形状参数和表情参数的组合使得系统100能够利用用户的一个或多个面部表情(例如,形状和表情变形网格830)对用户的特定形状进行建模。[0175]尽管图8a概念性地示出了设备如何对原始图像810中的原始面部建模,但是设备110可以仅使用表情参数(例如,没有形状参数)来生成网格模型。因此,对应于未知面部表象860的表情变形网格825用于确定嘴部纵横比。[0176]如图8b所示,设备110可以执行未知面部生成850以生成未知面部表示860。例如,设备110可以处理原始图像810以生成3dmm参数的一部分,诸如表情参数以及姿态参数(例如,标量参数、旋转矢量、平移矢量等)。虽然设备110不使用3dmm参数的该部分来生成网格模型,但是图8b示出了3dmm参数的该部分可以对应于旋转的网格模型855。然而,与旋转网格模型835不同,旋转网格模型855不是使用形状参数生成的,因为3dmm参数的部分不包括形状参数。[0177]在生成3dmm参数的一部分之后,设备110可以去除旋转和/或其它姿势参数,以及执行去标识化以仅生成表情参数。设备110可以使用在图8b中表示为未知面部表示860的表情参数来生成网格模型。然而,本公开并不限于此,并且在一些示例中,在不脱离本公开的情况下,设备110可以仅确定表情参数和/或生成网格模型的一部分。[0178]图9是示出了根据本公开实施例的用于生成网格模型的形状参数和表情参数的示例的概念图。如图9所示,系统100可以使用3d面部参数910来生成用户面部的3d可视化920。在图9所示的示例中,3d面部参数910包括形状参数912、表情参数914、和附加参数916,尽管本公开并不限于此。尽管图9示出了其中3d面部参数910包括一定数量的形状参数912和/或表情参数914的示例,但是本公开并不限于此,并且在不脱离本公开的情况下,参数的数量可以变化。[0179]如上所述,系统100可以仅使用表情参数来生成未知面部表示,以便生成具有表示用户的嘴部运动的统一标识和姿势的中性网格模型。这明确地去除将使得难以比较个别用户之间的面部运动和/或可用于个别地识别用户的信息。使用中性网格模型,例如通过确定嘴部高度和嘴部宽度之间的嘴部纵横比,系统可以测量随时间变化的用户的嘴部运动。基于嘴部运动的变化量,系统可以确定用户是否正在讲话并检测发声。[0180]图10a至图10b是示出了根据本公开实施例的执行面部测量和计算纵横比的示例的概念图。如图10a所示,系统100可以处理第一图像数据1010以估计与第一视频帧相关联的第一唇部标志1015的第一位置,并且可以处理第二图像数据1020以估计与第二视频帧相关联的第二唇部标志1025的第二位置。[0181]在图10a所示的示例中,第一唇部标志1015对应于用户面部中的四个位置,例如上唇部位置(例如t)、下唇部位置(例如b)、左唇部位置(例如l)和右唇部位置(例如r)。如以上关于图1和图7更详细地描述的,系统100可以处理第一图像数据1010以确定第一3d可变形模型(3dmm)参数,并且可以使用来自第一3dmm参数的第一表情参数来生成表示第一未知面部表示的第一网格模型。因此,尽管图10a示出了相对于在第一图像数据1010中表示的用户面部的第一唇部标志1015,但是可以基于第一网格模型(例如,未知面部表示860)来确定用于确定第一唇部标志1015的第一位置的实际坐标值。由于仅使用第一表情参数(例如,忽略一个或多个形状参数、一个或多个标量参数、一个或多个旋转矢量、一个或多个平移矢量等)来生成第一网格模型,因此第一唇部标志1015的第一位置基于用户5的一个或多个面部表情而变化,但不基于头部运动(例如,面部的相对尺寸,面部的转动等)变化。[0182]为了确定第一唇部标志1015的第一位置,系统100可以生成第一网格模型并确定对应于在第一网格模型中表示的嘴部的坐标值。例如,系统100可以确定与沿第一网格模型中的上唇部(在图10a中表示为t)的位置对应的第一坐标值、与沿第一网格模型中的下唇部(在图10a中表示为b)的位置对应的第二坐标值、与沿第一网格模型左侧(在图10a中表示为l)的上唇部和下唇部之间的交点对应的第三坐标值、以及与沿第一网格模型右侧(在图10a中表示为r)的上唇部和下唇部之间的交点对应的第四坐标值。然而,本公开并不限于此,并且在不脱离本公开的情况下,第一唇部标志1015的确切位置可以变化。例如,在不偏离本公开的情况下,在一些示例中,第一坐标值可以对应于第一网格模型中的上唇部的中心,而在其它示例中,第一坐标值可以对应于第一网格模型中的上唇部的最高位置(例如,沿着垂直轴的最高点)。类似地,在不偏离本公开的情况下,在一些示例中,第二坐标值可以对应于第一网格模型中的下唇部的中心,而在其它示例中,第二坐标值可以对应于第一网格模型中的下唇部的最低位置(例如,沿着垂直轴的最低点)。这也适用于左唇部位置和右唇部位置,使得在不偏离本公开的情况下,第三坐标值可以对应于在第一网格模型中表示的嘴的最左位置(例如,沿着水平轴的最低点),而第四坐标值可以对应于在网格模型中表示的嘴的最右位置(例如,沿着水平轴的最高点)。[0183]使用第一唇部标志1015的第一位置,系统100可以执行纵横比计算1030以确定与第一图像数据1010相对应的第一嘴部纵横比值。例如,系统100可通过计算如第一网格模型中表示的嘴部的高度(例如,嘴部高度,或t-b)与嘴部的宽度(例如,嘴部宽度,或r-l)之间的比来确定第一嘴部纵横比值。在一些示例中,系统100可以通过将第一坐标值减去第二坐标值来确定第一距离值,其中第一距离值表示与第一网格模型相关联的第一嘴部高度。类似地,系统100可以通过将第四坐标值减去第三坐标值来确定第二距离值,其中第二距离值表示与第一网格模型相关联的第一嘴部宽度。最后,系统100可以通过将第一距离值除以第二距离值(例如,高度/宽度)来确定第一嘴部纵横比值。然而,本公开并不限于此,并且在不脱离本公开的情况下,系统100可以使用任何技术来确定第一嘴部纵横比值。[0184]由于第一网格模型表示三维未知面部表示,所以在一些示例中,对应于第一唇部标志1015的坐标值是3d坐标(例如,[x,y,z])。因此,第一坐标值(例如,[x1,y1,z1])与第二坐标值(例如,[x2,y2,z2])之间的第一距离值可以使用如下所示的等式[1]来计算:[0185][0186]然而,本公开并不限于此,并且在其它示例中,在不偏离本公开的情况下,对应于第一唇部标志1015的坐标值可以是2d坐标(例如,[x,y]),可以仅使用坐标值的垂直分量等方式来计算第一距离值(例如,第一距离=y1-y2)。类似地,可以使用等式[1]来计算第三坐标值(例如[x3,y3,z3])与第四坐标值(例如[x4,y4,z4])之间的第二距离值,尽管本公开并不限于此,并且在不偏离本公开的情况下,第三坐标值和第四坐标值可以是2d坐标(例如[x,y]),可以仅使用坐标值的水平分量等方式来计算第二距离值(例如,第二距离=x4-x3)。[0187]如本文所使用的,在不偏离本公开的情况下,嘴部高度表示由嘴部产生的开口的垂直尺寸,并且可以指内嘴部高度(例如,上唇部的底部与下唇部的顶部之间的第一距离)、外嘴部高度(例如,上唇部的顶部与下唇部的底部之间的第二距离)等。类似地,在不脱离本公开的情况下,嘴部宽度表示由嘴部产生的开口的水平尺寸,并且可以指内嘴部宽度(例如,顶唇部和底唇部的第一交叉点的右侧与顶唇部和底唇部的第二交叉点的左侧之间的第三距离)、外嘴部宽度(例如,第一交叉点的左侧与第二交叉点的右侧之间的第四距离)等。[0188]系统100可以重复上述步骤以确定与第二图像数据1020相对应的第二嘴部纵横比值。例如,系统100可以处理第二图像数据1020以确定第二3dmm参数,可以使用来自第二3dmm参数的第二表情参数来生成表示第二未知面部表示的第二网格模型,可以使用第二网格模型来确定第二唇部标志1025的第二位置(例如,第二坐标值集合),并且可以执行纵横比计算1030以确定与第二图像数据1020相对应的第二嘴部纵横比值。[0189]尽管图10a示出了系统100使用四个嘴唇部标志来确定嘴部纵横比的示例,但是本公开并不限于此。相反,在不偏离本公开的情况下,系统100可以使用任何数量的嘴唇部标志和/或其它面部标志来确定嘴部纵横比。附加地或替代地,尽管图10a示出了使用嘴部纵横比作为用于确定用户5是否正在讲话的代理的系统100的示例,但是本公开并不限于此,在不偏离本公开的情况下,系统100也可以使用其它面部测量来确定用户5是否正在讲话。例如,在不偏离本公开的情况下,系统100可以使用(一个或多个)唇部标志和/或(一个或多个)面部标志来确定一个或多个面部测量,并且基于两个或更多个面部测量来确定用户5是否正在讲话等。[0190]图10b示出了面部测量1040的示例。例如,系统100可以使用图10a所示的纵横比计算1030来确定嘴部纵横比,该纵横比计算1030将嘴部高度除以嘴部宽度,以确定表示嘴开启多少的单独数字。因此,当嘴闭合(例如,不讲话)时,嘴部纵横比对应于较低的数字,而当嘴开启(例如,讲话)时,嘴部纵横比对应于较高的数字。可替代地,系统100可使用图10b中所示的嘴部面积计算1045来确定嘴部面积,所述嘴部面积计算1045将嘴部高度乘以嘴部宽度以确定表示嘴部开启多少的单个数字。因此,嘴部区域对应于当嘴部闭合(例如,不讲话)时的较低数字以及当嘴部开启(例如,讲话)时的较高数字。附加地或替代地,在一些示例中,在不偏离本公开的情况下,系统100可以仅使用底部唇部坐标(例如,b),如底部唇部测量1050所示,来确定用户5是否在讲话。然而,本公开并不限于此,并且在不脱离本公开的情况下,系统100可以使用任何表情参数914来执行面部测量1060以生成测量数据1065。[0191]尽管图10a示出了确定单个变量(例如,嘴部纵横比)的系统100的示例,但是本公开并不限于此。在一些示例中,在不背离本公开的情况下,系统100可以生成多个变量。例如,系统100可以确定第一嘴部纵横比(例如,使用内嘴部高度和内嘴部宽度)和第二嘴部纵横比(例如,使用外嘴部高度和外嘴部宽度),尽管本公开并不限于此。系统100可处理多个变量以生成单个标准偏差(例如,确定第二嘴部纵横比和第一嘴部纵横比之间的差值,然后计算差值的标准偏差)或生成多个标准偏差(例如,针对第一嘴部纵横比确定的第一标准偏差和针对第二嘴部纵横比确定的第二标准偏差),尽管本公开并不限于此。在一些示例中,系统100可包括分类器,其被配置成处理多个面部测量(例如,第一嘴部纵横比、第二嘴部纵横比、嘴部宽度、嘴部高度等),但本公开并不限于此。[0192]图11是示出了根据本公开实施例的与两个不同面部相关联的嘴部纵横比值和相应的标准偏差的示例的概念图。如图11所示,第一嘴部纵横比图1110示出了与第一用户5a相关联的第一系列的嘴部纵横比,而第二嘴部纵横比图1120示出了与第二用户5b相关联的第二系列的嘴部纵横比。如第一嘴部纵横比图1110和第二嘴部纵横比图1120所示,纵轴表示嘴部纵横比的值,而横轴表示图像数据内的与嘴部纵横比值相关联的视频帧。[0193]如图11所示,第一嘴部纵横比图1110示出了嘴部纵横比随时间稍微变化的示例,具有三个单独的峰,但是只有一个峰对应于超过0.30的嘴部纵横比。这可以对应于仅具有轻微嘴部运动的第一使用者5a,并且嘴部是部分闭合的。相反,第二嘴部纵横比图1120示出了嘴部纵横比变化更显著的示例,其中三个单独的峰都对应于超过0.30的嘴部纵横比。因此,这将对应于具有更明显的嘴部运动的第二使用者5b,并且嘴部开启三次。将第二嘴部纵横比图1120与第一嘴部纵横比图1110定性地进行比较,可以看出,与第一嘴部纵横比图1110相比,第二嘴部纵横比图1120对应于更多的嘴部运动。[0194]为了确定哪个用户正在讲话,系统100可以基于变化量来定量地比较两个图。例如,系统100可以确定针对第一用户5a的第一嘴部纵横比的第一变化量和针对第二用户5b的第二嘴部纵横比的第二变化量。如图11所示,系统100可以确定对应于第一嘴部纵横比图1110的第一标准偏差1115(例如,0.1059)和对应于第二嘴部纵横比图1120的第二标准偏差1125(例如,0.1322)。然而,本公开并不限于此,并且在不脱离本公开的情况下,系统100可以确定标准偏差、方差和/或其它统计测量。[0195]系统100可以使用第一变化量作为确定第一用户5a是否正在开启和关闭其嘴部的方式,其可以对应于第一用户5a的讲话。在一些示例中,系统100可以将第一标准偏差1115与阈值进行比较,并确定第一标准偏差1115是否满足阈值。例如,在不脱离本公开的情况下,第一标准偏差1115可以在阈值之上、在阈值之下、在值的范围内等。如果第一标准偏差1115满足阈值,则系统100可以确定第一用户5a在与第一嘴部纵横比图1110相关联的第一时间范围期间讲话。例如,系统100可以生成一个或多个标记,其指示针对与第一标准偏差1115相关联的单独视频帧第一用户5a正在讲话。然而,如果第一标准偏差1115不满足阈值,则系统100可以确定第一用户5a在第一时间范围内没有讲话,并且可以生成指示第一用户5a未讲话的标记。附加地或替代地,系统100可以执行类似的步骤以确定第二用户5b在与第二嘴部纵横比图1120相关联的第二时间范围期间是否正在讲话。例如,系统100可以将第二标准偏差1125与阈值进行比较,并确定第二标准偏差1125是否满足阈值和/或生成指示第二用户5b是否正在讲话的标记。[0196]在其它示例中,在不脱离本公的情况下,开系统100可以将第一标准偏差1115与第二标准偏差1125进行比较,并确定第一用户5a正在讲话还是第二用户5b正在讲话。例如,系统100可以在固定时间范围期间检测发声,并确定仅第一用户5a和第二用户5b被表示在与固定时间范围对应的图像数据中。因此,系统100可以确定第二标准偏差1125大于第一标准偏差1115,并且确定第二用户5b是在固定时间范围期间讲话的用户。[0197]图12a是示出了根据本公开实施例的用于执行活动讲话者检测的基于帧的方法的示例的概念图。如图12a所示,在一些示例中,系统100可以执行基于帧的活动讲话者检测1200以检测发声。例如,系统100可以连续地处理输入图像数据,以确定用户是否正在讲话和/或确定与发声相关联的边界(例如,开始和/或结束)。[0198]如图12a所示,基于帧的活动讲话者检测1200开始于系统100对图像数据1210执行活动讲话者检测1202。例如,系统100可以执行以上关于图7所描述的步骤,以生成与图像数据1210相对应的标记数据,示出为标记图1220。在一些示例中,系统100可以为图像数据1210中的每个视频帧生成单独的标记,尽管本公开并不限于此。标记图1220示出了其中系统100确定标记数据的示例,所述标记数据包括针对不与发声相关联的视频帧的第一标记(例如,label0=无语音)和针对与发声相关联的视频帧的第二标记(例如,label1=语音)。[0199]使用标记数据,系统100可以确定发声边界1225,例如识别发声的开始和/或结束。在一些示例中,在不背离本公开的情况下,系统100可执行活动讲话者检测1202,以确定发声的开始并且可执行其它技术以检测发声的结束。例如,系统100可以生成标记数据(例如,标记图1220),基于标记数据(例如,与图12a所示的“开始”相对应的标记数据的第一部分)检测发声的开始,并生成指示发声已经开始的第一发声边界1225a。响应于第一发声边界1225a,系统100可生成对应于发声的音频数据并执行音频处理以确定发声的结束。[0200]在其它示例中,系统100可以在第一时间检测发声的开始(例如,使用音频处理和/或活动讲话者检测1202),然后分别执行活动讲话者检测1202以确定发声的结束。例如,在生成与发声相对应的音频数据的同时,系统100可以生成标记数据(例如,标记图1220),基于标记数据(例如,与图12a所示的“结束”相对应的标记数据的第二部分)检测发声的结束,并生成指示发声已经结束的第二发声边界1225b。响应于第二发声边界1225b,系统100可以停止生成音频数据,并且可以执行附加处理以检测在音频数据中表示的语音命令。[0201]附加地或替代地,在不背离本公开的情况下,系统100可以执行活动讲话者检测1202,以确定发声的开始和结束。例如,系统100可以生成标记数据(例如,标记图1220),基于标记数据(例如,与图12a所示的“开始”相对应的标记数据的第一部分)检测发声的开始,并且基于标记数据(例如,与图12a所示的“结束”相对应的标记数据的第二部分)检测发声的结束。然后,系统100可以生成表示发声的开始和结束的发声边界1225,并且使用发声边界1225来提取表示发声的音频数据的一部分。[0202]如图12a所示,系统100可以执行活动讲话者检测1202以生成发声边界1225,然后执行音频处理1204以生成对应于该发声的提取的音频数据1235。在一些示例中,系统100可以仅响应于表示已检测到发声的发声边界1225而开始生成输入音频数据1230。然而,本公开并不限于此,并且在其它示例中,在不脱离本公开的情况下,系统100可以连续地捕获输入音频数据1230,并且仅响应于发声边界1225而生成提取的音频数据1235。[0203]尽管图12a示出了在执行音频处理之前执行活动讲话者检测的系统100的示例,但是本公开并不限于此。在一些示例中,系统100可以通过执行音频处理来检测发声,然后执行活动讲话者检测,以确定在发声期间哪个用户正在讲话。[0204]图12b是示出了根据本公开实施例的用于执行活动讲话者检测的基于发声的方法的示例的概念图。如图12b所示,在一些示例中,系统100可以执行基于发声的活动讲话者检测1250,以确定哪个用户正在讲话。例如,系统100可以执行音频处理1252,以连续地处理输入音频数据1260来检测发声边界1265。在不背离本公开的情况下,发声边界1265可对应于发声的开始、发声的结束、和/或发声的开始和结束两者。[0205]在生成发声边界1265之后,系统100可以执行活动讲话者检测1254,以确定在由发声边界1265指示的时间窗期间哪个用户正在发声。例如,系统100可以处理输入图像数据1270,以生成对应于发声边界1265的所选图像数据1275。在一些示例中,发声边界1265可以仅指示发声的开始,并且系统100可以继续生成所选择的图像数据1275,直到系统100检测到发声的结束。然而,本公开并不限于此,并且在其它示例中,发声边界1265可以指示发声的开始和结束,并且系统100可以生成与整个发声相对应的所选图像数据1275。[0206]系统100可以对所选择的图像数据1275执行活动讲话者检测1254,以生成标记数据,如图12b所示的标记图1280。例如,系统100可以执行活动讲话者检测1254,以确定对应于第一用户5a的第一测量数据和对应于第二用户5b的第二测量数据。系统100可以确定与第一测量数据相关联的第一变化,确定与第二测量数据相关联的第二变化,然后将第一变化与第二变化进行比较。基于该比较,系统100可以生成指示第一用户5a正在讲话还是第二用户5b正在讲话的标记数据。[0207]在一些示例中,系统100可针对所选图像数据1275中的每一视频帧生成单独标记,但本公开并不限于此。例如,标记图1280示出了这样的示例,其中系统100确定包括针对与第一用户5a讲话相关联的视频帧的第一标记(例如,label0=第一用户5a正在讲话)和针对与第二用户5b讲话相关联的视频帧的第二标记(例如,label1=第二用户5b正在讲话)的标记数据。尽管图12b示出了在所选图像数据1275中仅检测到两个面部的示例,但是本公开并不限于此,并且在不脱离本公开的情况下,系统100可以检测在所选择的图像数据1275中表示的三个或更多个面部。[0208]图13是概念性地示出了根据本公开实施例的用于生成嘴部纵横比数据的示例性方法的流程图。如图13所示,系统100可以接收(1310)第一图像数据,确定(1312)第一面部被表示在第一图像数据中,并且确定(1314)用于第一面部的边界。例如,系统100可以检测表示面部的第一图像数据的一部分,并确定包括第一图像数据的所述一部分的边界。使用该边界,系统100可以从第一图像数据提取(1316)第二图像数据,并且处理(1318)第二图像数据,以确定与第一面部相对应的形状参数和表情参数。如上所述,系统100可以使用深度神经网络(dnn)或被配置成生成至少包括表情参数和形状参数的3dmm参数的其它经训练的模型来处理第二图像数据。然而,本公开并不限于此,并且在一些示例中,在不脱离本公开的情况下,系统100可以将第一图像数据输入到dnn或其它经训练的模型。[0209]使用该表情参数,系统100可以生成(1320)未知面部表示,并且可以使用该未知面部表示来确定(1322)唇部标志。例如,系统100可以仅使用表情参数(例如,忽略形状参数和3dmm参数的其它部分)来生成网格模型,并且可以确定与网格模型内的唇部标志相对应的坐标值,如以上关于图10a所描述的。在确定嘴唇部标志和相对应的坐标值之后,系统100可以基于嘴唇部标志计算(1324)嘴部纵横比。例如,系统100可以确定于嘴部高度相对应的第一距离、与嘴部宽度相对应的第二距离、并且通过将第一距离除以第二距离来确定嘴部纵横比值。然而,本公开并不限于此,并且在不脱离本公开的情况下,系统100可以使用其它技术来确定嘴部纵横比。[0210]尽管图13示出了基于嘴唇部标志来计算嘴部纵横比的示例,但是这旨在概念性地示出单个示例,并且本公开并不限于此。因此,在不脱离本公开的情况下,系统100可以使用嘴唇部标志和/或其它面部标志来执行一个或多个面部测量。[0211]系统100可以确定(1326)一个或多个额外面部是否表示在第一图像数据的当前视频帧中,并且如果是,则可以循环到步骤1312,并且针对一个或多个额外面部重复步骤1312至步骤1326。然而,如果在第一图像数据中没有表示额外面部,则系统100可以确定(1328)第一图像数据是否包括一个或多个额外视频帧。如果第一图像数据包括一个或多个额外视频帧,则系统100可以循环到步骤1310,并针对额外视频帧重复步骤1310至步骤1326。[0212]如果第一视频数据不包括一个或多个额外视频帧,则系统100可以生成(1330)与第一用户相关联的第一嘴部纵横比数据。例如,系统100可以组合随时间变化的针对第一用户的一系列嘴部纵横比值,以生成第一嘴部纵横比数据。系统100可以确定(1332)在第一图像数据中是否检测到一个或多个额外面部,并且如果是,则可以循环到步骤1330,并且针对一个或多个额外面部重复步骤1330。[0213]如上文关于图12a至图12b所描述的,系统100可使用基于帧的方法或基于发声的方法来执行活动讲话者检测。在一些示例中,系统100可以使用第一嘴部纵横比数据来确定用户是否正在讲话以检测发声,其对应于图12a所示的基于帧的方法。在其它示例中,系统100可以使用针对第一用户5a生成的第一嘴部纵横比数据和针对第二用户5b生成的第二嘴部纵横比数据,并确定是第一用户5a还是第二用户5b正在讲话,其对应于图12b所示的基于发声的方法。[0214]图14a是概念性地示出了根据本公开实施例的用于执行活动讲话者检测以检测发声的基于帧的方法的示例的流程图。如图14a所示,系统100可以生成(1410)与第一用户相关联的第一嘴部纵横比数据,可以确定(1412)与第一嘴部纵横比数据相关联的第一标准偏差值,并且可以确定(1414)第一标准偏差值是否满足阈值。如果第一标准偏差值不满足阈值(例如,低于阈值、超过阈值、在阈值的期望范围之外等),则系统100可以确定(1416)第一用户在第一时间范围期间没在讲话。如果第一标准偏差值满足阈值(例如,超过阈值、低于阈值、在阈值的期望范围内等),则系统100可以确定(1418)第一用户在第一时间范围期间正在讲话。[0215]然后,系统100可以确定(1420)一个或多个额外用户是否表示在在图像数据中,并且如果是,则可以循环到步骤1410,并且针对一个或多个额外用户重复步骤1410至步骤1418。因此,系统100可以确定在图像数据中表示的每个单独用户是否在第一时间范围期间讲话。如果系统100确定用户正在讲话,则系统100可以检测发声并响应于检测到发声来执行附加动作。[0216]图14b是概念性地示出了根据本公开实施例的用于执行活动讲话者检测以识别与发声相关联的面部的基于发声的方法的示例的流程图。如图14b所示,系统100可以生成(1430)与第一用户5a相关联的第一嘴部纵横比数据,可以确定(1432)与第一嘴部纵横比数据相关联的第一标准偏差值,可以确定(1434)与第二用户5b相关联的第二嘴部纵横比数据,可以确定(1436)与第二嘴部纵横比数据相关联的第二标准偏差值。确定(1438)第一标准偏差值是否大于第二标准偏差值。[0217]如果第一标准偏差值大于第二标准偏差值(例如,指示第一嘴部纵横比数据具有更大的偏差,这可能对应于嘴部运动,例如语音),则系统100可以确定(1440)第一用户5a正在第一时间范围期间讲话。然而,如果第一标准偏差值小于第二标准偏差值(例如,指示第二嘴部纵横比数据具有更大的偏差,这可能对应于嘴部运动,例如语音),则系统100可以确定(1442)第二用户5b正在第一时间范围期间讲话。[0218]尽管图14b示出了涉及两个用户的简化示例,但是本公开并不限于此,在不脱离本公开的情况下,系统100可以比较三个或更多用户之间的标准偏差值。此外,尽管图14a至图14b示出了生成嘴部纵横比数据的示例,但这旨在概念性地示出单个示例,并且本公开并不限于此。因此,在不脱离本公开的情况下,系统100可以执行一个或多个面部测量,而不是确定嘴部纵横比数据。附加地或替代地,尽管图14a至图14b示出了确定与嘴部纵横比数据相关联的标准偏差值的示例,但是这旨在概念性地示出单个示例,并且本公开并不限于此。相反,在不偏离本公开的情况下,系统100可以使用其它技术来确定变化量。[0219]图15a至图15b是概念性地示出了根据本公开实施例的用于确定嘴部数据和使用嘴部数据来确定用户是否正在讲话的示例性方法的流程图。如图15a所示,系统100可以接收(1510)第一图像数据,并且可以处理(1512)第一图像数据以确定在第一图像数据中表示的第一面部的第一表情参数。例如,系统100可以将第一图像数据输入到dnn或其它模型以生成包括第一表情参数的3dmm参数。[0220]使用第一表情参数,系统100可以确定(1514)第一面部标志并且可以基于第一面部标志来确定(1516)第一嘴部数据。例如,系统100可以使用第一表情参数来生成具有未知面部表示的网格模型,然后执行对应于与未知面部表示相关联的面部标志的面部测量。在一些示例中,在不背离本公开的情况下,第一嘴部数据可对应于面部测量,而在其它示例中,第一嘴部数据可对应于面部测量中存在的变化量(例如,标准偏差、方差等)。如上文关于图10a所描述的,面部标志可对应于唇部标志(例如,顶部、底部、左和右),尽管本公开并不限于此,在不偏离本公开的情况下,面部标志可对应于面部上的其它位置。[0221]系统100可以确定(1518)一个或多个额外面部是否表示在第一图像数据中,并且如果是,则可以循环到步骤1512,并且针对一个或多个额外面部重复步骤1512至步骤1518。如果在第一图像数据中没有表示一个或多个额外面部,则系统100可以确定(1520)在第一图像数据中是否包括一个或多个额外视频帧,并且如果是,则可以循环到步骤1510,并且针对一个或多个额外视频帧重复步骤1510至步骤1518。因此,系统100可以为第一图像数据中表示的每个面部确定嘴部数据。[0222]如图15b所示,系统100可以生成(1530)与第一用户相关联的第一数据。例如,系统100可以生成与嘴部纵横比数据和/或其它面部测量相对应的第一数据,尽管本公开并不限于此。系统100可以确定(1532)与第一数据相关联的第一标准偏差值,并且可以使用第一标准偏差值来确定(1534)第一用户是否正在讲话。例如,系统100可以确定第一标准偏差值是否满足阈值,并且如果是,则可以生成指示第一用户在对应的时间窗(例如,时间间隔)期间讲话的标记。[0223]系统100可以确定(1536)一个或多个额外用户是否表示在第一图像数据中,并且可以循环到步骤1530,并且针对一个或多个额外用户重复步骤1530至步骤1536。因此,在不偏离本公开的情况下,系统100可以确定在第一图像数据中表示的每个用户是否正在讲话,确定在其间用户正在讲话的时间窗期间,生成指示每个用户是否正在讲话的标记数据等。[0224]图16a至图16b是概念性地示出了根据本公开实施例的用于执行活动讲话者检测以检测发声并执行语音处理的示例性方法的流程图。如图16a所示,系统100可以接收(1610)表示第一面部的第一图像数据,并且可以处理(1612)第一图像数据以确定与第一面部相关联的表情参数。例如,系统100可以将第一图像数据输入到深度神经网络(dnn)或其它经训练的模型以生成包括表情参数的3dmm参数,如以上关于图7至图10b更详细描述的。[0225]系统100可以生成(1614)与第一用户相关联的第一数据,并且使用第一数据来确定(1616)第一统计数据。例如,系统100可以生成表示面部测量的第一数据,例如面部标志的位置、嘴部高度、嘴部宽度、嘴部纵横比等,如上面关于图14a至图14b更详细地描述的。然后,系统100可以例如通过确定标准偏差、方差等来确定表示第一数据中的变化量的第一统计数据。[0226]系统100可以使用第一统计数据来确定(1618)第一用户正在第一时间范围期间讲话。例如,系统100可以基于满足阈值的第一统计数据来检测发声。在一些示例中,系统100可生成指示针对第一图像数据的单独视频帧第一用户是否正在讲话的标记数据,但本公开并不限于此。[0227]响应于确定第一用户在第一时间范围期间讲话,系统100可以生成(1620)与第一时间范围相对应的第一音频数据,可以对第一音频数据执行(1622)语音处理以确定语音命令,并且可以基于语音命令开始(1624)待执行的动作,如上面关于图2至图3更详细描述的。[0228]如图16b所示,系统100可以接收(1650)第一图像数据,可以处理(1652)第一图像数据的第一部分以确定与第一面部相关联的第一表情参数,可以生成(1654)与第一用户相关联的第一数据,并且可以使用第一数据来确定(1656)针对第一时间范围的第一统计数据,如以上关于图16a所描述的。[0229]系统100可以使用第一统计数据来确定(1658)第一用户是否正在讲话。如果系统100确定第一用户正在讲话,则系统100可以生成(1660)第一标记,该第一标记指示第一用户在对应于第一图像数据的第一部分(例如,单独的视频帧、一系列的视频帧等)的第一时间范围期间正在讲话。如果系统100确定第一用户没有讲话,则系统100可以生成(1662)第二标记,该第二标记指示第一用户在对应于第一图像数据的第一部分(例如,单独的视频帧、一系列的视频帧等)的第一时间范围期间未在讲话。系统100可以确定(1664)发声是否已经结束,并且如果没有结束,则可以循环到步骤1650并重复步骤1650至步骤1662。[0230]如果系统100确定发声已经结束,则系统100可以使用标记(例如,标记数据)来确定(1666)第二时间范围,可以生成(1668)与第二时间范围相对应的第一音频数据,可以对第一音频数据执行(1670)语音处理以确定语音命令,并且可以基于语音命令开始(1672)待执行的动作。如以上关于图2至图3更详细描述的。[0231]图17是概念性地示出了根据本公开实施例的用于执行活动讲话者检测以确定哪个用户正在讲话并执行动作的示例性方法的流程图。如图17所示,系统100可以接收(1710)表示发声的第一音频数据,并且可以确定(1712)与该发声相对应的第一时间范围。[0232]系统100可以接收(1714)表示与第一时间范围相对应的第一面部和第二面部的第一图像数据。系统100可以处理(1716)第一图像数据以确定与第一面部相关联的第一表情参数,可以生成(1718)与对应于第一面部的第一用户相关联的第一数据,并且可以使用第一数据来确定(1720)第一统计数据,如以上关于图7至图10b更详细地描述的。类似地,系统100可以处理(1722)第一图像数据以确定与第二面部相关联的第二表情参数,可以生成(1724)与对应于第二面部的第二用户相关联的第二数据,并且可以使用第二数据来确定(1726)第二统计数据。[0233]系统100可以将在第一时间范围期间的第一统计数据与第二统计数据进行比较(1728),并确定(1730)第一用户正在讲话。如果系统100确定第一用户正在讲话,则系统100可以执行(1732)与第一用户讲话相对应的第一动作。例如,在不背离本公开的情况下,系统100可以生成与发声相对应的音频数据,可以在第一用户的方向上移动和/或旋转设备,和/或类似的方式。然而,如果系统100确定第一用户没有讲话,则系统100可以确定第二用户正在讲话,并且可以执行(1734)与第二用户正在讲话相对应的第二动作。例如,在不背离本公开的情况下,系统100可以生成与发声相对应的音频数据,可以在第二用户的方向上移动和/或旋转设备,和/或类似的方式。[0234]虽然图17示出了执行活动讲话者检测以确定第一用户还是第二用户正在讲话的示例,但是本公开并不限于此,在不偏离本公开的情况下,系统100可以执行活动讲话者检测以确定三个或更多个用户是否正在讲话。[0235]可使用各种机器学习技术来训练和操作模型以执行本文所述的各种步骤,例如用户识别、情绪检测、图像处理、对话管理等。可以根据各种机器学习技术来训练和操作模型。这些技术可以例如包括:神经网络(例如深度神经网络和/或递归神经网络)、推理引擎、经训练的分类器等。经训练的分类器的示例包括支持向量机(svm)、神经网络、决策树、与决策树相结合的adaboost(“自适应增强”的简称)、以及随机森林。以svm为例,svm是受监督的学习模型,其具有分析数据和识别数据中的模式的相关学习算法,并且通常用于分类和回归分析。给定一组训练实例,每个训练实例被标记为属于两个类别中的一个,svm训练算法建立将新实例分配到一个类别或另一个类别中的模型,使得它成为非概率二元线性分类器。可以建立更复杂的svm模型,其中训练集识别多于两个类别,svm确定哪个类别与输入数据最相似。可以对svm模型进行映射,以便通过清楚的间隙来划分单独类别的示例。然后,将新的示例映射到该相同的空间中,并基于它们落在间隙的哪一侧来预测它们属于一个类别。分类器可以发布指示数据最接近匹配的类别的“分数”。该分数可以提供数据与类别匹配的程度的指示。[0236]为了应用机器学习技术,需要训练机器学习过程本身。训练机器学习组件,例如,在这种情况下,第一模型或第二模型中的一者,需要为训练示例建立“地面真值”。在机器学习中,术语“地面真值”是指训练集对监督学习技术的分类的准确性。可以使用各种技术来训练模型,包括反向传播、统计学习、监督学习、半监督学习、随机学习、或其它已知技术。[0237]图18是概念性地示出了可与系统一起使用的设备110的框图。图19是概念性地示出了远程设备的示例性组件的框图,所述远程设备例如自然语言命令处理系统120,其可以辅助asr处理,nlu处理等,以及技能系统125。系统(120/125)可以包括一个或多个服务器。本文使用的“服务器”可以指在服务器/客户机计算结构中理解的传统服务器,但是也可以指可以帮助本文讨论的操作的多个不同的计算组件。例如,服务器可以包括一个或多个物理计算组件(例如机架服务器),其物理地和/或通过网络连接到其它设备/组件,并且能够执行计算操作。服务器还可以包括一个或多个虚拟机,其模拟计算机系统并且在一个或多个设备上运行。服务器还可以包括硬件、软件、固件等的其它组合,以执行本文所讨论的操作。服务器可以被配置成使用客户机-服务器模型、计算机局模型、网格计算技术、雾计算技术、大型机技术、实用计算技术、对等模型、沙箱技术或其它计算技术中的一者或多者进行操作。[0238]在本公开的整个系统100中可以包括多个系统(120/125),诸如用于执行asr处理的一个或多个自然语言处理系统120、用于执行nlu处理的一个或多个自然语言处理系统120、一个或多个技能系统125等。在操作中,这些系统中的每一者都可以包括驻留在相应设备(120/125)上的计算机可读和计算机可执行指令,这将在下面进一步讨论。[0239]系统120可以是在不靠近设备110的位置处操作的远程系统,例如云系统。系统120也可以是在与设备110类似的位置操作的系统,尽管也许在不同的物理设备中,例如家庭服务器,边缘服务器等。系统120也可以是分布式系统,其中在一个位置使用设备发生某些组件/操作,而在另一个位置使用设备发生其它组件/操作。[0240]这些设备(110/120/125)中的每一者可以包括一个或多个控制器/处理器(1804/1904),每个控制器/处理器可以包括用于处理数据和计算机可读指令的中央处理单元(cpu),以及用于存储相应设备的数据和指令的内存储器(1806/1906)。内存储器(1806/1906)可以单独包括易失性随机存取存储器(ram)、非易失性只读存储器(rom)、非易失性磁阻存储器(mram)和/或其它类型的存储器。每个设备(110/120/125)还可以包括用于存储数据和控制器/处理器可执行指令的数据存储部件(1808/1908)。每个数据存储部件(1808/1908)可以单独地包括一个或多个非易失性存储器类型,例如磁存储器、光存储器、固态存储器等。每个设备(110/120/125)还可以通过各自的输入/输出设备接口(1802/1902)连接到可移动或外部非易失性存储器和/或存储器(例如可移动存储卡、存储器密钥驱动器、联网存储器等)。[0241]用于操作每个设备(110/120/125)及其各种组件的计算机指令可以由相应设备的控制器/处理器(1804/1904)执行,使用内存储器(1806/1906)作为运行时的临时“工作”存储器。设备的计算机指令可以以非暂时性方式存储在非易失性存储器(1806/1906)、存储器(1808/1908)或外部设备中。可替代地,除了软件或代替软件,一些或所有的可执行指令可以嵌入在相应设备上的硬件或固件中。[0242]每个设备(110/120/125)包括输入/输出设备接口(1802/1902)。各种组件可以通过输入/输出设备接口(1802/1902)连接,这将在下面进一步讨论。此外,每个设备(110/120/125)可以包括地址/数据总线(1824/1924),用于在各个设备的组件之间传送数据。设备(110/120/125)内的每个组件除了(或代替)通过总线(1824/1924)连接到其它组件之外,还可以直接连接到其它组件。[0243]参照图18,设备110可以包括输入/输出设备接口1802,其连接到各种部件,例如音频输出部件,如扬声器1812、有线耳机或无线耳机(未示出)、或能够输出音频的其它部件。设备110还可以包括音频捕获部件。音频捕获部件可以是例如麦克风1820或麦克风阵列、有线耳机或无线耳机(未示出)等。如果包括麦克风阵列,则可以通过基于由阵列的不同麦克风捕获的声音之间的时间和幅度差的声学定位来确定到声音原点的近似距离。麦克风阵列也可用于执行波束形成/其它技术,以确定声音原点相对于设备110的方向。来自麦克风阵列以及其它组件的数据可用于在声音源围绕设备110的环境移动时跟踪声音源。设备110还可以包括用于显示内容的显示器1816。设备110还可以包括相机1818。[0244]凭借一个或多个天线1822,输入/输出设备接口1802可以经由无线局域网(wlan)(例如wifi)无线电、蓝牙和/或无线网络无线电(例如能够与诸如长期演进(lte)网络、wimax网络、3g网络、4g网络、5g网络等的无线通信网络通信的无线电)连接到一个或多个网络199。还可以支持有线连接,例如以太网。通过网络199,系统可以分布在网络化环境中。i/o设备接口(1802/1902)还可以包括允许在诸如服务器或其它组件的集合中的不同物理服务器的设备之间交换数据的通信组件。[0245]设备110、自然语言命令处理系统120或技能系统125的组件可以包括它们自身的专用处理器、存储器和/或存储器。可替代地,设备110、自然语言命令处理系统120或技能系统125的一个或多个组件可以分别使用设备110、自然语言命令处理系统120或技能系统125的i/o接口(1802/1902)、处理器(1804/1904)、内存储器(1806/1906)和/或存储器(1808/1908)。因此,asr组件250可具有其自身的i/o接口、处理器、存储器和/或存储器;nlu组件260可具有其自身的i/o接口、处理器、存储器和/或存储器;对于本文讨论的各种组件等等。[0246]如上所述,可以在单个系统中采用多个设备。在这种多设备系统中,每个设备可以包括用于执行系统处理的不同方面的不同组件。多个设备可以包括重叠组件。如本文所述,设备110、自然语言命令处理系统120和技能系统125的组件是说明性的,并且可以作为独立设备来定位,或者可以被全部或部分地包括,作为较大设备或系统的组件。[0247]如图20所示,多个设备(110a-110n,120,125)可以包含系统的组件,并且这些设备可以通过网络199连接。网络199可以包括本地或专用网络,或者可以包括诸如因特网的广域网。设备可以通过有线或无线连接而连接到网络199。例如,语音检测设备110a、智能电话110b、智能手表110c、平板计算机110d、车辆110e、显示设备110f、智能电视110g、洗衣机/烘干机110h、冰箱110i和/或微波110j可以通过无线服务提供商,通过wifi或蜂窝网络连接等连接到网络199。其它设备被包括作为网络连接的支持设备,例如自然语言命令处理系统120、一个或多个技能系统125和/或其它设备。支持设备可以通过有线连接或无线连接而连接到网络199。联网设备可以使用一个或多个内置或连接的麦克风或其它音频捕获设备来捕获音频,其中由asr组件、nlu组件、或同一设备的其它组件或经由网络199连接的其它设备(例如自然语言命令处理系统120的asr组件250、nlu组件260等)执行处理。[0248]本文公开的概念可应用于多种不同的设备和计算机系统,包括例如通用计算系统、语音处理系统和分布式计算环境。[0249]本公开的上述方面旨在是说明性的。选择它们是为了解释本公开的原理和应用,而不是为了穷举或限制本公开。所公开的方面的许多修改和变化对于本领域技术人员来说是明了的。计算机和语音处理领域的普通技术人员应该认识到,本文描述的组件和处理步骤可以与其它组件或步骤、或组件或步骤的组合互换,并且仍然实现本公开的益处和优点。此外,对于本领域的技术人员来说,本公开可以在没有本文公开的一些或全部具体细节和步骤的情况下实施。此外,除非明确地相反陈述,否则来自本文论述的一个实施例的特征/操作/组件等可与来自本文论述的其它实施例的特征/操作/组件等组合。[0250]所公开的系统的各个方面可实施为计算机方法或实施为制品,例如存储设备或非暂时性计算机可读存储媒体。计算机可读存储介质可以是计算机可读的,并且可以包括用于使计算机或其它设备执行在本公开中描述的过程的指令。计算机可读存储介质可以由易失性计算机存储器、非易失性计算机存储器、硬盘驱动器、固态存储器、闪存驱动器、可移动磁盘和/或其它介质来实现。此外,系统的组件可以用固件或硬件来实现。[0251]除非在所使用的上下文中另外具体说明或另外理解,否则本文所使用的条件语言(例如“可”、“可以”、“可能”、“能够”、“将”、“例如”等)通常旨在传达某些实施例包括但其它实施例不包括某些特征、元素和/或步骤。因此,这种条件语言通常不旨在暗示特征、元素和/或步骤以任何方式对于一个或多个实施例是必需的,或者一个或多个实施例必须包括用于在有或没有其它输入或提示的情况下决定这些特征、元素和/或步骤是否在任何特定实施例中被包括或要被执行的逻辑。术语“包括”、“包含”、“具有”等是同义的,并且以开放式的方式被包含地使用,并且并不排除附加的元件、特征、动作、操作等。此外,以包含的意义(而不是以排他的意义)使用术语“或”,使得当例如用于连接元素列表时,术语“或”意味着列表中的一个、一些或所有元素。[0252]除非另有具体说明,否则分离式语言(例如短语“x、y、z中的至少一者”)应理解为与通常用于呈现项目、术语等的上下文一起使用,可以是x、y或z或其任何组合(例如,x、y和/或z)。因此,这种分离式语言通常不旨在,也不应暗示某些实施例需要至少一个x、至少一个y、或至少一个z存在其中。[0253]如本公开中所使用的,除非另有具体说明,术语“一”或“一个”可以包括一个或多个项。此外,除非另有具体说明,短语“基于”旨在表示“至少部分地基于”。当前第1页12当前第1页12
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1