物体定位方法、装置、计算机设备及存储介质与流程

文档序号:21412459发布日期:2020-07-07 14:49阅读:213来源:国知局
物体定位方法、装置、计算机设备及存储介质与流程

本发明涉及计算机处理领域,尤其是涉及一种物体定位方法、装置、计算机设备及存储介质。



背景技术:

空间中任意物体定位属于ar(augmentedreality增强现实)的范畴,物体定位即确定目标物体的空间坐标系和相机坐标系之间的位置关系。目前单目视觉目标定位的方法按照有无标记点方法分为有标志点方法和无标志点方法。对于有标志点的定位是通过定位标志点的位置来确定目标物体的位置,在实际应用中具有局限性,而无标志的定位是基于目标物体自身特征进行定位的,容易受外部环境因素的影响,稳定性低,精度也不高。

因此,针对上述问题,亟需一种适用范围广,稳定性和准确度高的物体定位方案。



技术实现要素:

基于此,有必要针对上述问题,提供了一种适用范围广且稳定性和准确度高的物体定位方法、装置、计算机设备及存储介质。

第一方面,本发明实施例提供一种物体定位方法,所述方法包括:

获取通过对待定位的目标物体进行拍摄得到的目标图像;

对所述目标图像中的目标物体进行特征提取,得到每个特征点对应的二维特征;

在词袋中分别查找与每个所述二维特征匹配的目标特征,根据所述目标特征确定相应的特征点对应的三维点坐标,所述词袋是基于标志点进行学习建立的,存储了目标物体中的特征点的二维特征和三维点坐标之间的对应关系;

获取每个特征点在当前相机坐标系中的二维点坐标,根据所述二维点坐标和所述三维点坐标确定所述目标物体相对于当前相机坐标系的位置关系。

第二方面,本发明实施例提供一种物体定位装置,所述装置包括:

第一获取模块,用于获取通过对待定位的目标物体进行拍摄得到的目标图像;

第一提取模块,用于对所述目标图像中的目标物体进行特征提取,得到每个特征点对应的二维特征;

查找模块,用于在词袋中分别查找与每个所述二维特征匹配的目标特征,根据所述目标特征确定相应的特征点对应的三维点坐标,所述词袋是基于标志点进行学习建立的,存储了目标物体中的特征点的二维特征和三维点坐标之间的对应关系;

确定模块,用于获取每个特征点在当前相机坐标系中的二维点坐标,根据所述二维点坐标和所述三维点坐标确定所述目标物体相对于当前相机坐标系的位置关系。

第三方面,本发明实施例提供一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,所述计算机程序被所述处理器执行时,使得所述处理器执行如下步骤:

获取通过对待定位的目标物体进行拍摄得到的目标图像;

对所述目标图像中的目标物体进行特征提取,得到每个特征点对应的二维特征;

在词袋中分别查找与每个所述二维特征匹配的目标特征,根据所述目标特征确定相应的特征点对应的三维点坐标,所述词袋是基于标志点进行学习建立的,存储了目标物体中的特征点的二维特征和三维点坐标之间的对应关系;

获取每个特征点在当前相机坐标系中的二维点坐标,根据所述二维点坐标和所述三维点坐标确定所述目标物体相对于当前相机坐标系的位置关系。

第四方面,本发明实施例提供一种计算机可读存储介质,存储有计算机程序,所述计算机程序被处理器执行时,使得所述处理器执行如下步骤:

获取通过对待定位的目标物体进行拍摄得到的目标图像;

对所述目标图像中的目标物体进行特征提取,得到每个特征点对应的二维特征;

在词袋中分别查找与每个所述二维特征匹配的目标特征,根据所述目标特征确定相应的特征点对应的三维点坐标,所述词袋是基于标志点进行学习建立的,存储了目标物体中的特征点的二维特征和三维点坐标之间的对应关系;

获取每个特征点在当前相机坐标系中的二维点坐标,根据所述二维点坐标和所述三维点坐标确定所述目标物体相对于当前相机坐标系的位置关系。

上述物体定位方法、装置、计算机设备及存储介质,首先基于标志点对目标物体进行学习,将学习到的目标物体中的特征点的二维特征和三维点坐标之间的对应关系存储到词袋。在对目标物体进行定位时,提取目标物体的特征点的二维特征,在词袋中查找与该二维特征对应的三维点坐标,然后根据二维点坐标和三维点坐标就可以确定目标物体相对于当前相机坐标系的位置关系。该物体定位的方法,基于标志点建立词袋,而在实际定位过程中,只需要基于提取到的特征点的二维特征就可以快速、准确地定位出该目标物体。该物体定位方法不仅操作简单,而且稳定性和准确度高。

附图说明

为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图示出的结构获得其他的附图。

图1为一个实施例中物体定位方法的应用环境图;

