小米自动驾驶大模型ORION推理部分simple_test_pts函数解读

DETR3D模型源码导读 & MMDetection3D构建流程 本文主要是学习整理,结合DETR3D的模型结构与MMDetection3D的模型构建方法,首先介绍model dict的模型参数设置,然后介绍逐个介绍DETR3D中的子结构,过程中简单讲解mmdetection3d的模型构建流程。model部分:定义按照backbone,neck,head的顺序设置模型参数..................... 阅读详情

上述代码是一个自动驾驶系统中基于视觉语言大模型(VLM,例如 LLaMA)进行多模态推理的函数,实现了对点云(bbox)、地图(车道线)、轨迹(未来自车轨迹)和自然语言输出的多任务预测。核心思想是利用图像、点云、语义输入(如问题文本)等多源信息,通过 VLM 统一建模并输出任务相关结果。


下面对该 simple_test_pts 函数做逐段解释(不是每一行,而是按逻辑块划分):


1. 初始化与数据准备

B = 1
mapped_class_names = [ ... ]  # 预定义类别名
location = self.prepare_location(img_metas, **data)
outs_roi = self.forward_roi_head(location, **data)
pos_embed = self.position_embeding(data, location, img_metas)

含义:

  • B=1:只处理一帧(或一批)数据。

  • prepare_location:提取场景几何位置(例如坐标系变换、LiDAR原点)。

  • forward_roi_head:提取感兴趣区域(RoI)特征。

  • position_embedding:结合空间位置信息,生成给 LLM/VLM 使用的位置编码。


2. 点云分支(物体检测)

if self.with_pts_bbox:
    outs, det_query = self.pts_bbox_head(img_metas, pos_embed, **data)
    vision_embeded_obj = det_query.clone()
    ...
    bbox_list = self.pts_bbox_head.get_bboxes(outs, img_metas)

含义:

  • 调用 pts_bbox_head 执行基于点云的物体检测,输出 bbox 和特征。

  • 保存 det_query(物体视觉特征)供后续 LLM 使用。

  • get_bboxes 提取检测结果,并格式化为标准结构(boxes, scores, labels)。


3. 车道线地图分支(如果有)

if self.with_map_head:
    outs, map_query = self.map_head(img_metas, pos_embed, **data)
    vision_embeded_map = map_query.clone()
    lane_results = self.map_head.get_bboxes(outs, img_metas)

含义:

  • 如果模型包含地图模块(如车道线检测),将其结果 map_query 保留。

  • 得到 lane_results(可视化地图元素,例如 lane/shoulder/boundary)。


4. 动作预测评估(motion prediction metrics)

if not (self.fp16_infer or self.fp32_infer) or self.fp16_eval :
    ...
    matched_bbox_result = self.assign_pred_to_gt_vip3d(...)
    metric_dict = self.compute_motion_metric_vip3d(...)

含义:

  • 用于在评估模式下,对检测框与 GT 匹配。

  • 计算轨迹和 bbox 的匹配评价指标(如 ADE/FDE,IoU)。


5. 大模型语言处理(LLM轨迹预测或QA问答)

if self.with_lm_head:
    ...
    vision_embeded = torch.cat([vision_embeded_obj, vision_embeded_map], dim=1)

含义:

  • 拼接物体和地图的视觉嵌入,作为 LLM 的输入视觉上下文。

for i, input_ids in enumerate(data['input_ids'][0]):
    ...
    if self.use_gen_token and special_token_inputs:
        ...
        ego_feature = self.lm_head.inference_ego(...)

含义:

  • 遍历输入的语言 token(例如“自车未来怎么走?”)

  • 如果是特定 token(如 Waypoint Token),调用 inference_ego() 获取当前状态向量 ego_feature。


6. 多种轨迹预测器分支

(a) VAE轨迹生成器
if not self.use_diff_decoder and not self.use_mlp_decoder:
    ...
    ego_fut_preds = torch.stack(ego_fut_trajs_list, dim=2)
  • 使用 VAE 生成轨迹(在 latent 上采样),再用解码器生成未来轨迹。

