综述:激光雷达全景分割的传统点云聚类方法的技术总结-程序员宅基地

技术标签: 聚类  算法  机器学习  计算机视觉  人工智能  

点击上方“3D视觉工坊”,选择“星标”

干货第一时间送达

bb2f510e5fc909b168074cf157895aee.png

作者丨paopaoslam

来源丨泡泡机器人SLAM

标题:A Technical Survey and Evaluation of Traditional Point Cloud Clustering Methods for LiDAR Panoptic Segmentation

作者:Yiming Zhao Xiao Zhang Xinming Huang

来源:ICCV 2021

编译:廖邦彦

摘要

c2880413860920fa8db86f7a4ddca6e5.png

激光雷达全景分割是一项新提出的自动驾驶技术任务。与流行的端到端深度学习解决方案相比,我们提出了一种结合现有用于提取语义信息的语义分割网络的和一种传统的激光雷达点云聚类算法用于分割每个实例对象的混合方法。我们认为,在SemanticKITTI 数据集的全景分割排行榜上,基于几何信息的传统聚类算法相较于所有已发表的端到端深度学习解决方案达到SOTA性能值得考虑。据我们所知,我们是第一个尝试用聚类算法进行点云全景分割。因此,本文对四种典型的聚类方法进行了全面的技术调查,以及其在基准上的性能。这四种聚类方法是最具有代表性的、具有实时运行能力的方法。它们在本文中使用C++实现,然后包装为一个python函数,与现有的深度学习框架无缝集成。我们为同行研究人员开源了代码,代码地址 https://github.com/placeforyiming/ICCVW21-LiDAR-PanopticSegmentation-TradiCV-Survey-of-Point-Cloud-Cluster

7a62500b941cefd8892102f2f4535584.png

主要贡献

f0a9182bb1211c7f24dd41d8595c2949.png

  • 我们提出了一种新的激光雷达全景分割框架。我们首次演示了用语义网络和传统的聚类方法来求解激光雷达全景分割的可行性。此解决方案优于最近发布的所有端到端神经网络解决方案。经典的聚类方法在CPU上以毫秒级运行,减轻了实例部分的标记工作,并有机会更好地适应全新的未训练过的场景,因为它对训练集没有偏好。作为一种传统的方法,它不是一个网络风格的黑盒,因此可以让人们清楚地知道该方法何时表现好或坏。

  • 我们建立了一个激光雷达聚类算法的基准。以往关于激光雷达聚类方法的一个研究问题是,由于存在大的非物体表面,比如墙壁和地面,所以对于这些物体存在评价度量模糊。在这篇文章,我们通过使用具有已发布代码和检查点的语义模型框架来过滤掉所有这些非对象点。因此,聚类算法只会关注属于对象的点。我们进一步使用公认的全景分割的评价指标来直接评估和比较不同聚类方法的有效性。感谢SemanticKITTI数据集和排行榜,未来关于激光雷达聚类主题的研究可以遵循我们的基准作为实际的比较基线。

487eb24646b76c29f19b86ab3cae6e07.png

方法概述

b07ccc137227e0adf2f069371f249f6f.png

Selected Reviewed Methods

现有的点云聚类方法可以被大致总结为四种类型,基于3D欧式空间的方法,使用超栅格或者超点来聚类点云的方法,在深度图上的改进单通道连通域标记方法,和在深度图上的的改进两通道连通域标记方法。在这个方法回顾部分,我们在每种算法中选取最具代表性的算法并且基于更加详细的介绍。

Euclidean Cluster

欧式聚类是一种简单的聚类方法。首先在整个点云上构造kd树,然后将半径阈值内的所有邻点聚类成为一个实例。

97f5707649e2e97a53fd3b6ec6cf88e5.png

Supervoxel Cluster

Supervoxel(SLIC)是一种著名的传统图像处理操作,它将局部像素分组为具有类似特征的更大像素。超体素被设计在RGB-D点云上,相对应于二维图像上的超像素。与超像素相比,超体素有三个主要的差异。第一个是关于初始化的种子点。在超体素中,聚类的种子点是通过三维空间分割得到的,而不是投影的图像平面。第二个区别是一个额外的约束,即在考虑聚类点的迭代聚类算法中,对被占用的体素采取严格的空间连通性约束。第三个是在k-means算法中使用的距离定义。在超体素中,不再考虑二维图像上的距离,而是进一步考虑法向量的角度以及颜色的相似性。请注意,点云库(PCL)中超体素距离的定义与原论文不同。我们选择了原论文在PCL中实现的一种。距离D在下式中定义。空间距离D_s通过种子点的分辨率进行归一化,颜色距离D_c为归一化RGB空间中的欧氏距离,法向距离Dn用于测量表面法向量之间的夹角。w_c、w_s和w_n分别为颜色权重、空间权重和法向权重。341c49e60fb8aaefccda87f0d6f6b848.png

