当前位置: 首页 > news >正文

轻量级自动驾驶多视图视觉问答模型-EM-VLM4AD

EM-VLM4AD

论文

名称内容
论文标题Multi-Frame, Lightweight & Efficient Vision-Language Models for Question Answering in Autonomous Driving
论文链接https://arxiv.org/abs/2403.19838
源码链接akshaygopalkr/EM-VLM4AD (github.com)
收录CVPR Workshop 2024

Abstract

  • 过去方法的问题
    • VLM 模型太大,难以实现 real-time VQA for AD
    • 大多数 VLM 都是 single-image 的VQA,少有 multiple images 的VLM,特别在AD领域
  • 主要贡献
    • 提出了EM-VLM4AD模型,Efficient Multi-frame VLM for Autonomous Driving
      • 该模型在memory 和 FLOPs 上比现有的AD-VLMs少了10倍
      • 可以实现multiple images的 VQA
    • explore two different lightweight LM backbones for EM-VLM4AD,两个BackBones分别是:
      • finetuned Text-to-Text Transfer Transformer (T5) Base LM
      • 8-bit quantized T5-Large LM finetuned using low-rank adaptation (LoRA)
    • 与 DriveLM 数据集的 BaseLine 进行比较(四个指标BLEU-4、CIDEr、ROUGE-L、METEOR)
      • 在ROUGE-L和CIDEr指标上 stronger performance
  • 总结展望
    • In future research, we aspire to evolve our model into a video-language model capable of generating responses from multi-view video inputs, thereby enhancing EM-VLM4AD’s ability to handle temporal-related inquiries

Methods

模型整体结构如下图所示,总共分为两大部分:

  • Image Patch Encoder(图像编码网络)
  • T5-Medium/T5-Large(语言模型)

在这里插入图片描述

Image Embedding Network

这部分讲解Image Patch Encoder、Gated Pooling Attention、Projection Layer,即图片在输入进LLM(Large Language Model)之前的过程。

  • Image Patch Encoder 使用的是 the pretrained weights of ViT-B/32 pretrained on ImageNet,但是并没有使用ViT的整个模型,而是只用到了ViT的输入嵌入层,即生成embedding的部分

    在这里插入图片描述

  • 为了处理Multi-view,需要将经过编码后的每个视角的Embeddings进行合并,这里使用的是Gated Pooling Attention 和 Projection Layer

  • 最后得到一个Multi-View Image Embedings

因此大致的流程就是输入Front, Front-Left, Front-Right, Back,Back-Left, Back-Right共六个视角的图片,然后每张图片都经过 ViT-B/23,得到Individual View Embeddings,然后通过Gated Pooling Attention 和 Projection Layer合并映射成一个Multi-View Image Embedings,最后输入进T5

