一种视频打码方法、装置以及电子设备与流程

文档序号:22085753发布日期:2020-09-01 20:01阅读:171来源:国知局
一种视频打码方法、装置以及电子设备与流程

本申请涉及打码技术领域,具体而言,涉及一种视频打码方法、装置以及电子设备。



背景技术:

出于诸如隐私保护、信息安全等目的,需要对视频中诸如人脸、物品等不想公开的目标对象执行打码操作。具体而言,打码操作通常是对目标对象进行模糊处理,诸如采用马赛克涂抹视频帧中的目标对象的方式,使他人无法从视频帧中清楚地看到目标对象。现有的视频打码方式需要逐一检测视频的每帧图像所包含的目标对象,并对检测出的目标对象进行打码操作,这种打码方式效率低下。



技术实现要素:

有鉴于此,本申请实施例的目的在于提供一种视频打码方法、装置以及电子设备,能够有效提升视频的打码效率。

根据本申请的一个方面,提供一种视频打码方法,包括:从目标视频的视频帧序列中确定首个节点帧图像,其中,所述首个节点帧图像为包含有目标对象的首个视频帧图像;按照设定的抽取间隔,从排在所述首个节点帧图像之后的视频帧图像中选取其他节点帧图像;检测每个所述节点帧图像中的所述目标对象;对每个所述节点帧图像中的所述目标对象进行打码;基于所述视频帧序列中相邻节点帧图像的目标对象的检测结果,对相邻节点帧图像之间的视频帧图像进行打码。

在一些实施例中,按照设定的抽取间隔,从排在所述首个节点帧图像之后的视频帧图像中选取其他节点帧图像的步骤,包括:从排在所述首个节点帧图像之后的视频帧图像中抽取多个节点帧图像;其中,相邻的两个节点帧图像之间的间隔为设定的抽取间隔。

在一些实施例中,检测每个所述节点帧图像中的所述目标对象的步骤,包括:

将选取的所有所述节点帧图像并行输入至预设的目标检测模型,通过所述目标检测模型对所述节点帧图像进行并行检测,得到每个所述节点帧图像的检测结果。

在一些实施例中,基于所述视频帧序列中相邻节点帧图像的目标对象的检测结果,对相邻节点帧图像之间的视频帧图像进行打码的步骤,包括:

对于所述视频帧序列中相邻节点帧图像中的第一节点帧图像和第二帧节点图像,确定所述第一节点帧图像包含的目标对象的第一检测框组和所述第二节点帧图像包含的目标对象的第二检测框组;

从所述第一检测框组和所述第二检测框组中查找相互匹配的检测框对;

基于查找到的所述检测框对对所述第一节点帧图像和所述第二节点帧图像之间的视频帧图像进行插值打码。

在一些实施例中,从所述第一检测框组和所述第二检测框组中查找相互匹配的检测框对的步骤,包括:

计算所述第一检测框组中的第一检测框与所述第二检测框组中的第二检测框的位置重合度iou;

将位置重合度高于预设位置阈值的第一检测框和第二检测框确定为相互匹配的检测框对。

在一些实施例中,从所述第一检测框组和所述第二检测框组中查找相互匹配的检测框对的步骤,包括:

获取所述第一检测框组中的第一检测框与所述第二检测框组中的第二检测框的图像相似度;

将图像相似度高于预设相似度阈值的第一检测框和第二检测框确定为相互匹配的检测框对。

在一些实施例中,从所述第一检测框组和所述第二检测框组中查找相互匹配的检测框对的步骤,包括:

从所述第一检测框组中的第一检测框与所述第二检测框组中的第二检测框中,选择图像相似度高于预设相似度阈值且位置重合度高于预设位置阈值的检测框,将选择的所述检测框确定为相互匹配的检测框对。

在一些实施例中,基于匹配框组对所述第一节点帧图像和所述第二节点帧图像之间的视频帧图像进行插值打码的步骤,包括:

根据所述检测框对中的第一检测框的位置和第二检测框的位置,采用插值法确定所述第一节点帧图像和所述第二节点帧图像之间的视频帧图像中的待打码位置,对所述待打码位置进行打码。

在一些实施例中,基于所述视频帧序列中相邻节点帧图像的目标对象的检测结果,对相邻节点帧图像之间的视频帧图像进行打码的步骤,还包括:

如果所述第一检测框组和/或所述第二检测框组中存在所述检测框对之外的第三检测框,根据所述第三检测框对所述第一节点帧图像和所述第二节点帧图像之间的视频帧图像进行复用打码。

在一些实施例中,根据所述第三检测框对所述第一节点帧图像和所述第二节点帧图像之间的视频帧图像进行复用打码的步骤,包括:

