Efficient Organized Point Cloud Segmentation with Connected Components论文阅读
文章目录
- Efficient Organized Point Cloud Segmentation with Connected Components
- 方法
- A Connected Component Algorithm
- B Planar Segmentation
- C Planar Refinement Algorithm
Efficient Organized Point Cloud Segmentation with Connected Components
适用:有组织的点云
方法
A Connected Component Algorithm
- 点云用 P ( x , y ) P(x,y) P(x,y)表示,可以通过x,y访问其领域
- 点云分割的平面段用 L L L标签来表示:比如 P ( x 1 , y 1 ) ∈ S i P (x_1, y_1) ∈ S_i P(x1,y1)∈Si 和 P ( x 2 , y 2 ) ∈ S i P (x_2, y_2) ∈ S_i P(x2,y2)∈Si, 则 L ( x 1 , y 1 ) = L ( x 2 , y 2 ) L(x_1, y_1) =L(x_2, y_2) L(x1,y1)=L(x2,y2).
- 如果 C ( P ( x 1 , y 1 ) , P ( x 2 , y 2 ) ) = t r u e C(P (x_1, y_1), P (x_2, y_2)) = true C(P(x1,y1),P(x2,y2))=true, 则 L ( x 2 , y 2 ) = L ( x 1 , y 1 ) L(x_2, y_2) = L(x_1, y_1) L(x2,y2)=L(x1,y1),否则 L ( x 2 , y 2 ) ≠ L ( x 1 , y 1 ) L(x_2, y_2) \not=L(x_1, y_1) L(x2,y2)=L(x1,y1).
- 首先为云中的第一个点分配标签为0的有效数据
- 然后将点云的第一行和第一列带入 C C C进行比较,以分配标签。其余的点通过检查其相邻点 P ( x − 1 , y ) P(x−1,y) P(x−1,y)和 P ( x , y − 1 ) P(x,y− 1) P(x,y−1)
- 如果两个相邻像素(上方和左侧)具有不同的标签,则必须将这些标签与当前像素的标签合并
- 使用联合查找算法来高效地完成这一任务。
- 一旦标签图像创建完成,则执行第二遍以合并标签,将最合适的标签分配给区域,并生成最终连接的组件标签图像 L ( x , y ) L(x,y) L(x,y)。
B Planar Segmentation
求每个点法线的方法:使用积分图计算点云法向量
- 在计算每个点的单位长度法线 { n x , n y , n z } \{ nx,ny,nz\} {nx,ny,nz}后,点 p p p可以表示为:
p = { x , y , z , n x , n y , n z } p =\{ x, y, z, nx, ny, nz \} p={x,y,z,nx,ny,nz} - 用法线计算到该点的垂直距离(平面方程的d变量),从而得到平面空间中的坐标:
n d = { x , y , z } ⋅ { n x , n y , n z } nd = \{x, y, z\} · \{nx, ny, nz\} nd={x,y,z}⋅{nx,ny,nz} - 用这些信息增强我们的点表示会产生一个具有全平面方程的点:
p = { x , y , z , n x , n y , n z , n d } p = \{x, y, z, nx, ny, nz, nd\} p={x,y,z,nx,ny,nz,nd} - 定义两点之间的法线方向和垂直距离分量的距离度量
- 将该函数 C C C与上述算法一起使用,得到与平面空间中的连通分量相对应的一组标记线段 L ( x , y ) L(x,y) L(x,y)。
注意,在这一点上,我们只检查了局部信息,这意味着我们的片段可能只是局部平面的。到目前为止,该方法可以被认为是“平滑表面”分割,而不是平面分割。
- 我们对每个具有超过min个内点的平面段进行最小二乘平面拟合,从而得到每平面段的方程。为了确保生成的平面段实际上是平面的,还将计算曲率,并使用阈值来过滤平滑但不是平面的平面段。
C Planar Refinement Algorithm
上述方法的一个缺点是它需要精确的曲面法线,而这些法线并不总是可用的。特别是,对象边界和图像边界附近的点/像素往往具有噪声表面法线或无表面法线,这导致分割的平面区域在实际平面边缘之前结束。
- 这里用新的 c o m p a r e ( C ) compare(C) compare(C)函数来解决。给定法线 p = { x , y , z } p=\{x,y,z\} p={x,y,z}的点和平面方程 e q n = { n x , n y , n z , n d } eqn=\{nx,ny,nz,nd\} eqn={nx,ny,nz,nd},点到平面的距离由下式给出:
d i s t p t p ( p , e q n ) = ∣ n x ∗ x + n y ∗ y + n z ∗ z + n d ∣ distptp(p, eqn) = | nx ∗ x + ny ∗ y + nz ∗ z + nd | distptp(p,eqn)=∣nx∗x+ny∗y+nz∗z+nd∣ - 此函数的输入需要我们之前的平面分的输出标签 L L L,以及一组标签 r e f i n e _ l a b e l s = { l 1 , … , l n } refine\_labels=\{l1,…,ln\} refine_labels={l1,…,ln}。还需要每个段标签的平面方程 e q n s = { e q n 1 , … , e q n n } eqns=\{eqn_1,…,eqn_n\} eqns={eqn1,…,eqnn}
由于此比较仅在一个方向上延伸区域,因此需要两个额外的过程进行细化:一个过程用于“向上和向左”延伸平面区域,另一个过程则用于“向下和向右”延伸。
Efficient Organized Point Cloud Segmentation with Connected Components论文阅读相关推荐
- Photorealistic Face de-Identification by AggregatingDonors’ Face Components论文阅读笔记
题目:Photorealistic Face de-Identification by AggregatingDonors' Face Components 摘要: 随着普遍监控系统的采用和高效的自动 ...
- CloudCompare功能介绍-Label Connected Components
目录 功能介绍 具体操作 选择点云,并启动工具: 相关参数 数据测试 拓展 功能介绍 Label Connected Components工具可以通过"Tools > Segmenta ...
- JavaScript实现strongly Connected Components 强连通分量算法(附完整源码)
JavaScript实现strongly Connected Components 强连通分量算法(附完整源码) Comparator.js完整源代码 LinkedListNode.js完整源代码 L ...
- OpenCV连接的组件Connected Components的实例(附完整代码)
OpenCV连接的组件Connected Components的实例 OpenCV连接的组件Connected Components的实例 OpenCV连接的组件Connected Component ...
- Educational Codeforces Round 37 (Rated for Div. 2) E. Connected Components? 暴力 + 补图的遍历
传送门 文章目录 题意: 思路: 题意: n≤2e5,m≤2e5n\le2e5,m\le2e5n≤2e5,m≤2e5. 思路: 这是题是我上个题的一部分,算是个小知识点,暴力能过. 直接维护一个set ...
- 【CodeForces - 920E】Connected Components? (dsu,补图连通块,STLset+map,bfs 或bitset)
题干: You are given an undirected graph consisting of n vertices and edges. Instead of giving you the ...
- [Swift]LeetCode323. 无向图中的连通区域的个数 $ Number of Connected Components in an Undirected Graph...
★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★ ➤微信公众号:山青咏芝(shanqingyongzhi) ➤博客园地址:山青咏芝(https://www.cnblog ...
- connected components algorithm连通组件算法
connected components algorithm连通图算法 什么是connected components algorithm? 用通俗的话说就是一个图像的前景部分有几部分构成,用下面的这 ...
- CVPR 2020 论文总结:Weakly Supervised Semantic Point Cloud Segmentation: Towards 10×Fewer Labels
Weakly Supervised Semantic Point Cloud Segmentation: Towards 10×FewerLabels (本文是看完了这篇论文做的总结,有不对的地方欢迎 ...
最新文章
- TensorFlow指定CPU和GPU方法
- 3D显示Cell效果
- 【转】c#委托与事件
- GridView列表数据的添加
- Linux 下面的时区与时间错误修复过程记载(血泪篇)
- 【Tools】MarkDown教程(五)-CSDN MarkDown介绍
- Coins POJ - 1742(多重背包+是否装满问题)
- LeetCode 1905. 统计子岛屿(BFS)
- Python—语法基础(8) 分支、循环结构
- eos节点服务器_长期看,EOS柚子能不能达到1000元?
- Pycharm远程连接服务器
- Flutter实现google登陆(gmail)
- 天下3 最多的服务器,《天下3》服务器合并规则
- 一般家用路由器买多大的合适_家用路由器选多少M(兆)的合适【图】
- Python小项目-画机器猫中的战斗猫
- pyecharts 在地图上根据经纬度和量值,画出散点图/热力图
- ssl.SSLCertVerificationError: [SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed: unable to
- 从零开始研发GPS接收机连载——10、位同步和帧同步
- unity保存游戏对象到mysql_非常好用的游戏数据保存类:ScriptableObject
- elasticsearch ik分词实现 中文、拼音、同义词搜索