本申请涉及人脸识别领域,尤其涉及一种视频中说话人定位的方法、装置及计算机存储介质。
背景技术:
随着互联网的不断发展,视频已经成为信息传递的新载体。但不同语种的客观存在,使视频信息在交流中遇到了较大阻碍,而目前的解决方法则大多是用添加指定语言字幕或使用人工配音的方式。为此,现有技术提出一种视频翻译方法,将说话人的语言翻译为指定语言并配合生成同步的唇形,让视频中的说话人看起来像是在使用指定语言在说话,提高用户的观感体验。而实现该视频翻译方法的过程中,需要对视频进行处理。原始视频中可能有多个人,可能说话人只是旁白,并没有出现。所以需要一种视频中说话人定位的方法,找到视频中是否有人,以及一个或多个人中是哪个人在说话,将说话人的人脸区域找出来,有利于实现后续视频翻译、唇形纠正等步骤。
技术实现要素:
本申请旨在至少在一定程度上解决相关技术中的技术问题之一。为此,本申请提出一种视频中说话人定位的方法、装置及计算机存储介质。
第一方面,本申请一些实施例提供了一种视频中说话人定位的方法,包括:将获得的待检测视频分段,得到若干分段视频;根据若干所述分段视频,获取若干分段音频;对若干所述分段视频进行人脸检测,得到若干人脸区域集;所述人脸区域集包含若干张人脸以及所述若干张人脸的定位信息;对若干所述人脸区域集进行分组,得到若干人脸检测结果组;获取说话人人脸图像;根据所述说话人人脸图像,从所述人脸检测结果组中确定目标人脸区域集;或者,对所述分段音频以及所述人脸区域集进行唇形同步检测,确定目标人脸区域集;其中,所述目标人脸区域集包含所述说话人人脸图像。
在一些实施例中,所述将获得的待检测视频分段,得到若干分段视频,包括:对所述待检测视频中任意相邻两帧的颜色直方图进行波动检测;当所述任意相邻两帧视频中后一帧视频的颜色直方图发生波动,将所述后一帧作为所述分段视频的第一帧,得到若干所述分段视频。
在一些实施例中,所述对若干所述分段视频进行人脸检测,包括:通过具有尺度不变框架的人脸检测网络对若干所述分段视频进行人脸检测;其中,所述人脸检测网络利用尺度修正策略提高小尺寸人脸的检测效果。
在一些实施例中,所述对若干所述分段视频进行人脸检测,得到若干人脸区域集,包括:对所述分段视频中每一帧检测到的每张人脸均使用左上角坐标和右下角坐标进行定位,得到若干人脸区域,从而得到所述分段视频的所述人脸区域集。
在一些实施例中,所述对若干所述人脸区域集进行分组,得到若干人脸检测结果组,包括:确定所述人脸区域集中任意相邻两帧的所述人脸区域的交集;确定所述人脸区域集中任意相邻两帧的所述人脸区域的并集;确定所述人脸区域的交集与所述人脸区域的并集的比值,得出人脸区域交并比;当所述人脸区域交并比大于预设的第一阈值,将所述人脸区域分为一组,并采用中值滤波算法对分组后的人脸区域进行平滑处理,从而得到若干人脸检测结果组。
在一些实施例中,所述根据所述说话人人脸图像,从所述人脸检测结果组中确定目标人脸区域集,包括:将若干所述人脸检测结果组中的人脸区域进行扭曲,使所述人脸区域中人脸的眼睛和嘴巴在预设的位置范围,得到扭曲后的人脸检测结果组;将所述扭曲后的人脸检测结果组输入训练好的深度卷积神经网络模型,得到若干第一向量;所述第一向量为128维度的向量;将所述说话人人脸图像输入所述训练好的深度卷积神经网络模型,得到第二向量;所述第二向量为128维度的向量;根据所述第二向量与若干所述第一向量的相似度,确定所述说话人在所述扭曲后的人脸检测结果组中的位置,得到所述目标人脸区域集。
在一些实施例中,所述对所述分段音频以及所述人脸区域集进行唇形同步检测,确定目标人脸区域集,包括:将若干所述人脸检测结果组输入第一神经网络,得到若干第三向量;所述第一神经网络用于对人脸的下半脸进行特征提取,所述第三向量为512维度的向量;将若干所述分段音频输入第二神经网络,得到若干第四向量;所述第二神经网络用于对所述分段音频进行特征提取,所述第四向量为512维度的向量;根据若干所述第三向量与若干所述第四向量的相似度,确定所述人脸检测结果组中的所述说话人,得到所述目标人脸区域集。
在一些实施例中,所述根据若干所述第三向量与若干所述第四向量的相似度,确定所述人脸检测结果组中的所述说话人,得到所述目标人脸区域集,还包括:对若干所述第三向量与若干所述第四向量的相似度结果进行加窗处理以及逻辑回归处理,确定所述人脸检测结果组中的所述说话人,得到所述目标人脸区域集。
第二方面,本申请一些实施例还提供了一种装置,包括:至少一个处理器;至少一个存储器,用于存储至少一个程序;当所述至少一个程序被所述至少一个处理器执行,使得所述至少一个处理器实现如第一方面所述的视频中说话人定位的方法。
第三方面,本申请一些实施例还提供了一种计算机存储介质,其中存储有处理器可执行的程序,所述处理器可执行的程序在由所述处理器执行时用于实现如第一方面所述的视频中说话人定位的方法。
本申请实施例的有益效果如下:对待检测视频进行分段,对分段视频片段进行人脸检测,检测出每一帧当中有多少张人脸,同时获取每张人脸的定位,得到人脸检测区域集,利用前后帧人脸区域的交并比为人脸检测区域集进行分组,利用人脸识别或者是唇形同步来定位说话人,从而达到在视频中准确找出并定位指定说话人的效果。
附图说明
附图用来提供对本申请技术方案的进一步理解,并且构成说明书的一部分,与本申请的实施例一起用于解释本申请的技术方案,并不构成对本申请技术方案的限制。
图1为本申请一些实施例提供的一种视频中说话人定位的方法流程图;
图2为本申请一些实施例提供的经过多尺度滑动窗口检测的图像;
图3为人脸区域用左上角坐标及右下角坐标定位的示意图;
图4为得到人脸区域交并比的示意图;
图5为syncnet唇形同步检测器的检测结果示意图;
图6为对syncnet唇形同步检测器的检测结果进行加窗处理以及softmax逻辑回归处理的结果示意图;
图7为本申请一些实施例提供的一种装置的结构示意图。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本申请,并不用于限定本申请。
需要说明的是,虽然在系统示意图中进行了功能模块划分,在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于系统中的模块划分,或流程图中的顺序执行所示出或描述的步骤。说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。
参照图1,图1为本申请一些实施例提供的一种视频中说话人定位的方法,该方法包括但不限于步骤s100至步骤s150。
步骤s100,将获得的待检测视频分段,得到若干分段视频。
一般视频中存在着镜头变化,获取到的待检测视频可能由多个镜头剪辑拼接而成,因此要在视频中准确定位到说话人,需要先将获取到的待检测视频根据镜头切换的情况进行分段。在本申请的实施例中,是通过比较任意相邻两帧的颜色直方图来判断视频是否进行了镜头转换。颜色直方图用于描述不同色彩在整幅图像中所占的比例,而且颜色直方图与整幅图像中每种色彩所处的空间位置无关。
具体地,假设a帧和b帧为相邻两帧,b帧与c帧为相邻两帧;当a帧与b帧是连续变化的时候,a帧和b帧的颜色直方图也应该是均匀变化的,则判断视频中镜头没有进行切换;当a帧和b帧的颜色直方图突然发生波动,则判断视频中发生了镜头切换,则将a帧作为前一个分段视频的最后一帧,b帧作为后一个分段视频的第一帧。随后继续比较b帧与c帧的颜色直方图,继续完成视频分段。当待检测视频中的所有帧都比较完毕,得到若干分段视频。
步骤s110,根据若干分段视频,获取若干分段音频。
具体地,从若干分段视频中分别获取若干分段音频,具体从视频中获取音频的方法是可以使用ffmpeg(fastforwardmpeg)程序获取音频,也可以利用如moviepy、librosa等算法从视频中分离出音频。本申请实施例不对从视频中获取音频的方法作具体限制。
步骤s120,对若干分段视频进行人脸检测,得到若干人脸区域集;人脸区域集包含若干张人脸以及若干张人脸的定位信息。
由步骤s110得到若干分段视频,每个分段视频中都只包含一个镜头,在每个镜头中,不同画面可能分别包含过场片段、素材、若干个人物,而在本申请中,只需要对有人物的画面进行处理,因此需要对若干分段视频进行人脸检测。
具体地,本申请一些实施例中使用的人脸检测的方法为s3fd(singleshotscale-invariantfacedetector,单步尺度不变面部检测器),这是一种具有尺度不变性框架的人脸检测网络,本申请实施例中的s3fd网络包含了5个部分,分别是:基于vgg16的卷积层,新增的卷积层,归一化层,预测卷积层和多目标损失层。本申请实施例中对分段视频进行人脸检测的具体实施过程如下。
首先使用ffmprg或者是opencv对1个分段视频进行分帧,得到每一帧的图像。将每一帧图像依照时间顺序输入人脸检测网络,使用anchor(多尺度滑动窗口)对每一帧图像进行检测,从图像上把不同大小的人脸区域用合适大小的窗口框出来,从而框选得到多窗口的检测结果。具体框选的结果可以参照图2,图2为本申请一些实施例提供的经过多尺度滑动窗口检测的图像,不同大小的方框代表不同窗口的检测结果。需要说明的是,在本申请实施例中,s3fd网络修正了anchor的大小,从而更好地匹配有效感受野;调整了anchor的步长,从而确保图像上不同尺寸的anchor密度相同。同时,本申请实施例还采用了尺度修正策略来提高对面积较小的人脸的召回率,尺度修正策略具体包括降低阈值和挑选最优n个anchor。在框选得到多窗口的检测结果后,需要对检测结果进行过滤处理,过滤处理主要包括三部分:第一部分是根据类别置信度对检测结果进行分类,并过滤掉属于背景的检测结果,确定人脸框;第二部分是根据预设的置信度阈值,过滤掉置信度较低的检测结果;第三部分是采用nms(non-maximumsuppression,非极大值抑制)算法,过滤掉重叠度较大的检测结果。经过上述三个部分的过滤处理,可以确定出每一帧图像中若干张人脸的检测结果,从而得到该分段视频中包含若干张人脸以及若干张人脸的定位信息的人脸区域集。在本申请实施例中,采用s3fd算法,可以在分段视频的每一帧中同时检测不同尺寸的人脸,能够解决不同尺寸人脸难以同时检测的问题,并且提高了小尺寸人脸的召回率。
例如在1号分段视频,即video1中,每一帧可以检测到0到n张人脸,如图3所示,图3为人脸区域用左上角坐标及右下角坐标定位的示意图,每张人脸的区域可以用坐标(x0,y0,x1,y1)表示,其中(x0,y0)为人脸区域的左上角坐标,(x1,y1)为人脸区域的右下角坐标。在同一帧中,检测到的第一张人脸可以表示为(x0,y0,x1,y1)1,检测到的第二张人脸可以表示为(x0,y0,x1,y1)2。由于视频中的每一帧都有先后顺序,在第一帧检测到的第一张人脸可以表示为(x10,y10,x11,y11)1,在第二帧检测到的第一张人脸可以表示为(x20,y20,x21,y21)1。因此1号分段视频中检测到的人脸区域集可以表示为video1:{[(x10,y10,x11,y11)1,(x10,y10,x11,y11)2,...],[(x20,y20,x21,y21)1,(x20,y20,x21,y21)2,...],...}。
对若干分段视频均进行人脸检测,能够得到若干人脸区域集。
步骤s130,对若干人脸区域集进行分组,得到若干人脸检测结果组。
由步骤s120得到分段视频中每一帧的人脸检测结果,但由于每一帧图像的人脸检测是独立的,因此需要对人脸检测的结果进行分组,以确定任意相邻两帧中同一个人的定位信息,例如判断(x10,y10,x11,y11)1表示的人脸与(x20,y20,x21,y21)1表示的人脸是不是同一个人,或者判断(x10,y10,x11,y11)1表示的人脸与(x20,y20,x21,y21)2表示的人脸是不是同一个人。
具体地,本申请一些实施例提供的对人脸检测集进行分组的方法是判断任意相邻两帧中人脸区域的交并比。例如,获取1号分段视频第一帧的第一张人脸的区域(x10,y10,x11,y11)1,该人脸区域表示的人物为a。获取1号分段视频第二帧的第一张人脸的区域(x20,y20,x21,y21)1,获取人脸区域(x10,y10,x11,y11)1和人脸区域(x20,y20,x21,y21)1的交集,并获取人脸区域(x10,y10,x11,y11)1和人脸区域(x20,y20,x21,y21)1的并集,获取的人脸区域的交集与人脸区域的并集的比值,也就是前一帧中某一人脸区域的面积与后一帧某一人脸区域的面积之比,得出人脸区域的交并比,如果只是简单比较人脸检测集前后帧中人脸区域的重叠面积,也就是简单计算前后帧人脸区域的交集,由于人脸在前后帧中可能出现移动,人脸区域的面积可能发生改变,若前后帧中需要进行比较的两个人脸区域的面积不同,难以使用面积的交集来判断是否是同一张人脸。因此,本申请实施例使用人脸区域的交并比来比较前后帧的两个人脸区域,将前后帧的两个人脸区域的比较结果归一化到一个取值区间为[0,1]的值,更方便进行人脸判断。交并比可以用图4来表示,图4为得到人脸区域交并比的示意图。将该人脸区域的交并比与预设好的第一阈值作比较,第一阈值的取值区间为[0,1]。例如第一阈值设定为0.5,当人脸区域的交并比大于0.5,则判断人脸区域(x10,y10,x11,y11)1和人脸区域(x20,y20,x21,y21)1中检测到的人脸为同一个人物a,将人脸区域(x10,y10,x11,y11)1和人脸区域(x20,y20,x21,y21)1分为一组。当人脸区域的交并比小于0.5,则判断人脸区域(x10,y10,x11,y11)1和人脸区域(x20,y20,x21,y21)1中检测到的人脸不是同一个人物,则继续获取1号分段视频第二帧的第二张人脸的区域(x20,y20,x21,y21)2,获取(x10,y10,x11,y11)1和(x20,y20,x21,y21)2的人脸区域交并比,与第一阈值进行比较并判断。
同理,继续获取1号分段视频第一帧的第二张人脸的区域(x10,y10,x11,y11)2,该人脸区域表示的人物为b,将(x10,y10,x11,y11)2与1号分段视频第二帧中剩余的人脸区域进行比较,获取人脸区域交并比,继续判断第二帧中是否有人物b。当1号分段视频中的每一帧检测完毕,得到分组后的人脸区域,可以表示为video1:{[(x10,y10,x11,y11),(x20,y20,x21,y21),...]a,[(x10,y10,x11,y11),(x20,y20,x21,y21),...]b,...}
又因为每一帧图像的人脸检测是独立的,分组后的人脸区域的任意两帧之间存在跳动,需要分组后的人脸区域进行平滑处理。在本申请实施例中,采用中值滤波算法对检测结果进行平滑处理。
例如一组人脸区域为[(x10,y10,x11,y11),(x20,y20,x21,y21),(x30,y30,x31,y31),(x40,y40,x41,y41),...]a,设置一个领域的大小为3,则分组后的人脸区域的每一个点都与左右各一个点成为一个领域,例如x10,x20,x30即成为一个邻域,又例如x20,x30,x40又成为另一个邻域。在每个位置的邻域中选取中位数,对本领域中的数进行替换。例如在邻域x10,x20,x30中计算得中位数为a,用a替换x10,x20,x30,得到分组后的人脸区域变为[(a,y10,x11,y11),(a,y20,x21,y21),(a,y30,x31,y31),(x40,y40,x41,y41),...]a。继续在邻域a,a,x40中计算得到中位数为b,用b替换a,a,x40,得到人脸区域变为[(a,y10,x11,y11),(b,y20,x21,y21),(b,y30,x31,y31),(b40,y40,x41,y41),...]a。以此类推,对于y0,x1,y1,均使用相同的方法进行平滑处理,得到人脸检测结果组。需要说明的是,为了方便下文继续叙述,经过平滑处理的人脸检测结果组仍用video1:{[(x10,y10,x11,y11),(x20,y20,x21,y21),...]a,[(x10,y10,x11,y11),(x20,y20,x21,y21),...]b,...}来表示。
步骤s140,获取说话人人脸图像。
具体地,确定需要在视频中定位的说话人,并获取该说话人一张清晰的正脸图片。
步骤s150,从人脸检测结果组中确定目标人脸区域集;或者,对分段音频以及人脸区域集进行唇形同步检测,确定目标人脸区域集。
在本申请实施例中,提供了两种从人脸检测结果组中确定目标人脸区域集的方法,下面首先阐述第一种。
具体地,采用人脸识别技术来确定目标人脸区域集。由于在视频中,镜头可能从不同的角度拍摄同一个人,在定位目标时可能会出现误判,将同一个人不同角度的图像判断为不同的人。因此,本申请实施例使用脸部特征点估计算法,找到人脸的68个特征点,其中包括眼睛、鼻子、嘴巴和面部轮廓。找到脸部特征点后,无论人脸的朝向如何,都可以将若干人脸检测结果组中的人脸区域进行扭曲,使人脸区域中人脸的眼睛和嘴巴在预设的位置范围,一般预设的位置范围位于人脸的中部,得到扭曲后的人脸检测结果组。此时人脸的眼睛和嘴巴位于人脸的中部,定位更准确。将扭曲后的人脸检测结果组输入训练好的深度卷积神经网络模型,得到若干128维度的第一向量;将说话人人脸图像输入训练好的深度卷积神经网络模型,得到128维度的第二向量。比较第一向量和第二向量,得到第一向量和第二向量的相似度。本申请实施例所提到的第一向量和第二向量的相似度为余弦相似度(cosinesimilarity),假设第一向量为
若第一向量和第二向量的余弦相似度小于预设的阈值,例如cos(θ)<0.2,则认为第一向量和第二向量相似,由此可以判断该第一向量代表的人脸区域中的人物就是目标人物,从而可以从人脸检测结果组中得出包含目标人物的目标人脸区域集。
上文中阐述了利用人脸识别技术来确定目标人脸区域集的方法,下面开始阐述第二种确定目标人脸区域集的方法。
具体地,利用唇形同步检测在人脸检测结果组中定位目标人物。由于本申请的目的是在视频中定位正在说话的目标人物,人在说话时嘴唇运动,不同的唇形对应不同的发音,因此可以通过同步唇形与目标人物的音频来准确定位目标人物,同时排除其他正在说其他话的人的影响。
本申请实施例中使用syncnet唇形同步检测器对唇形与目标人物的音频进行同步。本申请实施例中使用的syncnet唇形同步检测器包含训练好的第一神经网络以及训练好的第二神经网络。将若干人脸检测结果组输入第一神经网络,第一神经网络对人脸的下半脸进行特征提取,得到512维度的第三向量。将若干分段音频输入第二神经网络,第二神经网络对分段音频进行特征提取,得到512维度的第四向量。需要说明的是,分段音频输入第二神经网络之前需要经过mfcc(mel-scalefrequencycepstralcoefficients,梅尔倒谱系数)处理。比较第三向量和第四向量,得到第三向量和第四向量的相似度。获得第三向量和第四向量相似度的方法与获得第一向量和第二向量相似度的方法一致,在此不再赘述。若第三向量和第四向量的余弦相似度小于预设的阈值,则认为第三向量和第四向量相似,由此可以判断第三向量表示的唇形与第四向量表示的音频同步,从而可以从人脸检测结果组中得出包含目标人物的目标人脸区域集。
参照图5,图5为syncnet唇形同步检测器的检测结果,如图5所示,横轴为人脸检测结果组的帧数,纵轴为置信度,置信度用于描述唇形与音频的匹配度,数值越高表示该唇形与音频的匹配度越高。蓝色线条为说话人1,橙色线条为说话人2,绿色线条为说话人3。在图5中,第2200帧到第3000帧都为绿色线条,判断这段视频中是说话人3在说话。
需要说明的是,由于syncnet网络只能对0.2秒时长的片段进行判断,在图5中,有蓝色线条和橙色线条的置信度交替为正数的现象,说明在这些帧中,说话人1和说话人2在交替说话,此时使用syncnet网络比较难以分清说话人1和说话人2的说话的边界。
因此,在本申请的一些实施例中,对syncnet唇形同步检测器的检测结果进行加窗处理以及softmax逻辑回归处理。具体步骤在下文展开陈述。
首先,对图5中的syncnet唇形同步检测器的检测结果进行加窗处理,每个窗口包含说话人1,说话人2,说话人3,各有10个对应的置信度值,分别为(a11,a21,a31,...,a81,a91,a101),(a12,a22,a32,...,a82,a92,a102),(a13,a23,a33,...,a83,a93,a103),为了防止在最后softmax计算阶段出现分母为0的情况,对负数的置信度值都取零值处理。
然后,对3个说话人窗口内的对应的置信度值进行求和,求和的结果分别为z1,z2,z3,可以分别表示为:
最后,对求和的结果进行softmax处理,得到该窗口3个说话人的概率pi,pi可以表示为:
根据概率pi,在时间窗口中哪个说话人的概率大,则判断该时间窗口内为对应说话人在说话。
参照图6,图6为对syncnet唇形同步检测器的检测结果进行加窗处理以及softmax逻辑回归处理的结果,横轴为帧数,纵轴为说话人标识,0为没有说话人,1、2、3为不同的说话人。从第490帧到第2200帧是说话人1和说话人2交替说话,最后是说话人3在说话,可以准确分出说话人1和说话人2。
通过步骤s至步骤s,利用对视频任意两帧的颜色直方图进行波动检测,检测镜头的变换情况,从而对待检测视频进行分段。利用s3fd网络对分段视频片段进行人脸检测,检测出每一帧当中有多少张人脸,同时获取每张人脸的定位,得到人脸检测区域集。利用任意相邻两帧的人脸区域的交并比为人脸检测区域集进行分组,得到人脸检测结果组,利用人脸识别或者是syncnet唇形同步检测来定位说话人,从而达到在视频中准确找出并定位指定说话人的效果。另外,对syncnet唇形同步检测器的检测结果进行加窗处理以及softmax逻辑回归处理,能够对多人交替说话进行判断,准确分出每个字是由谁在说话,达到优化唇形同步结果的效果。
参照图7,图7为本申请一些实施例提供的一种装置,该装置可用于执行如上任意实施例中的控制方法,例如,执行以上描述的图1中的方法步骤s100至s150。
该装置包括:一个或多个控制处理器和存储器,图7中以一个控制处理器及一个存储器为例。
控制处理器和存储器可以通过总线或者其他方式连接,图7中以通过总线连接为例。
存储器作为一种非暂态计算机可读存储介质,可用于存储非暂态软件程序以及非暂态性计算机可执行程序。此外,存储器可以包括高速随机存取存储器,还可以包括非暂态存储器,例如至少一个磁盘存储器件、闪存器件或其他非暂态固态存储器件。在一些实施方式中,存储器可选包括相对于控制处理器远程设置的存储器,这些远程存储器可以通过网络连接至该空调器。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
以上所描述的装置实施例仅仅是示意性的,其中作为分离部件说明的单元可以是或者也可以不是物理上分开的,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。
本申请一些实施例还提供了一种计算机存储介质,其中存储有处理器可执行的程序,其特征在于,处理器可执行的程序在由处理器执行时用于实现如图1所示的视频中说话人定位的方法。
本领域普通技术人员可以理解,上文中所公开方法中的全部或某些步骤、系统可以被实施为软件、固件、硬件及其适当的组合。某些物理组件或所有物理组件可以被实施为由处理器,如中央处理器、数字信号处理器或微处理器执行的软件,或者被实施为硬件,或者被实施为集成电路,如专用集成电路。这样的软件可以分布在计算机可读介质上,计算机可读介质可以包括计算机存储介质(或非暂时性介质)和通信介质(或暂时性介质)。如本领域普通技术人员公知的,术语计算机存储介质包括在用于存储信息(诸如计算机可读指令、数据结构、程序模块或其他数据)的任何方法或技术中实施的易失性和非易失性、可移除和不可移除介质。计算机存储介质包括但不限于ram、rom、eeprom、闪存或其他存储器技术、cd-rom、数字多功能盘(dvd)或其他光盘存储、磁盒、磁带、磁盘存储或其他磁存储装置、或者可以用于存储期望的信息并且可以被计算机访问的任何其他的介质。此外,本领域普通技术人员公知的是,通信介质通常包含计算机可读指令、数据结构、程序模块或者诸如载波或其他传输机制之类的调制数据信号中的其他数据,并且可包括任何信息递送介质。
以上是对本申请的较佳实施进行了具体说明,但本申请并不局限于上述实施方式,熟悉本领域的技术人员在不违背本申请精神的前提下还可作出种种的等同变形或替换,这些等同的变形或替换均包含在本申请权利要求所限定的范围内。
1.一种视频中说话人定位的方法,其特征在于,包括:
将获得的待检测视频分段,得到若干分段视频;
根据若干所述分段视频,获取若干分段音频;
对若干所述分段视频进行人脸检测,得到若干人脸区域集;所述人脸区域集包含若干张人脸以及所述若干张人脸的定位信息;
对若干所述人脸区域集进行分组,得到若干人脸检测结果组;
获取说话人人脸图像;
根据所述说话人人脸图像,从所述人脸检测结果组中确定目标人脸区域集;或者,对所述分段音频以及所述人脸区域集进行唇形同步检测,确定目标人脸区域集;
其中,所述目标人脸区域集包含所述说话人人脸图像。
2.根据权利要求1所述的视频中说话人定位的方法,其特征在于,所述将获得的待检测视频分段,得到若干分段视频,包括:
获取待检测视频中任意相邻两帧中前一帧的第一颜色直方图,并获取后一帧的第二颜色直方图;
获取所述第一颜色直方图和所述第二颜色直方图的差异;
当所述第一颜色直方图和所述第二颜色直方图的差异超过预设的第一阈值,将所述后一帧作为所述分段视频的第一帧,得到若干所述分段视频。
3.根据权利要求1所述的视频中说话人定位的方法,其特征在于,所述对若干所述分段视频进行人脸检测,包括:
根据多尺度滑动窗口对任意所述分段视频中的任意一帧进行检测,框选出若干检测结果;
对所述若干检测结果进行过滤处理,确定人脸区域集。
4.根据权利要求3所述的视频中说话人定位的方法,其特征在于,所述对若干所述分段视频进行人脸检测,得到若干人脸区域集,包括:
对所述分段视频中每一帧检测到的每张人脸均使用左上角坐标和右下角坐标进行定位,得到若干人脸区域,从而得到所述分段视频的所述人脸区域集。
5.根据权利要求4所述的视频中说话人定位的方法,其特征在于,所述对若干所述人脸区域集进行分组,得到若干人脸检测结果组,包括:
确定所述人脸区域集中任意相邻两帧的所述人脸区域的交集;
确定所述人脸区域集中任意相邻两帧的所述人脸区域的并集;
确定所述人脸区域的交集与所述人脸区域的并集的比值,得出人脸区域交并比;
当所述人脸区域交并比大于预设的第一阈值,将所述人脸区域分为一组,并采用中值滤波算法对分组后的人脸区域进行平滑处理,从而得到若干人脸检测结果组。
6.根据权利要求1所述的视频中说话人定位的方法,其特征在于,所述根据所述说话人人脸图像,从所述人脸检测结果组中确定目标人脸区域集,包括:
将若干所述人脸检测结果组中的人脸区域进行扭曲,使所述人脸区域中人脸的眼睛和嘴巴在预设的位置范围,得到扭曲后的人脸检测结果组;
将所述扭曲后的人脸检测结果组输入训练好的深度卷积神经网络模型,得到若干第一向量;
将所述说话人人脸图像输入所述训练好的深度卷积神经网络模型,得到第二向量;
根据所述第二向量与若干所述第一向量的相似度,确定所述说话人在所述扭曲后的人脸检测结果组中的位置,得到所述目标人脸区域集。
7.根据权利要求1所述的视频中说话人定位的方法,其特征在于,所述对所述分段音频以及所述人脸区域集进行唇形同步检测,确定目标人脸区域集,包括:
将若干所述人脸检测结果组输入第一神经网络,得到若干第三向量;所述第一神经网络用于对人脸的下半脸进行特征提取;
将若干所述分段音频输入第二神经网络,得到若干第四向量;所述第二神经网络用于对所述分段音频进行特征提取;
根据若干所述第三向量与若干所述第四向量的相似度,确定所述人脸检测结果组中的所述说话人,得到所述目标人脸区域集。
8.根据权利要求7所述的视频中说话人定位的方法,其特征在于,所述根据若干所述第三向量与若干所述第四向量的相似度,确定所述人脸检测结果组中的所述说话人,得到所述目标人脸区域集,还包括:
对若干所述第三向量与若干所述第四向量的相似度结果进行加窗处理以及逻辑回归处理,确定所述人脸检测结果组中的所述说话人,得到所述目标人脸区域集。
9.一种装置,其特征在于,包括:
至少一个处理器;
至少一个存储器,用于存储至少一个程序;
当所述至少一个程序被所述至少一个处理器执行,使得所述至少一个处理器实现如权利要求1-8中任一项所述的视频中说话人定位的方法。
10.一种计算机存储介质,其中存储有处理器可执行的程序,其特征在于,所述处理器可执行的程序在由所述处理器执行时用于实现如权利要求1-8任一项所述的视频中说话人定位的方法。
技术总结