在本文中,我们研究的是没有RGB颜色信息的激光雷达点云,因此我们将所有点的颜色距离D_c设置为零。剩余的迭代k-means算法与二维图像上的超像素SLIC相同。上式的公式能够有效平衡局部法向量和局部欧氏距离的平衡。

Depth Cluster

Depth Cluster算法是激光雷达深度图上的一种快速单通CCL(连通域标记)算法。二进制图像上的CCL算法需要检查两个相邻像素是否都有相同强度。但是,激光雷达深度图上的CCL需要确定两个相邻点是否来自同一对象的条件。在深度聚类算法中,通过使用图中所示的神奇角度β来定义该条件。作者认为,如果β大于一个角度阈值θ,那么点a和点B来自同一个对象。在本文中,我们选择θ=10o作为阈值。

4271628349a51aa1643bbd11ab7ba3cb.png

7d342b3fb64bf7fa5069c88ca3176675.png

Scan-line Run Cluster 

Scan-line Run(SLR)聚类是一种基于点云或深度图的逐行快速扫描算法。该方法是激光雷达深度图上基于图像的双通连通域标记(CCL)算法的对应方法。在SLR中,所有从相同的水平角度发出的点都被识别为一条扫描线。在一条扫描线中,所有更接近阈值Th_run的临近点都被聚类在一起,称为一个run。

一开始,SLR从第一行开始,然后将欧氏距离小于阈值Th_run的所有临近点分组在一起作为一个run。每个run都被分配一个唯一的标签作为初始聚类。接下来,SLR移动到第二行,重复运行分割,并检查第二行中的新run是否符合用新的阈值Th_merge定义的合并条件。如果两个run满足合并条件,则它们将被合并在一起。该标签也将被传递。如果第二行中的新run不符合以前任何运行的合并条件,则将分配一个新的聚类标签。对于这种情况,如果两个集群在一个新的线中相遇,SLR将把它们与较小的聚类标签合并。此过程将保持逐行移动,直到处理完所有激光雷达扫描线。我们在下图中可视化了这个过程。

该算法在下图中进行了总结。其中的查找最近邻函数的目标是在前一个扫描线中搜索最近的点。最初的论文提供了几种查询最近邻的方法。

11eeda342923b1b55237eb38747264f5.png

d4d80b63a055cdb557f244867d13e2e1.png

cc6c965818be96bc035ab7f9ffd315cf.png

实验结果

4cd9c5bfabd0f0017388b8092b844ea7.png

对于传统方法效果比较

4e79d490d327e1dab030c51cebd11f35.png

对于使用Cylinder3D + SLR的方法和其它方法的比较

1b58a4391acc9f969b3ca93a216b79f8.png

对于在SemanticKITTI数据集上使用Scan-line方法的一个可视化

c0ca295023e90d8f8673d7214159ce05.png

最后是作者在其电脑上对于传统方法运算时间的比较

c632b531218b69c5aa39736fc53b818a.png

Abstract

LiDAR panoptic segmentation is a newly proposed technical task for autonomous driving. In contrast to popular end-to-end deep learning solutions, we propose a hybrid method with an existing semantic segmentation network to extract semantic information and a traditional LiDAR point cloud cluster algorithm to split each instance object. We argue geometry-based traditional clustering algorithms are worth being considered by showing a state-of-the-art performance among all published end-to-end deep learning solutions on the panoptic segmentation leaderboard of the SemanticKITTI dataset. To our best knowledge, we are the first to attempt the point cloud panoptic segmentation with clustering algorithms. Therefore, instead of working on new models, we give a comprehensive technical survey in this paper by implementing four typical cluster methods and report their performances on the benchmark. Those four cluster methods are the most representative ones with real-time running speed. They are implemented with C++ in this paper and then wrapped as a python function for seamless integration with the existing deep learning frameworks. We release our code for peer researchers who might be interested in this problem.

如果你对本文感兴趣,想要下载完整文章进行阅读

本文仅做学术分享,如有侵权,请联系删文。

3D视觉精品课程推荐:

1.面向自动驾驶领域的多传感器数据融合技术

