作者丨十点雨@知乎

来源丨https://zhuanlan.zhihu.com/p/446284775

编辑丨3D视觉工坊

本文介绍激光雷达和相机融合的两种方法:

前融合:融合原始数据(点云和像素/目标框)。

后融合:融合目标框。

1 前融合

前融合一般指融合原始数据,最容易、最普遍的方式是将点云投影到图像。然后检查点云是否属于图像中检测的2D目标框。流程如下:

1.1 点云投影

三步:

·将3D激光雷达点转换为齐次坐标

·将点云变换到图像坐标系(LiDAR-Camera外参)

·透视投影到图像平面 (相机内参)

1.2 图像目标检测

一般使用YOLO系列算法。可以参考:Introduction to YOLOv4: Research review(https://www.thinkautonomous.ai/blog/?p=introduction-to-yolov4-research-review)

1.3 ROI匹配

ROI (Region Of Interest)匹配即融合目标边界框内的数据。这一步的输出:

·对于每个2D边界框,图像检测提供类别。

·对于每个LiDAR投影点,我们有准确的距离。

因此,融合目标语义类别和空间位置就完善了。这一步的重点是如何融合目标边界框内的投影点,作为目标位置:求平均,中值,中心点,最近点?

另外,图像目标框往往比真实目标大一些,目标边界框内投影点云可能不属于真实目标(比如可能属于背景,或附近目标)。针对这个问题,采用图像分割,可以更准确地匹配投影点和像素。

下图箭头处显示了投影点在目标框内,但不属于目标框对应的车辆,而是前方车辆的点云。

2 后融合

后融合是融合各个传感器独立的检测结果,有两种融合思路:

·2D融合:图像2D检测,点云3D检测投影到图像生成的2D检测。如下图:

·3D融合:图像3D检测,点云3D检测。流程如下:

下文详细介绍下3D融合的思路。

2.1 点云3D目标检测

·传统方法:聚类,L-shape fitting等

·深度学习方法:centerpoint等

2.2 图像3D目标检测

单目3D目标检测,需要知道投影参数(相机内参,标定外参),并使用深度学习。知道目标的真实大小和朝向也有助于得到目标的准确边界框。

分享一篇单目3D检测论文: 3D Bounding Box Estimation Using Deep Learning and Geometry(https://arxiv.org/pdf/1612.00496.pdf)

2.3 IOU匹配

IOU即Intersection Over Union, 描述两个边界框的重合程度。

2.3.1 空域上的IOU匹配

匹配就是看图像3D边界框和点云3D边界框是否重合(用IOU衡量),重合度高则是同一个目标。3D Iou--Net (2020)中的示例图像:

因此,我们可以在空域上将不同传感器的检测目标进行关联。

这个过程在9 Types of Sensor Fusion Algorithms中(https://www.thinkautonomous.ai/blog/?p=9-types-of-sensor-fusion-algorithms),被定义为中级(middle-level)传感器融合。中级传感器融合和高级传感器融合的区别是,高级传感器融合包括跟踪。

而为了时间跟踪,则需要时域上的数据关联。

2.3.2 时域上的IOU匹配

目标跟踪一般用卡尔曼滤波和匈牙利算法来关联时域上的目标,从而跨帧跟踪目标,甚至预测目标位置。

跟踪3D边界框位置时,一般用IOU作为度量进行数据关联。当然也可以使用深度卷积特征来确保目标一致。我们称该过程为SORT (Simple Online Realtime Tracking), 或Deep SORT,如果使用深度卷积特征。

时域上IOU匹配的原理与空域上类似:如果第一帧和第二帧的边界框重合,则说明两个目标是相同的。

既然我们可以在空域和时域上跟踪目标,那么也可以利用类似方法进行高级的传感器融合。

2.4 后融合总结

融合检测目标是中级的融合,需要空域上的IOU匹配;融合跟踪轨迹是高级的融合,需要时域上的IOU匹配(匹配度量),卡尔曼滤波(状态估计),匈牙利算法(数据关联)。

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

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.单目深度估计方法:算法梳理与代码实现

11.自动驾驶中的深度学习模型部署实战

12.相机模型与标定(单目+双目+鱼眼)

13.重磅!四旋翼飞行器:算法与实战

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

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

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

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

▲长按加微信群或投稿

▲长按关注公众号

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

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

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

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

激光雷达和相机感知融合简介相关推荐

  1. DeepFusion:基于激光雷达和相机深度融合的多模态3D目标检测

    点击上方"3D视觉工坊",选择"星标" 干货第一时间送达 作者丨安全与性能研究室 来源丨 同济智能汽车研究所 点击进入->3D视觉工坊学习交流群 编者按: ...

  2. 【多传感器融合】激光雷达与相机前融合

    坐标变换的方法采用了 Geiger, A 等在论文中提到的方法,最终将激光点云转换到相机坐标系下.毫米波雷达目标变换也是一样的. 要将 Velodyne 坐标中的点 x 投影到左侧的彩色图像中 y: ...

  3. 激光雷达与相机融合(一)

    一.激光雷达点云俯视图提取 文末有相应的代码数据包免费下载链接. 将激光雷达点云投影到俯视图平面上,同时将距离的远近利用颜色表示出来. 这里的滤除地面只是简单的利用高度值将地面去除.会存在效果不好的情 ...

  4. 通俗理解卡尔曼滤波(无人驾驶感知融合的经典算法)

    前言 我个人有近10年AI教育经验了,中间获得过一些名号,比如北理工校外导师,微软MVP兼CSDN技术专家,本博客也有1700多万PV了,在AI圈内有极高知名度.后2015年和团队一块创业创办AI职教 ...

  5. 绝了!多个激光雷达和相机的快速且鲁棒的外参标定方法(代码开源)

    文章:Fast and Accurate Extrinsic Calibration for Multiple LiDARs and Cameras 作者:Xiyuan Liu , Chongjian ...

  6. 开源代码和软件汇总!激光雷达和相机联合标定(2004-2021)

    作者 | 十点雨  编辑 | 我爱计算机视觉 原文链接:https://zhuanlan.zhihu.com/p/404762012 点击下方卡片,关注"自动驾驶之心"公众号 AD ...

  7. 无人驾驶—激光雷达与相机

    1.激光雷达与摄像头性能对比 在无人驾驶环境感知设备中,激光雷达和摄像头分别有各自的优缺点. 摄像头的优点是成本低廉,用摄像头做算法开发的人员也比较多,技术相对比较成熟.摄像头的劣势,第一,获取准确三 ...

  8. 自动驾驶汽车中的激光雷达和摄像头传感器融合

    传感器融合是自动驾驶汽车的关键技术之一.这是自动驾驶汽车工程师都必须具备的技能.原因很简单:视觉传感器无处不在,无时无刻不在使用. 自动驾驶汽车通过4个关键技术工作:感知.定位.规划和控制. 传感器融 ...

  9. 【LCC系列】自动驾驶中激光雷达和相机的自动在线标定(2013)

    文章目录 1 动机 2 方法 2.1 提取图像边缘 2.2 提取点云深度不连续 2.3 目标函数 2.4 检测标定误差 2.5 自动在线标定 3 实验 3.1 在线检测标定误差 3.2 在线纠正标定误 ...

最新文章

  1. 最大连续子序列乘积(DP)
  2. python生成的exe程序在其他电脑打开报错_9102年你还不会搭建Python环境
  3. Recurrent Neural Networks Tutorial, Part 1 – Introduction to RNNs
  4. PHP的empty isset is_null
  5. (三)ORB特征匹配
  6. Spring MVC学习路(三) 编写第一个demo
  7. 玩转oracle 11g(31):ora-04031
  8. js mysql json字符串转数组中_php数据库数据转换为js中的json对象
  9. 企业级数据库备份方案完全攻略
  10. iOS安装CocoaPods详细过程
  11. 网络基础知识(黑马教程笔记)-6-静态资源访问的功能实现
  12. 三维点云 PCA(上)
  13. 联想小新固态硬盘安装Win7或者win10过程
  14. HDU4585 Shaolin(treap)
  15. 使用代理爬去微信公众号_Python3WebSpider/9.5-使用代理爬取微信公众号文章.md at master · Lainton/Python3WebSpider · GitHub...
  16. MATLAB:镜像图片
  17. vbs整人简单实现大量弹窗+指定语句退出!
  18. python3 使用openpyxl 处理excel表格数据
  19. [项目过程中所遇到的各种问题记录]编辑器篇——FCKeditor相关知识及各种常见使用问题...
  20. 向上转型与向下转型(超详细)

热门文章

  1. 查看核心交换机CPU时的几个参数~~
  2. new操作符具体干了啥
  3. 云服务器 ECS 配置:阿里云ECS Windows Server 2012 搭建AD
  4. MyEclipse内安装与使用SVN
  5. Node.js + Express 4.x + MongoDB 构建登录注册-简易用户管理(四)
  6. ActiveMQ — 单节点 — 安装与配置
  7. 解决目录和tgz文件等不显示相应颜色
  8. 基于Flink SQL构建流批一体实时数仓
  9. 某程序员吐槽:免费教妹子Java编程,妹子却不让自己找她闲聊!
  10. 如何扩容单台服务器的存储容量?