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

干货第一时间送达

文章导读

导读:在自动驾驶中,3D感知相较于2D感知能够提供更加准确的位置信息。随着3D激光雷达传感器应用的不断普及,激光雷达能够更好的帮助汽车对驾驶场景的全面理解。因此,3D点云的分割逐渐成为了新的研究热点。今天,小编将为大家带来一篇Cylinder3D点云分割的文章,让我们一起来学习一下吧。

Part 01

语义分割、实例分割和全景分割的区别

语义分割:语义分割是深度学习中常用的算法,它赋予图像中的每一个像素点以一个类别标签,即将属于同一目标的图像部分进行聚集。但该方法只会区分物体的类别,不会区分同一类别的不同个体。

实例分割:实例分割是输出一个mask,和语义分割不同的是,其不需要对每一个像素进行标记,它只需要将找到的感兴趣的物体的边缘轮廓进行框出来,其可以区分同一类别的不同个体。

全景分割:全景分割是语义分割和实例分割这二种方法的结合体。该方法对背景进行语义分割,对前景进行实例分割。

三大分割任务的示例

Part 02

现阶段Lidar点云分割方法的不足

现阶段大部分的3D Lidar点云分割的方法都是将3D的点云投影到2D空间上,再使用2D卷积神经网络进行分割处理,包括 range image based和BEV image based这二种做法。但这些方法在从3D到2D的投影过程中,会不可避免的丢失准确的3D几何信息,而影响最终的精度。但如果直接用3D划分和3D CNN,则算法的性能提升十分有限。

Part 03

Cylinder3D方法的提出

作者通过对现有方法的分析,发现影响3D点云分割精度的原因主要有2个,它们分别为:(1)点云的稀疏性 (2)密度变化性。

为此作者提出了基于圆柱形和非对称结构的3D卷积神经网络用于Lidar点云的分割,其结构上的创新主要包含3个部分:

(a)    Cylindrical 划分方式

(b)    Asymmetrical 3D CNN

(c)    Point-wise 细化模块

网络结构如下图所示:

网络结构

网络的性能表现: 文章发表时,其方法在SemanticKITTI榜单上排名第一位,在nuScenes的上同现有的方法相比,也有大约4%的显著性能增益。

Part 04

 Cylinder3D方法的详细解析

(1)Cylindrical Partition

“切蛋糕”划分的优势分析:室外点云具有密度变化的特性,通常临近区域的点云的密度要大于远方,因此如采用均匀立方体的方式划分cell将会导致不平衡的分布。而在圆柱形的方式利用不断增大的网格覆盖较远区域,从而使得在不同区域中的点分布更加均匀,这也符合激光雷达的扫描方式。下图对比了“切蛋糕”和“划井字”二种方式的非空单元的比例。

2种划分方式非空单元的比例

具体的操作方式:首先将点从笛卡尔坐标系转移到圆柱坐标系,即从(x,y,z)转换为(ρ,θ,z)。其中ρ为x-y轴到原点的距离,θ为x轴到y轴的角度。划分工作将在这三个维度上进行,且较远处的区域对应更大的cell。从MLP中获得的point-wise特征将会被重新分配得到cylindrical特征。上述步骤后再从0度处展开圆柱获得3D圆柱形表示R∈C×H×W×L,进入下一环节3D CNN。示意图如下图所示。

Cylindrical划分示意图

(2) Asymmetrical 3D CNN

非对称骨架的优势分析:在深度学习的任务中,如目标检测任务,通常一个完整的目标能够被很好的检测出来,但如果目标缺失了一部分,那么检测的效果就会大打折扣。而此处改进的目的就是强化网络的水平和垂直响应,以更好的匹配物体的点云分布,从而达到在遮挡或者点云输入较为稀疏的情况下也能很好的识别目标物体。效果展示如下图所示。

非对称骨架的效果展示

具体的实现方式:设计了一个非对称的残差模块,如下图所示,增强了对稀疏点云的鲁棒性。并引入了基于维度分解的上下文建模(DDCM)的方法来探索分解聚合策略中的高级全局上下文。

非对称残差模块的结构示意图

(3) Point-wise细化模块

块点结合检测方法的优势分析:区块检测的方法是目前常用的方法,但不管是基于立方体还是基于圆柱体的方法都有一个不可避免的缺点,即不同类别的点可能被划分到同一个cell中,这将导致导致信息的丢失而影响精度。而采用块点结合的方式,能够有效的缓解错误cell-label编码的干扰,而提高识别的精度。

具体的实现方式:首先,基于point-voxel映射表将voxel-wise特征投影到point-wise。然后,point-wise模块将 3D 卷积网络前后的点特征作为输入,并将它们融合在一起以细化输出。

(4) 损失函数

Cylinder3D方法的优化目标有2个,即voxel-wise loss和point-wise loss。因此,总体的损失函数可以表示为:

对于voxel-wise loss,使用加权交叉熵损失和 lovasz-softmax损失来最大化point精度和IoU得分。对于point-wise loss则只使用交叉熵损失函数来监督训练。

(5) 实验结果

最后来看一下本文给出的实验结果,方法分别在二大公开数据集SemanticKITTI和nuScenes上进行了实验,以下是实验的结果。

从实验结果上来看,Cylinder3D的方法在二大数据集上均取得了不错的效果,实现了较高的检测精度。同时作者也将本文提出的模块迁移到了其他的任务中,如全景分割和目标检测,同样取得了一定程度上的精度提升,充分说明了Cylinder3D方法的有效性。

Part 05

总结

总结:文章提出了一种Cylinder3D的方法,通过提出3个模块,有效提高了3D Lidar点云的分割精度,并增强了在稀疏点云情况下的鲁棒性。

随着自动驾驶的不断发展,小编认为3D Lidar的分割的优势将会持续的显现,其能够为汽车提供更加丰富和准确的感知信息,使得自动驾驶的安全性得到更好的保障。小编也期待更多3D Lidar 点云分割的方法的提出,让我们一起共同来学习。

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

下载1

在「3D视觉工坊」公众号后台回复:3D视觉即可下载 3D视觉相关资料干货,涉及相机标定、三维重建、立体视觉、SLAM、深度学习、点云后处理、多视图几何等方向。

下载2

在「3D视觉工坊」公众号后台回复:3D视觉github资源汇总即可下载包括结构光、标定源码、缺陷检测源码、深度估计与深度补全源码、点云处理相关源码、立体匹配源码、单目、双目3D检测、基于点云的3D检测、6D姿态估计源码汇总等。

下载3

在「3D视觉工坊」公众号后台回复:相机标定即可下载独家相机标定学习课件与视频网址;后台回复:立体匹配即可下载独家立体匹配学习课件与视频网址。

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

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

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

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

▲长按加微信群或投稿

▲长按关注公众号

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

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

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

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

Cylinder3D :3D环境下的Lidar 点云分割相关推荐

  1. 标注成本降低5倍!LaserMix:通用半监督LiDAR点云分割框架(新加坡南洋理工大学)...

    点击下方卡片,关注"自动驾驶之心"公众号 ADAS巨卷干货,即可获取 后台回复[LMix]获取论文! 后台回复[ECCV2022]获取ECCV2022所有自动驾驶方向论文! 后台回 ...

  2. 【CVPR 2021】Cylinder3D:用于LiDAR点云分割的圆柱体非对称3D卷积网络

    文章目录 Cylindrical and Asymmetrical 3D Convolution Networks for LiDAR Segmentation 做了什么 Cylinder3D 整体框 ...

  3. 当下互联网环境下物理主机和云主机到底哪个好?

    当下互联网环境下物理主机和云主机到底哪个好? 很多人在选购服务器时会纠结到底是应该选择物理服务器还是虚拟服务器,一方面因为是对两者的概念较为混淆,不清楚其区别与各自优势,另一方面也是没明确好自己的需求 ...

  4. get占位符传多个参数_未知环境下的Lidar概率占位栅格图(Occupancy Grid Map) Python代码实现...

    自动驾驶Mapping-占位栅格图(Occupancy Grid Map)中介绍了概率占位栅格地图(Probabilistic Occupancy Grid)的原理,并推导了如何利用贝叶斯理论(Bay ...

  5. python中outside loop_未知环境下的Lidar概率占位栅格图(Occupancy Grid Map) Python代码实现...

    自动驾驶Mapping-占位栅格图(Occupancy Grid Map)中介绍了概率占位栅格地图(Probabilistic Occupancy Grid)的原理,并推导了如何利用贝叶斯理论(Bay ...

  6. MATLAB环境下用DeepLabV3+实现语义分割(完整流程)

    之前这篇文章介绍了MATLAB环境构建DeepLabV3+进行云层分割.但数据来源有完整标签,因此少了人工标注过程,在泛化到自己的数据集时可能会遇到障碍. 1.数据集构建 因此在MATLAB中找了自带 ...

  7. Windows环境下通过SSH登录新浪云

    在后端系统开发中,开发完成之后,如果需要对外提供服务,需要部署到相应的对外公网服务器上.而作为个人开发者,或者测试用户,可以选用现在比较成熟的云,将代码托管,著名的有阿里云(需要备案),本文为了方便说 ...

  8. 在MATLAB环境下使用深度学习网络DeepLabV3+进行语义分割(云图分割)

    摘要:本文主要讲述在MATLAB2020a环境下利用深度神经网络DeepLabV3+进行语义分割,分割感图像中的云层.讲述了:1.训练数据的获取.训练集制作:2.DeepLabV3+模型的构建:3.D ...

  9. 3D视觉创新应用(三维重建)竞赛作品系列——多楼层室内环境下的三维几何重建

    1.背景介绍 在智能制造.AR.机器人等领域,三维重建都有很广泛的应用前景.随着消费级RGB-D相机的普及,三维重建的应用场景也得到了很大程度的扩展.对多楼层的室内环境进行稠密的三维重建,可以应用于混 ...

最新文章

  1. yum源简单介绍及本地yum源的搭建
  2. npm package.json文件解读
  3. zend studio报错
  4. SDK 和 API 有什么区别
  5. # 2018-2019-1 20165230 《信息安全系统设计基础》第四周学习总结
  6. 计算机软件复用意义何在,2009计算机科学技术导论复习要点.pdf
  7. 编程中的移位运算符简单解释
  8. BZOJ 2288: 【POJ Challenge】生日礼物 优先队列+贪心+链表
  9. 用VB轻松调用其他程序
  10. HALCON:Optical Flow(光流)
  11. 解决<c:if>无else的问题
  12. python余弦定理_基于Python计算气弹簧选型
  13. pano2VR创建沙盘雷达设置以中心点旋转
  14. [动态规划-0] 前言-我的动态规划学习之路
  15. ng-template、ng-container、ng-content 的用法
  16. mobaxterm配置Tunneling隧道连接服务器
  17. jquery.qrcode 批量打印
  18. 3.5折怎么用计算机算,论几十块钱的小主机能干什么?手把手教你改造神器!(32位黑裙晖安...
  19. 工欲善其事,必先利其器(Eclipse篇)
  20. 3-5年以上的Android原生开发如何深入进阶?高级工程师必须要掌握哪些?

热门文章

  1. windows 7 下安装 Android 设备驱动
  2. PHP中刷新输出缓冲
  3. 树——二叉搜索树的实现
  4. [Linux]从控制台一次读取一个字符,无需等待回车键
  5. 全球著名音乐抓轨软件EAC 设置详解
  6. Ingress 继任者 Gateway API 使用
  7. 内存泄漏和内存溢出的关系和区别
  8. 这款笔记本写代码真爽,包邮送一台!
  9. 云计算的下一站:Serverless的2020发展前瞻!
  10. 一文教会你写90%的shell脚本!