单目3D自动标注

这里介绍两种

1. 基于SAM的点云标注

Seal:是一个多功能的自监督学习框架,能够通过利用视觉基础模型的现成知识和2D-3D的时空约束分割自动驾驶数据集点云

  • Scalability:可拓展性强,视觉基础模型蒸馏到点云中,避免2D和3D的标注
  • Consistency:时空关系的约束在camera-to-lidar和点到分割这两个阶段得到应用,加速了多模态的表征学习

点云通过坐标变换投影到图像上,只要我们分割图像像素的类别,就得到点云的类别(见下图)

在这里插入图片描述
3D框生成步骤(见下图):

  • SAM分割图像中每个点的类别(点为prompt,prompt的形式由三种:点、框、)
  • 坐标系对齐:不同时间戳的对齐,组成(camera,lidar)pair
  • 点云投影到SAM分割后的图像得到点云分割的结果
  • 多帧时序结果对点云分割做进一步优化
  • 对每个类别的点云分割结果做最小外接矩形框得到3D框,结合每个类别的长宽高先验,再进一步优化
    • 比如小轿车:4.61.81.4;中型轿车&皮卡:4.91.91.8; 行人:0.60.71.7
      在这里插入图片描述
  • 点云对齐到图像:
    在这里插入图片描述

2. 基于离线点云3D检测模型的自动标注

2.1. CTRL(图森)—— 检测+跟踪

图森提出一种基于轨迹的离线的激光雷达检测模型(一旦检测,永不丢失)—— CTRL(https://github.com/tusen-ai/SST)

  • 动机:经验丰富的标注人员会以轨迹为中心的视角来标注物体,首先标注轨迹中形状清晰的物体,然后利用时间上的连续性来推断模糊物体(遮挡或点云少)的标注
  • 方法概述:
    • 采用轨迹为中心的视角,而不是传统的物体为中心的视角
    • 采用双向跟踪模块和轨迹为中心的学习模块

算法流程:

  • 检测模型(FSDv2,FSD V2: Improving Fully Sparse 3D Object
    Detection with Virtual Voxels)得到初步检测结果
  • 双向跟踪模块:
    • 在跟踪过程中,采用简单的运动模块来填补模型检测的难例,并双向拓展轨迹,大大延长了轨迹的生命周期
  • Refine
    • 原因:简单运动模型无法检测物体准确位姿
    • 解决:提出track-centric learning模块来进一步refine
    • 具体步骤:把所有点云和proposal当作输入,送入refine模块
      在这里插入图片描述
      检测-跟踪-refine详细步骤:
  • 检测:
    • 采用frame-skigping的多帧合并检测,隔一帧,添加一帧,来减少计算量
      • 添加一帧??什么意思
    • 为了防止过拟合,采用frame dropout 策略,有一半的frame会有20%的几率被dropout
    • 检测模块存在问题:误检和漏检,提高检测的过滤阈值,会导致漏检,需要引入跟踪模块
      • 思考:它通过把误检的先去掉,来单独解决漏检的问题
  • 双向跟踪:
    • Forward tracking:填充早期有检出,中间漏检的框
      • 当tracklet在一定时间步长,没有相匹配的观测,跟踪的前向运动模块会预测一个pseudo-3D box;所以tracklet不会消亡,直到序列结束或目标超出预设的范围。遮挡和截断等难例也能在长时间的跟踪中被检出
    • Back tracking:填充在首次检测之前的漏检框
      • 动机:物体的出现和消失是连续
      • 方法:采用反向的运动模型,从未来有检测帧去反推历史帧的漏检框
  • Refine模块-tracking-centric learning
    • 原因:跟踪模块存在问题:跟踪模块增加的框的位置和置信度相对不准,导致false positive增加,需要refine
    • Multiple-in-multiple-out:
      • 根据扩大后track proposal把整个序列的点云crop下来,downsample到1024个点(防止显存不足),并转到第一帧的全局坐标上,且把同一个track内的点云concat在一起,作为一个训练sample
      • Track feature extraction
        • 采用sparse unet为backbone提取track feature(point-wise feature)
      • Object feature extraction
        • 扩大后Proposal去crop track feature,确保crop物体的完整性
        • Point net去提取特征,对于不同timestamp的crop roi会添加一个编号,表示从哪个timestamp crop下来的

2.2. DetZero

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

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

相关文章

Chrome浏览器 键盘快捷键整理

名人说:莫听穿林打叶声,何妨吟啸且徐行。—— 苏轼《定风波莫听穿林打叶声》 本篇笔记整理:Code_流苏(CSDN)(一个喜欢古诗词和编程的Coder😊) 目录 〇、前言一、常用快捷键二、分类型快捷键表(…

RecyclerView 数据更新方法 notifyItemChanged/notifyItemInsert/notifyIteRemoved

RecyclerView 数据更新方法 notifyItemChanged/notifyItemInsert/notifyIteRemoved notifyItemInsertednotifyItemRemovednotifyItemChanged notifyItemInserted java.lang.IndexOutOfBoundsException: Inconsistency detected. Invalid view holder adapter positionViewHol…

Spring Boot的循环依赖问题

目录 1.循环依赖的概念 2.解决循环依赖的方法 1.构造器方法注入: 2.Lazy注解 3.DependsOn注解 1.循环依赖的概念 两个或多个bean之间互相依赖,形成循环,此时,Spring容器无法确定先实例化哪个bean,导致循环依赖的…

算法-堆/归并排序-排序链表

算法-堆/归并排序-排序链表 1 题目概述 1.1 题目出处 https://leetcode.cn/problems/sort-list/description/?envTypestudy-plan-v2&envIdtop-interview-150 1.2 题目描述 2 优先级队列构建大顶堆 2.1 思路 优先级队列构建小顶堆链表所有元素放入小顶堆依次取出堆顶…

阿里云新加坡主机服务器选择

阿里云新加坡主机有哪些选择?可以选择云服务器ECS或轻量应用服务器,都有新加坡地域可以选择,东南亚地区可以选择新加坡、韩国首尔、日本东京等地域,阿里云新加坡主机测试IP地址:161.117.118.93 可以测试下本地到新加坡…

容斥原理简述

文章目录 1. 问题引入2. 公式3. 证明参考 1. 问题引入 主要用来解决集合的计数问题。 最常见的应用题,A活动多少人,B活动多少人,AB两活动多少人之类的。 两三个集合的时候还能画图进行识别,三个以上的集合则看不太出来了。 2.…

jvm调优 和实际案例

JVM(Java Virtual Machine)调优是优化Java应用程序性能的关键部分,它可以帮助你有效地管理内存、垃圾收集、线程和类加载等方面的资源。在进行JVM调优时,通常需要考虑以下几个方面: 堆内存调优: 调整堆内存…

30W网络对讲广播一体音柱

SV-7042T 30W网络对讲广播一体音柱 一、描述 SV-7042T是深圳锐科达电子有限公司的一款壁挂式网络有源音柱,具有10/100M以太网接口,可将网络音源通过自带的功放和喇叭输出播放,其采用防水设计,功率可以从20W到40W。SV-7042T作为网…

动态数据源自定义SqlSessionFactoryBean时mybatis plus配置失效

环境: 动态数据源spring-boot 2.7.15mybatis-plus 3.5.2 yaml配置: spring:datasource:db100:username: xxxpassword: xxxjdbc-url: jdbc:kingbase8://xxx.xxx.xxx.xxx:54321/100driver-class-name: com.kingbase8.Driver# url: jdbc:postgresql://xxx…

Python 金融大数据分析

第一章 为什么将python用于金融 python编程语言 python是一种高级的多用途编程语言,广泛用于各种非技术和技术领域。 python是一种具备动态语义、面向对象的解释型高级编程语言。它的高级内建数据结构与动态类型及动态绑定相结合,使其在快速应用开发上…

使用Boto3访问AWS S3服务

安装Boto3,执行如下命令: python -m venv .venv . .venv/bin/activate python -m pip install boto3创建配置文件,执行如下命令: mkdir -p ~/.aws touch ~/.aws/credentials touch ~/.aws/config编辑 ~/.aws/credentials&#x…

圆弧插补【C#】

圆弧: 圆弧插补方法可以通过提供圆弧的起点、终点和半径来画弧。下面是一个用C#实现的圆弧插补方法的示例代码: public void DrawArc(Point startPoint, Point endPoint, int radius, bool isClockwise) {// 计算圆心坐标int centerX (startPoint.X e…

01【Git的基本使用与底层命令】

下一篇:02【Git的分支与数据恢复】 目录:【Git系列教程-目录大纲】 文章目录 一、Git概述1.1 Git简介1.2 集中式与分布式1.2.1 集中式版本控制1.2.2 分布式版本控制 1.3 Git的使用流程1.3.1 本地仓库1.3.2 协同开发 1.4 Git的配置1.4.1 Git的配置等级1…

华为汪涛:5.5G时代UBB目标网,跃升数字生产力

[阿联酋,迪拜,2023年10月12日] 在2023全球超宽带高峰论坛上,华为常务董事、ICT基础设施业务管理委员会主任汪涛发表了“5.5G时代UBB目标网,跃升数字生产力”的主题发言,分享了超宽带产业的最新思考与实践,探…

c++ 类的继承(二)

1. 初始化列表 初始化列表在三种情况下必须使用: 继承关系下&#xff0c;父类没有无参构造函数情况 #include <iostream>using namespace std;class Base{ public:string name;int num;Base(){cout<< "基类的无参构造..." <<endl;}Base(string …

谈谈 Redis 分片集群模式

谈谈 Redis 分片集群模式 优点 ● 无中心架构&#xff0c;支持动态扩容 ● Cluster 自动具备哨兵监控和故障转移&#xff08;主从切换&#xff09;能力 ● 客户端连接集群内部地址可自动发现 ● 高性能、高可用&#xff0c;有效解决了 Redis 分布式需求 缺点 ● 运维复杂 ● 只…

MySQL远程连接

一、什么是mysq的远程连接? 1、本地连接 直接在本地使用mysqladmin命令登录 mysql -u root -p 解释如下: mysql:mysql 命令表示要启动 MySQL 客户端。-u root:-u 选项指定要使用的用户名。在这里,我们使用 root 用户名作为示例。-p:-p 选项需要用户输入密码。如果省…

Vue 父子组件传值有哪些方式

① Props 父组件向子组件传递数据是通过 props 传递的&#xff1b; 在父组件中通过 v-bind 绑定子组件的属性&#xff0c;子组件中通过 props 接收父组件传递的数据。 这是一种单向数据流的方式&#xff0c;父组件可以向子组件传递数据&#xff0c;但是子组件不能直接修改传…

比postman更好用的接口管理软件——Apifox

比postman更好用的接口管理软件——Apifox 官网安装和登录Apifox功能使用团队管理&项目管理接口管理接口文档 Apifox 帮助文档 最近使用了一个好用的中文版接口管理软件&#xff0c;Apifox&#xff0c;以下介绍一下它的使用方式及好处。 官网 Apifox的官方地址&#xff1a…

Python制作PDF转Word工具(Tkinter+pdf2docx)

一、效果样式 二、核心点 1. 使用pdf2docx完成PDF转换Word 安装pdf2docx可能会报错&#xff0c;安装完成引入from pdf2docx import Converter运行也可能报错&#xff0c;可以根据报错提示看缺少那些库&#xff0c;先卸载pip uninstall xxx,使用pip install python-docx -i htt…