原文链接:300 米远程深度估计:港科大重磅开源自动驾驶新技术,远超现有雷达|CVPR2020

本文原创首发自极市平台公众号,请授权后转载。

论文标题:Depth Sensing Beyond LiDAR Range

arxiv链接:
https://arxiv.org/abs/2004.03048

project主页:https://kai-46.github.io/DepthSensing/

slides:https://kai-46.github.io/DepthSensing/my_files/slides.pdf

video:https://youtu.be/QXI5JQZ2JE0


图像中的场景距离大约两三百米。本文算法可以得到一个上千万像素的深度图。

深度感知技术是自动驾驶技术的一个重要模块,当前的解决方案主要分为主动式的激光雷达和被动式的立体相机两种。这两种方案的优缺点已被众多科技媒体、学术文章等广为讨论,在此不做赘述。在这个工作中,我们尝试解决“自动驾驶场景下数百米的远程深度估计”这个尚未被大量探索的问题。

细看当前研究者常用的Kitti、Waymo等自动驾驶数据集,不难发现,它们的深度数据均由车载激光雷达采集,最大量程只有80米左右。80米左右的量程或许可以满足低速无人驾驶的应用场景,但是对于无人驾驶卡车在高速公路行驶这类的场景显得有点不足,原因在于,如果我们假设卡车车速是80 km/h,行驶80米的距离其实只需要3.6秒的时间,这对于无人驾驶技术的安全性构成了挑战。诚然目前市面上的一些高端激光雷达声称能够达到300米的有效测量距离,但其价格、功耗、远处物体的点云很稀疏等问题均不可规避。另一方面,现有的立体相机方案由于相机焦距不够大而看不清远处物体,进而也不能达到远程深度估计的要求。

作为计算机视觉研究者,我们决定从相机角度着手解决这个问题,而非改进激光雷达。首当其冲的一个问题是:为了看清远处物体,长焦镜头不可或缺,但是这种增大立体相机焦距的方法是否能直接解决问题了呢?答案是否定的。经过分析可以发现,这里面的一个难点在于:立体相机的最大baseline受限于车辆的宽度(通常在2米左右)。对于300米远的3D点而言,2米的baseline可谓是超级小,小到这个3D点到左、右相机中心的两条光线的夹角(triangulation angle)只有0.382度。如下图所示,极小的triangulation angle带来的后果是深度估计的精度对于相机姿态中的微小变化异常敏感:如果姿态中有0.1度的误差,那么估计的深度值的相对误差就达到了不可接受的26.2%左右,这意味着在300米深度处会产生大约78.6米的绝对误差。

在无人驾驶车辆行驶过程中,相机姿态当中的微小变化几乎是难以避免的。对相机姿态要求的这种高精度也已远超IMU、Gimbal等硬件所能达到的精度。那么使用Structure-from-Motion (以下简称SfM)这种算法是否可以直接从图片中恢复高精度相机姿态呢?很不幸的是,答案也是否定的,这是因为SfM算法所求解的优化问题在远程深度估计问题下存在ambiguity,简单来说,就是解不是唯一的。早年的文章把这种现象成为bas-relief ambiguity,如下图的仿真实验所示,SfM恢复的相机姿态相对于真实值有0.207度的误差,同时恢复的3D点的位置(红色)严重偏离了它们真实的位置(蓝色)。