将所述第三检测框的位置确定为所述第一节点帧图像和所述第二节点帧图像之间的视频帧图像中的待打码位置,对所述待打码位置进行打码。

根据本申请的另一个方面,还提供一种视频打码装置,包括:图像确定模块,用于从目标视频的视频帧序列中确定首个节点帧图像,其中,所述首个节点帧图像为包含有目标对象的首个视频帧图像;图像选取模块,用于按照设定的抽取间隔,从排在所述首个节点帧图像之后的视频帧图像中选取其他节点帧图像;目标检测模块,用于检测每个所述节点帧图像中的所述目标对象;首个打码模块,用于对每个所述节点帧图像中的所述目标对象进行打码;第二打码模块,用于基于所述视频帧序列中相邻节点帧图像的目标对象的检测结果,对相邻节点帧图像之间的视频帧图像进行打码。

在一些实施例中,所述图像选取模块用于:从排在所述首个节点帧图像之后的视频帧图像中抽取多个节点帧图像;其中,相邻的两个节点帧图像之间的间隔为设定的抽取间隔。

在一些实施例中,所述目标检测模块用于:将选取的所有所述节点帧图像并行输入至预设的目标检测模型,通过所述目标检测模型对所述节点帧图像进行并行检测,得到每个所述节点帧图像的检测结果。

在一些实施例中,所述第二打码模块用于:对于所述视频帧序列中相邻节点帧图像中的第一节点帧图像和第二帧节点图像,确定所述第一节点帧图像包含的目标对象的第一检测框组和所述第二节点帧图像包含的目标对象的第二检测框组;从所述第一检测框组和所述第二检测框组中查找相互匹配的检测框对;基于查找到的所述检测框对对所述第一节点帧图像和所述第二节点帧图像之间的视频帧图像进行插值打码。

在一些实施例中,所述第二打码模块用于:计算所述第一检测框组中的第一检测框与所述第二检测框组中的第二检测框的位置重合度iou;将位置重合度高于预设位置阈值的第一检测框和第二检测框确定为相互匹配的检测框对。

在一些实施例中,所述第二打码模块用于:获取所述第一检测框组中的第一检测框与所述第二检测框组中的第二检测框的图像相似度;将图像相似度高于预设相似度阈值的第一检测框和第二检测框确定为相互匹配的检测框对。

在一些实施例中,所述第二打码模块用于:从所述第一检测框组中的第一检测框与所述第二检测框组中的第二检测框中,选择图像相似度高于预设相似度阈值且位置重合度高于预设位置阈值的检测框,将选择的所述检测框确定为相互匹配的检测框对。

在一些实施例中,所述第二打码模块用于:根据所述检测框对中的第一检测框的位置和第二检测框的位置,采用插值法确定所述第一节点帧图像和所述第二节点帧图像之间的视频帧图像中的待打码位置,对所述待打码位置进行打码。

在一些实施例中,所述第二打码模块用于:如果所述第一检测框组和/或所述第二检测框组中存在所述检测框对之外的第三检测框,根据所述第三检测框对所述第一节点帧图像和所述第二节点帧图像之间的视频帧图像进行复用打码。

在一些实施例中,所述第二打码模块用于:将所述第三检测框的位置确定为所述第一节点帧图像和所述第二节点帧图像之间的视频帧图像中的待打码位置,对所述待打码位置进行打码。

根据本申请的另一个方面,还提供一种电子设备,包括:处理器、存储介质和总线,所述存储介质存储有所述处理器可执行的机器可读指令,当电子设备运行时,所述处理器与所述存储介质之间通过总线通信,所述处理器执行所述机器可读指令,以执行时执行如前述任一所述的视频打码方法的步骤。

根据本申请的另一个方面,还提供一种计算机可读存储介质,该计算机可读存储介质上存储有计算机程序,该计算机程序被处理器运行时执行如前述任一所述的视频打码方法的步骤。

本申请实施例提供的视频打码方法、装置以及电子设备,可以首先从目标视频的视频帧序列中确定首个节点帧图像(包含有目标对象的首个视频帧图像),然后按照设定的抽取间隔,从排在首个节点帧图像之后的视频帧图像中选取其他节点帧图像,并检测每个节点帧图像中的目标对象;之后可对每个节点帧图像中的目标对象进行打码;并基于视频帧序列中相邻节点帧图像的目标对象的检测结果,对相邻节点帧图像之间的视频帧图像进行打码。这种方式只需从视频帧序列中选取多个节点帧图像,对选取的节点帧图像进行目标对象检测及打码,并根据节点帧图像的目标对象的检测结果,对相邻节点帧图像之间的视频帧图像进行打码,而无需再对节点帧图像之间的视频帧图像进行目标对象检测。上述方式无需逐一对视频中的每帧图像进行目标检测,能够有效提升视频打码效率。

为使本申请实施例的上述目的、特征和优点能更明显易懂,下面将结合实施例,并配合所附附图,作详细说明。

附图说明

为了更清楚地说明本申请实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本申请的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。

图1示出了本申请实施例所提供的一种视频打码方法流程图;

图2示出了本申请实施例所提供的一种相邻节点帧图像之间的视频帧图像的打码方法流程图;

图3示出了本申请实施例所提供的一种插值打码示意图;

图4示出了本申请实施例所提供的一种复用打码示意图;

图5示出了本申请实施例所提供的一种插值及复用打码示意图;

图6示出了本申请实施例所提供的一种视频打码的具体方法流程图;

图7示出了本申请实施例所提供的一种视频打码装置的结构框图;

图8示出了本申请实施例所提供的一种电子设备的结构框图。

具体实施方式

为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,应当理解,本申请中附图仅起到说明和描述的目的,并不用于限定本申请的保护范围。另外,应当理解,示意性的附图并未按实物比例绘制。本申请中使用的流程图示出了根据本申请的一些实施例实现的操作。应该理解,流程图的操作可以不按顺序实现,没有逻辑的上下文关系的步骤可以反转顺序或者同时实施。此外,本领域技术人员在本申请内容的指引下,可以向流程图添加一个或多个其他操作,也可以从流程图中移除一个或多个操作。

另外,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本申请实施例的组件可以以各种不同的配置来布置和设计。因此,以下对在附图中提供的本申请的实施例的详细描述并非旨在限制要求保护的本申请的范围,而是仅仅表示本申请的选定实施例。基于本申请的实施例,本领域技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本申请保护的范围。

需要说明的是,本申请实施例中将会用到术语“包括”,用于指出其后所声明的特征的存在,但并不排除增加其它的特征。

考虑到众多安全合规项目中都需要对视频进行打码,通常一个视频可解码为图像帧序列,一个图像帧序列通常包括至少上百帧图像,而现有的视频打码方式需要逐帧检测待打码的目标对象并打码,不仅效率低下,而且所占用的打码设备的资源成本较高。

基于此,本申请的一个方面涉及一种视频打码系统,该系统可以首先从目标视频的视频帧序列中确定首个节点帧图像(包含有目标对象的首个视频帧图像),然后按照设定的抽取间隔,从排在首个节点帧图像之后的视频帧图像中选取其他节点帧图像,并检测每个节点帧图像中的目标对象;之后可对每个节点帧图像中的目标对象进行打码;并基于视频帧序列中相邻节点帧图像的目标对象的检测结果,对相邻节点帧图像之间的视频帧图像进行打码。这种方式只需从视频帧序列中选取多个节点帧图像,对选取的节点帧图像进行目标对象检测及打码,并根据节点帧图像的目标对象的检测结果,对相邻节点帧图像之间的视频帧图像进行打码,而无需再对节点帧图像之间的视频帧图像进行目标对象检测。上述方式无需逐一对视频中的每帧图像进行目标检测,能够有效提升视频打码效率。

值得注意的是,在提出本申请之前的视频打码技术都需要对视频的每帧图像所包含的目标对象进行检测,并逐一对每帧图像中的目标对象执行打码操作,效率低下。然而,本申请提供的视频打码系统无需逐一对视频中的每帧图像进行目标检测,能够有效提升视频打码质量。

参见图1所示的一种视频打码方法流程图,该方法可应用于图像采集设备、计算机、机器人、手机以及其它智能终端等电子设备,该方法包括以下步骤:

步骤s102,从目标视频的视频帧序列中确定首个节点帧图像,其中,首个节点帧图像为包含有目标对象的首个视频帧图像。目标对象可以为人脸,也可以为物品或者带有文字的纸张/牌子等任何需要打码的对象,具体可以根据实际需求而设置,在此不进行限制。

目标视频即为待打码的视频,目标视频可以是用于执行视频打码方法的电子设备直接通过摄像头采集得到的,也可以是用户将待打码的目标视频上传给用于执行视频打码方法的电子设备,或者是该电子设备直接从存放有目标视频的指定区域(如本地存储区或云服务器)获取得到。

可以理解的是,视频通常是由多帧图像组成,多帧图像按照采集时间排序依次形成视频帧序列(又可称为视频图像序列)。以目标对象是人脸为例,可以从视频帧序列的第一个帧图像开始进行人脸检测,直至找到包含有人脸的首个视频帧图像,将包含有人脸的首个视频帧图像作为首个节点帧图像。诸如视频帧序列共有frame1、frame2至frame200共200个帧图像,则从frame1起开始进行人脸检测,假设检测到视频帧序列中的第10个帧图像frame10时,发现第10帧图像首次出现人脸,则将第10个帧图像frame10确定为首个节点帧图像。