2.面向自动驾驶领域的3D点云目标检测全栈学习路线!(单模态+多模态/数据+代码)
3.彻底搞透视觉三维重建:原理剖析、代码讲解、及优化改进
4.国内首个面向工业级实战的点云处理课程
5.激光-视觉-IMU-GPS融合SLAM算法梳理和代码讲解
6.彻底搞懂视觉-惯性SLAM:基于VINS-Fusion正式开课啦
7.彻底搞懂基于LOAM框架的3D激光SLAM: 源码剖析到算法优化
8.彻底剖析室内、室外激光SLAM关键算法原理、代码和实战(cartographer+LOAM +LIO-SAM)

9.从零搭建一套结构光3D重建系统[理论+源码+实践]

10.单目深度估计方法:算法梳理与代码实现

重磅!3DCVer-学术论文写作投稿 交流群已成立

扫码添加小助手微信,可申请加入3D视觉工坊-学术论文写作与投稿 微信交流群,旨在交流顶会、顶刊、SCI、EI等写作与投稿事宜。

同时也可申请加入我们的细分方向交流群,目前主要有3D视觉CV&深度学习SLAM三维重建点云后处理自动驾驶、多传感器融合、CV入门、三维测量、VR/AR、3D人脸识别、医疗影像、缺陷检测、行人重识别、目标跟踪、视觉产品落地、视觉竞赛、车牌识别、硬件选型、学术交流、求职交流、ORB-SLAM系列源码交流、深度估计等微信群。

一定要备注:研究方向+学校/公司+昵称,例如:”3D视觉 + 上海交大 + 静静“。请按照格式备注,可快速被通过且邀请进群。原创投稿也请联系。

c1cc0a8d163bf845b0d7c2c9e8263105.png

▲长按加微信群或投稿

2e42c2a9dd198d6c40f3ec939a446282.png

▲长按关注公众号

3D视觉从入门到精通知识星球:针对3D视觉领域的视频课程(三维重建系列三维点云系列结构光系列手眼标定相机标定激光/视觉SLAM自动驾驶等)、知识点汇总、入门进阶学习路线、最新paper分享、疑问解答五个方面进行深耕,更有各类大厂的算法工程人员进行技术指导。与此同时,星球将联合知名企业发布3D视觉相关算法开发岗位以及项目对接信息,打造成集技术与就业为一体的铁杆粉丝聚集区,近4000星球成员为创造更好的AI世界共同进步,知识星球入口:

学习3D视觉核心技术,扫描查看介绍,3天内无条件退款

b79565bc1133d2390261345d3519a4a7.png

 圈里有高质量教程资料、答疑解惑、助你高效解决问题

觉得有用,麻烦给个赞和在看~  

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/Yong_Qi2015/article/details/121059240

智能推荐

使用nginx解决浏览器跨域问题_nginx不停的xhr-程序员宅基地