图2为一个实施例中物体定位方法的流程图;

图3为一个实施例中建立词袋的方法流程图;

图4为一个实施例中标志点的示意图;

图5为一个实施例中设置区域的示意图;

图6为一个实施例中对特征点进行三维重建的方法流程图;

图7为一个实施例中对目标物体进行定位的流程示意图;

图8为一个实施例中物体定位装置的结构框图;

图9为另一个实施例中物体定位装置的结构框图;

图10为一个实施例中计算机设备的内部结构图。

具体实施方式

为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。

图1为一个实施例中物体定位方法的应用环境图。参照图1,该物体定位方法应用于物体定位系统。该物体定位系统包括终端110和服务器120,终端110通过调用摄像头对待定位的目标物体拍摄得到目标图像,将目标图像上传到服务器120,服务器120对目标图像中的目标物体进行特征提取,得到每个特征点对应的二维特征,在词袋中分别查找与每个二维特征匹配的目标特征,根据目标特征确定相应的特征点对应三维点坐标,词袋是基于标志点进行学习建立的,存储了目标物体中的特征点的二维特征和三维点坐标之间的对应关系;获取每个特征点在当前相机坐标系中的二维点坐标,根据二维点坐标和三维点坐标确定目标物体相对于当前相机坐标系的位置关系,将确定的位置关系发送到终端110。

在另一个实施例中,上述物体定位方法可以直接应用于终端110,终端110调用摄像头对待定位的目标物体进行拍摄得到目标图像,对目标图像中的目标物体进行特征提取,得到每个特征点对应的二维特征,在词袋中分别查找与每个二维特征匹配的目标特征,根据目标特征确定相应的特征点对应三维点坐标,词袋是基于标志点进行学习建立的,存储了目标物体中的特征点的二维特征和三维点坐标之间的对应关系;获取每个特征点在当前相机坐标系中的二维点坐标,根据二维点坐标和三维点坐标确定目标物体相对于当前相机坐标系的位置关系。

如图2所示,提出了一种物体定位方法,该物体定位方法既可以应用于终端,也可以应用于服务器,本实施例中以应用于终端为例,具体包括以下步骤:

步骤202,获取通过对待定位的目标物体进行拍摄得到的目标图像。

其中,目标物体是指待定位的物体。目标图像是指对目标物体进行拍摄得到的包含有目标物体的图像。具体地,终端通过调用摄像头(相机)对目标物体进行拍摄,得到目标图像。

步骤204,对目标图像中的目标物体进行特征提取,得到每个特征点对应的二维特征。

其中,特征点是指目标图像中目标物体上的点,可以根据实际需求自定义选取特征点的方法。在一个实施例中,可以只选用图像中比较显著的点作为特征点,比如选取目标物体的轮廓点,当然也可以将组成目标物体的所有像素点作为特征点。拍摄目标物体得到的目标图像为二维的,所以对目标物体的特征点进行特征提取得到的是二维特征。二维特征是目标物体上的特征点对应的特征,不同的特征点对应的二维特征不同,所以可以将二维特征作为特征点的识别标志。

在一个实施例中,提取的二维特征为orb(orientedfastandrotatedbrief)特征,可以采用fast(featuresfromacceleratedsegmenttest)算法来检测特征点。在另一个实施例中,提取的特征可以为hog特征,当然也可以为dog特征。

步骤206,在词袋中分别查找与每个二维特征匹配的目标特征,根据目标特征确定相应的特征点对应的三维点坐标,词袋是基于标志点进行学习建立的,存储了目标物体中的特征点的二维特征和三维点坐标之间的对应关系。

其中,词袋是基于标志点进行学习建立的,标志点是用于对目标物体进行辅助定位的参考点。词袋中存储了学习之后得到的特征点的二维特征与相应的三维点坐标之间的对应关系。在确定了特征点的二维特征后,在词袋中查找与二维特征匹配的目标特征,然后根据目标特征确定相应的三维点坐标。目标特征是指在词袋中查找到的与该二维特征匹配的特征。由于预先将特征点的二维特征和相应的三维点坐标都进行了存储,所以在提取到特征点的二维特征后,就可以快速在词袋中查找到相应的三维点坐标,从而提高了物体定位的速度。

步骤208,获取每个特征点在当前相机坐标系中的二维点坐标,根据二维点坐标和三维点坐标确定目标物体相对于当前相机坐标系的位置关系。

其中,目标图像是基于当前相机坐标系对目标物体进行拍摄得到的,相应的获取到目标物体的特征点的二维点坐标后,就可以根据该二维点坐标和对应的三维点坐标通过相机透视投影模型计算得到目标物体相对于当前相机坐标系的位置关系。位置关系一般采用旋转矩阵r和平移矩阵t来表示。

