特斯拉的自动驾驶仪无疑是目前最先进的计算机视觉系统,从自动驾驶汽车最重要的功能,车道检测到行人跟踪,再到信号灯识别等等,它们必须涵盖所有道路信息,并预测每种情况。因此特斯拉发布了“ Tesla Vision ” 相机制成的感知系统,特斯拉的计算机视觉新系统只配备了8个摄像头……这种纯计算机视觉的应用,使其成为世界上唯一不使用雷达的自动驾驶公司之一!

从下面视频中,我们可以看到特斯拉的计算机视觉系统。车辆周围的 8 个摄像头(左,搜集车周围的影像)通过神经网络生成 3 维“向量空间”(右,生成最终的车道信息),代表自动驾驶所需的一切信息,如线条、边缘、路缘、交通标志、红绿灯、汽车;汽车的位置、方向、深度、速度等等信息,而这一些的实现,只是特斯拉上面的8个摄像头与自动驾驶系统来实现的。其中自动驾驶系统中,最重要的便是来训练处理8个摄像头采集到的影像信息的神经网络模型了。

其最初研究计算机视觉时,人们也是参考了人类的视觉系统,当眼睛搜集的信息到达视网膜后,经过大脑皮层的多个区域、神经层,最终形成生物视觉,我们才能在脑中生成图像。计算机视觉系统就是参考这样的设计来设计目前的计算机视觉神经网络系统,而计算机视觉任务中,物体检测一般有如下通用的结构:

Input → backbone → neck → head → Output

Backbone:指特征提取网络,用于识别单个图像中的多个对象,并提供对象的丰富特征信息。我们经常使用 AlexNet、ResNet、VGGNet 作为骨干网络。

检测头(head):在特征提取(骨干)之后,它为我们提供了输入的特征图表示。对于一些实际的任务,比如检测对象、分割等。我们通常在特征图上应用一个“检测头”,所以它就像一个头附着在主干上。

neck:颈部位于主干和头部之间,用于提取一些更精细的特征。(例如特征金字塔网络(FPN),BiFPN)

最初,在目标检测任务中,特斯拉使用了一些手动设计的网络,例如 AlexNet、VGG、ResNet、DenseNet等神经网络主干。后来,随着数据规模和网络深度的增加,相关特斯拉研究人员开始考虑使用半自动化网络设计和自动化网络设计来代替人工网络设计。

2020 年 Facebook 人工智能研究 (FAIR) 论文Designing Network Design Spaces中提出了一种新的神经网络Regnet(正则网络结构)。经过神经网络主干处理后,RegNet给出了不同尺度、不同分辨率的多个特征。在这个特征提取网络中,在最底部,我们有非常高的分辨率和非常低的通道数,而在顶部有高通道数,且低分辨率。所以底部的神经元用于检查图像的细节,顶部的神经元用于理解场景上下文(语义)信息

正是RegNet神经网络这样的特性,特斯拉使用 Regnet(正则网络结构)作为其神经网络主干。

Hydranets——特斯拉的疯狂神经网络

而检测头部分,特斯拉由于要在一个神经网络中,需要检测很多任务,比如车道线检测,人物检测与追踪,信号灯检测等等,而以往的计算机视觉任务中,我们的神经网络最终只有一个输出头,要么是对象检测,要么是实例分割,等等,显然,在一个自动驾驶系统中,这样的神经网络不太实用,且我们也不能同时运行多个神经网络模型来控制自动驾驶系统,这样的话,很容易引起神经网络之间的问题,计算机视觉系统处理也很困难。

特斯拉将这些任务融合在一个新的架构中,有一个共同共享的主干并分支成多个头。这种架构称为 HydraNets。简称九头蛇网络,当然,并不是输出只有9个头,毕竟自动驾驶的计算机视觉任务,不是9个头就可以处理的。

1、所有 8 幅图像首先由图像提取器处理。为此,使用了类似于 ResNet 的架构,Regnet(正则网络结构)

2、然后是多机位融合。这个想法是将所有 8 个图像组合成一个超级图像。为此,HydraNets使用了类似transformer的架构。

3、时间融合。这个想法是将时间带入神经网络,并将超级图像与所有先前的超级图像融合在一起。为此,有 N 个图像的视频队列。例如,如果他们想用 2 秒进行融合,并且假设摄像机以每秒 30帧的速度工作,N 将为 60。时间融合是使用 3D CNN、RNN 或 Transformer 完成的。

4、最后,输出被分成 HEADS。

需要注意的一点:正如上图所看到的,整个神经网络模型都被分成了左右2部分:这实际上是神经网络模型在 2 个芯片上并行运行的方式.

特斯拉的TPU

HydraNets 具有三个主要优点

特征共享:减少重复卷积计算,减少主干数量,在测试时特别高效

解耦任务:将特定任务从主干中解耦,能够单独微调任务

Representation Bottleneck:训练时缓存特征,在做微调工作流时,只使用缓存的特征微调头部。

HydraNet 训练工作流程:

1、进行端到端培训,他们共同训练所有内容

2、在多尺度特征级别缓存特征。

3、使用缓存功能微调每个特定任务

4、再次进行端到端培训并进行迭代。

下图是一个版本的 HydraNet 中处理单个图像得到的一些预测

而特斯拉如何训练其神经网络那?如何训练 Hydranet?

根据特斯拉团队的说法,在 GPU 上训练一个有 48 个头的神经网络需 70,000 小时!差不多8年了,特斯拉团队为了解决这个问题,把训练模式从 “round robin”模式转换为“pool of workers”模式.这样就大大缩短了训练时间,且我们从HydraNets神经网络架构中知道,特斯拉还使用了双MCU架构,并行处理。

