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

【3D目标检测】Pseudo-Stereo for Monocular 3D Object Detection in Autonomous Driving

目录

  • 概述
  • 细节
    • 背景与整体流程
    • 图像级别生成
    • 特征级别生成
    • 损失函数
    • 学习深度感知的特征

概述

本文是基于单目图像的3D目标检测方法。
【2021】【MonoDLE】

研究的问题:

  • 能否借助立体图像检测算法提高单目图像检测的效果
  • 如何实现右侧图像的生成

解决的方法:

  • 受启发于伪点云,提出了伪立体图像的概念,将图像转换成立体图像,然后应用立体图像的检测算法
  • 提出两种右侧图像生成的方法,分别是图像级别生成和特征级别生成(基于视差的动态卷积方法)
  • 提出一个观点:学习深度感知的特征有利于提高单目检测的性能,比如作者这边的深度估计以及深度损失。

细节

背景与整体流程

为什么要用Pseudo-Stereo?虽然Pseudo-LiDAR效果很好,但是相对于基于雷达的算法还有很大的差距,并且这个差距来源于图像到点云的转化。因为这个转化过程是跨模态的,误差巨大。而单目图像到立体图像的转换相对而言就简单一点,并且基于立体图像的检测算法也具有不错的效果

思想概述:核心就是转换成立体图像然后应用立体图像的检测算法

算法的关键问题:图像到点云转换过程带来的巨大误差也影响到了伪点云算法的性能,使得基于伪点云的算法与基于点云的算法具有较大的差距。因此,如何减小单目图像到立体图像转换过程中的误差是本文的关键,作者提出了两种方法,图像级生成和特征级生成(特征克隆是特征级生成的特殊情况)

注意:虽然是采用基于立体图像的检测算法,但是作者将基于立体图像的检测算法的特征提取模块换成了自己的,也就是算法的输入是左右图的特征或者说是成本容积

图像级别生成

算法流程:基于左图得到深度图,然后将深度图转换成视差图,接着基于左图和视差图生成右图,然后使用共享参数的ResNet34进行左右图的特征提取,用共享参数的SPP模块分别获得左右图对应的全局特征,构造成本容积,然后送入立体图像检测器LIGA-Stereo中。
在这里插入图片描述
将深度图转换成视差图基于以下的方法:其中ddd是对应的视差,zzz是估计得到的深度值,f,bf,bf,b分别是相机焦距和两台相机之间的基线距离
在这里插入图片描述
基于左图和视差图生成右图:主要是两个操作,一个是按照下面的公式扭曲左图得到右图,另一个是为了处理边缘模糊等问题对视差图进行了锐化
在这里插入图片描述

特征级别生成

背景:图像级别生成中,用左图+视差图扭曲得到右图非常耗时(相当于是手工做法),所以作者就提出了一种可微分(可学习)的特征变换方法,基于左图特征直接得到右图特征。

算法流程:基于左图得到深度图,然后将深度图转换成视差图,用不共享参数的ResNet34对左图和视差图进行特征提取,然后对左图特征和右图特征作基于视差的卷积(不是计算偏移量)得到右图特征,用共享参数的SPP模块分别获得左右图对应的全局特征,构造成本容积,然后送入立体图像检测器LIGA-Stereo中。

在这里插入图片描述
特殊情况:最简单的方式就是直接复制左图特征作为右图特征,这样不需要深度估计、视差图这些杂七杂八的,泛化性能好,但是检测性能嘛,肯定不行。
在这里插入图片描述

损失函数

损失函数与LIGA-Stereo相同

学习深度感知的特征

作者提到一个观点:学习深度感知的特征有利于提高单目检测的性能。本文的深度感知体现在两个方面,一个是深度估计,另一个是深度损失。两种方法对深度估计的应用差不多,但是深度损失的应用就有差别,前者生成右图是手工的做法,后者是学习的方法,深度损失能够指导右图的生成。

相关文章:

【3D目标检测】Pseudo-Stereo for Monocular 3D Object Detection in Autonomous Driving

目录概述细节背景与整体流程图像级别生成特征级别生成损失函数学习深度感知的特征概述 本文是基于单目图像的3D目标检测方法。 【2021】【MonoDLE】 研究的问题: 能否借助立体图像检测算法提高单目图像检测的效果如何实现右侧图像的生成 解决的方法: 受启发于伪…...

git 常用命令之 git branch

