深度数据获取方法、装置及可读存储介质与流程

文档序号:15560985发布日期:2018-09-29 02:14阅读:107来源:国知局

本发明涉及图像处理技术领域,具体而言,涉及一种深度数据获取方法、装置及可读存储介质。



背景技术:

随着手机硬件的发展,手机上逐步配备双摄摄像头,基于双摄的应用也陆续开发中,当前基于双摄的图片识别领域受到热捧,然而目前获取双摄深度数据样本相对困难,使得双摄研发的成本高昂。例如,目前双摄深度数据都采用定制的特殊硬件设备进行采集,不仅成本高昂,而且采集的双摄深度数据质量参差不齐,拍摄环境受设备限制严重,部分设备只能获取室内的数据,获取室外环境数据不稳定,噪声多,不能很好满足研发需求。



技术实现要素:

为了克服现有技术中的上述不足,本发明的目的在于提供一种深度数据获取方法、装置及可读存储介质,不受拍摄环境影响,能够快速获取高质量的双摄深度数据,很好地满足双摄研发需求,节省研发成本。

为了实现上述目的,本发明实施例采用的技术方案如下:

本发明实施例提供一种深度数据获取方法,应用于电子设备,所述电子设备中运行有游戏引擎,且存储有多组场景模型、多组双摄相机参数和多组相机运动参数,所述方法包括:

响应深度数据获取请求,从所述深度数据获取请求中获得对应的双摄相机参数、相机运动参数以及场景模型信息;

通过所述游戏引擎模拟所述场景模型信息对应的拍摄场景,所述拍摄场景中包括有3d摄像机;

将所述双摄相机参数输入到所述3d摄像机中进行参数配置;

在配置完成后,基于相机运动参数控制所述3d摄像机在所述拍摄场景中移动,并在移动过程中通过所述3d摄像机获取所述拍摄场景中相应节点的双摄深度数据。

可选地,所述响应深度数据获取请求,从所述深度数据获取请求中获得对应的双摄相机参数、相机运动参数以及场景模型信息的步骤之前,所述方法还包括:

响应用户操作,提示用户选择双摄相机参数、相机运动参数以及场景模型;

在接收到用户选择的双摄相机参数、相机运动参数以及场景模型时,生成深度数据获取请求。

可选地,所述通过所述游戏引擎模拟所述场景模型信息对应的拍摄场景的步骤,包括:

解析所述场景模型信息中的场景模型和纹理图;

对所述场景模型进行物理形变处理,并将所述纹理图贴在物理形变处理后的场景模型上,以模拟所述场景模型信息对应的拍摄场景。

可选地,所述基于相机运动参数控制所述3d摄像机在所述拍摄场景中移动,并在移动过程中通过所述3d摄像机获取所述拍摄场景中相应节点的双摄深度数据的步骤,包括:

基于相机运动参数控制所述3d摄像机在所述拍摄场景中移动;

在移动过程中,每隔一预设距离控制所述3d摄像机获取距离场景物体在当前距离下的双摄深度数据,以得到所述3d摄像机与场景物体在不同距离下的双摄深度数据,所述双摄深度数据包括双摄rgb图像、场景物体深度信息以及3d摄像机与场景物体之间的距离。

可选地,所述基于相机运动参数控制所述3d摄像机在所述拍摄场景中移动,并在移动过程中通过所述3d摄像机获取所述拍摄场景中相应节点的双摄深度数据的步骤之后,所述方法还包括:

将获取的双摄深度数据作为深度数据样本,输出到深度学习模型中进行训练。

第二方面,本发明实施例还提供一种深度数据获取装置,应用于电子设备,所述电子设备中运行有游戏引擎,且存储有多组场景模型、多组双摄相机参数和多组相机运动参数,所述装置包括:

请求响应模块,用于响应深度数据获取请求,从所述深度数据获取请求中获得对应的双摄相机参数、相机运动参数以及场景模型信息;

