一种三维物体描述方法及装置与流程

文档序号:14269218阅读:205来源:国知局

本发明涉及图像处理技术领域,尤其涉及一种三维物体描述方法及装置。



背景技术:

3d(threedimension,三维)物体识别和姿态估计是机器人及工业应用中的关键步骤。现有技术中,通常采用的一种3d物体识别和姿态估计的方法是基于点对特征(ppf)的方法。

在基于点对特征的三维物体描述方法中,利用从三维物体上获取的点对特征构造基于ppf的模型,并识别场景中的点对特征进行匹配。进而,确定描述该三维物体的点对特征。

但是,在实现本发明的过程中发明人发现,基于点对特征的描述方法在描述三维物体时受限于三维物体图像颜色、物体平面的限制等,导致利用点对特征描述的三维物体不准确。



技术实现要素:

有鉴于此,本发明提供一种三维物体描述方法及装置,以提高对三维物体描述的准确性。

为解决上述技术问题,本发明提供一种三维物体描述方法,包括:

确定三维物体在识别场景中可能被观察到的视线方向;

确定所述三维物体在每一视线方向上的特征点和可见点;

根据所述三维物体在每一视线方向上的特征点和可见点,确定所述每一视线方向对应的多个三点特征,所述多个三点特征由所述每一视线方向上的多个三点组合确定,所述三点组合包括任意一个特征点和任意两个可见点;

将所有视线方向上的三点特征存储为所述三维物体的描述符。

其中,所述确定所述三维物体在每一视线方向上的特征点,包括:

获取所述三维物体在所述每一视线方向上的深度图像;

对于所述深度图像中的每个像素点,计算所述每个像素点在预设邻域范围内的距离不连续性值;

若所述每个像素点中的第一像素点的距离不连续性值大于预设阈值,则将所述第一像素点作为特征点。

其中,所述根据所述三维物体在每一视线方向上的特征点和可见点,确定所述每一视线方向对应的多个三点特征,包括:

在所述三维物体在每一视线方向上的所有特征点和所有可见点中,任意选取一个特征点和两个可见点,形成多个三点组合;

利用每一个三点组合中所述一个特征点和两个可见点之间的几何关系以及所述一个特征点和两个可见点构成的三角面片的法向量,确定所述每一视线方向对应的多个三点特征。

其中,所述三点特征表示为:

f(p0,p1,pe)=(l0,l1,l2,θ)=(||pe,p0||,||pe,p1||,||p0,p1||∠(n,ok))

其中,p0,p1表示在任一视线方向上的任意两个可见点,pe表示在所述任一视线方向上的特征点,n表示p0,p1,p2构成的三角面片的法向量;ok表示所述任一视线方向;l0表示p0与pe之间的距离,l1表示p1与pe之间的距离,l2表示p0与p1之间的距离;θ表示p0,p1,p2构成的三角面片的法向量与所述任一视线方向之间的夹角。

其中,在所述将所有视线方向上的三点特征存储为所述三维物体的描述符的步骤之前,所述方法还包括:

对于所有视线上的三点特征,建立所述三点特征与确定所述三点特征的一个特征点和任意两个可见点之间的对应关系。

第二方面,提供一种三维物体描述装置,包括:

第一确定模块,用于确定三维物体在识别场景中可能被观察到的视线方向;

第二确定模块,用于确定所述三维物体在每一视线方向上的特征点和可见点;

三维特征确定模块,用于根据所述三维物体在每一视线方向上的特征点和可见点,确定所述每一视线方向对应的多个三点特征,所述多个三点特征由所述每一视线方向上的多个三点组合确定,所述三点组合包括任意一个特征点和任意两个可见点;

存储模块,用于将所有视线方向上的三点特征存储为所述三维物体的描述符。

其中,所述第二确定模块包括:

图像获取子模块,用于获取所述三维物体在所述每一视线方向上的深度图像;

计算子模块,用于对于所述深度图像中的每个像素点,计算所述每个像素点在预设邻域范围内的距离不连续性值;

