一种视频处理方法、装置和存储介质与流程

文档序号:12906870阅读:291来源:国知局
一种视频处理方法、装置和存储介质与流程

本发明涉及计算机技术领域,具体涉及一种视频处理方法、装置和存储介质。



背景技术:

增强现实技术(ar,augmentedreality),是一种能够实时地计算摄影机影像的位置及角度并加上相应图像的技术,这种技术可以在屏幕上把虚拟世界和现实世界结合,并进行互动。近年来,随着计算机技术的发展,ar的应用越来越为广泛。以视频处理为例,在现有技术中,为了增加视频的趣味性,一般可以在用户进行摄像时,在各帧图像上添加实时的二维(2d,2dimensions)动态贴纸效果。例如,具体可以利用人脸识别技术获取相机中当前帧的人像的五官点,然后利用这些五官点,在指定点位绘制二维贴纸,比如绘制一二维的兔子耳朵、猫耳朵、或胡子,等等。

在对现有技术的研究和实践过程中,本发明的发明人发现,现有方案所添加的二维动态贴纸效果虽然具有一定趣味性,但与原图的融合度较差,视频处理质量不佳。



技术实现要素:

本发明实施例提供一种视频处理方法、装置和存储介质;可以在图像上添加三维图像效果,提高所添加效果与原图的融合度,改善视频处理质量。

本发明实施例提供一种视频处理方法,包括:

采集视频数据,并从所述视频数据中确定需要进行处理的对象;

检测所述对象的特征点、以及所述对象预设部位的欧拉角;

根据所述特征点和欧拉角获取预设三维(3d,3dimensions)图像的深度信息;

基于所述三维图像的深度信息在所述对象上绘制所述三维图像。

相应的,本发明实施例还提供一种视频处理装置,包括:

采集单元,用于采集视频数据,并从所述视频数据中确定需要进行处理的对象;

检测单元,用于获取所述对象的特征点、以及所述对象预设部位的欧拉角;

获取单元,用于根据所述特征点和欧拉角获取预设三维图像的深度信息;

绘制单元,用于基于所述三维图像的深度信息在所述对象上绘制所述三维图像。

此外,本发明实施例还提供一种存储介质,所述存储介质存储有多条指令,所述指令适于处理器进行加载,以执行本发明实施例所提供的任一种视频处理方法中的步骤。

本发明实施例可以从采集到的视频数据中,确定需要进行处理的对象,然后,检测该对象的特征点、以及该对象预设部位的欧拉角,根据这些特征点和欧拉角获取预设三维图像的深度信息,并基于该深度信息在该对象上绘制三维图像,从而达到在该图像上添加三维图像,比如三维物品效果的目的;该方案相对于现有方案只能添加二维动态贴纸效果的方案而言,可以大大提高所添加效果与原图的融合度,从而从整体上改善视频处理质量。

附图说明

为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1a是本发明实施例提供的视频处理方法的场景示意图;

图1b是本发明实施例提供的视频处理方法的场景示意图;

图1c是本发明实施例提供的视频处理方法的流程图;

图1d是本发明实施例提供的视频处理方法中人脸检测的示意图;

图2a是本发明实施例提供的视频处理方法的另一流程图;

图2b是本发明实施例提供的视频处理方法中人头姿势欧拉角的示意图;

图2c是本发明实施例提供的视频处理方法中欧拉角的示例图;

图3a是本发明实施例提供的视频处理方法的又一流程图;

图3b是本发明实施例提供的视频处理方法中遮挡模型的示意图;

图3c是本发明实施例提供的视频处理方法中写入遮挡模型深度信息的示意图;

图3d是本发明实施例提供的视频处理方法中写入三维头盔深度信息的示意图;

图3e是本发明实施例提供的视频处理方法中三维头盔的绘制效果图;

图4a是本发明实施例提供的视频处理装置的结构示意图;

图4b是本发明实施例提供的视频处理装置的另一结构示意图;

图5是本发明实施例提供的网络设备的结构示意图。

具体实施方式

下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

本发明实施例提供一种视频处理方法、装置和存储介质。

该视频处理装置具体可以集成在网络设备,比如服务器或终端等设备中。

例如,以该视频处理装置集成在终端中为例,则参见图1a,终端可以采集视频数据,从该视频数据中确定需要进行处理的对象,并检测该对象的特征点、以及该对象预设部位的欧拉角,比如,可以检测视频帧中某人像的五官特征点、以及头部姿势的欧拉角,等等,然后,根据该特征点和欧拉角获取预设三维图像的深度信息,基于该三维图像的深度信息在该对象上绘制该三维图像,比如,在该人像上添加一个三维的头盔,等等。

又例如,以该视频处理装置集成在服务器中为例,则见图1b,终端在采集到视频数据后,可以将该视频数据提供给服务器,由服务器从该视频数据中确定需要进行处理的对象,并检测该对象的特征点、以及该对象预设部位的欧拉角,然后,服务器根据该特征点和欧拉角获取预设三维图像的深度信息,基于该三维图像的深度信息在该对象上绘制该三维图像;可选的,此后,服务器还可以将绘制了三维图像后的视频数据返回给终端。

通过本发明实施例的方案,可以实现一种增强现实技术(ar,augmentedreality)的效果。所谓ar,是一种能够实时地计算摄影机影像的位置及角度并加上相应图像、视频、或三维模型的技术,这种技术可以在屏幕上把虚拟世界和现实世界结合,并进行互动。以下将对本发明所提供的方案分别进行详细说明。

本实施例将从视频处理装置的角度进行描述,该视频处理装置具体可以集成在网络设备,比如服务器或终端等设备中;其中,该终端具体可以为手机、平板电脑、笔记本电脑、和/或pc等。

一种视频处理方法,包括:采集视频数据,并从该视频数据中确定需要进行处理的对象,检测该对象的特征点、以及该对象预设部位的欧拉角,根据该特征点和欧拉角获取预设三维图像的深度信息,基于该三维图像的深度信息在该对象上绘制该三维图像。

如图1c所示,该视频处理方法的具体流程可以如下:

101、采集视频数据,并从该视频数据中确定需要进行处理的对象。

例如,以该视频处理装置集成在终端中为例,则此时,具体可以由终端采集视频数据,比如通过摄像头进行拍摄,或从本地(即终端)读取视频数据,等等。

又例如,以该视频处理装置集成在服务器中为例,则此时,服务器具体接收终端发送的视频数据,譬如,具体可以由终端采集视频数据,比如通过摄像头进行拍摄,或从终端所存储的视频库中直接读取视频数据,等等,然后,由终端将该视频数据提供给服务器。

在采集到视频数据后,便可以从该视频数据中确定需要进行处理的对象,其中,该对象可以根据实际应用的需求而定,比如,可以是人、动物、甚至是物体,等等,此外,该对象的数量也可以根据实际应用的需求而定,可以是单个,也可以是多个,在此不再赘述。需说明的是,为了描述方便,在本发明实施例中,将均以该对象具体为人,且数量为单个为例进行说明。

102、检测该对象的特征点、以及该对象预设部位的欧拉角。

其中,特征点的设置和预设部位可以根据实际应用的需求而定,比如,以该对象为人像,则此时,可以将特征点设置为人的五官,如眉毛、眼睛、鼻子、嘴巴和耳朵,以及人的脸部轮廓等,即步骤“检测该对象的特征点、以及该对象预设部位的欧拉角”具体可以如下:

采用人脸检测技术对该对象的面部进行人脸识别,得到该对象的面部特征点,以及对该对象的头部姿势进行检测,得到该对象的头部的欧拉角。

其中,该面部特征点可以包括五官、以及脸部轮廓等特征点,例如,参见图1d。

其中,欧拉角是用来确定定点转动刚体位置的3个一组独立角参量,由章动角θ、旋进角(即进动角)ψ和自转角组成。也就是说,通过获取该对象预设部位的欧拉角,比如获取该人的头部的欧拉角(包括章动角、旋进角和自转角)与时间的关系,可以获知该对象预设部位如头部的运动情况。

103、根据该特征点和欧拉角获取预设三维图像的深度信息;例如,具体可以如下:

(1)根据该特征点和欧拉角对预设三维图像进行调整,使得该三维图像与该对象能够匹配。

例如,具体根据该特征点和欧拉角对预设三维图像进行缩放、旋转和/或位移等操作,使得该三维图像与该对象在大小、位置和角度上均能够匹配。

其中,该三维图像可以根据实际应用的需求或用户的喜好进行选择,比如,可以是一个三维头盔、三维兔子耳朵、三维猫耳朵、三维眼镜、或三维头巾,等等。

其中,匹配的方式可以有多种,比如,可以设置当该三维图像与该对象在大小、位置和角度上满足一定函数关系时,确定该三维图像与该对象在大小、位置和角度上均能够匹配;或者,也可以设置当该三维图像与该对象在大小、位置和角度上一致或大体上一致(即误差小于预设范围)时,确定该三维图像与该对象在大小、位置和角度上均能够匹配,等等。

譬如,以该对象为人像,且三维图像具体为三维的眼镜为例,则此时,具体可以根据该人的面部特征点和头部的欧拉角对该三维眼镜进行位移,使得该三维眼镜与该人的面部的位置大体上一致,以及根据该人的面部特征点和头部的欧拉角对该三维眼镜进行缩放和旋转,使得该三维眼镜与该人的面部大小和角度大体上一致,等等。

(2)提取该三维图像在匹配状态下的深度信息,得到该三维图像的深度信息。

即当三维图像与该对象在大小、位置和角度上匹配时,提取该三维图像在该状态下的深度信息(物体在不同的状态下都有其对应的深度信息),得到该三维图像的深度信息。

其中,深度信息是让人类产生立体视觉的前提。众所周知,透视投影是多对一的关系,投影线上的任何一点都可对应同一个像点,而如果用两个摄像机(相当于人的双眼),则可以消除这种多对一的情况,从而能够确定第三维坐标z的值,而该值即称为深度信息。

104、基于该三维图像的深度信息在该对象上绘制该三维图像。

例如,具体可以根据该三维图像的深度信息在该对象所在的帧上对该三维图像进行渲染,比如在头像上绘制一个三维眼镜、三维头盔、或三维兔子耳朵,等等。

