【3D目标检测】Frustum PointNets for 3D Object Detection from RGB-D Data

news2025/1/16 17:48:53

目录

  • 概述
  • 细节
    • 网络结构
    • 视锥候选框
    • 3D实例分割
    • 边界框参数回归
    • 损失函数

概述

首先本文是基于图像和点云的,属于早期的模态融合的成果,是串行的算法,而非并行的,更多的是考虑如何根据图像和点云这两个模态的数据进行3D目标检测。
提出动机与贡献1:以往基于点云的算法,要么是将点云进行编码成规则结构如体素、体柱,然后进行处理,要么是将点云转换成图片类型(鸟瞰图),然后进行处理,这些方法都会损失原始点云的信息。因此直接基于原始点云进行目标检测能够更加有效的利用3D的信息,这方面比较经典的工作就是PointNet类的算法,它们能进行分类和分割,并没有进行目标检测,因此作者提出了一种方法将PointNet用到了目标检测当中。
提出动机与贡献2:以往基于点云的算法基本都是使用RPN网络生成3D候选框的,但是基于原始点云的话,RPN不好做啊,因为不好设置3D anchor了就。因此作者就将2D候选框和3D实例分割等操作结合起来生成候选框。

ps:
2D目标检测中ancho:两阶段算法中,anchor用于候选框的生成,单阶段算法中anchor用于最终边界框的生成,他们都是需要对anchor的偏移参数进行预测,然后将偏移参数作用到anchor上得到我们想要的结果(候选框或者边界框),那怎么得到参数的预测结果呢?一般都是得到一个全局的特征,然后用 1 ∗ 1 1*1 11卷积调整通道数。比如我们将全局特征通过 1 ∗ 1 1*1 11卷积得到了 7 ∗ 7 ∗ ( 4 ∗ k ) 7*7*(4*k) 77(4k)的结果,就代表着原图中设置了 7 ∗ 7 = 49 7*7=49 77=49个位置,每个位置放置了 k k k个anchor,每个anchor对应4个偏移调整参数。这个位置怎么选择呢?可以将结果特征图中的点按照一定的规则映射到原图中,也可以采用什么别的方式,接着以这个位置为中心,放置不同长宽比例、不同大小的矩形框作为先验也就是anchor。
视锥:视锥就是下图中有颜色的部分(立体梯形),相机中图像成的像就是视锥中的内容。因此我们可以通过图像以及相机的内置参数得到视锥。
在这里插入图片描述

细节

网络结构

整体流程:

  1. 首先使用2D目标检测器在图像中得到候选框并进行分类
  2. 借助相机的内参将2D候选框转换为得到3D视锥(frustum)
  3. 对3D视锥内的点进行3D实例分割,得到每个点的类别
  4. 基于分割的结果,1个PointNet的变体(T-Net)回归中心点坐标,另一个PointNet的变体回归尺寸和航向角。
    在这里插入图片描述

视锥候选框

首先使用2D目标检测器在图像中得到候选框并进行分类,然后借助相机的内参(投影矩阵)将2D候选框转换为得到3D视锥,视锥内的点就构成了视锥点云。但是对于不同的2D候选框,视锥可能会朝向很多不同的方向,点云的分布很不稳定,所以作者对视锥中的点做了几何变换,(下图a)使得z轴指向视锥的中心,那么视锥中的点的分布就很稳定了。
注:1、因为候选框只会包含一个目标,所以理论上每个视锥中也仅包含一个目标。
在这里插入图片描述

3D实例分割

我们现在已经有了2D候选区域以及它对应的视锥点云,接下来就是从中得到3D边界框。一个直接的思路就是将视锥点云转换成2D候选区域的深度图,然后使用CNN处理,但是其中会存在物体遮挡和背景杂乱的问题。这个问题在2D中是很难处理的,但是在3D中是比较容易处理的,因为3D空间中物体是自然分离的。因此作者使用PointNet对视锥点云中的所有点进行2分类(目标点云以及非目标点云),得到目标点云。

上面说了视锥中的目标主体只有一个,也就是和2D候选框中的类别一致的,因此我们可以将之前预测到的2D候选框类别作为额外的特征或者说是先验知识,加到视锥中的点上,方便分割。

分割结束之后,得到目标点云,再做一次几何变换

注:为什么作者根据2D候选框生成视锥,然后做3D分割而不是直接使用2D分割昌盛视锥呢?就像前面说的,2D分割难度大,效果差;3D分割难度小,效果好。

在这里插入图片描述

边界框参数回归