步骤s104,按照设定的抽取间隔,从排在首个节点帧图像之后的视频帧图像中选取其他节点帧图像。

在一种实施方式中,可以从排在首个节点帧图像之后的视频帧图像中抽取多个节点帧图像;其中,相邻的两个节点帧图像之间的间隔为设定的抽取间隔。在具体实施时,可以从视频帧序列中等间距抽取节点帧图像,使得任意相邻的节点帧图像之间均间隔相同数量的视频帧图像;也可以非等间距抽取节点帧图像,诸如,首个节点帧图像与第二个节点帧图像之间间隔6个视频帧图像,第二个节点帧图像与第三个节点帧图像之间间隔4个视频帧图像等。抽取间隔可以根据实际情况(诸如:视频序列长短、目标对象在视频帧图像中的大小、打码精度要求等)灵活设置,在此不进行限定。

步骤s106,检测每个节点帧图像中的目标对象。诸如,可以采用机器学习领域中的目标检测技术检测每个节点帧图像中的目标对象。以目标对象是人脸为例,可以采用人脸检测算法检测节点帧图像中所包含的人脸。

步骤s108,对每个节点帧图像中的目标对象进行打码。也即,对每个节点帧图像中的目标对象所在区域(待打码区域)进行模糊处理。在执行打码操作时,可以将待打码区域的色阶细节劣化并造成色块打乱的效果(也即,为目标对象打马赛克),也可以直接在待打码区域上覆盖其它遮盖图案,或者更改待打码区域的清晰度和/或亮度等,无论采用何种打码方式,能达到无法清楚辨识目标对象的效果即可。

步骤s110,基于视频帧序列中相邻节点帧图像的目标对象的检测结果,对相邻节点帧图像之间的视频帧图像进行打码。

在一种实施方式中,可以根据检测出的目标对象位于相邻的节点帧图像上的位置和/或目标对象的图像特征等,估测相邻的节点帧图像之间的视频帧图像上的待打码位置,从而基于估测结果对相邻的节点帧图像之间的视频帧图像进行打码。

本实施例提供的上述视频打码方法,只需从视频帧序列中选取多个节点帧图像,对选取的节点帧图像进行目标对象检测及打码,并根据节点帧图像的目标对象的检测结果,对相邻节点帧图像之间的视频帧图像进行打码,而无需再对节点帧图像之间的视频帧图像进行目标对象检测。上述方式无需逐一对视频中的每帧图像进行目标检测,能够有效提升视频打码效率。

在一些实施方式中,检测每个节点帧图像中的目标对象的步骤,包括:将选取的所有节点帧图像并行输入至预设的目标检测模型,通过目标检测模型对节点帧图像进行并行检测,得到每个节点帧图像的检测结果。

目标检测模型可以采用深度学习领域的神经网络实现,在一些实施方式中,目标检测模型可以包括用于执行回归任务的回归子网络(regressionsubnet),该回归子网络可确定目标对象在图像中的位置,并输出目标对象的检测框;以目标对象是人脸为例,目标对象的检测框可以为人脸的矩形包围框。在具体实现时,回归子网络可包括多个卷积层。当然,目标检测模型还可包括池化层、全连接层等多种神经网络运算层。在实际应用中,目标检测模型也可采用诸如fasterr-cnn(regioncnn,区域卷积神经网络)、ssd(singleshotmultiboxdetector,单阶段多框检测器)、retinanet等网络架构,在此不进行限定。

本实施例提及的目标检测模型可以通过预先训练得到,训练过程可以参照如下:选取携带有标签的训练样本集,诸如,该训练样本集中包含有多张训练图像,训练图像携带的标签包含该训练图像中的人脸真实位置信息,也表征训练成功的目标检测模型的期望输出结果。在训练时,可将训练样本集输入至目标检测模型,并获取目标检测模型的人脸预测结果,然后采用预设的损失函数计算目标检测模型对训练图像的人脸预测结果与训练图像携带的标签之间的差异,从而得到该目标检测模型的损失值,并基于损失值反向调整目标检测模型的网络参数;如果损失函数收敛至预设阈值,也即达到了目标检测模型的实际输出符合期望的效果,则该目标检测模型训练完成。

在一些具体的实施方式中,目标检测模型可以并行设置多个检测通道,以便将选取的所有节点帧图像并行输入至预设的目标检测模型,多个检测通道对多个节点帧图像并行检测,一个检测通道对应一个节点帧图像。也即,每个检测通道都设置有一个图像输入端,可接收一个节点帧图像,并对应输出该节点帧图像所包含的目标对象的检测结果。本实施例中的目标检测模型同时对节点帧图像进行目标检测,批量并行检测节点帧图像的方式与传统的先后逐一检测节点帧图像的方式相比,能够有效节约节点帧图像的检测时间,有助于进一步缩短视频打码的总时长。

基于视频帧序列中相邻节点帧图像的目标对象的检测结果,参见图2所示的一种相邻节点帧图像之间的视频帧图像的打码方法流程图,包括如下步骤:

步骤s202,对于视频帧序列中相邻节点帧图像中的第一节点帧图像和第二节点帧图像,确定第一节点帧图像包含的目标对象的第一检测框组和第二节点帧图像包含的目标对象的第二检测框组。

检测框组中包含有目标对象的检测框。以目标对象是人脸为例,如果第一节点帧图像中包含有两张人脸,则第一检测框组中的人脸检测框的个数则为2;如果第二节点帧图像中包含有三张人脸,则第二检测框组中的人脸检测框的个数则为3;当然,如果第二节点帧图像中未包含人脸,则第二检测框组中的人脸检测框的个数则为0。

步骤s204,从第一检测框组和第二检测框组中查找相互匹配的检测框对。

本实施例给出了如下几种互相匹配的检测框对的查找方式:

方式一:

首先计算第一检测框组中的第一检测框与第二检测框组中的第二检测框的位置重合度iou,将位置重合度高于预设位置阈值的第一检测框和第二检测框确定为相互匹配的检测框对。在实际应用中,位置阈值可以灵活这种,诸如设置位置阈值为0.5,或者设置位置阈值为0.6等,在此不进行限定。

在一些实施方式中,可以采用检测框的中心点、检测框四个角的顶点或者检测框的边长中点等关键点的坐标表征出检测框的位置。在计算第一检测框与第二检测框的位置重合度时,可以将第一检测框组中的第一检测框与第二检测框组中的第二检测框均进行两两比较,也可以仅计算位置相近的第一检测框与第二检测框。位置重合度iou(intersection-over-union,交并比)可以是第一检测框与第二检测框的交集面积与并集面积的比值,比值越高,说明第一检测框与第二检测框的重合度越高。如果两个检测框完全重叠,则位置重合度为1。

诸如,假设第一检测框组中仅包含有检测框1a,第二检测框组中包含有检测框2a和检测框2b,基于预设的坐标系依次标定出检测框1a在第一检测框的位置,以及检测框2a和检测框2b的位置,具体可采用位置坐标的方式体现,然后基于位置计算检测框之间的位置重合度。在一些实施方式中,可分别计算检测框1a与检测框2a的位置重合度,以及检测框1a与检测框2b的位置重合度。当然,在另一些实施方式中,也可以仅计算坐标点相近在预设阈值范围的检测框的位置重合度,诸如,检测框1a与检测框2a的中心点相距预设阈值范围内,而检测框1a与检测框2b的中心点之间的距离超出预设阈值范围内,则仅计算检测框1a与检测框2a的位置重合度即可。

方式二:

首先获取第一检测框组中的第一检测框与第二检测框组中的第二检测框的图像相似度;将图像相似度高于预设相似度阈值的第一检测框和第二检测框确定为相互匹配的检测框对。在实际应用中,相似度阈值可以灵活这种,诸如设置相似度阈值为85%,或者设置位置阈值为70%等,在此不进行限定。

在一种具体的实施方式中,可以首先提取第一检测框和第二检测框的图像特征,也即,提取第一检测框所包围的图像区域的特征,以及第二检测框所包围的图像区域的特征。然后计算第一检测框的图像特征与第二检测框的图像特征之间的相似度,之后采用诸如欧氏距离、曼哈顿距离等距离度量算法计算图像特征之间的距离。可以理解的是,图像特征之间的距离越小,相似度越大。图像相似度高于预设相似度阈值的第一检测框和第二检测框可能表征同一目标对象,则可以将其作为相互匹配的检测框对。

方式三:

首先从第一检测框组中的第一检测框与第二检测框组中的第二检测框中,选择图像相似度高于预设相似度阈值且位置重合度高于预设位置阈值的检测框,将选择的检测框确定为相互匹配的检测框对。也即,需要第一检测框和第二检测框同时满足位置相似和图像相似的两个条件,才可作为互相匹配的检测框对。应当注意的是,图像相似度与位置相似度均是指第一检测框与第二检测框之间的比较结果。

在实际应用中,可以根据需要而选用上述方式一至方式三确定相互匹配的检测框对,在此不进行限制。

步骤s206,基于查找到的检测框对对第一节点帧图像和第二节点帧图像之间的视频帧图像进行插值打码。

在一种具体的实施方式中,可以根据检测框对中的第一检测框的位置和第二检测框的位置,采用插值法确定第一节点帧图像和第二节点帧图像之间的视频帧图像中的待打码位置,对待打码位置进行打码。具体而言,可以采用线性插值或者非线性插值。

