LSS算法核心原理详细解读,一看就懂,不懂请打我!

目录

    • 核心
    • 整体流程
    • 分步阐述
      • backbone
      • 几何关系(创建视锥)和视锥投影到ego
      • Voxel Pooling
      • Head
    • 总结

核心

  • 将2D图像特征转换到BEV feature特征

  • 该算法是BEV领域中的一大基石

整体流程

  • 流程步骤

    • (1)利用backbone获得环视图像(6张图片)的特征;

    • (2)利用几何关系创建每张图片的视锥;

    • (3)利用相机的内外参,将视锥点云投影到ego坐标系下;

    • (4)利用voxel pooling 将环视图像特征转换为BEV特征;

    • (5)BEV encoder 对特征进一步融合,添加network head获得任务结果

  • 整体流程的示意图如下所示

在这里插入图片描述

分步阐述

backbone

  • 使用EfficientNet网络作为backbone,提取每张图片中的深度特征D=41,语义特征C=61

  • 特征图获取流程

    • 使用EfficientNet-b0获得特征图:24 x 512 x 8 x 22

      • 24:B x N -> B=4,N=6 -> 考虑前面3帧和当前帧图像;6张图片(从该部分看相机的数量只能为6,除非重新训练)

      • fH:8;fW:22

    • 利用1 x 1卷积将特征图的通道数变为512->105(64+41),24 x 105 x 8 x 22

      • 105个特征通道中前64个通道为语义通道,后41个通道为深度通道

      • 该部分网络进行了深度估计,通过训练所得

    • 取出后41个特征通道(深度通道),进行softmax概率估计

    • 利用广播机制,将语义通道24 x 64 x 1 x 8 x 22 与深度通道24 x 1 x 41 x 8 x 22进行外积最终获得24 x 64 x 41 x 8 x 22特征图

      • 取出上述某一帧中一张图片的特征图:64 x 41 x 8 x 22,其中的每个特征点的维度为 64 x 41

        • 如果该特征点的表征为3m距离的狗,则64个语义通道内,表示狗的语义通道的值最大;3m对应的深度通道距离最大。两个通道利用广播的机制相乘,最大的通道即可表示为3m距离的狗

        • 广播机制如下所示,c x a 获得Matirx_(c x a),可以通过该方式获得最大的通道
          在这里插入图片描述

几何关系(创建视锥)和视锥投影到ego

  • 总体流程:像素视锥点->剔除图像增强矩阵的影响->生成camera坐标系下的三维视锥点->将视锥点投影到ego坐标系下

  • 像素视锥点(u,v,d)的选择:

    • 由于最终的特征图尺寸为:8 x 22,则在原始图像上将图片分为8 x 22个图片块(patch)

    • 将每个图像块的顶点 + 预设深度(4~45m),即可完成视锥点的构建,形状为D x fH x fW x 3

    • 下图所示,第一列为x坐标、第二列为y坐标,第三列为预设深度值
      在这里插入图片描述

    • 代码如下所示:

在这里插入图片描述

  • 剔除增强矩阵的影响

    • 目的:例如,可消除图片旋转的影响

    • 利用下列公式消除图像增强的像素视锥的影响
      p i m g ′ = A − 1 p i m g p^{'}_{img}=A^{-1}p_{img} pimg=A1pimg

  • 获得camera坐标系下视锥点的坐标:

    • 利用下列公式,最终才能获得三维坐标系下的视锥点(形状如视锥
      p c a m = I − 1 ( p i m g ∗ d ) p_{cam} = I^{-1}(p_{img}*d) pcam=I1(pimgd)
      在这里插入图片描述
  • 将camera坐标系下的视锥点转换到ego坐标系

    • 利用camera->ego的TF变换关系能够直接获得,略

    • 最终获得的视锥点形状为:B x N x D x H x W x 3

Voxel Pooling

  • 目的:将环视图像特征转换为BEV特征

  • 已有图像特征:B x N x D x H x W x C;视锥点:B x N x D x H x W x 3

    • 将图像特征铺开,变为(B x N x D x H x W) x C;将视锥点铺开,变为(B x N x D x H x W) x 3。此时,视锥点与图像特征一一对应,可通过训练获得该内在联系

    • 将视锥点分配到预设的BEV网格内,获得栅格坐标。如下公式所示,其中bx:第一个网格的中心点;dx:每个网格的宽度;gemoFeats为视锥点。

      • 由于计算栅格坐标时,是取整操作(int),所以存在某几个视锥点位于一个栅格网格内
      • 由于预设的xyz范围为[-50, 50]、[-50, 50]、[-10, 10],所以可剔除超出该范围的视锥点。同时,也剔除对应的图像特征点

g e m o F e a t = g e m o F e a t − ( b x − d x / 2 ) / d x gemoFeat = gemoFeat - (bx - dx / 2) / dx gemoFeat=gemoFeat(bxdx/2)/dx

  • 将一个栅格内多个视锥点对应的特征点进行sum pooling,也就是将落在同一个栅格内的多个特征点进行相加操作

    • 由于特征点的shape大小不一,无法进行批量操作,需要使用如下代码部分进行操作,但实现的效果如上所示。

    • 论文中,经过sum pooling后,图像特征的shape为:17375 x 64

在这里插入图片描述

  • 将图像特征按照对应视锥点的位置(即BEV栅格的位置)填入BEV特征图中,获得最终的BEV特征图

    • BEV栅格的索引位置远大于图像特征数量

在这里插入图片描述

Head

  • 依据不同的任务添加不同的Head即可,略

总结

  • LSS算法通过相机内外参显式的获取图像深度。其中,生成视锥点、图像特征转换到BEV特征的思想值得深究

  • 不足

    • 没有考虑相邻环视图像的特征,图像特征分散获取

    • 图像特征重叠时,使用sum pooling的方式,太过简单、粗暴

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mfbz.cn/a/717601.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

配置文件-基础配置,applicationproperties.yml

黑马程序员Spring Boot2 文章目录 1、属性配置2、配置文件分类3、yaml文件4、yaml数据读取4.1 读取单个数据4.2 读取全部属性数据4.3 读取引用类型属性数据 1、属性配置 SpringBoot默认配置文件application.properties,通过键值对配置对应属性修改配置 修改服务器端…

Day 25:1807. 替换字符串中的括号内容

Leetcode 1807. 替换字符串中的括号内容 给你一个字符串 s ,它包含一些括号对,每个括号中包含一个 非空 的键。 比方说,字符串 “(name)is(age)yearsold” 中,有 两个 括号对,分别包含键 “name” 和 “age” 。 你知道…

IntelliJ IDEA 使用 Maven 时不加载本地私服的最新版本快照(snapshot)JAR 包

IntelliJ IDEA 使用 Maven 时不加载本地私服的最新版本快照(snapshot)JAR 包 目录 IntelliJ IDEA 使用 Maven 时不加载本地私服的最新版本快照(snapshot)JAR 包1. 检查 settings.xml2. IDEA Maven 配置3. 强制更新 Snapshot4. 使用…

「51媒体-年中大促」天津有哪些媒体资源-媒体宣传服务公司

传媒如春雨,润物细无声,大家好,我是51媒体网胡老师。 天津的媒体资源相当丰富,涵盖了报纸、电视、广播、新闻门户网站、央媒驻天津机构、视频媒体以及全国媒体资源等多个方面。以下是详细的媒体资源分类和具体信息: 一…

艾伦脑图谱(Allen Brain Atlas)

文章目录 一、艾伦研究所(Allen Institute)1.1、艾伦脑图谱(Allen Brain Map)1.1.1、艾伦(小鼠大脑)通用坐标框架(Allen Mouse Brain Common Coordinate Framework,CCFv3&#xff09…

基于single flight来解决缓存击穿

目录 1. 缓存击穿2. 常见解决方案3.single flight方式3.1 模拟业务场景3.2 使用single flight的方式 缓存雪崩、缓存击穿、缓存穿透不单单是缓存领域的经典场景,更是面试当牛马时必备(背)八股文。 我们来讨论下缓存击穿场景下的解决方案。 …

Linux网络编程:epoll

1.IO多路转接---epoll 1.1.接口认识 epoll多路转接的实现是基于三个系统调用的,而这些系统调用底层是epoll模型的构建,和设置的结构体、数据结构之间的交互,我们需要一步步地进行epoll的学习! epoll_create( ) 如图:…

从短期到长期,不同保存期限的红酒管理技巧

在葡萄酒的世界中,保存与管理的技巧对于确保葡萄酒的品质和口感至关重要。特别是对于云仓酒庄雷盛红酒,这种多类型红酒,更需要我们掌握一定的保存管理技巧。这篇文章将详细探讨从短期到长期,不同保存期限的云仓酒庄雷盛红酒的管理…

如何高效使用大型语言模型 LLMs 初学者版本 简单易上手

第一条也是最重要的一条规则是 永远不要要求LLM提供你无法自己验证的信息, 或让它完成你无法验证其正确性的任务。 唯一例外的情况是那些无关紧要的任务, 例如,让大型语言模型提供公寓装修灵感之类的是可以的 。 首先请看两个范例 不佳示范&#xff1a…

上海交通大学、中科大 开源镜像站停止 Docker Hub 仓库镜像支持后的可用替代源

上海交通大学 Linux 用户组发布公告: 即时起中止对 Docker Hub 仓库的镜像。Docker 相关工具默认会自动处理失效镜像的回退,如果对官方源有访问困难问题,建议尝试使用其他仍在服务的镜像源。 源加速地址 有网友表示百度的 Docker Hub 加速器…

创新实训2024.06.17日志:大模型微调总结

前段时间其实我们已经部署了大模型,并开放了对外的web接口。不过由于之前某几轮微调实验的大模型在对话时会有异常表现(例如响应难以被理解),因此我在项目上线后,监控了数据库里存储的对话记录。确定了最近一段时间部署…

微服务开发与实战Day10 - Redis面试篇

一、Redis主从集群 1. 搭建主从集群 1.1 主从集群结构 单节点Redis的并发能力是有限的,要进一步提高Redis的并发能力,就需要搭建主从集群,实现读写分离。 如图所示,集群中有一个master节点、两个slave节点(现在叫re…

Vector | Graph:蚂蚁首个开源Graph RAG框架设计解读

作者:范志东 检索增强生成(RAG:Retrieval Augmented Generation)技术旨在把信息检索与大模型结合,以缓解大模型推理“幻觉”的问题。近来关于RAG的研究如火如荼,支持RAG的开源框架也层出不穷,并…

AI导航网

文章目录 1、[AI导航网](https://www.ainav.cn/) 1、AI导航网 https://www.ainav.cn/

GenICam标准(二)

系列文章目录 GenICam标准(一) GenICam标准(二) GenICam标准(三) GenICam标准(四) GenICam标准(五) GenICam标准(六) 文章目录 系列文…

【蜂窝物联】物联网智能控制器助力各种自动化控制领域科学管控

【蜂窝物联】4G远程温湿度传感器科学管理利器,应用无处不在 2024-06-17 14:09 发布于:福建省 随着信息化的不断推进,对各行各业都是一次现代化升级的契机,比如工厂的温湿度监测工作,完全可以由无线温湿度监控方案…

【Spine学习10】之 创建新骨骼时,自动绑定图片和插槽的快捷方式

两天没更新了。 遇到一些难解的难题 用的版本是破解版 不知道为啥现在的教程非常地快 明明有些细节很重要还略过讲 所以创建骨骼这里 基本创建是都会 可是骨骼一多 实际工作中的重命名也太麻烦了 。 这就需要学习快捷创建方式&#xff1a; <将对应图片自动绑定到新骨骼上并…

Vue55-TodoList案例-本地存储

一、TodoList案例-本地存储 此时&#xff0c;修改对象里面的属性&#xff0c;watch监视不到&#xff01; 需要深度监视&#xff0c;就不能用简写形式&#xff01; 二、jeecg-boot中的本地存储 jeecg-boot中&#xff0c;浏览器的本地存储&#xff0c;存储的是token&#xff01;…

TC3xx A\B SWAP机制的小细节(1)

目录 1.汽车OTA背景 1.1 汽车为什么需要OTA 1.2 汽车OTA概念 2. MCU的硬件A\B Swap机制 3.小结 1.汽车OTA背景 1.1 汽车为什么需要OTA 谈到英飞凌TC3xx的A\B SWAP硬件机制&#xff0c;我们首先要搞懂它的应用场景--OTA。 在手机或者电脑上&#xff0c;我们几乎每天都可…

JavaEE进阶----SpringBoot快速入门

文章目录 前言一、了解Maven1.1 Maven功能- 项⽬构建- 管理依赖 1.2Maven仓库 二、第一个SpringBoot项目总结 前言 Spring Boot是一个用于构建快速、简单和可扩展的生产级应用程序的框架。它基于Spring框架&#xff0c;提供了开发微服务和独立的应用程序所需的一切。 一、了解…