图像处理和三维对象建模方法与设备、图像处理装置及介质与流程

文档序号:19658642发布日期:2020-01-10 20:47阅读:310来源:国知局
图像处理和三维对象建模方法与设备、图像处理装置及介质与流程

本发明涉及图像处理和三维对象建模领域,尤其涉及图像处理和三维对象建模方法与设备、图像处理装置及介质。



背景技术:

在三维对象建模领域,如何使得生成的三维模型具有高分辨率和高准确度是业界极力追求的目标。

目前主要有两种方式进行三维对象建模。

一种是采用普通图像采集设备从不同的角度来拍摄多个图像,然后将从不同角度拍摄的多个图像组合/拼接起来,构成三维对象的三维模型。但是,这种方式在拍摄多个图像时,拍摄角度和位置一般需要是固定的,这种拍摄方式有很大的缺陷,往往无法拍摄不能移动的大的三维对象,尤其是要对多个这样的各自位置固定、空间密闭的、而且很难全方位多角度拍摄的三维对象(例如室内房屋或室外复杂空间)进行建模时;而且,这种方式需要复杂的图像拼接,总之,很难得到高准确度的三维目标。

另一种方式是直接使用三维扫描设备获取三维对象的三维点云,然后进行三维点云的拼接,生成三维模型。但是,这种三维扫描设备的图像采集设备精度不高,导致捕获的图像分辨率不高,致使生成的三维模型的分辨率不够高。

因此,如何得到高分辨率的采集图像,如何提高图像处理的精度以便为三维对象建模提供高精度和高分辨率的建模所需数据,如何使得提供的建模所需数据能够简化后续的模型生成过程,如何有效地提高所生成的三维对象模型的准确性是本发明考虑要解决的技术问题。



技术实现要素:

为了解决以上问题之一,本发明提供了一种图像处理和三维对象建模方法与设备、图像处理装置及介质。

根据本发明的一个示例性实施例,提供一种图像处理方法,包括:相机位置估计步骤,其中,利用针对待处理的至少一个三维对象拍摄的至少一幅全景图像的几何关系,估计在拍摄每幅全景图像时的全景相机的位置、以及每幅全景图像上的匹配特征点的三维点坐标,其中,每幅全景图像是针对一个三维对象拍摄的,每个三维对象对应于一幅或多幅全景图像;单图像平面轮廓生成步骤,其中,对于每幅全景图像,通过用于提取图像轮廓的深度学习模型,提取所述全景图像的在三维空间中的平面轮廓;以及尺度归一化步骤,其中,将所估计的在拍摄每幅全景图像时的全景相机的位置的尺度和每幅全景图像的在三维空间中的平面轮廓的尺度进行归一化,得到经过归一化的各全景图像的在三维空间中的平面轮廓。

可选地,通过下述方式来训练所述深度学习模型:通过人工标注作为训练图像的多个全景图像上的被关注类型的三维对象的轮廓特征,生成被关注类型的三维对象的轮廓特征训练数据集;利用被关注类型的三维对象的轮廓特征训练数据集来训练所述深度学习模型,由此得到经过训练的深度学习模型,其中,所述深度学习模型的输出包含被关注类型的三维对象的轮廓特征类别。

可选地,单图像平面轮廓生成步骤包括:将所述至少一幅全景图像输入到经过训练的所述深度学习模型中,得到所述全景图像中每个像素点对应的轮廓特征的类别;提取出每幅全景图像中,轮廓特征属于特定类别的像素点中的处于边缘的边缘像素点作为特定类别边缘像素点;假定所述至少一幅全景图像上的所有特定类别边缘像素点具有同一高度hc,作为特定类别轮廓假定高度,并将每幅全景上的所述特定类别边缘像素点投影到三维平面上,得到与每幅全景图像对应的特定类别三维点,然后基于与每幅全景图像对应的所述特定类别三维点,形成各全景图像的在三维空间中的平面轮廓。

可选地,相机位置估计步骤包括:利用拍摄的至少一幅全景图像的几何关系,进行所述全景图像之间的特征点匹配,并记录所述全景图像中互相匹配的特征点作为匹配特征点;以及通过对于每幅全景图像,减小所述全景图像上的匹配特征点的重投影误差,来得到拍摄每幅全景图像时的相机位置、以及每幅全景图像上的匹配特征点的三维点坐标。

可选地,尺度归一化步骤包括:将在相机位置估计步骤得到的所述至少一幅全景图像上的所有三维点坐标中的高度值从小到大排序,取排序靠前的高度值的中值或者均值作为特定类别轮廓估计高度hc’;以及利用特定类别轮廓假定高度hc与特定类别轮廓估计高度hc’的比值,从所述每幅全景图像的在三维空间中的平面轮廓生成经过归一化的各全景图像的在三维空间中的平面轮廓,其中,特定类别轮廓假定高度hc是任意假定的一个高度。

根据本发明的一个示例性实施例,提供一种三维对象建模方法,包括:图像处理步骤,其中,使用如上所述的图像处理方法之一,对至少一幅全景图像进行图像处理,以得到经过归一化的各全景图像的在三维空间中的平面轮廓;以及多对象拼接步骤,其中,基于所述经过归一化的各全景图像的在三维空间中的平面轮廓,拼接得到多对象平面轮廓。

可选地,所述三维对象建模方法还包括:单对象平面轮廓生成步骤,其中,基于所述图像处理步骤中得到的经过归一化的各全景图像的平面轮廓,得到各单个三维对象的在三维空间中的平面轮廓。

可选地,单对象平面轮廓生成步骤包括:对于所述至少一幅全景图像,通过以下方式、逐个地确定其中是否有多幅全景图像属于同一个三维对象:如果两幅全景图像之间有多于特定比例的匹配特征点,则确定这两幅全景图像属于同一个三维对象;以及如果确定多幅全景图像属于同一个三维对象,则对于由所述多幅全景图像得到的同一个三维对象的各平面轮廓,取各平面轮廓的并集,作为所述三维对象的平面轮廓。

可选地,在所述多对象拼接步骤,还能够基于各单个三维对象的在三维空间中的平面轮廓,拼接得到在三维空间中的多对象平面轮廓。

可选地,所述三维对象建模方法还包括:3d模型生成步骤,其中,在多对象拼接步骤之后,将拼接得到的在三维空间中的多对象平面轮廓转化为多对象3d模型。