可选的,为了避免所绘制的三维图像对该对象造成遮挡,还可以根据该对象需要裸露的部分(即避免被三维图像遮挡的部分)设置相匹配的遮挡模型(occluder),以便该三维图像在绘制时,能够相应地避开该对象需要裸露的部分;即,在步骤“基于该三维图像的深度信息在该对象上绘制该三维图像”之前,该视频处理方法还可以包括:

获取预设遮挡模型的深度信息,根据该预设遮挡模型的深度信息和三维图像的深度信息对该遮挡模型和三维图像进行叠加,并将重合部分的颜色设置为透明,得到处理后深度信息;

则此时,步骤“基于该三维图像的深度信息在该对象上绘制该三维图像”包括:根据处理后深度信息在该对象上绘制该三维图像。

其中,获取预设遮挡模型的深度信息与获取三维图像的深度信息类似,例如,具体可以如下:

获取预设的遮挡模型,根据该特征点和欧拉角对该遮挡模型进行调整,使得该遮挡模型与该对象能够匹配,提取该遮挡模型在匹配状态下的深度信息,得到该遮挡模型的深度信息。

比如,具体可以根据该特征点和欧拉角对该遮挡模型进行缩放、旋转和/或位移等操作,使得该遮挡模型与该对象在大小、位置和角度上均能够匹配。

其中,该遮挡模型可以根据该对象需要裸露的部分(即避免被三维图像遮挡的部分)进行设置,比如,以需要裸露的部分为人脸为例,则具体可以建立一个人头的模型来作为该遮挡模型,等等。

需说明的是,为了使得算法更为简便,以及提高处理效率,多个类型相同的不同对象可以使用同一遮挡模型;比如,还是以需要裸露的部分为人脸,且需要绘制的三维图像为三维头盔为例,若该对象为用户甲的头像,则此时,可以采用遮挡模型a,来避免绘制三维头盔时,用户甲的脸部被遮挡;若该对象为用户乙的头像,则此时,也同样可以采用遮挡模型a,来避免绘制三维头盔时,用户乙的脸部被遮挡,以此类推,等等。

可选的,为了提高绘制的精确度,以及提高处理效果,还可以根据具体的对象来建立该遮挡模型;比如,还是以需要裸露的部分为人脸,且需要绘制的三维图像为三维头盔为例,若该对象为用户甲的头像,则此时,可以根据用户甲的头部建立遮挡模型a,然后,采用遮挡模型a来避免绘制三维头盔时,用户甲的脸部被遮挡;若该对象为用户乙的头像,则此时,可以根据用户乙的头部建立遮挡模型b,然后,采用遮挡模型b来避免绘制三维头盔时,用户乙的脸部被遮挡,以此类推,等等。

由于并不是所有需要绘制的三维图像均会对该对象造成遮挡,因此,可选的,为了提高灵活性,在获取预设遮挡模型的深度信息之前,还可以对该三维图像进行判断,若属于预设类型,则需要遮挡模型,否则,则可以直接对该三维图像进行绘制;即,在步骤“获取预设遮挡模型的深度信息”之前,该视频处理方法还可以包括:

确定该三维图像的类型是否满足预设条件,若是,则执行获取预设遮挡模型的深度信息的步骤;否则,若不满足预设条件,则执行基于该三维图像的深度信息在该对象上绘制该三维图像的步骤。

由上可知,本实施例可以从采集到的视频数据中,确定需要进行处理的对象,然后,检测该对象的特征点、以及该对象预设部位的欧拉角,根据这些特征点和欧拉角获取预设三维图像的深度信息,并基于该深度信息在该对象上绘制三维图像,从而达到在该图像上添加三维图像,比如三维物品效果的目的;该方案相对于现有方案只能添加二维动态贴纸效果的方案而言,一方面,可以大大提高所添加效果与原图的融合度,从而从整体上改善视频处理质量,另一方面,也可以实现ar的效果。

根据上述实施例所描述的方法,以下将举例作进一步详细说明。

在本实施例中,将以该视频处理装置具体集成在网络设备中为例进行说明,其中,该网络设备具体可以是终端,也可以是服务器等设备。

如图2a所示,一种视频处理方法,具体流程可以如下:

201、网络设备采集视频数据,并从该视频数据中确定需要处理的对象。

其中,该对象可以根据实际应用的需求而定,比如,可以是人、动物、甚至是物体,等等,此外,该对象的数量也可以根据实际应用的需求而定,可以是单个,也可以是多个,在此不再赘述。

例如,以该网络设备具体为终端,且需要处理的对象为“人像”为例,则此时,终端可以通过摄像头对用户的面部进行拍摄,以采集视频数据,然后,由终端从该视频数据中确定需要进行处理的对象,比如需要添加三维图像的“人像”。

又例如,以该网络设备具体为服务器为例,则此时,具体可以由终端采集视频数据,比如通过摄像头进行拍摄,然后,由终端将该视频数据提供给服务器,由服务器从该视频数据中确定需要进行处理的对象,比如需要添加三维图像的“人像”,等等。