(b) Diffusion-based轨迹生成器
elif self.use_diff_decoder:
    ...
    img = self.diffusion_scheduler.add_noise(...)
    ...
    poses_reg, poses_cls = self.diff_decoder(...)
    ego_fut_preds = poses_reg
  • 利用扩散模型生成轨迹(多步降噪迭代)。

(c) MLP解码器(回归式)
elif self.use_mlp_decoder:
    waypoint = self.waypoint_decoder(current_states)
  • 简单直接的轨迹回归,适用于低复杂度场景。


7. 语言问答(非轨迹生成)

else:
    output_ids = self.lm_head.generate(...)
    generated_text.append(...)
  • 如果是普通 QA(非轨迹任务),则直接调用生成函数返回自然语言回答。


8. 将轨迹结果后处理并评价

if self.use_gen_token or full_match:
    ...
    ego_fut_pred = ego_fut_preds.cumsum(dim=-2)
  • 如果预测的是轨迹,用 cumsum 得到绝对坐标。

metric_dict_planner_stp3 = self.compute_planner_metric_stp3(...)
lane_results[0]['ego_fut_preds'] = ...
  • 调用轨迹评估函数,计算 STP(success rate, off-road rate 等)。

  • 把结果填入 lane_results 中,方便后续可视化或保存。


9. 返回结果

return bbox_results, generated_text, lane_results, metric_dict

最终返回四个部分:

  • bbox_results: 物体检测结果。

  • generated_text: 问答生成的文本。

  • lane_results: 车道线等地图元素,以及轨迹预测。

  • metric_dict: 所有的量化评估指标(用于评估或训练中调 metric)。


总结该函数主要功能:

模块功能
点云分支3D物体检测,输出 boxes/scores/labels
地图分支预测 lane/shoulder/boundary,并编码用于 VLM
LLM模块接收 vision 和 question,生成自然语言或轨迹
Trajectory预测VAE / Diffusion / MLP 方式预测自车轨迹
Metric模块匹配预测和GT,计算评价指标
最终输出bbox、生成文本、地图与轨迹结果、评价指标

如需我根据该结构生成图示、流程图、或对某部分加注释(如扩散轨迹生成细节、token选择策略),欢迎继续提出。

ORION(1): 论文解读 小米汽车与华中科技大学联合提出ORION框架,通过视觉语言模型(VLM)指导端到端自动驾驶,解决了现有方法在闭环评估中因果推理不足的问题。该框架创新性地融合QT-Transformer(聚合长期历史信息)、大语言模型(场景推理)和生成式规划器(轨迹预测),实现了语义推理与动作空间的精准对齐。在Bench2Drive数据集测试中,ORION以77.74驾驶评分和54.62%成功率显著超越现有最优方法,分别提升14.28分和19.61个百分点,展现出卓越的闭环驾驶性能。 阅读详情

相关推荐

自动驾驶大模型---小米&华科的ORION端到端方案

本文介绍了小米汽车与华中科技大学联合开发的ORION自动驾驶端到端方案。该框架创新性地将视觉语言模型(VLM)与自动驾驶系统结合,包含QT-Former特征提取模块、大语言模型(LLM)推理模块和生成式规划器三大核心组件。通过视觉感知与语言理解的深度融合,ORION能更准确地理解人类指令并生成合理轨迹,同时提升系统的可解释性。实验证明,该方案在准确性、泛化能力和决策透明度方面均有显著优势。ORION框架为自动驾驶技术提供了新思路,有望推动行业向更安全、智能的方向发展。

智能汽车人的博客 2005

小米汽车开源ORION:用VLM重构端到端自动驾驶?首个「视觉-语言」驱动的端到端自动驾驶新范式

该阶段让大家对大模型 AI有一个最前沿的认识,对大模型 AI 的理解超过 95% 的人,可以在相关讨论时发表高级、不跟风、又接地气的见解,别人只会和 AI 聊天,而你能调教 AI,并能用代码将大模型和业务衔接。对全球大模型从性能、吞吐量、成本等方面有一定的认知,可以在云端和本地等多种环境下部署大模型,找到适合自己的项目/创业方向,做一名被 AI 武装的产品经理。由于新岗位的生产效率,要优于被取代岗位的生产效率,所以实际上整个社会的生产效率是提升的。天道酬勤,你越努力,就会成为越优秀的自己。