根据本发明的一个示例性实施例,提供一种图像处理设备,包括:相机位置估计装置,被配置用于利用针对待处理的至少一个三维对象拍摄的至少一幅全景图像的几何关系,估计在拍摄每幅全景图像时的全景相机的位置、以及每幅全景图像上的匹配特征点的三维点坐标,其中,每幅全景图像是针对一个三维对象拍摄的,每个三维对象对应于一幅或多幅全景图像;单图像平面轮廓生成装置,被配置用于对于每幅全景图像,通过深度学习模型,提取所述全景图像的在三维空间中的平面轮廓;以及尺度归一化装置,被配置用于将所估计的在拍摄每幅全景图像时的全景相机的位置的尺度和每幅全景图像的在三维空间中的平面轮廓的尺度进行归一化,得到经过归一化的各全景图像的在三维空间中的平面轮廓。

可选地,通过下述方式来训练所述深度学习模型:通过人工标注作为训练图像的多个全景图像上的被关注类型的三维对象的轮廓特征,生成被关注类型的三维对象的轮廓特征训练数据集;利用被关注类型的三维对象的轮廓特征训练数据集来训练所述深度学习模型,由此得到经过训练的深度学习模型,其中,所述深度学习模型的输出包含被关注类型的三维对象的轮廓特征类别。

可选地,单图像平面轮廓生成装置还被配置用于:将所述至少一幅全景图像输入到经过训练的所述深度学习模型中,得到所述全景图像中每个像素点对应的轮廓特征的类别;提取出每幅全景图像中,轮廓特征属于特定类别的像素点中的处于边缘的那些像素点作为特定类别边缘像素点;假定所述至少一幅全景图像上的所有特定类别边缘像素点具有同一高度hc,作为特定类别轮廓假定高度,并将每幅全景上的所述特定类别边缘像素点投影到三维平面上,得到与每幅全景图像对应的特定类别三维点,然后基于与每幅全景图像对应的所述特定类别三维点,形成各全景图像的在三维空间中的平面轮廓。

可选地,相机位置估计装置还被配置用于:利用拍摄的至少一幅全景图像的几何关系,进行所述全景图像之间的特征点匹配,并记录所述全景图像中互相匹配的特征点作为匹配特征点;以及通过对于每幅全景图像,减小所述全景图像上的匹配特征点的重投影误差,来得到拍摄每幅全景图像时的相机位置、以及每幅全景图像上的匹配特征点的三维点坐标。

可选地,尺度归一化装置还被配置用于:将由相机位置估计装置得到的所述至少一幅全景图像上的所有三维点坐标中的高度值从小到大排序,取排序靠前的高度值的中值或者均值作为特定类别轮廓估计高度hc’;以及利用特定类别轮廓假定高度hc与特定类别轮廓估计高度hc’的比值,从所述每幅全景图像的在三维空间中的平面轮廓生成经过归一化的各全景图像的在三维空间中的平面轮廓,其中,特定类别轮廓假定高度hc是任意假定的一个高度。

根据本发明的一个示例性实施例,提供一种三维对象建模设备,包括:图像处理装置,被配置用于使用如上所述的图像处理设备之一,对至少一幅全景图像进行图像处理,以得到经过归一化的各全景图像的在三维空间中的平面轮廓;以及多对象拼接装置,被配置用于基于所述经过归一化的各全景图像的在三维空间中的平面轮廓,拼接得到多对象平面轮廓。

可选地,所述三维对象建模设备还包括:单对象平面轮廓生成装置,被配置用于基于由所述图像处理装置得到的经过归一化的各全景图像的平面轮廓,得到各单个三维对象的在三维空间中的平面轮廓。

可选地,单对象平面轮廓生成装置还被配置用于:对于所述至少一幅全景图像,通过以下方式、逐个地确定其中是否有多幅全景图像属于同一个三维对象:如果两幅全景图像之间有多于特定比例的匹配特征点,则确定这两幅全景图像属于同一个三维对象;以及如果确定多幅全景图像属于同一个三维对象,则对于由所述多幅全景图像得到的同一个三维对象的各平面轮廓,取各平面轮廓的并集,作为所述三维对象的平面轮廓。

可选地,所述多对象拼接装置还能够基于各单个三维对象的在三维空间中的平面轮廓,拼接得到在三维空间中的多对象平面轮廓。

可选地,所述三维对象建模设备还包括:3d模型生成装置,被配置用于将拼接得到的在三维空间中的多对象平面轮廓转化为多对象3d模型。

根据本发明的再一个实施例,提供一种图像处理装置,包括:处理器;以及存储器,其上存储有可执行代码,当所述可执行代码被所述处理器执行时,使所述处理器执行上面描述的方法之一。

根据本发明的又一个实施例,提供一种非暂时性机器可读存储介质,其上存储有可执行代码,当所述可执行代码被处理器执行时,使所述处理器执行上面描述的方法之一。

本发明基于使用全景相机拍摄的待处理三维对象的多张全景图像,进行三维对象的2d建模和3d建模,克服了现有技术中使用3d扫描设备生成三维对象屋模型导致的模型分辨率不高的缺陷。

在本发明中,通过使用全景相机拍摄至少一个对象的全景图像,为多对象建模(例如房屋建模等)提供高分辨率的采集图像。

进一步地,在本发明中,采用了高效的图像处理方法,为多对象建模(例如房屋建模)提供了高分辨率的建模所需数据,而且,所提供的建模所需数据能够简化后续的模型生成过程。

再进一步地,通过本发明的建模方法,能够有效地提高所生成的模型(例如房屋的2d和/或3d模型)的分辨率和准确度。

本发明适用于单对象的2d建模和3d建模,也适用于多对象的2d建模和3d建模,能够基于每个三维对象的全景图像来进行2d建模和3d建模建模,提供了一种创新的综合性的图像处理方案,能够应用于各种基于全景图像来进行对象建模的很多vr(虚拟现实)场景,例如房屋建模(vr看房)、车辆建模(vr看车)、购物场所建模(vr购物)等等。

附图说明

通过结合附图对本公开示例性实施方式进行更详细的描述,本公开的上述以及其它目的、特征和优势将变得更加明显,其中,在本公开示例性实施方式中,相同的附图标记通常代表相同部件。

图1给出了根据本发明的一个示例性实施例的图像处理方法的示意性流程图。

图2给出了根据本发明的一个示例性实施例的作为语义分割模型的深度学习模型的训练方法的示意性流程图。

图3给出了根据本发明的一个示例性实施例的基于语义分割模型来提取全景图像的平面轮廓过程的示意性流程图。

图4给出了根据本发明的一个示例性实施例的图像处理与建模的总体过程的示意性流程图。

图5给出了根据本发明的一个示例性实施例的图像处理设备的示意性框图。

图6给出了根据本发明的一个示例性实施例的三维对象建模设备的示意性框图。

图7给出了根据本发明的一个示例性实施例的图像处理装置的示意性框图。

具体实施方式