Transformer模型作为NLP与图片视频领域中,最重要的模型构架,在最近今年越来越受到了重视,虽然Transformer模型刚开始设计,是在NLP领域,但是随着VIT模型,以及SWIN模型的发布,把Transformer模型也有效的应用到了CV计算机视觉领域,让Transformer模型也能够进行CV领域的任务处理

更多Transformer模型VIT 模型SWIN Transformer模型参考头条号:人工智能研究所

VX搜索小程序:AI人工智能工具,体验不一样的AI工具

HydraNet——特斯拉自动驾驶强大的人工智能神经网络模型相关推荐

  1. 特斯拉应用在自动驾驶汽车上的神经网络模型—Occupancy Networks

    2022 年CVPR上,特斯拉宣布将在其自动驾驶车辆中发布一种全新的算法.这个算法被命名为Occupancy Networks,它用来改进特斯拉的AI 模型HydraNets. --1-- 特斯拉自动 ...

  2. 万字长文详解特斯拉自动驾驶体系(感知/规控/标注/仿真)

    作者 | 和君 编辑 | 禾隐记 点击下方卡片,关注"自动驾驶之心"公众号 ADAS巨卷干货,即可获取 点击进入→自动驾驶之心[全栈算法]技术交流群 汽车革命的上半场是电动化,下半 ...

  3. 特斯拉自动驾驶使用的技术_使用自回归预测特斯拉股价

    特斯拉自动驾驶使用的技术 Tesla has been making waves in financial markets over the last few months. Previously n ...

  4. 深度理解特斯拉自动驾驶解决方案 3:规划与控制

    从理论到现实,分析特斯拉全自动驾驶的演变 在之前的文章中,我们讨论了特斯拉视觉方案的整个架构. 在这篇文章中,我们将讨论:计划与控制. 计划与控制 这部分由特斯拉自动驾驶软件总监Ashok Ellus ...

  5. 特斯拉自动驾驶团队:五年,一个疯子,五个离开的天才

    作者:四驱姑娘 特斯拉自动驾驶 Autopilot 最近一次上热搜,是因为夜间高速行车中紧急避让一只狼.一群过马路的鸭子.三头熊-- 在自动驾驶这条漫漫长路上,特斯拉 Autopilot(以下简称&q ...

  6. 人工智能自动驾驶竞技赛,人工智能自动驾驶汽车

    自动驾驶五大核心技术包括哪些? 一是车联网.在人工智能和以"电.智.网.共享"为代表的新四化驱动下,引领车联网从第一阶段向第二阶段演进.人机交互逐渐延伸到车辆.车辆与通信设施.车辆 ...

  7. 为什么被马斯克解雇了3次,特斯拉自动驾驶团队却越来越强?

    很多人问我,作为一个汽车厂商,怎么样才能够抓住汽车智能化的时代机遇,建立自动驾驶自研能力,因为其中最让人头疼的就是建立人工智能(AI)自研能力. 车厂已经意识到自动驾驶自研能力非常重要 2021年6月 ...

  8. 揭秘特斯拉自动驾驶雄心:最大优势非算法或技术而是海量数据

    来源:腾讯科技  审校:金鹿 腾讯科技讯 9月20日消息,对于电动汽车制造商特斯拉来说,实现全自动驾驶始终是其优先议程之一.与其他竞争对手相比,该公司的最大优势并非技术或算法,而是目前上路的40多万辆 ...

  9. 世界首例针对特斯拉自动驾驶判罚:德国裁定Autopilot广告误导买家,特斯拉柏林工厂可能受阻...

    贾浩楠 发自 凹非寺 量子位 报道 | 公众号 QbitAI "全自动?别骗人了." 7月14日,德国慕尼黑法院正式裁定,特斯拉在其自动驾驶Autopilot的广告中,存在夸大宣传 ...

最新文章

  1. python的and是什么_Python初学者:“==”and“is”的区别是什么?
  2. HTTP协议和HTTPS协议初探
  3. SQL 数据库 连接查询 变量、if else、while
  4. 多维数组的行优先和列优先, 数据描述语言
  5. 小程序WXML基本使用
  6. C++设计模式-Bridge桥接模式
  7. PHP文字游戏源码寻仙纪
  8. 【语义分割】论文代码资料汇总
  9. css - 给图片添加蒙版
  10. aix ntp 配置_aix下开启ntp服务
  11. java.sql.SQLException: null,message server: Host ora-rac2 is blocked because of many
  12. 对于“增霸卡“的介绍跟使用
  13. linux 测试udp端口是否打开,udp端口如何打开?UDP端口测试介绍
  14. 模式识别的常用英文总结
  15. 大数据分析引擎-Doris简要介绍
  16. 职业能力倾向测试下什么软件,职业能力倾向测验
  17. 三星会议组织:八个必须,三个公式
  18. 怎么用计算机弹出光年之外,明日之后光年之外简谱代码-明日之后光年之外怎么弹-明日之后光年之外钢琴曲谱分享_牛游戏网...
  19. 服务器证书已过期,WebSphere应用服务器证书过期问题解决
  20. Coding and Paper Letter(六十)

热门文章

  1. 用户管理(一):使用shell脚本批量添加指定数量的用户
  2. 关于AD绘制驱动板如何设置电气间距
  3. 重磅!华为正式出售荣耀,不再持有任何股份
  4. VS Code写Python智能提示,代码自动补全(Kite插件)
  5. 树梅派应用26:树莓派做FM发射器架设小型电台
  6. “外卖佣金”的博弈:两种思维方式的较量
  7. 银联 php hex2bin,php 实现银联商务H5支付的示例代码
  8. 2017年1月10号
  9. 马士兵老师语录——镇楼
  10. 【网络编程】网络基础知识