2. EyeQ硬件与计算平台

EyeQ系列是Mobileye为ADAS与自动驾驶感知任务定制的SoC家族,从早期EyeQ1到EyeQ6,其设计哲学始终围绕一个核心矛盾展开:在车规级功耗与散热条件下,持续提供足够的多路摄像头实时感知算力。理解这一矛盾,是理解Mobileye检测跟踪算法为何采用特定结构、特定数据流和特定精度策略的前提。

一、EyeQ的异构架构:不是通用GPU,而是感知专用流水线

EyeQ芯片内部并非单一处理器,而是由多种计算单元组成的异构架构。以EyeQ4和EyeQ5为代表,典型组成包括:

  • 多核MIPS/ARM CPU集群:负责任务调度、目标管理、跟踪逻辑、CAN通信与功能安全监控,不承担大规模卷积计算。
  • 向量加速器(如EyeQ4的VMP、EyeQ5的XNN/VPU):面向卷积、池化、激活等神经网络算子做定点/浮点混合加速,是检测网络的主力。
  • 专用视觉加速器(如EyeQ4的PMA、EyeQ5的VMP):处理光流、立体匹配、特征点提取、图像金字塔等传统视觉任务,支撑跟踪与深度估计。
  • 图像信号处理器(ISP)与DMA:完成去马赛克、畸变校正、多路摄像头同步与零拷贝搬运。

这种架构决定了算法设计不能像在桌面GPU上那样“先堆网络再优化”,而必须按加速器能力反向设计网络:卷积层通道数、卷积核尺寸、激活函数类型都要考虑目标加速器的吞吐特性。例如,EyeQ4的VMP对3×3卷积和深度可分离卷积有较高利用率,而对大核卷积和动态shape支持有限,因此Mobileye的检测网络大量采用小核堆叠与固定分辨率输入。

EyeQ异构计算平台与检测跟踪数据流 多路摄像头 前视 / 环视 / 后视 MIPI CSI-2 输入 ISP + DMA 去马赛克 / 畸变校正 零拷贝搬运 EyeQ SoC 内部计算资源 CPU 集群 (MIPS/ARM) 调度 / 跟踪管理 / 功能安全 向量加速器 (VMP/XNN) 卷积 / 池化 / 激活 视觉加速器 (PMA/VMP) 光流 / 立体 / 特征提取 共享内存 / 缓存 带宽受限关键路径 功耗与散热约束:典型 3–10 W 封装功耗 限制持续算力 → 决定网络规模与精度策略 检测结果 目标框 / 类别 / 置信度 每帧输出 跟踪模块 数据关联 / 状态估计 卡尔曼 / 匈牙利匹配 目标轨迹 ID / 位置 / 速度 输出至规划控制 带宽瓶颈常出现在此

二、算力分配:检测与跟踪如何共享有限资源

EyeQ的算力不是“无限池”,而是按任务类型划分到不同加速器。以EyeQ4为例,其整体算力约2.5 TOPS(定点),但其中可用于卷积的向量算力、可用于光流的视觉算力、以及CPU的通用算力是分开的。这意味着检测网络和跟踪算法不能随意抢占同一资源。

实际工程中,算力分配遵循以下原则:

  • 检测网络放在向量加速器上,且网络结构需固定输入分辨率(如1/2或1/4缩放后的图像),避免动态shape导致加速器利用率下降。
  • 跟踪算法放在CPU和视觉加速器上,因为跟踪涉及数据关联、卡尔曼滤波、匈牙利匹配等逻辑控制,不适合向量加速器;而光流、特征点匹配可交给视觉加速器。
  • ISP和DMA不占用可编程算力,但它们的带宽消耗会间接影响加速器效率。