在一个实施例中,由于得到的三维点坐标对应的坐标系与目标物体所对应的坐标系可能不一致,所以在得到三维点坐标后,还需要将三维点坐标转换到目标物体的坐标系,得到目标三维点坐标,然后根据二维点坐标和目标三维点坐标得到目标物体相对于当前相机坐标系的位置关系。在一个实施例中,相机透视投影矩阵可以采用如下计算公式表示:c=f(rt)*m,其中,c表示图像的特征点对应的二维坐标,m为相应的特征点对应的三维点坐标,f(rt)表示以r、t为变量的函数。在已知c、m的情况下,就可以得到旋转矩阵r和平移矩阵t。

上述物体定位方法,首先基于标志点对目标物体进行学习,将学习到的目标物体中的特征点的二维特征和三维点坐标之间的对应关系存储到词袋。在对目标物体进行定位时,提取目标物体的特征点的二维特征,在词袋中查找与该二维特征对应的三维点坐标,然后根据二维点坐标和三维点坐标就可以确定目标物体相对于当前相机坐标系的位置关系。该物体定位的方法,基于标志点建立词袋,而在实际定位过程中,只需要基于提取到的特征点的二维特征就可以快速、准确地定位出该目标物体。该物体定位方法不仅操作简单,而且稳定性和准确度高。

如图3所示,在一个实施例中,在在词袋中分别查找与每个二维特征匹配的目标特征之前,还包括:建立词袋;建立词袋包括以下步骤:

步骤302,获取通过对标志点和目标物体进行拍摄得到的包含有标志点和目标物体的多张视频图像。

其中,标志点是用于对目标物体进行辅助定位的参考点。通常在图纸上贴上标志点,如图4所示,为一个实施例中,标志点的示意图,图中标志点为圆点。预先设置标志点的坐标,参考图4,可以将图4中的第2个圆点作为原点,将圆点2到3的方向为x轴,圆点2到1的方向为y轴,x轴和y轴叉积为z轴。并预先设置每个圆点的圆心坐标。图4中展示的特殊的6标志点能够更好地对目标物体进行定位。

在一个实施例中,预先分别设置6个圆的圆心的坐标为1(0,1,0),2(0,0,0),3(1,0,0),4(-1,-1,0),5(0,-1,0)和6(1,-1,0)。将目标物体放在设定的目标区域,目标区域中放置带有标志点的图纸。如图5所示,为设置的目标区域的示意图,目标区域为长方体,八个顶点坐标关系可以表示如下:p1(x’,y’,0),p1’(x’,y’,offset_z),p2(x’,y’+offset_y,0),p2’(x’,y’+offset_y,offset_z),p3(x’+offset_x,y’,0),p3’(x’+offset_x,y’,offset_z),p4(x’+offset_x,y’+offset_y,0),p4’(x’+offset_x,y’+offset_y,offset_z)。其中,p1为固定值,由图纸决定,offset_x,offset_y,offset_z根据被学习目标物体的可以自由调节。将标志点也放在该目标区域,采用相机围绕着标志点和目标物体进行拍摄,每次拍摄保证标志点和目标物体同时出现在相机视野中,得到多张包含有标志点和目标物体的视频图像,在一个实施例中,相机为单目相机。

步骤304,确定每一视频图像对应的相机坐标系与标志点坐标系之间的转换关系。

其中,在进行拍摄时,随着相机的移动,相机坐标系在不断地改变。需要计算得到每一张视频图像对应的相机坐标系与标志点坐标系之间的转换关系。转换关系是指相机坐标系与标志点坐标系之间的位置关系,位置关系可以采用r,t表示,r,t分别表示旋转矩阵和平移矩阵。

在一个实施例中,采用如下公式计算得到相应的转换关系。设相机和标志点坐标系之间的转换关系为(rt)i,如下式:

ci=(rt)im

其中,ci为相机坐标系中一点,m为标志点坐标系中一点,(rt)i为旋转平移矩阵。其中,ci为相机坐标系中的二维坐标,m为相应的标志点坐标系中的三维点坐标。通过上述公式计算得到相机坐标系与标志点坐标系之间的旋转矩阵r和平移矩阵t。

步骤306,根据转换关系计算得到每一视频图像对应的相机坐标系与基准坐标系之间的变换关系。

其中,基准坐标系是指选定的作为基准的坐标系,可以选择第一视频帧所对应的相机坐标系作为基准坐标系。在已知每个相机坐标系与标志点坐标系之之间的转换关系后,就可以计算得到每个相机坐标系与基准坐标系之间的变换关系,即计算得到相机坐标系之间的位置关系。在一个实施例中,根据相机和标志点坐标系之间的转换关系ci=(rt)im可以得到相邻的两次相机之间的坐标变换关系:在一个实施例中,将第一帧视频图像的相机坐标系作为基准坐标系,通过相邻相机坐标系之间的变换关系就可以计算得到每个相机坐标系与基准坐标系之间的变化关系,比如,将c1所在的坐标系作为基准坐标系,已知c1和c2、c2和c3等相邻坐标的变换关系,就可以确定每个ci和c1之间的变换关系。