大家好,我是 17。 新建 git 分支 分支是并行开发的基础。分支名称的本质是对分支最后一个提交的引用。分支有多个,但 HEAD 只有一个,可以认为 HEAD 是"current branch"(当下的分支)。当你用git switch切换分支的时候,…...

Oracle数据泵

Oracle 数据泵:概览 作为一个基于服务器的用于高速移动数据与元数据的工具, Oracle 数据泵具有以下特点: •可通过 DBMS_DATAPUMP 调用 •可提供以下工具: – expdp – impdp – 基于 Web 的界面 •提供四种数据移动方法&#xff…...

ACWING寒假每日一题python

ACWING寒假每日一题 一、孤独的照片 一个点一个点的来看,比如对于GHGHG中间的G,找到他的左边的G,以及右边的G的位置,l,r分别等于1,答案就要多加上11 但是如果对于 GHHGHHG 中间的G,我们可以看到l,r等于2&a…...

御黑行动来袭--助力三月重保,构筑安全防线!

三月重保在即,重要网站及业务系统“零风险 零事故”是终极目标,作为业界网络安全实战派“老兵”--知道创宇将一如既往,为您提供重保期间“万无一失”的重要网站及业务系统防护。 值此三月重保的重要备战期,知道创宇推出由主力产品…...

JavaScript HTML DOM 元素 (节点)

HTML DOM 是指 HTML 文档对象模型,它是一种用于创建和处理 HTML 页面的标准 API。在 JavaScript 中,HTML DOM 可以被用来操作和修改网页的内容和结构。在本篇文章中,我们将详细探讨 JavaScript HTML DOM 元素 (节点)的作用以及在实际工作中的…...

mybatis-plus ---2

mybatis-plus插件 官网地址 分页插件 MyBatis Plus自带分页插件,只要简单的配置即可实现分页功能 配置并使用自带分页插件 Configuration MapperScan("com.itzhh.mapper")//可以将主类中的注解移到此处 public class MybatisPlusConfig {Beanpublic …...

如何在Qt中设置背景图片,且不覆盖其它控件

正常情况,我们直接通过在样式表里设置背景图片会出现背景图片覆盖其它控件的情况,比如下面操作: 首先右击空白处,点击改变样式表。 然后选择background-image 然后点击铅笔图标 之后我们要先添加前缀,也就是我们…...

PMP考前冲刺2.14 | 2023新征程,一举拿证

承载2023新一年的好运让我们迈向PMP终点一起冲刺!一起拿证!每日5道PMP习题助大家上岸PMP!!!PMP项目管理题目1-2:1.公司了解到一个项目机会,领导让之前做过类似项目的项目经理报告一个粗略的成本…...

feign进行文件上传报错解决方案及有多个入参时的注意事项

一、情景回顾1、简单的文件上传的接口/*** 文件上传MultipartFile格式** param multipartFile 源文件* param filename 自定义文件名称,允许为空,为空时直接从源文件中拿* return*/RequestMapping("/uploadFileForMultipartFile")LogModuleAnn…...

java 枚举类型enum的用法详解

Java Enum原理 public enum Size{ SMALL, MEDIUM, LARGE, EXTRA_LARGE }; 实际上,这个声明定义的类型是一个类,它刚好有四个实例,在此尽量不要构造新对象。 因此,在比较两个枚举类型的值时,永远不需要调用equals方法…...

Java 基础面试题——关键字

目录1.Java 中的关键字是指什么?有哪些关键字?2.instanceof 关键字的作用是什么?3.访问修饰符 public、private、protected、以及不写(default)时的区别?4.Java 中有没有 goto 关键字?5.在 Java 中&#x…...

C++——运算符重载

1、运算符重载的概念 运算符重载,就是对已有的运算符重新进行定义,赋予其另一种功能,以适应不同的数据类型。运算符重载的目的是让语法更加简洁运算符重载不能改变本来寓意,不能改变基础类型寓意运算符重载的本质是另一种函数调用…...

前端食堂技术周刊第 70 期:Volar 的新开端、Lighthouse 10、良好的组件设计、React 纪录片、2022 大前端总结

美味值:🌟🌟🌟🌟🌟 口味:黑巧克力 食堂技术周刊仓库地址:https://github.com/Geekhyt/weekly 本期摘要 Volar 的新开端Chrome 110 的新功能Lighthouse 10Nuxt v3.2.0加速 JavaSc…...

react路由详解

在学习react路由之前,我们肯定需要安装路由。大家先运行如下命令安装路由。安装之后随我一起探索react路由。 安装 版本v6 npm i react-router-dom -S 页面准备 创建两个文件夹 pages和 router pages文件夹里面放的是页面 router文件夹里面是进行路由配置 路由…...

mysql数据库完全备份和增量备份与恢复

mysql数据备份: 数据备份方式 物理备份: 冷备:.冷备份指在数据库关闭后,进行备份,适用于所有模式的数据库热备:一般用于保证服务正常不间断运行,用两台机器作为服务机器,一台用于实际数据库操作应用,另外…...

CF1667E Centroid Probabilities

题目描述 对于所有点数为 nnn 的树&#xff0c;如果其满足 对于所有 i∈[2,n]i\in [2,n]i∈[2,n]&#xff0c;与 iii 相连的 jjj 中有且只有一个点 jjj 满足 j<ij<ij<i &#xff0c;那么我们称其为好树 对于 1∼n1\sim n1∼n 每个点求出来有多少好树满足重心为 iii …...

全网详细总结com.alibaba.fastjson.JSONException: syntax error, position at xxx常见错误方式

文章目录1. 复现问题2. 分析问题3. 解决问题4. 该错误的其他解决方法5. 重要补充1. 复现问题 今天在JSONObject.parse(json)这个方法时&#xff0c;却报出如下错误&#xff1a; com.alibaba.fastjson.JSONException: syntax error, position at 0, name usernameat com.aliba…...

快速部署个人导航页:美好的一天从井然有序开始

很多人都习惯使用浏览器自带的收藏夹来管理自己的书签&#xff0c;然而收藏夹存在着一些问题。 经过长时间的累积&#xff0c;一些高频使用的重要网站和偶尔信手收藏的链接混在了一起&#xff0c;收藏夹因为内容过多而显得杂乱无章&#xff1b;收藏夹没有什么美观可言&#xf…...

【Python】如何在 Python 中使用“柯里化”编写干净且可重用的代码

对于中级Python开发者来说&#xff0c;了解了Python的基础语法、库、方法&#xff0c;能够实现一些功能之后&#xff0c;进一步追求的就应该是写出优雅的代码了。 这里介绍一个很有趣的概念“柯里化”。 所谓柯里化&#xff08;Currying&#xff09;是把接受多个参数的函数变换…...

ROS笔记(4)——发布者Publisher与订阅者Subscribe的编程实现

发布者 以小海龟的话题消息为例,编程实现发布者通过/turtle1/cmd_vel 话题向 turtlesim节点发送消息&#xff0c;流程如图 步骤一 创建功能包&#xff08;工作空间为~/catkin_ws/src&#xff09; $ cd ~/catkin_ws/src $ catkin_create_pkg learning_topic roscpp rospy s…...

Linux进程概念(一)

文章目录Linux进程概念&#xff08;一&#xff09;1. 冯诺依曼体系结构2. 操作系统(Operator System)2.1 考虑2.2 如何理解操作系统对硬件做管理&#xff1f;2.3 操作系统为什么要对软硬件资源做管理呢&#xff1f;2.4 系统调用和库函数概念2.5 计算机体系结构3. 进程的初步理解…...

Leetcode.1124 表现良好的最长时间段

题目链接 Leetcode.1124 表现良好的最长时间段 Rating &#xff1a; 1908 题目描述 我们认为当员工一天中的工作小时数大于 8 小时的时候&#xff0c;那么这一天就是「劳累的一天」。 所谓「表现良好的时间段」&#xff0c;意味在这段时间内&#xff0c;「劳累的天数」是严格…...

达梦数据库会话、事务阻塞排查步骤