以线性插值为例,假设相邻的第一节点帧图像中的第一检测框的中心点是(1,1),第二节点帧图像中的第二检测框的中心点是(20,20),相邻的第一节点帧图像和第二节点帧图像之间间隔19个视频帧图像,则按照视频帧序列,预估这19个视频帧图像的待打码位置的中心点依次为(2,2)、(3,3)、(4,4)……(18,18)、(19,19),从而基于待打码位置进行打码操作。可以理解的是,上述预估待打码位置的方式无需再通过目标检测模型对每张视频帧图像进行目标检测,而是基于相邻的节点帧图像的目标检测结果,预估位于相邻的节点帧图像之间的节点帧图像的目标对象所在位置,从而有效提升了打码速度。

步骤s208,如果第一检测框组和/或第二检测框组中存在检测框对之外的第三检测框,根据第三检测框对第一节点帧图像和第二节点帧图像之间的视频帧图像进行复用打码。在一种具体的实施方式中,可以将第三检测框的位置确定为第一节点帧图像和第二节点帧图像之间的视频帧图像中的待打码位置,对待打码位置进行打码。

诸如,假设第一检测框组中仅包含有检测框1a,第二检测框组中包含有检测框2a和检测框2b,通过前述步骤s204确定检测框1a和检测框2a为互相匹配的检测框对,而检测框2b没有与之匹配的检测框,因此检测框2b作为第三检测框。假设检测框2b的中心点位置为(5,5),则采用复用方式,确定第一节点帧图像和第二节点帧图像之间的各个视频帧图像的待打码位置的中心点均为(5,5)。

为便于理解,参见图3所示的一种插值打码示意图,示意出视频帧序列中相邻节点帧图像的第一节点帧图像和第二节点帧图像,第一节点帧图像中的第一检测框组仅包含一个检测框1a,第二节点帧图像中的第二检测框组仅包含一个检测框2a。第一节点帧图像与第二节点帧图像之间间隔了视频帧图像a、视频帧图像b和视频帧图像c。假设检测框1a与检测框2a确定为互相匹配的检测框对,且检测框1a的中心点坐标为(55),检测框2a的中心点坐标为(13,13),则采用插值方式预估视频帧图像a、b、c的检测框的中心点坐标分别为(7,7)、(9,9)和(11,11);然后基于检测框的中心点坐标即可确定视频帧图像a、b、c的待打码位置。

参见图4所示的一种复用打码示意图,示意出视频帧序列中相邻节点帧图像的第一节点帧图像和第二节点帧图像,第一节点帧图像中的第一检测框组仅包含一个检测框1a,第二节点帧图像中的第二检测框组仅包含一个检测框2a。第一节点帧图像与第二节点帧图像之间间隔了视频帧图像a、视频帧图像b和视频帧图像c。假设检测框1a与检测框2a并非互相匹配的检测框对,且检测框1a的中心点坐标为(10,10),检测框2a的中心点坐标为(40,40),则采用复用方式预估视频帧图像a、b、c的检测框的中心点坐标均包括(10,10)和(40,40);然后基于检测框的中心点坐标即可确定视频帧图像a、b、c的待打码位置。

参见图5所示的一种插值及复用打码示意图,示意出视频帧序列中相邻节点帧图像的第一节点帧图像和第二节点帧图像,第一节点帧图像中的第一检测框组仅包含一个检测框1a,第二节点帧图像中的第二检测框组包含两个检测框,分别为检测框2a和检测框2b。第一节点帧图像与第二节点帧图像之间间隔了视频帧图像a、视频帧图像b和视频帧图像c。假设检测框1a(第一检测框)与检测框2a(第二检测框)确定为互相匹配的检测框对,检测框2b确定为除检测框对之外的第三检测框,检测框1a的中心点坐标为(5,5),检测框2a的中心点坐标为(13,13)、检测框2b的中心点坐标为(40,40),则采用插值及复用打码方式预估视频帧图像a包含的检测框中心点坐标为(7,7)和(40,40);视频帧图像b包含的检测框中心点坐标为(9,9)和(40,40);视频帧图像c包含的检测框中心点坐标为(11,11)和(40,40);然后基于检测框的中心点坐标即可确定视频帧图像a、b、c的待打码位置。

进一步,以目标对象是人脸为例,本实施例给出了一种视频打码的具体方法流程图,如图6所示,该方法包括如下步骤:

步骤s602,获取待打码视频。

步骤s604,将待打码视频进行解码,得到视频帧序列。假设视频帧序列共100帧,即为frame1、frame2……frame100。

步骤s606,将视频帧序列中首个出现人脸的视频帧图像作为首个节点帧图像。假设首个出现人脸的视频帧图像为frame10,则frame10为首个节点帧图像。