场景模拟模块,用于通过所述游戏引擎模拟所述场景模型信息对应的拍摄场景,所述拍摄场景中包括有3d摄像机;

相机参数配置模块,用于将所述双摄相机参数输入到所述3d摄像机中进行参数配置;

深度数据获取模块,用于在配置完成后,基于相机运动参数控制所述3d摄像机在所述拍摄场景中移动,并在移动过程中通过所述3d摄像机获取所述拍摄场景中相应节点的双摄深度数据。

第三方面,本发明实施例还提供一种可读存储介质,所述可读存储介质中存储有计算机程序,所述计算机程序被执行时实现上述的深度数据获取方法。

相对于现有技术而言,本发明具有以下有益效果:

本发明实施例提供一种深度数据获取方法、装置及可读存储介质,通过响应深度数据获取请求,从所述深度数据获取请求中获得对应的双摄相机参数、相机运动参数以及场景模型信息,接着,通过所述游戏引擎模拟所述场景模型信息对应的拍摄场景,并将所述双摄相机参数输入到3d摄像机中进行参数配置,在配置完成后,基于相机运动参数控制所述3d摄像机在所述拍摄场景中移动,并在移动过程中通过所述3d摄像机获取所述拍摄场景中相应节点的双摄深度数据。由此,不受拍摄环境影响,可以根据设置模拟不同的拍摄场景,以此来大批量生成精准的双摄深度数据,通过使用本方案获取的双摄深度数据对深度学习模型进行训练,可以使得双摄深度算法得到很好的提升,从而很好地满足了双摄研发需求,节省研发成本。

附图说明

为了更清楚地说明本发明实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本发明的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其它相关的附图。

图1为本发明实施例提供的用于实现深度数据获取方法的电子设备的结构框图;

图2为本发明实施例提供的深度数据获取装置的功能模块图;

图3为本发明实施例提供的深度数据获取方法的一种流程示意图;

图4为本发明实施例提供的深度数据获取方法的另一种流程示意图。

图标:100-电子设备;110-总线;120-处理器;130-存储介质;140-总线接口;150-网络适配器;160-用户接口;200-深度数据获取装置;210-请求响应模块;220-场景模拟模块;230-相机参数配置模块;240-深度数据获取模块;250-模型训练模块。

具体实施方式

下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本发明实施例的组件可以以各种不同的配置来布置和设计。

因此,以下对在附图中提供的本发明的实施例的详细描述并非旨在限制要求保护的本发明的范围,而是仅仅表示本发明的选定实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其它实施例,都属于本发明保护的范围。

应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。

随着手机硬件的发展,手机上逐步配备双摄摄像头,基于双摄的应用也陆续开发中,当前基于双摄的图片识别领域受到热捧,然而目前获取双摄深度数据样本相对困难,使得双摄研发的成本高昂。例如,目前双摄深度数据都采用定制的特殊硬件设备进行采集,不仅成本高昂,而且采集的双摄深度数据质量参差不齐,拍摄环境受设备限制严重,部分设备只能获取室内的数据,获取室外环境数据不稳定,噪声多,不能很好满足研发需求。

以上现有技术中的方案所存在的缺陷,均是发明人在经过实践并仔细研究后得出的结果,因此,上述问题的发现过程以及下文中本发明实施例针对上述问题所提出的解决方案,都应该是发明人在本发明过程中对本发明做出的贡献。

请参阅图1,为本发明实施例提供的用于实现深度数据获取方法的电子设备100的结构框图。如图1所示,所述电子设备100可以由总线110作一般性的总线体系结构来实现。根据电子设备100的具体应用和整体设计约束条件,总线110可以包括任意数量的互连总线和桥接。总线110将各种电路连接在一起,这些电路包括处理器120、存储介质130和总线接口140。可选地,电子设备100可以使用总线接口140将网络适配器150等经由总线110连接。网络适配器150可用于实现电子设备100中物理层的信号处理功能,并通过天线实现射频信号的发送和接收。用户接口160可以连接外部设备,例如:键盘、显示器、鼠标或者操纵杆等。总线110还可以连接各种其它电路,如定时源、外围设备、电压调节器或者功率管理电路等,这些电路是本领域所熟知的,因此不再详述。

可以替换的,电子设备100也可配置成通用处理系统,例如通称为芯片,该通用处理系统包括:提供处理功能的一个或多个微处理器,以及提供存储介质130的至少一部分的外部存储器,所有这些都通过外部总线体系结构与其它支持电路连接在一起。

可替换的,电子设备100可以使用下述来实现:具有处理器120、总线接口140、用户接口160的asic(专用集成电路);以及集成在单个芯片中的存储介质130的至少一部分,或者,电子设备100可以使用下述来实现:一个或多个fpga(现场可编程门阵列)、pld(可编程逻辑器件)、控制器、状态机、门逻辑、分立硬件部件、任何其它适合的电路、或者能够执行本发明通篇所描述的各种功能的电路的任意组合。

其中,处理器120负责管理总线110和一般处理(包括执行存储在存储介质130上的软件)。处理器120可以使用一个或多个通用处理器和/或专用处理器来实现。处理器120的例子包括微处理器、微控制器、dsp处理器和能够执行软件的其它电路。应当将软件广义地解释为表示指令、数据或其任意组合,而不论是将其称作为软件、固件、中间件、微代码、硬件描述语言还是其它。

在图1中存储介质130被示为与处理器120分离,然而,本领域技术人员很容易明白,存储介质130或其任意部分可位于电子设备100之外。举例来说,存储介质130可以包括传输线、用数据调制的载波波形、和/或与无线节点分离开的计算机制品,这些介质均可以由处理器120通过总线接口140来访问。可替换地,存储介质130或其任意部分可以集成到处理器120中,例如,可以是高速缓存和/或通用寄存器。

所述处理器120可执行上述实施例,具体地,所述存储介质130中存储有深度数据获取装置200,所述处理器120可以用于执行所述深度数据获取装置200。

请参阅图2,所述深度数据获取装置200可包括:

请求响应模块210,用于响应深度数据获取请求,从所述深度数据获取请求中获得对应的双摄相机参数、相机运动参数以及场景模型信息。

场景模拟模块220,用于通过所述游戏引擎模拟所述场景模型信息对应的拍摄场景,所述拍摄场景中包括有3d摄像机。

相机参数配置模块230,用于将所述双摄相机参数输入到所述3d摄像机中进行参数配置。

深度数据获取模块240,用于在配置完成后,基于相机运动参数控制所述3d摄像机在所述拍摄场景中移动,并在移动过程中通过所述3d摄像机获取所述拍摄场景中相应节点的双摄深度数据。

可选地,所述场景模拟模块220,还可以用于解析所述场景模型信息中的场景模型和纹理图,并对所述场景模型进行物理形变处理,并将所述纹理图贴在物理形变处理后的场景模型上,以模拟所述场景模型信息对应的拍摄场景。

可选地,所述深度数据获取模块240,还可以用于基于相机运动参数控制所述3d摄像机在所述拍摄场景中移动;

在移动过程中,每隔一预设距离控制所述3d摄像机获取距离场景物体在当前距离下的双摄深度数据,以得到所述3d摄像机与场景物体在不同距离下的双摄深度数据,所述双摄深度数据包括双摄rgb图像、场景物体深度信息以及3d摄像机与场景物体之间的距离。

可选地,所述装置还可以包括:

模型训练模块250,用于将获取的双摄深度数据作为深度数据样本,输出到深度学习模型中进行训练。

