视频裁剪方法、装置、计算机设备和计算机可读存储介质与流程

文档序号:21041003发布日期:2020-06-09 20:40阅读:176来源:国知局
视频裁剪方法、装置、计算机设备和计算机可读存储介质与流程

本申请涉及计算机视觉领域,特别涉及一种视频裁剪方法、装置、计算机设备和计算机可读存储介质。



背景技术:

在关于商品广告类的视频处理领域,通过图片优选得到某个商品的很多优质图片,然后以图片切换的方式将这些图片做成视频,展现这些图片,或者,针对某个商品拍成视频,然后配合预先定义好的模版,对这些原始视频进行优化,可以得到视频动态商品广告(dynamicproductadvertisement,dpa)。

一般而言,针对某个商品拍摄制作出来的视频pad,其规格固定单一。若要使该视频能够适应不同的广告位规格要求,则必须对视频的规格进行裁剪。目前,对视频pad进行裁剪的方法包括人工裁剪和计算机辅助裁剪,其中,计算机辅助裁剪主要是对视频的上下或者左右区域进行均匀裁剪。

然而,由于视频dpa的数量一般较大,面对海量的视频,人工裁剪效率低下,成本高昂,而对视频进行均匀裁剪的方法,则容易将视频中的关键部分,例如,商品本身的图像给剪掉。



技术实现要素:

本申请实施例提供了一种视频裁剪方法、装置、计算机设备和计算机可读存储介质,以解决现有技术视频裁剪效率低下或者容易将视频中的关键部分剪掉的问题。该技术方案如下:

一方面,提供了一种视频裁剪方法,该方法包括:

获取待裁剪视频中初始视频帧的感兴趣区域;

对所述初始视频帧之后每一帧视频中的所述感兴趣区域进行实时追踪;

根据对所述感兴趣区域实时追踪的结果,以所述感兴趣区域的边缘或围绕所述感兴趣区域延拓后的边缘为裁剪界限对所述待裁剪视频的每一帧进行裁剪,得到裁剪后视频;

输出所述裁剪后视频。

一方面,提供了一种视频裁剪装置,该装置包括:

获取模块,用于获取待裁剪视频中初始视频帧的感兴趣区域;

目标追踪模块,用于对所述初始视频帧之后每一帧视频中的所述感兴趣区域进行实时追踪;

裁剪模块,用于根据对所述感兴趣区域实时追踪的结果,以所述感兴趣区域的边缘或围绕所述感兴趣区域延拓后的边缘为裁剪界限对所述待裁剪视频的每一帧进行裁剪,得到裁剪后视频;

输出模块,用于输出所述裁剪后视频。

一方面,提供了一种计算机设备,该计算设备包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,该计算机程序代码由该一个或多个处理器加载并执行以实现该视频裁剪方法所执行的操作。

一方面,提供了一种计算机可读存储介质,该计算机可读存储介质存储有计算机程序由处理器加载并执行以实现该视频裁剪方法所执行的操作。

由上述本申请提供的技术方案可知,一方面,由于感兴趣区域的获取、实时追踪和根据感兴趣区域实时追踪的结果裁剪待裁剪视频皆由计算机程序执行,因此,相对于现有技术需要对海量视频进行人工裁剪的方案,本申请提供的技术方案效率高、成本低;另一方面,在实时追踪到感兴趣区域后,以感兴趣区域的边缘为裁剪界限对待裁剪视频进行裁剪,则保留了待剪裁视频的重要、关键部分,使得视频裁剪的效果能够满足用户对视频的需求。

附图说明

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

图1是本申请实施例提供的一种视频裁剪方法的实施环境示意图;

图2是本申请实施例提供的一种视频裁剪方法的流程图;

图3是本申请实施例提供的对初始视频帧之后每一帧视频中的感兴趣区域进行实时追踪的流程图;

图4是本申请另一实施例提供的对初始视频帧之后每一帧视频中的感兴趣区域进行实时追踪的流程图;

图5是本申请另一实施例提供的对初始视频帧之后每一帧视频中的感兴趣区域进行实时追踪的流程图;

图6a是本申请实施例提供的以感兴趣区域的边缘或围绕感兴趣区域延拓后的边缘为裁剪界限对待裁剪视频的每一帧进行裁剪示意图;

图6b是本申请另一实施例提供的以感兴趣区域的边缘或围绕感兴趣区域延拓后的边缘为裁剪界限对待裁剪视频的每一帧进行裁剪示意图;

图7是本申请实施例提供的根据对感兴趣区域实时追踪的结果,以感兴趣区域的边缘为裁剪界限对待裁剪视频的每一帧进行裁剪的流程图;

图8a是本申请实施例提供的一段包含6个视频帧的视频示意图;

图8b是现有技术对图8a示例的视频进行裁剪后的示意图;

图8c是本申请的技术方案对图8a示例的视频进行裁剪后的示意图;

图9是本申请实施例提供的一种视频裁剪装置的结构示意图;

图10是本申请实施例提供的一种计算机设备的结构示意图;

图11是本申请实施例提供的一种区块链系统的结构示意图。

具体实施方式

为使本申请的目的、技术方案和优点更加清楚,下面将结合附图对本申请实施方式作进一步地详细描述。

计算机视觉(computervision,cv)是一门研究如何使机器“看”的科学,进一步地说,就是指应用摄影机和电脑等计算机设备代替人眼对图像中的目标对象进行识别、跟踪和测量等,还可以对图像做进一步处理,使处理后的图像更适合人眼观察或更便于传送给其他设备进行检测。计算机视觉研究相关的理论和技术,试图建立能够从图像或者多维数据中获取信息的人工智能系统。计算机视觉技术通常可以包括图像处理、图像识别、图像语义理解、图像检索、ocr、视频处理、视频语义理解、视频内容/行为识别、三维物体重建、3d技术、虚拟现实、增强现实、同步定位与地图构建等技术,还可以包括常见的人脸识别、指纹识别等生物特征识别技术。本申请实施例提供的方案主要涉及计算机视觉技术中的图像识别、视频处理以及目标追踪等技术,通过图像识别、视频处理以及目标追踪等技术,定位视频中的目标对象,以实现对视频关键部分的实时跟踪,从而在后续对视频裁剪时能够保留视频中的关键信息,具体可以通过下述实施例进行说明。

附图1是本申请实施例提供的一种视频裁剪方法的实施环境示意图,该实施环境中包括终端110和服务器140。

终端110通过无线网络或有线网络与服务器110相连。终端110可以是智能手机、平板电脑、便携计算机等设备。终端110安装和运行有支持视频裁剪技术的应用程序。该应用程序可以是摄影类应用程序、视频处理类应用程序等。示例性的,终端110是用户使用的终端,终端110中运行的应用程序内登录有用户账号。

终端110通过无线网络或有线网络与服务器140相连。

服务器140可以是云计算平台、虚拟化中心等。服务器140用于为支持视频裁剪技术的应用程序提供后台服务。可选地,服务器140承担主要视频裁剪工作,终端110承担次要视频裁剪工作;或者,服务器140承担次要视频裁剪工作,终端110承担主要视频裁剪工作;或者,服务器140或终端110分别可以单独承担视频裁剪工作。

可选地,服务器140包括:接入服务器、视频识别服务器和数据库。接入服务器用于为终端110提供接入服务。视频识别服务器用于提供视频识别有关的后台服务。视频识别服务器可以是一台或多台。当视频识别服务器是多台时,存在至少两台视频识别服务器用于提供不同的服务,和/或,存在至少两台视频识别服务器用于提供相同的服务,比如以负载均衡方式提供同一种服务,本申请实施例对此不加以限定。视频识别服务器中可以设置有用于实现视频目标追踪的模型,该模型可以用于识别视频中目标对象的位置信息。服务器140还用于存储大量通过本申请的技术方案裁剪后的视频,以供除终端110之外的终端访问或者与其他服务器共享这些视频资源。

终端110可以泛指多个终端中的一个,本实施例仅以终端110来举例说明。

本领域技术人员可以知晓,上述终端的数量可以更多或更少。比如上述终端可以仅为一个,或者上述终端为几十个或几百个,或者更多数量,此时上述实施环境中还包括其他终端。本申请实施例对终端的数量和设备类型不加以限定。

图2是本申请实施例提供的一种视频裁剪方法的流程图。该方法可以应用于上述终端或者服务器,而终端和服务器均可以视为一种计算机设备,因此,本申请实施例基于计算机设备作为执行主体来进行介绍,参见图2,该实施例具体可以包括以下步骤s201至s204,详细说明如下:

步骤s201:获取待裁剪视频中初始视频帧的感兴趣区域。

