项目背景

视觉芯片是一种“感存算”一体化集成的边缘计算片上系统,能够克服数据传输的带宽瓶颈,提升端侧图像处理的智能化水平。然而,受限于边缘场景的严格功耗与面积约束,视觉芯片在算力与存储容量等方面存在限制,传统目标跟踪算法难以直接适配部署。

本项目为本科毕业设计内容,旨在针对课题组一款自研视觉芯片处理器的架构特点,设计并实现适配该硬件平台的单目标跟踪算法,实现”模型设计-压缩优化-编译部署”的全流程。


技术方案概览

  • 在自研芯片约束条件下,提出一种硬件友好型的 Anchor-free 孪生目标跟踪网络 (SiamVC)
  • 设计基于输出特征的知识蒸馏方法以弥补量化精度损失,并联合 INT8 PTQ 量化实现模型压缩
  • 开发面向自研芯片的软件工具链,完成模型向视觉芯片的编译部署与实时推理

个人贡献

  • 设计轻量化单目标跟踪网络SiamVC,在参数量仅 325kB,计算量低至 0.11 GOPS的情况下,取得了61.7%跟踪成功率和83.0%准确率(OTB100数据集)

  • 提出针对Anchor-free跟踪头的知识蒸馏方法,使学生网络的跟踪成功率提升2.1%、准确率提升3.5%

  • 通过适配编译部署工具链,在自研视觉芯片上完成完整部署,模型推理帧率达到375FPS

详细技术实现

💡 提示:点击对应模块可展开阅读。

1.处理器限制条件

目标部署平台为课题组自研视觉芯片,包含图像传感器、读出电路和处理器两大部分。其中读出电路与处理器在单硅片上layout制作,通过3D堆叠技术与图像传感器互联集成,形成完整的片上系统。

处理器部分采用异构计算架构,包含以下3个计算核心:

  • MPU:基于MIPS指令集的微控制器,负责运行全局主函数,完成数据搬运调度及控制异构核心的启停
  • Vector Processor(VP):基于自定义指令集的向量处理器,负责向量运算与数据重排等任务
  • NN Processor(NNP):自研的”卷积-矩阵乘”兼容的脉动阵列加速器([论文][pdf]),专门用于加速神经网络中的计算密集型任务

面向该视觉芯片进行算法部署,需着重克服以下三项硬件限制:

  • 算子类型限制:NNP支持特定配置的卷积运算和特定窗口的池化运算,不支持除ReLU外的激活函数及量化矩阵乘法。因此,算法设计必须规避或等效替换不支持的算子类型。
  • 存储容量限制:芯片主打片上高效计算,未配置高功耗的外部存储接口。所有模型参数与中间特征图必须驻留在容量仅为 4MB 的全局数据存储器(Data Memory, DM)中,严禁溢出。
  • 计算精度限制:处理器采用W8A8B16纯整数推理数据流(权重和激活采用INT8、偏置采用INT16)。24bit累加器在进行乘移位再量化前需进行INT16截断。模型需经过严格量化,以避免数据截断引发严重的精度坍塌。
2.面向视觉芯片的算法设计

2.1.SiamVC网络结构

鉴于芯片算子库仅支持纯 CNN 架构,本项目选用经典且高效的孪生网络范式。提出的 SiamVC (Siamese Network for Vision Chip) 架构如图 1 所示,包含两个参数共享的骨干网络(函数 $\phi$):

  • 模板分支:输入 128×128 分辨率的目标图像 $z$
  • 跟踪分支:输入 256×256 分辨率的搜索区域 $x$

两分支输出的特征图经过逐像素互相关运算(函数 $f$)生成相似度得分图 $s=f(\phi(z),\phi(x))$,随后输入至前景-背景分类分支(函数 $g_{cls}$)与坐标偏移回归分支(函数 $g_{ltrb}$),最终得到预测结果 $g_{cls}(s)$ 和 $g_{ltrb}(s)$。

图1
图 1 所设计的SiamVC网络架构

为满足目标硬件平台的约束,SiamVC 进行了针对性设计:

  • 采用裁剪后的MobileNetV2作为骨干网络,确保所有算子均在硬件支持列表内
  • 设计基于深度可分离卷积的 Anchor-free 跟踪头,规避 NMS 等难以在阵列上加速的复杂后处理
  • 将逐像素互相关过程中的矩阵乘运算等效替换为 NNP 支持的 1×1 卷积操作

评估表明,SiamVC 参数量仅为 325kB,计算需求降至 0.11 GOPS,满足硬件部署标准。

2.2.基于输出特征的知识蒸馏

为弥补模型极度轻量化与低比特量化导致的精度损失,本项目引入了基于输出特征的知识蒸馏策略(如图 2 所示)。通过构建参数规模更大的教师网络(SiamVC-T),以其输出特征与学生网络(SiamVC-S)预测特征的均方误差(MSE)作为软标签损失,指导学生网络训练。

总损失函数由硬损失(交叉熵与 IoU 损失)与软损失加权构成:

  • 总体损失:$L_{total}=\alpha L_{hard}+(1-\alpha)L_{soft}$
  • 硬损失:$L_{hard}=L_{CE}+L_{IOU}$
    • 前景-背景分类交叉熵:$L_{CE}(p,q)=-\sum p(x)\log (q(x))$
    • 坐标回归 IoU 损失:$L_{IOU}(A,B)=1-IOU=1-\frac{A\cap B}{A\cup B}$
  • 软损失:$L_{soft}=L_{MSE_{cls}}+L_{MSE_{loc}}$
    • 特征级 MSE 损失:$L_{MSE}(G,Y)=\frac{1}{N}\sum\limits_{i=1}^{N}(G_{i}-Y_{i})^{2}$