具体流程如下:

  1. 输入图像形状为I∈R3×H×WI \in \mathbb{R}^{3 \times H \times W}IR3×H×W,接下来会 flattened and sliced into patches with a linear projection and positional embedding

  2. 之后的形状变为了Vi∈RSI×HIV_i \in \mathbb{R}^{S_I \times H_I}ViRSI×HI,其中 iii 表示第 iii 张图片

    • SIS_ISI is the sequence length for the image embedding
    • HIH_IHI is the hidden dimension of the image embedding

    注意:其中第一步第二步,即从I∈R3×H×WI \in \mathbb{R}^{3 \times H \times W}IR3×H×WVi∈RSI×HIV_i \in \mathbb{R}^{S_I \times H_I}ViRSI×HI都是由ViT输入嵌入层完成的,其实就是把每张图片输入进行ViT输入嵌入层就行了

  3. 然后可以得到 6 个 Image Embedding,一个视角对应一个,然后Flatten每个Embedding到一维

  4. 之后使用 gated pooling attention(来自论文Mivc),关于为什么使用?论文解释如下:

    在这里插入图片描述

    Gated Pooling Attention 执行过程如下:首先会求出每个ViV_iVi的权重αi\alpha_iαi,然后进行加权求和。
    V=∑i=1NαiViV = \sum_{i=1}^{N} \alpha_i V_i V=i=1NαiVi
    其中,αi\alpha_iαi计算方式如下,并且 ∑i=1Nαi=1\sum_{i=1}^{N} \alpha_i = 1i=1Nαi=1
    αi=exp⁡{wT(tanh⁡(ZViT)⊗σ(GViT))}∑j=1Nexp⁡{wT(tanh⁡(ZVjT)⊗σ(GVjT))}\alpha_i = \frac{\exp \left\{ w^T \left( \tanh (Z V_i^T) \otimes \sigma (G V_i^T) \right) \right\}}{\sum_{j=1}^{N} \exp \left\{ w^T \left( \tanh (Z V_j^T) \otimes \sigma (G V_j^T) \right) \right\}} αi=j=1Nexp{wT(tanh(ZVjT)σ(GVjT))}exp{wT(tanh(ZViT)σ(GViT))}
    其中,w∈RK,Z∈RK×M,G∈RK×M,M=SIHIw \in \mathbb{R}^{K}, \; Z \in \mathbb{R}^{K \times M}, \; G \in \mathbb{R}^{K \times M}, \; M = S_I H_IwRK,ZRK×M,GRK×M,M=SIHI

    其中 KKK 为超参,在论文中设置为 128

  5. 通过Gated Pooling Attention后形状为V∈RSI×HIV \in \mathbb{R}^{S_I \times H_I}VRSI×HI,之后通过Projection Layer将VVV投影到HTH_THT维度,与文本的Embedding维度相匹配,便于和文本的Embedding进行拼接变成R(ST+SI)×HT\mathbb{R}^{(S_T + S_I) \times H_T}R(ST+SI)×HT,其中STS_TST为the sequence length of the text embedding

  6. 最后Multi-View Image Embedding的形状为V∈RSI×HTV \in \mathbb{R}^{S_I \times H_T}VRSI×HT

Language Model

为了减少计算量和推理耗时,论文中采用小于十亿的参数量的LLMs,使用了两个不同版本的预训练T5模型

  • T5-Base, which contains around 223 million parameters
  • an 8-bit quantized version of T5-Large (≈ 750M parameters)

将得到的 Multi-View Image Embedding 和 Text Ebedding 进行拼接,然后输入进T5模型,最后得到输出。

在实验过程中发现 fine-tuning the whole model for T5-Base works best,但是对于 the quantized T5-Large we use LoRA-Fine-Tuning-Aware Quantization

Training Process

该部分讲解训练过程,数据集相关配置如下:

  • DriveLM dataset
  • a 90%/5%/5% split of the traffic scenes

在这里插入图片描述

训练过程如下,总共分为两步:

  1. Stage 1:冻结Image Patch Encoder和T5 LM的参数,只训练Gate Pooling Attention 和 Projection Layer。原因如下:This forces the multi-view image embeddings to align with the type of embeddings the LM expects. 意思是迫使得到的multi-view image embeddings与LM所需要的embeddings进行对齐,即本来LM是用来处理Text Embedding的,但是你用来处理图片,因此先训练GPA和PL层产生合适的Embedding,即LM所expects的Embedding。
  2. Stage 2:只Image Patch Encoder参数冻结,同时训练T5、Gated Pooling Attention和Projection Layer。

如下是原论文中的描述

在这里插入图片描述

在这里插入图片描述

注意:在整个训练过程中并不会训练Image Patch Encoder,该部分采用的是在ImageNet上预训练的ViT模型

相关训练配置如下:

  • each training stage for six epochs

  • a learning rate of 1e-4

  • weight decay of 0.05

  • an exponential learning rate scheduler

  • a batch size of 4 for both approaches

  • a NVIDIA RTX 3090 Ti to train the T5-Large version of EM-VLM4AD

  • a V100 Google Colab instance to train EM-VLM4AD with T5-Base

Experiments

实验部分进行了定量分析,计算量分析,定性分析。

主要采用image captioning tasks中常见的几个指标来评估模型生成的答案

  • BLEU-4
  • ROUGE-L
  • METEOR
  • CIDEr

Quantitative Results