实验中发现目标点云的中心距离边界框的中心依旧比较远,因此作者单独使用T-Net回归边界框的中心点坐标,这里的回归指的是目标点云的质心相对于边界框中心的偏移。再使用一个PointNet的变体(Amodal 3D Box Estimation PointNet)实现边界框的尺寸(h,w,l)以及航向角的回归,输出维度是 3 + 4 ∗ N S + 2 ∗ N H 3+4*NS+2*NH 3+4NS+2NH,其中3是边界框中心点的坐标偏移, N S NS NS是不同尺寸的anchor个数,4是长宽高以及置信度, N H NH NH是不同朝向的anchor,2是置信度以及航向角。

注:这里的T-Net类似于PointNet中的T-Net,但是它不学习旋转矩阵,而是实现边界框中心点坐标的回归,因此它是有监督的。
在这里插入图片描述

损失函数

损失主要包含四部分:3D分割的损失,两次几何变换的损失、边界框相关的损失以及最后的角损失。
具体: L s e g L_{seg} Lseg是分割损失、 L c 1 − r e g L_{c1-reg} Lc1reg是两次几何变换的损失、 L c 2 − r e g L_{c2-reg} Lc2reg是中心点回归的损失、 L h − c l s L_{h-cls} Lhcls L h − r e g L_{h-reg} Lhreg是航向角分类和回归的损失、 L s − c l s L_{s-cls} Lscls L s − r e g L_{s-reg} Lsreg是各个尺寸分类和回归的损失。
在这里插入图片描述
上面公式写的很多,相当于是各个参数都单独预测了,但是他们应该是一起起作用得到边界框的,所以引入了8个角的损失。
在这里插入图片描述

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

亚马逊平台不给力?来Starday,告诉你什么是真正的高阶玩法

距2021年的亚马逊封号潮已经过去了一段时间,但其影响却依然在跨境电商行业间回荡。从4月份起,亚马逊就开始对违反平台规则的卖家进行封号。此后打击规模持续扩大,到6月中下旬,深圳一批头部卖家均被亚马逊平台下架,遭到…

Coverage-based Greybox Fuzzing as Markov Chain

AFLFast: Coverage-based Greybox Fuzzing as Markov Chain 一、论文阅读 论文来自CCS2016 作者:Marcel Bhme 模糊测试领域巨佬 Abstract 基于覆盖的灰盒模糊测试 Coverage-based Greybox Fuzzing (CGF)。大多数测试用例执行少数高频路径,制定策略倾…

浪潮信息工程师:谈一谈设备透传虚拟机启动慢背后的原因及其优化方法 | 第 51 期

本周「龙蜥大讲堂」预告来啦!龙蜥社区邀请了浪潮信息操作系统研发工程师崔士伟分享《设备透传虚拟机的快速启动优化》,快来扫码入群,预定前排小板凳观看直播吧! 直播主题及内容介绍 直播主题:设备透传虚拟机的快速启…

360+城市空气质量指数-日度数据、良好天数统计(2001-2022年)

360城市空气质量指数-日度数据、良好天数统计(2001-2022年) 城市空气质量指数-日度数据、良好天数统计 1、包括:360个城市 2、时间:2001.1-2022.1月 3、样本量:1371937条 4、数据来源:空气质量在线…

使用Excel 表示汽车、摩托车10年免检时间、非常清晰。

1,汽车摩托车10年内年检问题 根据最新的国家法律: http://www.wenjiang.gov.cn/wjzzw/c152333/2022-09/30/content_66efe4febb8040758f3f079cf0baa310.shtml 搜索了下,找到了成都的规定: 近日,公安部、市场监管总局…

中电海康-中电52所面经

中电海康,中电52所面经中电海康面经一面(电话面)二面(现场面)自我回顾中电海康面经 一面(电话面) Redis的使用和配置多线程的使用,线程池的使用SpringBoot的核心注解和流程AOP IOC …

java项目-第133期ssm物流服务管理平台系统-java毕业设计

java项目-第133期ssm物流服务管理平台系统-毕业设计 【源码请到资源专栏下载】 今天分享的项目是《物流服务管理平台系统》 该项目分为前台和后台。主要分成三个角色:游客、普通管理员、管理员三个角色。 游客就是用户,只要是访问系统前台的用户都可以算…

华为防火墙的四种智能选路方式

FW支持四种智能选路方式,不同的智能选路方式可以满足不同的需求,管理员可以根据设备和网络的实际情况进行选择。 表1 智能选路方式 智能选路方式 定义 根据链路带宽负载分担 FW按照带宽比例将流量分配到各条链路上。带宽大的链路转发较多的流量&…