在本申请实施例中,待裁剪视频可以是存储在计算设备中的一段视频,也可以为该计算机设备(例如,个人电脑等)从云服务器获取的一段视频,还可以为具备视频采集功能的计算机设备实时采集的视频,本申请实施例对具体采用哪种视频不做限定。待裁剪视频中的感兴趣区域(regionofinterest,roi)可以是包围该待裁剪视频中某个关键部分的闭合域,其中,关键部分可以是视频需要突出显示、播放的部分,其突出显示的方式可能是关键部分占据了一帧视频中的大部分画面或者占据视频的中心、显要位置,等等。例如,一段运动教学视频,其关键部分可能是教练、教练正在使用的器材等;又如,一段视频dpa,关键部分可能是视频制作人想要突出展示的某件商品,等等。在本申请实施例中,感兴趣区域可以由待裁剪视频的提供方指定,例如,由待裁剪视频的提供方指定待裁剪视频中某个包围关键部分的矩形区域,该矩形区域由一组参数来确定,这组参数由包括该矩形区域的左上角坐标(纵坐标和横坐标)以及矩形区域的宽度和高度等数据。考虑到感兴趣区域本身有它的特征,因此,除了由待裁剪视频的提供方指定并以文件的形式交予视频裁剪方之外,感兴趣区域亦可由计算机进行识别,即计算机程序按照图像识别的某种算法,自动识别出待裁剪视频中的感兴趣区域,或者,先由计算机程序识别出待裁剪视频中的关键部分,再由待裁剪视频的提供方根据这个关键部分标定出感兴趣区域。

需要说明的是,上述对待裁剪视频中初始视频帧的感兴趣区域获取方式的说明仅是一种图获取方式的示例性介绍,本申请实施例对具体采用哪种获取方法不做限定。

步骤202:对初始视频帧之后每一帧视频中的感兴趣区域进行实时追踪。

不同于静态图像中物体的位置不变,对于视频,其中感兴趣区域的方位随时发生变化即感兴趣区域在每一帧视频中的方向、位置等均可能发生变化。正是由于这个特点,现有技术中均匀裁剪视频的上下或左右部分这种“一刀切”的视频裁剪方式,往往会将感兴趣区域给裁剪掉,这是视频需求方(例如,视频广告商的客户、教学视频的教员、学员等)不能容忍的事实。为了克服现有技术的这些缺陷,本申请实施例在获取待裁剪视频中初始视频帧的感兴趣区域后,还需要对初始视频帧之后每一帧视频中的感兴趣区域进行实时追踪。

作为本申请一个实施例,对初始视频帧之后每一帧视频中的感兴趣区域进行实时追踪可通过如附图3示例的方法流程实现,主要包括步骤s301至步骤s303,详细说明如下:

步骤s301:基于感兴趣区域的特征点检测结果,将感兴趣区域分割为多个子区域。

如前所述,感兴趣区域所包围的关键部分之所以成为关键部分,是因为该关键部分本身具有区别于视频中其他部分的特殊之处。例如,对于视频中感兴趣区域包围的关键部分是人物,感兴趣区域的特征点可能就是人体的眼、耳、鼻、肩、肘、手腕、臀、膝和踝等。按照图像识别的算法,可以检测出感兴趣区域的这些特征点。然后,基于感兴趣区域的特征点检测结果,将感兴趣区域分割为多个子区域。

步骤s302:获取感兴趣区域被分割的多个子区域的每个子区域的移动方向偏置量。

视频中某个区域的移动方向可以由该区域包含的像素的微观表现,例如,像素在相邻的两帧图像之间的相对位移。也即是,在相邻的两帧图像之间存在像素的移动,换一种表达方式,上一帧图像中的像素点在下一帧图像中其位置会发生变动,那么这个变动,便是该像素的移动方向。作为一个示例,在本申请实施例中,针对每一帧图像,该帧图像中坐标位置为(x,y)的像素的移动方向为(dx,dy)。本步骤根据当前帧图像的移动方向,获取感兴趣区域被分割的多个子区域的每个子区域的移动方向偏置量,其中,该移动方向偏置量在本申请中为平均移动方向偏置量,以坐标(dave-x,dave-y)指代该平均移动方向偏置量。在一种可能的实现方式中,平均移动方向偏置量的计算公式如下:

其中,(dx,dy)为坐标为(x,y)的像素的移动方向,n为该区域中包括像素总量。上述计算公式用文字描述即为:对于感兴趣区域的每个子区域,基于当前帧图像的移动方向,获取该子区域中每个像素的移动方向;基于该子区域中包括的像素总量和该子区域中每个像素的移动方向,获取该子区域的平均移动方向偏置量。

步骤s303:基于每个子区域的移动方向偏置量,预测感兴趣区域在当前视频帧的下一帧视频中的移动方向信息。

将每个子区域按照相应的移动方向偏置量进行平移,作为各个子区域在在当前视频帧的下一帧视频中对应的区域位置;基于预测出的各个子区域在下一帧视频中的位置,在下一帧视频中生成一个包围各个子区域的外接矩形,得到感兴趣区域在下一帧中的位置,即,根据感兴趣区域在当前视频帧的下一帧视频中的移动方向信息,确定感兴趣区域在当前视频帧的下一帧视频的位置。

作为本申请另一实施例,对初始视频帧之后每一帧视频中的感兴趣区域进行实时追踪可通过如附图4示例的方法流程实现,主要包括步骤s401和步骤s402,详细说明如下:

步骤s401:判断当前视频帧之后的下一帧视频中是否存在与感兴趣区域相异程度满足预设阈值的区域。

作为本申请一个实施例,判断当前视频帧之后的下一帧视频中是否存在与感兴趣区域相异程度满足预设阈值的区域可以是:计算当前视频帧之后的下一帧视频中某个区域r1与感兴趣区域的面积重叠比;判断所述面积重叠比是否大于第一阈值;如果所述面积重叠比大于第一阈值,则确定当前视频帧之后的下一帧视频中存在与感兴趣区域相异程度满足预设阈值的区域即区域r1。

作为本申请另一实施例,判断当前视频帧之后的下一帧视频中是否存在与感兴趣区域相异程度满足预设阈值的区域可以是:计算当前视频帧之后的下一帧视频中某个区域r2与感兴趣区域的中心点的欧氏距离;判断所述欧氏距离是否小于第二阈值;若所述欧氏距离小于第二阈值,则确定当前视频帧之后的下一帧视频中存在与感兴趣区域相异程度满足预设阈值的区域即区域r2。

作为本申请另一实施例,判断当前视频帧之后的下一帧视频中是否存在与感兴趣区域相异程度满足预设阈值的区域可以是:使用卷积神经网络分别计算当前视频帧之后的下一帧视频中某个区域r3的特征向量和感兴趣区域的特征向量;判断所述r3的特征向量与感兴趣区域的特征向量的相似度是否大于第三阈值;若所述相似度大于第三阈值,则确定当前视频帧之后的下一帧视频中存在与感兴趣区域相异程度满足预设阈值的区域即区域r3。

步骤s402:若当前视频帧之后的下一帧视频中存在与感兴趣区域相异程度满足预设阈值的区域,则将与感兴趣区域相异程度满足预设阈值的区域位置确认为感兴趣区域在当前视频帧的下一帧视频的位置。

按照前述实施例,当前视频帧之后的下一帧视频中区域r1、区域r2或区域r3的位置均可以确认为感兴趣区域在当前视频帧的下一帧视频的位置。

作为本申请另一实施例,对初始视频帧之后每一帧视频中的感兴趣区域进行实时追踪可通过如附图5示例的方法流程实现,主要包括步骤s501和步骤s502,详细说明如下:

步骤s501:利用神经网络检测感兴趣区域在当前视频帧的检测位置信息。

作为本申请一个实施例,利用神经网络检测感兴趣区域在当前视频帧的检测位置信息可以是:将当前视频帧图像输入卷积神经网络,以获得当前视频帧图像的第一特征;将当前视频帧图像的第一特征输入反馈式神经网络,以获得当前视频帧图像的第二特征,其中,当前视频帧图像的第二特征与在当前视频帧图像之前的先前图像和在当前视频帧图像之后的随后图像相关,并且当前视频帧图像的第二特征包括横向坐标向量、纵向坐标向量和频道向量;以及基于当前视频帧图像的第二特征的横向坐标向量和纵向坐标向量确定在当前视频帧图像中包含感兴趣区域在该当前视频帧图像中的检测位置信息,并预测当前视频帧的下一帧中包含的参照对象在该频帧图像中的预测位置信息。

步骤s502:根据感兴趣区域在当前视频帧的检测位置信息,预测感兴趣区域在当前视频帧的下一帧视频的位置。

若当前视频帧的下一帧中的参照图像中包含的参照对象在当前视频帧的下一帧的特定图像中的预测位置信息满足预设条件,并且在特定图像中,在根据参照对象在特定图像中的预测位置信息所确定的预测位置处未检测到与参照对象相对应的期望对象,则基于参照对象在特定图像中的预测位置信息,确定与特定图像相关的预测对象,并且将参照对象与预测对象关联在一起,该预测对象在当前视频帧的下一帧视频的位置就是感兴趣区域在当前视频帧的下一帧视频的位置。