图2
图 2 基于输出特征的知识蒸馏策略

在 OTB100 与 VOT2019 数据集上的评估结果(图 3、图 4)表明:

  • 知识蒸馏策略使 SiamVC-S 在 OTB100 数据集上的跟踪成功率提升 2.1%,准确率提升 3.5%(分别达到 61.7% 与 83.0%)。
  • 在 VOT2019 数据集上,该模型能在更小的参数量与计算开销下,达到超越 LightTrack 等前沿轻量化算法的精度表现。
图3
图 3 OTB100数据集上Precision与Success评估
图4
图 4 VOT2019数据集上Accuracy、FLOPs及参数量气泡图

2.3.跟踪结果可视化

各模型版本的实际跟踪效果如下。图例:青色为教师网络 SiamVC-T,橙色为学生网络 SiamVC-S,红色为蒸馏版本 SiamVC-S(KD),粉色为量化+蒸馏版本 SiamVC-S(PTQ-KD),绿色为 Ground Truth 标签。

结果显示,算法在镜头抖动 (1)、同类干扰 (2)、严重遮挡 (3)、尺度缩放 (4)、旋转 (5,6)、低分辨率 (7) 及形变 (8) 等极端场景下均表现出良好的鲁棒性。

3.编译部署工具链

算法部署依赖于图 5 所示的视觉芯片定制编译工具链,涵盖以下核心流程:

  • 模型量化:对接 ONNX 格式模型,执行解析与 PTQ 量化,生成芯片定制格式的算子架构与参数文件。
  • 算法级验证:在 MATLAB 中对芯片纯整数推理数据流进行高精度建模,提前评估硬件理论精度,并作为后端 VCS 仿真验证的比对基准。
  • 编译器前端:执行图优化(如算子融合)、节点信息聚合与内存地址分配。
  • 编译器后端:生成控制 MPU 调度的 C 语言主函数,以及 NNP 计算阵列的配置寄存器指令。
  • (可选) VP 汇编:对于不支持的非线性算子或特定数据重排逻辑,需手写 VP 汇编程序完成。
  • RTL 仿真验证:将 MCU/VP/NNP 程序交叉编译为二进制文件进行 VCS 仿真,比对计算结果。
  • 板级测试:在 RTL 仿真通过后,烧录至视觉芯片测试板进行实测。
图5
图 5 视觉芯片算法编译部署工具链

部署与综合性能评估

通过结合轻量化网络设计、输出特征知识蒸馏与 INT8 训练后量化,系统在满足的片上存储与算力限制的同时实现了高速跟踪。

1. 综合性能指标

评估维度 核心指标 数据表现
算法精度 (OTB100) 跟踪成功率 (Success) / 准确率 (Precision) 61.7% / 83.0% (KD提升 2.1% / 3.5%)
模型规模 参数量体积 / 计算量 325 kB / 0.11 GOPS
硬件推理效能 视觉芯片端侧推理帧率 375 FPS

2. 板级实测效果演示

算法最终在芯片上的实际推理效果如图 6 所示,验证了系统在真实传感器输入下的高效响应与良好泛化能力。


图 6 SiamVC在自研视觉芯片处理器上的实际推理效果

总结与思考

个人评价:从专用加速器到可编程处理器

相较于此前本芯计划参与设计的 AOD-Net 专用加速器,本项目面对的是更具灵活性的可编程处理器。这使得我深刻认识到:一款处理器架构是否“好用”高度依赖于其配套编译工具链的成熟度。当前,自研芯片的 VP 汇编与 NNP 算子配置仍需大量人工介入,这显著拉高了开发门槛。完善且易用的编译器不仅是连接深度学习算法与底层物理计算的桥梁,更是决定芯片商业落地价值的核心壁垒。

软硬件协同:面向自研处理器的硬件感知压缩

在面向课题组自研架构进行算法研发的过程中,我切身体会到:在通用CPU、GPU处理器上表现优秀的压缩算法,可能在自研处理器上“水土不服”。其根本原因在于自研处理器在微架构和底层电路层面有更严苛的约束。

对比在自研芯片和在GPU上的推理结果不难看出,自研芯片上的预测框呈现不同帧间的抖动现象,产生这个问题的原因正是24bit累加器在进行乘移位前饱和截断到INT16的操作在算法训练和量化时并未建模,引发了在通用处理器和自研处理器上推理结果的Mismatch。

这个现象表明,即使在通用平台上评估良好的压缩模型,实际编译部署到自研芯片后也可能面临严重的精度坍塌。这种算法层面的理想假设与实际硅片计算上的 Mismatch,是制约模型落地的最大阻碍。此外,自研芯片还面临着算子支持库有限、片上 SRAM 容量受限等物理约束。因此,采用 NAS (神经架构搜索) 等算法在自研芯片支持的算子空间中探索硬件友好的模型拓扑,并施加严格对齐底层硬件的位宽截断与舍入策略进行量化训练 (QAT),是实现真正意义上“软硬协同设计”的必由之路。