可选的,为了提高视频数据的有效性,终端在采集视频数据时,还可以生成相应的提示信息,以提示用户需要拍摄人脸,以便用户可以以更好的姿态进行拍摄,从而使得可以获取到有效性更高的视频数据。

202、网络设备检测该对象的特征点。

例如,还是以需要处理的对象为“人像”为例,则如图1d所示,网络设备具体采用人脸检测技术对该对象的面部进行人脸识别,得到该对象的面部特征点。

其中,该面部特征点可以包括五官、以及脸部轮廓等特征点,而五官可以包括该人像的眉毛、眼睛、鼻子、嘴巴和耳朵等。而该人脸检测技术可以包括opencv(一个跨平台计算机视觉库)人脸检测技术、各个移动终端系统自带人脸检测技术、face++的人脸检测技术、sensetime人脸检测技术,等等。

203、网络设备检测该对象预设部位的欧拉角。

例如,还是以需要处理的对象为“人像”,且该预设部位为“头部”为例,则此时,网络设备具体对该人像的头部姿势进行实时检测,得到该人像的头部的欧拉角。比如,参见图2b,具体可以以人像的鼻尖作为定点“o”来进行转动,得到基于该定点“o”(即鼻尖)进行转动人像头部的一组独立角参量:章动角θ、旋进角(即进动角)ψ和自转角从而得到该人像的头部的欧拉角,具体可以如下:

如图2c所示,可以基于定点o作出固定坐标系oxyz(x轴、y轴和z轴的位置、以及这三坐标轴之间关系还可参见图2b),以及固连于该人像头部的坐标系ox'y'z'。其中,平面zoz'的垂线on称为节线,它又是基本平面ox'y'和oxy的交线。以轴oz和oz'为基本轴,其垂直面oxy和ox'y'为基本平面,计算由轴oz到oz'的角度,便可以得到章动角θ。在该坐标系中,由on的正端看,章动角θ应按逆时针方向计量。此外,可以测量由固定轴ox量到节线on的角度,得到进动角ψ,以及测量由节线on到动轴ox'的角度,得到自转角φ。由轴oz和oz'正端看,角ψ和φ也都按逆时针方向计量。

需说明的是,其中,该欧拉角可以随着人像头部姿势的变化而变化,而后续所需要的添加的三维图像的角度取决于该欧拉角,因此,可以使得该三维图像也可以随着人像头部姿势的变化而变化,这在步骤204中将进行详细描述,在此不再赘述。

其中,步骤202和203的执行可以不分先后。

204、网络设备根据该特征点和欧拉角对预设三维图像进行缩放、旋转和/或位移等操作,使得该三维图像与该对象在大小、位置和角度上均能够匹配。

其中,该三维图像可以根据实际应用的需求或用户的喜好进行选择,比如,可以是一个三维兔子耳朵、三维猫耳朵、三维眼镜、或三维头巾,等等。

其中,匹配的方式可以有多种,比如,可以设置当该三维图像与该对象在大小、位置和角度上满足一定函数关系时,确定该三维图像与该对象在大小、位置和角度上均能够匹配;或者,也可以设置当该三维图像与该对象在大小、位置和角度上一致或大体上一致(即误差小于预设范围)时,确定该三维图像与该对象在大小、位置和角度上均能够匹配,等等。为了描述方便,在本实施例中,将均以该三维图像与该对象在大小、位置和角度上一致或大体上一致作为匹配条件为例进行说明。

譬如,以该对象为人像,且三维图像具体为三维眼镜为例,则此时,具体可以根据该人的面部特征点和头部的欧拉角对该三维眼镜进行位移,使得该三维眼镜与该人的面部的位置大体上一致,以及根据该人的面部特征点和头部的欧拉角对该三维眼镜进行缩放和旋转,使得该三维眼镜与该人的面部大小和角度大体上一致,等等。

205、网络设备提取该三维图像在匹配状态下(即当三维图像与该对象在大小、位置和角度上匹配时)的深度信息,得到该三维图像的深度信息。

例如,还是以该需要处理的对象为“人像”,且需要添加的三维图像为三维眼镜为例,则当该三维眼镜与该人的面部的位置、大小和角度大体上一致时网络设备提取该三维眼镜此时的深度信息,并执行步骤206。

206、网络设备根据三维图像的深度信息在该对象上绘制该三维图像。

例如,还是以该需要处理的对象为“人像”,且需要添加的三维图像为三维眼镜为例,则此时,网络设备可以根据步骤205中得到的三维眼镜的深度信息,在该人像的面部绘制三维眼镜。

由上可知,本实施例可以从采集到的视频数据中,确定需要进行处理的对象,然后,检测该对象的特征点、以及该对象预设部位的欧拉角,根据这些特征点和欧拉角获取预设三维图像的深度信息,并基于该深度信息在该对象上绘制三维图像,从而达到在该图像上添加三维图像,比如三维物品效果的目的;该方案相对于现有方案只能添加二维动态贴纸效果的方案而言,可以大大提高所添加效果与原图的融合度,从而从整体上改善视频处理质量。