步骤s203:根据对感兴趣区域实时追踪的结果,以感兴趣区域的边缘或围绕感兴趣区域延拓后的边缘为裁剪界限对待裁剪视频的每一帧进行裁剪,得到裁剪后视频。

需要说明的是,在本申请实施例中,以感兴趣区域的边缘或围绕感兴趣区域延拓后的边缘为裁剪界限是指无论感兴趣区域的移动方向、位置怎样变化,在对视频进行裁剪时,裁去的部分不能包含感兴趣区域或围绕感兴趣区域延拓后的区域,极限情况下,裁剪后的视频仅仅包含感兴趣区域或围绕感兴趣区域延拓后的区域。

相应于附图3对初始视频帧之后每一帧视频中的感兴趣区域进行实时追踪的实施例,根据对感兴趣区域实时追踪的结果,以感兴趣区域的边缘或围绕感兴趣区域延拓后的边缘为裁剪界限对待裁剪视频的每一帧进行裁剪可以是:根据感兴趣区域在下一帧视频中的移动方向信息,在与感兴趣区域移动方向相反的方向,以感兴趣区域的边缘或围绕感兴趣区域延拓后的边缘为裁剪界限对下一帧视频进行裁剪。由于能够预测出感兴趣区域在当前视频帧的下一帧视频中的移动方向信息,因此,为了在对视频裁剪时,最大程度上不将感兴趣区域裁剪掉,一种方法是在与感兴趣区域移动方向相反的方向对视频进行裁剪,当然,裁剪的程度还要以感兴趣区域的边缘或围绕感兴趣区域延拓后的边缘为裁剪界限。如图6a所示,假设在当前视频帧的下一帧中,预测出感兴趣区域的移动方向是向右的(图中箭头所示方向),则在与感兴趣区域移动方向相反的方向即在左边,以感兴趣区域的边缘或围绕感兴趣区域延拓后的边缘为裁剪界限对下一帧视频进行裁剪(图中虚线为裁剪位置,虚线与视频帧最左边缘之间的部分即为裁剪的部分);又如图6b所示,假设在当前视频帧的下一帧中,预测出感兴趣区域的移动方向是东北方向(图中箭头所示方向),则在与感兴趣区域移动方向相反的方向即在西南方向,以感兴趣区域的边缘或围绕感兴趣区域延拓后的边缘为裁剪界限对下一帧视频进行裁剪。

相应于附图4、附图5对初始视频帧之后每一帧视频中的感兴趣区域进行实时追踪的实施例或者相应于附图2根据感兴趣区域在当前视频帧的下一帧视频中的移动方向信息确定出感兴趣区域在当前视频帧的下一帧视频的位置的实施例,根据对感兴趣区域实时追踪的结果,以感兴趣区域的边缘或围绕感兴趣区域延拓后的边缘为裁剪界限对待裁剪视频的每一帧进行裁剪,得到裁剪后视频可以通过如附图7示例的步骤s701和步骤s702实现:

步骤s701:根据感兴趣区域的宽度或高度、待裁剪视频的宽度或高度以及待裁剪视频被裁剪后所得最终视频的宽高比或高宽比,确定围绕感兴趣区域需要延拓的宽度或高度。

在本申请实施例中,对待裁剪视频的裁剪包括在横向和/或纵向、在宽度和/或高度方向或者在左右和/或上下方向对待裁剪视频的裁剪。以下先以在横向、在宽度方向或者在左右方向对待裁剪视频的裁剪为例进行说明。

以b2表示感兴趣区域的宽度、h表示待裁剪视频的高度以及p表示待裁剪视频被裁剪后所得最终视频的宽高比,wwhole表示围绕感兴趣区域需要将其延拓的宽度,则wwhole通过如下表达式确定:

wwhole=wremain-b2…………..(公式1)

其中,wremain表示待裁剪视频被裁剪后所得最终视频的宽度,且wremain=p*h。

步骤s702:根据感兴趣区域在当前视频帧的下一帧视频的位置和围绕感兴趣区域需要延拓的宽度或高度,计算待裁剪视频需要裁剪的像素,根据计算的结果,对待裁剪视频的每一帧进行裁剪,得到裁剪后视频。