步骤308,根据变换关系将每一视频图像中的目标物体的特征点的坐标转换到基准坐标系,得到每一视频图像中的特征点在基准坐标系中的二维坐标。

其中,变换关系是指将相机坐标系中的坐标点转换到基准坐标系中所对应的位置变换关系。在计算得到每一视频图像对应的相机坐标系与基准坐标系后,将目标物体的特征点的坐标都转换到该基准坐标系,然后得到每一视频图像中的特征点转换到该基准坐标系后相对应的二维坐标点。

步骤310,对视频图像中的目标物体进行特征提取,得到每个特征点对应的二维特征。

其中,针对视频图像提取每个特征点对应的二维特征,二维特征可以采用orb特征,相应的可以采用fast(featuresfromacceleratedsegmenttest)算法来检测特征,并提取。

步骤312,根据每个特征点对应的二维特征和每一视频图像中的特征点在基准坐标系中的二维坐标对目标物体进行三维重建,得到每个特征点进行三维重建后对应的三维点坐标。

其中,不同的视频图像虽然是基于不同的相机坐标系,但是对于目标物体上的同一特征点来说,提取到的二维特征是相同的,不同的特征点对应的二维特征不同,所以可以通过特征匹配的方法,确定不同视频图像中对应的同一特征点,构成匹配的特征点,在已知匹配的特征点分别在基准坐标系中的二维坐标后,结合相机的内部参数,就可以对特征点进行三维重建,得到该特征点对应的三维点坐标。根据该方法,对每个特征点进行三维重建,这样就完成了目标物体的三维重建。

步骤314,将目标物体中的特征点的二维特征和对应的三维点坐标进行关联存储,完成词袋的建立。

其中,三维点坐标是相对于基准标准系进行重建得到的,相应的三维点坐标也是基于基准坐标系确定的。在确定了目标物体上的特征点对应的三维点坐标后,通过将目标物体的特征带你与三维点坐标进行关联存储,从而完成词袋的建立。上述词袋建立的方法通过借助于标志点来定位目标物体,能够准确、快速、稳定地确定目标物体中的特征点的二维特征与三维点坐标之间的对应关系。

如图6所示,在一个实施例中,根据每个特征点对应的二维特征和每一视频图像中的特征点在基准坐标系中的二维坐标对目标物体进行三维重建,得到每个特征点进行三维重建后对应的三维点坐标,包括:

步骤312a,根据特征点的二维特征对不同视频图像中特征点进行匹配,确定不同视频图像中对应的同一特征点,获取不同视频图像中的同一特征点在基准坐标系中对应的不同的二维坐标。

其中,在不同视频图像中的同一特征点对应的二维特征相同。所以可以通过特征匹配的方式确定不同视频图像中对应的同一特征点。然后分别获取不同视频图像中的同一特征点在基准坐标系对应的二维坐标。比如,第一视频图像a点的二维特征和第二视频图像b点的二维特征相同,那么a点和b点对应的为同一特征点。然后分别获取a点在基准坐标系中的二维坐标,获取b点在基准坐标系中的二维坐标。

步骤312b,获取相机的内部参数矩阵和不同视频图像对应的相机坐标系之间的变换关系。

其中,内部参数矩阵是指相机的内部参数矩阵。在得到相机内部和外部参数之后就可以计算空间点的三维坐标了。内部参数矩阵是固定的,直接获取即可。外部参数是指不同视频图像对应的相机坐标系之间的位置关系,这里的变换关系就是指相机坐标系之间的位置关系。

步骤312c,根据内部参数矩阵、变换关系和同一特征点对应的不同的二维坐标对相应的特征点进行三维重建,得到特征点在基准坐标系下对应的三维点坐标。

其中,变换关系是指相机坐标系之间的相对位置关系,同样可以采用旋转矩阵r和平移矩阵t来表示。在已知每个相机坐标系对应的相机内部参数矩阵,以及同一匹配点对应的不同的二维坐标和变换关系就可以进行特征点的三维重建。具体地,假设有两张视频图像,第一视频图像和第二视频图像,将第一视频图像对应的坐标系作为基准坐标系,此时,不同位置的相机的投影矩阵为:

m1=k1[i0]m2=k2[rt]

其中,i为单位矩阵,k1,k2为分别为相机的内部参数矩阵,r为两个相机坐标系之间的相对旋转矩阵,t为两个相机之间的平移矩阵。假设x和x’为两个视频图像中的一对匹配点,即对应的是同一特征点。设x为对应的空间点坐标,则它们之间的关系可以表示为:x=m1x,x’=m2x。通过上述关系就可以求解得到特征点在基准坐标系下的三维点坐标。

