CN108898118B - 一种视频数据处理方法、装置和存储介质 - Google Patents

一种视频数据处理方法、装置和存储介质 Download PDF

Info

Publication number
CN108898118B
CN108898118B CN201810721857.0A CN201810721857A CN108898118B CN 108898118 B CN108898118 B CN 108898118B CN 201810721857 A CN201810721857 A CN 201810721857A CN 108898118 B CN108898118 B CN 108898118B
Authority
CN
China
Prior art keywords
video frame
human body
current video
point location
location set
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
CN201810721857.0A
Other languages
English (en)
Other versions
CN108898118A (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 CN201810721857.0A priority Critical patent/CN108898118B/zh
Publication of CN108898118A publication Critical patent/CN108898118A/zh
Priority to PCT/CN2019/091340 priority patent/WO2020007183A1/zh
Priority to TW108123647A priority patent/TWI702822B/zh
Priority to US16/993,061 priority patent/US11461876B2/en
Application granted granted Critical
Publication of CN108898118B publication Critical patent/CN108898118B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V40/00Recognition of biometric, human-related or animal-related patterns in image or video data
    • G06V40/10Human or animal bodies, e.g. vehicle occupants or pedestrians; Body parts, e.g. hands
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V40/00Recognition of biometric, human-related or animal-related patterns in image or video data
    • G06V40/20Movements or behaviour, e.g. gesture recognition
    • G06V40/23Recognition of whole body movements, e.g. for sport training
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T3/00Geometric image transformations in the plane of the image
    • G06T3/40Scaling of whole images or parts thereof, e.g. expanding or contracting
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T5/00Image enhancement or restoration
    • G06T5/70Denoising; Smoothing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/40Extraction of image or video features
    • G06V10/46Descriptors for shape, contour or point-related descriptors, e.g. scale invariant feature transform [SIFT] or bags of words [BoW]; Salient regional features
    • G06V10/462Salient features, e.g. scale invariant feature transforms [SIFT]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/10Image acquisition modality
    • G06T2207/10016Video; Image sequence
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/20Special algorithmic details
    • G06T2207/20172Image enhancement details
    • G06T2207/20182Noise reduction or smoothing in the temporal domain; Spatio-temporal filtering
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/30Subject of image; Context of image processing
    • G06T2207/30196Human being; Person

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Multimedia (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Human Computer Interaction (AREA)
  • Health & Medical Sciences (AREA)
  • Psychiatry (AREA)
  • Social Psychology (AREA)
  • General Health & Medical Sciences (AREA)
  • Image Analysis (AREA)
  • Television Signal Processing For Recording (AREA)

Abstract

本发明实施例公开了一种视频数据处理方法、装置和存储介质;本发明实施例在从视频流中采集到当前视频帧后,可以对当前视频帧中的人体关键点的位置进行检测,得到当前视频帧中人体的点位集,然后,获取历史视频帧中人体的点位集,并根据当前视频帧中人体的点位集和历史视频帧中人体的点位集分析当前视频帧中人体关键点的抖动幅度,根据抖动幅度确定所述当前视频帧中人体的腰线位置,此后,对当前视频帧中腰线位置以下的部分进行拉伸并输出;该方案可以增强长腿功能的鲁棒性和适应性,改善长腿效果,进而提高视频画面的显示效果。

Description

一种视频数据处理方法、装置和存储介质
技术领域
本发明涉及通信技术领域,具体涉及一种视频数据处理方法、装置和存储介质。
背景技术
随着网络技术的发展和移动终端的普及,视频拍摄已渐渐成为很多用户进行社交分享和沟通交流的一种方式,与此同时,也催生了许多用于美化视频画面的技术,比如对视频中的人脸进行美白、磨皮或瘦脸等。当然,除了人脸之外,也可以对视频中的人体进行美化,比如对腿部进行拉伸(简称长腿),等等。
由于在视频中,人体姿势的变化幅度一般较大,因此,现有在对视频中人体进行长腿时,通常需要针对每一帧图像进行离线人工调整,不仅处理效率较低,而且无法满足实时播放(比如视频聊天或直播)的需求。为此,现有技术又提出了“实时长腿”的方案,具体为在获取到视频数据后,对视频数据中的每一帧画面进行整体纵向拉伸。
在对现有技术的研究和实践过程中,本发明的发明人发现,虽然对每一帧画面进行整体纵向拉伸可以在一定程度中起到“长腿”效果,但实际上也会导致画面中的其他事物产生较大形变,大大影响视频的显示效果;而且由于人体姿势的变化幅度一般较大(比如跳舞),因此,会出现不同帧中的长腿效果不一致、以及背景抖动幅度较大的情况,也就是说,现有方案的长腿功能的鲁棒性和适应性较差,长腿效果并不佳,不利于提高视频画面的显示效果。
发明内容
本发明实施例提供一种视频数据处理方法、装置和存储介质;可以增强长腿功能的鲁棒性和适应性,改善长腿效果,进而提高视频画面的显示效果。
本发明实施例提供一种视频数据处理方法,包括:
从视频流中采集当前视频帧,并对所述当前视频帧中的人体关键点的位置进行检测,得到当前视频帧中人体的点位集;
获取历史视频帧中人体的点位集,根据所述当前视频帧中人体的点位集和历史视频帧中人体的点位集分析当前视频帧中人体关键点的抖动幅度;
根据抖动幅度确定所述当前视频帧中人体的腰线位置;
对当前视频帧中腰线位置以下的人体部分进行拉伸,并输出拉伸后的当前视频帧。
相应的,本发明实施例还提供一种视频数据处理装置,包括:
检测单元,用于从视频流中采集当前视频帧,并对所述当前视频帧中的人体关键点的位置进行检测,得到当前视频帧中人体的点位集;
获取单元,用于获取历史视频帧中人体的点位集,所述历史视频帧为在所述视频流中,以所述当前视频帧为起点,过去预设时间范围内的视频帧;
分析单元,用于根据所述当前视频帧中人体的点位集和历史视频帧中人体的点位集分析当前视频帧中人体关键点的抖动幅度;
确定单元,用于根据抖动幅度确定所述当前视频帧中人体的腰线位置;
拉伸单元,用于对当前视频帧中腰线位置以下的人体部分进行拉伸,并输出拉伸后的当前视频帧。
可选的,在一些实施例中,所述检测单元,具体用于采用姿势估计模型对所述当前视频帧中的人体关键点的位置进行检测,得到当前视频帧中人体的点位集。
可选的,在一些实施例中,所述确定单元,具体用于根据抖动幅度确定所述当前视频帧位于稳定态时,采用预设腰线值作为所述当前视频帧中人体的腰线位置;根据抖动幅度确定所述当前视频帧位于非稳定态时,根据当前视频帧中人体的点位集计算所述当前视频帧中人体的腰线位置。
可选的,在一些实施例中,所述视频数据处理装置还可以包括保存单元,如下:
所述保存单元,用于保存所述当前视频帧中人体的点位集。
可选的,在一些实施例中,所述获取单元,具体用于获取以所述当前视频帧为起点,过去预设时间范围内的视频帧,得到历史视频帧,确定是否保存了所述历史视频帧中人体的点位集,若是,则读取所述历史视频帧中人体的点位集;若否,则对所述历史视频帧中的人体关键点的位置进行检测,得到所述历史视频帧中人体的点位集。
可选的,在一些实施例中,所述分析单元可以包括点位获取子单元和分析子单元,如下:
所述点位获取子单元,用于从所述当前视频帧中人体的点位集中获取当前视频帧中人体胯部的点位,以及从所述历史视频帧中人体的点位集中获取历史视频帧中人体胯部的点位;
所述分析子单元,用于根据当前视频帧中人体胯部的点位和历史视频帧中人体胯部的点位分析当前视频帧中人体关键点的抖动幅度。
可选的,在一些实施例中,所述分析子单元,具体用于根据当前视频帧中人体胯部的点位计算当前视频帧中人体的腰线;根据历史视频帧中人体胯部的点位计算历史视频帧中人体的腰线;计算当前视频帧中人体的腰线与历史视频帧中人体的腰线的距离,得到当前视频帧中人体关键点的抖动幅度。
可选的,在一些实施例中,所述确定单元,具体用于在确定抖动幅度小于预设阈值时,采用预设腰线值作为所述当前视频帧的腰线位置;在确定抖动幅度大于等于预设阈值时,根据当前视频帧中人体的点位集计算所述当前视频帧的腰线位置。
可选的,在一些实施例中,所述确定单元,具体用于根据抖动幅度确定所述当前视频帧位于非稳定态时,从所述当前视频帧中人体的点位集中获取当前视频帧中人体胯部的点位,根据当前视频帧中人体胯部的点位计算当前视频帧中人体的腰线,根据计算得到的腰线确定所述当前视频帧的腰线位置。
可选的,在一些实施例中,所述视频数据处理装置还可以包括平滑单元,如下:
所述平滑单元,用于采用预设点位平滑算法,根据所述历史视频帧中人体的点位集对所述当前视频帧中人体的点位集进行平滑处理,得到当前视频帧中人体的平滑后点位集;
所述分析单元,具体用于根据所述当前视频帧中人体的平滑后点位集和历史视频帧中人体的点位集分析当前视频帧中人体关键点的抖动幅度。
可选的,在一些实施例中,所述平滑单元,具体可以用于:
根据所述历史视频帧中人体的点位集,在时间维度上对所述当前视频帧中人体的点位集进行平滑处理,得到时间平滑结果;
根据所述历史视频帧中人体的点位集,在空间维度上对所述当前视频帧中人体的点位集进行平滑处理,得到空间平滑结果;
根据所述历史视频帧中人体的点位集,在置信度维度上对所述当前视频帧中人体的点位集进行平滑处理,得到置信度平滑结果;
对所述时间平滑结果、空间平滑结果和置信度平滑结果进行加权运算,得到当前视频帧中人体的平滑后点位集。
可选的,在一些实施例中,所述当前帧存在多个腰线位置;所述拉伸单元,具体用于从当前视频帧的多个腰线位置中选择位置最高的腰线位置作为目标腰线位置,对当前视频帧中目标腰线位置以下的部分进行拉伸,并输出拉伸后的当前视频帧。
可选的,在一些实施例中,所述拉伸单元,具体用于根据黄金比例对当前视频帧中目标腰线位置以下的部分进行拉伸,对拉伸后当前视频帧中目标腰线位置部分的斜率进行平滑处理,得到结果帧,输出所述结果帧。
此外,本发明实施例还提供一种存储介质,所述存储介质存储有多条指令,所述指令适于处理器进行加载,以执行本发明实施例所提供的任一种视频数据处理方法中的步骤。
本发明实施例在采集到当前视频帧后,可以对当前视频帧中的人体关键点的位置进行检测,得到当前视频帧中人体的点位集,然后,获取历史视频帧中人体的点位集,并根据当前视频帧中人体的点位集和历史视频帧中人体的点位集分析当前视频帧中人体关键点的抖动幅度,根据抖动幅度确定当前视频帧中人体的腰线位置,此后,对当前视频帧中腰线位置以下的人体部分进行拉伸并输出,进而实现对当前帧中人体进行实时长腿的目的;由于该方案只对腰线以下的部分进行拉伸,而且可以根据抖动幅度灵活地确定腰线,因此,可以在实现对视频帧中人体进行实时长腿,改善长腿效果的同时,较大程度保证视频帧中背景形变的自然平滑,大大提高了实时长腿功能的鲁棒性和适应性,有利于提高视频画面的显示效果。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1a是本发明实施例提供的视频数据处理方法的场景示意图;
图1b是本发明实施例提供的视频数据处理方法的流程图;
图1c是本发明实施例提供的视频数据处理方法中人体关键点的示意图;
图2a是本发明实施例提供的视频数据处理方法的另一流程图;
图2b是本发明实施例提供的视频数据处理方法中人体关键点位置检测的示意图;
图2c是本发明实施例提供的方法中拉伸区域斜率变化示意图;
图2d是本发明实施例提供的方法中平滑后的拉伸区域斜率变化示意图;
图2e是本发明实施例提供的视频数据处理方法中拉伸前后的示例图;
图2f是本发明实施例提供的视频数据处理方法的用户界面示例图;
图3a是本发明实施例提供的视频数据处理装置的结构示意图;
图3b是本发明实施例提供的视频数据处理装置的另一结构示意图;
图4是本发明实施例提供的网络设备的结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明实施例提供一种视频数据处理方法、装置和存储介质。
其中,该视频数据处理装置具体可以集成在网络设备中,该网络设备可以是终端或服务器等设备。例如,参见图1a,网络设备可以从视频流汇总采集当前视频帧,并对该当前视频帧中的人体关键点的位置进行检测,得到当前视频帧中人体的点位集;然后,获取该视频流的历史视频帧中人体的点位集,并根据该当前视频帧中人体的点位集和历史视频帧中人体的点位集分析当前视频帧中人体关键点的抖动幅度并根据当前视频帧中人体的点位集和历史视频帧中人体的点位集分析当前视频帧中人体关键点的抖动幅度,在根据抖动幅度确定当前视频帧位于稳定态时,采用预设固定腰线值作为该当前视频帧的腰线位置,反之,在非稳定态时,则根据当前视频帧中人体的点位集计算该当前视频帧的腰线位置(即采用灵活腰线),此后,对当前视频帧中腰线位置以下的人体部分进行拉伸,并输出拉伸后的当前视频帧,比如,可以根据黄金比例(即腿长为身长的0.618)对当前视频帧中腰线位置以下的部分进行拉伸,得到结果帧,然后,输出该结果帧,等等。
以下分别进行详细说明。需说明的是,以下实施例的序号不作为对实施例优选顺序的限定。
实施例一、
本实施例将从视频数据处理装置的角度进行描述,该视频数据处理装置具体可以集成在网络设备中,该网络设备可以是终端或服务器等设备,其中,该终端可以包括手机、平板电脑、笔记本电脑或个人计算机(PC,Personal Computer)等。
一种视频数据处理方法,包括:采集当前视频帧,并对该当前视频帧中的人体关键点的位置进行检测,得到当前视频帧中人体的点位集;获取历史视频帧中人体的点位集,根据该当前视频帧中人体的点位集和历史视频帧中人体的点位集分析当前视频帧中人体关键点的抖动幅度;根据抖动幅度确定该当前视频帧中人体的腰线位置;对当前视频帧中腰线位置以下的部分进行拉伸,并输出拉伸后的当前视频帧。
如图1b所示,该视频数据处理方法的具体流程可以如下:
101、从视频流中采集当前视频帧。
例如,具体可以通过本地摄像部件采集视频图像,得到当前视频帧;或者,也可以通过接收其他设备,如其他终端或摄像设备发送的视频图像,得到当前视频帧,等等。
102、对该当前视频帧中的人体关键点的位置进行检测,得到当前视频帧中人体的点位集;例如,具体可以如下:
采用姿势估计模型对该当前视频帧中的人体关键点的位置进行检测,得到当前视频帧中人体的点位集。
其中,该姿势估计模型可以根据实际应用的需求预先进行建立,可以由其他设备建立后提供给该视频数据处理装置,也可以由视频数据处理装置自行进行建立。例如,具体可以采集多个已标注了人体关键点的图像样本,然后,采用这些图像样本对预设姿势估计初始模型进行训练,便可得到该姿势估计模型。其中,训练的方式可以如下:
从这些图像样本中确定当前需要进行训练的图像样本,然后,将该当前需要进行训练的图像样本导入该姿势估计初始模型中进行检测,得到该当前需要进行训练的图像样本的预测人体关键点,对该当前需要进行训练的图像样本的预测人体关键点和标注的人体关键点进行收敛,以对该姿势估计初始模型中的参数进行调整,便可以完成一次训练,此后,可以返回执行“从这些图像样本中确定当前需要进行训练的图像样本”的步骤,以采用另一个图像样本进行另一次训练,依次类推,经过多次训练后,便可得到训练好的姿势估计模型。
其中,人体关键点指的是可以标识出人体关键部位的特征点,其具体可以根据实际应用的需求而定。比如,如图1c所示,该人体关键点可以包括如表一所示的特征点:
表一:
Figure BDA0001718836890000071
Figure BDA0001718836890000081
需说明的是,由于人体的姿势的变化,该当前视频帧中人体的点位集中可能会丢失某些人体关键点,譬如,在当人体的右手放在背后时,可能检测不到“右手肘”、“右手腕”和“右手心”等人体关键点,则此时,可以沿用上一次的有效人体关键点,比如,若该当前视频帧的上一帧的“右手肘”、“右手腕”和“右手心”等人体关键点是有效的,则可以将该当前视频帧的上一帧的“右手肘”、“右手腕”和“右手心”等人体关键点作为该当前视频帧中人体的点位集中的“右手肘”、“右手腕”和“右手心”等人体关键点。
可选的,在得到当前视频帧中人体的点位集之后,还可以保存该当前视频帧中人体的点位集,这样,若后续需要获取该当前视频帧中人体的点位集时(该当前视频帧可以作为后续视频帧的历史视频帧),便可以直接读取该保存的点位集,详见步骤103。
103、获取历史视频帧中人体的点位集,根据该当前视频帧中人体的点位集和历史视频帧中人体的点位集分析当前视频帧中人体关键点的抖动幅度。
其中,历史视频帧指的是在该视频流中,以该当前视频帧为起点,过去预设时间范围内的视频帧,比如,若当前帧为某视频流的第三帧,则其历史帧可以为该视频流的第一帧和第二帧,等等。
可选的,获取历史视频帧中人体的点位集的方式可以有多种,比如,可以如下:
获取以该当前视频帧为起点,过去预设时间范围内的视频帧,得到历史视频帧,然后,对该历史视频帧中的人体关键点的位置进行检测,得到该历史视频帧中人体的点位集。
又比如,若在此之前,已保存了历史视频帧中人体的点位集,则此时,可以直接读取该历史视频帧中人体的点位集,即步骤“获取历史视频帧中人体的点位集”也可以包括:
获取以该当前视频帧为起点,过去预设时间范围内的视频帧,得到历史视频帧,确定是否保存了该历史视频帧中人体的点位集,若是,则读取该保存的历史视频帧中人体的点位集;若否,则对该历史视频帧中的人体关键点的位置进行检测,得到该历史视频帧中人体的点位集。
在得到历史视频帧中人体的点位集之后,便可以根据该当前视频帧中人体的点位集和历史视频帧中人体的点位集分析当前视频帧中人体关键点的抖动幅度,例如,具体可以如下:
(1)从该当前视频帧中人体的点位集中获取当前视频帧中人体胯部的点位。
比如,参见表一,具体可以从该当前视频帧中人体的点位集中获取“右胯”人体关键点和“左胯”人体关键点,得到当前视频帧中人体胯部的点位。
(2)从该历史视频帧中人体的点位集中获取历史视频帧中人体胯部的点位。
比如,参见表一,具体可以从该历史视频帧中人体的点位集中获取“右胯”人体关键点和“左胯”人体关键点,得到历史视频帧中人体胯部的点位。
(3)根据当前视频帧中人体胯部的点位和历史视频帧中人体胯部的点位分析当前视频帧中人体关键点的抖动幅度。例如,具体可以如下:
根据当前视频帧中人体胯部的点位计算当前视频帧中人体的腰线,根据历史视频帧中人体胯部的点位计算历史视频帧中人体的腰线,计算当前视频帧中人体的腰线与历史视频帧中人体的腰线的距离,得到当前视频帧中人体关键点的抖动幅度。
比如,具体可以计算当前视频帧中“右胯”点(即图1c中8号点)和“左胯”点(即图1c中11号点)的平均值,得到当前视频帧中人体的腰线;以及计算历史视频帧中“右胯”点(即图1c中8号点)和“左胯”点(即图1c中11号点)的平均值,得到历史视频帧中人体的腰线;然后,计算该当前视频帧中人体的腰线与历史视频帧中人体的腰线的距离,便可得到当前视频帧中人体关键点的抖动幅度。
此后,可以确定该抖动幅度是否小于预设阈值,若是,则确定该当前视频帧位于稳定态,于是执行步骤104,若否,则确定该当前视频帧位于非稳定态,于是执行步骤105。
其中,该预设阈值可以根据实际应用的需求进行设置,比如,可以设置上下帧腰线浮动在“10%”之内,为稳定态,而超过“10%”,则为非稳定态,当然,还可以设置当连续X1帧腰线浮动在某个幅度如“10%”之内,则确定为稳定态,而当连续X2帧腰线浮动在某个幅度如“10%”之外,则为非稳定态,等等。其中,该X1和X2也可以根据实际应用的需求而定,比如,X1可以为60帧,X2可以为100帧,等等,在此不作赘述。
可选的,由于人体剧烈运动(比如跳舞)时,上下帧之间的点位可能差距较大,可能会造成点位剧烈抖动的问题,因此,为了避免该问题,改善处理效果,在分析人体关键点的抖动幅度之前,还可以对这些点位进行平滑处理;即在步骤“根据该当前视频帧中人体的点位集和历史视频帧中人体的点位集分析当前视频帧中人体关键点的抖动幅度”之前,该视频数据处理方法还可以包括:
采用预设点位平滑算法,根据该历史视频帧中人体的点位集对该当前视频帧中人体的点位集进行平滑处理,得到当前视频帧中人体的平滑后点位集。
则此时,步骤“根据该当前视频帧中人体的点位集和历史视频帧中人体的点位集分析当前视频帧中人体关键点的抖动幅度”具体可以为:根据该当前视频帧中人体的平滑后点位集和历史视频帧中人体的点位集分析当前视频帧中人体关键点的抖动幅度。
比如,具体可以从该当前视频帧中人体的平滑后点位集中获取当前视频帧中人体胯部的点位,以及从该历史视频帧中人体的点位集中获取历史视频帧中人体胯部的点位,然后,根据当前视频帧中人体胯部的点位和历史视频帧中人体胯部的点位分析当前视频帧中人体关键点的抖动幅度,等等。
可选的,该点位平滑算法可以根据实际应用的需求进行设置,比如,具体可以从时间、空间和置信度等维度对该当前视频帧中人体的点位集进行平滑处理。即步骤“采用预设点位平滑算法,根据该历史视频帧中人体的点位集对该当前视频帧中人体的点位集进行平滑处理,得到当前视频帧中人体的平滑后点位集”可以包括:
A、根据该历史视频帧中人体的点位集,在时间维度上对该当前视频帧中人体的点位集进行平滑处理,得到时间平滑结果。
例如,具体可以从该历史视频帧中选择N帧(N为大于1的正整数),然后,在时间维度上,将该当前视频帧中人体的点位集在该N帧之间进行平滑,比如,可以对该N帧的时间向量进行加权(即加权和)运算,如下:
Figure BDA0001718836890000111
其中,
Figure BDA0001718836890000112
为该当前视频帧(即第i帧)的点位集中某个人体关键点S的时间平滑结果,Pj为该N帧历史视频帧里某一帧j中人体关键点S的时间向量,αj为Pj的权重,离当前视频帧越近,该权重αj越大。
B、根据该历史视频帧中人体的点位集,在空间维度上对该当前视频帧中人体的点位集进行平滑处理,得到空间平滑结果。
例如,具体可以从该历史视频帧中选择该当前视频帧的上一帧,然后,将该上一帧的点位集中人体关键点的空间向量加上偏移量,便可得到该当前视频帧中相应人体关键点的空间平滑结果;比如,对该上一帧的点位集中的右胯点加上偏移量,便可得到该当前视频帧中右胯点的空间平滑结果,以此类推,便可得到该当前视频帧中所有人体关键点(即点位集中所有点位)对应的空间平滑结果,用公式表示即为:
Figure BDA0001718836890000113
其中,
Figure BDA0001718836890000114
为该当前视频帧(即第i帧)的点位集中某个人体关键点S的空间平滑结果,Pi-1为该当前视频帧的上一帧(即第i-1帧)的点位集中人体关键点S的空间向量,Pi为该当前视频帧中人体的点位集中人体关键点S的空间向量;f为偏移函数(非线性),其具有阻尼作用,通过该空间维度上的平滑处理,可以减少上下帧点位之间的差距。
C、根据该历史视频帧中人体的点位集,在置信度维度上对该当前视频帧中人体的点位集进行平滑处理,得到置信度平滑结果。
例如,具体可以从该历史视频帧中选择M帧(M为大于1的正整数),然后,在置信度维度上,将该当前视频帧中人体的点位集在该M帧之间进行平滑,比如,可以对该M帧的置信度进行加权(即加权和)运算,如下:
Figure BDA0001718836890000121
其中,
Figure BDA0001718836890000122
为该当前视频帧(即第i帧)的点位集中某个人体关键点S的置信度平滑结果,Pk为该M帧历史视频帧里的某一帧k中人体关键点S的置信度向量,βk为Pk的权重,其可以由该需要计算权重的帧的置信度scorek除以该M帧历史视频帧的置信度之和∑score来得到,如下:
βk=scorek/∑score。
其中,置信度可以在对人体关键点的位置进行检测时得到,详见步骤102。置信度越大,表示该人体关键点的所检测出来的位置越准确。
D、对该时间平滑结果、空间平滑结果和置信度平滑结果进行加权(即加权和)运算,得到当前视频帧中人体的平滑后点位集,用公式表示可以如下:
Figure BDA0001718836890000123
其中,Pi为当前视频帧(即第i帧)的点位集中某个人体关键点S的总平滑结果,依次类推,计算出该当前视频帧点位集中的所有人体关键点的总平滑结果,即可得到当前视频帧中人体的平滑后点位集(该平滑后点位集包括了该当前视频帧点位集中的所有人体关键点的总平滑结果);γ1、γ2和γ3分别为
Figure BDA0001718836890000124
Figure BDA0001718836890000125
的权重,该权重具体可以根据实际应用的需求进行设置,在此不再赘述。
104、根据抖动幅度确定该当前视频帧中人体的腰线位置,例如,具体可以如下:
(1)根据抖动幅度确定该当前视频帧位于稳定态时,采用预设腰线值作为该当前视频帧的腰线位置。
其中,该预设腰线值可以根据实际应用的需求进行设置,比如,可以采用该当前帧的前若干个历史视频帧的平均腰线位置作为该腰线值,或者,也可以采用该当前帧的上一帧的腰线位置作为该腰线值,等等,在此不作赘述。
这是因为,人在舞蹈或轻微运动时,腰线会上下浮动,进而导致其背景拉伸区域的变化,如果每一帧都根据其实际腰线进行拉伸的话,背景形变浮动会比较大且显得不自然。而鉴于人在舞动或轻微运动时,腰线不会变化太大,以及腰线的轻微变化对于长腿效果影响并不太明显,所以,可以在人体比较稳定,即当前视频帧位于稳定态时,采用一固定腰线位置,以作为候选拉伸的参考基准,来减少背景形变的浮动,使得显得更为自然,提高处理效果。
(2)根据抖动幅度确定该当前视频帧位于非稳定态时,根据当前视频帧中人体的点位集计算该当前视频帧的腰线位置。
由于该当前视频帧位于非稳定态,因此,表明该当前视频帧的腰线较历史视频帧浮动较大,如果依旧采用预设腰线值作为该当前视频帧的腰线位置的话,可以会导致后续的拉伸不准确,影响拉伸效果,因此,此时可以根据当前视频帧中人体的点位集计算该当前视频帧的腰线位置,具体可以如下:
从该当前视频帧中人体的点位集中获取当前视频帧中人体胯部的点位,根据当前视频帧中人体胯部的点位计算当前视频帧中人体的腰线,根据计算得到的腰线确定该当前视频帧的腰线位置。
比如,具体可以从该当前视频帧中人体的点位集中获取当前视频帧中人体的“右胯”点和“左胯”点,然后,计算该“右胯”点和“左胯”点的平均值,得到当前视频帧中人体的腰线,可以直接将该腰线的位置(如坐标)作为该当前视频帧的腰线位置,也可以按照预设策略对该腰线的位置进行微调后,作为该当前视频帧的腰线位置。
其中,该预设策略可以根据实际应用的需求而定,在此不作赘述。
105、对当前视频帧中腰线位置以下的人体部分进行拉伸,并输出拉伸后的当前视频帧。例如,具体可以如下:
根据黄金比例(即腿长为身长的0.618)对当前视频帧中腰线位置以下的人体部分进行拉伸,得到结果帧,输出该结果帧。
或者,也可以根据用户的喜好或设置对当前视频帧中腰线位置以下的人体部分进行拉伸,得到结果帧,输出该结果帧。
由于拉伸后,在拉伸分界线(即腰线位置)上有一明显的斜率跳变,使得背景显示较为不自然,影响其图像显示效果,因此,可选的,在进行拉伸之后,还可以对该部分的斜率进行平滑处理,以消除该“跳变”,即在步骤“根据黄金比例对当前视频帧中腰线位置以下的人体部分进行拉伸”之前,该视频数据处理方法还可以包括:
对拉伸后当前视频帧中腰线位置部分的斜率进行平滑处理,得到结果帧。
其中,该平滑处理的策略可以根据实际应用的需求而定,比如,可以在该腰线位置部分设置一过渡带,比如设置一20%的过渡带,然后,对该过渡带内的斜率进行下调,使其拉伸交界处更加平滑柔和。
可选的,若该当前视频帧中存在多个人体,则必然会存在多个腰线位置,那么在拉伸时,可以从中选一腰线位置作为目标腰线位置来进行拉伸,比如,可以选择位置最高的腰线位置来作为目标腰线位置,等等。即步骤“对当前视频帧中腰线位置以下的人体部分进行拉伸,并输出拉伸后的当前视频帧”可以包括:
从当前视频帧的多个腰线位置中选择位置最高的腰线位置作为目标腰线位置,对当前视频帧中目标腰线位置以下的人体部分进行拉伸,并输出拉伸后的当前视频帧。
比如,具体可以根据黄金比例对当前视频帧中目标腰线位置以下的人体部分进行拉伸,并输出拉伸后的当前视频帧。
可选的,可以对拉伸后当前视频帧中目标腰线位置部分的斜率进行平滑处理,然后才进行输出。即步骤“对当前视频帧中目标腰线位置以下的人体部分进行拉伸,并输出拉伸后的当前视频帧”可以包括;
根据黄金比例对当前视频帧中目标腰线位置以下的人体部分进行拉伸,对拉伸后当前视频帧中目标腰线位置部分的斜率进行平滑处理,得到结果帧,输出结果帧。
其中,当当前视频帧中存在多个人体时,其拉伸的程度可以根据实际应用的需求而定,比如,可以取该多个人体拉伸程度的均值来进行拉伸,譬如,可以根据该当前视频帧中每个人体的腿长和身长的黄金比例,确定每个人体的最佳拉伸程度,然后,计算该当前视频帧中所有人体的拉伸程度的均值,根据该均值对当前视频帧中目标腰线位置以下的部分进行拉伸,等等。
需说明的是,在本发明实施例中,对腰线位置(或目标腰线位置)以下的人体部分进行拉伸可以包括只对视频帧中腰线位置(或目标腰线位置)以下的人体图像区域进行拉伸,也可以包括对视频帧中腰线位置(或目标腰线位置)以下的所有图像区域进行整体拉伸。其中,在只对人体图像区域进行拉伸时,可以根据检测到的人体关键点从视频帧中提取出人体图像区域,作为前景部分,并将提取后剩余的其他部分作为背景部分,然后,对前景部分中腰线位置以下的图像区域进行拉伸,再将拉伸后的前景部分与背景部分进行叠加,即可得到拉伸后当前视频帧,在此不作赘述。
在执行步骤105之后,可以返回执行采集当前视频帧的步骤(即步骤101),以对下一视频帧进行拉伸,直至视频采集结束,这样,便可实现对视频中的人体进行实时拉伸,比如对视频中的人体进行长腿的功能。
由上可知,本实施例在采集到当前视频帧后,可以对当前视频帧中的人体关键点的位置进行检测,得到当前视频帧中人体的点位集,然后,获取历史视频帧中人体的点位集,并根据当前视频帧中人体的点位集和历史视频帧中人体的点位集分析当前视频帧中人体关键点的抖动幅度,根据抖动幅度确定该当前视频帧中人体的腰线位置,比如,在根据抖动幅度确定当前视频帧位于稳定态时,采用预设固定腰线值作为该当前视频帧的腰线位置,反之,在非稳定态时,则根据当前视频帧中人体的点位集计算该当前视频帧的腰线位置,等等,此后,便可以对当前视频帧中腰线位置以下的人体部分进行拉伸并输出,进而实现对当前帧中人体进行实时长腿的目的;由于该方案只对腰线以下的部分进行拉伸,而且对于抖动幅度不大的视频帧,采用的是固定腰线,对于抖动幅度较大的视频帧,才采用灵活的腰线,因此,可以在实现对视频帧中人体进行实时长腿,改善长腿效果的同时,较大程度保证视频帧中背景形变的自然平滑,大大提高了实时长腿功能的鲁棒性和适应性,有利于提高视频画面的显示效果。
实施例二、
根据前面实施例所描述的方法,以下将以该视频数据处理装置具体集成在网络设备中为例进行说明。
如图2a所示,一种视频数据处理方法,具体流程可以如下:
201、网络设备从视频流中采集当前视频帧。
例如,网络设备可以通过本地摄像部件采集视频图像,得到当前视频帧;或者,也可以通过接收其他设备,如其他终端或摄像设备发送的视频图像,得到当前视频帧,等等。
比如,如图2f所示,当用户需要对视频进行实时长腿时,可以点击界面中的“长腿”触发键来触发该长腿功能。
可选的,还可以通过其他接口如“触发键”、“输入框”或“滑杠”设置“拉伸”程度,比如,参见图2f,若用户将“滑杠”调整至“65%”处,则意味着可以将当当前视频帧中人体的腿部的长度在原来的基础上,增加65%。
可选的,该用户界面中还可以设置其他的接口,用于调用预设的其他功能函数,以实现该功能函数对应的功能。比如设置一“选择框”,当用户选择该“选择框”,则可以触发调用预设功能函数,使得用户在当前视频帧所设置的“拉伸”程度,默认适用于其他的视频帧(当然,若用户需要对某一帧中的人体腿部的拉伸程度进行重新设置,也可以通过当前视频帧中的用于设置“拉伸”程度的接口来对该默认项进行调整);而当用户未选择该“选择框”时,则用户可以灵活对视频帧中的人体腿部的拉伸程度进行逐帧设置,比如,参见图2f,同样可以通过用户界面中的“滑杠”来进行调整,在此不作赘述。
202、网络设备采用姿势估计模型对该当前视频帧中的人体关键点的位置进行检测,得到当前视频帧中人体的点位集。
其中,该姿势估计模型可以根据实际应用的需求预先进行建立,例如,具体可以采集多个已标注了人体关键点的图像样本,然后,采用这些图像样本对预设姿势估计初始模型进行训练,便可得到该姿势估计模型,具体可参见前面的实施例,在此不作赘述。
其中,人体关键点指的是可以标识出人体关键部位的特征点,其具体可以根据实际应用的需求而定。比如,具体可以包括如图1c和表一所示的22个人体关键点:鼻尖、脖子(华盖穴)、右肩、右手肘、右手腕、左肩、左手肘、左手腕、右胯、右膝盖、右脚踝、左胯、左膝盖、左脚踝、右眼、左眼、左眼、右耳、左耳、右手心、左手心、右脚尖和左脚尖等。
例如,参见图2b,网络设备在采集到当前视频帧之后,可以将该当前视频帧导入至姿势估计模型中进行检测,姿势估计模型对该当前视频帧进行人体关键点位置检测之后,可以输出检测到的多个人体关键点的位置(简称点位),将该多个人体关键点的位置添加至同一集合中,便可得到该当前视频帧中人体的点位集。
需说明的是,由于人体的姿势的变化,在对该当前视频帧中的人体关键点的位置进行检测时,可能会存在若干个人体关键点无法检测到,譬如,在当人体的左手放在背后时,可能检测不到“左手肘”、“左手腕”和“左手心”等人体关键点,则此时,可以沿用上一次的有效人体关键点,比如,若该当前视频帧的上上一帧的“左手肘”、“左手腕”和“左手心”等人体关键点是有效的,则在可以将该当前视频帧的上上一帧的“左手肘”、“左手腕”和“左手心”等人体关键点作为该当前视频帧中人体的点位集中的“左手肘”、“左手腕”和“左手心”等人体关键点,以此类推,等等。
可选的,在得到当前视频帧中人体的点位集之后,网络设备还可以保存该当前视频帧中人体的点位集,这样,若后续需要获取该当前视频帧中人体的点位集时(该当前视频帧可以作为后续视频帧的历史视频帧),便可以直接读取该保存的点位集,详见步骤203。
203、网络设备获取该视频流的历史视频帧中人体的点位集。
例如,网络设备可以获取以该当前视频帧为起点,过去预设时间范围内的视频帧,得到历史视频帧,然后,对该历史视频帧中的人体关键点的位置进行检测,得到该历史视频帧中人体的点位集。
又比如,若在此之前,已保存了历史视频帧中人体的点位集,则此时,网络设备也可以直接读取该历史视频帧中人体的点位集,即步骤“网络设备获取历史视频帧中人体的点位集”也可以包括:
网络设备从该视频流中,获取以该当前视频帧为起点,过去预设时间范围内的视频帧,得到历史视频帧,确定是否保存了该历史视频帧中人体的点位集,若是,则读取该保存的历史视频帧中人体的点位集;若否,则对该历史视频帧中的人体关键点的位置进行检测,得到该历史视频帧中人体的点位集。
其中,该预设时间范围可以根据实际应用的需求而定,比如,以当前视频帧具体为第10帧,其该预设时间范围为5帧为例,则此时,网络设备可以获取第5帧、第6帧、第7帧、第8帧和第9帧的视频帧作为历史视频帧,然后,确定是否存在这些历史视频帧中人体的点位集,如果存在,则直接读取相应的点位集,如果不存在,则对该历史视频帧中的人体关键点的位置进行检测,比如,如果第9帧没有保存相应的点位集,则此时需要对第9帧中的人体关键点的位置进行检测,以得到第9帧的点位集,以此类推,等等。
其中,对历史视频帧中的人体关键点的位置进行检测的方式则与对当前视频帧中的人体关键点的检测方式类似,即具体可以采用姿势估计模型对该历史视频帧中的人体关键点的位置进行检测,其中,该姿势估计模型可参见步骤202中的描述,在此不作赘述。
204、网络设备采用预设点位平滑算法,根据该历史视频帧中人体的点位集对该当前视频帧中人体的点位集进行平滑处理,得到当前视频帧中人体的平滑后点位集。
可选的,该点位平滑算法可以根据实际应用的需求进行设置,比如,具体可以从时间、空间和置信度等维度对该当前视频帧中人体的点位集进行平滑处理,具体可以如下:
(1)时间维度;
网络设备根据该历史视频帧中人体的点位集,在时间维度上对该当前视频帧中人体的点位集进行平滑处理,得到时间平滑结果。
例如,具体可以从该历史视频帧中选择N帧(N为大于1的正整数),然后,在时间维度上,将该当前视频帧中人体的点位集在该N帧之间进行平滑,比如,可以对该N帧的时间向量进行加权(即加权和)运算,如下:
Figure BDA0001718836890000181
其中,
Figure BDA0001718836890000182
为该当前视频帧(即第i帧)的点位集中某个人体关键点S的时间平滑结果,Pj为该N帧历史视频帧里某一帧j中人体关键点S的时间向量,αj为Pj的权重,离当前视频帧越近,该权重αj越大。
(2)空间维度;
网络设备根据该历史视频帧中人体的点位集,在空间维度上对该当前视频帧中人体的点位集进行平滑处理,得到空间平滑结果。
例如,网络设备具体可以从该历史视频帧中选择该当前视频帧的上一帧,然后,将该上一帧的点位集中人体关键点的空间向量加上偏移量,便可得到该当前视频帧中相应人体关键点的空间平滑结果;比如,对该上一帧的点位集中的右胯点加上偏移量,便可得到该当前视频帧中右胯点的空间平滑结果,以此类推,便可得到该当前视频帧中所有人体关键点(即点位集中所有点位)对应的空间平滑结果,用公式表示即为:
Figure BDA0001718836890000191
其中,
Figure BDA0001718836890000192
为该当前视频帧(即第i帧)的点位集中某个人体关键点S的空间平滑结果,Pi-1为该当前视频帧的上一帧(即第i-1帧)的点位集中人体关键点S的空间向量,Pi为该当前视频帧中人体的点位集中人体关键点S的空间向量;f为偏移函数(非线性),其具有阻尼作用,通过该空间维度上的平滑处理,可以减少上下帧点位之间的差距。
(3)置信度维度;
网络设备根据该历史视频帧中人体的点位集,在置信度维度上对该当前视频帧中人体的点位集进行平滑处理,得到置信度平滑结果。
例如,网络设备具体可以从该历史视频帧中选择M帧(M为大于1的正整数),然后,在置信度维度上,将该当前视频帧中人体的点位集在该M帧之间进行平滑,比如,可以对该M帧的置信度进行加权(即加权和)运算,如下:
Figure BDA0001718836890000193
其中,
Figure BDA0001718836890000194
为该当前视频帧(即第i帧)的点位集中某个人体关键点S的置信度平滑结果,Pk为该M帧历史视频帧里的某一帧k中人体关键点S的置信度向量,βk为Pk的权重,其可以由该需要计算权重的帧的置信度scorek除以该M帧历史视频帧的置信度之和∑score来得到,如下:
βk=scorek/∑score。
其中,置信度可以在对人体关键点的位置进行检测时得到,详见步骤202和203。置信度越大,表示该人体关键点的所检测出来的位置越准确。
在得到时间平滑结果、空间平滑结果和置信度平滑结果之后,便可以对该时间平滑结果、空间平滑结果和置信度平滑结果进行加权(即加权和)运算,得到当前视频帧中人体的平滑后点位集,用公式表示可以如下:
Figure BDA0001718836890000201
其中,Pi为当前视频帧(即第i帧)的点位集中某个人体关键点S的总平滑结果,依次类推,计算出该当前视频帧点位集中的所有人体关键点的总平滑结果,即可得到当前视频帧中人体的平滑后点位集(该平滑后点位集包括了该当前视频帧点位集中的所有人体关键点的总平滑结果);γ1、γ2和γ3分别为
Figure BDA0001718836890000202
Figure BDA0001718836890000203
的权重,该权重具体可以根据实际应用的需求进行设置,在此不再赘述。
205、网络设备根据该当前视频帧中人体的平滑后点位集和历史视频帧中人体的点位集分析当前视频帧中人体关键点的抖动幅度。例如,参见表一,可以如下:
网络设备从该当前视频帧中人体的点位集中获取“右胯”人体关键点和“左胯”人体关键点,得到当前视频帧中人体胯部的点位,以及从该历史视频帧中人体的点位集中获取“右胯”人体关键点和“左胯”人体关键点,得到历史视频帧中人体胯部的点位,然后,根据当前视频帧中人体胯部的点位计算当前视频帧中人体的腰线,根据历史视频帧中人体胯部的点位计算历史视频帧中人体的腰线,计算当前视频帧中人体的腰线与历史视频帧中人体的腰线的距离,得到当前视频帧中人体关键点的抖动幅度。
比如,具体可以计算当前视频帧中“右胯”点和“左胯”点的平均值,得到当前视频帧中人体的腰线;以及计算历史视频帧中“右胯”点和“左胯”点的平均值,得到历史视频帧中人体的腰线;然后,计算该当前视频帧中人体的腰线与历史视频帧中人体的腰线的距离,便可得到当前视频帧中人体关键点的抖动幅度。
206、网络设备确定该抖动幅度是否小于预设阈值,若是,则确定该当前视频帧位于稳定态,于是执行步骤207,若否,则确定该当前视频帧位于非稳定态,于是执行步骤208。
其中,该预设阈值可以根据实际应用的需求进行设置,比如,以该预设阈值为10%为例,则此时,网络设备可以该抖动幅度(即上下帧腰线浮动)是否小于10%,若是,则定该当前视频帧位于稳定态,于是执行步骤207,若否,比如,其上下帧浮动为20%,则可以确定该当前视频帧位于非稳定态,于是执行步骤208。
207、网络设备根据抖动幅度确定该当前视频帧位于稳定态时,采用预设腰线值作为该当前视频帧的腰线位置。
其中,该预设腰线值可以根据实际应用的需求进行设置,比如,可以采用该当前帧的前若干个历史视频帧的平均腰线位置作为该腰线值,或者,也可以采用该当前帧的上一帧的腰线位置作为该腰线值,等等,在此不作赘述。
208、网络设备根据抖动幅度确定该当前视频帧位于非稳定态时,根据当前视频帧中人体的点位集计算该当前视频帧的腰线位置,例如,具体可以如下:
从该当前视频帧中人体的点位集中获取当前视频帧中人体胯部的点位,根据当前视频帧中人体胯部的点位计算当前视频帧中人体的腰线,根据计算得到的腰线确定该当前视频帧的腰线位置。
比如,具体可以从该当前视频帧中人体的点位集中获取当前视频帧中人体的“右胯”点和“左胯”点,然后,计算该“右胯”点和“左胯”点的平均值,得到当前视频帧中人体的腰线,可以直接将该腰线的位置(如坐标)作为该当前视频帧的腰线位置,也可以按照预设策略对该腰线的位置进行微调后,作为该当前视频帧的腰线位置。
其中,该预设策略可以根据实际应用的需求而定,在此不作赘述。
209、网络设备对当前视频帧中腰线位置以下的人体部分进行拉伸。
其中,在拉伸时,可以按照黄金比例(即腿长为身长的0.618)来进行拉伸,或者,也可以根据用户的喜好或设置进行拉伸,比如,可以将腰线位置以下的部分拉伸为原来的1.2倍或1.5倍,等等。
可选的,若该当前视频帧中存在多个人体,则必然会存在多个腰线位置,那么在拉伸时,网络设备可以从中选一腰线位置作为目标腰线位置来进行拉伸,比如,可以从当前视频帧的多个腰线位置中选择位置最高的腰线位置作为目标腰线位置,然后,对当前视频帧中目标腰线位置以下的人体部分进行拉伸。具体的拉伸程度可以根据实际应用的需求而定,比如,可以取该多个人体拉伸程度的均值来进行拉伸,如下:
根据该当前视频帧中每个人体的腿长和身长的黄金比例,确定每个人体的最佳拉伸程度,然后,计算该当前视频帧中所有人体的拉伸程度的均值,根据该均值对当前视频帧中目标腰线位置以下的人体部分进行拉伸,等等。
可选的,由于拉伸后,在拉伸分界线(即腰线位置)上有一明显的斜率跳变,使得背景显示较为不自然,影响其图像显示效果;比如,若腰线位置为“y=0.5”,那么,在拉伸时,将会从“y=0.5”这条线开始拉伸,假设拉伸程度为20%,则该当前视频帧中的像素点的斜率变化可以如图2c所示,从图2c可以看到,在y=0.5有一明显的斜率跳变,因此,为了消除该“跳变”,可选的,在进行拉伸之后,还可以对该部分的斜率进行平滑处理,即该视频数据处理方法还可以执行步骤210。
需说明的是,在本发明实施例中,对腰线位置(或目标腰线位置)以下的人体部分进行拉伸方式可以有多种,例如,可以如下:
网络设备对视频帧中腰线位置(或目标腰线位置)以下的人体图像区域进行拉伸。
比如,具体可以根据检测到的人体关键点从视频帧中提取出人体图像区域,作为前景部分,并将提取后剩余的其他部分作为背景部分,然后,对前景部分中腰线位置以下的图像区域进行拉伸,再将拉伸后的前景部分与背景部分进行叠加,即可得到拉伸后当前视频帧。
可选的,为了提高简化操作,提高处理效率,也可以不对前景和背景进行划分,而是对视频帧中腰线位置(或目标腰线位置)以下的所有图像区域进行整体拉伸,在此不作赘述。
210、网络设备对拉伸后当前视频帧中腰线位置部分的斜率进行平滑处理,得到结果帧,然后执行步骤211。
其中,该平滑处理的策略可以根据实际应用的需求而定,比如,可以在该腰线位置部分设置一过渡带然后,对该过渡带内的斜率进行下调,使其拉伸交界处更加平滑、以及柔和。
例如,还是以图2c中的例子为例,由于在y=0.5有一明显的斜率跳变,因此,可以在y=0.5的位置设置一过渡带,比如,设置一20%的过渡带,然后,将该过渡带内的斜率从1.0平滑至0.8,由图2d可以看到,平滑处理后的拉伸交界处相对于图2c中的拉伸交界处而言,显得更加平滑柔和。
当然,该过渡带的具体设置、以及斜率下调的幅度可以根据实际应用的需求进行灵活设置,上述的例子仅仅为示例,并不作为限定。
211、网络设备输出结果帧。
例如,网络设备可以在终端界面上显示该结果帧,比如,参见图2f中的右图,可以显示该拉伸了腿部之后的视频帧,进而实现在录制视频时,实时长腿的功能。
可选的,如图2f所示,用户可以通过调整界面上的“滑杠”,来灵活调整当前视频帧中人体腿部的拉伸程度。
可选,用户还可以通过预设触发键,如通过按压视频画面来查看拉伸前后的对比效果。比如,如图2e所示,该图为拉伸前和拉伸后的当前视频帧的对比图,其中,左图为拉伸前的当前视频帧,右图为拉伸后的当前视频帧,可见,在对腰线位置以下的人体部分进行拉伸之后,左图中的人体的腿长明显大于右图中人体的腿长。
需说明的是,在执行步骤210之后,可以返回执行采集当前视频帧的步骤(即步骤201),以对下一视频帧进行拉伸,直至视频采集结束,这样,便可实现对视频中的人体进行实时拉伸,比如对视频中的人体进行长腿的功能。
由上可知,本实施例在采集到当前视频帧后,可以对当前视频帧中的人体关键点的位置进行检测,得到当前视频帧中人体的点位集,然后,获取历史视频帧中人体的点位集,根据该历史视频帧中人体的点位集对该当前视频帧中人体的点位集进行平滑处理,并根据当前视频帧中人体的平滑后点位集和历史视频帧中人体的点位集分析当前视频帧中人体关键点的抖动幅度,在根据抖动幅度确定当前视频帧位于稳定态时,采用预设固定腰线值作为该当前视频帧的腰线位置,反之,在非稳定态时,则根据当前视频帧中人体的点位集计算该当前视频帧的腰线位置,此后,对当前视频帧中腰线位置以下的人体部分进行拉伸并输出,进而实现对当前帧中人体进行实时长腿的目的;由于该方案只对腰线以下的部分进行拉伸,而且对于抖动幅度不大的视频帧,采用的是固定腰线,对于抖动幅度较大的视频帧,才采用灵活的腰线,因此,可以在实现对视频帧中人体进行实时长腿,改善长腿效果的同时,较大程度保证视频帧中背景形变的自然平滑,大大提高了实时长腿功能的鲁棒性和适应性,有利于提高视频画面的显示效果。
此外,由于该方案在得到当前视频帧中人体的点位集之后,还可以对该点位集进行平滑处理,因此,可以大大降低由于人体剧烈运动所导致的上下帧之间的点位差距较大的问题,可以进一步改善视频画面的处理效果。
实施例三、
为了更好地实施以上方法,本发明实施例还可以提供一种视频数据处理装置,该视频数据处理装置具体可以集成在网络设备中,该网络设备可以是终端或服务器等设备。
例如,如图3a所示,该视频数据处理装置可以包括检测单元301、获取单元302、分析单元303、确定单元304和拉伸单元305,如下:
(1)检测单元301;
检测单元301,用于采集当前视频帧,并对该当前视频帧中的人体关键点的位置进行检测,得到当前视频帧中人体的点位集。
例如,该检测单元301,具体可以用于采用姿势估计模型对该当前视频帧中的人体关键点的位置进行检测,得到当前视频帧中人体的点位集。
其中,该姿势估计模型可以根据实际应用的需求预先进行建立,可以由其他设备建立后提供给该视频数据处理装置,也可以由视频数据处理装置自行进行建立,即可选的,该视频数据处理装置还可以包括建立单元,具体可以用于采集多个已标注了人体关键点的图像样本,然后,采用这些图像样本对预设姿势估计初始模型进行训练,便可得到该姿势估计模型。其中,训练的方式具体可参见前面的方法实施例,在此不作赘述。
其中,人体关键点指的是可以标识出人体关键部位的特征点,其具体可以根据实际应用的需求而定,比如,具体可包括表一所示的22个人体关键点,详见前面的实施例,在此不作赘述。
需说明的是,由于人体的姿势的变化,该当前视频帧中人体的点位集中可能会丢失某些人体关键点,若某些关键点发生了丢失(即关键点失效),则此时,可以沿用上一次的有效人体关键点。
可选的,在得到当前视频帧中人体的点位集之后,还可以保存该当前视频帧中人体的点位集,这样,若后续需要获取该当前视频帧中人体的点位集时(该当前视频帧可以作为后续视频帧的历史视频帧),便可以直接读取该保存的点位集;即如图3b所示,该视频数据处理装置还可以包括保存单元306,如下:
该保存单元306,用于保存该当前视频帧中人体的点位集。
(2)获取单元302;
获取单元302,用于获取历史视频帧中人体的点位集。
其中,历史视频帧指的是在该视频流中,以该当前视频帧为起点,过去预设时间范围内的视频帧。
可选的,获取历史视频帧中人体的点位集的方式可以有多种,例如:
该获取单元302,具体可以用于获取以该当前视频帧为起点,过去预设时间范围内的视频帧,得到历史视频帧,然后,对该历史视频帧中的人体关键点的位置进行检测,得到该历史视频帧中人体的点位集。
又比如,若在此之前,已保存了历史视频帧中人体的点位集,则此时,可以直接读取该历史视频帧中人体的点位集,即:
该获取单元302,具体可以用于获取以该当前视频帧为起点,过去预设时间范围内的视频帧,得到历史视频帧,确定是否保存了该历史视频帧中人体的点位集,若是,则读取该历史视频帧中人体的点位集;若否,则对该历史视频帧中的人体关键点的位置进行检测,得到该历史视频帧中人体的点位集。
(3)分析单元303;
分析单元303,用于根据该当前视频帧中人体的点位集和历史视频帧中人体的点位集分析当前视频帧中人体关键点的抖动幅度。
例如,该分析单元303可以包括点位获取子单元和分析子单元,如下:
该点位获取子单元,用于从该当前视频帧中人体的点位集中获取当前视频帧中人体胯部的点位,以及从该历史视频帧中人体的点位集中获取历史视频帧中人体胯部的点位。
该分析子单元,用于根据当前视频帧中人体胯部的点位和历史视频帧中人体胯部的点位分析当前视频帧中人体关键点的抖动幅度。
例如,该分析子单元,具体可以用于根据当前视频帧中人体胯部的点位计算当前视频帧中人体的腰线;根据历史视频帧中人体胯部的点位计算历史视频帧中人体的腰线;计算当前视频帧中人体的腰线与历史视频帧中人体的腰线的距离,得到当前视频帧中人体关键点的抖动幅度。
比如,该分析子单元,具体可以用于计算当前视频帧中“右胯”点和“左胯”点的平均值,得到当前视频帧中人体的腰线;以及计算历史视频帧中“右胯”点和“左胯”点的平均值,得到历史视频帧中人体的腰线;然后,计算该当前视频帧中人体的腰线与历史视频帧中人体的腰线的距离,便可得到当前视频帧中人体关键点的抖动幅度。
(4)确定单元304;
确定单元304,用于根据抖动幅度确定所述当前视频帧中人体的腰线位置。
例如,该确定单元304,具体可以用于根据抖动幅度确定该当前视频帧位于稳定态时,采用预设腰线值作为该当前视频帧的腰线位置;根据抖动幅度确定该当前视频帧位于非稳定态时,根据当前视频帧中人体的点位集计算该当前视频帧的腰线位置。
譬如,该确定单元304,具体可以用于在确定抖动幅度小于预设阈值时,采用预设腰线值作为该当前视频帧的腰线位置;在确定抖动幅度大于等于预设阈值时,根据当前视频帧中人体的点位集计算该当前视频帧的腰线位置。
比如,该确定单元304,具体可以用于在根据抖动幅度确定所述当前视频帧位于非稳定态时(比如在确定抖动幅度大于等于预设阈值时),从该当前视频帧中人体的点位集中获取当前视频帧中人体胯部的点位,根据当前视频帧中人体胯部的点位计算当前视频帧中人体的腰线,根据计算得到的腰线确定该当前视频帧的腰线位置。
其中,该预设阈值可以根据实际应用的需求进行设置,比如,可以设置上下帧腰线浮动在“10%”之内,为稳定态,而超过“10%”,则为非稳定态,当然,还可以设置当连续X1帧腰线浮动在某个幅度如“10%”之内,则确定为稳定态,而当连续X2帧腰线浮动在某个幅度如“10%”之外,则为非稳定态,等等。其中,该X1和X2也可以根据实际应用的需求而定,比如,X1可以为60帧,X2可以为100帧,等等,在此不作赘述。
(5)拉伸单元305;
拉伸单元305,用于对当前视频帧中腰线位置以下的人体部分进行拉伸,并输出拉伸后的当前视频帧。
例如,该拉伸单元305,具体可以用于根据黄金比例(即腿长为身长的0.618)对当前视频帧中腰线位置以下的部分进行拉伸,得到结果帧,输出该结果帧。
由于拉伸后,在拉伸分界线(即腰线位置)上有一明显的斜率跳变,使得背景显示较为不自然,影响其图像显示效果,因此,可选的,在进行拉伸之后,还可以对该部分的斜率进行平滑处理,以消除该“跳变”,即:
该拉伸单元305,具体可以用于根据黄金比例对当前视频帧中腰线位置以下的人体部分进行拉伸,对拉伸后当前视频帧中腰线位置部分的斜率进行平滑处理,得到结果帧,输出该结果帧。
其中,该平滑处理的策略可以根据实际应用的需求而定,比如,可以在该腰线位置部分设置一过渡带,比如设置一20%的过渡带,然后,对该过渡带内的斜率进行下调,使其拉伸交界处更加平滑和柔和。
可选的,若该当前视频帧中存在多个人体,则必然会存在多个腰线位置,那么在拉伸时,可以从中选一腰线位置作为目标腰线位置来进行拉伸,比如,可以选择位置最高的腰线位置来作为目标腰线位置,等等。即:
该拉伸单元305,具体可以用于从当前视频帧的多个腰线位置中选择位置最高的腰线位置作为目标腰线位置,对当前视频帧中目标腰线位置以下的人体部分进行拉伸并输出。
例如,该拉伸单元305,具体可以用于根据黄金比例对当前视频帧中目标腰线位置以下的部分进行拉伸,对拉伸后当前视频帧中目标腰线位置部分的斜率进行平滑处理,得到结果帧,输出该结果帧。
此后,拉伸单元305可以返回触发检测单元301执行采集当前视频帧的步骤,以对下一视频帧进行拉伸,直至视频采集结束,这样,便可实现对视频中的人体进行实时拉伸,比如对视频中的人体进行长腿的功能。
可选的,由于人体剧烈运动(比如跳舞)时,上下帧之间的点位可能差距较大,可能会造成点位剧烈抖动的问题,因此,为了避免该问题,改善处理效果,在分析人体关键点的抖动幅度之前,还可以对这些点位进行平滑处理;即如图3b所示,该视频数据处理装置还可以包括平滑单元307,如下:
该平滑单元307,用于采用预设点位平滑算法,根据该历史视频帧中人体的点位集对该当前视频帧中人体的点位集进行平滑处理,得到当前视频帧中人体的平滑后点位集。
则此时,该分析单元,具体用于根据该当前视频帧中人体的平滑后点位集和历史视频帧中人体的点位集分析当前视频帧中人体关键点的抖动幅度。
例如,该平滑单307元,具体可以用于:根据该历史视频帧中人体的点位集,在时间维度上对该当前视频帧中人体的点位集进行平滑处理,得到时间平滑结果;根据该历史视频帧中人体的点位集,在空间维度上对该当前视频帧中人体的点位集进行平滑处理,得到空间平滑结果;根据该历史视频帧中人体的点位集,在置信度维度上对该当前视频帧中人体的点位集进行平滑处理,得到置信度平滑结果;对该时间平滑结果、空间平滑结果和置信度平滑结果进行加权运算,得到当前视频帧中人体的平滑后点位集,具体可参见前面的方法实施例,在此不作赘述。
具体实施时,以上各个单元可以作为独立的实体来实现,也可以进行任意组合,作为同一或若干个实体来实现,以上各个单元的具体实施可参见前面的方法实施例,在此不再赘述。
由上可知,本实施例的视频数据处理装置在采集到当前视频帧后,可以由检测单元301对当前视频帧中的人体关键点的位置进行检测,得到当前视频帧中人体的点位集,然后,由获取单元302获取历史视频帧中人体的点位集,并由分析单元303根据当前视频帧中人体的点位集和历史视频帧中人体的点位集分析当前视频帧中人体关键点的抖动幅度,由确定单元304根据抖动幅度确定当前视频帧中人体的腰线位置,比如,在根据抖动幅度确定当前视频帧位于稳定态时,由确定单元304采用预设固定腰线值作为该当前视频帧的腰线位置,反之,在非稳定态时,则由确定单元304根据当前视频帧中人体的点位集计算该当前视频帧的腰线位置,等等,此后,由拉伸单元305对当前视频帧中腰线位置以下的人体部分进行拉伸并输出,进而实现对当前帧中人体进行实时长腿的目的;由于该方案只对腰线以下的部分进行拉伸,而且对于抖动幅度不大的视频帧,采用的是固定腰线,对于抖动幅度较大的视频帧,才采用灵活的腰线,因此,可以在实现对视频帧中人体进行实时长腿,改善长腿效果的同时,较大程度保证视频帧中背景形变的自然平滑,大大提高了实时长腿功能的鲁棒性和适应性,有利于提高视频画面的显示效果。
实施例四、
本发明实施例还提供一种网络设备,具体可以为终端,也可以为服务器,该网络设备可以集成本发明实施例所提供的任一种视频数据处理装置。
例如,如图4所示,其示出了本发明实施例所涉及的网络设备的结构示意图,具体来讲:
该网络设备可以包括一个或者一个以上处理核心的处理器401、一个或一个以上计算机可读存储介质的存储器402、电源403和输入单元404等部件。本领域技术人员可以理解,图4中示出的网络设备结构并不构成对网络设备的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。其中:
处理器401是该网络设备的控制中心,利用各种接口和线路连接整个网络设备的各个部分,通过运行或执行存储在存储器402内的软件程序和/或模块,以及调用存储在存储器402内的数据,执行网络设备的各种功能和处理数据,从而对网络设备进行整体监控。可选的,处理器401可包括一个或多个处理核心;优选的,处理器401可集成应用处理器和调制解调处理器,其中,应用处理器主要处理操作系统、用户界面和应用程序等,调制解调处理器主要处理无线通信。可以理解的是,上述调制解调处理器也可以不集成到处理器401中。
存储器402可用于存储软件程序以及模块,处理器401通过运行存储在存储器402的软件程序以及模块,从而执行各种功能应用以及数据处理。存储器402可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序(比如声音播放功能、图像播放功能等)等;存储数据区可存储根据网络设备的使用所创建的数据等。此外,存储器402可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。相应地,存储器402还可以包括存储器控制器,以提供处理器401对存储器402的访问。
网络设备还包括给各个部件供电的电源403,优选的,电源403可以通过电源管理系统与处理器401逻辑相连,从而通过电源管理系统实现管理充电、放电、以及功耗管理等功能。电源403还可以包括一个或一个以上的直流或交流电源、再充电系统、电源故障检测电路、电源转换器或者逆变器、电源状态指示器等任意组件。
该网络设备还可包括输入单元404,该输入单元404可用于接收输入的数字或字符信息,以及产生与用户设置以及功能控制有关的键盘、鼠标、操作杆、光学或者轨迹球信号输入。
尽管未示出,网络设备还可以包括显示单元等,在此不再赘述。具体在本实施例中,网络设备中的处理器401会按照如下的指令,将一个或一个以上的应用程序的进程对应的可执行文件加载到存储器402中,并由处理器401来运行存储在存储器402中的应用程序,从而实现各种功能,如下:
采集当前视频帧,并对该当前视频帧中的人体关键点的位置进行检测,得到当前视频帧中人体的点位集;获取历史视频帧中人体的点位集,根据该当前视频帧中人体的点位集和历史视频帧中人体的点位集分析当前视频帧中人体关键点的抖动幅度;根据抖动幅度确定该当前视频帧中人体的腰线位置,比如,根据抖动幅度确定该当前视频帧位于稳定态时,采用预设腰线值作为该当前视频帧的腰线位置;根据抖动幅度确定该当前视频帧位于非稳定态时,根据当前视频帧的点位集计算该当前视频帧的腰线位置,等等;然后,对当前视频帧中腰线位置以下的人体部分进行拉伸,并输出拉伸后的当前视频帧。
例如,具体可以从该当前视频帧中人体的点位集中获取当前视频帧中人体胯部的点位,以及从该历史视频帧中人体的点位集中获取历史视频帧中人体胯部的点位,然后,根据当前视频帧中人体胯部的点位和历史视频帧中人体胯部的点位分析当前视频帧中人体关键点的抖动幅度,在确定该抖动幅度是否小于预设阈值,若是,则确定该当前视频帧位于稳定态,若否,则确定该当前视频帧位于非稳定态。
其中,该预设阈值可以根据实际应用的需求进行设置,在此不作赘述。
可选的,由于人体剧烈运动(比如跳舞)时,上下帧之间的点位可能差距较大,可能会造成点位剧烈抖动的问题,因此,为了避免该问题,改善处理效果,在分析人体关键点的抖动幅度之前,还可以对这些点位进行平滑处理;即处理器401还可以运行存储在存储器402中的应用程序,从而实现以下功能:
采用预设点位平滑算法,根据该历史视频帧中人体的点位集对该当前视频帧中人体的点位集进行平滑处理,得到当前视频帧中人体的平滑后点位集。
这样,后续便可以根据该当前视频帧中人体的平滑后点位集和历史视频帧中人体的点位集分析当前视频帧中人体关键点的抖动幅度。
比如,具体可以从该当前视频帧中人体的平滑后点位集中获取当前视频帧中人体胯部的点位,以及从该历史视频帧中人体的点位集中获取历史视频帧中人体胯部的点位,然后,根据当前视频帧中人体胯部的点位和历史视频帧中人体胯部的点位分析当前视频帧中人体关键点的抖动幅度,等等。
可选的,该点位平滑算法可以根据实际应用的需求进行设置,比如,具体可以从时间、空间和置信度等维度对该当前视频帧中人体的点位集进行平滑处理,详见前面的实施例,在此不再赘述。
在对当前视频帧进行拉伸并输出之后,可以返回执行采集当前视频帧的操作,以对下一视频帧进行拉伸,直至视频采集结束,这样,便可实现对视频中的人体进行实时拉伸,比如对视频中的人体进行长腿的功能。
以上各个操作的具体实施可参见前面的实施例,在此不作赘述。
由上可知,本实施例的网络设备在采集到当前视频帧后,可以对当前视频帧中的人体关键点的位置进行检测,得到当前视频帧中人体的点位集,然后,获取历史视频帧中人体的点位集,并根据当前视频帧中人体的点位集和历史视频帧中人体的点位集分析当前视频帧中人体关键点的抖动幅度,在根据抖动幅度确定当前视频帧位于稳定态时,采用预设固定腰线值作为该当前视频帧的腰线位置,反之,在非稳定态时,则根据当前视频帧中人体的点位集计算该当前视频帧的腰线位置,此后,对当前视频帧中腰线位置以下的人体部分进行拉伸并输出,进而实现对当前帧中人体进行实时长腿的目的;由于该方案只对腰线以下的部分进行拉伸,而且对于抖动幅度不大的视频帧,采用的是固定腰线,对于抖动幅度较大的视频帧,才采用灵活的腰线,因此,可以在实现对视频帧中人体进行实时长腿,改善长腿效果的同时,较大程度保证视频帧中背景形变的自然平滑,大大提高了实时长腿功能的鲁棒性和适应性,有利于提高视频画面的显示效果。
实施例五、
本领域普通技术人员可以理解,上述实施例的各种方法中的全部或部分步骤可以通过指令来完成,或通过指令控制相关的硬件来完成,该指令可以存储于一计算机可读存储介质中,并由处理器进行加载和执行。
为此,本发明实施例提供一种存储介质,其中存储有多条指令,该指令能够被处理器进行加载,以执行本发明实施例所提供的任一种视频数据处理方法中的步骤。例如,该指令可以执行如下步骤:
从视频流中采集当前视频帧,并对该当前视频帧中的人体关键点的位置进行检测,得到当前视频帧中人体的点位集;获取历史视频帧中人体的点位集,根据该当前视频帧中人体的点位集和历史视频帧中人体的点位集分析当前视频帧中人体关键点的抖动幅度;根据抖动幅度确定该当前视频帧中人体的腰线位置,比如,根据抖动幅度确定该当前视频帧位于稳定态时,采用预设腰线值作为该当前视频帧的腰线位置;根据抖动幅度确定该当前视频帧位于非稳定态时,根据当前视频帧中人体的点位集计算该当前视频帧的腰线位置,等等;然后u,对当前视频帧中腰线位置以下的人体部分进行拉伸,并输出拉伸后的当前视频帧。
例如,具体可以从该当前视频帧中人体的点位集中获取当前视频帧中人体胯部的点位,以及从该历史视频帧中人体的点位集中获取历史视频帧中人体胯部的点位,然后,根据当前视频帧中人体胯部的点位和历史视频帧中人体胯部的点位分析当前视频帧中人体关键点的抖动幅度,在确定该抖动幅度是否小于预设阈值,若是,则确定该当前视频帧位于稳定态,若否,则确定该当前视频帧位于非稳定态。
其中,该预设阈值可以根据实际应用的需求进行设置,在此不作赘述。
可选的,由于人体剧烈运动(比如跳舞)时,上下帧之间的点位可能差距较大,可能会造成点位剧烈抖动的问题,因此,为了避免该问题,改善处理效果,在分析人体关键点的抖动幅度之前,还可以对这些点位进行平滑处理;即该指令还可以执行如下步骤:
采用预设点位平滑算法,根据该历史视频帧中人体的点位集对该当前视频帧中人体的点位集进行平滑处理,得到当前视频帧中人体的平滑后点位集。
这样,后续便可以根据该当前视频帧中人体的平滑后点位集和历史视频帧中人体的点位集分析当前视频帧中人体关键点的抖动幅度。
可选的,该点位平滑算法可以根据实际应用的需求进行设置,比如,具体可以从时间、空间和置信度等维度对该当前视频帧中人体的点位集进行平滑处理,详见前面的实施例,在此不再赘述。
在对当前视频帧进行拉伸并输出之后,可以返回执行采集当前视频帧的操作,以对下一视频帧进行拉伸,直至视频采集结束,这样,便可实现对视频中的人体进行实时拉伸,比如对视频中的人体进行长腿的功能。
以上各个操作的具体实施可参见前面的实施例,在此不再赘述。
其中,该存储介质可以包括:只读存储器(ROM,Read Only Memory)、随机存取记忆体(RAM,Random Access Memory)、磁盘或光盘等。
由于该存储介质中所存储的指令,可以执行本发明实施例所提供的任一种一种视频数据处理方法中的步骤,因此,可以实现本发明实施例所提供的任一种视频数据处理方法所能实现的有益效果,详见前面的实施例,在此不再赘述。
以上对本发明实施例所提供的一种视频数据处理方法、装置和存储介质进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。

Claims (16)

1.一种视频数据处理方法,其特征在于,包括:
从视频流中采集当前视频帧,并对所述当前视频帧中的人体关键点的位置进行检测,得到当前视频帧中人体的点位集;
获取历史视频帧中人体的点位集,所述历史视频帧为在所述视频流中,以所述当前视频帧为起点,过去预设时间范围内的视频帧;
采用预设点位平滑算法,根据所述历史视频帧中人体的点位集,分别从时间、空间和置信度的维度对所述当前视频帧中人体的点位集进行平滑处理,并基于平滑处理得到的时间平滑结果、空间平滑结果和置信度平滑结果计算当前视频帧中人体的平滑后点位集;
根据所述当前视频帧中人体的平滑后点位集和历史视频帧中人体的点位集分析当前视频帧中人体关键点的抖动幅度;
根据抖动幅度确定所述当前视频帧中人体的腰线位置;
对当前视频帧中腰线位置以下的人体部分进行拉伸,并输出拉伸后的当前视频帧。
2.根据权利要求1所述的方法,其特征在于,所述根据抖动幅度确定所述当前视频帧中人体的腰线位置,包括:
根据抖动幅度确定所述当前视频帧位于稳定态时,采用预设腰线值作为所述当前视频帧中人体的腰线位置;
根据抖动幅度确定所述当前视频帧位于非稳定态时,根据当前视频帧中人体的点位集计算所述当前视频帧中人体的腰线位置。
3.根据权利要求1所述的方法,其特征在于,所述对所述当前视频帧中的人体关键点的位置进行检测,得到当前视频帧中人体的点位集,包括:
采用姿势估计模型对所述当前视频帧中的人体关键点的位置进行检测,得到当前视频帧中人体的点位集。
4.根据权利要求1所述的方法,其特征在于,所述得到当前视频帧中人体的点位集之后,还包括:
保存所述当前视频帧中人体的点位集。
5.根据权利要求4所述的方法,其特征在于,所述获取历史视频帧中人体的点位集,包括:
获取以所述当前视频帧为起点,过去预设时间范围内的视频帧,得到历史视频帧;
确定是否保存了所述历史视频帧中人体的点位集;
若是,则读取所述历史视频帧中人体的点位集;
若否,则对所述历史视频帧中的人体关键点的位置进行检测,得到所述历史视频帧中人体的点位集。
6.根据权利要求1至5任一项所述的方法,其特征在于,所述根据所述当前视频帧中人体的平滑后点位集和历史视频帧中人体的点位集分析当前视频帧中人体关键点的抖动幅度,包括:
从所述当前视频帧中人体的平滑后点位集中获取当前视频帧中人体胯部的点位;
从所述历史视频帧中人体的点位集中获取历史视频帧中人体胯部的点位;
根据当前视频帧中人体胯部的点位和历史视频帧中人体胯部的点位分析当前视频帧中人体关键点的抖动幅度。
7.根据权利要求6所述的方法,其特征在于,所述根据当前视频帧中人体胯部的点位和历史视频帧中人体胯部的点位分析当前视频帧中各个人体关键点的抖动幅度,包括:
根据当前视频帧中人体胯部的点位计算当前视频帧中人体的腰线;
根据历史视频帧中人体胯部的点位计算历史视频帧中人体的腰线;
计算当前视频帧中人体的腰线与历史视频帧中人体的腰线的距离,得到当前视频帧中人体关键点的抖动幅度。
8.根据权利要求2至5任一项所述的方法,其特征在于,根据抖动幅度确定所述当前视频帧是否位于稳定态,包括:
确定抖动幅度是否小于预设阈值;
若是,则确定所述当前视频帧位于稳定态;
若否,则确定所述当前视频帧位于非稳定态。
9.根据权利要求2至5任一项所述的方法,其特征在于,所述根据当前视频帧中人体的点位集计算所述当前视频帧的腰线位置,包括:
从所述当前视频帧中人体的点位集中获取当前视频帧中人体胯部的点位;
根据当前视频帧中人体胯部的点位计算当前视频帧中人体的腰线;
根据计算得到的腰线确定所述当前视频帧的腰线位置。
10.根据权利要求1至5任一项所述的方法,其特征在于,所述采用预设点位平滑算法,根据所述历史视频帧中人体的点位集,分别从时间、空间和置信度的维度对所述当前视频帧中人体的点位集进行平滑处理,并基于平滑处理得到的时间平滑结果、空间平滑结果和置信度平滑结果计算当前视频帧中人体的平滑后点位集,包括:
根据所述历史视频帧中人体的点位集,在时间维度上对所述当前视频帧中人体的点位集进行平滑处理,得到时间平滑结果;
根据所述历史视频帧中人体的点位集,在空间维度上对所述当前视频帧中人体的点位集进行平滑处理,得到空间平滑结果;
根据所述历史视频帧中人体的点位集,在置信度维度上对所述当前视频帧中人体的点位集进行平滑处理,得到置信度平滑结果;
对所述时间平滑结果、空间平滑结果和置信度平滑结果进行加权运算,得到当前视频帧中人体的平滑后点位集。
11.根据权利要求1至5任一项所述的方法,其特征在于,所述当前帧存在多个腰线位置,所述对当前视频帧中腰线位置以下的人体部分进行拉伸,并输出拉伸后的当前视频帧,包括:
从当前视频帧的多个腰线位置中选择位置最高的腰线位置作为目标腰线位置;
对当前视频帧中目标腰线位置以下的人体部分进行拉伸,并输出拉伸后的当前视频帧。
12.根据权利要求11所述的方法,其特征在于,所述对当前视频帧中目标腰线位置以下的人体部分进行拉伸,并输出拉伸后的当前视频帧包括:
根据黄金比例对当前视频帧中目标腰线位置以下的人体部分进行拉伸;
对拉伸后当前视频帧中目标腰线位置部分的斜率进行平滑处理,得到结果帧;
输出所述结果帧。
13.一种视频数据处理装置,其特征在于,包括:
检测单元,用于从视频流中采集当前视频帧,并对所述当前视频帧中的人体关键点的位置进行检测,得到当前视频帧中人体的点位集;
获取单元,用于获取历史视频帧中人体的点位集,所述历史视频帧为在所述视频流中,以所述当前视频帧为起点,过去预设时间范围内的视频帧;
平滑单元,用于采用预设点位平滑算法,根据所述历史视频帧中人体的点位集,分别从时间、空间和置信度的维度对所述当前视频帧中人体的点位集进行平滑处理,并基于平滑处理得到的时间平滑结果、空间平滑结果和置信度平滑结果计算当前视频帧中人体的平滑后点位集;
分析单元,用于根据所述当前视频帧中人体的平滑后点位集和历史视频帧中人体的点位集分析当前视频帧中人体关键点的抖动幅度;
确定单元,用于根据抖动幅度确定所述当前视频帧中人体的腰线位置;
拉伸单元,用于对当前视频帧中腰线位置以下的人体部分进行拉伸,并输出拉伸后的当前视频帧。
14.根据权利要求13所述的装置,其特征在于,
所述确定单元,具体用于根据抖动幅度确定所述当前视频帧位于稳定态时,采用预设腰线值作为所述当前视频帧中人体的腰线位置;根据抖动幅度确定所述当前视频帧位于非稳定态时,根据当前视频帧中人体的点位集计算所述当前视频帧中人体的腰线位置。
15.根据权利要求13或14所述的装置,其特征在于,还包括平滑单元;
所述平滑单元,具体用于根据所述历史视频帧中人体的点位集,在时间维度上对所述当前视频帧中人体的点位集进行平滑处理,得到时间平滑结果;根据所述历史视频帧中人体的点位集,在空间维度上对所述当前视频帧中人体的点位集进行平滑处理,得到空间平滑结果;根据所述历史视频帧中人体的点位集,在置信度维度上对所述当前视频帧中人体的点位集进行平滑处理,得到置信度平滑结果;对所述时间平滑结果、空间平滑结果和置信度平滑结果进行加权运算,得到当前视频帧中人体的平滑后点位集,得到当前视频帧中人体的平滑后点位集。
16.一种存储介质,其特征在于,所述存储介质存储有多条指令,所述指令适于处理器进行加载,以执行权利要求1至12任一项所述的视频数据处理方法中的步骤。
CN201810721857.0A 2018-07-04 2018-07-04 一种视频数据处理方法、装置和存储介质 Active CN108898118B (zh)

Priority Applications (4)

Application Number Priority Date Filing Date Title
CN201810721857.0A CN108898118B (zh) 2018-07-04 2018-07-04 一种视频数据处理方法、装置和存储介质
PCT/CN2019/091340 WO2020007183A1 (zh) 2018-07-04 2019-06-14 视频数据处理方法、装置和存储介质
TW108123647A TWI702822B (zh) 2018-07-04 2019-07-04 視頻資料處理方法、裝置和儲存媒體
US16/993,061 US11461876B2 (en) 2018-07-04 2020-08-13 Video data processing method and apparatus, and storage medium

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201810721857.0A CN108898118B (zh) 2018-07-04 2018-07-04 一种视频数据处理方法、装置和存储介质

Publications (2)

Publication Number Publication Date
CN108898118A CN108898118A (zh) 2018-11-27
CN108898118B true CN108898118B (zh) 2023-04-18

Family

ID=64348176

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201810721857.0A Active CN108898118B (zh) 2018-07-04 2018-07-04 一种视频数据处理方法、装置和存储介质

Country Status (4)

Country Link
US (1) US11461876B2 (zh)
CN (1) CN108898118B (zh)
TW (1) TWI702822B (zh)
WO (1) WO2020007183A1 (zh)

Families Citing this family (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108898118B (zh) * 2018-07-04 2023-04-18 腾讯科技(深圳)有限公司 一种视频数据处理方法、装置和存储介质
CN109583391B (zh) * 2018-12-04 2021-07-16 北京字节跳动网络技术有限公司 关键点检测方法、装置、设备及可读介质
CN109670474B (zh) * 2018-12-28 2023-07-25 广东工业大学 一种基于视频的人体姿态估计方法、装置及设备
CN110047118B (zh) * 2019-04-08 2023-06-27 腾讯科技(深圳)有限公司 视频生成方法、装置、计算机设备及存储介质
CN111985268A (zh) * 2019-05-21 2020-11-24 搜狗(杭州)智能科技有限公司 一种人脸驱动动画的方法和装置
CN110170167B (zh) * 2019-05-28 2023-02-28 上海米哈游网络科技股份有限公司 一种画面显示方法、装置、设备及介质
CN112019868A (zh) * 2019-05-31 2020-12-01 广州虎牙信息科技有限公司 人像分割方法、装置及电子设备
CN110288554B (zh) * 2019-06-29 2022-09-16 北京字节跳动网络技术有限公司 视频美化方法、装置及电子设备
CN111028346B (zh) * 2019-12-23 2023-10-10 北京奇艺世纪科技有限公司 一种视频对象的重建方法和装置
CN111935491B (zh) 2020-06-28 2023-04-07 百度在线网络技术(北京)有限公司 直播的特效处理方法、装置以及服务器
US11961333B2 (en) * 2020-09-03 2024-04-16 Board Of Trustees Of Michigan State University Disentangled representations for gait recognition
CN112183309B (zh) * 2020-09-25 2024-05-28 咪咕文化科技有限公司 人脸关键点处理方法、系统、终端及存储介质
CN113873175B (zh) * 2021-09-15 2024-03-15 广州繁星互娱信息科技有限公司 视频播放方法、装置和存储介质及电子设备
CN114494534B (zh) * 2022-01-25 2022-09-27 成都工业学院 基于动作点捕捉分析的帧动画自适应显示方法及系统
CN114821717B (zh) * 2022-04-20 2024-03-12 北京百度网讯科技有限公司 目标对象融合方法、装置、电子设备及存储介质

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8358691B1 (en) * 2009-10-30 2013-01-22 Adobe Systems Incorporated Methods and apparatus for chatter reduction in video object segmentation using a variable bandwidth search region
JP2017034409A (ja) * 2015-07-30 2017-02-09 株式会社メイクソフトウェア 画像処理装置、画像処理方法及びコンピュータプログラム
WO2017129827A1 (en) * 2016-01-29 2017-08-03 MAX-PLANCK-Gesellschaft zur Förderung der Wissenschaften e.V. Crowdshaping realistic 3d avatars with words
CN107016357A (zh) * 2017-03-23 2017-08-04 北京工业大学 一种基于时间域卷积神经网络的视频行人检测方法
CN107533758A (zh) * 2015-07-24 2018-01-02 谷歌有限责任公司 在时间上平滑视频增强
KR20180017978A (ko) * 2016-08-12 2018-02-21 천봉우 중환자용 바지

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9165199B2 (en) * 2007-12-21 2015-10-20 Honda Motor Co., Ltd. Controlled human pose estimation from depth image streams
JP5582171B2 (ja) * 2012-06-15 2014-09-03 フリュー株式会社 画像処理装置および方法、並びにプログラム
CN104750234B (zh) * 2013-12-27 2018-12-21 中芯国际集成电路制造(北京)有限公司 可穿戴智能设备及可穿戴智能设备的互动方法
CN104156912B (zh) * 2014-08-18 2018-11-06 厦门美图之家科技有限公司 一种人像增高的图像处理的方法
CN106034203B (zh) * 2015-03-11 2020-07-28 维科技术有限公司 拍摄终端的图像处理方法及其装置
CN105516589B (zh) * 2015-12-07 2018-07-03 凌云光技术集团有限责任公司 基于人脸识别的智能曝光方法及系统
CN107335192A (zh) * 2017-05-26 2017-11-10 深圳奥比中光科技有限公司 运动辅助训练方法、装置及存储装置
CN107734207B (zh) * 2017-09-28 2020-02-25 北京奇虎科技有限公司 视频对象变换处理方法、装置及计算设备
CN107704829B (zh) * 2017-10-09 2019-12-03 武汉斗鱼网络科技有限公司 一种人脸关键点追踪方法及应用和装置
CN107967693B (zh) * 2017-12-01 2021-07-09 北京奇虎科技有限公司 视频关键点处理方法、装置、计算设备及计算机存储介质
CN108898118B (zh) * 2018-07-04 2023-04-18 腾讯科技(深圳)有限公司 一种视频数据处理方法、装置和存储介质

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8358691B1 (en) * 2009-10-30 2013-01-22 Adobe Systems Incorporated Methods and apparatus for chatter reduction in video object segmentation using a variable bandwidth search region
CN107533758A (zh) * 2015-07-24 2018-01-02 谷歌有限责任公司 在时间上平滑视频增强
JP2017034409A (ja) * 2015-07-30 2017-02-09 株式会社メイクソフトウェア 画像処理装置、画像処理方法及びコンピュータプログラム
WO2017129827A1 (en) * 2016-01-29 2017-08-03 MAX-PLANCK-Gesellschaft zur Förderung der Wissenschaften e.V. Crowdshaping realistic 3d avatars with words
KR20180017978A (ko) * 2016-08-12 2018-02-21 천봉우 중환자용 바지
CN107016357A (zh) * 2017-03-23 2017-08-04 北京工业大学 一种基于时间域卷积神经网络的视频行人检测方法

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
Henry Muchiri 等.The Need for Marker-Less Computer Vision Techniques for Human Gait Analysis on Video Surveillance to Detect Concealed Firearms.《ResearchGate》.2018,第2018年卷第1-13页. *
孙卓.基于序列轮廓特征的步态识别研究.《中国优秀硕士学位论文全文数据库信息科技辑》.2018,第2018年卷(第1期),第I138-1058页. *

Also Published As

Publication number Publication date
US11461876B2 (en) 2022-10-04
TWI702822B (zh) 2020-08-21
WO2020007183A1 (zh) 2020-01-09
TW202007143A (zh) 2020-02-01
CN108898118A (zh) 2018-11-27
US20200372613A1 (en) 2020-11-26

Similar Documents

Publication Publication Date Title
CN108898118B (zh) 一种视频数据处理方法、装置和存储介质
CN108234870B (zh) 图像处理方法、装置、终端及存储介质
KR100660725B1 (ko) 얼굴 추적 장치를 가지는 휴대용 단말기
US20170161553A1 (en) Method and electronic device for capturing photo
CN108198130B (zh) 图像处理方法、装置、存储介质及电子设备
KR20130118647A (ko) 운동량에 따른 멀티미디어 운동 컨텐츠의 디스플레이 방법 및 이를 적용한 멀티미디어 장치
WO2020108656A1 (zh) 一种图片选择方法及相关设备
WO2021042364A1 (zh) 拍摄图像的方法和装置
CN112163479A (zh) 动作检测方法、装置、计算机设备和计算机可读存储介质
US8199978B2 (en) Method for image auto-selection and computer system thereof
CN109986553B (zh) 一种主动交互的机器人、系统、方法及存储装置
CN113542855A (zh) 视频处理方法、装置、电子设备和可读存储介质
CN116721468A (zh) 一种基于多人姿态估计动作幅度检测的智能导播切换方法
CN106201712B (zh) 增强现实中目标识别频率的调整方法、装置及移动终端
CN113326775B (zh) 图像处理方法及装置、终端及可读存储介质
CN113313009A (zh) 连拍的输出图像方法、装置、终端及可读存储介质
CN113347356A (zh) 拍摄方法、装置、电子设备及存储介质
KR20130117624A (ko) 비주얼 큐를 이용하여 비디오 시퀀스에서 토킹 세그먼트를 검출하는 방법 및 장치
CN110121030B (zh) 一种保存拍摄图像的方法以及电子设备
CN109040604A (zh) 拍摄图像的处理方法、装置、存储介质及移动终端
CN112232258B (zh) 一种信息处理方法、装置及计算机可读存储介质
CN110956576A (zh) 图像处理方法、装置、设备及存储介质
CN115334241B (zh) 对焦控制方法、装置、存储介质及摄像设备
WO2023187899A1 (ja) コンピュータビジョンシステム、コンピュータビジョン方法、コンピュータビジョンプログラム及び学習方法
CN116188636A (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