【转】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/) 决定加入深度学习的大军,感谢导师给配了台新设备!第一次接触服务器并配置开发环境,整个过程中 ...
随机推荐
- mycat系列-Mycat 分片规则
分片规则概述 在数据切分处理中,特别是水平切分中,中间件最终要的两个处理过程就是数据的切分.数据的聚合.选择合适的切分规则,至关重要,因为它决定了后续数据聚合的难易程度,甚至可以避免跨库的数据聚合处理 ...
- Python编程-数据库-利用PyMysql访问windows下的MySql数据库
1. 下载PyMysql并且安装 下载地址 下载zip包后解压到目录,进入该目录,执行以下命令安装 python setup.py install 2. 编写一个简单的数据库访问程序 simple_m ...
- JavaScript如何根据当天算出前三天和后三天
经杨秀徐批准 中央军委颁发意见建设新型司令机关news 杨秀徐会见到北京述职的香港特首梁振英news 海军372潜艇官兵先进事迹报告会举行 杨秀徐作指示news 中央农村工作会议在京召开 李克强作重要 ...
- Spring MVC 实现文件的上传和下载
前些天一位江苏经贸的学弟跟我留言问了我这样一个问题:“用什么技术来实现一般网页上文件的上传和下载?是框架还是Java中的IO流”.我回复他说:“使用Spring MVC框架可以做到这一点,因为Spri ...
- SQL Server时间戳
select replace(replace(replace(replace(convert(varchar ,getdate() ,126) ,'-' ,'') ,' ' ,'') ,':' ,'' ...
- logback debug 日志没有信息
可能是项目绑定的日志不是logback的jar包,而是其他包,具体可查看tomcat启动日志 log4j:WARN No appenders could be found for logger (or ...
- gdb 小技巧
https://www.gitbook.com/book/wizardforcel/100-gdb-tips/details
- ES6学习笔记七:生成器与异步操作
一:Generator Generator 函数是一个普通函数,但是有两个特征.一是,function关键字与函数名之间有一个星号:二是,函数体内部使用yield表达式,输出不同的内部状态. 执行 G ...
- CentOS卸载Oracle 11gR2(x64)
环境 OS: CentOS 7.4; hosts: L134; IP: 192.168.1.134 Oracle安装文件目录:/opt/oracle_install ORACLE_BASE:/data ...
- Arduino的光敏传感器和超声波测距传感器测试代码
光敏传感器测试代码 使用的是一个未知名4pin模块, 4pin依次为Vcc, Gnd, DO, AO, 板载一个可调电阻以及一个LED, 调节电阻大小, 可以控制LED亮灭和DO输出变化对光亮的灵敏度 ...