在一个实施例中,确定每一视频图像对应的相机坐标系与标志点坐标系之间的转换关系,包括:获取标志点在标志点坐标系中对应的三维点坐标;对视频图像中的标志点进行识别,确定标志点在相机坐标系中的二维坐标;根据标志点在相机坐标系中的二维坐标和在标志点坐标系中的三维点坐标计算得到相机坐标系与标志点坐标系之间的转换关系。

其中,三维点坐标可以在标志点坐标系中预先设置。对视频图像中的标志点进行识别处理,得到标志点在相机坐标系中的二维坐标,在确定了标志点在相机坐标系中的二维坐标和在标志点坐标系中的三维点坐标后,就可以根据相机投影矩阵方程计算得到相机坐标系与标志点坐标系之间的转换关系。具体地,摄像投影矩阵的方程的公式如下:

其中,s为放缩系数,dx,dy为像素的物理尺寸,f为焦距,r为旋转矩阵,t为平移矩阵,αx=f/dx,αy=f/dy,(u,v)为视频图像中的二维点坐标,(xw,yw,zw)为其对应的空间物理坐标。由于s,dx,dy,f为已知的量,所以根据多组二维点坐标和三维点坐标就可以计算得到r和t。组数是根据旋转矩阵和平移矩阵包含的未知自由度的个数确定的,如果未知自由度的个数为4个,那么相应地至少需要4对坐标来计算得到相应的旋转矩阵和平移矩阵。

在一个实施例中,在对标志点和目标物体进行拍摄,得到包含有标志点和目标物体的多张视频图像的步骤之后,还包括:确定每一视频图像中目标物体对应的分割位置,根据分割位置从相应的视频图像中提取出目标物体,当提取出视频图像中的目标物体后,进入对视频图像中的目标物体进行特征提取,得到每个特征点对应的二维特征的步骤。

其中,为了过滤空间中其他非目标干扰,需要将视频图像中的目标物体提取出来,首先,确定视频图像中目标物体对应的分割位置。在一个实施例中,将目标物体放置在一个长方体中,参考图5所示,其顶点分别为p1、p2、p3、p4、p1’、p2’、p3’、p4’,分割就是把这八个顶点根据相机的透视投影矩阵投影到像平面,投影后得到多边形区域即为目标物体的分割位置。在确定了分割位置后,就可以根据分割位置提取出目标物体,然后再进入提取特征的步骤。

在一个实施例中,获取每个特征点在当前相机坐标系中的二维点坐标,根据二维点坐标和三维点坐标确定目标物体相对于当前相机坐标系的位置关系,包括:将三维点坐标转换到目标物体对应的坐标系上,得到目标三维坐标;根据当前相机坐标系中的二维点坐标和目标三维坐标计算得到目标物体相对于当前相机坐标系的位置关系。

其中,由于获取的三维点坐标是基于建立词袋时的基准坐标系得到的,为了得到目标物体坐标系与当前相机坐标系之间的位置关系,需要将三维点坐标从基准坐标系转换到目标物体坐标系,得到目标三维坐标。具体地,通过将获取到的目标物体对应的三维点坐标的原点移动到目标物体上,即,可以对目标物体的特征点求中心,然后所有点减去中心。这样根据当前相机坐标系中的二维坐标和相应的目标三维坐标就可以直接计算得到目标物体相当于当前相机坐标系的位置关系。

在一个实施例中,将三维点坐标转换到目标物体对应的坐标系上,得到目标三维坐标,包括:获取目标物体中每一个特征点对应的三维点坐标;对所有特征点对应的三维点坐标进行平均,得到平均三维点坐标;将每个特征点对应的三维点坐标减去平均三维点坐标,得到相应的目标三维坐标。

其中,为了将三维点坐标转换到目标物体对应的坐标系上,需要获取目标物体上的每个特征点对应的三维点坐标,然后对所有特征点对应的三维点坐标求平均,得到平均三维点坐标,最后把每个特征点的三维点坐标减去该平均三维点坐标得到相应的目标三维坐标。目标三维坐标即为转移到目标物体坐标系中对应的坐标。

