怎么通过media foundation将图像数据写入虚拟摄像头_千倍成本压缩!特斯拉开发虚拟激光雷达,替代最贵自动驾驶传感器...

be19e8945fa083d31f591e612328d0c7.png

「谁用激光雷达,谁完蛋!」

在去年特斯拉举办的 Autonomy Day 上,特斯拉 CEO Elon Musk 言辞激烈地炮轰激光雷达。

「昂贵的传感器是不必要的,这就像是一大堆昂贵的附属品。」

「像阑尾一样。一个阑尾不好——那么,一大堆阑尾怎么样?这太荒谬了。」

Musk 对激光雷达的态度是尽人皆知,他甚至认为:自动驾驶汽车依赖激光雷达,就像行走依赖拐杖一样。

虽然特斯拉在自动驾驶有过多次跳票的记录,但特斯拉在人工智能与神经网络上的飞速进步也给足了 Musk 不断立下 Flag 的底气。

当然,这也离不开 Autopilot 团队的努力。

0a3ab12b2ef8da0ffb1b445f9bff0211.png

在今年 2 月的 Scaled ML 大会上,特斯拉 AI 高级总监 Andrej Karpathy 对外分享了特斯拉训练 AI 的方法,同时也首次对外分享了特斯拉如何借助摄像头就能实现激光雷达的探测精度。

9e07818063e17bdb1acc3ce4d3901a6d.png

传统自动驾驶系统非常依赖激光雷达这一不可或缺的传感器。

激光雷达的工作流程可以简单理解为三个步骤:

首先,激光雷达阵列会投射出激光点阵;

而后,车载计算机将这些激光点阵的回波「翻译」成 3D 图像,让车辆识别周边是否有汽车车辆、行人、道路或建筑;

最后,自动驾驶汽车感知到周围环境后,安全穿梭在复杂的路况下。

近些年来,自动驾驶的蓬勃发展也促进了激光雷达硬件及相关软件方案行业的大跃进。但即使是这样,激光雷达系统的价格依然居高不下。

与其相比,在智能手机、笔记本等行业已相当普及的摄像头却只要数十美元。

与激光雷达依靠激光飞行时间来判断各个像素间距离的方法不同,人类测距靠的是大脑。

除了双眼创造的立体视觉(只适合中等距离),我们还能借助「动态视差」跟踪物体的运动方式,从而得出其他可以参考的线索。而且,即使驾驶员闭上一只眼睛,也一样能够好好驾驶。

那么,借助神经网络,自动驾驶汽车是不是也能实现同样的效果呢?

537288283f7c88495697cc8aee226b96.png

这时就轮到「虚拟激光雷达」登场了。

目前,特斯拉 AI 团队已经掌握了名为「虚拟激光雷达」(pseudo-LiDAR)的新技术,它弥合了传统计算机视觉和激光雷达强大的点云世界之间的界线。

这是什么意思?

首先,特斯拉将计算机视觉提升到了前所未有的水平——不仅能够分析图像,而且还能够分析图像中的单个像素。

这也意味着,随着时间推移,特斯拉的这一技术或许能够复制传统激光雷达的大部分功能,进一步提高特斯拉在 3D 物体探测方面的技术水平。

与训练多个神经网络相比,训练虚拟激光雷达的过程并不复杂。在这里,工程师们会使用到无监督学习技术。

其次,与传统激光雷达系统相比,特斯拉基于摄像头探测方式的成本更加便宜,硬件端实现起来也更容易,探测距离更是能大幅提升。

不过,想实现相同的性能,特斯拉必须手握一套极其复杂的计算系统,将输入的原始数据转化成真实高效的信息。

比如,车载计算机能从连续的静态图像中识别出道路标线、交通标志和其他车辆。

「我们走了一条『虚拟激光雷达』的路径,只需简单预测单个像素的深度,找到它们直接的距离,就能得出结论。」Karpathy 说道。

这样说来,特斯拉只要不断重复这一过程,就能复制传统激光雷达系统的大部分功能。

但与此同时,这个过程在解构图像时,也需要付出巨大的实时算力。好在,特斯拉注重垂直整合,FSD 芯片就是专为自家代码开发的。

目前,特斯拉的「虚拟激光雷达」解决方案正在变得越来越完善。

9d4fdea3c2a43c223dfb7f218acdf32c.png

在 Scaled ML 大会上,Karpathy 放出了一系列有激光雷达形式的 3D 地图,这些地图看起来就像是激光雷达采集到的信息。

「只要利用好了视觉技术和『虚拟激光雷达』,(自动驾驶车辆在)未使用激光雷达和使用激光雷达之间的差距会快速缩小。」Karpathy 解释。

当然,「虚拟激光雷达」这项技术并非特斯拉独有的专利。

最早提出「虚拟激光雷达」概念的,要追溯到一篇来自康奈尔大学的技术论文。

这篇论文提出了一种新方法来缩短纯视觉技术架构与激光雷达间的性能差距:

通过改变立体摄像头目标检测系统的 3D 信息呈现形式,将基于图像的立体视觉数据转换为类似激光雷达生成的 3D 点云,通过数据转换切换成最终的视图格式。

具体的过程是这样的:

f30f56586b118c2299d8d377905beccf.png

首先,将基于图像的立体视觉数据转换为类似激光雷达生成的 3D 点云;

其次,在数据输入通常用于解读激光雷达数据的 3D 物体探测算法之前,先将数据转换为「鸟瞰」视图格式。

629f16f5fad102570edfe39a91937bb8.png

康奈尔大学的研究人员在实验中采用了 40 万像素相机,虽然实验结果仍然无法比肩激光雷达 66% 的 3D 平均精度,但是通过采用这种方案,基于图像数据的 3D 平均精度大幅提高到了 37.9%

研究人员表示,更高分辨率的相机可能会进一步提高实验结果。

康奈尔大学的这项研究证明,利用成本低廉的立体视觉摄像头,或能提供与激光雷达几乎相同的精度。

要知道,激光雷达是目前自动驾驶技术开发中最常见的方案,也是最昂贵的技术方案。

这项研究,也在一定程度上为 Musk 在激光雷达上的观点提供了一定技术支持。

那么,该如何评价这项技术呢?

如果有一天,「虚拟激光雷达」这项技术能完成对激光雷达的追赶,那些还在使用激光雷达的汽车厂商或是自动驾驶公司,会在第一时间投向「虚拟激光雷达」的怀抱吗?

虽然整个自动驾驶行业已经基本认可自动驾驶车辆需要部署包括激光雷达、毫米波雷达、摄像头在内的多种传感器系统。

但从现在的情况来看,大多数公司还是想靠激光雷达一劳永逸的解决问题,毕竟这条路径肯定行得通,而且激光雷达在未来还有相当大的降价空间。

而康奈尔大学的这项研究表明,立体摄像头系统至少可以为基于激光雷达的探测方案提供低成本的备份冗余

如果特斯拉能率先将「虚拟激光雷达」应用在车上,那么自动驾驶汽车基于摄像头的 3D 物体探测或许在不久的将来或能成为现实。而这种前景的影响,将是巨大的。

参考信息:

https://cleantechnica.com/2020/04/24/tesla-achieved-the-accuracy-of-lidar-with-its-advanced-computer-vision-tech/

https://www.forbes.com/sites/bradtempleton/2020/04/14/if-teslas-dream-of-making-cameras-perform-as-well-as-lidar-comes-true-it-may-help-teslas-competitors-more/

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/365900.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

JBoss Fuse 6.1 + HawtIO第一部分

它是开源的! JBoss Fuse是开源ESB ,是Red Hat收购FuseSource之后Fuse ESB的发展。 它是开源的 , Apache v2许可的 , 并由Red Hat完全支持 。 最好的部分之一是,您可以免费下载并使用它,并且在生产或订阅中支…

html5新增的js api,对HTML5新增JS Api的思考

1.为什么javascript的变量名不使用css中的命名方法,而选择使用驼峰命名法因为在javascript中“-”表示减法,所以如果使用“-”的话会出现不必要的问题。2.在javascript中已经有className方法添加类名,为什么还要新增加classList.add方法因为c…

什么是URL转发和一个IP建多个Web站点--主机头名法

什么是URL转发? 所谓 URL 转发,是中企资源对在中企资源注册的域名,所提供的一项特别的域名增值服务,此服务是通过中企资源服务器的特殊技术设置,实现当访问您的域名时,将会自动跳转到您所指定的另一个网络地…

eval()

eval() 接收一个字符串,这个字符串必须是一个表达式,然后执行并返回表达式的值 In [6]: x 7In [7]: eval(3 x) Out[7]: 10 In [8]: eval(pow(2, 3)) Out[8]: 8 In [9]: eval(2 3) Out[9]: 5 转载于:https://www.cnblogs.com/pzk7788/p/10264105.h…

ajax html页面传参数,jQuery AJAX:如何将大型HTML标记作为参数传递?