为此,我们提出了一个如下图所示的由三个长焦相机构成的新相机系统(两个放在车头,一个放在车尾),以及配套的深度估计算法。我们的解决方案绕过了对高精度相机姿态的要求,只需要知道三个相机的焦距,以及相机之间的距离。算法以三个相机同一时刻捕捉到的图片作为输入,输出left相机图片对应的深度图。整个系统流程图如下图所示,简单来说,我们的算法流程是先对左右相机的图片做uncalibrated pseudo-rectification,这一个过程不依赖于相机姿态,只需要图片之间的sparse feature matches即可实现;然后用标准的stereo matching算法去估计disparity;分析表明这个估计的disparity相对于真实的disparity存在一个未知的全局偏移,算法的最后一步就是利用left相机和back相机之间的近大远小现象来估计这个未知的全局偏移,并将修正后的disparity转化为深度。具体点来说,第一步中的uncalibrated pseudo-rectification基于的原理是当相机焦距很大时,相机的透视投影效应会变弱,退化成弱正交投影,我们的分析显示在这种情形下,我们可以直接通过图片之间的sparse feature matches求接出两个仿射变换来达到对图片的pseudo-rectification;这种pseudo-rectification具有不依赖相机姿态的优点,但是会带来第二步估计的disparity中存在未知的全局偏移这一后果;为了去除这个全局偏移,本质上我们需要知道至少一个3D点的绝对深度值(同时这个3D点在第二步估计的disparity也要合理),在我们的方法中,这一目标是通过利用前后相机之间的近大远小现象实现的,即:两个具有同一深度的3D点,它们投影到后面相机中的像素之间距离要比投影到前面相机中的像素之间距离来得小,并且从距离之间的比例可以反推出3D点的深度。(具体的算法细节可以参考我们的论文)

我们在仿真数据集和采集的现实数据集做了验证了我们的算法。对于仿真数据集上,我们限制相机系统的baseline/depth ratio在2/300左右(对应车宽2米,物体在300米这样的现实设定),同时对相机姿态做随机的小扰动。结果显示,我们的算法估计出来的深度能够达到3%的相对误差,远超其他算法 (如下图1所示)。由于这个问题的现实数据采集难度很高,我们做了资源允许情况下的最大力度验证。我们把一个配备了长焦镜头和三脚架的相机依次放到相机系统示意图中的三个位置,并且用激光测距仪测量了left相机中心点的深度作为真实值。实验结果显示,我们的方法得到的深度(300.8米)跟激光测距仪测量的值(320米)吻合得很好(如下图2所示),并且我们的方法输出的是深度图,而非激光测距仪给出的单点深度。

综上所述,在这个工作中,我们对于无人驾驶场景下的远距离(300米左右)深度估计做了一些探索,并提出了一个基于相机的解决方案。因为我们的方法基于相机,所以具有成本小、功耗低的特点(note:我们验证原型系统时使用的易用型消费者相机Nikon P1000成本并不低,实际应用中使用工业相机和镜头来搭建这个系统的话可以大幅降低成本,同时相机尺寸也可以缩小很多)。匹配我们提出的深度估计算法,整个系统的完整参数(包括完整的相机内参和外参)并不需要提前全部calibrate好,同时该套系统对于车辆系统过程中的相机姿态颤动更加鲁棒。由于资源的限制,我们并未能在真实的自动驾驶场景上验证我们提出的原型系统,是一个遗憾;无人驾驶场景下的远距离深度估计问题也欠缺公开的大规模数据集来供深度学习研究者使用。这些都是未来可以研究探索的方向。

作者介绍

张凯,Cornell二年级博士生,博士导师Noah Snavely,本科毕业于清华大学,主要研究领域:3D vision。


关注极市平台公众号(ID:extrememart),获取计算机视觉前沿资讯/技术干货/招聘面经等

