【技术实现步骤摘要】
一种基于方向直方图签名特征的工件的三维点云配准方法
本专利技术属于机器视觉领域,涉及一种基于方向直方图签名特征的工件的三维点云配准方法。
技术介绍
近年来,机器视觉技术逐渐应用在工业生产中,通过视觉技术实现机械手的三维目标工件的定位抓取是目前研究的热点。定位抓取中的关键一步是获取工件模板和工件目标之间的位姿关系即两者之间的旋转矩阵和平移矩阵,传统的解决方案大多采用的是在二维图像上的配准来获取位姿关系,该方法对光照和物体的摆放位置很敏感,定位容易出现偏差。随着三维技术的成熟,使得基于三维信息解决视觉定位抓取中的配准问题成为可能。基于三维点云数据完成配准不仅可以避免光照影响,同时也可以获得更多的位置信息,降低对物体摆放位置的高要求。在三维点云配准方面,经典的算法是最近迭代点算法,后续的许多配准算法都是在其基础上改进而来。最近迭代点算法要求待配准的两块点云有一个较好的初始位置,否则容易陷入局部最优解而得不到精确解,因此研究如何得到一个较好的初始位置是点云配准的关键一步。
技术实现思路
针对上述现有技术中 ...
【技术保护点】
1.一种基于方向直方图签名特征的工件的三维点云配准方法,其特征在于,包括以下步骤:/n步骤一:输入工件的模板点云Q∈R
【技术特征摘要】
1.一种基于方向直方图签名特征的工件的三维点云配准方法,其特征在于,包括以下步骤:
步骤一:输入工件的模板点云Q∈R3×m和工件的目标点云P∈R3×n,m和n分别是模板点云和目标点云的点数目,m≥n;
步骤二:对目标点云P用内部签名描述算法进行关键点提取,得到关键点集合KeypointP∈R3×l,l为关键点数目,l<n;
步骤三:用方向直方图签名特征描述方法对关键点集合KeypointP中的每一个点进行352维的特征描述提取,得到关键点集合的特征描述集合SHOTP∈Rl×352;用方向直方图签名特征描述方法对模板点云Q中的每一个点进行352维的特征描述提取,得到模板点云的特征描述集合SHOTQ∈Rm×352;
步骤四:在关键点集合KeypointP中随机采样f个点,得到目标配准点集合PT∈R3×f,3≤f≤l,根据步骤三得到的关键点的特征描述,得到f个目标配准点的特征描述集合SHOTPT∈Rf×352;
步骤五:搜索出与目标配准点集合PT∈R3×f对应的模板配准点集合QT∈R3×f;
步骤六:对步骤四和步骤五获取的初始配准点对(PTi,QTi),i=1,2,...,f,计算出每一组点对的距离比值系数δdis(i)和邻域比值系数δNUM(i),i=1,2,...,f;
步骤七:对步骤六计算出来的每一组点对的距离比值系数δdis(i)和邻域比值系数δNUM(i)根据以下步骤进行判断,若成立则保存该组点对,否则不保存:
STEP1:k=1,i=1
STEP2:若0.9≤δdis(i)≤1.1且0.9≤δNUM(i)≤1.1,则k=k+1
STEP3:i=i+1,若i≤f,则转STEP2;否则,转STEP4;
STEP4:s=k-1,结束;
保存的点对构成了最终的配准点对对最终得到的配准点对数目进行判断,若s<3,返回步骤四,否则,转步骤八;
步骤八:对步骤七获取的最终的配准点对利用对偶四元数求解旋转矩阵Rcoarse∈R3×3和平移矩阵Tcoarse∈R3×1;
步骤九:根据式(1)更新目标点云P中的每一个点Pi∈R3×1,得到更新后的目标点云的点Pnew(i),购成更新后的目标点云Pnew∈R3×n,Pnew=[Pnew(1)Pnew(2)...Pnew(i)...Pnew(n)];
Pnew(i)=RcoarseP(i)+Tcoarsei=1,2,...,n(1)
根据式(2)计算模板点云与更新后的目标点云之间的初始配准均方根误差Error1RMSE;
步骤十:若Error1RMSE>Th1,返回步骤四,否则,得到更新后的目标点云Pnew、Rcoarse和Tcoarse并转步骤十一;
其中:Th1为初始配准设定的均方根误差阈值;
步骤十一:对于模板点云Q和更新后的目标点云Pnew,用迭代最近点法实现精确配准,求得最终的旋转矩阵Rfinal∈R3×3和平移矩阵Tfinal∈R3×1;
步骤十二:输出模板与目标之间的位姿关系Rfinal和Tfinal给抓取机械手。
2.根据权利要求1所述的一种基于方向直方图签名特征的工件的三维点云配准方法,其特征在于,其中所述步骤二的具体过程为:用内部签名描述算法提取出目标点云的关键点需对目标点云P中的每一个点Pi∈R3×1,i=1,2,...,n,进行关键点阈值判断,其具体步骤如下:
Step1:初始化参数,置iter=1,j=1,根据式(3)计算出d,根据式(4)设定关键点提取半径r1;
d=min||P1-Pi||,i=2,...,n(3)
1·d≤r1≤1.5·d(4)
其中:Pi∈R3×1是目标点云P中的第i个点,i=1,2,...,n,d是目标点云中所有的点到第一个点之间欧式距离的最小值,||||为计算向量的距离;
Step2:对当前点Piter根据以下步骤找到其半径r1内的所有邻域点:
STEP1:i=1,j=1
STEP2:若||Pj-Piter||≤r1,则Piter_close(i)=Pj,i=i+1
STEP3:j=j+1,若j≤n,则转STEP2;否则,转STEP4;
STEP4:h=i-1,结束;
所有邻域点的集合为Piter_close∈R3×h,根据式(5)对Piter_close中的每一个点Piter_close(i)进行去质心操作得到
其中:h为以点Piter为球心,半径为r1的球型邻域内所包含的点的个数;
Step3:对利用式(6)求得描述该邻域方向的三个特征值e1,e2,e3,求得λ1=min{e1,e2,e3},λ3=max{e1,e2,e3},λ2=e1+e2+e3-λ1-λ3;
其中:v1,v2,v3是特征值e1,e2,e3对应的特征向量;
Step4:根据式(7)进行阈值判断,若式(9)条件成立,保存当前点Piter为关键点KP(j)∈R3×1,KP(j)=Piter,j=j+1,否则不保存该点;
其中:δ1=λ1/λ2是特征值λ1与λ2的比值,δ2=λ2/λ3是特征值λ2与λ3的比值;threshold1是关键点阈值下限,threshold2是关键点阈值上限;
Step5:判断iter是否等于n,是则转Step6;否则iter=iter+1,转Step2;
Step6:最终提取出来的关键点集合为KeypointP∈R3×l,KeypointP=[KP(1)KP(2)...KP(j-1)],l=j-1为提取出来的关键点数目。
3.根据权利要求1所述的一种基于方向直方图签名特征的工件的三维点云配准方法,其特征在于,其中步骤三的具体过程为:对于步骤二提取出的关键点集合KeypointP,对其中的每一个关键点q∈R3×1进行方向直方图签名特征描述提取,q是关键点集合KeypointP中的一个关键点;qclose∈R3×b是在关键点集合KeypointP中关键点q的半径为r2邻域内的邻域点集,关键点q的法向量为nq∈R3×1,邻域点集qclose的法向量分别为nqclose∈R3×b,r2的取值为r1的3~4倍,b是关键点q的半径为r2邻域内的点数目;利用方向直方图签名特征描述方法进行关键点q的特征描述提取的具体步骤为:
Step1:根据式(8)对邻域点集qclose进行去质心得到根据式(9)求得描述该邻域的三个特征值o1,o2,o3及其对应三个特征向量u1,u2,u3,最大特征值所对应的向量作为x轴向量,最小特征值所对应的向量作为z轴向量;
Step2:根据公式(10)和式(11)分别对z轴向量和x轴向量的...
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。