在本申请实施例中,感兴趣区域在当前视频帧的下一帧视频的位置可由感兴趣区域在当前视频帧的下一帧视频的坐标(b0,b1)、感兴趣区域的宽度b2以及感兴趣区域的高度b3表示,其中,b0表示感兴趣区域在当前视频帧的下一帧视频的横坐标,b1表示感兴趣区域在当前视频帧的下一帧视频的纵坐标。在通过步骤s701得到围绕感兴趣区域需要延拓的宽度wwhole后,根据感兴趣区域在当前视频帧的下一帧视频的位置和围绕感兴趣区域需要延拓的宽度,待裁剪视频左右两边需要裁剪的像素可通过如下公式计算得到:

其中,wright表示待裁剪视频裁剪的右起始划线,从该右起始划线至待裁剪视频的最右边缘的视频将是被裁剪的部分,wleft表示待裁剪视频裁剪的左截止划线,从待裁剪视频的最左边缘至该左截止划线的视频将是被裁剪的部分。对于上述wright和wleft的计算公式,规定在wleft<0时,wleft=0,则在wleft=0时,由公式1、公式2和公式3可推导出wright=wremain;规定在wright≥w时,wleft=w-wremain,则在wleft=w-wremain时,由公式1、公式2和公式3可推导出wright=w-1,即,特别地:

此处,w表示待裁剪视频的宽度。在计算出wright和wleft后,就可以按照公式2和公式3或者公式4和公式5从待裁剪视频左右两边裁剪相应宽度的像素。

上述实施例是从待裁剪视频左右两边裁剪相应宽度的像素,类似地,也可以按照如下公式,计算从待裁剪视频上下方向裁剪相应宽度的像素:

hwhole=hremain-b3…………..(公式6)

上述公式6中,b3表示感兴趣区域的高度,hremain表示待裁剪视频被裁剪后所得最终视频的高度,且hremain=p*w,p和w的定义如前述实施例所述。

上述公式6中,hwhole表示围绕感兴趣区域需要将其延拓的高度,hbottom表示待裁剪视频裁剪的下起始划线,从该下起始划线至待裁剪视频的最下边缘的视频将是被裁剪的部分,htop表示待裁剪视频裁剪的上截止划线,从待裁剪视频的最上边缘至该上截止划线的视频将是被裁剪的部分,b1和b3的定义如前述实施例所述。

如前述对wright和wleft的特殊规定或例外情形,特别地

在计算出htop和hbottom后,就可以按照公式7和公式8或者公式9和公式10从待裁剪视频上下两边裁剪相应高度的像素。

步骤s204:输出经步骤s203得到的裁剪后视频。

经步骤s203,最终输出的裁剪后视频将保留了初始视频帧中的感兴趣区域,并且,感兴趣区域处于视频中的突出显示位置,附图8a至附图8c的示例给出了裁剪前后的对比结果,其中,附图8a是待裁剪视频的6帧视频,假设视频中的骑行者及其自行车所在区域是感兴趣区域。附图8b是根据现有技术的“一刀切”方案(即对需要裁剪的视频从上下或左右进行均匀裁剪)对附图8a示例的6帧视频裁剪的结果,很容易看出,前两排的视频,骑行者再也不是视频中的突出显示部分了,在编号为(5)、(6)的两帧视频中,甚至将骑行者也裁剪掉了一部分。然而,根据本申请提供的视频裁剪方法输出的裁剪后视频,其裁剪效果如附图8c所示,显然,6帧视频中每一帧视频,骑行者及其自行车所在区域即视频的感兴趣区域不仅没有被裁剪掉,而且,感兴趣区域的位置始终突出显示在视频中。若附图8a是一段视频dpa,视频中的感兴趣区域包围的是一件广告的商品,则附图8c示例的视频dpa,该商品显然能够引起视频观看者或购买者的关注。

在本申请一实施例中,可以将裁剪后视频存储到区块链中,以方便后续信息的提取存储,如图11所示,该计算机设备可以为分布式系统中的一个节点,其中,该分布式系统可以为区块链系统,该区块链系统可以是由多个节点通过网络通信的形式连接形成的分布式系统,节点之间可以组成点对点(p2p,peertopeer)网络,任意形式的计算机设备,比如服务器、终端等电子设备都可以通过加入该点对点网络而成为该区块链系统中的一个节点,其中,区块链,包括一系列按照产生的先后时间顺序相互接续的区块(block),新区块一旦加入到区块链中就不会再被移除,区块中记录了区块链系统中节点提交的记录数据。

从上述附图1示例的视频剪裁方法可知,一方面,由于感兴趣区域的获取、实时追踪和根据感兴趣区域实时追踪的结果皆由计算机程序执行,因此,相对于现有技术需要对海量视频进行人工裁剪的方案,本申请提供的技术方案效率高、成本低;另一方面,在实时追踪到感兴趣区域后,以感兴趣区域的边缘为裁剪界限对待裁剪视频进行裁剪,则保留了待剪裁视频的重要、关键部分,使得视频裁剪的效果能够满足用户对视频的需求。

附图9是本申请实施例提供的一种视频裁剪装置的结构示意图,该装置可以集成在终端或服务器等计算机设备中,该装置包括获取模块901、目标追踪模块902、裁剪模块903和视频输出模块904,其中:

获取模块901,用于获取待裁剪视频中初始视频帧的感兴趣区域感兴趣区域;

目标追踪模块902,用于对初始视频帧之后每一帧视频中的感兴趣区域进行实时追踪;

裁剪模块903,用于根据对所述感兴趣区域实时追踪的结果,以所述感兴趣区域的边缘或围绕所述感兴趣区域延拓后的边缘为裁剪界限对所述待裁剪视频的每一帧进行裁剪,得到裁剪后视频;

视频输出模块904,用于输出裁剪模块903得到的裁剪后视频。

在一种可能实现方式中,该目标追踪模块902用于:基于感兴趣区域的特征点检测结果,将感兴趣区域分割为多个子区域;获取感兴趣区域被分割的多个子区域的每个子区域的移动方向偏置量;基于每个子区域的移动方向偏置量,预测感兴趣区域在当前视频帧的下一帧视频中的移动方向信息。

在一种可能实现方式中,该裁剪模块903用于:根据感兴趣区域在下一帧视频中的移动方向信息,在与感兴趣区域移动方向相反的方向,以感兴趣区域的边缘为裁剪界限对下一帧视频进行裁剪。

在一种可能实现方式中,该目标追踪模块902用于:判断初始视频帧之后的下一帧视频中是否存在与感兴趣区域相异程度满足预设阈值的区域;若初始视频帧之后的下一帧视频中存在与感兴趣区域相异程度满足预设阈值的区域,则将与感兴趣区域相异程度满足预设阈值的区域位置确认为感兴趣区域在当前视频帧的下一帧视频的位置。

在一种可能实现方式中,该目标追踪模块902用于:利用神经网络检测感兴趣区域在当前视频帧的检测位置信息;根据感兴趣区域在当前视频帧的检测位置信息,预测感兴趣区域在当前视频帧的下一帧视频的位置。

在一种可能实现方式中,该装置还包括用于根据感兴趣区域在当前视频帧的下一帧视频中的移动方向信息,确定感兴趣区域在当前视频帧的下一帧视频的位置的模块。

在一种可能实现方式中,裁剪模块903用于根据感兴趣区域的宽度或高度、待裁剪视频的宽度或高度以及待裁剪视频被裁剪后所得最终视频的宽高比或高宽比,确定围绕感兴趣区域需要延拓的宽度或高度;根据感兴趣区域在当前视频帧的下一帧视频的位置和围绕感兴趣区域需要延拓的宽度或高度,计算待裁剪视频需要裁剪的像素,根据计算的结果,对待裁剪视频的每一帧进行裁剪。

需要说明的是:上述实施例提供的视频裁剪装置在视频裁剪时,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将装置的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。另外,上述实施例提供的视频裁剪装置与视频裁剪方法实施例属于同一构思,其具体实现过程以及技术效果详见方法实施例,此处不再赘述。

本申请实施例还提供一种计算机设备,该计算机设备可以为终端或者服务器等设备,如图10所示,其示出了本申请实施例所涉及的计算机设备的结构示意图,具体来讲:

该计算机设备可以包括一个或者一个以上处理核心的处理器1001、一个或一个以上计算机可读存储介质的存储器1002、电源1003和输入单元1004等部件。本领域技术人员可以理解,图10中示出的计算机设备结构并不构成对计算机设备的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。其中:

处理器1001是该计算机设备的控制中心,利用各种接口和线路连接整个计算机设备的各个部分,通过运行或执行存储在存储器1002内的软件程序和/或模块,以及调用存储在存储器1002内的数据,执行计算机设备的各种功能和处理数据,从而对计算机设备进行整体监控。可选的,处理器1001可包括一个或多个处理核心;优选的,处理器1001可集成应用处理器和调制解调处理器,其中,应用处理器主要处理操作系统、用户界面和应用程序等,调制解调处理器主要处理无线通信。可以理解的是,上述调制解调处理器也可以不集成到处理器1001中。