下面将参照附图更详细地描述本公开的优选实施方式。虽然附图中显示了本公开的优选实施方式,然而应该理解,可以以各种形式实现本公开而不应被这里阐述的实施方式所限制。相反,提供这些实施方式是为了使本公开更加透彻和完整,并且能够将本公开的范围完整地传达给本领域的技术人员。这里需要说明的是,本申请中的数字、序号以及附图标记仅是为了方便描述而出现的,对于本发明的步骤、顺序等等均不构成任何限制,除非在说明书中明确指出了步骤的执行有特定的先后顺序。

本发明提供了图像处理方法、图像处理设备、三维对象建模方法、三维对象建模设备以及图像处理装置和计算机介质。

首先,在本发明中,采用普通的全景相机来拍摄每个三维对象,得到高分辨率全景图像,克服了背景技术中描述的3d扫描相机捕获的图像分辨率不高的缺陷。

然后,利用拍摄的多张全景图像,可以提取单个全景图像的在三维空间中的平面轮廓(可称为“单图像平面轮廓”)。

进一步地,通过尺度归一化,可以实现单图像平面轮廓的尺度与相机位置的尺度之间的统一,生成经过归一化的各单图像平面轮廓,为后续进行三维对象建模提供高分辨率的并且充分的数据准备,减少后续处理工作的难度。

再进一步地,可以通过对属于同一个三维对象的各单图像平面轮廓进行融合,获得准确的单对象平面轮廓。

再进一步地,可以在三维空间中拼接各单对象平面轮廓,得到多对象模型(此时为2d模型)。

另外,可以对多对象模型进行修正,以得到更准确的模型,使得模型展示效果更好。

最后,通过3d模型生成,得到完整的、高分辨率的并且准确的3d模型。

下面,为了便于理解和描述,将以房屋图像处理和房屋建模作为本发明的图像处理方法和三维对象建模的实例,来详细描述本发明的各个处理过程。

图1给出了根据本发明的一个示例性实施例的图像处理方法的意性流程图。

如图1所示,根据本发明的一个示例性实施例的图像处理方法可以包括相机位置估计s110、单图像平面轮廓生成s120、尺度归一化s130三个步骤,建模过程可以包括后续的多个步骤,但是请注意,后续的这些步骤并非都是必须的。

下面将先介绍上述的根据本发明的一个示例性实施例的图像处理方法,来为后续的建模处理做充分的数据准备,简化后续的处理过程。

这里,首先简单介绍全景相机。全景相机与普通相机的不同在于,普通相机通常只用一个镜头来拍摄,而全景相机用两个或者两个以上的镜头来拍摄,所以全景相机可以实现360度的拍摄。

在根据本发明的一个示例性实施例的图像处理方法中,基于针对一个三维对象(例如在一个房间内)拍摄的至少一幅全景图像(一个全景图像只对应一个房间(对象),但是一个房间内可能拍摄多个全景图像,即一个房间可能对应多个全景图像),估计拍摄这些图像的全景相机的位置,再基于估计的相机位置,来提取全景图像的平面轮廓,然后对提取的平面轮廓进行归一化,以得到建模所需平面轮廓。

因此,如图1所示,在步骤s110,利用针对一个对象拍摄的至少一幅全景图像的几何关系,估计拍摄这些全景图像的全景相机的位置。

在本发明中,可选地,可以采用基于多视图几何的方法来解决这一问题。

具体地,相机位置估计步骤s110例如可以包括以下操作:

1)进行这些全景图像之间的特征点匹配,并记录这些图像中互相匹配的特征点;以及

2)通过对于每张全景图像,减小该全景图像上的匹配特征点的重投影误差,求出每张全景图像的相机位置和该全景图像上的匹配特征点的三维点坐标。

对于上述的步骤1),其中,在图像处理技术中,图像特征点指的是图像灰度值发生剧烈变化的点或者在图像边缘上曲率较大的点(即两个边缘的交点)。图像特征点能够反映图像本质特征,能够标识图像中的目标物体。

如何高效且准确地匹配出两个不同视角的图像中的同一个物体,是许多计算机视觉应用中的第一步。虽然图像在计算机中是以灰度矩阵的形式存在的,但是利用图像的灰度并不能准确地找出两幅图像中的同一个物体。这是由于灰度受光照的影响,并且当图像视角变化后,同一个物体的灰度值也会随之变化。所以,需要找出一种能够在相机进行移动和旋转(视角发生变化)时,仍然能够保持不变的特征,利用这些不变的特征来找出不同视角的图像中的同一个物体。

因此,为了能够更好地进行图像匹配,需要在图像中选择具有代表性的区域,例如:图像中的角点、边缘和一些区块。其中,角点的辨识度最高。在很多计算机视觉处理中,通常提取角点作为特征点,对图像进行匹配,可以使用的方法例如有sfm(structureformmotion,运动恢复结构)、slam(simultaneouslocalizationandmapping,视觉即时定位与地图构建)等。

但是,单纯的角点并不能很好地满足需求,例如:相机从远处得到的是角点,但是在近处就可能不是角点;或者,当相机旋转后,角点就发生了变化。为此,计算机视觉的研究者们设计了许多更为稳定的特征点,这些特征点不会随着相机的移动、旋转或者光照的变化而变化,可以使用的方法例如有sift(scale-invariantfeaturetransform,尺度不变特征变换)、surf(speeduprobustfeatures,加速稳健特征)等。

一个图像的特征点由两部分构成:关键点(keypoint)和描述子(descriptor)。关键点指的是该特征点在图像中的位置,有些还具有方向、尺度信息;描述子通常是一个向量,描述关键点周围像素的信息。通常,在匹配时,只要两个特征点的描述子在向量空间的距离相近,就可以认为它们是同一个特征点。

特征点的匹配通常需要以下三个步骤:1)提取图像中的关键点;2)根据得到的关键点位置,计算特征点的描述子;3)根据特征点的描述子,进行匹配。

可选地,本步骤中的特征点匹配的相关处理可以使用例如开源计算机视觉库opencv来实现。为了简洁和不模糊本发明的主题,本文对于这部分的更详细的处理过程不再赘述。

在进行这些全景图像之间的特征点匹配之后,要记录这些全景图像中互相匹配的特征点(也称为“匹配特征点”),可以例如按照如下的方式进行匹配特征点的记录。

比如,图像1上的特征点a与图像2上的特征点b是匹配的,图像2上的特征点b又与图像3上的特征点c是匹配的,图像3上的特征点c又与图像4上的特征点d也是匹配的,则可以记录一条特征点匹配数据(a,b,c,d)(也可称为“特征点跟踪轨迹”)。由此,得到输入的这些全景图像中互相匹配的特征点有关的记录数据。

对于上述的步骤2),其中,图像重投影是指通过对任意视点的参考图像进行投影来产生新的图像,即,图像重投影能够改变已生成的图像的视线方向。

