一种视频处理方法、装置、电子设备及存储介质与流程

文档序号:18900423发布日期:2019-10-18 21:52阅读:234来源:国知局
一种视频处理方法、装置、电子设备及存储介质与流程

本申请涉及数据处理领域,尤其涉及一种视频处理方法、装置、电子设备及存储介质。



背景技术:

随着互联网的发展,有越来越多的用户在各个网络视频平台观看视频内容。

目前,现有的网络视频平台有“只看ta看功能,可以把视频中关于指定人物的片段挑出来。该功能是播放含有指定人物的时间片段,是在时间轴上对视频进行剪辑。

现有技术虽然可以根据用户需要,将包含指定人物的时间片段剪辑出来,但是,视频内容中该指定人物的位置可能处在视频边缘位置。



技术实现要素:

为了解决上述技术问题或者至少部分地解决上述技术问题,本申请提供了一种视频处理方法、装置、电子设备及存储介质。

第一方面,本申请提供了一种视频处理方法,包括:

从待处理视频中筛选包括目标人物的待处理帧;

从所述待处理帧中识别所述目标人物的人体区域;

从所述待处理帧中裁剪得到包括所述人体区域的裁剪区域图像;

根据所述裁剪区域图像生成裁剪视频。

可选的,所述从待处理视频中筛选包括目标人物的待处理帧,包括:

将所述待处理视频拆分为视频帧;

当所述视频帧中包括所述目标人物的人脸图像时,确定所述视频帧为所述待处理帧。

可选的,所述从待处理视频中筛选包括目标人物的待处理帧,还包括:

当所述视频帧中不包括所述人脸图像,统计所述视频帧前后预设时间段内所述人脸图像的出现次数;

当所述出现次数超过预设次数时,确定所述视频帧为所述待处理帧。

可选的,所述从所述待处理帧中识别所述目标人物的人体区域,包括:

从所述待处理帧中提取所述目标人物的人体关键点;

根据所述人体关键点计算所述目标人物的人体区域。

可选的,所述从所述待处理帧中识别所述目标人物的人体区域,还包括:

判断所述人体关键点是否符合预设条件;

当所述人体关键点符合预设条件时,执行计算所述人体区域的操作;所述人体关键点符合预设条件,包括:

所述人体关键点包括指定关键点;

和/或

所述人体关键点的个数大于或等于预设个数。

可选的,从所述待处理帧中裁剪得到包括所述人体区域的裁剪区域图像,包括:

根据所述人体关键点坐标计算人体中心点坐标;

根据所述人体中心点坐标、待处理视频的分辨率及预设分辨率计算对所述预设分辨率的缩减比例;

根据所述人体中心点坐标、所述预设分辨率及所述缩减比例计算第一候选裁剪区域;

判断所述人体区域是否超出所述第一候选裁剪区域的范围;

当所述人体区域未超出所述第一候选裁剪区域的范围时,根据所述第一候选裁剪区域对所述待处理帧进行裁剪,得到所述裁剪区域图像。

可选的,从所述待处理帧中裁剪得到包括所述人体区域的裁剪区域图像,还包括:

当所述人体区域超出所述第一候选裁剪区域的范围时,根据所述人体区域的坐标、所述缩减比例及所述预设分辨率确定第二候选裁剪区域;

根据所述第二候选裁剪区域对所述待处理帧进行裁剪,得到所述裁剪区域图像。

可选的,所述根据所述裁剪区域图像生成裁剪视频,包括:

当所述剪裁区域图像的实际分辨率小于预设分辨率时,对所述剪裁区域图像进行超分辨率处理,得到符合所述预设分辨率的目标图像;

将所述目标图像进行合成,得到所述剪裁视频。

第二方面,本申请提供了一种视频处理装置,包括:

筛选模块,用于从待处理视频中筛选包括目标人物的待处理帧;

识别模块,用于从所述待处理帧中识别所述目标人物的人体区域;

裁剪模块,用于从所述待处理帧中裁剪得到包括所述人体区域的裁剪区域图像;

生成模块,用于根据所述裁剪区域图像生成裁剪视频。

第三方面,本申请提供了一种电子设备,包括:处理器、通信接口、存储器和通信总线,其中,处理器,通信接口,存储器通过通信总线完成相互间的通信;

所述存储器,用于存放计算机程序;

所述处理器,用于执行存储器上所存放的程序时,实现上述方法步骤。

第四方面,本申请提供了一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现上述方法步骤。

本申请实施例提供的上述技术方案与现有技术相比具有如下优点:将视频包括目标人物的每一帧图像提取出来,识别每一帧图像中的人体区域,并基于该人体区域进行进裁剪,将裁剪后的图像合成裁剪视频。这样,由于裁剪是基于人体区域的,相对于现有技术来说,裁剪视频中的人体图像比较完整,并且,人体图像在剪裁视频中处于更中间的位置,显示明显。另外,由于消除掉了其他用户不关注的内容,使得剪裁视频中仅包括用户关注的目标人物的内容。

附图说明

此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本发明的实施例,并与说明书一起用于解释本发明的原理。

为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,对于本领域普通技术人员而言,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。

图1为本申请实施例提供的一种视频处理方法的流程图;

图2为本申请另一实施例提供的一种视频处理方法的流程图;

图3为本申请另一实施例提供的一种视频处理方法的流程图;

图4为本申请另一实施例提供的一种视频处理方法的流程图;

图5为本申请实施例提供的人体关键点的示意图;

图6为本申请实施例提供的人体区域的示意图;

图7为本申请实施例提供的一种视频处理方法的流程图;

图8为本申请实施例提供的人体区域和裁剪区域的示意图;

图9为本申请另一实施例提供的人体区域和裁剪区域的示意图;

图10为本申请实施例提供的一种视频处理装置的框图;

图11为本申请实施例提供的筛选模块91的框图;

图12为本申请实施例提供的识别模块92的框图;

图13为本申请另一实施例提供的识别模块92的框图;

图14为本申请实施例提供的裁剪模块93的框图;

图15为本申请实施例提供的生成模块94的框图;

图16为本申请实施例提供的一种电子设备的结构示意图。

具体实施方式

为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请的一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本申请保护的范围。

下面首先对本发明实施例所提供的一种视频处理方法进行介绍。

本发明实施例所提供的方法可以应用于任意需要视频处理的电子设备,例如,可以为服务器、终端等电子设备,在此不做具体限定,为描述方便,后续简称为电子设备。

图1为本申请实施例提供的一种视频处理方法的流程图。如图1所示,该方法包括以下步骤:

步骤s11,从待处理视频中筛选包括目标人物的待处理帧。

步骤s12,从待处理帧中识别目标人物的人体区域。

其中,人体区域,是指完全包括目标人物人体图像的区域。

步骤s13,从待处理帧中裁剪得到包括人体区域的裁剪区域图像。

步骤s14,根据裁剪区域图像生成裁剪视频。

本申请实施例,将视频包括目标人物的每一帧图像提取出来,识别每一帧图像中的人体区域,并基于该人体区域进行进裁剪,将裁剪后的图像合成裁剪视频。这样,由于裁剪是基于人体区域的,相对于现有技术来说,裁剪视频中的人体图像比较完整,并且,人体图像在剪裁视频中处于更中间的位置,显示明显。另外,由于消除掉了其他用户不关注的内容,使得剪裁视频中仅包括用户关注的目标人物的内容。

图2为本申请另一实施例提供的一种视频处理方法的流程图。如图2所示,在步骤s11中,包括:

步骤s21,将待处理视频拆分为视频帧。

步骤s22,当视频帧中包括目标人物的人脸图像时,确定视频帧为待处理帧。

