【CenterFusion】CenterFusion网络架构概述

一、CenterFusion 概述

  • 这个项目,重点研究毫米波雷达和相机传感器融合的方法
  • 利用毫米波雷达传感器数据和相机传感器数据进行 3D 目标检测
  • 并在 NuScenes 数据集上面进行评估
  • CenterFusion 网络架构:
    在这里插入图片描述

在这里插入图片描述

CenterFusion 网络架构首先利用全卷积骨干网提取目标物体中心点的图像特征,再回归到物体的其它属性,如三维位置、方向和尺寸,并获得初步的 3D Box
截锥关联模块将雷达检测结果与对应目标中心点关联(雷达检测结果映射到图像平面)并生成雷达特征
然后将图像和雷达特征连接起来, 再二次回归到目标属性,如深度、旋转以及速度等三维属性来细化初步的 3D Box
该网络架构主要可以分为两个部分分析,一个是上面一行的图像目标检测,另一个是下面一行的雷达点云数据处理。

二、图像目标检测

CenterNet 中主要提供了三个骨干网络 ResNet-18 (ResNet-101)、DLA-34、Hourglass-104
CenterFusion 网络架构在对图像进行初步检测时,采用 CenterNet 网络中修改版本的骨干网络 DLA(深层聚合)作为全卷积骨干网,来提取图像特征,因为 DLA 网络大大减少了培训时间,同时提供了合理的性能
再回归图像特征来预测图像上的目标中心点,以及目标的 2D 大小(宽度和高度)、中心偏移量、3D 尺寸、深度和旋转
主要回归头的组成:256 个通道的 3×3 卷积层、1×1卷积层。这为场景中每个被检测到的对象提供了一个精确的 2D 边界框以及一个初步的 3D 边界框
CenterNet 原理:
第 1 步:以图像 I ∈ R W × H × 3 I \in R^{W×H×3} IRW×H×3作为输入,生成预测关键点热图 Y ∈ [ 0 , 1 ] W R × H R × C Y \in [0,1]^{\frac W R × \frac H R × C} Y[0,1]RW×RH×C其中 W W W H H H是图像的宽度和高度, R R R是下采样比, C C C是物体类别的数
意思是将一张 W × H W×H W×H的图片作为输入,然后通过下采样(池化)生成 W R × H R \frac W R × \frac H R RW×RH的关键点热图,图中的每一个像素的热值在 [0,1] 之间。
第 2 步:再以 Y ^ = 1 \hat Y = 1 Y^=1作为输出的预测
意思是检测到一个以图像 ( x , y ) (x,y)(x,y) 为中心的 c cc 类目标
对于每个中心点,还预测了一个局部偏移量,以补偿由骨干网输出步数引起的离散误差
第 3 步:使用高斯核从地面真值 2D 边界框生成地面真值热图 Y ∈ [ 0 , 1 ] W R × H R × C Y \in [0,1]^{\frac W R × \frac H R × C} Y[0,1]RW×RH×C
这是为了与模型预测的结果进行比较,从而计算 loss 值(损失)
第 4 步:对于图像中 c cc 类的每个边界框中心点 p i ∈ R 2 p^i \in R^2 piR2,在 Y : , : , c Y_{:,:,c} Y:,:,c上生成一个高斯热图:
Y q c = m a x i e x p ( ( p i − q ) 2 − 2 σ i 2 ) Y_{qc}=\ \mathop{max}\limits_{i}\ exp( \frac {(p_i−q)^2}{−2σ_i^2} ) Yqc= imax exp(2σi2(piq)2)
其中 σ i \sigma_i σi是一个尺寸自适应标准差,根据每个对象的尺寸控制热图的大小,采用全卷积码-解码器网络对 Y ^ \hat Y Y^进行预测
第 5 步:使用单独的网络头直接从检测到的中心点回归对象的深度、尺寸和方向,来生成 3D Box
在回归模块中
深度被作为额外的输出通道 D ^ ∈ [ 0 , 1 ] W R × H R \hat D \in [0,1]^{\frac W R × \frac H R} D^[0,1]RW×RH,因为使用了 sigmoidal 逆变换,并将其应用到了原始深度域
方向被编码为两个容器,每个容器中有 4 个标量
给定带注释的对象 p 0 , p 1 , . . . p0,p1,... p0,p1,...在一幅图像中,训练分类损失,即 focal loss 定义如下:
L k = 1 N ∑ x y c { ( 1 − Y ^ x y c ) α log ⁡ ( Y ^ x y c ) Y x y c = 1 ( 1 − Y x y c ) β ( Y ^ x y c ) α log ⁡ ( 1 − Y ^ x y c ) otherwise  \mathrm{L}_{\mathrm{k}}=\frac{1}{\mathrm{~N}} \sum_{\mathrm{xyc}}\left\{\begin{array}{ll} \left(1-\hat{\mathrm{Y}}_{\mathrm{xyc}}\right)^{\alpha} \log \left(\hat{\mathrm{Y}}_{\mathrm{xyc}}\right) & \mathrm{Y}_{\mathrm{xyc}}=1 \\ \left(1-\mathrm{Y}_{\mathrm{xyc}}\right)^{\beta}\left(\hat{\mathrm{Y}}_{\mathrm{xyc}}\right)^{\alpha} \log \left(1-\hat{\mathrm{Y}}_{\mathrm{xyc}}\right) & \text { otherwise } \end{array}\right. Lk= N1xyc (1Y^xyc)αlog(Y^xyc)(1Yxyc)β(Y^xyc)αlog(1Y^xyc)Yxyc=1 otherwise 
其中 N N N为对象数量 Y ∈ [ 0 , 1 ] W R × H R × C Y \in [0,1]^{\frac W R × \frac H R × C} Y[0,1]RW×RH×C为标注对象的地面真值热图 α \alpha α β \beta β为焦损超参数

三、雷达点云处理

  • 首先,需要搞清楚雷达点云检测的是径向深度和目标实际速度的不同,如图:
    [图片]

对于目标 A,车辆坐标系内速度与径向速度相同 ( v A ) (v^A) (vA),另一方面,对于目标 B,雷达报告的径向速度 ( v r ) (v_r) (vr)与目标在车辆坐标系中的实际速度 ( v B ) (v^B) (vB)存在差异
支柱扩张:

  • 在截锥关联之前,有一个支柱扩张模块,对雷达点云进行预处理:将每个雷达点云扩展成一个固定尺寸的柱状,如下图所示:
    [图片]

  • 这是为了解决每个雷达点云在截锥关联中高度信息不准确的问题
    截锥关联

  • 第 1 步:利用图像平面中对象的 2D 边界框及其估计深度和大小,为对象创建一个 3D 感兴趣区域(RoI)截锥,如下图所示:
    [图片]

有了截锥对象,缩小了需要检查关联的雷达点云探测范围,因为这个截锥之外的任何点云都可以忽略
如果该 RoI 内存在多个雷达检测点云,则取最近的点作为该目标对应的雷达检测点云
第 2 步:对于每一个与物体相关的雷达检测,我们生成三个以物体的二维包围框为中心并在其内部的热图通道,热图的宽度和高度与物体的 2D 边界框成比例,并由参数 α 控制
其中热图值是归一化对象深度(d),也是自中心坐标系中径向速度 ( v x ) (v_x) (vx) ( v y ) (v_y) (vy)的x和y分量:
F x , y , i j = 1 M i { f i ∣ x − c x j ∣ ≤ α w j and  ∣ y − c j i ∣ ≤ α h j 0 otherwise  F_{x, y, i}^{j}=\frac{1}{M_{i}}\left\{\begin{array}{ll} f_{i} & \left|x-c_{x}^{j}\right| \leq \alpha w^{j} \text { and }\left|y-c_{j}^{i}\right| \leq \alpha h^{j} \\ 0 & \text { otherwise } \end{array}\right. Fx,y,ij=Mi1{fi0 xcxj αwj and  ycji αhj otherwise 
i ∈ 1 , 2 , 3 i∈1,2,3 i1,2,3是地图通道的特性, M i M_i Mi是一种规格化因素, f i f_i fi是特征值 ( d , v x 或 v y ) (d,v_x或v_y) (d,vxvy) c x j c^j_x cxj c y j c^j_y cyj是 j 对象的 x 和 y 坐标对象的中心点的图像, w j w^j wj h j h^j hj是 j 对象的宽度和高度的 2D 边界框
第 3 步:两个物体的热图区域重叠,深度值较小的那个占优势,因为只有最近的物体在图像中是完全可见的,如下图所示:
[图片]

第 4 步:生成的热图然后连接到图像特征作为额外的通道,这些特征被用作二次回归头的输入,以重新计算对象的深度和旋转,以及速度和属性
二次回归头由 3 个卷积层 (3×3 核) 和 1×1 卷积层组成,以产生所需的输出
最后一步是将回归头结果解码为 3D 边界框,3D Box 解码器块使用估计的深度、速度、旋转和二次回归头部的属性,并从主回归头部获取其他对象的属性

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

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【ArcGIS】栅格数据进行标准化(归一化)处理

栅格数据进行标准化(归一化)处理 方法1:栅格计算器方法2:模糊分析参考 栅格数据进行标准化(归一化)处理 方法1:栅格计算器 栅格计算器(Raster Calculator) 计算完毕后,得到归一化…

谷粒商城——分布式基础(全栈开发篇第一部分)

文章目录 一、服务治理网路数据支撑日志处理ELK应用监控集成工具开发工具 二、环境创建1、虚拟机创建2、虚拟机安装docker等1. 安装docker1. 配置阿里docker3.docker安装mysql错误 4、docker安装redis 3、软件1.Maven 阿里云镜像1.8jdk2、idea lombokmybatisX ,3、 …

[LVGL]:MACOS下使用LVGL模拟器

如何在MACOS下使用lvgl模拟器 1.安装必要环境 brew install sdl2查看sdl2安装位置: (base) ➜ ~ brew list sdl2 /opt/homebrew/Cellar/sdl2/2.30.1/bin/sdl2-config /opt/homebrew/Cellar/sdl2/2.30.1/include/SDL2/ (78 files) /opt/homebrew/Cellar/sdl2/2.3…

Vue3基础笔记(1)模版语法 属性绑定 渲染

Vue全称Vue.js是一种渐进式的JavaScript框架,采用自底向上增量开发的设计,核心库只关注视图层。性能丰富,完全有能力驱动采用单文件组件和Vue生态系统支持的库开发的复杂单页应用,适用于场景丰富的web前端框架。灵活性和可逐步集成…

Vue.js+SpringBoot开发个人健康管理系统

目录 一、摘要1.1 项目介绍1.2 项目录屏 二、功能模块2.1 健康档案模块2.2 体检档案模块2.3 健康咨询模块 三、系统展示四、核心代码4.1 查询健康档案4.2 新增健康档案4.3 查询体检档案4.4 新增体检档案4.5 新增健康咨询 五、免责说明 一、摘要 1.1 项目介绍 基于JAVAVueSpri…

第十四届蓝桥杯省赛真题 Java 研究生 组【原卷】

文章目录 发现宝藏【考生须知】试题 A: 特殊日期试题 B: 与或异或试题 C: 棋盘试题 D: 子矩阵试题 E : \mathrm{E}: E: 互质数的个数试题 F: 小蓝的旅行计划试题 G: 奇怪的数试题 H: 太阳试题 I: 高塔试题 J \mathrm{J} J : 反异或 01 串 发现宝藏 前些天发现了一个巨牛的人…

YOLOv9改进 添加可变形注意力机制DAttention

一、Deformable Attention Transformer论文 论文地址:arxiv.org/pdf/2201.00520.pdf 二、Deformable Attention Transformer注意力结构 Deformable Attention Transformer包含可变形注意力机制,允许模型根据输入的内容动态调整注意力权重。在传统的Transformer中,注意力是…

C语言从入门到实战————数组和指针的深入理解

前言 在C语言中,数组和指针有的密切得联系,因为数组名本身就相当于一个指针常量。指针是一个变量,专门用来存储另一个变量的内存地址,通过这个地址可以访问和操作该变量的值,同时也包括数组。数组是一组连续存储的同类…

社交革命的引领者:探索Facebook如何改变我们的生活方式

1.数字社交的兴起 随着互联网的普及,社交媒体成为我们日常生活的重要组成部分。Facebook作为其中的先驱,从最初的社交网络演变成了一个拥有数十亿用户的全球化平台。它不仅改变了我们与世界互动的方式,还深刻影响了我们的社交习惯、人际关系以…

nut-ui组件库icon中使用阿里图标

1.需求 基本每个移动端组件库都有组件 icon组件 图标组件、 但是很多组件库中并找不到我们需要的图标 这时候 大家有可能会找图标库 最大众的就是iconfont的图标了 2.使用 有很多方式去使用这个东西 比如将再限链接中的css引入 在使用 直接下载图标 symbol 方式 等....…

解锁未知:探索 Web3 的创新与前景

在数字化时代的潮流下,Web3作为下一代互联网的关键构建,正引领着数字经济的崭新篇章。本文将深入探讨Web3的创新特性及其对未来发展的影响。 1. Web3 的崭新定义 Web3不仅是技术的革新,更是一种理念的演进。其核心特征包括去中心化、可编程性…

Linux编译器gcc/g++的功能与使用

一、程序的生成 首先,我们知道程序的编译分为四步: 1、预处理 2、编译 3、汇编 4、链接 1.1预处理 预处理功能主要包括头文件展开、宏定义、文件包含、条件编译、去注释等。 所谓的头文件展开就是在预处理时候,将头文件内容拷贝至源文…

探索TikTok云手机在社交媒体营销的作用

近年来,TikTok作为全球短视频平台之一,其用户基数呈现持续增长的趋势。伴随社交媒体的蓬勃发展,企业和个人纷纷涌入TikTok平台,追求更广泛的曝光和用户互动。为满足这一需求,TikTok云手机应运而生。本文将深度剖析TikT…

ETH共识升级之路

简介 根据我们之前的介绍,了解到ETH网络的共识方式,已经从 PoW 切换到了 PoS,今天我们就回顾下升级之路,以及升级带来的影响 最早的共识机制 PoW 以太坊创建之初采用了类似比特币的工作量证明机制,即矿工通过计算哈希函…

HandyControl PropertyGrid及自定义编辑器

前提条件 项目引入对应HandyControl对应版本包。 使用案例 UI部分 <Window xmlns:hc"https://handyorg.github.io/handycontrol"><hc:TabControl><hc:TabItem Header"默认样式"><hc:PropertyGrid Width"380" SelectedO…

Rust 深度学习库 Burn

一、概述 Burn 它是一个新的综合动态深度学习框架&#xff0c;使用 Rust 构建的&#xff0c;以极高的灵活性、计算效率和可移植性作为其主要目标。 Rust Burn 是一个以灵活性、高性能和易用性为核心设计原则工具&#xff0c;主打就是灵活性 、高性能 及易用性。 二、Rust B…

[蓝桥杯]-最大的通过数-CPP-二分查找、前缀和

目录 一、题目描述&#xff1a; 二、整体思路&#xff1a; 三、代码&#xff1a; 一、题目描述&#xff1a; 二、整体思路&#xff1a; 首先要知道不是他们同时选择序号一样的关卡通关&#xff0c;而是两人同时进行两个入口闯关。就是说两条通道存在相同关卡编号的的关卡被通…

Linux--基本知识入门

一.几个基本知识 终端: CtrlAltT 或者桌面/文件夹右键,打开终端切换为管理员: sudo su 退出:exit查看内核版本号: uname -a内核版本号含义: 5 代表主版本号;13代表次版本号;0代表修订版本号;30代表修订版本的第几次微调;数字越大表示内核越新. 二.目录…

Halcon OCR文字识别

1、OCR文字识别 FontFile : Universal_0-9_NoRej dev_update_window (off) read_image (bottle, bottle2) get_image_size (bottle, Width, Height) dev_open_window (0, 0, Width, Height, black, WindowHandle) set_display_font (WindowHandle, 16, mono, true, false) dev…