利索能及
我要发布
收藏
专利号: 2021106769597
申请人: 常州大学
专利类型:发明专利
专利状态:已下证
更新日期:2025-12-22
缴费截止日期: 暂无
联系人

摘要:

权利要求书:

1.一种结合深度学习和轮廓点云重建的目标位姿估计方法,其特征在于,包括以下步骤:S1、对双目摄像机进行标定并立体校正,选取多种目标作为分析对象,通过YOLOv4网络训练多种目标,建立多种目标检测网络模型;

S2、使用训练得到的目标检测网络模型识别出左、右摄像机图像中的目标,并得到目标的边界区域;

S3、对左右摄像机图像中检测的目标的边界区域使用LSD算法进行直线段检测;

S4、结合深度学习目标检测网络的输出的类别、边界区域和多约束的方法对直线段进行匹配;

S5、重建目标的轮廓点云;

S6、使用点云配准的方法对目标进行位姿估计;

步骤S3包括:

S31、取出所有直线段的端点,把欧式距离小于设定阈值d的端点归为同一组;

S32、针对具体的任一组端点,如果该组中端点个数大于等于2,则将该组端点合并为同一点,记为Pr,Pr计算如下:其中,Pi为当前组中任意两端点分别所属直线段延长线的交点,n为组中端点的个数,表示从n个端点中任取2个端点的组合数;

S33、使用Pr作为该组端点所在直线段的公共端点,得到优化重构后的直线段;

所述步骤S4包括:

S41、计算所有优化重构后的直线段的长度s,以及直线段与图像横轴正方向的夹角θ;

S42、对左摄像机图像中的某一条待匹配直线段ll,记录其所属的目标边界区域Rectl,然后在右摄像机图像中找到相同目标的边界区域Rectr,取出Rectr中的所有直线段,记为直线段集合Lr;

S43、在直线段集合Lr中剔除中点横坐标大于ll中点横坐标的直线段,得到新的直线段集合L′r;

S44、计算ll与集合L'r中每条直线段lr(lr∈Lr)的水平误差Ee、长度误差Es和角度误差Eθ:其中,yls、yrs分别为ll和lr的起始端点的纵坐标,yle、yre分别为ll和lr的终止端点的纵坐标;sl、sr分别为直线段ll和lr的长度;θl、θr分别为直线段ll和lr与图像横轴正方向的夹角;

S45、将Ee,Es,Eθ按照E=[Ee Es Eθ]的形式拼接成一个匹配误差向量E,对E中的每一个值进行归一化;

S46、计算直线段ll与集合Lr中的每条直线段的匹配误差值Etotal:取Etotal值最小的直线段作为ll的匹配直线段;

所述步骤S5包括:

S51、设左、右摄像机图像中匹配直线段起始端点、终止端点分别为pls(uls,vls)、ple(ule,vle)和prs(urs,vrs)、pre(ure,vre),将pls(uls,vls)和prs(urs,vrs)的uls、urs、vls值分别代入式(4)的ul、ur、vl重建出三维空间直线段的起始端点Ps(xs,ys,zs);再将ple(ule,vle)和pre(ure,vre)的ule、ure、vle值分别代入式(4)的ul、ur、vl重建出三维空间直线段的终止端点Pe(xe,ye,ze):其中,ul、ur为待重建点分别在左、右摄像机图像中的横坐标,vl为待重建点在左摄像机图像中的纵坐标,b是双目摄像机的基线距离,(u0,v0)是左摄像机光轴中心的坐标值,f是两摄像机的焦距,(Xc,Yc,Zc)为重建出的点在左摄像机坐标系下的三维坐标;

S52、根据重建出的两个三维端点Ps和Pe计算其所表示的空间直线方程L(x,y,z),计算公式为:直线L(x,y,z)的方向向量为n(xe‑xs,ye‑ys,ze‑zs),再进行单位化后为nunit(xunit,yunit,zunit);

S53、代入三维空间直线段起始端点Ps(xs,ys,zs)至式(6)的(xi‑1,yi‑1,zi‑1),然后逐步迭代至终止端点Pe(xe,ye,ze)生成该空间直线段的点云:其中,(xi,yi,zi)为迭代过程中当前点的坐标,(xi‑1,yi‑1,zi‑1)为前一点的坐标,ΔS为预先设定的迭代步长,也即离散出的三维点云中相邻点之间的空间距离;

S54、生成所有匹配直线段的点云,得到目标的轮廓点云。

2.如权利要求1所述的结合深度学习和轮廓点云重建的目标位姿估计方法,其特征在于,所述步骤S6包括:S61、在离线状态下,使用CAD生成待检测目标的完整轮廓点云作为模板点云,并计算其快速点特征直方图(FPFH);

S62、将步骤S61生成的模板点云作为源点云P,将重建出的目标的轮廓点云作为目标点云Q,计算目标点云Q的FPFH;

S63、在源点云P中随机选取k个采样点,k取大于3的整数,然后在目标点云Q中查找和采样点具有相似FPFH的多个点,然后随机选取一个作为采样点的对应点;

S64、计算这些点对应的变换矩阵,接着采用Huber罚函数计算变换误差,Huber罚函数记为 其中H(ei)计算公式如下:式中:te为预先设定的值,ei表示经过变换后的第i个点对的距离差;

S65、重复执行步骤S63和S64直至达到预设的迭代次数,最后取使得变换误差最小的变换矩阵作为初始变换矩阵;

S66、将初始变换矩阵作用于源点云P,得到新的源点云P';

S67、对新的源点云P'中的每一点,在目标点云Q中寻找欧式距离最近的点作为对应点,然后计算变换矩阵和对应的误差E(R,T):其中E(R,T)表示新的源点云P'在变换矩阵(R,T)下与目标点云Q之间的误差;pi和qi分别为源点云P'和目标点云Q中各个点的坐标;

S68、将步骤S67求得的变换矩阵作用于源点云P',得到新的源点云P”,计算P”和目标点云Q的误差E(R,T);

S69、重复执行步骤S67和S68,直到E(R,T)或迭代次数满足设定的条件,最终求解出两点云之间的旋转平移矩阵,然后将其分解为三维坐标和三维旋转向量,即为目标的位姿。