数据处理方法及装置、终端及存储介质与流程

文档序号:16978295发布日期:2019-02-26 19:14阅读:130来源:国知局
数据处理方法及装置、终端及存储介质与流程

本发明涉及信息技术领域但不限于技术信息技术领域,尤其涉及一种数据处理方法及装置、终端及存储介质。



背景技术:

三维视频建模的过程中,可能需要同时采集二维(2d)图像和深度图像。但是在相关技术中发现,基于这种2d图像和深度图像进行三维建模的过程中,很容易出现建模失败或者建模异常。



技术实现要素:

本发明实施例提供了种一种数据处理方法及装置、终端及存储介质。

一种数据处理方法,应用于终端中,包括:

从至少两个备选波长的结构光中选择应用于当前采集场景的目标波长;

发射所述目标波长的结构光;

基于所述目标波长的结构光,生成三维视频数据中的深度图像。

基于上述方案,所述从至少两个备选波长的结构光中选择应用于当前采集场景的目标波长,包括:

获取所述当前采集场景的预定信息;

根据所述预定信息,从至少两个备选波长的结构光中选择应用于当前采集场景的目标波长。

基于上述方案,所述获取所述当前采集场景的预定信息,包括:

获取所述当前采集场景下基于所述备选波长的结构光生成的样本深度图像;

所述根据所述预定信息,从至少两个备选波长的结构光中选择应用于当前采集场景的目标波长,包括:

基于所述样本深度图像,从所述备选波长的结构光中选择所述目标波长。

基于上述方案,所述获取所述当前采集场景的预定信息,包括以下至少之一:

分别发射所述备选波长的结构光;及基于所述备选波长的结构光,生成所述样本深度图像;

根据所述当前采集场景的位置信息,查询所述备选波长的结构光对应的所述样本深度图像。

基于上述方案,所述获取所述当前采集场景的预定信息,包括:

获取所述当前采集场景的历史采集记录

所述根据所述预定信息,从至少两个备选波长的结构光中选择应用于当前采集场景的目标波长,包括:

根据所述历史采集记录,从至少两个所述备选波长中选择所述目标波长。

基于上述方案,所述基于所述目标波长的结构光,生成三维视频数据中的深度图像,包括以下至少之一:

基于所述目标波长的结构光的反射光,生成所述三维视频数据中的深度图像;

和/或,

基于所述目标波长的结构光,采集所述结构光的投射图案;基于所述投射图案及所述结构光的发射图案,生成所述深度图像。

一种数据处理装置,应用于终端中,包括:

选择模块,用于从至少两个备选波长的结构光中选择应用于当前采集场景的目标波长;

发射模块,用于发射所述目标波长的结构光;

生成模块,用于基于所述目标波长的结构光,生成三维视频数据中的深度图像。

基于上述方案,所述选择模块,包括:

获取子模块,用于获取所述当前采集场景的预定信息;

选择子模块,用于根据所述预定信息,从至少两个备选波长的结构光中选择应用于当前采集场景的目标波长。

基于上述方案,所述获取子模块,具体用于获取所述当前采集场景下基于所述备选波长的结构光生成的样本深度图像;

所述选择子模块,具体用于基于所述样本深度图像,从所述备选波长的结构光中选择所述目标波长。

基于上述方案,所述获取子模块,具体用于分别发射所述备选波长的结构光;及基于所述备选波长的结构光,生成所述样本深度图像;根据所述当前采集场景的位置信息,查询所述备选波长的结构光对应的所述样本深度图像。

基于上述方案,所述获取子模块,具体用于获取所述当前采集场景的历史采集记录

所述选择子模块,具体用于根据所述历史采集记录,从至少两个所述备选波长中选择所述目标波长。

基于上述方案,

所述生成模块,包括以下至少之一:

第一生成子模块,用于基于所述目标波长的结构光的反射光,生成所述三维视频数据中的深度图像;

和/或,

第二生成子模块,用于基于所述目标波长的结构光,采集所述结构光的投射图案;基于所述投射图案及所述结构光的发射图案,生成所述深度图像。

一种计算机存储介质,所述计算机存储介质上存储有计算机指令,其特征在于,该指令被处理器执行时实现前述一个或多个技术方案提供的数据处理方法的步骤。

一种终端,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机指令,其特征在于,所述处理器执行所述指令时前述一个或多个技术方案提供的数据处理方法的步骤。

本发明实施例提供的技术方案,在进行三维视频数据的采集时,首先会选择出适宜于当前采集场景的目标波长,利用目标波长的结构光进行深度图像的生成;如此,减少相对于使用默认波长的结构光等采集直接生成深度图像,可以减少深度值缺失的现象,提升深度值的采集精准度;故可以减少因为深度值缺失导致的三维视频数据缺少深度值导致的建模失败现象,并减少因为深度值的精准度低导致的三维建模异常的现象,提升了三维视频建模的成功率及精准度。

附图说明

图1为本发明实施例提供的一种数据传输方法应用的系统架构示意图;

图2为本发明实施例提供的一种数据处理方法的流程示意图;

图3本发明实施例提供的另一种数据处理方法的流程示意图;

图4为本发明实施例提供的一种数据处理装置的结构示意图;

图5为本发明实施例提供的一种终端的结构示意图。

具体实施方式

在对本发明实施例的技术方案进行详细说明之前,首先对本发明实施例的数据处理方法应用的系统架构进行简单说明。本发明实施例的数据处理方法应用于三维视频数据的相关业务,该业务例如是三维视频数据分享的业务,或者基于三维视频数据的直播业务等等。在这种情况下,由于三维视频数据的数据量较大,分别传输的深度数据和二维视频数据在数据传输过程中需要较高的技术支持,因此需要移动通信网络具有较快的数据传输速率,以及较稳定的数据传输环境。

图1为本发明实施例的数据传输方法应用的系统架构示意图;如图1所示,系统可包括终端、基站、mec服务器、业务处理服务器、核心网和互联网(internet)等;mec服务器与业务处理服务器之间通过核心网建立高速通道以实现数据同步。

以图1所示的两个终端交互的应用场景为例,mec服务器a为部署于靠近终端a(发射端)的mec服务器,核心网a为终端a所在区域的核心网;相应的,mec服务器b为部署于靠近终端b(接收端)的mec服务器,核心网b为终端b所在区域的核心网;mec服务器a和mec服务器b可与业务处理服务器之间分别通过核心网a和核心网b建立高速通道以实现数据同步。

其中,终端a发射的三维视频数据传输到mec服务器a后,由mec服务器a通过核心网a将数据同步至业务处理服务器;再由mec服务器b从业务处理服务器获取终端a发射的三维视频数据,并发射至终端b进行呈现。

这里,如果终端b与终端a通过同一个mec服务器来实现传输,此时终端b和终端a直接通过一个mec服务器实现三维视频数据的传输,不需要业务处理服务器的参与,这种方式称为本地回传方式。具体地,假设终端b与终端a通过mec服务器a实现三维视频数据的传输,终端a发射的三维视频数据传输到mec服务器a后,由mec服务器a发射三维视频数据至终端b进行呈现。

这里,终端可基于网络情况、或者终端自身的配置情况、或者自身配置的算法选择接入4g网络的演进型基站(enb),或者接入5g网络的下一代演进型基站(gnb),从而使得enb通过长期演进(longtermevolution,lte)接入网与mec服务器连接,使得gnb通过下一代接入网(ng-ran)与mec服务器连接。

这里,mec服务器部署于靠近终端或数据源头的网络边缘侧,所谓靠近终端或者靠近数据源头,不仅是逻辑位置上,还在地理位置上靠近终端或者靠近数据源头。区别于现有的移动通信网络中主要的业务处理服务器部署于几个大城市中,mec服务器可在一个城市中部署多个。例如在某写字楼中,用户较多,则可在该写字楼附近部署一个mec服务器。

其中,mec服务器作为具有融合网络、计算、存储、应用核心能力的边缘计算网关,为边缘计算提供包括设备域、网络域、数据域和应用域的平台支撑。其联接各类智能设备和传感器,就近提供智能联接和数据处理业务,让不同类型的应用和数据在mec服务器中进行处理,实现业务实时、业务智能、数据聚合与互操作、安全与隐私保护等关键智能服务,有效提升业务的智能决策效率。

如图2所示,本实施例提供一种数据处理方法,应用于终端中,包括:

步骤201:从至少两个备选波长的结构光中选择应用于当前采集场景的目标波长;

步骤202:发射所述目标波长的结构光;

步骤203:基于所述目标波长的结构光,生成三维视频数据中的深度图像。

在本发明实施例中,终端每一个时刻都采集有2d图像和对应的深度图像,从而形成所述三维视频数据。

在一些实施例中,所述三维视频数据包括:二维图像及深度图像。其中,所述二维图像中包含颜色像素。所述颜色像素的像素值为颜色值。例如,所述颜色值是红/绿/蓝(rgb)值或者是明亮度/色度/浓度(yuv)值。

所述深度图像包含深度像素,所述深度像素的像素值为深度值。所述三维视频数据及深度图像可以在三维图像空间内搭建出三维图像。

在一些实施例中,所述二维图像和深度图像的图像尺寸是一致,例如,所述二维图像和深度图像所包含的像素均为w*h个;w表示第一方向上包括的像素个数,h表示第二方向上包括的像素个数。w和h均为正整数。

在一些实施例中,所述二维图像和所述深度图像,可为同一个时刻采集的两个图像;为了减少数据量,所述二维图像和所述深度图像的图像尺寸,满足预设关系。例如,深度图像所包含的像素为w*h个,深度图像包含的像素为(w/a)*(h/b)。如此,一个深度像素对应了a*b个颜色像素。在进行三维视频搭建时,可以根据一个深度像素的像素值应用于a*b个相邻颜色像素的像素值。譬如,(w/a)*(h/b)等于(w/2)*(h/2)。如此,一个深度像素对应了4个颜色像素。在进行三维视频搭建时,可以根据一个深度像素的像素值应用于4个相邻颜色像素的像素值;如此,就减少了深度图像的图像数据量。由于通常一个物体相邻的很小区域内的凹凸感是基本上一致的,故若深度图像的图像尺寸小于所述二维图像的图像尺寸,也可以维持较高精度的三维视频的还原和搭建;同时减少的终端和mec服务器需要交互的数据量和/或mec服务器需要处理的数据量。

在一些实施例中,在生成图像尺寸小于所述二维图像时,可具有以下方式中的至少一种:直接利用所述深度图像的图像尺寸采集所述深度图像;利用所述二维图像的图像尺寸采集原始深度图像;再根据深度图像的图像尺寸,根据相邻的a*b个像素的像素值生成所述深度图像。例如,根据相邻的a*b个像素值的均值或中值生成所述深度图像。

不同的结构光的波长是不同的。在本实施例中所述结构光均可为非可见光,则波长均为非可见光的波长;例如,红外光、紫外光甚至是激光。

在一些实施例中,所述备选波长的个数可为:2个、3个、4个或5个等;具体不局限于上述任意值。此处的备选波长均为终端可发射的波长。

在本实施例中不同的当前采集场景,其空间结构特性是不同的,对于不同的结构光的吸收和/或反射的特性也是不同的。故在本实施例中,为了首先会选择出适合当前采集场景波长的结构光;再发射结构光,利用结构光生成所述深度图像。故在步骤201中选择目标波长的结构光之后,在步骤202中发射目标波长的结构光,步骤203基于目标波长的结构光,采集生成所述深度图像。

在步骤201中目标波长可为一个或多个。若当前选择出两个目标波长,则会基于这两个目标波长发射结果光,并在步骤203分别获得不同目标波长对应的深度图像。如此,一方面,本方案减少单一结构光采集的深度值缺失现象;另一方面,还可供mec服务器结合两种目标波长的结构光得到至少两个深度图像,以获取更加精准的深度值。

在一些实施例中,如图3所示,所述步骤201可包括:

步骤2011:获取所述当前采集场景的预定信息;

步骤2012:根据所述预定信息,从至少两个备选波长的结构光中选择应用于当前采集场景的目标波长。

所述当前采集场景的预定信息,可为各种类型的信息。例如,位置信息、空间结构特点信息、历史采集记录等各种与该当前采集场景相关的信息。

基于所述预定信息,从至少两个备选波长的结构光中选择目标波长。

在一些实施例中,所述方法还包括:

若未成功获取到所述当前采集场景的预定信息,则采用默认波长的结构光进行所述深度信息采集。

在还有一些实施例中,所述方法还包括:

若未成功获取到所述当前采集场景的预定信息,则根据备选波长的结构光的光特性,选择一组具有一定互补功能波长为初选波长。例如,终端并不知道采集目标到终端的距离远近,此时,可以从多个备选波长中选择波长最短、波长最长、及波长为中间值的波长作为一组目标波长,用于深度图像的生成。

然后根据这一组目标波长各自的采集效果,若这一组初选波长中有至少一个初选波长的效果满足预设效果条件,可以选择该至少一个波长中的一个作为目标波长使用。例如,一组目标波长包括:波长1、波长2及波长3;某一个波长对应的深度图像的图像质量达到预设效果条件。例如,一个初选波长的采集的多帧深度图图像中的缺失深度值都低于预设比例,可认为满足所述预设效果条件。再例如,一个初选波长的多帧深度图像中出现异常值的概率均小于概率阈值,可认为满足所述预设效果条件,如此,实现了目标波长的确定。

在一些实施例中,所述步骤2011可包括:获取所述当前采集场景下基于所述备选波长的结构光生成的样本深度图像;

所述步骤2012可包括:基于所述样本深度图像,从所述备选波长的结构光中选择所述目标波长。

在本实施例中,所述终端会实现通过试采样的方式,获得样本深度图像;然后基于样本深度图像,选择目标波长。例如,终端自行处理样本深度图像,确定目标波长。终端也可以将样本深度图像发送给mec服务器,mec服务器选择出目标波长之后告知终端。

在一些实施例中,所述步骤2012可包括如下方式至少之一:

方式一:

所述步骤2012可包括:

分别发射所述备选波长的结构光;及基于所述备选波长的结构光,生成所述样本深度图像;在该方式中,相当于终端会自动发射并在当前采集场景实际采集生成所述样本深度图像。

方式二:

所述步骤2012可包括:

根据所述当前采集场景的位置信息,查询所述备选波长的结构光对应的所述样本深度图像;在该方式中,终端可以基于位置信息本地查询或在网络中查询所述样本深度图像。

在一些实施例中,所述步骤2012可包括:

获取所述当前采集场景的历史采集记录

所述根据所述预定信息,从至少两个备选波长的结构光中选择应用于当前采集场景的目标波长,包括:

根据所述历史采集记录,从至少两个所述备选波长中选择所述目标波长。

例如,终端在当前采集场景下有采集过三维视频数据,则在历史采集记录中就可以确定出哪个备选波长是适合当前采集场景的目标波长。例如,历史采集记录是使用了备选波长a采集的深度图像,且发现备选波长a采集的深度图像的图像质量比较好,则可以直接基于历史采集记录,将备选波长a视为目标波长进行本次三维视频数据中深度图像的采集。

在一些实施例中,所述步骤203可包括以下两种方式中的一种:

第一种:所述步骤203可包括:基于所述目标波长的结构光的反射光,生成所述三维视频数据中的深度图像。

第二种:所述步骤203可包括:基于所述目标波长的结构光,采集所述结构光的投射图案;基于所述投射图案及所述结构光的发射图案,生成所述深度图像。

在第一种中,步骤203可包括:深度摄像头向采集对象投射的不同形状和/或纹理的结构光,该结构光可为非可见光,从而不干扰基于可见光成像的2d图像的采集。不同形状和/或纹理的结构光,投射到采集对象之后,由于采集对象表面的凹凸及距离深度摄像头的远近不同,使得深度摄像头基于结构光采集的深度图像是不同的。如此,终端结合投射的结构光的形状和/或纹理,与采集到结构光的图像中所呈现的形状和/或纹理的比对,可以确定出每一个结构光投射点的深度值,基于所述深度值构建深度图像。由于利用不同结构光采集了至少两个深度图像,终端可以根据结合至少两个深度图像得到采集目标同一个位置的至少两个深度值。如此,mec服务器可以从终端获得与第一2d图像对应的至少两个深度图像,可以结合这两个深度图像中深度值得到更加精准的深度值,或者,减少第一2d图像中部分对象在一帧所述三维视频数据中深度值缺失的现象。在本实施例中,所述不同结构光可为:不同波长的结构光,则此时,与第一2d图像对应的至少两个深度图像可以同时采集,也可以不同时采集。

在还有一些实施例中,所述不同结构光可为:相同波长的结构光;则此时,与第一2d图像对应的至少两个深度图像可以通过时分复用的方式,在同一帧三维视频数据采集过程中的不同时刻采集;从而实现深度图像的时分复用。

在第二种,步骤203还可包括:利用不同发射波长的结构光,结构光遇到采集目标之后被反射形成反射光,可以基于发射光的发射时间及反射光的反射时间、及光传播速度,可以求解出深度值。此时,不同形状和/或纹理的结构光,会使得光传输路径不一致,如此在某一个结构光被遮挡了,另一个结构光发射之后可能会形成反射光返回,从而采集到深度值;或者,两个结构光都反射形成了反射光并达到了深度摄像头的接收器,也可以分别生成两个深度图像。

若采用不同波长的结构光,则可以同步采集两个深度图像;若利用相同波长的结构光,则可采用时分复用进行处理。

如图4所示,本实施例提供一种数据处理装置,应用于终端中,包括:

选择模块501,用于从至少两个备选波长的结构光中选择应用于当前采集场景的目标波长;

发射模块502,用于发射所述目标波长的结构光;

生成模块503,用于基于所述目标波长的结构光,生成三维视频数据中的深度图像。

在一些实施例中,所述选择模块501、发射模块502及生成模块503可为程序模块,对应于计算机可执行代码,该计算机可执行代码被执行后,能够实现前述像素编码数据及三维视频数据的发射。

在另一些实施例中,所述选择模块501、发射模块502及生成模块503还可为硬件模块及程序模块的组合,例如,复杂可编程阵列或者现场可编程阵列。

在还有一些实施例中,所述选择模块501、发射模块502及生成模块503可对应于硬件模块,例如,所述选择模块501、发射模块502及生成模块503可为专用集成电路。

在一些实施例中,所述选择模块501,包括:

获取子模块,用于获取所述当前采集场景的预定信息;

选择子模块,用于根据所述预定信息,从至少两个备选波长的结构光中选择应用于当前采集场景的目标波长。

在一些实施例中,所述获取子模块,具体用于获取所述当前采集场景下基于所述备选波长的结构光生成的样本深度图像;

所述选择子模块,具体用于基于所述样本深度图像,从所述备选波长的结构光中选择所述目标波长。

在一些实施例中,所述获取子模块,具体用于分别发射所述备选波长的结构光;及基于所述备选波长的结构光,生成所述样本深度图像;根据所述当前采集场景的位置信息,查询所述备选波长的结构光对应的所述样本深度图像。

在一些实施例中,所述获取子模块,具体用于获取所述当前采集场景的历史采集记录

所述选择子模块,具体用于根据所述历史采集记录,从至少两个所述备选波长中选择所述目标波长。

在一些实施例中,所述生成模块503,包括以下至少之一:

第一生成子模块,用于基于所述目标波长的结构光的反射光,生成所述三维视频数据中的深度图像;

和/或,

第二生成子模块,用于基于所述目标波长的结构光,采集所述结构光的投射图案;基于所述投射图案及所述结构光的发射图案,生成所述深度图像。

本实施例提供一种计算机存储介质,所述计算机存储介质上存储有计算机指令,该指令被处理器执行时实现应用于终端的数据处理方法的步骤,例如,如图2或图3所示的方法中的一个或多个。

如图5所示,本实施例提供一种终端,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机指令,其特征在于,所述处理器执行所述指令时实现应用于终端中的数据处理方法的步骤,例如,可执行如图2或图4所示的方法中的一个或多个。

以下结合上述任意实施例提供一个具体示例:

本示例提供一种深度图像的采集方法,可包括:

通过选择目标波长的结构光,可一次性将整个目标采集完整,对2d图像(例如,rgb图像或yuv图像)和深度图像采集,并直接编码(directcoding),直接根据深度摄像头基于投射的结构光采集的深度信息进行编码。由于需要支持不同的备选波长的结构光,则摄像头需要有较宽的光谱范围,才能进行不同波长的切换。

在本发明所提供的几个实施例中,应该理解到,所揭露的方法和智能设备,可以通过其它的方式实现。以上所描述的设备实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,如:多个单元或组件可以结合,或可以集成到另一个系统,或一些特征可以忽略,或不执行。另外,所显示或讨论的各组成部分相互之间的耦合、或直接耦合、或通信连接可以是通过一些接口,设备或单元的间接耦合或通信连接,可以是电性的、机械的或其它形式的。

上述作为分离部件说明的单元可以是、或也可以不是物理上分开的,作为单元显示的部件可以是、或也可以不是物理单元,即可以位于一个地方,也可以分布到多个网络单元上;可以根据实际的需要选择其中的部分或全部单元来实现本实施例方案的目的。

另外,在本发明各实施例中的各功能单元可以全部集成在一个第二处理单元中,也可以是各单元分别单独作为一个单元,也可以两个或两个以上单元集成在一个单元中;上述集成的单元既可以采用硬件的形式实现,也可以采用硬件加软件功能单元的形式实现。

本领域普通技术人员可以理解:实现上述方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成,前述的程序可以存储于一计算机可读取存储介质中,该程序在执行时,执行包括上述方法实施例的步骤;而前述的存储介质包括:移动存储设备、rom、ram、磁碟或者光盘等各种可以存储程序代码的介质。

或者,本发明上述集成的单元如果以软件功能模块的形式实现并作为独立的产品销售或使用时,也可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明实施例的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机、服务器、或者网络设备等)执行本发明各个实施例所述方法的全部或部分。而前述的存储介质包括:移动存储设备、rom、ram、磁碟或者光盘等各种可以存储程序代码的介质。

需要说明的是:本发明实施例所记载的技术方案之间,在不冲突的情况下,可以任意组合。

以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。

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