具体而言,在本发明中,图像重投影指的是将图像1上一个特征点p1对应的三维点坐标,通过当前相机参数投影到另外一幅图像2中,在这张图像2上的得到的投影点q2与图像1上的特征点p1在该图像2中的匹配特征点p2之间的位置差,构成重投影误差(reprojectionerror)。其中,图像2中的匹配特征点p2是实际的位置,而经过重投影得到的投影点q2是估计的位置,通过使得投影点q2与匹配特征点p2之间的位置差尽量最小化,即,使得投影点q2与匹配特征点p2尽可能地重合,求解出相机位置。

其中,优化(减小)重投影误差的目标函数中包含的变量包括相机位置和特征点的三维坐标,在逐步减小(优化)重投影误差的过程中,得到相机位置和特征点的三维坐标。

可选地,在本发明中,可以通过结合梯度下降算法和德罗内三角算法(delaunaytriangulation),来减小重投影误差,达到优化的目的。

其中,在使用梯度下降算法时,将匹配特征点的三维点坐标当作常量,将相机位置当作变量,反之,在使用德罗内三角算法时,将匹配特征点的三维点坐标当作变量,将相机位置当作常量。

可选地,在本发明中,可以使用渐进式求解,来提高求解的相机位置和三维点坐标的精度,即,在求解过程中,通过每次增加一幅图像的方式来求解它的相机位置和匹配特征点的三维点坐标。其中,渐进式求解的方法包括例如isfm(incrementalsfm。

另外,进一步可选地,可以采用集束优化(bundleadjustment)来进一步减小重投影误差。具体地,可以在每张全景图像都执行完减小重投影误差以获得相机位置和三维点坐标的处理之后,最后统一使用集束优化来同时优化所有的相机位置以及所有的三维点坐标。也可以在减小重投影误差以获得相机位置和三维点坐标的处理过程中,在针对任意张全景图像的相机位置和三维点坐标获取之后,添加集束优化的处理,以对获取的相机位置和三维点坐标进行优化。

这里,集束优化指的是同时优化所有相机的位置以及所有的三维点坐标,区别于渐进式求解中分别只优化当前相机位置以及当前图像上的三维点坐标的方式。

另外,除了上面描述的渐进式求解之外,还可以采用全局式求解的方法。

在步骤s120,对于每幅全景图像,通过作为语义分割模型的深度学习模型来生成该全景图像的在三维空间中的平面轮廓。

在本步骤中,可以通过例如图2所示的下述方式来训练所述深度学习模型:

1)在步骤s121,通过人工标注作为训练图像的多个全景图像上的被关注类型的三维对象的轮廓特征,生成被关注类型的三维对象的轮廓特征训练数据集。

这里,以室内房屋中的每个房间作为一个被关注类型的三维对象为例,那么房间里的家具则不是被关注类型的三维对象。

另外,上述的轮廓特征可以是比如体现三维对象的整体构成的轮廓或者说边界,比如房间的天花板轮廓、地板轮廓等。

2)在步骤s122,利用被关注类型的三维对象的轮廓特征训练数据集,训练所述深度学习模型,由此得到经过训练的深度学习模型。

其中,所述深度学习模型的输出包含被关注类型的三维对象的轮廓特征类别。这里以房屋建模为例,被关注类型的三维对象的轮廓特征类别可以是每个房间的天花板、墙面、地板这三类。

然后,基于上述的语义分割模型,生成各全景图像的在三维空间中的平面轮廓的步骤包括以下操作(参见图3的步骤s123-s125)。

1)在步骤s123,将所述至少一幅全景图像输入到经过训练的该深度学习模型中,得到该全景图像中每个像素点对应的轮廓特征的类别。

以房间作为被关注类型的三维对象为例,被关注类型的三维对象的轮廓特征类别可以是每个房间的天花板、墙面、地板这三类。

2)在步骤s124,提取出每幅全景图像中,轮廓特征属于特定类别的像素点中的处于边缘的那些像素点作为特定类别边缘像素点。

以房间作为被关注类型的三维对象为例,特定类别的像素点可以是天花板上的像素点,作为特定类别边缘像素点的处于边缘的那些特定类别的像素点可以是天花板边缘像素点。

3)在步骤s125,假定所述至少一幅全景图像上的所有特定类别边缘像素点具有同一高度hc,作为特定类别轮廓假定高度,并将每幅全景上的所述特定类别边缘像素点投影到三维平面上,得到与每幅全景图像对应的特定类别三维点,然后基于与每幅全景图像对应的所述特定类别三维点,形成各全景图像的在三维空间中的平面轮廓。

以房间作为被关注类型的三维对象为例,特定类别轮廓假定高度可以是相机距离天花板的高度。

下面将以室内房屋为例,详细描述本步骤的具体内容。

例如,对于绝大多数场景来说,房间的天花板都是平面,可以用来表示该房间的平面图,因此本发明中采用通过作为语义分割模型的深度学习模型来提取天花板轮廓的方法来得到全景图像的平面轮廓。

这里,语义分割指的是对于一幅图像,对其中的每个像素点进行类别的划分。因此,本发明的语义分割模型可以被看作用来对图像上的像素点进行类别划分的深度学习模型。

本领域技术人员可知,机器学习可分为浅层学习(shallowlearning)和深度学习(deeplearning)。其中,浅层学习的隐层节点的层次通常较少,深度学习的隐层节点的层次通常多一些,比如,深度学习模型通常有5层、6层,甚至可以有10多层或者更多层的隐层节点。

在语义分割模型中,通常需要事先定义像素点的类别。比如,举例来说,对于室内房屋场景,一般可将像素点的类别定义为天花板、地板、墙面、门、柜子、沙发等等。对于室外场景,例如可以将像素点的类别定义为例如天空、路面、树木、建筑等等。

传统的语义分割技术大多采用分类器加图模型的方法。常用的传统分类器包括支持向量机(svm)、随机森林(randomforest)等分类算法。分类器的输入通常为人工设计的局部特征,常用的特征有rgb、灰度、sift等。分类器对图像中的每个像素点逐一进行类别判断。常用的图模型技术包括马尔可夫随机场(markovrandomfields)、条件随机场(conditionalrandomfields),其作用在于加强相邻像素点类别的一致性。

随着深度学习技术在语义分割中的应用,深度学习的方法已经大大超越传统的语义分割技术。

常用的语义分割的深度学习模型主要是基于cnn(卷积神经网络)的框架。由于语义分割需要输出每个像素点的类别(如果输入图像大小为h*w,则输出也为h*w),因此在传统cnn基础上,需要引入上采样的方法来增大最终输出的分辨率(最简单的上采样方式为最近邻采样)。由此,根据不同的上采样方式,常见的语义分割模型有deeplab、upernet、pspnet等等。