如何使用jQuery AJAX将大型HTML标记数据传递给我的PHP?当我收到结果时,这是错误的。jQuery AJAX代码:$(#saveButton).click(function() {// do AJAX and store tree structure to a PHP array//(to be saved later in database)var treeInner…

使用Drools 6.0进行部署

KieScanner 6.0 KieScanner取代了5.x KnowledgeAgent。 它使用嵌入式Maven允许在运行时解析和检索jar。 6.0应用程序现在可以轻松支持依赖关系和可传递依赖关系; 使用众所周知的Maven语义进行版本控制。 它允许在类路径上进行部署,也可以在运行时动态进行…

activemq安装与配置_ActiveMQ(消息队列)从入门到了解

一、 ActiveMQ 简介 1 什么是 ActiveMQ ActiveMQ 是 Apache 出品,最流行的,能力强劲的开源消息总线。ActiveMQ 是一个 完全支持 JMS1.1 和 J2EE 1.4 规范的 JMS Provider 实现,尽管 JMS 规范出台已经是很久 的事情了,但是 JMS 在当…

httpHandlers和httpModules接口介绍 (5)

IHttpHandler工厂 class TestHandlerFactory : IHttpHandlerFactory{public IHttpHandler GetHandler(HttpContext context, string requestType, string url, string pathTranslated){string fname url.Substring(url.IndexOf(/) 1);while (fname.IndexOf(/) ! -1)fname …

P4336 [SHOI2016]黑暗前的幻想乡

题目 P4336 [SHOI2016]黑暗前的幻想乡 做法 每种颜色恰好一条边,有点难处理啊 根据套路,数据范围这么小,容斥一下所有的情况就可以了 对每种颜色进行状压,表这次只能选这些颜色,做\(n-1\)的时候会加上多余的东西&#…

智联招聘简历如何导出html,如何将拉勾网(智联招聘)的预览简历导出来

最近在整理简历的时候发现拉勾网/智联招聘上面的预览简历是那么简洁漂亮,可是当我想把他导到本地,发pdf文件给企业时却只能是word,那么的难看,摸索了一会儿找到了一种比较好的方法可以得到预览的简历。1.另存为html文件在这里插入…

Java反编译器的剖析

简单地说,反编译器尝试将源代码转换为目标代码。 但是有很多有趣的复杂性-Java源代码是结构化的; 字节码当然不是。 而且,转换不是一对一的:两个不同的Java程序可能会产生相同的字节码。 我们需要应用启发式方法,以合理…

Mybatis注解开发模糊查询

Mybatis注解开发模糊查询 一般在使用mybatis时都是采用xml文件保存sql语句 这篇文章讲一下在使用mybatis的注解开发时,如何进行模糊查询 模糊查询语句写法(在Select注解中): where field like CONCAT(%,#{keyWord},%) 下面是一些错…

JS中深浅拷贝 函数封装代码

一、了解 基本数据类型保存在栈内存中,按值访问,引用数据类型保存在堆内存中,按址访问。 二、浅拷贝 浅拷贝只是复制了指向某个对象的指针,而不是复制对象本身,新旧对象其实是同一内存地址的数据,修改其中…

iOS开发之Masonry框架-使用方法须知

目录 常用的属性与常量Masonry使用注意约束的优先级Masonry添加约束的方法修改约束在哪创建我的约束创建约束技巧:Masonry是一个轻量级的布局框架,它拥有自己的描述语法(采用更优雅的链式语法封装)来自动布局,具有很好…

wps单机无网络版_单平台销量破百万,这个国产单机系列要出网游,还要上主机...

他们想做"国际顶级的单机游戏开发商"。文/彭子诚作为一款国产单机游戏,《古剑奇谭三》在去年年底上市后,至今在 Steam 上依然保持着 83% 的好评率。大量的玩家对于游戏内容给出了认可,“用心”这个词是最高频出现的词语。Wegame 官…

JavaFX 8的弹出式编辑器

在过去的几个月中,我很高兴与JavaFX 8一起使用,以便为计划和调度应用程序实现复杂的用户界面。 所需的功能之一是执行“就地”编辑的方法,即快速编辑用户选择对象的某些基本属性的方法。 遵循“如果您无法创新,就模仿”的原则&am…

body onload 控制窗口大小 html,如何实现在调整浏览器窗口大小时缩放的网页?

感谢所有的建议!看起来我必须做的丑陋的东西是必要的。以下工作(在我的机器上,无论如何)在IE和FireFox中。我稍后可以为CodeProject.com制作一篇文章; - )这个javascript进入< head>部分:var tmout null;var mu…

【Mac命令行学习】(持续更新)

常用命令: 一、修改环境变量文件: 1、进入文件:vi .bash_profile 2、键盘点击【a】键,进入文件编辑 3、修改完成后,如果是vi,点击【esc】键退出编辑模式 4、输入以下命令进行具体操作: :wq 保存…

flex实现水平居中和两栏布局

<!DOCTYPE html> <html xmlns"http://www.w3.org/1999/xhtml"> <head> <meta http-equiv"Content-Type" content"text/html; charsetutf-8"/><title>水平垂直的实现</title><style>.wrapper{width:25…

opencv 多线程加速_线程池给你写好了,想加速拿来用就行哈

图像拼接实现见&#xff1a;OpenCV源码系列|图像拼接1OpenCV源码系列|图像拼接2耗时在调用函数&#xff1a;Mat pano; Ptr stitcher Stitcher::create(mode); Stitcher::Status status stitcher->stitch(imgs, pano)能否将这一步放进线程池里进行加速呢&#xff1f;1. 测试…