一种视频帧中目标对象的拟合方法、系统及设备与流程

文档序号:21819268发布日期:2020-08-11 21:34阅读:120来源:国知局
一种视频帧中目标对象的拟合方法、系统及设备与流程

本发明涉及互联网技术领域,特别涉及一种视频帧中目标对象的拟合方法、系统及设备。



背景技术:

随着视频播放技术的不断发展,针对视频画面的图像处理需求也在不断提高。当前,很多应用场景下都需要从视频画面中拟合出主要的目标对象,然后再根据拟合出的目标对象进行后续的处理。例如,一些自媒体需要根据视频的内容,制作出带有配图的剧情大纲。在这种情况下,就需要从视频画面中拟合出主要人物,然后根据拟合出的主要人物以及后期添加的文字来制作视频的剧情大纲。又例如,当视频播放画面中展示弹幕信息时,有时候为了避免弹幕信息对视频画面中的主要对象造成遮挡,也需要先从视频画面中拟合出主要对象,然后再通过弹幕处理技术,避免对拟合出的主要对象造成遮挡。

目前,通常是通过二值掩码图的方式对视频帧中的目标对象进行拟合。具体地,可以生成与视频帧一致的二值掩码图,在该二值掩码图中,目标对象所占的区域与其它区域可以具备不同的像素值。这样,后续可以针对二值掩码图进行处理。然而,由于二值掩码图的数据量通常比较大,从而导致按照二值掩码图来拟合目标对象时,会增加后续需要处理的数据量,进而导致处理效率较低。



技术实现要素:

本申请的目的在于提供一种视频帧中目标对象的拟合方法、系统及设备,能够减少拟合后的数据量,从而提高后续的处理效率。

为实现上述目的,本申请一方面提供一种视频帧中目标对象的拟合方法,所述方法包括:在所述视频帧中识别所述目标对象所处的区域;选择若干个几何图形拟合所述目标对象所处的区域,以使得所述若干个几何图形的组合覆盖所述目标对象所处的区域;根据各个所述几何图形的类型以及各个所述几何图形在所述视频帧中的布局参数,生成各个所述几何图形的拟合参数,并将各个所述几何图形的拟合参数的组合作为所述视频帧的拟合参数。

为实现上述目的,本申请另一方面还提供一种视频帧中目标对象的拟合系统,所述系统包括:区域识别单元,用于在所述视频帧中识别所述目标对象所处的区域;几何图形选择单元,用于选择若干个几何图形拟合所述目标对象所处的区域,以使得所述若干个几何图形的组合覆盖所述目标对象所处的区域;拟合参数生成单元,用于根据各个所述几何图形的类型以及各个所述几何图形在所述视频帧中的布局参数,生成各个所述几何图形的拟合参数,并将各个所述几何图形的拟合参数的组合作为所述视频帧的拟合参数。

为实现上述目的,本申请另一方面还提供一种视频帧中目标对象的拟合设备,所述设备包括处理器和存储器,所述存储器用于存储计算机程序,所述计算机程序被所述处理器执行时,实现上述的拟合方法。

由上可见,本申请提供的技术方案,针对视频帧中的目标对象,可以识别出该目标对象所处的区域。然后,可以通过几何图形拟合的方式,采用一个或者多个几何图形的组合来覆盖视频帧中的目标对象。在确定出覆盖目标对象的若干个几何图形后,可以生成这些几何图形的拟合参数,该拟合参数可以表征各个几何图形的类型以及各个几何图形在视频帧中的布局。由于几何图形的拟合参数并非是图像数据,因此所占用的字节通常较小,从而能够减少拟合后的数据量,进而提高后续的处理效率。

附图说明

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

图1是本发明实施方式中目标对象的拟合方法示意图;

图2是本发明实施方式中几何图形拟合目标对象的示意图;

图3是本发明实施方式中矩形区域的示意图;

图4是本发明实施方式中椭圆区域的示意图;

图5是本发明实施方式中掩码信息和视频帧的数据的结构示意图;

图6是本发明实施方式中辅助标识位的一种实现方式示意图;

图7是本发明实施方式中目标对象的拟合设备的结构示意图。