m0_59164304的博客 2172

史上最小白之RNN详解

1.前言 网上目前已经有诸多优秀的RNN相关博客,但是我写博客的出发点主要是为了加深和巩固自己的理解,所以还是决定自己再进行一下总结和描述,如有不正确的地方欢迎指正~ 2.区分RNN 循环神经网络(Recurrent Neural Network),递归神经网络(Recursive Neural Network),你有没有发现他们的缩写都是RNN,那他们两个是同一回事儿吗?网上有一些博客把这两就当...

Tink1995的博客 4万+

小米 Orion 环境搭建

今年做硕士毕业论文,方向是「视觉-语言-动作(VLA)端到端轨迹规划」。调研了一圈开源方案:于是拍板:就用 Orion 当 baseline,结果环境搭建踩坑两周,差点劝退…… 今天把完整流程+踩坑笔记打包分享,帮大家把“两周”压缩到“半天”。表格复制英伟达 OmniDrive:只放论文没放完整代码;LMDrive:语言标注太简单,场景维度不足;小米 Orion:直接把 VLA 模块嵌进 MMDetection,工业界友好;配套 Bench2Drive 多场景+语言标注,天然适合写论文做消融;代码仓完整,甚

qt_dog的博客 1132

自动驾驶预测决策规划八股

预测规划八股个人总结。

dawushixiange的博客 479

点云PCL库学习-双目图像转化为点云PCD并显示

文章目录 双目视觉模型 代码实现 总结 参考文章 一、双目视觉模型 和RGBD相机主动发射光线实现测距不同,双目测距原理通过配置立体摄像头(通常由左眼相机和右眼相机两个水平放置的相机组成)来获取一对同一场景中的二维图像,再基于同一空间点在两个坐标系下的视差来计算深度。双目测距的示意图和数学表达式如下所示: 双目相机的成像示意图 上述示意图描述了一个空间点在左右两目相机中位置之间的成像关系,根据相似三角形原理可得: 其中,f和b分别为相机焦距和双目相机基线,d为空间点在两个坐标系下

weixin_41957687的博客 6948

闭环端到端精度暴涨19.61%!华科&小米汽车联手打造自动驾驶框架ORION,代码将开源

ORION 框架为端到端自动驾驶提供了一种全新的解决方案。ORION 通过生成模型实现语义与动作空间对齐,引入 QT-Former 模块聚合长时序场景上下文信息,并联合优化视觉理解与路径规划任务,在闭环仿真中取得了卓越的性能。

m0_59235245的博客 920

KiCad 7.0 + 嘉立创打样:从原理图到实物,打造你的双LLCC68 LoRa串口透传板

本文详细介绍了使用KiCad 7.0设计双LLCC68 LoRa串口透传板的完整流程,从原理图设计到嘉立创打样。重点解析了AVR+LLCC68组合的优势、双模块布局的电磁兼容设计、SPI接口配置及射频走线技巧,并提供了实测数据和常见问题解决方案,帮助开发者高效实现物联网设备的低功耗远距离通信。

weixin_28693447的博客 261

CenterPoint 在mmdetection3d中的实现

转载自:https://blog.youkuaiyun.com/weixin_38362784/article/details/111479263,勿喷。写在前面 此处的self.pts_bbox_head,在配置文件中设置为CenterHead。 因此,主要分析CenterHead中的forward函数和loss函数。【待补充】Step0: 参数说明 根据gt_bboxes_3d和gt_labels_3d,生成各task的热图、框尺寸等信息。 3. 关键函数: 3-1 参数说明 3-2 中间变量说明 task_ma

AI人工智能的海洋 1213

从URDF到Gazebo:一个完整的ROS2机械臂仿真项目实战与避坑指南

本文提供了一个完整的ROS2机械臂仿真项目实战指南,详细讲解了从URDF建模、ROS2 Control配置、MoveIt2集成到Gazebo仿真的全流程。文章重点分享了URDF惯性参数设置、Gazebo插件选择、MoveIt2配置修正等关键步骤的避坑经验,帮助开发者快速搭建可用的六轴机械臂仿真环境,实现从静态模型到物理仿真的跨越。