如图7所示,在一个实施例中,对目标物体进行定位的流程示意图。第一步,将包含有标志点的图纸放置在平整表面。第二步,将目标物体放置在图纸的目标放置区域。第三步,通过相机拍摄得到包含有标志点和目标物体的视频图像。第四步,对视频图像中的目标物体进行分割,提取出目标物体图像。第五步,对目标物体图像进行特征提取,得到特征点的二维特征。第六步,根据每个特征点对应的二维特征和每一视频图像中的特征点在基准坐标系中的二维坐标对目标物体进行三维重建,得到每个特征点进行三维重建后对应的三维点坐标。第七步,将特征点的二维特征与相应的三维点坐标进行关联存储,完成词袋的建立。第八步,撤掉图纸,将目标物体放置在平整表面,采用相机拍摄包含有目标物体的目标图像,对目标图像进行特征提取,得到特征点的二维特征。第九步,在词袋中匹配与该二维特征对应的目标特征,然后获取相应的三维点坐标。第十步,获取特征点在当前相机坐标系的二维点坐标,根据二维点坐标和三维点坐标确定目标物体相当于当前相机坐标系的位姿。

如图8所示,在一个实施例中,提出了一种物体定位装置,该装置包括:

第一获取模块802,用于获取通过对待定位的目标物体进行拍摄得到的目标图像;

第一提取模块804,用于对所述目标图像中的目标物体进行特征提取,得到每个特征点对应的二维特征;

查找模块806,用于在词袋中分别查找与每个所述二维特征匹配的目标特征,根据所述目标特征确定相应的特征点对应的三维点坐标,所述词袋是基于标志点进行学习建立的,存储了目标物体中的特征点的二维特征和三维点坐标之间的对应关系;

确定模块808,用于获取每个特征点在当前相机坐标系中的二维点坐标,根据所述二维点坐标和所述三维点坐标确定所述目标物体相对于当前相机坐标系的位置关系。

如图9所示,在一个实施例中,上述物体定位装置还包括:

第二获取模块810,用于获取通过对标志点和目标物体进行拍摄得到的包含有所述标志点和所述目标物体的多张视频图像;

转换关系确定模块812,用于确定每一视频图像对应的相机坐标系与标志点坐标系之间的转换关系;

计算模块814,用于根据所述转换关系计算得到每一视频图像对应的相机坐标系与基准坐标系之间的变换关系;

转换模块816,用于根据所述变换关系将每一视频图像中的目标物体的特征点的坐标转换到基准坐标系,得到每一视频图像中的特征点在所述基准坐标系中的二维坐标;

第二提取模块818,用于对所述视频图像中的目标物体进行特征提取,得到每个特征点对应的二维特征;

三维重建模块820,用于根据所述每个特征点对应的二维特征和所述每一视频图像中的特征点在所述基准坐标系中的二维坐标对所述目标物体进行三维重建,得到每个特征点进行三维重建后对应的三维点坐标;

存储模块822,用于将目标物体中的特征点的二维特征和对应的三维点坐标进行关联存储,完成所述词袋的建立。

在一个实施例中,三维重建模块820还用于根据所述特征点的二维特征对不同视频图像中特征点进行匹配,确定不同视频图像中对应的同一特征点,获取不同视频图像中的所述同一特征点在所述基准坐标系中对应的不同的二维坐标;获取所述相机的内部参数矩阵和不同视频图像对应的相机坐标系之间的变换关系;根据所述内部参数矩阵、变换关系和所述同一特征点对应的不同的二维坐标对相应的特征点进行三维重建,得到所述特征点在所述基准坐标系下对应的三维点坐标。

在一个实施例中,三维重建模块820还用于获取标志点在所述标志点坐标系中对应的三维点坐标;对所述视频图像中的标志点进行识别,确定所述标志点在所述相机坐标系中的二维坐标;根据所述标志点在所述相机坐标系中的二维坐标和在所述标志点坐标系中的三维点坐标计算得到所述相机坐标系与所述标志点坐标系之间的转换关系。

在一个实施例中,上述物体定位装置还包括:分割模块,用于确定每一视频图像中目标物体对应的分割位置,根据所述分割位置从相应的视频图像中提取出目标物体,当提取出视频图像中的目标物体后,通知特征提取模块进入对所述视频图像中的目标物体进行特征提取,得到每个特征点对应的二维特征。

在一个实施例中,确定模块还用于将所述三维点坐标转换到目标物体对应的坐标系上,得到目标三维坐标;根据所述当前相机坐标系中的二维点坐标和所述目标三维坐标计算得到所述目标物体相对于当前相机坐标系的位置关系。

在一个实施例中,确定模块还用于获取目标物体中每一个特征点对应的三维点坐标;对所有特征点对应的三维点坐标进行平均,得到平均三维点坐标;将所述每个特征点对应的三维点坐标减去所述平均三维点坐标,得到相应的目标三维坐标。

图10示出了一个实施例中计算机设备的内部结构图。该计算机可以是终端,也可以是服务器。如图10所示,该计算机设备包括通过系统总线连接的处理器、存储器和网络接口。其中,存储器包括非易失性存储介质和内存储器。该计算机设备的非易失性存储介质存储有操作系统,还可存储有计算机程序,该计算机程序被处理器执行时,可使得处理器实现物体定位方法。该内存储器中也可储存有计算机程序,该计算机程序被处理器执行时,可使得处理器执行物体定位方法。网络接口用于与外界进行通信。本领域技术人员可以理解,图10中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。

在一个实施例中,本申请提供的物体定位方法可以实现为一种计算机程序的形式,计算机程序可在如图10所示的计算机设备上运行。计算机设备的存储器中可存储组成该物体定位装置的各个程序模板。比如,拍摄模块802、提取模块804、查找模块806和确定模块808。

一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,所述计算机程序被所述处理器执行时,使得所述处理器执行如下步骤:获取通过对待定位的目标物体进行拍摄得到的目标图像;对所述目标图像中的目标物体进行特征提取,得到每个特征点对应的二维特征;在词袋中分别查找与每个所述二维特征匹配的目标特征,根据所述目标特征确定相应的特征点对应的三维点坐标,所述词袋是基于标志点进行学习建立的,存储了目标物体中的特征点的二维特征和三维点坐标之间的对应关系;获取每个特征点在当前相机坐标系中的二维点坐标,根据所述二维点坐标和所述三维点坐标确定所述目标物体相对于当前相机坐标系的位置关系。

在一个实施例中,在所述在词袋中分别查找与每个所述二维特征匹配的目标特征之前,所述计算机程序被所述处理器执行时,还用于执行以下步骤:获取通过对标志点和目标物体进行拍摄得到的包含有所述标志点和所述目标物体的多张视频图像;确定每一视频图像对应的相机坐标系与标志点坐标系之间的转换关系;根据所述转换关系计算得到每一视频图像对应的相机坐标系与基准坐标系之间的变换关系;根据所述变换关系将每一视频图像中的目标物体的特征点的坐标转换到基准坐标系,得到每一视频图像中的特征点在所述基准坐标系中的二维坐标;对所述视频图像中的目标物体进行特征提取,得到每个特征点对应的二维特征;根据所述每个特征点对应的二维特征和所述每一视频图像中的特征点在所述基准坐标系中的二维坐标对所述目标物体进行三维重建,得到每个特征点进行三维重建后对应的三维点坐标;将目标物体中的特征点的二维特征和对应的三维点坐标进行关联存储,完成所述词袋的建立。

在一个实施例中,所述根据所述每个特征点对应的二维特征和所述每一视频图像中的特征点在所述基准坐标系中的二维坐标对所述目标物体进行三维重建,得到每个特征点进行三维重建后对应的三维点坐标,包括:根据所述特征点的二维特征对不同视频图像中特征点进行匹配,确定不同视频图像中对应的同一特征点,获取不同视频图像中的所述同一特征点在所述基准坐标系中对应的不同的二维坐标;获取所述相机的内部参数矩阵和不同视频图像对应的相机坐标系之间的变换关系;根据所述内部参数矩阵、变换关系和所述同一特征点对应的不同的二维坐标对相应的特征点进行三维重建,得到所述特征点在所述基准坐标系下对应的三维点坐标。

在一个实施例中,所述确定每一视频图像对应的相机坐标系与标志点坐标系之间的转换关系,包括:获取标志点在所述标志点坐标系中对应的三维点坐标;对所述视频图像中的标志点进行识别,确定所述标志点在所述相机坐标系中的二维坐标;根据所述标志点在所述相机坐标系中的二维坐标和在所述标志点坐标系中的三维点坐标计算得到所述相机坐标系与所述标志点坐标系之间的转换关系。

在一个实施例中,在所述对标志点和目标物体进行拍摄,得到包含有所述标志点和所述目标物体的多张视频图像的步骤之后,还包括:确定每一视频图像中目标物体对应的分割位置,根据所述分割位置从相应的视频图像中提取出目标物体,当提取出视频图像中的目标物体后,进入对所述视频图像中的目标物体进行特征提取,得到每个特征点对应的二维特征的步骤。

在一个实施例中,所述获取每个特征点在当前相机坐标系中的二维点坐标,根据所述二维点坐标和所述三维点坐标确定所述目标物体相对于当前相机坐标系的位置关系,包括:将所述三维点坐标转换到目标物体对应的坐标系上,得到目标三维坐标;根据所述当前相机坐标系中的二维点坐标和所述目标三维坐标计算得到所述目标物体相对于当前相机坐标系的位置关系。

在一个实施例中,所述将所述三维点坐标转换到目标物体对应的坐标系上,得到目标三维坐标,包括:获取目标物体中每一个特征点对应的三维点坐标;对所有特征点对应的三维点坐标进行平均,得到平均三维点坐标;将所述每个特征点对应的三维点坐标减去所述平均三维点坐标,得到相应的目标三维坐标。

一种计算机可读存储介质,存储有计算机程序,所述计算机程序被处理器执行时,使得所述处理器执行如下步骤:获取通过对待定位的目标物体进行拍摄得到的目标图像;对所述目标图像中的目标物体进行特征提取,得到每个特征点对应的二维特征;在词袋中分别查找与每个所述二维特征匹配的目标特征,根据所述目标特征确定相应的特征点对应的三维点坐标,所述词袋是基于标志点进行学习建立的,存储了目标物体中的特征点的二维特征和三维点坐标之间的对应关系;获取每个特征点在当前相机坐标系中的二维点坐标,根据所述二维点坐标和所述三维点坐标确定所述目标物体相对于当前相机坐标系的位置关系。

在一个实施例中,在所述在词袋中分别查找与每个所述二维特征匹配的目标特征之前,所述计算机程序被所述处理器执行时,还用于执行以下步骤:获取通过对标志点和目标物体进行拍摄得到的包含有所述标志点和所述目标物体的多张视频图像;确定每一视频图像对应的相机坐标系与标志点坐标系之间的转换关系;根据所述转换关系计算得到每一视频图像对应的相机坐标系与基准坐标系之间的变换关系;根据所述变换关系将每一视频图像中的目标物体的特征点的坐标转换到基准坐标系,得到每一视频图像中的特征点在所述基准坐标系中的二维坐标;对所述视频图像中的目标物体进行特征提取,得到每个特征点对应的二维特征;根据所述每个特征点对应的二维特征和所述每一视频图像中的特征点在所述基准坐标系中的二维坐标对所述目标物体进行三维重建,得到每个特征点进行三维重建后对应的三维点坐标;将目标物体中的特征点的二维特征和对应的三维点坐标进行关联存储,完成所述词袋的建立。

在一个实施例中,所述根据所述每个特征点对应的二维特征和所述每一视频图像中的特征点在所述基准坐标系中的二维坐标对所述目标物体进行三维重建,得到每个特征点进行三维重建后对应的三维点坐标,包括:根据所述特征点的二维特征对不同视频图像中特征点进行匹配,确定不同视频图像中对应的同一特征点,获取不同视频图像中的所述同一特征点在所述基准坐标系中对应的不同的二维坐标;获取所述相机的内部参数矩阵和不同视频图像对应的相机坐标系之间的变换关系;根据所述内部参数矩阵、变换关系和所述同一特征点对应的不同的二维坐标对相应的特征点进行三维重建,得到所述特征点在所述基准坐标系下对应的三维点坐标。

在一个实施例中,所述确定每一视频图像对应的相机坐标系与标志点坐标系之间的转换关系,包括:获取标志点在所述标志点坐标系中对应的三维点坐标;对所述视频图像中的标志点进行识别,确定所述标志点在所述相机坐标系中的二维坐标;根据所述标志点在所述相机坐标系中的二维坐标和在所述标志点坐标系中的三维点坐标计算得到所述相机坐标系与所述标志点坐标系之间的转换关系。

在一个实施例中,在所述对标志点和目标物体进行拍摄,得到包含有所述标志点和所述目标物体的多张视频图像的步骤之后,还包括:确定每一视频图像中目标物体对应的分割位置,根据所述分割位置从相应的视频图像中提取出目标物体,当提取出视频图像中的目标物体后,进入对所述视频图像中的目标物体进行特征提取,得到每个特征点对应的二维特征的步骤。

在一个实施例中,所述获取每个特征点在当前相机坐标系中的二维点坐标,根据所述二维点坐标和所述三维点坐标确定所述目标物体相对于当前相机坐标系的位置关系,包括:将所述三维点坐标转换到目标物体对应的坐标系上,得到目标三维坐标;根据所述当前相机坐标系中的二维点坐标和所述目标三维坐标计算得到所述目标物体相对于当前相机坐标系的位置关系。

在一个实施例中,所述将所述三维点坐标转换到目标物体对应的坐标系上,得到目标三维坐标,包括:获取目标物体中每一个特征点对应的三维点坐标;对所有特征点对应的三维点坐标进行平均,得到平均三维点坐标;将所述每个特征点对应的三维点坐标减去所述平均三维点坐标,得到相应的目标三维坐标。

本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一非易失性计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可包括只读存储器(rom)、可编程rom(prom)、电可编程rom(eprom)、电可擦除可编程rom(eeprom)或闪存。易失性存储器可包括随机存取存储器(ram)或者外部高速缓冲存储器。作为说明而非局限,ram以多种形式可得,诸如静态ram(sram)、动态ram(dram)、同步dram(sdram)、双数据率sdram(ddrsdram)、增强型sdram(esdram)、同步链路(synchlink)dram(sldram)、存储器总线(rambus)直接ram(rdram)、直接存储器总线动态ram(drdram)、以及存储器总线动态ram(rdram)等。

以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。

以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对本申请专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请专利的保护范围应以所附权利要求为准。

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