请参阅图3,为本发明实施例提供的深度数据获取方法的一种流程示意图,所述方法由图1所示的电子设备100执行,下面结合图3对所述深度数据获取装置200包括的各个软件功能模块进行详细说明。所应说明的是,本发明实施例提供的深度数据获取方法不以图1及以下所述的具体顺序为限制,该深度数据获取方法可以通过如下步骤实现:

步骤s210,响应深度数据获取请求,从所述深度数据获取请求中获得对应的双摄相机参数、相机运动参数以及场景模型信息。本实施例中,该步骤s210可以由所述请求响应模块210执行。

本实施例中,所述电子设备100中存储有多组场景模型、多组双摄相机参数和多组相机运动参数,所述双摄相机参数和相机运动参数主要用于更真实的模拟用户平时采集的双摄深度数据,因为这些采集的双摄深度数据主要用于后续深度学习算法的使用,深度学习算法最后应用于移动终端上会由于双摄相机参数和相机运动参数不一致而导致双摄效果的巨大差异,因此通过配置多组双摄相机参数和多组相机运动参数可以更真实模型实际场景,以便于后续针对不同移动终端参数的一致性。

所述场景模型可包括物体模型和纹理图,可以由场景建模师进行设计后存储于所述电子设备100中,以用于后续的场景模拟。

在实施过程中,当用户需要获取模拟生成的双摄深度数据时,所述电子设备100响应用户操作,提示用户选择双摄相机参数、相机运动参数以及场景模型,也即,所述电子设备100可以提供多组双摄相机参数、相机运动参数以及场景模型供用户选择,用户可根据实际需求选择对应的双摄相机参数、相机运动参数以及场景模型。所述电子设备100在接收到用户选择的双摄相机参数、相机运动参数以及场景模型时,生成深度数据获取请求。

步骤s220,通过所述游戏引擎模拟所述场景模型信息对应的拍摄场景。本实施例中,该步骤s220可以由所述场景模拟模块220执行。

本实施例中,所述游戏引擎可以采用例如unity3d、blender、unreal等,在此不作具体限制。在通过上述步骤s210获取到用户选择好的场景模型信息后,可通过所述游戏引擎模拟所述场景模型信息对应的拍摄场景。详细地,首先解析所述场景模型信息中的场景模型和纹理图,接着对所述场景模型进行物理形变处理,并将所述纹理图贴在物理形变处理后的场景模型上,以模拟所述场景模型信息对应的拍摄场景,该拍摄场景可对应于真实场景,其可包括真实场景中存在的各种场景物体,例如人物,风景,建筑物等等。由此,相对于现有技术中采集设备受到拍摄场景的光线因素限制的问题,可以根据设置模拟不同的拍摄场景,以便于后续大批量生成可靠的双摄深度数据。

其中,所述拍摄场景中包括有3d摄像机,该3d摄像机为游戏引擎中3d世界固有的,属于虚拟摄像机。值得说明的是,该3d摄像机可以不止一个,具体可根据实际需求设置合适的数量。

步骤s230,将所述双摄相机参数输入到所述3d摄像机中进行参数配置。本实施例中,该步骤s230可以由所述相机参数配置模块230执行。

本实施例中,可以将上述步骤s210获取到的双摄相机参数输入到所述3d摄像机中进行参数配置,由于该3d摄像机为游戏引擎中3d世界的虚拟摄像机,当配置双摄相机参数后,该3d摄像机可模拟真实双摄拍摄,相对于现有技术中采用定制的特殊硬件设备进行拍摄,极大降低了成本。

步骤s240,在配置完成后,基于相机运动参数控制所述3d摄像机在所述拍摄场景中移动,并在移动过程中通过所述3d摄像机获取所述拍摄场景中相应节点的双摄深度数据。本实施例中,该步骤s240可以由所述深度数据获取模块240执行。

