CN115880350A - 图像处理方法、设备、系统及计算机可读存储介质 - Google Patents

图像处理方法、设备、系统及计算机可读存储介质 Download PDF

Info

Publication number
CN115880350A
CN115880350A CN202111137470.9A CN202111137470A CN115880350A CN 115880350 A CN115880350 A CN 115880350A CN 202111137470 A CN202111137470 A CN 202111137470A CN 115880350 A CN115880350 A CN 115880350A
Authority
CN
China
Prior art keywords
image
target image
depth map
information corresponding
rgb
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.)
Pending
Application number
CN202111137470.9A
Other languages
English (en)
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.)
Honor Device Co Ltd
Original Assignee
Honor Device 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 Honor Device Co Ltd filed Critical Honor Device Co Ltd
Priority to CN202111137470.9A priority Critical patent/CN115880350A/zh
Publication of CN115880350A publication Critical patent/CN115880350A/zh
Pending legal-status Critical Current

Links

Images

Landscapes

  • Image Analysis (AREA)

Abstract

本申请公开了一种图像处理方法、设备、系统及计算机可读存储介质,属于图像技术领域。所述方法包括:获取视频帧序列中的第一视频帧作为目标图像;将目标图像或目标图像的图像特征发送给服务器;接收服务器发送的目标图像对应的稀疏深度图和位姿信息;根据目标图像、目标图像对应的稀疏深度图和位姿信息、视频帧序列中位于目标图像之前的第二视频帧、以及第二视频帧对应的稀疏深度图和位姿信息,确定目标图像对应的稠密深度图。如此,终端可以在服务器的辅助下快速获得目标图像对应的稠密深度图,而无需使用深度相机或双目相机获得稠密深度图,从而降低了硬件要求,且减少了终端的运算量,提高了稠密深度图的确定效率,适用性较高。

Description