步骤s608,从排在首个节点帧图像之后的视频帧图像中按照设定间隔抽取多个节点帧图像,诸如,设定两个相邻的节点帧图像之间间隔9个节点帧图像,则从frame10之后抽取的节点帧图像分别为frame20、frame30、frame40、frame50、frame60、frame70、frame80、frame90、frame100。

步骤s610,采用人脸检测模型对抽取的节点帧图像进行批量检测,得到每个节点帧图像中的人脸检测结果。诸如,该人脸检测结果可以包含节点帧图像中所包含的人脸检测框的位置信息等。

步骤s612,根据人脸检测结果计算相邻节点帧图像的检测框的位置重合度和图像相似度。

步骤s614,将相邻节点帧图像中位置重合度大于预设位置阈值且图像相似度高于预设相似度阈值的检测框确定为互相匹配的检测框对。在一种具体的实施方式中,可以将位置阈值设置为0.5。

步骤s616,判断节点帧图像中的检测框是否归属检测框对。如果是,执行步骤s618;如果否,执行步骤s620。

步骤s618,基于检测框对的人脸检测结果对相邻节点帧图像之间的视频帧图像进行插值打码。

步骤s620,基于节点帧图像中不属于检测框对的检测框的人脸检测结果,对相邻节点帧图像之间的视频帧图像进行复用打码。

插值打码方式和复用打码方式可参照图3~图5实现,在此不再赘述。

本申请实施例提供的上述视频打码方法,只需从视频帧序列中选取多个节点帧图像,诸如只需从100个视频帧图像中选取10个节点帧图像,只对选取的10个节点帧图像进行目标对象检测及打码,并根据相邻节点帧图像的目标对象的检测结果,对相邻节点帧图像之间的视频帧图像进行打码,诸如根据相邻的节点帧图像frame20与frame30的人脸检测结果,为frame21~frame29进行打码,根据相邻的节点帧图像frame30与frame40的人脸检测结果,为frame31~frame39进行打码,根据相邻的节点帧图像frame40与frame50的人脸检测结果,为frame41~frame49进行打码等,依次类推。无需再逐一检测frame21~frame29、frame31~frame39、frame41~frame49等视频帧图像中所包含的人脸,也即无需再对节点帧图像之间的视频帧图像进行目标对象检测。上述批量打码方式无需逐一对视频中的每帧图像进行目标检测,能够较快的对上百个视频帧图像进行打码,有效提升了视频打码效率。

在实现本实施例提供的视频打码方法时,可以采用诸如gpu(graphicsprocessingunit,图形处理器)实现,其是一种可在诸如图像处理设备、计算机、手机等智能终端上执行图像运算工作的微处理器,有助于高效实现上述视频打码。

本实施例还提供了一种视频打码装置,该装置实现的功能对应上述视频打码方法执行的步骤。该装置可以理解为用于进行视频打码的处理器,也可以直接理解为图像处理设备、智能终端等。参见图7所示的一种视频打码装置的结构框图,包括如下模块:

图像确定模块702,用于从目标视频的视频帧序列中确定首个节点帧图像,其中,首个节点帧图像为包含有目标对象的首个视频帧图像;

图像选取模块704,用于按照设定的抽取间隔,从排在首个节点帧图像之后的视频帧图像中选取其他节点帧图像;

目标检测模块706,用于检测每个节点帧图像中的目标对象;

第一打码模块708,用于对每个节点帧图像中的目标对象进行打码;

第二打码模块710,用于基于视频帧序列中相邻节点帧图像的目标对象的检测结果,对相邻节点帧图像之间的视频帧图像进行打码。

本实施例提供的上述视频打码装置,只需从视频帧序列中选取多个节点帧图像,对选取的节点帧图像进行目标对象检测及打码,并根据节点帧图像的目标对象的检测结果,对相邻节点帧图像之间的视频帧图像进行打码,而无需再对节点帧图像之间的视频帧图像进行目标对象检测。上述装置无需逐一对视频中的每帧图像进行目标检测,能够有效提升视频打码效率。

在一种实施方式中,上述图像选取模块用于:从排在首个节点帧图像之后的视频帧图像中抽取多个节点帧图像;其中,相邻的两个节点帧图像之间的间隔为设定的抽取间隔。

在一种实施方式中,上述目标检测模块用于:将选取的所有节点帧图像并行输入至预设的目标检测模型,通过目标检测模型对节点帧图像进行并行检测,得到每个节点帧图像的检测结果。

在一种实施方式中,上述第二打码模块用于:对于视频帧序列中相邻节点帧图像中的第一节点帧图像和第二帧节点图像,确定第一节点帧图像包含的目标对象的第一检测框组和第二节点帧图像包含的目标对象的第二检测框组;从第一检测框组和第二检测框组中查找相互匹配的检测框对;基于查找到的检测框对对第一节点帧图像和第二节点帧图像之间的视频帧图像进行插值打码。