进一步地,当视频帧中不包括人脸图像,统计该视频帧前后预设时间段内该人脸图像的出现次数;当出现次数超过预设次数时,确定视频帧为待处理帧。

以下以一个具体实例对筛选包括目标人物的待处理帧的过程进行说明。

图3为本申请另一实施例提供的一种视频处理方法的流程图。如图3所示,步骤s11可以具体包括以下步骤:

步骤s31,将待处理视频拆分为视频帧,该待处理视频帧率为50帧/秒。

步骤s32,视频帧中是否包括目标人物a的人脸图像,如果是执行步骤s34,如果否,执行步骤s33。

步骤s33,该视频帧前后2.5秒内出现人脸图像的次数是否超过200次,如果是执行步骤s34,如果否,执行步骤s35。

步骤s34,该视频帧包括目标人物a,为待处理视频帧。

步骤s35,该视频帧不包括目标人物a,不是待处理视频帧。

在本实施例中,该视频帧前后2.5秒内,共有2.5施例中,该视频帧前帧,如果有200帧都识别到该人脸图像,即80%的帧都存在该目标人物,考虑到视频内容的连续性,则可认为该视频帧也包括该目标人物。

本实施例中,通过多种方式识别包括目标人物的视频帧,使得对目标人物的识别更加准确全面,减少遗漏,尽可能地将所有包括目标人物的视频帧都筛选出来,提高后续裁剪后视频的平滑度。

图4为本申请另一实施例提供的一种视频处理方法的流程图。如图4所示,步骤s12包括:

步骤s41,从待处理帧中提取目标人物的人体关键点;

步骤s42,根据人体关键点计算目标人物的人体区域。

人体关键点的数量可以根据实际需要选取,可以选择14个、17个等等。

图5为本申请实施例提供的人体关键点的示意图。如图5所示,人体14个关键点及其坐标如下:

头部关键点p0=(x0,y0)

颈部关键点p1=(x1,y1)

右肩膀关键点p2=(x2,y2)

左肩膀关键点p3=(x3,y3)

右手肘关键点p4=(x4,y4)

左手肘关键点p5=(x5,y5)

右手腕关键点p6=(x6,y6)

左手腕关键点p7=(x7,y7)

右胯骨关键点p8=(x8,y8)

左胯骨关键点p9=(x9,y9)

右膝盖关键点p10=(x10,y10)

左膝盖关键点p11=(x11,y11)

右脚踝关键点p12=(x12,y12)

左脚踝关键点p13=(x13,y13)

其中,可以将待处理帧左下角设为坐标原点o,从坐标原点o沿待处理帧左边界向上为y轴正向,从坐标原点o沿待处理帧下边界向上右为x轴正向。

进一步地,步骤s12还包括:在计算人体区域时,需要对人体关键点是否符合预设条件进行判断,当人体关键点符合预设条件时,执行上述步骤s42的操作。人体关键点符合预设条件包括以下至少一种情形:

(1)人体关键点包括指定关键点。

例如,可以设定检测到人体关键点必须包括头部关键点、颈部关键点以及左、右肩部关键点。

(2)人体关键点的个数大于或等于预设个数。

例如,可以设定需检测到至少11个关键点,才符合条件。

又例如,可以将上述两种情形结合,及必须检测到头部关键点、颈部关键点以及左、右肩部关键点,且检测到的关键点至少11个,才确定人体关键点符合预设条件。

如果未提取到符合条件的人体关键点,则不对该待处理帧进行后续处理,可抛弃该帧。

人体区域可以根据人体关键点坐标、预设扩张系数以及待处理视频的分辨率计算得到。

图6为本申请实施例提供的人体区域的示意图。如图6所示,例如,设定人体区域为矩形区域61,那么可以通过计算该矩形区域的左上角坐标和右下角坐标来确定人体区域的位置和大小。其中,待处理帧的分辨率为w×h,w、h为待处理帧的宽和高,x、y轴预设扩张系数分别为α、β。

首先,确定所有人体关键点x坐标的最大值为,

所有人体关键点x坐标的最小值为,所有人体关键点y坐标的最大值为,所有人体关键点y坐标的最小值为,

计算人体区域的宽和高:

左上角坐标和右下角坐标中,分别为:

由于现有技术中一般采用选定框,框选出图像中所需裁剪的部分,再进行裁剪,可能出现人体区域不能完整剪裁的情形。而本实施例中,通过根据人体关键点对目标人物的通体位置进行估计,得到目标人物相对完整的人体区域,使得后续基于人体区域裁剪后的每一帧视频中,目标人物图像比较完整且处于更中间的位置,显示明显。

图7为本申请实施例提供的一种视频处理方法的流程图。如图7所示,步骤s13剪裁待处理帧的过程如下:

步骤s71,根据人体关键点坐标计算人体中心点坐标。

步骤s72,根据人体中心点坐标、待处理视频的分辨率及预设分辨率计算对预设分辨率的缩减比例。

步骤s73,根据人体中心点坐标、预设分辨率及缩减比例计算第一候选裁剪区域。

步骤s74,判断人体区域是否超出第一候选裁剪区域的范围,如果是,执行步骤s76,如果否,执行步骤s75。

步骤s75,当人体区域未超出第一候选裁剪区域的范围时,根据第一候选裁剪区域对待处理帧进行裁剪,得到裁剪区域图像。

步骤s76,当人体区域超出第一候选裁剪区域的范围时,根据人体区域的坐标、缩减比例及预设分辨率确定第二候选裁剪区域。

步骤s77,根据第二候选裁剪区域对待处理帧进行裁剪,得到裁剪区域图像。

以下对上述裁剪待处理帧的过程进行详细说明。

第一步,如果提取了n个人体关键点,则人体中心点坐标为:

第二步,根据pc、待处理视频的分辨率w待处及预设分辨率w′×h′计算对预设分辨率的缩减比例。

设定裁剪区域为矩形区域,那么可以通过计算该矩形区域的左上角坐和右下角坐标来确定裁剪区域的位置和大小。其中,w′、h′分别为裁剪区域的宽和高。

图8和图9分别为本申请实施例提供的人体区域和裁剪区域的示意图。

根据人体区域61在待处理帧中的位置,如果计算得到的裁剪区域左上角和右下角坐标处于该待处理帧区域范围内,如图8所示,在可以按照预设分辨率进行裁剪。但也可能出现无法按照预设分辨率进行裁剪的情况,如图9所示,此时需要缩小分辨率进行裁剪。

首先,基于人体中心点坐标确定裁剪区域在x轴上的坐标范围如下:

根据该裁剪区域左侧边界计算的坐标缩减比例为:

的取值范围为(0,0.5]。

根据该裁剪区域右侧边界计算的坐标缩减比例为:

的取值范围为(0,0.5]。

该裁剪区域实际坐标缩减比例可以选上述两个坐标缩减比例的最小值:

的取值范围为(0,0.5]。

该裁剪区域实际坐标缩减比例的2倍,即为预设分辨率的缩减比例。

第三步,根据上述缩减比例,可以计算第一候选裁剪区域在x轴上坐标的最大值和最小值为:

例如,如图8所示的情形,w′=10,w=50,当人体中心点坐标为(18,7)时,可见,实际上未对裁剪区域81进行缩减,可以按照预设分辨率进行裁剪。

又例如,如图9所示的情形,w′=10,w=50,当人体中心点坐标为(3,7)时,xc=3,实际上,由此可见,实际上裁剪区域82的宽为6,实际上对预设分辨率的缩减比例为0.6。

根据上述坐标缩减比例可确定第一候选裁剪区域在y轴上的坐标范围如下:

第四步,判断人体区域是否超出第一候选裁剪区域的范围。