图像处理方法、设备、系统及计算机可读存储介质
技术领域
本申请涉及图像技术领域,特别涉及一种图像处理方法、设备、系统及计算机可读存储介质。
背景技术
深度图像是物体的三维表示形式,能够直接反映景物可见表面的几何形状。根据具有的深度信息的稀疏程度区分,深度图像包括稀疏深度图和稠密深度图。在应用时通常使用的是稠密深度图。
在一种情况下,可以通过具有高分辨率等优良指标的深度相机获得稠密深度图,即通过该深度相机对待拍摄的目标进行拍摄,从而得到具有高分辨率的稠密深度图。或者,通过双目相机获得稠密深度图,即通过双目相机对待拍摄的目标进行拍摄,然后对双目相机的视差进行深度估计,得到稠密深度图。
然而,由于深度相机或双目相机的成本、分辨率与功耗等指标通常无法同时满足商业需求,导致通过该深度相机或双目相机获得稠密深度图的适用性较差。所以如何获得稠密深度图成为研究的热点。
发明内容
本申请提供了一种图像处理方法、设备、系统及计算机可读存储介质,可以解决相关技术中通过深度相机或双目相机获得稠密深度图的适用性较差的问题。所述技术方案如下:
第一方面,提供了一种图像处理方法,该方法应用于终端中,该方法包括:
获取待估计的目标图像,将目标图像或目标图像的图像特征发送给服务器,目标图像为视频帧序列中的第一视频帧,视频帧序列是移动拍摄的RGB相机采集的。然后,接收服务器发送的目标图像对应的稀疏深度图和位姿信息,根据目标图像、目标图像对应的稀疏深度图和位姿信息、视频帧序列中位于目标图像之前的第二视频帧、以及第二视频帧对应的稀疏深度图和位姿信息,确定目标图像对应的稠密深度图。
其中,目标图像可以为视频帧序列中的任一视频帧,比如为视频帧序列中的任一关键帧。
作为一个示例,终端集成有RGB相机,终端可以通过RGB相机对目标环境进行移动拍摄,将移动拍摄得到的视频帧序列中的第一视频帧作为目标图像。
比如,终端可以在接收到视频录制指令后,通过RGB相机对目标环境进行录制得到视频帧序列。该视频录制指令可以由用户触发,用户可以通过指定操作触发。示例性地,指定操作可以包括但不限于点击操作、滑动操作、语言操作或手势操作等。
作为一个示例,终端在获取目标图像之后,可以直接将目标图像发送给服务器。
作为另一个示例,终端在获取目标图像之后,也可以先提取目标图像的特征点,得到目标图像的图像特征,目标图像的图像特征为目标图像的特征点集合。然后将目标图像的目标特征发送给服务器。
其中,目标图像的图像特征包括目标图像中的特征点集合,通常包括目标图像的稀疏的特征点。特征点一般为目标图像中具有关键特征的特征点。
在一个实施例中,可以将目标图像、目标图像对应的稀疏深度图和位姿信息、第二视频帧、以及第二视频帧对应的稀疏深度图和位姿信息输入至目标模型中进行处理,输出目标图像对应的稠密深度图。
其中,目标模块可以预选训练得到。目标模型用于根据任一视频帧、该任一视频帧对应的稀疏深度图和位姿信息、位于该任一视频帧之前的其他视频帧、其他视频帧对应的稀疏深度图和位姿信息,确定该任一视频帧对应的稠密深度图。
在一个实施例中,可以获取样本数据集,根据样本数据集对待训练的网络模型进行训练,以得到目标模型。其中,样本数据集包括多组样本数据,多组样本数据中的每组样本数据包括视频帧样本序列、视频帧样本序列中的各个视频帧样本对应的稀疏深度图和位姿信息、以及各个视频帧样本对应的真实稠密深度图。
其中,各个视频帧样本对应的稀疏深度图和位姿信息可以按照上述目标图像对应的稀疏深度图和位姿信息的获取方式获取得到,当然也可以采用其他方式获取得到,本申请实施例对此不做限定。
作为一个示例,各个视频帧样本可以是视频帧样本序列中的关键帧样本。
作为一个示例,各个视频帧样本对应的真实稠密深度图可以通过具有优良指标的深度相机采集得到,也即该深度相机可以获取稠密的深度信息,譬如该深度相机可以采用VGA深度相机。
作为一个示例,终端存储有预先训练好的目标模型。终端在接收到服务器发送的目标图像对应的稀疏深度图和位姿信息之后,可以调用目标模型,然后将目标图像、目标图像对应的稀疏深度图和位姿信息、第二视频帧、以及第二视频帧对应的稀疏深度图和位姿信息输入至目标模型中进行处理。之后,目标图像即可输出目标图像对应的稠密深度图。
通过目标模型来确定目标图像的稠密深度图,可以进一步提高稠密深度图的确定效率。
在一种可能的实现方式中,可以构建端到端的网络模型作为待训练的网络模型,以及构建损失函数,损失函数用于描述真实值与估计值不一样的程度,本实施例中的真实值是真实稠密深度图,估计值是通过该网络模型估计的稠密深度图。在训练过程中,可以根据损失函数和样本数据集,对网络模型的模型参数进行更新。当训练满足结束条件时,将模型参数更新后的网络模型作为训练好的目标模型。
作为一个示例,可以根据真实值与估计值之间的几何误差、视频帧样本的相似性误差、以及深度图像光滑度,构建损失函数。其中,视频帧样本的相似性误差用于描述位姿信息的反投影误差。深度图像光滑度可以理解为是一个约束条件,能够使得最终得到的稠密深度图是平滑的,各个像素点之间不存在跳变的情况。
作为另一个示例,目标模型也可以存储在云端,这种情况下,终端可以将目标图像、目标图像对应的稀疏深度图和位姿信息、第二视频帧、以及第二视频帧对应的稀疏深度图和位姿信息输入至目标模型上传至云端,并指示云端根据上传的数据确定稠密深度图。之后,云端将确定的稠密深度图发送给终端。如此,可以进一步地减少终端的运算量。
在一个实施例中,第二视频帧的数量为多个,终端可以根据根据目标图像、目标图像对应的稀疏深度图和位姿信息、多个第二视频帧中的各个第二视频帧、以及各个第二视频帧对应的稀疏深度图和位姿信息,确定目标图像对应的稠密深度图。
其中,各个第二视频帧对应的稀疏深度图和位姿信息均可以按照目标图像对应的稀疏深度图和位姿信息的获取方式获取得到。
作为一个示例,终端可以将目标图像、目标图像对应的稀疏深度图和位姿信息、多个第二视频帧中的各个第二视频帧、以及各个第二视频帧对应的稀疏深度图和位姿信息均输入至目标模型中进行处理,以通过目标模型确定目标图像对应的稠密深度图。
也即,在第二视频帧的数量为多个的情况下,终端仍可以通过目标模型确定目标图像对应的稠密深度图。
在一个实施例中,在将目标图像或目标图像的图像特征发送给服务器之前,终端可以先获取环境数据,将环境数据发送给服务器。其中,环境数据用于确定目标环境中不同视角的RGB图像。
其中,该环境数据为目标环境的环境数据,目标环境是指待处理的目标所处的环境。该环境数据用于指示目标环境的环境特征,根据该环境数据可以确定目标环境的环境图像。目标环境的环境图像包括目标环境中不同视角的RGB图像,即不同视角的目标的RGB图像。
比如,该环境数据可以包括对目标环境移动拍摄得到的视频帧序列、目标环境的全景图、以及目标环境的激光扫描信息中的一种或多种。比如,视频帧序列可以由移动拍摄的RGB相机采集得到。目标环境的全景图可以通过鱼眼相机、或多个RGB相机对目标环境进行全景拍摄得到。目标环境的激光扫描信息可以由高精度激光扫描系统对目标环境进行激光扫描得到。
本申请实施例中,终端可以将待估计的目标图像或目标图像的图像特征发送给服务器,由服务器根据第一视觉地图向终端返回目标图像对应的稀疏深度图和位姿信息,然后终端根据服务器返回的目标图像对应的稀疏深度图和位姿信息,确定目标图像对应的稠密深度图。如此,终端可以在服务器的辅助下快速获得目标图像对应的稠密深度图,在此过程中,终端无需使用深度相机或双目相机获得稠密深度图,从而降低了硬件要求,而且终端可以直接从服务器获取目标图像对应的稀疏深度图和位姿信息,而不需要由终端自身运算得到,从而减少了终端的运算量,提高了稠密深度图的确定效率,适用性较高。
另外,终端可以预先采集环境数据,并将环境数据发送给服务器,以便服务器根据环境数据构建第一视觉地图,第一数据地图包括环境中不同视觉的多个RGB图像,以及每个RGB图像对应的稠密深度图和位姿信息。
第二方面,提供了一种图像处理装置,所述图像处理装置具有实现上述第一方面中图像处理方法行为的功能。所述图像处理装置包括至少一个模块,所述至少一个模块用于实现上述第一方面所提供的图像处理方法。
第三方面,提供了一种图像处理装置,所述图像处理装置的结构中包括处理器和存储器,所述存储器用于存储支持图像处理装置执行上述第一方面所提供的图像处理方法的程序,以及存储用于实现上述第一方面所述的图像处理方法所涉及的数据。所述处理器被配置为用于执行所述存储器中存储的程序。所述图像处理装置还可以包括通信总线,所述通信总线用于在所述处理器与所述存储器之间建立连接。
第四方面,提供了一种计算机可读存储介质,所述计算机可读存储介质中存储有指令,当其在计算机上运行时,使得计算机执行上述第一方面所述的图像处理方法。
第五方面,提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述第一方面所述的图像处理方法。
第六方面,提供了一种图像处理方法,该方法应用于服务器中,该方法包括:
接收终端发送的目标图像或目标图像的图像特征。然后,根据目标图像的图像特征,从已存储的第一视觉地图中获取对应图像特征与目标图像的图像特征的差异小于差异阈值的RGB图像,得到多个候选图像,第一视觉地图包括多个RGB图像以及每个RGB图像对应的稠密深度图和位姿信息。之后,根据目标图像的图像特征,以及多个候选图像对应的稠密深度图和位姿信息,确定目标图像对应的稀疏深度图和位姿信息,再将目标图像对应的稀疏深度图和位姿信息发送给终端。
在接收到终端发送的目标图像或目标图像的图像特征之后,服务器可以确定第一视觉地图包括的多个RGB图像中每个RGB图像的图像特征,然后将目标图像的图像特征与多个RGB图像的图像特征依次进行比较,并将对应图像特征与目标图像的图像特征的差异小于差异阈值的RGB图像作为候选图像。
需要说明的是,若终端向服务器发送的是目标图像的图像特征,则终端可以直接将目标图像的图像特征与多个RGB图像的图像特征依次进行比较,以从第一视觉地图中获取多个候选图像。若终端向服务器发送的是目标图像,则服务器需要先提取目标图像的特征点,得到目标图像的图像特征,再将目标图像的图像特征与多个RGB图像的图像特征依次进行比较,以从第一视觉地图中获取多个候选图像。
由于目标图像的图像特征为从目标图像中提取的特征点集合,通常仅包括目标图像中稀疏的特征点,因此服务器根据目标图像的图像特征,以及多个候选图像对应的稠密深度图和位姿信息,仅能够获取到目标图像对应的稀疏深度图和位姿信息。
在一个实施例中,可以根据目标图像的图像特征,以及多个候选图像对应的稠密深度图,确定目标图像对应的稀疏深度图。根据目标图像的图像特征,以及多个候选图像对应的稠密深度图和位姿信息,确定目标图像对应的位姿信息。
在一个实施例中,根据目标图像的图像特征,以及多个候选图像对应的稠密深度图,确定目标图像对应的稀疏深度图包括:对于多个候选图像中的第一候选图像,确定第一候选图像的目标图像特征,第一候选图像的目标图像特征是指第一候选图像的图像特征中与目标图像的部分图像特征相互匹配的部分图像特征,第一候选图像为多个候选图像中的任一个。从第一候选图像对应的稠密深度图中确定第一候选图像的目标图像特征对应的深度信息。根据目标图像的图像特征,对多个候选图像中每个候选图像的目标图像特征对应的深度信息进行组合,得到目标图像的图像特征对应的深度信息。根据目标图像的图像特征对应的深度信息,确定目标图像对应的稀疏深度图。
作为示例而非限定,服务器可以根据目标图像的图像特征,以及多个候选图像对应的稠密深度图和位姿信息,采用PNP算法进行位姿估计,得到目标图像对应的位姿信息。
比如,根据目标图像的图像特征,以及多个候选图像对应的稠密深度图和位姿信息,采用PNP算法进行位姿估计,得到目标图像对应的位姿信息包括:根据目标图像的图像特征,以及多个候选图像对应的位姿信息,确定多个候选图像的图像特征与目标图像的图像特征对应的共视特征点,得到多个共视特征点。确定多个共视特征点的图像坐标。根据多个候选图像对应的稠密深度图,得到多个共视特征点的空间坐标。根据多个共视特征点的图像坐标和空间坐标,确定目标图像对应的位姿信息。
其中,多个共视特征点是指具有共视关系的特征点。比如,可以获取多个共视特征点在对应图像中的像素坐标,然后将多个共视特征点在对应图像中的像素坐标转换为图像坐标。图像坐标也称2D坐标。共视特征点的空间坐标是指共视特征点在世界坐标系中的坐标。空间坐标也称3D坐标。
比如,可以根据多个候选图像对应的稠密深度图,得到多个共视特征点对应的深度信息,根据多个共视特征点对应的深度信息,确定多个共视特征点在世界坐标系中的坐标,得到多个共视点的空间坐标。根据多个共视特征点的图像坐标和空间坐标,采用PNP算法进行位姿估计,将估计的位姿信息确定为目标图像对应的位姿信息。
在一个实施例中,服务器可以预先接收终端发送的环境数据,然后根据该环境数据生成第一视觉地图,第一视觉地图包括多个RGB图像以及每个RGB图像对应的稠密深度图和位姿信息,多个RGB图像为目标环境中不同视角的RGB图像。
作为一个示例,服务器可以先根据该环境数据,生成包括多个RGB图像以及每个RGB图像对应的稀疏深度图和位姿信息的第二视觉地图。然后,根据多个RGB图像中每个RGB图像对应的稀疏深度图和位姿信息,确定多个RGB图像中每个RGB图像对应的稠密深度图,再根据多个RGB图像以及每个RGB图像对应的稠密深度图和位姿信息,构建第一视觉地图。
比如,服务器接收终端发送的环境数据之后,可以先根据该环境数据,确定目标环境中不同视角的RGB图像,得到多个RGB图像。然后,确定多个RGB图像中每个RGB图像对应的稀疏深度图和位姿信息。根据多个RGB图像中每个RGB图像对应的稀疏深度图和位姿信息,构建第二视觉地图。
作为一个示例,服务器可以采用SFM算法确定多个RGB图像中每个RGB图像对应的稀疏深度图和位姿信息。其中,SFM算法是一种基于各种收集到的无序图片进行三维重建的离线算法。
比如,采用SFM算法确定多个RGB图像中每个RGB图像对应的稀疏深度图和位姿信息包括:提取多个RGB图像中每个RGB图像的特征点,得到每个RGB图像的图像特征,每个RGB图像的图像特征为每个RGB图像的特征点集合。对多个RGB图像中两两图像的图像特征进行特征匹配,以生成第一特征匹配关系,第一特征匹配关系包括所述多个RGB图像中任意两个图像对应的匹配点对。根据第一特征匹配关系进行三维重建,根据三维重建结果确定多个RGB图像中每个RGB图像对应的稀疏深度图,以及根据第一特征匹配关系,确定多个RGB图像中每个RGB图像对应的位姿信息。根据多个RGB图像中每个RGB图像对应的稀疏深度图和位姿信息,构建第二视觉地图。
在获得多个RGB图像中每个RGB图像对应的稀疏深度图和位姿信息之后,可以进一步根据多个RGB图像中每个RGB图像对应的稀疏深度图和位姿信息,确定多个RGB图像中每个RGB图像对应的稠密深度图。
作为示例而非限定,可以根据多个RGB图像中每个RGB图像对应的稀疏深度图和位姿信息,采用MVS算法,确定多个RGB图像中每个RGB图像对应的稠密深度图。
其中,MVS算法是一种根据稀疏的3D点云生成稠密的3D点云的方法,通过SFM算法进行三维重建的三维重建结果是稀疏的3D点云,之后,采用MVS算法对稀疏的3D点云进行处理,可以得到稠密的3D点云。根据稠密的3D点云,即可确定多个RGB图像中每个RGB图像对应的稠密深度图。
比如,根据多个RGB图像中每个RGB图像对应的稀疏深度图和位姿信息,采用MVS算法确定多个RGB图像中每个RGB图像对应的稠密深度图包括:根据多个RGB图像中每个RGB图像对应的稀疏深度图和位姿信息,对多个RGB图像中任意两两图像进行图像立体校正,以将任意两两图像对齐到同一平面。提取校正后的多个RGB图像中每个RGB图像的特征点,得到校正后的多个RGB图像中每个RGB图像的图像特征。对校正后的多个RGB图像中两两图像的图像特征进行立体匹配,得到校正后的多个RGB图像的第二特征匹配关系。根据第二特征匹配关系进行三维重建,根据三维重建结果确定多个RGB图像中每个RGB图像对应的稠密深度图。
本申请实施例中,服务器可以接收终端发送的目标图像或目标图像的图像特征,然后根据目标图像的图像特征,从已存储的第一视觉地图中获取对应图像特征与所述目标图像的图像特征的差异小于差异阈值的RGB图像作为多个候选图像,根据目标图像的图像特征以及多个候选图像对应的稠密深度图和位姿信息,确定目标图像对应的稀疏深度图和位姿信息,并将目标图像对应的稀疏深度图和位姿信息发送给终端。如此,终端可以在服务器的辅助下快速获取目标图像对应的稠密深度图,在此过程中,终端无需使用深度相机或双目相机获得稠密深度图,从而降低了硬件要求,而且终端可以直接从服务器获取目标图像对应的稀疏深度图和位姿信息,而不需要由终端自身计算得到,从而减少了终端的运算量,提高了稠密深度图的确定效率,适用性较高。
另外,服务器可以预先接收终端发送的环境数据,根据环境数据构建第一视觉地图,第一数据地图包括环境中不同视觉的多个RGB图像,以及每个RGB图像对应的稠密深度图和位姿信息,以便服务器在后续可以根据构建的第一视觉地图,向终端返回目标图像对应的稠密深度图和位姿信息。
第七方面,提供了一种图像处理装置,所述图像处理装置具有实现上述第六方面中图像处理方法行为的功能。所述图像处理装置包括至少一个模块,所述至少一个模块用于实现上述第六方面所提供的图像处理方法。
第八方面,提供了一种图像处理装置,所述图像处理装置的结构中包括处理器和存储器,所述存储器用于存储支持图像处理装置执行上述第六方面所提供的图像处理方法的程序,以及存储用于实现上述第六方面所述的图像处理方法所涉及的数据。所述处理器被配置为用于执行所述存储器中存储的程序。所述图像处理装置还可以包括通信总线,所述通信总线用于在所述处理器与所述存储器之间建立连接。
第九方面,提供了一种计算机可读存储介质,所述计算机可读存储介质中存储有指令,当其在计算机上运行时,使得计算机执行上述第六方面所述的图像处理方法。
第十方面,提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述第六方面所述的图像处理方法。
第十一方面,提供了一种图像处理系统,该系统包括包括终端和服务器;
终端,用于获取待估计的目标图像,目标图像为视频帧序列中的第一视频帧,视频帧序列是移动拍摄的RGB相机采集的;
终端,还用于将目标图像或目标图像的图像特征发送给服务器;
服务器,用于接收终端发送的目标图像或目标图像的图像特征;
服务器,还用于根据目标图像的图像特征,从已存储的第一视觉地图中获取多个候选图像,第一视觉地图包括多个RGB图像以及每个RGB图像对应的稠密深度图和位姿信息,多个候选图像是指对应图像特征与目标图像的图像特征的差异小于差异阈值的RGB图像;
服务器,还用于根据目标图像的图像特征,以及多个候选图像对应的稠密深度图和位姿信息,确定目标图像对应的稀疏深度图和位姿信息;
服务器,还用于将目标图像对应的稀疏深度图和位姿信息发送给终端;
终端,还用于接收服务器发送的目标图像对应的稀疏深度图和位姿信息;
终端,还用于根据目标图像、目标图像对应的稀疏深度图和位姿信息、视频帧序列中位于目标图像之前的第二视频帧、以及第二视频帧对应的稀疏深度图和位姿信息,确定目标图像对应的稠密深度图。
在一个实施例中,服务器还用于:对于多个候选图像中的第一候选图像,从第一候选图像对应的稠密深度图中确定第一候选图像的目标图像特征对应的深度信息,第一候选图像的目标图像特征是指第一候选图像的图像特征中与目标图像的部分图像特征相互匹配的部分图像特征,第一候选图像为多个候选图像中的任一个;根据目标图像的图像特征,对多个候选图像中每个候选图像的目标图像特征对应的深度信息进行组合,得到目标图像的图像特征对应的深度信息;根据目标图像的图像特征对应的深度信息,确定目标图像对应的稀疏深度图。
在一个实施例中,服务器还用于:根据目标图像的图像特征,以及多个候选图像对应的位姿信息,确定多个候选图像的图像特征与目标图像的图像特征对应的共视特征点,得到多个共视特征点;根据多个候选图像对应的稠密深度图,获取多个共视特征点的空间坐标;根据多个共视特征点的图像坐标和空间坐标,确定目标图像对应的位姿信息。
在一个实施例中,终端还用于:将目标图像、目标图像对应的稀疏深度图和位姿信息、第二视频帧、以及第二视频帧对应的稀疏深度图和位姿信息输入至目标模型中进行处理,输出目标图像对应的稠密深度图;其中,目标模型用于根据任一视频帧、任一视频帧对应的稀疏深度图和位姿信息、位于任一视频帧之前的其他视频帧、其他视频帧对应的稀疏深度图和位姿信息,确定任一视频帧对应的稠密深度图。
在一个实施例中,第二视频帧的数量为多个;终端还用于:根据目标图像、目标图像对应的稀疏深度图和位姿信息、多个第二视频帧中的各个第二视频帧、以及各个第二视频帧对应的稀疏深度图和位姿信息,确定目标图像对应的稠密深度图。
在一个实施例中,终端还用于:获取环境数据,将环境数据发送给服务器,环境数据用于确定目标环境中不同视角的RGB图像;
服务器,还用于接收终端发送的环境数据;根据环境数据,生成第一视觉地图,第一视觉地图包括多个RGB图像以及每个RGB图像对应的稠密深度图和位姿信息,多个RGB图像为目标环境中不同视角的RGB图像。
在一个实施例中,服务器还用于:
根据环境数据,生成第二视觉地图,第二视觉地图包括多个RGB图像以及每个RGB图像对应的稀疏深度图和位姿信息;根据多个RGB图像中每个RGB图像对应的稀疏深度图和位姿信息,确定多个RGB图像中每个RGB图像对应的稠密深度图;根据多个RGB图像以及每个RGB图像对应的稠密深度图和位姿信息,构建第一视觉地图。
在一个实施例中,服务器还用于:根据环境数据,确定目标环境中不同视角的RGB图像,得到多个RGB图像;提取多个RGB图像中每个RGB图像的特征点,得到每个RGB图像的图像特征,每个RGB图像的图像特征为每个RGB图像的特征点集合;对多个RGB图像中两两图像的图像特征进行特征匹配,以生成第一特征匹配关系,第一特征匹配关系包括多个RGB图像中任意两个图像对应的匹配点对;根据第一特征匹配关系进行三维重建,根据三维重建结果确定多个RGB图像中每个RGB图像对应的稀疏深度图,以及根据第一特征匹配关系,确定多个RGB图像中每个RGB图像对应的位姿信息;根据多个RGB图像中每个RGB图像对应的稀疏深度图和位姿信息,构建第二视觉地图。
在一个实施例中,服务器还用于:根据多个RGB图像以及每个RGB图像对应的稀疏深度图和位姿信息,对多个RGB图像中任意两两图像进行图像立体校正,以将任意两两图像对齐到同一平面;提取校正后的多个RGB图像中每个RGB图像的特征点,得到校正后的多个RGB图像中每个RGB图像的图像特征,校正后的每个RGB图像的图像特征为校正后的每个RGB图像的特征点集合;校正后的多个RGB图像中两两图像的图像特征进行立体匹配,得到第二特征匹配关系,第二特征匹配关系包括校正后的多个RGB图像中任意两个图像对应的匹配点对;根据第二特征匹配关系进行三维重建,根据三维重建结果确定多个RGB图像中每个RGB图像对应的稠密深度图。
在一个实施例中,环境数据包括对目标环境移动拍摄得到视频帧序列、目标环境的全景图、以及目标环境的激光扫描信息中的一种或多种。
附图说明
图1是本申请实施例涉及的一种实施环境的示意图;
图2是本申请实施例提供的一种电子设备的结构示意图;
图3是本申请实施例的电子设备的软件结构框图;
图4是本申请实施例提供的一种图像处理方法的流程图;
图5是本申请实施例提供的一种手机的用户界面的示意图;
图6是本申请实施例提供的一种用户手持手机进行移动拍摄的示意图;
图7是本申请实施例提供的一种相邻视频帧的采集位置的示意图;
图8是本申请实施例提供的一种匹配点对的示意图;
图9是本申请实施例提供的另一种图像处理方法的流程图;
图10是本申请实施例提供的一种模型训练方法的流程图;
图11是本申请实施例提供的一种图像处理装置的结构示意图;
图12是本申请实施例提供的另一种图像处理装置的结构示意图。
具体实施方式
为使本申请的目的、技术方案和优点更加清楚,下面将结合附图对本申请的实施方式作进一步地详细描述。
应当理解的是,本申请提及的“多个”是指两个或两个以上。在本申请的描述中,除非另有说明,“/”表示或的意思,例如,A/B可以表示A或B;本文中的“和/或”仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。另外,为了便于清楚描述本申请的技术方案,采用了“第一”、“第二”等字样对功能和作用基本相同的相同项或相似项进行区分。本领域技术人员可以理解“第一”、“第二”等字样并不对数量和执行次序进行限定,并且“第一”、“第二”等字样也并不限定一定不同。
在对本申请实施例提供的图像处理方法进行详细介绍之前,先对本申请实施例涉及的名词和实施环境进行简单介绍。
首先对本申请实施例涉及的名称进行简单介绍。
深度信息:代表探测传感器(譬如深度相机)与目标之间的距离,用像素值表示,其取值范围是0至255。
稀疏深度图:是指具有稀疏的深度信息的深度图像,示例性地,通过飞行时间测距(time of flight,TOF)相机拍摄的深度图像可以称为稀疏深度图。
稠密深度图:是指具有稠密的深度信息的深度图像。
图像的位姿信息:包括拍摄装置(如相机)拍摄该图像时的位置信息和姿态信息。
图像的图像特征:图像的图像特征包括图像中的特征点集合,特征点一般为图像中具有关键特征的特征点。
特征点:由关键点和描述子组成。关键点用于描述特征点在视频帧中的位置,描述子用于描述关键点与关键点周围的像素的关系。特征点应满足光照、尺度和旋转的不变性。目前常使用的特征点包括传统几何特征点和/或人工智能(artificial intelligence,AI)特征点。作为一个示例,传统几何特征点可以包括但不限于尺度不变特征变换(scaleinvariant feature transform,SIFT)、加速稳健特征(speed up robust feature,SURF)、Harris Conner、快速定向旋转(oriented fast and rotated brief,ORB)。AI特征点可以包括但不限于Super Point、学习不变特征变换(learned invariant feature transform,LIFT)。
接下来,对本申请实施例涉及的实施环境进行介绍。
请参考图1,图1是本申请实施例涉及的一种实施环境的示意图。如图1所示,该实施环境包括:终端10和服务器20,终端10和服务器20通过有线网络或无线网络进行连接。
终端10可以获取待估计的RGB图像,以及具有一定的图像处理功能。另外,终端10还可以获取环境数据。环境数据用于确定目标环境中不同视角的RGB(red green blue,红色绿色蓝色)图像。比如,该环境数据可以包括:对目标环境移动拍摄得到的视频帧序列、目标环境的全景图、以及目标环境的高精度激光信息中的一种或多种。
作为一个示例,终端10具有图像采集功能,可以采集RGB图像。另外,终端10还具有环境数据采集功能,可以采集目标环境的环境数据。应理解,终端10也可以从其他设备获取目标环境的环境数据。
作为一个示例,终端10可以为RGB相机,或者为集成有RGB相机的移动终端。该移动终端可以为手机、平板电脑、或可穿戴设备等。
服务器20具有图像处理功能。服务器20用于为终端10确定RGB图像对应的稠密深度图提供辅助功能。服务器20可以为单独的服务器,也可以为服务器集群。
作为一个示例,终端10用于获取目标环境的环境数据,将该环境数据发送给服务器20。服务器20用于接收该环境数据;根据该环境数据,生成第一视觉地图。其中,第一视觉地图包括多个RGB图像以及每个RGB图像对应的稠密深度图和位姿信息,多个RGB图像为目标环境中不同视角的RGB图像。
另外,终端10还用于获取待估计的目标图像,目标图像为RGB图像;将目标图像或目标图像的图像特征发送给服务器20。服务器20用于接收终端10发送的目标图像或目标图像的图像特征;根据目标图像的图像特征,从已存储的第一视觉地图中获取多个候选图像,多个候选图像是指对应图像特征与所述目标图像的图像特征的差异小于差异阈值的RGB图像;根据目标图像的图像特征,以及所述多个候选图像对应的稠密深度图和位姿信息,确定目标图像对应的稀疏深度图和位姿信息;将目标图像对应的稀疏深度图和位姿信息发送给终端10。终端10用于接收服务器20发送的目标图像对应的稀疏深度图和位姿信息;根据目标图像对应的稀疏深度图和位姿信息,确定目标图像对应的稠密深度图。
也即是,终端10可以预先获取目标环境的环境数据,将目标环境的环境数据发送给服务器20,由服务器20根据该环境数据,构建目标环境的第一视觉地图,第一视觉地图包括目标环境中不同视角的多个RGB图像以及每个RGB图像对应的稠密深度图和位姿信息。
之后,在终端10需要估计目标图像对应的稠密深度图时,可以先将目标图像或目标图像的图像特征发送给服务器20,由服务器20根据目标图像的图像特征和第一视觉地图,向终端10返回目标图像对应的稀疏深度图和位姿信息。终端10根据服务器20返回的目标图像对应的稀疏深度图和位姿信息,确定目标图像对应的稠密深度图。
如此,终端10可以在服务器20的辅助下快速获得目标图像对应的稠密深度图,在此过程中,终端10无需使用深度相机或双目相机获得稠密深度图,从而降低了硬件要求,而且终端10可以直接从服务器10获取目标图像对应的稀疏深度图和位姿信息,而不需要由终端10自身运算得到,从而减少了终端10的运算量,提高了稠密深度图的确定效率,适用性较高。
请参阅图2,图2是本申请实施例提供的一种电子设备100的结构示意图。该电子设备100可以为上述图1中的终端10或服务器20。
电子设备100可以包括处理器110,外部存储器接口120,内部存储器121,通用串行总线(universal serial bus,USB)接口130,充电管理模块140,电源管理模块141,电池142,天线1,天线2,移动通信模块150,无线通信模块160,音频模块170,扬声器170A,受话器170B,麦克风170C,耳机接口170D,传感器模块180,按键190,马达191,指示器192,摄像头193,显示屏194,以及用户标识模块(subscriber identification module,SIM)卡接口195等。其中传感器模块180可以包括压力传感器180A,陀螺仪传感器180B,气压传感器180C,磁传感器180D,加速度传感器180E,距离传感器180F,接近光传感器180G,指纹传感器180H,温度传感器180J,触摸传感器180K,环境光传感器180L,骨传导传感器180M等。
可以理解的是,本发明实施例示意的结构并不构成对电子设备100的具体限定。在本申请另一些实施例中,电子设备100可以包括比图示更多或更少的部件,或者组合某些部件,或者拆分某些部件,或者不同的部件布置。图示的部件可以以硬件,软件或软件和硬件的组合实现。
电子设备100通过GPU,显示屏194,以及应用处理器等实现显示功能。GPU为图像处理的微处理器,连接显示屏194和应用处理器。GPU用于执行数学和几何计算,用于图形渲染。处理器110可包括一个或多个GPU,其执行程序指令以生成或改变显示信息。
显示屏194用于显示图像,视频等。显示屏194包括显示面板。显示面板可以采用液晶显示屏(liquid crystal display,LCD),有机发光二极管(organic light-emittingdiode,OLED),有源矩阵有机发光二极体或主动矩阵有机发光二极体(active-matrixorganic light emitting diode,AMOLED),柔性发光二极管(flex light-emittingdiode,FLED),Miniled,MicroLed,Micro-oLed,量子点发光二极管(quantum dot lightemitting diodes,QLED)等。在一些实施例中,电子设备100可以包括1个或N个显示屏194,N为大于1的正整数。
电子设备100可以通过ISP,摄像头193,视频编解码器,GPU,显示屏194以及应用处理器等实现拍摄功能,比如实现移动拍摄得到视频帧序列,视频帧序列包括不同视角的RGB图像。
ISP用于处理摄像头193反馈的数据。例如,拍照时,打开快门,光线通过镜头被传递到摄像头感光元件上,光信号转换为电信号,摄像头感光元件将所述电信号传递给ISP处理,转化为肉眼可见的图像。ISP还可以对图像的噪点,亮度,肤色进行算法优化。ISP还可以对拍摄场景的曝光,色温等参数优化。在一些实施例中,ISP可以设置在摄像头193中。
摄像头193用于捕获静态图像或视频。摄像头193可以为RGB摄像头。物体通过镜头生成光学图像投射到感光元件。感光元件可以是电荷耦合器件(charge coupled device,CCD)或互补金属氧化物半导体(complementary metal-oxide-semiconductor,CMOS)光电晶体管。感光元件把光信号转换成电信号,之后将电信号传递给ISP转换成数字图像信号。ISP将数字图像信号输出到DSP加工处理。DSP将数字图像信号转换成标准的RGB等格式的图像信号。在一些实施例中,电子设备100可以包括1个或N个摄像头193,N为大于1的正整数。
数字信号处理器用于处理数字信号,除了可以处理数字图像信号,还可以处理其他数字信号。例如,当电子设备100在频点选择时,数字信号处理器用于对频点能量进行傅里叶变换等。
视频编解码器用于对数字视频压缩或解压缩。电子设备100可以支持一种或多种视频编解码器。这样,电子设备100可以播放或录制多种编码格式的视频,例如:动态图像专家组(moving picture experts group,MPEG)1,MPEG2,MPEG3,MPEG4等。
NPU为神经网络(neural-network,NN)计算处理器,通过借鉴生物神经网络结构,例如借鉴人脑神经元之间传递模式,对输入信息快速处理,还可以不断的自学习。通过NPU可以实现电子设备100的智能认知等应用,例如:图像识别,人脸识别,语音识别,文本理解等。
外部存储器接口120可以用于连接外部存储卡,例如Micro SD卡,实现扩展电子设备100的存储能力。外部存储卡通过外部存储器接口120与处理器110通信,实现数据存储功能。例如将音乐,视频等文件保存在外部存储卡中。
内部存储器121可以用于存储计算机可执行程序代码,所述可执行程序代码包括指令。处理器110通过运行存储在内部存储器121的指令,从而执行电子设备100的各种功能应用以及数据处理。内部存储器121可以包括存储程序区和存储数据区。其中,存储程序区可存储操作系统,至少一个功能所需的应用程序(比如声音播放功能,图像播放功能等)等。存储数据区可存储电子设备100使用过程中所创建的数据(比如音频数据,电话本等)等。此外,内部存储器121可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件,闪存器件,通用闪存存储器(universal flash storage,UFS)等。
电子设备100可以通过音频模块170,扬声器170A,受话器170B,麦克风170C,耳机接口170D,以及应用处理器等实现音频功能。例如音乐播放,录音等。
音频模块170用于将数字音频信息转换成模拟音频信号输出,也用于将模拟音频输入转换为数字音频信号。音频模块170还可以用于对音频信号编码和解码。在一些实施例中,音频模块170可以设置于处理器110中,或将音频模块170的部分功能模块设置于处理器110中。扬声器170A,也称“喇叭”,用于将音频电信号转换为声音信号。电子设备100可以通过扬声器170A收听音乐,或收听免提通话。受话器170B,也称“听筒”,用于将音频电信号转换成声音信号。麦克风170C,也称“话筒”,“传声器”,用于将声音信号转换为电信号。耳机接口170D用于连接有线耳机。耳机接口170D可以是USB接口130,也可以是3.5mm的开放移动终端设备平台(open mobile terminal platform,OMTP)标准接口,美国蜂窝电信工业协会(cellular telecommunications industry association of the USA,CTIA)标准接口。
压力传感器180A用于感受压力信号,可以将压力信号转换成电信号。在一些实施例中,压力传感器180A可以设置于显示屏194。压力传感器180A的种类很多,如电阻式压力传感器,电感式压力传感器,电容式压力传感器等。电容式压力传感器可以是包括至少两个具有导电材料的平行板。当有力作用于压力传感器180A,电极之间的电容改变。电子设备100根据电容的变化确定压力的强度。当有触摸操作作用于显示屏194,电子设备100根据压力传感器180A检测所述触摸操作强度。电子设备100也可以根据压力传感器180A的检测信号计算触摸的位置。在一些实施例中,作用于相同触摸位置,但不同触摸操作强度的触摸操作,可以对应不同的操作指令。例如:当有触摸操作强度小于第一压力阈值的触摸操作作用于短消息应用图标时,执行查看短消息的指令。当有触摸操作强度大于或等于第一压力阈值的触摸操作作用于短消息应用图标时,执行新建短消息的指令。
陀螺仪传感器180B可以用于确定电子设备100的运动姿态。在一些实施例中,可以通过陀螺仪传感器180B确定电子设备100围绕三个轴(即,x,y和z轴)的角速度。陀螺仪传感器180B可以用于拍摄防抖。示例性的,当按下快门,陀螺仪传感器180B检测电子设备100抖动的角度,根据角度计算出镜头模组需要补偿的距离,让镜头通过反向运动抵消电子设备100的抖动,实现防抖。陀螺仪传感器180B还可以用于导航,体感游戏场景。
加速度传感器180E可检测电子设备100在各个方向上(一般为三轴)加速度的大小。当电子设备100静止时可检测出重力的大小及方向。还可以用于识别电子设备100的姿态,应用于横竖屏切换,计步器等应用。
指纹传感器180H用于采集指纹。电子设备100可以利用采集的指纹特性实现指纹解锁,访问应用锁,指纹拍照,指纹接听来电等。
温度传感器180J用于检测温度。在一些实施例中,电子设备100利用温度传感器180J检测的温度,执行温度处理策略。例如,当温度传感器180J上报的温度超过阈值,电子设备100执行降低位于温度传感器180J附近的处理器的性能,以便降低功耗实施热保护。在另一些实施例中,当温度低于另一阈值时,电子设备100对电池142加热,以避免低温导致电子设备100异常关机。在其他一些实施例中,当温度低于又一阈值时,电子设备100对电池142的输出电压执行升压,以避免低温导致的异常关机。
触摸传感器180K,也称“触控面板”。触摸传感器180K可以设置于显示屏194,由触摸传感器180K与显示屏194组成触摸屏,也称“触控屏”。触摸传感器180K用于检测作用于其上或附近的触摸操作。触摸传感器可以将检测到的触摸操作传递给应用处理器,以确定触摸事件类型。可以通过显示屏194提供与触摸操作相关的视觉输出。在另一些实施例中,触摸传感器180K也可以设置于电子设备100的表面,与显示屏194所处的位置不同。
SIM卡接口195用于连接SIM卡。SIM卡可以通过插入SIM卡接口195,或从SIM卡接口195拔出,实现和电子设备100的接触和分离。电子设备100可以支持1个或N个SIM卡接口,N为大于1的正整数。SIM卡接口195可以支持Nano SIM卡,Micro SIM卡,SIM卡等。
电子设备100的软件系统可以采用分层架构,事件驱动架构,微核架构,微服务架构,或云架构。本发明实施例以分层架构的Android系统为例,示例性说明电子设备100的软件结构。
图3是本申请实施例的电子设备100的软件结构框图。
分层架构将软件分成若干个层,每一层都有清晰的角色和分工。层与层之间通过软件接口通信。在一些实施例中,将Android系统分为四层,从上至下分别为应用程序层,应用程序框架层,安卓运行时(Android runtime)和系统库,以及内核层。
应用程序层可以包括一系列应用程序包。
如图3所示,应用程序包可以包括相机,图库,日历,通话,地图,导航,WLAN,蓝牙,音乐,视频,短信息等应用程序。
应用程序框架层为应用程序层的应用程序提供应用编程接口(applicationprogramming interface,API)和编程框架。应用程序框架层包括一些预先定义的函数。
如图3所示,应用程序框架层可以包括窗口管理器,内容提供器,视图系统,电话管理器,资源管理器,通知管理器等。
窗口管理器用于管理窗口程序。窗口管理器可以获取显示屏大小,判断是否有状态栏,锁定屏幕,截取屏幕等。
内容提供器用来存放和获取数据,并使这些数据可以被应用程序访问。所述数据可以包括视频,图像,音频,拨打和接听的电话,浏览历史和书签,电话簿等。
视图系统包括可视控件,例如显示文字的控件,显示图片的控件等。视图系统可用于构建应用程序。显示界面可以由一个或多个视图组成的。例如,包括短信通知图标的显示界面,可以包括显示文字的视图以及显示图片的视图。
电话管理器用于提供电子设备100的通信功能。例如通话状态的管理(包括接通,挂断等)。
资源管理器为应用程序提供各种资源,比如本地化字符串,图标,图片,布局文件,视频文件等等。
通知管理器使应用程序可以在状态栏中显示通知信息,可以用于传达告知类型的消息,可以短暂停留后自动消失,无需用户交互。比如通知管理器被用于告知下载完成,消息提醒等。通知管理器还可以是以图表或者滚动条文本形式出现在系统顶部状态栏的通知,例如后台运行的应用程序的通知,还可以是以对话窗口形式出现在屏幕上的通知。例如在状态栏提示文本信息,发出提示音,电子设备振动,指示灯闪烁等。
Android Runtime包括核心库和虚拟机。Android runtime负责安卓系统的调度和管理。
核心库包含两部分:一部分是java语言需要调用的功能函数,另一部分是安卓的核心库。
应用程序层和应用程序框架层运行在虚拟机中。虚拟机将应用程序层和应用程序框架层的java文件执行为二进制文件。虚拟机用于执行对象生命周期的管理,堆栈管理,线程管理,安全和异常的管理,以及垃圾回收等功能。
系统库可以包括多个功能模块。例如:表面管理器(surface manager),媒体库(Media Libraries),三维图形处理库(例如:OpenGL ES),2D图形引擎(例如:SGL)等。
表面管理器用于对显示子系统进行管理,并且为多个应用程序提供了2D和3D图层的融合。
媒体库支持多种常用的音频,视频格式回放和录制,以及静态图像文件等。媒体库可以支持多种音视频编码格式,例如:MPEG4,H.264,MP3,AAC,AMR,JPG,PNG等。
三维图形处理库用于实现三维图形绘图,图像渲染,合成,和图层处理等。
2D图形引擎是2D绘图的绘图引擎。
内核层是硬件和软件之间的层。内核层至少包含显示驱动,摄像头驱动,音频驱动,传感器驱动。
在介绍完本申请实施例涉及的实施环境后,接下来结合附图对本申请实施例提供的方法进行详细介绍。
请参考图4,图4是本申请实施例提供的一种图像处理方法的流程图,作为示例而非限定,该方法可以应用于上述图1中的终端和服务器中,该方法可以包括如下步骤:
步骤401:终端获取环境数据,该环境数据用于确定目标环境中不同视角的RGB图像。
其中,该环境数据为目标环境的环境数据,目标环境是指待处理的目标所处的环境。该环境数据用于指示目标环境的环境特征,根据该环境数据可以确定目标环境的环境图像。目标环境的环境图像包括目标环境中不同视角的RGB图像,即不同视角的目标的RGB图像。
比如,该环境数据可以包括对目标环境移动拍摄得到的视频帧序列、目标环境的全景图、以及目标环境的激光扫描信息中的一种或多种。比如,视频帧序列可以由移动拍摄的RGB相机采集得到。目标环境的全景图可以通过鱼眼相机、或多个RGB相机对目标环境进行全景拍摄得到。目标环境的激光扫描信息可以由高精度激光扫描系统对目标环境进行激光扫描得到。
作为一个示例,终端集成有RGB相机,终端可以通过RGB相机对目标环境进行移动拍摄,将移动拍摄得到的视频帧序列作为该目标环境的环境数据。
比如,终端可以在接收到视频录制指令后,通过RGB相机对目标环境进行录制得到该视频帧序列。该视频录制指令可以由用户触发,用户可以通过指定操作触发。示例性地,指定操作可以包括但不限于点击操作、滑动操作、语言操作或手势操作等。
在一个实施例中,以终端是手机为例,手机中安装有相机应用,当用户想要通过手机进行拍摄时可以触发相机应用,譬如点击相机应用的应用图标。手机响应于用户对相机应用的触发操作,启动相机应用。请参考图5中的(a)图,相机应用中提供有视频录制选项51,用户可以触发视频录制选项51,此时手机检测到视频录制指令。响应于视频录制指令,手机开启视频录制功能,如图5中的(b)图所示。此时手机启动RGB相机,以通过RGB相机进行视频录制。作为一个示例,在手机录制视频的过程中,用户可以手持手机移动,使得手机处于移动状态。譬如如图6所示,用户可以手持手机围着目标转一周。在该过程中,手机将通过RGB相机录制的视频作为视频帧序列。
由于终端在采集视频帧序列的过程中是移动拍摄的,所以不难理解,视频帧序列中的相邻视频帧是在两个不同位置处采集的。示例性地,请参考图7,视频帧序列中的第一视频帧是在A点采集的,第一视频帧的相邻视频帧是在B点采集的。这里可以理解为A点存在一个摄像头(假设存在第一摄像头),以及B点存在另一个摄像头(假设存在第二摄像头),如此从逻辑上来说,可以认为第一视频帧是通过第一摄像头采集的,相邻视频帧是通过第二摄像头采集的,也即可以理解为第一视频帧和相邻视频帧是通过双目摄像头(包括第一摄像头和第二摄像头)采集的两个视频帧,或者说是从两个不同角度对同一目标拍摄得到的两个视频帧。因此,视频帧序列中的视频帧即为目标环境中不同视角的RGB图像。
步骤402:终端将该环境数据发送给服务器。
步骤403:服务器接收终端发送的环境数据,根据该环境数据,生成第二视觉地图,第二视觉地图包括多个RGB图像以及每个RGB图像对应的稀疏深度图和位姿信息,多个RGB图像为目标环境中不同视角的RGB图像。
本申请实施例中,服务器接收到该环境数据之后,可以根据所述环境数据,生成第一视觉地图,第一视觉地图包括多个RGB图像以及每个RGB图像对应的稠密深度图和位姿信息。而在生成第一视觉地图之前,可以先根据该环境数据,生成第二视觉地图,以便根据第二视觉地图生成第一视觉地图。
比如,服务器接收终端发送的环境数据之后,可以先根据该环境数据,确定目标环境中不同视角的RGB图像,得到多个RGB图像。然后,确定多个RGB图像中每个RGB图像对应的稀疏深度图和位姿信息。根据多个RGB图像中每个RGB图像对应的稀疏深度图和位姿信息,构建第二视觉地图。
作为一个示例,服务器可以采用运动结构化(structured from motion,SFM)算法确定多个RGB图像中每个RGB图像对应的稀疏深度图和位姿信息。应理解,服务器也可以采用其他算法确定多个RGB图像中每个RGB图像对应的稀疏深度图和位姿信息,本申请实施例对此不做限定。
其中,SFM算法是一种基于各种收集到的无序图片进行三维重建的离线算法。作为一个示例,采用SFM算法确定多个RGB图像中每个RGB图像对应的稀疏深度图和位姿信息包括以下步骤:
1)提取多个RGB图像中每个RGB图像的特征点,得到每个图像的图像特征。
其中,从每个RGB图像提取的特征点是指图像中的不变性特征点,即与拍摄角度无关的特征点。每个图像的图像特征是指从图像中提取的特征点的集合。多个RGB图像是围绕同一目标拍摄的一系列图像,实际上对于同一目标所拍摄的图像中存在一些特征点,这些特征点与拍摄角度是无关的,可以先提取图像中的这些特征点。
比如,可以采用尺度不变特征变换(scale-invariant feature transform,SIFT)算法来提取每个RGB图像的特征点,即提取每个图像的SIFT特征点。
2)对多个RGB图像中两两图像的图像特征进行特征匹配,以生成多个RGB图像的第一特征匹配关系。
对两两图像的第一图像特征进行特征匹配主要是比较两两图像的特征点。第一特征匹配关系包括多个RGB图像中任意两个图像对应的匹配点对,匹配点对为2D点对。另外,由于多个RGB图像中两两图像的图像特征进行的是特征匹配,匹配比较盲目,存在一点的误匹配点,因此多个RGB图像的特征匹配关系包括的匹配点对通常为稀疏的匹配点对。
任意两个图像对应的匹配点对中包括目标的某个部分(或者某个点)在任意两个图像中的第一个图像中对应的特征点和在第二个图像中对应的特征点,或者可以理解为,匹配点对包括的两个特征点分别用于描述目标的某个部分在不同角度的特征。譬如请参考图8,图8是根据一示例性实施例示出的两个图像中的部分匹配点对的示意图,为了便于理解,这里将每个匹配点对中的两个特征点通过同一条虚线连接表示。
作为示例而非限定,可以通过计算两两图像中任意对应两个特征点之间的欧拉距离,来对这两个特征点进行匹配,若两个特征点之间的欧拉距离大于或等于预设阈值,则确定这两个特征点匹配,进而确定这两个特征点为两个图像对应的匹配点对。
3)根据第一特征匹配关系进行三维重建,根据三维重建结果确定多个RGB图像中每个RGB图像对应的稀疏深度图。
由于第一特征匹配关系中的匹配点对为稀疏的匹配点对,因此根据第一特征匹配关系进行的三维重建通常称为稀疏重建。根据第一特征匹配关系进行稀疏重建,可以重建得到稀疏的3D点云,该稀疏的3D点云中包括多个RGB图像中的匹配点对对应的3D点。根据该3D点云包括的多个RGB图像中的匹配点对对应的3D点,即可确定多个RGB图像中每个RGB图像对应的稀疏深度图。
在一个实施例中,可以先根据第一特征匹配关系和相机内参,确定相机外参。然后,根据相机外参和相机内参,确定相机坐标系与世界坐标系的转换关系。之后,根据多个RGB图像中的匹配点对(2D点对)在相机坐标系中的坐标,以及相机坐标系与世界坐标系的转换关系,确定多个RGB图像中的匹配点对对应的3D点在世界坐标系中的坐标。根据多个RGB图像中的匹配点对对应的3D点在世界坐标系中的坐标,确定多个RGB图像中每个RGB图像对应的稀疏深度图。
作为一个示例,根据多个RGB图像的特征匹配关系,可以确定x、K、R和T。其中,x是指多个RGB图像中的匹配点对在相机坐标系中的坐标的齐次表示。K为相机内参。R和T为相机外参,R为旋转矩阵,T为位移向量。
比如,预先构建3D点被投影到相机的图像平面上的投影方程,根据投影方程,确定投影点和图像上的真实点之间的投影误差,然后对投影误差的目标优化方程进行优化,以确定相机外参。其中,在投影误差的目标优化方程中,多个RGB图像中的匹配点对在相机坐标系中的坐标和相机内参为已知数,相机外参为未知数。通过对投影误差的目标优化方程进行优化,可以求解到能够使得投影误差最小的相机外参。
4)根据第一特征匹配关系,确定多个RGB图像中每个RGB图像对应的位姿信息。
作为示例而非限定,可以根据第一特征匹配关系,通过位姿跟踪等方法,来确定多个RGB图像中每个RGB图像对应的位姿信息。
步骤404:服务器根据多个RGB图像中每个RGB图像对应的稀疏深度图和位姿信息,确定多个RGB图像中每个RGB图像对应的稠密深度图。
在获得多个RGB图像中每个RGB图像对应的稀疏深度图和位姿信息之后,可以进一步根据多个RGB图像中每个RGB图像对应的稀疏深度图和位姿信息,确定多个RGB图像中每个RGB图像对应的稠密深度图。
作为示例而非限定,可以根据多个RGB图像中每个RGB图像对应的稀疏深度图和位姿信息,采用多视图系统(multi view system,MVS)算法,确定多个RGB图像中每个RGB图像对应的稠密深度图。
其中,MVS算法是一种根据稀疏的3D点云生成稠密的3D点云的方法。在上述步骤403中,通过SFM算法进行三维重建的三维重建结果是稀疏的3D点云,之后,采用MVS算法对稀疏的3D点云进行处理,可以得到稠密的3D点云。根据稠密的3D点云,即可确定多个RGB图像中每个RGB图像对应的稠密深度图。
作为一个示例,根据多个RGB图像中每个RGB图像对应的稀疏深度图和位姿信息,采用MVS算法确定多个RGB图像中每个RGB图像对应的稠密深度图可以包括如下步骤:
1)根据多个RGB图像中每个RGB图像对应的稀疏深度图和位姿信息,对多个RGB图像中任意两两图像进行图像立体校正,以将任意两两图像对齐到同一平面。
比如,可以根据上述步骤403中在生成多个RGB图像中每个RGB图像对应的稀疏深度图和位姿信息过程中获得的相机参数,对多个RGB图像中任意两两图像进行图像立体校正,以将任意两两图像对齐到同一平面。其中,相机参数可以包括相机内参和相机外参。
2)提取校正后的多个RGB图像中每个RGB图像的特征点,得到校正后的多个RGB图像中每个RGB图像的图像特征。
其中,校正后的每个RGB图像的图像特征为校正后的每个RGB图像的特征点集合。
需要说明的是,提取校正后的多个RGB图像中每个RGB图像的特征点与上述步骤403中提取多个RGB图像中每个RGB图像的特征点的方式同理,具体提取过程可以参考上述步骤403的相关描述,本申请实施例在此不再赘述。
3)对校正后的多个RGB图像中两两图像的图像特征进行立体匹配,得到校正后的多个RGB图像的第二特征匹配关系。
其中,第二特征匹配关系包括校正后的多个RGB图像中任意两个图像对应的匹配点对。
作为示例而非限定,可以采用极线约束算法对校正后的多个RGB图像中两两图像的图像特征进行立体匹配。
对校正后的多个RGB图像中两两图像的图像特征进行立体匹配,也即是,对对齐后的任意两个图像进行立体匹配。由于对齐后的任意两个图像可以对齐到同一平面,因此在对齐后的任意两个图像进行立体匹配时,可以将对齐后的任意两个图像中的每个特征点进行匹配,从而得到较为稠密的匹配点对,因此,第二特征匹配关系可以包括稠密的匹配点对。
4)根据第二特征匹配关系进行三维重建,根据三维重建结果确定多个RGB图像中每个RGB图像对应的稠密深度图。
由于第二特征匹配关系可以包括稠密的匹配点对,因此根据第二特征匹配关系进行的三维重建通常称为稠密重建。根据第二特征匹配关系进行稠密重建,可以得到稠密的3D点云,稠密的3D点云包括校正后的多个RGB图像中的匹配点对对应的3D点云。根据稠密的3D点云包括的校正后的多个RGB图像中的匹配点对对应的3D点云,即可确定校正后的多个RGB图像中每个RGB图像对应的稠密深度图,并将校正后的多个RGB图像对应的稠密深度图作为校正前的多个RGB图像中每个RGB图像对应的稠密深度图。
需要说明的是,根据第二特征匹配关系进行三维重建的实现方式与上述步骤403中根据第一特征匹配关系进行三维重建的实现方式同理,具体实现过程可以参考上述步骤403中的相关描述,本申请实施例在此不再赘述。
步骤405:服务器根据多个RGB图像以及每个RGB图像对应的稠密深度图和位姿信息,构建第一视觉地图。
比如,服务器可以预先构建第一视觉地图列表,然后将多个RGB图像以及每个RGB图像对应的稠密深度图和位姿信息存储在第一视觉地图列表中。
本申请实施例中,终端可以采集环境数据,并将环境数据发送给服务器,由服务器根据环境数据构建第一视觉地图,第一数据地图包括环境中不同视觉的多个RGB图像,以及每个RGB图像对应的稠密深度图和位姿信息。在应用中,终端可以将待估计的目标图像发送给服务器,由服务器根据第二视觉地图向终端返回目标图像对应的稀疏深度图和位姿信息,终端根据服务器返回的目标图像对应的稀疏深度图和位姿信息,确定目标图像对应的稠密深度图。在此过程中,终端无需使用深度相机或双目相机获得稠密深度图,从而降低了硬件要求,而且终端可以直接从服务器获取目标图像对应的稀疏深度图和位姿信息,而不需要由终端自身计算得到,从而减少了终端的运算量,提高了稠密深度图的确定效率,适用性较高。
应理解,上述实施例中各步骤的序号并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本申请实施例的实施过程构成任何限定。
在服务器构建得到第一视觉地图之后,终端可以在服务器的辅助下快速获得待估计的目标图像的稠密深度图。接下来,对终端在服务器的辅助下获得目标图像的稠密深度图的过程进行详细介绍。
请参考图9,图9是本申请实施例提供的另一种图像处理方法的流程图,作为示例而非限定,该方法可以应用于上述图1中的终端和服务器中,该方法可以包括如下步骤:
步骤901:终端获取待估计的目标图像。
其中,目标图像为RGB图像。待估计的目标图像是指待估计稠密深度图的RGB图像,可以为对目标进行拍摄得到的任一RGB图像。
作为一个示例,目标图像可以为视频帧序列中的任一视频帧,比如为视频帧序列中的任一关键帧。其中,视频帧序列可以是由移动拍摄的RGB相机采集得到。具体采集方式可以参考上述图4实施例中步骤401的相关描述,本申请实施例在此不再赘述。
比如,终端可以提取视频帧序列中的关键帧,然后将提取的关键帧作为待估计稠密深度图的目标图像。
步骤902:终端将目标图像或目标图像的图像特征发送给服务器。
作为一个示例,终端在获取目标图像之后,可以直接将目标图像发送给服务器。
作为另一个示例,终端在获取目标图像之后,也可以先提取目标图像的特征点,得到目标图像的图像特征,目标图像的图像特征为目标图像的特征点集合。然后将目标图像的目标特征发送给服务器。
需要说明的是,终端提取目标图像的特征点的实现方式与上述图4实施例中的步骤403中服务器提取每个RGB图像的特征点的实现方式同理,具体实现过程可以参考上述步骤403中的相关描述,本申请实施例在此不再赘述。
还需要说明的是,图标图像的图像特征通常仅包括目标图像中稀疏的特征点。
步骤903:服务器接收终端发送的目标图像或目标图像的图像特征,根据目标图像的图像特征,从已存储的第一视觉地图中获取多个候选图像,多个候选图像是指对应图像特征与目标图像的图像特征的差异小于差异阈值的RGB图像。
也即是,在接收到终端发送的目标图像或目标图像的图像特征之后,服务器可以确定第一视觉地图包括的多个RGB图像中每个RGB图像的图像特征,然后将目标图像的图像特征与多个RGB图像的图像特征依次进行比较,并将对应图像特征与目标图像的图像特征的差异小于差异阈值的RGB图像作为候选图像。
其中,服务器可以提取多个RGB图像中每个RGB图像的特征点,得到每个RGB图像的图像特征。具体过程可以参考上述图4实施例中的步骤403中的相关描述,本申请实施例在此不再赘述。
需要说明的是,若终端向服务器发送的是目标图像的图像特征,则终端可以直接将目标图像的图像特征与多个RGB图像的图像特征依次进行比较,以从第一视觉地图中获取多个候选图像。若终端向服务器发送的是目标图像,则服务器需要先提取目标图像的特征点,得到目标图像的图像特征,再将目标图像的图像特征与多个RGB图像的图像特征依次进行比较,以从第一视觉地图中获取多个候选图像。
步骤904:服务器根据目标图像的图像特征,以及多个候选图像对应的稠密深度图和位姿信息,确定目标图像对应的稀疏深度图和位姿信息。
需要说明的是,由于目标图像的图像特征为从目标图像中提取的特征点集合,通常仅包括目标图像中稀疏的特征点,因此服务器根据目标图像的图像特征,以及多个候选图像对应的稠密深度图和位姿信息,仅能够获取到目标图像对应的稀疏深度图和位姿信息。
其中,根据目标图像的图像特征,以及多个候选图像对应的稠密深度图和位姿信息,确定目标图像对应的稀疏深度图和位姿信息是指根据目标图像的图像特征,以及多个候选图像对应的稠密深度图和位姿信息,分别确定目标图像对应的稀疏深度图和位姿信息。也即是,根据目标图像的图像特征,以及多个候选图像对应的稠密深度图,确定目标图像对应的稀疏深度图。根据目标图像的图像特征,以及多个候选图像对应的稠密深度图和位姿信息,确定目标图像对应的位姿信息。
作为一个示例,根据目标图像的图像特征,以及多个候选图像对应的稠密深度图,确定目标图像对应的稀疏深度图可以包括如下步骤:
1)对于多个候选图像中的第一候选图像,确定第一候选图像的目标图像特征,第一候选图像的目标图像特征是指第一候选图像的图像特征中与目标图像的部分图像特征相互匹配的部分图像特征,第一候选图像为多个候选图像中的任一个。
作为一个示例,可以对目标图像的图像特征和第一候选图像的图像特征进行特征匹配,得到目标图像和第一候选图像对应的匹配点对,然后将该匹配点在第一候选图像的图像特征中对应的特征点确定为第一候选图像的目标图像特征。
2)从第一候选图像对应的稠密深度图中确定第一候选图像的目标图像特征对应的深度信息。
第一候选图像对应的稠密深度图通常包括第一候选图像中稠密的特征点对应的深度信息,因此可以从第一候选图像中稠密的特征点对应的深度信息中,获取第一候选图像的目标图像特征包括的稀疏的特征点对应的深度信息。
本申请实施例中,可以通过上述步骤1)-步骤2)对多个候选图像分别进行处理,得到每个候选图像的目标图像特征对应的深度信息。
3)根据目标图像的图像特征,对多个候选图像中每个候选图像的目标图像特征对应的深度信息进行组合,得到目标图像的图像特征对应的深度信息。
比如,可以按照对应匹配的目标图像的图像特征中的特征点的位置,对多个候选图像中每个候选图像的目标图像特征对应的深度信息进行组合,这样,即可得到目标图像的图像特征中的各个特点对应的深度信息。
4)根据目标图像的图像特征对应的深度信息,确定目标图像对应的稀疏深度图。
也即是,可以将根据目标图像的图像特征对应的深度信息构建得到的稀疏深度图,作为目标图像对应的稀疏深度图。由于目标图像的图像特征通常仅包括目标图像中稀疏的特征点,因此根据目标图像的图像特征对应的深度信息构建的深度图为稀疏深度图。
作为示例而非限定,服务器可以根据目标图像的图像特征,以及多个候选图像对应的稠密深度图和位姿信息,采用透视n点(pespective-n-point,PNP)算法进行位姿估计,得到目标图像对应的位姿信息。其中,PNP算法是用于求解3D-2D点对的运动估计方法,可以在已知n个3D点的坐标及其二维投影位置的情况下,估计相机的位姿。
比如,服务器可以根据目标图像的图像特征,以及多个候选图像对应的稠密深度图和位姿信息,采用PNP算法进行位姿估计,得到目标图像对应的位姿信息可以包括如下步骤:
1)根据目标图像的图像特征,以及多个候选图像对应的位姿信息,确定多个候选图像的图像特征与目标图像的图像特征对应的共视特征点,得到多个共视特征点。
其中,多个共视特征点是指具有共视关系的特征点。
2)确定多个共视特征点的图像坐标。
比如,可以获取多个共视特征点在对应图像中的像素坐标,然后将多个共视特征点在对应图像中的像素坐标转换为图像坐标。图像坐标也称2D坐标。
3)根据多个候选图像对应的稠密深度图,得到多个共视特征点的空间坐标。
其中,共视特征点的空间坐标是指共视特征点在世界坐标系中的坐标。空间坐标也称3D坐标。
比如,可以根据多个候选图像对应的稠密深度图,得到多个共视特征点对应的深度信息,根据多个共视特征点对应的深度信息,确定多个共视特征点在世界坐标系中的坐标,得到多个共视点的空间坐标。
4)根据多个共视特征点的图像坐标和空间坐标,确定目标图像对应的位姿信息。
比如,可以根据多个共视特征点的图像坐标和空间坐标,采用PNP算法进行位姿估计,将估计的位姿信息确定为目标图像对应的位姿信息。
步骤905:服务器将目标图像对应的稀疏深度图和位姿信息发送给终端。
步骤906:终端接收服务器发送的目标图像对应的稀疏深度图和位姿信息,根据目标图像对应的稀疏深度图和位姿信息,确定目标图像对应的稠密深度图。
在一个实施例中,终端可以根据目标图像、目标图像对应的稀疏深度图和位姿信息,以及目标图像的相邻图像、相邻图像对应的稀疏深度图和位姿信息,来确定目标图像对应的稠密深度图。其中,目标图像的相邻图像为在与目标图像的视觉不同的视角采集的RGB图像。
作为一个示例,目标图像为视频帧序列中的第一视频帧,视频帧序列是移动拍摄的RGB相机采集的。相应地,根据目标图像对应的稀疏深度图和位姿信息,确定目标图像对应的稠密深度图可以包括:根据目标图像、目标图像对应的稀疏深度图和位姿信息、视频帧序列中位于目标图像之前的第二视频帧、以及第二视频帧对应的稀疏深度图和位姿信息,确定目标图像对应的稠密深度图。
其中,第二视频帧是目标图像的相邻视频帧,第二视频帧的数量可以为一个或多个。第二视频帧对应的稀疏深度图和位姿信息可以按照目标图像对应的稀疏深度图和位姿信息的获取方式获取得到。
作为一个示例,可以将目标图像、目标图像对应的稀疏深度图和位姿信息、第二视频帧、以及第二视频帧对应的稀疏深度图和位姿信息输入至目标模型中进行处理,输出目标图像对应的稠密深度图。
其中,目标模型用于根据任一视频帧、任一视频帧对应的稀疏深度图和位姿信息、位于任一视频帧之前的其他视频帧、其他视频帧对应的稀疏深度图和位姿信息,确定任一视频帧对应的稠密深度图。
作为示例而非限定,该任一视频帧对应的稀疏深度图和位姿信息可以按照上述目标图像对应的稀疏深度图和位姿信息的获取方式获取得到。
需要说明的是,目标模型可以预先训练得到,其训练过程可以参见下述图10所示的实施例,本申请实施例在此先不做赘述。
作为一个示例,终端存储有预先训练好的目标模型。终端在接收到服务器发送的目标图像对应的稀疏深度图和位姿信息之后,可以调用目标模型,然后将目标图像、目标图像对应的稀疏深度图和位姿信息、第二视频帧、以及第二视频帧对应的稀疏深度图和位姿信息输入至目标模型中进行处理。之后,目标图像即可输出目标图像对应的稠密深度图。
通过目标模型来确定目标图像的稠密深度图,可以进一步提高稠密深度图的确定效率。
作为另一个示例,目标模型也可以存储在云端,这种情况下,终端可以将目标图像、目标图像对应的稀疏深度图和位姿信息、第二视频帧、以及第二视频帧对应的稀疏深度图和位姿信息输入至目标模型上传至云端,并指示云端根据上传的数据确定稠密深度图。之后,云端将确定的稠密深度图发送给终端。如此,可以进一步地减少终端的运算量。
在一个实施例中,第二视频帧的数量为多个,终端可以根据根据目标图像、目标图像对应的稀疏深度图和位姿信息、多个第二视频帧中的各个第二视频帧、以及各个第二视频帧对应的稀疏深度图和位姿信息,确定目标图像对应的稠密深度图。
其中,各个第二视频帧对应的稀疏深度图和位姿信息均可以按照目标图像对应的稀疏深度图和位姿信息的获取方式获取得到。
作为一个示例,终端可以将目标图像、目标图像对应的稀疏深度图和位姿信息、多个第二视频帧中的各个第二视频帧、以及各个第二视频帧对应的稀疏深度图和位姿信息均输入至目标模型中进行处理,以通过目标模型确定目标图像对应的稠密深度图。
也即,在第二视频帧的数量为多个的情况下,终端仍可以通过目标模型确定目标图像对应的稠密深度图。
值得一提的是,当第二视频帧的数量为多个时,说明可以从更多角度确定目标的深度信息,也即可以确定丰富的深度信息,如此可以确定具有稠密且准确的深度信息的深度图像。
本申请实施例中,终端可以将待估计的目标图像或目标图像的图像特征发送给服务器,由服务器根据第一视觉地图向终端返回目标图像对应的稀疏深度图和位姿信息,然后终端根据服务器返回的目标图像对应的稀疏深度图和位姿信息,确定目标图像对应的稠密深度图。如此,终端可以在服务器的辅助下快速获得目标图像对应的稠密深度图,在此过程中,终端无需使用深度相机或双目相机获得稠密深度图,从而降低了硬件要求,而且终端可以直接从服务器获取目标图像对应的稀疏深度图和位姿信息,而不需要由终端自身运算得到,从而减少了终端的运算量,提高了稠密深度图的确定效率,适用性较高。
请参考10,10是本申请实施例提供的一种模型训练方法的流程图,该方法可以应用于电子设备中,电子设备可以为终端或服务器。本申请实施例将以该方法应用于终端为例进行举例说明,该终端可以为上述图1中的终端10,也可以为终端10之外的其他终端。也即是,进行模型训练的终端与上述图9实施例中确定稠密深度图的终端可以为同一终端,也可以为不同终端。该方法可以包括如下步骤:
步骤1001:终端获取样本数据集,样本数据集包括多组样本数据,多组样本数据中的每组样本数据包括视频帧样本序列、视频帧样本序列中的各个视频帧样本对应的稀疏深度图和位姿信息、以及各个视频帧样本对应的真实稠密深度图。
作为本申请的一个示例,视频帧样本序列通过移动拍摄的RGB相机采集得到。
在一个实施例中,各个视频帧样本对应的稀疏深度图和位姿信息可以按照上述目标图像对应的稀疏深度图和位姿信息的获取方式获取得到,当然也可以采用其他方式获取得到,本申请实施例对此不做限定。
在一个实施例中,各个视频帧样本可以是视频帧样本序列中的关键帧样本。
在一个实施例中,各个视频帧样本对应的真实稠密深度图可以通过具有优良指标的深度相机采集得到,也即该深度相机可以获取稠密的深度信息,譬如该深度相机可以采用视频图形阵列(Video Graphics Array,VGA)深度相机。
步骤1002:终端根据样本数据集对待训练的网络模型进行训练,以得到目标模型。
在实施中,构建端到端的网络模型作为待训练的网络模型。在一个实施例中,该网络模型可以是U-net网络模型、视觉几何组(Visual Geometry Group,VGG)网络模型或者残差网络(Residual Network,RESNET)-50网络模型等。
构建损失函数,损失函数用于描述真实值与估计值不一样的程度,本实施例中的真实值是真实稠密深度图,估计值是通过该网络模型估计的稠密深度图。
作为本申请的一个示例,可以根据真实值与估计值之间的几何误差、视频帧样本的相似性误差、以及深度图像光滑度,构建损失函数。其中,视频帧样本的相似性误差用于描述位姿信息的反投影误差。深度图像光滑度可以理解为是一个约束条件,能够使得最终得到的稠密深度图是平滑的,各个像素点之间不存在跳变的情况。
示例性地,几何误差可以通过公式(1)确定:
Figure BDA0003282612990000221
其中,ld表示几何误差,i表示第i个第二样本数据,di表示真实值,
Figure BDA0003282612990000231
表示估计值。
另外,视频帧样本的相似性误差可以通过公式(2)确定:
Figure BDA0003282612990000232
其中,
Figure BDA0003282612990000233
通过如下公式(3)确定:
Figure BDA0003282612990000234
Figure BDA0003282612990000235
的含义是将一个视频帧样本(如关键帧样本)It投影至另一个视频帧样本IS后得到的投影视频帧。其中,K为内参矩阵,T为视频帧样本It的位姿信息,D为视频帧样本It的深度信息。
在公式(2)中,lp表示相似性误差,α为经验值,譬如可以为0.85,SSIM(*)为结构相似性误差,是用于计算结构相似性误差的函数。
此外,深度图像光滑度可以通过如下公式(4)确定:
Figure BDA0003282612990000236
其中,ls表示深度图像光滑度,n表示样本数量,F(*)是用于计算向量微分算子,
Figure BDA0003282612990000237
表示计算x方向上的梯度,/>
Figure BDA0003282612990000238
表示计算y方向上的梯度,/>
Figure BDA0003282612990000239
之后,通过对几何误差、视频帧样本的相似性误差、深度图像光滑度进行加权求和,得到损失函数。
在训练过程中,可以根据损失函数和样本数据集,对网络模型的模型参数进行更新。当训练满足结束条件时,将模型参数更新后的网络模型作为训练好的目标模型。
其中,结束条件可以根据实际需求进行设置。示例性地,结束条件可以是训练次数达到次数阈值。次数阈值可以根据实际需求进行设置。
在本申请实施例中,基于样本数据集对网络模型进行训练,得到目标模型。在应用中,基于目标图像、目标图像对应的稀疏深度图和位姿信息,以及位于目标图像之前的相邻视频帧、相邻视频帧对应的稀疏深度图和位姿信息,通过目标模型进行处理,以确定目标图像对应的稠密深度图。如此可以提高确定稠密深度图的效率。
应理解,上述实施例中各步骤的序号并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本申请实施例的实施过程构成任何限定。
图11是本申请实施例提供的一种图像处理装置的结构示意图,该装置可以由软件、硬件或者两者的结合实现成为计算机设备的部分或者全部,该计算机设备可以为图1所示的终端10。参见图11,该装置包括:第一获取模块1101、发送模块1102、接收模块1103和确定模块1104。
第一获取模块1101,用于执行上述图9实施例中的步骤901;
发送模块1102,用于执行上述图9实施例中的步骤902;
接收模块1103和确定模块4404,用于执行上述图9实施例中的步骤906。
可选地,确定模块4404用于:将目标图像、目标图像对应的稀疏深度图和位姿信息、第二视频帧、以及第二视频帧对应的稀疏深度图和位姿信息输入至目标模型中进行处理,输出目标图像对应的稠密深度图;其中,目标模型用于根据任一视频帧、任一视频帧对应的稀疏深度图和位姿信息、位于任一视频帧之前的其他视频帧、其他视频帧对应的稀疏深度图和位姿信息,确定任一视频帧对应的稠密深度图。
可选地,该装置还包括第二获取模块和训练模块;
第二获取模块,用于执行上述图10实施例中的步骤1001;
训练模块,用于执行上述图10实施例中的步骤1002。
可选地,该装置还包括第三获取模块;
第三获取模块,用于执行上述图4实施例中的步骤401;
发送模块,还用于执行上述图4实施例中的步骤402。
本申请实施例中,该装置可以将待估计的目标图像或目标图像的图像特征发送给服务器,由服务器根据第一视觉地图向终端返回目标图像对应的稀疏深度图和位姿信息,然后根据服务器返回的目标图像对应的稀疏深度图和位姿信息,确定目标图像对应的稠密深度图。如此,该装置可以在服务器的辅助下快速获得目标图像对应的稠密深度图,在此过程中,该装置无需使用深度相机或双目相机获得稠密深度图,从而降低了硬件要求,而且减少了装置的运算量,提高了稠密深度图的确定效率,适用性较高。
图12是本申请实施例提供的另一种图像处理装置的结构示意图,该装置可以由软件、硬件或者两者的结合实现成为计算机设备的部分或者全部,该计算机设备可以为图1所示的服务器20。参见图12,该装置包括:接收模块1201、获取模块1202、确定模块1203和发送模块1204。
接收模块1201和获取模块1202,用于执行上述图9实施例中的步骤903;
确定模块1203,用于执行上述图9实施例中的步骤904;
发送模块1204,用于执行上述图9实施例中的步骤905。
可选地,确定模块1203包括:
第一确定单元,用于根据该目标图像的图像特征,以及该多个候选图像对应的稠密深度图,确定该目标图像对应的稀疏深度图;
第二确定单元,用于根据该目标图像的图像特征,以及该多个候选图像对应的稠密深度图和位姿信息,确定该目标图像对应的位姿信息。
可选地,第一确定单元用于:
对于该多个候选图像中的第一候选图像,从该第一候选图像对应的稠密深度图中确定该第一候选图像的目标图像特征对应的深度信息,该第一候选图像的目标图像特征是指该第一候选图像的图像特征中与该目标图像的部分图像特征相互匹配的部分图像特征,该第一候选图像为该多个候选图像中的任一个;
根据该目标图像的图像特征,对该多个候选图像中每个候选图像的目标图像特征对应的深度信息进行组合,得到该目标图像的图像特征对应的深度信息;
根据该目标图像的图像特征对应的深度信息,确定该目标图像对应的稀疏深度图。
可选地,第二确定单元用于:
根据该目标图像的图像特征,以及该多个候选图像对应的位姿信息,确定该多个候选图像的图像特征与该目标图像的图像特征对应的共视特征点,得到多个共视特征点;
根据该多个候选图像对应的稠密深度图,获取该多个共视特征点的空间坐标;
根据该多个共视特征点的图像坐标和空间坐标,确定该目标图像对应的位姿信息。
可选地,该装置还包括生成模块;
接收模块1201,还用于接收该终端发送的环境数据;
生成模块,用于根据该环境数据,生成第一视觉地图,第一视觉地图包括多个RGB图像以及每个RGB图像对应的稠密深度图和位姿信息,该多个RGB图像为目标环境中不同视角的RGB图像。
可选地,生成模块用于执行上述图4实施例中的步骤403-步骤405。
可选地,生成模块用于:
根据该环境数据,确定该目标环境中不同视角的RGB图像,得到该多个RGB图像;
提取该多个RGB图像中每个RGB图像的特征点,得到每个RGB图像的图像特征,每个RGB图像的图像特征为每个RGB图像的特征点集合;
对该多个RGB图像中两两图像的图像特征进行特征匹配,以生成第一特征匹配关系,该第一特征匹配关系包括该多个RGB图像中任意两个图像对应的匹配点对;
根据该第一特征匹配关系进行三维重建,根据三维重建结果确定该多个RGB图像中每个RGB图像对应的稀疏深度图,以及根据该特征匹配关系,确定该多个RGB图像中每个RGB图像对应的位姿信息;
根据该多个RGB图像中每个RGB图像对应的稀疏深度图和位姿信息,构建第二视觉地图。
可选地,生成模块用于:
根据该多个RGB图像以及每个RGB图像对应的稀疏深度图和位姿信息,对该多个RGB图像中任意两两图像进行图像立体校正,以将该任意两两图像对齐到同一平面;
提取校正后的多个RGB图像中每个RGB图像的特征点,得到校正后的多个RGB图像中每个RGB图像的图像特征,校正后的每个RGB图像的图像特征为校正后的每个RGB图像的特征点集合;
对校正后的多个RGB图像中两两图像的图像特征进行立体匹配,得到第二特征匹配关系,该第二特征匹配关系包括校正后的多个RGB图像中任意两个图像对应的匹配点对;
根据该第二特征匹配关系进行三维重建,根据三维重建结果确定该多个RGB图像中每个RGB图像对应的稠密深度图。
本申请实施例中,服务器可以接收终端发送的目标图像或目标图像的图像特征,然后根据目标图像的图像特征,从已存储的第一视觉地图中获取对应图像特征与所述目标图像的图像特征的差异小于差异阈值的RGB图像作为多个候选图像,根据目标图像的图像特征以及多个候选图像对应的稠密深度图和位姿信息,确定目标图像对应的稀疏深度图和位姿信息,并将目标图像对应的稀疏深度图和位姿信息发送给终端。如此,终端可以在服务器的辅助下快速获取目标图像对应的稠密深度图,在此过程中,终端无需使用深度相机或双目相机获得稠密深度图,从而降低了硬件要求,而且终端可以直接从服务器获取目标图像对应的稀疏深度图和位姿信息,而不需要由终端自身计算得到,从而减少了终端的运算量,提高了稠密深度图的确定效率,适用性较高。
所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,仅以上述各功能单元、模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能单元、模块完成,即将所述装置的内部结构划分成不同的功能单元或模块,以完成以上描述的全部或者部分功能。实施例中的各功能单元、模块可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中,上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。另外,各功能单元、模块的具体名称也只是为了便于相互区分,并不用于限制本申请的保护范围。上述系统中单元、模块的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
本申请实现上述实施例方法中的全部或部分流程,可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一计算机可读存储介质中,该计算机程序在被处理器执行时,可实现上述各个方法实施例的步骤。其中,所述计算机程序包括计算机程序代码,所述计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。所述计算机可读介质至少可以包括:能够将计算机程序代码携带到电子设备的任何实体或装置、记录介质、计算机存储器、只读存储器(read-only memory,ROM)、随机存取存储器(random access memory,RAM)、电载波信号、电信信号以及软件分发介质。例如U盘、移动硬盘、磁碟或者光盘等。在某些司法管辖区,根据立法和专利实践,计算机可读介质不可以是电载波信号和电信信号。
最后应说明的是:以上所述,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何在本申请揭露的技术范围内的变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以所述权利要求的保护范围为准。

Claims (18)

1.一种图像处理方法,其特征在于,应用于终端中,所述方法包括:
获取待估计的目标图像,所述目标图像为视频帧序列中的第一视频帧,所述视频帧序列是移动拍摄的RGB相机采集的;
将所述目标图像或所述目标图像的图像特征发送给服务器;
接收所述服务器发送的所述目标图像对应的稀疏深度图和位姿信息;
根据所述目标图像、所述目标图像对应的稀疏深度图和位姿信息、所述视频帧序列中位于所述目标图像之前的第二视频帧、以及所述第二视频帧对应的稀疏深度图和位姿信息,确定所述目标图像对应的稠密深度图。
2.根据权利要求1所述的方法,其特征在于,所述根据所述目标图像、所述目标图像对应的稀疏深度图和位姿信息、所述视频帧序列中位于所述目标图像之前的第二视频帧、以及所述第二视频帧对应的稀疏深度图和位姿信息,确定所述目标图像对应的稠密深度图,包括:
将所述目标图像、所述目标图像对应的稀疏深度图和位姿信息、所述第二视频帧、以及所述第二视频帧对应的稀疏深度图和位姿信息输入至目标模型中进行处理,输出所述目标图像对应的稠密深度图;其中,所述目标模型用于根据任一视频帧、所述任一视频帧对应的稀疏深度图和位姿信息、位于所述任一视频帧之前的其他视频帧、所述其他视频帧对应的稀疏深度图和位姿信息,确定所述任一视频帧对应的稠密深度图。
3.根据权利要求2所述的方法,其特征在于,所述方法还包括:
获取样本数据集,所述样本数据集包括多组样本数据,所述多组样本数据中的每组样本数据包括视频帧样本序列、所述视频帧样本序列中的各个视频帧样本对应的稀疏深度图和位姿信息、以及所述各个视频帧样本对应的真实稠密深度图;
根据所述样本数据集对待训练的网络模型进行训练,以得到所述目标模型。
4.根据权利要求1-3任一所述的方法,其特征在于,所述第二视频帧的数量为多个,所述根据所述目标图像、所述目标图像对应的稀疏深度图和位姿信息、所述视频帧序列中位于所述目标图像之前的第二视频帧、以及所述第二视频帧对应的稀疏深度图和位姿信息,确定所述目标图像对应的稠密深度图,包括:
根据所述目标图像、所述目标图像对应的稀疏深度图和位姿信息、多个第二视频帧中的各个第二视频帧、以及所述各个第二视频帧对应的稀疏深度图和位姿信息,确定所述目标图像对应的稠密深度图。
5.根据权利要求1-4任一所述的方法,其特征在于,所述将所述目标图像或所述目标图像的图像特征发送给服务器之前,还包括:
获取环境数据,所述环境数据用于确定目标环境中不同视角的RGB图像;
将所述环境数据发送给所述服务器。
6.根据权利要求5所述的方法,其特征在于,所述环境数据包括所述视频帧序列、所述目标环境的全景图、以及所述目标环境的激光扫描信息中的一种或多种。
7.一种图像处理系统,其特征在于,应用于服务器中,所述系统包括终端和服务器;
所述终端,用于获取待估计的目标图像,所述目标图像为视频帧序列中的第一视频帧,所述视频帧序列是移动拍摄的RGB相机采集的;
所述终端,还用于将所述目标图像或所述目标图像的图像特征发送给服务器;
所述服务器,用于接收终端发送的目标图像或目标图像的图像特征;
所述服务器,还用于根据所述目标图像的图像特征,从已存储的第一视觉地图中获取多个候选图像,所述第一视觉地图包括多个RGB图像以及每个RGB图像对应的稠密深度图和位姿信息,所述多个候选图像是指对应图像特征与所述目标图像的图像特征的差异小于差异阈值的RGB图像;
所述服务器,还用于根据所述目标图像的图像特征,以及所述多个候选图像对应的稠密深度图和位姿信息,确定所述目标图像对应的稀疏深度图和位姿信息;
所述服务器,还用于将所述目标图像对应的稀疏深度图和位姿信息发送给所述终端;
所述终端,还用于接收所述服务器发送的所述目标图像对应的稀疏深度图和位姿信息;
所述终端,还用于根据所述目标图像、所述目标图像对应的稀疏深度图和位姿信息、所述视频帧序列中位于所述目标图像之前的第二视频帧、以及所述第二视频帧对应的稀疏深度图和位姿信息,确定所述目标图像对应的稠密深度图。
8.根据权利要求7所述的系统,其特征在于,所述服务器还用于:
对于所述多个候选图像中的第一候选图像,从所述第一候选图像对应的稠密深度图中确定所述第一候选图像的目标图像特征对应的深度信息,所述第一候选图像的目标图像特征是指所述第一候选图像的图像特征中与所述目标图像的部分图像特征相互匹配的部分图像特征,所述第一候选图像为所述多个候选图像中的任一个;
根据所述目标图像的图像特征,对所述多个候选图像中每个候选图像的目标图像特征对应的深度信息进行组合,得到所述目标图像的图像特征对应的深度信息;
根据所述目标图像的图像特征对应的深度信息,确定所述目标图像对应的稀疏深度图。
9.根据权利要求7或8所述的系统,其特征在于,所述服务器还用于:
根据所述目标图像的图像特征,以及所述多个候选图像对应的位姿信息,确定所述多个候选图像的图像特征与所述目标图像的图像特征对应的共视特征点,得到多个共视特征点;
根据所述多个候选图像对应的稠密深度图,获取所述多个共视特征点的空间坐标;
根据所述多个共视特征点的图像坐标和空间坐标,确定所述目标图像对应的位姿信息。
10.根据权利要求7-9任一所述的系统,其特征在于,所述终端还用于:
将所述目标图像、所述目标图像对应的稀疏深度图和位姿信息、所述第二视频帧、以及所述第二视频帧对应的稀疏深度图和位姿信息输入至目标模型中进行处理,输出所述目标图像对应的稠密深度图;其中,所述目标模型用于根据任一视频帧、所述任一视频帧对应的稀疏深度图和位姿信息、位于所述任一视频帧之前的其他视频帧、所述其他视频帧对应的稀疏深度图和位姿信息,确定所述任一视频帧对应的稠密深度图。
11.根据权利要求7-10任一所述的系统,其特征在于,所述第二视频帧的数量为多个;
所述终端,还用于根据所述目标图像、所述目标图像对应的稀疏深度图和位姿信息、多个第二视频帧中的各个第二视频帧、以及所述各个第二视频帧对应的稀疏深度图和位姿信息,确定所述目标图像对应的稠密深度图。
12.根据权利要求7-11任一所述的系统,其特征在于,
所述终端,还用于获取环境数据,将所述环境数据发送给所述服务器,所述环境数据用于确定目标环境中不同视角的RGB图像;
所述服务器,还用于接收所述终端发送的所述环境数据;
所述服务器,还用于根据所述环境数据,生成所述第一视觉地图。
13.根据权利要求12所述的系统,其特征在于,所述服务器还用于:
根据所述环境数据,生成第二视觉地图,所述第二视觉地图包括多个RGB图像以及每个RGB图像对应的稀疏深度图和位姿信息;
根据所述多个RGB图像中每个RGB图像对应的稀疏深度图和位姿信息,确定所述多个RGB图像中每个RGB图像对应的稠密深度图;
根据所述多个RGB图像以及每个RGB图像对应的稠密深度图和位姿信息,构建所述第一视觉地图。
14.根据权利要求13所述的系统,其特征在于,所述服务器还用于:
根据所述环境数据,确定所述目标环境中不同视角的RGB图像,得到所述多个RGB图像;
提取所述多个RGB图像中每个RGB图像的特征点,得到每个RGB图像的图像特征,每个RGB图像的图像特征为每个RGB图像的特征点集合;
对所述多个RGB图像中两两图像的图像特征进行特征匹配,以生成第一特征匹配关系,所述第一特征匹配关系包括所述多个RGB图像中任意两个图像对应的匹配点对;
根据所述第一特征匹配关系进行三维重建,根据三维重建结果确定所述多个RGB图像中每个RGB图像对应的稀疏深度图,以及根据所述第一特征匹配关系,确定所述多个RGB图像中每个RGB图像对应的位姿信息;
根据所述多个RGB图像中每个RGB图像对应的稀疏深度图和位姿信息,构建所述第二视觉地图。
15.根据权利要求13或14所述的系统,其特征在于,所述服务器还用于:
根据所述多个RGB图像以及每个RGB图像对应的稀疏深度图和位姿信息,对所述多个RGB图像中任意两两图像进行图像立体校正,以将所述任意两两图像对齐到同一平面;
提取校正后的多个RGB图像中每个RGB图像的特征点,得到校正后的多个RGB图像中每个RGB图像的图像特征,校正后的每个RGB图像的图像特征为校正后的每个RGB图像的特征点集合;
对校正后的多个RGB图像中两两图像的图像特征进行立体匹配,得到第二特征匹配关系,所述第二特征匹配关系包括校正后的多个RGB图像中任意两个图像对应的匹配点对;
根据所述第二特征匹配关系进行三维重建,根据三维重建结果确定所述多个RGB图像中每个RGB图像对应的稠密深度图。
16.根据权利要求12-15任一所述的系统,其特征在于,所述环境数据包括对所述目标环境移动拍摄得到视频帧序列、所述目标环境的全景图、以及所述目标环境的激光扫描信息中的一种或多种。
17.一种终端,其特征在于,所述终端包括存储器和处理器;
所述存储器用于存储支持所述终端执行权利要求1-6任一项所述的方法的程序,以及存储用于实现权利要求1-6任一项所述的方法所涉及的数据;所述处理器被配置为用于执行所述存储器中存储的程序。
18.一种计算机可读存储介质,所述计算机可读存储介质中存储有指令,其特征在于,当其在计算机上运行时,使得计算机执行权利要求1-6任一项所述的方法。
CN202111137470.9A 2021-09-27 2021-09-27 图像处理方法、设备、系统及计算机可读存储介质 Pending CN115880350A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202111137470.9A CN115880350A (zh) 2021-09-27 2021-09-27 图像处理方法、设备、系统及计算机可读存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202111137470.9A CN115880350A (zh) 2021-09-27 2021-09-27 图像处理方法、设备、系统及计算机可读存储介质