这些技术通过采集大量普通相机拍摄的图像,对其中的每个像素点进行人工的语义标注,比如室外场景标注为天空、路面、树木、建筑等。在训练深度网络时,将这些样本送入深度语义分割模型,输出得到估计的概率矩阵,并采用交叉熵损失(crossentropyloss)的目标函数减小估计值与真实标注值之间的误差,直到最终误差不再变化,则模型训练完成。

对于输入的待处理图像,将其输入到训练好的深度学习模型,得到输出的概率矩阵,计算每个位置上的最大概率输出值所对应的维度,以此作为该像素对应的类别值。比如,输入的图像大小为h*w,模型输出的概率矩阵的大小为h*w*c,其中c表示类别的个数。图像中每个像素点都对应一个c维的概率向量(概率向量之和为1),其最大值的位置即为该像素点对应的类别标签。

在本发明中,通过对全景数据的标注,来实现全景图像的语义分割,这不同于传统的利用普通图像进行语义分割的方法。

在本发明中,具体地,例如,首先可以在室内房屋的全景图像上,通过人工标注天花板与墙面的边界线以及地板与墙面的边界线的方法,来生成包含天花板、墙面和地板的训练数据(由于在后续的模型生成过程中,将自动生成天花板的边界线、墙面的边界线、地板的边界线,所以在此不需要人工标注这些信息)。

然后,利用这些训练数据来训练其输出包含天花板、地板、墙面这三个类别的深度学习模型。即,对于每幅全景图像,输入到经过训练的该深度学习模型中,即可从其输出全景图像中每个像素点对应的类别,其类别即上述的天花板、地板、墙面这三个类别中的一种。

接着,提取出其类别属于“天花板”的像素点中处于边缘的那些像素点(可称为“天花板边缘的像素点”)。

假定天花板边缘的这些像素点具有同一高度信息(由于同属于天花板),然后,将这些像素点投影到三维平面上,得到对应的三维点,基于这些三维点形成天花板在三维空间中的平面轮廓。

具体地,本步骤中将像素点(即,天花板边缘的像素点)投影到三维平面上的方法例如可以如下。

假定全景图像的宽为w,高为h,并且假定得到的天花板边缘的像素点c在全景图像坐标系下的坐标为(pc,qc)。

由于全景图像是由球面投影得到的,因此,在球面坐标系下将其表示为(θc,φc),其中θc∈[-π,π]为经度,φc∈[-π/2,π/2]为维度。

其中,球面坐标与图像坐标之间的关系可通过如下公式1得到:

由于天花板可认为是平面,因此可以认为天花板边缘的像素点距离相机具有统一的高度hc(这里的hc可以假定为任意一个值,比如100),可以称为“天花板距离相机的假定高度”hc。为了避免误解,这里需要说明的是,天花板距离相机的假定高度hc不是图像坐标系下的纵坐标,而是三维坐标系下的高度(即,三维坐标系下y轴的值)。

因此,可根据如下公式2,将天花板边缘的像素点c在球面坐标系下的坐标(θc,φc)投影到三维平面上的三维点坐标(xc,yc,zc):

在本文中,术语“图像坐标系”指图像像素点所在的坐标系,主要用来描述图像中像素点所在的位置。由此,全景图像坐标系指全景图像的像素点所在的坐标系,主要用来描述全景图像中像素点所在的位置。

请注意,上面仅给出了通过深度学习模型来来生成该全景图像的三维空间中的平面轮廓的一种例子,本发明可以使用的方法不限于该例子。

另外,需要说明的是,如上所述,由于天花板可认为是平面,而且,由于全景相机一般使用三角架支撑,在拍摄房屋时,其高度一般为固定的,因此,可以认为由所处理的全景图像得到的天花板边缘的各像素点距离相机具有统一的高度,即具有“相机距离天花板的高度”,该高度可认为是统一的而且是固定的。类似地,可以认为“相机距离地板的高度”也是统一的而且固定的。

请注意,如上所述,对于本步骤得到的各全景图像的在三维空间中的平面轮廓(天花板平面轮廓),可以给该轮廓上的各三维点假定一个高度值,比如假定相机距离天花板的高度hc(可称为“相机距离天花板的假定高度”hc),并且该假定的高度可以为任意的值,比如100(可以通过后续的处理来估计相机距离天花板的实际高度,后续所估计的该高度可称为“相机距离天花板的估计高度”)。为了避免混淆,下文将这里假定的相机距离天花板的高度hc。

在上面的实施例中,可以基于全景图像,自动化地得到该图像的平面轮廓,而无需人工参与制作,并且无需使用昂贵的3d扫描设备。

在步骤s130,将在步骤s110得到的拍摄每幅全景图像时的相机位置的尺度和在步骤s120得到的全景图像的三维空间平面轮廓的尺度进行归一化。

一方面,由于步骤s110中相机位置估计中的尺度不确定性,因此无法确定相机到天花板轮廓的真实高度。另一方面,步骤s120中得到房间的三维空间平面轮廓时采用的是相机距离天花板的假定高度hc,因此,得到的相机位置的尺度和三维对象的三维空间平面轮廓的尺度不统一,给后续的房间轮廓拼接造成一定的困难。

在本步骤,将拍摄每幅全景图像时的相机位置的尺度和各全景图像的在三维空间中的平面轮廓的尺度进行归一化,以使得能够执行后续的多对象拼接处理。

本步骤的操作包括:

1)将在相机位置估计步骤s110得到的所述至少一幅全景图像上的所有三维点坐标中的高度值从小到大排序,取排序靠前的高度值的中值或者均值作为特定类别轮廓估计高度hc’;以及

2)利用特定类别轮廓假定高度hc与上述的特定类别轮廓估计高度hc’的比值,从所述每幅全景图像的在三维空间中的平面轮廓生成经过归一化的各全景图像的在三维空间中的平面轮廓。

其中,特定类别轮廓假定高度hc是任意假定的一个高度。

下面将以房间作为被关注类型的三维对象为例,来详细地描述具体过程。

首先,将在步骤s110得到的稀疏三维点,一一对应地投影到全景图像坐标系上,得到全景图像坐标系上的投影点。

然后,从上述的全景图像坐标系上的投影点中,基于全景图像的语义分割结果(通过将全景图像输入到语义分割模型,经过该模型的语义分割处理,已经将全景图像上的像素点分类标识为天花板、地板、墙面三类),找到这些投影点中的与在语义分割结果中被标识为“天花板”的像素点一致(或者说位置相同)的投影点,并将与这些被标识为“天花板”的像素点一致的投影点所对应的稀疏三维点的高度(可以认为是三维坐标中的y轴上的值)进行统计,排序后取中值或者直接取这些三维点的高度的均值等,作为相机距离天花板的估计高度hc’。

最后,利用相机距离天花板的假定高度hc与估计高度hc’的比值,重新生成尺度归一化的单房间平面轮廓。

