用于电子用户设备的摄像头图像流选择的方法和系统与流程

文档序号:33648422发布日期:2023-03-29 06:02阅读:43来源:国知局
1.本公开概括而言涉及视频处理,更具体而言涉及用于电子用户设备的摄像头图像流选择的方法和系统。
背景技术
::2.在视频会议期间,电子设备的摄像头捕捉用户的图像。包括用户的图像的视频流被输出,以便由与视频会议的(一个或多个)其他参与者相关联的(一个或多个)电子设备来呈现。技术实现要素:3.根据本公开的第一实施例,提供了一种装置,包括:头部姿态估计电路,用于基于第一图像数据和第二图像数据,确定(a)用户相对于第一摄像头的第一方位,以及(b)所述用户相对于第二摄像头的第二方位,所述第一图像数据与由所述第一摄像头输出的第一视频流相关联,并且所述第二图像数据与由所述第二摄像头输出的第二视频流相关联;以及视频流选择电路,用于基于所述第一方位和所述第二方位来选择所述第一视频流或所述第二视频流中的一个来输出。4.根据本公开的第二实施例,提供了一种装置,包括:存储器;存储在所述装置中的指令;以及处理器电路,用于执行所述指令以至少执行以下操作:基于第一图像数据和第二图像数据,确定(a)用户相对于第一摄像头的第一方位,以及(b)所述用户相对于第二摄像头的第二方位,所述第一图像数据与由所述第一摄像头输出的第一视频流相关联,并且所述第二图像数据与由所述第二摄像头输出的第二视频流相关联;以及基于所述第一方位和所述第二方位来选择所述第一视频流或所述第二视频流中的一个来作为视频流输出。5.根据本公开的第三实施例,提供了一种方法,包括:基于第一图像数据和第二图像数据,确定(a)用户相对于第一摄像头的第一方位,以及(b)所述用户相对于第二摄像头的第二方位,所述第一图像数据与由所述第一摄像头输出的第一视频流相关联,并且所述第二图像数据与由所述第二摄像头输出的第二视频流相关联;以及基于所述第一方位和所述第二方位来选择所述第一视频流或所述第二视频流中的一个来输出。6.根据本公开的第四实施例,提供了一种机器可读介质,包括代码,所述代码当被执行时,使得机器执行如上述第三实施例所述的方法。7.根据本公开的第五实施例,提供了一种装置,包括:用于执行如上述第三实施例所述的方法的设备。附图说明8.图1图示了根据本公开的教导的示例系统,其包括两个或更多个摄像头、用于训练神经网络模型以在由摄像头生成的图像数据中检测用户的脸部的示例训练电路、以及用于基于用户的脸部的方位来选择与各个摄像头相关联的图像流以便输出的示例图像控制电路。9.图2是图1的示例图像控制电路的框图。10.图3是图1的示例训练控制电路的框图。11.图4的示例过程流程图图示了可以由图2的示例图像控制电路实现的示例过程流程。12.图5包括图示出由图1和/或图2的图像控制电路根据本公开的教导执行的关注得分分析的示例图。13.图6的流程图代表了可以被示例处理器电路执行来实现图2的示例图像控制电路以选择图像流信号以便输出的示例机器可读指令。14.图7的流程图代表了可以被示例处理器电路执行来实现图6的块612以生成关注得分的示例机器可读指令。15.图8的流程图代表了可以被示例处理器电路执行来实现图3的示例训练控制电路的示例机器可读指令。16.图9是示例处理平台的框图,该处理平台包括处理器电路,该处理器电路被构造为执行图6和/或图7的示例机器可读指令以实现图1和/或图2的示例图像控制电路。17.图10是示例处理平台的框图,该处理平台包括处理器电路,该处理器电路被构造为执行图11的示例机器可读指令以实现图3的示例训练控制电路。18.图11是图9和/或图10的处理器电路的示例实现方式的框图。19.图12是图9和/或图10的处理器电路的另一示例实现方式的框图。20.图13是示例软件分发平台(例如,一个或多个服务器)的框图,用于将软件(例如,与图6和/或图7的示例机器可读指令相对应的软件)分发到与最终用户和/或消费者(例如,用于许可、销售和/或使用)、零售商(例如,用于销售、再销售、许可和/或次级许可)和/或原始设备制造商(oem)(例如,用于包括在要被分发到例如零售商和/或诸如直接购买客户之类的其他最终用户的产品中)相关联的客户端设备。21.附图不是按比例的。一般而言,相同的标号将在各幅图和伴随的书面描述的各处被用于指代相同或相似的部件。22.除非另有具体声明,否则本文使用诸如“第一”、“第二”、“第三”等等之类的描述语,而不输入或以其他方式指示出任何优先权、物理顺序、在列表中的排列和/或以任何方式排序的含义,而只是用作标签和/或任意名称来区分元素,以便易于理解所公开的示例。在一些示例中,描述语“第一”在具体实施方式中可以用于提及某一元素,而同一元素在权利要求中可以用不同的描述语来提及,例如“第二”或“第三”。在这种情况下,应当理解,这种描述语仅仅用于明确地识别那些元素,这些元素例如可能在其他情况下共享同一名称。23.如本文所使用的,短语“与……通信”——包括其变体——涵盖了直接通信和/或通过一个或多个中间组件进行的间接通信,而不要求直接物理(例如,有线)通信和/或不断的通信,而是还包括按周期性间隔、排定的间隔、非周期性间隔和/或一次性事件的选择性通信。24.如本文所使用的,“处理器电路”被定义为包括(i)一个或多个专用电气电路,其被构造为执行(一个或多个)特定的操作,并且包括一个或多个基于半导体的逻辑器件(例如,由一个或多个晶体管实现的电气硬件),和/或(ii)一个或多个通用的基于半导体的电气电路,其被用指令编程以执行特定操作,并且包括一个或多个基于半导体的逻辑器件(例如,由一个或多个晶体管实现的电气硬件)。处理器电路的示例包括编程的微处理器、可实例化指令的现场可编程门阵列(fieldprogrammablegatearray,fpga)、中央处理器单元(centralprocessorunit,cpu)、图形处理器单元(graphicsprocessorunit,gpu)、数字信号处理器(digitalsignalprocessor,dsp)、xpu、或者微控制器和集成电路,例如专用集成电路(applicationspecificintegratedcircuit,asic)。例如,xpu可以由异构计算系统来实现,该计算系统包括多种类型的处理器电路(例如,一个或多个fpga、一个或多个cpu、一个或多个gpu、一个或多个dsp,等等,和/或这些的组合)以及(一个或多个)应用编程接口(applicationprogramminginterface,api),这些api可以将(一个或多个)计算任务指派给该多种类型的处理电路中最适于执行该(一个或多个)计算任务的任何一个(或多个)。具体实施方式25.电子用户设备(在此也称为设备或者用户设备),例如膝上型电脑、平板设备或者智能电话,可以包括摄像头来捕捉设备的用户和/或设备所在环境的图像和/或视频。用户设备可以包括用户应用,例如安装在其上的视频会议应用。在视频会议期间,用户和/或环境的图像经由用户设备的摄像头被捕捉,并且被输出来在与视频会议的(一个或多个)其他参与者相关联的(一个或多个)电子设备处呈现。26.在一些情况下,用户在参与视频会议时可以与两个或更多个用户设备交互。例如,用户可以使用桌面型计算机,其包括主显示器(例如,第一监视器)和一个或多个副显示器(例如,第二监视器)。用户可以与每个显示器上显示的内容进行交互。每个显示器可以包括摄像头(例如,内置摄像头,从外部安装到显示器的摄像头)。然而,在视频会议期间,可能只有其中一个摄像头被激活,以捕捉用户的图像。例如,在视频会议期间,与主显示器(例如,第一监视器)相关联的摄像头可能被激活以生成视频流。因此,当用户相对于主显示器摄像头移动他或她的身体的至少一部分以与副显示器交互时,用户的脸部可能被部分遮蔽和/或可能至少部分地离开主显示器摄像头的视野。例如,用户可以把他或她的脸部从主显示器摄像头转开,以查看副显示器上的内容。因此,视频会议中的(一个或多个)其他参与者可能会看到,例如,用户脸部的侧面轮廓,而用户的目光是指向副显示器的,这可能导致不自然的对话体验。27.在一些情况下,用户设备使得用户能够在与用户设备(例如,包括多个显示器的桌面)和/或与用户设备和其他用户设备(例如,桌面和电子平板设备)相关联的多个摄像头之间进行切换,以改变哪个摄像头被视为主摄像头。然而,在摄像头之间手动切换(例如,经由相应(一个或多个)设备处的(一个或多个)用户输入)可能会在视频会议期间对用户和/或其他参与者造成干扰。28.本文公开了示例系统、装置和方法,这些系统、装置和方法使得能够在与(一个或多个)电子用户设备和/或(一个或多个)显示器(例如,监视器)相关联的两个或更多个摄像头之间自动切换视频流。在本文公开的示例中,图像控制电路分析图像流,例如在诸如视频会议期间由两个或更多个摄像头生成的视频流,以检测各个视频流中的用户的脸部,并且确定脸部的方位。例如,示例图像控制电路确定检测到的脸部相对于各个摄像头的角度(例如,偏转角)。在一些示例中,该角度是相对于在图像数据中检测到的用户的脸部的特征(例如,用户的鼻子)而测量的。29.本文公开的示例为各个摄像头生成关注得分,其表示用户面对特定摄像头的可能性。可以基于用户的脸部(例如,用户的脸部的(一个或多个)特征)相对于各个摄像头的偏转角与阈值偏转角的比较来生成关注得分。在一些示例中,关注得分是基于与特定摄像头相关联的偏转角满足阈值偏转角的持续时间而生成的,这可以表明用户在很长一段时间中面对特定摄像头。30.在本文公开的示例中,图像控制电路基于关注得分来选择与特定摄像头相关联的视频流以输出作为在视频会议期间要传输以供呈现的视频流。例如,示例图像控制电路可以选择与被赋予最高关注得分的摄像头相关联的视频流作为要输出的视频流,因为与其他摄像头相比,用户有可能面对该摄像头。因此,本文公开的示例可以防止或者大幅减少在视频会议期间呈现包括用户的被遮蔽和/或扭曲的视图的图像数据的情况。本文公开的示例在视频会议期间分析来自各个摄像头的视频流,并且为摄像头赋予关注得分,以确定用户的脸部的方位和/或位置是否有任何变化。本文公开的示例自动选择与具有最高关注得分的摄像头相关联的视频流,从而在与多个显示器交互时基于用户脸部的方向来提供视频流之间的自动切换。31.虽然本文公开的示例是联系视频流来论述的,但本文公开的示例也可以额外地或者替代地联系其他类型的图像数据来使用,例如静态图像。32.图1图示了示例系统100,其包括两个或更多个摄像头,以捕捉用户的图像数据和示例图像控制电路102,以选择与摄像头之一相关联的视频流,以便在例如视频会议和/或其他视频录制期间输出。在图1的图示示例中,图像控制电路102与示例训练控制电路103通信地耦合。训练控制电路103用于生成一个或多个机器学习模型,以供图像控制电路102在分析视频流时使用,如本文所公开的。33.图1的示例系统100包括第一设备104。在图1的示例中,第一设备104是电子用户设备。例如,第一设备104是膝上型电脑,然而,第一设备104可以包括其他类型的用户设备,例如桌面型计算机、智能电话、电子平板设备,等等。第一设备104包括显示器105(例如,显示屏幕)。第一设备104包括第一摄像头106。在图1的示例中,第一摄像头106是视频摄像头。第一摄像头106可以是内置摄像头。在其他示例中,第一摄像头106是附件,它可以被耦合到(例如,安装到)第一设备104。34.在图1的示例中,第一设备104与一个或多个其他设备通信地耦合,这些其他设备可以包括一个或多个显示设备和/或一个或多个其他电子设备。例如,在图1中,第一设备104与第二设备108通信地耦合,在这个示例中,第二设备108包括外部监视器,该外部监视器还可以呈现除了在第一设备104的显示器105上呈现的内容之外的内容。另外,在图1的示例中,第一设备104与第三设备110通信地耦合。在这个示例中,第三设备110包括外部监视器,以呈现除了经由第一设备104和第二设备108的显示器105呈现的内容之外的内容。虽然在图1的示例中,第一设备104被示为与两个显示设备通信地耦合,但在其他示例中,设备104与其他用户设备(例如,平板设备、智能电话)和/或(一个或多个)显示设备和(一个或多个)用户设备的组合通信地耦合。图1的第一设备104可以耦合到比图1所示更多或更少的设备(例如,(一个或多个)显示设备,比如(一个或多个)外部监视器,(一个或多个)其他电子用户设备,等等)。35.第二设备108包括第二摄像头109,它包括视频摄像头。第二摄像头109可以是内置摄像头,或者可以是用于第二设备108的外部附件。第三设备110包括第三摄像头111,其可以是内置摄像头或者外部附件,用于生成图像数据(例如,视频数据)。36.如图1所示,用户112与设备104、108、110进行交互。在图1的示例中,第一设备104包括安装在其上的视频会议应用。在视频会议期间,第一设备104的第一摄像头106生成第一图像数据(例如,(一个或多个)第一视频帧),该数据定义了第一视频流信号114。另外,第二设备108的第二摄像头109生成第二图像数据(例如,第二视频帧),该数据定义了第二视频流信号115。第三设备110的第三摄像头111生成第三图像数据(例如,第三视频帧),该数据定义了第三视频流信号116。在图1的示例中,视频流信号114、115、116中的一个或多个可以包括基于用户112相对于每个摄像头106、109、111的位置而捕捉用户112的至少一部分的图像数据。虽然本文公开的示例是联系视频流信号114、115、116来论述的,但本文公开的示例也可以额外地或者替代地联系其他类型的图像数据来使用,例如静态图像。37.在图1的图示示例中,第一视频流信号114、第二视频流信号115和第三视频流信号116由图像控制电路102来处理。在一些示例中,图像控制电路102由在第一设备104的处理器电路上执行的可执行指令来实现。在其他示例中,图像控制电路102由第二设备108的处理器电路、第三设备110的处理器电路(例如,在第二设备108和/或第三设备110包括电子用户设备的示例中)和/或另一用户设备(例如,可穿戴设备)的处理器电路来实现。在其他示例中,图像控制电路102由一个或多个基于云的设备117(例如,一个或多个服务器、(一个或多个)处理器、和/或(一个或多个)虚拟机)来实现。在其他示例中,图像控制电路102由位于第一用户设备104、第二用户设备108和/或第三用户设备110上的专用电路来实现。这些组件可以用软件、硬件或者软件、固件和/或硬件中的两者或更多者的任意组合来实现。38.在图1的图示示例中,图像控制电路102分析来自各个第一、第二和第三视频流信号114、115、116的图像数据,以确定用户112的脸部118相对于每个摄像头106、109、111的方位(例如,偏转角)。示例图像控制电路102实现由训练控制电路103训练的一个或多个神经网络模型,以在定义各个视频流信号114、115、116的视频帧中检测用户112的脸部118。图像控制电路102从图像数据中检测到的脸部提取一个或多个面部参考特征,作为用于确定用户112的脸部的方位的参考标记。例如,图像控制电路102可以识别用户112的鼻子作为用于脸部方位分析的面部参考特征。在其他示例中,面部参考特征可以包括用户112的鼻梁、右眼、左眼、下巴,等等。39.在视频会议期间,用户112可以转动他或她的脸部118,以例如查看呈现在各个设备104、108、110的显示器上的内容。例如,在图1的图示示例中,用户112正面对着第二设备108的第二摄像头109,使得由第二摄像头109生成的图像数据捕捉到用户的脸部118的正面轮廓。用户112的脸部118(例如,用户的鼻子)是以相对于第一设备104的第一摄像头106和第三设备110的第三摄像头111的某个角度布置的。因此,由第一摄像头106生成的图像数据可以捕捉用户的脸部118的(例如,左)侧面,而由第三摄像头111生成的图像数据可以捕捉用户的脸部118的相对侧的一部分。40.在图1的示例中,用户112在观看和/或以其他方式与各个设备104、108、110交互时,围绕偏转轴122转动他或她的头部123,从而转动脸部118。在图1的示例中,偏转轴122延伸出页面,并且偏转轴122相对于用户112的头部123大致居中定位。在其他示例中,偏转轴122的位置可以是不同的(例如,在用户112的脸部118的正面,在用户112的鼻尖,等等)。为了说明,在图1的示例中,第一摄像头轴(例如,第一中心轴)124在第一摄像头106和偏转轴122之间延伸,第二摄像头轴(例如,第二中心轴)126在第二摄像头109和偏转轴122之间延伸,并且第三摄像头轴(例如,第三中心轴)128在第三摄像头111和偏转轴122之间延伸。41.图像控制电路102执行一个或多个神经网络模型,以在与第一视频流信号114、第二视频流信号115和第三视频流信号116相关联的每个视频帧中检测用户112的脸部118。基于神经网络分析,图像控制电路102识别用户112的(一个或多个)面部特征,例如鼻子、(一个或多个)眼睛、下巴,等等。在图1的示例中,图像控制电路102执行(一个或多个)神经网络模型,以基于来自与每个摄像头106、109、111相关联的各个视频流信号114、115、116的图像数据,来预测面部特征相对于每个摄像头106、109、111布置的角度。如本文所公开的,(一个或多个)神经网络模型由训练控制电路103使用图像数据进行训练,这些图像数据示出了用户及其头部,从而示出了诸如鼻子、眼睛、下巴之类的面部特征处于不同的方位(例如,头部向上转动、头部向左转动,等等)。训练数据可以指示出用户的面部特征被放置的偏转角以用于头部姿态估计。在一些示例中,在(一个或多个)神经网络模型的训练期间,训练控制电路103确定两个或更多个面部特征(例如,鼻子和下巴)之间的相对距离。在这样的示例中,训练控制电路103确定相对距离和标记的面部特征的偏转角之间的相关性。在一些示例中,训练控制电路103基于相关性来训练(一个或多个)神经网络模型,以便在(一个或多个)神经网络模型被执行时,(一个或多个)神经网络模型基于图像控制电路102在视频流信号114、115、116中识别出的面部特征之间的距离来输出偏转角。42.作为执行(一个或多个)神经网络模型的结果,图像控制电路102确定第一偏转角132,为了说明,它在图1中被表示为例如用户112的鼻子和第一摄像头轴124之间的偏转角。图像控制电路102确定第二偏转角134,为了说明,它在图1中被表示为用户112的鼻子和第二摄像头轴126之间的偏转角。在这个示例中,作为神经网络分析的结果,图像控制电路102确定用户112基本上是面对正前方的,这样用户112的鼻子和第二摄像头109的第二摄像头轴126之间的偏转轴被定义为0度(例如,在±1度内)。图像控制电路102确定第三偏转角136,为了说明,它在图1中被表示为用户112的鼻子和第三摄像头轴128之间的偏转角。在这个示例中,偏转角在围绕偏转轴122的顺时针方向上是负的,并且偏转角在围绕偏转轴122的逆时针方向上是正的。43.示例图像控制电路102将偏转角132、134、136与偏转角阈值进行比较。偏转角阈值可以指示出,例如,在0≤±30度之间的偏转角指示用户112的脸部118(由面部参考特征表示)朝向摄像头106、109、111中的特定一个(例如,与各个摄像头106、109、111相关联的摄像头平面,用户112的脸部118被投影到其上)。在一些示例中,图像控制电路102基于每个视频流信号114、115、116的图像数据,确定满足偏转角阈值的持续时间。图像控制电路102基于从与每个摄像头106、109、111相关联的视频流信号114、115、116确定的偏转角132、134、136向每个摄像头106、109、111赋予关注得分。关注得分指示了用户112的脸部相对于摄像头106、109、111(例如,相对于与摄像头106、109、111相关联的各个摄像头平面)的方位。例如,由图像控制电路102基于来自各个摄像头106、109、111的图像数据而确定的较小的偏转角可以表明,用户112的脸部118朝向生成了图像数据的相应摄像头106、109、111。因此,关注得分表示用户112相对于特定的摄像头106、109、111(例如,相对于用户112的脸部118被投影到其上的摄像头的摄像头平面)是朝前的或者基本朝前的可能性。换句话说,关注得分可以表示用户112在给定时间内与(和各个摄像头106、109、111相关联的)设备104、108、110的接触水平。44.例如,在图1的示例中,图像控制电路102确定相对于第二摄像头109的第二偏转角134与第一偏转角132和第三偏转角136相比是最小的。图像控制电路102还可以确定,第二偏转角134已被维持或者基本上维持了三十秒。在这个示例中,图像控制电路102确定用户112朝向第二摄像头109,如图1中的箭头138所示。因此,图像控制电路102给第二摄像头109赋予的关注得分比被赋予第一摄像头106或第三摄像头111的关注得分高。图像控制电路102选择来自第二摄像头109的视频流信号115来输出以传输到视频会议中的其他参与者的电子设备(例如,经由云117使用与视频会议应用相关联的一个或多个协议(例如,(一个或多个)基于互联网协议的语音传输(voice-over-internetprotocol))来传输)。45.在本文公开的示例中,图像控制电路102选择与被赋予最高关注得分的摄像头106、109、111相关联的视频流信号114、115、116来作为视频流而输出,该视频流被传输以在与视频会议的其他参与者相关联的用户设备处呈现。结果,被选择以输出的视频流信号114、115、116包括或者可能包括用户112的脸部118的朝前轮廓。46.在视频会议期间,随着用户112将他或她的关注指向不同的设备104、108、110,用户112的脸部118相对于摄像头106、109、111的方位可以变化。示例图像控制电路102在视频会议期间分析与每个摄像头106、109、111相关联的视频流信号114、115、116,以在来自每个摄像头106、109、111的图像数据中检测用户112的脸部118,测量偏转角,向摄像头106、109、111赋予关注得分,并且确定与最高关注得分相关联的摄像头106、109、111中是否存在变化。在一些示例中,图像控制电路102在图像控制电路102接收到视频流信号114、115、116时,基本上实时地分析由每个摄像头106、109、111生成的图像数据。(如本文所使用的,“基本上实时”指的是以近乎瞬时的方式发生,承认现实世界中可能存在计算时间、传输等等方面的延迟。因此,除非另有指明,否则“基本上实时”指的是实时+/-1秒)。在其他示例中,图像控制电路102周期性地分析图像数据(例如,每10秒,每30秒,等等),以确定用户的脸部118相对于摄像头106、109、111的方位的变化。图像控制电路102选择与具有最高关注得分的摄像头106、109、111相关联的视频流信号114、115、116。因此,图像控制电路102提供了视频流信号114、115、116之间的切换,以使得视频流信号114、115、116中最可能包括用户脸部118的朝前或基本朝前的视图的一个视频流信号被输出。47.图2是图1的示例图像控制电路102的框图。如上所述,图像控制电路102被构造为基于用户112的脸部118相对于每个摄像头106、109、111的方位,从与图1的各个摄像头106、109、111相关联的两个或更多个视频流信号114、115、116中选择视频流信号。在图2的示例中,图像控制电路102由以下项中的一项或多项来实现:第一设备104的处理器电路、第二设备108的处理器电路、第三设备110的处理器电路(例如,在各个设备104、108、110是电子用户设备的示例中)、和/或(一个或多个)基于云的设备(例如,在图1的云117中执行指令的(一个或多个)服务器、(一个或多个)处理器、和/或(一个或多个)虚拟机)。在一些示例中,一些视频流分析由图像控制电路102经由云计算环境来实现,而分析的一个或多个其他部分由(一个或多个)用户设备104、108、110的处理器电路和/或另一用户设备(例如可穿戴设备)的处理器电路来实现。在一些示例中,图像控制电路102是由专用电路来实现的。48.在图2的图示示例中,图像控制电路102包括示例输入接口电路202、示例预处理电路204、示例降采样电路(downsamplingcircuitry)206、示例脸部检测电路208、示例头部姿态估计电路210、示例关注得分生成电路212、示例图像流选择电路214、以及示例数据库216。在图2的图示示例中,输入接口电路202、预处理电路204、降采样电路206、脸部检测电路208、头部姿态估计电路210、关注得分生成电路212、图像流选择电路214和/或数据库216中的任何一者可以经由示例通信总线218进行通信。另外,在一些示例中,图像控制电路102包括如图1所示的数据库216;在其他示例中,数据库216位于图像控制电路102可访问的位置。49.在本文公开的示例中,可以使用任何适当的有线和/或无线通信来实现通信总线218。在额外的或者替代的示例中,通信总线218包括软件、机器可读指令和/或通信协议,通过它们在输入接口电路202、预处理电路204、降采样电路206、脸部检测电路208、头部姿态估计电路210、关注得分生成电路212、图像流选择电路214和/或数据库216之间传送信息。50.在图2的图示示例中,输入接口电路202与图1的第一、第二和第三设备104、108、110通信地耦合,以接收和/或以其他方式获得由与设备104、108、110相关联的相应摄像头106、109、111生成的视频流信号114、115、116。在一些示例中,输入接口电路202将视频流信号114、115、116提供给数据库216以存储在其中。图2的示例数据库216由用于存储数据的任何存储器、存储设备和/或存储盘来实现,例如,闪存、磁介质、光介质、固态存储器、(一个或多个)硬盘驱动器、(一个或多个)拇指驱动器(thumbdrive),等等。此外,存储在示例数据库216中的数据可以采取任何数据格式,例如,二进制数据、逗号分隔数据、制表符分隔数据、结构化查询语言(structuredquerylanguage,sql)结构,等等。虽然在图示的示例中,示例数据库216被图示为单个设备,但示例数据库216和/或本文描述的任何其他数据存储设备可以由任意数目和/或任何(一个或多个)类型的存储器来实现。51.示例降采样电路206降低各个视频流信号114、115、116的帧采样率和/或修改视频帧的分辨率。在一些示例中,基于例如与视频会议应用相关联的设置以高分辨率(例如,1280x720像素)和高帧率(例如,30帧每秒(framespersecond,fps))来捕捉(一个或多个)视频流信号114、115、116。在图2的示例中,降采样电路206将各个视频流信号114、115、116的采样率从例如30fps降低到5fps。作为降采样的结果,降采样电路206从第一视频流信号114生成(一个或多个)第一视频帧220,从第二视频流信号115生成(一个或多个)第二视频帧222,并且从第三视频流信号116生成(一个或多个)第三视频帧224。在一些示例中,降采样电路206可以减小所处理的(一个或多个)视频帧220、222、224的分辨率(例如,从1280×720像素到300×300像素)。通过降低视频流信号114、115、116的帧率和/或帧大小,降采样电路206在不牺牲用户脸部118的方位检测的准确性的情况下,减少了与图像分析有关的计算时间和/或功率。52.示例预处理电路204就用户112所处环境中的环境照明和/或眩光来分析(一个或多个)视频帧220、222、224。例如,预处理电路204执行一个或多个图像处理算法以分析(一个或多个)视频帧220、222、224中的光线。在一些示例中,预处理电路204可以执行一个或多个图像处理算法来调整图像数据中的照明。在其他示例中,如果预处理电路204确定图像数据是在不足以执行脸部检测分析的照明条件下被捕捉的,则预处理电路204可以生成警报,以经由从其接收到被识别为包括不足照明的(一个或多个)视频流信号114、115、116的(一个或多个)设备104、108、110输出。在这样的示例中,如果预处理电路204将视频流信号114、115、116中的一个或多个识别为与不足照明相关联,则图像控制电路102将避免进一步分析所识别的(一个或多个)视频流信号114、115、116以节约计算资源。评估照明条件的(一个或多个)图像处理算法和/或关于环境照明阈值的(一个或多个)规则可以被存储在数据库216中。53.如果预处理电路204确定视频流信号114、115、116中的图像数据是在充足的照明条件下被捕捉的,则示例脸部检测电路208分析从各个视频流信号114、115、116提取的每个视频帧220、222、224,以检测视频帧220、222、224中的(一个或多个)脸部(即,(一个或多个)人类脸部)。在图2的示例中,脸部检测电路208执行一个或多个神经网络模型来检测各个视频帧220、222、224中的(一个或多个)脸部。具体地,图2的示例脸部检测电路208执行一个或多个脸部检测模型,以识别(一个或多个)视频帧220、222、224中的(一个或多个)脸部,并且在(一个或多个)视频帧220、222、224中的(一个或多个)脸部的(一个或多个)预测位置处输出限界框。如联系图3所公开的,(一个或多个)脸部检测模型是作为由训练控制电路103执行的神经网络训练的结果而生成的。(一个或多个)脸部检测模型被存储在数据库216中。54.在一些示例中,每个限界框的面积是基于检测到的脸部的大小和/或检测到的脸部与捕捉了(一个或多个)视频帧220、222、224的第一摄像头106、第二摄像头109或第三摄像头111的接近度的。在一些示例中,脸部检测电路208还确定与限界框相关联的置信度水平,其中每个置信度水平表示相应限界框包含用户的脸部的置信度(例如,可能性、概率)。在一些这样的示例中,脸部检测电路208识别限界框中具有满足检测置信度阈值(例如,90%、95%,等等)的置信度水平的限界框。在脸部检测电路208在(一个或多个)视频帧220、222、224中检测到两个或更多个脸部的示例中,脸部检测电路208可以过滤脸部,以基于例如限界框的大小、置信度阈值等等来选择脸部进行进一步分析。例如,脸部检测电路208可以选择具有最大面积的限界框进行进一步分析。因此,当(一个或多个)视频帧220、222、224中的多个限界框满足脸部检测阈值时,脸部检测电路208选择具有最大面积的限界框作为最有可能表示在与特定用户设备104、108、110交互的同时正在说话的用户。在一些示例中,脸部检测电路208向数据库216提供限界框的位置和/或大小,以便存储在其中。55.在图2的示例中,脸部检测电路208执行(一个或多个)脸部检测模型以基于来自视频帧220、222、224的图像数据来识别用户(例如,被识别为主要说话者的用户)的一个或多个面部特征。例如,作为执行(一个或多个)脸部检测模型的结果,脸部检测电路208识别面部特征(例如,用户112的鼻子)在每个视频帧220、222、224中的位置。(一个或多个)面部特征可以包括用户112的脸部118的其他部分,例如下巴、右眼、左眼、鼻梁,等等。56.示例头部姿态估计电路210确定(例如,估计、预测)用户112的脸部118在从相应的视频流信号114、115、116得出的每个视频帧220、222、224中的方位。具体地,头部姿态估计电路210确定用户112的(一个或多个)面部特征(例如,鼻子)相对于第一、第二和第三摄像头106、109、111的偏转角(例如,图1的第一偏转角132、第二偏转角134和/或第三偏转角136)。在一些示例中,头部姿态估计电路210还确定用户112的脸部118的俯仰角和/或侧倾角(例如,使用所识别的面部特征)。57.在一些示例中,头部姿态估计电路210接收和/或以其他方式获得由脸部检测电路208为视频帧220、222、224中的每一者生成的限界框,其中每一个限界框对应于检测到的脸部并且包括所识别的(一个或多个)面部特征(例如,针对主要用户或者说话者)。头部姿态估计电路执行一个或多个头部姿态估计模型(例如,头部姿态估计神经网络模型、第二神经网络模型)以确定(一个或多个)特定面部特征的偏转角。如本文所公开的,(一个或多个)头部姿态估计模型可以由图1的训练控制电路103基于脸部的图像进行训练,对于这些脸部的图像,一个或多个面部参考特征的位置和(一个或多个)面部特征的方位(例如,偏转、俯仰和侧倾)被标记和/或以其他方式已知。作为执行(一个或多个)头部姿态估计模型的结果,头部姿态估计电路210确定在每个视频帧220、222、224的限界框中检测到的脸部的(一个或多个)面部特征(例如,鼻子)的偏转角。例如,头部姿态估计电路210基于在第一视频帧220中的限界框中识别的面部特征(例如,鼻子)和(一个或多个)头部姿态估计模型的执行来确定(例如,预测、估计)图1的第一偏转角132。头部姿态估计电路210基于在第二视频帧222中的限界框中识别的面部特征和(一个或多个)头部姿态估计模型的执行来确定第二偏转角134。头部姿态估计电路210基于在第三视频帧224中的限界框中识别的面部特征和(一个或多个)头部姿态估计模型的执行来确定第三偏转角136。58.示例关注得分生成电路212基于由头部姿态估计电路210使用各个视频流信号114、115、116的视频帧220、222、224确定的偏转角,为图1的摄像头106、109、111生成关注得分。例如,关注得分生成电路212基于从第一视频流信号114的(一个或多个)第一视频帧220确定的面部特征的(一个或多个)偏转角,为第一摄像头106生成第一关注得分,基于从第二视频流信号115的(一个或多个)第二视频帧222确定的面部特征的(一个或多个)偏转角,为第二摄像头109生成第二关注得分,并且基于从第三视频流信号116的(一个或多个)第三视频帧224确定的面部特征的(一个或多个)偏转角,为第三摄像头111生成第三关注得分。59.在图2的示例中,关注得分生成电路212通过将与(一个或多个)视频帧220、222、224中的每一者相关联的偏转角与偏转角阈值进行比较来确定关注得分。例如,阈值偏转角可以被定义为30度(例如,基于存储在数据库216中的(一个或多个)用户输入)。然而,在其他示例中,可以使用不同的阈值偏转角(例如,15度、45度,等等)。60.当例如第一偏转角132在0≤x≤30度的范围内,其中x是第一偏转角132时,关注得分生成电路212确定第一偏转角132满足阈值偏转角。在一些示例中,关注得分生成电路212监视第一偏转角132满足偏转角阈值的持续时间。关注得分生成电路212基于第一偏转角132与偏转角阈值的比较,以及在一些情况下,基于第一偏转角132满足偏转角阈值的持续时间(例如,在持续时间作为加权因子的情况下),为第一摄像头106生成第一关注得分。例如,当第一偏转角132满足偏转角阈值时,关注得分生成电路212向第一摄像头106赋予较高的关注得分,而当第一偏转角132不满足偏转角阈值时,向第一摄像头106赋予较低的关注得分。如果第一偏转角满足偏转角阈值,则与第一偏转角132较大(例如,25度,这可以表明用户112至少部分地转离第一摄像头106)时相比,当第一偏转角132较小(例如,2度,这可以表明用户112正面对着第一摄像头106)时,关注得分生成电路212为第一摄像头106赋予较高的关注得分。关注得分生成电路212可以基于满足偏转角阈值的持续时间来调整第一摄像头106的关注得分(例如,满足阈值的持续时间越长,则增大关注得分)。61.当例如第二偏转角134在0≤y≤30度的范围内,其中y是第二偏转角134时,关注得分生成电路212确定第二偏转角134满足阈值偏转角。关注得分生成电路212基于第二偏转角134与偏转角阈值的比较,以及在一些情况下,基于第二偏转角134满足偏转角阈值的持续时间,为第二摄像头109生成第二关注得分,如联系第二摄像头109所公开的。62.当例如第三偏转角136在0≤z≤30度的范围内,其中z是第三偏转角136时,关注得分生成电路212确定第三偏转角136满足阈值偏转角。关注得分生成电路212基于第三偏转角136与偏转角阈值的比较,以及在一些情况下,基于第三偏转角136满足偏转角阈值的持续时间,为第三摄像头111生成第三关注得分,如联系第三摄像头111所公开的。63.在图2的示例中,关注得分表示用户112与各个摄像头106、109、111(例如,各个摄像头平面)的接触。关注得分生成电路212基于关注得分来确定用户112相对于摄像头106、109、111的方位。例如,关注得分生成电路212基于被赋予最高关注得分的摄像头106、109、111,确定用户112是朝向(例如,正对)特定摄像头106、109、111的。因此,关注得分充当用于确定用户112与特定设备104、108、110的接触的代理。64.在一些示例中,关注得分生成电路212为与各个第一、第二和第三摄像头106、109、111相对应的第一、第二和第三关注得分中的每一者赋予初始关注得分(例如,零)。虽然在这个示例中初始关注得分被赋予零的值,但可以改为使用不同的初始关注得分值。在一些示例中,关注得分生成电路212实现了第一积分器、第二积分器和第三积分器,以分别计算作为时间的函数的第一、第二和第三关注得分。例如,当用户112被关注得分生成电路212确定为朝向第一摄像头106(例如,基于由头部姿态估计电路210测量的偏转角确定)时,第一积分器基于增量因子(例如,攻击因子)来递增第一关注得分,而当用户112被确定为偏离第一摄像头106(例如,基于由头部姿态估计电路210测量的偏转角确定)时,第一积分器基于衰减因子使得第一关注得分衰减。具体地,对于用户112被确定为朝向第一摄像头106的每个时步(例如,1秒,0.1秒),第一积分器增大第一关注得分。类似地,对于用户112被确定为偏离第一摄像头106的每个时步,第一积分器减小第一关注得分。类似地,当用户112被关注得分生成电路212确定为朝向第二摄像头109时,第二积分器基于增量因子来递增第二关注得分,而当用户112被确定为偏离第二摄像头109时,第二积分器使得第二关注得分衰减。此外,当用户112被确定为朝向第三摄像头111时,第三积分器基于增量因子来递增第三关注得分,而当用户112被确定为偏离第三摄像头111时,第三积分器使得第三关注得分衰减。65.在一些示例中,增量因子是1,而衰减因子是0.2。在其他示例中,可以使用不同的增量因子和/或不同的衰减因子。在这个示例中,由关注得分生成电路212实现的第一、第二和第三积分器利用相似的增量因子和相似的衰减因子。在其他示例中,对于第一积分器、第二积分器或第三积分器中的至少一者,增量因子和/或衰减因子可以不同。66.由关注得分生成电路212应用的攻击和衰减因子可以用于减少关于用户112的脸部118相对于每个摄像头106、109、111的方位的假阳性的发生。例如,用户112的脸部可以在第一时间量(例如,一分钟)中朝向第二摄像头109。用户112短暂地将他或她的头部转向第一摄像头106(例如,持续2秒),但随后转回第二摄像头109。攻击和衰减因子的应用防止了当用户112只是将他或她的关注短暂地转向第一设备104(从而转向第一摄像头106)时,图像流选择电路214从第二视频流信号115切换到第一视频流信号114并且再次切换到第二视频流信号115。因此,图像控制电路102最大限度地减少了视频流信号114、115、116之间的突然切换,这可能对视频会议中的其他参与者造成干扰和/或使其迷失方向。67.关注得分生成电路212将每个摄像头106、109、111的关注得分传输给图像流选择电路214。示例图像流选择电路214选择视频流信号114、115、116中的一个作为视频流输出,即,在视频会议期间要被输出以供传输的视频流,以便经由与其他参与者相关联的电子用户设备呈现给视频会议中的其他参与者。图像流选择电路214生成指令,以使得所选择的视频流在视频会议期间被传输以便呈现。在这个示例中,图像流选择电路214基于关注得分和/或偏转角132、134、136来选择视频流信号114、115、116中的一个。例如,图像流选择电路214将第一、第二和第三关注得分中的每一者与关注检测阈值进行比较,并且识别与满足关注检测阈值的第一、第二和第三关注得分之一相对应的视频流信号114、115、116之一。在这样的示例中,图像流选择电路214选择所识别的视频流信号114、115、116之一用于输出和传输(例如,经由云117)。68.在一些示例中,当与视频流信号114、115、116中的两个或更多个相对应的关注得分满足关注检测阈值时,图像流选择电路214选择两个或更多个视频流信号114、115、116中的具有更大关注得分的一个视频流信号(例如,与两个或更多个视频流信号114、115、116中的其余的视频流信号相比)。或者,当与视频流信号114、115、116中的两个或更多个相对应的关注得分满足关注检测阈值时,图像流选择电路214可以选择包括视频帧220、222、224的两个或更多个视频流信号114、115、116之一,其中面部特征的方位与由头部姿态估计电路210测量的最小偏转角相关联。在一些示例中,响应于确定第一、第二和第三关注得分不满足关注检测阈值,图像流选择电路214选择默认视频流来输出。在一些示例中,默认视频流对应于由用户112经由用户输入选择的和/或在图像控制电路102中预编程的视频流信号114、115、116之一(例如,存储在数据库216中的用户偏好设置)。69.在一些示例中,用户112可以通过手动选择摄像头106、109、111中的优选的一个来推翻由图像流选择电路214自动选择的视频流信号114、115、116。例如,输入接口电路202可以接收和/或以其他方式获得来自设备104、108、110之一的用户选择或输入,该选择或输入指示出应当选择特定的视频流信号114、115、116。在这样的示例中,图像流选择电路214从使得视频流信号114、115、116作为基于关注得分和/或偏转角分析输出的视频流被输出而切换到使得用户选择的视频流信号114、115、116被输出。70.在一些示例中,图1的示例系统100包括用于控制图像的装置。例如,用于控制图像的装置(在此也称为图像控制装置)可以由图像控制电路102来实现。在一些示例中,图像控制电路102可以由机器可执行指令来实现,例如由处理器电路执行的机器可读指令600、700所实现的,该处理器电路可以由图9的示例处理器电路912、图11的示例处理器电路1100和/或图12的示例现场可编程门阵列(fpga)电路1200来实现。在其他示例中,图像控制电路102由其他硬件逻辑电路、硬件实现的状态机、和/或硬件、软件和/或固件的任意其他组合来实现。例如,图像控制电路102可以由至少一个或多个硬件电路(例如,处理器电路、分立的和/或集成的模拟和/或数字电路、fpga、专用集成电路(asic)、比较器、运算放大器(op-amp)、逻辑电路,等等)来实现,这些硬件电路被构造为执行相应的操作,而不执行软件或固件,但其他结构也同样是适当的。71.在一些示例中,图像控制装置包括用于获得的装置。例如,用于获得的装置可以由输入接口电路202来实现。在一些示例中,输入接口电路202可以由机器可执行指令来实现,例如由处理器电路执行的至少图6的块602、616所实现的指令,该处理器电路可以由图9的示例处理器电路912、图11的示例处理器电路1100和/或图12的示例现场可编程门阵列(fpga)电路1200来实现。在其他示例中,输入接口电路202由其他硬件逻辑电路、硬件实现的状态机和/或硬件、软件和/或固件的任意其他组合来实现。例如,输入接口电路202可以由至少一个或多个硬件电路(例如,处理器电路、分立的和/或集成的模拟和/或数字电路、fpga、专用集成电路(asic)、比较器、运算放大器(op-amp)、逻辑电路,等等)来实现,这些硬件电路被构造为执行相应的操作,而不执行软件或固件,但其他结构也同样是适当的。72.在一些示例中,图像控制装置包括用于预处理的装置。例如,用于预处理的装置可以由预处理电路204来实现。在一些示例中,预处理电路204可以由机器可执行指令来实现,例如由处理器电路执行的至少图6的块604所实现的指令,该处理器电路可以由图9的示例处理器电路912、图11的示例处理器电路1100和/或图12的示例现场可编程门阵列(fpga)电路1200来实现。在其他示例中,预处理电路204由其他硬件逻辑电路、硬件实现的状态机和/或硬件、软件和/或固件的任意其他组合来实现。例如,预处理电路204可以由至少一个或多个硬件电路(例如,处理器电路、分立的和/或集成的模拟和/或数字电路、fpga、专用集成电路(asic)、比较器、运算放大器(op-amp)、逻辑电路,等等)来实现,这些硬件电路被构造为执行相应的操作,而不执行软件或固件,但其他结构也同样是适当的。73.在一些示例中,图像控制装置包括用于修改的装置。例如,用于修改的装置可以由降采样电路206来实现。在一些示例中,降采样电路206可以由机器可执行指令来实现,例如由处理器电路执行的至少图6的块606所实现的指令,该处理器电路可以由图9的示例处理器电路912、图11的示例处理器电路1100和/或图12的示例现场可编程门阵列(fpga)电路1200来实现。在其他示例中,降采样电路206由其他硬件逻辑电路、硬件实现的状态机和/或硬件、软件和/或固件的任意其他组合来实现。例如,降采样电路206可以由至少一个或多个硬件电路(例如,处理器电路、分立的和/或集成的模拟和/或数字电路、fpga、专用集成电路(asic)、比较器、运算放大器(op-amp)、逻辑电路,等等)来实现,这些硬件电路被构造为执行相应的操作,而不执行软件或固件,但其他结构也同样是适当的。74.在一些示例中,图像控制装置包括用于检测的装置。例如,用于检测的装置可以由脸部检测电路208来实现。在一些示例中,脸部检测电路208可以由机器可执行指令来实现,例如由处理器电路执行的至少图6的块608所实现的指令,该处理器电路可以由图9的示例处理器电路912、图11的示例处理器电路1100和/或图12的示例现场可编程门阵列(fpga)电路1200来实现。在其他示例中,脸部检测电路208由其他硬件逻辑电路、硬件实现的状态机和/或硬件、软件和/或固件的任意其他组合来实现。例如,脸部检测电路208可以由至少一个或多个硬件电路(例如,处理器电路、分立的和/或集成的模拟和/或数字电路、fpga、专用集成电路(asic)、比较器、运算放大器(op-amp)、逻辑电路,等等)来实现,这些硬件电路被构造为执行相应的操作,而不执行软件或固件,但其他结构也同样是适当的。75.在一些示例中,图像控制装置包括用于姿态估计的装置。例如,用于姿态估计的装置可以由头部姿态估计电路210来实现。在一些示例中,头部姿态估计电路210可以由机器可执行指令来实现,例如由处理器电路执行的至少图6的块610和/或图7的块706所实现的指令,该处理器电路可以由图9的示例处理器电路912、图11的示例处理器电路1100和/或图12的示例现场可编程门阵列(fpga)电路1200来实现。在其他示例中,头部姿态估计电路210由其他硬件逻辑电路、硬件实现的状态机、和/或硬件、软件和/或固件的任意其他组合来实现。例如,头部姿态估计电路210可以由至少一个或多个硬件电路(例如,处理器电路、分立的和/或集成的模拟和/或数字电路、fpga、专用集成电路(asic)、比较器、运算放大器(op-amp)、逻辑电路,等等)来实现,这些硬件电路被构造为执行相应的操作,而不执行软件或固件,但其他结构也同样是适当的。76.在一些示例中,图像控制装置包括用于得分生成的装置。例如,用于得分生成的装置可以由关注得分生成电路212来实现。在一些示例中,关注得分生成电路212可以由机器可执行指令来实现,例如由处理器电路执行的至少图6的块612和/或图7的块702、706、708、710、712、714、716所实现的指令,该处理器电路可以由图9的示例处理器电路912、图11的示例处理器电路1100和/或图12的示例现场可编程门阵列(fpga)电路1200来实现。在其他示例中,关注得分生成电路212由其他硬件逻辑电路、硬件实现的状态机和/或硬件、软件和/或固件的任意其他组合来实现。例如,关注得分生成电路212可以由至少一个或多个硬件电路(例如,处理器电路、分立的和/或集成的模拟和/或数字电路、fpga、专用集成电路(asic)、比较器、运算放大器(op-amp)、逻辑电路,等等)来实现,这些硬件电路被构造为执行相应的操作,而不执行软件或固件,但其他结构也同样是适当的。77.在一些示例中,图像控制装置包括用于选择的装置。例如,用于选择的装置可以由图像流选择电路214来实现。在一些示例中,图像流选择电路214可以由机器可执行指令来实现,例如由处理器电路执行的至少图6的块614所实现的指令,该处理器电路可以由图9的示例处理器电路912、图11的示例处理器电路1100和/或图12的示例现场可编程门阵列(fpga)电路1200来实现。在其他示例中,图像流选择电路214由其他硬件逻辑电路、硬件实现的状态机和/或硬件、软件和/或固件的任意其他组合来实现。例如,图像流选择电路214可以由至少一个或多个硬件电路(例如,处理器电路、分立的和/或集成的模拟和/或数字电路、fpga、专用集成电路(asic)、比较器、运算放大器(op-amp)、逻辑电路,等等)来实现,这些硬件电路被构造为执行相应的操作,而不执行软件或固件,但其他结构也同样是适当的。78.虽然在图2中图示了实现图1的图像控制电路102的示例方式,但图2中所示的元件、过程和/或设备中的一个或多个可以被组合、划分、重安排、省略、消除和/或以任何其他方式来实现。另外,图2的示例输入接口电路202、示例预处理电路204、示例降采样电路206、示例脸部检测电路208、示例头部姿态估计电路210、示例关注得分生成电路212、示例图像流选择电路214、示例数据库216,和/或更概括而言,示例图像控制电路102,可以由硬件单独实现或者由硬件与软件和/或固件相结合来实现。因此,例如,示例输入接口电路202、示例预处理电路204、示例降采样电路206、示例脸部检测电路208、示例头部姿态估计电路210、示例关注得分生成电路212、示例图像流选择电路214、示例数据库216和/或更概括而言示例图像控制电路102中的任何一者,可以由处理器电路、(一个或多个)模拟电路、(一个或多个)数字电路、(一个或多个)逻辑电路、(一个或多个)可编程处理器、(一个或多个)可编程微控制器、(一个或多个)图形处理单元(gpu)、(一个或多个)数字信号处理器(dsp)、(一个或多个)专用集成电路(asic)、(一个或多个)可编程逻辑器件(programmablelogicdevice,pld)和/或(一个或多个)现场可编程逻辑器件(fieldprogrammablelogicdevice,fpld)(例如现场可编程门阵列(fpga))来实现。此外,图1的示例图像控制电路102可以包括除了图2中所示的那些以外或者取代图2中所示的那些的一个或多个元件、过程和/或设备,和/或可以包括多于一个图示的元件、过程和设备中的任何一者或所有。79.图3是图1的示例训练控制电路103的框图。在一些示例中,训练控制电路103生成、训练和/或存储一个或多个机器学习模型,这些模型被图1和/或图2的图像控制电路102利用来检测视频帧图像数据中的(一个或多个)脸部和/或确定在图像数据中识别的(一个或多个)面部特征的(一个或多个)偏转角。在图3的图示示例中,训练控制电路103包括示例神经网络处理电路302、示例神经网络训练电路304、以及示例训练数据数据库306。在图3的图示示例中,神经网络处理电路302、神经网络训练电路304、训练数据数据库306和/或神经网络模型数据库308中的任何一者可以经由示例通信总线310进行通信。另外,在图3的示例中,训练控制电路103与图像控制电路102可访问的数据库216进行通信。80.在本文公开的示例中,可以使用任何适当的有线和/或无线通信来实现通信总线310。在额外的或者替代的示例中,通信总线310包括软件、机器可读指令和/或通信协议,通过它们在神经网络处理电路302、神经网络训练电路304和/或训练数据数据库306之间进行信息通信。81.人工智能(artificialintelligence,ai),包括机器学习(machinelearning,ml)、深度学习(deeplearning,dl)和/或其他人工机器驱动的逻辑,使得机器(例如,计算机、逻辑电路,等等)能够使用模型来处理输入数据,以基于模型先前经由训练过程学习到的模式和/或关联来生成输出。例如,该模型可以被用数据来训练以识别模式和/或关联,并且在处理输入数据时遵循这种模式和/或关联,从而使得(一个或多个)其他输入产生与所识别的模式和/或关联相一致的(一个或多个)输出。82.存在许多不同类型的机器学习模型和/或机器学习体系结构。在本文公开的示例中,使用了神经网络模型,例如基于vggnet的脸部检测和脸部点检测神经网络。一般而言,适合用在本文公开的示例方法中的机器学习模型/体系结构将是基于cnn的神经网络(例如,基于cnn的vggnet神经网络)。然而,可以额外地或者替代地使用其他类型的机器学习模型。83.一般而言,实现ml/ai系统涉及两个阶段,一个是学习/训练阶段,一个是推理阶段。在学习/训练阶段中,使用训练算法来训练模型,以根据基于例如训练数据的模式和/或关联来进行操作。一般而言,模型包括指导输入数据如何被变换为输出数据的内部参数,例如通过模型内的一系列节点和连接来将输入数据变换为输出数据。此外,超参数被用作训练过程的一部分,以控制如何执行学习(例如,学习率、机器学习模型中要使用的层的数目,等等)。超参数被定义为在发起训练过程之前确定的训练参数。84.基于ml/ai模型的类型和/或预期输出,可以执行不同类型的训练。例如,监督训练使用输入和相应的预期(例如,标记的)输出来为ml/ai模型选择参数(例如,通过在所选参数的组合上迭代),这些参数会减小模型误差。如本文所使用的,标记(labelling)是指机器学习模型的预期输出(例如,分类、预期输出值,等等)。或者,无监督训练(例如,用于深度学习、机器学习的子集等等中)涉及从输入中推理模式,以选择用于ml/ai模型的参数(例如,没有预期的(例如,标记的)输出的益处)。85.在本文公开的一些示例中,使用随机梯度下降来训练ml/ai模型。然而,可以额外地或替代地使用任何其他的训练算法。在本文公开的示例中,训练被执行,直到达到目标准确度水平(例如,》95%)为止。利用控制如何执行学习的超参数(例如,学习率、机器学习模型中要使用的层的数目,等等)来执行训练。在其他示例中,使用预训练的(一个或多个)模型。在一些示例中,可以执行重训练。这种重训练可以响应于例如由于例如低环境照明而引起的不良脸部检测而被执行。86.训练是利用训练数据来执行的。在本文公开的示例中,训练数据来源于先前收集的用户的图像数据,包括用户脸部;先前生成的限界框;包括特定面部特征(例如,眼睛、鼻子,等等)的图像数据;包括其头部以及从而其面部特征的方位处于不同位置的用户的图像数据,等等。因为使用了监督训练,所以训练数据被标记。在一些示例中,训练数据被预处理,以提供图像数据中的光平衡、图像旋转,等等。87.一旦训练完成,模型就被部署来用作可执行构造,该构造基于模型中定义的节点和连接的网络来处理输入并且提供输出。在本文公开的示例中,(一个或多个)模型被存储在一个或多个数据库(例如,图2的数据库216)。然后,该(一个或多个)模型可以由图2的示例图像控制电路102的脸部检测电路208和头部姿态估计电路210执行。88.一旦经过训练,部署的模型就可以在推理阶段中被操作来处理数据。在推理阶段中,要分析的数据(例如,实况数据)被输入到模型,并且模型执行以创建输出。这个推理阶段可以被认为是ai“思考”以基于它从训练中学习到的东西来生成输出(例如,通过执行模型来将学习到的模式和/或关联应用到实况数据)。在一些示例中,输入数据在被用作到机器学习模型的输入之前会经历预处理。此外,在一些示例中,输出数据在其由ai模型生成之后可以经历后处理,以将输出变换为有用的结果(例如,数据的显示、要由机器执行的指令,等等)。89.在一些示例中,部署的模型的输出可以被捕捉并被作为反馈来提供。通过分析反馈,可以确定部署的模型的准确度。如果反馈表明部署的模型的准确度低于阈值或其他标准,则可以利用反馈和更新后的训练数据集、超参数等等来触发更新后模型的训练,以生成更新后的部署的模型。90.参考图3,示例神经网络训练电路304执行由神经网络处理电路302实现的(一个或多个)神经网络的训练。在图3的示例中,第一训练数据可以被存储在训练数据数据库306中,并且可以包括先前生成的图像数据,包括带有识别面部特征(例如,鼻子、嘴、下巴、眼睛,等等)的标签的人类脸部。先前生成的图像数据可以由与(一个或多个)用户设备104、108、110和/或不同的用户设备相关联的(一个或多个)摄像头106、109、111收集。在一些示例中,由预处理电路204从(一个或多个)视频流信号114、115、116提取的(一个或多个)先前生成的视频帧220、222、224被用作第一训练数据。91.神经网络训练电路304使用第一训练数据来训练由神经网络处理电路302实现的神经网络以检测图像数据中的人类脸部。一个或多个脸部检测模型作为神经网络训练的结果被生成。(一个或多个)脸部检测模型被存储在数据库306中,该数据库可由脸部检测电路208访问。在其他示例中,(一个或多个)脸部检测模型被存储在不同的数据库中。数据库216、306可以是同一存储设备或者不同的存储设备。92.图2的示例图像控制电路102的脸部检测电路208为每个视频帧220、222、224执行(一个或多个)脸部检测模型。作为执行(一个或多个)脸部检测模型的结果,脸部检测电路208输出(一个或多个)限界框,这些限界框与各个视频帧中检测到的(一个或多个)脸部相对应,并且识别每个脸部的(一个或多个)面部特征,例如鼻子、眼睛、下巴,等等。在一些示例中,预测的(一个或多个)限界框、(一个或多个)视频帧220、222、224被用作训练数据,以完善(一个或多个)脸部检测模型。93.图3的示例神经网络训练电路304也可以执行由神经网络处理电路302实现的(一个或多个)神经网络的训练,以生成(一个或多个)头部姿态估计模型,供图2的示例图像控制电路102的头部姿态估计电路210使用。在图3的示例中,第二训练数据可以被存储在训练数据数据库306中,并且可以包括先前生成的图像数据,其中包括处于不同姿态、方位和/或位置的人类脸部,带有识别在各个姿态中面部特征(例如,鼻子、嘴、下巴、眼睛,等等)的偏转角的标签。先前生成的图像数据可以由与(一个或多个)用户设备104、108、110和/或不同的用户设备相关联的(一个或多个)摄像头106、109、111来收集。在一些示例中,由预处理电路204从(一个或多个)视频流信号114、115、116提取的(一个或多个)先前生成的视频帧220、222、224被用作第二训练数据。94.神经网络训练电路304使用第二训练数据来训练由神经网络处理电路302实现的神经网络,以确定图像数据中的(一个或多个)面部特征(例如,鼻子)的偏转角。一个或多个头部姿态模型作为神经网络训练的结果被生成。(一个或多个)头部姿态估计模型被存储在数据库306中,该数据库可由头部姿态估计电路210访问。在其他示例中,(一个或多个)头部姿态估计模型被存储在不同的数据库中。95.头部姿态估计电路210为被脸部检测电路208识别为包括脸部的每个视频帧220、222、224执行(一个或多个)头部姿态模型。作为执行(一个或多个)头部姿态估计模型的结果,头部姿态估计电路210为视频帧图像数据中识别的(一个或多个)面部特征输出(一个或多个)偏转角测量值(例如,鼻子的偏转角)。在一些示例中,从(一个或多个)视频帧220、222、224得出的(一个或多个)偏转角测量值被用作训练数据来完善(一个或多个)头部姿态估计模型。96.虽然在图3中图示了实现图1的训练控制电路103的示例方式,但图3中所示的元件、过程和/或设备中的一个或多个可以被组合、划分、重安排、省略、消除和/或以任何其他方式来实现。另外,图3的示例神经网络处理电路302、示例神经网络训练电路304、示例训练数据数据库306,和/或更概括而言,示例训练控制电路103,可以由硬件单独实现或者由硬件与软件和/或固件相结合来实现。因此,例如,神经网络处理电路302、示例神经网络训练电路304、示例训练数据数据库306和/或更概括而言示例训练控制电路103中的任何一者,可以由处理器电路、(一个或多个)模拟电路、(一个或多个)数字电路、(一个或多个)逻辑电路、(一个或多个)可编程处理器、(一个或多个)可编程微控制器、(一个或多个)图形处理单元(gpu)、(一个或多个)数字信号处理器(dsp)、(一个或多个)专用集成电路(asic)、(一个或多个)可编程逻辑器件(pld)和/或(一个或多个)现场可编程逻辑器件(fpld)(例如现场可编程门阵列(fpga))来实现。此外,图1的示例训练控制电路103可以包括除了图2中所示的那些以外或者取代图2中所示的那些的一个或多个元件、过程和/或设备,和/或可以包括多于一个图示的元件、过程和设备中的任何一者或所有。97.图4的示例过程流程图400图示了可以由图1和/或图2的图像控制电路102实现来选择将在例如视频会议期间输出的视频流的示例过程流程。在图4的图示示例中,用户112的视频由第一摄像头106、第二摄像头109和第三摄像头111捕捉,其中每个摄像头106、109、111相对于用户112处于不同的位置和/或方位(例如,因为与摄像头106、109、111相关联的各个设备104、108、110的放置)。在这个示例中,视频流信号114、115、116由图像控制电路102沿着示例并行处理管线(例如,并行处理管线)401a、401b、401c同时或者基本上同时处理。在其他示例中,视频流信号114、115、116在单个处理管线中被串行处理。98.在图4的图示示例中,图2的示例降采样电路206分别修改第一、第二和第三视频流信号114、115、116的帧率和/或分辨率(块402a、402b、402c)。例如,降采样电路206修改帧率和/或分辨率以匹配预定的帧率和/或预定的分辨率,以便使用由脸部检测电路208执行的脸部检测模型和/或由头部姿态估计电路210执行的头部姿态估计模型进行分析。作为降采样的结果,图2的降采样电路206从第一视频流信号114提取(一个或多个)第一视频帧220,从第二视频流信号115提取(一个或多个)第二视频帧222,并且从第三视频流信号116提取(一个或多个)第三视频帧224。99.在图4的示例中,预处理电路204分别对来自第一、第二和第三视频流信号114、115、116的视频帧220、222、224进行预处理(块404a、404b、404c)。在一些示例中,预处理电路204检测眩光和/或视频帧220、222、224中的不足的照明条件,并且执行一个或多个图像处理算法以减少眩光和/或改善视频帧220、222、224中的照明条件。100.在图4的示例中,脸部检测电路208分别在来自第一、第二和第三视频流信号114、115、116的视频帧220、222、224中检测一个或多个脸部(块406a、406b、406c)。例如,脸部检测电路208执行(一个或多个)基于神经网络的脸部检测模型,以识别视频帧220、222、224中的限界框(例如,限界区域),其中每个限界区域对应于在视频帧220、222、224中检测到的脸部。在一些示例中,响应于执行脸部检测模型,脸部检测电路208还确定与限界框相关联的置信度水平,其中每个置信度水平指示出相应限界框包含脸部的置信度(例如,概率、可能性)。101.在图4的示例中,头部姿态估计电路210分别估计在第一、第二和第三视频帧220、222、224中检测到的(一个或多个)脸部的方位(块407a、407b、407c)。例如,头部姿态估计电路210执行(一个或多个)基于神经网络的头部姿态估计模型,以确定在每个视频帧220、222、224中检测到的(一个或多个)脸部的一个或多个面部特征(例如,鼻子)的偏转角。具体地,头部姿态估计电路210基于在(一个或多个)第一视频帧220中识别的面部特征来确定图1的第一偏转角132(块407a),基于在(一个或多个)第二视频帧222中识别的面部特征来确定图1的第二偏转角134(块407b),并且基于在(一个或多个)第三视频帧224中识别的面部特征来确定图1的第三偏转角136(块407c)。102.关注得分生成电路212分别使用第一、第二和第三视频流信号114、115、116来确定摄像头106、109、111的关注得分(块408a、408b、408c)。在图4的图示示例中,关注得分生成电路212基于由例如在(一个或多个)第一视频帧220中所识别的用户112的面部特征的第一偏转角132表示的用户112的第一方位来生成第一关注得分,基于由例如在(一个或多个)第二视频帧222中的用户112的面部特征的第二偏转角134表示的第二视频流信号115中的用户112的第二方位来生成第二关注得分,并且基于由例如(一个或多个)第三视频帧224中的用户112的面部特征的第三偏转角136表示的第三视频流信号116中的用户112的第三方位来生成第三关注得分。103.图像流选择电路214基于关注得分和/或基于由面部特征偏转角表示的取向,选择第一视频流信号114、第二视频流信号115或第三视频流信号116中的一个作为要输出以供在视频会议期间呈现的视频流信号(块410)。例如,图像流选择电路214选择与第一关注得分、第二关注得分或第三关注得分中满足关注检测阈值的一者相对应的视频流信号114、115、116。在一些示例中,当第一、第二和第三关注得分中的两个或更多个满足关注检测阈值时,图像流选择电路214基于与其相关联的偏转角来选择视频流(例如,基于与包括相对于相应摄像头106、109、111处于最小偏转角的面部特征的图像数据相关联的视频流)。如图4所示,所选择的视频流信号114、115、116被输出,以用于经由例如图1的云117和一个或多个通信协议在视频会议中传输和呈现(块412)。104.图5包括第一示例图线502和第二示例图线504,其中图线502、504图示了可以由图2的示例图像控制电路102的关注得分生成电路212执行的关注得分生成分析。在图5的图示示例中,第二图线504图示了作为时间的函数的、由图2的示例头部姿态估计电路210确定的图1的用户112的面部特征(例如,鼻子)的偏转角,并且第一图线502图示了作为时间的函数的、由图2的示例关注得分生成电路212赋予例如图1的第一摄像头106的相应关注得分。在图5的示例中,第一示例图线502的竖直轴506表示基于与第一视频流信号114相对应的分析而赋予第一摄像头106的关注得分。第一图线502的水平轴510表示时间(例如,以秒为单位)。另外,在图5中,第二示例图线504的竖直轴508表示在与第一视频流信号114相关联的图像数据中识别的用户112的面部特征(例如,鼻子)的偏转角。第二图线504的水平轴511表示时间(例如,以秒为单位)。虽然此示例中的第一和第二图线502、504与第一视频流信号114相关联,但图线502、504可以替代地与第二视频流信号115和/或第三视频流信号116相关联。105.图5的第二图线504图示了作为时间的函数的、由头部姿态估计电路210使用第一视频流信号114的视频帧220检测到的用户112的面部特征的偏转角测量值。例如,头部姿态估计电路210使用第一视频流信号114的视频帧220来执行(一个或多个)头部姿态估计模型。在图5的图示示例中,在第二图线504中,示例阈值偏转角512被表示为第一水平线。在这个示例中,阈值偏转角512对应于30度的偏转角。在图5的示例中,当由头部姿态估计电路210确定的面部特征的偏转角在0≤x≤30度的范围内时,满足阈值偏转角512,其中x是偏转角。在其他示例中,不同的阈值偏转角(例如,45度、60度)可以被作为阈值偏转角512。106.如第二示例图线504中所示,在第一示例时间514和第二示例时间516之间,以及在第二时间516和第三示例时间518之间,用户112的面部特征的偏转角满足阈值偏转角512(例如,小于或等于阈值偏转角512)。换句话说,在第一时间514和第三时间518之间,用户112的面部特征(以及因此,用户112的脸部118)朝向图1的第一摄像头106。107.在图5的示例中,头部姿态估计电路210在第三时间518和第四示例时间520之间不确定用户112的偏转角。在一些示例中,用户112的脸部移动,使得用户112的脸部或者至少面部特征在第三和第四时间518、520之间不再被第一摄像头106的摄像头平面捕捉(例如,不再被投影到该摄像头平面上)和/或至少部分地被阻挡,因此,头部姿态估计电路210在第三和第四时间518、520之间无法确定面部特征的偏转角。108.在图5的示例中,用户112的脸部移动,使得用户112的脸部和/或至少面部特征在第四时间520可以被第一摄像头106的摄像头平面捕捉(例如,被投影到该摄像头平面上)。在这个示例中,头部姿态估计电路210确定在第四时间520和第五示例时间522之间以及第五时间522和第六时间524之间,利用视频帧220确定的面部特征的偏转角在0≤x≤30度之间。换句话说,在第四时间520和第五时间522之间,以及第五时间522和第六时间524之间,用户112的脸部是朝向第一摄像头106的。在第六时间524,用户112的脸部从第一摄像头106移开,使得用户112的面部特征的偏转角大于阈值偏转角512。在第七时间526及其后,面部特征的估计偏转角继续超过阈值偏转角。109.在图5的图示示例中,关注得分生成电路212基于由头部姿态估计电路210确定的并且在图5的第二图线504中图示的面部特征的估计偏转角为第一摄像头106确定关注得分。在图5的第一图线502中,示例关注检测阈值528由第一图线502中的第二水平线表示,并且示例离开检测阈值530由第一图线502中的第三水平线表示。关注检测阈值528表示这样的关注得分阈值,其指示出用户112的关注可能指向与第一摄像头106相关联的第一设备104。离开检测阈值530表示这样的关注得分阈值,其指示出用户112的关注可能偏离与第一摄像头106相关联的第一设备104(例如,并且指向另一设备,例如,第二设备108)。在一些示例中,在关注检测阈值528和离开检测阈值530之间定义了示例关注区域532。110.在一些示例中,当由关注得分生成电路212基于例如偏转角确定的关注得分达到关注检测阈值528时,关注得分生成电路212确定关注事件发生。在这样的示例中,当关注得分满足关注检测阈值528时,图2的图像流选择电路214将与第一摄像头106相关联的第一视频流信号114识别为供选择作为视频流输出的候选。在一些示例中,在关注事件发生之后,与第一摄像头106相关联的第一视频流信号114在关注得分在关注区域532内的持续时间中仍然是供选择作为视频流输出的候选。111.在图5的示例中,当关注得分下降到低于离开检测阈值530时,关注得分生成电路212确定离开事件发生。在一些示例中,响应于确定发生了离开事件,图像流选择电路214确定与第一摄像头106相关联的第一视频流信号114不再是供选择作为视频流输出的候选。在这样的情况下,图像流选择电路214确定用户112至少部分地偏离第一摄像头106,从而第一摄像头106没有捕捉到用户的脸部的基本上朝前的视图,这由关注得分下降到低于离开检测阈值530来表示。在这样的示例中,视频流选择电路214选择第二摄像头109的第二视频流信号115或第三摄像头111的第三视频流信号116中的一个作为视频流输出。当另一个关注事件发生时(例如,当关注得分再次达到关注检测阈值528时),与第一摄像头106相关联的第一视频流信号114可以成为供选择的候选。112.在图5的图示示例中,在第一时间514,关注得分被赋予零的值。在这个示例中,关注得分生成电路212实现了一种积分器,以基于第二图线504中的面部特征的偏转角来确定作为时间的函数的关注得分。例如,当偏转角满足图5的第二图线504的阈值偏转角512时,积分器基于增量因子(例如,1)增大关注得分,而当偏转角大于阈值偏转角512时,积分器基于衰减因子(例如,0.2)减小关注得分。在一些示例中,阈值关注持续时间对应于从为零的第一关注得分到等于关注检测阈值528的第二关注得分,用户112的面部特征以及因此用户112的脸部朝向第一摄像头106的持续时间。在一些示例中,阈值关注持续时间为2秒,这样,在关注得分达到关注检测阈值528之前,用户112的偏转角持续2秒满足阈值偏转角。然而,在其他示例中,可以使用不同的阈值关注持续时间(例如,1秒、3秒,等等)。在一些示例中,关注得分生成电路212基于阈值关注持续时间来选择增量因子。113.在图示的示例中,响应于确定偏转角在第一和第二时间514、516之间满足阈值偏转角512,关注得分生成电路212从第一时间514到第二时间516增大关注得分。在这个示例中,在第二时间516发生第一关注事件,在该第二时间,关注得分达到关注检测阈值528。在这个示例中,第一和第二时间514、516之间的持续时间对应于阈值关注持续时间。114.在图5的图示示例中,响应于关注得分在第二时间516达到关注检测阈值528,图像流选择电路214确定第一视频流信号114是供选择作为视频流输出的候选。在一些这样的示例中,图像流选择电路214在第二时间516选择第一视频流信号114而不是第二视频流信号115或第三视频流信号116作为视频流输出。在一些示例中,关注检测阈值528对应于第一视频流信号114的关注得分的上限,从而关注得分不超过关注检测阈值528。因此,当偏转角在第二和第三时间516、518之间小于阈值偏转角512时,关注得分处于关注检测阈值528。115.如联系图5的第二图线504所提到的,用户112的脸部移动,使得用户112的脸部或者至少面部特征在第三和第四时间518、520之间不再被投影到第一摄像头106的摄像头平面上。因此,头部姿态估计电路210在第三和第四时间518、520之间不确定偏转角。因此,关注得分生成电路212在第三和第四时间518、520之间使得关注得分衰减,从而使得关注得分在第四时间520大约为零。在这个示例中,当关注得分在第三和第四时间518、520之间下降到低于离开检测阈值530时,第一离开事件发生。在这样的示例中,响应于确定发生了第一离开事件,图像流选择电路214确定第一视频流信号114不再是供选择作为视频流输出的候选。在一些这样的示例中,图像流选择电路214使得视频流输出从第一视频流信号114切换到第二视频流信号115或第三视频流信号116之一。116.在第四时间520,用户112的脸部或者至少面部特征再次被摄像头106的摄像头平面捕捉,并且头部姿态估计电路210确定面部特征的偏转角在第四时间520和第六时间524之间小于阈值偏转角512。关注得分生成电路212从第四时间520到第五时间522使得关注得分增大,在该第五时间522,关注得分达到关注检测阈值528,因此,第二关注事件发生。在一些示例中,关注得分在第五和第六时间522、524之间处于关注检测阈值528。在其他示例中,当用户112的偏转角在第五和第六时间522、524之间波动时,关注得分在第五和第六时间522、524之间也在关注区域532内波动。117.在图5的图示示例中,在第六时间524及其后,头部姿态估计电路210确定用户112的偏转角大于阈值偏转角512。因此,关注得分生成电路212从第六时间524到第七时间526使得关注得分衰减,在该第七时间526,关注得分下降到低于离开检测阈值530,因此,第二离开事件发生。在这个示例中,关注得分在第七时间526之后低于离开检测阈值530。因此,在一些示例中,图像流选择电路214在第七时间526处发生第二离开事件之后不选择第一视频流信号114作为视频流输出。118.图2的示例头部姿态估计电路210随着时间的推移继续分析第一视频流信号114的视频帧220,以确定面部特征的偏转角。另外,关注得分生成电路212随着时间的推移基于偏转角来确定相应的关注得分。在一些示例中,偏转角和/或关注得分可以被存储在数据库216中,以便由图像流选择电路214使用来从视频流信号114、115、116中选择视频流输出。119.在图6和图7中示出了代表用于实现图1和/或图2的图像控制电路102的示例硬件逻辑电路、机器可读指令、硬件实现的状态机和/或这些的任意组合的流程图。在图8中示出了代表用于实现图1和/或图3的训练控制电路103的示例硬件逻辑电路、机器可读指令、硬件实现的状态机和/或这些的任意组合的流程图。机器可读指令可以是供处理器电路执行的一个或多个可执行程序或者可执行程序的(一个或多个)部分,所述处理器电路例如是下文联系图9和/或图10论述的示例处理器平台900、1000中所示的处理器电路912、1012、和/或下文联系图11和/或图12论述的示例处理器电路。该程序可以体现在存储于一个或多个非暂态计算机可读存储介质上的软件中,所述介质例如是cd、软盘、硬盘驱动器(harddiskdrive,hdd)、dvd、蓝光盘、易失性存储器(例如,任何类型的随机存取存储器(randomaccessmemory,ram),等等)或者非易失性存储器(例如,flash存储器、hdd,等等),与位于一个或多个硬件设备中的处理器电路相关联,但整个程序和/或其一部分可以替代地由除了处理器电路以外的一个或多个硬件设备执行和/或体现在固件或专用硬件中。机器可读指令可以分布在多个硬件设备上和/或由两个或更多个硬件设备(例如,服务器和客户端硬件设备)执行。例如,客户端硬件设备可以由端点客户端硬件设备(例如,与用户相关联的硬件设备)或中间客户端硬件设备(例如,可以促进服务器和端点客户端硬件设备之间的通信的无线电接入网络(radioaccessnetwork,ran)网关)来实现。类似地,非暂态计算机可读存储介质可以包括位于一个或多个硬件设备中的一个或多个介质。另外,虽然是参考图6、图7和/或图8中所示的流程图来描述示例程序的,但可以替代地使用实现示例图像控制电路102和/或示例训练控制电路103的许多其他方法。例如,块的执行顺序可以被改变,和/或所描述的块中的一些可以被改变、消除或者组合。额外地或者替代地,任何或所有块可以由被构造为执行相应的操作而不执行软件或固件的一个或多个硬件电路(例如,处理器电路、分立的和/或集成的模拟和/或数字电路、fpga、asic、比较器、运算放大器(op-amp)、逻辑电路,等等)来实现。处理器电路可以分布在不同的网络位置中和/或在以下项的本地:单个机器中的一个或多个硬件设备(例如,单核处理器(例如,单核中央处理器单元(cpu))、多核处理器(例如,多核cpu),等等)、分布在服务器机架的多个服务器上的多个处理器、分布在一个或多个服务器机架上的多个处理器、位于同一封装件中(例如,同一集成电路(ic)封装件或者两个或更多个单独的外壳中,等等)的cpu和/或fpga。120.可以以压缩格式、加密格式、分段格式、编译格式、可执行格式、打包格式等等中的一种或多种格式来存储本文描述的机器可读指令。本文描述的机器可读指令可以被存储为数据或数据结构(例如,存储为指令的部分、代码、代码的表示,等等),这些数据或数据结构可以被利用来创建、制造和/或产生机器可执行指令。例如,机器可读指令可以被分段并被存储在位于网络或者网络集合的相同或不同位置的一个或多个存储设备和/或计算设备(例如,服务器)上(例如,在云中,在边缘设备中,等等)。机器可读指令可以要求安装、修改、改编、更新、组合、补充、配置、解密、解压缩、解包、分发、重指派、编译等等中的一个或多个,以便使得它们可被计算设备和/或其他机器直接可读、可解释和/或可执行。例如,机器可读指令可以被存储为多个部分,这些部分被单独压缩、加密和/或存储在分开的计算设备上,其中这些部分在被解密、解压缩和/或组合时,形成实现可以一起形成例如本文所述那种的程序的一个或多个操作的一组机器可执行指令。121.在另一示例中,机器可读指令可以被存储在如下状态中:在该状态中,它们可以被处理器电路读取,但要求添加库(例如,动态链接库(dynamiclinklibrary,dll))、软件开发套件(softwaredevelopmentkit,sdk)、应用编程接口(applicationprogramminginterface,api)等等,以便在特定的计算设备或其他设备上执行这些机器可读指令。在另一示例中,在机器可读指令和/或相应的(一个或多个)程序可以被全部或部分执行之前,机器可读指令可能需要被配置(例如,存储设置、输入数据、记录网络地址,等等)。因此,本文使用的机器可读介质可以包括机器可读指令和/或(一个或多个)程序,无论这些机器可读指令和/或(一个或多个)程序在被存储时或以其他方式在休息或在途时的特定格式或状态如何。122.本文描述的机器可读指令可以由任何过去、当前或者未来的指令语言、脚本语言、编程语言等等来表示。例如,可以利用以下语言中的任何一种来表示机器可读指令:c、c++、java、c#、perl、python、javascript、超本文标记语言(hypertextmarkuplanguage,html)、结构化查询语言(structuredquerylanguage,sql)、swift,等等。123.如上所述,可以利用存储在一个或多个非暂态计算机和/或机器可读介质上的可执行指令(例如,计算机和/或机器可读指令)来实现图6和图7的示例操作,所述介质例如是光存储设备、磁存储设备、hdd、闪存、只读存储器(read-onlymemory,rom)、cd、dvd、缓存、任何类型的ram、寄存器、和/或其中信息可被存储任何持续时间(例如,存储较长时间段、永久存储、短暂存储、用于临时缓冲、和/或用于信息的缓存)的任何其他存储设备或存储盘。如本文所使用的,术语非暂态计算机可读介质和非暂态计算机可读存储介质被明确定义为包括任何类型的计算机可读存储设备和/或存储盘,并且排除传播信号和排除传输介质。[0124]“包括”和“包含”(以及其所有形式和时态)在本文中被用作开端式术语。因此,每当权利要求采用任何形式的“包括”或“包含”(例如,包括、包含、具有,等等)作为前序部分或者在任何种类的权利要求记载中使用时,要理解,额外的元素、术语等等可以存在,而不落在相应权利要求或记载的范围之外。如本文所使用的,当短语“至少”在例如权利要求的前序部分中被用作过渡术语时,它是开端的,与术语“包括”和“包含”是开端的方式一样。术语“和/或”在例如被以比如a、b和/或c这样的形式使用时,指的是a、b、c的任意组合或子集,例如(1)a单独,(2)b单独,(3)c单独,(4)a与b,(5)a与c,(6)b与c,或者(7)a与b以及与c。就本文在描述结构、组件、项目、物体和/或事物的上下文中使用的而言,短语“a和b中的至少一者”旨在指包括以下各项中的任何一者的实现方式:(1)至少一个a,(2)至少一个b,或者(3)至少一个a和至少一个b。类似地,就本文在描述结构、组件、项目、物体和/或事物的上下文中使用的而言,短语“a或b中的至少一者”旨在指包括以下各项中的任何一者的实现方式:(1)至少一个a,(2)至少一个b,或者(3)至少一个a和至少一个b。就本文在描述过程、指令、动作、活动和/或步骤的执行或运行的上下文中使用的而言,短语“a和b中的至少一者”旨在指包括以下各项中的任何一者的实现方式:(1)至少一个a,(2)至少一个b,或者(3)至少一个a和至少一个b。类似地,就本文在描述过程、指令、动作、活动和/或步骤的执行或运行的上下文中使用的而言,短语“a或b中的至少一者”旨在指包括以下各项中的任何一者的实现方式:(1)至少一个a,(2)至少一个b,或者(3)至少一个a和至少一个b。[0125]如本文所使用的,单数指代(例如,“一”、“第一”、“第二”,等等)并不排除多数。如本文所使用的,术语“一”物体指的是一个或多个该物体。术语“一”、“一个或多个”和“至少一个”在本文中是可互换地使用的。此外,虽然是单独列出的,但多个手段、元素或方法动作可以由例如同一实体或物体来实现。此外,虽然个体特征可以被包括在不同的示例或权利要求中,但它们可能可被组合,并且包括在不同的示例或权利要求中并不暗示着特征的组合是不可行的和/或不是有利的。[0126]图6的流程图代表了可以被处理器电路执行和/或实例化来从两个或更多个图像数据流中选择图像数据的示例机器可读指令和/或示例操作600。为了说明,图6的示例是联系选择图1的第一、第二或第三视频流信号114、115、116之一作为视频流输出以传输到例如视频会议中的其他电子设备来论述的。然而,可以额外地或者替代地对于其他类型的图像数据,例如静止图像,执行图6的指令。图6的机器可读指令和/或操作600开始于块602,在该块处,图2的示例图像控制电路102的输入接口电路202获得视频流信号114、115、116。例如,图2的示例输入接口电路202从第一摄像头106获得第一视频流信号114,从第二摄像头109获得第二视频流信号115,并且从第三摄像头111获得第三视频流信号116。[0127]在块604,示例图像控制电路102分别修改定义视频流信号114、115、116的视频帧220、222、224的帧率和/或分辨率。例如,降采样电路206修改视频帧220、222、224的帧率和/或分辨率以匹配预定的帧率和/或分辨率。[0128]在块606,示例图像控制电路102处理来自第一、第二和第三视频流信号114、115、116的视频帧220、222、224。例如,图2的示例预处理电路204识别眩光和/或视频帧220、222、224中的不足的照明条件,并且应用图像处理技术以减少眩光和/或改善视频帧220、222、224中的照明条件。在图6的示例中,如果图2的预处理电路204确定照明不足以进行图像分析(块607),则控制返回到块602,以访问(一个或多个)额外的视频帧来进行分析。[0129]在块608,示例图像控制电路102在视频帧220、222、224中检测图1的用户112的脸部118。例如,示例脸部检测电路208使用视频帧220、222、224来执行(一个或多个)脸部检测模型(例如,由图1的训练控制电路103训练),并且作为脸部检测模型的执行结果,在每个视频帧220、222、224中检测用户112的脸部118和脸部118的面部特征(例如,鼻子、眼睛)。在一些示例中,脸部检测模型的输出包括与在视频帧220、222、224中检测到的脸部相对应的限界框,其中标记了面部特征。[0130]在块610,示例图像控制电路102使用所识别的面部特征来估计在视频帧220、222、224中检测到的脸部的方位(例如,偏转角)。例如,示例头部姿态估计电路210执行(一个或多个)头部姿态估计模型(例如,由图1的训练控制电路103训练)以估计在每个视频帧220、222、224中识别的(一个或多个)面部特征的(一个或多个)偏转角。所执行的(一个或多个)头部姿态估计模型的输出包括检测到的脸部中的(一个或多个)面部特征的偏转角。在一些示例中,头部姿态估计电路210确定第一视频流信号114的作为时间的函数的第一偏转角(例如,如图5的第二图线504中所示),第二视频流信号115的作为时间的函数的第二偏转角,以及第三视频流信号116的作为时间的函数的第三偏转角。[0131]在块612,示例图像控制电路102基于对第一、第二和第三视频流信号114、115、116的分析,为第一、第二和第三摄像头106、109、111生成关注得分。例如,图2的示例关注得分生成电路212基于第一视频帧220中检测到的面部特征的第一偏转角,为第一视频流信号114生成作为时间的函数的第一关注得分(例如,如图5的第一图线502中所示),基于第二视频帧222中检测到的面部特征的第二偏转角,为第二视频流信号115生成作为时间的函数的第二关注得分,并且基于第三视频帧224中检测到的面部特征的第三偏转角,为第三视频流信号116生成作为时间的函数的第三关注得分。下面联系图7进一步详细公开第一、第二和第三关注得分的生成。[0132]在块614,示例图像控制电路102基于第一、第二和第三关注得分来选择第一、第二和第三视频流信号114、115、116之一作为视频流输出。例如,图2的示例图像流选择电路214选择来自被赋予了满足关注检测阈值的关注得分的摄像头106、109、111的视频流信号114、115、116。在一些示例中,响应于两个或更多个关注得分满足关注检测阈值,图像流选择电路214选择这样的视频流信号114、115、116:对于该视频流信号,在相应的图像数据中识别的面部特征与较小的偏转角相关联。图像流选择电路214使得所选择的视频流信号输出被传输以在视频会议期间显示或呈现(例如,经由云117传输)。当没有接收到额外的视频流信号数据时,图6的示例指令600在块616、618结束。[0133]图7的流程图代表了可以被处理器电路执行和/或实例化来联系图6的块612生成关注得分的示例机器可读指令和/或示例操作700。在图7的图示示例中,机器可读指令和/或操作700由图2的示例图像控制电路102(例如,图2的关注得分生成电路212)来执行,以基于对图2的相应视频流信号114、115、116中的图像数据的分析来为摄像头106、109、111生成关注得分。为了说明,将联系第一摄像头106的第一视频流信号114来论述图7的示例指令700,但要理解,指令700可以被执行以基于由第二摄像头109生成的第二视频流信号115和/或由第三摄像头111生成的第三视频流信号116来确定关注得分。[0134]图7的机器可读指令和/或操作700开始于块702,在该块,图2的示例图像控制电路102初始化第一视频流信号114的关注得分(例如,第一关注得分)。例如,图2的示例关注得分生成电路212在开始时间(例如,图5的第一时间514)将关注得分设置为零。在一些示例中,图2的关注得分生成电路212可以向关注得分赋予不同的初始值。[0135]在块706,示例图像控制电路102确定在视频帧220中检测到的脸部的面部特征的偏转角是否满足阈值偏转角。例如,响应于(一个或多个)头部姿态估计模型的执行,示例头部姿态估计电路210确定视频帧220中检测到的脸部的面部特征的偏转角,并且确定该偏转角是否满足阈值偏转角。响应于头部姿态估计电路210确定偏转角满足阈值偏转角(例如,块706返回“是”的结果),控制继续进行到块708。或者,响应于头部姿态估计电路210确定偏转角不满足阈值偏转角(例如,块706返回“否”的结果),控制继续进行到块712。[0136]在块708,示例图像控制电路102确定关注得分值是否等于关注检测阈值。响应于关注得分生成电路212确定关注得分处于关注检测阈值(例如,块708返回“是”的结果),控制继续进行到块716。或者,响应于关注得分生成电路212确定关注得分小于关注检测阈值(例如,块708返回“否”的结果),控制继续进行到块710。[0137]在块710,示例图像控制电路102基于增量因子来增大关注得分。例如,示例关注得分生成电路212实现一种积分器以基于增量因子增大关注得分,其中增量因子例如可以是1。[0138]在块712,示例图像控制电路102确定关注得分是否为零。响应于关注得分生成电路212确定关注得分为零(例如,块712返回“是”的结果),控制继续进行到块716。或者,响应于关注得分生成电路212确定关注得分大于零(例如,块712返回“否”的结果),控制继续进行到块714。[0139]在块714,示例图像控制电路102基于衰减因子来减小关注得分。例如,示例关注得分生成电路212实现一种积分器以使得关注得分基于衰减因子而衰减,其中衰减因子例如可以是0.2。[0140]在块716,示例图像控制电路102输出第一视频流信号114的视频帧220的关注得分。在图7的示例中,控制继续进行到图6的块614,在该块处,图像流选择电路214使用关注得分来选择视频流信号114、115、116之一作为视频流输出(图6的块614)。[0141]图8的流程图代表了可以被处理器电路执行和/或实例化来训练神经网络以确定图像数据中的人类脸部的面部特征的偏转角的示例机器可读指令和/或示例操作800。图8的示例指令800,当被图3的训练控制电路103执行时,导致神经网络和/或其模型(例如,(一个或多个)头部姿态估计模型),该神经网络和/或其模型可以被分发到其他计算系统,例如图2的示例图像控制电路102的头部姿态估计电路210。[0142]图8的机器可读指令和/或操作800开始于块802,在该块,神经网络训练电路304访问包括人类脸部的图像数据。图像数据可以包括(一个或多个)视频帧220、222、224和/或作为反馈训练的一部分存储在与图像控制电路102相关联的数据库216中的(一个或多个)预测限界框。[0143]在块804,神经网络训练电路304就图像数据中的人类脸部的面部特征(例如,鼻子、眼睛、下巴)的偏转角来标记数据。在一些示例中,两个或更多个面部特征(例如,鼻子和下巴)之间的相对距离被标记并且与偏转角相关。在块806,示例神经网络训练电路30基于标记的图像数据来生成训练数据。[0144]在块808,示例神经网络训练电路304使用训练数据来执行神经网络处理电路302的训练。在图8的示例中,该训练是基于监督学习的。作为训练的结果,在块810生成(一个或多个)头部姿态估计模型。基于(一个或多个)头部姿态估计模型,神经网络被训练以识别图像数据中的人类脸部的(一个或多个)面部特征的偏转角。在一些示例中,神经网络被训练成基于图像数据中的面部特征之间的距离来预测偏转角。(一个或多个)头部姿态估计模型可以被存储在数据库216中,以便由图2的示例图像控制电路102的头部姿态估计电路210来访问。图8的示例指令800在不执行额外的训练(例如,再训练)时结束(块812、814)。[0145]图9是被构造为执行和/或实例化图6和图7的机器可读指令和/或操作以实现图2的图像控制电路102的示例处理器平台900的框图。处理器平台900可以例如是服务器、个人计算机、工作站、自学习机器(例如,神经网络)、移动设备(例如,蜂窝电话、智能电话、诸如ipadtm之类的平板设备)、个人数字助理(personaldigitalassistant,pda)、互联网家电、耳机(例如,增强现实(augmentedreality,ar)耳机、虚拟现实(virtualreality,vr)耳机,等等)或其他可穿戴设备、或者任何其他类型的计算设备。[0146]图示示例的处理器平台900包括处理器电路912。图示示例的处理器电路912是硬件。例如,处理器电路912可以由来自任何期望的家族或制造商的一个或多个集成电路、逻辑电路、fpga、微处理器、cpu、gpu、dsp和/或微控制器来实现。处理器电路912可以由一个或多个基于半导体(例如,基于硅)的器件来实现。在此示例中,处理器电路912实现了示例输入接口电路202、示例预处理电路204、示例降采样电路206、示例脸部检测电路208、示例头部姿态估计电路210、示例关注得分生成电路212、以及示例图像流选择电路214。[0147]图示示例的处理器电路912包括本地存储器913(例如,缓存、寄存器,等等)。图示示例的处理器电路912通过总线918与包括易失性存储器914和非易失性存储器916的主存储器进行通信。易失性存储器914可以由以下项来实现:同步动态随机存取存储器(synchronousdynamicrandomaccessmemory,sdram)、动态随机存取存储器(dynamicrandomaccessmemory,dram)、动态随机存取存储器(dynamicrandomaccessmemory,)和/或任何其他类型的ram设备。非易失性存储器916可以由闪存和/或任何其他期望类型的存储器设备来实现。对图示示例的主存储器914、916的访问受存储器控制器917控制。[0148]图示示例的处理器平台900还包括接口电路920。接口电路920可以根据任何类型dynamicrandomaccessmemory,sdram)、动态随机存取存储器(dynamicrandomaccessmemory,dram)、动态随机存取存储器(dynamicrandomaccessmemory,)和/或任何其他类型的ram设备来实现。非易失性存储器1016可以由闪存和/或任何其他期望类型的存储器设备来实现。对图示示例的主存储器1014、1016的访问受存储器控制器1017控制。[0157]图示示例的处理器平台1000还包括接口电路1020。接口电路1020可以根据任何类型的接口标准由硬件实现,例如以太网接口、通用串行总线(universalserialbus,usb)接口、接口、近场通信(nearfieldcommunication,nfc)接口、pci接口和/或pcie接口。[0158]在图示示例中,一个或多个输入设备1022连接到接口电路1020。(一个或多个)输入设备1022允许用户向处理器电路1012中输入数据和/或命令。(一个或多个)输入设备1022可以由例如音频传感器、麦克风、摄像头(静态或视频)、键盘、按钮、鼠标、触摸屏、触控板、轨迹球、isopoint设备和/或语音识别系统来实现。[0159]一个或多个输出设备1024也连接到图示示例的接口电路1020。输出设备1024可以例如由显示设备(例如,发光二极管(lightemittingdiode,led)、有机发光二极管(organiclightemittingdiode,oled)、液晶显示器(liquidcrystaldisplay,lcd)、阴极射线管(cathoderaytube,crt)显示器、就地切换(in-placeswitching,ips)显示器、触摸屏等等)、触觉输出设备、打印机和/或扬声器来实现。图示示例的接口电路1020因此通常包括图形驱动器卡、图形驱动器芯片和/或图形处理器电路,比如gpu。[0160]图示示例的接口电路1020还包括通信设备,例如发送器、接收器、收发器、调制解调器、住宅网关、无线接入点和/或网络接口,来促进通过网络1026与外部机器(例如,任何种类的计算设备)的数据交换。通信可以通过例如以太网连接、数字订户线(digitalsubscriberline,dsl)连接、电话线连接、同轴线缆系统、卫星系统、直线对传式无线系统、蜂窝电话系统、光学连接等等进行。[0161]图示示例的处理器平台1000还包括一个或多个大容量存储设备1028来存储软件和/或数据。这种大容量存储设备1028的示例包括磁存储设备、光存储设备、软盘驱动器、hdd、cd、蓝光盘驱动器、独立盘冗余阵列(redundantarrayofindependentdisk,raid)系统、固态存储设备(例如,闪存设备)、以及dvd驱动器。[0162]可以由图8的机器可读指令实现的机器可执行指令1032可以被存储在大容量存储设备1028中、易失性存储器1014中、非易失性存储器1016中、和/或诸如cd或dvd之类的可移除非暂态计算机可读存储介质上。[0163]图11是图9的处理器电路912和/或图10的处理器电路1012的示例实现方式的框图。在这个示例中,图9的处理器电路912和/或图10的处理器电路1012是由微处理器1100实现的。例如,微处理器1100可以实现多核硬件电路,例如cpu、dsp、gpu、xpu,等等。虽然它可以包括任意数目的示例核心1102(例如,1个核心),但此示例的微处理器1100是包括n个核心的多核半导体设备。微处理器1100的核心1102可以独立操作,或者可以合作来执行机器可读指令。例如,与固件程序、嵌入式软件程序或软件程序相对应的机器代码可以被核心1102之一执行,或者可以被核心1102中的多个核心在相同或不同时间执行。在一些示例中,与固件程序、嵌入式软件程序或软件程序相对应的机器代码被分割成线程并且被核心1102中的两个或更多个并行执行。该软件程序可以对应于图6、图7和/或图8的流程图所表示的机器可读指令和/或操作的一部分或全部。[0164]核心1102可以通过示例总线1104进行通信。在一些示例中,总线1104可以实现通信总线,以实现与核心1102中的一个(或多个)相关联的通信。例如,总线1104可以实现集成电路间(inter-integratedcircuit,i2c)总线、串行外围接口(serialperipheralinterface,spi)总线、pci总线或者pcie总线中的至少一者。额外地或者替代地,总线1104可以实现任何其他类型的计算或电气总线。核心1102可以通过示例接口电路1106从一个或多个外部设备来获得数据、指令和/或信号。核心1102可以通过接口电路1106向一个或多个外部设备输出数据、指令和/或信号。虽然此示例的核心1102包括示例本地存储器1120(例如,可以被分割成l1数据缓存和l1指令缓存的第1级(l1)缓存),但微处理器1100也包括可以由核心共享的示例共享存储器1110(例如,第2级(l2缓存)),用于高速访问数据和/或指令。可以通过向共享存储器1110写入和/或从其读取来传送(例如,共享)数据和/或指令。每个核心1102的本地存储器1120和共享存储器1110可以是包括多级缓存存储器和主存储器(例如,图9的主存储器914、916和/或图10的主存储器1014、1016)的存储设备的层次体系的一部分。通常,该层次体系中的较高级别的存储器与较低级别的存储器相比表现出更低的访问时间并且具有更小的存储容量。缓存层次体系的各种级别的变化由缓存一致性策略来管理(例如,协调)。[0165]每个核心1102可以被称为cpu、dsp、gpu,等等,或者任何其他类型的硬件电路。每个核心1102包括控制单元电路1114、算术和逻辑(arithmeticandlogic,al)电路(有时称为alu)1116、多个寄存器1118、l1缓存1120、以及示例总线1122。其他结构也可以存在。例如,每个核心1102可以包括向量单元电路、单指令多数据(singleinstructionmultipledata,simd)单元电路、加载/存储单元(load/storeunit,lsu)电路、分支/跳转单元电路、浮点单元(floating-pointunit,fpu)电路,等等。控制单元电路1114包括被构造为控制(例如,协调)相应核心1102内的数据移动的基于半导体的电路。al电路1116包括基于半导体的电路,其被构造为对相应核心1102内的数据执行一个或多个数学和/或逻辑操作。一些示例中的al电路1116执行基于整数的操作。在其他示例中,al电路1116也执行浮点操作。在另外一些示例中,al电路1116可以包括执行基于整数的操作的第一al电路和执行浮点操作的第二al电路。在一些示例中,al电路1116可以被称为算术逻辑单元(arithmeticlogicunit,alu)。寄存器1118是基于半导体的结构,用来存储数据和/或指令,例如由相应核心1102的al电路1116执行的一个或多个操作的结果。例如,寄存器1118可以包括(一个或多个)向量寄存器、(一个或多个)simd寄存器、(一个或多个)通用寄存器、(一个或多个)标志寄存器、(一个或多个)片段寄存器、(一个或多个)机器专用寄存器、(一个或多个)指令指针寄存器、(一个或多个)控制寄存器、(一个或多个)调试寄存器、(一个或多个)存储器管理寄存器、(一个或多个)机器检查寄存器,等等。寄存器1118可以如图11所示被布置为库组(bank)。或者,寄存器1118可以按任何其他布置、格式或结构被组织,包括分布在整个核心1102中以缩短访问时间。总线1120可以实现i2c总线、spi总线、pci总线或pcie总线中的至少一者。[0166]每个核心1102和/或更概括而言微处理器1100可以包括作为以上所示和描述的附加和/或替代的结构。例如,可以存在一个或多个时钟电路、一个或多个电力供应源、一个或多个电力门、一个或多个缓存归属代理(cachehomeagent,cha)、一个或多个聚合/通用网挡(converged/commonmeshstop,cms)、一个或多个移位器(例如,(一个或多个)桶形移位器)和/或其他电路。微处理器1100是半导体设备,它被制造为包括许多相互连接的晶体管,以便在一个或多个封装件中包含的一个或多个集成电路(ic)中实现上述结构。处理器电路可以包括一个或多个加速器和/或与一个或多个加速器合作。在一些示例中,加速器由逻辑电路实现,以比通用处理器更快速和/或高效地执行某些任务。加速器的示例包括asic和fpga,例如本文论述的那些。gpu或其他可编程设备也可以是加速器。加速器可以在处理器电路的板上,与处理器电路位于相同的芯片封装件中,和/或在与处理器电路分开的一个或多个封装件中。[0167]图12是图9的处理器电路912和/或图10的处理器电路1012的另一示例实现方式的框图。在这个示例中,处理器电路912和/或处理器电路1012由fpga电路1200实现。例如,fpga电路1200可以用于执行否则可通过图11的示例微处理器1100执行相应的机器可读指令而执行的操作。然而,一旦被配置,fpga电路1200就用硬件来实例化机器可读指令,因此,执行操作的速度经常比执行相应软件的通用微处理器的执行速度更快。[0168]更具体而言,与上文描述的图11的微处理器1100(它是通用设备,可以被编程来执行图6、图7和/或图8的流程图所表示的机器可读指令的一部分或全部,但其互连和逻辑电路一旦被制造出来就固定了)相比,图12的示例的fpga电路1200包括互连和逻辑电路,这些互连和逻辑电路可以在制造之后以不同方式被配置和/或互连,以实例化例如由图6、图7和/或图8的流程图表示的机器可读指令的一部分或全部。具体地,fpga1200可以被认为是逻辑门、互连和开关的阵列。开关可以被编程以改变逻辑门被互连所互连的方式,有效地形成一个或多个专用的逻辑电路(除非fpga电路1200被重编程和直到fpga电路1200被重编程为止)。配置的逻辑电路使得逻辑门能够以不同方式合作,以对输入电路接收的数据执行不同的操作。这些操作可以对应于图6、图7和/或图8的流程图所表示的软件的一部分或全部。因此,fpga电路1200可以被构造为有效地将图6、图7和/或图8的流程图的机器可读指令的一部分或全部实例化为专用逻辑电路,来以类似于asic的专用方式执行与这些软件指令相对应的操作。因此,fpga电路1200执行与图6、图7和/或图8的机器可读指令的一部分或全部相对应的操作的速度可以比通用微处理器执行这些指令的速度更快。[0169]在图12的示例中,fpga电路1200被构造为由最终用户通过硬件描述语言(hardwaredescriptionlanguage,hdl)(例如verilog)进行编程(和/或一次或多次重编程)。图12的fpga电路1200包括示例输入/输出(i/o)电路1202,以从示例配置电路1204和/或外部硬件(例如,外部硬件电路)1206获得和/或向其输出数据。例如,配置电路1204可以实现接口电路,该接口电路可以获得机器可读指令,以配置fpga电路1200,或者其(一个或多个)部分。在一些这样的示例中,配置电路1204可以从用户、机器(例如,可以实现人工智能/机器学习(artificialintelligence/machinelearning,ai/ml)模型以生成指令的硬件电路(例如,编程的或专用的电路))等等获得机器可读指令。在一些示例中,外部硬件1206可以实现图11的微处理器1100。fpga电路1200还包括示例逻辑门电路1208的阵列、多个示例可配置互连1210、以及示例存储电路1212。逻辑门电路1208和互连1210可被配置为实例化与图6、图7和/或图8的机器可读指令中的至少一些相对应的一个或多个操作,和/或其他期望的操作。图12所示的逻辑门电路1208是按组或按块来制造的。每个块包括基于半导体的电气结构,这些结构可以被配置成逻辑电路。在一些示例中,电气结构包括为逻辑电路提供基本构建块的逻辑门(例如,与门、或门、或非门,等等)。在每个逻辑门电路1208内存在可电控的开关(例如,晶体管),以便能够配置电气结构和/或逻辑门,来形成电路以执行期望的操作。逻辑门电路1208可以包括其他电气结构,例如查找表(look-uptable,lut)、寄存器(例如,触发器或锁存器)、多路复用器,等等。[0170]图示示例的互连1210是导电通路、迹线、通孔等等,其可以包括可电控开关(例如,晶体管),其状态可以通过编程(例如,使用hdl指令语言)被改变,以激活或停用一个或多个逻辑门电路1208之间的一个或多个连接,以编程期望的逻辑电路。[0171]图示示例的存储电路1212被构造为存储由相应逻辑门执行的一个或多个操作的(一个或多个)结果。存储电路1212可以由寄存器之类的实现。在图示示例中,存储电路1212分布在逻辑门电路1208之间,以促进访问并且提高执行速度。[0172]图12的示例fpga电路1200还包括示例专用操作电路1214。在这个示例中,专用操作电路1214包括专用电路1216,该专用电路可以被调用来实现常用功能,以避免需要在现场对这些功能进行编程。这种专用电路1216的示例包括存储器(例如,dram)控制器电路、pcie控制器电路、时钟电路、收发器电路、存储器、以及乘法器-累加器电路。其他类型的专用电路也可以存在。在一些示例中,fpga电路1200还可以包括示例通用可编程电路1218,例如示例cpu1220和/或示例dsp1222。其他通用可编程电路1218可以额外地或者替代地存在,例如gpu、xpu,等等,它们可以被编程以执行其他操作。[0173]虽然图11和图12图示了图9的处理器电路912和/或图10的处理器电路1012的两个示例实现方式,但设想到了许多其他方法。例如,如上所述,现代fpga电路可以包括板载cpu,例如图12的一个或多个示例cpu1220。因此,图9的处理器电路912和/或图10的处理器电路1012可以额外地通过组合图11的示例微处理器1100和图12的示例fpga电路1200来实现。在一些这样的混合示例中,由图6、图7和/或图8的流程图表示的机器可读指令的第一部分可以由图11的一个或多个核心1102执行,并且由图6、图7和/或图8的流程图表示的机器可读指令的第二部分可以由图12的fpga电路1200执行。[0174]在一些示例中,图9的处理器电路912和/或图10的处理器电路1012可以在一个或多个封装件中。例如,图11的处理器电路1100和/或图12的fpga电路1200可以在一个或多个封装件中。在一些示例中,xpu可以由图9的处理器电路912和/或图10的处理器电路1012实现,该处理器电路可以在一个或多个封装件中。例如,xpu可以包括一个封装件中的cpu、另一个封装件中的dsp、又一个封装件中的gpu、以及再一个封装件中的fpga。[0175]图13中图示了一个框图,该框图图示了示例软件分发平台1305,用来将诸如图9的示例机器可读指令932之类的软件分发到由第三方拥有和/或操作的硬件设备。示例软件分发平台1305可以由能够存储软件并且将其传输到其他计算设备的任何计算机服务器、数据设施、云服务等等来实现。第三方可以是拥有和/或操作该软件分发平台1305的实体的客户。例如,拥有和/或操作软件分发平台1305的实体可以是软件(例如图9的示例机器可读指令932)的开发者、销售者和/或许可人。第三方可以是购买和/或许可该软件以供使用和/或再销售和/或分许可的消费者、用户、零售商、oem,等等。在图示示例中,软件分发平台1305包括一个或多个服务器和一个或多个存储设备。存储设备存储机器可读指令932,这些指令可以对应于如上所述的图6和/或图7的示例机器可读指令600、700。示例软件分发平台1305的一个或多个服务器与网络1310通信,该网络可以对应于互联网和/或上述的示例网络926中的任何一者中的任何一个或多个。在一些示例中,作为商业交易的一部分,一个或多个服务器响应于将软件传输给请求方的请求。对软件的交付、销售和/或许可的支付可以由软件分发平台的一个或多个服务器来处理和/或由第三方支付实体来处理。这些服务器使得购买者和/或许可人能够从软件分发平台1305下载机器可读指令932。例如,可以与图6和/或图7的示例机器可读指令600、700相对应的软件可以被下载到示例处理器平台900,该平台用于执行机器可读指令932以实现图像控制电路102。在一些示例中,软件分发平台1305的一个或多个服务器周期性地提供、传输和/或强制更新软件(例如,图9的示例机器可读指令932),以确保改进、补丁、更新等等被分发并且在最终用户设备处被应用于软件。[0176]从前述内容将会明白,已公开了示例系统、方法、装置和制品,其提供了基于用户相对于摄像头的方位来动态选择来自两个或更多个摄像头的视频流,以便在例如用户与两个或更多个设备交互的视频会议期间输出。本文公开的示例基于(一个或多个)神经网络训练模型的执行,确定例如由图像数据中的面部特征(例如,鼻子)的偏转角表示的用户的脸部相对于与设备相关联的两个或更多个摄像头的方位。本文公开的示例基于用户相对于(一个或多个)摄像头的方位的变化在视频流之间自动切换,从而提供视频输出,其中,在用户与不同设备交互时,用户面向或者基本面向前方。[0177]所公开的系统、方法、装置和制品通过使用作为视频会议的一部分生成的图像数据来确定用户方位并且选择将用户呈现为基本朝前的视频流,而不是使用单独的接近传感器或者其他硬件,来提高了使用计算设备的效率。本文公开的示例还提供了关注评分,以确定用户是否与特定设备并因此与相应的摄像头接触,以提供对视频流的高效选择,并且防止了假阳性,否则,当用户只是短暂地与某一设备接触时,这种假阳性将导致在视频流之间切换。所公开的系统、方法、装置和制品因此指向诸如计算机或其他电子和/或机械设备之类的机器的操作的一个或多个改进。[0178]本文公开了用于电子用户设备的摄像头图像流选择的示例方法、装置、系统和制品。进一步示例及其组合包括以下内容:[0179]示例1包括一种装置,该装置包括:头部姿态估计电路,用于基于第一图像数据和第二图像数据,确定(a)用户相对于第一摄像头的第一方位,以及(b)所述用户相对于第二摄像头的第二方位,所述第一图像数据与由所述第一摄像头输出的第一视频流相关联,并且所述第二图像数据与由所述第二摄像头输出的第二视频流相关联,以及视频流选择电路,用于基于所述第一方位和所述第二方位来选择所述第一视频流或所述第二视频流中的一个来输出。[0180]示例2包括如示例1所述的装置,其中,所述头部姿态估计电路用于基于所述用户的脸部的一部分相对于所述第一摄像头的第一偏转角来确定所述第一方位,并且基于所述用户的脸部的一部分相对于所述第二摄像头的第二偏转角来确定所述第二方位。[0181]示例3包括如示例1或2所述的装置,还包括:关注得分生成电路,用于基于所述第一偏转角为所述第一摄像头确定第一关注得分,并且基于所述第二偏转角为所述第二摄像头确定第二关注得分,所述视频流选择电路用于基于所述第一关注得分和所述第二关注得分来选择所述第一视频流或所述第二视频流中的一个。[0182]示例4包括如示例1-3中任一项所述的装置,其中,所述关注得分生成电路用于基于(a)所述第一偏转角与阈值偏转角的比较以及(b)所述第一偏转角满足所述阈值偏转角的持续时间,确定所述第一关注得分,并且基于(c)所述第二偏转角与所述阈值偏转角的比较以及(d)所述第二偏转角满足所述阈值偏转角的持续时间,确定所述第二关注得分。[0183]示例5包括如示例1-4中任一项所述的装置,其中,所述视频流选择电路用于执行所述第一关注得分与关注检测阈值的比较,执行所述第二关注得分与所述关注检测阈值的比较,并且响应于确定所述第一关注得分和所述第二关注得分中的每一者满足所述关注检测阈值,选择所述第一视频流或所述第二视频流中与所述第一偏转角或所述第二偏转角中的较小者相对应的一个。[0184]示例6包括如示例1-5中任一项所述的装置,其中,所述视频流选择电路用于响应于确定所述第一关注得分和所述第二关注得分不满足所述关注检测阈值而选择所述第一视频流。[0185]示例7包括如示例1-6中任一项所述的装置,还包括:脸部检测电路,用于使用神经网络来在所述第一图像数据和所述第二图像数据中检测所述用户的脸部。[0186]示例8包括如示例1-7中任一项所述的装置,其中,所述头部姿态估计电路用于:(a)基于在所述第一图像数据中检测到的脸部的面部特征来确定所述第一方位,并且(b)基于在所述第二图像数据中检测到的脸部的面部特征来确定所述第二方位。[0187]示例9包括一种非暂态计算机可读介质,包括指令,所述指令当被执行时,使得处理器电路执行以下操作:至少基于第一视频帧和第二视频帧来确定(a)用户的脸部相对于第一摄像头的第一方位,以及(b)所述用户的脸部相对于第二摄像头的第二方位,所述第一视频帧由所述第一摄像头输出并且所述第二视频帧由所述第二摄像头输出,基于所述第一方位和所述第二方位来选择由所述第一摄像头生成的第一视频流或者由所述第二摄像头生成的第二视频流中的一个,所述第一视频流包括所述第一视频帧并且所述第二视频流包括所述第二视频帧,并且使得所述第一视频流或所述第二视频流中被选择的一个被输出以供呈现。[0188]示例10包括如示例9所述的非暂态计算机可读介质,其中,所述指令当被执行时,使得所述处理器电路执行以下操作:基于所述用户的脸部的一部分相对于所述第一摄像头的第一偏转角来确定所述第一方位,并且基于所述用户的脸部的所述部分相对于所述第二摄像头的第二偏转角来确定所述第二方位。[0189]示例11包括如示例9或10所述的非暂态计算机可读介质,其中,所述指令当被执行时,使得所述处理器电路执行以下操作:基于所述第一偏转角为所述第一摄像头确定第一关注得分,并且基于所述第二偏转角为所述第二摄像头确定第二关注得分,所述处理器电路基于所述第一关注得分和所述第二关注得分来选择所述第一视频流或所述第二视频流中的一个。[0190]示例12包括如示例9-11中任一项所述的非暂态计算机可读介质,其中,所述指令当被执行时,使得所述处理器电路执行以下操作:基于所述第一偏转角与阈值偏转角的比较来确定所述第一关注得分,并且基于所述第二偏转角与所述阈值偏转角的比较来确定所述第二关注得分。[0191]示例13包括如示例9-12中任一项所述的非暂态计算机可读介质,其中,所述指令当被执行时,使得所述处理器电路还执行以下操作:基于所述第一偏转角满足所述阈值偏转角的持续时间来确定所述第一关注得分。[0192]示例14包括如示例9-12中任一项所述的非暂态计算机可读介质,其中,所述指令当被执行时,使得所述处理器电路执行以下操作:执行所述第一关注得分与关注检测阈值的比较,执行所述第二关注得分与所述关注检测阈值的比较,并且响应于确定所述第一关注得分和所述第二关注得分中的每一者满足所述关注检测阈值,选择所述第一视频流或所述第二视频流中与所述第一偏转角或所述第二偏转角中的较小者相对应的一个。[0193]示例15包括如示例9-14中任一项所述的非暂态计算机可读介质,其中,所述指令当被执行时,使得所述处理器电路执行以下操作:响应于确定所述第一关注得分和所述第二关注得分不满足所述关注检测阈值而选择所述第一视频流。[0194]示例16包括如示例9-15中任一项所述的非暂态计算机可读介质,其中,所述指令当被执行时,使得所述处理器电路执行以下操作:使用神经网络来在所述第一视频帧和所述第二视频帧中检测所述用户的脸部。[0195]示例17包括如示例9-16中任一项所述的非暂态计算机可读介质,其中,所述指令当被执行时,使得所述处理器电路执行以下操作:(a)基于在所述第一视频帧中检测到的脸部的面部特征来确定所述第一方位,并且(b)基于在所述第二视频帧中检测到的脸部的面部特征来确定所述第二方位。[0196]示例18包括一种装置,该装置包括存储器,存储所述装置中的指令,以及处理器电路,用于执行所述指令以至少基于第一图像数据和第二图像数据来确定(a)用户相对于第一摄像头的第一方位,以及(b)所述用户相对于第二摄像头的第二方位,所述第一图像数据与由所述第一摄像头输出的第一视频流相关联,并且所述第二图像数据与由所述第二摄像头输出的第二视频流相关联,并且基于所述第一方位和所述第二方位来选择所述第一视频流或所述第二视频流中的一个来作为视频流输出。[0197]示例19包括如示例18所述的装置,其中,所述处理器电路用于执行所述指令以基于所述用户的脸部的一部分相对于所述第一摄像头的第一偏转角来确定所述第一方位,并且基于所述用户的脸部的一部分相对于所述第二摄像头的第二偏转角来确定所述第二方位。[0198]示例20包括如示例18或19所述的装置,其中,所述处理器电路用于执行所述指令以基于所述第一偏转角向所述用户分配相对于所述第一摄像头的第一关注得分,并且基于所述第二偏转角向所述用户分配相对于所述第二摄像头的第二关注得分,所述处理器电路基于所述第一关注得分和所述第二关注得分来选择所述第一视频流或所述第二视频流中的一个。[0199]示例21包括如示例18-20中任一项所述的装置,其中,所述处理器电路用于执行所述指令以基于(a)所述第一偏转角与阈值偏转角的比较以及(b)所述第一偏转角满足所述阈值偏转角的持续时间,确定所述第一关注得分,并且基于(c)所述第二偏转角与所述阈值偏转角的比较以及(d)所述第二偏转角满足所述阈值偏转角的持续时间,确定所述第二关注得分。[0200]示例22包括如示例18-21中任一项所述的装置,其中,所述处理器电路用于执行所述指令以执行以下操作:执行所述第一关注得分与关注检测阈值的比较,执行所述第二关注得分与所述关注检测阈值的比较,并且响应于确定所述第一关注得分和所述第二关注得分中的每一者满足所述关注检测阈值,选择所述第一视频流或所述第二视频流中与所述第一偏转角或所述第二偏转角中的较小者相对应的一个。[0201]示例23包括如示例18-22中任一项所述的装置,其中,所述处理器电路用于执行所述指令以响应于确定所述第一关注得分和所述第二关注得分不满足所述关注检测阈值而选择所述第一摄像头。[0202]示例24包括如示例18-23中任一项所述的装置,其中,所述处理器电路用于执行所述指令以使用神经网络来在所述第一图像数据和所述第二图像数据中检测所述用户的脸部。[0203]示例25包括如示例18-24中任一项所述的装置,其中,所述处理器电路用于执行所述指令以(a)基于在所述第一图像数据中检测到的脸部的面部特征来确定所述第一方位,并且(b)基于在所述第二图像数据中检测到的脸部的面部特征来确定所述第二方位。[0204]示例26包括一种装置,该装置包括用于姿态估计的设备,所述用于姿态估计的设备用于基于第一图像数据和第二图像数据,确定(a)用户的面部特征相对于第一摄像头的第一方位,以及(b)所述用户的面部特征相对于第二摄像头的第二方位,所述第一图像数据与由所述第一摄像头输出的第一视频流相关联,并且所述第二图像数据与由所述第二摄像头输出的第二视频流相关联,以及用于选择的设备,所述用于选择的设备用于基于所述第一方位和所述第二方位来选择所述第一视频流或所述第二视频流中的一个来输出。[0205]示例27包括如示例26所述的装置,其中,所述用于姿态估计的设备用于基于所述面部特征相对于所述第一摄像头的第一偏转角来确定所述第一方位,并且基于所述面部特征相对于所述第二摄像头的第二偏转角来确定所述第二方位。[0206]示例28包括如示例26或27所述的装置,还包括:用于得分生成的设备,用于基于所述第一偏转角为所述第一摄像头确定第一关注得分,并且基于所述第二偏转角为所述第二摄像头确定第二关注得分,所述用于选择的设备基于所述第一关注得分和所述第二关注得分来选择所述第一视频流或所述第二视频流中的一个。[0207]示例29包括如示例26-28中任一项所述的装置,其中,所述用于得分生成的设备用于基于所述第一偏转角与阈值偏转角的比较来确定所述第一关注得分,并且基于所述第二偏转角与所述阈值偏转角的比较来确定所述第二关注得分。[0208]示例30包括如示例26-29中任一项所述的装置,其中,所述用于得分生成的设备还用于基于所述第一偏转角满足所述阈值偏转角的持续时间来确定所述第一关注得分。[0209]示例31包括如示例26-29中任一项所述的装置,其中,所述用于选择的设备用于执行所述第一关注得分与关注检测阈值的比较,执行所述第二关注得分与所述关注检测阈值的比较,并且响应于确定所述第一关注得分和所述第二关注得分中的每一者满足所述关注检测阈值,选择所述第一视频流或所述第二视频流中与所述第一偏转角或所述第二偏转角中的较小者相对应的一个。[0210]示例32包括如示例26-31中任一项所述的装置,其中,所述用于选择的设备用于响应于确定所述第一关注得分和所述第二关注得分不满足所述关注检测阈值而选择所述第一视频流。[0211]示例33包括如示例26-32中任一项所述的装置,还包括:用于检测的设备,用于使用神经网络来在所述第一图像数据和所述第二图像数据中检测所述用户的脸部。[0212]示例34包括一种方法,该方法包括:基于第一图像数据和第二图像数据,确定(a)用户相对于第一摄像头的第一方位,以及(b)所述用户相对于第二摄像头的第二方位,所述第一图像数据与由所述第一摄像头输出的第一视频流相关联,并且所述第二图像数据与由所述第二摄像头输出的第二视频流相关联,并且基于所述第一方位和所述第二方位来选择所述第一视频流或所述第二视频流中的一个来输出。[0213]示例35包括如示例34所述的方法,还包括:基于所述用户的脸部的一部分相对于所述第一摄像头的第一偏转角来确定所述第一方位,并且基于所述用户的脸部的一部分相对于所述第二摄像头的第二偏转角来确定所述第二方位。[0214]示例36包括如示例34或35所述的方法,还包括:基于所述第一偏转角为所述用户确定相对于所述第一摄像头的第一关注得分,基于所述第二偏转角为所述用户确定相对于所述第二摄像头的第二关注得分,并且基于所述第一关注得分和所述第二关注得分来选择所述第一视频流或所述第二视频流中的一个。[0215]示例37包括如示例34-36中任一项所述的方法,还包括:基于(a)所述第一偏转角与阈值偏转角的比较以及(b)所述第一偏转角满足所述阈值偏转角的持续时间,确定所述第一关注得分,并且基于(c)所述第二偏转角与所述阈值偏转角的比较以及(d)所述第二偏转角满足所述阈值偏转角的持续时间,确定所述第二关注得分。[0216]示例38包括如示例34-37中任一项所述的方法,还包括:执行所述第一关注得分与关注检测阈值的比较,执行所述第二关注得分与所述关注检测阈值的比较,并且响应于确定所述第一关注得分和所述第二关注得分中的每一者满足所述关注检测阈值,选择所述第一视频流或所述第二视频流中与所述第一偏转角或所述第二偏转角中的较小者相对应的一个。[0217]示例39包括如示例34-38中任一项所述的方法,还包括:响应于确定所述第一关注得分和所述第二关注得分不满足所述关注检测阈值而选择所述第一视频流。[0218]示例40包括如示例34-39中任一项所述的方法,还包括:使用神经网络来在所述第一图像数据和所述第二图像数据中检测所述用户的脸部。[0219]示例41包括如示例34-40中任一项所述的方法,还包括:(a)基于在所述第一图像数据中检测到的脸部的面部特征来确定所述第一方位,并且(b)基于在所述第二图像数据中检测到的脸部的面部特征来确定所述第二方位。[0220]虽然本文公开了某些示例系统、方法、装置和制品,但本专利的覆盖范围不限于此。相反,本专利覆盖了公平地落在本专利的权利要求的范围内的所有系统、方法、装置和制品。[0221]特此通过引用将所附权利要求并入到这个“具体实施方式”部分中,其中每个权利要求独立地作为本公开的一个单独实施例。当前第1页12当前第1页12
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1