存储器1002可用于存储软件程序以及模块,处理器1001通过运行存储在存储器1002的软件程序以及模块,从而执行各种功能应用以及数据处理。存储器1002可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序(比如声音播放功能、图像播放功能等)等;存储数据区可存储根据计算机设备的使用所创建的数据等。此外,存储器1002可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。相应地,存储器1002还可以包括存储器控制器,以提供处理器1001对存储器1002的访问。

计算机设备还包括给各个部件供电的电源1003,可选地,电源1003可以通过电源管理系统与处理器1001逻辑相连,从而通过电源管理系统实现管理充电、放电、以及功耗管理等功能。电源1003还可以包括一个或一个以上的直流或交流电源、再充电系统、电源故障检测电路、电源转换器或者逆变器、电源状态指示器等任意组件。

该计算机设备还可包括输入单元1004,该输入单元1004可用于接收输入的数字或字符信息,以及产生与用户设置以及功能控制有关的键盘、鼠标、操作杆、光学或者轨迹球信号输入。

尽管未示出,计算机设备还可以包括显示单元等,在此不再赘述。具体在本实施例中,计算机设备中的处理器1001会按照如下的指令,将一个或一个以上的应用程序的进程对应的可执行文件加载到存储器1002中,并由处理器1001来运行存储在存储器1002中的应用程序,从而实现各种功能,如下:

获取待裁剪视频中初始视频帧的感兴趣区域;对初始视频帧之后每一帧视频中的感兴趣区域进行实时追踪;根据对感兴趣区域实时追踪的结果,以感兴趣区域的边缘或围绕感兴趣区域延拓后的边缘为裁剪界限对待裁剪视频的每一帧进行裁剪,得到裁剪后视频;输出得到的裁剪后视频。

以上个操作的具体实施例可参见前面的实施例,在此不再赘述。

在一实施例中,如图11所示,该计算机设备可以是分布式系统中的一个节点,其中,该分布式系统可以为区块链系统,该区块链系统可以是由多个节点通过网络通信的形式连接形成的分布式系统。其中,节点之间可以组成点对点(p2p,peertopeer)网络,任意形式的计算机设备,比如服务器、终端等电子设备都可以通过加入该点对点网络而成为该区块链系统中的一个节点。

由以上可知,一方面,由于感兴趣区域的获取、实时追踪和根据感兴趣区域实时追踪的结果裁剪待裁剪视频皆由计算机程序执行,因此,相对于现有技术需要对海量视频进行人工裁剪的方案,本申请提供的技术方案效率高、成本低;另一方面,在实时追踪到感兴趣区域后,以感兴趣区域的边缘为裁剪界限对待裁剪视频进行裁剪,则保留了待剪裁视频的重要、关键部分,使得视频裁剪的效果能够满足用户对视频的需求。

本领域普通技术人员可以理解,上述实施例的各种方法中的全部或部分步骤可以通过指令来完成,或通过指令控制相关的硬件来完成,该指令可以存储于一计算机可读存储介质中,并由处理器进行加载和执行。

为此,本申请实施例提供一种计算机可读存储介质,其中存储有多条指令,该指令能够被处理器进行加载,以执行本申请实施例所提供的任一种视频裁剪方法中的步骤。例如,该指令可以执行如下步骤:

获取待裁剪视频中初始视频帧的感兴趣区域;对初始视频帧之后每一帧视频中的感兴趣区域进行实时追踪;根据对感兴趣区域实时追踪的结果,以感兴趣区域的边缘或围绕感兴趣区域延拓后的边缘为裁剪界限对待裁剪视频的每一帧进行裁剪,得到裁剪后视频;输出得到的裁剪后视频。

以上各个操作的具体实施方式可参见前面的实施例,在此不再赘述。

其中,该计算机可读存储介质可以包括:只读存储器(rom,readonlymemory)、随机存取记忆体(ram,randomaccessmemory)、磁盘或光盘等。

由于该计算机可读存储介质中所存储的指令,可以执行本申请实施例所提供的任一种视频裁剪方法中的步骤,因此,可以实现本申请实施例所提供的任一种视频裁剪方法所能实现的有益效果,详见前面的实施例,在此不再赘述。

以上对本申请实施例所提供的一种视频裁剪方法、装置、计算机设备和计算机可读存储介质进行了详细介绍,本文中应用了具体个例对本申请的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本申请的方法及其核心思想;同时,对于本领域的技术人员,依据本申请的思想,在具体实施方式及应用范围上均会有改变之处,综上,本说明书内容不应理解为对本申请的限制。

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