例如,可以通过将假定高度hc与估计高度hc’的比值与在步骤s120得到的平面轮廓上的边界点的坐标相乘,得到尺度归一化的平面轮廓上的边界点的坐标,由此得到尺度归一化的平面轮廓。

与上面得到相机距离天花板的估计高度hc’类似地,可以得到相机距离地板的估计高度hf’(该估计高度将在后续的步骤中被使用)。

请注意,上述的尺度归一化处理过程仅是一个例子,本发明不应当仅限于该例子。

经过上述的图像处理过程,为后续的模型生成提供了高分辨率的基础。而且,通过上述的图像处理过程,为后续的模型生成提供在三维空间中的并且经过归一化的各全景图像的平面轮廓,简化了后续的模型生成工作,减少了处理时间,提高了处理效率。

经过上述的图像处理为建模提供了模型生成所需的平面轮廓数据,接下来将描述根据本发明的一个示例性实施例的建模方法(为了便于理解和描述起见,以房屋建模为例)。

图4给出了根据本发明的一个示例性实施例的图像处理与对象建模的总体过程的示意性流程图。图4包括上述的图像处理部分与接下来将描述的对象建模部分。

可选地,在步骤s135,可以基于经过归一化的各全景图像的平面轮廓,得到各单个对象的平面轮廓。

在本发明中,从一个全景图像得到一个相应的在三维空间中的平面轮廓,可称为“单对象平面轮廓”。

例如,以房间作为被关注类型的一个三维对象为例,由于拍摄的全景图像中可能包含同一房间的多张全景图像,在这种情况下,同一房间将对应多个在三维空间中的平面轮廓,导致在后续的多房间拼接处理得到的多房间平面轮廓中,可能出现某个或多个房间的各自的不同全景图像得到的平面轮廓不重合、导致拼接的轮廓出现重叠或混乱的现象。因此,可以考虑先进行同一个房间轮廓的融合(可称为“单对象融合”),以避免这种现象。而且,单对象融合也可消除单对象轮廓不完整的现象。

针对上述的需要单对象融合的情形,下面将以一个房间作为被关注类型的一个三维对象为例,给出下述的示例性方法。

首先,判断两幅全景图像是否属于同一房间。

这里可以采用基于特征点匹配的方式,如果两幅全景图像之间有多于某个比例(特定比例,例如50%等)的匹配特征点,则可以判定这两幅全景图像属于同一房间。

然后,如果多幅全景图像属于同一房间,即,对于由不同全景图像得到的同一房间的平面轮廓,取这些平面轮廓的并集,作为三维空间中的单房间平面轮廓(一个房间一个轮廓,避免一个房间多个单图像轮廓的情形),由此实现同一房间轮廓的融合。

其中,上述的匹配特征点的比例可以采用以下方式来设置:假设图像1有n1个特征点,图像2有n2个特征点,两幅图像的匹配特征点数为n个。那么匹配特征点的比例可以为n/min(n1,n2)。

可选地,可以设定为如果该比例大于例如50%,则认为两幅图像是同一个房间。

这里,匹配特征点的比例的设置和比例的实际大小可根据实际情况来试验或凭借经验确定,本发明对此不作额外限制。

如上所述,在本发明中,对于上述的至少一幅全景图像,可以通过如下的单房间融合的方式来确定是否有多幅全景图像属于同一房间:如果两幅全景图像之间有多于特定比例的匹配特征点,则可以判定这两幅全景图像属于同一房间。

如果确定多幅全景图像属于同一房间,则对于由所述多幅全景图像得到的同一房间的各平面轮廓,取这些平面轮廓的并集,作为该房间的平面轮廓。

另外,在同一房间的轮廓融合之后,由于获取的轮廓边缘可能存在噪声,例如可能表现为边线不直以及边与边不垂直的现象。所以本发明还可以进一步对于每一房间的轮廓进行直角多边形拟合,得到更合理的房间平面轮廓。

通过上述的专门针对单对象进行的优化处理,例如单对象融合和/或直角多边形拟合等等,可以得到更准确的单对象平面轮廓,利于后续的2d和3d模型的生成,提高模型的分辨率和准确度。

请注意,该步骤并非三维对象的二维或三维建模必须的步骤,而是可以提高模型的准确度的优选处理方式。

在步骤s140,基于在步骤s110估计的相机位置以及在步骤s130得到的经过尺度归一化的各对象平面轮廓,拼接多个房间的轮廓。

在本步骤中,要实现经过尺度归一化的各对象平面轮廓的拼接,以将其拼接成多对象轮廓,可以采用自动的方式来实现多对象拼接,以下将给出一个本发明的发明人提出的自动化多对象拼接方案。

可选地,在本步骤中,可以利用估计的相机位置,对经过尺度归一化的每个对象轮廓的三维点坐标进行旋转和平移操作,以将各房间的三维点坐标统一到同一个坐标系中,从而实现多对象平面轮廓的拼接。

下面将以一个房间作为被关注类型的一个三维对象为例,详细描述其具体操作。

假设有n个房间的轮廓,第n个房间轮廓的第p个三维点表示为该房间的相机位置表示为{rn,tn},其中rn为用于表示相机位置的旋转参数的旋转矩阵,tn为用于表示相机位置的平移参数的平移向量。

此时,可以选定第一个房间的相机位置作为参考坐标系,这是因为目前得到的房间轮廓是在各自坐标系下的轮廓位置,需要统一到一个坐标系下,所以需要选定一个参考坐标系。准确的说,可以选定第一个房间的相机位置所在的坐标系作为参考坐标系。然后,可通过如下公式3将其他房间的轮廓三维点统一到该坐标系下:

将除第一个房间外的所有的经过尺度归一化的轮廓三维点(例如,天花板边缘、墙面边缘、地板边缘上三维点)通过公式3进行转换,即可将所有房间的三维点统一到同一坐标系(即,第一个房间的参考坐标系)下,由此便能够实现多房间平面轮廓的拼接。

这里,可以选任意一个房间的坐标系作为参考坐标系,本发明对此不作任何限制,因为本发明中需要的是相对位置关系,不是绝对位置关系。

当然,也可以采用手动的方式来实现多房间平面轮廓的拼接。

这里,在该步骤的多对象拼接之后得到的多对象轮廓,可以作为所述至少一个(包括多个)三维对象的2d模型(例如2d户型图)输出。

可选地,还可以在步骤s145,对多对象轮廓进行修正。

请注意,本步骤也并非三维对象的二维或三维建模必须的步骤,而是可以提高模型的准确度的优选处理方式。

本发明中,在对多对象轮廓进行拼接之后,还可以进一步对多对象轮廓进行修正,以得到更加准确的多对象轮廓。