具体实施方式

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

本申请提供一种视频帧中目标对象的拟合方法,所述方法可以应用于具备图像处理功能的设备中。请参阅图1,所述方法包括以下步骤。

s1:在所述视频帧中识别所述目标对象所处的区域。

在本实施方式中,所述视频帧可以是待解析的视频数据中的任意一个视频帧。所述待解析的视频数据可以是设备中已经完成上传的点播视频的视频数据,也可以是设备接收到的直播视频流的视频数据,所述视频数据中可以包括每一个视频帧的数据。设备可以读取所述待解析的视频数据,并可以针对该视频数据中的每一个视频帧进行处理。具体地,设备可以预先确定视频数据中需要识别的目标对象,所述目标对象例如可以是视频画面中出现的人物。当然,根据视频内容的不同,所述目标对象也可以灵活更改。例如,在一个展现猫的日常生活的直播视频中,所述目标对象便可以是猫。

在本实施方式中,针对所述视频数据中的任一视频帧,可以从所述视频帧中识别出所述目标对象所处的区域。具体地,从视频帧中识别目标对象可以采用多种方式来实现。例如,可以通过实例分割(instancesegmentation)算法或者语义分割(semanticsegmentation)算法从视频帧中识别出目标对象。在实际应用场景中,可以通过faster-rcnn、mask-rcnn等神经网络系统来识别目标对象。具体地,可以将视频帧输入上述的神经网络系统的模型,该模型输出的结果中,可以标注出所述视频帧中包含的目标对象的位置信息。所述位置信息可以通过视频帧中构成所述目标对象的像素点的坐标值来表示。这样,构成所述目标对象的像素点的坐标值的集合便可以表征所述目标对象在视频帧中所处的区域。

s3:选择若干个几何图形拟合所述目标对象所处的区域,以使得所述若干个几何图形的组合覆盖所述目标对象所处的区域。

在本实施方式中,在确定出所述目标对象在所述视频帧中所处的区域后,可以选用一个或者多个几何图形来共同拟合所述目标对象所处的区域,拟合的结果可以是这一个或者多个几何图形的组合能够刚好覆盖所述目标对象所处的区域。举例来说,请参阅图2,当前视频帧中待识别的目标对象是人体,在从当前视频帧中识别出如图2所示的人体后,可以通过椭圆和矩形来拟合出该人体在视频帧中所处的区域。例如,椭圆可以拟合人体的头部,矩形可以拟合人体的上半身和下半身。

在本实施方式中,在确定上述的一个或者多个几何图形时,可以将所述目标对象所处的区域按照所述目标对象的形体特征分割为一个或者多个子区域。具体地,所述形体特征可以根据目标对象的类型而灵活设置。例如,当所述目标对象为人体时,所述形体特征便可以是头部、躯干、四肢等。当然,根据拟合精度的不同,分割得到的子区域的数量也可以不同。例如,当拟合精度的要求不高时,对于躯干和四肢可以无需分割得过于精细,而是可以简单地分为上半身和下半身。在实际应用中,可以通过多种姿态算法来将目标对象所处的区域分割为一个或者多个子区域。所述姿态算法例如可以包括densepose算法、openpose算法、realtimemulti-personposeestimation算法、alphapose算法、humanbodyposeestimation算法、deeppose算法等。

在本实施方式中,在划分得到各个子区域后,针对任一所述子区域,可以选取与所述子区域相适配的几何图形。例如,对于人体的头部而言,可以选择圆形或者椭圆形,而针对人体的躯干和四肢而言,可以选择矩形。这样,这些子区域对应的各个几何图形的组合便可以覆盖所述目标对象所处的区域。

s5:根据各个所述几何图形的类型以及各个所述几何图形在所述视频帧中的布局参数,生成各个所述几何图形的拟合参数,并将各个所述几何图形的拟合参数的组合作为所述视频帧的拟合参数。

