用于说话者识别的联合神经网络的制作方法
背景技术:
可以使用人的声音特征来从其他人中识别出该人。语音识别系统尝试将人类语音转换为音频数据,然后对其进行分析以识别特征。类似地,可以使用人的外貌特征来从其他人中识别出该人。人脸识别系统尝试对捕获的图像进行分析以识别特征。
技术实现要素:
提供本概括部分以便用简化的形式介绍将在以下的详细描述中进一步描述的概念选择。本概括部分并不是旨在标识本发明的关键特征或本质特征,也不是使用该概括部分来限制本发明的保护范围。此外,本发明并不限于解决本公开内容的任何部分中陈述的任何或所有缺点。
一种说话者识别系统包括先前训练的联合神经网络。说话者识别系统的注册机被配置为基于体现新说话者的特征的视听数据,操作先前训练的联合神经网络来注册新说话者。说话者识别系统的识别机被配置为基于体现先前注册的说话者的特征的视听数据,操作先前训练的联合神经网络以识别先前注册的说话者。
附图说明
图1a-1c描绘了包括示例性计算机化会议助理的计算环境。
图2示意性地示出了通过声源定位机对声音信号的分析。
图3示意性地示出了由波束成形机对声音信号的波束成形。
图4示意性地示出了面部检测机对人脸的检测。
图5示意性地示出了面部识别机对人脸的识别。
图6示意性地示出了示例性的分割(diarization)框架。
图7是分割机的示例性输出的视觉表示。
图8示意性地示出了语音识别机对话音的识别。
图9示出了由计算机化会议助理进行的分割的例子。
图10示出了示例性会议转录本。
图11示意性地示出了语音识别机在分割机的下游的示例性分割框架。
图12示意性地示出了语音识别机在分割机的上游的示例性分割框架。
图13示意性地示出了基于联合神经网络的示例性说话者识别系统。
图14描绘了用于基于训练的联合神经网络的示例性说话者识别系统的数据流以及训练架构。
图15示出了用于操作说话者识别系统的方法。
图16示出了一种示例性计算系统。
具体实施方式
图1示出了示例性会议环境100,其包括围绕会议桌104开会的三个会议参与者102a、102b和102c。计算机化会议助理106在会议桌104上,准备促进会议参与者之间的会议。符合本公开内容的计算机化会议助理可以配置有旨在促进生产性会议的多种特征。但是,下面的描述主要聚焦于与将记录的语音与适当的说话者进行关联相关的特征。虽然下面的描述使用计算机化会议助理106作为被配置将语音归属于正确的说话者的示例性计算机,但是利用任何数量的不同麦克风和/或相机配置的其它计算机或计算机的组合也可以被配置为利用下面所描述的技术。因此,本公开内容绝不限于计算机化会议助理106。
图1b示意性地示出了计算机化会议助理106的相关方面,以下将对其中的每一个进行讨论。尤其相关的是,计算机化会议助理106包括麦克风108和相机110。
如图1a中所示,计算机化会议助理106包括七个麦克风108a、108b、108c、108d、108e、108f和108g的阵列。如图1c中所示,这些麦克风108被配置为定向记录声音,并将可听见的声音转换为计算机可读音频信号112(即,分别为信号112a、112b、112c、112d、112e、112f和112g)。可以使用模数转换器和可选的数字编码器将声音转换为计算机可读音频信号。麦克风108a-f在计算机化会议助理106周围等距地分布,并旨在定向地录制来自麦克风前面的声音。麦克风108g位于其它麦克风之间并朝向上方。
在一些实施方式中,计算机化会议助理106包括360°相机,该相机被配置为将一个或多个电磁波段的光(例如,可见光、红外和/或近红外)转换为360°数字视频114或其它适当的可见光、红外、近红外、光谱和/或深度数字视频。在一些实施方式中,360°摄像头可以包括鱼眼镜头(其将来自计算机化会议助理106周围所有方位角的光重定向到单个光传感器矩阵)、以及用于将来自传感器的独立测量结果映射到360°数字视频114中的相应像素矩阵的逻辑。在一些实施方式中,两个或更多个协作相机可以拍摄重叠在一起的子图像,并将这些子图像缝合在一起成为数字视频114。在一些实施方式中,相机110具有小于360°的集合视野和/或两个或更多个原始视角(例如,从房间的四个角指向房间中心的相机)。将360°数字视频114示出为基本上是矩形的,没有明显的几何变形(尽管这不是必需的)。
简要地回到图1b,计算机化会议助理106包括声源定位(ssl)机120,其被配置为基于信号112来估计声音的位置。图2示意性地示出了ssl机120,其中ssl机120分析信号112a-g以输出由信号112a-g建模的声音的估计起源140。如上所述,分别由麦克风108a-g产生信号112a-g。每个麦克风具有不同的物理位置和/或指向不同的方向。相对于接近和/或指向声源的麦克风,远离声源和/或指向偏离声源的麦克风将产生相对较低的振幅和/或稍微相位延迟的信号112。举一个例子,虽然麦克风108a和108d可以响应于相同的声音分别产生信号112a和112d,但是如果记录的声音起源于麦克风108a的前面,则信号112a具有可测量的更大的幅度。类似地,由于声音到麦克风108d的传播时间(tof)更长,因此信号112d的相位可以在信号112a之后。ssl机120可以使用信号112a-g的幅度、相位差和/或其它参数来估计声音的起源140。ssl机120可以被配置为实现任何适当的二维或三维定位算法,其包括但不限于先前训练的人工神经网络、最大似然算法、多信号分类算法和跨功率谱相位分析算法。根据在特定应用中使用的算法,ssl机120可以输出角度、矢量、坐标和/或其它参数来估计声音的起源140。
如图1b中所示,计算机化会议助理106还包括波束成形机122。波束成形机122可以被配置为将源自特定区域(例如,0-60°弧度)的声音与源自其它区域的声音隔离。在图3所示的实施例中,波束成形机122被配置为隔离六个相等大小的静态区域中的任何一个中的声音。在其它实施方式中,可以存在更多或更少的静态区域、动态大小的区域(例如,聚焦的15°弧)、和/或动态瞄准的区域(例如,以9°为中心的60°区域)。可以使用任何适当的波束成形信号处理,从所获得波束成形信号150中减去源自所选区域的声音。在利用动态波束成形的实施方式中,可以将各个说话者的位置用作选择各个波束成形区域的数量、大小和中心的标准。举一个例子,可以选择区域的数量等于说话者的数量,并且每个区域可以以说话者的位置为中心(例如,通过面部识别和/或声源定位来确定)。在一些实施方式中,波束成形机可以被配置为独立并同时地监听两个或更多不同的区域,并且并行地输出两个或更多不同的波束成形信号。这样,可以独立地处理两个或更多个重叠/打扰的说话者。
如图1b中所示,计算机化会议助理106包括面部定位机124和面部识别机126。如图4中所示,面部定位机124被配置为在数字视频114中查找候选面部166。举一个例子,图4示出了面部定位机124找到位于23°的候选面部(1)、位于178°的候选面部(2)和位于303°的候选面部(3)。面部定位机124输出的候选面部166可以包括围绕所定位的面部图像的边界框的坐标、面部所在的数字图像的一部分、其它位置信息(例如,23°)和/或标记(例如,“面部(1)”)。
面部识别机126可以可选地被配置为通过仅分析数字视频114中已找到候选面部166的部分,来确定每个候选面部166的身份168。在其它实施方式中,可以省略面部定位步骤,并且面部识别机可以分析数字视频114的较大部分以识别面部。图5示出了面部识别机126将候选面部(1)识别为“bob”,将候选面部(2)识别为“charlie”,并且将候选面部(3)识别为“alice”的例子。虽然没有示出,但是每个身份168可以具有相关联的置信度值,并且可以为同一张面孔找到两个或更多个具有不同置信度值的不同身份168(例如,bob(88%)、bert(33%))。如果不能发现具有至少阈值置信度的身份,则该面部可以仍然保持未识别和/或可以被赋予通用唯一身份168(例如,“客人(42)”)。可以将语音归属于这种通用唯一身份。
当使用时,面部定位机124可以采用最新技术和/或未来机器学习(ml)和/或人工智能(ai)技术的任何适当的组合。可以在面部定位机124的实现中并入的技术的非限制性示例包括支持向量机、多层神经网络、卷积神经网络(例如,包括用于处理图像和/或视频的空间卷积网络)、递归神经网络(例如,长短期记忆网络)、关联存储(例如,查找表、哈希表、bloom过滤器、神经图灵机和/或神经随机存取存储器)、无监督的空间和/或聚类方法(例如,最近邻居算法、拓扑数据分析和/或k均值聚类)和/或图形模型(例如,markov(马尔克夫)模型、条件随机字段和/或ai知识库)。
在一些例子中,可以使用一个或多个可微分函数来实现面部定位机124所利用的方法和过程,其中可以关于可微分函数的输入和/或输出来计算和/或估计可微分函数的梯度(例如,关于训练数据和/或关于目标函数)。可以至少部分地通过一组可训练参数来确定这些方法和处理。因此,可以通过任何适当的训练过程来调整可训练参数,以便持续改善面部定位机124的功能。
用于面部定位机124的训练过程的非限制性示例包括监督训练(例如,使用梯度下降或任何其它适当的优化方法)、零击、少击、无监督的学习方法(例如,基于从无监督聚类方法导出的类别的分类)、强化学习(例如,基于反馈的深度q学习)和/或基于生成的对抗神经网络训练方法。在一些例子中,可以关于目标函数,同时对面部定位机124的多个组件进行训练,其中该目标函数测量所述多个组件的集体功能的性能(例如,关于增强反馈和/或关于标注的训练数据),以改善这种集体功能。在一些例子中,面部定位机124的一个或多个组件可以独立于其它组件(例如,对历史数据的离线训练)来训练。例如,可以通过对标注的训练数据的监督训练,并且关于目标函数,来训练面部定位机124,其中标注的训练数据包括具有指示在这些图像中存在的任何面部的图像,并且目标函数指示与标注的训练数据中指示的面部的实际位置相比,面部定位机124对面部进行定位的准确性、精确度和/或召回度。
在一些例子中,面部定位机124可以采用被配置为对输入与一个或多个预定义的、随机的和/或学习的卷积核进行卷积的卷积神经网络。通过对卷积核与输入向量(例如,表示数字视频114)进行卷积,卷积神经网络可以检测与卷积核相关联的特征。例如,可以将卷积核与输入图像进行卷积,以基于具有多个不同的卷积核的各种卷积运算,来检测诸如线条、边缘、角等等之类的低级别视觉特征。可以通过池化层(例如,最大池化)来处理各种卷积运算的卷积输出,其中池化层可以检测输入图像的一个或多个最显著特征和/或聚合输入图像的显著特征,以便在输入图像中的特定位置检测输入图像的显著特征。可以通过其它卷积层进一步处理池化层的池化输出。进一步卷积层的卷积核可以识别较高级别的视觉特征,例如形状和图案,以及更一般的较低级别视觉特征的空间排列。卷积神经网络的某些层可以相应地识别和/或定位脸部的视觉特征(例如,鼻子、眼睛、嘴唇)。因此,卷积神经网络可以识别并定位输入图像中的面部。尽管针对卷积神经网络描述了前述的例子,但是其它神经网络技术能够基于检测低级别视觉特征、高级别视觉特征和视觉特征的空间排列,来检测和/或定位人脸和其它显著的特征。
面部识别机126可以采用现有技术和/或未来的ml和/或ai技术的任何适当的组合。可以在面部识别机126的实现中并入的技术的非限制性示例包括支持向量机、多层神经网络、卷积神经网络、递归神经网络、关联存储、无监督的空间和/或聚类方法和/或图形模型。
在一些例子中,面部识别机126可以使用一个或多个可微分函数来实现,并且至少部分地通过一组可训练的参数来确定。因此,可以通过任何适当的训练过程来调整可训练参数,以便持续改善面部识别机126的功能。
用于面部识别机126的训练过程的非限制性示例包括监督训练、零击、少击、无监督学习方法、强化学习和/或生成对抗性神经网络训练方法。在一些例子中,可以针对测量多个部件的集体功能的性能的目标函数,来同时训练面部识别机126的多个组件,以便改善这种集体功能。在一些例子中,可以独立于其它组件来训练面部识别机126的一个或多个组件。
在一些例子中,面部识别机126可以采用被配置为检测和/或定位输入图像的显著特征的卷积神经网络。在一些例子中,可以通过对标注的训练数据进行有监督训练,并且关于目标函数,来训练面部识别机126,其中标注的训练数据包括具有指示在这些图像中存在的任何面部的特定身份,并且目标函数指示与标注的训练数据中指示的面部的实际身份相比,面部识别机126对面部进行识别的准确性、精确度和/或召回度。在一些例子中,可以通过对包括成对面部图像的标注的训练数据进行有监督训练,并且关于目标函数,来训练面部识别机126,其中这些成对的面部图像具有指示一对图像中的两个面部图像是同一个个人的图像还是两个不同个人的图像,而目标函数指示从两个不同的个人对中区分出单个个人对的准确性、精确度和/或召回度。
在一些例子中,面部识别机126可以被配置为通过从预定义的身份选择中选择和/或输出身份的置信度值来对面部进行分类,例如,在用于训练面部识别机126的训练数据中可获得其面部图像的身份的预定义选择。在一些例子中,面部识别机126可以被配置为例如基于面部识别机126中采用的神经网络的隐藏层的输出,来评估代表面部的特征向量。由面部识别机126针对面部图像评估的特征向量,可以表示该面部图像在面部识别机126学习的表示空间中的嵌入。相应地,特征向量可以基于这种在表示空间中的嵌入,来表示面部的显著特征。
在一些例子中,面部识别机126可以被配置为注册一个或多个个体以便以后识别。面部识别机126的注册可以包括:例如基于个人面部的图像来和/或视频,来评估代表个人面部的特征向量。在一些例子中,基于测试图像的个人的识别,可以是基于面部识别机126针对该测试图像评估的测试特征向量与为了后续识别而注册该个人进行的先前评估的特征向量的比较。可以以诸如以下之类的任何适当的方式,将测试特征向量与来自注册的特征向量进行比较:例如,使用相似度的度量(例如,余弦或内积相似度),和/或通过无监督的空间和/或聚类方法(例如,近似k最近邻方法)。将测试特征向量与来自注册的特征向量进行比较可以适合于评估这两个向量表示的个体的身份,例如,基于比较这两个向量代表的面部的显著特征。
如图1b中所示,计算机化会议助理106包括语音识别机128。语音识别机128与面部识别机126类似,这是因为它也是试图识别个人。但是,与对视频图像进行训练并在视频图像上操作的面部识别机126不同,对音频信号(例如,波束成形信号150和/或信号112)进行训练并在音频信号上操作语音识别机。语音识别机128可以使用上面所描述的ml和ai技术。语音识别机输出语音id170,其可选地具有相应的置信度(例如,bob(77%))。
图6示意性地示出了用于计算机化会议助理106的上述组件的示例性分割(diarization)框架600。虽然下面参照计算机化会议助理106描述了分割框架600,但是可以使用不同的硬件、固件和/或软件组件(例如,不同的麦克风和/或摄像头放置和/或配置)来实现该分割框架。此外,可以在被设计为将语音发音与正确的说话者进行关联的不同传感器融合框架中,使用ssl机120、波束成形机122、面部定位机124和/或面部识别机128。
在所示的实施方式中,麦克风108将信号112提供给ssl机120和波束成形机122,sll机将起源140输出到分割机132。在一些实施方式中,起源140可以可选地输出到波束成形机122。相机110向面部定位机124和面部识别机126提供360°数字视频114。面部定位机将候选面部166的位置(例如,23°)传递到波束成形机122,波束成形机可以利用该位置来选择已识别讲话人的期望区域。波束成形机122将波束成形信号150传递给分割机132和语音识别机128,后者将语音id170传递给分割机132。面部识别机128向分割机输出具有候选面部的相应位置的身份168(例如,“bob”)。虽然没有显示,但分割机可以接收其它信息,并使用这些信息将语音发声归属于正确的说话者。
分割机132是一种传感器融合机,其被配置为使用各种接收到的信号将录制的语音与适当的说话者相关联。分割机被配置为将波束成形信号或另一音频信号中编码的信息归属于负责生成相应声音/语音的人员。在一些实施方式(例如,图11)中,分割机被配置为将实际音频信号归属于相应的说话者(例如,用说话者身份标记音频信号)。在一些实施方式(例如,图12)中,分割机被配置为将语音识别的文本归属于相应的说话者(例如,用说话者身份标记文本)。
在一个非限制性示例中,可以采用以下算法:
从开始到时间t的视频输入(例如,360°数字视频114)表示为v1:t
来自n个麦克风的音频输入(例如,信号112)表示为
分割机132通过使下式最大化,来解决谁在何地和何时讲话:
其中,通过
来计算
其中,
p(who,angle|v1:t)是身份168,它以视频114作为输入,并预测每个面部在每个角度出现的概率。
以上框架可以适于使用任何合适的处理策略,这些处理策略包括但不限于以上讨论的ml/ai技术。使用上述框架,在找到的角度出现一个面部的概率通常是同质的,例如,bob的面部在23°处的概率为99%,而他的脸在其它角度下的概率几乎为0%。
图7是分割机132的示例性输出的视觉表示。在图6中,垂直轴用于表示谁(例如,bob)正在讲话;水平轴表示说话者正在讲话的时间(例如,30.01s-34.87s);而深度轴表示说话者正在讲话的位置(例如,23°)。分割机132可以使用该谁/何时/何地信息,在标记608的分析下来标注音频信号606的相应片段604。可以以任何合适的格式,从分割机132输出片段604和/或相应标记。该输出在n个说话者之间的对话过程中,有效地将语音与特定的说话者相关联,并允许将与每种语音发音相对应的音频信号(带有谁/何时/何地标记/元数据)用于大量的下游操作。一个非限制性的下游操作是会话转录,如将在下面更详细讨论的。再举一个例子,ai助理可以使用将语音准确地归属于正确的说话者,来识别谁在讲话,从而减少了说话者使用关键词(例如,“cortana”)与ai助手联系的必要性。
简要地回到图1b,计算机化会议助理106可以包括语音识别机130。如图8中所示,语音识别机130可以被配置为将录制的语音的音频信号(例如,信号112、波束成形信号150、信号606和/或片段604)转换为文本800。在图8所示的场景中,语音识别机130将信号802转换为文本:“我们玩游戏吗?”
语音识别机130可以采用最新技术和/或未来自然语言处理(nlp)、ai和/或ml技术的任何适当组合。可以并入语音识别机130的实现中的技术的非限制性示例包括支持向量机、多层神经网络、卷积神经网络(例如,其包括用于处理自然语言句子的时间卷积神经网络)、词嵌入模型(例如,glove或word2vec)、循环神经网络、关联存储、无监督的空间和/或聚类方法、图形模型和/或自然语言处理技术(例如,标记、词干、构成和/或依赖解析和/或意图识别)。
在一些例子中,语音识别机130可以使用一个或多个可微分函数来实现,并且至少部分地由一组可训练的参数来确定。因此,可以通过任何适当的训练过程来调整可训练参数,以便持续改善语音识别机130的功能。
用于语音识别机130的训练过程的非限制性示例包括监督训练、零击、少击、无监督学习方法、强化学习和/或生成对抗性神经网络训练方法。在一些例子中,可以针对测量多个组件的集体功能的性能的目标函数,同时训练语音识别机130的所述多个组件,以便改善这种集体功能。在一些例子中,语音识别机130的一个或多个组件可以与其它组件无关地进行训练。在一个例子中,可以针对用于测量正确地识别与语音音频对应的词汇数据的准确性、精确度和/或召回度的目标函数,通过对标注的训练数据进行监督训练来训练语音识别机130,该标注的训练数据包括被注释以指示实际词汇数据(例如,词、短语和/或文本形式的任何其它语言数据)的语音音频。
在一些例子中,语音识别机130可以使用ai和/或ml模型(例如,lstm和/或时间卷积神经网络)来表示计算机可读格式的语音音频。在一些例子中,语音识别机130可以将语音音频输入表示为由语音音频模型和词嵌入模型(例如,glove矢量的潜在表示空间和/或word2vec矢量的潜在表示空间)共享的学习表示空间中的词嵌入矢量。因此,通过在学习的表示空间中表示语音音频输入和词,语音识别机130可以将表示语音音频的矢量与表示词的矢量进行比较,以针对语音音频输入来评估最接近的词嵌入矢量(例如,基于余弦相似度和/或近似k最近邻方法或任何其它适当的比较方法)。
在一些例子中,语音识别机130可以被配置为将语音音频分段成一些词(例如,使用经训练以识别词边界的lstm,和/或基于相邻词之间的沉默或幅度差异来分离词语)。在一些例子中,语音识别机130可以对单个词进行分类,以评估每个单个词的词汇数据(例如,字符序列、词序列,n-gram)。在一些例子中,语音识别机130可以采用依赖性和/或构成解析来导出用于词汇数据的解析树。在一些例子中,语音识别机130可以操作ai和/或ml模型(例如,lstm),将语音音频和/或表示学习的表示空间中的语音音频的矢量转换成词汇数据,其中对序列中的词进行转换是基于当前时间的语音音频,并且进一步基于ai和/或ml模型的内部状态,其中该内部状态表示该序列中先前时间的先前词。以这种方式将词语从语音音频转换为词汇数据,可以捕获可能有助于语音识别的词语之间的关系(例如,基于先前词语的上下文来识别可能含糊的词,和/或基于先前词语的上下文来识别发音错误的词语)。因此,即使当语音可能包括歧义性、错误发音等等时,语音识别机130也能够可靠地识别语音。
可以针对个人、多个个人和/或人群来训练语音识别机130。针对个人人群训练语音识别机130可以使语音识别机130考虑在该人群中可能会更频繁出现的独特语音特征(例如,在人群的成员之间变化的不同的语言、口音、词汇和/或任何其它区别性特征),可靠地识别该人群的成员的语音。关于个人和/或关于多个个人来训练语音识别机130,可以进一步调整语音的识别,以考虑到该个人和/或多个个人的语音特征的进一步差异。在一些例子中,可以针对不同的人群来训练不同的语音识别机(例如,语音识别机(a)和语音识别(b)),从而使每个不同的语音识别机在考虑不同人群之间可能有所不同的语音特征的情况下,稳健地识别不同人群的成员的语音。
标注的和/或部分标注的音频片段不仅可以用于确定多个n说话者中的哪一个对应于该话音,而且还可以将该话音转换为用于下游操作(例如,转录)的纹理表示。图9示出了计算机化会议助理106使用麦克风108和相机110来确定特定的声音流是来自bob的语音,其中bob坐在桌子104周围23°,并说:“我们玩游戏吗?”charlie和alice的身份和位置也得到了解决,因此可以对来自这些说话者的言语进行类似地归属并转换成文本。
图10显示了示例性会议转录本181,其包括按时间顺序排列的归属给正确的说话者的文本。转录可选地可以包括其它信息,例如每个语音发声的时间和/或每个语音发声的说话者的位置。在使用不同语言的说话者参加一个会议的场景中,可以将文本转换成不同的语言。例如,即使说话者中的一个或多个以不同的语言讲话,也可以向转录本的每个阅读者呈现所有文本都是转录本的该阅读者的首选语言的版本。可以实时地更新根据本公开内容生成的转录本,这样就可以将新文本添加到转录本中,其具有相应地归属于每个新的发音的适当说话者属性。
图11示出了非限制性框架1100,其中语音识别机130a-n位于分割机132的下游。可以针对特定的单个说话者(例如,bob)或说话者种类(例如,中文说话者或者具有中文口音的英语说话者),可选地调整每个语音识别机130。在一些实施例中,用户简档可以指定适合于该特定用户的语音识别机(或者其参数),并且当(例如,通过面部识别)识别用户时,可以使用该语音识别机(或参数)。通过这种方式,可以为特定的说话者,选择经过特定语法和/或声学模型调整的语音识别机。此外,因为可以在独立于所有其他说话者语音的情况下,对来自每个不同说话者的语音进行处理,所有说话者的语法和/或声学模型都可以实时地并行动态更新。在图11所示的实施例中,每个语音识别机可以接收针对相应说话者的片段604和标记608,并且每个语音识别机可以被配置为输出带有标记608的文本800以用于下游操作(例如,转录)。
图12示出了语音识别机130a-n位于分割机132的上游的非限制性框架1200。在这种框架中,分割机132可以最初在片段604之外或代替片段604,来向文本800施加标记608。此外,当解析哪个说话者对应于每个话音时,分割机可以考虑文本800的自然语言属性作为附加输入信号。
被配置为利用视听数据(其包括说话者的面部图像和语音音频)的说话者识别系统可以促进说话者的面部和/或语音识别。例如,图13示出了替代的非限制性说话者识别系统1400。说话者识别系统1400被配置为从麦克风108接收计算机可读音频信号112,并且从相机110接收数字视频114。说话者识别系统1400被配置为基于联合音频和视觉信号来识别说话者(例如,基于计算机可读音频信号112和数字视频114,或者基于任何其它适当的视听信号)。例如,说话者识别系统1400可以可选地基于原始计算机可读音频信号112,从波束形成机122接收波束形成的音频150。因此,基于原始和/或预处理的视听数据,说话者识别系统1400可以识别说话者(例如,识别说话者的候选面部的身份168和/或同一说话者的语音id170)。
如图13中所示,说话者识别系统1400可以可选地并入到框架1300中(例如,以便提供面部识别168和语音id170,以供分割机132在进行分离时使用)。框架1300类似于如图6中所示的分割框架。然而,在框架1300中,将图6的语音识别机128和面部识别机126替换为单个说话者识别系统1400。因此,代替使用语音识别机128和面部识别机126来分别识别说话者(例如,如在图6的框架600中),分割框架1300被配置为向说话者识别系统1400提供计算机可读音频信号112和/或波束成形的音频150、以及数字视频114。分割框架1300可以并入任何其它适当的组件(例如,声源定位机)以进行如上所述的分离。
在一些例子中,可以将面部定位机(例如,如图6所示的面部定位机124)检测到的面部166的位置提供给说话者识别系统1400。替代地或另外地,可以基于在面部检测机中检测到面部,对数字视频114进行预处理(例如,通过裁剪视频帧以聚焦在面部上,通过选择具有面部特征的视频帧或者任何其它适当的预处理来强调数字视频114中的面部的存在)。
可以关于以多个不同的个别说话者为特征的视听数据,对说话者识别系统1400进行训练。说话者识别系统1400可以注册一个或多个单独的说话者,并识别这些注册的说话者,即使当在用于训练的视听数据中没有具有注册的说话者的特征时。说话者识别系统1400采用可以基于组合的音频和视频数据来稳健地识别说话者的联合神经网络。尽管在分割框架1300的上下文中示出了说话者识别系统1400,但这不是必需的。利用联合神经网络的说话者识别系统可以独立地使用,也可以在任何其它适当的框架中使用。
图14描绘了用于基于经训练的联合神经网络1019的示例性说话者识别系统1400的数据流和训练架构,该训练的联合神经网络1019被配置为基于说话者的音频和/或视频来识别说话者。该说话者识别系统可以由任何计算系统2100以任何适当的方式用于任何说话者识别目的,例如,作为图13中所示的分割框架1300的一部分。在另一个非限制性示例中,计算机化智能助理可以利用说话者识别系统1400来识别说话者,同时回答查询、执行用户请求的辅助任务等等。
说话者识别系统1400被配置为接收包括视频特征和音频特征两者的输入向量,并基于该输入向量来预测说话者(例如,会议参与者)的身份。在一些例子中,输入向量是音频特征向量和视频特征向量的级联。输入向量中的音频特征可以是任何适当的音频特征,例如,代表一个或多个麦克风(例如,通过麦克风阵列)捕获的单声道、立体声和/或多声道振幅信号形式的原始音频的采样数据和/或频谱数据(例如,基于通过傅立叶变换、小波变换或原始音频数据的一个或多个频率分量的任何其它适当表示来转换原始音频)。如上所述,可以通过波束成形,对此类音频进行预处理以隔离声音。输入向量中的视频特征可以是任何适当的视频特征,例如,相机捕获的原始视频数据和/或预处理的视频数据,其中,这种预处理可以包括原始视频数据的任何适当的变换(例如,边缘检测、图像分割、去噪、帧插值和/或频谱变换)。
说话者识别系统1400的训练和利用大致分为三个阶段:离线训练阶段1010、在线注册阶段1020和在线识别阶段1030。在一些例子中,可以在组成三个阶段的一个或多个组件中实现说话者识别系统1400。例如,可以将说话者识别系统1400实现成以下的组合:被配置为执行离线训练阶段1010的训练机、被配置为执行在线注册阶段1020的注册机、以及被配置为执行在线识别阶段1030的识别机。
说话者识别系统1400被配置为接收视频数据1011、音频数据1012和相关联的说话者身份数据1013。说话者识别系统1400被配置为将接收到的数据表示为标记的输入向量1014,每个标记的输入向量包括视频数据、音频数据、以及指示视频和/或音频中具有多个说话者中的特定指定说话者的标签。可以通过基于多个标记的输入向量1014训练神经网络1015来不断提高说话者识别系统1400的性能(例如,有监督的训练),其中每个标记的输入向量包括以示例性人类说话者为特征的视听数据。通过每个标记的向量指示的人类说话者可以是匿名的(例如,通过匿名的数字标识符来指示),但是尽管如此,仍可以将神经网络1015训练为在不同的示例性人类说话者之间进行区分。可以关于表示任何适当数量(例如,10个、100个、1000个或更多)的示例性人类说话者的数据,来训练神经网络1015。
神经网络1015包括:被配置为接收输入向量1014的输入层1016、被配置为计算输入向量1014和其它输入层的任何适当函数(例如,在训练神经网络1015期间学习的函数)的一个或多个隐藏层1017、以及被配置为从多个说话者中选择特定的说话者的输出层1018。数据从输入层1016到隐藏层1017地流经神经网络1015,从而在输出层1018产生输出。通常,神经网络1015的每一层都可以包含多个节点,其中该层中的每个节点根据上游层中的一个或多个节点来输出值(例如,神经网络1015的第一隐藏层具有每个节点根据输入层中的一个或多个节点来输出值的节点)。
在一些例子中,输入向量中的音频特征和/或视频特征可以包括原始音频数据和/或原始视频数据。替代地或另外地,输入向量中的音频特征和/或视频特征可以包括通过一个或多个预处理步骤,基于原始音频数据和/或原始视频数据的高层音频和/或视频输出。例如,高层音频和/或视频特征可以包括由不同于神经网络1015的第二机器学习模型的中间和/或输出层输出的特征,例如,将音频和/或视频嵌入在第二神经网络学习的潜在空间中。因此,除了神经网络1015之外,如本文所描述的说话者识别系统1400可以结合任何适当的神经网络和/或机器学习技术,例如,用于预处理包括在输入向量中的原始音频数据和/或原始视频数据。
下游层的节点(例如,在图14的右侧进一步示出)可以以任何合适的方式依赖于上游层的节点,例如,通过基于上游层中节点输出的加权和来输出非线性变换(例如,双曲正切或线性校正函数)。神经网络1015中的实心圆表示节点,实心圆之间的线表示从上游流向下游的数据,例如,下游层中的节点可以输出一个值,其中该值取决于沿着连接从上游层到下游层的线来从上游层接收的值。例如,输出层1018可以被配置为针对多个说话者身份输出节点中的每一个,输出指示与该说话者身份输出节点相对应的说话者是接收到的标注的输入向量中的音频/视频所表征的说话者的可能性的置信度。
神经网络1015的输出层1018被配置为输出置信度值,该置信度值表示从在训练过程中为其提供了音频/视频数据的多个说话者中选择的说话者的身份,因此,在输出层1018上输出的置信度可能不适用于识别其他说话者(例如,训练数据的任何标记输入向量中未包含的说话者)。不过,神经网络1015a的隐藏层被配置为在神经网络1015学习的表示空间中,输出说话者音频/视频的表示,其中该表示空间编码不同说话者之间的高层差异(例如,语音、发音模式、面部外观、面部表情的差异)。因此,即使在训练期间提供的音频/视频数据(例如,标记的输入向量)中不具有这些说话者的特征,神经网络1015的隐藏层的输出也可能适用于识别说话者。
尽管将输入层1016、隐藏层1017和输出层1018分别描述为包括小的多个节点,但是神经网络1015可以在输入层1016、隐藏层1017和输出层1018的每一个中包括任何适当数量的节点(例如,10个、100个、1000个或更多节点)。类似地,尽管将神经网络1015描述为仅具有两个隐藏层,但是神经网络1015可以包括任何适当数量的隐藏层。
可以使用任何适当的神经网络技术来实现神经网络1015。例如,神经网络1015可以包括多层神经网络(例如,前馈网络和/或深度神经网络)、卷积网络(例如,被配置为检测图像和/或视频帧的显著特征的空间卷积网络、和/或被配置为检测序列数据的显著特征和/或模式(例如,顺序音频和/或视频数据)的时间卷积网络)、递归神经网络(例如,长短期记忆)和/或现有技术和/或未来的神经网络技术的任何其它适当的组合。
离线训练阶段1010中的训练神经网络1015可以通过任何适当的方式,例如基于梯度的优化方法(如,梯度下降)。可以基于神经网络的反向传播来计算和/或估计梯度,例如,以计算关于输入数据和关于目标函数的神经网络1015的梯度。该目标函数可以是基于神经网络1015的输入和/或输出的任何适当的分析,例如,关于指示实际说话者身份的输入向量的标记,对于针对不同说话者身份而评估的置信度值所指示的预测说话者身份的准确度、精确度和/或召回度的测量。离线训练阶段1010被配置为导致训练的联合神经网络1019,其被配置为基于音频/视频数据来识别说话者。相信关于音频和视频两者一起训练神经网络1015,可以改善由神经网络1015学习的表示空间的质量,从而获得可以用于可靠地识别说话者的高质量的经训练的联合神经网络1019。
在线注册阶段1020包括在受过训练的联合神经网络1019的输入层接收注册输入向量1021a,该注册输入向量1021a包括要进行注册以供说话者者识别系统1400识别的说话者的音频和/或视频数据。在一些例子中,说话者识别系统1400可以被配置为响应于命令(例如,注册新用户的命令或注册多个不同用户的命令)而开始在线注册阶段1020。例如,说话者识别系统1400可以注册新用户,作为软件应用程序的用户帐户创建过程的一部分来;相应地,软件应用程序可以被配置为向说话者识别系统1400发送命令以开始在线注册阶段1020。在其它例子中,可以进行即时注册,这是因为对未识别的个人录制了声音和视频,然后通过任何适当的方法进行识别。在线注册阶段1020还包括:提取训练后的联合神经网络1019的瓶颈隐藏层输出的注册简档向量1022a,其中,注册简档向量1022a包括基于在训练后的联合神经网络1019的隐藏层中处理注册输入向量1021a,在联合神经网络1019中要注册的说话者的内部表示。
在一个例子中,瓶颈隐藏层可以是训练后的联合神经网络1019的最下游(例如,最后)隐藏层,其立即连接到训练后的联合神经网络1019的输出层,从而将瓶颈隐藏层的输出提供给训练后的联合神经网络1019的输出层。替代地或另外地,瓶颈隐藏层可以是任何其它隐藏层。在一些例子中,瓶颈隐藏层可以具有比联合神经网络1019的输出层更少的神经网络单元(即,节点)。在一些例子中,瓶颈隐藏层可以具有比输出层更多数量的神经网络单元(即,节点),或者与输出层相等数量的神经网络单元。这样,尽管联合神经网络1019的输出层可以为训练数据集中识别的每个说话者具有一个神经网络单元,但是瓶颈隐藏层的基数可以比训练数据集中的说话者的数量更小。因此,瓶颈隐藏层可以以压缩形式,表示多个不同说话者的语音方面(例如,语音和/或说话风格的特征),其中瓶颈隐藏层的单个神经网络单元可以表示与一个或多个不同的说话者一致的语音特征。替代地或另外地,与联合神经网络1019的输出层相比,瓶颈隐藏层可以具有相等或更多数量的神经网络单元。
基于对神经网络1015的训练以产生联合神经网络1019,联合神经网络1019的隐藏层被配置为输出说话者音频/视频的表示,该表示可以编码音频/视频数据的显著特征并且可用于识别不同说话者之间的显著差异。相应地,在线注册阶段1020通过以下方式来注册新说话者:将注册输入向量1021a(其包含具有新说话者特征的音频/视频数据)表示为联合神经网络1019的隐藏层基于在联合神经网络1019的输入层接收的新说话者的音频和/或视频数据而输出的注册简档向量1022a。注册简档向量1022a代表说话者,以用于后续识别。
在线注册阶段1020还可以包括:基于分别对应于说话者的另外的注册输入向量(例如,1021b、1021c),提取用于识别另外的说话者的另外的注册简档向量(例如,1022b、1022c)。基于瓶颈隐藏层输出的表示形式中编码的显著特征,每个注册简档向量都可以用作特定说话者的说话者简档。
在在线识别阶段1030中,可以基于包括音频和/或视频输入特征的测试输入向量1031来识别要识别的说话者。识别说话者包括:用受过训练的联合神经网络1019处理测试输入向量1031,以获得表示要识别的说话者的测试特征向量1032,例如,从受过训练的联合神经网络1019的瓶颈隐藏层中提取测试特征向量1032,其中测试特征向量1032包括:在联合神经网络1019中基于对训练后的联合神经网络1019的隐藏层中的测试输入向量1031进行处理而识别的说话者的内部表示。识别说话者还包括:将测试特征向量1032与在注册阶段1020期间为说话者获得的一个或多个注册简档向量进行比较。这种比较可以是基于用于比较向量的任何适当技术,例如,内积和/或余弦相似度、和/或最近邻居方法(例如,近似k最近邻方法)。
根据在线识别阶段1030中应用的比较,特定说话者的注册简档向量(例如,注册简档向量1022a)和测试特征矢量1032可能是相似的,例如,基于训练后的联合神经网络1019在学习的表示空间中表示具有该说话者特征的音频和/或视频(其编码不同说话者之间的高层差异)。因此,通过比较注册简档向量和训练过的联合神经网络1019所输出的测试特征向量,可以稳健地将说话者识别为先前注册的说话者(例如,当针对该说话者的注册简档向量1022a和测试特征向量1032之间的比较指示注册简档向量1022a与测试特征向量1032之间具有高度相似性时)。通过将测试特征向量1032与多个不同的注册简档向量(例如,注册简档向量1022a、1022b和1022c)进行比较,说话者识别系统1400能够基于注册简档向量(其代表每个不同的已注册的说话者的说话者简档),从多个不同的已注册的说话者中识别并选择说话者。例如,比较并从注册简档向量1022a、1022b和1022c中选择可以包括:选择与测试特征向量1032具有相对最高相似度的注册简档向量1022a的已注册的说话者。在一些例子中,识别说话者可以包括:将注册简档向量1022a与测试特征向量1032进行比较,并评估表示这两个向量之间相似度的比较置信度,如果所评估的比较置信度超过预定义的阈值比较置信度,则确定说话者在场。
虽然联合神经网络可以对完整的音频信号和/或完整的输入图像或输入视频帧进行操作,但是在一些实施方式中,音频预处理、面部检测和/或活动说话者检测可以用作预处理步骤,以聚焦于所捕获的音频和/或视频中联合神经网络进行操作的部分。
识别机可以被配置为:响应于首先检测到人类存,在而选择性地将视听测试数据提供给输入层(例如,经由诸如运动传感器、面部定位机和/或声源定位机之类的低层级存在检测器)。替代地或另外地,识别机可以被配置为:与检测到人的存在无关地将视听测试数据提供给输入层(例如,连续地提供视听测试数据,以便连续地识别可能以视听数据为特征的说话者)。
在一些例子中,可以基于预处理,来聚焦于在联合神经网络的输入层接收的输入向量中的视听数据。响应于预处理而聚焦视听数据的非限制性示例包括:选择视频的一个或多个特定帧和/或帧部分,从捕获的视频中选择特定的通道(例如,彩色通道、ir通道),选择捕获的音频的特定持续时间,选择特定的通道(例如,基于麦克风阵列中一个或多个麦克风的位置)和/或选择特定的频率(例如,语音共振峰频率)(例如,通过应用低通、高通和/或带通滤波器)。在训练和测试阶段都可以使用面部/说话者检测预处理。应当注意,当在活动说话者上使用时,联合神经网络具有最大的优势,因为视频和音频信号都可以提供信息。为了高效操作,只有在识别出讲话的预处理/检测步骤之后,才可以选择性地使用联合神经网络。然而,网络的这种选择性应用仅仅是可选的,并且在一些应用中,网络可以连续地应用于识别输入音频和视频的相当大部分(例如,全部)的说话者。例如,可以连续地操作麦克风和扬声器以捕获视听数据,并且可以连续地操作联合神经网络以识别在捕获的视听数据中表征的说话者。
图15示出了用于操作说话者识别系统(例如,说话者识别系统1400)的示例性方法1500。如图14中所示,说话者识别系统的操作大致分为三个阶段:训练阶段1501、注册阶段1511和识别阶段1521。在训练阶段1501中,基于多个标记的输入向量,对联合神经网络进行训练(例如,基于多个标记的输入向量进行监督训练)。每个标记的输入向量包括视听训练数据和识别示例性说话者的标记。所述多个标记的输入向量可以包括用于训练的任何适当数量的示例(例如,10个、100个、1000个或更多示例)。在1502处,训练阶段1501包括:将标记的输入向量提供给联合神经网络(例如,图14的联合神经网络1015)的输入层。在1503处,训练阶段1501包括:操作联合神经网络以预测视听数据是否对应于该视听数据中表征的示例性人类说话者。该预测是基于视听数据,而不是基于标记。换句话说,如果使用与1000个不同的示例性人类说话者相对应的1000个标记的输入向量来训练联合神经网络,则对于1000个不同的人类说话者中的每一个,操作联合神经网络以输出不同的置信度。在特定输出节点处的相对较高置信度输出,指示在相应的标记输入向量中具有相应的示例性人类说话者特征的成功预测。在该阶段,不考虑标记。在1504处,训练阶段1501包括更新联合神经网络的可训练参数,以提高联合神经网络在预测视听数据是否对应于示例性人类说话者时的置信度。在该阶段,在评估是否做出正确的预测时,考虑使用标记。在一些例子中,更新联合神经网络的可训练参数是基于目标函数的梯度,该目标函数用于测量基于视听数据来预测标记的准确度、精确度和召回度中的一个或多个。可以关于多个输入向量中的每个标记的输入向量来执行训练阶段1501,使得可以关于所述多个输入向量中的每个不同的示例性说话者,来更新联合神经网络的可训练参数。
在注册阶段1511,可以注册一个或多个说话者以供以后识别。尽管可能已经针对具有特定多个说话者的视听数据(例如,匿名说话者的训练集)对联合神经网络进行了训练,但是在注册阶段1511期间可以注册任何说话者(例如,训练数据中未包括的新说话者)。在1512处,注册阶段1511包括:将视听注册数据提供给先前训练的联合神经网络(例如,先前训练的联合神经网络1019,其源自于在训练阶段1501中对联合神经网络1015的训练)。例如,视听注册数据可以包括以用于注册的新说话者为特征的相应音频数据和视频数据。在1513处,注册阶段1511包括:从联合神经网络的隐藏层提取注册简档向量,其中,先前训练的联合神经网络的隐藏层基于提供给先前训练的联合神经网络的输入层的视听注册数据来输出该注册简档向量。所提取的注册简档向量表示注册的说话者,并且可以在识别阶段1521中进行处理,以便基于随后接收的视听数据来识别注册的说话者。
在识别阶段1521,可以识别先前注册的说话者。在1522处,识别阶段1521包括:将视听测试数据提供给先前训练的联合神经网络(例如,先前训练的联合神经网络1019)的输入层。例如,视听数据可以包括:具有在注册阶段1511期间注册到先前训练的联合神经网络的输入层的新说话者的特征的音频数据和视频数据。在1523处,识别阶段1521包括:从联合神经网络的隐藏层提取测试特征向量,其中隐藏层基于视听测试数据来输出该测试特征向量。在1524处,识别阶段1521包括:将测试特征向量与先前注册的说话者的注册简档向量进行比较。可以基于该比较,来识别先前注册的说话者。例如,可选地,在1525处,方法1500进一步包括:基于测试特征向量和注册简档向量之间的比较,来评估比较置信度(例如,其中较高的比较置信度值表示测试特征向量和注册简档向量高度相似,而较低的比较置信度表示测试特征向量和注册简档向量不相似)。可选地,在1526处,方法1500包括:通过将测试特征向量与多个先前注册的说话者中的每一个的注册简档向量的比较,识别出具有最高比较置信度的说话者,并确定存在产生最高置信度的已识别说话者。可选地,在1527处,方法1500包括:响应于比较置信度超过预定义阈值,而识别出存在说话者。
本文所描述的方法和过程(例如,根据方法1500的说话者识别)可以与一个或多个计算设备的计算系统联系在一起。具体而言,可以将这样的方法和过程实现为可执行的计算机应用程序、网络可访问的计算服务、应用程序接口(api)、库、或者以上和/或其它计算资源的组合。
图16示意性地示出了计算系统1400的简化表示,该计算系统1400被配置为提供本文所描述的任何或者所有计算功能。计算系统1400可以采取一个或多个个人计算机、网络可访问的服务器计算机、平板计算机、家庭娱乐计算机、游戏设备、移动计算设备、移动通信设备(例如,智能手机)、虚拟/增强/混合现实计算设备、可穿戴计算设备、物联网(iot)设备、嵌入式计算设备和/或其它计算设备的形式。
计算系统1400包括逻辑子系统1602和存储子系统1604。计算系统1400还包括麦克风1612和相机1614。计算系统1400可以可选地包括显示子系统1606、输入子系统1608、通信子系统1610和/或未在图16中显示的其它子系统。
逻辑子系统1602包括被配置为执行指令的一个或多个物理设备。例如,逻辑子系统可以被配置为执行作为一个或多个应用程序、服务或其它逻辑构造的一部分的指令。逻辑子系统可以包括被配置为执行软件指令的一个或多个硬件处理器。另外地或替代地,逻辑子系统可以包括被配置为执行硬件或固件指令的一个或多个硬件或固件设备。逻辑子系统的处理器可以是单核或多核的,并且在其上执行的指令被配置为进行顺序地、并行地和/或分布式处理。逻辑子系统的各个组件可以可选地分布在两个或多个单独的设备中,这些单独的设备可以远程地放置和/或被配置为进行协同处理。可以通过以云计算配置进行配置的可远程访问的联网计算设备,来虚拟化并执行逻辑子系统的各方面。
存储子系统1604包括被配置为临时和/或永久地保存计算机信息(例如,逻辑子系统可执行的数据和指令)的一个或多个物理设备。当存储子系统包括两个或多个设备时,这些设备可以是并置的和/或彼此远离的。存储子系统1604可以包括易失性、非易失性、动态、静态、读/写、只读、随机存取、顺序存取、位置可寻址、文件可寻址和/或内容可寻址的设备。存储子系统1604可以包括可移动和/或内置设备。当逻辑子系统执行指令时,可以改变存储子系统1604的状态,例如以保存不同的数据。
可以将逻辑子系统1602和存储子系统1604的各方面一起集成到一个或多个硬件逻辑组件中。例如,这种硬件逻辑组件可以包括特定于程序的集成电路和专用集成电路(pasic/asic)、特定于程序的标准产品和特定于应用的标准产品(pssp/assp)、片上系统(soc)、以及复杂可编程逻辑器件(cpld)。
逻辑子系统和存储子系统可以进行协作以实例化一个或多个逻辑机,例如,被配置为执行离线训练阶段1010的联合神经网络1015、训练的联合神经网络1019、训练机1620,被配置为执行在线注册阶段1020的注册机1622,和/或被配置为执行在线识别阶段1030的识别机1624。如本文所使用的,术语“机器”用于统称硬件以及与该硬件协作以提供计算机功能的任何软件、指令和/或其它组件。换句话说,“机器”永远不是抽象的思想,而总是具有有形的形式。机器可以通过单个计算设备实例化,或者机器可以包括由两个或更多不同计算设备实例化的两个或更多子组件。在一些实施方式中,机器包括与远程组件(例如,云计算服务)协作的本地组件(例如,软件应用程序)。赋予特定机器其功能的软件和/或其它指令,可以可选地作为未执行的模块保存在适当的存储设备上。
可以使用最新技术和/或未来机器学习(ml)、人工智能(ai)和/或自然语言处理(nlp)技术的任何适当组合(例如,使用上面所描述的ml、ai和nlp技术的任何组合)来实现机器。
当包括显示子系统1606时,显示子系统1606可以用于呈现存储子系统1604所保存的数据的视觉表示。该视觉表示可以采用图形用户界面(gui)的形式。显示子系统1606可以包括利用几乎任何类型的技术的一个或多个显示设备。在一些实现中,显示子系统可以包括一个或多个虚拟型、增强型或混合现实显示。
当包括输入子系统1608时,输入子系统1608可以包括一个或多个输入设备或者与一个或多个输入设备接口。输入设备可以包括传感器设备或用户输入设备。用户输入设备的例子包括键盘、鼠标、触摸屏或游戏控制器。在一些实施例中,输入子系统可以包括选定的自然用户输入(nui)组件或者与选定的自然用户输入(nui)组件接口。此类组件可以是集成的或外围的,并且输入动作的转换和/或处理可以在板上或板外进行。示例性nui组件可以包括用于语音和/或声音识别的麦克风;用于机器视觉和/或手势识别的红外、彩色、立体和/或深度摄像头;用于运动检测和/或意图识别的前方跟踪器、眼睛跟踪器、加速度计和/或陀螺仪。
当包括通信子系统1610时,通信子系统1610可以被配置为将计算系统1400与一个或多个其它计算设备通信地耦合。通信子系统1610可以包括与一种或多种不同的通信协议兼容的有线和/或无线通信设备。通信子系统可以被配置为经由个域网、局域网和/或广域网进行通信。
在一个例子中,一种说话者识别系统包括:先前训练的联合神经网络,其包括被配置为接收视听数据的输入层和一个或多个隐藏层;麦克风,其配置为将音频数据提供给所述先前训练的联合神经网络的所述输入层;相机,其配置为将所述视频数据提供给所述先前训练的联合神经网络的所述输入层;注册机,其配置为在注册阶段期间,用于操作所述麦克风和所述相机,将体现新注册的说话者的特征的视听注册数据提供给所述先前训练的联合神经网络的所述输入层,并提取所述新注册的说话者的注册简档向量,其中,基于所述视听注册数据,从所述先前训练的联合神经网络的隐藏层中提取所述注册简档向量;识别机,其配置为在识别阶段期间,用于操作所述麦克风和所述相机,将体现所述新注册的说话者的特征的视听测试数据提供给所述先前训练的联合神经网络的所述输入层,基于所述视听测试数据,从所述先前训练的联合神经网络的所述隐藏层中提取测试特征向量,并将所述测试特征向量与所述注册机针对所述新注册的说话者提取的所述注册简档向量进行比较。在该例子或者任何其它例子中,所述识别机被配置为:响应于检测到人的存在,选择性地将视听测试数据提供给所述输入层。在该例子或者任何其它例子中,所述识别机被配置为:与先前检测到的人的存在无关地将视听测试数据提供给所述输入层。在该例子或者任何其它例子中,所述注册简档向量是从所述联合神经网络的瓶颈隐藏层中提取的,所述瓶颈隐藏层的神经网络单元的数量小于所述联合神经网络的所述输出层中的神经网络单元的数量。在该例子或者任何其它例子中,所述注册简档向量是从所述联合神经网络的瓶颈隐藏层中提取的,所述瓶颈隐藏层是直接连接到所述联合神经网络的所述输出层的最下游的隐藏层。在该例子或者任何其它例子中,所述识别机还被配置为:针对所述测试特征向量以及多个不同说话者中的每个候选说话者,基于所述测试特征向量与针对所述候选说话者的注册简档向量的比较,评估比较置信度;并选择具有最高比较置信度的候选说话者作为所述视听测试数据中的所述候选说话者。在该例子或者任何其它例子中,所述识别机还被配置为:针对所述测试特征向量,基于所述测试特征向量与针对所述新注册的说话者的所述注册简档向量的所述比较,评估比较置信度;并响应于所评估的比较置信度超过预定义的阈值比较置信度,确定在所述视听测试数据中具有所述新注册的说话者的特征。
在一个例子中,一种用于说话者识别的方法包括:在注册阶段期间,将视听注册数据提供给先前训练的联合神经网络的输入层,其中所述视听注册数据包括体现新注册的说话者的特征的音频数据和体现所述新注册的说话者的特征的视频数据,并基于提供给所述先前训练的联合神经网络的输入层的所述视听注册数据,从所述先前训练的联合神经网络的隐藏层中提取所述新注册的说话者的注册简档向量;以及在识别阶段期间,将视听测试数据提供给所述先前训练的联合神经网络的所述输入层,其中所述视听测试数据包括体现所述新注册的说话者的特征的音频数据和体现所述新注册的说话者的特征的视频数据,并基于所述视听测试数据,从所述先前训练的联合神经网络的所述隐藏层中提取测试特征向量;将所述测试特征向量与先前针对所述新注册的说话者提取的所述注册简档向量进行比较。在该例子或者任何其它例子中,该方法还包括:在所述识别阶段,响应于检测到人的存在而选择性地将视听测试数据提供给所述输入层。在该例子或者任何其它例子中,该方法还包括:在所述识别阶段,与先前检测到人的存在无关地将视听测试数据提供给所述输入层。在该例子或者任何其它例子中,从所述联合神经网络的瓶颈隐藏层中提取所述注册简档向量,所述瓶颈隐藏层的神经网络单元的数量小于所述神经网络的所述输出层中的神经网络单元的数量。在该例子或者任何其它例子中,所述注册简档向量是从所述联合神经网络的瓶颈隐藏层中提取的,所述瓶颈隐藏层是直接连接到所述联合神经网络的所述输出层的最下游的隐藏层。在该例子或者任何其它例子中,该方法还包括在所述识别阶段:针对所述测试特征向量以及多个不同说话者中的每个候选说话者,基于所述测试特征向量与针对所述候选说话者的注册简档向量的比较,评估比较置信度;并选择具有最高比较置信度的候选说话者作为所述视听测试数据中的所述候选说话者。在该例子或者任何其它例子中,该方法还包括在所述识别阶段:针对所述测试特征向量,基于所述测试特征向量与针对所述新注册的说话者的所述注册简档向量的所述比较,评估比较置信度;并响应于所评估的比较置信度超过预定义的阈值比较置信度,确定在所述视听测试数据中具有所述新注册的说话者的特征。在该例子或者任何其它例子中,所述先前训练的联合神经网络是在训练阶段中,基于多个标记的输入向量而进行训练的联合神经网络,其中,每个标记的输入向量包括视听训练数据和识别示例性的人类说话者的标记。在该例子或者任何其它例子中,该方法还包括在所述训练阶段:将所述多个标记的输入向量中的标记的输入向量提供给联合神经网络的所述输入层;操作所述联合神经网络以预测所述视听数据是否对应于所述示例性的人类说话者,其中所述预测是基于所述视听数据而不是基于所述标记;并更新所述联合神经网络的可训练参数,以提高所述联合神经网络在预测所述视听数据是否对应于所述示例性的人类说话者时的置信度。在该例子或者任何其它例子中,更新所述联合神经网络的所述可训练参数是基于目标函数的梯度,其中所述目标函数测量基于所述视听数据来预测所述标记的准确性、精确度和召回度中的一个或多个。在该例子或者任何其它例子中,在用于训练所述联合神经网络的任何标记的输入向量中,不具有所述新注册的说话者的特征。
在一个例子中,一种用于说话者识别的方法包括:基于多个标记的输入向量,训练联合神经网络以识别多个说话者中的说话者,其中:标记的输入向量包括具有以所述多个说话者中的说话者为特征的音频数据和视频数据的输入向量、以及指示所述说话者的说话者标识符;并且所述联合神经网络被配置为针对输入向量以及所述多个说话者中的每个候选说话者,输出用于指示体现所述输入向量的特征的所述音频数据和所述视频数据中的一个或多个的说话者是所述候选说话者的可能性的置信度;通过操作先前训练的联合神经网络来接收包括音频数据和视频数据的注册输入向量,并提取所述先前训练的联合神经网络的隐藏层输出的注册向量,基于所述注册输入向量来注册新注册的说话者;并通过以下操作,基于包括音频数据和视频数据的测试输入向量,来识别所述新注册的说话者:操作所述先前训练的联合神经网络以接收所述测试输入向量,并提取所述先前训练的联合神经网络的所述隐藏层输出的测试特征向量;以及比较所述测试特征向量与所述注册向量。在该例子或者任何其它例子中,在用于训练所述联合神经网络的任何标记的输入向量中,不具有所述新注册的说话者的特征。
应当理解的是,本文所描述的配置和/或方法在本质上是示例性的,并且这些特定的实施例或示例不应被认为是限制性的,这是因为可以进行众多的变化。本文所描述的特定例程或方法可以代表任何数量的处理策略中的一种或多种。这样,可以按照所示出和/或描述的顺序、以其它顺序、并行地执行所示出和/或描述的各种动作,或者进行一些省略。同样地,可以改变上面所描述的处理的顺序。
本公开内容的主题包括本文所公开的各种过程、系统和配置以及其它特征、功能、动作和/或属性的所有新颖且非显而易见的组合和子组合,以及其任何或所有等同物。
起点商标作为专业知识产权交易平台,可以帮助大家解决很多问题,如果大家想要了解更多知产交易信息请点击 【在线咨询】或添加微信 【19522093243】与客服一对一沟通,为大家解决相关问题。
此文章来源于网络,如有侵权,请联系删除