本实施例中,所述相机运动参数可以用于模拟控制3d摄像机运动,例如控制3d摄像机运动的速度、方向等,当配置好3d摄像机的双摄相机参数后,所述电子设备100可基于相机运动参数控制所述3d摄像机在所述拍摄场景中移动,所述3d摄像机在移动过程中,每隔一预设距离控制所述3d摄像机获取距离场景物体在当前距离下的双摄深度数据,以得到所述3d摄像机与场景物体在不同距离下的双摄深度数据,所述双摄深度数据可包括双摄rgb图像、场景物体深度信息以及3d摄像机与场景物体之间的距离。

进一步地,请参阅图4,在该步骤s240之后,在实际实施过程中,所述方法还可以如下步骤:

步骤s250,将获取的双摄深度数据作为深度数据样本,输出到深度学习模型中进行训练。本实施例中,该步骤s250可以由所述模型训练模块250执行。

本实施例中,获取的双摄深度数据为二维平面图,该二维平面图可以作为深度数据样本,输出到深度学习模型中进行训练,可用于深度学习算法,例如单图预测深度的学习,可以使用获取双摄深度数据中的rgb图像和对应的深度信息,作为数据样本输入到深度学习模块中,就可以进行单图深度学习的任务。

由此,本实施例提供的深度数据获取方法,不受拍摄环境影响,可以根据设置模拟不同的拍摄场景,以此来大批量生成精准的双摄深度数据,通过使用本方案获取的双摄深度数据对深度学习模型进行训练,可以使得双摄深度算法得到很好的提升,从而很好地满足了双摄研发需求,节省研发成本。

进一步地,本发明实施例还提供一种可读存储介质,所述可读存储介质被执行时实现上述的深度数据获取方法。

综上所述,本发明实施例提供一种深度数据获取方法、装置及可读存储介质,通过响应深度数据获取请求,从所述深度数据获取请求中获得对应的双摄相机参数、相机运动参数以及场景模型信息,接着,通过所述游戏引擎模拟所述场景模型信息对应的拍摄场景,并将所述双摄相机参数输入到3d摄像机中进行参数配置,在配置完成后,基于相机运动参数控制所述3d摄像机在所述拍摄场景中移动,并在移动过程中通过所述3d摄像机获取所述拍摄场景中相应节点的双摄深度数据。由此,不受拍摄环境影响,可以根据设置模拟不同的拍摄场景,以此来大批量生成精准的双摄深度数据,通过使用本方案获取的双摄深度数据对深度学习模型进行训练,可以使得双摄深度算法得到很好的提升,从而很好地满足了双摄研发需求,节省研发成本。

在本发明所提供的实施例中,应该理解到,所揭露的装置和方法,也可以通过其它的方式实现。以上所描述的装置和方法实施例仅仅是示意性的,例如,附图中的流程图和框图显示了根据本发明的多个实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或代码的一部分,所述模块、程序段或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现方式中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。

另外,在本发明各个实施例中的各功能模块可以集成在一起形成一个独立的部分,也可以是各个模块单独存在,也可以两个或两个以上模块集成形成一个独立的部分。

可以替换的,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行所述计算机程序指令时,全部或部分地产生按照本发明实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、或者其它可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线(dsl))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质,(例如,软盘、硬盘、磁带)、光介质(例如,dvd)、或者半导体介质(例如固态硬盘solidstatedisk(ssd))等

需要说明的是,在本文中,术语"包括"、"包含"或者其任何其它变体意在涵盖非排它性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其它要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句"包括一个……"限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。

对于本领域技术人员而言,显然本发明不限于上述示范性实施例的细节,而且在不背离本发明的精神或基本特征的情况下,能够以其它的具体形式实现本发明。因此,无论从哪一点来看,均应将实施例看作是示范性的,而且是非限制性的,本发明的范围由所附权利要求而不是上述说明限定,因此旨在将落在权利要求的等同要件的含义和范围内的所有变化囊括在本发明内。不应将权利要求中的任何附图标记视为限制所涉及的权利要求。

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