查询阻塞的事务IDselect * from v$trxwait order by wait_time desc;--单机select * from v$dsc_trxwait order by wait_time desc;–DSC集群查询阻塞事务的会话信息select sf_get_session_sql(sess_id),* from v$sessions where trx_id69667;--单机select sf_get_session_sql(…...

sqlServer 2019 开发版(Developer)下载及安装

下载软件 官网只有2022的&#xff0c;2019使用百度网盘进行下载 安装下崽器 选择自定义安装 选择语言、以及安装位置 点击“安装” 安装 SQL Server 可能的故障 以上步骤安装后会弹出以上界面&#xff0c;如果未弹出&#xff0c;手动去安装目录下点击 SETUP.EXE 文件…...

使用Arthas定位问题

功能概述 首先&#xff0c;Arthas的常用功能大概有以下几个&#xff1a; 解决依赖冲突 sc命令&#xff1a;模糊查看当前 JVM 中是否加载了包含关键字的类&#xff0c;以及获取其完全名称。 sc -d 关键字 注意使用 sc -d 命令&#xff0c;获取 classLoaderHash命令&#xff1a…...

性能测试之tomcat+nginx负载均衡

nginx tomcat 配置准备工作&#xff1a;两个tomcat 执行命令 cp -r apache-tomcat-8.5.56 apache-tomcat-8.5.56_2修改被复制的tomcat2下conf的server.xml 的端口号&#xff0c;不能与tomcat1的端口号重复&#xff0c;不然会启动报错 ,一台电脑上想要启动多个tomcat&#xff0c…...

【手写 Vuex 源码】第十一篇 - Vuex 插件的开发

一&#xff0c;前言 上一篇&#xff0c;主要介绍了 Vuex-namespaced 命名空间的实现&#xff0c;主要涉及以下几个点&#xff1a; 命名空间的介绍和使用&#xff1b;命名空间的逻辑分析与代码实现&#xff1b;命名空间核心流程梳理&#xff1b; 本篇&#xff0c;继续介绍 Vu…...

opencv基础知识和绘图图形

大家好&#xff0c;我是csdn的博主&#xff1a;lqj_本人 这是我的个人博客主页&#xff1a; lqj_本人的博客_CSDN博客-微信小程序,前端,python领域博主lqj_本人擅长微信小程序,前端,python,等方面的知识https://blog.csdn.net/lbcyllqj?spm1011.2415.3001.5343哔哩哔哩欢迎关注…...

15- 决策回归树, 随机森林, 极限森林 (决策树优化) (算法)

1. 决策回归树: from sklearn.tree import DecisionTreeRegressor model DecisionTreeRegressor(criterionmse,max_depth3) model.fit(X,y) # X是40个点 y是一个圆 2. 随机森林 稳定预测: from sklearn.ensemble import RandomForestClassifier # model RandomForestC…...

数据导航 wordpress/推广软文是什么

使用rke部署集群时&#xff0c;虽然已经很方便了&#xff0c;但是如果节点个数较多&#xff0c;每个节点要手动配置&#xff0c;防火墙&#xff0c;selinux, iptables等等。还是挺麻烦的&#xff0c; 这些配置每个节点都一样&#xff0c;完全可以通过脚本批量配置。 过程参考R…...

wordpress 超级卡/镇江网站建设

Laravel框架在PHP开发中使用十分广泛&#xff0c;本文主要对Laravel框架中的路由设置作详细的介绍&#xff0c;Laravel的路由配置非常灵活&#xff0c;如何设置好路由对PHP应用来说也是相当关键的。基本路由您的应用程序的绝大多数路由将在 app/routes.php 文件中定义。Laravel…...

做音乐网站怎么放音乐/网推软件有哪些

零基础情况下&#xff0c;想学一门语言。其实python非常适合初学者入门。相比较其他不少主流编程语言&#xff0c;有更好的可读性&#xff0c;因此上手相对容易。那么如何快速掌握python? 设定目标&#xff1a;做 Python 开发除了熟悉语言本身之外&#xff0c;还需要掌握很多…...

北京中心网站建设/国外搜索引擎优化

ps0:从暑假开始接触Kinect相关编程开发&#xff0c;到现在有些日子了&#xff08;虽然中途可能干其他事去了&#xff09;&#xff0c;所以感觉知识有些地方还不是很扎实&#xff0c;所以写这一系列博客&#xff0c;一方面调理一下自己已经掌握的一些知识&#xff0c;另一方面也…...

做网页和网站有什么区别吗/网站建设详细方案模板

作者&#xff1a;D2Projects 成员 | Aysnine点击文章末尾查看原文跳转至作者原网页这个问题要从一个想法说起。D2Admin[1] 是一个开源的&#xff0c;前端中后台集成方案&#xff0c;原先是基于 vue-cli2&#xff0c;大概是向 vue-cli3 过渡时&#xff0c; 作者老李&#xff0c;…...

大连个人网站建设/seo领导屋

主要的问题可能就是页面加载的问题&#xff0c;有时候页面没有加载成功导致对象找不到&#xff0c;从而导致脚本不能运行。 主要使用的方式是&#xff0c;在测试的全局中设置一个页面的加载时间&#xff0c;如果timeout就是没有找到对象。如下参考&#xff1a; http://chon.tec…...