最近几天,特斯拉自动驾驶软件总监Ashok Elluswamy在CVPR 2022大会上发表演讲,介绍了特斯拉自动驾驶团队在过去一年取得的诸多成果,尤其是名为Occupancy Networks的神经网络模型。
他表示,自动驾驶系统中使用的语义分割和深度信息的传统方法存在许多问题,例如2D转换为3D的困难以及深度信息的估计不准确。
使用占用网络后,模型可以预测车辆周围物体占用的空间。
基于此,车辆可以在不识别具体障碍物的情况下做出躲避动作——Ashok Elluswamy甚至在推特上开了个玩笑,说特斯拉的车甚至可以躲避UFO!
基于这项技术,车辆还可以看到周围的弯道是否有障碍物,从而像人类驾驶员一样实现无保护转向!
总之,占领网络明显增强了特斯拉的自动驾驶能力。
据说特斯拉Autopilot系统每天可以防止40起因驾驶员失误造成的车祸!
此外,Ashok Elluswamy还强调了特斯拉Autopilot系统在防止驾驶员误操作方面的努力。
车辆通过感知外部环境和驾驶员的操作系统,可以识别驾驶员的误操作,比如在错误的时间踩下油门踏板,车辆就会停止加速,自动刹车!
特斯拉主动制动
也就是说,之前国内频繁暴露出的驾驶员误操作导致刹车失灵的一些问题,将会受到技术上的限制。
不得不说特斯拉真的很擅长推动技术进步以下视频为Ashok Elluswamy的演讲整理,略有删减
第一,纯视觉算法强大二维图像被转换成三维图像
演讲一开始,Ashok表示,并不是所有人都知道特斯拉的autopilot系统的具体功能,所以他简单介绍了一下。
阿育王
据他介绍,特斯拉的自动驾驶系统可以帮助车辆保持车道,跟随车辆,减速拐弯等除了这些,特斯拉的autopilot系统还配备了标准的安全功能,如紧急制动和避障,可以避免各种碰撞
此外,自2019年以来,约有100万辆特斯拉汽车可以在高速公路上使用更先进的导航,检查相邻车道的信息以执行变道并识别高速公路的出入口。
而且特斯拉的autopilot系统可以在停车场自动停车,识别红绿灯和路标,右转避开汽车等障碍物目前,这些功能已经得到超过10万特斯拉车主的验证
演讲中,Ashok还拿出了一段用户录制的视频视频显示,当用户在旧金山拥挤的道路上行驶时,汽车屏幕会显示周围的环境,如道路边界,车道线,附近车辆的位置和速度
该系统识别周围的环境。
这些一方面需要特斯拉的汽车,摄像头等硬件的支持,另一方面也需要特斯拉自动驾驶系统内置的算法和神经网络的支持。
根据Ashok的说法,特斯拉配备了8个120万像素的摄像头,可以360度捕捉周围环境的图像,平均每秒生成36帧然后特斯拉的汽车会处理这些信息,每秒可以进行144万亿次运算
而且这些过程都是基于纯视觉算法,没有激光雷达,超声波雷达和高清地图。
特斯拉的自动驾驶系统是如何识别一般障碍物的。
Ashok表示,当遇到一般障碍物时,系统会使用空间分割的方法在使用空间分割法时,系统将空间中的每个像素标记为可驾驶和不可驾驶,然后由自动驾驶芯片对场景进行处理但是,这种方法也存在一些问题
物体的标记
首先,系统标记的物体像素是在二维空间中,而为了在三维空间中导航汽车,需要将物体像素转换成三维空间中相应的预测值,这样特斯拉的系统才能建立交互的物理模型,并成功处理导航任务。
物体的标记
可是,当系统将物体像素从二维图像转换为三维图像时,需要进行图像语义分割。
这个过程将在系统中产生不必要的图像或不必要的像素,并且图像的地平面上的几个像素能够产生巨大的影响,并且直接决定如何将这个2D图像转换成3D图像所以,特斯拉在规划上并不想出这么有影响力的像素
另外,不同的障碍需要用不同的方法来判断。
一般来说,物体的深度值是常用的。
在某些场景下,系统可以先预测障碍物在另一个场景中,系统还可以检测图像像素的深度,因此每个像素会产生一些深度值
深度图
但是,虽然最终的深度图非常漂亮,但是深度图用于预测时只需要三个点。
而且在可视化这三个点的时候,虽然近距离还可以,但是伴随着距离的增加,就会变形,这些图像在下一阶段就很难继续使用了。
例如,壁可能变形和弯曲地平面附近的物体也是由较少的点决定的,这使得系统在规划时无法正确判断障碍物
而且由于这些深度图是由多个摄像头采集的平面图像转换而来,所以最终很难产生同一个障碍物,系统也很难预测障碍物的边界。
所以特斯拉提出了占领网络的计划来解决这个问题。
第二,计算空间占用率,对对象进行编码。
在演讲过程中,阿肖克还展示了这种通过视频占领网络的方案他说,从视频中可以看到,在这个方案中,系统对8个摄像头拍摄的图像进行处理,然后计算物体的空间占有率,最后生成示意图
生成的模拟图像
而且特斯拉每次在行驶中移动,系统网络都会重新计算周围物体的空间占用率此外,系统网络不仅会计算一些静态对象的空间占用率,如树木和墙壁,还会计算包括移动汽车在内的动态对象的空间占用率
之后,网络将图像输出为三维图像,还可以预测被遮挡的物体,因此即使汽车只上传物体的部分轮廓,用户也可以清晰地分辨出物体。
另外,虽然由于距离的原因,系统拍摄的图像分辨率不同,但是基于上述方案,最终呈现的模拟3D图像的分辨率是相同的。
生成的图像具有相同的分辨率。
这意味着整个方案运行非常高效Ashok表示,计算平台运行10毫秒,系统网络可以以100 Hz的速度运行,这甚至比许多摄像机记录图像的速度还要快
那么,这个过程是如何完成的呢这需要了解网络占用方案的架构
Ashok在解释占领网络方案的架构时,以特斯拉鱼眼相机和左相机拍摄的图像为例,对比了两者的图像校正过程。
首先,系统会拉伸图像,然后提取图像特征,找出3D图像的相关点是否被占用,然后使用3D位置编码,然后将其映射到固定位置,之后在后续的计算中将收集这些信息。
对图像进行初步处理
之后系统会嵌入图像空间的位置,通过3D查询继续处理图像流,最终生成3D职业特征因为会生成高维的占用特征,所以很难在空间的每一点都执行这个操作因此,系统将在较低的维度中生成这些高维特征,例如,使用典型的上采样技术来生成高维空间占用
计算物体的空间占用率
有意思的是,Ashok在演讲中透露,一开始,这种占用网络的方案只是用来处理静态对象,但最后发现,只处理静态的树很难而且系统刚开始区分真假行人的时候遇到了很多困难
但是研究小组最终发现,无论这些障碍物是移动的还是静止的,系统只需要能够避开它们。
真假行人
因此,占领网络方案不再区分动态障碍物和静态障碍物,而是使用其他分类来处理,并计算物体的瞬时空间占用率,但这不足以保证特斯拉能够安全行驶。
因为只计算瞬时空间占用率,特斯拉高速行驶时遇到一辆车然后开始减速是不合理的系统想知道更多关于这辆车在不同时间的空间占用率以及变化情况
通过这种方式,系统可以预测汽车何时离开因此,该方案还包括预测占用流量
占用流量的计算过程
占有率的数据可以是空间占有率或时间的一阶或高阶导数,也可以提供更精确的控制,将它们统一到同一个坐标系中该系统将使用相同的方法生成空间占用率和占用流量,这也将为各种障碍提供强有力的保护
第三,障碍的类型并不重要该系统可以避免碰撞
Ashok还表示,常规的运动或移动网络无法判断一个物体的类型,比如它是静止的物体还是移动的车辆。
但是从控制层面来说,对象的类型其实并不重要,占用网络的方案提供了很好的保护,防止网络被分类。
无论障碍物是什么,系统都会认为这部分空间被占用,并以一定的速度移动一些特殊类型的车辆可能会有奇怪的颠簸,传统技术很难建模,系统会使用立方体或其他多边形来表示移动的物体
这样可以任意挤压物体,这种占领方式不需要复杂的网格拓扑建模。
当车辆转向无保护或受保护时,几何信息可用于推断遮挡几何信息不仅要推断车载摄像头识别的信息,还要推断未识别的信息
例如,当汽车在进行无保护转弯时,前方有一条分支道路,可能有潜在的车辆被树木和路标挡住,因此汽车知道它无法从这些障碍物中看到车辆基于不同的控制策略,汽车可以提出问题并消除这种遮挡
因此,对于一个静止的物体,汽车可以在行驶中识别它何时变得可见由于有完整的三维障碍物,汽车也可以预测它会撞上这个物体多远,然后系统会通过平滑控制识别并通过这个被阻挡的物体
因此,占用网络方案有助于在许多不同方面改进控制堆栈这个方案是神经辐射领域的延伸,过去几年在很大程度上接管了计算机视觉研究
NeRf与职业网络的关联示意图
NeRf是单一场景或单一位置的图像重建场景,从单一位置的一点重建。
Ashok表示,特斯拉的车辆在行驶时,对接收到的图像的后台处理更加精确,因此可以生成跨时间的精确图像路线,并通过NeRf模型和3D状态差分渲染图像生成更加精确的3D重建。
可是,现实世界中的图像会有一个问题——我们会在现实世界中看到许多不真实或不同的图像。
比如阳光眩光或挡风玻璃上的污垢或灰尘会因光的衍射而发生变化,或者雨滴会进一步扭曲光的传播,最终产生伪像。
提高鲁棒性的方法是使用更高级的描述符,但是这些描述符在某种程度上不会改变局部光照伪影。
因为RGB图像可能非常嘈杂,所以在RGB之上添加描述符可以提供一层语义保护来防止RGB值的改变所以特斯拉的目标就是用这种方式来占领网络方案
描述符比RGB更健壮。
由于占领网络方案需要在若干镜头中生成空间占有率,因此无法在车内运行完整的神经优化,但可以将神经优化简化为在后台运行,确保其生成的空间占有率能够解释汽车运行时接收到的所有传感器的图像。
此外,描述符也可以在训练期间叠加,以便对这些网络产生良好的监督,同时,不同的传感器数据可以被不同地渲染以监控所保存的图像。
目前,特斯拉已经有了减少障碍的网络,下一步就是避免任何碰撞Autopilot已经有很多安全功能了
接着,Ashok展示了三段自动驾驶开始躲避碰撞的视频。
这里的撞车是指驾驶员误将油门踏板当刹车踏板踩下造成的撞车。
Ashok是指当驾驶员不小心把油门当刹车踩,汽车会加速造成碰撞,但汽车会识别并自动停止加速,自动刹车防止碰撞。
在第一个视频中,阿肖克表示,如果Autopilot没有启动并阻止汽车加速,视频中的司机很可能会掉进河里。
特斯拉AP开始防止汽车掉入河中
同样,第二段视频显示,一名特斯拉司机在停车时误踩了油门,但Autopilot很快启动,并阻止了汽车撞到商店和行人。
特斯拉AP开始阻止汽车撞进商店
四。基于占用率的车辆自动路径规划
但是,汽车可能需要几秒钟甚至几分钟的时间才能平稳刹车和停车,汽车在行驶过程中可能没有足够的时间来识别障碍物和进行计算。
所以我们应该用神经网络来达到这个目的,尤其是最近,更复杂的隐藏场景出现了特斯拉的自动驾驶团队要做的就是从之前的网络中获取空间占用率
首先,要把空间占用率编码成一个超压缩的多层感知器本质上,这个MLP是在任何特定查询状态下是否可以避免冲突的隐式表示这种避免碰撞的方法在一定的时间范围内提供了一些保证比如2秒或4秒或一定时间范围内可以避免碰撞
Ashok在这里又举了一个例子他给出了一条自上而下的道路,黑色像素为障碍物,灰色像素为路面,白色像素为道路车道线在这个三维空间的俯视图中,汽车可以放在任意像素位置,模拟是否可以避免碰撞
车辆行驶情况示意图
他说:如果你把汽车想象成一个单点,避碰周期设置为瞬间,那么在当前时间是否会发生碰撞,只取决于障碍物的位置,但问题是车不是点,它有类似长方形的形状,也可以转弯。
因此,只有当形状与障碍物卷积后,我们才能立即知道汽车是否处于碰撞状态。
当汽车转弯时,碰撞场会发生变化表示绿色的车处于安全位置,没有碰撞,红色表示碰撞,所以当车旋转时,碰撞位置较多,但是当汽车位置对齐时,绿色位置会扩大,这意味着汽车不会发生碰撞
总的来说,Ashok展示了如何利用多个摄像头视频和产品产生密集的空间占有率和占用流量通过空间占有率,可以通过神经网络生成有效的避撞场,即车辆通过摄像头看,根据经验判断以合适的速度和方向通过障碍物的道路
避碰隐式神经网络
Ashok还分享了一个模拟环境下的实验,驾驶员踩下油门加速不转弯,汽车检测到碰撞并规划路径使汽车安全通过。
Ashok在演讲的最后表示,如果他们能够成功实现上述所有技术,就可以生产出一辆永远不会撞车的汽车。
显然,这项工作还没有完成。Ashok在他的最后一个PPT中,主动邀请工程师加入特斯拉,打造一辆永远不会撞车的汽车!
Ashekelluswamy欢迎更多人才加入特斯拉。
结论:特斯拉不断探索自动驾驶。
自从特斯拉的自动驾驶技术有了火,自动驾驶的赛道上就涌现出了一大批追随者但不得不说,特斯拉一直走在行业的最前沿,不断探索自动驾驶的新方式
本次特斯拉自动驾驶项目负责人带来了全新的技术解读,也在一定程度上提前向我们展示了特斯拉未来自动驾驶技术的亮点凭借特斯拉不断探索的精神,其自动驾驶将继续引领整个汽车市场
。