CN110610501B - 一种点云分割方法及装置 - Google Patents
一种点云分割方法及装置 Download PDFInfo
- Publication number
- CN110610501B CN110610501B CN201910879613.XA CN201910879613A CN110610501B CN 110610501 B CN110610501 B CN 110610501B CN 201910879613 A CN201910879613 A CN 201910879613A CN 110610501 B CN110610501 B CN 110610501B
- Authority
- CN
- China
- Prior art keywords
- point cloud
- axis
- image
- data set
- segmentation
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/10—Segmentation; Edge detection
- G06T7/11—Region-based segmentation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/20—Analysis of motion
- G06T7/215—Motion-based segmentation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/10—Image acquisition modality
- G06T2207/10028—Range image; Depth image; 3D point clouds
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/20—Special algorithmic details
- G06T2207/20024—Filtering details
- G06T2207/20032—Median filtering
Landscapes
- Engineering & Computer Science (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Multimedia (AREA)
- Length Measuring Devices By Optical Means (AREA)
- Image Processing (AREA)
Abstract
本申请公开了一种点云分割方法及装置,其中,该方法包括:步骤1,获取待抓取物体的第一点云数据集,根据预设步长增量,计算第一点云数据集的旋转数据集,并合并第一点云数据集和旋转数据集,生成第二点云数据集;步骤2,根据预设点云投影分辨率,选取第二点云数据集中,z坐标值最大的三维点,并进行投影,根据投影图像的熵值最小值,确定选取角度;步骤3,根据选取角度,计算投影图像的直方图,以及分割位置,并生成待抓取物体的点云分割结果;步骤4,根据点云分割结果,确定抓取平面的中心坐标及夹爪姿态,并根据中心坐标和夹爪姿态,生成抓取信息。通过本申请中的技术方案,利用断差数据对定位的影响,提高物体抓取效率。
Description
技术领域
本申请涉及机器视觉的技术领域,具体而言,涉及一种点云分割方法及一种点云分割装置。
背景技术
在常见工业应用中,机械手多负责搬运与装配工作,如加工设备上下料,工件安装焊接等。机械手的引导可以事先通过程序写好,每次按照固定的点位动作,也可以通过视觉传感器或3D传感器进行引导。显然后者更加灵活,适应性更强。为了使抓取视野范围更大,设备运行更灵活,我们会采用传感器与机械臂随动的方式进行项目实施。而由于机械手负重有限,我们需要用最精简的采集设备获相关的数据以引导机械手工作。
而现有技术中,当采用单角度进行扫描时,由于待抓取物体高度不同,导致正对传感器的点云数据点较多,而侧面点云数据点较少,使得点云数据出现断层,这些断层,将对点云配准的精度带来较大的影响。当采用多角度采集拼接图像时,使用多角度拍摄,虽然可以重构出物体较为完整的点云数据,但在实际应用中此方法存在以下缺点:
1)点云数据的获取、重构以及拼接,需要消耗较长时间;
2)多片点云数据融合(拼接)过程中,在点云数据重叠的部分,会引入新的噪声点,对机械手的抓取精度造成影响;
3)当点云数据中存在的孔洞、或点云数据缺失时,会影响点云配准效果。
发明内容
本申请的目的在于:以待抓取物体所在平面为基元,进行点云数据分割,并对待抓取物体定位分析,减少断差数据对定位的影响,提高物体抓取效率。
本申请第一方面的技术方案是:提供了一种点云分割方法,该方法包括:步骤1,获取待抓取物体的第一点云数据集,根据预设步长增量,分别计算第一点云数据集绕x轴和y轴的旋转数据集,并合并第一点云数据集和旋转数据集,生成第二点云数据集;步骤2,根据预设点云投影分辨率,选取第二点云数据集中,z坐标值最大的三维点,并分别在三维坐标系的各个平面上进行投影,生成投影图像,根据投影图像的熵值最小值,确定选取角度;步骤3,根据选取角度,计算投影图像的直方图,以及直方图对应的分割位置,并根据分割位置,生成待抓取物体的点云分割结果;步骤4,根据点云分割结果,确定抓取平面的中心坐标及夹爪姿态,并根据中心坐标和夹爪姿态,生成抓取信息。
上述任一项技术方案中,进一步地,该步骤2中,具体包括:
步骤21,根据预设点云投影分辨率,在第二点云数据集的每一组点云数据中,选取z坐标值最大的三维点,生成第三点云数据集,并在三个坐标平面上进行投影,生成投影图像,其中,投影图像包括沿x轴投影图像、沿y轴投影图像和沿z轴投影图像;
步骤22,根据预设步长增量,在预设步长范围内,计算投影图像中,沿z轴投影图像的熵值H(θ),并选取最小熵值H(θ)对应的角度θ,记作选取角度θs,其中,熵值的计算公式为:
H(θ)=-∑pαβlog(pαβ)
式中,f(α,β)为灰度值组合(α,β)出现的次数,W为图像尺度,即图像所占像素数目,pαβ为特征概率。
上述任一项技术方案中,进一步地,预设步长增量为10°。
上述任一项技术方案中,进一步地,该步骤3中,具体包括:步骤31,根据选取角度θs,确定对应的沿z轴投影图像Zimg,并计算沿z轴投影图像Zimg的直方图,并对直方图进行中值滤波,生成中值数组HistMedain(g);步骤32,计算中值数组HistMedain(g)的分割点,根据沿z轴投影图像Zimg归一化的计算公式,反向计算分割点F(k)的分割位置Fz(k),根据分割位置Fz(k),对沿z轴投影图像Zimgθ进行点云分割,并根据沿z轴投影图像Zimgθ的分割结果,生成待抓取物体的点云分割结果。
上述任一项技术方案中,进一步地,预设点云投影分辨率为三维传感器xy平面最小精度的3倍。
上述任一项技术方案中,进一步地,生成待抓取物体的点云分割结果,具体包括:对中值数组HistMedain(g)进行求导,并利用状态机对该导数进行遍历,搜索波谷拐点,并将波谷拐点记作分割点F(k);根据分割点F(k),对沿z轴投影图像Zimgθ进行分割,形成分割区域,并根据分割区域内三维点的数目,对分割区域进行筛选;根据筛选后的分割区域,生成点云分割结果。
本申请第二方面的技术方案是:提供了一种点云分割装置,采用第一方面技术方案中的任一项所述的点云分割方法,该装置包括:点云分割装置设置于传送装置的上方,连接于运动机构,点云分割装置包括一个三维传感器,三维传感器用于对传送装置上方的待抓取物体进行单次扫描,生成第一点云数据集,该点云分割装置还包括:数据集生成单元,角度确定单元,分割单元以及信息生成单元;数据集生成单元用于根据预设步长增量,分别计算第一点云数据集绕x轴和y轴的旋转数据集,并合并第一点云数据集和旋转数据集,生成第二点云数据集;角度确定单元用于根据预设点云投影分辨率,选取第二点云数据集中,z坐标值最大的三维点,并分别在三维坐标系的各个平面上进行投影,生成投影图像,根据投影图像的熵值最小值,确定选取角度;分割单元用于根据选取角度,计算投影图像的直方图,以及直方图对应的分割位置,并根据分割位置,生成待抓取物体的点云分割结果;信息生成单元用于根据点云分割结果,确定抓取平面的中心坐标及夹爪姿态,并根据中心坐标和夹爪姿态,生成并发送抓取信息至运动机构。
上述任一项技术方案中,进一步地,运动机构为机械手,角度确定单元,具体包括:投影模块,选取模块;投影模块用于根据预设点云投影分辨率,在第二点云数据集的每一组点云数据中,选取z坐标值最大的三维点,生成第三点云数据集,并在三个坐标平面上进行投影,生成投影图像,其中,投影图像包括沿x轴投影图像、沿y轴投影图像和沿z轴投影图像;选取模块用于根据预设步长增量,在预设步长范围内,计算投影图像中,沿z轴投影图像的熵值H(θ),并选取最小熵值H(θ)对应的角度θ,记作选取角度θs。
上述任一项技术方案中,进一步地,预设步长增量为10°。
上述任一项技术方案中,进一步地,预设点云投影分辨率为三维传感器xy平面最小精度的3倍。
上述任一项技术方案中,进一步地,分割单元,具体包括:中值计算模块,结果生成模块;中值计算模块用于根据选取角度θs,确定对应的沿z轴投影图像Zimg,并计算沿z轴投影图像Zimg的直方图,并对直方图进行中值滤波,生成中值数组HistMedain(g);结果生成模块用于计算中值数组HistMedain(g)的分割点,根据沿z轴投影图像Zimg归一化的计算公式,反向计算分割点F(k)的分割位置Fz(k),根据分割位置Fz(k),对沿z轴投影图像Zimgθ进行点云分割,并根据沿z轴投影图像Zimgθ的分割结果,生成待抓取物体的点云分割结果。
本申请的有益效果是:
本申请中的技术方案,利用单次3D扫描,获取待抓取物体的第一点云数据集,并通过数据旋转,以该待抓取物体所在平面为基元,进行点云数据分割,特别是对于具有平面特性的待抓取物体,如包装箱、显示器、手机外壳等,实现了对待抓取物体的定位分析,提高物体抓取效率。
本申请通过采用单角度单次成像,获取到的图像不需要进行拼接,降低了点云数据采集过程的处理时间,避免了点云交叠部分噪声点的引入,并通过对不同坐标平面上点云数据投影的分析,利用单角度获取点云数据中的断层现象,提高了待抓取物体的定位精度。
附图说明
本申请的上述和/或附加方面的优点在结合下面附图对实施例的描述中将变得明显和容易理解,其中:
图1是根据本申请的一个实施例的抓取场景的示意图;
图2是根据本申请的一个实施例的点云分割方法的示意流程图;
图3是根据本申请的一个实施例的拍摄范围划分的示意图;
图4是根据本申请的一个实施例的不同角度投影的示意图;
图5是根据本申请的一个实施例的不同角度投影对应的数据熵的仿真曲线;
图6是根据本申请的一个实施例的拐点搜索的示意图;
图7是根据本申请的一个实施例的点云分割的示意图;
图8是根据本申请的一个实施例的分割结果的示意图。
具体实施方式
为了能够更清楚地理解本申请的上述目的、特征和优点,下面结合附图和具体实施方式对本申请进行进一步的详细描述。需要说明的是,在不冲突的情况下,本申请的实施例及实施例中的特征可以相互结合。
在下面的描述中,阐述了很多具体细节以便于充分理解本申请,但是,本申请还可以采用其他不同于在此描述的其他方式来实施,因此,本申请的保护范围并不受下面公开的具体实施例的限制。
如图1所示,本实施例以包装箱、显示器、手机外壳等表面高度方向具有断差性质的待抓取物体为例,即这个待抓取物体是由多个相互垂直或近似垂直的平面构成的。该待抓取物体被放置在传送带上,由本实施例中的点云分割装置,利用设置在传送带上方的单个三维传感器,对待抓取物体进行单次扫描,获取待抓取物体的点云数据,通过本实施例中的点云分割方法,确定点云数据中、待抓取物体上表面的位置姿态,进而控制抓取装置(如机械手)对待抓取物体进行抓取。
实施例一:
如图2所示,本实施例提供了一种点云分割方法,包括:
步骤1,获取待抓取物体的第一点云数据集P(x,y,z),根据预设步长增量,在预设步长范围内,分别计算第一点云数据集P(x,y,z)绕x轴旋转的x轴点云数据集和、绕y轴旋转的y轴点云数据集,并将第一点云数据集P(x,y,z)、x轴点云数据集和y轴点云数据集合并,生成第二点云数据集P’(x,y,z),其中,x轴点云数据集和y轴点云数据集,记作旋转数据集。
在本实施例中,设定待抓取物体被抓取平面法相方向作为z轴,其前进方向作为y轴,其前进方向的右侧为x轴,建立三维直角坐标系,利用设置在传送带上方的单个三维传感器,对待抓取物体进行单次扫描,获取第一点云数据集P(x,y,z),其中,第一点云数据集P(x,y,z)由多个三维点构成,每一个三维点对应的坐标为(x,y,z),其灰度值为p(x,y,z)。
具体地,在本实施例中,设定预设步长增量Δθ=10°,预设步长范围θt∈[-30°,30°],在绕x轴旋转过程中,考虑到当θx=0时,得到的x轴点云数据集为第一点云数据集P(x,y,z)自身,所以,省去θx=0的情况,因此,θx∈{-30°,-20°,-10°,10°,20°,30°},同理,在绕y轴旋转过程中,θy∈{-30°,-20°,-10°,10°,20°,30°},即x轴点云数据集和y轴点云数据集各包含6组第二点云数据。
合成后的第二点云数据集P’(x,y,z)包含12组第二点云数据和1组第一点云数据集P(x,y,z),每一组点云数据中包含多个三维点。
步骤2,根据预设点云投影分辨率,选取第二点云数据集P’(x,y,z)中,z坐标值最大的三维点,并分别在三维坐标系的各个平面上进行投影,根据投影的熵值H(θ)的最小值,确定选取角度θs。
进一步的,该步骤2中,具体包括:
步骤21,根据预设点云投影分辨率,在第二点云数据集P’(x,y,z)的每一组点云数据中,选取z坐标值最大的三维点,生成第三点云数据集Ppjt(xp,yp,zp),并在三个坐标平面上进行投影,生成投影图像,其中,投影图像包括沿x轴投影图像、沿y轴投影图像和沿z轴投影图像。
优选地,所述预设点云投影分辨率为三维传感器xy平面最小精度的3倍。
在本实施例中,设定三维传感器在x轴方向的精度为0.05mm,在y轴方向的精度为0.1mm,因此,预设点云投影分辨率ΔS=0.05mm*3=0.15mm。
根据预设点云投影分辨率ΔS,将三维传感器在xy平面的拍摄范围划分为N*M个区域,如图3所示,将任一区域记作S(i,j),i=0,1,2,…,N-1,j=0,1,2,…,M-1,其中,
N=(max(X)-min(X))/ΔS,
M=(max(Y)-min(Y))/ΔS,
式中,max(·)为三维传感器在对应坐标轴拍摄范围的最大坐标值,min(·)为三维传感器在对应坐标轴拍摄范围的最小坐标值。
对于第二点云数据集P’(x,y,z)的每一组第二点云数据,在每一个区域S(i,j)范围内,选取z坐标值最大的三维点,可以从每一组第二点云数据中,选取M*N个三维点,记作第三点云数据,由这13组第三点云数据,生成第三点云数据集Ppjt(xp,yp,zp),再将第三点云数据集Ppjt(xp,yp,zp)进行投影,每一组第三点云数据,分别生成三张投影图像,分别记作沿x轴投影图像Ximg、沿y轴投影图像Yimg和沿z轴投影图像Zimg,其中,沿z轴投影图像Zimg的宽和高分别为N和M,图像Zimg中第三三维点坐标I(i,j)与区域S(i,j)相对应,其灰度值为区域S(i,j)内、z值最大的三维点的z坐标值,即zpij。
沿x轴投影图像Ximg与沿z轴投影图像Zimg的尺寸一致,图像Ximg中第三三维点坐标I(i,j)与区域S(i,j)相对应,其灰度值为区域S(i,j)内、z值最大的三维点的X坐标值,即xpij。
沿y轴投影图像Yimg与沿z轴投影图像Zimg的尺寸一致,图像Yimg中第三三维点坐标I(i,j)与区域S(i,j)相对应,其灰度值为S(i,j)区域内、z值最大的三维点的Y坐标值,即ypij。当θx=-30°、0°、30°时,沿z轴投影图像Zimg依次如图4(a)、图4(b)、图4(c)所示。
步骤22,根据预设步长增量,在预设步长范围内,计算投影图像中沿z轴投影图像的熵值H(θ),并选取最小熵值H(θ)对应的角度θ,记作选取角度θs,其中,熵值的计算公式为:
H(θ)=-∑pαβlog(pαβ)
W=N*M
式中,f(α,β)为灰度值组合(α,β)出现的次数,W为图像尺度,即图像所占像素数目,pαβ为特征概率。
具体地,通过计算上述熵值H(θ),不仅能够反映出点云数据集的灰度分布特征,还能够反映梯度分布特征,可以更最好的体现点云数据集的信息含量。
对于待抓取物体的被测平面,无论该平面往哪个方向倾斜,都会导致不同的邻域梯度产生,而如果投影后Z轴垂直于该平面,则该平面附近梯度变化趋近于0,使得0梯度出现的概率大大增加,混合程度大大降低。所以,可以以此作为判据,获取与Z轴相对垂直的平面,从而得到投影时重叠点较少的投影方向,即选取角度θs。
在实际应用中,由遮挡产生的断差会导致垂直于被测平面的投影图像出现数据缺失或数据跳变现象,而三维传感器所获取的点云数据,其z方向垂直于待抓取物体的放置平面,但由于安装误差、以及待抓取物体顶面与底面不平行等情况,会引起投影时,过多的数据点相互重叠,即在一个区域S(i,j)中,会包含很多数据点,由于我们只选取z坐标值最大的三维点进行采样,因此,其余三维点的数据将不进入后续的计算。
为了提高点云数据的利用率,我们希望每个区域S(i,j)内,都包含有意义的值,因此,求所有第二点云数据集P’(x,y,z),计算沿z轴投影图像Zimg的信息熵,以此,获得拥有最大信息量的旋转角度。
首先,将全部的第三组点云数据对应的沿z轴投影图像Zimg进行图像归一化,生成归一化沿z轴投影图像Zimg’。
将沿z轴投影图像Zimg在量程范围内进行归一化,使得沿z轴投影图像Zimg中,归一化后的第三三维点的灰度值Zimg’(i,j)在[0,255]之间,其中,量程由待抓取物体的最大测量高度确定,沿z轴投影图像Zimg归一化的计算公式为:
Zimg’(i,j)=255*(Zimg(i,j)-Zmin)/(Zmax-Zmin)
式中,Zmin为沿z轴投影图像Zimg中的最小灰度值,Zmax为沿z轴投影图像Zimg中的最大灰度值。
Zimg(i,j)为第三三维点(i,j)的灰度值,Zimg’(i,j)为第三三维点(i,j)归一化后的灰度值。
其次,对归一化沿z轴投影图像Zimg’进行均值滤波,生成滤波图像ZimgMean’。
统计图像分布特征f(α,β)频数,其中,α为归一化沿z轴投影图像Zimg’的灰度值,α∈(0,255),β为滤波图像ZimgMean’的灰度值,β∈(0,255),f(α,β)为该灰度值组合(α,β)出现的次数。
然后,根据预设步长增量,在预设步长范围内,计算投影图像中沿z轴投影图像的熵值H(θ),如图5所示,熵值H(θ)的计算公式为:
H(θ)=-∑pαβlog(pαβ)
W=N*M
式中,W为图像尺度,即图像所占像素数目,pαβ为特征概率。
最后,选取熵值H(θ)的最小值,将该熵值最小值对应的角度θ,记作选取角度θs。
步骤3,根据选取角度,计算投影图像的直方图,以及直方图对应的分割位置,并根据分割位置,生成待抓取物体的点云分割结果。
进一步的,该步骤3中,具体包括:
步骤31,根据选取角度θs,确定选取角度θs对应的沿z轴投影图像Zimg,并计算该沿z轴投影图像Zimg的直方图,并对计算出的直方图进行中值滤波,生成中值数组HistMedain(g)。
具体地,直方图反映了灰度值的聚集情况,对于沿z轴投影图像Zimg,它反映了三维点沿Z轴的聚集情况,即Z相近的点,换言之,就是近似在同一平面的点。考虑到数据存在误差,导致直方图会产生尖峰,而本实施例需要分析的是直方图的趋势,因此,先使用中值滤波算法,滤掉直方图中的尖峰,保留直方图的趋势,以便进行后续分析。
根据选取角度θs,确定对应的沿x轴投影图像Ximgθ、沿y轴Yimgθ和沿z轴Zimgθ。
根据待抓取物体的量程范围,将Zimgθ在[0,255]范围内进行归一化,计算归一化后的图像直方图Hist(g),其中,图像直方图Hist(g)的计算公式为:
式中,g为图像灰度级,Num(g)为图像中灰度级为g的像素的数目。
之后,对计算出的图像直方图Hist(g),进行窗口为5的中值滤波,生成中值数组HistMedain(g),中值滤波的计算公式为:
式中,Medain(Hist(k))为灰度值g-2到g+2所对应的Hist(k)值排序后的中间值。
步骤32,计算中值数组HistMedain(g)的分割点,根据沿z轴投影图像Zimg归一化的计算公式,反向计算分割点F(k)的分割位置Fz(k),根据分割位置Fz(k),对选取角度θs对应的沿z轴投影图像Zimgθ进行点云分割,并根据沿z轴投影图像Zimgθ的分割结果,生成待抓取物体的点云分割结果。
具体地,首先,对离散的中值数组HistMedain(g)进行求导,计算公式为:
Hist’(g)=HistMedain(g+1)-HistMedain(g)g∈(0,254)
之后,利用状态机,遍历中值数组HistMedain(g)的导数Hist’(g),在搜索范围内,搜索数组F对应的波谷拐点,将该波谷拐点记作分割点。
设定:
当Hist’(g)>0时,状态机Sta=1;
当Hist’(g)=0时,状态机Sta=0;
当Hist’(g)<0时,状态机Sta=-1。
当状态机Sta从-1或0,变为1时,记录对应的灰度级g,存入数组F中,数组F的长度为w,数组F中的每个元素保存直方图中一个拐点的灰度值F(k),k∈[0,w)。
根据预设参数MinDis,搜索数组F对应的波谷拐点。
如图6所示,根据预设参数MinDis,在灰度级g∈(F(k)-MinDis,F(k)+MinDis)的搜索范围内,搜索数组F中,对每一个数据进行非极小值抑制,保留直方图中较低拐点,即波谷拐点,将该波谷拐点记作分割点F(k)。
更具体的,如图7所示,根据分割点F(k)对沿z轴投影图像Zimgθ进行分割,分割后可根据分割区域内三维点的数目对分割区域进行筛选,筛除分割点数目较小的分割区域,以去除干扰,由于Zimgθ与Ximgθ、Yimgθ存在一一对应关系,即:
第三点云数据集Ppjt(xp,yp,zp)中的每一组第三点云数据,对应于其沿x、y、z轴进行投影之后的三张投影图像,而每一张投影图像,又对应这一个直方图,因此:
Ppjt(x(i,j),y(i,j),z(i,j))=[Ximgθ(i,j),Yimgθ(i,j),Zimgθ(i,j)]
进而,根据沿z轴投影图像Zimgθ的分割结果,可生成点云分割结果,如图8所示。
步骤4,根据待抓取物体的点云分割结果,确定抓取平面的中心坐标及待抓取物体的夹爪姿态,进而根据中心坐标和夹爪姿态,生成并发送抓取信息至机械手,其中,抓取信息用于控制机械手抓取待抓取物体。
具体的,在抓取过程中,机械手一般悬于待抓取物体上方,并根据待抓取物体的角度进行抓取,因此,我们需要为机械手提供抓取位置(x,y,z)与夹爪姿态(夹爪方向向量)。
设割后一组点云为Psg(x,y,z),其中心可表示为:
PsgCenter(Mean(x),Mean(y),Mean(z))
抓取方向则可以通过该平面平均法向量进行计算,取平面任一点E0,搜索距离E0最近的点E1和次近点E2,则点E0的法向量可表示为:
对于形状较为简单点的待抓取物体,分割后的点云可以直接用于定位引导。如包裹纸箱等,可选择特定高度范围包含点数较多的点云作为抓取平面,以该平面对点云重心作为抓取位置,以该平面法向量方向作为夹爪姿态,对该箱体进行抓取。
实施例二:
本实施例提供了一种点云分割装置,利用如实施例一中的点云分割方法抓取待抓取物体,该点云分割装置设置于传送装置的上方,连接于运动机构,点云分割装置包括一个三维传感器,三维传感器用于对传送装置上方的待抓取物体进行单次扫描,生成第一点云数据集,该点云分割装置还包括:数据集生成单元,角度确定单元,分割单元以及信息生成单元;
在本实施例中,设定待抓取物体被抓取平面法相方向作为z轴,其前进方向作为y轴,其前进方向的右侧为x轴,建立三维直角坐标系,利用设置在传送带上方的单个三维传感器,对待抓取物体进行单次扫描,获取第一点云数据集P(x,y,z),其中,第一点云数据集P(x,y,z)由多个三维点构成,每一个三维点对应的坐标为(x,y,z),其灰度值为p(x,y,z)。
数据集生成单元用于根据预设步长增量,分别计算第一点云数据集绕x轴和y轴的旋转数据集,并合并第一点云数据集和旋转数据集,生成第二点云数据集;
具体地,在本实施例中,设定预设步长增量Δθ=10°,预设步长范围θt∈[-30°,30°],在绕x轴旋转过程中,考虑到当θx=0时,得到的x轴点云数据集P’θx为第一点云数据集P(x,y,z)自身,所以,省去θx=0的情况,因此,θx∈{-30°,-20°,-10°,10°,20°,30°},同理,在绕y轴旋转过程中,θy∈{-30°,-20°,-10°,10°,20°,30°},即x轴点云数据集和y轴点云数据集各包含6组第二点云数据。
合成后的第二点云数据集P’(x,y,z)包含12组第二点云数据和1组第一点云数据集P(x,y,z),每一组点云数据中包含多个三维点。
角度确定单元用于根据预设点云投影分辨率,选取第二点云数据集中,z坐标值最大的三维点,并分别在三维坐标系的各个平面上进行投影,生成投影图像,根据投影图像的熵值最小值,确定选取角度;
进一步地,运动机构为机械手,角度确定单元,具体包括:投影模块,选取模块;
投影模块用于根据预设点云投影分辨率,在第二点云数据集的每一组点云数据中,选取z坐标值最大的三维点,生成第三点云数据集,并在三个坐标平面上进行投影,生成投影图像,其中,投影图像包括沿x轴投影图像、沿y轴投影图像和沿z轴投影图像;
优选地,预设点云投影分辨率为三维传感器xy平面最小精度的3倍。
在本实施例中,设定三维传感器在x轴方向的精度为0.05mm,在y轴方向的精度为0.1mm,因此,预设点云投影分辨率ΔS=0.05mm*3=0.15mm。
根据预设点云投影分辨率ΔS,将三维传感器在xy平面的拍摄范围划分为N*M个区域,将任一区域记作S(i,j),i=0,1,2,…,N-1,j=0,1,2,…,M-1,其中,
N=(max(X)-min(X))/ΔS,
M=(max(Y)-min(Y))/ΔS,
式中,max(·)为三维传感器在对应坐标轴拍摄范围的最大坐标值,min(·)为三维传感器在对应坐标轴拍摄范围的最小坐标值。
对于第二点云数据集P’(x,y,z)的每一组第二点云数据,在每一个区域S(i,j)范围内,选取z坐标值最大的三维点,可以从每一组第二点云数据中,选取M*N个三维点,记作第三点云数据,由这13组第三点云数据,生成第三点云数据集Ppjt(xp,yp,zp),再将第三点云数据集Ppjt(xp,yp,zp)进行投影,每一组第三点云数据,分别生成三张投影图像,分别记作沿x轴投影图像Ximg、沿y轴投影图像Yimg和沿z轴投影图像Zimg,其中,沿z轴投影图像Zimg的宽和高分别为N和M,图像Zimg中第三三维点坐标I(i,j)与区域S(i,j)相对应,其灰度值为区域S(i,j)内、z值最大的三维点的z坐标值,即zpij。
沿x轴投影图像Ximg与沿z轴投影图像Zimg的尺寸一致,图像Ximg中第三三维点坐标I(i,j)与区域S(i,j)相对应,其灰度值为区域S(i,j)内、z值最大的三维点的X坐标值,即xpij。
沿y轴投影图像Yimg与沿z轴投影图像Zimg的尺寸一致,图像Yimg中第三三维点坐标I(i,j)与区域S(i,j)相对应,其灰度值为S(i,j)区域内、z值最大的三维点的Y坐标值,即ypij。
选取模块用于根据预设步长增量,在预设步长范围内,计算投影图像中,沿z轴投影图像的熵值H(θ),并选取最小熵值H(θ)对应的角度θ,记作选取角度θs。
具体地,在实际应用中,由遮挡产生的断差会导致垂直于被测平面的投影图像出现数据缺失或数据跳变现象,而三维传感器所获取的点云数据,其z方向垂直于待抓取物体的放置平面,但由于安装误差、以及待抓取物体顶面与底面不平行等情况,会引起投影时,过多的数据点相互重叠,即在一个区域S(i,j)中,会包含很多数据点,由于我们只选取z坐标值最大的三维点进行采样,因此,其余三维点的数据将不进入后续的计算。
为了提高点云数据的利用率,我们希望每个区域S(i,j)内,都包含有意义的值,因此,求所有第二点云数据集P’(x,y,z),计算沿z轴投影图像Zimg的信息熵,以此,获得拥有最大信息量的旋转角度。
首先,将全部的第三组点云数据对应的沿z轴投影图像Zimg进行图像归一化,生成归一化沿z轴投影图像Zimg’。
将沿z轴投影图像Zimg在量程范围内进行归一化,使得沿z轴投影图像Zimg中,归一化后的第三三维点的灰度值Zimg’(i,j)在[0,255]之间,其中,量程由待抓取物体的最大测量高度确定,沿z轴投影图像Zimg归一化的计算公式为:
Zimg’(i,j)=255*(Zimg(i,j)-Zmin)/(Zmax-Zmin)
式中,Zmin为沿z轴投影图像Zimg中的最小灰度值,Zmax为沿z轴投影图像Zimg中的最大灰度值。
Zimg(i,j)为第三三维点(i,j)的灰度值,Zimg’(i,j)为第三三维点(i,j)归一化后的灰度值。
其次,对归一化沿z轴投影图像Zimg’进行均值滤波,生成滤波图像ZimgMean’。
统计图像分布特征f(α,β)频数,其中,α为归一化沿z轴投影图像Zimg’的灰度值,α∈(0,255),β为滤波图像ZimgMean’的灰度值,β∈(0,255),f(α,β)为该灰度值组合(α,β)出现的次数。
然后,根据预设步长增量,在预设步长范围内,计算投影图像中沿z轴投影图像的熵值H(θ),熵值H(θ)的计算公式为:
H(θ)=-∑pαβlog(pαβ)
W=N*M
式中,W为图像尺度,即图像所占像素数目,pαβ为特征概率。
最后,选取熵值H(θ)的最小值,将该熵值最小值对应的角度θ,记作选取角度θs。
分割单元用于根据选取角度,计算投影图像的直方图,以及直方图对应的分割位置,并根据分割位置,生成待抓取物体的点云分割结果;
进一步地,分割单元,具体包括:中值计算模块,结果生成模块;
中值计算模块用于根据选取角度θs,确定对应的沿z轴投影图像Zimg,并计算沿z轴投影图像Zimg的直方图,并对直方图进行中值滤波,生成中值数组HistMedain(g);
具体地,根据选取角度θs,确定对应的沿x轴投影图像Ximgθ、沿y轴Yimgθ和沿z轴Zimgθ。
根据待抓取物体的量程范围,将Zimgθ在[0,255]范围内进行归一化,计算归一化后的图像直方图Hist(g),其中,图像直方图Hist(g)的计算公式为:
式中,g为图像灰度级,Num(g)为图像中灰度级为g的像素的数目。
之后,对计算出的图像直方图Hist(g),进行窗口为5的中值滤波,生成中值数组HistMedain(g),中值滤波的计算公式为:
式中,Medain(Hist(k))为灰度值g-2到g+2所对应的Hist(k)值排序后的中间值。
结果生成模块用于计算中值数组HistMedain(g)的分割点,根据沿z轴投影图像Zimg归一化的计算公式,反向计算分割点F(k)的分割位置Fz(k),根据分割位置Fz(k),对沿z轴投影图像Zimgθ进行点云分割,并根据沿z轴投影图像Zimgθ的分割结果,生成待抓取物体的点云分割结果。
具体地,首先,对离散的中值数组HistMedain(g)进行求导,计算公式为:
Hist’(g)=HistMedain(g+1)-HistMedain(g)g∈(0,254)
之后,利用状态机,遍历中值数组HistMedain(g)的导数Hist’(g),在搜索范围内,搜索数组F对应的波谷拐点,将该波谷拐点记作分割点。
设定:
当Hist’(g)>0时,状态机Sta=1;
当Hist’(g)=0时,状态机Sta=0;
当Hist’(g)<0时,状态机Sta=-1。
当状态机Sta从-1或0,变为1时,记录对应的灰度级g,存入数组F中,数组F的长度为w,数组F中的每个元素保存直方图中一个拐点的灰度值F(k),k∈[0,w)。
根据预设参数MinDis,搜索数组F对应的波谷拐点,并在灰度级g∈(F(k)-MinDis,F(k)+MinDis)的搜索范围内,搜索数组F中,对每一个数据进行非极小值抑制,保留直方图中较低拐点,即波谷拐点,将该波谷拐点记作分割点F(k)。
更具体的,根据分割点F(k)对沿z轴投影图像Zimgθ进行分割,分割后可根据分割区域内三维点的数目对分割区域进行筛选,筛除分割点数目较小的分割区域,以去除干扰,由于Zimgθ与Ximgθ、Yimgθ存在一一对应关系,即:
第三点云数据集Ppjt(xp,yp,zp)中的每一组第三点云数据,对应于其沿x、y、z轴进行投影之后的三张投影图像,而每一张投影图像,又对应这一个直方图,因此:
Ppjt(x(i,j),y(i,j),z(i,j))=[Ximgθ(i,j),Yimgθ(i,j),Zimgθ(i,j)]
进而,根据沿z轴投影图像Zimgθ的分割结果,可生成点云分割结果。
信息生成单元用于根据点云分割结果,确定抓取平面的中心坐标及夹爪姿态,并根据中心坐标和夹爪姿态,生成并发送抓取信息至运动机构。
具体的,在抓取过程中,机械手一般悬于待抓取物体上方,并根据待抓取物体的角度进行抓取,因此,我们需要为机械手提供抓取位置(x,y,z)与夹爪姿态(夹爪方向向量)。
设割后一组点云为Psg(x,y,z),其中心可表示为:
PsgCenter(Mean(x),Mean(y),Mean(z))
抓取方向则可以通过该平面平均法向量进行计算,取平面任一点E0,搜索距离E0最近的点E1和次近点E2,则点E0的法向量可表示为:
对于形状较为简单点的待抓取物体,分割后的点云可以直接用于定位引导。如包裹纸箱等,可选择特定高度范围包含点数较多的点云作为抓取平面,以该平面对点云重心作为抓取位置,以该平面法向量方向作为夹爪姿态,对该箱体进行抓取。
以上结合附图详细说明了本申请的技术方案,本申请提出了一种点云分割方法及装置,其中,该方法包括:步骤1,获取待抓取物体的第一点云数据集,根据预设步长增量,计算第一点云数据集的旋转数据集,并合并第一点云数据集和旋转数据集,生成第二点云数据集;步骤2,根据预设点云投影分辨率,选取第二点云数据集中,z坐标值最大的三维点,并进行投影,根据投影图像的熵值最小值,确定选取角度;步骤3,根据选取角度,计算投影图像的直方图,以及分割位置,并生成待抓取物体的点云分割结果;步骤4,根据点云分割结果,确定抓取平面的中心坐标及夹爪姿态,并根据中心坐标和夹爪姿态,生成抓取信息。通过本申请中的技术方案,减少断差数据对定位的影响,提高物体抓取效率。
本申请中的步骤可根据实际需求进行顺序调整、合并和删减。
本申请装置中的单元可根据实际需求进行合并、划分和删减。
尽管参考附图详地公开了本申请,但应理解的是,这些描述仅仅是示例性的,并非用来限制本申请的应用。本申请的保护范围由附加权利要求限定,并可包括在不脱离本申请保护范围和精神的情况下针对发明所作的各种变型、改型及等效方案。
Claims (10)
1.一种点云分割方法,其特征在于,该方法包括:
步骤1,获取待抓取物体的第一点云数据集,根据预设步长增量,分别计算所述第一点云数据集绕x轴和y轴的旋转数据集,并合并所述第一点云数据集和所述旋转数据集,生成第二点云数据集;
步骤2,根据预设点云投影分辨率,选取所述第二点云数据集中,z坐标值最大的三维点,并分别在三维坐标系的各个平面上进行投影,生成投影图像,根据所述投影图像的熵值最小值,确定选取角度,其中,所述步骤2中,具体包括:
步骤21,根据所述预设点云投影分辨率,在所述第二点云数据集的每一组点云数据中,选取z坐标值最大的三维点,生成第三点云数据集,并在三个坐标平面上进行投影,生成所述投影图像,其中,所述投影图像包括沿x轴投影图像、沿y轴投影图像和沿z轴投影图像;
步骤3,根据所述选取角度,计算所述投影图像的直方图,以及所述直方图对应的分割位置,并根据所述分割位置,生成所述待抓取物体的点云分割结果;
步骤4,根据所述点云分割结果,确定抓取平面的中心坐标及夹爪姿态,并根据所述中心坐标和所述夹爪姿态,生成抓取信息。
5.如权利要求2至4中任一项所述的点云分割方法,其特征在于,所述预设点云投影分辨率为三维传感器xy平面最小精度的3倍。
6.如权利要求4所述的点云分割方法,其特征在于,生成所述待抓取物体的所述点云分割结果,具体包括:
对所述中值数组HistMedain(g)进行求导,并利用状态机对该导数进行遍历,搜索波谷拐点,并将所述波谷拐点记作所述分割点F(k);
根据所述分割点F(k),对所述沿z轴投影图像Zimgθ进行分割,形成分割区域,并根据所述分割区域内三维点的数目,对所述分割区域进行筛选;
根据筛选后的分割区域,生成所述点云分割结果。
7.一种点云分割装置,采用如权利要求1至6中任一项所述的点云分割方法,其特征在于,所述点云分割装置设置于传送装置的上方,连接于运动机构,所述点云分割装置包括一个三维传感器,所述三维传感器用于对所述传送装置上方的待抓取物体进行单次扫描,生成第一点云数据集,该点云分割装置还包括:数据集生成单元,角度确定单元,分割单元以及信息生成单元;
所述数据集生成单元用于根据预设步长增量,分别计算所述第一点云数据集绕x轴和y轴的旋转数据集,并合并所述第一点云数据集和所述旋转数据集,生成第二点云数据集;
所述角度确定单元用于根据预设点云投影分辨率,选取所述第二点云数据集中,z坐标值最大的三维点,并分别在三维坐标系的各个平面上进行投影,生成投影图像,根据所述投影图像的熵值最小值,确定选取角度;
所述分割单元用于根据所述选取角度,计算所述投影图像的直方图,以及所述直方图对应的分割位置,并根据所述分割位置,生成所述待抓取物体的点云分割结果;
所述信息生成单元用于根据所述点云分割结果,确定抓取平面的中心坐标及夹爪姿态,并根据所述中心坐标和所述夹爪姿态,生成并发送抓取信息至所述运动机构。
10.如权利要求8所述的点云分割装置,其特征在于,所述预设点云投影分辨率为三维传感器xy平面最小精度的3倍。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910879613.XA CN110610501B (zh) | 2019-09-18 | 2019-09-18 | 一种点云分割方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910879613.XA CN110610501B (zh) | 2019-09-18 | 2019-09-18 | 一种点云分割方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110610501A CN110610501A (zh) | 2019-12-24 |
CN110610501B true CN110610501B (zh) | 2022-04-29 |
Family
ID=68891456
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910879613.XA Active CN110610501B (zh) | 2019-09-18 | 2019-09-18 | 一种点云分割方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110610501B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112330699B (zh) * | 2020-11-14 | 2022-09-16 | 重庆邮电大学 | 一种基于重叠区域对齐的三维点云分割方法 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103955920A (zh) * | 2014-04-14 | 2014-07-30 | 桂林电子科技大学 | 基于三维点云分割的双目视觉障碍物检测方法 |
CN105844629A (zh) * | 2016-03-21 | 2016-08-10 | 河南理工大学 | 一种大场景城市建筑物立面点云自动分割方法 |
CN109872350A (zh) * | 2019-02-18 | 2019-06-11 | 重庆市勘测院 | 一种新的点云自动配准方法 |
CN109872329A (zh) * | 2019-01-28 | 2019-06-11 | 重庆邮电大学 | 一种基于三维激光雷达的地面点云快速分割方法 |
CN109961440A (zh) * | 2019-03-11 | 2019-07-02 | 重庆邮电大学 | 一种基于深度图的三维激光雷达点云目标分割方法 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
GB2532948B (en) * | 2014-12-02 | 2021-04-14 | Vivo Mobile Communication Co Ltd | Object Recognition in a 3D scene |
-
2019
- 2019-09-18 CN CN201910879613.XA patent/CN110610501B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103955920A (zh) * | 2014-04-14 | 2014-07-30 | 桂林电子科技大学 | 基于三维点云分割的双目视觉障碍物检测方法 |
CN105844629A (zh) * | 2016-03-21 | 2016-08-10 | 河南理工大学 | 一种大场景城市建筑物立面点云自动分割方法 |
CN109872329A (zh) * | 2019-01-28 | 2019-06-11 | 重庆邮电大学 | 一种基于三维激光雷达的地面点云快速分割方法 |
CN109872350A (zh) * | 2019-02-18 | 2019-06-11 | 重庆市勘测院 | 一种新的点云自动配准方法 |
CN109961440A (zh) * | 2019-03-11 | 2019-07-02 | 重庆邮电大学 | 一种基于深度图的三维激光雷达点云目标分割方法 |
Non-Patent Citations (2)
Title |
---|
Robust Segmentation in Laser Scanning 3D Point Cloud Data;Abdul Nurunnabi等;《2012 International Conference on Digital Image Computing Techniques and Applications (DICTA)》;20130117;第1-8页 * |
车载LiDAR点云相连行道树精细分割;张西童等;《测绘科学》;20160831;第41卷(第8期);第111-115页 * |
Also Published As
Publication number | Publication date |
---|---|
CN110610501A (zh) | 2019-12-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP2927945B1 (en) | X-ray inspection apparatus for inspecting semiconductor wafers | |
US8311311B2 (en) | Optical aberration correction for machine vision inspection systems | |
Sun et al. | Zhang | |
US8508591B2 (en) | System and method for estimating the height of an object using tomosynthesis-like techniques | |
CN110610501B (zh) | 一种点云分割方法及装置 | |
DE102013211240A1 (de) | Bereichsmessvorrichtung und Bereichsmessverfahren | |
CN112102375B (zh) | 一种点云配准可靠性检测的方法、装置、移动智慧设备 | |
CN115298513A (zh) | 带有绳索附接装置的用于绳索的三维光学测量移动设备 | |
CN115816471A (zh) | 多视角3d视觉引导机器人的无序抓取方法、设备及介质 | |
EP1653406B1 (en) | Method and apparatus for the correction of nonlinear field of view distortion of a digital imaging system | |
EP0676057B1 (de) | Verfahren und vorrichtng zum aufnehmen eines entfernungsbildes | |
IL294522A (en) | System and method for automatic control of items | |
CN110044296B (zh) | 3d形状的自动跟踪方法和测量机 | |
US6977985B2 (en) | X-ray laminography system having a pitch, roll and Z-motion positioning system | |
CA3199809A1 (en) | Deep learning based image enhancement for additive manufacturing | |
JP6805200B2 (ja) | 移動制御装置、移動制御方法および移動制御プログラム | |
CN112734838A (zh) | 一种空间目标定位方法、设备及存储介质 | |
CN105758329A (zh) | 光学式表面轮廓扫描*** | |
WO2022260028A1 (ja) | 外観検査装置、外観検査方法、画像生成装置および画像生成方法 | |
EP4332499A1 (en) | Three-dimensional measuring apparatus, three-dimensional measuring method, storage medium, system, and method for manufacturing an article | |
NL2029928B1 (en) | Method and camera system for detecting substrate positions in a substrate cassette | |
WO2022153743A1 (ja) | 判定システム、判定方法及びプログラム | |
CN118212304A (zh) | 一种基于图像增强与深度学习的多相机高精度标定方法及电子设备 | |
CN117146710B (zh) | 基于主动视觉的动态投影三维重建***及方法 | |
CN117522992A (zh) | 深度相机的外参自标定*** |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |