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

干货第一时间送达

作者:Panzerfahrer

链接:https://zhuanlan.zhihu.com/p/107975261

本文转载自知乎,作者已授权,未经许可请勿二次转载。

0. 前言

虽然论文已经发表一年多了, 截止目前 (2020.04.18) pointpillar 依旧是kitti排行榜上速度最快的"男人", 而且有着不错的AP结果,出自安波福,是为数不多可以应用在自动驾驶领域的模型.

论文链接:https://arxiv.org/pdf/1812.05784.pdf

代码链接:https://github.com/nutonomy/second.pytorch

pytorch->onnx->tensorrt 工具链:https://github.com/SmallMunich/nutonomy_pointpillars

1. 介绍

首先说应用深度学习在点云上做object detection的两个思路, 一个是3D卷积, VoxelNet是第一个endtoend的网络, 后来SECOND对此作了改进, 但是仍然3D卷积的瓶颈依旧明显; 另一个是投影到BEV (Bird's Eye View)像图像做二维卷积, 第二种方法虽然时间更快, 但是点云的稀疏性让卷积的不实用,效率很低, 所就用了 Fast Encoder, 简单来说就是对点云密度比较高的地方进行卷积, 速度提升还是很明显的.

2. 网络架构

2.1 Pillar Feature Network

对于识别Car而言, 识别范围为 前后左右上下[(0, 70.4), (-40, 40), (-3, 1)], 将点云投影到二维栅格中, 每个Pillar (栅格柱子) 的大小为 0.16*0.16, 可以理解为图像里的一个像素, 那么伪图像的尺寸就是 440*500. Pillar中的每个点特征D长度9, D=[x, y, z, r, x_c, y_c, z_c, x_p, y_p], 其中r代表intensity/reflection, [x_c, y_c, z_c] 代表Pillar中所有点的质心坐标, [ x_p, y_p] 代笔质心和Pillar几何中心的偏移.

因为~97% 的Pillar都很稀疏, 所以需要筛选出稠密(dense)的Pillar做卷积, 如上图所示, 选出的 Stacked Pillars的尺度为(D, P, N) 分别代表特长度D=9, Pillar的个数P=2847(假设), 点的数量N=100(假设), 这里用了一个简单的PointNet, 之后接了一个BN和一个ReLU得到尺度为(C, P, N) 的Tensor, 这里特征C的长度为64,然后经过max操作得到尺寸为(C, P)的Tensor, 然后在反投影回伪图像上, 因为反投影的Pillar个数只有2847, 剩下的将被填充为0.

2.2 Backbone& Detection Head

下图是BackBone和RPN的结合, 论文用的是SSD, 但实际用的是RPN.

3. Loss Function

Loss分为三部分, 定位Loss, 方向Loss 和分类Loss:

这里提一句, Pointpillar 可以识别朝向,也就是会做是否旋转180°的处理。

总结与思考

1. 其实投影到二维的做点云物体识别的网络很多(例如 RT3D:自动驾驶中利用3D点云实时车辆识别), 这篇文章的主要贡献在于 "Fast Encoder", 也就是将点云稠密的Pillar(上文提到2847个)输入给网络, 很多博客都没提到这一点,我觉得这才是这篇论文的精髓所在, 这大大提升了识别速度, 论文写可以达到62Hz.

2. 虽然速度快但是也有缺点,首先网络的输入只是部分"稠密"的Pillar这必将略微降低识别效果; 另外因为网络中训练不同种类时使用的卷积stride和Anchor的尺寸不一样, 导致多分类的效果不理想.

推荐阅读:

吐血整理|3D视觉系统化学习路线

那些精贵的3D视觉系统学习资源总结(附书籍、网址与视频教程)

超全的3D视觉数据集汇总

大盘点|6D姿态估计算法汇总(上)

大盘点|6D姿态估计算法汇总(下)

机器人抓取汇总|涉及目标检测、分割、姿态识别、抓取点检测、路径规划

汇总|3D点云目标检测算法

汇总|3D人脸重建算法

那些年,我们一起刷过的计算机视觉比赛

总结|深度学习实现缺陷检测

深度学习在3-D环境重建中的应用

汇总|医学图像分析领域论文

大盘点|OCR算法汇总

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

扫码添加小助手微信,可申请加入3D视觉工坊-学术论文写作与投稿 微信交流群,旨在交流顶会(ICRA/IROS/ROBIO/CVPR/ICCV/ECCV等)、顶刊(IJCV/TPAMI/TIP等)、SCI、EI等写作与投稿事宜。

同时也可申请加入我们的细分方向交流群,目前主要有3D视觉CV&深度学习SLAM三维重建点云后处理自动驾驶、CV入门、三维测量、VR/AR、3D人脸识别、医疗影像、缺陷检测、行人重识别、目标跟踪、视觉产品落地、视觉竞赛、车牌识别、硬件选型、学术交流、求职交流等微信群,请扫描下面微信号加群,备注:”研究方向+学校/公司+昵称“,例如:”3D视觉 + 上海交大 + 静静“。请按照格式备注,否则不予通过。添加成功后会根据研究方向邀请进去相关微信群。原创投稿也请联系。

▲长按加微信群或投稿

▲长按关注公众号

3D视觉从入门到精通知识星球:针对3D视觉领域的知识点汇总、入门进阶学习路线、最新paper分享、疑问解答四个方面进行深耕,更有各类大厂的算法工程人员进行技术指导。与此同时,星球将联合知名企业发布3D视觉相关算法开发岗位以及项目对接信息,打造成集技术与就业为一体的铁杆粉丝聚集区,近1000+星球成员为创造更好的AI世界共同进步,知识星球入口:

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

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

PointPillars:点云物体识别的快速编码相关推荐

  1. 点云的无序性_基于深度学习的激光雷达点云物体识别方法总结

    0. 前言: 激光雷达作为自动驾驶不可或缺的传感器,随着价格不断下降,各种基于深度学习的模型也层出不穷(坐等马斯克打脸); 激光雷达物体识别的任务: 输入: 激光点云(x, y, z, intensi ...

  2. 3D点云初探:基于全卷积神经网络实现3D物体识别

    基于全卷积神经网络实现3D物体识别 一.从2D图像识别到3D物体识别 二.ModelNet10:3D CAD数据集 1.存储格式 2.读取方法 3.点云可视化 可视化工具 plt可视化 4.数据集定义 ...

  3. 基于ROS机器人的3D物体识别与三维重建(一) 介绍篇

    基于ROS机器人的3D物体识别与三维重建(一) 介绍篇 由来:清理电脑硬盘,发现了当时做毕设的一些资料,所以打算整理一下资料和代码写成专栏,记录下当时的暗金岁月,尽管现在实验室的做的项目已经不是这个方 ...

  4. 【YOLOv5】LabVIEW+YOLOv5快速实现实时物体识别(Object Detection)含源码

    文章目录 前言 一.关于YOLOv5 二.YOLOv5模型的获取 1.下载源码 2.安装模块 3.下载预训练模型 4.转换为onnx模型 三.LabVIEW调用YOLOv5模型实现实时物体识别(yol ...

  5. python生成图片base64编码及阿里云验证码识别

    一.问题背景 自动化测试时,注册页面需要输入验证码,为此需要截取下验证码图片,然后调用识别出其中文字信息,以模拟输入 阿里云验证码识别api链接 通过此链接可以查看此api调用信息: 如下是api调试 ...

  6. Udacity机器人软件工程师课程笔记(二十二) - 物体识别 - 色彩直方图,支持向量机SVM

    物体识别 1.HSV色彩空间 如果要进行颜色检测,HSV颜色空间是当前最常用的. HSV(Hue, Saturation, Value)是根据颜色的直观特性由A. R. Smith在1978年创建的一 ...

  7. 李飞飞:物体识别之后,计算机视觉的进展、目标和前景何在?

    来源:AI科技评论 本文长度为4170字,建议阅读6分钟 本文为你解读机器计算机视觉的进展与前景. 9 月 26 日,机器人领域的顶级学术会议 IROS 2017 进入第二日.上午,著名华人计算机视觉 ...

  8. 李飞飞:在物体识别之后,计算机视觉还要多久才能理解这个世界?

    9 月 26 日,著名华人计算机视觉专家.斯坦福副教授李飞飞,在温哥华会议中心面向全体与会专家学者作了长达一小时的专题报告. 李飞飞与大家讨论了计算机视觉的下一步目标:丰富场景理解,以及计算机视觉与语 ...

  9. 基于结构光测量技术和3D物体识别技术开发的机器人3D视觉引导系统

    点击上方"小白学视觉",选择加"星标"或"置顶" 重磅干货,第一时间送达本文转自|新机器视觉 基于结构光测量技术和3D物体识别技术开发的机器 ...

最新文章

  1. Java 8 Lambda表达式-接口实现
  2. Leetcode 38.外观数列 (每日一题 20210702)
  3. JQuery预加载的四种种方式
  4. 如何阅读《深入理解计算机系统》?(文末送书)
  5. Tomcat : IOException while loading persisted sessions: java.io.EOFException
  6. 工业接口RS-485的设计应用指南
  7. python po设计模式_Python Selenium设计模式 - PO设计模式
  8. 没有php_pdo.dll,php_pdo.dll,下载,简介,描述,修复,等相关问题一站搞定_DLL之家
  9. 阻止form表单提交的常用方式
  10. Integer 数据类型
  11. python 外部参数过长_介绍python中slice参数过长的处理方法及实例
  12. 这些进程的后台可靠运行命令你都知道了吗
  13. 在Array原型链上扩展remove,contain等方法所遇到的坑
  14. 134安装教程_最新市政造价教程
  15. ARM架构与系列简介
  16. java 周几_java实现根据日期判断周几
  17. css绝对定位如何居中?css绝对定位居中的四种实现方法-web前端教程
  18. 数据结构个人电话号码查询系统实验报告
  19. ghost还原固态硬盘_高级格式化_固态硬盘到底能不能使用Ghost软件?终于说明白了...
  20. 2014 年总结--【宽容待人】

热门文章

  1. Eclipse和intellij idea 快捷键对比
  2. Servlet3——注解
  3. 服务器租用之服务器带宽情况分析
  4. 子窗体更新父窗体控件内容
  5. RedHat Enterprise Linux 5.0之LVM逻辑卷管理
  6. Leangoo_多团队,大规模敏捷开发实现过程
  7. 不会一致性hash算法,劝你简历别写搞过负载均衡
  8. 百亿数据,毫秒级返回,如何构建?
  9. 一名英文不好的程序员的救赎
  10. 某阿里程序员女朋友吐槽男友整天玩失踪!早晨问候一声,晚上十一点才回信息!中间完全消失!阿里加班真的这么恐怖吗?...