在本实施方式中,在选择了若干个能够刚好覆盖目标对象的几何图形后,可以继续确定所述几何图形的布局参数,以使得按照所述布局参数绘制的所述几何图形能够覆盖对应的子区域。在实际应用中,根据几何图形的不同,确定的布局参数也可以不同。例如,对于矩形而言,所述布局参数可以是矩形的两个对角顶点在视频帧中的坐标值,以及所述矩形的边与水平线的夹角。如图3所示,为了确定该矩形在视频帧中的布局参数,可以确定出顶点a和顶点b的坐标值,以及边ac与水平线(图3中的虚线)的夹角。这样,根据这些布局参数,便可以在视频帧中确定出该矩形的区域。又例如,为了确定图4中椭圆覆盖的区域,确定的布局参数可以包括该椭圆的中心点的坐标、该椭圆的长轴、短轴以及长轴与水平线(图4中的虚线)的夹角布局参数。再例如,为了确定圆形覆盖的区域,确定的布局参数可以包括该圆形的圆心和半径。

在本实施方式中,可以根据选取的所述几何图形的类型以及所述几何图形的布局参数,生成所述几何图形的拟合参数。具体地,所述拟合参数可以通过编码后的数值来表示。具体地,所述几何图形的类型可以通过预设图形标识来表示。例如,圆形的预设图形标识为0,椭圆的预设图形标识为1,矩形的预设图形标识为2,三角形的预设图形标识为3等等。而几何图形的布局参数则可以通过像素点的坐标或者覆盖的像素点的数量来表示。例如,圆形的圆心可以通过圆心处像素点的坐标值来表示,而半径则可以通过该半径覆盖的像素点的数量来表示。上述确定出的预设图形标识和布局参数均可以是十进制的,而在计算机语言中,通常可以采用二进制或者十六进制来表示。因此,在得到几何图形对应的预设图形标识以及布局参数后,可以分别对所述预设图形标识和所述布局参数进行编码。举例来说,可以对所述预设图形标识和所述布局参数进行二进制编码。假设十进制计数方式下,圆形的预设图形标识为0,布局参数中圆心的坐标为(16,32),半径为8,那么二进制编码后,预设图形标识可以为00,圆心坐标可以表示为010000100000,半径可以表示为001000,组合起来就是00010000100000001000。那么,最终便可以将编码后的数据作为所述几何图形的拟合参数。针对所述视频帧中包含的各个几何图形而言,均可以按照上述的方式生成各自的拟合参数。最终,各个所述几何图形的拟合参数的组合便可以作为所述视频帧的拟合参数。

在一个实施方式中,在生成了视频帧的拟合参数之后,还可以根据这些几何图形的拟合参数,生成所述视频帧的掩码信息。具体地,所述掩码信息中除了包含编码后的拟合参数,还可以包含针对所述拟合参数添加的辅助标识位。其中,添加所述辅助标识位的作用在于,能够将视频帧的掩码信息与视频帧的真实数据进行区分。请参阅图5,经过处理后的视频数据中,可以按照每一个视频帧进行划分,其中,对于同一视频帧而言,该视频帧的掩码信息和该视频帧的数据是首尾相连的。如果不添加辅助标识位,那么后续的其它设备在读取视频数据时,无法区分哪些是掩码信息,哪些是需要渲染的视频帧的数据。鉴于此,可以针对所述拟合参数添加辅助标识位,并将所述辅助标识位和所述拟合参数的组合作为所述视频帧的掩码信息。这样,其它设备在读取视频数据时,可以通过识别辅助标识位,从而确定出哪些字段是掩码信息。在实际应用中,辅助标识位的实现方式也多种多样。例如,所述辅助标识位可以通过二进制的方式,注明拟合参数的数据大小,并且所述辅助标识位可以是位于拟合参数之前的指定位数的二进制数。例如,所述辅助标识位可以是6比特的二进制数,对于00010000100000001000这样的拟合参数,其数据大小为20位,那么辅助标识位便可以表示为010100,那么最终得到的掩码信息便可以是01010000010000100000001000。其它设备在读取完6位的辅助标识位后,便可以知晓拟合参数的数据大小为20位,便可以紧接着读取20位的数据内容,并将这20位的数据内容作为拟合参数的内容。在这20位数据之后的数据,便可以作为待渲染的视频帧的数据。

