我们都知道特斯拉无人驾驶技术与其他无人驾驶厂商不同,特斯拉主要是依赖于计算机视觉来感知世界的,那么特斯拉又是如何解析这个世界的呢?
接下来内容我们就基于特斯拉人工智能自动驾驶掌门人 Andrej Karpathy 最近在特斯拉自动驾驶日(Tesla Autonomy Day)上的分享。Andrej Karpathy 给出特斯拉 FSD 面对各种计算机视觉方面的挑战给出的答案。
可能已经了解到了特斯拉车身周围一共安装了 8 个摄像头,分别是 3 个前置摄像头,B 柱 2 个,前侧 2 个以及 1 个后置摄像头。
利用这些摄像头会收集到车身 360 度周围完整的信息。但是要从这些摄像头中收集到图像数据中提取有价值的信息,而且能够正确理解这些信息并非易事。
我们先从简单说起,从基于一个摄像头中单个识别任务说起。这个任务就是将图像中的车辆识别出来,用红色边界框将其在图像中表示出来。
那么像这样将车辆从图像中识别出来,如果有点目标检查背景的人可能会认为这应该不是什么难事。其实在无人驾驶中我们是不能出半点偏差的情况下,即使对于像识别车辆这样单一的任务也是极具挑战的。这是因为你还没有考虑各种可能的情况,而且在真实世界中出现的情况很有可能超出你的预想。
上面中有装有施工标示牌的车辆,有装载运输车辆的车辆,有后面固定了自行车的车辆,有水泥搅拌车等等。
图中左上角厢式货车的车身占据了大部分屏幕,施工机械、侧翻的车辆、房车以及车辆仅部分可见,相互遮挡的情况。针对这些多变数据,我们需要考虑如何设计神经网络架构,是选择 ResNet、DenseNet 还是 RetinaNet 作为主干网络,如何设计损失函数等等。
这就是特斯拉数据引擎,当将训练好的神经网络部署到车辆上,当识别出精度不准图像会发送给服务端,服务端经过测试后会推送给研发,对这些精度不准图像进行标注后做数据集来重新训练模型,训练好的模型将再次部署到车辆,这样随着车辆行驶公里数,神经网络会见多识广,逐渐通过这个循环机制不断提升自己。
要正确把握环境,我们有许多事情要做,就上面一张图就是特斯拉行驶中一个场景,那么要了解这个场景需要哪些识别任务呢?
不仅要识别出道路上行驶车辆,还要识别出哪些静止不动的目标,例如路障等。
还要识别出可以放置的道路指示牌和交通信号灯,这些标示和信号是提供做出驾驶策略的信息。
接下来还需要了解路面上布局,例如路面上标示和车道线的位置,还有就是边石,通过这些识别到目标,可以告诉车辆哪些区域是可以行驶的,哪些区域是不可以行驶的。
人行横道线提醒车辆对此需要格外注意,可能有行人会在此穿过道路,需要慢行和避让。这些识别任务接下来会交给无人驾驶的决策环节,根据这些识别到的信息,FSD 会出给对车辆控制的策略。这些任务也会将这些识别到的物体以图形化形式展现给驾驶员,让他了解更多行驶的环境。那么我们也就是理解到特斯拉如何看到这些。
在特斯拉中每一个大的分类下面还有一些子分类,例如车辆种类,是日系汽车呀、还是德系汽车呀,具体是哪个厂商的哪个型号。对于一些特殊车辆例如消防车、救护车和警车,当这些车辆在开启指示灯处于工作状态,特斯拉 FSD 需要了解并采取类似停车、避让等策略。这些细节都需要考虑在内,那么可以见其复杂性非同一般。
接下来我们通过一个具体的例子给大家更详细地去展示一下识别任务的复杂性,这里就是 STOP 标志牌为例吧。我们用语言简单描述一下你看到的 STOP Sign,圆形红色为底 STOP 是白色字。
那么 Stop Sign 在美国,有 Stop Sign 的地方意味着必须完全停下(速度降到0,有个保险的说法是停下等待至少3秒),确定两边没车了以后才可以走,因为如果对方没有Stop Sign是没有义务避让的。 部分道路上可能还会有以上的黄色标志,提醒前方将有Stop Sign需要停车,这时候如果车速较高就需要减速留意着Stop Sign牌。
接下来我们带你领略一下世界上各式各样的 STOP Sign,图中, STOP Sign 并不是安装在我们熟悉的钢管上,而是绘制在类似墙体上。
这里 STOP Sign 是可以临时放置路面上,可能在表示路面施工禁止通行情况下使用的 STOP Sign。
为了在夜间便于观察 STOP Sign,所以在 STOP Sign 周围添加了灯光,但是通过图片观察,结果可能变得更不容易观察了。
STOP 标志在工作人员的手里,大家不难发现这时 STOP sign 可能是倒置的,也就是文字 STOP 是反向的。
STOP 标志可能是被树木遮挡,从而增加识别的难度。
STOP Sign 可能安装在校车后面,或者也可能是车的一部分。
STOP Sign 也可能是临时移动,更难的是 STOP sign 在不同情况下或者不同地区具有不同含义,我们不但准确无误识别出 STOP sign 还要结合环境来正确解析其含义。
说了这么多,主要是为了展示基于计算机视觉来做无人驾驶的难度。随后在第二期会给出大家解决方案。
本文暂时没有评论,来添加一个吧(●'◡'●)