具体实施方式
以下描述中,为了说明而不是为了限定,提出了诸如特定系统结构、技术之类的具体细节,以便透彻理解本申请实施例。然而,本领域的技术人员应当清楚,在没有这些具体细节的其它实施例中也可以实现本申请。在其它情况中,省略对众所周知的系统、装置、电路以及方法的详细说明,以免不必要的细节妨碍本申请的描述。
为了说明本申请所述的技术方案,下面通过具体实施例来进行说明。
应当理解,当在本说明书和所附权利要求书中使用时,术语“包括”指示所描述特征、整体、步骤、操作、元素和/或组件的存在,但并不排除一个或多个其它特征、整体、步骤、操作、元素、组件和/或其集合的存在或添加。
还应当理解,在此本申请说明书中所使用的术语仅仅是出于描述特定实施例的目的而并不意在限制本申请。如在本申请说明书和所附权利要求书中所使用的那样,除非上下文清楚地指明其它情况,否则单数形式的“一”、“一个”及“该”意在包括复数形式。
还应当进一步理解,在本申请说明书和所附权利要求书中使用的术语“和/或”是指相关联列出的项中的一个或多个的任何组合以及所有可能组合,并且包括这些组合。
如在本说明书和所附权利要求书中所使用的那样,术语“如果”可以依据上下文被解释为“当...时”或“一旦”或“响应于确定”或“响应于检测到”。类似地,短语“如果确定”或“如果检测到[所描述条件或事件]”可以依据上下文被解释为意指“一旦确定”或“响应于确定”或“一旦检测到[所描述条件或事件]”或“响应于检测到[所描述条件或事件]”。
具体实现中,本申请实施例中描述的电子设备包括但不限于诸如具有触摸敏感表面(例如,触摸屏显示器和/或触摸板)的移动电话、膝上型计算机或平板计算机之类的其它便携式设备。还应当理解的是,在某些实施例中,上述设备并非便携式通信设备,而是具有触摸敏感表面(例如,触摸屏显示器)的计算机。
在接下来的讨论中,描述了包括显示器和触摸敏感表面的电子设备。然而,应当理解的是,电子设备可以包括诸如物理键盘、鼠标和/或控制杆的一个或多个其它物理用户接口设备。
可以在电子设备上执行的各种应用程序可以使用诸如触摸敏感表面的至少一个公共物理用户接口设备。可以在应用程序之间和/或相应应用程序内调整和/或改变触摸敏感表面的一个或多个功能以及终端上显示的相应信息。这样,终端的公共物理架构(例如,触摸敏感表面)可以支持具有对用户而言直观且透明的用户界面的各种应用程序。
另外,在本发明的描述中,术语“第一”、“第二”等仅用于区分描述,而不能理解为指示或暗示相对重要性。术语“对象”可以表示重建的目标,其可以采用各种目标类型,例如人体、动物、器官或一般物体等。
图1示出了根据本申请实施例的基于点云数据重建对象的方法的一示例的流程图。关于本申请实施例方法的执行主体,其可以是各种具有处理能力或计算能力的三维重建设备或处理器,其可以采用各种非限制性的设备类型,例如台式机、笔记本电脑等。
如图1所示,在步骤110中,获取针对待重建的对象的第一点云和第二点云。这里,第一点云所对应的第一深度相机与第二点云所对应的第二深度相机相对放置且具有相反的视场方向。但应理解的是,第一深度相机和第二深度相机的放置位置可以不必严格对齐,并允许存在一些空间对位偏差距离,也依然能够得到较精确的重建对象,并且不需要对第一深度相机和第二深度相机进行外参标定。
在一些实施方式中,第一深度相机可以采集待重建的对象的至少一帧正侧深度图像,第二深度相机可以采集待重建的对象的至少一帧反侧深度图像,三维重建设备可以将正反侧深度图像转换为待重建的对象正侧点云(即,第一点云)和待重建的对象反侧点云(即,第二点云)。
在步骤120中,确定对象的参考几何特征在第一点云中的第一参考特征点云结构,并确定对象的参考几何特征在第二点云中的第二参考特征点云结构。这里,对象的参考几何特征在世界客观空间是恒定的,并可以采用各种参考几何类型(例如,点、线、面或体),并且其所对应的特征类型也可以是多样化的,例如对象的质心、主干轴等等。
这里,可以采用预先设置的针对参考几何特征的提取模型来确定点云中的参考特征点云结构,例如当参考几何特征是对象的质心时,可以通过提取模型确定点云中对应质心的点云结构。
在步骤130中,对第一点云和/或第二点云进行变换操作,并对经变换操作的第一点云和第二点云进行点云拼接。这里,经变换操作的第一点云和第二点云具有在世界坐标系下重合的参考特征点云结构和相同的视场采集方向。
示例性地,可以依据对象参考特征点云结构将正反侧点云进行拟合,以使得拟合后的正反侧点云具有恰好重合的参考特征点云结构。
另外,由于第一深度相机和第二深度相机所对应的视场方向相反,故第一点云和第二点云所对应的视场采集方向也是相反的,而得到相应的针对对象的正侧点云和反侧点云。此时,为了得到在相同视场采集方向或角度的对象点云,可以将正侧点云或反侧点云进行翻转或旋转,并与相应的反侧点云或正侧点云拼接,以实现补充在原有正侧点云或反侧点云的另一侧的点云信息。
在步骤140中,提取经点云拼接的第一点云的第一三维边缘点和第二点云的第二三维边缘点,并配准第一三维边缘点和第二三维边缘点,以重建对象模型。
需说明的是,通过正侧点云可以体现对象的一侧的信息,通过反侧点云可以对象的另一侧的信息,通过上述点云拼接便可以得到对象的整体轮廓,此时可以通过只要对第一点云和第二点云的三维边缘点进行配准便可以重建出对象模型,而无需找到第一点云和第二点云中的所有相应点,提高了配准效率,能够实现实时的对象重建效果。由此,在正反侧点云参考坐标系间的关系未知的情况下,通过提取并配准正反侧点云边缘,实现了正反侧点云的精确配准,具有较强的实时性,且提高了点云配准精度并优化了最终的三维重建效果。
图2示出了根据本申请实施例的基于点云数据重建对象的方法的一示例的流程图。基于点云数据重建对象的方法200可以包括点云构建阶段210、参考几何特征提取阶段220、点云拼接阶段230和点云配准阶段240。通过上述各个阶段的操作,三维重建设备可以从深度图像中重建出相应的对象模型。在下文的本申请实施例的描述中,将仅以人体对象为例来描述对象重建过程的相关细节。
在点云构建阶段210中,获取人体正侧深度图像和人体反侧深度图像,并转换为相应的正侧点云和反侧点云。
在一个实施例中,可以利用至少两个深度相机(例如,相对放置的相机)拍摄人体正侧和反侧,以分别获取正侧深度图像和反侧深度图像进一步地,并将正侧深度图像和反侧深度图像分别转换为正侧点云和反侧点云。
更具体地,可以通过以下方式将深度图像转换为相应的点云:
其中,(xs,ys,zs)为深度相机坐标系下的点云三维坐标,z为每个像素上的深度,(u,v)为像素坐标,(u0,v0)为图像主点坐标,dx和dy为深度相机的传感器像元在两个方向上的物理尺寸,f’为焦距(单位为毫米)。
在参考几何特征提取阶段220中,对正侧点云和反侧点云进行特征分解,获取正侧点云和反侧点云质心,以得到正反侧点云中的参考特征点云结构。
在一个实施例中,可以按照预设的协方差矩阵计算模型,确定正侧点云所对应的M个第一正交基以及反侧点云所对应的M个第二正交基,其中M为大于1的自然数。
更具体地,可以分别计算人体正侧点云和反侧点云的协方差矩阵Cov(X,Y,Z),并对其进行特征分解为:
其中,e1、e2、e3是协方差矩阵的3个正交基,λ1、λ2、λ3是协方差矩阵在各个正交基方向上的分量大小,
其余同理,
和
分别表示待计算的点云坐标平均值,
则表示深度图像的深度平均值,n表示点云个数。
进一步地,通过代入正反侧点云对应的数值,可以得到正侧点云和反侧点云各自的正交基,并基于各个第一正交基及第二正交基分别确定正侧点云中的第一参考特征点云结构以及反侧点云中的第二参考特征点云结构。
在一个实施例中,可以利用协方差矩阵分解出的三个正交基e1、e2、e3获取正侧点云和反侧点云的质心,确定正侧点云中的第一参考特征点云结构以及反侧点云中的第二参考特征点云结构。优选地,可以利用三个正交基e1、e2、e3组成正侧点云和反侧点云三个主方向的坐标系,并且该坐标系的原点即为正侧点云和反侧点云的质心特征,如图3所示,假设e1为平行于身体主干且方向垂直向上的正交基,e2为垂直于身体主干且方向垂直向里的正交基,e3为垂直于身体主干且方向垂直身体正侧向外的正交基,原点为正交基的交点,即正侧点云和反侧点云的质心。
在点云拼接阶段230中,将人体正反侧点云进行变换操作,并将变换之后的人体正反侧点云进行拼接,从而得到人体轮廓。
需要说明的是,由于正侧点云和反侧点云均是基于同一人体的正侧深度图像和反侧深度图像获取的,基于同一人体的重心和身体主轴应当一致,因此,正侧点云和反侧点云的质心和身体主轴需要保持重合,进而可通过变换任一点云,对变换后的点云进行拼接,以获取人体轮廓。
在一个实施例中,根据第一参考特征点云结构构建第一世界坐标系,并根据第二参考特征点云结构构建第二世界坐标系,得到在世界坐标系下的正侧点云和反侧点云,通过点云变换操作而得到质心重合且具有相同的视场采集方向的人体正侧点云和反侧点云,进而通过点云拼接而得到人体轮廓。
优选地,可以利用正侧和反侧点云质心将正侧和反侧点云的相机坐标变换为世界坐标,并对世界坐标系下的正侧点云或反侧点云进行变换操作,从而得到身体质心重合且具有相同的视场采集方向的人体正侧和反侧点云。
图4示出了根据本申请实施例的基于点云数据重建对象的方法中的对点云进行变换操作的一示例的流程图,方法包括:
在步骤410中,获取第一深度相机的相机坐标系与第一世界坐标系的第一坐标变换关系,并获取第二深度相机的相机坐标系与第二世界坐标系的第二坐标变换关系。
优选地,相机坐标系与世界坐标系的变换关系Xc可表示为:Xc=RX+T;其中,R为偏移矩阵,T为平移矩阵,其均与深度相机无关,因此被称为相机外参,亦可以理解两个坐标系原点之间的距离。
在步骤420中,根据第一坐标变换关系确定对应第一世界坐标系的第一点云,并根据第二坐标变换关系确定对应第二世界坐标系的第二点云。
在一个实施例中,通过深度相机内参将图像坐标系下的深度图像转换为相机坐标系下,并基于深度图像与点云的映射关系及坐标系的变换关系,将相机坐标系下的第一点云和第二点云变换为世界坐标系。另外,可以获取深度图像与点云的映射关系,根据该映射关系和相机坐标系下的深度图像,可获取相机坐标系下的第一点云和第二点云,进一步地,利用相机坐标系与世界坐标系的变换关系,可将相机坐标系下的第一点云和第二点云变换为世界坐标系下的第一点云和第二点云。
在步骤430中,将对应世界坐标系的第一点云和/或第二点云进行变换操作,使得第一点云和第二点云具有在世界坐标系下重合的参考特征点云结构和相同的视场采集方向。
在一个实施例中,可通过获取待重建对象质心特征重合的第一点云或所述第二点云,基于重合的对象质心特征,对第一点云或第二点云进行旋转,使得第一点云与第二点云具有相同的视场采集方向(或视场采集角度),进而可利用旋转后的第一点云或第二点云各自的对象质心特征进行点云拼接。
图5示出了人体反侧点云的参考特征点云结构的一示例的示意图。相应地,可以将图5所示的人体反侧点云围绕对象主干轴e1旋转180°,以得到旋转后的反侧点云。图6示出了旋转后的人体反侧点云的参考特征点云结构的一示例的示意图。此时,旋转后的反侧点云和正侧点云将具有相同的视场采集方向。应理解的是,在一些实施方式中,还可以将反侧点云作为参考点云,而旋转正侧点云以获取旋转后的正侧点云,此处不作限制,且都属于本申请实施例的实施范围内。
进一步地,绕平行于身体主干轴e1轴旋转后获取的反侧点云,其原点(即质心)不变,又正侧点云和反侧点云的质心和身体主干轴是重合的。因此,利用正侧点云和旋转后的反侧点云其质心相同,拟合其质心c,获取拼接的正反侧点云,如图7所示。
在一个实施例中,假设正侧点云的相机坐标为A,反侧点云的相机坐标为B,世界坐标系下的正侧点云为CA,绕平行于身体主干轴e1轴旋转后获取世界坐标系下的反侧点云CB,则
CA=MAA(3)
其中,
T=-Q
-Tc,Q=(e1 e2 e3)
T。需要说明的是,R
1为将世界坐标系下的反侧点云绕平行于身体主干轴e1轴旋转的变换矩阵,以便于将正侧点云与反侧点云进行拼接。
在点云配准阶段240中,配准正侧点云和反侧点云的三维边缘点,以得到相应的人体重建模型。
具体地,可以提取正侧点云和反侧点云的三维边缘点,并将正侧点云和反侧点云的三维边缘点进行配准。
图8示出了根据本申请实施例的提取正侧点云和反侧点云的边缘三维点的一示例的流程图。
如图8所示,在步骤810中,将经点云拼接的正侧点云和反侧点云分别按照预设的第一投影方向投射至二维平面,以分别得到相应的正侧点云二维图像和反侧点云二维图像。
具体地,可以将拟合后的正侧点云和反侧点云依次投影至二维平面,获取正侧点云的边缘点及反侧点云的边缘点。示例性地,假设某一点云的坐标为(x,y,z),则其点云投影至二维平面即为在z轴方向(优选为,e3轴方向)上进行归一化,也即其二维平面的坐标可表示为(x/z,y/z,1),分别遍历正侧点云和反侧点云的所有点云,从而得到每个点云的二维坐标,形成正侧点云二维图像及反侧点云二维图像。
需要说明的是,将正反侧点云投影至二维平面还可为弱透视投影等其他方法,此处不作限制。
在步骤820中,从正侧点云二维图像中提取第一二维边缘点,并从反侧点云二维图像中提取第二二维边缘点。由此,可以在二维图像中提取出相应的正侧点云的二维边缘点和反侧点云的二维边缘点。
在步骤830中,基于第一投影方向和第一二维边缘点确定相应的第一三维边缘点,并基于第一投影方向和第二二维边缘点确定相应的第二三维边缘点。
具体地,可以根据二维图像与正反侧点云的映射关系,获取正反侧点云的三维边缘点。由于正反侧点云二维图像为正反侧点云分别沿e3轴方向投影获取,所以可利用正反侧点云二维图像与正反侧点云的映射关系,基于正侧点云二维边缘点和反侧点云二维边缘点分别获取正侧点云三维边缘点及反侧点云三维边缘点。图9A示出了所提取的人体三维边缘点的示例性的示意图,其示出了正侧点云和反侧点云的人体三维边缘点。
作为本申请实施例的优选实施方式,为了提高点云配准精度,在执行步骤830之前,该方法还包括,基于预设的边缘毛刺消除模型,去除第一二维边缘点和第二二维边缘点中的毛刺信息。由此,对二维边缘点去除边缘毛刺,进而利用去除毛刺后的二维边缘点获取更加精确的点云三维边缘点。
需要说明的是,边缘毛刺消除模型可以采用各种边缘毛刺消除算法,例如中值滤波法、Supr滤波法或膨胀腐蚀法(例如,开、闭运算)等,此处应不作限制。
在一些实施方式中,可利用迭代最近点(iterative closest point,ICP)算法配准正反侧点云的边缘点。
更具体地,ICP算法的核心为最小化目标函数,以正侧点云的三维边缘点为参考点,相应的目标函数为:
其中,R为旋转矩阵,T为平移矩阵,pt i和ps i为正侧点云和反侧点云中的第i对对应三维边缘点,Np表征正侧点云和反侧点云之间共有Np对对应点。优选地,对应点为正侧点云和反侧点云的三维边缘点中的最邻近点,即计算正侧点云和反侧点云中最邻近点的欧式距离,若欧式距离在预设距离阈值以内,则两个边缘点为对应点。需要说明的是,通常根据对最终结果的精度要求对预设距离阈值进行设置,本申请对此不予限制。
需要说明的是,可根据目标函数对矩阵[R,T]进行计算,R和T只有6个自由度,对应点的数量是庞大的,因此可利用最小二乘等方法求解矩阵的最优解,以提高点云配准精度,此处不作限制。
进一步地,根据正侧点云和反侧点云的对应点配准正侧点云和反侧点云的三维边缘点,获取边缘点拟合拟合的正反侧点云(如图9B所示),进而获取配准后的正反侧点云,即初始人体重建模型(如图9C所示)。
在一些情况下,如果人体正侧点云和人体反侧点云存在重叠区域(图10A所示),则需要对重合点云进行消融,以得到更精细化的点云(如图10B)。
图11示出了根据本申请实施例的配准第一三维边缘点和第二三维边缘点以重建对象模型的一示例的流程图。
如图11所示,在步骤1110中,将第一三维边缘点和第二三维边缘点进行配准,得到对应边缘配准后的第一点云和第二点云,以重建初始对象模型。关于步骤1110的实施细节,可以参考上文中结合图8中的步骤810至830的细节,在此便不赘述。
在步骤1120中,根据预设的模型模块分割条件,将初始对象模型分割为多个模型模块。
以构建人体模型为例,可以将初始人体模型分割为多个柱形区域,例如,左、右手为两个柱形区域,身体为一个柱形区域,左、右脚为两个柱形区域、头部为一个柱形区域等。
在步骤1130中,将各个模型模块按照预设的第二投影方向投影至平面,以得到相应的各个二维图像。
参照如图12的示例,可以将人体的身体的各个柱形区域中的点云分割为左、右两部分,以身体主干为主轴,分别将左、右部分的点云向主轴左侧或右侧投影为二维图像。
在步骤1140中,检测各个所述二维图像中是否存在重叠像素,并去除存在重叠像素的二维图像中的重叠像素,以更新各个二维图像。
在步骤1150中,确定与更新后的各个二维图像的像素相应的目标点云,并基于目标点云重建对象模型。
具体地,在判断左、右部分的点云中是否存在重叠点云时,若存在重叠点云,则经过左或右侧投影后的二维图像会出现重叠像素,去除重叠像素并将剩下的像素映射回点云中,即可对点云进行消融。进一步地,可以遍历所有柱形区域分割为左、右部分的点云,以消除所有重叠点云,从而得到最终的人体重建模型(如图13所示),优化了三维重建效果。
作为本申请实施例的优选实施方式,正反侧点云分别以柱形为单位分割成左右两块,以手臂为例,手将被分割成4片点云:手臂外侧正面点云、手臂内侧正面点云、手臂外侧反面点云、手臂内侧反面点云。一般,点云的重叠发生在手臂外侧正反面点云之间、手臂内侧正反面点云之间。所以,每个柱形区域的投影都可以分两次进行。具体地,在第一次投影中,将手臂外侧正反面点云向侧面投影,消除外侧重叠点,在第二次投影中,将手臂内侧正反面点云向侧面投影,消除内侧重叠点。
在一个实施例中,每次侧面投影两片点云(记为A、B)以消除重叠点云包括:先将点云A向侧面投影,得到二维图像离散投影点,然后在二维图像上用洪水填充法确定出封闭的投影区域,再对投影区域内的空洞像素点(非投影点)根据其近邻的点云坐标进行点云坐标插值。这里,空洞是对二维图像而言的,而插值是在三维进行。进而,可以将点云B投影到同一幅图像上,并可以按照如下规则进行筛选输出:1)空洞点插值得到的点不进行输出;2)非重叠投影点,直接输出;3)投影点重叠,如果投影的是柱形区域外侧点云,则取更靠近身体质心的点(只看在投影方向上),如果投影的点是柱形区域内侧点云,则取更远离身体质心的点(只看在投影方向上),以最终输出重叠消融后的点云。需说明的是,上述远离身体质心和靠近身体质心的筛选依据是:当两片点云发生重叠时,会形成一个夹层,而在此取夹层的内层,可以降低点云表面产生突变的概率。
图14示出了根据本申请实施例的基于点云数据重建对象的装置的一示例的结构框图。
如图14所示,基于点云数据重建对象的装置1400包括深度相机1410、点云转换单元1420、参考特征确定单元1430、点云变换单元1440和点云配准单元1450,其中:
深度相机1410,至少包括相对放置的第一深度相机和第二深度相机,用于获取待重建对象的至少第一深度图像和第二深度图像;
点云转换单元1420,将所述第一深度图像和第二深度图像转换为第一点云和第二点云;
参考特征确定单元1430,被配置为确定对象的参考几何特征在所述第一点云中的第一参考特征点云结构,并确定所述对象的参考几何特征在所述第二点云中的第二参考特征点云结构。
点云变换单元1440,被配置为对所述第一点云和/或所述第二点云进行变换操作,并对经变换操作的第一点云和第二点云进行点云拼接;其中,所述经变换操作的第一点云和第二点云具有在世界坐标系下重合的参考特征点云结构和相同的视场采集方向。
点云配准单元1450,被配置为提取经点云拼接的第一点云的第一三维边缘点和第二点云的第二三维边缘点,并配准所述第一三维边缘点和所述第二三维边缘点,以重建对象模型。
在一个实施例中,深度相机还包括投影单元、采集单元及深度计算单元,其中:
投影单元,用于向待重建对象投影红外光束;
采集单元,用于接收经待重建对象反射回的红外光束;
深度计算单元,用于根据反射回的红外光束计算生成深度图像。
更具体地,可以通过投影单元、采集单元、深度计算单元及点云转换单元的协调操作,确定待重建的对象第一点云和第二点云。通过投影单元,可以向待重建的对象投影红外光束。通过采集单元,可以分别采集经目标待重建的对象反射回的红外光束。通过深度计算模块,可以形成第一深度图像和第二深度图像。通过点云转换单元,可以将第一深度图像和第一深度图像分别转换为第一点云和第二点云。
示例性地,可以通过以下方式来获取人体正反侧深度图像,即上述的第一深度图像及第二深度图像:
其一,投影单元向目标人体正侧和反侧投影投射结构光光束,采集单元接收经人体正侧和反侧反射回的光束并形成电信号,并通过电信号传输至深度计算模块。深度计算单元对该电信号进行处理,计算出反映该光束的强度信息以形成结构光图案。然后,基于结构光图案进行匹配计算或三角法计算,得到多个像素点的深度值以获取目标人体正侧深度图像和反侧深度图像。
其二,投影单元向人体正侧和反侧投射红外光束,采集单元接收经人体正侧和反侧反射回的光束并形成电信号,并通过电信号传输至深度计算单元。应当理解的是,红外光束可包括脉冲型和连续波型,此处不作限制。深度计算单元对该电信号进行处理以计算出相位差,并基于该相位差间接计算光束由投影单元发射到采集单元接收所用的飞行时间。然后,基于该飞行时间计算出多个像素点的深度值以获取目标人体正侧深度图像和反侧深度图像。
其三,投影单元向人体正侧和反侧投射红外脉冲光束,采集单元接收经人体正侧和反侧反射回的光束并形成电信号,并通过电信号传输至深度计算单元。深度计算单元对电信号进行计数以获取波形直方图,并根据直方图直接计算由投影单元发射到采集单元接收所用的飞行时间。然后,基于该飞行时间计算出多个像素点的深度值以获取目标人体正侧深度图像和反侧深度图像。
应理解的是,上述获取正反侧深度图像或点云数据的操作仅用作示例,并且还可以采用其他可行的方式来得到获取待重建的对象正反侧点云,且都属于本申请实施例的实施范围内。
需要说明的是,上述装置/单元之间的信息交互、执行过程等内容,由于与本申请方法实施例基于同一构思,其具体功能及所带来的技术效果,具体可参见方法实施例部分,此处不再赘述。
图15是本申请实施例的电子设备的一示例的示意图。如图15所示,该实施例的电子设备1500包括:处理器1510、存储器1520以及存储在所述存储器1520中并可在所述处理器1510上运行的计算机程序1530。所述处理器1510执行所述计算机程序1530时实现上述基于点云数据重建对象的方法实施例中的步骤,例如图1所示的步骤110至140。或者,所述处理器1510执行所述计算机程序1530时实现上述各装置实施例中各模块/单元的功能,例如图14所示单元1420至1450的功能。
示例性的,所述计算机程序1530可以被分割成一个或多个模块/单元,所述一个或者多个模块/单元被存储在所述存储器1520中,并由所述处理器1510执行,以完成本申请。所述一个或多个模块/单元可以是能够完成特定功能的一系列计算机程序指令段,该指令段用于描述所述计算机程序1530在所述电子设备1500中的执行过程。
在本申请实施例的一个示例中,所述计算机程序1530可以被分割成点云转换程序模块、参考特征确定程序模块、点云变换程序模块和点云配准程序模块,各程序模块具体功能如下:
点云转换程序模块,被配置为将所述第一深度图像和所述第二深度图像转换为第一点云和第二点云;其中,所述第一点云所对应的第一深度相机与所述第二点云所对应的第二深度相机相对放置且具有相反的视场方向;
参考特征确定程序模块,被配置为确定对象的参考几何特征在所述第一点云中的第一参考特征点云结构,并确定所述对象的参考几何特征在所述第二点云中的第二参考特征点云结构;
点云变换程序模块,被配置为对所述第一点云和/或所述第二点云进行变换操作,并对经变换操作的第一点云和第二点云进行点云拼接;其中,所述经变换操作的第一点云和第二点云具有在世界坐标系下重合的参考特征点云结构和相同的视场采集方向;
点云配准程序模块,被配置为提取经点云拼接的第一点云的第一三维边缘点和第二点云的第二三维边缘点,并配准所述第一三维边缘点和所述第二三维边缘点,以重建对象模型。
所述电子设备1500可以是桌上型计算机、笔记本、掌上电脑及云端服务器等计算设备。所述电子设备可包括,但不仅限于,处理器1510、存储器1520。本领域技术人员可以理解,图15仅是电子设备1500的示例,并不构成对电子设备1500的限定,可以包括比图示更多或少的部件,或组合某些部件,或不同的部件,例如所述电子设备还可以包括输入输出设备、网络接入设备、总线等。
所称处理器1510可以是中央处理单元(Central Processing Unit,CPU),还可以是其他通用处理器、数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现场可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
所述存储器1520可以是所述电子设备1500的内部存储单元,例如电子设备1500的硬盘或内存。所述存储器1520也可以是所述电子设备1500的外部存储设备,例如所述电子设备1500上配备的插接式硬盘,智能存储卡(Smart Media Card,SMC),安全数字(SecureDigital,SD)卡,闪存卡(Flash Card)等。进一步地,所述存储器1520还可以既包括所述电子设备1500的内部存储单元也包括外部存储设备。所述存储器1520用于存储所述计算机程序以及所述电子设备所需的其他程序和数据。所述存储器1520还可以用于暂时地存储已经输出或者将要输出的数据。
所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,仅以上述各功能单元、模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能单元、模块完成,即将所述装置的内部结构划分成不同的功能单元或模块,以完成以上描述的全部或者部分功能。实施例中的各功能单元、模块可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中,上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。另外,各功能单元、模块的具体名称也只是为了便于相互区分,并不用于限制本申请的保护范围。上述系统中单元、模块的具体工作过程,可以参考前述方法实施例中的对应过程。
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述或记载的部分,可以参见其它实施例的相关描述。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
在本申请所提供的实施例中,应该理解到,所揭露的装置/电子设备和方法,可以通过其它的方式实现。例如,以上所描述的装置/电子设备实施例仅仅是示意性的,例如,所述模块或单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通讯连接可以是通过一些接口,装置或单元的间接耦合或通讯连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述单元既可以采用硬件的形式实现,也可以采用软件的形式实现。
所述集成的模块/单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请实现上述实施例方法中的全部或部分流程,也可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一计算机可读存储介质中,该计算机程序在被处理器执行时,可实现上述各个方法实施例的步骤。其中,所述计算机程序包括计算机程序代码,所述计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。所述计算机可读介质可以包括:能够携带所述计算机程序代码的任何实体或装置、记录介质、U盘、移动硬盘、磁碟、光盘、计算机存储器、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、电载波信号、电信信号以及软件分发介质等。需要说明的是,所述计算机可读介质包含的内容可以根据司法管辖区内立法和专利实践的要求进行适当的增减,例如在某些司法管辖区,根据立法和专利实践,计算机可读介质不包括电载波信号和电信信号。
以上所述实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的精神和范围,均应包含在本申请的保护范围之内。