Publications (1)

Publication Number Publication Date
CN115880350A true CN115880350A (zh) 2023-03-31

Family

ID=85763064

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202111137470.9A Pending CN115880350A (zh) 2021-09-27 2021-09-27 图像处理方法、设备、系统及计算机可读存储介质

Country Status (1)

Country Link
CN (1) CN115880350A (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116148883A (zh) * 2023-04-11 2023-05-23 锐驰智慧科技(深圳)有限公司 基于稀疏深度图像的slam方法、装置、终端设备及介质

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116148883A (zh) * 2023-04-11 2023-05-23 锐驰智慧科技(深圳)有限公司 基于稀疏深度图像的slam方法、装置、终端设备及介质
CN116148883B (zh) * 2023-04-11 2023-08-08 锐驰智慧科技(安吉)有限公司 基于稀疏深度图像的slam方法、装置、终端设备及介质

Similar Documents

Publication Publication Date Title
KR20210111833A (ko) 타겟의 위치들을 취득하기 위한 방법 및 장치와, 컴퓨터 디바이스 및 저장 매체
CN113709355B (zh) 滑动变焦的拍摄方法及电子设备
CN112272311B (zh) 花屏修复方法、装置、终端、服务器及介质
WO2023284715A1 (zh) 一种物体重建方法以及相关设备
CN115526983B (zh) 一种三维重建方法及相关设备
CN108776822A (zh) 目标区域检测方法、装置、终端及存储介质
CN115359105B (zh) 景深扩展图像生成方法、设备及存储介质
WO2023124948A1 (zh) 一种三维地图的创建方法及电子设备
CN114782296B (zh) 图像融合方法、装置及存储介质
CN115643485B (zh) 拍摄的方法和电子设备
CN113538227A (zh) 一种基于语义分割的图像处理方法及相关设备
WO2022161011A1 (zh) 生成图像的方法和电子设备
CN115115679A (zh) 一种图像配准方法及相关设备
CN116916151B (zh) 拍摄方法、电子设备和存储介质
CN114205512B (zh) 拍摄方法和装置
CN115880350A (zh) 图像处理方法、设备、系统及计算机可读存储介质
WO2023216957A1 (zh) 一种目标定位方法、系统和电子设备
CN110135329B (zh) 从视频中提取姿势的方法、装置、设备及存储介质
WO2023045724A1 (zh) 图像处理方法、电子设备、存储介质及程序产品
CN115914860A (zh) 一种拍摄方法及电子设备
CN115587938A (zh) 视频畸变校正方法及相关设备
CN116091572B (zh) 获取图像深度信息的方法、电子设备及存储介质
CN117689545B (zh) 图像处理方法、电子设备和计算机可读存储介质
CN113890984B (zh) 拍照方法、图像处理方法和电子设备
CN116193243B (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