可以通过比较第一候选裁剪区域和人体区域的高,确定人体区域是否超出第一候选裁剪区域的范围。

第一候选裁剪区域的高人体区域的高为

第五步,当时,如图8所示,人体区域未超出第一候选裁剪区域的范围,无需对人体区域进行裁切。

计算第一候选裁剪区域y坐标最大值和最小值分别为:

例如,如图8所示的情形,h′=6,当人体中心点坐标为(18,7)时,裁剪区域81的y轴坐标范围为:

第一候选裁剪区域的左上角坐标和右下角坐标如下:

根据的坐标,对待处理帧进行裁剪,得到裁剪区域图像。

第六步,当时,即人体区域超出了第一候选裁剪区域的范围,则需要对人体区域进行裁切。如图9所示,裁剪区域82不能完全包括人体区域,需要将人体区域裁掉一部分,可根据人体区域左上角坐标计算第二候选裁剪区域在y轴上的范围实际为:

第二候选裁剪区域的左上角坐标右下角坐标如下:

例如,如图9所示的情形,h′=6,人体中心点坐标为(3,7),人体区域左上角y轴坐标人体区域右下角y轴坐标通过上述计算得到的缩减比例则缩减后裁剪区域的高为3.6,而人体区域的高为6,需要对人体区域进行裁切。根据可确定第二候选裁剪区域82的y轴坐标范围为:

可见,当裁剪区域不能完全包括人体区域,应尽量保证人体区域的上半部分,即包括头颈关键点的部分包含在裁剪区域内,可以将人体区域的腿的部分裁切掉。

本申请实施例中,坐标原点o的位置也可以设置为其它位置,例如,将待处理帧左上角设为坐标原点o,上述第六步计算第二候选裁剪区域y轴坐标范围为:

在上述实施例中,尽可能地将每一帧中的人体区域完全截取出来,当由于人体区域处于视频中的边缘位置,使得无法按照预设分辨率正常截取时,可以按比例缩减预设分辨率进行裁剪;当不能完全截取人体区域时,则保留人体区域的关键部分。这样,不仅提高目标人物人体图像的裁剪的精确性,也提高了人体图像的完整性和有效性。另外,通过上述实施例可以看出,最终的裁剪区域图像的实际分辨率可能小于预设分辨率,此时,需要对剪裁区域图像进行超分辨率处理,得到符合预设分辨率的目标图像,这样,用户可以观看到更加连续清晰的视频。

可采用的超分辨率算法包括,如超分辨卷积神经网络(super-resolutionconvolutionalneuralnetwork,srcnn)算法、用于单图像超分辨率的增强深剩余网络(enhanceddeepresidualnetworksforsingleimagesuper-resolution,edsr)算法,等等,均可实现上述将裁剪区域图像的分辨率处理到预设分辨率,在此不一一列举。

下述为本公开装置实施例,可以用于执行本公开方法实施例。

图10为本申请实施例提供的一种视频处理装置的框图,该装置可以通过软件、硬件或者两者的结合实现成为电子设备的部分或者全部。如图10所示,该装置包括:

筛选模块91,用于从待处理视频中筛选包括目标人物的待处理帧;

识别模块92,用于从待处理帧中识别目标人物的人体区域;

裁剪模块93,用于从待处理帧中裁剪得到包括人体区域的裁剪区域图像;

生成模块94,用于根据裁剪区域图像生成裁剪视频。

图11为本申请实施例提供的筛选模块91的框图,如图11所示,该筛选模块91包括:

拆分子模块101,用于将待处理视频拆分为视频帧;

帧确定子模块102,用于当视频帧中包括目标人物的人脸图像时,确定视频帧为待处理帧。

进一步的,帧确定子模块102,还用于当视频帧中不包括人脸图像,统计视频帧前后预设时间段内人脸图像的出现次数;当出现次数超过预设次数时,确定视频帧为待处理帧。

