CN113920167A - 一种图像处理方法、装置、存储介质及计算机系统 - Google Patents
一种图像处理方法、装置、存储介质及计算机系统 Download PDFInfo
- Publication number
- CN113920167A CN113920167A CN202111284542.2A CN202111284542A CN113920167A CN 113920167 A CN113920167 A CN 113920167A CN 202111284542 A CN202111284542 A CN 202111284542A CN 113920167 A CN113920167 A CN 113920167A
- Authority
- CN
- China
- Prior art keywords
- target
- special effect
- effect animation
- target object
- data
- 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.)
- Pending
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/20—Analysis of motion
- G06T7/246—Analysis of motion using feature-based methods, e.g. the tracking of corners or segments
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T13/00—Animation
- G06T13/20—3D [Three Dimensional] animation
- G06T13/40—3D [Three Dimensional] animation of characters, e.g. humans, animals or virtual beings
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T17/00—Three dimensional [3D] modelling, e.g. data description of 3D objects
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/70—Determining position or orientation of objects or cameras
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/10—Image acquisition modality
- G06T2207/10016—Video; Image sequence
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/30—Subject of image; Context of image processing
- G06T2207/30196—Human being; Person
- G06T2207/30201—Face
Abstract
本公开提供一种图像处理方法、装置、存储介质及计算机系统,涉及计算机技术领域。该方法包括:响应添加目标特效动画的触发操作,获取图像帧序列;识别所述图像帧序列中目标对象对应的人脸区域;采集所述人脸区域在连续多帧图像帧中的位置变化数据,并根据所述位置变化数据确定所述目标对象的运动数据;根据所述运动数据驱动所述目标特效动画的播放,以使播放的所述目标特效动画与所述目标对象的运动相适配。本公开能够通过检测视频中的人脸区域的位置变化确定用户对象的运动数据,并根据运动数据驱动目标特效动画的播放,使目标特效动画更加真实,提升直播交互的趣味性。
Description
技术领域
本公开涉及计算机技术领域,具体涉及一种图像处理方法、图像处 理装置、存储介质及计算机系统。
背景技术
随着直播业务的发展,直播间主播的直播项目越来越丰富,在跑步 直播项目中,需要识别主播是否在跑步以及跑步的快慢。
目前,相关技术方案中,当主播进行跑步直播时,一般是通过手机 自带的重力传感器对主播进行跑步检测。
需要说明的是,在上述背景技术部分公开的信息仅用于加强对本公 开的背景的理解,因此可以包括不构成对本领域普通技术人员已知的现 有技术的信息。
发明内容
本公开的目的在于提供一种图像处理方法、装置、存储介质及计算 机系统,进而至少在一定程度上提升跑步直播的直播体验。
本公开的其他特性和优点将通过下面的详细描述变得显然,或部分 地通过本公开的实践而习得。
根据本公开的第一方面,提供一种图像处理方法,包括:响应添加 目标特效动画的触发操作,获取图像帧序列;识别所述图像帧序列中目 标对象对应的人脸区域;采集所述人脸区域在连续多帧图像帧中的位置 变化数据,并根据所述位置变化数据确定所述目标对象的运动数据;根 据所述运动数据驱动所述目标特效动画的播放,以使播放的所述目标特 效动画与所述目标对象的运动相适配。
在本公开的一种示例性实施例中,所述采集所述人脸区域在连续多 帧图像帧中的位置变化数据包括:在所述人脸区域中选择目标关键点, 采集所述目标关键点在连续多帧图像帧中的坐标数据;根据所述坐标数 据确定所述人脸区域在连续多帧图像帧中的位置变化数据。
在本公开的一种示例性实施例中,所述运动数据包括所述人脸区域 在连续多帧图像帧中的变化幅值、变化次数和移动行程,所述坐标数据 包括第一坐标值;所述根据所述位置变化数据确定所述目标对象的运动 数据,包括:计算连续两个图像帧中所述目标关键点的所述第一坐标值 的差值,根据所述差值的正负变化确定所述变化次数;根据连续两个图 像帧中所述目标关键点的所述第一坐标值计算所述目标关键点的移动距 离,根据所述移动距离确定所述变化幅值;根据所述目标关键点在连续 多帧图像帧中的移动距离确定所述移动行程。
在本公开的一种示例性实施例中,所述运动数据包括剧烈运动状态, 所述方法还包括:若在预设时间内所述变化次数大于或者等于第一阈值、 所述变化幅值大于或者等于第二阈值、所述移动行程大于或者等于第三 阈值,则确定所述目标对象处于剧烈运动状态;以及在所述目标对象处 于剧烈运动状态时,触发所述目标特效动画的播放。
在本公开的一种示例性实施例中,所述方法还包括:过滤所述差值 小于误差阈值的位置变化数据。
在本公开的一种示例性实施例中,所述根据所述运动数据驱动所述 目标特效动画的播放,包括:通过所述目标对象对应的变化次数确定所 述目标对象的运动速率;根据所述运动速率配置所述目标特效动画的播 放速率,并根据所述播放速率驱动所述目标特效动画的播放。
在本公开的一种示例性实施例中,所述方法还包括:获取预设的目 标特效动画,所述目标特效动画包括背景动画以及特效三维模型;通过 所述背景动画替换所述图像帧序列中的背景区域;将所述人脸区域在所 述特效三维模型的目标区域进行展示。
根据本公开的第二方面,提供一种图像处理装置,包括:图像获取 模块,用于响应添加目标特效动画的触发操作,获取图像帧序列;人脸 区域识别模块,用于识别所述图像帧序列中目标对象对应的人脸区域; 运动数据确定模块,用于采集所述人脸区域在连续多帧图像帧中的位置 变化数据,并根据所述位置变化数据确定所述目标对象的运动数据;特效动画播放模块,用于根据所述运动数据驱动所述目标特效动画的播放, 以使播放的所述目标特效动画与所述目标对象的运动相适配。
在本公开的一种示例性实施例中,运动数据确定模块可以用于:在 所述人脸区域中选择目标关键点,采集所述目标关键点在连续多帧图像 帧中的坐标数据;根据所述坐标数据确定所述人脸区域在连续多帧图像 帧中的位置变化数据。
在本公开的一种示例性实施例中,运动数据可以包括人脸区域在连 续多帧图像帧中的变化幅值、变化次数和移动行程,坐标数据可以包括 第一坐标值;运动数据确定模块可以用于:计算连续两个图像帧中所述 目标关键点的所述第一坐标值的差值,根据所述差值的正负变化确定所 述变化次数;根据连续两个图像帧中所述目标关键点的所述第一坐标值 计算所述目标关键点的移动距离,根据所述移动距离确定所述变化幅值; 根据所述目标关键点在连续多帧图像帧中的移动距离确定所述移动行程。
在本公开的一种示例性实施例中,运动数据可以包括剧烈运动状态, 图像处理装置可以用于:若在预设时间内所述变化次数大于或者等于第一 阈值、所述变化幅值大于或者等于第二阈值、所述移动行程大于或者等 于第三阈值,则确定所述目标对象处于剧烈运动状态;以及在所述目标 对象处于剧烈运动状态时,触发所述目标特效动画的播放。
在本公开的一种示例性实施例中,图像处理装置可以用于:过滤所述 差值小于误差阈值的位置变化数据。
在本公开的一种示例性实施例中,特效动画播放模块可以用于:通 过所述目标对象对应的变化次数确定所述目标对象的运动速率;根据所 述运动速率配置所述目标特效动画的播放速率,并根据所述播放速率驱 动所述目标特效动画的播放。
在本公开的一种示例性实施例中,图像处理装置可以用于:获取预设 的目标特效动画,所述目标特效动画包括背景动画以及特效三维模型; 通过所述背景动画替换所述图像帧序列中的背景区域;将所述人脸区域 在所述特效三维模型的目标区域进行展示。
根据本公开的第三方面,提供一种存储介质,其上存储有计算机程 序,所述程序被处理器执行时实现上述的图像处理方法。
根据本公开的第四方面,提供一种计算机系统,包括:
处理器;以及
存储器,用于存储所述处理器的可执行指令;
其中,所述处理器配置为经由执行所述可执行指令来执行上述的图 像处理方法。
本公开的一种实施例所提供的图像处理方法中,可以在检测到添加 目标特效动画的触发操作时,获取直播视频对应的图像帧序列,然后可 以识别图像帧序列中目标对象对应的人脸区域,并采集人脸区域在连续 多帧图像帧中的位置变化数据,进而可以根据位置变化数据确定目标对 象的运动数据,最后可以根据运动数据驱动目标特效动画的播放,以使 播放的目标特效动画与目标对象的运动相适配。一方面,可以通过图像 帧序列中人脸区域的位置变化数据确定运动数据,不需要借助具有重力 传感器的其它设备实现运动检测,有效降低直播时的硬件成本,同时简 化跑步直播的操作流程,提升跑步直播的直播体验;另一方面,通过检 测人脸区域生成的运动数据驱动目标特效动画的播放,能够有效提升目 标特效动画与人脸区域的匹配准确度,提高目标特效动画的真实感,提 升交互趣味性。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解 释性的,并不能限制本公开。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合 本公开的实施例,并与说明书一起用于解释本公开的原理。显而易见地, 下面描述中的附图仅仅是本公开的一些实施例,对于本领域普通技术人 员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他 的附图。
图1示意性示出本公开示例性实施例中一种图像处理方法的流程示 意图;
图2示意性示出本公开示例性实施例中一种人脸区域中目标关键点 的位置示意图;
图3示意性示出本公开示例性实施例中一种表征人脸区域的模型示 意图;
图4示意性示出本公开示例性实施例中一种确定目标对象的运动数 据的流程示意图;
图5示意性示出本公开示例性实施例中一种确定目标对象的运动状 态的流程示意图;
图6示意性示出本公开示例性实施例中一种驱动目标特效动画播放 的流程示意图;
图7示意性示出本公开示例性实施例中一种实现目标特效动画播放 的流程示意图;
图8示意性示出本公开示例性实施例中一种人脸区域与目标特效动 画显示区域的示意图;
图9示意性示出本公开示例性实施例中另一种人脸区域与目标特效 动画显示区域的示意图;
图10示意性示出本公开示例性实施例中一种图像处理装置的示意图;
图11示意性示出本公开示例性实施例中一种计算机系统的组成示意 图;
图12示意性示出本公开示例性实施例中一种存储介质的组成示意图。
具体实施方式
现在将参考附图更全面地描述示例实施方式。然而,示例实施方式 能够以多种形式实施,且不应被理解为限于在此阐述的范例;相反,提 供这些实施方式使得本公开将更加全面和完整,并将示例实施方式的构 思全面地传达给本领域的技术人员。所描述的特征、结构或特性可以以 任何合适的方式结合在一个或更多实施方式中。
此外,附图仅为本公开的示意性图解,并非一定是按比例绘制。图 中相同的附图标记表示相同或类似的部分,因而将省略对它们的重复描 述。附图中所示的一些方框图是功能实体,不一定必须与物理或逻辑上 独立的实体相对应。可以采用软件形式来实现这些功能实体,或在一个 或多个硬件模块或集成电路中实现这些功能实体,或在不同网络和/或处 理器装置和/或微控制器装置中实现这些功能实体。
本示例实施方式中首先提供了一种图像处理方法,可以应用于终端 设备,例如智能手机、平板电脑、台式电脑等电子设备,对应的,图像 处理装置也设置在终端设备中;当然,本领域技术人员可以理解的是, 本公开中的图像处理方法也可以应用于服务器,例如,实现在网络直播 的直播服务器,对应的,图像处理装置设置在服务器中。
下面以终端设备执行该方法为例进行说明,参考图1所示,图像处 理方法可以包括以下步骤:
步骤S110,响应添加目标特效动画的触发操作,获取图像帧序列;
步骤S120,识别所述图像帧序列中目标对象对应的人脸区域;
步骤S130,采集所述人脸区域在连续多帧图像帧中的位置变化数据, 并根据所述位置变化数据确定所述目标对象的运动数据;
步骤S140,根据所述运动数据驱动所述目标特效动画的播放,以使 播放的所述目标特效动画与所述目标对象的运动相适配。
本示例实施方式所提供的图像处理方法,可以在检测到添加目标特 效动画的触发操作时,获取直播视频对应的图像帧序列,然后可以识别 图像帧序列中目标对象对应的人脸区域,并采集人脸区域在连续多帧图 像帧中的位置变化数据,进而可以根据位置变化数据确定目标对象的运 动数据,最后可以根据运动数据驱动目标特效动画的播放,以使播放的 目标特效动画与目标对象的运动相适配。一方面,可以通过图像帧序列 中人脸区域的位置变化数据确定运动数据,不需要借助具有重力传感器 的其它设备实现运动检测,有效降低直播时的硬件成本,同时简化跑步 直播的操作流程,提升跑步直播的直播体验;另一方面,通过检测人脸 区域生成的运动数据驱动目标特效动画的播放,能够有效提升目标特效 动画与人脸区域的匹配准确度,提高目标特效动画的真实感,提升交互 趣味性。
下面,将结合附图及实施例对本示例实施方式中的图像处理方法的各 个步骤进行更详细的说明。
本方案的应用场景可以是:
当前,随着直播业务的发展,直播间主播玩法越来越丰富,有的玩法 需要识别主播是否在跑步和跑步的快慢,然后播放相应倍速的特效。而在 上述玩法中,需要对主播的跑步速度进行检测,主播视频直播的过程中, 脸部通常都是在视频画面里,身体和脚可能在视频画面之外,或是被挡住 了。通过使用本公开的图像处理方法,将主播的直播视频作为本方案中的 待检测视频,获取主播的直播视频中的图像帧序列,在识别每一帧图像中主播人脸所在的区域,之后,可以根据主播人脸所在的区域在图像帧序列 中的位置变化来确定主播的运动数据,获得到主播的运动数据后,可以根 据运动数据确定选择的目标特效动画的播放速度,并在主播客户端的图形 用户界面中,按照确定的播放速度播放目标特效动画。
在步骤S110中,响应添加目标特效动画的触发操作,获取图像帧序 列。
在一示例实施例中,目标特效动画是指预先设置的、供用户对象选择 并能够添加到视频中的动画,例如,目标特效动画可以是由卡通三维模型 与背景图像构成的特效动画,其中,卡通三维模型可以包括展示视频部分 内容的区域,实现视频内容与卡通三维模型的融合,当然,目标特效动画 也可以是添加到视频中并随着视频内容变化而变化的虚拟装饰物,本示例 实施例对此不做特殊限定。
触发操作是指预先设置的、用于在视频中添加目标特效动画的操作, 例如,可以在图形用户界面上提供多个特效动画构成的特效列表,触发操 作可以是作用于特效列表中目标特效动画的点击操作,也可以是将特效列 表中的目标特效动画拖动到视频区域的拖动操作。
当然,触发操作还可以是其他能够在视频中添加目标特效动画的操 作,例如在直播过程中,触发操作可以是主播端的主播对象通过身体姿态 摆出特定姿态以实现添加该特定姿态对应目标特效动画的操作,也可以是 观众端的用户对象通过输入语音数据以通过语音数据中包含的关键词添 加相应目标特效动画的操作,本示例实施例对触发操作不做任何特殊限定。
可以在检测到添加目标特效动画的触发操作时,开始获取目标视频 对应的图像帧序列,其中,目标视频可以是预先存储在终端设备中的视 频,也可以是直播过程中展示的实时视频,本示例实施例对此不做特殊 限定。具体的,目标视频可以是直播视频,例如,以网络直播场景为例, 目标视频可以是主播对象对应的PC端通过摄像头采集的直播视频,其中 摄像头可以是集成在PC端上的摄像头,也可以是通过USB接口连接的外 接摄像头,本示例实施例不以此为限。
本示例实施例中,根据目标视频获取其图像帧序列的方法可以是:当 目标视频为实时直播视频时,可以通过Python图像获取工具从主播对象在 用于直播的摄像头中读取直播视频的每一帧图像并存储得到图像帧序列; 当目标视频为存储器中存储的视频时,可以通过opencv框架中的ffmpeg 视频编解码工具对目标视频进行解码,得到目标视频中每一帧图像,然后 可以将每一帧图像按时间顺序构成图像帧序列。其中,opencv是一个基于BSD许可(开源)发行的跨平台计算机视觉和机器学习软件库,可以运行 在Linux、Windows、Android和Mac OS操作系统上。当然,此处获取图 像帧序列的方式仅是示意性举例说明,并不应该对本示例实施例造成任何 特殊限定。
可以理解的是,本实施例中的图像处理方法也可以由服务器执行,服 务器执行时可以通过以下方式获取图像帧序列:
第一种方式:以网络直播场景为例,主播直播所使用的PC端通过有 线或无线的方式将直播视频传输到服务器中,由服务器解析直播视频得到 图像帧序列,其中有线方式可以是宽带传输方式,无线方式可以包括但不 限于:4G网络传输方式、5G网络传输方式等。
第二种方式:PC端可以从自身的存储系统中读取待检测视频,并将读 取到的待检测视频传输到服务器端,服务器端可以对接收到的待检测视频 进行解析处理得到图像帧序列。
第三种方式:服务器可以预先将待检测视频存储在存储系统中,在检 测到终端设备发送的添加目标特效动画的触发指令时,服务器可以直接从 自身存储中提取待检测视频,并解析得到图像帧序列。服务器的存储系统 可以是云存储、MySQL数据库等。
在步骤S120中,识别所述图像帧序列中目标对象对应的人脸区域。
在一示例实施例中,目标对象是指图像帧中包含的关键内容,例如, 目标对象可以是图像帧中包含的人物对象,也可以是图像帧中包含的动物 对象、可移动物体对象等,本示例实施例对此不做特殊限定。
人脸区域是指图像帧中目标对象对应的感兴趣区域,例如,目标对象 是人物对象时,人脸区域可以是人物对象的脸部特征对应的区域,本领域 技术人员容易理解的是,人脸区域也可以指其他类型的感兴趣区域,如目 标对象是动物对象,人脸区域可以是该动物对象对应的轮廓区域,本示例 实施例对此不做特殊限定。
在本示例实施例中,图像帧序列可以包含一个或者多个目标对象,相 应的,在图像帧中检测出的人脸区域的数量可以是一个或者多个,本示例 实施例对此不做特殊限定。
可选的,以目标对象为人物对象为例,当人物对象的数量为一个时, 识别各图像帧中的人脸区域的方法可以是:对每一帧图像进行灰度转换, 然后通过灰度阈值筛选的方式将灰度图转换为二值图像,对二值图像进行 轮廓提取,排除小轮廓得到最大的轮廓所在区域即可认为是人脸区域,也 可以进一步将二值图像中人脸区域外的其他区域的像素值置设置为0,此 时,可以从图像帧中确定目标对象的人脸位置,即人脸区域。当然,在人 脸区域的数量为一个时,提取图像帧中的人脸区域的位置的方法还可以是: HOG(Histogramof Oriented Gradient,方向梯度直方图)特征提取方法、基 于MATLAB的PCA(PrincipalComponent Analysis,主成分分析)人脸识 别等图像处理方法等,本示例实施例对此不做特殊限定。
可选的,以目标对象为人物对象为例,当人物对象的数量为多个时, 可以通过目标检测算法对图形帧序列中的多个人物对象进行人脸区域检 测,即在图形帧序列的每一图像帧中,可以通过多个矩形方框框选图像帧 中的不同的人脸,矩形方框对应的区域即为图像帧序列中目标对象对应的 人脸区域。其中,目标检测算法可以是用于人脸检测的多任务卷积神经网 络(Multi-task Cascaded Convolutional Networks,MTCNN),也可以是用于人脸识别的FaceNET模型,当然,还可以是其他类型的能够检测识别人 脸区域的检测方式,本示例实施例对此不做特殊限定。
通过确定目标对象的数量,并根据数量采用不同的人脸检测算法,能 够有效提升人脸区域检测的效率,提高实时视频场景如直播视频的系统性 能。
在步骤S130中,采集所述人脸区域在连续多帧图像帧中的位置变化 数据,并根据所述位置变化数据确定所述目标对象的运动数据。
在一示例实施例中,位置变化数据是指人脸区域在连续多帧图像帧中 产生的位置变化,一般情况下图像帧序列中的各图像帧的尺寸大小是固 定的,因此可以在每个图像帧中建立坐标系,用以表示人脸区域在图像 帧中的位置。
在通过坐标表示人脸区域的位置时,可以在人脸区域中确定一个关 键点,如人脸区域中的中点或者人脸区域的顶点,可以通过人脸区域中 的关键点在连续多帧图像帧中的坐标变化表征人脸区域在连续多帧图像 帧中的位置变化数据。
举例而言,以将人脸区域的中点作为人脸区域的关键点为例,假设 人脸区域中点在第一帧图像中的坐标为(0,1),人脸区域中点在第二 帧图像中的坐标为(0,5),此时可以认为人脸区域相对向上移动,此 时由坐标(0,1)变化到(0,5)的数据可以认为是人脸区域在连续多 帧图像帧中的位置变化数据;当然,具体在实际应用过程中,也可以将 由坐标数据计算到的其他数据如到原点距离作为人脸区域的位置变化数 据,本示例实施例对此不做特殊限定。
可以理解的是,本实施例中的坐标数据仅是示意性举例说明,也可 以将人脸区域在连续多帧图像帧中的距离图像帧各边缘的距离数据的变 化作为位置变化数据,还可以将其他能够表征人脸区域位移变化的数据 作为人脸区域在连续多帧图像帧中的位置变化数据,本示例实施例不以 此为限。
运动数据是指由人脸区域在连续多帧图像帧中的位置变化数据转化 得到的、用以表征目标对象的运动姿态的数据,例如,运动数据可以是 人脸区域在连续多帧图像帧中的上下移动次数,人脸区域在连续多帧图 像帧中上下移动次数不断增加,则可以认为人脸区域对应的目标对象在 做持续运动,如步行运动、跑步运动、点头运动等;运动数据也可以是 人脸区域在连续多帧图像帧中的上下移动幅度,人脸区域在连续多帧图 像帧中的上下移动幅度较大,则可以认为人脸区域对应的目标对象在进 行跑步运动的概率较大,人脸区域在连续多帧图像帧中的上下移动幅度 较小,则可以认为人脸区域对应的目标对象在进行步行运动、点头运动 的概率较大。当然,此处的运动数据仅是示意性举例说明,运动数据还 可以是其他能够由位置变化数据转化得到的、用以表征目标对象的运动 姿态的数据,本示例实施例对此不做特殊限定。
可选的,运动数据也可以表征目标对象的运动状态,例如运动数据可 以是跑步、走路等剧烈运动状态,也可以是点头、摇晃等轻度运动状态, 还可以是站立不动等静止状态。可以理解的是,在直播视频中,当人物对 象站立不动时,人物对象的人脸区域在直播视频中的位置基本保持水平, 当人物对象走路时,人物对象的人脸区域在直播视频中的位置会根据走路 的快慢按照一定的频率上下移动,当人物对象跑步时,人物对象的人脸区 域在直播视频中的位置会根据跑步的快慢按照一定的频率上下移动,并且 跑步时相比于走路时人脸区域上下移动的频率以及幅度更大,因此,本方 案可以通过获取到获取图像帧序列中目标对象的人脸区域上下移动的频 率值以及幅度作为判断依据,确定目标对象的运动状态。
在一示例实施例中,连续多帧图像帧可以是图像帧序列中任意一段连 续的图像帧,也可以是图像帧序列中全部的连续图像帧,本示例实施例对 此不做特殊限定。具体可以将响应添加目标特效动画的触发操作的时刻对 应的图像帧作为首帧图像帧,并将目标特效动画的持续时间段对应的图 像帧与首帧图像帧构成连续多帧图像帧。
在一示例实施例中,可以在人脸区域中选择目标关键点,采集目标关 键点在连续多帧图像帧中的坐标数据;并根据坐标数据确定人脸区域在 连续多帧图像帧中的位置变化数据。目标关键点可以是指在人脸区域中 筛选得到的特征点,例如,以目标对象是人物对象为例,可以将人脸区 域中的左眼睛、右眼睛、鼻子等对应的特征点作为目标关键点,通过该 关键点的位置变化表征整个人脸区域的变化。当然,也可以预先在人脸 区域中设置标记点作为目标关键点,本示例实施例对此不做特殊限定。
通过确定人脸区域中目标关键点的位置来间接确定人脸区域在图像 帧序列中的位置变化,可以提高人脸区域位置变化检测的准确性。
本示例实施例中,可以通过人脸姿态估计算法对每帧图像中人脸区域 进行估计,并基于图像帧的尺寸大小构建坐标系,便可得到人脸区域的xy 坐标数据集。
举例而言,人脸区域在连续多帧图像帧中的位置变化数据可以通过以 下方式获得:
第一种方式,参考图2所示,可以在人脸区域中选取一个特征点,通 过判断该特征点的在连续的多帧图像中的坐标数据变化,来对应获取人脸 区域的位置变化数据。其中,特征点可以是用户的眼睛202、耳朵201、 鼻子203、嘴巴204等特征,也可以是在人脸区域中做出特殊标记的位置 点205。例如,可以选取人脸区域中,选取在人的脸颊上标记红点,将该 标记红点作为特征点205。然后获取特征点在多帧图像中的坐标数据,对 得到的坐标数据进行转化,得到人脸区域的位置变化数据。
第二种方式,参考图3所示,可以将人脸区域虚拟为一个标识模型, 通过标识模型在连续的多帧图像中的坐标数据变化来确定人脸区域301在 图像帧序列中的位置变化。例如,可以将人脸区域虚拟成一个三角形302, 通过判断三角形302中多个端点在图像帧序列中的平均坐标数据变化来确 定人脸区域在图像帧序列中的位置变化数据;还可以将人脸虚拟成一个圆 形,直接判断圆形边缘上各坐标点在图像帧序列中的平均坐标数据变化,确定人脸区域在图像帧序列中的位置变化数据。通过将整个人脸区域虚拟 为一个简单的图形模型,然后根据图形模型上各坐标点的坐标数据变化来 表征整个人脸区域的位置变化数据,相比于确定一个关键点的方案,准确 度更高,误差更小。
在一可选的实施例中,可以先根据人脸区域在连续多帧图像帧中的位 置变化确定人脸的移动轨迹,其中,移动轨迹为人脸区域在连续多帧图像 帧中不同时间点所对应的人脸的位置连线所形成的位置曲线,该移动轨迹 可以认为是将人脸区域的坐标数据转化得到的坐标变化曲线。具体的,可 以根据图像帧序列中,获取相邻的两帧图像,分别标记两帧图像中的人脸 区域位置,连接两个位置则形成人脸在这两帧图像中的轨迹,将图像帧序列中所有的图像帧分别处理,识别每一帧图像中的人脸区域位置,在将每 一帧图像帧中的人脸区域位置连线,则组成人脸区域在图像帧序列中的变 化轨迹,该变化轨迹即为人脸区域在连续多帧图像帧中的位置变化。
可以理解的是,当目标对象处于站立状态时,移动轨迹可以显示为较 平滑的横线,当目标对象处于走路状态时,移动轨迹可以显示为具有较小 浮动的曲线,当目标对象处于跑步状态时,移动轨迹可以显示为浮动较大 的曲线。当目标对象在跑步过程中,每跑一步,则目标对象的头部向上移 动一次,向下移动一次。可以理解的是,根据该移动轨迹可以获取到单位 时间内的曲线方向改变的次数;改变的次数越多,则证明目标对象头部上下浮动的次数越多,即代表目标对象的步数越多,在单位时间内,浮动次 数超过预设阈值后,则可以判断目标对象当前为跑步状态。
举例而言,通过实验获取到人在跑步时头部上下移动的频率为至少每 秒2次、人在走路时头部上下移动的频率为小于每秒2次;则根据绘制的 移动轨迹,判断在一秒内,曲线方向变化的次数是否小于4次,如果不小 于4次,则证明目标对象在单位时间内头部上下移动的频率大于每秒2次, 则根据移动轨迹分析的结果为目标对象在跑步状态;如果曲线方向变化的 次数小于4次,则证明目标对象在当前时段为走路状态。当然,此处仅是 示意性举例说明,并不应对本示例实施例造成任何特殊限定。
在一示例实施例中,运动数据可以至少包括人脸区域在连续多帧图像 帧中的变化幅值、变化次数和移动行程,人脸区域对应的目标关键点的 坐标数据至少可以包括第一坐标值,其中,第一坐标值可以是坐标数据 中的纵坐标,也可以是坐标数据中的横坐标,具体选用横坐标或者纵坐 标作为第一坐标值,可以根据实际情况进行自定义设置,本示例实施例 不以此为限,本实施例在用于检测目标对象的运动状态时,本实施例中 的第一坐标值可以指坐标数据的纵坐标。
具体的,步骤S130可以通过图4中的步骤实现根据人脸区域在连续 多帧图像帧中的位置变化数据确定目标对象的运动数据,参考图4所示, 具体可以包括:
步骤S410,计算连续两个图像帧中所述目标关键点的所述第一坐标 值的差值,根据所述差值的正负变化确定所述变化次数;
步骤S420,根据连续两个图像帧中所述目标关键点的所述第一坐标 值计算所述目标关键点的移动距离,根据所述移动距离确定所述变化幅 值;
步骤S430,根据所述目标关键点在连续多帧图像帧中的移动距离确 定所述移动行程。
其中,变化次数是指人脸区域在图像帧中上下移动的频率,例如,在 第一帧至第二帧的图像中,人脸区域对应的坐标数据由(0,1)变化到(0,5),此时第一坐标值可以是1和5,第一坐标值的差值为4,可以认为目 标对象的人脸区域相对向上移动一次;在第二帧至第三帧的图像中,人脸 区域对应的坐标数据由(0,5)变化到(0,1),此时第一坐标值可以是5和1,第一坐标值的差值为-4,可以认为目标对象的人脸区域相对向下 移动一次;由此,在第一帧至第三帧的图像中,人脸区域中目标关键点的 第一坐标值的差值由正到负变化一次,此时可以认为人脸区域向上向下 移动一次,即目标对象完成跑步或者行走的一步,变化次数为1。当然, 此处仅是示意性举例说明,并不应对本示例实施例造成任何特殊限定。
变化幅值是指人脸区域在图像帧中上下移动时的移动距离,该移动距 离可以是人脸区域在多个图像帧中上下移动时的最大移动距离,也可以是 人脸区域在多个图像帧中上下移动时的平均移动距离,例如,在第一帧至 第二帧的图像中,人脸区域对应的坐标数据由(0,1)变化到(0,5), 此时第一坐标值可以是1和5,移动距离为4;在第二帧至第三帧的图像 中,人脸区域对应的坐标数据由(0,5)变化到(0,2),此时第一坐标 值可以是5和2,移动距离为3,此时,人脸区域的变化幅值可以是最大 移动距离4,也可以是平均移动距离3.5。当然,此处仅是示意性举例说 明,并不应对本示例实施例造成任何特殊限定。
移动行程是指人脸区域在图像帧中上下移动时的总移动距离,例如, 在第一帧至第二帧的图像中,人脸区域对应的坐标数据由(0,1)变化到 (0,5),此时第一坐标值可以是1和5,移动距离为4;在第二帧至第 三帧的图像中,人脸区域对应的坐标数据由(0,5)变化到(0,2),此 时第一坐标值可以是5和2,移动距离为3,此时,人脸区域的移动行程 为7。当然,此处仅是示意性举例说明,并不应对本示例实施例造成任何 特殊限定。
在一可选实施例中,可以预先根据人脸区域在连续多帧图像帧中的位 置变化数据绘制确定人脸区域的移动轨迹,需要说明的是,如主播在直播 过程中跑步为原地跑步,本方案的分析要点在于主播在视频中的人脸区域 上下的变化幅值、变化次数和移动行程,因此,可以将目标关键点在移动 轨迹中沿y轴方向的位置变化来作为目标关键点的位置变化数据,以此来 确定人脸区域在图像帧序列中的位置变化数据。
在本实施例中,移动轨迹可以是以时间为横轴,人脸区域在y轴方向 的坐标数据变化连线形成的曲线;基于该移动轨迹可以得到与移动轨迹对 应的差值序列;首先可以先从移动轨迹中获取到全部的峰值和谷值,按照 时间顺序将所有的峰值和谷值排列形成序列,再按顺序计算序列中,后一 个值减去前一个值的差值或者前一个值减去后一个值的差值,将差值依次 排列,组成差值序列;基于差值序列,当差值的符号改变两次(即由正到 负或者由负到正),则人脸区域的变化次数加1,对应于用户跑步的步数 加1;获取差值序列中绝对值最大的差值,将该差值的绝对值作为变化幅 值;计算位于单位时间内差值的绝对值之和,得到移动行程。
举例而言,根据人脸区域的位置变化绘制的移动轨迹,可以得到目标 对象在1秒内人脸区域的位置变化数据,如所有峰值与谷值的序列为:{1、 10、1、9、1、12、2、10、2},根据该序列,可以得到的差值序列为:{10-1、 1-10、9-1、1-9、12-1、2-12、10-2、2-10},即{9、-9、8、-8、11、-10、8、 -8},从差值序列中可以得到,人脸区域的变化次数为8次,则证明目标对 象在1秒内的步数为4步;人脸区域的变化幅值为11(此时取最大移动距 离作为变化幅值),人脸区域的移动行程为71。当然,此处仅是示意性举 例说明,并不应对本示例实施例造成任何特殊限定。
具体的,可以过滤连续两个图像帧中目标关键点的第一坐标值差值 小于误差阈值的位置变化数据,例如,误差阈值可以是5,也可以是4, 当然,还可以是其他阈值,具体可以根据实际情况进行自定义设置,本 示例实施例不以此为限。即在目标关键点的第一坐标值差值小于误差阈 值时,可以认为该数据为误差数据或者在跑步直播中的作弊数据,如跑步直播中为了避免用户站立点头来作弊,以消除人脸姿态估计产生的误差。
在一示例实施例中,运动数据还可以包括剧烈运动状态,剧烈运动状 态可以是奔跑状态、快走状态、原地跳状态等运动状态。具体可以通过目 标对象对应的变化幅值、变化次数和移动行程等运动数据判断目标对象 是否处于剧烈运动状态。可以通过图5中的步骤实现判断目标对象是否 处于剧烈运动状态,参考图5所示,具体可以包括:
步骤S510,若在预设时间内所述变化次数大于或者等于第一阈值、 所述变化幅值大于或者等于第二阈值、所述移动行程大于或者等于第三 阈值,则确定所述目标对象处于剧烈运动状态;以及
步骤S520,在所述目标对象处于剧烈运动状态时,触发所述目标特 效动画的播放。
其中,第一阈值是指用于判断目标对象的变化次数是否达到剧烈运 动状态标准的阈值,例如第一阈值可以是4次/秒,此时可以认为目标对 象的变化次数大于或者等于4次/秒,即目标对象的迈步频率达到2步/ 秒,可以认为目标对象的变化次数达到剧烈运动状态标准,当然,第一 阈值还可以是6次/秒,具体可以根据实际情况或者目标对象的情况而定, 本示例实施例对此不做特殊限定。
第二阈值是指用于判断目标对象的变化幅值是否达到剧烈运动状态 标准的阈值,例如第二阈值可以是10,此时可以认为目标对象的变化幅 值大于或者等于10,即目标对象在迈步时人脸区域在图像帧序列中的移 动距离大于或者等于10,可以认为目标对象的变化幅值达到剧烈运动状 态标准,当然,第二1阈值还可以是12,具体可以根据图像帧的尺寸大 小或者其他实际情况进行自定义设置,本示例实施例对此不做特殊限定。
第三阈值是指用于判断目标对象的移动行程是否达到剧烈运动状态 标准的阈值,例如第三阈值可以是20,此时可以认为目标对象的移动行 程大于或者等于20,即目标对象的人脸区域在图像帧序列中的总移动距 离达到20,可以认为目标对象的移动行程达到剧烈运动状态标准,当然, 第三阈值还可以是30,具体可以根据图像帧的尺寸大小或者其他实际情 况进行自定义设置,本示例实施例对此不做特殊限定。
在本示例实施例中,通过引入限定条件进一步准确的确定目标对象的 运动状态,可以至少包括对变化次数的限制、对变化幅值的限制、对移动 行程的限制。
在单位时间内,需要目标对象的步数(即根据变化次数转换所得)、 变化幅值(即每一步的幅度)以及移动行程均符合预设条件(即第一阈值、 第二阈值和第三阈值)时,才能判断目标对象处于剧烈运动状态(即奔跑 状态、快走状态、原地跳状态等运动状态)。
举例而言,每1秒统计一次数据,同时满足3个条件,就认为用户在 跑步:目标对象的步数大于或者等于2,即变化次数大于或者等于4,目 标对象的每步的变化幅值大于10,目标对象的移动行程大于20。
在本示例实施例中,在响应添加目标特效动画的触发操作之后,可以 先将目标特效动画设置为静止状态,并在确定目标对象处于剧烈运动状 态之后,开始触发目标特效动画的播放,即假设在跑步直播过程中,添 加目标特效动画后,目标特效动画并不会立即进行播放,而是在检测到 主播开始奔跑(即剧烈运动状态)后,触发目标特效动画开始播放,实 现通过主播的奔跑动作驱动目标特效动画的交互效果。
在一示例实施例中,可以通过图6中的步骤实现根据运动数据驱动目 标特效动画的播放,参考图6所示,具体可以包括:
步骤S610,通过所述目标对象对应的变化次数确定所述目标对象的 运动速率;
步骤S620,根据所述运动速率配置所述目标特效动画的播放速率, 并根据所述播放速率驱动所述目标特效动画的播放。
其中,目标对象的运动速率是指通过变化次数转化得到的目标对象 的运动速率,例如,假设在跑步直播中,主播可以真实的跑步,此时根 据变化次数得到的运动速率为主播的真实运动速率,也可以在直播间中 原地跑步,此时根据变化次数得到的运动速率为主播的估计运动速率。 具体的,通过本实施例中的方法可以得到该主播对应的变化次数,如变 化次数可以为4次/秒,那么该主播对应的运动速率可以为2步/秒(或者 2米/秒)。当然,此处仅是示意性举例说明,并不应对本示例实施例造 成任何特殊限定。
播放速率是指目标特效动画展示播放在图形用户界面上的画面刷新 频率,例如,目标对象的运动速率可以为2步/秒,那么目标特效动画的 播放速率可以是20帧/秒,目标对象的运动速率也可以为3步/秒,那么 目标特效动画的播放速率可以是30帧/秒,通过使目标特效动画的播放速 率与目标对象的运动速率相匹配,在视觉上实现目标特效动画跟随目标 对象的运动而实时变化,提升目标特效动画的真实感,提升交互体验。
在一可选实施例中,若目标对象的人脸区域的位置变化数据为移动轨 迹,可以通过移动轨迹确定用户在单位时间内的运动步数,即移动轨迹的 峰值峰谷交替变换的变化次数为2次,则用户的步数增加一步,当用户处 于跑步状态时,可以通过移动轨迹在单位时间内的方向改变的次数,来确 定用户在单位时间内的步数;例如,在单位时间内,移动轨迹的峰值峰谷 交替变换改变了4次,则证明用户在单位时间内跑了2步;在单位时间内, 移动轨迹的峰值峰谷交替变换改变了6次,则证明用户在单位时间内跑了 3步。
在一示例实施例中,可以通过图7中的步骤实现目标特效动画的播放, 参考图7所示,具体可以包括:
步骤S710,获取预设的目标特效动画,所述目标特效动画包括背景 动画以及特效三维模型;
步骤S720,通过所述背景动画替换所述图像帧序列中的背景区域;
步骤S730,将所述人脸区域在所述特效三维模型的目标区域进行展 示。
其中,目标特效动画可以至少包括背景动画以及特效三维模型,例 如,特效三维模型可以是一个虚拟的3D卡通人物形象,也可以是三维虚 拟装饰物,本示例实施例对特效三维模型的种类不作任何特殊限定。背景 动画可以是一个赛道背景,也可以是风景背景,本示例实施例对背景动画 的内容不做任何特殊限定。
举例而言,假设在网络直播场景中,播放目标特效动画的方式可以是 将直播视频的背景替换成目标特效动画的背景动画,如赛道背景动画,主 播的身体部分替换成一个特效三维模型,如3D卡通人物形象,该3D卡 通人物形象对应的脸部区域可以是空白区域,可以用于展示图像帧序列中 检测出的人脸区域,3D卡通人物形象会跟着主播的人脸区域的移动而移 动。随着主播跑步,3D卡通人物形象会做出跑步的动画,并且3D卡通人 物形象的跑步速度(即播放速率)与主播的人脸区域的上下移动频率成正 比,同时,赛道背景动画也会随着3D卡通人物形象的跑步速度变化而变 化,如视觉上显示赛道内容向后移动,主播跑得越快3D卡通人物形象动 画播得也越快,赛道背景动画移动的也越快。
本示例实施方式中,主播在视频直播的过程中,脸部通常都是在视频 画面里,身体和脚可能在视频画面之外。通过摄像头采集主播直播视频, 并将采集到的视频显示在图形用户界面中;PC端通过宽带传输的方式将摄 像头采集到的主播直播视频传输到服务器,服务器将主播的直播视频作为 待检测视频,获取直播视频中的图像帧序列,再识别图像帧序列中,每一 帧图像中主播人脸所在的区域,之后,便可以根据主播人脸所在的区域在 图像帧序列中的位置变化来确定主播的运动状态。其中,运动状态可以包 括主播的跑步速度,获得到主播的运动状态后,便可以按照预先设定的配 置规则,来配置特效的播放速度,并在主播客户端的图形用户界面中,按 照特效的播放速度来播放特效。
可以响应图形用户界面中触发的用户添加目标特效动画的指令,在图 形用户界面中基于人脸位置配置目标特效动画在图形用户界面的显示位 置。
举例而言,当开始跑步游戏玩法时,服务器向用户使用的客户端发送 游戏开始指令,客户端接收到游戏开始指令后,便需要用户在客户端的图 形用户界面中点击是否进入跑步游戏,例如,可以在客户端的图形用户界 面中设置“接受”按钮和“拒绝”按钮,当用户点击“接受”按钮时,则认为用 户同意进入跑步游戏,服务器便响应用户的确认进入跑步游戏指令,在用 户的图形用户界面中显示目标特效动画。当用户点击“拒绝”按钮时,服务 器则认为用户拒绝参加跑步游戏,服务器便根据用户端反馈的拒绝指令, 则服务器不响应客户端发出的用户指令。
具体的,基于人脸位置配置目标特效动画在图形用户界面的显示位置 可以采用以下几种方式来配置:
第一种方式:参考图8中所示,服务器响应用户指令时,可以将用户 的图形界面划分出用户的人脸显示区域801以及目标特效动画显示区域 802,两个区域不相交。
第二种方式:参考图9中所示,服务器响应用户指令时,可以通过识 别人脸区域在图形用户界面902的显示位置,之后,控制客户端的图形用 户界面902拼装形成围绕在用户头部外侧的目标特效动画(如目标特效动 画中的特效三维模型),例如,可以服务器可以在图形用户界面拼装一个 3D卡通人物形象903,将3D卡通人物形象903的脸部扣除,形成空白区 域,用户的人脸区域901显示在该空白区域内。
具体的,目标特效动画在图形用户界面中播放的方式可是以下两种:
第一种方式:在服务器响应用户指令时,服务器通过向客户端发送拼 装指令,客户端执行该拼装指令而拼装形成目标特效动画,并在检测到目 标对象处于剧烈运动状态时在图形用户界面中播放。
第二种方式:提前将目标特效动画存储在客户端中,当服务器响应用 户指令时,服务器向客户端发送调用目标特效动画的指令,客户端执行调 用目标特效动画的指令,从客户端存储中调取目标特效动画,并检测到目 标对象处于剧烈运动状态时在客户端的图形用户界面中播放该目标特效 动画。
具体的,当服务器接收到客户端发送的用户指令后,服务器便可以采 集待检测视频,例如,主播在客户端点击“接受”按钮后,服务器便会响应 主播的用户指令,此时,服务器可以通过采集位于主播端的摄像头画面, 以作为图像帧序列。可以理解的是,采集图像帧序列的方式并非上述一种, 例如,服务器响应用户指令后,还可以从存储器中调用用户原地跑步或者 在跑步机上跑步的视频录像,根据分析视频录像中目标对象的人脸区域的移动轨迹,进而判断用户的运动状态。
本公开中的实施例提供一种主播直播玩游戏的应用场景,在服务器为 执行主体时,当主播在直播过程中,直播使用的终端设备收到服务器发送 的游戏开始指令后,主播通过终端设备向服务器发送一个开始检测指令, 即服务器在接收到开始检测指令后,响应主播的开始检测指令,并在直播 画面上拼装生成围绕人脸区域的目标特效动画(如目标特效动画中的特效 三维模型),该目标特效动画可以包括一个3D或2D卡通人物形象,也可 以是3D或2D卡通动物,为了增强趣味性,可以去掉虚拟模型的脸部,将 主播的人脸区域填充在3D或2D卡通人物形象的脸部位置。根据主播的跑 步速度来配置3D或2D卡通人物形象的播放速率,服务器控制3D或2D 卡通人物形象按照播放速率在图形用户界面中进行播放。
需要注意的是,上述附图仅是根据本发明示例性实施例的方法所包括 的处理的示意性说明,而不是限制目的。易于理解,上述附图所示的处理 并不表明或限制这些处理的时间顺序。另外,也易于理解,这些处理可以 是例如在多个模块中同步或异步执行的。
本公开还提供一种图像处理装置,参考图10所示,图像处理装置1000 可以包括图像获取模块1010、人脸区域识别模块1020、运动数据确定模 块1030和特效动画播放模块1040。其中:
图像获取模块1010用于响应添加目标特效动画的触发操作,获取图 像帧序列;
人脸区域识别模块1020用于识别所述图像帧序列中目标对象对应的 人脸区域;
运动数据确定模块1030用于采集所述人脸区域在连续多帧图像帧中 的位置变化数据,并根据所述位置变化数据确定所述目标对象的运动数 据;
特效动画播放模块1040用于根据所述运动数据驱动所述目标特效动 画的播放,以使播放的所述目标特效动画与所述目标对象的运动相适配。
在本公开的一种示例性实施例中,运动数据确定模块1030可以用于:
在所述人脸区域中选择目标关键点,采集所述目标关键点在连续多 帧图像帧中的坐标数据;
根据所述坐标数据确定所述人脸区域在连续多帧图像帧中的位置变 化数据。
在本公开的一种示例性实施例中,运动数据可以包括人脸区域在连 续多帧图像帧中的变化幅值、变化次数和移动行程,坐标数据可以包括 第一坐标值;
运动数据确定模块1030可以用于:
计算连续两个图像帧中所述目标关键点的所述第一坐标值的差值, 根据所述差值的正负变化确定所述变化次数;
根据连续两个图像帧中所述目标关键点的所述第一坐标值计算所述 目标关键点的移动距离,根据所述移动距离确定所述变化幅值;
根据所述目标关键点在连续多帧图像帧中的移动距离确定所述移动 行程。
在本公开的一种示例性实施例中,运动数据可以包括剧烈运动状态, 图像处理装置1000可以用于:
若在预设时间内所述变化次数大于或者等于第一阈值、所述变化幅 值大于或者等于第二阈值、所述移动行程大于或者等于第三阈值,则确 定所述目标对象处于剧烈运动状态;以及
在所述目标对象处于剧烈运动状态时,触发所述目标特效动画的播 放。
在本公开的一种示例性实施例中,图像处理装置1000可以用于:
过滤所述差值小于误差阈值的位置变化数据。
在本公开的一种示例性实施例中,特效动画播放模块1040可以用于:
通过所述目标对象对应的变化次数确定所述目标对象的运动速率;
根据所述运动速率配置所述目标特效动画的播放速率,并根据所述 播放速率驱动所述目标特效动画的播放。
在本公开的一种示例性实施例中,图像处理装置1000可以用于:
获取预设的目标特效动画,所述目标特效动画包括背景动画以及特 效三维模型;
通过所述背景动画替换所述图像帧序列中的背景区域;
将所述人脸区域在所述特效三维模型的目标区域进行展示。
上述的图像处理装置中各模块的具体细节已经在对应的图像处理方 法中进行了详细的描述,因此此处不再赘述。
应当注意,尽管在上文详细描述中提及了用于动作执行的设备的若干 模块或者单元,但是这种划分并非强制性的。实际上,根据本公开的实施 方式,上文描述的两个或更多模块或者单元的特征和功能可以在一个模块 或者单元中具体化。反之,上文描述的一个模块或者单元的特征和功能可 以进一步划分为由多个模块或者单元来具体化。
在本公开的示例性实施例中,还提供了一种能够实现上述方法的计算 机系统。
所属技术领域的技术人员能够理解,本发明的各个方面可以实现为系 统、方法或程序产品。因此,本发明的各个方面可以具体实现为以下形式, 即:完全的硬件实施方式、完全的软件实施方式(包括固件、微代码等), 或硬件和软件方面结合的实施方式,这里可以统称为“电路”、“模块”或“系 统”。
下面参照图11来描述根据本发明的这种实施方式的计算机系统1100。 图11显示的计算机系统1100仅仅是一个示例,不应对本发明实施例的功 能和使用范围带来任何限制。
如图11所示,计算机系统1100以通用计算设备的形式表现。计算机 系统1100的组件可以包括但不限于:上述至少一个处理单元1110、上述 至少一个存储单元1120、连接不同系统组件(包括存储单元1120和处理 单元1110)的总线1130。
其中,所述存储单元存储有程序代码,所述程序代码可以被所述处理 单元1110执行,使得所述处理单元1110执行本说明书上述“示例性方法” 部分中描述的根据本发明各种示例性实施方式的步骤。例如,所述处理单 元1110可以执行如图1所示的步骤S110,响应添加目标特效动画的触发 操作,获取图像帧序列;步骤S120,识别所述图像帧序列中目标对象对 应的人脸区域;步骤S130,采集所述人脸区域在连续多帧图像帧中的位 置变化数据,并根据所述位置变化数据确定所述目标对象的运动数据; 步骤S140,根据所述运动数据驱动所述目标特效动画的播放,以使播放 的所述目标特效动画与所述目标对象的运动相适配。
存储单元1120可以包括易失性存储单元形式的可读介质,例如随机存 取存储单元(RAM)11201和/或高速缓存存储单元11202,还可以进一步 包括只读存储单元(ROM)11203。
存储单元1120还可以包括具有一组(至少一个)程序模块11205的程 序/实用工具11204,这样的程序模块11205包括但不限于:操作系统、一 个或者多个应用程序、其它程序模块以及程序数据,这些示例中的每一个 或某种组合中可能包括网络环境的实现。
总线1130可以为表示几类总线结构中的一种或多种,包括存储单元总 线或者存储单元控制器、外围总线、图形加速端口、处理单元或者使用多 种总线结构中的任意总线结构的局域总线。
计算机系统1100也可以与一个或多个外部设备1001(例如键盘、指 向设备、蓝牙设备等)通信,还可与一个或者多个使得用户能与该计算机 系统1100交互的设备通信,和/或与使得该计算机系统1100能与一个或多 个其它计算设备进行通信的任何设备(例如路由器、调制解调器等等)通 信。这种通信可以通过输入/输出(I/O)接口1150进行。并且,计算机系 统1100还可以通过网络适配器1160与一个或者多个网络(例如局域网(LAN),广域网(WAN)和/或公共网络,例如因特网)通信。如图所 示,网络适配器1160通过总线1130与计算机系统1100的其它模块通信。 应当明白,尽管图中未示出,可以结合计算机系统1100使用其它硬件和/ 或软件模块,包括但不限于:微代码、设备驱动器、冗余处理单元、外部 磁盘驱动阵列、RAID系统、磁带驱动器以及数据备份存储系统等。
通过以上的实施方式的描述,本领域的技术人员易于理解,这里描述 的示例实施方式可以通过软件实现,也可以通过软件结合必要的硬件的方 式来实现。因此,根据本公开实施方式的技术方案可以以软件产品的形式 体现出来,该软件产品可以存储在一个非易失性存储介质(可以是 CD-ROM,U盘,移动硬盘等)中或网络上,包括若干指令以使得一台计 算设备(可以是个人计算机、服务器、终端装置、或者网络设备等)执行 根据本公开实施方式的方法。
在本公开的示例性实施例中,还提供了一种计算机可读存储介质,其 上存储有能够实现本说明书上述方法的程序产品。在一些可能的实施方式 中,本发明的各个方面还可以实现为一种程序产品的形式,其包括程序代 码,当所述程序产品在终端设备上运行时,所述程序代码用于使所述终端 设备执行本说明书上述“示例性方法”部分中描述的根据本发明各种示例性 实施方式的步骤。
参考图12所示,描述了根据本发明的实施方式的用于实现上述方法 的程序产品1200,其可以采用便携式紧凑盘只读存储器(CD-ROM)并包括 程序代码,并可以在终端设备,例如个人电脑上运行。然而,本发明的程 序产品不限于此,在本文件中,可读存储介质可以是任何包含或存储程序 的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结 合使用。
所述程序产品可以采用一个或多个可读介质的任意组合。可读介质可 以是可读信号介质或者可读存储介质。可读存储介质例如可以为但不限于 电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以 上的组合。可读存储介质的更具体的例(非穷举的列表)包括:具有一个 或多个导线的电连接、便携式盘、硬盘、随机存取存储器(RAM)、只读 存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、 便携式紧凑盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上 述的任意合适的组合。
计算机可读信号介质可以包括在基带中或者作为载波一部分传播的 数据信号,其中承载了可读程序代码。这种传播的数据信号可以采用多种 形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。可读信 号介质还可以是可读存储介质以外的任何可读介质,该可读介质可以发送、 传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用 的程序。
可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限 于无线、有线、光缆、RF等等,或者上述的任意合适的组合。
可以以一种或多种程序设计语言的任意组合来编写用于执行本发明 操作的程序代码,所述程序设计语言包括面向对象的程序设计语言—诸如 Java、C++等,还包括常规的过程式程序设计语言—诸如“C”语言或类似的 程序设计语言。程序代码可以完全地在用户计算设备上执行、部分地在用 户设备上执行、作为一个独立的软件包执行、部分在用户计算设备上部分 在远程计算设备上执行、或者完全在远程计算设备或服务器上执行。在涉及远程计算设备的情形中,远程计算设备可以通过任意种类的网络,包括 局域网(LAN)或广域网(WAN),连接到用户计算设备,或者,可以连 接到外部计算设备(例如利用因特网服务提供商来通过因特网连接)。
此外,上述附图仅是根据本发明示例性实施例的方法所包括的处理的 示意性说明,而不是限制目的。易于理解,上述附图所示的处理并不表明 或限制这些处理的时间顺序。另外,也易于理解,这些处理可以是例如在 多个模块中同步或异步执行的。
本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到 本公开的其他实施例。本申请旨在涵盖本公开的任何变型、用途或者适应 性变化,这些变型、用途或者适应性变化遵循本公开的一般性原理并包括 本公开未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施 例仅被视为示例性的,本公开的真正范围和精神由权利要求指出。
应当理解的是,本公开并不局限于上面已经描述并在附图中示出的精 确结构,并且可以在不脱离其范围进行各种修改和改变。本公开的范围仅 由所附的权利要求来限。
Claims (10)
1.一种图像处理方法,其特征在于,包括:
响应添加目标特效动画的触发操作,获取图像帧序列;
识别所述图像帧序列中目标对象对应的人脸区域;
采集所述人脸区域在连续多帧图像帧中的位置变化数据,并根据所述位置变化数据确定所述目标对象的运动数据;
根据所述运动数据驱动所述目标特效动画的播放,以使播放的所述目标特效动画与所述目标对象的运动相适配。
2.根据权利要求1所述的图像处理方法,其特征在于,所述采集所述人脸区域在连续多帧图像帧中的位置变化数据包括:
在所述人脸区域中选择目标关键点,采集所述目标关键点在连续多帧图像帧中的坐标数据;
根据所述坐标数据确定所述人脸区域在连续多帧图像帧中的位置变化数据。
3.根据权利要求2所述的图像处理方法,其特征在于,所述运动数据包括所述人脸区域在连续多帧图像帧中的变化幅值、变化次数和移动行程,所述坐标数据包括第一坐标值;
所述根据所述位置变化数据确定所述目标对象的运动数据,包括:
计算连续两个图像帧中所述目标关键点的所述第一坐标值的差值,根据所述差值的正负变化确定所述变化次数;
根据连续两个图像帧中所述目标关键点的所述第一坐标值计算所述目标关键点的移动距离,根据所述移动距离确定所述变化幅值;
根据所述目标关键点在连续多帧图像帧中的移动距离确定所述移动行程。
4.根据权利要求3所述的图像处理方法,其特征在于,所述运动数据包括剧烈运动状态,所述方法还包括:
若在预设时间内所述变化次数大于或者等于第一阈值、所述变化幅值大于或者等于第二阈值、所述移动行程大于或者等于第三阈值,则确定所述目标对象处于剧烈运动状态;以及
在所述目标对象处于剧烈运动状态时,触发所述目标特效动画的播放。
5.根据权利要求4所述的图像处理方法,其特征在于,所述方法还包括:
过滤所述差值小于误差阈值的位置变化数据。
6.根据权利要求1至5任意一项所述的图像处理方法,其特征在于,所述根据所述运动数据驱动所述目标特效动画的播放,包括:
通过所述目标对象对应的变化次数确定所述目标对象的运动速率;
根据所述运动速率配置所述目标特效动画的播放速率,并根据所述播放速率驱动所述目标特效动画的播放。
7.根据权利要求1所述的图像处理方法,其特征在于,所述方法还包括:
获取预设的目标特效动画,所述目标特效动画包括背景动画以及特效三维模型;
通过所述背景动画替换所述图像帧序列中的背景区域;
将所述人脸区域在所述特效三维模型的目标区域进行展示。
8.一种图像处理装置,其特征在于,包括:
图像获取模块,用于响应添加目标特效动画的触发操作,获取图像帧序列;
人脸区域识别模块,用于识别所述图像帧序列中目标对象对应的人脸区域;
运动数据确定模块,用于采集所述人脸区域在连续多帧图像帧中的位置变化数据,并根据所述位置变化数据确定所述目标对象的运动数据;
特效动画播放模块,用于根据所述运动数据驱动所述目标特效动画的播放,以使播放的所述目标特效动画与所述目标对象的运动相适配。
9.一种存储介质,其上存储有计算机程序,所述程序被处理器执行时实现根据权利要求1至7中任一项所述的图像处理方法。
10.一种计算机系统,其特征在于,包括:
处理器;以及
存储器,用于存储所述处理器的可执行指令;
其中,所述处理器配置为经由执行所述可执行指令来执行权利要求1至7中任一项所述的图像处理方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111284542.2A CN113920167A (zh) | 2021-11-01 | 2021-11-01 | 一种图像处理方法、装置、存储介质及计算机系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111284542.2A CN113920167A (zh) | 2021-11-01 | 2021-11-01 | 一种图像处理方法、装置、存储介质及计算机系统 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN113920167A true CN113920167A (zh) | 2022-01-11 |
Family
ID=79244829
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111284542.2A Pending CN113920167A (zh) | 2021-11-01 | 2021-11-01 | 一种图像处理方法、装置、存储介质及计算机系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113920167A (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114531553A (zh) * | 2022-02-11 | 2022-05-24 | 北京字跳网络技术有限公司 | 生成特效视频的方法、装置、电子设备及存储介质 |
CN115086738A (zh) * | 2022-06-07 | 2022-09-20 | 广州博冠信息科技有限公司 | 信息添加方法、装置、计算机设备及存储介质 |
WO2023160363A1 (zh) * | 2022-02-24 | 2023-08-31 | 北京字跳网络技术有限公司 | 确定特效视频的方法、装置、电子设备及存储介质 |
-
2021
- 2021-11-01 CN CN202111284542.2A patent/CN113920167A/zh active Pending
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114531553A (zh) * | 2022-02-11 | 2022-05-24 | 北京字跳网络技术有限公司 | 生成特效视频的方法、装置、电子设备及存储介质 |
CN114531553B (zh) * | 2022-02-11 | 2024-02-09 | 北京字跳网络技术有限公司 | 生成特效视频的方法、装置、电子设备及存储介质 |
WO2023160363A1 (zh) * | 2022-02-24 | 2023-08-31 | 北京字跳网络技术有限公司 | 确定特效视频的方法、装置、电子设备及存储介质 |
CN115086738A (zh) * | 2022-06-07 | 2022-09-20 | 广州博冠信息科技有限公司 | 信息添加方法、装置、计算机设备及存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN113920167A (zh) | 一种图像处理方法、装置、存储介质及计算机系统 | |
US11450146B2 (en) | Gesture recognition method, apparatus, and device | |
US10529071B2 (en) | Facial skin mask generation for heart rate detection | |
CN106664376B (zh) | 增强现实设备和方法 | |
CN110119700B (zh) | 虚拟形象控制方法、虚拟形象控制装置和电子设备 | |
WO2015139231A1 (en) | Facial expression and/or interaction driven avatar apparatus and method | |
CN112241203A (zh) | 三维虚拟角色的控制装置及方法、存储介质及电子设备 | |
US20230206093A1 (en) | Music recommendation method and apparatus | |
CN111291674A (zh) | 一种虚拟人物表情动作的提取方法、系统、装置及介质 | |
CN111667588A (zh) | 人物图像处理方法、装置、ar设备以及存储介质 | |
CN111638784A (zh) | 人脸表情互动方法、互动装置以及计算机存储介质 | |
JP6583996B2 (ja) | 映像評価装置、及びプログラム | |
WO2022218042A1 (zh) | 视频处理方法、装置、视频播放器、电子设备及可读介质 | |
CN114187392A (zh) | 虚拟偶像的生成方法、装置和电子设备 | |
CN111527495A (zh) | 用于应用视频观看行为的方法和装置 | |
CN113723306A (zh) | 俯卧撑检测方法、设备以及计算机可读介质 | |
CN114550079A (zh) | 一种图像处理方法、装置、设备及存储介质 | |
CN112784813A (zh) | 基于图像检测的动作识别数据集生成方法及装置 | |
CN113837112A (zh) | 一种视频数据处理方法及电子设备 | |
CN114220175A (zh) | 运动模式识别方法及其装置、设备、介质、产品 | |
CN113361486A (zh) | 多姿态人脸识别方法、装置、存储介质以及电子设备 | |
CN113780051A (zh) | 评估学生专注度的方法和装置 | |
CN113780045A (zh) | 用于训练距离预测模型的方法和装置 | |
CN211349295U (zh) | 一种交互式运动系统 | |
CN113158748A (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 |