CN113518256B - 视频处理方法、装置、电子设备及计算机可读存储介质 - Google Patents

视频处理方法、装置、电子设备及计算机可读存储介质 Download PDF

Info

Publication number
CN113518256B
CN113518256B CN202110835849.0A CN202110835849A CN113518256B CN 113518256 B CN113518256 B CN 113518256B CN 202110835849 A CN202110835849 A CN 202110835849A CN 113518256 B CN113518256 B CN 113518256B
Authority
CN
China
Prior art keywords
target
video
decoding
processing
layer
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN202110835849.0A
Other languages
English (en)
Other versions
CN113518256A (zh
Inventor
肖鑫雨
俞一鹏
孙子荀
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Tencent Technology Shenzhen Co Ltd
Original Assignee
Tencent Technology Shenzhen Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Tencent Technology Shenzhen Co Ltd filed Critical Tencent Technology Shenzhen Co Ltd
Priority to CN202110835849.0A priority Critical patent/CN113518256B/zh
Publication of CN113518256A publication Critical patent/CN113518256A/zh
Application granted granted Critical
Publication of CN113518256B publication Critical patent/CN113518256B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/441Acquiring end-user identification, e.g. using personal code sent by the remote control or by inserting a card
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/431Generation of visual interfaces for content selection or interaction; Content or additional data rendering
    • H04N21/4312Generation of visual interfaces for content selection or interaction; Content or additional data rendering involving specific graphical features, e.g. screen layout, special fonts or colors, blinking icons, highlights or animations
    • H04N21/4316Generation of visual interfaces for content selection or interaction; Content or additional data rendering involving specific graphical features, e.g. screen layout, special fonts or colors, blinking icons, highlights or animations for displaying supplemental content in a region of the screen, e.g. an advertisement in a separate window
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/44Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs
    • H04N21/44012Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs involving rendering scenes according to scene graphs, e.g. MPEG-4 scene graphs
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/44Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs
    • H04N21/4402Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs involving reformatting operations of video signals for household redistribution, storage or real-time display
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/80Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
    • H04N21/83Generation or processing of protective or descriptive data associated with content; Content structuring
    • H04N21/845Structuring of content, e.g. decomposing content into time segments
    • H04N21/8456Structuring of content, e.g. decomposing content into time segments by decomposing the content in the time domain, e.g. in time segments

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Business, Economics & Management (AREA)
  • Marketing (AREA)
  • Image Analysis (AREA)

Abstract

本申请提供了一种视频处理方法、装置、电子设备及计算机可读存储介质;方法包括:从视频中提取多个图像帧;基于所述多个图像帧进行目标识别处理,得到所述多个图像帧中对应目标对象的目标图像帧、以及所述目标图像帧中对应所述目标对象的目标包围框;根据每个所述目标图像帧的播放时间确定添加时间,并根据每个所述目标图像帧中对应所述目标对象的目标包围框确定添加位置;根据在所述视频中待添加的素材、所述添加时间和所述添加位置生成素材添加信息,其中,所述素材添加信息用于在所述视频的所述添加时间添加位于所述添加位置的所述素材。通过本申请,能够精准且高效地确定出视频中素材的添加时间和添加位置,提高了视频处理的效率。

Description

视频处理方法、装置、电子设备及计算机可读存储介质
技术领域
本申请涉及视频处理技术领域,尤其涉及一种视频处理方法、装置、电子设备及计算机可读存储介质。
背景技术
随着互联网技术以及智能终端的发展,人们的娱乐方式已经发生了翻天覆地的变化。人们可以随时随地地利用智能终端观看电竞玩家在电竞比赛中的游戏视频、或者体育比赛的直播视频、转播视频等。为了提高用户在观看视频时的趣味性,可以为视频增加一些特效,例如在视频中添加贴图、文字等。
然而,在相关技术中,视频特效的添加方式比较单一,通常是通过人工指定几个固定的点作为特效添加的候选位置,导致成品的表现单一,并且需要耗费较大的人工成本,视频特效处理效率低,同时灵活性也较差。
发明内容
本申请实施例提供一种视频处理方法、装置、电子设备及计算机可读存储介质,能够精准且高效地确定出视频中素材的添加时间和添加位置,提高了视频处理的效率。
本申请实施例的技术方案是这样实现的:
本申请实施例提供一种视频处理方法,包括:
从视频中提取多个图像帧;
基于所述多个图像帧进行目标识别处理,得到所述多个图像帧中对应目标对象的目标图像帧、以及所述目标图像帧中对应所述目标对象的目标包围框;
根据每个所述目标图像帧的播放时间确定添加时间,并根据每个所述目标图像帧中对应所述目标对象的目标包围框确定添加位置;
根据在所述视频中待添加的素材、所述添加时间和所述添加位置生成素材添加信息,其中,所述素材添加信息用于在所述视频的所述添加时间添加位于所述添加位置的所述素材。
上述方案中,所述从视频中提取多个图像帧,包括:获取针对所述视频设定的时间段;从所述视频中抽取与所述时间段对应的视频片段;从所述视频片段中提取多个图像帧。
本申请实施例提供一种视频处理装置,包括:
提取模块,用于从视频中提取多个图像帧;
目标识别模块,用于基于所述多个图像帧进行目标识别处理,得到所述多个图像帧中对应目标对象的目标图像帧、以及所述目标图像帧中对应所述目标对象的目标包围框;
确定模块,用于根据每个所述目标图像帧的播放时间确定添加时间,并根据每个所述目标图像帧中对应所述目标对象的目标包围框确定添加位置;
生成模块,用于根据在所述视频中待添加的素材、所述添加时间和所述添加位置生成素材添加信息,其中,所述素材添加信息用于在所述视频的所述添加时间添加位于所述添加位置的所述素材。
上述方案中,所述提取模块,还用于获取针对所述视频设定的时间段;从所述视频中抽取与所述时间段对应的视频片段;从所述视频片段中提取多个图像帧。
上述方案中,所述目标识别模块,还用于针对每个所述图像帧执行以下处理:对所述图像帧进行目标识别处理,得到所述图像帧中的至少一个候选包围框的位置和尺寸、以及所述候选包围框包括目标对象的置信度;当所述图像帧中的任意一个候选包围框包括所述目标对象的置信度大于第一置信度阈值时,将所述图像帧作为目标图像帧,并将所述任意一个候选包围框作为包括所述目标对象的目标包围框。
上述方案中,所述目标识别模块,还用于当所述候选包围框包括所述目标对象的置信度小于所述第一置信度阈值,且包括所述目标对象的状态标识的置信度大于第二置信度阈值时,将所述图像帧作为目标图像帧,并执行以下处理:基于所述目标对象与所述目标对象的状态标识之间的位置关系,确定所述目标图像帧中所述目标对象对应的目标包围框的位置和尺寸。
上述方案中,所述目标识别模块,还用于对所述图像帧进行多个层次的编码处理,得到所述多个层次的编码结果;对所述多个层次的编码结果进行解码处理,得到所述多个层次的解码结果;对所述多个层次的解码结果进行融合处理,得到融合解码结果;基于所述融合解码结果进行分类处理,得到所述图像帧中的至少一个候选包围框的位置和尺寸、以及所述候选包围框的置信度。
上述方案中,所述编码处理是通过编码器实现的,所述编码器包括M个上采样层和M个下采样层,其中,M为大于2的整数常量;所述目标识别模块,还用于通过第m下采样层对所述第m下采样层的输入进行下采样处理,得到所述第m下采样层的下采样结果,其中,m是递增的整数变量且取值满足1≤m≤M;通过第m上采样层对所述第m上采样层的输入进行上采样处理,得到所述第m上采样层的上采样结果;其中,当m取值为1时,所述第m上采样层的输入是所述图像帧;当m取值为2≤m≤M时,所述第m上采样层的输入是第m-1上采样层输出的上采样结果和第m-1下采样层输出的下采样结果;将所述M个上采样层各自输出的上采样结果确定为多个层次的编码结果。
上述方案中,所述编码处理是通过编码器实现的,且所述编码器包括M个解码层;所述目标识别模块,还用于基于所述M个解码层中的至少部分解码层执行解码处理,其中,当所述至少部分解码层包括第n解码层时,基于所述第n解码层的输入进行解码处理,得到所述第n解码层的解码结果;其中,当n取值为1时,所述第n解码层的输入为第M上采样层的上采样结果;当n取值为2≤n≤M-1时,所述第n解码层的输入为第M-n上采样层的上采样结果和第n-1解码层的解码结果;将所述M个解码层各自输出的解码结果作为多个层次的解码结果。
上述方案中,所述目标识别模块,还用于针对每个所述层次的解码结果执行以下处理:对所述层次的解码结果进行多个尺度的划分,得到多个划分结果,分别对所述多个划分结果进行池化处理,对应得到所述层次的多个池化结果,对所述多个池化结果进行拼接处理,得到所述层次的解码结果对应的设定大小的特征向量;对所述多个层次的解码结果一一对应的多个设定大小的特征向量进行融合处理,将得到的融合特征向量作为融合解码结果。
上述方案中,所述目标识别处理是通过目标检测模型实现的,所述装置还包括训练模块,用于通过以下方式训练所述目标检测模型:获取样本视频、以及针对所述样本视频的标注数据,其中,所述标注数据包括对应所述目标对象的样本目标图像帧、以及所述样本目标图像帧中对应所述目标对象的目标包围框的位置和尺寸;从所述样本视频中提取多个样本图像帧,并通过所述目标检测模型对所述多个样本图像帧进行目标识别处理,得到目标识别结果;将所述目标识别结果和所述标注数据代入损失函数,以确定所述损失函数取得最小值时所述目标检测模型的参数,并基于所述参数更新所述目标检测模型;其中,所述损失函数为基于权重的焦点损失函数,且所述权重为每一类型的样本视频的数量与所有类型的样本视频的总数量的比值。
上述方案中,所述装置还包括数据增强模块,用于当样本视频集合中某个类型的样本视频的数量小于数量阈值时,执行以下处理:对所述类型的样本视频的标注数据进行数据增强处理,并基于经过数据增强处理后的标注数据训练所述目标检测模型;其中,所述数据增强处理的方式包括以下至少之一:旋转、翻转、模糊。
上述方案中,所述确定模块,还用于按照播放时间对多个所述目标图像帧进行降序排序;将降序排序结果中排在第一位的目标图像帧的播放时间确定为起始时间,并获取持续时间,其中,所述持续时间小于或等于所述降序排序结果中排在最后一位的目标图像帧的播放时间;将从所述起始时间开始计时直至所述持续时间所形成的时间段,确定为添加时间。
上述方案中,所述确定模块,还用于针对每个所述目标图像帧执行以下处理:根据所述目标包围框的位置和尺寸,确定所述目标包围框分别与预先设定的多个素材框之间的重合度;将重合度最小的素材框所处的位置确定为添加位置。
上述方案中,所述确定模块,还用于当所述重合度最小的素材框与所述目标包围框存在重合时,执行以下处理:对所述重合度最小的素材框进行平移处理,直至所述重合度最小的素材框与所述目标包围框不再重合;将经过平移处理后的所述重合度最小的素材框所处的位置确定为添加位置。
上述方案中,所述装置还包括获取模块,用于获取所述目标图像帧的场景特征,其中,所述场景特征包括以下至少之一:所述目标对象的交互结果、所述目标对象的状态;所述装置还包括素材类型识别模块,用于调用素材类型识别模型对所述场景特征进行素材类型识别处理,得到与所述场景特征适配的素材类型;其中,所述素材类型识别模型是基于样本场景特征、以及针对所述样本场景特征标注的素材类型进行训练得到的;所述获取模块,还用于从素材包中获取符合所述素材类型的素材。
上述方案中,所述生成模块,还用于根据所述目标对象的尺寸,对在所述视频中待添加的素材的尺寸进行调整,以使所述素材调整后的尺寸与所述目标对象的尺寸一致;根据尺寸调整后的所述素材、所述添加时间和所述添加位置生成素材添加信息。
上述方案中,所述生成模块,还用于针对每个所述目标图像帧执行以下处理:根据从所述目标图像帧中识别出的多个对象分别所在的区域,确定所述目标图像帧对应的待添加的素材的目标尺寸;其中,所述目标尺寸为使所述素材被添加到所述目标图像帧中时不遮挡所述多个对象的最大尺寸;根据每个所述目标图像帧对应的待添加的素材的目标尺寸、所述添加时间和所述添加位置生成素材添加信息。
本申请实施例提供一种视频处理方法,包括:
响应于视频播放操作,播放视频,并获取通过上述任一方案生成的素材添加信息;
当所述视频的播放进度处于所述素材添加信息包括的添加时间时,在所述视频的添加位置添加所述素材添加信息包括的素材。
本申请实施例提供一种视频处理方法,包括:
响应于视频播放操作,播放视频,其中,所述视频中预先添加有素材添加信息包括的素材,且所述素材添加信息是通过上述任一方案生成的;
当所述视频的播放进度处于所述素材添加信息包括的添加时间时,在所述视频的添加位置显示预先添加的所述素材。
本申请实施例提供一种电子设备,包括:
存储器,用于存储可执行指令;
处理器,用于执行所述存储器中存储的可执行指令时,实现本申请实施例提供的视频处理方法。
本申请实施例提供一种计算机可读存储介质,存储有可执行指令,用于引起处理器执行时,实现本申请实施例提供的视频处理方法。
本申请实施例提供一种计算机程序产品,所述计算机程序产品包括计算机可执行指令,用于被处理器执行时,实现本申请实施例提供的视频处理方法。
本申请实施例具有以下有益效果:
通过对从视频中提取出的多个图像帧进行目标识别处理,并根据得到的目标图像帧的播放时间确定素材的添加时间、以及根据目标图像帧中对应目标对象的包围框确定素材的添加位置,如此,能够精准且高效地在视频中确定素材的添加时间和添加位置,提高了视频处理的效率,同时也增加了视频播放的趣味性。
附图说明
图1是本申请实施例提供的视频处理系统100的架构示意图;
图2是本申请实施例提供的服务器200的结构示意图;
图3是本申请实施例提供的视频处理方法的流程示意图;
图4是本申请实施例提供的基于游戏角色A的生命值确定目标图像帧中游戏角色A对应的目标包围框的位置和尺寸的示意图;
图5A是本申请实施例提供的视频处理方法的流程示意图;
图5B是本申请实施例提供的视频处理方法的流程示意图;
图6是本申请实施例提供的视频处理方法的流程示意图;
图7是本申请实施例提供的视频处理方法的应用场景示意图;
图8是本申请实施例提供的视频处理方法的流程示意图;
图9是本申请实施例提供的目标检测模型的结构示意图;
图10是本申请实施例提供的视频处理方法的流程示意图;
图11是本申请实施例提供的两个矩形框之间的重叠程度示意图;
图12A至图12E是本申请实施例提供的视频处理方法的应用场景示意图。
具体实施方式
为了使本申请的目的、技术方案和优点更加清楚,下面将结合附图对本申请作进一步地详细描述,所描述的实施例不应视为对本申请的限制,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本申请保护的范围。
在以下的描述中,涉及到“一些实施例”,其描述了所有可能实施例的子集,但是可以理解,“一些实施例”可以是所有可能实施例的相同子集或不同子集,并且可以在不冲突的情况下相互结合。
在以下的描述中,所涉及的术语“第一\第二”仅仅是是区别类似的对象,不代表针对对象的特定排序,可以理解地,“第一\第二”在允许的情况下可以互换特定的顺序或先后次序,以使这里描述的本申请实施例能够以除了在这里图示或描述的以外的顺序实施。
除非另有定义,本文所使用的所有的技术和科学术语与属于本申请的技术领域的技术人员通常理解的含义相同。本文中所使用的术语只是为了描述本申请实施例的目的,不是旨在限制本申请。
对本申请实施例进行进一步详细说明之前,对本申请实施例中涉及的名词和术语进行说明,本申请实施例中涉及的名词和术语适用于如下的解释。
1)素材,用于添加到视频中的材料,包括表情包、贴图、文字等。
2)数据增强,对图像进行线性或非线性变换来增加模型学习的样本量。
3)交并比(IOU,Intersection Over Union),是一种测量在特定数据集中检测相应物体准确度的一个标准,它是两个区域重叠的部分除以两个区域的集合部分得出的结果。
4)焦点损失函数(Focal Loss),一种解决单阶段(one-stage)目标检测中正负样本比例严重失衡的损失函数,该损失函数降低了大量简单负样本在训练中所占的权重,也可理解为一种困难样本挖掘。
5)目标识别,从图像或者视频中精确且高效地识别、定位出大量预定义类别的物体实例。
6)上采样,放大图像使图像符合固定大小,提高图像的分辨率。图像放大可以采用内插值方法,即在原有图像像素的基础上,在像素点之间采用合适的插值算法插入新的像素。
7)下采样,缩小图像使得图像符合固定大小,降低图像的分辨率。对于一幅图像I的尺寸为M*N,对图像I进行s倍下采样,即得到(M/s)*(N/s)尺寸的分辨率图像,其中,s为M和N的公约数。例如,矩形形式的图像,则将原始图像s*s窗口内的图像变成一个像素,该像素点的值就是s*s窗口内所有像素的均值。
8)置信度,也称可靠度、置信水平,即估计值与总体参数在一定允许的误差范围以内,其相应的概率有多大,这个相应的概率称作置信度。
本申请实施例提供一种视频处理方法、装置、电子设备及计算机可读存储介质,能够精准且高效地确定出视频中素材的添加时间和添加位置,提高了视频处理的效率,同时也增加了视频播放的趣味性。下面说明本申请实施例提供的用于视频处理的电子设备的示例性应用,本申请实施例提供的用于视频处理的电子设备可以是服务器,例如部署在云端的服务器,根据其他设备或者用户终端提供的待处理的视频,生成对应的素材添加信息或者直接添加有素材的视频;也可以是笔记本电脑、平板电脑、台式计算机、移动设备(例如移动电话、个人数字助理)等各种类型的终端,根据用户在终端上输入的待处理的视频,生成对应的素材添加信息或者直接添加有素材的视频。下面以由终端和服务器协同实施本申请实施例提供的视频处理方法为例进行说明。
参见图1,图1是本申请实施例提供的视频处理系统100的架构示意图,终端400通过网络300连接服务器200,网络300可以是广域网或者局域网,又或者是二者的组合。终端400将待处理的视频通过网络300上传至服务器200,由服务器200对终端400上传的待处理的视频进行目标识别处理,并根据目标识别结果生成对应的素材添加信息或者直接添加有素材的视频,随后,服务器200可以将素材添加信息或者添加有素材的视频通过网络300回传至终端400,以使终端400在调用客户端410播放视频时根据服务器200返回的素材添加信息在视频中添加素材或者直接调用客户端410播放服务器200返回的添加有素材的视频。
需要说明的是,在图1中是以终端400和服务器200协同完成本申请实施例提供的视频处理方法为例说明,可以理解的,作为替换方案,终端400可以依赖于自身的运算能力完成视频处理,根据用户输入的待处理的视频,生成对应的素材添加信息或者直接添加有素材的视频。
在一些实施例中,终端400还可以通过运行计算机程序来实现本申请实施例提供的视频处理方法,例如,计算机程序可以是操作系统中的原生程序或软件模块;可以是本地(Native)应用程序(APP,APPlication),即需要在操作系统中安装才能运行的程序,例如图1中示出的客户端410,客户端410可以是具有视频播放功能和编辑功能的视频APP或者直播APP;也可以是小程序,即只需要下载到浏览器环境中就可以运行的程序;还可以是能够嵌入至任意APP中的视频小程序或者直播小程序。总而言之,上述计算机程序可以是任意形式的应用程序、模块或插件。
在一些实施例中,本申请实施例可以借助于云技术(Cloud Technology)实现,云技术是基于云计算商业模式应用的网络技术、信息技术、整合技术、管理平台技术、以及应用技术等的总称,可以组成资源池,按需所用,灵活便利。云计算技术将变成重要支撑。技术网络系统的后台服务需要大量的计算、存储资源。
示例的,图1中示出的服务器200可以是独立的物理服务器,也可以是多个物理服务器构成的服务器集群或者分布式系统,还可以是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、CDN、以及大数据和人工智能平台等基础云计算服务的云服务器。终端400可以是智能手机、平板电脑、笔记本电脑、台式计算机、智能音箱、智能手表等,但并不局限于此。终端400以及服务器200可以通过有线或无线通信方式进行直接或间接地连接,本申请实施例中不做限制。
在另一些实施例中,本申请实施例提供的视频处理方法也可以结合区块链技术实现。
示例的,图1中示出的服务器200和终端400可以加入区块链网络,以成为区块链网络中的节点,如此,终端400发送的待处理视频的视频地址、需要在视频中添加的素材的素材地址、以及服务器200生成的素材添加信息等数据可以保存在区块链上,以保证数据的安全性。
下面对图1中示出的服务器200的结构进行说明。参见图2,图2是本申请实施例提供的服务器200的结构示意图,图2所示的服务器200包括:至少一个处理器210、存储器240、至少一个网络接口220。服务器200中的各个组件通过总线系统230耦合在一起。可理解,总线系统230用于实现这些组件之间的连接通信。总线系统230除包括数据总线之外,还包括电源总线、控制总线和状态信号总线。但是为了清楚说明起见,在图2中将各种总线都标为总线系统230。
处理器210可以是一种集成电路芯片,具有信号的处理能力,例如通用处理器、数字信号处理器(DSP,Digital Signal Processor),或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等,其中,通用处理器可以是微处理器或者任何常规的处理器等。
存储器240可以是可移除的,不可移除的或其组合。示例性的硬件设备包括固态存储器,硬盘驱动器,光盘驱动器等。存储器240可选地包括在物理位置上远离处理器210的一个或多个存储设备。
存储器240包括易失性存储器或非易失性存储器,也可包括易失性和非易失性存储器两者。非易失性存储器可以是只读存储器(ROM,Read Only Memory),易失性存储器可以是随机存取存储器(RAM,Random Access Memory)。本申请实施例描述的存储器240旨在包括任意适合类型的存储器。
在一些实施例中,存储器240能够存储数据以支持各种操作,这些数据的示例包括程序、模块和数据结构或者其子集或超集,下面示例性说明。
操作系统241,包括用于处理各种基本系统服务和执行硬件相关任务的系统程序,例如框架层、核心库层、驱动层等,用于实现各种基础业务以及处理基于硬件的任务;
网络通信模块242,用于经由一个或多个(有线或无线)网络接口220到达其他计算设备,示例性的网络接口220包括:蓝牙、无线相容性认证(WiFi)、和通用串行总线(USB,Universal Serial Bus)等;
在一些实施例中,本申请实施例提供的视频处理装置可以采用软件方式实现,图2示出了存储在存储器240中的视频处理装置243,其可以是程序和插件等形式的软件,包括以下软件模块:提取模块2431、目标识别模块2432、确定模块2433、生成模块2434、训练模块2435、数据增强模块2436、获取模块2437和素材类型识别模型2438,这些模块是逻辑上的,因此根据所实现的功能可以进行任意的组合或进一步拆分,需要指出的是,在图2中为了方便表达,一次性示出了上述所有模块,但是不应视为在视频处理装置243排除了可以只包括提取模块2431、目标识别模块2432、确定模块2433和生成模块2434的实施,将在下文中说明各个模块的功能。
在另一些实施例中,本申请实施例提供的视频处理装置可以采用硬件方式实现,作为示例,本申请实施例提供的视频处理装置可以是采用硬件译码处理器形式的处理器,其被编程以执行本申请实施例提供的视频处理方法,例如,硬件译码处理器形式的处理器可以采用一个或多个应用专用集成电路(ASIC,Application Specific IntegratedCircuit)、DSP、可编程逻辑器件(PLD,Programmable Logic Device)、复杂可编程逻辑器件(CPLD,Complex Programmable Logic Device)、现场可编程门阵列(FPGA,Field-Programmable Gate Array)或其他电子元件。
下面将结合本申请实施例提供的电子设备的示例性应用和实施,说明本申请实施例提供的视频处理方法。本申请实施例提供的视频处理方法可以由服务器或者终端设备单独实施,也可以由服务器和终端设备协同实施,下面以由图1中示出的服务器200单独实施本申请实施例提供的视频处理方法为例进行说明。参见图3,图3是本申请实施例提供的视频处理方法的流程示意图,将结合图3示出的步骤进行说明。
在步骤S101中,从视频中提取多个图像帧。
这里,视频可以是视频文件(例如服务器可以根据用户通过终端上传的待处理视频的视频地址,从数据库中获取与视频地址匹配的视频文件),也可以是各种直播(例如游戏直播、体育赛事直播等)或者回放的视频流,例如服务器根据用户输入的视频流的地址,获取对应的直播视频流。
在一些实施例中,可以通过以下方式从视频中提取多个图像帧:获取针对视频设定的时间段;从视频中抽取与时间段对应的视频片段;从视频片段中提取多个图像帧。
示例的,为了进一步提高视频处理的效率,还可以预先设定视频中需要添加素材的时间段,如此,服务器在获取到视频后,可以首先根据用户设定的时间段从视频中抽取与时间段对应的视频片段(即需要添加素材的视频片段),接着从视频片段中提取多个图像帧,例如服务器可以以固定的时间长度(例如5秒)对视频片段进行抽帧处理,得到多个图像帧。
需要说明的是,在实际应用中,针对视频进行抽帧的频率可以根据实际情况灵活调整的,例如当视频的剧情内容变化的速度较慢时,此时视频中目标对象的移动也是较慢的,则抽帧的频率可以相应设置的低些,例如每隔8秒抽取一个图像帧;当视频的剧情内容变化的速度较快时,此时视频中目标对象的移动也是较快的,则抽帧的频率也可以相应设置的高些,例如每隔3秒抽取一个图像帧,也就是说,针对视频进行抽帧的频率是与视频的剧情内容的变化速度呈正相关的。
在步骤S102中,基于多个图像帧进行目标识别处理,得到多个图像帧中对应目标对象的目标图像帧、以及目标图像帧中对应目标对象的目标包围框。
这里,目标对象是指图像帧中预定义类别的物体实例,例如对于游戏视频来说,游戏视频中的目标对象可以是用户控制的游戏角色;对于体育赛事直播视频来说,体育赛事直播视频中的目标对象可以是赛场中的某个特定运动员;对于电影或者电视剧来说,电影或者电视剧中的目标对象可以是电影或者电视剧的某个主演。
在一些实施例中,可以通过以下方式实现上述的基于多个图像帧进行目标识别处理,得到多个图像帧中对应目标对象的目标图像帧、以及目标图像帧中对应目标对象的目标包围框:针对每个图像帧执行以下处理:对图像帧进行目标识别处理,得到图像帧中的至少一个候选包围框的位置和尺寸(例如当候选包围框为矩形时,可以采用对角线的2个顶点坐标来描述矩形的位置和尺寸,假设对角线的2个顶点坐标分别为(x1、y1)和(x2、y2),则矩形的长度为(x2-x1),矩形的宽度为(y2-y1),矩形的中心点位置坐标为((x1+x2)/2、(y1+y2)/2)、以及每个候选包围框包括目标对象的置信度(即每个候选包围框包括目标对象的概率);当图像帧中的任意一个候选包围框包括目标对象的置信度大于第一置信度阈值时,将图像帧作为目标图像帧(即当图像帧中的任意一个候选包围框包括目标对象的概率大于概率阈值时,确定图像帧中存在目标对象,并将图像帧作为目标图像帧),并将任意一个候选包围框作为包括目标对象的目标包围框。
示例的,以游戏视频为例,在从游戏视频中提取出多个图像帧之后,可以针对每个图像帧执行以下处理:对图像帧进行目标识别处理,得到图像帧中的至少一个候选包围框的位置和尺寸、以及每个候选包围框包括用户控制的游戏角色(例如游戏角色A)的置信度;当图像帧中的任意一个候选包围框(例如候选包围框1)包括游戏角色A的置信度大于第一置信度阈值时,将图像帧作为目标图像帧(即包括游戏角色A的图像帧),并将候选包围框1作为包括游戏角色A的目标包围框。
在另一些实施例中,承接上述示例,当图像帧中的任意一个候选包围框包括目标对象的置信度小于第一置信度阈值,且包括目标对象的状态标识(状态标识用于表征目标对象的状态,例如可以是生命值、魔法值、财产、防御能力等)的置信度大于第二置信度阈值(第一置信度阈值与第二置信度阈值可以相同或者不相同)时,将图像帧作为目标图像帧,并执行以下处理:基于目标对象与目标对象的状态标识之间的位置关系,确定目标图像帧中目标对象对应的目标包围框的位置和尺寸。
示例的,仍以游戏视频为例,当图像帧中的任意一个候选包围框(例如候选包围框1)包括用户控制的游戏角色(例如游戏角色A)的置信度小于第一置信度阈值,且包括游戏角色A的状态标识(例如生命值,又称血条)的置信度大于第二置信度阈值时,将图像帧作为包括游戏角色A的目标图像帧(由于游戏角色A和游戏角色A的生命值在游戏视频中是同时出现的,因此当候选包围框2包括游戏角色A的置信度小于第一置信度阈值,但包括游戏角色A的生命值的置信度大于第二置信度阈值时,仍可以认为图像帧中是存在游戏角色A的),并执行以下处理:基于游戏角色A与游戏角色A的生命值之间的位置关系,确定目标图像帧中游戏角色A对应的目标包围框的位置和尺寸,例如假设游戏角色A的生命值位于游戏角色A的正上方,则可以通过以下方式确定目标图像帧中游戏角色A对应的目标包围框的位置和尺寸:如图4所示,假设检测到游戏角色A的生命值对应的矩形1的2个顶点坐标分别为(x1、y1)和(x2、y2),并且假设在图像帧中显示的游戏角色A的生命值的长度与游戏角色A的长度相同,且在图像帧中是以正方形的形式显示游戏角色A的(即游戏角色A的长度和宽度相同),则可以基于游戏角色A的生命值对应的矩形1的2个顶点坐标,确定出游戏角色A对应的矩形2的2个顶点坐标,分别为(x1、y2)和(x2、y2+x2-x1),如此,当无法从图像帧中识别出游戏角色A(例如假设游戏角色A当前刚好躲藏在草丛中导致无法识别),但可以识别出游戏角色A的生命值时,则可以基于游戏角色A与游戏角色A的生命值之间的位置关系,确定出目标图像帧中游戏角色A对应的目标包围框的位置和尺寸,即能够基于游戏角色A的生命值的识别结果转换到游戏角色A的识别结果,进一步提高了目标识别结果的准确性。
在一些实施例中,可以通过以下方式对图像帧进行目标识别处理,得到图像帧中的至少一个候选包围框的位置和尺寸、以及候选包围框的置信度:对图像帧进行多个层次的编码处理,得到多个层次的编码结果;对多个层次的编码结果进行解码处理,得到多个层次的解码结果;对多个层次的解码结果进行融合处理,得到融合解码结果;基于融合解码结果进行分类处理,得到图像帧中的至少一个候选包围框的位置和尺寸、以及每个候选包围框的置信度。如此,通过对图像帧进行多个层次的编解码处理,能够同时提取到图像帧中分辨率更高,包含更多位置、细节信息的底层特征和具有更强的语义信息,但分辨率较低的深层特征,接着通过对多个层次的解码结果进行融合处理,并基于融合解码结果进行分类处理,能够在进行分类处理时综合考虑图像帧的底层特征和深度特征,从而提高目标检测结果的准确性。
示例的,编码处理可以是通过编码器实现的,且编码器包括M个上采样层和M个下采样层,其中,M为大于2的整数常量,则可以通过以下方式对图像帧进行多个层次的编码处理,得到多个层次的编码结果:通过第m下采样层对第m下采样层的输入进行下采样处理,得到第m下采样层的下采样结果(即下采样特征图),其中,m是递增的整数变量且取值满足1≤m≤M;通过第m上采样层对第m上采样层的输入进行上采样处理,得到第m上采样层的上采样结果(即上采样特征图);其中,当m取值为1时,第m上采样层的输入是图像帧;当m取值为2≤m≤M时,第m上采样层的输入是第m-1上采样层输出的上采样结果和第m-1下采样层输出的下采样结果;将M个上采样层各自输出的上采样结果确定为多个层次的编码结果。
示例的,编码处理可以是通过编码器实现的,且编码器包括M个解码层,则可以通过以下方式对多个层次的编码结果进行解码处理,得到多个层次的解码结果:基于M个解码层中的至少部分解码层执行解码处理,其中,当至少部分解码层包括第n解码层时,基于第n解码层的输入进行解码处理,得到第n解码层的解码结果;其中,当n取值为1时,第n解码层的输入为第M上采样层的上采样结果(即上采样特征图);当n取值为2≤n≤M-1时,第n解码层的输入为第M-n上采样层的上采样结果和第n-1解码层的解码结果;将M个解码层各自输出的解码结果作为多个层次的解码结果。
示例的,在得到多个层次的解码结果后,可以通过以下方式对多个层次的解码结果进行融合处理,得到融合解码结果:针对每个层次的解码结果执行以下处理:对该层次的解码结果进行多个尺度的划分,得到多个划分结果,分别对多个划分结果进行池化处理,对应得到该层次的多个池化结果,对多个池化结果进行拼接处理,得到该层次的解码结果对应的设定大小的特征向量;对多个层次的解码结果一一对应的多个设定大小的特征向量进行融合处理,将得到的融合特征向量作为融合解码结果。例如可以针对每个层次的解码结果执行以下处理:利用三种不同大小的尺度(例如4*4、2*2、1*1)对解码结果进行划分,将解码结果划分成16+4+1=21块,接着针对划分得到的21块,从每一块中提取出一个对应的特征(例如对每一块都进行最大池化处理,得到每一块中的最大值),随后将这21个特征进行拼接,得到一个21维的特征向量。如此,可以将所有层次的解码结果(即不同尺寸的特征图)均转换成一个固定大小的21维的特征向量,随后将多个层次的解码结果一一对应的21维的特征向量进行融合处理,得到融合特征向量。
在一些实施例中,目标识别处理可以是通过目标检测模型实现的,在调用目标检测模型对多个图像帧进行目标识别处理之前,还可以通过以下方式训练目标检测模型:获取样本视频、以及针对样本视频的标注数据,其中,标注数据包括对应目标对象的样本目标图像帧、以及样本目标图像帧中对应目标对象的目标包围框的位置和尺寸;从样本视频中提取多个样本图像帧,并通过目标检测模型对多个样本图像帧进行目标识别处理,得到目标识别结果;将目标识别结果和标注数据代入损失函数,以确定损失函数取得最小值时目标检测模型的参数,并基于该参数更新目标检测模型;其中,损失函数为基于权重的焦点损失函数,且权重为每一类型的样本视频的数量与所有类型的样本视频的总数量的比值。
需要说明的是,焦点损失函数(Focal Loss)是一种解决单阶段(one-stage)目标检测中正负样本比例严重失衡的损失函数,这个损失函数是在标准交叉熵损失函数的基础上修改得到的,它可以通过减少易分类样本的权重,使得模型在训练时更专注于难分类的样本。本申请实施例通过基于权重的焦点损失函数来训练目标检测模型,如此,当样本视频集合中的样本视频的类型不均衡(即不同类型的样本视频的数量相差较大)时,采用基于权重的焦点损失函数对目标检测模型进行训练(即在目标检测模型的训练过程中不同类型的样本视频对应的权重是不同的),从而能够基于加权的方式防止模型过拟合,综合网络性能,以提高后续针对稀少样本视频类型的检测精度。
示例的,目标检测模型可以是区域卷积神经网络(R-CNN,Region CNN),在将待识别的图像帧输入训练后的R-CNN时,首先会在图像帧中提取出预定数量(例如2000个)的待检测区域,接着通过卷积神经网络一个一个地(即串行方式)对这预定数量的待检测区域进行特征提取,在提取得到特征后会通过一个支持向量机(SVM)进行分类,从而确定出图像帧中的至少一个候选包围框的位置和尺寸、以及每个候选包围框包括目标对象的置信度。
需要说明的是,在实际应用中,目标检测模型还可以是Fast R-CNN、单镜头多盒检测器(SSD,Single Shot MultiBox Detector)或者你只看一次模型(YOLO,You Only LookOnce),本申请实施例对此不作限定。
在另一些实施例中,承接上述示例,当样本视频集合中某个类型的样本视频的数量小于数量阈值时,执行以下处理:对该类型的样本视频的标注数据进行数据增强处理,并基于经过数据增强处理后的标注数据训练目标检测模型;其中,数据增强处理的方式包括以下至少之一:旋转、翻转、模糊。
示例的,为了避免样本视频的类型不均衡带来的长尾分布,从而影响目标检测模型的鲁棒性,最终降低模型的召回率,可以对采集的样本视频数据进行样本均衡处理,例如当某一类型的样本视频的数量小于数量阈值时,可以对该类型的目标对象进行重采样处理或者针对该类型的样本数据的标注数据进行数据增强处理,以扩展该类型的样本视频的数据量,从而避免样本不均衡带来的长尾分布导致降低模型的鲁棒性。
在步骤S103中,根据每个目标图像帧的播放时间确定添加时间。
在一些实施例中,图3示出的步骤S103可以通过图5A示出的步骤S1031至步骤S1033实现,将结合图5A示出的步骤进行说明。
在步骤S1031中,按照播放时间对多个目标图像帧进行降序排序。
在一些实施例中,在对从视频中提取出的多个图像帧进行目标识别处理,得到多个图像帧中对应目标对象的目标图像帧(每个目标图像帧对应一个播放时间)后,可以按照播放时间对多个目标图像帧进行降序排序,即播放时间最早的目标图像帧排在首位,播放时间最晚的目标图像帧排在末位。
在步骤S1032中,将降序排序结果中排在第一位的目标图像帧的播放时间确定为起始时间,并获取持续时间。
在一些实施例中,在按照播放时间对多个目标图像帧进行降序排序之后,可以将降序排序结果中排在第一位的目标图像帧的播放时间确定为起始时间,例如假设降序排序结果中排在第一位的目标图像帧的播放时间为10:00,则将视频中的10:00确定为添加素材的起始时间;接着,服务器还可以获取素材在视频中的持续时间(即素材在视频中的显示时长),其中,持续时间的时长是小于或等于降序排序结果中排在最后一位的目标图像帧的播放时间与排在第一位的目标图像帧的播放时间之间的时间差的,例如假设排在最后一位的目标图像帧的播放时间为15:00,即两者的时间差为5分钟,则持续时间的时长小于或者等于5分钟。
在步骤S1033中,将从起始时间开始计时直至持续时间所形成的时间段,确定为添加时间。
在一些实施例中,在确定出素材在视频中添加的起始时间以及素材在视频中的持续时间之后,可以将从起始时间开始计时直至持续时间所形成的时间段,确定为添加时间,例如假设起始时间为10:00,持续时间为3分钟,则将10:00至13:00确定为素材的添加时间,即当视频播放至第10:00时开始在视频中添加素材,当视频播放至第13:00时停止在视频中添加素材。
需要说明的是,在实际应用中,还可以通过以下方式确定添加时间:按照播放时间对多个目标图像帧进行降序排序,将降序排序结果中排在第一位的目标图像帧的播放时间确定为起始时间,将排在最后一位的目标图像帧的播放时间确定为结束时间,将从起始时间开始计时直至结束时间所形成的时间段,确定为添加时间,例如假设起始时间为10:00,结束时间为15:00,则素材的添加时间为10:00-15:00,即当视频播放到第10:00开始在视频中添加素材,当视频播放到第15:00时停止在视频中添加素材。
在步骤S104中,根据每个目标图像帧中对应目标对象的目标包围框确定添加位置。
在一些实施例中,可以通过以下方式实现上述的根据每个目标图像帧中对应目标对象的目标包围框确定添加位置:针对每个目标图像帧执行以下处理:根据目标包围框的位置和尺寸,确定目标包围框分别与预先设定的多个素材框之间的重合度;将重合度最小的素材框所处的位置确定为添加位置。
示例的,以游戏视频为例,在从图像帧中识别出用户控制的游戏角色(例如游戏角色A)之后,可以预先在游戏角色A的周围设置多个素材框(即素材添加的候选位置),例如可以在游戏角色A的周围设置八个素材框,分别位于游戏角色A的左上、正上、右上、左边、右边、右下、正下和左下,接着分别计算这8个素材框与游戏角色A对应的目标包围框之间的重合度(例如分别计算这8个素材框与游戏角色A对应的目标包围框之间的交并比),随后将重合度最小的素材框所处的位置确定为素材的添加位置,例如假设位于游戏角色A的正上方的素材框与游戏角色A对应的目标包围框之间的重合度最小,则将位于游戏角色A的正上方的素材框所处的位置确定为添加位置,即后续会将素材添加在游戏角色A的正上方。
在另一些实施例中,承接上述示例,当重合度最小的素材框与目标包围框存在重合时,还可以执行以下处理:对重合度最小的素材框进行平移处理,直至重合度最小的素材框与目标包围框不再重合;将经过平移处理后的重合度最小的素材框所处的位置确定为添加位置。
示例的,以游戏视频为例,为了避免添加的素材对游戏角色产生遮挡,即当重合度最小的素材框与游戏角色对应的目标包围框仍存在重合时,还可以执行以下处理:对重合度最小的素材框进行平移处理,例如当重合度最小的素材框为位于游戏角色的右边的素材框时,则对素材框进行右移,直至素材框与游戏角色对应的目标包围框不再重合,随后将经过平移处理后的素材框所处的位置确定为素材最终的添加位置,如此,通过对素材进行平移处理,能够避免添加的素材对游戏角色产生遮挡,影响用户的观看体验。
需要说明的是,本申请实施例是根据每个目标图像帧中对应目标对象的目标包围框确定添加位置的,即在不同的目标图像帧中,素材的添加位置是不同的,也就是说,通过对图像帧进行目标识别处理的方式,能够灵活地确定每个目标图像帧中素材的添加位置,提高了视频处理的效率。
在步骤S105中,根据在视频中待添加的素材、添加时间和添加位置生成素材添加信息。
在一些实施例中,参见图5B,图5B是本申请实施例提供的视频处理方法的流程示意图,如图5B所示,在执行图3示出的步骤S105之前,还可以执行图5B示出的步骤S106至步骤S108,将结合图5B示出的步骤进行说明。
在步骤S106中,获取目标图像帧的场景特征。
这里,场景特征可以包括以下至少之一:目标对象的交互结果(例如战胜对手、或者被对手击杀等)、目标对象的状态(例如游戏角色没有弹药、或者游戏角色的生命值即将归零等)。
在步骤S107中,基于场景特征进行素材类型识别处理,得到与场景特征适配的素材类型。
在一些实施例中,可以通过以下方式实现上述的基于场景特征进行素材类型识别处理,得到与场景特征适配的素材类型:调用素材类型识别模型对场景特征进行素材类型识别处理,得到与场景特征适配的素材类型;其中,素材类型识别模型是基于样本场景特征、以及针对样本场景特征标注的素材类型进行训练得到的。
示例的,上述的素材类型识别模型可以是神经网络模型(例如卷积神经网络、深度卷积神经网络、或者全连接神经网络等)、决策树模型、梯度提升树、多层感知机、以及支持向量机等,本申请实施例对素材类型识别模型的类型不作具体限定。
在步骤S108中,从素材包中获取符合素材类型的素材。
在一些实施例中,在调用训练后的素材类型识别模型对目标图像帧的场景特征进行素材类型识别处理,得到与场景特征适配的素材类型之后,可以从素材包中获取符合素材类型的素材,并且由于本申请实施例是针对每个目标图像帧的场景特征进行素材类型识别处理的,即每个目标图像帧对应的素材类型可以是不同的,如此,由于所选取的素材是与每个目标图像帧的场景特征适配的,能够进一步提高用户的视觉体验。
需要说明的是,在实际应用中,待添加的素材也可以是用户针对视频预先设定的,则服务器可以根据用户输入的素材的素材地址,获取用户预先设定的素材,以在视频中添加用户预先设定的素材。
在一些实施例中,可以通过以下方式实现上述的根据在视频中待添加的素材、添加时间和添加位置生成素材添加信息:根据目标对象的尺寸,对在视频中待添加的素材的尺寸进行调整,以使素材调整后的尺度与目标对象的尺寸一致;根据尺寸调整后的素材、添加时间和添加位置生成素材添加信息。
示例的,以游戏视频为例,在对从游戏视频提取的多个图像帧中识别出用户控制的游戏角色(例如游戏角色A)之后,可以根据游戏角色A在游戏视频中的尺寸,确定在游戏视频中待添加的素材(例如表情包)的尺寸的调整比例,例如假设游戏角色A的尺寸为20*20像素,待添加的表情包的原始尺寸为10*10像素,则可以确定表情包的调整比例为200%,随后可以根据表情包的调整比例、添加时间和添加位置生成表情包添加信息。
在另一些实施例中,还可以通过以下方式实现上述的根据在视频中待添加的素材、添加时间和添加位置生成素材添加信息:针对每个目标图像帧执行以下处理:根据从目标图像帧中识别出的多个对象分别所在的区域,确定目标图像帧对应的待添加的素材的目标尺寸;其中,目标尺寸为使素材被添加到目标图像帧时不遮挡多个对象的最大尺寸;根据每个目标图像帧对应的待添加的素材的目标尺寸、添加时间和添加位置生成素材添加信息。
示例的,仍以游戏视频为例,在对从游戏视频提取的多个图像帧中识别出包括用户控制的游戏角色(例如游戏角色A)的目标图像帧之后,可以对每个目标图像帧执行以下处理:根据从目标图像帧中识别出的多个游戏角色(包括游戏角色A、以及其他用户或者电脑控制的游戏角色,例如游戏角色B、游戏角色C等)分别所在的区域,确定目标图像帧对应的待添加的素材(例如表情包)的目标尺寸,其中,目标尺寸为使表情包被添加到目标图像帧时不遮挡多个游戏角色的最大尺寸,随后根据每个目标图像帧对应的待添加的表情包的目标尺寸、添加时间和添加位置生成表情包添加信息,如此,在尽可能保证表情包足够大的基础上,又避免了添加的表情包对目标图像帧中的重要信息进行遮挡,提升了用户的视觉体验。
本申请实施例提供的视频处理方法,通过对从视频中提取出的多个图像帧进行目标识别处理,并根据得到的目标图像帧的播放时间确定素材的添加时间、以及根据目标图像帧中对应目标对象的包围框确定素材的添加位置,如此,能够便捷且高效地在视频中确定出素材的添加时间和添加位置,提高了视频处理的效率,同时也增加了视频播放的趣味性。
下面,以游戏视频为例说明本申请实施例在一个实际的应用场景中的示例性应用。
为了提高游戏视频的趣味性,可以在游戏直播视频的后期制作中,往剪辑视频中插入表情包。然而,相关技术提供的视频特效添加方法不能用于表情包的添加,并且,视频特效添加方式比较单一,一般选取几个固定的点作为特效添加的候选位置,但这种方式会导致成品的表现单一,效果不佳,甚至会起到反作用。而手动添加的方式则无明显的规律可循,无法做到快速的表情包添加,费时费力。
此外,由于游戏品种的多样性,当前也没有能够覆盖多种不同类型的游戏角色的检测能力,并且在同一游戏中也有很多不同种类的游戏角色,收集和统筹各个游戏视频的样本,以及如何利用单一的模型学习这些或多或少的样本数据,单单依靠目前的目标检测模型不太够,而且对游戏角色的提取不应该局限于游戏角色本身,游戏画面中还有很多额外的信息,例如可以提取游戏角色的血条来帮助进行目标检测。同时,相关技术也缺乏一个能够检测多款游戏目标的检测系统,这限制了表情包添加在不同游戏视频的迁移性。
针对上述技术问题,本申请实施例提供一种视频处理方法,除了能够学习到游戏视频中游戏角色本身的信息,还标注了游戏角色的血条来训练目标检测模型,同时,针对游戏视频中少样本的游戏角色和血条进行数据增强处理和均衡化,并引入跨层连接模式和新的模型学习策略,以提高模型的鲁棒性;进一步的,基于检测到的游戏角色或血条的信息,提出确定游戏视频中表情包添加位置的模式。下面,对本申请实施例提供的视频处理方法进行具体说明。
示例的,参见图6,图6是本申请实施例提供的视频处理方法的流程示意图,如图6所示,用户提供其待添加表情包的视频地址、待添加的表情包地址和需要添加的时间段,接着将前两个文件的路径以及时间段的信息写入脚本相应字段,如此,后续只需要启动脚本,服务器将直接将视频的地址、表情包的地址以及需要添加的时间段发送到预先设定的某一个线上服务器中,并最终通过超文本传输协议(HTTP,Hyper Text Transfer Protocol)将计算得到的表情包添加信息反馈给用户。如果用户需要可视化结果的话,也可以将添加表情包后的视频输出到指定位置供用户展示使用。
最终,用户可以按照需求获取到两种处理的结果,一种是表情包在视频中的添加信息,然后用户按照自己的方式根据添加信息在视频中添加表情包;另一种是直接添加有表情包的视频,这种是本申请实施例提供的一种基础的视频表情包添加服务,通过在指定视频时间段内的指定位置粘贴调整大小后的表情包,并向用户返回编辑后的视频。示例的,服务器返回的表情包添加信息的格式如下:
{“meme_key”:[“1.gif”,“2.jpg”,“3.jpg”],“meme_start”:[16.5,19.5,0.0],“meme_duration”:[2.5,1.5,1],“meme_scale”:[[0.1302,-1],[-1,0.2358],[0.1302,-1]],“meme_position”:[[0.3646,0.1613],[0.3630,0.1217],[0.4349,0.3915]]}
其中,“meme_key”表示选取添加的表情包的地址,“meme_start”表示视频中表情包添加的时间点,单位是秒,“meme_duration”表示表情包在视频中持续的时间,“meme_scale”表示表情包调整尺寸的比例,“meme_position”表示表情包在视频中插入的位置。如果用户需要返回成品的视频,则服务器也可以根据要求返回添加表情包后的视频文件,将表情包插入视频帧的样例如图7所示(在用户控制的游戏角色701的右侧显示有表情包702),如此,用户在得到视频文件后可以直接作为创作的成片用于自己的需求。
本申请实施例提供的视频处理方法可以支持多种不同类型的游戏,例如王者X耀、和平X英、英雄X盟、火影X者等多种不同类型的游戏,下面将结合图8对本申请实施例提供的视频处理方法进行具体说明。
示例的,参见图8,图8是本申请实施例提供的视频处理方法的流程示意图,如图8所示,用户提供其待添加表情包的视频地址和待添加的表情包地址,服务器根据用户提供的视频地址获取视频,并对确定时间段(即需要添加表情包的时间段)内的视频片段以固定时间长度(例如5秒)对视频片段进行抽帧处理,得到多个图像帧,接着,服务器调用训练后的目标检测模型对多个图像帧进行目标检测处理,并根据目标检测结果确定每个图像帧中表情包的添加位置,随后,服务器可以将表情包添加信息(包括添加位置、添加时间、表情包尺寸等)返回给用户,从而用户可以按照自己的方式根据服务器返回的添加信息在视频中添加表情包。
下面对本申请实施例提供的目标检测模型进行说明。
示例的,参见图9,图9是本申请实施例提供的目标检测模型的结构示意图,如图9所示,本申请实施例利用基于yolo(yolo为一种新的目标检测方法,该方法的特点是实现快速检测的同时还可以达到较高的准确率,该方法采用单个神经网络直接预测物品边界和类别概率,实现端到端的物品检测)的深度改良模型训练一个可以同时检测图像帧中的游戏角色和血条的网络,该模型包括编码器、解码器和损失函数端三个部分,其中,编码器可以是基于跨阶段局部网络(CSPNet,Cross Stage Partial Network)的局部融合网络,并且考虑到直接使用CSPNet可能会导致内存消耗过大,因此为了减小内存的消耗,可以将CSPNet修改成部分局部跨层融合做法,例如开始的不进行连接,并且后续仅针对部分层次进行连接,以减小计算量;解码器采用空间金字塔池化的结构对编码器不同层次的输出进行融合,然后利用跨层连接的方式加快信息之间的流通,缩短底层特征和高层特征之间的信息路径,以提高网络的学习效率;损失函数端用于学习不同类型的目标(例如游戏角色或者血条)的特性。
此外,由于训练输入的是视频,为了保证学习和推理效率,因此编码器可以采用浅层的深度网络学习视频帧的视觉信息,同时,本申请实施例还利用了全跨层连接模式,并将跨层学习应用到编码器的每一层输出中以提高卷积神经网络(CNN,Convolutional NeuralNetworks)的学习特征的利用率。同时,针对不同类型的游戏采集的不同游戏角色的样本数存在极大的样本不均衡问题,为了防止样本不均衡带来的长尾分布从而影响模型的鲁棒性,最后降低模型的召回率。因此,本申请实施例一方面对采样的样本数据进行样本均衡处理,例如对稀少的类别目标做重采样和更丰富的数据增强,另一方面模型的学习可以采用基于权重的焦点损失函数(focal loss),以防止模型过拟合,综合网络性能,提高少样本的检测精度。其中,权重的估计可以是对采集的样本进行统计得到的,具体计算方式是计算所用类别样本的总数,总数除以每种类型目标在采集数据集中的数目作为损失函数训练的权重,因此损失函数的方程可以如下所示:
FL(pi)=-λi(1-pi)γlog(pi)
其中,λi表示计算到i类别目标的权重,γ表示预设的超参数,pi表示i类别目标的预测概率,在测试推理中,有四种类别的检测目标,其中红色表示敌方游戏角色(例如与当前用户控制的游戏角色属于敌对阵营的游戏角色)血条的检测,橙色表示友方游戏角色(例如与当前用户控制的游戏角色属于同一阵营的游戏角色)血条的检测,绿色表示主游戏角色(即当前用户控制的游戏角色)血条的检测,蓝色表示游戏角色的检测,然后利用学习到的目标检测模型检测输入视频确定时间段内的目标,具体过程如下所示:
1、根据游戏场景的表情包添加需求,搜集游戏直播视频,并在视频中标注相应的游戏角色和血条;
2、对标注的数据进行数据增强处理,例如利用旋转、翻转、模糊等方法扩充训练数据,对少量的目标进行重采样和添加更多的模糊处理等操作,以便均衡训练数据,从而训练得到更为鲁棒的模型;
3、根据游戏类型训练学习其基于全跨层连接的目标检测模型;
4、利用训练后的目标检测模型处理输入视频,以王者X耀游戏为例,可以提取到游戏角色的话,则以游戏角色作为目标的位置,并根据血条的检测判断游戏角色的类型;如果不能提取到游戏角色,则可以基于血条的检测,进而转换到游戏角色的检测,综合起来得到需要添加表情包的时间段内视频片段的目标检测结果。
示例的,参见图10,图10是本申请实施例提供的视频处理方法的流程示意图,将结合图10示出的步骤进行说明。
在步骤S201中,目标检测。
在一些实施例中,服务器在基于用户提供的视频地址获取到视频后,对视频中需要添加的时间段对应的视频片段进行抽帧处理,得到多个图像帧;接着,调用训练后的目标检测模型对多个图像帧进行目标检测处理,以从每个图像帧中提取出游戏角色或者血条,获得相应的目标检测结果。
在步骤S202中,提取目标包围框。
在一些实施例中,可以根据获取的检测框的类型,调整检测框的位置和大小,例如当所获取的检测框的类型为血条的检测框时,则可以根据血条和游戏角色之间位置固定相关性(例如血条始终位于游戏角色的正上方)将血条的检测结果转换到游戏角色的检测,以王者X耀为例,血条向游戏角色位置的转换方式可以是向下平移血条的高度步长,然后将检测框的高度调整为血条检测框的宽度,即可得到游戏角色对应的目标包围框。
在步骤S203中,选取添加位置。
在一些实施例中,可以预先在主游戏角色(即当前用户控制的游戏角色)的周围设置八个表情包的添加位置,分别是左上、正上、右上、右下、右边、正下、左下和左边,接着依次以顺时针或者逆时针的方向将这些候选框的位置与检测到的目标结果(即主游戏角色对应的目标包围框)进行重合度计算,其中,重合度计算可以是如图11所示的两个矩形框(图11给出了两个矩形框之间重叠程度的不同示例,其中,矩形框1101可以表示主游戏角色对应的目标包围框,矩形框1102可以表示待添加的表情包对应的候选框,阴影部分1103表示矩形框1101和矩形框1102之间的重叠部分)之间的重叠程度,即两个矩形框之间的交并比(IOU),IOU的具体计算方式是:
IOU=重叠面积/(总面积-重叠面积)
最终选取没有重合度或者重合度最小的候选框作为表情包的添加位置,此外,为了避免插入的表情包对游戏角色造成遮挡,如果有重合度,则对重合度最小的候选框进行反向的平移,每次平移的步长可以是5个像素距离,直到和所有目标包围框都没有重合为止,将重合度最小的候选框经过平移后的位置确定为最终的添加位置。
在步骤S204中,计算表情包添加信息。
在一些实施例中,可以根据游戏角色的尺寸,调整待添加的表情包的尺寸大小使得和游戏角色的尺寸一致,同时还可以根据选取的时间段及其长度,设定1/5时间点作为表情包添加的起始时间,而3/5比例时间作为表情包的持续时间,最后根据用户的需求输出表情包添加信息或表情包添加处理后的视频。
示例的,图12A至图12E展示了基于本申请实施例提供的视频处理方法在不同类型的游戏视频中添加表情包的样例,其中,图12A是在王者X耀游戏视频中添加表情包的样例,如图12A所示,在游戏角色1201的右侧添加有表情包1202,且表情包1202没有对图像帧中的重要信息(例如在图12A中显示的其他游戏角色)进行遮挡;图12B是在火影X者游戏视频中添加表情包的样例,如图12B所示,在游戏角色1203的右侧添加有表情包1204,且表情包1204没有对图像帧中的重要信息进行遮挡;图12C是在穿越X线游戏视频中添加表情包的样例,如图12C所示,在游戏角色1205的上方添加有表情包1206,且表情包1206没有对图像帧中的重要信息进行遮挡;图12D是在和平X英游戏视频中添加表情包的样例,如图12D所示,在游戏角色1207的左上方添加有表情包1208,且表情包1208没有对图像帧中的重要信息进行遮挡;图12E是在英雄X盟游戏视频中添加表情包的样例,如图12E所示,在游戏角色1209的右上方添加有表情包1210,且表情包1210没有对图像帧中的重要信息进行遮挡。
结合图12A至图12E可以看出,本申请实施例基于目标检测的方式在视频中添加表情包的效果是很精准且灵活的,并且由于目标检测模型能够很精准的提取到图像帧中的游戏角色或者血条,因此可以很好的帮助用户后期制作游戏直播视频,提高用户的制作效率,增强视频制作的效果。
本申请实施例提供的视频处理方法具有以下有益效果:
1)提供了一种游戏视频中目标检测的算法模型、学习函数、训练流程和使用方法;
2)混合多种不同类型的游戏视频场景的数据来学习游戏角色和血条的目标检测模型,确保了目标检测模型的准确性和泛化性;
3)提出了一种表情包添加区域选择算法,在保证无遮挡重要信息的前提下,快速地计算出游戏视频中合适的添加位置和表情包的持续时间等信息。
下面继续说明本申请实施例提供的视频处理装置243实施为软件模块的示例性结构,在一些实施例中,如图2所示,存储在存储器240的视频处理装置243中的软件模块可以包括:提取模块2431、目标识别模块2432、确定模块2433和生成模块2434。
提取模块2431,用于从视频中提取多个图像帧;目标识别模块2432,用于基于多个图像帧进行目标识别处理,得到多个图像帧中对应目标对象的目标图像帧、以及目标图像帧中对应目标对象的目标包围框;确定模块2433,用于根据每个目标图像帧的播放时间确定添加时间,并根据每个目标图像帧中对应目标对象的目标包围框确定添加位置;生成模块2434,用于根据在视频中待添加的素材、添加时间和添加位置生成素材添加信息,其中,素材添加信息用于在视频的添加时间添加位于添加位置的素材。
在一些实施例中,提取模块2431,还用于获取针对视频设定的时间段;从视频中抽取与时间段对应的视频片段;从视频片段中提取多个图像帧。
在一些实施例中,目标识别模块2432,还用于针对每个图像帧执行以下处理:对图像帧进行目标识别处理,得到图像帧中的至少一个候选包围框的位置和尺寸、以及候选包围框包括目标对象的置信度;当图像帧中的任意一个候选包围框包括目标对象的置信度大于第一置信度阈值时,将图像帧作为目标图像帧,并将任意一个候选包围框作为包括目标对象的目标包围框。
在一些实施例中,目标识别模块2432,还用于当候选包围框包括目标对象的置信度小于第一置信度阈值,且包括目标对象的状态标识的置信度大于第二置信度阈值时,将图像帧作为目标图像帧,并执行以下处理:基于目标对象与目标对象的状态标识之间的位置关系,确定目标图像帧中目标对象对应的目标包围框的位置和尺寸。
在一些实施例中,目标识别模块2432,还用于对图像帧进行多个层次的编码处理,得到多个层次的编码结果;对多个层次的编码结果进行解码处理,得到多个层次的解码结果;对多个层次的解码结果进行融合处理,得到融合解码结果;基于融合解码结果进行分类处理,得到图像帧中的至少一个候选包围框的位置和尺寸、以及候选包围框的置信度。
在一些实施例中,编码处理是通过编码器实现的,编码器包括M个上采样层和M个下采样层,其中,M为大于2的整数常量;目标识别模块2432,还用于通过第m下采样层对第m下采样层的输入进行下采样处理,得到第m下采样层的下采样结果,其中,m是递增的整数变量且取值满足1≤m≤M;通过第m上采样层对第m上采样层的输入进行上采样处理,得到第m上采样层的上采样结果;其中,当m取值为1时,第m上采样层的输入是图像帧;当m取值为2≤m≤M时,第m上采样层的输入是第m-1上采样层输出的上采样结果和第m-1下采样层输出的下采样结果;将M个上采样层各自输出的上采样结果确定为多个层次的编码结果。
在一些实施例中,编码处理是通过编码器实现的,且编码器包括M个解码层;目标识别模块2432,还用于基于M个解码层中的至少部分解码层执行解码处理,其中,当至少部分解码层包括第n解码层时,基于第n解码层的输入进行解码处理,得到第n解码层的解码结果;其中,当n取值为1时,第n解码层的输入为第M上采样层的上采样结果;当n取值为2≤n≤M-1时,第n解码层的输入为第M-n上采样层的上采样结果和第n-1解码层的解码结果;将M个解码层各自输出的解码结果作为多个层次的解码结果。
在一些实施例中,目标识别模块2432,还用于针对每个层次的解码结果执行以下处理:对层次的解码结果进行多个尺度的划分,得到多个划分结果,分别对多个划分结果进行池化处理,对应得到层次的多个池化结果,对多个池化结果进行拼接处理,得到层次的解码结果对应的设定大小的特征向量;对多个层次的解码结果一一对应的多个设定大小的特征向量进行融合处理,将得到的融合特征向量作为融合解码结果。
在一些实施例中,目标识别处理是通过目标检测模型实现的,视频处理装置243还包括训练模块2435,用于通过以下方式训练目标检测模型:获取样本视频、以及针对样本视频的标注数据,其中,标注数据包括对应目标对象的样本目标图像帧、以及样本目标图像帧中对应目标对象的目标包围框的位置和尺寸;从样本视频中提取多个样本图像帧,并通过目标检测模型对多个样本图像帧进行目标识别处理,得到目标识别结果;将目标识别结果和标注数据代入损失函数,以确定损失函数取得最小值时目标检测模型的参数,并基于参数更新目标检测模型;其中,损失函数为基于权重的焦点损失函数,且权重为每一类型的样本视频的数量与所有类型的样本视频的总数量的比值。
在一些实施例中,视频处理装置243还包括数据增强模块2436,用于当样本视频集合中某个类型的样本视频的数量小于数量阈值时,执行以下处理:对类型的样本视频的标注数据进行数据增强处理,并基于经过数据增强处理后的标注数据训练目标检测模型;其中,数据增强处理的方式包括以下至少之一:旋转、翻转、模糊。
在一些实施例中,确定模块2433,还用于按照播放时间对多个目标图像帧进行降序排序;将降序排序结果中排在第一位的目标图像帧的播放时间确定为起始时间,并获取持续时间,其中,持续时间小于或等于降序排序结果中排在最后一位的目标图像帧的播放时间;将从起始时间开始计时直至持续时间所形成的时间段,确定为添加时间。
在一些实施例中,确定模块2433,还用于针对每个目标图像帧执行以下处理:根据目标包围框的位置和尺寸,确定目标包围框分别与预先设定的多个素材框之间的重合度;将重合度最小的素材框所处的位置确定为添加位置。
在一些实施例中,确定模块2433,还用于当重合度最小的素材框与目标包围框存在重合时,执行以下处理:对重合度最小的素材框进行平移处理,直至重合度最小的素材框与目标包围框不再重合;将经过平移处理后的重合度最小的素材框所处的位置确定为添加位置。
在一些实施例中,视频处理装置243还包括获取模块2437,用于获取目标图像帧的场景特征,其中,场景特征包括以下至少之一:目标对象的交互结果、目标对象的状态;视频处理装置243还包括素材类型识别模块2438,用于调用素材类型识别模型对场景特征进行素材类型识别处理,得到与场景特征适配的素材类型;其中,素材类型识别模型是基于样本场景特征、以及针对样本场景特征标注的素材类型进行训练得到的;获取模块2437,还用于从素材包中获取符合素材类型的素材。
在一些实施例中,生成模块2434,还用于根据目标对象的尺寸,对在视频中待添加的素材的尺寸进行调整,以使素材调整后的尺寸与目标对象的尺寸一致;根据尺寸调整后的素材、添加时间和添加位置生成素材添加信息。
在一些实施例中,生成模块2434,还用于针对每个目标图像帧执行以下处理:根据从目标图像帧中识别出的多个对象分别所在的区域,确定目标图像帧对应的待添加的素材的目标尺寸;其中,目标尺寸为使素材被添加到目标图像帧中时不遮挡多个对象的最大尺寸;根据每个目标图像帧对应的待添加的素材的目标尺寸、添加时间和添加位置生成素材添加信息。
需要说明的是,本申请实施例装置的描述,与上述方法实施例的描述是类似的,具有同方法实施例相似的有益效果,因此不做赘述。对于本申请实施例提供的视频处理装置中未尽的技术细节,可以根据图3、图5A、图5B、或图10中的任一附图的说明而理解。
本申请实施例提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行本申请实施例上述的视频处理方法。
本申请实施例提供一种存储有可执行指令的计算机可读存储介质,其中存储有可执行指令,当可执行指令被处理器执行时,将引起处理器执行本申请实施例提供的方法,例如,如图3、图5A、图5B、或图10示出的视频处理方法。
在一些实施例中,计算机可读存储介质可以是FRAM、ROM、PROM、EPROM、EEPROM、闪存、磁表面存储器、光盘、或CD-ROM等存储器;也可以是包括上述存储器之一或任意组合的各种设备。
在一些实施例中,可执行指令可以采用程序、软件、软件模块、脚本或代码的形式,按任意形式的编程语言(包括编译或解释语言,或者声明性或过程性语言)来编写,并且其可按任意形式部署,包括被部署为独立的程序或者被部署为模块、组件、子例程或者适合在计算环境中使用的其它单元。
作为示例,可执行指令可以但不一定对应于文件系统中的文件,可以可被存储在保存其它程序或数据的文件的一部分,例如,存储在超文本标记语言(HTML,Hyper TextMarkup Language)文档中的一个或多个脚本中,存储在专用于所讨论的程序的单个文件中,或者,存储在多个协同文件(例如,存储一个或多个模块、子程序或代码部分的文件)中。
作为示例,可执行指令可被部署为在一个计算设备上执行,或者在位于一个地点的多个计算设备上执行,又或者,在分布在多个地点且通过通信网络互连的多个计算设备上执行。
综上所述,本申请实施例通过对从视频中提取出的多个图像帧进行目标识别处理,并根据得到的目标图像帧的播放时间确定素材的添加时间、以及根据目标图像帧中对应目标对象的包围框确定素材的添加位置,如此,能够便捷且高效地在视频中确定素材的添加时间和添加位置,提高了视频处理的效率,同时也增加了视频播放的趣味性。
以上所述,仅为本申请的实施例而已,并非用于限定本申请的保护范围。凡在本申请的精神和范围之内所作的任何修改、等同替换和改进等,均包含在本申请的保护范围之内。

Claims (8)

1.一种视频处理方法,其特征在于,所述方法包括:
获取针对视频设定的时间段;
从所述视频中抽取与所述时间段对应的视频片段,并从所述视频片段中提取多个图像帧;其中,针对所述视频进行抽帧的频率是与所述视频的剧情内容的变化速度呈正相关的;
针对每个所述图像帧执行以下处理:
对所述图像帧进行目标识别处理,得到所述图像帧中的至少一个候选包围框的位置和尺寸、以及所述候选包围框包括目标对象的置信度,具体包括:对所述图像帧进行多个层次的编码处理,得到所述多个层次的编码结果;对所述多个层次的编码结果进行解码处理,得到所述多个层次的解码结果;对所述多个层次的解码结果进行融合处理,得到融合解码结果;基于所述融合解码结果进行分类处理,得到所述图像帧中的至少一个候选包围框的位置和尺寸、以及所述候选包围框包括目标对象的置信度;所述编码处理是通过编码器实现的,所述编码器包括M个上采样层和M个下采样层;所述解码处理是通过解码器实现的,所述解码器包括M个解码层,其中,M为大于2的整数常量;
所述对所述图像帧进行多个层次的编码处理,得到所述多个层次的编码结果,包括:通过第m下采样层对所述第m下采样层的输入进行下采样处理,得到所述第m下采样层的下采样结果,其中,m是递增的整数变量且取值满足1≤m≤M;通过第m上采样层对所述第m上采样层的输入进行上采样处理,得到所述第m上采样层的上采样结果;其中,当m取值为1时,所述第m上采样层的输入是所述图像帧;当m取值为2≤m≤M时,所述第m上采样层的输入是第m-1上采样层输出的上采样结果和第m-1下采样层输出的下采样结果;将所述M个上采样层各自输出的上采样结果确定为多个层次的编码结果;
所述对所述多个层次的编码结果进行解码处理,得到多个层次的解码结果,包括:基于所述M个解码层中的至少部分解码层执行解码处理,其中,当所述至少部分解码层包括第n解码层时,基于所述第n解码层的输入进行解码处理,得到所述第n解码层的解码结果;其中,当n取值为1时,所述第n解码层的输入为第M上采样层的上采样结果;当n取值为2≤n≤M-1时,所述第n解码层的输入为第M-n上采样层的上采样结果和第n-1解码层的解码结果;将所述M个解码层各自输出的解码结果作为多个层次的解码结果;
所述对所述多个层次的解码结果进行融合处理,得到融合解码结果,包括:针对每个所述层次的解码结果执行以下处理:对所述层次的解码结果进行多个尺度的划分,得到多个划分结果,分别对所述多个划分结果进行池化处理,对应得到所述层次的多个池化结果,对所述多个池化结果进行拼接处理,得到所述层次的解码结果对应的设定大小的特征向量;对所述多个层次的解码结果一一对应的多个设定大小的特征向量进行融合处理,将得到的融合特征向量作为融合解码结果;
所述目标识别处理是通过目标检测模型实现的,所述目标检测模型包括所述编码器、所述解码器和损失函数端;所述编码器是基于跨阶段局部网络的局部融合网络;所述解码器采用空间金字塔池化的结构对编码器不同层次的输出进行融合,然后利用跨层连接的方式加快信息之间的流通,缩短底层特征和高层特征之间的信息路径;所述损失函数端用于学习不同类型的目标的特性;所述编码器采用浅层的深度网络学习视频帧的视觉信息;利用全跨层连接模式,将跨层学习应用到所述编码器的每一层输出中;
当所述图像帧中的任意一个候选包围框包括所述目标对象的置信度大于第一置信度阈值时,将所述图像帧作为目标图像帧,并将所述任意一个候选包围框作为包括所述目标对象的目标包围框;
当所述候选包围框包括目标对象的置信度小于第一置信度阈值,且包括所述目标对象的状态标识的置信度大于第二置信度阈值时,将所述图像帧作为目标图像帧,所述状态标识用于表征所述目标对象的状态,所述状态标识包括以下至少之一:生命值、魔法值、财产、防御能力,并执行以下处理:
基于所述目标对象与所述目标对象的状态标识之间的位置关系,确定所述目标图像帧中对应所述目标对象的目标包围框的位置和尺寸;所述目标对象的状态标识的长度与所述目标对象的长度相同;
按照播放时间对多个所述目标图像帧进行降序排序;
将降序排序结果中排在第一位的目标图像帧的播放时间确定为添加素材的起始时间,并获取素材在所述视频中的持续时间,其中,所述持续时间的时长小于或等于所述降序排序结果中排在最后一位的目标图像帧的播放时间与所述排在第一位的目标图像帧的播放时间之间的时间差;
将从所述起始时间开始计时直至所述持续时间所形成的时间段,确定为添加时间;
根据每个所述目标图像帧中对应所述目标对象的目标包围框的位置和尺寸,确定所述目标包围框分别与预先设定的多个素材框之间的重合度,并将重合度最小的素材框所处的位置确定为添加位置,具体包括:当所述重合度最小的素材框与所述目标包围框存在重合时,对所述重合度最小的素材框进行平移处理,直至所述重合度最小的素材框与所述目标包围框不再重合;将经过平移处理后的所述重合度最小的素材框所处的位置确定为添加位置;所述多个素材框设置在所述目标对象的周围;
获取所述目标图像帧的场景特征,其中,所述场景特征包括以下至少之一:所述目标对象的交互结果、所述目标对象的状态;
调用素材类型识别模型对所述场景特征进行素材类型识别处理,得到与所述场景特征适配的素材类型,其中,所述素材类型识别模型是基于样本场景特征、以及针对所述样本场景特征标注的素材类型进行训练得到的;
从素材包中获取符合所述素材类型的素材;
根据在所述视频中待添加的素材、所述添加时间和所述添加位置生成素材添加信息,具体包括:针对每个所述目标图像帧执行以下处理:根据从所述目标图像帧中识别出的多个对象分别所在的区域,确定所述目标图像帧对应的待添加的素材的目标尺寸;其中,所述目标尺寸为使所述素材被添加到所述目标图像帧中时不遮挡所述多个对象的最大尺寸;根据每个所述目标图像帧对应的待添加的素材的目标尺寸、所述添加时间和所述添加位置生成素材添加信息,其中,所述素材添加信息用于在所述视频的所述添加时间添加位于所述添加位置的所述素材。
2.根据权利要求1所述的方法,其特征在于,
在所述对所述图像帧进行目标识别处理之前,所述方法还包括:
通过以下方式训练所述目标检测模型:
获取样本视频、以及针对所述样本视频的标注数据,其中,所述标注数据包括对应所述目标对象的样本目标图像帧、以及所述样本目标图像帧中对应所述目标对象的目标包围框的位置和尺寸;
从所述样本视频中提取多个样本图像帧,并通过所述目标检测模型对所述多个样本图像帧进行目标识别处理,得到目标识别结果;
将所述目标识别结果和所述标注数据代入损失函数,以确定所述损失函数取得最小值时所述目标检测模型的参数,并基于所述参数更新所述目标检测模型;
其中,所述损失函数为基于权重的焦点损失函数,且所述权重为每一类型的样本视频的数量与所有类型的样本视频的总数量的比值。
3.根据权利要求2所述的方法,其特征在于,所述方法还包括:
当样本视频集合中某个类型的样本视频的数量小于数量阈值时,执行以下处理:
对所述类型的样本视频的标注数据进行数据增强处理,并基于经过数据增强处理后的标注数据训练所述目标检测模型;
其中,所述数据增强处理的方式包括以下至少之一:旋转、翻转、模糊。
4.一种视频处理方法,其特征在于,所述方法包括:
响应于视频播放操作,播放视频,并获取通过如权利要求1-3任一项所述的方法生成的素材添加信息;
当所述视频的播放进度处于所述素材添加信息包括的添加时间时,在所述视频的添加位置添加所述素材添加信息包括的素材。
5.一种视频处理方法,其特征在于,所述方法包括:
响应于视频播放操作,播放视频,其中,所述视频中预先添加有素材添加信息包括的素材,且所述素材添加信息是根据如权利要求1-3任一项所述的方法生成的;
当所述视频的播放进度处于所述素材添加信息包括的添加时间时,在所述视频的添加位置显示预先添加的所述素材。
6.一种视频处理装置,其特征在于,所述装置包括:
提取模块,用于获取针对视频设定的时间段;从所述视频中抽取与所述时间段对应的视频片段,并从所述视频片段中提取多个图像帧;其中,针对所述视频进行抽帧的频率是与所述视频的剧情内容的变化速度呈正相关的;
目标识别模块,用于针对每个所述图像帧执行以下处理:对所述图像帧进行目标识别处理,得到所述图像帧中的至少一个候选包围框的位置和尺寸、以及所述候选包围框包括目标对象的置信度;当所述图像帧中的任意一个候选包围框包括所述目标对象的置信度大于第一置信度阈值时,将所述图像帧作为目标图像帧,并将所述任意一个候选包围框作为包括所述目标对象的目标包围框;当所述候选包围框包括目标对象的置信度小于第一置信度阈值,且包括所述目标对象的状态标识的置信度大于第二置信度阈值时,将所述图像帧作为目标图像帧,所述状态标识用于表征所述目标对象的状态,所述状态标识包括以下至少之一:生命值、魔法值、财产、防御能力,并执行以下处理:基于所述目标对象与所述目标对象的状态标识之间的位置关系,确定所述目标图像帧中对应所述目标对象的目标包围框的位置和尺寸;所述目标对象的状态标识的长度与所述目标对象的长度相同;所述对所述图像帧进行目标识别处理,得到所述图像帧中的至少一个候选包围框的位置和尺寸、以及所述候选包围框包括目标对象的置信度,具体包括:
对所述图像帧进行多个层次的编码处理,得到所述多个层次的编码结果;对所述多个层次的编码结果进行解码处理,得到所述多个层次的解码结果;对所述多个层次的解码结果进行融合处理,得到融合解码结果;基于所述融合解码结果进行分类处理,得到所述图像帧中的至少一个候选包围框的位置和尺寸、以及所述候选包围框包括目标对象的置信度;所述编码处理是通过编码器实现的,所述编码器包括M个上采样层和M个下采样层;所述解码处理是通过解码器实现的,所述解码器包括M个解码层,其中,M为大于2的整数常量;
所述对所述图像帧进行多个层次的编码处理,得到所述多个层次的编码结果,包括:通过第m下采样层对所述第m下采样层的输入进行下采样处理,得到所述第m下采样层的下采样结果,其中,m是递增的整数变量且取值满足1≤m≤M;通过第m上采样层对所述第m上采样层的输入进行上采样处理,得到所述第m上采样层的上采样结果;其中,当m取值为1时,所述第m上采样层的输入是所述图像帧;当m取值为2≤m≤M时,所述第m上采样层的输入是第m-1上采样层输出的上采样结果和第m-1下采样层输出的下采样结果;将所述M个上采样层各自输出的上采样结果确定为多个层次的编码结果;
所述对所述多个层次的编码结果进行解码处理,得到多个层次的解码结果,包括:基于所述M个解码层中的至少部分解码层执行解码处理,其中,当所述至少部分解码层包括第n解码层时,基于所述第n解码层的输入进行解码处理,得到所述第n解码层的解码结果;其中,当n取值为1时,所述第n解码层的输入为第M上采样层的上采样结果;当n取值为2≤n≤M-1时,所述第n解码层的输入为第M-n上采样层的上采样结果和第n-1解码层的解码结果;将所述M个解码层各自输出的解码结果作为多个层次的解码结果;
所述对所述多个层次的解码结果进行融合处理,得到融合解码结果,包括:针对每个所述层次的解码结果执行以下处理:对所述层次的解码结果进行多个尺度的划分,得到多个划分结果,分别对所述多个划分结果进行池化处理,对应得到所述层次的多个池化结果,对所述多个池化结果进行拼接处理,得到所述层次的解码结果对应的设定大小的特征向量;对所述多个层次的解码结果一一对应的多个设定大小的特征向量进行融合处理,将得到的融合特征向量作为融合解码结果;
所述目标识别处理是通过目标检测模型实现的,所述目标检测模型包括所述编码器、所述解码器和损失函数端;所述编码器是基于跨阶段局部网络的局部融合网络;所述解码器采用空间金字塔池化的结构对编码器不同层次的输出进行融合,然后利用跨层连接的方式加快信息之间的流通,缩短底层特征和高层特征之间的信息路径;所述损失函数端用于学习不同类型的目标的特性;所述编码器采用浅层的深度网络学习视频帧的视觉信息;利用全跨层连接模式,将跨层学习应用到所述编码器的每一层输出中;
确定模块,用于按照播放时间对多个所述目标图像帧进行降序排序;将降序排序结果中排在第一位的目标图像帧的播放时间确定为添加素材的起始时间,并获取素材在所述视频中的持续时间,其中,所述持续时间的时长小于或等于所述降序排序结果中排在最后一位的目标图像帧的播放时间与所述排在第一位的目标图像帧的播放时间之间的时间差;将从所述起始时间开始计时直至所述持续时间所形成的时间段,确定为添加时间;以及用于根据每个所述目标图像帧中对应所述目标对象的目标包围框的位置和尺寸,确定所述目标包围框分别与预先设定的多个素材框之间的重合度,并将重合度最小的素材框所处的位置确定为添加位置,具体包括:当所述重合度最小的素材框与所述目标包围框存在重合时,对所述重合度最小的素材框进行平移处理,直至所述重合度最小的素材框与所述目标包围框不再重合;将经过平移处理后的所述重合度最小的素材框所处的位置确定为添加位置;所述多个素材框设置在所述目标对象的周围;
获取模块,用于获取所述目标图像帧的场景特征,其中,所述场景特征包括以下至少之一:所述目标对象的交互结果、所述目标对象的状态;
素材类型识别模块,用于调用素材类型识别模型对所述场景特征进行素材类型识别处理,得到与所述场景特征适配的素材类型,其中,所述素材类型识别模型是基于样本场景特征、以及针对所述样本场景特征标注的素材类型进行训练得到的;
所述获取模块,还用于从素材包中获取符合所述素材类型的素材;
生成模块,用于根据在所述视频中待添加的素材、所述添加时间和所述添加位置生成素材添加信息,具体包括:针对每个所述目标图像帧执行以下处理:根据从所述目标图像帧中识别出的多个对象分别所在的区域,确定所述目标图像帧对应的待添加的素材的目标尺寸;其中,所述目标尺寸为使所述素材被添加到所述目标图像帧中时不遮挡所述多个对象的最大尺寸;根据每个所述目标图像帧对应的待添加的素材的目标尺寸、所述添加时间和所述添加位置生成素材添加信息,其中,所述素材添加信息用于在所述视频的所述添加时间添加位于所述添加位置的所述素材。
7.一种电子设备,其特征在于,所述电子设备包括:
存储器,用于存储可执行指令;
处理器,用于执行所述存储器中存储的可执行指令时,实现权利要求1-3任一项、权利要求4、或权利要求5所述的视频处理方法。
8.一种计算机可读存储介质,其特征在于,存储有可执行指令,用于被处理器执行时,实现权利要求1-3任一项、权利要求4、或权利要求5所述的视频处理方法。
CN202110835849.0A 2021-07-23 2021-07-23 视频处理方法、装置、电子设备及计算机可读存储介质 Active CN113518256B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110835849.0A CN113518256B (zh) 2021-07-23 2021-07-23 视频处理方法、装置、电子设备及计算机可读存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110835849.0A CN113518256B (zh) 2021-07-23 2021-07-23 视频处理方法、装置、电子设备及计算机可读存储介质

Publications (2)

Publication Number Publication Date
CN113518256A CN113518256A (zh) 2021-10-19
CN113518256B true CN113518256B (zh) 2023-08-08

Family

ID=78068555

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110835849.0A Active CN113518256B (zh) 2021-07-23 2021-07-23 视频处理方法、装置、电子设备及计算机可读存储介质

Country Status (1)

Country Link
CN (1) CN113518256B (zh)

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114202617A (zh) * 2021-12-13 2022-03-18 北京字跳网络技术有限公司 视频图像处理方法、装置、电子设备及存储介质
CN114463673B (zh) * 2021-12-31 2023-04-07 深圳市东信时代信息技术有限公司 素材推荐方法、装置、设备及存储介质
CN116708917A (zh) * 2022-02-25 2023-09-05 北京字跳网络技术有限公司 视频处理方法、装置、设备及介质
CN114679607B (zh) * 2022-03-22 2024-03-05 深圳云天励飞技术股份有限公司 一种视频帧率控制方法、装置、电子设备及存储介质
CN115358958A (zh) * 2022-08-26 2022-11-18 北京字跳网络技术有限公司 特效图生成方法、装置、设备及存储介质
CN115914758B (zh) * 2022-11-18 2024-01-26 广东轻工职业技术学院 基于区块链云计算的影视特效处理系统
CN116017010B (zh) * 2022-12-01 2024-05-17 凡游在线科技(成都)有限公司 基于视频的ar融合处理方法、电子设备和计算机可读介质
CN117314890B (zh) * 2023-11-07 2024-04-23 东莞市富明钮扣有限公司 打扣加工的安全控制方法、装置、设备及存储介质