此外,在其它的一些实施方式中,辅助标识位还可以表征所述拟合参数中包含的几何图形的数量,那么当其它设备从视频数据中读取到与辅助标识位表征的数量相一致的几何图形的拟合参数后,后续继续读取的数据就是待渲染的视频帧的数据。再者,辅助标识位还可以表征所述拟合参数的数据结束位置。如图6所示,所述辅助标识位可以是一串预先设定的固定字符,当其它设备读取到该固定字符后,便知晓拟合参数已经读取完成,该固定字符之后的就是待渲染的视频帧的数据。

在一个实施方式中,为了更加方便地拟合视频帧中的目标对象所处的区域,在识别所述视频帧中目标对象所处的区域之后,还可以生成所述视频帧的二进制掩码图。对于所述二进制掩码图中的各个像素点而言,可以仅具备两种不同的像素值。其中,构成所述目标对象所处的区域的像素点可以具备第一像素值,而其它像素点可以具备第二像素值。在实际应用中,为了与原始的视频帧相匹配,生成的二进制掩码图可以与所述视频帧的尺寸一致。该尺寸一致可以理解为画面的长度和宽度一致,并且分辨率也一致,从而使得原始的视频帧和生成的二进制掩码图中包含的像素点的数量是一致的。当然,为了减少二进制掩码图像的数据量,在生成的二进制掩码图像中可以仅包含所述目标对象对应的区域即可,而无需显示原始视频帧的全部区域。这样,生成的二进制掩码图像的尺寸可以与原始视频帧中剪裁出的一个子区域的尺寸相一致,而无需与原始视频帧的尺寸相一致。在本实施方式中,生成所述二进制掩码图之后,可以直接在所述二进制掩码图中,按照上述的方式通过所述若干个几何图形对具备第一像素值的像素点构成的区域进行拟合,从而得到各个几何图形的拟合参数。

在一个实施方式中,还可以通过机器学习的方式,来确定视频帧的拟合参数。具体地,不同的目标对象可以通过不同的训练样本集来对识别模型进行训练。首先,可以获取所述目标对象的训练样本集,所述训练样本集中可以包括若干个图像样本,并且所述若干个图像样本中均包含所述目标对象。对于训练样本而言,每个图像样本可以通过人工标注的方式,标注出每个图像样本中覆盖目标对象所需的几何图形。这些标注出的几何图形可以通过几何图形的拟合参数来表示,所述拟合参数可以包括几何图形的类型以及几何图形的布局参数。也就是说,在标注训练样本时,可以生成各个图像样本对应的拟合参数,该拟合参数可以作为图像样本的标注标签。

然后,可以通过人工标注的图像样本对预设的识别模型进行训练。所述识别模型中可以包括深度神经网络,该深度神经网络中的神经元可以具备初始权重值。携带初始权重值的深度神经网络对输入的图像样本进行处理后,可以得到输入的图像样本对应的预测结果。该预测结果可以表明输入的图像样本中,覆盖目标对象所需的几何图形的拟合参数。由于识别模型在初始阶段携带的权重值不够准确,会导致预测结果表征的拟合参数与人工标注的拟合参数存在一定差距。那么在得到预测结果后,可以计算预测结果表征的拟合参数与人工标注的拟合参数之间的差异值,并将该差异值作为反馈数据提供给识别模型,以更改识别模型中神经元的权重值。这样,通过反复校正权重值,最终可以使得在将任一图像样本输入训练后的识别模型后,所述训练后的识别模型输出的预测结果与输入的图像样本的标注标签表征的拟合参数一致,这样便可以完成训练过程。

后续,当需要确定视频帧的拟合参数时,可以将所述视频帧输入所述训练后的识别模型,并将所述训练后的识别模型输出的预测结果作为所述视频帧的拟合参数。

本申请还提供一种视频帧中目标对象的拟合系统,所述系统包括:

区域识别单元,用于在所述视频帧中识别所述目标对象所处的区域;

几何图形选择单元,用于选择若干个几何图形拟合所述目标对象所处的区域,以使得所述若干个几何图形的组合覆盖所述目标对象所处的区域;

