引言
6D位姿估计方法全局方法和局部方法。
全局方法使用一个全局描述来描述整个对象或其部分。全局描述通常需要对目标对象或目标部分进行分割,而忽略了局部细节的区分性。
局部方法通过使用围绕特定点的局部描述符来描述对象。局部方法通常对传感器噪声更敏感,并且它们倾向于在具有重复特征的对称对象或对象上表现出较低的性能。
点对特征法(Point Pair Feature)、
论文: PPF论文链接
算法分析参考:知乎PPF论文分析
1.融合了局部和全局方法优点的折中解决方案。PPF算法精髓:整体建模,局部匹配。
2.研究方向:3D物体点云的识别
3.论文创新点:依据点云周围的点,创建全局模型(Model Globally:creates a global model description based on oriented point pair features)来描述周围的点对特征,并在局部范围内使用一种快速投票的方法进行模型匹配(Match Locally:matches that model locally using a fast voting scheme)
4.解释global model description
5.representation 的优点:稀疏采样,提升算法速度
6.recognition:使用有效的投票机制在二维搜索空间里做局部匹配
7.针对场景:干扰、堆叠、部分遮挡
1.Model Globally
首先定义两个词:scene
和 model
,scene 是我们测得的真实场景(点云),model 是物体的真实模型(点云)。定义S为真实场景中点云的点,M为模型点云。
points in the scene;
points in the model;
(1)PPF
定义PPF:Model Globally本质通过定义点对特征(Point Pair Feature)来构建特征矢量的集合及每个矢量特征对应的点对集,作为Global Model Desciption。
PPF描述了两个有向点(oriented points)的相对位置和姿态。假设有两个点m1和m2,法向量(normals)分别为n1和n2,d=m2-m1,则PPF定义为:
注:∠(a,b)∈[0;pai]为两个矢的夹角,且F是非对称的。有了PPF点对特征后,就可以定义Global Model Description了。
(2)Global Model Description
注:Global Model Description 是离线(in the off-line phase)构建的
实现方法:
- 第一步:计算model表面所有point pairs的特征矢量,其中distance和angles分别以和=2pai/的步长做采样;
- 第二步:构建哈希表,将具有相同F(特征向量feature vector)的ponit pair放在一起,即hash表的键key为feature vector ,值value为具有相同特征矢量的点对集
2.Match Locally
定义好Global Model Description(全局模型描述)后,就可以考虑局部匹配了
(1)Local Coordinates
大概思路:
- 从 scene 中选取任意一个参考点 ∈ ,假设它在物体的表面上,若假设正确,则在 model 存在一个点 ∈与 对应;
- 将这两个参考点配准,需同时将点的位置和法向量对齐;
- 让 model 绕 的法向轴转动一定角度与 scene 配准
由此看来,从 model space 到 scene space 的刚体变换可以由 model 中的一点和转动角度 α 来描述,将这个 pair (,α) 定义为 model 相对于参考点 的Local Coordinates 。
思路:
- 给定参考点 ,选取与 scene 点对 (,)∈S 具有相似 fecture vector (same distance and relative orientation)的 model 点对 (mr,mi)∈M ;
- 通过变换矩阵 →g 将 mr 移动到 Local Coordinates 的原点,并且转动 model,使其法向轴 与 Local Coordinates 的 x 轴重合;
- 同理,通过 →g 对 scene 做相同操作;
- 最后,将 model 中的一点 mi 绕 x 轴转动 (α) 与 si 配准
通过上述描述,可以将从 model 到 scene 的 transformation 定义为:
(2)Voting Scheme
前面我们定义了 local coordinates,现在只需要通过一种方法找到最优的 local coordinates 使得 scene 中落在 model 表面的点最多,即可求出物体 pose。
论文通过投票机制实现,定义一个二维的 accumulator array,行(rows)数 为 model 采样点 的个数,列(columns)数 为按采样步长 的旋转角 α 的个数。
具体实现:
(3)Efficient Voting Loop
注:
- 对于 model 或者 scene 中的每个点对, t 都是唯一的
- 对于 model 中的每个点对, 可以在离线阶段求解
- 对于 scene 中的每个点对, 只需要算一次
(4)Pose Clustering
之前的算法基于我们的假设:参考点是在物体表面的。因此,我们需要在 scene 点云中采样多个参考点 ,保证至少有一个参考点能在物体表面。
每个参考点可能返回多个位姿(投票相同),返回的位姿(retrieved poses)是否逼近 ground truth,取决于 model 和 scene 点的采样率和旋转角的采样。
我们对所有返回的位姿做聚类,每个 clutter 中位姿的位置、姿态的差异不超过设定的阈值,然后每个聚类的得分是其包含的所有位姿的总得分,找出得分最高的 clutter,则最终的位姿为得分最高的 clutter 里面包含位姿的平均值。
如果场景中存在物体的多个实例,则会返回多个 clutters。
今天的文章 (点、6)点对特征法(Point Pair Feature)分享到此就结束了,感谢您的阅读。
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
如需转载请保留出处:https://bianchenghao.cn/bian-cheng-ji-chu/87107.html