Citations (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106385591A (zh) * 2016-10-17 2017-02-08 腾讯科技(上海)有限公司 视频处理方法及视频处理装置
CN107308641A (zh) * 2017-06-07 2017-11-03 北京凯罗天下科技有限公司 一种游戏对象管理方法、装置和移动终端
CN109462776A (zh) * 2018-11-29 2019-03-12 北京字节跳动网络技术有限公司 一种视频特效添加方法、装置、终端设备及存储介质
CN110176027A (zh) * 2019-05-27 2019-08-27 腾讯科技(深圳)有限公司 视频目标跟踪方法、装置、设备及存储介质
CN111282281A (zh) * 2020-01-22 2020-06-16 腾讯科技(深圳)有限公司 图像处理方法及装置、电子设备和计算机可读存储介质
US10699751B1 (en) * 2019-03-06 2020-06-30 Wangsu Science & Technology Co., Ltd. Method, system and device for fitting target object in video frame
CN111369582A (zh) * 2020-03-06 2020-07-03 腾讯科技(深圳)有限公司 图像分割方法、背景替换方法、装置、设备及存储介质
CN111556336A (zh) * 2020-05-12 2020-08-18 腾讯科技(深圳)有限公司 一种多媒体文件处理方法、装置、终端设备及介质
CN111986229A (zh) * 2019-05-22 2020-11-24 阿里巴巴集团控股有限公司 视频目标检测方法、装置及计算机系统
CN112052837A (zh) * 2020-10-09 2020-12-08 腾讯科技(深圳)有限公司 基于人工智能的目标检测方法以及装置
CN112101075A (zh) * 2019-06-18 2020-12-18 腾讯科技(深圳)有限公司 信息植入区域的识别方法、装置、存储介质及电子设备
CN112312195A (zh) * 2019-07-25 2021-02-02 腾讯科技(深圳)有限公司 视频中植入多媒体信息的方法、装置、计算机设备及存储介质
CN112822544A (zh) * 2020-12-31 2021-05-18 广州酷狗计算机科技有限公司 视频素材文件生成方法、视频合成方法、设备及介质

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101027159B1 (ko) * 2008-07-28 2011-04-05 뮤추얼아이피서비스(주) 타겟 영상 검출 장치 및 그 방법

Patent Citations (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106385591A (zh) * 2016-10-17 2017-02-08 腾讯科技(上海)有限公司 视频处理方法及视频处理装置
CN107308641A (zh) * 2017-06-07 2017-11-03 北京凯罗天下科技有限公司 一种游戏对象管理方法、装置和移动终端
CN109462776A (zh) * 2018-11-29 2019-03-12 北京字节跳动网络技术有限公司 一种视频特效添加方法、装置、终端设备及存储介质
US10699751B1 (en) * 2019-03-06 2020-06-30 Wangsu Science & Technology Co., Ltd. Method, system and device for fitting target object in video frame
CN111986229A (zh) * 2019-05-22 2020-11-24 阿里巴巴集团控股有限公司 视频目标检测方法、装置及计算机系统
CN110176027A (zh) * 2019-05-27 2019-08-27 腾讯科技(深圳)有限公司 视频目标跟踪方法、装置、设备及存储介质
CN112101075A (zh) * 2019-06-18 2020-12-18 腾讯科技(深圳)有限公司 信息植入区域的识别方法、装置、存储介质及电子设备
CN112312195A (zh) * 2019-07-25 2021-02-02 腾讯科技(深圳)有限公司 视频中植入多媒体信息的方法、装置、计算机设备及存储介质
CN111282281A (zh) * 2020-01-22 2020-06-16 腾讯科技(深圳)有限公司 图像处理方法及装置、电子设备和计算机可读存储介质
CN111369582A (zh) * 2020-03-06 2020-07-03 腾讯科技(深圳)有限公司 图像分割方法、背景替换方法、装置、设备及存储介质
CN111556336A (zh) * 2020-05-12 2020-08-18 腾讯科技(深圳)有限公司 一种多媒体文件处理方法、装置、终端设备及介质
CN112052837A (zh) * 2020-10-09 2020-12-08 腾讯科技(深圳)有限公司 基于人工智能的目标检测方法以及装置
CN112822544A (zh) * 2020-12-31 2021-05-18 广州酷狗计算机科技有限公司 视频素材文件生成方法、视频合成方法、设备及介质

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
基于运动轨迹的语义视频对象检测与跟踪;谷薇;《中国学位论文全文数据库》;全文 *

Also Published As

Publication number Publication date
CN113518256A (zh) 2021-10-19

Similar Documents

Publication Publication Date Title
CN113518256B (zh) 视频处理方法、装置、电子设备及计算机可读存储介质
CN112685565B (zh) 基于多模态信息融合的文本分类方法、及其相关设备
CN108229478B (zh) 图像语义分割及训练方法和装置、电子设备、存储介质和程序
CN110784759B (zh) 弹幕信息处理方法、装置、电子设备及存储介质
CN111222500B (zh) 一种标签提取方法及装置
CN111768425B (zh) 图像处理方法、装置及设备
CN112215171B (zh) 目标检测方法、装置、设备及计算机可读存储介质
CN111275784B (zh) 生成图像的方法和装置
CN111310041B (zh) 图文发布的方法、模型的训练方法、装置及存储介质
CN111783712A (zh) 一种视频处理方法、装置、设备及介质
CN113704531A (zh) 图像处理方法、装置、电子设备及计算机可读存储介质
US20230091549A1 (en) Image processing method and apparatus, computer device, and storage medium
CN110929806B (zh) 基于人工智能的图片处理方法、装置及电子设备
Qi et al. A DNN-based object detection system on mobile cloud computing
CN113313215A (zh) 图像数据处理方法、装置、计算机设备和存储介质
CN116778148A (zh) 目标检测方法、装置、电子设备及存储介质
CN109816023B (zh) 用于生成图片标签模型的方法和装置
CN111597361B (zh) 多媒体数据处理方法、装置、存储介质及设备
CN113570541A (zh) 图像质量评估方法、装置、电子设备及存储介质
US20230367972A1 (en) Method and apparatus for processing model data, electronic device, and computer readable medium
CN115082758A (zh) 目标检测模型的训练方法、目标检测方法、装置和介质
CN117009577A (zh) 一种视频数据处理方法、装置、设备及可读存储介质
CN114332678A (zh) 数据处理方法、装置、存储介质及设备
CN114529761A (zh) 基于分类模型的视频分类方法、装置、设备、介质及产品
CN113011320A (zh) 视频处理方法、装置、电子设备及存储介质

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
REG Reference to a national code

Ref country code: HK

Ref legal event code: DE

Ref document number: 40053513

Country of ref document: HK

GR01 Patent grant
GR01 Patent grant