以一个房间作为被关注类型的一个三维对象为例,由于受到单图像平面轮廓提取精度以及相机位置估计精度的影响,相邻多维对象(比如一套室内房屋)的轮廓在拼接后可能存在重叠区域或者出现缝隙的情况,因此,可以进一步地针对这两种情况进行轮廓的校正。

校正方法例如可以如下。首先,计算两两轮廓的相邻边(这些相邻边理论上应当是重合的,即,理论上应当作为多房间轮廓的一个重合边)之间的距离,若该距离小于某个阈值,则可以判定这两条边是相邻的关系,此时可以将该轮廓进行相应的偏移,使相邻边的距离变为0(变得重合,成为重合边),由此修正相邻边之间的重叠或者缝隙。

对于上述的该阈值,举一个例子来说,比如可以计算这些应当作为一个重合边的相邻边的平均长度l,并以该平均长度的某个比例作为阈值,比如可以使0.2*l作为该距离阈值。

请注意,上面仅仅是为了便于理解起见而给出的例示的阈值,实际上,本发明对于该阈值的不作额外的限制,其可以通过实验和经验来确定。

由此,经过上述单房间轮廓融合和多房间轮廓修正后的多房间轮廓可作为该套房屋的一个完整而准确的2d户型图(房屋的2d模型)。

可选地,还可以进一步在步骤s150,将生成的多对象平面轮廓转化为房屋3d模型。

首先对于在之前的步骤中得到的多对象平面轮廓(例如多房间平面轮廓)中的特定类别平面轮廓(例如房间的天花板平面轮廓),在内部进行三维点插值,然后将所有的三维点坐标投影到相应的全景图像中,以便获取天花板纹理(颜色值)。

这里,将对三维点插值的方法进行举例说明。比如,假设得到的多房间平面轮廓的天花板轮廓是个矩形,假设其长为h、宽为w,则可以将其长与宽分别划分为n个间隔,可得到总共n*n个插值点。然后,可选择该矩形的某个顶点(假设该顶点的三维点坐标为(x,y,z))作为原点,则可以得到这n*n个点的坐标依次为(x+h/n,y,z),(x+2*h/n,y,z)…(x,y+w/n,z)(x,y+2*w/n,z),…(x+h/n,y+w/n,z)…)。由此可见,在三维点插值之后,得到轮廓内部的密集三维点坐标。

请注意,上面是为了便于理解起见而给出了一个三维点插值的具体例子,实际上,本发明可用的三维点插值的方法可以有很多,并不限于该例子。

另外,例如,具体的投影方法可以如下。假定插值后的三维点坐标为(xi,yi,zi),其投影到全景图像上的经纬度为(θi,φi),则该投影公式可以用如下的公式4表示:

由该公式得到经纬度后,再根据公式1即可得到该三维点在全景图像平面的坐标,该点处的颜色值即可作为该三维点的纹理。

对于大多数场景来说,天花板的轮廓与地板的轮廓可假定为平行且相同。因此,利用上述获取的校正后的每个房间的天花板平面轮廓,再加上在上面得到的相机距离地板的估计高度hf’,同样通过公式2即可生成多房间地板平面轮廓的三维点。

这里,地板的平面轮廓的形状假定是跟天花板一样的,也就是水平面的三维坐标x和z是一样的,不同之处在于高度,即垂直方向的y值(比如天花板的平面轮廓是在相机的上方,地板是在相机的下方,所以高度不同)。因此,只需将在上述得到的天花板轮廓的三维点坐标中的y值(相机距离天花板的估计高度hc’)替换为相机距离地板的估计高度hf’即可。

与天花板平面轮廓的三维点插值类似地,对于地板平面轮廓,在内部进行三维点插值,然后利用公式4投影到相应全景图像中,以便获取地板纹理。

然后,连接天花板轮廓和地板轮廓之间相同平面位置上的三维顶点,可构成多个墙面的平面轮廓,同样地,对于这些平面轮廓内部进行三维点插值,然后利用公式4投影到相应全景图像中,以便获取墙面的纹理。

由此,可生成完整房屋的3d纹理模型。

通过本发明的上述房屋建模方法,能够有效提高所生成的模型的分辨率和准确性。

而且,需要指出,上面这些是为了便于理解和描述起见,以房屋建模为例对本发明的基于图像来进行建模的方法进行了说明,实际上,本发明不应仅限于房屋建模的应用场景,而是能够适用于各种基于图像来进行建模的场景,本发明实际上是提供了一种创新的综合性的图像处理方案。

图5给出了根据本发明的一个示例性实施例的图像处理设备的示意性框图。

如图5所示,根据本发明的一个示例性实施例的图像处理设备100可以包括相机位置估计装置110、单图像平面轮廓生成装置120、尺度归一化装置130。

其中,相机位置估计装置110可以被配置用于利用拍摄的至少一幅全景图像的几何关系,估计在拍摄这些全景图像中的每一个时的全景相机的位置、以及该全景图像上的匹配特征点的三维点坐标;

单图像平面轮廓生成装置120可以被配置用于被配置用于对于每个全景图像,通过深度学习模型,提取该全景图像的在三维空间中的平面轮廓。

尺度归一化装置130可以被配置用于将所估计的在拍摄每幅全景图像时的全景相机的位置的尺度和每幅全景图像的在三维空间中的平面轮廓的尺度进行归一化,得到经过归一化的各全景图像的平面轮廓。

可选地,通过下述方式来训练所述深度学习模型:通过人工标注作为训练图像的多个全景图像上的被关注类型的三维对象的轮廓特征,生成被关注类型的三维对象的轮廓特征训练数据集;利用被关注类型的三维对象的轮廓特征训练数据集来训练所述深度学习模型,由此得到经过训练的深度学习模型,其中,所述深度学习模型的输出包含被关注类型的三维对象的轮廓特征类别。

可选地,单图像平面轮廓生成装置120还可以被配置用于:将所述至少一幅全景图像输入到经过训练的该深度学习模型中,得到该全景图像中每个像素点对应的轮廓特征的类别;提取出每幅全景图像中,轮廓特征属于特定类别的像素点中的处于边缘的那些像素点作为特定类别边缘像素点;假定所述至少一幅全景图像上的所有特定类别边缘像素点具有同一高度hc,作为特定类别轮廓假定高度,并将每幅全景上的所述特定类别边缘像素点投影到三维平面上,得到与每幅全景图像对应的特定类别三维点,然后基于与每幅全景图像对应的所述特定类别三维点,形成各全景图像的在三维空间中的平面轮廓。

可选地,相机位置估计装置110还可以被配置用于:利用拍摄的至少一幅全景图像的几何关系,进行这些全景图像之间的特征点匹配,并记录这些全景图像中互相匹配的特征点作为匹配特征点;以及通过对于每幅全景图像,减小该全景图像上的匹配特征点的重投影误差,来得到拍摄每张全景图像时的相机位置、以及该全景图像上的匹配特征点的三维点坐标。