300米远程深度估计:港科大重磅开源自动驾驶深度感知新技术,远超现有雷达|CVPR2020相关推荐

  1. 300米远程深度估计:港科大重磅开源自动驾驶深度感知新技术,远超现有雷达|CVPR2020...

    点击上方"3D视觉工坊",选择"星标" 干货第一时间送达 arxiv链接:https://arxiv.org/abs/2004.03048 project主页: ...

  2. 【CVPR2020论文解读】300米远程深度估计:港科大重磅开源自动驾驶深度感知新技术,远超现有雷达...

    arxiv链接:https://arxiv.org/abs/2004.03048 project主页:https://kai-46.github.io/DepthSensing/ slides:htt ...

  3. 深度学习传感器融合技术在自动驾驶汽车感知与定位中的应用研究进展

    论文研读--Deep Learning Sensor Fusion for Autonomous Vehicle Perception and Localization: A Review 深度学习传 ...

  4. 人工智能在自动驾驶深度学习中的应用

    人工智能在自动驾驶深度学习中的应用 驾驶员认知靠大脑,无人驾驶汽车的"大脑"则是计算机.无人车里的计算机与我们常用的台式机.笔记本略有不同,因为车辆在行驶的时候会遇到颠簸.震动.粉 ...

  5. 自动驾驶深度多模态目标检测和语义分割:数据集、方法和挑战

    自动驾驶深度多模态目标检测和语义分割:数据集.方法和挑战 原文地址:https://arxiv.org/pdf/1902.07830.pdf Deep Multi-Modal Object Detec ...

  6. 自动驾驶深度学习常用中英文对照表

    自动驾驶深度学习常用中英文对照表 A B C D E F G H I J K L M N O P Q R S T U V W Z A 英文 中文 词性 activation 激活值 n,名词 acti ...

  7. 清华「计图」、旷视「天元」纷纷重磅开源,国产深度学习框架迎来高光时刻...

    来源:CSDN 本文约3141字,建议阅读7分钟. 本文介绍清华开源的深度学习框架 Jittor(计图) 引起了广泛关注,支撑旷视诸多业务和战绩的深度学习框架 MegEngine(天元) 也将在近日开 ...

  8. IDA-3D:基于立体视觉的自动驾驶深度感知的3D目标检测

    点击上方"3D视觉工坊",选择"星标" 干货第一时间送达 标题:IDA-3D: Instance-Depth-Aware 3D Object Detection ...

  9. 视觉深度估计的Pseudo-LiDAR:弥合自动驾驶3D对象检测中的差距(CVPR2019)

    摘要 3D对象检测是自动驾驶中的一项基本任务.只要从精确但昂贵的LiDAR技术中获得3D输入数据,最新技术就可以以高度准确的检测率获得优势.迄今为止,基于廉价的单目或立体图像数据的方法导致精度大大降低 ...

最新文章

  1. 使用 OpenCV 和 Python 模糊和匿名化人脸
  2. 手挽手带你学React:四档(上)一步一步学会react-redux (自己写个Redux)
  3. python怎么安装第三方库-怎样安装Python的第三方库
  4. python从random生成列表_Python 学习DAY 17 列表生成式,生成器,迭代器,time模块,random模块...
  5. QML 性能优化建议(一)
  6. Zookeeper命令行操作(常用命令;客户端连接;查看znode路径;创建节点;获取znode数据,查看节点内容,设置节点内容,删除节点;监听znode事件;telnet连接zookeeper)
  7. Web前端期末大作业--响应式有氧健身休闲会所网页设计(HTML+CSS+JavaScript)
  8. [USACO08DEC]拍头Patting Heads 数学 BZOJ 1607
  9. 微信小程序傻瓜制作_傻瓜式教程:做一个带优惠券的微信小程序
  10. mysql 杂记(一)
  11. C++ - 命名空间,argc和argv详解,游戏人生介绍
  12. 校园卡系统mysql与java结合_基于Java+JSP+Mysq+Servletl的校园卡一卡通管理系统
  13. 数字化大时代崛起的数据安全能力框架
  14. 红孩儿编辑器的核心控制子系统的函数依赖关系图
  15. 如何快速统计Excel单元格中有几个数字
  16. 期权常见的六大交易误区
  17. outlook从服务器中恢复已删除项目,恢复邮箱中的已删除邮件:Exchange 2013 帮助 | Microsoft Docs...
  18. 扫描MAC地址脚本--保存
  19. DL: Basic of C/C++(to be continued)
  20. 云创以炫酷软件和饕餮美食喜迎新年!

热门文章

  1. vue使用sweetalert2弹窗插件
  2. bzoj1190 [HNOI2007]梦幻岛宝珠 动态规划
  3. Oracle数据库权限管理
  4. UI(UGUI)框架(一)---------概述与保存/读取面板类型与路径
  5. 字符串过长用...代替,鼠标悬停显示所有内容
  6. 利用ueditor保存到mysql数据库时出现乱码
  7. Codeforces 362E Petya and Pipes 费用流建图
  8. smokeping部署安装
  9. oracle时间运算
  10. 历史客人-报表记录信息