基于三维点云的目标识别方法、装置及存储介质制造方法及图纸

技术编号:19823511 阅读:27 留言:0更新日期:2018-12-19 15:19
本发明专利技术实施例提供了一种基于三维点云的目标识别方法、装置及存储介质,所述方法包括:生成模型的三维姿态LUT;生成三维点云金字塔;对三维姿态聚类;基于点云金字塔的目标识别。通过采用本发明专利技术实施例所述方法,能很好的解决在工业上对无序目标的识别与抓取,通过使用待识别的目标stl文件,可以在当前的三维点云场景中快速地识别出目标的位置与姿态,识别时间短,识别精度高。

【技术实现步骤摘要】
基于三维点云的目标识别方法、装置及存储介质
本专利技术涉及机器视觉领域,尤其涉及一种基于三维点云的目标识别方法、装置及存储介质。
技术介绍
在当前的工业自动化生产中,对人的依赖程度越来越低。一方面由于传统的自动化生产已经经过了长时间的发展与完善,对大部分的固定场景都能够比较好的解决,比如汽车配件安装,汽车喷漆工艺,自动焊接等,在这些工业场景中,通常是由机械臂与目标之间进行事先的校准,然后按照完全固定的方式进行工作。另一方面,由于机器视觉技术的发展,大部分的二维目标识别与检测任务都可以在受控环境下得到很好的解决。但是,对于工业上的无序目标的识别与抓取,当前并没有很好的解决方案。
技术实现思路
有鉴于此,本专利技术的目的在于提供一种基于三维点云的目标识别方法及其装置,旨在实时识别定位工业现场的三维目标的位置与姿态,以方便后续的工业自动化处理。本专利技术解决上述技术问题所采用的技术方案如下:本专利技术的第一方面提供一种基于三维点云的目标识别方法,该方法包括:生成模型的三维姿态LUT;生成三维点云金字塔;对三维姿态聚类;基于点云金字塔的目标识别。在一些实施例中,所述生成模型的三维姿态LUT包括步骤:将模型坐标系对齐到相机1坐标系下,使用欧拉XYZ旋转角θX,θY,θZ,将模型依次按照dX=π/180,dY=π/180,dZ=π/180的步长进行旋转;生成当前姿态下的模型点云,并储存在以(i,j,k)为索引的查询表中。在一些实施例中,所述生成当前姿态下的模型点云方法包括步骤:输入欧拉旋转角表示的模型姿态(θX,θY,θZ);将模型姿态变换到相机1的坐标下,并移至相机的光轴位置(0,0,Zok),其中深度位置为Zok;使用OpenGL分别在相机1与相机2的位置设置模拟相机,模拟相机的内外参数根据实际相机配置;使用模拟相机对当前姿态的模型进行拍照,得到图像img1和img2;计算当前模型在相机1与相机2坐标系下的深度图;分别扫描图像img1和img2上的所有像素位置,计算有效的模型在图上的二维点(uj,vj)与深度值zj;将二维像素点(uj,vj)与深度值zj转化为相机1坐标系下的三维坐标,转换公式为:其中,u0,v0为相机1光轴的图像坐标值,f为相机1的焦距;筛选三维点,输出当前姿态下的三维模型点云。在一些实施例中,所述筛选三维点,输出当前姿态下的三维模型点云包括步骤:将相机1坐标系下的坐标转换到模型坐标系下,当前模型姿态θX,θY,θZ的坐标系到相机1的坐标系变换为保存此三维坐标计算相机2坐标系下的有效模型三维点先将其转换到相机1的坐标系下然后再转换到模型坐标系下转换公式如下其中,与为相机2坐标系到世界坐标系的转换,与tw←C1为相机1坐标系到世界坐标系的转换。在一些实施例中,所述方法还可包括:判断三维点的两端直线方向上是否存在相机1的三维坐标点,如不存在,则将加入模型的三维坐标点集合,否则抛弃该三维点。在一实施例中,所述生成三维点云金字塔包括步骤:创建第1层金字塔,在大小为(WpxlHpxlDpxl)分辨率为resl(l)的三维像素中,搜索位于其中的三维点云,如果每个三维像素中包含的三维点云不为空,则设其为true,否则设为false;创建1层以上的金字塔,三维像素尺寸为Wpxl=Wmax/resl(l)+1,Hpxl=Hmax/resl(l)+1,Dpxl=Dmax/resl(l)+1。在一实施例中,所述创建1层以上的金字塔包括方法:直接计算每个三维像素内是否包含原始的点云,再将点云坐标映射到三维像素索引时,将点云坐标偏移半个该层的分辨率大小。在一实施例中,所述创建1层以上的金字塔包括方法:从下一层的计算上直接计算获取,上层三维像素值为其中为第l层索引为(w,h,d)的三维像素值,OR为逻辑或运算操作;保存作为最终的计算结果。在一实施例中,所述对三维姿态聚类包括步骤:评估函数计算在位置tw←m处姿态的评估值;其中,为距离评估函数,距离x=0时获得最大评估值1;为模型上的三维点云i;为当前点云中与模型上的三维点云i最近的三维点;为当前模型坐标系到世界坐标系的旋转矩阵,即当前的姿态矩阵;tw←m为模型坐标系到直角坐标系的平移量,即当前的搜索位置;NR为当前姿态的模型上的三维点云数目。在一实施例中,所述对三维姿态聚类包括步骤:随机抽取Ns个姿态,Ns一般选为姿态总数目的20%;选择第1个姿态,再从剩下Ns-1个姿态中选择与第1个姿态之间的距离大于指定距离dc的姿态,将这些姿态加入第1个姿态所属的类,选择第1个姿态作为种子;对剩下的姿态采用相同的方法,共生成个类其中为类i中第j个姿态的姿态索引,Li为当前类i的姿态数目,ki为姿态i的种子姿态索引;姿态间的距离计算方法如下:其中,为姿态1上的三维点i,为姿态2上与姿态1上的三维点i最近的三维点;以生成的个种子类Si(ki)为基础,如果姿态j与种子类i中的种子姿态ki距离大于给定的阈值dc,则将姿态j加入种子类i:如果某个姿态不属于任何种子类Si(ki),则以该姿态为种子建立新的种子类在一实施例中,所述基于点云金字塔的目标识别包括步骤:金字塔顶层的初始位置与姿态搜索;使用上一层的初始位置与姿态作为初始值,在下一层进行搜索;判断是否搜索到金字塔的最底层,如果不是最底层,则在上一层保存的有效位置与对应姿态附近搜索该层的有效位置与姿态;如果没有搜索到任何有效位置,则识别失败,返回识别失败结果;如果搜索到最底层,则在上一层的搜索位置附近使用对应的点云类中的所有姿态进行搜索,获取得到局部极大值的位置与姿态;输出检测的所有模型位置与姿态。本专利技术的第二方面还提供一种基于三维点云的目标识别装置,包括:模型点云LUT生成模块,用于生成模型的三维姿态LUT;三维场景金字塔生成模块,用于对三维点云创建金字塔模型;点云聚类模块,用于将生成的多个姿态下的模型点云按照点云的相似度进行聚类;以及点云金字塔目标识别模块,用于对点云金字塔从顶层到底层进行逐层精细的搜索获取模型的位置与姿态。本专利技术的第三方面还提供一种计算机可读存储介质,其上存储有计算机程序,所述程序被处理器执行时实现上述所述方法中的步骤。本专利技术实施例提供的一种基于点云的三维目标识别方法及装置能很好的解决在工业上对无序目标的识别与抓取问题,通过使用上述本专利技术实施例方法可以在当前的三维点云场景中快速地识别出目标的位置与姿态,识别时间短,识别精度高。附图说明图1为本专利技术实施例的基于点云的三维目标识别方法流程图;图2为本专利技术实施例的生成模型点云LUT的方法流程图;图3为本专利技术实施例的生成当前姿态下的三维模型点云流程图;图4为本专利技术实施例的三维点云金字塔生成示意图;图5为本专利技术实施例的基于点云金字塔的目标识别方法流程图;图6为本专利技术实施例的基于点云的三维目标识别装置结构框图。具体实施方式为了使本专利技术所要解决的技术问题、技术方案及有益效果更加清楚、明白,以下结合附图和实施例,对本专利技术进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本专利技术,并不用于限定本专利技术。针对于现有技术中无法很好解决工业上对无序目标的识别与抓取的问题,本专利技术提出一种基于三维点云的目标识别方法及其装置,能快速识别定位工业现场的三维目标的位置与姿态,从而方便后续的工业自动化本文档来自技高网...