weixin_29279153的博客 275

AGV舵轮选型实战:从核心参数到精准计算的完整指南

本文提供了一份详尽的AGV舵轮选型实战指南,强调从经验决策转向数据驱动。文章系统讲解了如何将工况需求转化为核心参数,并通过牵引力、扭矩、功率等关键计算步骤,指导工程师完成精准选型,避免因选型不当导致的运行故障与效率低下。

醉三国 495

自动驾驶-BEV检测篇二:BEVformer

BEVformer是自动驾驶算法中的重要部分之一,由南京大学、香港大学、上海人工智能实验室与2022年提出,也是3D->2D变换的开创工作,和我们上次讲的LSS(2D->3D)方案截然不同。其出发点主要在于解决自驾方案中2D信息难以精确推断3D位置的问题,开创性的提出使用多相机输入来生成鸟瞰图特征的方案,在nuscene数据集上的NDS达到了56.9%,比之前最好的高出了9个点,与基于雷达的baseline性能相当。同时,BEVFormer显著提高了低可见度情况下的速度估计精度和物体召回率。图 1。

weixin_50206562的博客 3498

YOLOv12涨点改进 | 全网独家首发Conv改进篇 | Arxiv 2025 | 引入一种新的WConv加权卷积改进YOLOv12,显著提升其特征提取能力和目标检测精度

本文提出了一种新型加权卷积(WConv)模块,通过引入最优密度函数动态调整邻域像素权重,显著提升了YOLOv12目标检测性能。WConv在保持参数数量不变的情况下,提高了模型精度(VGG准确率提升10%)、增强了小目标检测能力,并改善了多尺度特征提取。文中详细介绍了模块原理、网络结构改进方法,并提供了核心代码实现和yaml配置文件。实验表明,该方法在图像任务中最高可降低53%的损失,虽然会带来11%的时间开销,但具有优异的鲁棒性。该技术可广泛应用于2D/3D图像处理领域。

Ai缝合怪、助力小伙伴高效发论文 216

ORION:A Holistic End-to-End Autonomous Driving Framework byVision-Langua一种基于视觉-语言指令动作生成的完整端到端自动驾驶框架

ORION: A Holistic End-to-End Autonomous Driving Framework by Vision-Language Instructed Action Generation——一种基于视觉-语言指令动作生成的完整端到端自动驾驶框架

Together_CZ的博客 2199

STM32串口控制LED灯的亮灭