文章浏览阅读1k次。通过使用ajax方法跨域请求是浏览器所不允许的,浏览器出于安全考虑是禁止的。警告信息如下:不过jQuery对跨域问题也有解决方案,使用jsonp的方式解决,方法如下:$.ajax({ async:false, url: 'http://www.mysite.com/demo.do', // 跨域URL ty..._nginx不停的xhr

在 Oracle 中配置 extproc 以访问 ST_Geometry-程序员宅基地

文章浏览阅读2k次。关于在 Oracle 中配置 extproc 以访问 ST_Geometry,也就是我们所说的 使用空间SQL 的方法,官方文档链接如下。http://desktop.arcgis.com/zh-cn/arcmap/latest/manage-data/gdbs-in-oracle/configure-oracle-extproc.htm其实简单总结一下,主要就分为以下几个步骤。..._extproc

Linux C++ gbk转为utf-8_linux c++ gbk->utf8-程序员宅基地

文章浏览阅读1.5w次。linux下没有上面的两个函数,需要使用函数 mbstowcs和wcstombsmbstowcs将多字节编码转换为宽字节编码wcstombs将宽字节编码转换为多字节编码这两个函数,转换过程中受到系统编码类型的影响,需要通过设置来设定转换前和转换后的编码类型。通过函数setlocale进行系统编码的设置。linux下输入命名locale -a查看系统支持的编码_linux c++ gbk->utf8

IMP-00009: 导出文件异常结束-程序员宅基地

文章浏览阅读750次。今天准备从生产库向测试库进行数据导入,结果在imp导入的时候遇到“ IMP-00009:导出文件异常结束” 错误,google一下,发现可能有如下原因导致imp的数据太大,没有写buffer和commit两个数据库字符集不同从低版本exp的dmp文件,向高版本imp导出的dmp文件出错传输dmp文件时,文件损坏解决办法:imp时指定..._imp-00009导出文件异常结束

python程序员需要深入掌握的技能_Python用数据说明程序员需要掌握的技能-程序员宅基地

文章浏览阅读143次。当下是一个大数据的时代,各个行业都离不开数据的支持。因此,网络爬虫就应运而生。网络爬虫当下最为火热的是Python,Python开发爬虫相对简单,而且功能库相当完善,力压众多开发语言。本次教程我们爬取前程无忧的招聘信息来分析Python程序员需要掌握那些编程技术。首先在谷歌浏览器打开前程无忧的首页,按F12打开浏览器的开发者工具。浏览器开发者工具是用于捕捉网站的请求信息,通过分析请求信息可以了解请..._初级python程序员能力要求

Spring @Service生成bean名称的规则(当类的名字是以两个或以上的大写字母开头的话,bean的名字会与类名保持一致)_@service beanname-程序员宅基地

文章浏览阅读7.6k次,点赞2次,收藏6次。@Service标注的bean,类名:ABDemoService查看源码后发现,原来是经过一个特殊处理:当类的名字是以两个或以上的大写字母开头的话,bean的名字会与类名保持一致public class AnnotationBeanNameGenerator implements BeanNameGenerator { private static final String C..._@service beanname

随便推点

二叉树的各种创建方法_二叉树的建立-程序员宅基地

文章浏览阅读6.9w次,点赞73次,收藏463次。1.前序创建#include<stdio.h>#include<string.h>#include<stdlib.h>#include<malloc.h>#include<iostream>#include<stack>#include<queue>using namespace std;typed_二叉树的建立

解决asp.net导出excel时中文文件名乱码_asp.net utf8 导出中文字符乱码-程序员宅基地

文章浏览阅读7.1k次。在Asp.net上使用Excel导出功能,如果文件名出现中文,便会以乱码视之。 解决方法: fileName = HttpUtility.UrlEncode(fileName, System.Text.Encoding.UTF8);_asp.net utf8 导出中文字符乱码

笔记-编译原理-实验一-词法分析器设计_对pl/0作以下修改扩充。增加单词-程序员宅基地

文章浏览阅读2.1k次,点赞4次,收藏23次。第一次实验 词法分析实验报告设计思想词法分析的主要任务是根据文法的词汇表以及对应约定的编码进行一定的识别,找出文件中所有的合法的单词,并给出一定的信息作为最后的结果,用于后续语法分析程序的使用;本实验针对 PL/0 语言 的文法、词汇表编写一个词法分析程序,对于每个单词根据词汇表输出: (单词种类, 单词的值) 二元对。词汇表:种别编码单词符号助记符0beginb..._对pl/0作以下修改扩充。增加单词

android adb shell 权限,android adb shell权限被拒绝-程序员宅基地

文章浏览阅读773次。我在使用adb.exe时遇到了麻烦.我想使用与bash相同的adb.exe shell提示符,所以我决定更改默认的bash二进制文件(当然二进制文件是交叉编译的,一切都很完美)更改bash二进制文件遵循以下顺序> adb remount> adb push bash / system / bin /> adb shell> cd / system / bin> chm..._adb shell mv 权限

投影仪-相机标定_相机-投影仪标定-程序员宅基地

文章浏览阅读6.8k次,点赞12次,收藏125次。1. 单目相机标定引言相机标定已经研究多年,标定的算法可以分为基于摄影测量的标定和自标定。其中,应用最为广泛的还是张正友标定法。这是一种简单灵活、高鲁棒性、低成本的相机标定算法。仅需要一台相机和一块平面标定板构建相机标定系统,在标定过程中,相机拍摄多个角度下(至少两个角度,推荐10~20个角度)的标定板图像(相机和标定板都可以移动),即可对相机的内外参数进行标定。下面介绍张氏标定法(以下也这么称呼)的原理。原理相机模型和单应矩阵相机标定,就是对相机的内外参数进行计算的过程,从而得到物体到图像的投影_相机-投影仪标定

Wayland架构、渲染、硬件支持-程序员宅基地

文章浏览阅读2.2k次。文章目录Wayland 架构Wayland 渲染Wayland的 硬件支持简 述: 翻译一篇关于和 wayland 有关的技术文章, 其英文标题为Wayland Architecture .Wayland 架构若是想要更好的理解 Wayland 架构及其与 X (X11 or X Window System) 结构;一种很好的方法是将事件从输入设备就开始跟踪, 查看期间所有的屏幕上出现的变化。这就是我们现在对 X 的理解。 内核是从一个输入设备中获取一个事件,并通过 evdev 输入_wayland

推荐文章

热门文章

相关标签