与上一个实施例相同的是,在本实施例中,同样以该视频处理装置具体集成在网络设备中为例进行说明,与上一个实施例不同的是,在本实施例中,将以绘制另一种类型的三维图像,如三维头盔为例进行说明。

如图3a所示,一种视频处理方法,具体流程可以如下:

301、网络设备采集视频数据,并从该视频数据中确定需要处理的对象。

其中,该网络设备可以是终端,也可以是服务器,具体可参见上一个实施例中的步骤201,在此不再赘述。

302、网络设备检测该对象的特征点。

303、网络设备检测该对象预设部位的欧拉角。

其中,步骤301~303的具体执行可参见上一个实施例中的步骤201~203,在此不再赘述。

304、网络设备获取预设的遮挡模型,然后执行步骤305。

其中,该遮挡模型可以根据该对象需要裸露的部分(即避免被三维图像遮挡的部分)进行设置,比如,以需要裸露的部分为人脸为例,则如图3b所示,具体可以建立一个人头的模型来作为该遮挡模型,等等。

需说明的是,为了使得算法更为简便,以及提高处理效率,多个类型相同的不同对象可以使用同一遮挡模型;比如,还是以需要裸露的部分为人脸,且需要绘制的三维图像为三维头盔为例,若该对象为用户甲的头像,则此时,可以采用遮挡模型a,来避免绘制三维头盔时,用户甲的脸部被遮挡;而若该对象为用户乙的头像,则同样也可以采用遮挡模型a,来避免绘制三维头盔时,用户乙的脸部被遮挡,以此类推,等等。

可选的,为了提高绘制的精确度,以及提高处理效果,还可以根据具体的对象来建立该遮挡模型;比如,还是以需要裸露的部分为人脸,且需要绘制的三维图像为三维头盔为例,若该对象为用户甲的头像,则可以根据用户甲的头部建立遮挡模型a,然后,采用遮挡模型a来避免绘制三维头盔时,用户甲的脸部被遮挡;而若该对象为用户乙的头像,则可以根据用户乙的头部建立遮挡模型b,然后,采用遮挡模型b来避免绘制三维头盔时,用户乙的脸部被遮挡,以此类推,等等。

由于并不是所有需要绘制的三维图像均会对该对象造成遮挡,因此,可选的,为了提高灵活性,在获取预设的遮挡模型之前,还可以对该三维图像进行判断,若属于预设类型,比如若需要绘制的三维图像为三维头盔,则需要遮挡模型,否则,若不属于预设类型,比如若需要绘制的三维图像为三维眼镜,则可以直接对该三维图像进行绘制,可参见上一个实施例中的相关描述,在此不再赘述。

305、网络设备根据该特征点和欧拉角对该遮挡模型进行调整,使得该遮挡模型与该对象能够匹配,提取该遮挡模型在匹配状态下的深度信息,得到该遮挡模型的深度信息。例如,具体可以如下:

网络设备根据该特征点和欧拉角对该遮挡模型进行缩放、旋转和/或位移等操作,使得该遮挡模型与该对象在大小、位置和角度上均能够匹配,然后,提取该遮挡模型在匹配状态下的深度信息,得到该遮挡模型的深度信息,比如,参见图3c,该图为写入遮挡模型的深度信息的示意图。

其中,匹配的方式可以有多种,比如,可以设置当该遮挡模型与该对象在大小、位置和角度上满足一定函数关系时,确定该遮挡模型与该对象在大小、位置和角度上均能够匹配;或者,也可以设置当该遮挡模型与该对象在大小、位置和角度上一致或大体上一致(即误差小于预设范围)时,确定该遮挡模型与该对象在大小、位置和角度上均能够匹配,等等。

306、网络设备根据该特征点和欧拉角对预设三维图像进行缩放、旋转和/或位移等操作,使得该三维图像与该对象在大小、位置和角度上均能够匹配,提取该三维图像在匹配状态下的深度信息,得到该三维图像的深度信息。

其中,匹配的方式可以有多种,具体可参见上一个实施例中的步骤204和205,在此不再赘述。

比如,参见图3d,该图为写入三维头盔的深度信息的示意图,由图3d可以看出,若直接根据三维头盔的深度信息来绘制该三维头盔,则将会对该人像的面部造成遮挡,因此,需要将面部“裸露”出来,而这个操作,可以通过执行步骤307来实现,详见步骤307。

需说明的是,步骤304和306的执行可以不分先后。

307、网络设备根据该遮挡模型的深度信息和三维图像的深度信息对该遮挡模型和三维图像进行叠加,并将重合部分的颜色设置为透明,得到处理后深度信息。

例如,网络设备可以在将该遮挡模型和三维图像进行叠加后,将重合部分的颜色设置为vec(0.0.0.0),并写入三维头盔的深度信息(即对步骤306得到的三维头盔的深度信息进行更新),得到处理后深度信息,这样,后续在绘制头盔时,头盔被该遮挡模型遮挡的像素就会被丢弃,相当于在绘制的头盔上挖出来个洞把人像的面部显露出来。

308、网络设备根据处理后深度信息在该对象上绘制该三维图像。

例如,还是以该需要处理的对象为“人像”,且需要添加的三维图像为三维头盔为例,则此时,网络设备可以根据步骤307中得到的三维头盔的深度信息,在该人像的面部绘制三维头盔。

由于此时所依据的三维头盔的深度信息是“处理后深度信息”,因此,在绘制该三维头盔时,被遮挡模型遮挡的像素会被丢弃,从而避免了人像的面部被绘制的三维头盔遮挡的情况的发生,比如,参见图3e,该图为三维头盔的绘制效果图,可见,在该人像的头部,添加了一个三维头盔,且该人像的面部已显露出来,清晰可见。

由上可知,本实施例可以从采集到的视频数据中,确定需要进行处理的对象,然后,检测该对象的特征点、以及该对象预设部位的欧拉角,根据这些特征点和欧拉角,获取遮挡模型的深度信息和预设三维图像的深度信息,并基于这些深度信息在该对象上绘制三维图像,从而达到在该图像上添加三维图像,比如三维物品效果的目的;该方案相对于现有方案只能添加二维动态贴纸效果的方案而言,可以大大提高所添加效果与原图的融合度,从而从整体上改善视频处理质量。

此外,该方案还可以通过设置遮挡模型,来改善三维图像的添加效果,避免对原对象的遮挡情况的发生,因此,可以提高实现的灵活性、以及进一步提高所添加效果与原图的融合度、以及视频处理质量。

为了更好地实施以上方法,本发明实施例还提供一种视频处理装置,该视频处理装置具体可以集成在网络设备,比如服务器或终端等设备中;其中,该终端具体可以为手机、平板电脑、笔记本电脑、和/或pc等。

例如,如图4a所示,该视频处理装置可以包括采集单元401、检测单元402、获取单元403和绘制单元404,如下:

(1)采集单元401;

采集单元401,用于采集视频数据,并从该视频数据中确定需要进行处理的对象。

例如,该采集单元401,具体可以用于通过摄像头进行拍摄,或从本地(即终端)读取视频数据等,并从该视频数据中确定需要进行处理的对象。

或者,该采集单元401,具体可以用于接收终端发送的视频数据,并从该视频数据中确定需要进行处理的对象。

其中,该对象可以根据实际应用的需求而定,比如,可以是人、动物、甚至是物体,等等,此外,该对象的数量也可以根据实际应用的需求而定,可以是单个,也可以是多个,在此不再赘述。

(2)检测单元402;

检测单元402,用于获取该对象的特征点、以及该对象预设部位的欧拉角。

其中,特征点的设置和预设部位可以根据实际应用的需求而定,比如,以该对象为人像,则此时,可以将特征点设置为人的五官,如眉毛、眼睛、鼻子、嘴巴和耳朵,以及人的脸部轮廓等,即当该对象为人像,预设部位为头部时,该检测单元402,具体可以用于:

采用人脸检测技术对该对象的面部进行人脸识别,得到该对象的面部特征点;以及,对该对象的头部姿势进行检测,得到该对象的头部的欧拉角。

其中,该面部特征点可以包括五官、以及脸部轮廓等特征点,具体可参见前面的方法实施例,在此不再赘述。

(3)获取单元403;

获取单元403,用于根据该特征点和欧拉角获取预设三维图像的深度信息。

例如,该获取单元403可以包括调整子单元和提取子单元,如下:

该调整子单元,可以用于根据该特征点和欧拉角对预设三维图像进行调整,使得该三维图像与该对象能够匹配。

该提取子单元,可以用于提取该三维图像在匹配状态下的深度信息,得到该三维图像的深度信息。

比如,该调整子单元,具体可以用于根据该特征点和欧拉角对预设三维图像进行缩放、旋转和/或位移,使得该三维图像与该对象在大小、位置和角度上均能够匹配。

其中,该三维图像可以根据实际应用的需求或用户的喜好进行选择,比如,可以是一个三维头盔、三维兔子耳朵、三维猫耳朵、三维眼镜、或三维头巾,等等。

其中,匹配的方式可以有多种,比如,可以设置当该三维图像与该对象在大小、位置和角度上满足一定函数关系时,确定该三维图像与该对象在大小、位置和角度上均能够匹配;或者,也可以设置当该三维图像与该对象在大小、位置和角度上一致或大体上一致(即误差小于预设范围)时,确定该三维图像与该对象在大小、位置和角度上均能够匹配,等等。

(4)绘制单元404;

绘制单元404,用于基于该三维图像的深度信息在该对象上绘制该三维图像。

例如,绘制单元404,具体可以用于根据该三维图像的深度信息在该对象所在的帧上对该三维图像进行渲染,比如在头像上绘制一个三维眼镜、三维头盔、或三维兔子耳朵,等等。

可选的,为了避免所绘制的三维图像对该对象造成遮挡,还可以根据该对象需要裸露的部分(即避免被三维图像遮挡的部分)设置相匹配的遮挡模型(occluder),以便该三维图像在绘制时,能够相应地避开该对象需要裸露的部分;即如图4b所示,该视频处理装置还可以包括遮挡获取单元405和遮挡调整单元406,如下:

该遮挡获取单元405,可以用于获取预设遮挡模型的深度信息。

该遮挡调整单元406,可以用于根据该预设遮挡模型的深度信息和三维图像的深度信息对该遮挡模型和三维图像进行叠加,并将重合部分的颜色设置为透明,得到处理后深度信息。

则此时,该绘制单元404,具体可以用于根据遮挡调整单元得到的处理后深度信息在该对象上绘制该三维图像。

其中,获取预设遮挡模型的深度信息与获取三维图像的深度信息类似,例如,具体可以如下:

该遮挡获取单元405,具体可以用于获取预设的遮挡模型,根据该特征点和欧拉角对该遮挡模型进行调整,使得该遮挡模型与该对象能够匹配;提取该遮挡模型在匹配状态下的深度信息,得到该遮挡模型的深度信息。

比如,该遮挡获取单元405,具体可以用于获取预设的遮挡模型,根据该特征点和欧拉角对该遮挡模型进行缩放、旋转和/或位移,使得该遮挡模型与该对象在大小、位置和角度上均能够匹配。

其中,该遮挡模型可以根据该对象需要裸露的部分(即避免被三维图像遮挡的部分)进行设置,比如,以需要裸露的部分为人脸为例,则具体可以建立一个人头的模型来作为该遮挡模型,等等。

需说明的是,为了使得算法更为简便,以及提高处理效率,多个类型相同的不同对象可以使用同一遮挡模型。可选的,为了提高绘制的精确度,以及提高处理效果,还可以根据具体的对象来建立该遮挡模型,具体可参见前面的方法实施例,在此不再赘述。

由于并不是所有需要绘制的三维图像均会对该对象造成遮挡,因此,可选的,为了提高灵活性,在获取预设遮挡模型的深度信息之前,还可以对该三维图像进行判断,若属于预设类型,则需要遮挡模型,否则,则可以直接对该三维图像进行绘制;即如图4b所示,该视频处理装置还可以包括确定单元407,如下:

该确定单元407,可以用于确定该三维图像的类型是否满足预设条件,若是,则触发遮挡获取单元405执行获取预设遮挡模型的深度信息的操作;若否,则触发绘制单元404执行基于该三维图像的深度信息在该对象上绘制该三维图像的操作。

具体实施时,以上各个单元可以作为独立的实体来实现,也可以进行任意组合,作为同一或若干个实体来实现,以上各个单元的具体实施可参见前面的方法实施例,在此不再赘述。

由上可知,本实施例可以从采集到的视频数据中,确定需要进行处理的对象,然后,由检测单元402检测该对象的特征点、以及该对象预设部位的欧拉角,由获取单元403根据这些特征点和欧拉角获取预设三维图像的深度信息,并由绘制单元404基于该深度信息在该对象上绘制三维图像,从而达到在该图像上添加三维图像,比如三维物品效果的目的;该方案相对于现有方案只能添加二维动态贴纸效果的方案而言,可以大大提高所添加效果与原图的融合度,从而从整体上改善视频处理质量。

相应的,本发明实施例还提供一种网络设备,该网络设备可以是终端,也可以是服务器。例如,如图5所示,其示出了本发明实施例所涉及的网络设备的结构示意图,具体来讲:

该网络设备可以包括一个或者一个以上处理核心的处理器501、一个或一个以上计算机可读存储介质的存储器502、电源503和输入单元504等部件。本领域技术人员可以理解,图5中示出的网络设备结构并不构成对网络设备的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。其中:

处理器501是该网络设备的控制中心,利用各种接口和线路连接整个网络设备的各个部分,通过运行或执行存储在存储器502内的软件程序和/或模块,以及调用存储在存储器502内的数据,执行网络设备的各种功能和处理数据,从而对网络设备进行整体监控。可选的,处理器501可包括一个或多个处理核心;优选的,处理器501可集成应用处理器和调制解调处理器,其中,应用处理器主要处理操作系统、用户界面和应用程序等,调制解调处理器主要处理无线通信。可以理解的是,上述调制解调处理器也可以不集成到处理器501中。

存储器502可用于存储软件程序以及模块,处理器501通过运行存储在存储器502的软件程序以及模块,从而执行各种功能应用以及数据处理。存储器502可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序(比如声音播放功能、图像播放功能等)等;存储数据区可存储根据网络设备的使用所创建的数据等。此外,存储器502可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。相应地,存储器502还可以包括存储器控制器,以提供处理器501对存储器502的访问。

网络设备还包括给各个部件供电的电源503,优选的,电源503可以通过电源管理系统与处理器501逻辑相连,从而通过电源管理系统实现管理充电、放电、以及功耗管理等功能。电源503还可以包括一个或一个以上的直流或交流电源、再充电系统、电源故障检测电路、电源转换器或者逆变器、电源状态指示器等任意组件。

该网络设备还可包括输入单元504,该输入单元504可用于接收输入的数字或字符信息,以及产生与用户设置以及功能控制有关的键盘、鼠标、操作杆、光学或者轨迹球信号输入。

尽管未示出,网络设备还可以包括显示单元等,在此不再赘述。具体在本实施例中,网络设备中的处理器501会按照如下的指令,将一个或一个以上的应用程序的进程对应的可执行文件加载到存储器502中,并由处理器501来运行存储在存储器502中的应用程序,从而实现各种功能,如下:

采集视频数据,并从该视频数据中确定需要进行处理的对象,检测该对象的特征点、以及该对象预设部位的欧拉角,根据该特征点和欧拉角获取预设三维图像的深度信息,基于该三维图像的深度信息在该对象上绘制该三维图像。

例如,具体可以根据该特征点和欧拉角对预设三维图像进行缩放、旋转和/或位移等操作,使得该三维图像与该对象在大小、位置和角度上均能够匹配,然后,提取该三维图像在匹配状态下的深度信息,得到该三维图像的深度信息。

其中,特征点的设置和预设部位可以根据实际应用的需求而定,比如,以该对象为人像,则此时,可以将特征点设置为人的五官,如眉毛、眼睛、鼻子、嘴巴和耳朵,以及人的脸部轮廓等,即处理器501还可以运行存储在存储器502中的应用程序,从而实现如下功能:

采用人脸检测技术对该对象的面部进行人脸识别,得到该对象的面部特征点,以及对该对象的头部姿势进行检测,得到该对象的头部的欧拉角。其中,该面部特征点可以包括五官、以及脸部轮廓等特征点等。

可选的,为了避免所绘制的三维图像对该对象造成遮挡,还可以根据该对象需要裸露的部分设置相匹配的遮挡模型,以便该三维图像在绘制时,能够相应地避开该对象需要裸露的部分;即处理器501还可以运行存储在存储器502中的应用程序,从而实现如下功能:

获取预设遮挡模型的深度信息,根据该预设遮挡模型的深度信息和三维图像的深度信息对该遮挡模型和三维图像进行叠加,并将重合部分的颜色设置为透明,得到处理后深度信息,然后,根据处理后深度信息在该对象上绘制该三维图像。

其中,获取预设遮挡模型的深度信息与获取三维图像的深度信息类似,具体可参见前面的实施例,在此不再赘述。

以上各个操作的具体实施可参见前面的实施例,在此不再赘述。

由上可知,本实施例的网络设备可以从采集到的视频数据中,确定需要进行处理的对象,然后,检测该对象的特征点、以及该对象预设部位的欧拉角,根据这些特征点和欧拉角获取预设三维图像的深度信息,并基于该深度信息在该对象上绘制三维图像,从而达到在该图像上添加三维图像,比如三维物品效果的目的;该方案相对于现有方案只能添加二维动态贴纸效果的方案而言,可以大大提高所添加效果与原图的融合度,从而从整体上改善视频处理质量。

本领域普通技术人员可以理解,上述实施例的各种方法中的全部或部分步骤可以通过指令来完成,或通过指令控制相关的硬件来完成,该指令可以存储于一计算机可读存储介质中,并由处理器进行加载和执行。

为此,本发明实施例提供一种存储介质,其中存储有多条指令,该指令能够被处理器进行加载,以执行本发明实施例所提供的任一种视频处理方法中的步骤。例如,该指令可以执行如下步骤:

采集视频数据,并从该视频数据中确定需要进行处理的对象,检测该对象的特征点、以及该对象预设部位的欧拉角,根据该特征点和欧拉角获取预设三维图像的深度信息,基于该三维图像的深度信息在该对象上绘制该三维图像。

例如,具体可以根据该特征点和欧拉角对预设三维图像进行缩放、旋转和/或位移等操作,使得该三维图像与该对象在大小、位置和角度上均能够匹配,然后,提取该三维图像在匹配状态下的深度信息,得到该三维图像的深度信息。

其中,特征点的设置和预设部位可以根据实际应用的需求而定,比如,以该对象为人像,则此时,可以将特征点设置为人的五官,如眉毛、眼睛、鼻子、嘴巴和耳朵,以及人的脸部轮廓等,即该指令还可以执行如下步骤:

采用人脸检测技术对该对象的面部进行人脸识别,得到该对象的面部特征点,以及对该对象的头部姿势进行检测,得到该对象的头部的欧拉角。其中,该面部特征点可以包括五官、以及脸部轮廓等特征点等。

可选的,为了避免所绘制的三维图像对该对象造成遮挡,还可以根据该对象需要裸露的部分设置相匹配的遮挡模型,以便该三维图像在绘制时,能够相应地避开该对象需要裸露的部分;即该指令还可以执行如下步骤:

获取预设遮挡模型的深度信息,根据该预设遮挡模型的深度信息和三维图像的深度信息对该遮挡模型和三维图像进行叠加,并将重合部分的颜色设置为透明,得到处理后深度信息,然后,根据处理后深度信息在该对象上绘制该三维图像。

以上各个操作的具体实施可参见前面的实施例,在此不再赘述。

其中,该存储介质可以包括:只读存储器(rom,readonlymemory)、随机存取记忆体(ram,randomaccessmemory)、磁盘或光盘等。

由于该存储介质中所存储的指令,可以执行本发明实施例所提供的任一种视频处理方法中的步骤,因此,可以实现本发明实施例所提供的任一种视频处理方法所能实现的有益效果,详见前面的实施例,在此不再赘述。

以上对本发明实施例所提供的一种视频处理方法、装置和存储介质进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1