可选地,尺度归一化装置130还可以被配置用于:将由相机位置估计装置得到的所述至少一幅全景图像上的所有三维点坐标中的高度值从小到大排序,取排序靠前的高度值的中值或者均值作为特定类别轮廓估计高度hc’;以及利用特定类别轮廓假定高度hc与特定类别轮廓估计高度hc’的比值,从所述每幅全景图像的在三维空间中的平面轮廓生成经过归一化的各全景图像的在三维空间中的平面轮廓,其中,特定类别轮廓假定高度hc是任意假定的一个高度。

在本发明中,通过使用全景相机拍摄房间的全景图像,为三维对象的二维或三维建模(例如房屋建模等)提供高分辨率的采集图像。

进一步地,在本发明中,采用了高效的图像处理设备,为建模(例如房屋建模)提供了高分辨率的建模准备数据,而且,所提供的建模准备数据能够简化后续的模型生成过程。

图6给出了根据本发明的一个示例性实施例的三维对象建模设备的示意性框图。

如图6所示,该三维对象建模设备1000可以包括图5所示的图像处理设备100以及多对象拼接装置140。

其中,图像处理设备100可以被配置用于处理至少一幅全景图像,生成经过归一化的各全景图像的在三维空间中的平面轮廓。

多对象拼接装置140可以被配置用于基于经过归一化的各全景图像的平面轮廓,拼接得到多对象平面轮廓。

可选地,该三维对象建模设备1000还可以包括:单对象平面轮廓生成装置135,其可以被配置用于基于经过归一化的各全景图像的平面轮廓,得到各单个对象的平面轮廓。

可选地,单对象平面轮廓生成装置120还可以被配置用于:对于所述至少一幅全景图像,通过以下方式、逐个地确定其中是否有多幅全景图像属于同一个三维对象:如果两幅全景图像之间有多于特定比例的匹配特征点,则确定这两幅全景图像属于同一个三维对象;以及

如果确定多幅全景图像属于同一个三维对象,则对于由该多幅全景图像得到的同一个三维对象的各平面轮廓,取这些平面轮廓的并集,作为该三维对象的平面轮廓。

另外,可选地,多对象拼接装置140还可以被配置用于基于单对象平面轮廓生成装置135生成的各单个三维对象的在三维空间中的平面轮廓,来拼接得到多对象平面轮廓。

另外,可选地,三维对象建模设备1000还可以包括多对象轮廓优化装置145,其可以被配置用于对多对象拼接装置140得到的多对象平面轮廓进行轮廓修正。

可选地,该三维对象建模设备1000还可以包括3d模型生成装置150,其可以被配置用于将拼接得到的多对象平面轮廓转化为房屋3d模型。

这里,上述的房屋建模设备1000的各装置110、120、130、135、140、145、150等分别与在上面详细描述的步骤s110、120、130、135、140、145、150等相对应,在此不再赘述。

由此,通过本发明的上述房屋建模设备,能够有效提高所生成的模型的分辨率和准确性。

而且,需要指出,上面这些是为了便于理解和描述起见,以房屋建模为例对本发明的基于图像来进行建模的技术方案进行了说明,实际上,本发明不应仅限于房屋建模的应用场景,而是能够适用于各种基于图像来进行三维对象建模的场景,本发明实际上是提供了一种创新的综合性的图像处理方案。

图7给出了根据本发明的一个示例性实施例的图像处理装置的示意性框图。

参见图7,该图像处理装置1包括存储器10和处理器20。

处理器20可以是一个多核的处理器,也可以包含多个处理器。在一些实施例中,处理器20可以包含一个通用的主处理器以及一个或多个特殊的协处理器,例如图形处理器(gpu)、数字信号处理器(dsp)等等。在一些实施例中,处理器20可以使用定制的电路实现,例如特定用途集成电路(asic,applicationspecificintegratedcircuit)或者现场可编程逻辑门阵列(fpga,fieldprogrammablegatearrays)。

存储器10上存储有可执行代码,当所述可执行代码被所述处理器20执行时,使所述处理器20执行上面描述的方法之一。其中,存储器10可以包括各种类型的存储单元,例如系统内存、只读存储器(rom),和永久存储装置。其中,rom可以存储处理器20或者计算机的其他模块需要的静态数据或者指令。永久存储装置可以是可读写的存储装置。永久存储装置可以是即使计算机断电后也不会失去存储的指令和数据的非易失性存储设备。在一些实施方式中,永久性存储装置采用大容量存储装置(例如磁或光盘、闪存)作为永久存储装置。另外一些实施方式中,永久性存储装置可以是可移除的存储设备(例如软盘、光驱)。系统内存可以是可读写存储设备或者易失性可读写存储设备,例如动态随机访问内存。系统内存可以存储一些或者所有处理器在运行时需要的指令和数据。此外,存储器10可以包括任意计算机可读存储媒介的组合,包括各种类型的半导体存储芯片(dram,sram,sdram,闪存,可编程只读存储器),磁盘和/或光盘也可以采用。在一些实施方式中,存储器10可以包括可读和/或写的可移除的存储设备,例如激光唱片(cd)、只读数字多功能光盘(例如dvd-rom,双层dvd-rom)、只读蓝光光盘、超密度光盘、闪存卡(例如sd卡、minsd卡、micro-sd卡等等)、磁性软盘等等。计算机可读存储媒介不包含载波和通过无线或有线传输的瞬间电子信号。

此外,根据本发明的方法还可以实现为一种计算机程序或计算机程序产品,该计算机程序或计算机程序产品包括用于执行本发明的上述方法中限定的上述各步骤的计算机程序代码指令。

或者,本发明还可以实施为一种非暂时性机器可读存储介质(或计算机可读存储介质、或机器可读存储介质),其上存储有可执行代码(或计算机程序、或计算机指令代码),当所述可执行代码(或计算机程序、或计算机指令代码)被电子设备(或计算设备、服务器等)的处理器执行时,使所述处理器执行根据本发明的上述方法的各个步骤。

本领域技术人员还将明白的是,结合这里的公开所描述的各种示例性逻辑块、模块、电路和算法步骤可以被实现为电子硬件、计算机软件或两者的组合。

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

以上已经描述了本发明的各实施例,上述说明是示例性的,并非穷尽性的,并且也不限于所披露的各实施例。在不偏离所说明的各实施例的范围和精神的情况下,对于本技术领域的普通技术人员来说许多修改和变更都是显而易见的。本文中所用术语的选择,旨在最好地解释各实施例的原理、实际应用或对市场中的技术的改进,或者使本技术领域的其它普通技术人员能理解本文披露的各实施例。

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