在一种实施方式中,上述第二打码模块用于:计算第一检测框组中的第一检测框与第二检测框组中的第二检测框的位置重合度iou;将位置重合度高于预设位置阈值的第一检测框和第二检测框确定为相互匹配的检测框对。

在一种实施方式中,上述第二打码模块用于:获取第一检测框组中的第一检测框与第二检测框组中的第二检测框的图像相似度;将图像相似度高于预设相似度阈值的第一检测框和第二检测框确定为相互匹配的检测框对。

在一种实施方式中,上述第二打码模块用于:从第一检测框组中的第一检测框与第二检测框组中的第二检测框中,选择图像相似度高于预设相似度阈值且位置重合度高于预设位置阈值的检测框,将选择的检测框确定为相互匹配的检测框对。

在一种实施方式中,上述第二打码模块用于:根据检测框对中的第一检测框的位置和第二检测框的位置,采用插值法确定第一节点帧图像和第二节点帧图像之间的视频帧图像中的待打码位置,对待打码位置进行打码。

在一种实施方式中,上述第二打码模块用于:如果第一检测框组和/或第二检测框组中存在检测框对之外的第三检测框,根据第三检测框对第一节点帧图像和第二节点帧图像之间的视频帧图像进行复用打码。

在一种实施方式中,上述第二打码模块用于:将第三检测框的位置确定为第一节点帧图像和第二节点帧图像之间的视频帧图像中的待打码位置,对待打码位置进行打码。

本实施例所提供的装置,其实现原理及产生的技术效果和前述实施例相同,为简要描述,装置实施例部分未提及之处,可参考前述方法实施例中相应内容。

为便于理解,图8示出根据本申请的一些实施例的可以实现本申请思想的电子设备100的示例性硬件和软件组件的示意图。例如,处理器120可以用于电子设备100上,并且用于执行本申请中的功能。

电子设备100可以是通用计算机或特殊用途的计算机,诸如车载电脑、机器人等智能设备,都可以用于实现本申请的搜索结果的排序方法或音乐搜索方法。本申请尽管仅示出了一个计算机,但是为了方便起见,可以在多个类似平台上以分布式方式实现本申请描述的功能,以均衡处理负载。

例如,电子设备100可以包括连接到网络的网络端口110、用于执行程序指令的一个或多个处理器110、通信总线130、和不同形式的存储介质140,例如,磁盘、rom、或ram,或其任意组合。示例性地,计算机平台还可以包括存储在rom、ram、或其他类型的非暂时性存储介质、或其任意组合中的程序指令。根据这些程序指令可以实现本申请的方法。电子设备100还包括计算机与其他输入输出设备(例如键盘、显示屏)之间的输入/输出(input/output,i/o)接口150。

为了便于说明,在电子设备100中仅描述了一个处理器。然而,应当注意,本申请中的电子设备100还可以包括多个处理器,因此本申请中描述的一个处理器执行的步骤也可以由多个处理器联合执行或单独执行。例如,若电子设备100的处理器执行步骤a和步骤b,则应该理解,步骤a和步骤b也可以由两个不同的处理器共同执行或者在一个处理器中单独执行。例如,第一处理器执行步骤a,第二处理器执行步骤b,或者第一处理器和第二处理器共同执行步骤a和b。

进一步,本实施例还提供了一种计算机可读存储介质,该计算机可读存储介质上存储有计算机程序,该计算机程序被处理器运行时执行如上述视频打码方法的步骤。

所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统和装置的具体工作过程,可以参考方法实施例中的对应过程,本申请中不再赘述。

综上所述,本实施例提供的视频打码方法、装置以及电子设备,只需从视频帧序列中选取多个节点帧图像,对选取的节点帧图像进行目标对象检测及打码,并根据节点帧图像的目标对象的检测结果,对相邻节点帧图像之间的视频帧图像进行打码,而无需再对节点帧图像之间的视频帧图像进行目标对象检测。上述方式无需逐一对视频中的每帧图像进行目标检测,能够有效提升视频打码效率。

在本申请所提供的几个实施例中,应该理解到,所揭露的系统、装置和方法,可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,所述模块的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,又例如,多个模块或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些通信接口,装置或模块的间接耦合或通信连接,可以是电性,机械或其它的形式。

所述作为分离部件说明的模块可以是或者也可以不是物理上分开的,作为模块显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。

另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。

所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个处理器可执行的非易失的计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、rom、ram、磁碟或者光盘等各种可以存储程序代码的介质。

以上仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以权利要求的保护范围为准。

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