【技术保护点】
1.一种基于三维点云的目标识别方法,其特征在于,包括步骤:生成模型的三维姿态LUT;生成三维点云金字塔;对三维姿态聚类;基于点云金字塔的目标识别。

【技术特征摘要】
1.一种基于三维点云的目标识别方法,其特征在于,包括步骤:生成模型的三维姿态LUT;生成三维点云金字塔;对三维姿态聚类;基于点云金字塔的目标识别。2.根据权利要求1所述的基于三维点云的目标识别方法,其特征在于,所述生成模型的三维姿态LUT包括步骤:将模型坐标系对齐到相机1坐标系下,使用欧拉XYZ旋转角θX,θY,θZ,将模型依次按照dX=π/180,dY=π/180,dZ=π/180的步长进行旋转;生成当前姿态下的模型点云,并储存在以(i,j,k)为索引的查询表中。3.根据权利要求2所述的基于三维点云的目标识别方法,其特征在于,所述生成当前姿态下的模型点云方法包括步骤:输入欧拉旋转角表示的模型姿态(θX,θY,θZ);将模型姿态变换到相机1的坐标下,并移至相机的光轴位置(0,0,Zok),其中深度位置为Zok;使用OpenGL分别在相机1与相机2的位置设置模拟相机,模拟相机的内外参数根据实际相机配置;使用模拟相机对当前姿态的模型进行拍照,得到图像img1和img2;计算当前模型在相机1与相机2坐标系下的深度图;分别扫描图像img1和img2上的所有像素位置,计算有效的模型在图上的二维点(uj,vj)与深度值zj;将二维像素点(uj,vj)与深度值zj转化为相机1坐标系下的三维坐标,转换公式为:其中,u0,v0为相机1光轴的图像坐标值,f为相机1的焦距;筛选三维点,输出当前姿态下的三维模型点云。4.根据权利要求3所述的基于三维点云的目标识别方法,其特征在于,所述筛选三维点,输出当前姿态下的三维模型点云包括步骤:将相机1坐标系下的坐标转换到模型坐标系下,当前模型姿态θX,θY,θZ的坐标系到相机1的坐标系变换为保存此三维坐标计算相机2坐标系下的有效模型三维点先将其转换到相机1的坐标系下然后再转换到模型坐标系下转换公式如下其中,与为相机2坐标系到世界坐标系的转换,与tw←C1为相机1坐标系到世界坐标系的转换。5.根据权利要求4所述的基于三维点云的目标识别方法,其特征在于,还包括步骤:判断三维点的两端直线方向上是否存在相机1的三维坐标点,如不存在,则将加入模型的三维坐标点集合,否则抛弃该三维点。6.根据权利要求1所述的基于三维点云的目标识别方法,其特征在于,所述生成三维点云金字塔包括步骤:创建第1层金字塔,在大小为(WpxlHpxlDpxl)分辨率为resl(l)的三维像素中,搜索位于其中的三维点云,如果每个三维像素中包含的三维点云不为空,则设其为true,否则设为false;创建1层以上的金字塔,三维像素尺寸为Wpxl=Wmax/resl(l)+1,Hpxl=Hmax/resl(l)+1,Dpxl=Dmax/resl(l)+1。7.根据权利要求1所述的基于三维点云的目标识别方法,其特征在于,所述创建1层以上的金字...

【专利技术属性】
技术研发人员:邓亮姚杰严亮陈先开冯良炳
申请(专利权)人:深圳辰视智能科技有限公司
类型:发明
国别省市:广东,44

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1