STM32中的串口控制LED灯的亮灭,分为两种方式,一种是直接发送数字0和1来控制灯的亮灭,另一种是通过发送字符串来控制。 我所使用的开发板主控芯片是STM32F401RET6,主频84MHz, 首先要进行串口的初始化: /* 函数功能:串口的初始化 函数名:Usart_Init 返回值:无 参数:u32 brr 备注: USART1_TXD->PA9 USART1_RXD->PA10 */ void Usart_Init(u32 brr) { float div; u16 div

博客 2万+

深度学习工具包 DeepLearningToolbox

深度学习工具包Deprecation notice.-----This toolbox is outdated and no longer maintained.There are much better tools available for deep learning than this toolbox, e.g. [Theano](http://deeplearning.net/software/theano/), [torch](http://torch.ch/) or [tensorflow](http://www.tensorflow.org/)I would suggest you use one of the tools mentioned above rather than use this toolbox.Best, Rasmus.DeepLearnToolbox================A Matlab toolbox for Deep Learning.Deep Learning is a new subfield of machine learning that focuses on learning deep hierarchical models of data.It is inspired by the human brain's apparent deep (layered, hierarchical) architecture.A good overview of the theory of Deep Learning theory is[Learning Deep Architectures for AI](http://www.iro.umontreal.ca/~bengioy/papers/ftml_book.pdf)For a more informal introduction, see the following videos by Geoffrey Hinton and Andrew Ng.* [The Next Generation of Neural Networks](http://www.youtube.com/watch?v=AyzOUbkUf3M) (Hinton, 2007)* [Recent Developments in Deep Learning](http://www.youtube.com/watch?v=VdIURAu1-aU) (Hinton, 2010)* [Unsupervised Feature Learning and Deep Learning](http://www.youtube.com/watch?v=ZmNOAtZIgIk) (Ng, 2011)If you use this toolbox in your research please cite [Prediction as a candidate for learning deep hierarchical models of data](http://www2.imm.dtu.dk/pubdb/views/publication_details.php?id=6284)```@MASTERSTHESIS\{IMM2012-06284, author = "R. B. Palm", title = "Prediction as a candidate for learning deep hierarchical models of data", year = "2012",}```Contact: rasmusbergpalm at gmail dot comDirectories included in the toolbox-----------------------------------`NN/` - A library for Feedforward Backpropagation Neural Networks`CNN/` - A library for Convolutional Neural Networks`DBN/` - A library for Deep Belief Networks`SAE/` - A library for Stacked Auto-Encoders`CAE/` - A library for Convolutional Auto-Encoders`util/` - Utility functions used by the libraries`data/` - Data used by the examples`tests/` - unit tests to verify toolbox is workingFor references on each library check REFS.mdSetup-----1. Download.2. addpath(genpath('DeepLearnToolbox'));Example: Deep Belief Network---------------------```matlabfunction test_example_DBNload mnist_uint8;train_x = double(train_x) / 255;test_x = double(test_x) / 255;train_y = double(train_y);test_y = double(test_y);%% ex1 train a 100 hidden unit RBM and visualize its weightsrand('state',0)dbn.sizes = [100];opts.numepochs = 1;opts.batchsize = 100;opts.momentum = 0;opts.alpha = 1;dbn = dbnsetup(dbn, train_x, opts);dbn = dbntrain(dbn, train_x, opts);figure; visualize(dbn.rbm{1}.W'); % Visualize the RBM weights%% ex2 train a 100-100 hidden unit DBN and use its weights to initialize a NNrand('state',0)%train dbndbn.sizes = [100 100];opts.numepochs = 1;opts.batchsize = 100;opts.momentum = 0;opts.alpha = 1;dbn = dbnsetup(dbn, train_x, opts);dbn = dbntrain(dbn, train_x, opts);%unfold dbn to nnnn = dbnunfoldtonn(dbn, 10);nn.activation_function = 'sigm';%train nnopts.numepochs = 1;opts.batchsize = 100;nn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.10, 'Too big error');```Example: Stacked Auto-Encoders---------------------```matlabfunction test_example_SAEload mnist_uint8;train_x = double(train_x)/255;test_x = double(test_x)/255;train_y = double(train_y);test_y = double(test_y);%% ex1 train a 100 hidden unit SDAE and use it to initialize a FFNN% Setup and train a stacked denoising autoencoder (SDAE)rand('state',0)sae = saesetup([784 100]);sae.ae{1}.activation_function = 'sigm';sae.ae{1}.learningRate = 1;sae.ae{1}.inputZeroMaskedFraction = 0.5;opts.numepochs = 1;opts.batchsize = 100;sae = saetrain(sae, train_x, opts);visualize(sae.ae{1}.W{1}(:,2:end)')% Use the SDAE to initialize a FFNNnn = nnsetup([784 100 10]);nn.activation_function = 'sigm';nn.learningRate = 1;nn.W{1} = sae.ae{1}.W{1};% Train the FFNNopts.numepochs = 1;opts.batchsize = 100;nn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.16, 'Too big error');```Example: Convolutional Neural Nets---------------------```matlabfunction test_example_CNNload mnist_uint8;train_x = double(reshape(train_x',28,28,60000))/255;test_x = double(reshape(test_x',28,28,10000))/255;train_y = double(train_y');test_y = double(test_y');%% ex1 Train a 6c-2s-12c-2s Convolutional neural network %will run 1 epoch in about 200 second and get around 11% error. %With 100 epochs you'll get around 1.2% errorrand('state',0)cnn.layers = { struct('type', 'i') %input layer struct('type', 'c', 'outputmaps', 6, 'kernelsize', 5) %convolution layer struct('type', 's', 'scale', 2) %sub sampling layer struct('type', 'c', 'outputmaps', 12, 'kernelsize', 5) %convolution layer struct('type', 's', 'scale', 2) %subsampling layer};cnn = cnnsetup(cnn, train_x, train_y);opts.alpha = 1;opts.batchsize = 50;opts.numepochs = 1;cnn = cnntrain(cnn, train_x, train_y, opts);[er, bad] = cnntest(cnn, test_x, test_y);%plot mean squared errorfigure; plot(cnn.rL);assert(er<0.12, 'Too big error');```Example: Neural Networks---------------------```matlabfunction test_example_NNload mnist_uint8;train_x = double(train_x) / 255;test_x = double(test_x) / 255;train_y = double(train_y);test_y = double(test_y);% normalize[train_x, mu, sigma] = zscore(train_x);test_x = normalize(test_x, mu, sigma);%% ex1 vanilla neural netrand('state',0)nn = nnsetup([784 100 10]);opts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samples[nn, L] = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.08, 'Too big error');%% ex2 neural net with L2 weight decayrand('state',0)nn = nnsetup([784 100 10]);nn.weightPenaltyL2 = 1e-4; % L2 weight decayopts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex3 neural net with dropoutrand('state',0)nn = nnsetup([784 100 10]);nn.dropoutFraction = 0.5; % Dropout fraction opts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex4 neural net with sigmoid activation functionrand('state',0)nn = nnsetup([784 100 10]);nn.activation_function = 'sigm'; % Sigmoid activation functionnn.learningRate = 1; % Sigm require a lower learning rateopts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex5 plotting functionalityrand('state',0)nn = nnsetup([784 20 10]);opts.numepochs = 5; % Number of full sweeps through datann.output = 'softmax'; % use softmax outputopts.batchsize = 1000; % Take a mean gradient step over this many samplesopts.plot = 1; % enable plottingnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex6 neural net with sigmoid activation and plotting of validation and training error% split training data into training and validation datavx = train_x(1:10000,:);tx = train_x(10001:end,:);vy = train_y(1:10000,:);ty = train_y(10001:end,:);rand('state',0)nn = nnsetup([784 20 10]); nn.output = 'softmax'; % use softmax outputopts.numepochs = 5; % Number of full sweeps through dataopts.batchsize = 1000; % Take a mean gradient step over this many samplesopts.plot = 1; % enable plottingnn = nntrain(nn, tx, ty, opts, vx, vy); % nntrain takes validation set as last two arguments (optionally)[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');```[![Bitdeli Badge](https://d2weczhvl823v0.cloudfront.net/rasmusbergpalm/deeplearntoolbox/trend.png)](https://bitdeli.com/free "Bitdeli Badge")

逐行逐句进一步了解SurroundOcc(三)

之前我们专门对bevformer系列的代码进行了介绍。其实bevformer作为这一系列比较关键的工作。也为了我们后续看这些端到端的文章非常有帮助。我们最近这一系列将会围绕这一篇三维占用预测的工作。上一讲主要是介绍了SurroundOcc与BEVFormer比较以及预处理的一些问题。这一讲我们将围绕主题结构展开。

lovely_yoshino的博客 5972

迈瑞BS系列全自动生化分析仪LIS协议接口手册(内含HL7和ASTM)

迈瑞BS系列全自动生化分析仪LIS协议接口手册,内含HL7和ASTM)

Bevformer(2)(完)

再获取历史bev特征以后,img_feats = self.extract_feat(img=img, img_metas=img_metas),开始提取图像特征,这个函数和获取历史bev特征的函数一样。这段代码前面是变换维度,核心是img_feats_list = self.extract_feat(img=imgs_queue, len_queue=len_queue)获取图像特征。这里调用了model字典里的pts_bbox_head,调用了BEVFormerHead类。上一篇写到获取历史Bev。

qq_43510530的博客 622

jdk-8u144-linux-x64.tar.gz.

该资源为搭建Linux系统Java环境用,资源的后缀为tar.gz格式的压缩包

论文阅读:小米VLA xiaomi-mlab/ORION

ORION框架:视觉-语言协同的自动驾驶新突破 ORION提出了一种创新的端到端自动驾驶框架,通过视觉语言指令生成动作,有效解决了传统方法在闭环评估中表现不佳的问题。该框架的核心创新在于: 采用QT-Former聚合长期历史上下文 利用大语言模型(LLM)进行驾驶场景推理 设计生成式规划器实现精确轨迹预测 ORION的关键突破是将推理空间与动作空间对齐,实现了视觉问答和规划任务的统一优化。在Bench2Drive数据集测试中,ORION获得77.74驾驶得分和54.62%成功率,显著超越现有方法14.28分

John_keal_The_DC的博客 1035

刷完了端到端和VLA新工作,这9个开源项目最值得复现......

DiffusionDrive 针对扩散模型在端到端自动驾驶规划中“多样性生成”与“实时推理”的根本矛盾,提出了高效的解决方案:通过引入多模态驾驶锚点作为结构化先验,并结合截断扩散日程,将模型从传统的多步去噪简化为仅需 2-4 步 的快速生成,在保持动作分布多样性与合理性的同时,实现了45 FPS的实时性能(基于4090)。该模型仅依赖视觉输入,通过共享表征学习,使同一个网络既能完成闭环驾驶,又能进行场景问答,并确保其语言描述与驾驶决策在逻辑上保持一致,从而提升了模型的可解释性与行为可靠性。

soaring_casia的专栏 2027

PETR: Position Embedding Transformation for Multi-View 3D Object Detection代码解读梳理

PETR代码解读

zisuina_2的博客 1271

Orion自动驾驶框架解析:从视觉语言到端到端决策的技术实现

基于火山引擎豆包大模型,从零搭建一个实时语音通话应用。它不是简单的问答,而是需要你亲手打通 ASR(语音识别)→ LLM(大脑思考)→ TTS(语音合成)的完整 WebSocket 链路。对于想要掌握 AI 原生应用架构的同学来说,这是个绝佳的练手项目。架构理解:掌握实时语音应用的完整技术链路(ASR→LLM→TTS)技能提升:学会申请、配置与调用火山引擎AI服务定制能力:通过代码修改自定义角色性格与音色,实现“从使用到创造”从0到1构建生产级别应用,脱离Demo,点击打开。

2600_94960232的博客 1013

【代码阅读】mmdetection3d的配置文件

mmdetection3d的配置文件放置在config/base下面,下面有4种类型组件:数据集(dataset),模型(model),训练策略 (schedule) 和运行时的默认设置 (default runtime)。由 base 下的组件组成的配置,被我们称为 原始配置 (primitive)。 我们以kitti为例,对于数据集的一些基本信息存储在_base_/datasets下面。 这里主要定义了数据集的位置/名称/类别/点云范围,把他们打包好,送进pipeline中 pipeline分别是tra

hgj1h的博客 1870

目标检测00-10:mmdetection(Foveabox为例)-源码无死角解析(4)-头部网络bbox_head-推理过程

以下链接是个人关于mmdetection(Foveabox-目标检测框架)所有见解,如有错误欢迎大家指出,我会第一时间纠正。有兴趣的朋友可以加微信:a944284742相互讨论技术。若是帮助到了你什么,一定要记得点赞!因为这是对我最大的鼓励。 目标检测00-00:mmdetection(Foveabox为例)-目录-史上最新无死角讲解 前言 在上篇博客中,已经对 mmdet\models\dense_heads\fovea_head.py 中的 FoveaHead 训练过程进行了讲解。但是推理过程还没有进行

江南才尽江南山,年少无知年少狂! 763

以UVTR代码为例学习基于MMDetection3D库相关代码的阅读方法

以UVTR代码为例学习基于MMDetection3D库相关代码的阅读方法

weixin_45657478的博客 2324

目标检测00-10:mmdetection(Foveabox为例)-源码无死角解析(3)-头部网络bbox_head-训练过程

根据主干网网络参数构建主干网络self.backbone=build_backbone(backbone)#如果设置了衔接网络,则构件衔接网络ifneckisnotNoneself.neck=build_neck(neck)#根据配置参数构件头部网络self.bbox_head=build_head(bbox_head)

江南才尽江南山,年少无知年少狂! 2375
上一篇: 深度学习日常学习记录——参数初始化
下一篇: docker深度学习使用教程(一)
Vans1521
博客等级 码龄7年 63粉丝 7原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值