图12为本申请实施例提供的识别模块92的框图,如图12所示,该识别模块92包括:

关键点提取子模块111,用于从待处理帧中提取目标人物的人体关键点;

人体区域计算子模块112,用于根据人体关键点计算目标人物的人体区域。

图13为本申请实施例提供的识别模块92的框图,如图13所示,进一步地,识别模块92还包括:

判断子模块113,用于判断人体关键点是否符合预设条件;

人体区域计算子模块112,用于当人体关键点符合预设条件时,执行计算人体区域的操作。

其中,人体关键点符合预设条件,包括:

人体关键点包括指定关键点;

和/或

人体关键点的个数大于或等于预设个数。

图14为本申请实施例提供的裁剪模块93的框图,如图14所示,该裁剪模块93包括:

中心点计算子模块121,用于根据人体关键点坐标计算人体中心点坐标;

缩减比例计算子模块122,用于根据人体中心点坐标、待处理视频的分辨率及预设分辨率计算对预设分辨率的缩减比例;

坐标计算子模块123,用于根据人体中心点坐标、预设分辨率及缩减比例计算第一候选裁剪区域;

判断子模块124,用于判断人体区域是否超出第一候选裁剪区域的范围:

裁剪子模块125,用于当人体区域未超出第一候选裁剪区域的范围时,根据第一候选裁剪区域对待处理帧进行裁剪,得到裁剪区域图像。

如图14所示,该裁剪模块93还包括:

坐标计算子模块123,用于当人体区域超出第一候选裁剪区域的范围时,根据人体区域的坐标、缩减比例及预设分辨率确定第二候选裁剪区域;

裁剪子模块125,用于根据第二候选裁剪区域对待处理帧进行裁剪,得到裁剪区域图像。

图15为本申请实施例提供的生成模块94的框图,如图15所示,该生成模块94包括:

超分辨率处理子模块131,用于当剪裁区域图像的实际分辨率小于预设分辨率时,对剪裁区域图像进行超分辨率处理,得到符合预设分辨率的目标图像;

合成子模块132,用于将目标图像进行合成,得到剪裁视频。

本申请实施例还提供一种电子设备,如图16所示,电子设备可以包括:处理器1501、通信接口1502、存储器1503和通信总线1504,其中,处理器1501,通信接口1502,存储器1503通过通信总线1504完成相互间的通信。

存储器1503,用于存放计算机程序;

处理器1501,用于执行存储器1503上所存放的程序时,实现上述方法实施例的步骤。上述电子设备提到的通信总线可以是外设部件互连标准(peripheralcomponentinterconnect,pci)总线或扩展工业标准结构(extendedindustrystandardarchitecture,eisa)总线等。该通信总线可以分为地址总线、数据总线、控制总线等。为便于表示,图中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。

通信接口用于上述电子设备与其他设备之间的通信。

存储器可以包括随机存取存储器(randomaccessmemory,ram),也可以包括非易失性存储器(non-volatilememory,nvm),例如至少一个磁盘存储器。可选的,存储器还可以是至少一个位于远离前述处理器的存储装置。

上述的处理器可以是通用处理器,包括中央处理器(centralprocessingunit,cpu)、网络处理器(networkprocessor,np)等;还可以是数字信号处理器(digitalsignalprocessing,dsp)、专用集成电路(applicationspecificintegratedcircuit,asic)、现场可编程门阵列(field-programmablegatearray,fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。

本申请还提供一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现上述方法实施例的步骤。

需要说明的是,对于上述装置、电子设备及计算机可读存储介质实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。

进一步需要说明的是,在本文中,诸如“第一”和“第二”等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个......”限定的要素,并不排除在包括要素的过程、方法、物品或者设备中还存在另外的相同要素。

以上仅是本发明的具体实施方式,使本领域技术人员能够理解或实现本发明。对这些实施例的多种修改对本领域的技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其它实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所申请的原理和新颖特点相一致的最宽的范围。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1