【转】Tesla Autopilot
Tesla Autopilot
以下内容是《Tesla Model S的设计失误》一文中新加入的小节。由于写作时间相距太远,而且由于它的时效性,现在也把它单独提出来,独立成文。
两个月前,Tesla通过“软件更新”,使Model S具有了初级的“自动驾驶”(autopilot)功能。这个功能可以让Model S自动地,沿着有“清晰边界线”的车道行驶,根据前后车辆的速度相应的加速和减速。
这貌似一个很新很酷的功能,咋一看跟Google的自动车有的一拼(其实差得天远)。然而在推出后不久,YouTube上出现了一些视频(视频1,视频2,视频3,视频4,视频5)。它们显示,autopilot在某些情况下有可能进行错误的判断和操作,有些险些造成严重的迎面车祸。
特别是视频1显示,在路面线条清晰,天气很好的路上,autopilot忽然向左,试图转向反方向的车道,差点导致严重的对撞车祸。仔细观察autopilot转向之前的情况,是由于路面上有阳光投下来的树影。Autopilot误以为那是一个障碍物,所以试图把车转上反方向的车道!
从这个简单的视频我们可以看出:
Autopilot没有对图像进行基本的“阴影消除”,它不能区分阴影和障碍物。阳光强烈,阴影明显的时候,autopilot可能把阴影当成障碍物。阴影消除在计算机视觉已经研究挺多了,这说明Tesla有可能没有进行基础的计算机视觉研究。缺乏分辨阴影和障碍物的能力,这样的自动驾驶系统是完全不可接受的。
道路中间有明显的,表示“禁止超车”的双黄线,对面有来车。Autopilot为了避开“障碍”,冒着对撞的危险,左转跨越双黄线。这表示autopilot连基本的交通规则,紧急情况下的正确操作方式都搞不清楚。或者也许这软件里面连双黄线都没有识别,甚至连这个概念都没有。
对于一个有经验的驾驶员来说,如果发现前方有障碍物,正确的作法不应该是猛烈地转弯避开,而应该是紧急刹车。从视频上我们看出,车子没有刹车减速(保持在37~38),而是猛烈地左转。而且是等树影到了面前,才忽然进行操作,没有计算提前量。这说明设计autopilot的人,连基本的开车常识都不明白。
让我感到悲哀的是,这些视频的很多评论,大部分都在谩骂车主是傻逼:“这是车主自己的责任!”,“Autopilot只能在高速公路上使用”,“只能在车道上有明确的边界线的时候使用!”,“不能在有很多弯道的地方“,“只能在能够看见前方300米道路的地方使用”,“谁叫你不看说明书的!”…… Elon Musk也在一次采访中明确的告诉记者:“如果用户因为使用autopilot而导致了车祸,是用户自己的责任!” 他反复地声明:“autopilot还处于beta版本……” 意思是,你们小心着用!
我对这些说法持不同的观点。首先,Tesla根本就不应该把一个处于”beta状态”的功能,自动推送到所有Model S的系统里面。实际上,像autopilot这种功能,关系到人的生命安全,根本就不应该有”beta版本”或者“测试版本”之说。Tesla把这样不成熟的系统,强制推送给用户,然后又说如果出了事故,用户负所有责任,这是一种推卸责任的做法。要知道,没有任何人愿意拿自己的生命给Tesla做“beta测试”。
另外,就算是用户没有仔细阅读autopilot的使用说明,在“不该”用它的地方(比如路面线条不清晰的地方)使用了autopilot,如果出了车祸,Tesla也应该负完全的责任。理由如下:
作为用户,他们没有义务阅读并且深刻的理解autopilot的局限性。在软件行业,存在一种习惯性的“责备用户”的不良风气。如果软件的设计有问题,用户没记住它的毛病,没能有效地绕过,那么如果出了问题,一般被认为是用户的错。Tesla想把软件行业的这种不正之风,引入到人命关天的汽车行业,那显然是行不通的。
Tesla的autopilot实现方式幼稚,局限性实在太多。天气不好的时候不行,路面上的边界线不清晰也不行,光线不好或者有阴影不行,路上有施工的路桩不行,高速出口不行,…… 实际上,在如此苛刻的限定条件下,任何一个汽车厂商都可以做出Tesla那种autopilot。
我自己的便宜Honda车,就有偏离车道时发出警告的功能(Lane Drift Warning,LDW)。装个摄像头,来点最简单的图像处理就搞定。在Indiana大学的时候,我们有一门本科级别的课程,就是写代码控制一辆高尔夫球车(也是电动车呢),沿着路面上的线条自动行驶。这根本没什么难度,因为它能正确行驶的条件,实在是太苛刻了。
其它汽车厂商很清楚这种功能的局限性,所以他们没有大肆吹嘘这种“线检测”的技术,或者把它做成autopilot。他们只是把它作为辅助的,提示性的功能。这些汽车厂商理解,作为一个用户,他们不可能,也不应该记住autopilot能正确工作的种种前提条件。
用户没有足够的能力来“判断”autopilot正常工作的条件是否满足。比如,路上的线还在,但是被磨损了,颜色很浅,那么autopilot到底能不能用呢?谁也不知道。把判断这些条件是否满足的任务推给用户,就像是在要求用户帮Tesla的工程师debug代码。这显然是不可行的。如果autopilot能够在检测到道路条件不满足的情况下,自动警告用户,并且退出自动驾驶模式,那还稍微合理一些。
用户也许没有足够的时间来响应条件的改变。Autopilot自动驾驶的时候,车子有可能最初行驶在较好的条件下(天气好,路面线条清晰),然而随着高速行驶,路面条件有可能急速的变化。有可能上一秒还好好的,下一秒路面线条就不再清晰(视频5貌似这种情况)。路面条件的变化突如其来,驾驶员没有料到。等他们反应过来,想关闭autopilot的时候,车祸已经发生了。这种情况如果上诉到法庭,稍微明理一点的法官,都应该判Tesla败诉。
Autopilot显摆出的“高科技”形象,容易使人产生盲目的信任,以至于疏忽而出现车祸。既然叫做“autopilot”,这意味着它能够不需要人干预,自动驾驶一段时间。既然用户觉得它能自动驾驶,那么他们完全有理由在到达高速路口之前(比如GPS显示还有一个小时才到出口),做一些自己的事情:比如看看手机啊,看看书啊,甚至刷刷牙…… 不然,谁让你叫它是“autopilot”的呢?我坐飞机时,就见过飞行员打开autopilot,上厕所去了。如果启用了autopilot还得一秒钟不停地集中注意力,那恐怕比自己开车还累。自己开车只需要看路,现在有了autopilot,不但要看路,还要盯着方向盘,防止autopilot犯傻出错……
Tesla把“beta版”的autopilot推送给所有的Model S,是对社会安全不负责任的做法。你要明白Murphy’s Law:如果一个东西可能出问题,那么就一定会有人让它出问题。Autopilot的功能不成熟,限制条件很多,不容易被正确使用,这不但对Model S的车主自己,而且对其他人也是一种威胁。汽车不是玩具,随便做个新功能,beta版,让人来试用,是会玩出人命的。我觉得Tesla的autopilot,跟无照驾驶的人一样,应该被法律禁止。由于autopilot的复杂性和潜在的危险性,使用autopilot的用户,应该经过DMV考核,在驾照上注明“能正确使用Tesla autopilot”,才准上路。
关系到人的生命安全的“免责声明”和“用户协议”,在法律上是无效的。在美国,到处都存在“免责声明”之说。比如你去参加学校组织的春游活动,都要叫你签一个“waiver”,说如果出了安全事故或者意外,你不能把学校告上法庭。这种免责声明,一般在法律上都是无效的。如果由于学校的过错而致使你的身体受了损伤,就算你签了这种waiver,照样可以把学校告上法庭。我估计Tesla的autopilot在启动时,也有这样的免责声明,说如果使用autopolit而出现车祸,Tesla不负责任。由于autopilot直接操控了你的车子,如果真的出了车祸,这跟其它的waiver一样,都是无效的。你照样可以上法庭告他们。
由于意识到这个问题,知道出了问题自己是逃不掉责任的,Tesla最近又通过强制的软件更新,对autopilot的功能进行了一些限制,说是为了防止用户“滥用”autopilot做一些“疯狂”的事情。Tesla很疯狂,反倒指责用户“滥用”和“疯狂”。这让人很愤慨。
对autopilot进行限制的同时,Tesla又推出了beta版的“自动趴车”和“召唤”(summon)功能。这些功能貌似很酷,然而它们也附带了许多的限制条件。你只能在某些地方,满足某种特定条件,才能用这些功能。如果你违反这些条件,出了事故,Tesla声称不负责。
这些能够让车子自己移动的功能,跟autopilot一样,同样会给社会带来安全隐患。比如,有人在不该使用自动趴车和summon功能的地方用了它,就可能会导致车祸。这不是用户的问题,而是Tesla根本不应该发布这些不成熟的技术来哗众取巧。
【转】Tesla Autopilot的更多相关文章
- 【转】Tesla autopilot 引起致命车祸
Tesla autopilot 引起致命车祸 好一段时间没关心 Tesla 了,今天才发现他们的 autopilot 终于引起了致命的车祸.这场 Model S 撞上18轮大卡车的车祸,发生于5月7号 ...
- 【转】Tesla Model S的设计失误
Tesla Model S的设计失误 这幅美丽的图片,就是红极一时的Tesla电动车Model S的内景.然而你有没有发现,其中有一些不大对劲的地方?虽然我看好电动汽车,它们环保,安静,运动敏捷,然而 ...
- 特斯拉Tesla Model 3整体架构解析(下)
特斯拉Tesla Model 3整体架构解析(中) Tesla Computer Unit 特斯拉已经开发了一个由自动驾驶仪和信息计算机组成的定制"液冷双计算平台"."他 ...
- Android开发笔记之《特斯拉-Tesla 代码分析》
转载请注明出处 一.反编译APK文件,查看包结构 // Android库,不多解释android.support // HttpClient 4.1 repackaged for Android // ...
- 基于Ubuntu14.04系统的nvidia tesla K40驱动和cuda 7.5安装笔记
基于Ubuntu14.04系统的nvidia tesla K40驱动和cuda 7.5安装笔记 飞翔的蜘蛛人 注1:本人新手,文章中不准确的地方,欢迎批评指正 注2:知识储备应达到Linux入门级水平 ...
- ubuntu14.04下的NVIDIA Tesla K80显卡驱动的安装教程
搞深度学习如何能够不与浑身是“核”的显卡打交道呢? 人工智能的兴起除了数据量的大量提升,算法的不断改进,计算能力的逐步提高,还离不开软件基础设施的逐步完善.当下的主流的深度学习工具软件无论是Caffe ...
- Tesla为什么要公开专利
这是今天在网上看到Tesla公司的专利墙图片,还是比较有视觉冲击力的,正好可以转来当配图. 业界先锋Tesla日前惊世骇俗地公开电动汽车专利,赢得如潮好评:不过大家都知道,对于西方科技公司,专利历来是 ...
- CUDA编程-(1)Tesla服务器Kepler架构和万年的HelloWorld
结合CUDA范例精解以及CUDA并行编程.由于正在学习CUDA,CUDA用的比较多,因此翻译一些个人认为重点的章节和句子,作为学习,程序将通过NVIDIA K40服务器得出结果.如果想通过本书进行CU ...
- 配有Tesla K40c的服务器新装Ubuntu16.04并安装CUDA8.0、Anaconda3、Matlab2016a、OPENCV3.1、CuDNN5.1、MXNet
注:本文原创,作者:Noah Zhang (http://www.cnblogs.com/noahzn/) 决定加入深度学习的大军,感谢导师给配了台新设备!第一次接触服务器并配置开发环境,整个过程中 ...
随机推荐
- WDCP安装可选组件的快捷命令
memcache的安装 wget -c http://down.wdlinux.cn/in/memcached_ins.sh chmod 755 memcached_ins.sh ./memcache ...
- yii源码三 -- db
<AR> CActiveRecord:path:/framework/db/ar/CActiveRecord.phpoverview:is the base class for class ...
- Suse系统中不使用SFTP的话,还可以使用lrzsz。
一.安装:zypper install lrzsz 二.发送文件到远程Suse: rz 三.接收文件从远程Suse: sz ./hello.sh
- MySQL 数据类型的简单选择
选择合适的数据类型:char和varchar: +---------+------------+ | char(6) | varchar(6) | +---------+------------+ | ...
- edit-distance-动态规划,计算两词之间变换的最小步数
Given two words word1 and word2, find the minimum number of steps required to convert word1 to word2 ...
- .NET Core 全新认识
来源:yubinfeng cnblogs.com/yubinfeng/p/6626694.html 一.概述 .NET 经历14年,在Windows平台上的表现已经相当优秀,但是“跨平台.开 ...
- 理解linux cpu load - 什么时候应该担心了
译文原文: http://blog.scoutapp.com/articles/2009/07/31/understanding-load-averages 你可能已经很熟悉linux的平均load. ...
- Leveldb 使用说明文档
Leveldb 使用说明文档 原作者:Jeff Dean, Sanjay Ghemawat 翻译:乌合之众solym@sohu.com 英文原文地址https://rawgit.com/google/ ...
- Dapper 的输出参数使用示范
-- 普通SQL 示范-- Queries with output parameters. Hide Shrink Copy Code // output parameters // the para ...
- Arduino和C51开发LCD1602显示屏
技术:51单片机.Arduino.LCD1602 概述 本文介绍了LCD1602显示屏,并在LCD1602上显示字符串,对LCD1602常见的问题的解决和开发方法也做了简单介绍. 详细 代码下载: ...