【我的渲染技术进阶之旅】基于Filament渲染引擎绘制一个不停旋转的彩色矩形

一、绘制三角形回顾 在上一篇博客 【我的渲染技术进阶之旅】Google开源的基于物理的实时渲染引擎Filament源码分析:Android版本的Filament第一个示例:sample-hello-triangle 中,我们分析了如何使用Filament来绘制一个三角形,效果如下所示,有一个不停旋转的彩色三角形: …

“外卷”的羽绒服

【潮汐商业评论/ 原创】 2022年的寒潮要比以往来得更早。 “你能想到我今年的第一件羽绒服竟然是在十一期间买的。”没等上“双十一”的车,Eva在国庆期间就已下单了“秋天的第一件羽绒服”。把保暖战线拉长的也不止Eva一个人,据浙商证券研报显示&#…

SpringBoot原理初探以及第一个SpringBoot程序【SpringBoot】

文章目录一.SpringBoot1.1 Spring和SpringBoot1.2 本阶段学习任务1.3 微服务架构二.搭建一个SpringBoot程序2.1 新建SpringBoot项目(官方)2.2 正常创建SpringBoot项目2.3 项目结构2.4 启动项目2.5 写一个接口HelloControlier2.6 原理2.7 更改配置三.原理…

Plaxis Python 命令流自动化处理、岩土工程渗流问题之有限单元法

目录 岩土工程渗流问题之有限单元法:理论、模块化编程实现、开源程序手把手实操应用 基于python命令流及代码的Plaxis自动化建模与典型案例实践应用 岩土工程渗流问题之有限单元法:理论、模块化编程实现、开源程序手把手实操应用 有限单元法在岩土工程…

NC65 sql server 报数据库“xxx”事务日志已满 的解决方案。

近日公司的NC系统在做薪资发放的计算是,报了如下图的错误: 如何解决解决事务日志已满的问题(SQL Server 错误 9002)这个问题呢? 微软给的方案 适用于: SQL Server(所有受支持的版本&#xf…

IPWorks Encrypt Delphi强加密的一整套组件

IPWorks Encrypt Delphi强加密的一整套组件 通过主要加密标准实现强加密的一整套组件。 IPWorks Encrypt是一个广泛的组件库,允许您通过主要的加密标准(包括S/MIME、OpenPGP、TripleDES、TwoFish、RSA、AES等)对文件、电子邮件、文档和消息进行加密和解密。 IPWorks…

整理了173家国企清单,跳槽必备!

我这里汇总了一些计算机专业可以加入的国企,分享给求职的小伙伴们,内容很多,先收藏再看! 一、首选证券公司 各省基本都有一所证券公司,沿海省份集中在税前30-40万左右,内地集中在20-30万。很少加班&#…

二、使用java简单操作kafka

系列文章目录 1.kafka基本原理 文章目录系列文章目录一、搭建一个kafka的demo2.引入依赖3.创建对应的类二、生产者2-1发送到指定分区,等待消息发送成功(会阻塞)2-2发送到指定分区,异步方式2-3其余两种情况,不指定分区…

如何在 Ubuntu 22.04 上安装 最新版本Wine

过渡到 Linux 的用户的担忧之一是他们是否可以在 Linux 上运行自己喜欢的应用程序。这些范围可以从 Windows 游戏和简单的应用程序软件。值得庆幸的是,Wine 允许用户在 Linux/Unix 系统上运行和执行 Windows 程序。 Wine (“Wine Is Not an Emulator” …

【MySQL | 运维篇】06、MySQL 分库分表之 MyCat 分片规则

目录 一、范围分片 1. 介绍 2. 配置 schema.xml逻辑表配置: schema.xml数据节点配置: rule.xml分片规则配置: 二、取模分片 1. 介绍 2. 配置 schema.xml逻辑表配置: schema.xml数据节点配置: rule.xml分片规…

微信小程序--自定义组件(超详细 从新建到使用)

微信小程序–自定义组件 微信小程序官网介绍! 本文提供给急需使用自定义组件人群,以下是博主个人理解和案例!可以辅助官网来看 介绍: 从小程序基础库版本 1.6.3 开始,小程序支持简洁的组件化编程。所有自定义组件相关…

第6章 数据库事务 第7章 DAO及相关实现类

第6章 数据库事务 1.数据库事务介绍 *事务:一组逻辑操作单元,使数据从一种状态变换到另一种状态 *事务处理:保证所有事务都作为一个工作单元来执行 2.JDBC事务处理 *数据一旦提交则不可回滚 *导致数据自动提交的操作:DDL操…