拟合参数生成单元,用于根据各个所述几何图形的类型以及各个所述几何图形在所述视频帧中的布局参数,生成各个所述几何图形的拟合参数,并将各个所述几何图形的拟合参数的组合作为所述视频帧的拟合参数。

在一个实施方式中,所述几何图形选择单元包括:

子区域分割模块,用于将所述目标对象所处的区域按照所述目标对象的形体特征分割为一个或者多个子区域;

布局参数确定模块,用于针对任一所述子区域,选取与所述子区域相适配的几何图形,并确定所述几何图形的布局参数,以使得按照所述布局参数绘制的所述几何图形覆盖所述子区域。

在一个实施方式中,所述拟合参数生成单元包括:

编码模块,用于识别所述几何图形的类型对应的预设图形标识,并分别对所述预设图形标识和所述几何图形的布局参数进行编码,并将编码后的数据作为所述几何图形的拟合参数。

在一个实施方式中,所述拟合参数生成单元包括:

训练样本集获取模块,用于预先获取所述目标对象的训练样本集,所述训练样本集中包括若干个图像样本,所述若干个图像样本中均包含所述目标对象,并且每个所述图像样本均具备标注标签,所述标注标签用于表征覆盖所述图像样本中的目标对象所需的几何图形的拟合参数;

训练模块,用于利用所述训练样本集中的图像样本训练识别模型,以使得在将任一图像样本输入训练后的识别模型后,所述训练后的识别模型输出的预测结果与输入的图像样本的标注标签表征的拟合参数一致;

结果预测模块,用于将所述视频帧输入所述训练后的识别模型,并将所述训练后的识别模型输出的预测结果作为所述视频帧的拟合参数。

请参阅图7,本申请还提供一种视频帧中目标对象的拟合设备,所述设备包括存储器和处理器,所述存储器用于存储计算机程序,所述计算机程序被所述处理器执行时,可以实现如上述的掩码信息的生成方法。具体地,如图7所示,在硬件层面,该设备可以包括处理器、内部总线和存储器。所述存储器可以包括内存以及非易失性存储器。处理器从非易失性存储器中读取对应的计算机程序到内存中然后运行。本领域普通技术人员可以理解,图7所示的结构仅为示意,其并不对上述设备的结构造成限定。例如,所述设备还可包括比图7中所示更多或者更少的组件,例如还可以包括其他的处理硬件,如gpu(graphicsprocessingunit,图像处理器),或者具有与图7所示不同的配置。当然,除了软件实现方式之外,本申请并不排除其他实现方式,比如逻辑器件抑或软硬件结合的方式等等。

本实施方式中,所述的处理器可以包括中央处理器(cpu)或图形处理器(gpu),当然也可以包括其他的具有逻辑处理能力的单片机、逻辑门电路、集成电路等,或其适当组合。本实施方式所述的存储器可以是用于保存信息的记忆设备。在数字系统中,能保存二进制数据的设备可以是存储器;在集成电路中,一个没有实物形式的具有存储功能的电路也可以为存储器,如ram、fifo等;在系统中,具有实物形式的存储设备也可以叫存储器等。实现的时候,该存储器也可以采用云存储器的方式实现,具体实现方式,本说明书不做限定。

需要说明的是,本说明书中的系统和设备,具体的实现方式可以参照方法实施方式的描述,在此不作一一赘述。

由上可见,本申请提供的技术方案,针对视频帧中的目标对象,可以识别出该目标对象所处的区域。然后,可以通过几何图形拟合的方式,采用一个或者多个几何图形的组合来覆盖视频帧中的目标对象。在确定出覆盖目标对象的若干个几何图形后,可以生成这些几何图形的拟合参数,该拟合参数可以表征各个几何图形的类型以及各个几何图形在视频帧中的布局。由于几何图形的拟合参数并非是图像数据,因此所占用的字节通常较小,从而能够减少拟合后的数据量,进而提高后续的处理效率。

通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件来实现。基于这样的理解,上述技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如rom/ram、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行各个实施例或者实施例的某些部分所述的方法。

以上所述仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

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