CN109525891B - 多用户视频特效添加方法、装置、终端设备及存储介质 - Google Patents
多用户视频特效添加方法、装置、终端设备及存储介质 Download PDFInfo
- Publication number
- CN109525891B CN109525891B CN201811446855.1A CN201811446855A CN109525891B CN 109525891 B CN109525891 B CN 109525891B CN 201811446855 A CN201811446855 A CN 201811446855A CN 109525891 B CN109525891 B CN 109525891B
- Authority
- CN
- China
- Prior art keywords
- special effect
- video
- effect adding
- interval
- user
- 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
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/43—Processing 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/44—Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream, rendering scenes according to MPEG-4 scene graphs
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V20/00—Scenes; Scene-specific elements
- G06V20/40—Scenes; Scene-specific elements in video content
- G06V20/41—Higher-level, semantic clustering, classification or understanding of video scenes, e.g. detection, labelling or Markovian modelling of sport events or news items
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V40/00—Recognition of biometric, human-related or animal-related patterns in image or video data
- G06V40/10—Human or animal bodies, e.g. vehicle occupants or pedestrians; Body parts, e.g. hands
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/47—End-user applications
- H04N21/478—Supplemental services, e.g. displaying phone caller identification, shopping application
- H04N21/4788—Supplemental services, e.g. displaying phone caller identification, shopping application communicating with other users, e.g. chatting
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N7/00—Television systems
- H04N7/14—Systems for two-way working
- H04N7/141—Systems for two-way working between two video terminals, e.g. videophone
Abstract
本公开公开了一种多用户视频特效添加方法、装置、终端设备及存储介质。该方法包括:在视频中与特效添加区间匹配的多个图像帧中,识别与特效添加区间匹配的目标用户的至少一个人体关节点;根据所述目标用户的至少一个人体关节点的位置信息,计算所述目标用户的运动特征参数;如果确定目标图像帧中识别出的所述目标用户的人体关节点满足预设的关节动作条件,则获取视频特效以及所述特效添加信息,并添加所述视频特效至所述视频中与所述目标图像帧关联的视频位置处;计算各所述用户的运动得分信息,并在与所述视频匹配的运动得分结算位置处,添加所述运动得分信息。本公开实施例可以提高视频交互应用的场景多样化。
Description
技术领域
本公开实施例涉及数据技术,尤其涉及一种多用户视频特效添加方法、装置、终端设备及存储介质。
背景技术
随着通信技术和终端设备设备的发展,各种终端设备例如手机、平板电脑等已经成为了人们工作和生活中不可或缺的一部分,而且随着终端设备的日益普及,视频交互应用成为一种沟通和娱乐的主要渠道。
目前,视频交互应用能够识别出用户面部,并在用户头部上增加静态图像(例如在头发上增加头饰)或者增加面部表情覆盖在用户面部上。这种增加图像的方法过于局限,同时应用场景过于单一,无法满足用户的多样化需求。
发明内容
本公开实施例提供一种多用户视频特效添加方法、装置、终端设备及存储介质,可以针对同时拍摄到多个用户的关节点的视频添加匹配的动态特效,提高视频交互应用的场景多样化。
第一方面,本公开实施例提供了一种多用户视频特效添加方法,该方法包括:
在视频中与特效添加区间匹配的多个图像帧中,识别与所述特效添加区间匹配的目标用户的至少一个人体关节点,其中,所述视频包括多个特效添加区间;
根据所述目标用户的至少一个人体关节点在所述多个图像帧中的位置信息,计算所述目标用户在所述特效添加区间内的运动特征参数;
如果确定在所述多个图像帧中的目标图像帧中识别出的所述目标用户的至少一个人体关节点满足预设的关节动作条件,则获取与所述关节动作条件匹配的视频特效以及特效添加信息,并添加所述视频特效至所述视频中与所述目标图像帧关联的视频位置处;
根据至少两个用户在匹配的特效添加区间内的运动特征参数以及特效添加信息,计算各所述用户的运动得分信息,并在与所述视频匹配的运动得分结算位置处,添加所述运动得分信息。
进一步的,所述在视频中与特效添加区间匹配的多个图像帧中,识别与所述特效添加区间匹配的目标用户的至少一个人体关节点,包括:
在确定满足特效添加条件时,根据所述视频的当前播放和/或录制进度和特效添加区间的时长,确定与所述特效添加条件匹配的首个特效添加区间的起止时间点;
根据所述视频的当前播放和/或录制进度、所述特效添加区间的时长、所述首个特效添加区间的起止时间点以及预设的特效添加区间的数量,确定与所述特效添加条件匹配的多个特效添加区间在所述视频中的起止时间点;
如果在所述视频中获取的图像帧在所述视频中的视频位置与目标特效添加区间的所述起止时间点相匹配,则在所述图像帧中识别与所述目标特效添加区间匹配的目标用户,并识别所述目标用户的至少一个人体关节点。
进一步的,所述在所述图像帧中识别与所述目标特效添加区间匹配的目标用户,包括:
如果所述图像帧为所述目标特效添加区间的首个图像帧,则获取与所述目标特效添加区间相邻的前一特效添加区间匹配的用户作为筛除用户,并在所述图像帧中识别除去所述筛除用户的一个用户作为与所述目标特效添加区间匹配的目标用户;
如果所述图像帧不为所述目标特效添加区间的首个图像帧,则获取与所述目标特效添加区间匹配的目标用户,并在所述图像帧中识别所述目标用户。
进一步的,所述根据所述目标用户的至少一个人体关节点在所述多个图像帧中的位置信息,计算所述目标用户在所述特效添加区间内的运动特征参数,包括:
在所述特效添加区间内,根据所述目标用户的至少一个人体关节点在所述多个图像帧中的位置信息,计算所述目标用户的至少一个人体关节点在所述特效添加区间内任意相邻两个图像帧之间的单位位移,以及所述目标用户的至少一个人体关节点在所述特效添加区间内的运动位移;
统计所述特效添加区间的持续时间,并根据所述单位位移和所述运动位移,确定所述目标用户在所述特效添加区间的平均运动距离和运动距离方差;
根据所述平均运动距离和所述运动距离方差,计算所述目标用户在所述特效添加区间内的运动特征参数。
进一步的,所述获取与所述关节动作条件匹配的视频特效以及所述特效添加信息,包括:
根据所述关节动作条件中关节动作信息,确定所述目标用户的至少一个人体关节点与所述关节动作信息的匹配程度;
获取与所述匹配程度匹配的视频特效;
将所述关节动作条件以及所述匹配程度作为特效添加信息。
进一步的,在在视频中与特效添加区间匹配的多个图像帧中,识别与所述特效添加区间匹配的目标用户的至少一个人体关节点之前,还包括:
在视频录制过程中,实时获取所述视频中的至少一个图像帧;
所述添加至所述视频中与所述目标图像帧关联的视频位置处,包括:
将所述目标图像帧的视频位置作为特效添加起点;
根据与所述关节动作条件匹配的视频特效的特效持续时间,从所述特效添加起点开始,在所述视频中与所述特效持续时间匹配的图像帧中添加所述视频特效。
进一步的,所述多用户视频特效添加方法,还包括:
在所述视频的录制过程中,在视频预览界面中实时呈现所述视频中的图像帧;
在所述视频中与所述特效持续时间匹配的图像帧中添加所述视频特效的同时,还包括:
在所述视频预览界面中,实时呈现添加所述视频特效的图像帧。
第二方面,本公开实施例还提供了一种多用户视频特效添加装置,该装置包括:
人体关节点识别模块,用于在视频中与特效添加区间匹配的多个图像帧中,识别与所述特效添加区间匹配的目标用户的至少一个人体关节点,其中,所述视频包括多个特效添加区间;
运动特征参数计算模块,用于根据所述目标用户的至少一个人体关节点在所述多个图像帧中的位置信息,计算所述目标用户在所述特效添加区间内的运动特征参数;
视频特效确定模块,用于如果确定在所述多个图像帧中的目标图像帧中识别出的所述目标用户的至少一个人体关节点满足预设的关节动作条件,则获取与所述关节动作条件匹配的视频特效以及特效添加信息,并添加所述视频特效至所述视频中与所述目标图像帧关联的视频位置处;
运动得分信息计算模块,用于根据至少两个用户在匹配的特效添加区间内的运动特征参数以及特效添加信息,计算各所述用户的运动得分信息,并在与所述视频匹配的运动得分结算位置处,添加所述运动得分信息。
进一步的,所述人体关节点识别模块,包括:
首个特效添加区间起始点确定模块,用于在确定满足特效添加条件时,根据所述视频的当前播放和/或录制进度和特效添加区间的时长,确定与所述特效添加条件匹配的首个特效添加区间的起止时间点;
特效添加区间起止点确定模块,用于根据所述视频的当前播放和/或录制进度、所述特效添加区间的时长、所述首个特效添加区间的起止时间点以及预设的特效添加区间的数量,确定与所述特效添加条件匹配的多个特效添加区间在所述视频中的起止时间点;
目标用户确定模块,用于如果在所述视频中获取的图像帧所述图像帧在所述视频中的视频位置与目标特效添加区间的所述起止时间点相匹配,则在所述图像帧中识别与所述目标特效添加区间匹配的目标用户,并识别所述目标用户的至少一个人体关节点。
进一步的,所述目标用户确定模块,包括:
筛除用户确定模块,用于如果所述图像帧为所述目标特效添加区间的首个图像帧,则获取与所述目标特效添加区间相邻的前一特效添加区间匹配的用户作为筛除用户,并在所述图像帧中识别除去所述筛除用户的一个用户作为与所述目标特效添加区间匹配的目标用户;
目标用户获取模块,用于如果所述图像帧不为所述目标特效添加区间的首个图像帧,则获取与所述目标特效添加区间匹配的目标用户,并在所述图像帧中识别所述目标用户。
进一步的,所述运动特征参数计算模块,包括:
位移计算模块,用于在所述特效添加区间内,根据所述目标用户的至少一个人体关节点在所述多个图像帧中的位置信息,计算所述目标用户的至少一个人体关节点在所述特效添加区间内任意相邻两个图像帧之间的单位位移,以及所述目标用户的至少一个人体关节点在所述特效添加区间内的运动位移;
运动距离计算模块,用于统计所述特效添加区间的持续时间,并根据所述单位位移和所述运动位移,确定所述目标用户在所述特效添加区间的平均运动距离和运动距离方差;
运动特征参数确定模块,用于根据所述平均运动距离和所述运动距离方差,计算所述目标用户在所述特效添加区间内的运动特征参数。
进一步的,所述视频特效确定模块,包括:
匹配程度确定模块,用于根据所述关节动作条件中关节动作信息,确定所述目标用户的至少一个人体关节点与所述关节动作信息的匹配程度;
视频特效获取模块,用于获取与所述匹配程度匹配的视频特效;
特效添加信息确定模块,用于将所述关节动作条件以及所述匹配程度作为特效添加信息。
进一步的,所述多用户视频特效添加装置,还包括:
图像帧实时获取模块,用于在视频录制过程中,实时获取所述视频中的至少一个图像帧;
所述视频特效确定模块,包括:
特效添加起点确定模块,用于将所述目标图像帧的视频位置作为特效添加起点;
视频特效添加模块,用于根据与所述关节动作条件匹配的视频特效的特效持续时间,从所述特效添加起点开始,在所述视频中与所述特效持续时间匹配的图像帧中添加所述视频特效。
进一步的,所述多用户视频特效添加装置,还包括:
图像帧实时呈现模块,用于在所述视频的录制过程中,在视频预览界面中实时呈现所述视频中的图像帧;
视频特效实时呈现模块,用于在所述视频预览界面中,实时呈现添加所述视频特效的图像帧。
第三方面,本公开实施例还提供了一种终端设备,该终端设备包括:
一个或多个处理器;
存储器,用于存储一个或多个程序;
当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如本公开实施例所述的多用户视频特效添加方法。
第四方面,本公开实施例还提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现如本公开实施例所述的多用户视频特效添加方法。
本公开实施例通过在视频的每个特效添加区间中识别目标用户的至少一个人体关节点,并根据人体关节点计算目标用户的运动特征参数,同时在人体关节点满足关节动作条件的情况下添加视频特效以及获取特效添加信息,进一步根据目标用户的运动特征参数以及特效添加信息计算各用户的运动得分,并添加至视频中,解决了视频交互应用的视频特效过于单一的问题,可以针对同时拍摄到多个用户的关节点的视频添加匹配的动态特效,并根据各用户的动态特性以及运动情况,计算各用户的运动得分并呈现,提高视频交互应用的场景以及视频特效的多样化,提高视频增加特效的灵活性。
附图说明
图1a是本公开实施例一提供的一种多用户视频特效添加方法的流程图;
图1b是本公开实施例一提供的一种人体关节点的示意图;
图2是本公开实施例二提供的一种多用户视频特效添加方法的流程图;
图3是本公开实施例三提供的一种多用户视频特效添加方法的流程图;
图4是本公开实施例四提供的一种多用户视频特效添加装置的结构示意图;
图5是本公开实施例五提供的一种终端设备的结构示意图。
具体实施方式
下面结合附图和实施例对本公开作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释本公开,而非对本公开的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与本公开相关的部分而非全部结构。
实施例一
图1a为本公开实施例一提供的一种多用户视频特效添加方法的流程图,本实施例可适用于在视频中针对多个不同用户分别添加视频特效的情况,该方法可以由多用户视频特效添加装置来执行,该装置可以采用软件和/或硬件的方式实现,该装置可以配置于终端设备中,例如典型的是计算机等。如图1a所示,该方法具体包括如下步骤:
S110,在视频中与特效添加区间匹配的多个图像帧中,识别与所述特效添加区间匹配的目标用户的至少一个人体关节点,其中,所述视频包括多个特效添加区间。
一般来说,视频是由一系列静态的图像帧以极快的速度连续放映形成。由此,可以将视频拆分成一系列图像帧,并对图像帧进行编辑操作,从而实现对视频的编辑操作。在本公开实施例中,视频可以是一个录制完成的完整视频,也可以是正在实时录制的视频。
其中,特效添加区间可以是针对一个用户进行添加视频特效的图像帧集合,目标用户可以是指特效添加区间为添加视频特效的针对对象。在一个特效添加区间中可以拍摄到至少一个用户,若仅仅拍摄到一个用户时,可以将该用户作为特效添加区间匹配的目标用户,若拍摄到至少两个用户时,可以任选一个用户作为目标用户,或者在除相邻特效添加区间匹配的目标用户之外的用户中选取一个用户作为目标用户。
从多个用户选择一个用户作为目标用户的方式具体可以是:根据各用户的关节点的识别完整度、置信度或者各用户与拍摄视频的设备的距离,选择其中一个用户作为后续需要添加视频特效的对象。
人体关节点用于确定图像帧中用户的动作状态,例如站立、鞠躬或跳跃等动作状态,以及用于确定用户的位置,例如用户与终端设备之间的距离、用户与终端设备所拍摄到的其他物体的相对位置或用户在终端设备所拍摄到的画面中的位置等位置。
在一个具体的例子中,图1b为在移动终端的视频预览界面中显示的人体轮廓,如图1b所示,人体轮廓中的圆圈表示识别到的人体关节点,两个人体关节点之间的连线用于表示人体的身体部位,例如,手腕关节点和手肘关节点之间的连线用于表示手腕和手肘之间的手臂。
对每个图像帧进行人体关节点识别操作,可以在图像帧中识别出所有人体区域,具体可以是根据图像帧所包含的深度信息(深度信息可以通过红外线摄像机获取),对该图像帧进行图像分割,识别出图像帧中所有人体区域。从所有人体区域中选择一个人体区域用于识别人体关节点,具体可以是根据人体区域与终端设备显示屏幕之间的距离,选择距离最短的人体区域作为需要识别人体关节点的用户,此外还可以选择其他方式确定,对此不做具体限制。
在确定一个人体区域之后,对该区域进行人体关节点识别,确定属于该用户的所有人体关节点,进一步可以根据需要从该用户的所有人体关节点中筛选出至少一个目标人体关节点。
其中,识别人体关节点的方法具体可以是:在人体区域中确定属于该人体区域中的身体部位区域(手臂、手、大腿和脚等),并在各身体部位区域计算关节点(手肘、手腕和膝盖等)位置,最后根据识别到的各关节点位置,生成人体骨架系统,并从中根据需要确定目标人体关节点。此外,可以通过采用两个目标人体关节点的连线(如手腕关节点和手肘关节点之间的连线用于表示手腕和手肘之间的手臂),例如通过两个目标人体关节点的坐标确定两点构成的线段的向量,进一步判断用户某个身体部位区域的动作状态或位置,上述涉及到的人体识别、身体部位区域识别和身体部位区域中的关节点位置计算均可以采用预先训练的深度学习模型实现,而深度学习模型可以根据由人体深度信息提取出来的深度特征进行训练。
需要说明的是,识别人体关节点的方法还有其他方法,对此本公开实施例不作具体限制。
S120,根据所述目标用户的至少一个人体关节点在所述多个图像帧中的位置信息,计算所述目标用户在所述特效添加区间内的运动特征参数。
人体关节点的位置信息可以是指人体关节点在图像帧中的位置,具体的,可以在图像帧中设置坐标系,相应的,人体关节点在图像帧中的位置信息可以用人体关节点的坐标表示。运动特征参数可以是指用于表示目标用户运动情况的特征参数,可以包括运动速度、运动方向和运动幅度等参数中至少一种。
在一个具体的例子中,人体关节点在特效添加区间内首个图像帧的坐标和最后一个图像帧中的坐标可以确定人体关节点的在特效添加区间的总移动距离,除以特效添加区间的时长,得到的计算结果为人体关节点在特效添加区间的平均速度。
S130,判断在所述多个图像帧中选取的图像帧识别出的所述目标用户的至少一个人体关节点是否满足预设的关节动作条件,直至所述多个图像帧全部判断完成,如果是,则执行S140;否则,执行S150。
关节动作条件可以是指预设的关节点的动作,具体可以包括运动的方向、运动的速度和运动的距离等中的至少一种,例如手腕向下运动到设定区域范围,手腕以每帧1个像素的速度向右移动,或者多个关节点(如头部、肩膀和手肘)均向下移动,同时头部关节点的运动距离大于肩膀关节点的运动距离,肩膀关节点的运动距离大于手肘关节点的运动距离等,还有其他具体动作,对此本公开实施例不作具体限制。
需要说明的是,可以存在多个关节动作条件,每个关节动作条件限定的人体关节点不全相同,例如,第一关节动作条件限定手腕关节点的运动状态和手肘关节点的运动状态,第二关节动作条件仅限定脚腕关节点的运动状态。当与关节动作条件匹配的人体关节点满足该关节运动条件时,在视频中对应添加与该关节运动条件的视频特效,同时,不同关节运动条件的判断是相互独立的,可以同时添加与不同关节运动条件匹配的不同视频特效。
S140,将满足所述关节动作条件的人体关节点对应的图像帧作为目标图像帧,获取与所述关节动作条件匹配的视频特效以及特效添加信息,并添加所述视频特效至所述视频中与所述目标图像帧关联的视频位置处,执行S160。
如果视频的多个图像帧中的一个图像帧识别出的目标用户的至少一个人体关节点满足预设的关节动作条件,则将该图像帧作为目标图像帧,并获取获取与所述关节动作条件匹配的视频特效以及特效添加信息,并添加所述视频特效至所述视频中与所述目标图像帧关联的视频位置处。
在视频中从满足视频特效条件的当前图像帧开始增加与视频特效条件匹配的视频特效。视频特效用于在目标图像帧中添加根据用户动作匹配的特殊效果,以实现与用户交互,具体可以是指动画特效和/或音乐特效,添加动画特效用于目标图像帧在显示的过程中同时绘制静态和/或动态图像覆盖于目标图像帧原有内容上,添加音乐特效用于在目标图像帧中显示的过程中,同时播放音乐。
特效添加信息可以是指针对至少一个特效添加区间中添加的视频特效的信息,具体包括视频特效的添加次数、视频特效的类型和视频特效的等级等信息中的至少一项。
S150,获取下一个图像帧,返回执行S130。
S160,根据至少两个用户在匹配的特效添加区间内的运动特征参数以及特效添加信息,计算各所述用户的运动得分信息,并在与所述视频匹配的运动得分结算位置处,添加所述运动得分信息。
可以分别预先设置运动特征参数与分数的对应关系,以及特效添加信息与分数的对应关系,根据运动特征参数匹配的分数以及特效添加信息匹配的分数,计算运动得分,例如运动得分为运动特征参数匹配的分数与特效添加信息匹配的分数之和。其中,运动得分计算方式还可以是其他方式,本公开实施例不做具体限制。
运动得分结算位置处可以是指视频中需要显示运动得分的视频位置,例如,视频录制设备在接收到用户输入的运动得分计算指令时对应的时间点匹配的视频位置作为运动得分结算位置;或者是在视频中第二个特效添加区间的终止时间点对应的视频位置处,对此,本公开实施例不做具体限制。
本公开实施例通过在视频的每个特效添加区间中识别目标用户的至少一个人体关节点,并根据人体关节点计算目标用户的运动特征参数,同时在人体关节点满足关节动作条件的情况下添加视频特效以及获取特效添加信息,进一步根据目标用户的运动特征参数以及特效添加信息计算各用户的运动得分,并添加至视频中,解决了视频交互应用的视频特效过于单一的问题,可以针对同时拍摄到多个用户的关节点的视频添加匹配的动态特效,并根据各用户的动态特性以及运动情况,计算各用户的运动得分并呈现,提高视频交互应用的场景以及视频特效的多样化,提高视频增加特效的灵活性。
在上述实施例的基础上,可选的,在在视频中与特效添加区间匹配的多个图像帧中,识别与所述特效添加区间匹配的目标用户的至少一个人体关节点之前,还包括:在视频录制过程中,实时获取所述视频中的至少一个图像帧;所述添加至所述视频中与所述目标图像帧关联的视频位置处,包括:将所述目标图像帧的视频位置作为特效添加起点;根据与所述关节动作条件匹配的视频特效的特效持续时间,从所述特效添加起点开始,在所述视频中与所述特效持续时间匹配的图像帧中添加所述视频特效。
具体的,可以实时拍摄视频,并实时获取视频中的各个图像帧。其中,特效添加起点可以是指视频特效添加的起始位置和/或起始时刻。特效持续时间可以是指视频特效的起始位置到结束位置之间经历的时间或起始时刻到结束时刻之间的时间。与特效持续时间匹配的图像帧可以是指在视频中从特效添加起点开始,也就是从目标图像帧开始,一直到该视频特效结束时对应的结束图像帧之间的所有图像帧。例如,视频特效为音乐特效,若一个音乐特效的持续时间为3s,在该视频中,1s播放30个图像帧,按视频播放顺序,从目标图像帧开始的90个图像帧(包括目标图像帧)即为与特效持续时间匹配的图像帧。
由此通过实时拍摄视频,并实时获取视频拆分的一系列图像帧,从而实时判断拍摄的视频中当前图像帧是否存在满足运动变化条件的目标运动物体,实时添加与所述运动变化条件,和/或目标运动物体匹配的视频特效,可以实现在视频录制的同时添加视频特效,提高视频特效的添加效率。
可选的,所述多用户视频特效添加方法还可以包括:在所述视频的录制过程中,在视频预览界面中实时呈现所述视频中的图像帧;在所述视频中与所述特效持续时间匹配的图像帧中添加所述视频特效的同时,还包括:在所述视频预览界面中,实时呈现添加所述视频特效的图像帧。
其中,视频预览界面可以是指用于用户浏览视频的终端设备的界面,其中,终端设备可以包括服务器端或客户端。在实时拍摄视频的同时,将视频实时显示在视频预览界面中,由此,用户可以实时浏览到拍摄的视频的内容。
可选的,所述视频特效包括:动态动画特效,和/或音乐特效;相应的,所述在所述视频预览界面中,实时呈现添加所述视频特效的图像帧,可以包括:在所述视频预览界面中,在图像帧中实时绘制动态动画特效,并播放音乐特效。
具体的,当视频特效包括动态动画特效时,在实时显示的图像帧中绘制动态动画特效,例如,绘制乐器、背景和人物等中至少一种图像。当视频特效包括音乐特效时,在图像帧实时显示的同时播放音乐特效。通过设置视频特效包括动态动画特效和/或音乐特效,提高视频特效的多样性。
需要说明的是,可以使用一个终端设备对两个用户进行拍摄。当存在多个用户时,一个终端设备无法涵盖所有用户,此时,可以选择多个终端设备通信连接,并同时开始对多个用户进行视频录制。
在一个具体的例子中,终端设备A对用户A进行拍摄,同时终端设备B对用户B进行拍摄,且终端设备A与终端设备B进行通信连接,终端设备A可以在视频预览界面中以窗口形式展现终端设备B中录制的视频。
实施例二
图2为本公开实施例二提供的一种多用户视频特效添加方法的流程图。本实施例以上述实施例中各个可选方案为基础进行具体化。在本实施例中,将在视频中与特效添加区间匹配的多个图像帧中,识别与所述特效添加区间匹配的目标用户的至少一个人体关节点具体化为:在确定满足特效添加条件时,根据所述视频的当前播放和/或录制进度和特效添加区间的时长,确定与所述特效添加条件匹配的首个特效添加区间的起止时间点;根据所述视频的当前播放和/或录制进度、所述特效添加区间的时长、所述首个特效添加区间的起止时间点以及预设的特效添加区间的数量,确定与所述特效添加条件匹配的多个特效添加区间在所述视频中的起止时间点;如果在所述视频中获取的图像帧在所述视频中的视频位置与目标特效添加区间的所述起止时间点相匹配,则在所述图像帧中识别与所述目标特效添加区间匹配的目标用户,并识别所述目标用户的至少一个人体关节点。
相应的,本实施例的方法可以包括:
S201,在视频中与特效添加区间匹配的多个图像帧中,识别与所述特效添加区间匹配的目标用户的至少一个人体关节点,其中,所述视频包括多个特效添加区间。
本实施例中的视频、特效添加区间、图像帧、人体关节点、目标用户、关节动作条件、视频位置和视频特效等均可以参考上述实施例中的描述。
S202,根据所述目标用户的至少一个人体关节点在所述多个图像帧中的位置信息,计算所述目标用户在所述特效添加区间内的运动特征参数。
S203,在确定满足特效添加条件时,根据所述视频的当前播放和/或录制进度,和特效添加区间的时长,确定与所述特效添加条件匹配的首个特效添加区间的起止时间点。
特效添加条件可以是视频录制设备开始进行用户的人体关节点识别,并添加视频特效的条件,例如,可以是视频录制设备是否拍摄到用户,又如,视频录制设备(如终端设备)是否接收到视频特效添加开始指令或运动得分计算开始指令等。
起止时间点包括起始时间点和终止时间点。首个特效添加区间的起始时间点可以根据特效添加条件确定,可以将满足特效添加条件时的时间点作为首个特效添加区间的起始时间点;或者可以在满足特效添加条件之后设定时间(如10秒)所在的时间点作为首个特效添加区间的起始时间点。
首个特效添加区间的终止时间点可以根据所述视频的当前播放和/或录制进度和特效添加区间的时长确定,如果根据所述视频的当前播放和/或录制进度确定视频的当前播放和/或录制进度所在时间点与首个特效添加区间的起始时间点之间的时间大于等于特效添加区间的时长,则首个特效添加区间的终止时间点为起始时间点结合特效添加区间的时长确定;否则,视频的当前播放和/或录制进度所在时间点作为首个特效添加区间的终止时间点。
S204,根据所述视频的当前播放和/或录制进度、所述特效添加区间的时长、所述首个特效添加区间的起止时间点以及预设的特效添加区间的数量,确定与所述特效添加条件匹配的多个特效添加区间在所述视频中的起止时间点。
在确定首个特效添加区间的起止时间点之后,可以根据所述视频的当前播放和/或录制进度、所述特效添加区间的时长、所述首个特效添加区间的起止时间点以及预设的特效添加区间的数量,确定视频中后续的特效添加区间的起止时间点。其中,每个特效添加区间的起始时间点可以与相邻的前一个特效添加区间的终止时间点重合,或者可以与相邻的前一个特效添加区间的终止时间点间隔设定时间(如15秒)。每个特效添加区间的终止时间点可以参考首个特效添加区间的终止时间点的确定方式。
S205,判断在所述视频中获取的图像帧在所述视频中的视频位置是否与所述视频中多个特效添加区间的所述起止时间点匹配,直至所述多个图像帧全部判断完成,如果是,则执行S206;否则执行S207。
S206,将匹配的所述特效添加区间作为目标特效添加区间,在所述图像帧中识别与所述目标特效添加区间匹配的目标用户,并识别所述目标用户的至少一个人体关节点,执行S208。
目标特效添加区间为图像帧所属的特效添加区间。如果在所述视频中获取的图像帧在所述视频中的视频位置与一个特效添加区间的所述起止时间点相匹配,则将该特效添加区间作为目标特效添加区间,同时,该图像帧属于目标特效添加区间。每个特效添加区间对应一个目标用户作为识别对象,针对每个图像帧,根据图像帧所属的特效添加区间,确定图像帧需要识别的目标用户,以及该目标用户的至少一个人体关节点。
每个特效添加区间对应的识别对象可以根据该特效添加区间的首个图像帧确定。可选的,所述在所述图像帧中识别与所述目标特效添加区间匹配的目标用户,可以包括:如果所述图像帧为所述目标特效添加区间的首个图像帧,则获取与所述目标特效添加区间相邻的前一特效添加区间匹配的用户作为筛除用户,并在所述图像帧中识别除去所述筛除用户的一个用户作为与所述目标特效添加区间匹配的目标用户;如果所述图像帧不为所述目标特效添加区间的首个图像帧,则获取与所述目标特效添加区间匹配的目标用户,并在所述图像帧中识别所述目标用户。
具体的,各特效添加区间匹配的目标用户均为从区间内首个图像帧识别到的多个用户中选取的一个用户作为目标用户,各特效添加区间内的其他图像帧均以该目标用户作为识别对象。
由于视频中多个特效添加区间存在均识别到相同目标用户,为了避免上述情况,使任意相邻两个特效添加区间对应的目标用户不同。将特效添加区间A的目标用户作为相邻的后一个特效添加区间B的筛除用户,特效添加区间B在从识别到的除了筛除用户以外的多个用户中选取一个用户作为特效添加区间B的目标用户。
通过在各特效添加区间中以不全相同的目标用户为识别对象,并在每个特效添加区间中各图像帧中以同一个目标用户为识别对象,实现在视频中分别以不同用户作为识别对象添加视频特效,从而实现多用户视频特效添加的应用场景。
S207,获取下一个图像帧,返回执行S205。
S208,判断所述目标用户的至少一个人体关节点是否满足预设的关节动作条件,如果是,则执行S209;否则,执行S207。
S209,将满足所述关节动作条件的人体关节点对应的图像帧作为目标图像帧,获取与所述关节动作条件匹配的视频特效以及特效添加信息,并添加所述视频特效至所述视频中与所述目标图像帧关联的视频位置处。
S210,根据至少两个用户在匹配的特效添加区间内的运动特征参数以及特效添加信息,计算各所述用户的运动得分信息,并在与所述视频匹配的运动得分结算位置处,添加所述运动得分信息。
本公开实施例通过在视频中设置多个特效添加区间,分别将特效添加区间匹配的目标用户作为识别对象,在各特效添加区间中的至少一个图像帧中进行用户识别以及人体关节点识别,可以在视频中拍摄到多个用户的情况下,对用户进行准确区分,并独立针对不同用户生成匹配的视频特效,提高视频特效的针对性,同时提高视频交互应用的场景以及视频特效的多样化。
实施例三
图3为本公开实施例三提供的一种多用户视频特效添加方法的流程图。本实施例以上述实施例中各个可选方案为基础进行具体化。在本实施例中,将根据所述目标用户的至少一个人体关节点在所述多个图像帧中的位置信息,计算所述目标用户在所述特效添加区间内的运动特征参数具体化为:在所述特效添加区间内,根据所述目标用户的至少一个人体关节点在所述多个图像帧中的位置信息,计算所述目标用户的至少一个人体关节点在所述特效添加区间内任意相邻两个图像帧之间的单位位移,以及所述目标用户的至少一个人体关节点在所述特效添加区间内的运动位移;统计所述特效添加区间的持续时间,并根据所述单位位移和所述运动位移,确定所述目标用户在所述特效添加区间的平均运动距离和运动距离方差;根据所述平均运动距离和所述运动距离方差,计算所述目标用户在所述特效添加区间内的运动特征参数。同时,将获取与所述关节动作条件匹配的视频特效以及所述特效添加信息具体化为:根据所述关节动作条件中关节动作信息,确定所述目标用户的至少一个人体关节点与所述关节动作信息的匹配程度;获取与所述匹配程度匹配的视频特效;将所述关节动作条件以及所述匹配程度作为特效添加信息。
相应的,本实施例的方法可以包括:
S301,在视频中与特效添加区间匹配的多个图像帧中,识别与所述特效添加区间匹配的目标用户的至少一个人体关节点,其中,所述视频包括多个特效添加区间。
本实施例中的视频、特效添加区间、图像帧、人体关节点、目标用户、关节动作条件、视频位置和视频特效等均可以参考上述实施例中的描述。
S302,在所述特效添加区间内,根据所述目标用户的至少一个人体关节点在所述多个图像帧中的位置信息,计算所述目标用户的至少一个人体关节点在所述特效添加区间内任意相邻两个图像帧之间的单位位移,以及所述目标用户的至少一个人体关节点在所述特效添加区间内的运动位移。
单位位移可以是指目标用户的至少一个人体关节点在特效添加区间内任意相邻两个图像帧之间的移动距离。具体的,针对目标用户的至少一个人体关节点,计算各人体关节点在两个图像帧中的坐标确定的向量的模,作为各人体关节点在两个图像帧之间的移动距离,统计各人体关节点的移动距离之和,并除以各人体关节点的数量,得到的结果作为目标用户的至少一个人体关节点在两个图像帧之间的单位位移。
运动位移可以是指,目标用户的至少一个人体关节点在特效添加区间内的移动距离。具体的,计算特效添加区间中任意两个图像帧之间的单位位移之和,得到的结果作为目标用户的至少一个人体关节点在特效添加区间内的运动位移。
S303,统计所述特效添加区间的持续时间,并根据所述单位位移和所述运动位移,确定所述目标用户在所述特效添加区间的平均运动距离和运动距离方差。
特效添加区间总共包括N+1个图像帧,可以基于如下公式计算平均运动距离meanN:
其中,s1为特效添加区间中目标用户的至少一个人体关节点由第一图像帧到相邻的后一个图像帧(第二图像帧)的运动距离,s2为特效添加区间中目标用户的至少一个人体关节点由第二图像帧到相邻的后一个图像帧(第三图像帧)的运动距离,sN为特效添加区间中目标用户的至少一个人体关节点由第N图像帧到相邻的后一个图像帧(第N+1图像帧)的运动距离。
具体地,sn的计算方式如下:
其中,1≤n≤N,代表1到N个中的第n个图像帧,Mn代表在第n个图像帧和第n+1个图像帧同时能检测出的关键点个数,Kj代表检测出的关键点的第j个在两个图像帧中的位移。
sn的物理意义是:相邻两个图像帧所有关键点的平均运动位移。
需要说明的是,运动距离的计算方法可以参照前述单位位移的计算方式。
可以基于如下公式计算运动距离方差VAR:
其中,si为特效添加区间中目标用户的至少一个人体关节点由第i个图像帧到相邻的后一个图像帧(第i+1个图像帧)的移动距离。
S304,根据所述平均运动距离和所述运动距离方差,计算所述目标用户在所述特效添加区间内的运动特征参数。
S305,判断在所述多个图像帧中选取的图像帧识别出的所述目标用户的至少一个人体关节点是否满足预设的关节动作条件,直至所述多个图像帧全部判断完成,如果是,则执行S306;否则,执行S307。
S306,将满足所述关节动作条件的人体关节点对应的图像帧作为目标图像帧,根据所述关节动作条件中关节动作信息,确定所述目标用户的至少一个人体关节点与所述关节动作信息的匹配程度,执行S308。
关节动作信息可以是指至少一个人体关节点预期达到的标准动作状态信息,具体可以包括角度信息或位置信息等信息。
匹配程度可以是指识别到的人体关节点的当前动作状态与关节动作信息中标准动作状态的相似程度。
具体的,可以通过计算动作的置信度,确定匹配程度。例如,若一个关节动作条件对应的分数为100分,当用户做出的动作标准时,计算得到的置信度大于等于0.9,匹配程度为100%,最后用户得到的分数为100%×100=100分;当用户做出的动作比较标准时,计算得到的置信度大于等于0.7且小于0.9,匹配程度为80%,最后用户得到的分数为80%×100=80,当用户做出的动作比不标准时,计算得到的置信度大于等于0.5且小于0.7,最后用户得到的分数为60%×100=60。
其中,置信度的计算可以是:预先规定一系列的标准动作,例如,举手动作,手腕关节点的位置比眼睛关节点的位置高,手腕关节点的位置、手肘关节点的位置和肩膀关节点的位置在同一条线上,同时,由手腕关节点、手肘关节点和肩膀关节点确定的直线,与用户的站立方向平行。
此时,可以先检测手腕关节点的位置与眼睛关节点的位置距离差,如果手腕关节点的位置高于眼睛关节点的位置,则距离差越大(小),置信度越高(低),否则,置信度为0;其次确定手腕关节点和手肘关节点连线与手肘关节点和肩膀关节点连线之间的夹角,该夹角与180度的偏离程度越大(小),置信度越低(高)。
S307,获取下一个图像帧,返回执行S305。
S308,获取与所述匹配程度匹配的视频特效。
S309,将所述关节动作条件以及所述匹配程度作为特效添加信息。
每个关节动作条件对应不同的分数,例如跳跃动作为10分,弯腰动作为8分,举手动作为5分。计算匹配程度与关节动作条件对应的分数的乘积,可以确定特效添加信息对应的分数。例如,识别到用户的弯腰动作,匹配程度为80%,则该用户得到的分数为80%×8=6.4,
S310,根据至少两个用户在匹配的特效添加区间内的运动特征参数以及特效添加信息,计算各所述用户的运动得分信息,并在与所述视频匹配的运动得分结算位置处,添加所述运动得分信息。
在一个具体的例子中,针对用户A和用户B进行运动得分计算。采用移动终端对两个用户进行视频录制,选择一个背景音乐,其中,不同的背景音乐对应有不同的关节动作条件。移动终端接收到用户输入的双人斗舞三轮两胜制模式的指令,即满足特效添加条件。该模式下最多进行三轮比拼,每轮每个人10秒的时间进行表演,即特效添加区间的数量最多为6,特效添加视频的时长为10秒。
通过移动终端的视频预览界面提示用户A和用户B进入视频拍摄范围中,并开始计时10秒,用户A进入视频拍摄范围并开始跳舞,用户B在视频拍摄范围外等待。在10秒内,移动终端的视频预览界面会显示至少一个关节动作条件中标准动作的图像,用户A可以按照显示的图像做出满足该关节动作条件动作。当本轮属于用户A的时间计时结束后,移动终端统计用户A的运动得分,并开始本轮的第二次计时,用户B进入视频拍摄范围并开始跳舞,用户A在视频拍摄范围外等待,同样,移动终端的视频预览界面会显示至少一个关节动作条件中标准动作的图像,此次标准动作的图像可以与上次标准动作的图像相同,也可以不同。当本轮属于用户B的时间计时结束后,移动终端统计用户B的运动得分。此时,公布用户A和用户B的运动得分,并在该轮对应的运动得分结算位置处(如特效添加区间的终止时间点),通过移动终端的视频预览界面显示运动得分高的用户的图像,以及添加并显示胜利的视频特效。
基于如下公式计算运动得分Z:
Z=X*0.3+Y*0.7
其中,X为基础得分,Y为动作得分。基础得分为平均运动距离和运动距离方差之和。动作得分为特效添加信息对应的分数。
此后,每轮结束(即第二特效添加区间的终止时间点对应的视频位置处)后移动终端统计本轮运动得分并显示。在本次录制的视频中,采用三轮两胜制度,率先取得两次胜利的用户作为本次斗舞模式的胜利者,通过移动终端的视频预览界面显示斗舞胜利的用户的图像,以及添加并显示胜利的视频特效。
实施例四
图4为本公开实施例提供的一种多用户视频特效添加装置的结构示意图,本实施例可适用于在视频中针对多个不同用户分别添加视频特效的情况。该装置可以采用软件和/或硬件的方式实现,该装置可以配置于终端设备中。如图4所示,该装置可以包括:人体关节点识别模块410、运动特征参数计算模块420、视频特效确定模块430和运动得分信息计算模块440。
人体关节点识别模块410,用于在视频中与特效添加区间匹配的多个图像帧中,识别与所述特效添加区间匹配的目标用户的至少一个人体关节点,其中,所述视频包括多个特效添加区间;
运动特征参数计算模块420,用于根据所述目标用户的至少一个人体关节点在所述多个图像帧中的位置信息,计算所述目标用户在所述特效添加区间内的运动特征参数;
视频特效确定模块430,用于如果确定在所述多个图像帧中的目标图像帧中识别出的所述目标用户的至少一个人体关节点满足预设的关节动作条件,则获取与所述关节动作条件匹配的视频特效以及特效添加信息,并添加所述视频特效至所述视频中与所述目标图像帧关联的视频位置处;
运动得分信息计算模块440,用于根据至少两个用户在匹配的特效添加区间内的运动特征参数以及特效添加信息,计算各所述用户的运动得分信息,并在与所述视频匹配的运动得分结算位置处,添加所述运动得分信息。
本公开实施例通过在视频的每个特效添加区间中识别目标用户的至少一个人体关节点,并根据人体关节点计算目标用户的运动特征参数,同时在人体关节点满足关节动作条件的情况下添加视频特效以及获取特效添加信息,进一步根据目标用户的运动特征参数以及特效添加信息计算各用户的运动得分,并添加至视频中,解决了视频交互应用的视频特效过于单一的问题,可以针对同时拍摄到多个用户的关节点的视频添加匹配的动态特效,提高视频交互应用的场景以及视频特效的多样化,提高视频增加特效的灵活性。
进一步的,所述人体关节点识别模块410,包括:首个特效添加区间起始点确定模块,用于在确定满足特效添加条件时,根据所述视频的当前播放和/或录制进度和特效添加区间的时长,确定与所述特效添加条件匹配的首个特效添加区间的起止时间点;特效添加区间起止点确定模块,用于根据所述视频的当前播放和/或录制进度、所述特效添加区间的时长、所述首个特效添加区间的起止时间点以及预设的特效添加区间的数量,确定与所述特效添加条件匹配的多个特效添加区间在所述视频中的起止时间点;目标用户确定模块,用于如果在所述视频中获取的图像帧所述图像帧在所述视频中的视频位置与目标特效添加区间的所述起止时间点相匹配,则在所述图像帧中识别与所述目标特效添加区间匹配的目标用户,并识别所述目标用户的至少一个人体关节点。
进一步的,所述目标用户确定模块,包括:筛除用户确定模块,用于如果所述图像帧为所述目标特效添加区间的首个图像帧,则获取与所述目标特效添加区间相邻的前一特效添加区间匹配的用户作为筛除用户,并在所述图像帧中识别除去所述筛除用户的一个用户作为与所述目标特效添加区间匹配的目标用户;目标用户获取模块,用于如果所述图像帧不为所述目标特效添加区间的首个图像帧,则获取与所述目标特效添加区间匹配的目标用户,并在所述图像帧中识别所述目标用户。
进一步的,所述运动特征参数计算模块420,包括:位移计算模块,用于在所述特效添加区间内,根据所述目标用户的至少一个人体关节点在所述多个图像帧中的位置信息,计算所述目标用户的至少一个人体关节点在所述特效添加区间内任意相邻两个图像帧之间的单位位移,以及所述目标用户的至少一个人体关节点在所述特效添加区间内的运动位移;运动距离计算模块,用于统计所述特效添加区间的持续时间,并根据所述单位位移和所述运动位移,确定所述目标用户在所述特效添加区间的平均运动距离和运动距离方差;运动特征参数确定模块,用于根据所述平均运动距离和所述运动距离方差,计算所述目标用户在所述特效添加区间内的运动特征参数。
进一步的,所述视频特效确定模块430,包括:匹配程度确定模块,用于根据所述关节动作条件中关节动作信息,确定所述目标用户的至少一个人体关节点与所述关节动作信息的匹配程度;视频特效获取模块,用于获取与所述匹配程度匹配的视频特效;特效添加信息确定模块,用于将所述关节动作条件以及所述匹配程度作为特效添加信息。
进一步的,所述多用户视频特效添加装置,还包括:图像帧实时获取模块,用于在视频录制过程中,实时获取所述视频中的至少一个图像帧;所述视频特效确定模块430,包括:特效添加起点确定模块,用于将所述目标图像帧的视频位置作为特效添加起点;视频特效添加模块,用于根据与所述关节动作条件匹配的视频特效的特效持续时间,从所述特效添加起点开始,在所述视频中与所述特效持续时间匹配的图像帧中添加所述视频特效。
进一步的,所述多用户视频特效添加装置,还包括:图像帧实时呈现模块,用于在所述视频的录制过程中,在视频预览界面中实时呈现所述视频中的图像帧;视频特效实时呈现模块,用于在所述视频预览界面中,实时呈现添加所述视频特效的图像帧。
本公开实施例提供的多用户视频特效添加装置,与实施例一提供的多用户视频特效添加方法属于同一发明构思,未在本公开实施例中详尽描述的技术细节可参见实施例一,并且本公开实施例与实施例一具有相同的有益效果。
实施例五
本公开实施例提供了一种终端设备,下面参考图5,其示出了适于用来实现本公开实施例的电子设备(例如客户端或服务器端)500的结构示意图。本公开实施例中的终端设备可以包括但不限于诸如移动电话、笔记本电脑、数字广播接收器、个人数字助理(PDA)、平板电脑(PAD)、便携式多媒体播放器(PMP)、车载终端(例如车载导航终端)等等的移动终端以及诸如数字TV、台式计算机等等的固定终端。图5示出的电子设备仅仅是一个示例,不应对本公开实施例的功能和使用范围带来任何限制。
如图5所示,电子设备500可以包括处理装置(例如中央处理器、图形处理器等)501,其可以根据存储在只读存储器(ROM)502中的程序或者从存储装置508加载到随机访问存储器(RAM)503中的程序而执行各种适当的动作和处理。在RAM 503中,还存储有电子设备500操作所需的各种程序和数据。处理装置501、ROM 502以及RAM 503通过总线504彼此相连。输入/输出(I/O)接口505也连接至总线504。
通常,以下装置可以连接至I/O接口505:包括例如触摸屏、触摸板、键盘、鼠标、摄像头、麦克风、加速度计、陀螺仪等的输入装置506;包括例如液晶显示器(LCD)、扬声器、振动器等的输出装置507;包括例如磁带、硬盘等的存储装置508;以及通信装置509。通信装置509可以允许电子设备500与其他设备进行无线或有线通信以交换数据。虽然图5示出了具有各种装置的电子设备500,但是应理解的是,并不要求实施或具备所有示出的装置。可以替代地实施或具备更多或更少的装置。
特别地,根据本公开的实施例,上文参考流程图描述的过程可以被实现为计算机软件程序。例如,本公开的实施例包括一种计算机程序产品,其包括承载在计算机可读介质上的计算机程序,该计算机程序包含用于执行流程图所示的方法的程序代码。在这样的实施例中,该计算机程序可以通过通信装置509从网络上被下载和安装,或者从存储装置508被安装,或者从ROM 502被安装。在该计算机程序被处理装置501执行时,执行本公开实施例的方法中限定的上述功能。
实施例六
本公开实施例还提供了一种计算机可读存储介质,计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质或者是上述两者的任意组合。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子可以包括但不限于:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机访问存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本公开中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。而在本公开中,计算机可读信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读信号介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于:电线、光缆、射频(RF)等等,或者上述的任意合适的组合。
上述计算机可读介质可以是上述电子设备中所包含的;也可以是单独存在,而未装配入该电子设备中。
上述计算机可读介质承载有一个或者多个程序,当上述一个或者多个程序被该电子设备执行时,使得该电子设备:在视频中与特效添加区间匹配的多个图像帧中,识别与所述特效添加区间匹配的目标用户的至少一个人体关节点,其中,所述视频包括多个特效添加区间;根据所述目标用户的至少一个人体关节点在所述多个图像帧中的位置信息,计算所述目标用户在所述特效添加区间内的运动特征参数;如果确定在所述多个图像帧中的目标图像帧中识别出的所述目标用户的至少一个人体关节点满足预设的关节动作条件,则获取与所述关节动作条件匹配的视频特效以及特效添加信息,并添加所述视频特效至所述视频中与所述目标图像帧关联的视频位置处;根据至少两个用户在匹配的特效添加区间内的运动特征参数以及特效添加信息,计算各所述用户的运动得分信息,并在与所述视频匹配的运动得分结算位置处,添加所述运动得分信息。
可以以一种或多种程序设计语言或其组合来编写用于执行本公开的操作的计算机程序代码,上述程序设计语言包括面向对象的程序设计语言—诸如Java、Smalltalk、C++,还包括常规的过程式程序设计语言—诸如“C”语言或类似的程序设计语言。程序代码可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络——包括局域网(LAN)或广域网(WAN)—连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。
附图中的流程图和框图,图示了按照本公开各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,该模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
描述于本公开实施例中所涉及到的模块可以通过软件的方式实现,也可以通过硬件的方式来实现。其中,模块的名称在某种情况下并不构成对该模块本身的限定,例如,人体关节点识别模块还可以被描述为“在视频中与特效添加区间匹配的多个图像帧中,识别与所述特效添加区间匹配的目标用户的至少一个人体关节点,其中,所述视频包括多个特效添加区间的模块”。
以上描述仅为本公开的较佳实施例以及对所运用技术原理的说明。本领域技术人员应当理解,本公开中所涉及的公开范围,并不限于上述技术特征的特定组合而成的技术方案,同时也应涵盖在不脱离上述公开构思的情况下,由上述技术特征或其等同特征进行任意组合而形成的其它技术方案。例如上述特征与本公开中公开的(但不限于)具有类似功能的技术特征进行互相替换而形成的技术方案。
Claims (12)
1.一种多用户视频特效添加方法,其特征在于,包括:
在确定满足特效添加条件时,根据所述视频的当前播放和/或录制进度,和特效添加区间的时长,确定与所述特效添加条件匹配的首个特效添加区间的起止时间点;
根据所述视频的当前播放和/或录制进度、所述特效添加区间的时长、所述首个特效添加区间的起止时间点以及预设的特效添加区间的数量,确定与所述特效添加条件匹配的多个特效添加区间在所述视频中的起止时间点;
如果在所述视频中获取的图像帧在所述视频中的视频位置与目标特效添加区间的所述起止时间点相匹配,则在所述图像帧中识别与所述目标特效添加区间匹配的目标用户,并识别所述目标用户的至少一个人体关节点;
所述在所述图像帧中识别与所述目标特效添加区间匹配的目标用户,包括:
如果所述图像帧为所述目标特效添加区间的首个图像帧,则获取与所述目标特效添加区间相邻的前一特效添加区间匹配的用户作为筛除用户,并在所述图像帧中识别除去所述筛除用户的一个用户作为与所述目标特效添加区间匹配的目标用户;
如果确定除去所述筛除用户,拍摄到至少两个用户,则根据各所述用户的关节点的识别完整度、置信度或者各所述用户与拍摄视频的设备的距离识别一个用户作为与所述目标特效添加区间匹配的目标用户;
如果所述图像帧不为所述目标特效添加区间的首个图像帧,则获取与所述目标特效添加区间匹配的目标用户,并在所述图像帧中识别所述目标用户;
其中,所述视频包括多个特效添加区间;所述特效添加区间对应一个目标用户,相邻的两个特效添加区间的目标用户不同;
根据所述目标用户的至少一个人体关节点在多个图像帧中的位置信息,计算所述目标用户在所述特效添加区间内的运动特征参数;
如果确定在所述多个图像帧中的目标图像帧中识别出的所述目标用户的至少一个人体关节点满足预设的关节动作条件,则获取与所述关节动作条件匹配的视频特效以及特效添加信息,并添加所述视频特效至所述视频中与所述目标图像帧关联的视频位置处;
根据至少两个用户在匹配的特效添加区间内的运动特征参数以及特效添加信息,计算各所述用户的运动得分信息,并在与所述视频匹配的运动得分结算位置处,添加所述运动得分信息。
2.根据权利要求1所述的方法,其特征在于,所述根据所述目标用户的至少一个人体关节点在多个图像帧中的位置信息,计算所述目标用户在所述特效添加区间内的运动特征参数,包括:
在所述特效添加区间内,根据所述目标用户的至少一个人体关节点在所述多个图像帧中的位置信息,计算所述目标用户的至少一个人体关节点在所述特效添加区间内任意相邻两个图像帧之间的单位位移,以及所述目标用户的至少一个人体关节点在所述特效添加区间内的运动位移;
统计所述特效添加区间的持续时间,并根据所述单位位移和所述运动位移,确定所述目标用户在所述特效添加区间的平均运动距离和运动距离方差;
根据所述平均运动距离和所述运动距离方差,计算所述目标用户在所述特效添加区间内的运动特征参数。
3.根据权利要求1所述的方法,其特征在于,所述获取与所述关节动作条件匹配的视频特效以及特效添加信息,包括:
根据所述关节动作条件中关节动作信息,确定所述目标用户的至少一个人体关节点与所述关节动作信息的匹配程度;
获取与所述匹配程度匹配的视频特效;
将所述关节动作条件以及所述匹配程度作为特效添加信息。
4.根据权利要求1-3任一项所述的方法,其特征在于,在视频中与特效添加区间匹配的多个图像帧中,识别与所述特效添加区间匹配的目标用户的至少一个人体关节点之前,还包括:
在视频录制过程中,实时获取所述视频中的至少一个图像帧;
所述添加所述视频特效至所述视频中与所述目标图像帧关联的视频位置处,包括:
将所述目标图像帧的视频位置作为特效添加起点;
根据与所述关节动作条件匹配的视频特效的特效持续时间,从所述特效添加起点开始,在所述视频中与所述特效持续时间匹配的图像帧中添加所述视频特效。
5.根据权利要求4所述的方法,其特征在于,还包括:
在所述视频的录制过程中,在视频预览界面中实时呈现所述视频中的图像帧;
在所述视频中与所述特效持续时间匹配的图像帧中添加所述视频特效的同时,还包括:
在所述视频预览界面中,实时呈现添加所述视频特效的图像帧。
6.一种多用户视频特效添加装置,其特征在于,包括:
人体关节点识别模块,用于在视频中与特效添加区间匹配的多个图像帧中,识别与所述特效添加区间匹配的目标用户的至少一个人体关节点,其中,所述视频包括多个特效添加区间;所述特效添加区间对应一个目标用户,相邻的两个特效添加区间的目标用户不同;
所述人体关节点识别模块,包括:
首个特效添加区间起始点确定模块,用于在确定满足特效添加条件时,根据所述视频的当前播放和/或录制进度和特效添加区间的时长,确定与所述特效添加条件匹配的首个特效添加区间的起止时间点;
特效添加区间起止点确定模块,用于根据所述视频的当前播放和/或录制进度、所述特效添加区间的时长、所述首个特效添加区间的起止时间点以及预设的特效添加区间的数量,确定与所述特效添加条件匹配的多个特效添加区间在所述视频中的起止时间点;
目标用户确定模块,用于如果在所述视频中获取的图像帧所述图像帧在所述视频中的视频位置与目标特效添加区间的所述起止时间点相匹配,则在所述图像帧中识别与所述目标特效添加区间匹配的目标用户,并识别所述目标用户的至少一个人体关节点;
所述目标用户确定模块,包括:
筛除用户确定模块,用于如果所述图像帧为所述目标特效添加区间的首个图像帧,则获取与所述目标特效添加区间相邻的前一特效添加区间匹配的用户作为筛除用户,并在所述图像帧中识别除去所述筛除用户的一个用户作为与所述目标特效添加区间匹配的目标用户;如果确定除去所述筛除用户,拍摄到至少两个用户,则根据各所述用户的关节点的识别完整度、置信度或者各所述用户与拍摄视频的设备的距离识别一个用户作为与所述目标特效添加区间匹配的目标用户;
目标用户获取模块,用于如果所述图像帧不为所述目标特效添加区间的首个图像帧,则获取与所述目标特效添加区间匹配的目标用户,并在所述图像帧中识别所述目标用户;
运动特征参数计算模块,用于根据所述目标用户的至少一个人体关节点在所述多个图像帧中的位置信息,计算所述目标用户在所述特效添加区间内的运动特征参数;
视频特效确定模块,用于如果确定在所述多个图像帧中的目标图像帧中识别出的所述目标用户的至少一个人体关节点满足预设的关节动作条件,则获取与所述关节动作条件匹配的视频特效以及特效添加信息,并添加所述视频特效至所述视频中与所述目标图像帧关联的视频位置处;
运动得分信息计算模块,用于根据至少两个用户在匹配的特效添加区间内的运动特征参数以及特效添加信息,计算各所述用户的运动得分信息,并在与所述视频匹配的运动得分结算位置处,添加所述运动得分信息。
7.根据权利要求6所述的装置,其特征在于,所述运动特征参数计算模块,包括:
位移计算模块,用于在所述特效添加区间内,根据所述目标用户的至少一个人体关节点在所述多个图像帧中的位置信息,计算所述目标用户的至少一个人体关节点在所述特效添加区间内任意相邻两个图像帧之间的单位位移,以及所述目标用户的至少一个人体关节点在所述特效添加区间内的运动位移;
运动距离计算模块,用于统计所述特效添加区间的持续时间,并根据所述单位位移和所述运动位移,确定所述目标用户在所述特效添加区间的平均运动距离和运动距离方差;
运动特征参数确定模块,用于根据所述平均运动距离和所述运动距离方差,计算所述目标用户在所述特效添加区间内的运动特征参数。
8.根据权利要求6所述的装置,其特征在于,所述视频特效确定模块,包括:
匹配程度确定模块,用于根据所述关节动作条件中关节动作信息,确定所述目标用户的至少一个人体关节点与所述关节动作信息的匹配程度;
视频特效获取模块,用于获取与所述匹配程度匹配的视频特效;
特效添加信息确定模块,用于将所述关节动作条件以及所述匹配程度作为特效添加信息。
9.根据权利要求6-8任一项所述的装置,其特征在于,还包括:
图像帧实时获取模块,用于在视频录制过程中,实时获取所述视频中的至少一个图像帧;
所述视频特效确定模块,包括:
特效添加起点确定模块,用于将所述目标图像帧的视频位置作为特效添加起点;
视频特效添加模块,用于根据与所述关节动作条件匹配的视频特效的特效持续时间,从所述特效添加起点开始,在所述视频中与所述特效持续时间匹配的图像帧中添加所述视频特效。
10.根据权利要求9所述的装置,其特征在于,还包括:
图像帧实时呈现模块,用于在所述视频的录制过程中,在视频预览界面中实时呈现所述视频中的图像帧;
视频特效实时呈现模块,用于在所述视频预览界面中,实时呈现添加所述视频特效的图像帧。
11.一种终端设备,其特征在于,包括:
一个或多个处理器;
存储器,用于存储一个或多个程序;
当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如权利要求1-5任一所述的多用户视频特效添加方法。
12.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现如权利要求1-5任一所述的多用户视频特效添加方法。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811446855.1A CN109525891B (zh) | 2018-11-29 | 2018-11-29 | 多用户视频特效添加方法、装置、终端设备及存储介质 |
PCT/CN2019/097443 WO2020107908A1 (zh) | 2018-11-29 | 2019-07-24 | 多用户视频特效添加方法、装置、终端设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811446855.1A CN109525891B (zh) | 2018-11-29 | 2018-11-29 | 多用户视频特效添加方法、装置、终端设备及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109525891A CN109525891A (zh) | 2019-03-26 |
CN109525891B true CN109525891B (zh) | 2020-01-21 |
Family
ID=65794652
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811446855.1A Active CN109525891B (zh) | 2018-11-29 | 2018-11-29 | 多用户视频特效添加方法、装置、终端设备及存储介质 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN109525891B (zh) |
WO (1) | WO2020107908A1 (zh) |
Families Citing this family (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109525891B (zh) * | 2018-11-29 | 2020-01-21 | 北京字节跳动网络技术有限公司 | 多用户视频特效添加方法、装置、终端设备及存储介质 |
CN109889892A (zh) * | 2019-04-16 | 2019-06-14 | 北京字节跳动网络技术有限公司 | 视频效果添加方法、装置、设备及存储介质 |
CN110189364B (zh) * | 2019-06-04 | 2022-04-01 | 北京字节跳动网络技术有限公司 | 用于生成信息的方法和装置,以及目标跟踪方法和装置 |
CN110298327B (zh) * | 2019-07-03 | 2021-09-03 | 北京字节跳动网络技术有限公司 | 一种视觉特效处理方法及装置、存储介质与终端 |
CN111083354A (zh) * | 2019-11-27 | 2020-04-28 | 维沃移动通信有限公司 | 一种视频录制方法及电子设备 |
CN111416991B (zh) * | 2020-04-28 | 2022-08-05 | Oppo(重庆)智能科技有限公司 | 特效处理方法和设备,及存储介质 |
CN114125351A (zh) * | 2020-08-28 | 2022-03-01 | 华为技术有限公司 | 视频互动方法和设备 |
CN112418322A (zh) * | 2020-11-24 | 2021-02-26 | 苏州爱医斯坦智能科技有限公司 | 影像数据处理方法、装置、电子设备及存储介质 |
CN115278041B (zh) * | 2021-04-29 | 2024-02-27 | 北京字跳网络技术有限公司 | 图像处理方法、装置、电子设备以及可读存储介质 |
CN114866687A (zh) * | 2022-03-28 | 2022-08-05 | 北京达佳互联信息技术有限公司 | 同框视频拍摄方法、装置、电子设备及介质 |
CN115278082A (zh) * | 2022-07-29 | 2022-11-01 | 维沃移动通信有限公司 | 视频拍摄方法、视频拍摄装置及电子设备 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107920269A (zh) * | 2017-11-23 | 2018-04-17 | 乐蜜有限公司 | 视频生成方法、装置和电子设备 |
CN107952238A (zh) * | 2017-11-23 | 2018-04-24 | 乐蜜有限公司 | 视频生成方法、装置和电子设备 |
CN107968921A (zh) * | 2017-11-23 | 2018-04-27 | 乐蜜有限公司 | 视频生成方法、装置和电子设备 |
CN108371814A (zh) * | 2018-01-04 | 2018-08-07 | 乐蜜有限公司 | 多人体感舞蹈的实现方法、装置、电子设备及存储介质 |
CN108615055A (zh) * | 2018-04-19 | 2018-10-02 | 咪咕动漫有限公司 | 一种相似度计算方法、装置及计算机可读存储介质 |
Family Cites Families (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8942428B2 (en) * | 2009-05-01 | 2015-01-27 | Microsoft Corporation | Isolate extraneous motions |
KR101616926B1 (ko) * | 2009-09-22 | 2016-05-02 | 삼성전자주식회사 | 영상 처리 장치 및 방법 |
CN104598867B (zh) * | 2013-10-30 | 2017-12-01 | 中国艺术科技研究所 | 一种人体动作自动评估方法及舞蹈评分系统 |
CN104623910B (zh) * | 2015-01-15 | 2016-08-24 | 西安电子科技大学 | 舞蹈辅助特效伴侣系统及实现方法 |
CN104792327B (zh) * | 2015-04-13 | 2017-10-31 | 云南大学 | 一种基于移动设备的运动轨迹对比方法 |
CN106022305A (zh) * | 2016-06-07 | 2016-10-12 | 北京光年无限科技有限公司 | 一种用于智能机器人的动作对比方法以及机器人 |
CN108289180B (zh) * | 2018-01-30 | 2020-08-21 | 广州市百果园信息技术有限公司 | 根据肢体动作处理视频的方法、介质和终端装置 |
CN108874120A (zh) * | 2018-03-29 | 2018-11-23 | 北京字节跳动网络技术有限公司 | 人机交互系统、方法、计算机可读存储介质及交互装置 |
CN109525891B (zh) * | 2018-11-29 | 2020-01-21 | 北京字节跳动网络技术有限公司 | 多用户视频特效添加方法、装置、终端设备及存储介质 |
-
2018
- 2018-11-29 CN CN201811446855.1A patent/CN109525891B/zh active Active
-
2019
- 2019-07-24 WO PCT/CN2019/097443 patent/WO2020107908A1/zh active Application Filing
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107920269A (zh) * | 2017-11-23 | 2018-04-17 | 乐蜜有限公司 | 视频生成方法、装置和电子设备 |
CN107952238A (zh) * | 2017-11-23 | 2018-04-24 | 乐蜜有限公司 | 视频生成方法、装置和电子设备 |
CN107968921A (zh) * | 2017-11-23 | 2018-04-27 | 乐蜜有限公司 | 视频生成方法、装置和电子设备 |
CN108371814A (zh) * | 2018-01-04 | 2018-08-07 | 乐蜜有限公司 | 多人体感舞蹈的实现方法、装置、电子设备及存储介质 |
CN108615055A (zh) * | 2018-04-19 | 2018-10-02 | 咪咕动漫有限公司 | 一种相似度计算方法、装置及计算机可读存储介质 |
Also Published As
Publication number | Publication date |
---|---|
WO2020107908A1 (zh) | 2020-06-04 |
CN109525891A (zh) | 2019-03-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109525891B (zh) | 多用户视频特效添加方法、装置、终端设备及存储介质 | |
CN109462776B (zh) | 一种视频特效添加方法、装置、终端设备及存储介质 | |
US20210029305A1 (en) | Method and apparatus for adding a video special effect, terminal device and storage medium | |
CN111726536B (zh) | 视频生成方法、装置、存储介质及计算机设备 | |
CN109600559B (zh) | 一种视频特效添加方法、装置、终端设备及存储介质 | |
CN111556278B (zh) | 一种视频处理的方法、视频展示的方法、装置及存储介质 | |
CN111857923B (zh) | 特效展示方法、装置、电子设备及计算机可读介质 | |
CN109474850B (zh) | 运动像素视频特效添加方法、装置、终端设备及存储介质 | |
WO2019100754A1 (zh) | 人体动作的识别方法、装置和电子设备 | |
CN109348277B (zh) | 运动像素视频特效添加方法、装置、终端设备及存储介质 | |
CN112199016B (zh) | 图像处理方法、装置、电子设备及计算机可读存储介质 | |
CN109495695A (zh) | 运动物体视频特效添加方法、装置、终端设备及存储介质 | |
CN113467603A (zh) | 音频处理方法、装置、可读介质及电子设备 | |
US20230051703A1 (en) | Gesture-Based Skill Search | |
CN114513694A (zh) | 评分确定方法、装置、电子设备和存储介质 | |
CN110189364B (zh) | 用于生成信息的方法和装置,以及目标跟踪方法和装置 | |
WO2024016924A1 (zh) | 视频处理方法、装置、电子设备及存储介质 | |
WO2023155477A1 (zh) | 画作展示方法、装置、电子设备、存储介质和程序产品 | |
CN114797096A (zh) | 虚拟对象的控制方法、装置、设备及存储介质 | |
CN114900738A (zh) | 一种观影互动方法、装置及计算机可读存储介质 | |
CN113920226A (zh) | 用户交互方法、装置、存储介质及电子设备 | |
WO2024051467A1 (zh) | 图像处理方法、装置、电子设备及存储介质 | |
US11915371B2 (en) | Method and apparatus of constructing chess playing model | |
CN111539978B (zh) | 用于生成解说信息的方法、装置、电子设备和介质 | |
WO2023051341A1 (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |