文章目录

  • 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论文阅读相关推荐

  1. Photorealistic Face de-Identification by AggregatingDonors’ Face Components论文阅读笔记

    题目:Photorealistic Face de-Identification by AggregatingDonors' Face Components 摘要: 随着普遍监控系统的采用和高效的自动 ...

  2. CloudCompare功能介绍-Label Connected Components

    目录 功能介绍 具体操作 选择点云,并启动工具: 相关参数 数据测试 拓展 功能介绍 Label Connected Components工具可以通过"Tools > Segmenta ...

  3. JavaScript实现strongly Connected Components 强连通分量算法(附完整源码)

    JavaScript实现strongly Connected Components 强连通分量算法(附完整源码) Comparator.js完整源代码 LinkedListNode.js完整源代码 L ...

  4. OpenCV连接的组件Connected Components的实例(附完整代码)

    OpenCV连接的组件Connected Components的实例 OpenCV连接的组件Connected Components的实例 OpenCV连接的组件Connected Component ...

  5. Educational Codeforces Round 37 (Rated for Div. 2) E. Connected Components? 暴力 + 补图的遍历

    传送门 文章目录 题意: 思路: 题意: n≤2e5,m≤2e5n\le2e5,m\le2e5n≤2e5,m≤2e5. 思路: 这是题是我上个题的一部分,算是个小知识点,暴力能过. 直接维护一个set ...

  6. 【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 ...

  7. [Swift]LeetCode323. 无向图中的连通区域的个数 $ Number of Connected Components in an Undirected Graph...

    ★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★ ➤微信公众号:山青咏芝(shanqingyongzhi) ➤博客园地址:山青咏芝(https://www.cnblog ...

  8. connected components algorithm连通组件算法

    connected components algorithm连通图算法 什么是connected components algorithm? 用通俗的话说就是一个图像的前景部分有几部分构成,用下面的这 ...

  9. CVPR 2020 论文总结:Weakly Supervised Semantic Point Cloud Segmentation: Towards 10×Fewer Labels

    Weakly Supervised Semantic Point Cloud Segmentation: Towards 10×FewerLabels (本文是看完了这篇论文做的总结,有不对的地方欢迎 ...

最新文章

  1. TensorFlow指定CPU和GPU方法
  2. 3D显示Cell效果
  3. 【转】c#委托与事件
  4. GridView列表数据的添加
  5. Linux 下面的时区与时间错误修复过程记载(血泪篇)
  6. 【Tools】MarkDown教程(五)-CSDN MarkDown介绍
  7. Coins POJ - 1742(多重背包+是否装满问题)
  8. LeetCode 1905. 统计子岛屿(BFS)
  9. Python—语法基础(8) 分支、循环结构
  10. eos节点服务器_长期看,EOS柚子能不能达到1000元?
  11. Pycharm远程连接服务器
  12. Flutter实现google登陆(gmail)
  13. 天下3 最多的服务器,《天下3》服务器合并规则
  14. 一般家用路由器买多大的合适_家用路由器选多少M(兆)的合适【图】
  15. Python小项目-画机器猫中的战斗猫
  16. pyecharts 在地图上根据经纬度和量值,画出散点图/热力图
  17. ssl.SSLCertVerificationError: [SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed: unable to
  18. 从零开始研发GPS接收机连载——10、位同步和帧同步
  19. unity保存游戏对象到mysql_非常好用的游戏数据保存类:ScriptableObject
  20. elasticsearch ik分词实现 中文、拼音、同义词搜索

热门文章

  1. 大数据是什么 用漫画告诉你
  2. 如何更改一个特定提交的提交作者?
  3. Spring中bean的初始化和销毁几种实现方式详解
  4. 交叉编译Qt应用和发布
  5. 什么是通用计算机控制,通用控制系统
  6. 部署Docker容器虚拟化平台
  7. 名帖169 李邕 行书《云麾将军碑》
  8. python 开运算_图像开运算和闭运算
  9. SOLIDWORKS如何在工程图中添加实体曲面
  10. 【招聘内推】软告招聘大数据架构师