视频处理方法、视频处理装置和存储介质
文献发布时间:2023-06-19 09:46:20
技术领域
本公开的实施例涉及一种视频处理方法、视频处理装置和存储介质。
背景技术
增强现实(Augmented Reality,AR)技术是一种将虚拟信息与真实世界巧妙融合的技术,广泛运用了多媒体、三维建模、实时跟踪及注册、智能交互、传感等多种技术手段。AR技术将计算机生成的文字、图像、三维模型、音乐、视频等虚拟信息模拟仿真后,应用到真实世界中,虚拟信息与真实世界的信息互为补充,从而实现对真实世界的“增强”。
短视频具有社交属性强、易创作、时长短等特点,更符合移动互联网时代用户的碎片化内容消费习惯。AR技术独特的虚实融合特效,使其在短视频领域具有广泛的应用前景和无限的拓展空间。当前,地标AR特效是短视频领域的热点之一。地标AR特效可以增加拍摄的趣味性,促使用户更加主动地去拍摄和记录。
发明内容
现有的地标AR特效缺乏与用户之间的交互,大家看到的效果会是一样的,不够有趣,而且用户无法与建筑主动产生交互。针对上述问题,本公开至少一实施例提供一种视频处理方法、视频处理装置和存储介质,可以增强用户与拍摄的地标建筑之间的交互,增加拍摄的趣味性,让用户获得与众不同的拍摄体验,促使用户更加主动地去拍摄和记录,拓宽了产品的应用范围,提高了产品的市场竞争力。
本公开至少一实施例提供一种视频处理方法,所述视频的画面包括地标建筑和活动主体,所述方法包括:识别并跟踪所述视频中的地标建筑;提取并跟踪所述视频中的活动主体的关键点,并根据提取的所述活动主体的关键点的信息确定所述活动主体的姿态;将所述活动主体的关键点与所述地标建筑对应,并根据所述活动主体的关键点的动作驱动所述地标建筑执行相应的动作,以使得所述视频的画面中所述地标建筑的姿态与所述活动主体的姿态对应。
例如,在本公开至少一实施例提供的视频处理方法中,在根据所述活动主体的关键点的动作驱动所述地标建筑执行相应的动作之前,还包括:在所述视频的画面中抠除所述地标建筑;根据所述视频的画面中位于所述地标建筑周边的像素通过平滑插值算法补全已扣除的所述地标建筑处的背景;将所述地标建筑还原至补全所述背景后的位置处。
例如,在本公开至少一实施例提供的视频处理方法中,将所述活动主体的关键点与所述地标建筑对应,并根据所述活动主体的关键点的动作驱动所述地标建筑执行相应的动作,包括:将所述活动主体的关键点映射至所述地标建筑上,以将所述活动主体的关键点与所述地标建筑对应,使得所述地标建筑跟随所述活动主体的关键点的动作而执行相应的动作。
例如,在本公开至少一实施例提供的视频处理方法中,将所述活动主体的脊柱线映射至所述地标建筑的中轴线上。
例如,本公开至少一实施例提供的视频处理方法,还包括:通过预定义动画素材贴图的方式使得所述地标建筑拟人化,以使得所述地标建筑具有所述活动主体的特征。
例如,在本公开至少一实施例提供的视频处理方法中,通过神经网络模型提取所述视频画面中的活动主体的关键点。
例如,在本公开至少一实施例提供的视频处理方法中,识别所述视频的画面中的地标建筑,包括:提取所述地标建筑的特征点;将提取的所述地标建筑的特征点与建筑特征点分类模型作匹配,以识别所述地标建筑。
例如,在本公开至少一实施例提供的视频处理方法中,跟踪所述视频中的地标建筑和跟踪所述视频中的活动主体的关键点,包括:通过检测所述视频的各帧图像中的所述地标建筑和所述活动主体的关键点,实现对所述地标建筑和所述活动主体的跟踪。
例如,在本公开至少一实施例提供的视频处理方法中,在同一个视频中,将所述活动主体的关键点与多个地标建筑对应,并根据所述活动主体的关键点的动作驱动所述多个地标建筑根据所述活动主体的动作执行相应的动作。
例如,在本公开至少一实施例提供的视频处理方法中,在同一个视频中,将多个活动主体的关键点分别与多个地标建筑对应,并根据所述多个活动主体的关键点的多个动作分别驱动所述多个地标建筑根据相应的活动主体的动作分别执行对应的动作,以使得所述多个地标建筑的姿态与所述多个活动主体的姿态一一对应。
例如,本公开至少一实施例提供的视频处理方法,还包括:通过图像拍摄装置实时录制所述视频,并对所述视频中的各帧图像进行实时处理,以使得所述地标建筑的姿态与所述活动主体的姿态对应。
例如,在本公开至少一实施例提供的视频处理方法中,所述活动主体为人体。
本公开至少一实施例还提供一种视频处理装置,所述视频的画面包括地标建筑和活动主体,所述视频处理装置包括:识别单元,配置为识别并跟踪所述视频中的地标建筑;提取单元,配置为提取并跟踪所述视频中的活动主体的关键点,并根据提取的所述活动主体的关键点的信息确定所述活动主体的姿态;驱动单元,配置为将所述活动主体的关键点与所述地标建筑对应,并根据所述活动主体的关键点的动作驱动所述地标建筑执行相应的动作,以使得所述视频的画面中所述地标建筑的姿态与所述活动主体的姿态对应。
例如,本公开至少一实施例提供的视频处理装置,还包括:图像拍摄装置,配置为实时录制所述视频,以用于对所述视频中的各帧图像进行实时处理。
例如,在本公开至少一实施例提供的视频处理装置中,所述活动主体和所述地标建筑位于所述图像拍摄装置的同一侧或不同侧。
本公开至少一实施例还提供一种视频处理装置,包括:处理器;存储器;一个或多个计算机程序模块,其中,所述一个或多个计算机程序模块被存储在所述存储器中并被配置为由所述处理器执行,所述一个或多个计算机程序模块包括用于执行实现本公开任一实施例提供的视频处理方法的指令。
本公开至少一实施例还提供一种存储介质,非暂时性地存储计算机可读指令,当所述计算机可读指令由计算机执行时可以执行本公开任一实施例提供的视频处理方法。
附图说明
为了更清楚地说明本公开实施例的技术方案,下面将对实施例的附图作简单地介绍,显而易见地,下面描述中的附图仅仅涉及本公开的一些实施例,而非对本公开的限制。
图1A为本公开至少一实施例提供的一种视频处理方法的一个示例的流程图;
图1B为本公开至少一实施例提供的一种活动主体和地标建筑的映射关系示意图;
图2为本公开至少一实施例提供的一种背景补全方法的流程图;
图3为本公开至少一实施例提供的一种地标建筑的识别算法的流程图;
图4为一种可用于实施本公开实施例提供的视频处理方法的系统;
图5为本公开至少一实施例提供的一种视频处理装置的示意框图;
图6为本公开至少一实施例提供的另一种视频处理装置的示意框图;
图7为本公开至少一实施例提供的又一种视频处理装置的示意框图;
图8为本公开至少一实施例提供的一种电子设备的结构示意图;以及
图9为本公开至少一实施例提供的一种存储介质的示意图。
具体实施方式
下面将参照附图更详细地描述本公开的实施例。虽然附图中显示了本公开的某些实施例,然而应当理解的是,本公开可以通过各种形式来实现,而且不应该被解释为限于这里阐述的实施例,相反提供这些实施例是为了更加透彻和完整地理解本公开。应当理解的是,本公开的附图及实施例仅用于示例性作用,并非用于限制本公开的保护范围。
应当理解,本公开的方法实施方式中记载的各个步骤可以按照不同的顺序执行,和/或并行执行。此外,方法实施方式可以包括附加的步骤和/或省略执行示出的步骤。本公开的范围在此方面不受限制。
本文使用的术语“包括”及其变形是开放性包括,即“包括但不限于”。术语“基于”是“至少部分地基于”。术语“一个实施例”表示“至少一个实施例”;术语“另一实施例”表示“至少一个另外的实施例”;术语“一些实施例”表示“至少一些实施例”。其他术语的相关定义将在下文描述中给出。
需要注意,本公开中提及的“第一”、“第二”等概念仅用于对不同的装置、模块或单元进行区分,并非用于限定这些装置、模块或单元所执行的功能的顺序或者相互依存关系。
需要注意,本公开中提及的“一个”、“多个”的修饰是示意性而非限制性的,本领域技术人员应当理解,除非在上下文另有明确指出,否则应该理解为“一个或多个”。“多个”应理解为两个或以上。
本公开实施方式中的多个装置之间所交互的消息或者信息的名称仅用于说明性的目的,而并不是用于对这些消息或信息的范围进行限制。
例如,通过将设计师预先设计的3D素材与动画放置于建筑之上,地标 AR特效可以将建筑变身为卡通特效,通过真实和虚拟效果的高度结合,让用户获得与众不同的拍摄体验。
但是,该方法缺乏与用户之间的交互,大家看到的效果会是一样的,不够有趣,而且用户无法与建筑主动产生交互。
本公开至少一实施例提供一种视频处理方法,视频的画面包括地标建筑和活动主体,该方法包括:识别并跟踪视频中的地标建筑;提取并跟踪视频中的活动主体的关键点,并根据提取的活动主体的关键点的信息确定活动主体的姿态;将活动主体的关键点与地标建筑对应,并根据活动主体的关键点的动作驱动地标建筑执行相应的动作,以使得视频的画面中地标建筑的姿态与活动主体的姿态对应。
本公开一些实施例还提供对应于上述视频处理方法的视频处理装置和存储介质。
本公开至少一实施例提供的视频处理方法、视频处理装置和存储介质,可以增强用户与拍摄的地标建筑之间的交互,增加拍摄的趣味性,让用户获得与众不同的拍摄体验,促使用户更加主动地去拍摄和记录,拓宽了产品的应用范围,提高了产品的市场竞争力。
下面结合附图对本公开的实施例及其示例进行详细说明。
本公开至少一实施例提供一种视频处理方法,例如,可以应用于短视频领域等,以增加用户与拍摄地标之间的交互,增加拍摄的趣味性。例如,该视频处理方法可以以软件、硬件、固件或其任意组合的方式实现,由例如手机、数码相机、平板电脑、笔记本电脑、桌面电脑、网络服务器等设备中的处理器加载并执行,以实现地标建筑的姿态和活动主体的姿态的对应,从而增加用户与拍摄的地标建筑之间的交互。
例如,该视频处理方法适用于一计算装置,该计算装置是包括具有计算功能的任何电子设备,例如可以为手机、数码相机、笔记本电脑、平板电脑、台式计算机、网络服务器等,可以加载并执行该视频处理方法,本公开的实施例对此不作限制。例如,该计算装置可以包括中央处理单元(Central Processing Unit,CPU)或图形处理单元(GraphicsProcessing Unit,GPU)、数字信号处理器(DSP)等具有数据处理能力和/或指令执行能力的其它形式的处理单元、存储单元等,该计算装置上还安装有操作系统、应用程序编程接口(例如,OpenGL(Open Graphics Library)、Metal等)等,通过运行代码或指令的方式实现本公开实施例提供的视频处理方法。例如,该计算装置还可以包括例如显示部件的输出部件,该显示部件例如为液晶显示屏(Liquid Crystal Display,LCD)、有机发光二极管(OrganicLight Emitting Diode, OLED)显示屏、量子点发光二极管(Quantum Dot Light EmittingDiode, QLED)显示屏等,本公开的实施例对此不作限制。例如,该显示部件可以显示处理后的视频,例如,在该处理后的视频中,地标建筑的姿态和活动主体的姿态对应,例如,地标建筑的姿态和活动主体的姿态一致或互补等,从而增加用户与拍摄的地标建筑之间的交互。
图1A为本公开至少一实施例提供的一种视频处理方法的一个示例的流程图。下面结合图1A对本公开至少一实施例提供的视频处理方法进行详细地介绍。例如,在一些示例中,如图1A所示,该视频处理方法包括步骤S110 至步骤S130。
步骤S110:识别并跟踪视频中的地标建筑。
步骤S120:提取并跟踪所述视频中的活动主体的关键点,并根据提取的活动主体的关键点的信息确定活动主体的姿态。
步骤S130:将活动主体的关键点与地标建筑对应,并根据活动主体的关键点的动作驱动地标建筑执行相应的动作,以使得视频的画面中地标建筑的姿态与活动主体的姿态对应。
例如,视频的画面包括地标建筑和活动主体。例如,在一些示例中,该活动主体可以是人体,也可以是动物、木偶或机器人等可以活动的其他物体,本公开的实施例对此不作限制。这里,“地标建筑”是指具有特色的建筑物、自然景观、人工景观等。例如,上海的东方明珠塔、北京的中央电视台总部大楼(俗称“大裤衩”)、广州的广州塔(俗称“小蛮腰”)、尼亚加拉大瀑布、阿尔卑斯山的少女峰等,都可以称之为地标建筑。需要说明的是,本公开的实施例包括但不限于此,地标建筑可以为任意的具有特色的人工建造物或自然物。
对于步骤S110,例如,跟踪视频中的地标建筑,包括:通过检测视频的各帧图像中的地标建筑,实现对地标建筑的跟踪。例如,独立检测视频中的每一帧图像中的地标建筑以实现对视频中地标建筑的跟踪,从而可以实现对视频中地标建筑的姿态的实时驱动。
例如,在一些示例中,可以通过生成(generative)模型方法和判别(discriminative)模型方法等目标视觉跟踪(Visual Object Tracking)技术实现地标建筑的跟踪,例如,在判别模型方法中采用图像特征和机器学习,当前帧图像中以目标区域(例如,地标建筑)为正样本,背景区域为负样本,采用机器学习方法训练分类器,下一帧图像中用训练好的分类器找最优区域 (即下一帧图像中的地标建筑),从而实现目标追踪。该目标视觉跟踪技术的具体介绍可参考本领域的相关描述,在此不再赘述。当然,在该步骤S110 中还可以采用其他图像跟踪算法,本公开的实施例对此不作限制。
图3为本公开至少一实施例提供的一种地标建筑的识别算法的流程图。也就是说,图3为图1A所示的步骤S110的一个示例的流程图。下面结合图 3对本公开至少一实施例提供的一种地标建筑的识别算法进行详细地介绍。例如,如图3所示,该识别算法包括步骤S111和步骤S112。
步骤S111:提取地标建筑的特征点。
步骤S112:将提取的地标建筑的特征点与建筑特征点分类模型作匹配,以识别地标建筑。
例如,对于步骤S111,可以采用SIFT(Scale-invariant feature transform,尺度不变特征转换)算法提取视频的画面中的地标建筑的特征点。例如,可以通过执行尺度空间极值检测、关键点定位、方向确定、关键点描述等SIFT 算法所包括的操作,以提取出视频的画面中的地标建筑的特征点。例如,特征点一般为局部极值点,例如拐角点、分界点等,这可以利用SIFT算法自动识别。
例如,对于步骤S112,同样可以基于SIFT算法提取建筑特征点分类模型的特征点,并采用SIFT算法执行SIFT特征生成和SIFT特征向量匹配等操作,对特征点逐一进行匹配,例如,匹配度高于例如85%以上的建筑可以判断为是地标建筑。关于SIFT算法的详细描述可以参考本领域的相关介绍,此处不再详述。例如,建筑特征点分类模型可以是基于本领域的建模方法训练好的地标建筑分类模型,建模方法的具体介绍可参考本领域的描述,在此不再赘述。
例如,还可以通过HOG(Histogram of Oriented Gradients,方向梯度的直方图)+SVM(Support Vector Machine,支持向量机)或其他特征提取器 (例如,LBP(Local BinaryPattern,局部二值模式)特征提取算法、Haar 特征提取算法)与分类器的结合实现地标建筑的特征点的提取和匹配,本公开的实施例对此不作限制。
例如,在一些示例中,识别并跟踪视频中的地标建筑,从而可以还原地标建筑在世界坐标系里的3D姿态。例如,在获取视频的各帧图像(即画面) 以及提前建模的建筑特征点分类模型之后,对于视频的各帧图像,可以采用 SIFT算法计算该视频的各帧图像相对于建筑特征点分类模型的相机位姿矩阵。视频的每帧图像都对应于一个相机位姿矩阵。例如,该相机位姿矩阵可以反映相机在世界坐标系中的位置,表示包含地标建筑和人体的视频图像的观察角度(观察位置和观察视角),也即是,拍摄该视频某一帧画面时所选取的观察角度,从而可以还原地标建筑在世界坐标系里的3D姿态,以在后续步骤中与人体3D姿态对应。
对于步骤S120,例如,在一些示例中,通过训练好的神经网络模型提取视频画面中的活动主体的关键点。例如,当活动主体是人体时,关键点可以包括人的头部、手、脚等各个大关节,以获取人体的3D骨骼。
例如,在一些示例中,该神经网络可以是卷积神经网络、双向长短时记忆网络(Long Short Term Memory Network,BLSTM)和连接时序分类器 (ConnectionistTemporal Classification,CTC)等,本公开的实施例对此不作限制。关于该神经网络提取特征点的训练方法可以参考本领域的介绍,在此不再赘述。
例如,还可以通过HOG特征提取算法、LBP特征提取算法、Haar特征提取算法实现活动主体的关键点的提取,当然也可以采用SIFT算法提取视频中的活动主体的关键点,本公开的实施例对此不做限制。关于HOG特征提取算法、LBP特征提取算法、Haar特征提取算法和SIFT算法的具体介绍可以参考本领域的相关描述,在此不再赘述。
例如,跟踪视频中的活动主体的关键点,包括:通过检测视频的各帧图像中的活动主体的关键点,实现对活动主体的关键点的跟踪。例如,独立检测视频中的每一帧图像中的活动主体的关键点以实现对视频中活动主体的关键点的跟踪,从而可以根据跟踪的各帧图像中的关键点信息实时确定活动主体的姿态。
例如,在一些示例中,可以通过生成(generative)模型方法和判别(discriminative)模型方法等目标视觉跟踪(Visual Object Tracking)技术实现活动主体的关键点的跟踪,具体介绍可参考本领域的相关描述,在此不再赘述。当然,在该步骤S120中还可以采用其他图像跟踪算法,本公开的实施例对此不作限制。
例如,在视频的各帧画面中提取并跟踪活动主体的关键点及其信息后,根据提取的各帧画面中的活动主体的关键点的信息确定活动主体的姿态。例如,该关键点的信息可以包括视频的各帧画面中的关键点的相对位置关系、方向等,该活动主体的姿态可以包括弯腰、后仰、扭腰或比耶(Yeah)等,本公开的实施例对此不作限制。例如,当活动主体为人体时,可以根据视频的各帧画面中的关键点的位置变化(例如,相对位置关系、方向)等,确定出人体(例如,用户)是处于一种弯腰、后仰还是扭腰等的状态,以在后续步骤中,根据人体的姿态驱动地标建筑做出相应的姿态。
对于步骤S130,例如,将活动主体的关键点与地标建筑对应,并根据活动主体的关键点的动作驱动地标建筑执行相应的动作,包括:将活动主体的关键点映射至地标建筑上,以将活动主体的关键点与地标建筑对应,使得地标建筑跟随活动主体的关键点的动作而执行相应的动作。
例如,将活动主体的脊柱线映射至地标建筑的中轴线上。例如,如图1B 所示,当活动主体为人体时,将人体的脊柱线L2(例如,包括头P1、颈P2、腰P3、臀P4等部位的关键点连成的脊柱线)映射到地标建筑(例如,图1B 中,以地标建筑为比萨斜塔为例)的中轴线L1上的对应特征点P5-P8处,将手、脚等其他部位的关键点(图中未示出)也对应映射至地标建筑的其他特征点上,从而使得人体的关键点的位置和方向发生变化时,对应改变地标建筑上与其映射的对应特征点的位置和方向,从而驱动地标建筑跟随人体的关键点的动作而执行相应的动作,使得视频的画面中地标建筑的姿态与活动主体的姿态对应,从而使得视频中显示的特效为地标建筑随着人体的舞动而舞动,增加了用户与地标建筑之间的交互以及交互的有趣性。例如,人体的关键点P1-P4按一定比例关系与地标建筑的特征P5-P8一一对应,当人体关键点P1-P4中任一关键点移动时,也对应移动与该关键点对应的地标建筑的特征点的位移关系,例如,人体的关键点P1向左下或右下位移(例如,人向左歪头或向右歪头)时,地标建筑的与关键点P1对应的特征点P5也对向左下位移或向右下位移,从而根据活动主体的关键点的动作驱动地标建筑执行相应的动作。
需要注意的是,“地标建筑的姿态与活动主体的姿态对应”包括地标建筑的姿态与活动主体的姿态相同,即在视频中,地标建筑跟随活动主体的舞动姿态而舞动,例如,人体弯腰时地标建筑也会弯腰,人体后仰时地标建筑也会后仰;或,包括地标建筑的姿态与活动主体的姿态互补,例如人体弯腰时,地标建筑后仰,人体向左扭动时,地标建筑向右扭动等,本公开的实施例对此不作限制。
由于地标建筑动起来时,可能会露出本来被地标建筑遮挡起来的像素点。本公开的实施例中,对地标建筑的背景部分进行补全,从而使得地标建筑移动时,原先被地标建筑遮挡起来的像素点可以显示地标建筑背后的背景,从而可以使得画面更平滑,提供更好的视觉效果。
图2为本公开至少一实施例提供的一种背景补全方法的流程图。如图2 所示,该背景补全方法包括步骤S140-步骤S160。
步骤S140:在视频的画面中抠除地标建筑。
步骤S150:根据视频的画面中位于地标建筑周边的像素通过平滑插值算法补全已扣除的地标建筑处的背景。
步骤S160:将地标建筑还原至补全背景后的位置处。
对于步骤S140,例如,可以采用本领域的图像抠除算法抠除视频的画面中的地标建筑。关于图像抠除算法的相关介绍可以参考本领域的相关介绍,在此不再赘述。
对于步骤S150,例如,抠除地标建筑后,可以根据位于地标建筑周边的像素通过例如平滑插值算法补全已扣除的地标建筑处的背景,还可以通过其他算法补全已扣除的地标建筑处的背景,本公开的实施例对此不作限制。关于平滑插值算法的相关介绍可以参考本领域的相关介绍,在此不再赘述。
对于步骤S160,例如,将地标建筑还原至补全背景后的位置处,从而使得地标建筑移动时,使地标建筑偏移时显露部分的像素显示地标建筑背后补全的背景,从而可以使得画面更平滑,提供更好的视觉效果。例如,可以通过将地标建筑的显示数据传回至补全背景后的位置处的像素,从而将地标建筑还原至补全背景后的位置处,当然还可以采用本领域的其他方法,在此不再赘述。本公开的实施例对此不作限制。
例如,在一些示例中,该补全的背景以模糊的背景图像的形式显示,从而可以在使得画面更平滑的同时,还是以突出地标建筑的显示为主,从而提供更好的视觉显示效果。
例如,为了使得用户和地标建筑之间互动更生动、形象,还可以将地标建筑拟人化,例如,使地标建筑长出脸部轮廓、双手等。例如,通过预定义动画素材贴图的方式使得地标建筑拟人化,以使得地标建筑具有活动主体的特征。
例如,在一些示例中,可以根据用户的指令或者根据预设规则,选择视频的多帧图像中的一张图像作为预览背景幕布。例如,可以利用三维建模及动画软件的脚本进行三维渲染,例如利用Maya脚本进行渲染。例如,该 Maya脚本为可执行的脚本,例如设计地标建筑AR特效的设计师在Maya 软件中编写的脚本,或者为Maya软件中提供的脚本,本公开的实施例对此不作限制。由于地标建筑模型可以为Maya软件中建立的三维模型,因此利用Maya脚本进行三维渲染可以简化操作,提高效率。需要说明的是,当地标建筑模型为其他软件中建立的三维模型时,可以相应地利用该软件中的脚本进行三维渲染,这可以根据实际需求而定,本公开的实施例对此不作限制。
例如,在一些示例中,如果多个地标建筑都提前建模且能够识别的话,在同一个视频中,可以将一个活动主体的关键点与多个地标建筑对应,并根据该活动主体的关键点的动作驱动该多个地标建筑根据活动主体的动作执行相应的动作。即,通过例如一个人的3D姿态同时驱动多个建筑同时舞动。
例如,在另一些示例中,在同一个视频中,将多个活动主体的关键点分别与多个地标建筑对应,并根据多个活动主体的关键点的多个动作分别驱动多个地标建筑根据相应的活动主体的动作分别执行对应的动作,以使得多个地标建筑的姿态与多个活动主体的姿态一一对应。即可以识别例如多个人的 3D姿态分别对应驱动多个建筑同时舞动。例如,可以按视频的各帧画面上出现顺序依次实现活动主体的关键点分别与多个地标建筑的映射,以实现在同一个视频中,多个活动主体分别驱动多个地标建筑舞动。
例如,在一些示例中,可以通过图像拍摄装置实时录制该视频,并对视频中的各帧图像进行实时处理,以使得地标建筑的姿态与活动主体的姿态对应。例如,该活动主体和地标建筑可以位于图像拍摄装置的同一侧或不同侧。
例如,当图像拍摄装置实现为手机摄像头时,人体和地标建筑可以处于同一场景中,例如,都位于后置摄像头拍摄的场景中;人体和地标建筑还可以处于不同场景中,例如,人体处于前置摄像头拍摄的场景中,地标建筑处于后置摄像头拍摄的场景中,本公开的实施例对此不作限制。
本公开至少一实施例提供的视频处理方法,可以增强用户与拍摄的地标建筑之间的交互,增加拍摄的趣味性,让用户获得与众不同的拍摄体验,促使用户更加主动地去拍摄和记录,拓宽了产品的应用范围,提高了产品的市场竞争力。
需要说明的是,在本公开的实施例中,本公开上述各个实施例提供的视频处理方法的流程可以包括更多或更少的操作,这些操作可以顺序执行或并行执行。虽然上文描述的视频处理方法的流程包括特定顺序出现的多个操作,但是应该清楚地了解,多个操作的顺序并不受限制。上文描述的视频处理方法可以执行一次,也可以按照预定条件执行多次。
图4为一种可用于实施本公开实施例提供的视频处理方法的系统。如图4所示,该系统10可以包括用户终端11、网络12、服务器13以及数据库 14。例如,该系统10可以用于实施本公开任一实施例提供的视频处理方法。
用户终端11例如为电脑11-1或手机11-2。可以理解的是,用户终端11 可以是能够执行数据处理的任何其他类型的电子设备,其可以包括但不限于台式电脑、笔记本电脑、平板电脑、智能手机、智能家居设备、可穿戴设备、车载电子设备、监控设备等。用户终端也可以是设置有电子设备的任何装备,例如车辆、机器人等。本公开的实施例对于用户终端的硬件配置或软件配置 (例如操作系统的类型(例如Windows、MacOS等)或版本)等不作限制。
用户可以对安装在用户终端11上的应用程序或在用户终端11上登录的网站进行操作,应用程序或网站通过网络12将用户行为数据传输给服务器 13,用户终端11还可以通过网络12接收服务器13传输的数据。用户终端 11可以通过运行子程序或子线程的方式实施本公开实施例提供的视频处理方法。
例如,在一些实施例中,可以利用用户终端11的处理单元执行本公开实施例提供的视频处理方法。在一些实现方式中,用户终端11可以利用用户终端11内置的应用程序执行场景切换方法。在另一些实现方式中,用户终端11可以通过调用用户终端11外部存储的应用程序执行本公开至少一实施例提供的视频处理方法。
在另一些实施例中,用户终端11将获取的视频经由网络12发送至服务器13,并由服务器13执行视频处理方法。在一些实现方式中,服务器13 可以利用服务器内置的应用程序执行视频处理方法。在另一些实现方式中,服务器13可以通过调用服务器13外部存储的应用程序执行视频处理方法。
网络12可以是单个网络,或至少两个不同网络的组合。例如,网络12 可以包括但不限于局域网、广域网、公用网络、专用网络等中的一种或几种的组合。
服务器13可以是一个单独的服务器,或一个服务器群组,群组内的各个服务器通过有线的或无线的网络进行连接。一个服务器群组可以是集中式的,例如数据中心,也可以是分布式的。服务器13可以是本地的或远程的。
数据库14可以泛指具有存储功能的设备。数据库13主要用于存储从用户终端11和服务器13工作中所利用、产生和输出的各种数据。数据库14 可以是本地的,或远程的。数据库14可以包括各种存储器、例如随机存取存储器(Random Access Memory(RAM))、只读存储器(Read Only Memory (ROM))等。以上提及的存储设备只是列举了一些例子,该系统可以使用的存储设备并不局限于此。
数据库14可以经由网络12与服务器13或其一部分相互连接或通信,或直接与服务器13相互连接或通信,或是上述两种方式的结合。
在一些实施例中,数据库15可以是独立的设备。在另一些实施例中,数据库15也可以集成在用户终端11和服务器14中的至少一个中。例如,数据库15可以设置在用户终端11上,也可以设置在服务器14上。又例如,数据库15也可以是分布式的,其一部分设置在用户终端11上,另一部分设置在服务器14上。
例如,模型数据库可以部署在数据库14上。当需要获取建筑特征点分类模型或提取人体关键点的神经网络模型时,用户终端11通过网络12访问数据库14,并通过网络12获取数据库14中存储的建筑特征点分类模型或用于提取人体关键点的神经网络模型。本公开的实施例对于数据库的类型不做限制,例如可以为关系型数据库或非关系型数据库等。
图5为本公开至少一实施例提供的一种视频处理装置的示意框图。例如,在图5所示的示例中,该视频处理装置100包括识别单元110、提取单元120 和驱动单元130。例如,这些单元可以通过硬件(例如电路)模块、软件模块或二者的任意组合等实现,以下是实施例与此相同,不再赘述。例如,可以通过中央处理单元(CPU)、图像处理器(GPU)、张量处理器(TPU)、现场可编程逻辑门阵列(FPGA)或者具有数据处理能力和/或指令执行能力的其它形式的处理单元以及相应计算机指令来实现这些单元。
识别单元110配置为识别并跟踪视频中的地标建筑。例如,该识别单元 110可以实现步骤S110,其具体实现方法可以参考步骤S110的相关描述,在此不再赘述。
提取单元120配置为提取并跟踪视频中的活动主体的关键点,并根据提取的活动主体的关键点的信息确定活动主体的姿态。例如,该提取单元120 可以实现步骤S120,其具体实现方法可以参考步骤S120的相关描述,在此不再赘述。
驱动单元130配置为将活动主体的关键点与地标建筑对应,并根据活动主体的关键点的动作驱动地标建筑执行相应的动作,以使得视频的画面中地标建筑的姿态与活动主体的姿态对应。例如,该驱动单元130可以实现步骤 S130,其具体实现方法可以参考步骤S130的相关描述,在此不再赘述。
图6为本公开至少一实施例提供的另一种视频处理装置的示意框图。例如,如图6所示,在图5所示的示例的基础上,该视频处理装置100还包括图像拍摄装置140。
例如,图像拍摄装置140配置为实时录制视频,以用于对视频中的各帧图像进行实时处理。例如,图像拍摄装置可以实现为摄像头,或其他包括 CMOS(互补金属氧化物半导体)传感器、CCD(电荷耦合器件)传感器等的装置,本公开的实施例对此不作限制。
例如,该活动主体和地标建筑可以位于图像拍摄装置140的同一侧或不同侧。
例如,当图像拍摄装置实现为手机摄像头时,例如,人体和地标建筑可以处于同一场景中,例如,都位于后置摄像头拍摄的场景中;人体和地标建筑还可以处于不同场景中,例如,人体处于前置摄像头拍摄的场景中,地标建筑处于后置摄像头拍摄的场景中,本公开的实施例对此不作限制。
需要注意的是,在本公开的实施例中,该视频处理装置100可以包括更多或更少的电路或单元,并且各个电路或单元之间的连接关系不受限制,可以根据实际需求而定。各个电路的具体构成方式不受限制,可以根据电路原理由模拟器件构成,也可以由数字芯片构成,或者以其他适用的方式构成。
图7为本公开至少一实施例提供的又一种视频处理装置的示意框图。例如,如图7所示,该视频处理装置200包括处理器210、存储器220以及一个或多个计算机程序模块221。
例如,处理器210与存储器220通过总线系统230连接。例如,一个或多个计算机程序模块221被存储在存储器220中。例如,一个或多个计算机程序模块221包括用于执行本公开任一实施例提供的视频处理方法的指令。例如,一个或多个计算机程序模块221中的指令可以由处理器210执行。例如,总线系统230可以是常用的串行、并行通信总线等,本公开的实施例对此不作限制。
例如,该处理器210可以是中央处理单元(CPU)、数字信号处理器 (DSP)、图像处理器(GPU)或者具有数据处理能力和/或指令执行能力的其它形式的处理单元,可以为通用处理器或专用处理器,并且可以控制视频处理装置200中的其它组件以执行期望的功能。
存储器220可以包括一个或多个计算机程序产品,该计算机程序产品可以包括各种形式的计算机可读存储介质,例如易失性存储器和/或非易失性存储器。该易失性存储器例如可以包括随机存取存储器(RAM)和/或高速缓冲存储器(cache)等。该非易失性存储器例如可以包括只读存储器(ROM)、硬盘、闪存等。在计算机可读存储介质上可以存储一个或多个计算机程序指令,处理器210可以运行该程序指令,以实现本公开实施例中(由处理器210 实现)的功能以及/或者其它期望的功能,例如视频处理方法等。在该计算机可读存储介质中还可以存储各种应用程序和各种数据,例如活动主体的关键点、地标建筑的特征点以及应用程序使用和/或产生的各种数据等。
需要说明的是,为表示清楚、简洁,本公开实施例并没有给出该视频处理装置200的全部组成单元。为实现视频处理装置200的必要功能,本领域技术人员可以根据具体需要提供、设置其他未示出的组成单元,本公开的实施例对此不作限制。
关于不同实施例中的视频处理装置100和视频处理装置200的技术效果可以参考本公开的实施例中提供的视频处理方法的技术效果,这里不再赘述。
视频处理装置100和视频处理装置200可以用于各种适当的电子设备 (例如图4中的终端设备或服务器)。图8为本公开至少一实施例提供的一种电子设备的结构示意图。本公开实施例中的终端设备可以包括但不限于诸如移动电话、数码相机、笔记本电脑、数字广播接收器、PDA(个人数字助理)、PAD(平板电脑)、PMP(便携式多媒体播放器)、车载终端(例如车载导航终端)等等的移动终端以及诸如数字TV、台式计算机等等的固定终端。图8示出的电子设备仅仅是一个示例,不应对本公开实施例的功能和使用范围带来任何限制。
例如,如图8所示,在一些示例中,电子设备300包括处理装置(例如中央处理器、图形处理器等)301,其可以根据存储在只读存储器(ROM) 302中的程序或者从存储装置308加载到随机访问存储器(RAM)303中的程序而执行各种适当的动作和处理。在RAM 303中,还存储有计算机系统操作所需的各种程序和数据。处理装置301、ROM302以及RAM303通过总线304彼此相连。输入/输出(I/O)接口305也连接至总线304。
例如,以下部件可以连接至I/O接口305:包括例如触摸屏、触摸板、键盘、鼠标、摄像头、麦克风、加速度计、陀螺仪等的输入装置306;包括诸如液晶显示器(LCD)、扬声器、振动器等的输出装置307;包括例如磁带、硬盘等的存储装置308;以及包括诸如LAN卡、调制解调器等的网络接口卡的通信装置309。通信装置309可以允许电子设备300与其他设备进行无线或有线通信以交换数据,经由诸如因特网的网络执行通信处理。驱动器310 也根据需要连接至I/O接口305。可拆卸介质311,诸如磁盘、光盘、磁光盘、半导体存储器等等,根据需要安装在驱动器310上,以便于从其上读出的计算机程序根据需要被安装入存储装置309。虽然图8示出了包括各种装置的电子设备300,但是应理解的是,并不要求实施或包括所有示出的装置。可以替代地实施或包括更多或更少的装置。
例如,该电子设备300还可以进一步包括外设接口(图中未示出)等。该外设接口可以为各种类型的接口,例如为USB接口、闪电(lighting)接口等。该通信装置309可以通过无线通信来与网络和其他设备进行通信,该网络例如为因特网、内部网和/或诸如蜂窝电话网络之类的无线网络、无线局域网(LAN)和/或城域网(MAN)。无线通信可以使用多种通信标准、协议和技术中的任何一种,包括但不局限于全球移动通信系统(GSM)、增强型数据GSM环境(EDGE)、宽带码分多址(W-CDMA)、码分多址(CDMA)、时分多址(TDMA)、蓝牙、Wi-Fi(例如基于IEEE 802.11a、IEEE 802.11b、 IEEE 802.11g和/或IEEE 802.11n标准)、基于因特网协议的语音传输 (VoIP)、Wi-MAX,用于电子邮件、即时消息传递和/或短消息服务(SMS) 的协议,或任何其他合适的通信协议。
例如,电子设备可以为手机、平板电脑、笔记本电脑、电子书、游戏机、电视机、数码相框、导航仪等任何设备,也可以为任意的电子设备及硬件的组合,本公开的实施例对此不作限制。
例如,根据本公开的实施例,上文参考流程图描述的过程可以被实现为计算机软件程序。例如,本公开的实施例包括一种计算机程序产品,其包括承载在非暂态计算机可读介质上的计算机程序,该计算机程序包含用于执行流程图所示的方法的程序代码。在这样的实施例中,该计算机程序可以通过通信装置309从网络上被下载和安装,或者从存储装置308被安装,或者从 ROM 302被安装。在该计算机程序被处理装置301执行时,执行本公开实施例的方法中限定的上述视频处理功能。
需要说明的是,本公开上述的计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质或者是上述两者的任意组合。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子可以包括但不限于:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机访问存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本公开的实施例中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。而在本公开的实施例中,计算机可读信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读信号介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于:电线、光缆、RF(射频) 等等,或者上述的任意合适的组合。
在一些实施方式中,客户端、服务器可以利用诸如HTTP(HyperText TransferProtocol,超文本传输协议)之类的任何当前已知或未来研发的网络协议进行通信,并且可以与任意形式或介质的数字数据通信(例如,通信网络)互连。通信网络的示例包括局域网(“LAN”),广域网(“WAN”),网际网(例如,互联网)以及端对端网络(例如,ad hoc端对端网络),以及任何当前已知或未来研发的网络。
上述计算机可读介质可以是上述电子设备中所包含的;也可以是单独存在,而未装配入该电子设备中。
上述计算机可读介质承载有一个或者多个程序,当上述一个或者多个程序被该电子设备执行时,使得该电子设备:获取至少两个网际协议地址;向节点评价设备发送包括所述至少两个网际协议地址的节点评价请求,所述节点评价设备从所述至少两个网际协议地址中,选取网际协议地址并返回;接收所述节点评价设备返回的网际协议地址;所获取的网际协议地址指示内容分发网络中的边缘节点。
或者,上述计算机可读介质承载有一个或者多个程序,当上述一个或者多个程序被该电子设备执行时,使得该电子设备:接收包括至少两个网际协议地址的节点评价请求;从所述至少两个网际协议地址中,选取网际协议地址;返回选取出的网际协议地址;接收到的网际协议地址指示内容分发网络中的边缘节点。
可以以一种或多种程序设计语言或其组合来编写用于执行本公开的操作的计算机程序代码,上述程序设计语言包括但不限于面向对象的程序设计语言—诸如Java、Smalltalk、C++,还包括常规的过程式程序设计语言—诸如“C”语言或类似的程序设计语言。程序代码可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络——包括局域网(LAN)或广域网(WAN)—连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。
本文中以上描述的功能可以至少部分地由一个或多个硬件逻辑部件来执行。例如,非限制性地,可以使用的示范类型的硬件逻辑部件包括:现场可编程门阵列(FPGA)、专用集成电路(ASIC)、专用标准产品(ASSP)、片上系统(SOC)、复杂可编程逻辑设备(CPLD)等等。
在本公开的各个实施例中,机器可读介质可以是有形的介质,其可以包含或存储以供指令执行系统、装置或设备使用或与指令执行系统、装置或设备结合地使用的程序。机器可读介质可以是机器可读信号介质或机器可读储存介质。机器可读介质可以包括但不限于电子的、磁性的、光学的、电磁的、红外的、或半导体系统、装置或设备,或者上述内容的任何合适组合。机器可读存储介质的更具体示例会包括基于一个或多个线的电气连接、便携式计算机盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦除可编程只读存储器(EPROM或快闪存储器)、光纤、便捷式紧凑盘只读存储器 (CD-ROM)、光学储存设备、磁储存设备、或上述内容的任何合适组合。
本公开至少一实施例还提供一种存储介质。图9为本公开至少一实施例提供的一种存储介质的示意图。例如,如图9所示,该存储介质400非暂时性地存储计算机可读指令401,当非暂时性计算机可读指令由计算机(包括处理器)执行时可以执行本公开任一实施例提供的视频处理方法。
例如,该存储介质可以是一个或多个计算机可读存储介质的任意组合,例如一个计算机可读存储介质包含识别并跟踪视频中的地标建筑的计算机可读的程序代码,另一个计算机可读存储介质包含提取并跟踪视频中的活动主体的关键点的计算机可读的程序代码。例如,当该程序代码由计算机读取时,计算机可以执行该计算机存储介质中存储的程序代码,执行例如本公开任一实施例提供的视频处理方法。
例如,存储介质可以包括智能电话的存储卡、平板电脑的存储部件、个人计算机的硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦除可编程只读存储器(EPROM)、便携式紧致盘只读存储器(CD-ROM)、闪存、或者上述存储介质的任意组合,也可以为其他适用的存储介质。
有以下几点需要说明:
(1)本公开实施例附图只涉及到与本公开实施例涉及到的结构,其他结构可参考通常设计。
(2)在不冲突的情况下,本公开的实施例及实施例中的特征可以相互组合以得到新的实施例。
以上所述仅是本公开的示范性实施方式,而非用于限制本公开的保护范围,本公开的保护范围由所附的权利要求确定。
- 图像处理装置、动态图像处理装置、视频处理装置、图像处理方法、视频处理方法、电视接收机、程序、以及存储介质
- 视频播放方法、视频处理方法、视频处理装置及存储介质