第一确定子模块,用于若所述每个像素点中的第一像素点的距离不连续性值大于预设阈值,则将所述第一像素点作为特征点;

第二确定子模块,用于确定所述每一视线方向上的可见点。

其中,所述三维特征确定模块包括:

组合构成子模块,用于在所述三维物体在每一视线方向上的所有特征点和所有可见点中,任意选取一个特征点和两个可见点,形成多个三点组合;

三维特征确定子模块,用于利用每一个三点组合中所述一个特征点和两个可见点之间的几何关系以及所述一个特征点和两个可见点构成的三角面片的法向量,确定所述每一视线方向对应的多个三点特征。

其中,所述三点特征表示为:

f(p0,p1,pe)=(l0,l1,l2,θ)=(||pe,p0||,||pe,p1||,||p0,p1||∠(n,ok))

其中,p0,p1表示在任一视线方向上的任意两个可见点,pe表示在所述任一视线方向上的特征点,n表示p0,p1,p2构成的三角面片的法向量;ok表示所述任一视线方向;l0表示p0与pe之间的距离,l1表示p1与pe之间的距离,l2表示p0与p1之间的距离;θ表示p0,p1,p2构成的三角面片的法向量与所述任一视线方向之间的夹角。

其中,所述装置还包括:

对应关系建立模块,用于对于所有视线上的三点特征,建立所述三点特征与确定所述三点特征的一个特征点和任意两个可见点之间的对应关系。

本发明的上述技术方案的有益效果如下:

在本发明实施例中,利用在三维物体可能被观察到的视线方向上的三点特征来描述三维物体,而该三点特征由每个视线方向上的任意一个特征点和任意两个可见点确定,从而可不受限于图像颜色或者物体的平面限制,提高了对三维物体描述的准确性。

附图说明

图1为本发明实施例一的三维物体描述方法的流程图;

图2为本发明实施例一的三点特征的示意图;

图3为本发明实施例二的三维物体描述方法的流程图;

图4为本发明实施例三的三维物体描述装置的示意图;

图5为本发明实施例三的三维物体描述装置的又一示意图;

图6为本发明实施例四的电子设备的示意图。

具体实施方式

下面将结合附图和实施例,对本发明的具体实施方式作进一步详细描述。以下实施例用于说明本发明,但不用来限制本发明的范围。

实施例一

如图1所示,本发明实施例一的三维物体描述方法,包括:

步骤101、确定三维物体在识别场景中可能被观察到的视线方向。

对于一个三维物体或者三维模型,在本发明实施例中,为了准确描述该三维物体,理论上选择该三维物体在识别场景中所有可能被观察到的视线方向。在实际应用中,考虑到实际条件的限制,可随机或均匀在单位球上选择约300个视线方向。

步骤102、确定所述三维物体在每一视线方向上的特征点和可见点。

在本发明实施例中,对于每一视线方向,都可确定其特征点和可见点。其中特征点包括但不限于为从视线方向上观察有距离跳变的几何边缘点,角点,线段特征点等。所述可见点指的是从视线方向上观察能够被看见的点。

在此步骤中,对于任一视线方向,获取所述三维物体在该视线方向上的深度图像,也即距离图像。对于所述深度图像中的每个像素点,都可对应到三维物体上的一个三维点。深度图像上每一个像素点的强度值代表三维物体上对应的三维点到预设投影平面的距离,其中该投影平面垂直于该任一视线方向。

对于深度图标中的每个像素点,计算所述每个像素点在预设邻域范围内的距离不连续性值。若所述每个像素点中的第一像素点的距离不连续性值大于预设阈值,则将所述第一像素点作为特征点。其中,该预设邻域范围可根据需要设置,该阈值也可根据三维物体预先设定。

而对于任一视线方向,删除三维物体在该视线方向上被遮挡的点,即可获得可见点。

那么,对于所有的视线方向,均按照上述方式确定对应的特征点和可见点。

步骤103、根据所述三维物体在每一视线方向上的特征点和可见点,确定所述每一视线方向对应的多个三点特征。

在本发明实施例中,所述多个三点特征由所述每一视线方向上的多个三点组合确定,所述三点组合包括任意一个特征点和任意两个可见点。也即,在每一视线方向上,任意选取一个特征点和两个特征点组成三点组合。那么,对应于多个特征点和多个可见点就会有多个三点组合。对于每个三点组合,都对应有三点特征。

在此步骤中,在所述三维物体在每一视线方向上的所有特征点和所有可见点中,任意选取一个特征点和两个可见点,形成至少一个三点组合。以其中的一个三点组合为例,包括一个特征点和两个可见点。利用这三个点(一个特征点和两个可见点)的几何关系和这三个点构成的三角面片的法向量,提取这三个点对应的三点特征。而对于该视线方向上的其他三点组合,按照同样的方式提取三点特征。将所有三点组合对应的三点特征作为该视线方向上的三点特征。

其中,结合2所示,所述三点特征可表示为:

f(p0,p1,pe)=(l0,l1,l2,θ)=(||pe,p0||,||pe,p1||,||p0,p1||∠(n,ok))

其中,p0,p1表示在任一视线方向上的任意两个可见点,pe表示在所述任一视线方向上的特征点,n表示p0,p1,p2构成的三角面片的法向量;ok表示所述任一视线方向;l0表示p0与pe之间的距离,l1表示p1与pe之间的距离,l2表示p0与p1之间的距离;θ表示p0,p1,p2构成的三角面片的法向量与所述任一视线方向之间的夹角。

当然,在此只是列出了三点特征的一种可能实现的形式,在具体应用中并不局限于此。

步骤104、将所有视线方向上的三点特征存储为所述三维物体的描述符。

对于步骤101确定的所有视线方向,均确定其对应的三点特征,从将其存储为所述三维物体的描述符。

在本发明实施例中,可以选取部分三点特征进行存储。为了更准确的描述三维物体,也可选取全部的三点特征进行存储。

由上可以看出,在本发明实施例中,利用在三维物体可能被观察到的视线方向上的三点特征来描述三维物体,而该三点特征由每个视线方向上的任意一个特征点和任意两个可见点确定,从而可不受限于图像颜色或者物体的平面限制,提高了对三维物体描述的准确性。

实施例二

如图3所示,本发明实施例二的三维物体描述方法,包括:

步骤301、确定三维物体在识别场景中可能被观察到的视线方向。

步骤302、确定所述三维物体在每一视线方向上的特征点和可见点。

步骤303、根据所述三维物体在每一视线方向上的特征点和可见点,确定所述每一视线方向对应的多个三点特征。

所述多个三点特征由所述每一视线方向上的多个三点组合确定,所述三点组合包括任意一个特征点和任意两个可见点。

步骤304、对于所有视线上的三点特征,建立所述三点特征和确定所述三点特征的三个点之间的对应关系。

为便于为三维物体进行识别和姿态估计,在此,根据某种数据结构建立所述三点特征和确定所述三点特征的三个点之间的对应关系。在该对应关系中,包括三点特征和三个点的位置信息。其中,该数据结构可以采用现有技术中任一种实现两个数据对应关系的数据结构来实现。

步骤305、将所有视线方向上的所有三点特征存储为所述三维物体的描述符,并存储所述对应关系。

其中步骤301-303、305的描述可参照实施例一步骤101-104的描述。

由上可以看出,在本发明实施例中,利用在三维物体可能被观察到的视线方向上的三点特征来描述三维物体,而该三点特征由每个视线方向上的任意一个特征点和任意两个可见点确定,从而可不受限于图像颜色或者物体的平面限制,提高了对三维物体描述的准确性。

实施例三

如图4所示,本发明实施例三的三维物体描述装置600,包括:

第一确定模块401,用于确定三维物体在识别场景中可能被观察到的视线方向;第二确定模块402,用于确定所述三维物体在每一视线方向上的特征点和可见点;三维特征确定模块403,用于根据所述三维物体在每一视线方向上的特征点和可见点,确定所述每一视线方向对应的多个三点特征,所述多个三点特征由所述每一视线方向上的多个三点组合确定,所述三点组合包括任意一个特征点和任意两个可见点;存储模块404,用于将所有视线方向上的三点特征存储为所述三维物体的描述符。

其中,所述第二确定模块402包括:图像获取子模块,用于获取所述三维物体在所述每一视线方向上的深度图像;计算子模块,用于对于所述深度图像中的每个像素点,计算所述每个像素点在预设邻域范围内的距离不连续性值;第一确定子模块,用于若所述每个像素点中的第一像素点的距离不连续性值大于预设阈值,则将所述第一像素点作为特征点;第二确定子模块,用于确定所述每一视线方向上的可见点。

其中,所述三维特征确定模块403包括:组合构成子模块,用于在所述三维物体在每一视线方向上的所有特征点和所有可见点中,任意选取一个特征点和两个可见点,形成多个三点组合;三维特征确定子模块,用于利用每一个三点组合中所述一个特征点和两个可见点之间的几何关系以及所述一个特征点和两个可见点构成的三角面片的法向量,确定所述每一视线方向对应的多个三点特征。

在本发明实施例中,所述三点特征表示为:

f(p0,p1,pe)=(l0,l1,l2,θ)=(||pe,p0||,||pe,p1||,||p0,p1||∠(n,ok))

其中,p0,p1表示在任一视线方向上的任意两个可见点,pe表示在所述任一视线方向上的特征点,n表示p0,p1,p2构成的三角面片的法向量;ok表示所述任一视线方向;l0表示p0与pe之间的距离,l1表示p1与pe之间的距离,l2表示p0与p1之间的距离;θ表示p0,p1,p2构成的三角面片的法向量与所述任一视线方向之间的夹角。

如图5所示,所述装置还包括:对应关系建立模块405,用于对于所有视线上的三点特征,建立所述三点特征和确定所述三点特征的三个点之间的对应关系。

本发明所述装置的工作原理可参照前述方法实施例的描述。

由上可以看出,在本发明实施例中,利用在三维物体可能被观察到的视线方向上的三点特征来描述三维物体,而该三点特征由每个视线方向上的任意一个特征点和任意两个可见点确定,从而可不受限于图像颜色或者物体的平面限制,提高了对三维物体描述的准确性。

实施例四

如图6所示,本发明实施例四还提供了一种电子设备,可以实现本发明图1-4所示实施例的流程。所述电子设备可以是个人电脑(pc),平板电脑以及各种智能设备(包括智能手机)等。如图6所示,上述电子设备可以包括:壳体601、处理器602、存储器603、电路板604和电源电路607,其中,电路板604安置在壳体601围成的空间内部,处理器602和存储器603设置在电路板604上;电源电路605,用于为上述电子设备的各个电路或器件供电;存储器603用于存储可执行程序代码;处理器602通过读取存储器603中存储的可执行程序代码来运行与可执行程序代码对应的程序,用于执行以下步骤:

确定三维物体在识别场景中可能被观察到的视线方向;

确定所述三维物体在每一视线方向上的特征点和可见点;

根据所述三维物体在每一视线方向上的特征点和可见点,确定所述每一视线方向对应的多个三点特征,所述多个三点特征由所述每一视线方向上的多个三点组合确定,所述三点组合包括任意一个特征点和任意两个可见点;

将所有视线方向上的三点特征存储为所述三维物体的描述符。

在本申请所提供的几个实施例中,应该理解到,所揭露方法和装置,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。

另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理包括,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用硬件加软件功能单元的形式实现。

上述以软件功能单元的形式实现的集成的单元,可以存储在一个计算机可读取存储介质中。上述软件功能单元存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述收发方法的部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(read-onlymemory,简称rom)、随机存取存储器(randomaccessmemory,简称ram)、磁碟或者光盘等各种可以存储程序代码的介质。

以上所述是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明所述原理的前提下,还可以作出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。

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