用于智能相机说话者跟踪和取景的面部检测引导的声源定位水平角度后处理的制作方法

文档序号:33151291发布日期:2023-02-03 22:54阅读:24来源:国知局
用于智能相机说话者跟踪和取景的面部检测引导的声源定位水平角度后处理的制作方法
用于智能相机说话者跟踪和取景的面部检测引导的声源定位水平角度后处理
1.优先权
2.本技术要求2021年7月22日提交的名称为“face detection guided sound source localization pan angle post processing for smart camera talker tracking and framing(用于智能相机说话者跟踪和取景的面部检测引导的声源定位水平角度后处理)”的美国临时专利申请号63/203,435的优先权,该专利申请通过引用以其全文并入在此。


背景技术:

3.在视频会议中,期望相机聚焦于说话者,而不是维持房间全景。为了帮助这种聚焦,使用声源定位(ssl)来提供使相机聚焦以捕获说话者的方向或角度。可以使用各种方法来确定ssl角度。然而,会议室音响效果(诸如回声)以及说话者与麦克风阵列之间的距离可能会导致所确定的ssl角度的抖动。这样的抖动使对说话者取景更具挑战性。
附图说明
4.为了说明,在附图中示出本公开中描述的某些示例。在附图中,相同的数字始终表示相同的元件。本文所公开的本发明的完整范围不限于所示的精确布置、尺寸和设备。在附图中:
5.图1是根据一些实现方式的包含相机、麦克风阵列、监视器以及桌子和椅子的会议室的顶视图图示。
6.图2是根据一些实现方式的图1的会议室的顶视图图示,其中若干个体中的一者正在说话。
7.图3是根据一些实现方式的图2的会议室的相机视图图示。
8.图4是根据一些实现方式的图3的相机视图图示,其中指示了像素边界。
9.图5是根据一些实现方式的在编解码器与具有麦克风阵列的相机之间的操作的划分的图示。
10.图6是根据一些实现方式的用于使用面部辨识数据来确定最终ssl角度的流程图。
11.图7是根据一些实现方式的编解码器的框图。
12.图8是根据一些实现方式的相机的框图。
13.图9是根据一些实现方式的处理器的框图。
14.图10是根据一些实现方式的相机的前视图的图示。
具体实施方式
15.声源定位(ssl)是处理由麦克风阵列获取的音频数据样本以确定由麦克风阵列检测到的声音的源位置(例如,ssl水平角度)的过程。会议室音响效果以及说话者与麦克风阵列之间的距离可能会引起ssl水平角度数据的抖动。为了提供更稳定的ssl水平角度数据,
可以将ssl水平角度数据与图像数据进行组合。更稳定的ssl水平角度数据然后可以用于在视频会议期间改进对说话者的取景。
16.视频会议系统可以包括获取图像数据的一个或多个相机和获取音频数据的麦克风阵列。图像数据可以由经训练的机器学习系统处理,以检测在会议室内的个体的一个或多个特征。这些特征可以包括个体的面部、头部、身体等。例如,在一个实施例中,经训练的机器学习系统可以输出说明会议室中的个体的面部的数据,其中面部被描绘为在边界框内。
17.麦克风阵列以预定速率获取音频样本。使用ssl技术来处理音频样本以确定对应于与音频样本相关联的水平或竖直位置中的一者或多者的估计的ssl水平角度。基于这些原始ssl水平角度的取景可能因为各种因素(诸如回声、说话者与麦克风阵列之间的距离等)而不可靠。ssl水平角度数据和图像数据的组合改进与声音(诸如在会议呼叫期间跟踪的一个或多个说话者的话音)相关联的最终方向的确定。
18.为了将图像数据与ssl数据组合,建立与音频样本相关联的水平角度值与图像中的像素之间的关系。生成槽(bin)以形成这个关系。图像中的像素的一个或多个列或行与槽相关联。相同的槽还与一个或多个ssl水平角度值相关联。例如,图像的像素宽度可以除以ssl水平角度值的范围以确定要使用的槽的数量。
19.根据音频样本确定的ssl水平角度可以被置于对应的槽中,使得对于置于槽内的每个ssl水平角度值使槽计数增加。经处理的图像数据提供边界框,其中描绘图像内的某些特征,诸如用户的面部。定义了与每个边界框相关联的像素范围。例如,第一边界框的像素范围可以包括从特定的左像素列到特定的右像素列的范围。
20.针对与边界框相关联的像素范围来记录槽条目的计数。在一个示例中,确定与每个边界框相关联的槽条目的总计数或总和,并且具有最高槽条目计数的边界框被视为由麦克风阵列检测到的声音的说话者或源。在另一实施例中,可以执行其他操作以使用边界框来确定声音的源,诸如通过考虑边界框的槽条目的平均值、像素的具有最高槽条目总数的边界框等。
21.一旦识别了具有最高槽条目计数的边界框,就生成输出数据以反映声音的最终源位置。在一个实施例中,输出数据可以表示边界框、面部或用户。在另一实施例中,输出数据可以表示与具有最大槽条目计数的边界框相关联的参考像素,诸如边界框的中心像素。输出数据然后用于确定声音的最终源位置,其可以表示最终ssl水平角度值。这个最终源位置数据可以用于在视频会议期间提供说话者的取景。
22.通过将边界框识别数据与ssl水平角度数据进行组合,以去除因房间音响效果和与说话者的距离变化而引起的抖动的方式改进用于取景的最终ssl水平角度值。特别地,通过将ssl水平角度值的选项缩小至匹配会议室内的面部或边界框的那些,最终ssl角度值可以更准确地表示视频会议期间的实际说话者并且更好地进行整体取景。
23.现在参考图1,示出了被配置为在视频会议中使用的会议室c。会议室c包括会议桌10和一系列椅子12。相机1116设置在会议室c中以观察坐在各个椅子12中的个体。设置监视器或电视机1120以显示一个或多个远端会议场所并且通常提供扬声器输出。相机1116具有视野(fov)和轴线或中心线(cl)。相机1116包括用于进行ssl的麦克风阵列1214。在一些示例中,麦克风阵列1214在相机1116中心线上居中,以简化操作。在图1的布局中,相机1116定
位为使得相机1116的cl在会议桌10的长度上居中。
24.现在转到图2,四个个体1、2、3和4坐在各个椅子12中。个体3正在说话,如由个体3的阴影所指示。
25.图3示出了会议室c的相机视图300。针对每个个体1至4示出了边界框。边界框410包围个体1的面部,边界框404包围个体2的面部,边界框406包围个体3的面部,并且边界框408包围个体4的面部。在一些示例中,通过神经网络分析由相机1116捕获的视频信号来形成边界框。经训练的机器学习系统可以分析视频信号或图像以检测其中描绘的用户的特征。在其他示例中,经训练的机器学习系统可以检测用户的特征,诸如面部、头部或身体。
26.图4示出了表示覆盖有虚线的图3的相机视图300的视图400,所述虚线表示由相机1116捕获的会议室图像的一组像素数量宽度的选定的像素列。为了清楚起见,视图400示出了选定的像素列,其中应理解,图像可以由更多像素列组成,诸如720p图像中的1280像素列。
27.示出了从图像的左侧参考和从图像的中心参考的对应于所示的像素值的ssl水平角度值。例如,ssl水平角度值可以在距左侧的120度范围内或在来自中心的任一方向上的60度范围内。
28.槽450用于将图像中的像素和ssl水平角度值进行相关。特别地,槽450与图像中的单个像素或像素范围相关联。如图所示,图像可以具有1280个像素。槽450还可以与特定的ssl水平角度或ssl水平角度值范围相关联。如图所示,ssl水平角度可以在0度至120度范围内,如从左到右示出,或者可以在从最左侧的-60度到中心的0度和在最右侧的60度的范围内。在其他示例中,ssl水平角度值可以使用不同的轴线来表示,诸如当ssl水平角度值表示竖直行时。
29.一旦定义,槽450就用于将特定像素和特定ssl水平角度值与会议室中的类似位置进行相关。在一些示例中,所使用的槽的数量可以匹配所使用的像素的数量。在其他示例中,可以通过将总像素数量除以ssl水平角度范围来确定槽的数量。一旦建立,槽450就可以有助于将边界框内的用户的面部位置与可以表示实际说话者的可能ssl水平角度值进行相关。
30.在优选示例中,对音频和视频的处理和对期望的相机的选择在相机1116与编解码器1100之间分开。参考图5,在步骤1002中,相机1116基于在麦克风阵列1214处接收的声音来执行ssl,并且提供原始ssl方向信息,一般是水平角度值。在一些示例中,确定的ssl方向极限与相机1116fov相同。在步骤1003中,将相机图像或视频输入到面部检测模块以供处理来检测面部。这优选地使用神经网络来进行,以提供一系列边界框,每个面部一个。有许多不同的神经网络来执行面部检测并提供边界框输出。将步骤1002的ssl方向信息与由步骤1003提供的边界框进行组合以提供最终的ssl方向或水平角度值。步骤1004将ssl方向信息和边界框提供到编解码器1100。在图6中详述步骤1004。还将来自相机1116的视频流提供到编解码器1100。
31.应理解,仅周期性地执行ssl确定和面部检测,而不是针对每个视频帧执行。在一些示例中,每一秒一次至每五秒一次执行面部检测。这是令人满意的,因为个体的位置改变不会比那些时间段快太多。在一些示例中,每80毫秒(msec)至200msec执行ssl确定,使得针对每个面部检测执行多个ssl确定。
32.在步骤1006中,编解码器1100从相机1116接收最终ssl方向信息和边界框。将最终ssl方向信息和边界框提供到取景步骤1012。将来自相机1116的取景视频和来自连接到编解码器1100的麦克风1114a和1114b(在图7中示出)的音频提供到远端。
33.图6是从原始ssl方向信息和边界框形成最终ssl方向信息的流程图。在步骤602处,创建槽。为此,将相机图像的像素宽度(诸如720p图像的1280)除以ssl水平角度以将接收到的原始ssl角度值与适当的像素值进行相关。为每个像素创建槽,诸如sslhistory[n][1280],其中n是样本数量并且1280是像素宽度。在其他实施例中,可以以替代方式确定槽,诸如通过将槽的数量设置为等于像素的数量或水平角度值的数量。
[0034]
在步骤604处,开始样本时间段。可以使用各种样本时间段,但一个示例是2秒,这可以匹配面部检测时间段,并且提供在每100msec进行ssl确定的情况下获得的20个原始ssl角度样本值。在步骤606处,接收原始ssl水平角度值并与适当或对应的槽进行相关。在该适当的槽sslhistory[n][1280]中创建槽条目,以表示原始ssl水平角度值。在步骤608处,确定样本时间段是否完成。如果样本时间段未完成,则流程返回到步骤606以处理下一原始ssl角度值。
[0035]
如果样本时间段完成,则在610处确定每个边界框的参考像素值。在一个实施例中,参考像素可以表示中心像素值,诸如facecenterx[n],其中基于第n面部,n是零。在其他实施例中,参考像素可以表示另一像素值,诸如边界框的左上角或右上角像素、边界框的左下角或右下角等。此后,相对于边界框的参考像素来确定每个边界框的范围。图6示出了通过执行步骤612至616、640或650来确定这个范围的三种替代方式。在一些情况下,可以使用一组相同的步骤(选自612至616、640或650)来确定每个边界框的范围,或者可以使用不同的步骤来确定不同的边界框。
[0036]
在步骤612处,对于每个边界框,确定边界框宽度是否小于最小像素值。如果是的话,则在614处将该边界框的边界框宽度值设置为最小像素值。在步骤614之后,或者如果在步骤612中边界框宽度超过最小宽度,则在616处将边界框的宽度乘以倍数或因数。倍数或因数可以是预定来提供像素值范围的任何整数,诸如4,以针对左像素值和右像素值检查原始ssl值计数,诸如facewiderx[n][l,r]。
[0037]
确定边界框的范围的替代方式是步骤640。在640处,可以基于预定范围来确定每个边界框的范围。例如,40至50个像素的范围可以是预定的并且被指定用于边界框。在这种情况下,像素的范围被设置为40至50个像素,其中该范围的中心像素与每个边界框的参考像素重合。
[0038]
在又一替代方案中,可以使用步骤650来确定边界框的范围。在650处,基于两个或更多个边界框之间的距离来确定边界框的范围。例如,在由两个边界框表示的两个用户相对彼此靠近的情形下,可以确定两个边界框之间的距离。在此类情形下,两个边界框的范围可以设置为更小的范围以避免边界框的范围重叠,重叠可能会使确定这两个用户中的一者的声音的源复杂化。在其他情形下,如果检测到三个或更多个边界框并且这些边界框中只有两个靠近彼此,则可以使用步骤612至616或640来确定远离另外两个的边界框的范围,并且可以使用者两个边界框之间的距离来确定彼此靠近的两个边界框的范围,如在650中。替代地,对于所有检测到的边界框,可以以相同的方式计算每个边界框的范围。在又一种情形下,可以进行初始确定以看出任何边界框是否彼此靠近,并且如果是的话,则将使用步骤
650来确定所有边界框的所有范围。如果边界框都不彼此靠近,则可以使用612至614将范围确定为默认值或者使用640确定为默认值。
[0039]
在确定了边界框的范围(使用步骤612至616、640或650)之后,过程继续到步骤618。在步骤618处,对较宽范围的边界框中的每个像素的槽条目进行计数,以提供扩大的边界框区域的总原始ssl位置计数,诸如facesslhits[n]。例如,针对每个边界框的范围内的所有槽条目可以记录总和。可以计算每个边界框的槽条目的总和并且彼此进行比较。在其他实施例中,可以计算每个边界框的槽条目的平均数量而不是总和并且进行比较。在又一示例中,可以使用槽条目执行不同的操作,诸如找到边界框内的槽条目的中间值或模。
[0040]
在步骤620处,确定具有最高槽条目计数的边界框。最高槽条目计数可以存储在诸如facesslhitsmax的位置。在步骤622处,将该最高槽条目计数与阈值进行比较。在一些实施例中,阈值可以设置为5或其他值。
[0041]
通过执行步骤622,可以过滤掉基于随机噪声或不指示说话者的其他因素的ssl水平角度值。如果最高槽条目计数不大于阈值,则操作返回到步骤604以开始新的采样时间段。相反,如果最高计数大于阈值,则过程继续到步骤624。值得注意的是,在一些实施例中,可以省略步骤622。
[0042]
在步骤624处,确定指示具有最高槽条目计数的边界框的输出数据。在一个实施例中,输出数据可以指定具有最高槽条目计数的边界框并且将其提供到编解码器1100。在其他实施例中,输出数据可以指定与具有最高槽条目计数的边界框相关联的像素位置。例如,具有最高槽条目计数的边界框的参考像素值(诸如中心像素值)可以被提供作为发送到编解码器1100的输出数据。该参考像素值可以被视为最终ssl方向。该最终ssl方向表示和最高槽计数重合的原始ssl水平角度值,所述最高槽计数与表示正在说话的实际用户的边界框的范围相关联。在步骤624之后,操作返回到步骤604。
[0043]
图7示出了根据本公开的示例的编解码器1100的方面。编解码器1100可以包括经由接口与总线1115进行接口连接的扬声器1122和麦克风1114a,但在很多情况下,扬声器1122设置在监视器1120中,麦克风1114a通过模数(a/d)转换器1112与该总线进行接口连接,并且扬声器1122通过数模(d/a)转换器1113与该总线进行接口连接。编解码器1100还包括处理单元1102、网络接口1108、闪存存储器1104、ram 1105以及输入/输出(i/o)通用接口1110,它们全部通过总线1115进行联接。相机1116被示出为连接到i/o接口1110。麦克风1114b连接到网络接口1108。hdmi接口1118连接到总线1115并且连接到外部显示器或监视器1120。总线1115是说明性的,并且可以使用元件之间的任何互连,诸如外围部件互连高速(pcie)链路和交换机、通用串行总线(usb)链路和集线器、或它们的组合。相机1116以及麦克风1114a和1114b可以被容纳在包含其他部件的壳体中,或者可以在外部且可移除、通过有线或无线连接进行连接。
[0044]
处理单元1102可以包括数字信号处理器(dsp)、中央处理单元(cpu)、图形处理单元(gpu)、专用硬件元件(诸如神经网络加速器和硬件编解码器)等的任何期望的组合。
[0045]
闪存存储器1104存储呈软件和固件形式的不同功能的模块或通用程序,以用于控制编解码器1100。所示的模块包括视频编解码器1150、相机控制1152、取景1154、其他视频处理1156、音频编解码器1158、音频处理1160、网络操作1166、用户接口1168,以及操作系统和各种其他模块1170。ram 1105用于当模块在执行时存储闪存存储器1104中的模块中的任
一者,存储视频流的视频图像和音频流的音频样本,并且可以用于处理单元1102的暂存器操作。
[0046]
网络接口1108实现编解码器1100与其他装置之间的通信,并且可以是有线的、无线的或它们的组合。在一个示例中,网络接口1108连接或联接到互联网1130,以在视频会议中与远程端点1140通信。在一个或多个示例中,通用接口1110向本地装置提供数据传输,诸如键盘、鼠标、打印机、投影仪、显示器、外部扬声器、附加相机和麦克风舱等。
[0047]
在一个示例中,相机1116和麦克风1114分别捕获视频会议环境中的视频和音频,并且产生通过总线1115传输到处理单元1102的视频和音频流或信号。在本公开的至少一个示例中,处理单元1102使用存储在闪存存储器1104中的模块中的算法来处理视频和音频。处理过的音频流和视频流可以发送到联接到网络接口1108的远程装置和联接到通用接口1110的装置以及从所述远程装置和所述装置中接收。这是编解码器1100的配置的一个示例。
[0048]
图8示出了根据本公开的示例的相机1200的方面,该相机可以是相机1116。相机1200包括经由接口与总线1215进行接口连接的成像器或传感器1216和麦克风阵列1214,麦克风阵列1214通过模数(a/d)转换器1212与该总线进行接口连接,并且成像器1216通过成像器接口1218与该总线进行接口连接。相机1200还包括处理单元1202、闪存存储器1204、ram 1205以及输入/输出通用接口1210,它们全部通过总线1215进行联接。总线1215是说明性的,并且可以使用元件之间的任何互连,诸如外围部件互连高速(pcie)链路和交换机、通用串行总线(usb)链路和集线器、以及它们的组合。编解码器1100优选地使用usb接口连接到i/o接口1210。
[0049]
处理单元1202可以包括数字信号处理器(dsp)、中央处理单元(cpu)、图形处理单元(gpu)、专用硬件元件(诸如神经网络加速器和硬件编解码器)等的任何期望的组合。
[0050]
闪存存储器1204存储呈软件和固件形式的不同功能的模块或通用程序,以用于控制相机1200。所示的模块包括相机控制1252、面部和身体发现1254、声源定位1260、神经网络模块1262、最终ssl方向1264,如在图6中,以及操作系统和各种其他模块1270。ram 1205用于当模块在执行时存储闪存存储器1204中的模块中的任一者,存储视频流的视频图像和音频流的音频样本,并且可以用于处理单元1202的暂存器操作。
[0051]
在第二配置中,将相机简化,并且增加了编解码器能力和处理。在该第二配置中,神经网络在编解码器而不是相机上操作。在第一配置中,相机将其原始视频流提供到编解码器,然后使用神经网络分析所述原始视频流以发现由相机形成的边界框、姿势估计和关键点。在第二配置中,相机仍执行原始ssl并且将原始ssl位置信息提供到编解码器,但在编解码器中执行最终ssl角度确定。在第三配置中,ssl也由编解码器执行,其中相机提供来自每个麦克风的音频流。该第三配置允许最简单的相机,但以进一步增加编解码器的处理要求为代价。第二配置是第一配置与第三配置之间的妥协,其要求来自编解码器的更少处理但在相机中进行更多处理。特定配置的使用取决于所要求的性能水平的部件成本。
[0052]
对于视频会议端点和以其他方式使用的装置,具有不同的部件和部件布置的其他配置是众所周知的。
[0053]
图9是可以用作处理单元1102或1202的示例性片上系统(soc)1300的框图。一系列更强大的微处理器1302(诸如arm a72或a53核心)形成soc 1300的主通用处理块,而更强大
的数字信号处理器(dsp)1304和多个不那么强大的dsp 1305提供专用计算能力。更简单的处理器1306(诸如arm r5f核心)提供soc 1300中的通用控制能力。更强大的微处理器1302、更强大的dsp 1304、不那么强大的dsp 1305以及更简单的处理器1306各自包括各种数据和指令高速缓存(诸如l1i、l1d和l2d)以提高操作的速度。高速互连1308将微处理器1302、更强大的dsp 1304、更简单的dsp 1305和处理器1306连接到soc 1300中的各种其他部件。例如,包括板载存储器或sram 1312的多核共享存储器控制器1310连接到高速互连1308以充当soc 1300的板载sram。ddr(双倍数据速率)存储器控制器系统1314连接到高速互连1308并且充当外部dram存储器的外部接口。ram 1105或1205由sram 1312和外部dram存储器形成。视频加速模块1316和雷达处理加速器(pac)模块1318类似地连接到高速互连1308。神经网络加速模块1317被提供用于神经网络操作的硬件加速。视觉处理加速器(vpacc)模块1320连接到高速互连1308,深度和运动pac(dmpac)模块1322也是这样。
[0054]
图形加速模块1324连接到高速互连1308。显示子系统1326连接到高速互连1308以允许各种视频监视器的操作和连接到各种视频监视器。系统服务块1332被提供用于正常soc 1300操作,该系统服务块包括诸如直接存储器访问(dma)控制器、存储器管理单元、通用i/o、邮箱等项。串行连接模块1334连接到高速互连1308并且包括模块,如在soc中正常的那样。车辆连接模块1336为外部通信接口(诸如pcie块1338、usb块1340和以太网交换机1342)提供互连。捕获/mipi模块1344包括四通道csi-2兼容发射块以及四通道csi-2接收模块和集线器。
[0055]
mcu岛1360被提供作为辅子系统,并且当其他部件掉电以节省能量时,处理集成soc 1300的操作。mcu arm处理器1362(诸如一个或多个arm r5f核心)作为主装置操作并且通过隔离接口1361联接到高速互连1308。mcu通用i/o(gpio)块1364作为从属装置操作。mcu ram 1366被提供来充当mcu arm处理器1362的本地存储器。can总线块1368(即,附加的外部通信接口)进行连接以允许与车辆中的常规can总线环境的操作。以太网mac(媒体访问控制)块1370被提供用于进一步连接。外部存储器(一般是非易失性存储器(nvm),诸如闪存存储器1104)经由外部存储器接口1369连接到mcu arm处理器1362,以便存储加载到各种其他存储器中的指令以供各种适当的处理器执行。mcu arm处理器1362作为安全处理器操作,其监视soc 1300的操作以确保soc 1300的适当操作。
[0056]
应理解,这是被提供用于说明的soc的一个示例,并且具有不同数量的处理器、dsp、加速器等许多其他soc示例是可能的。
[0057]
图10提供了相机1200(诸如相机1116)的前视图。相机1200具有壳体1402,其中镜头1404设置在中心以与成像器1216一起操作。一系列五个开口1406被提供作为麦克风阵列1214中的麦克风的端口。应注意,麦克风开口1406形成水平线以向ssl算法提供期望的角度确定。在其他实施例中,麦克风开口1406可以形成竖直线,或可以形成水平线和竖直线的组合。这是相机1200的示例性说明,并且具有不同镜头和麦克风配置的许多其他配置是可能的。
[0058]
尽管以上描述使用会议室作为示例性环境,但环境可以是任何设置。应理解,槽可以被提供用于水平像素组,而不是如上所述的每个水平像素,具体取决于相机图像中的像素数量和最终ssl方向值的期望分辨率。尽管边界框在上面被描述为表示个体的面部的位置,但可以使用提供面部位置的其他参数。尽管使用面部来确定个体位置,但可以代替或结
合面部来使用其他身体参数,诸如上肢等。
[0059]
通过结合神经网络而使用原始ssl角度信息来确定相机的视野中的个体的面部位置,一组个体中的说话者的位置具有被提供作为面部的边界框的中心的ssl位置。边界框中心的使用去除了基于房间音响效果或距麦克风阵列的说话者距离的ssl位置值的抖动。这个抖动的去除允许改进的说话者取景。
[0060]
所描述的各种示例是通过说明方式提供的,并且不应被解释为限制本公开的范围。在不脱离本公开的范围的情况下并且在不脱离所附权利要求的情况下,可以对本文中描述的原理和示例进行各种修改和改变。
[0061]
以下是本技术的进一步的示例:
[0062]
1、一种方法,包括:
[0063]
使用相机(1116)获取图像,其中所述图像包括布置成行和列的像素;
[0064]
确定与所述图像中描绘的一个或多个面部对应的一个或多个边界框(1003);
[0065]
确定与所述图像相关联的多个槽(602),其中所述多个槽中的每一个与所述列中的一个或多个相关联;
[0066]
使用麦克风阵列(1214)来获取多个音频样本(1002);
[0067]
确定与所述多个音频样本中的一个或多个相关联的声源定位(ssl)水平角度值(1002);
[0068]
针对相应的ssl水平角度值(1002),确定所述多个槽中的一个或多个对应的槽;
[0069]
对于与每个相应的ssl水平角度值相关联的所述一个或多个对应的槽中的每一个,使槽条目计数增加(606);
[0070]
相对于所述一个或多个边界框中的每个边界框来确定第一范围(616、640、650),所述第一范围指示从第一列延伸到第二列的像素;
[0071]
针对所述每个边界框来确定与所述每个边界框的所述第一范围(616、640、650)相关联的所述槽条目计数(618)的总和;
[0072]
基于所述一个或多个边界框的所述槽条目计数(618)的所述总和来确定具有最大总和的第一边界框(620);以及
[0073]
确定指示所述第一边界框的输出数据(624)。
[0074]
2、根据示例1所述的方法,其中所述确定与所述图像相关联的所述多个槽(602)包括:
[0075]
确定所述图像的第一像素宽度;
[0076]
确定第二范围,其中所述第二范围包括与在操作期间来自所述麦克风阵列的输出相关联的可能的ssl水平角度值的范围;以及
[0077]
将所述第一像素宽度除以所述第二范围。
[0078]
3、根据示例1所述的方法,进一步包括:
[0079]
使用ssl算法(1002)来处理所述多个音频样本(1002)中的所述一个或多个,以确定指示声音的方向的所述ssl水平角度值。
[0080]
4、根据示例1所述的方法,进一步包括:
[0081]
使用经训练的机器学习系统(1003)来处理所述图像,以确定在所述图像中描绘的所述一个或多个边界框。
[0082]
5、根据示例1所述的方法,进一步包括:
[0083]
确定所述第一边界框的第一宽度(610);
[0084]
确定所述第一边界框的所述第一宽度(610)小于第一值(612、614),其中所述第一值(612)指示最小像素值(612);以及
[0085]
通过将所述第一值(614)乘以第二值(616)来确定所述第一边界框的所述第一范围(616),其中所述第二值是预定值(616)。
[0086]
6、根据示例1所述的方法,进一步包括:
[0087]
确定所述第一边界框的第一宽度(610);
[0088]
确定所述第一边界框的所述第一宽度(610)大于第一值(612、616),所述第一值(612)指示最小像素值(612);以及
[0089]
通过将所述第一宽度(610)乘以第二值(616)来确定所述第一边界框的所述第一范围(616),其中所述第二值是预定值(616)。
[0090]
7、根据示例1所述的方法,进一步包括:
[0091]
确定所述第一边界框的参考像素(610);以及
[0092]
相对于所述参考像素将预定像素范围(640)指定为所述第一边界框的所述第一范围(640)。
[0093]
8、根据示例1所述的方法,进一步包括:
[0094]
确定两个或更多个边界框之间的距离(650);以及
[0095]
基于所述两个或更多个边界框之间的所述距离(650)来确定所述两个或更多个边界框中的至少一者的所述第一范围(650)。
[0096]
9、根据示例1所述的方法,进一步包括:
[0097]
确定所述第一边界框的所述槽条目计数(618)的所述总和大于阈值(622);以及
[0098]
响应于所述第一边界框的所述槽条目计数的所述总和大于所述阈值(622、624)而发送所述输出数据(624)。
[0099]
10、根据示例1所述的方法,进一步包括:
[0100]
确定与所述第一边界框相关联的参考像素(610);以及
[0101]
发送所述输出数据(624),其中所述输出数据(624)指示与所述参考像素(624)相关联的方向。
[0102]
11、一种系统,包括:
[0103]
相机(1116);
[0104]
麦克风阵列(1214);
[0105]
存储器(1104、1204),所述存储器存储计算机可执行指令;以及
[0106]
硬件处理器(1102、1202),所述硬件处理器联接到所述相机(1116)和所述麦克风阵列(1214),所述硬件处理器(1102、1202)被配置为执行所述计算机可执行指令以:
[0107]
使用相机(1116)获取图像(300),其中所述图像(300)包括布置成行和列(300、400)的像素;
[0108]
确定与所述图像(300)中描绘的一个或多个用户(1-4)对应的一个或多个边界框(404-410);
[0109]
确定与所述图像(400)相关联的多个槽(450),其中所述多个槽中的每一个与所述
列(400)中的一个或多个相关联;
[0110]
使用所述麦克风阵列(1214)来获取多个音频样本(1002);
[0111]
确定与所述多个音频样本(1002)中的一个或多个相关联的声源定位(ssl)水平角度值(1002);
[0112]
针对相应的ssl水平角度值(1002),确定所述多个槽(450)中的一个或多个对应的槽(450);
[0113]
对于与每个相应的ssl水平角度值(606)相关联的所述一个或多个对应的槽(450)中的每一个,使槽条目计数增加(606);
[0114]
确定所述一个或多个边界框(404-410)中的每个边界框的第一范围(616、640、650),所述第一范围(616、640、650)指示从第一列延伸到第二列(400)的像素;
[0115]
针对所述每个边界框来确定与所述每个边界框(404-410)的所述第一范围(616、640、650)相关联的所述槽条目计数(618);
[0116]
确定具有最大条目计数(620)的第一边界框(404-410);以及
[0117]
确定指示所述第一边界框(404至410)的输出数据(620)。
[0118]
12、根据示例11所述的系统,用于确定与所述图像相关联的所述多个槽的所述计算机可执行指令进一步包括用于进行以下操作的指令:
[0119]
确定所述图像(300)的第一像素宽度(400);
[0120]
确定第二范围(400),其中所述第二范围(400)包括与在操作期间来自所述麦克风阵列(1214)的输出(1002)相关联的可能的ssl水平角度值(400)的范围;以及
[0121]
将所述第一像素宽度(400)除以(602)所述第二范围(400)。
[0122]
13、根据示例11所述的系统,所述硬件处理器进一步被配置为执行所述计算机可执行指令以:
[0123]
使用经训练的机器学习系统(1003)来处理所述图像(300),以确定在所述图像(300)中描绘的所述一个或多个边界框(404-410);以及
[0124]
使用ssl算法(1002)来处理所述多个音频样本(1002)中的一个或多个,以确定指示声音的方向的所述ssl水平角度值(400)。
[0125]
14、根据示例11所述的系统,所述硬件处理器进一步被配置为执行所述计算机可执行指令以:
[0126]
通过以下操作中的一个来确定所述第一边界框(404-410)的所述第一范围(616、640、650):
[0127]
将所述第一边界框(404-410)的第一宽度(616)乘以(616)第一值(616),
[0128]
使用预定像素范围(640),或者
[0129]
使用所述边界框(404至-410)中的两个或更多个之间的距离(650)。
[0130]
15、根据示例11所述的系统,所述硬件处理器进一步被配置为执行所述计算机可执行指令以:
[0131]
发送所述输出数据(624),其中所述输出数据(624)指示与正在说话(624、1006、1012)的用户相关联的方向。
[0132]
16、一种方法,包括:
[0133]
使用相机(1116)获取图像,其中所述图像包括相对于第一轴线和第二轴线布置的
像素;
[0134]
确定与在所述图像中描绘的一个或多个面部对应的一个或多个边界框(1003);
[0135]
确定与所述图像相关联的多个槽(602),其中所述多个槽中的每一个与沿着所述图像的所述第一轴线的一个或多个像素相关联;
[0136]
使用麦克风阵列(1214)来获取多个音频样本(1002);
[0137]
确定与所述多个音频样本(1002)中的一个或多个相关联的声源定位(ssl)水平角度值;
[0138]
针对相应的ssl水平角度值(1002),确定所述多个槽中的一个或多个对应的槽;
[0139]
对于与每个相应的ssl水平角度值相关联的所述一个或多个对应的槽中的每一个,使槽条目计数增加(606);
[0140]
相对于所述一个或多个边界框中的每个边界框来确定第一范围(616、640、650),所述第一范围(616、640、650)指示从沿着所述第一轴线的第一像素延伸到沿着所述第一轴线的第二像素的像素;
[0141]
针对所述每个边界框来确定与所述每个边界框的所述第一范围(618)相关联的所述槽条目计数(618);
[0142]
确定具有最大槽条目计数(620)的第一边界框;以及
[0143]
发送与所述第一边界框相关联的输出数据(624)。
[0144]
17、根据示例16所述的方法,其中:
[0145]
所述第一轴线指定列(1002),并且
[0146]
所述第二轴线指定行(1002)。
[0147]
18、根据示例16所述的方法,其中:
[0148]
所述第一轴线指定行(1002),并且
[0149]
所述第二轴线指定列(1002)。
[0150]
19、根据示例16所述的方法,进一步包括:
[0151]
针对所述每个边界框来确定与所述槽条目计数相关联的第一值(618),所述槽条目计数与所述每个边界框的所述第一范围(618)相关联;
[0152]
基于所述第一值(618)来确定所述第一边界框具有最大第一值(620);并且
[0153]
其中所述确定具有最大槽条目计数(620)的所述第一边界框是基于具有所述最大第一值(620)的所述第一边界框。
[0154]
20、根据示例16所述的方法,其中所述输出数据(624)指示与在获取所述图像并获取所述多个音频样本的时间正在说话的用户相关联的最终方向(1006)。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1