实验结果如下,其中T5-Base比 8-bit quantized T5-Large 要好可以归因于T4-Base可以训练一个更大的参数集,这有助于语言模型更好地适应输入的视觉语言嵌入。

本文中的训练验证测试集是自己划分的,与DriveLM-Agent使用的不一样,因为目前DriveLM-Agent闭源,因此作者这里使用的DriveLM-Agent的各个指标其实是在DriveLM-Agent的私有测试集的结果。

作者这里是自己划分了一下DriveLM数据集,然后训练测试,最后和DriveLM-Agent在其私有测试集上的结果进行对比。

在这里插入图片描述

多帧处理是EM-VLM4AD优于重要原因,DriveLM-Agent仅仅使用了front-view frame作为输入,本文的模型通过custom multi-view embedding network成功合并多帧视图的信息

本文的研究强调,学习在DriveLM数据集上执行VQA可以在不增加模型复杂性的情况下完成。因此,简单地增加模型复杂性可能不会为这个特定的任务带来最佳的改进。

Computational Analysis

计算分析主要在parameters、FLOPs、Memory(GB)三个方面进行。

作者在A100上使用DriveLM数据集上的examples通过fvcore FLOP counter评估每个模块的计算量,并将Image Encoder和LM计算量相加,因为这些VLM模型主要的计算量和参数量就在Image Encoder上和LM上。

在这里插入图片描述

其中 EM-VLM4AD with the T5-Large backbone需要的内存最少主要是因为参数都是8 bit量化的

Qualitative Results

EM-VLM4AD 展现了对 DriveLM 使用的 c-tag 格式的理解能力,该格式以 <c,CAM,xpos,ypos><c, CAM, x_{pos}, y_{pos} ><c,CAM,xpos,ypos> 的形式编码交通目标。此外,该模型学会了智能提取每个问题最相关的帧,从而成为一个高效的多帧 VLM 系统。

然而,EM-VLM4AD 也存在一个特定的弱点:在回答与“预测自车行为”相关的问题时表现欠佳。由于与行为相关的问题通常需要多帧信息来做出准确预测,为网络输入多视角视频以增加时间上下文,可能会提高这类问题的回答效果。

在这里插入图片描述

在这里插入图片描述

http://www.dtcms.com/a/353311.html

相关文章:

  • 鸿蒙HarmonyOS状态管理装饰器详解
  • perccli 工具
  • 鸿蒙网络编程系列62-仓颉版使用Request部件上传多个文件到服务端
  • 华中科大联手小米推出ReCogDrive:自动驾驶迎来“认知革命”!
  • 零基础-力扣100题从易到难详解(持续更新)
  • 化学分析原理与算法、数据库。
  • 20250826的学习笔记
  • TDengine IPv6 支持用户手册
  • 盛大启幕!融智兴科技亮相 IOTE 2025 深圳国际物联网展
  • Mysql——调优
  • 从PostgreSQL到人大金仓(KingBase)数据库迁移实战:Spring Boot项目完整迁移指南
  • Python常见设计模式2: 结构型模式
  • jenkins集成liquibase
  • web中的过滤器和拦截器
  • LaTeX论文转word插入mathtype公式
  • KRaft vs ZooKeeper为何迁移、差异全览与落地实践
  • open3D学习笔记
  • 微软研究院最新tts模型VIBEVOICE解析
  • 配送算法16 A Deep Reinforcement Learning Approach for the Meal Delivery Problem
  • postgreSql远程连接数据库总是超时断开?
  • c#联合vision master 的基础教程
  • linux安装containerd
  • 如何使用 Xshell 8 连接到一台 CentOS 7 电脑(服务器)
  • MySQL 8 与 PostgreSQL 17 对比分析及迁移指南
  • 学习 Android (十七) 学习 OpenCV (二)
  • 【PHP】数学/数字处理相关函数汇总,持续更新中~
  • 极限RCE之三字节RCE
  • 嵌入式学习日记(35)TCP并发服务器构建
  • 指纹手机应用核心技术解析:从识别到智能交互
  • 搭建域服务器