一个常见的教学示例参数:前视摄像头输入为1280×960@30fps,检测网络输入缩放至512×384,网络推理耗时约15ms;跟踪模块每帧处理约50个目标,CPU耗时约3ms;光流计算耗时约5ms。三者合计约23ms,小于33ms帧周期,留有约10ms余量用于调度抖动和功能安全监控。若检测网络输入提升至768×576,推理耗时可能升至28ms,加上跟踪和光流,总耗时超过帧周期,导致丢帧。这就是算力分配对算法设计的直接约束。

三、内存带宽:比算力更隐蔽的瓶颈

在EyeQ这类嵌入式SoC中,内存带宽往往比峰值算力更容易成为瓶颈。原因在于:卷积计算需要频繁读写特征图,若特征图无法全部驻留在片上缓存,就会产生大量DDR访问。EyeQ4的DDR带宽约为12.8 GB/s,EyeQ5提升至约51.2 GB/s,但多路摄像头同时工作时,ISP写入、加速器读写、CPU访问会共同竞争带宽。

对检测跟踪算法设计的影响体现在:

  • 特征图通道数不宜过大:通道数增加会线性增加特征图内存占用和带宽需求。Mobileye网络常采用较窄的通道配置,配合深度可分离卷积降低带宽。
  • 层间融合减少中间写回:将卷积、BN、激活融合为一个算子,避免中间结果写回DDR,可显著降低带宽。
  • 跟踪模块尽量复用检测输出:避免在跟踪阶段重新访问原始图像或高分辨率特征图,减少额外带宽开销。
工程判断依据:若某层卷积的输入输出特征图总大小超过片上缓存容量,则该层大概率成为带宽瓶颈层。优化时优先检查这些层的通道数和空间分辨率,而非盲目压缩所有层。

四、功耗约束:从芯片到算法的反向传导

车规级EyeQ芯片的封装功耗通常在3–10W范围,具体取决于型号和散热条件。功耗约束通过两条路径影响算法设计:

  1. 持续算力受限:芯片不能长时间跑在峰值频率,否则结温超标。因此算法必须保证平均算力需求低于持续算力上限,而非仅满足峰值。
  2. 精度策略受限:浮点运算功耗高于定点运算,EyeQ系列大量采用INT8甚至更低精度。检测网络需在训练阶段就考虑量化友好性,例如避免极端激活值分布、使用可量化友好的激活函数。

实际设计中,工程师会先根据散热条件确定持续功耗预算,再反推可用的持续算力,最后决定检测网络的分辨率、通道数和跟踪算法的复杂度。例如,若持续功耗预算为5W,向量加速器持续算力约为峰值的60%,则检测网络推理时间需按持续算力估算,而非峰值算力。

五、对检测跟踪算法设计的综合影响

综合以上约束,EyeQ平台上的检测跟踪算法设计形成了一套相对固定的工程范式:

约束维度典型限制算法设计应对
算力分配向量/视觉/CPU算力分离检测走向量加速器,跟踪走CPU+视觉加速器
内存带宽DDR带宽有限,多路竞争窄通道、深度可分离卷积、层融合、复用检测输出
功耗持续功耗3–10WINT8量化、固定分辨率、控制网络规模
实时性帧周期33ms检测+跟踪+光流总耗时留有余量

这些约束并非孤立存在,而是相互耦合。例如,降低功耗需要量化,量化可能影响检测精度,精度下降又需要跟踪算法更鲁棒地补偿;而更鲁棒的跟踪算法可能增加CPU负载,反过来影响整体实时性。因此,EyeQ平台上的算法设计本质上是一个多约束联合优化问题,而非单纯追求某一指标的最优。

常见误区:将桌面GPU上的检测网络直接移植到EyeQ,往往在算力、带宽和功耗三方面同时超标。正确做法是从网络结构设计阶段就考虑目标加速器的算子支持、内存访问模式和量化友好性,而不是先设计后压缩。

理解EyeQ的硬件与计算平台约束,是后续学习Mobileye检测网络结构、跟踪算法实现和工程调优的基础。只有清楚“芯片能做什么、不能做什么”,才能在算法设计中做出合理的取舍。