TWIST阅读笔记

news2024/11/15 8:56:59

目录

  • TWIST: Two-Way Inter-label Self-Training for Semi-supervised 3D Instance Segmentation
    • 摘要
    • 本文方法
      • 语义引导的实例提议生成
      • 提议纠正
      • 基于提议的伪标签更新

TWIST: Two-Way Inter-label Self-Training for Semi-supervised 3D Instance Segmentation

摘要

利用无标签数据来提高模型性能,我们提出了一种新的双向标签间自我训练框架TWIST。它利用语义理解和场景实例信息之间的内在相关性。具体来说,考虑两种用于语义级和实例级监督的伪标签。我们的重点设计是提供对象级信息去噪伪标签,利用伪标签的相关性进行双向相互增强,从而迭代提升伪标签质量。

代码链接
本文的代码链接失效,所以找了团队代码主页

论文链接
在这里插入图片描述

本文方法

在这里插入图片描述
给定一对标记点云和一对未标记点云(P l, P u),特征提取网络Φ首先预测点语义类(Sl, Su)和点偏移量(Ol, Ou)
在每一轮自训练阶段,Sl和Ol前向传播经过A,生成实例建议Gl,然后传播到模块B进行评估/整改
在这里,(Sl, Ol)和(Su, Ou)分别由真实标签(Sl, Ol)和伪标签( ̄Su, ̄Ou)监督,模块B也可以被训练
在伪标签生成阶段,只对未标记的点云进行处理
通过模块A、B和C传递Su和Ou以进行对象级去噪,最后更新伪标签(≈Su,≈Ou)。绿色和蓝色的粗箭头表示伪标签~ Su和~ Ou之间的双向相互增强

将(Sl, Ol, Gl)和(Su, Ou, Gu)分别表示为在P l和Pu上预测的点语义类、点偏移量和实例建议,将Sl和Ol分别表示为P l的点真实语义标签和偏移量向量。

步骤1:
初始化阶段,在这个阶段我们训练模型Φ,在所有标记的点云上使用第3节中描述的模型,并在第0轮自我训练时使用θr0模型权重。每个P l的目标是
在这里插入图片描述
步骤2
伪标签生成阶段。在自我训练的第t轮,我们首先使用学习模型Φ对每个未标记点云Pu预测语义类Su和偏移向量Ou,然后对其进行细化,生成伪语义标签Su和伪偏移向量Ou
步骤3
是网络模型更新的训练阶段。此外,在自我训练的第t轮,我们使用pseudo标签~ Su和~ Ou来细化模型Φ(θrt−1)进入Φ( θrt)。
对于每个点云对(P l, P u),训练目标为
在这里插入图片描述
自训练在步骤2和3之间迭代,直到性能收敛。重要的是,伪语义标签~ Su提供类级监督,伪偏移向量~ Ou提供实例级监督,允许使用未标记的数据更新网络模型。


  1. 首先,语义引导建议生成模块将相同语义预测的点聚类到每个未标记点云P u中的候选实例提案Gu。
  2. 由于这些建议可能不准确,我们设计了提案重新修正模块,这是一个可学习的模型,通过对象级评估/细化来定位更可靠的实例建议
  3. 基于建议的伪标签更新模块从可靠的实例提案中生成pseudo标签~ Su和~ Ou,并帮助强制建议内的一致性

语义引导的实例提议生成

语义引导的实例建议生成模块使用聚类算法,以语义预测为指导,在输入点云Pl或Pu中生成实例建议
注意,我们在端到端网络训练(在Pl中输出Gl)和伪标签生成(在Pu中输出Gu)中都涉及到这一步。输出建议被馈送到重新校正模块进行建议级评估。

提议纠正

在这里插入图片描述
输入包括多个对象级特征,每个特征都是由实例建议的3D坐标和相关主干特征的连接形成的
该模块返回一个语义类以及实例确定性评分
两者都可以通过标签进行监督
设计了五种增强策略来丰富输入特征
在这里插入图片描述
M是实例提议的数量

基于提议的伪标签更新

在每一轮自训练的伪标签生成阶段,对于一个未标记的点云P u,重新校正模块对P u预测的每个实例生成一个重新预测的语义类和实例确定性得分。得分高于0.5的实例提义被用于提议级伪标签更新

为了更新伪偏移向量,我们首先生成每个提案guj的伪实例中心。我们没有直接选择guj的质心,而是通过考虑guj中的所有点来采用mean-shift结果,利用预测的偏移向量
在这里插入图片描述
通过这种机制,我们在实例-提议级别更新了两种类型的伪标签,从而自然地保持了提议内伪标签的一致性
在这里插入图片描述
相互增强分析
TWIST的一个有趣的优点是,两个伪标签集的质量可以通过它们的双向交互而相互提高。

首先,更好的~ Su鼓励更好的语义预测,从而引导网络获得更好的实例建议(如图2中粗大的绿色箭头所示)。

在一个提案中,点数更有可能来自同一对象,它们的mean-shift结果可以更可靠,从而提高~ Ou的质量。反过来,通过更好的~ Ou来训练更准确的偏移预测,更多更好的点集群可以生成用于更新伪语义标签的有效实例建议(由图2中粗大的蓝色箭头表示),其中可以生成更多~ Su并分配给高质量的点集。因此,在自我训练过程中,伪标签质量得到了共同的提高,如图4(a)所示。

此外,所设计的再校正模块可以有效地促使它们的相互作用向正方向收敛。如图4(b)所示,我们有意降低伪标签的质量,首先破坏10% GT标签的语义类进行模型训练,然后使用更新后的模型预测生成伪标签。当移除重新校正模块时,~ Su和~ Ou都受到精度降低的影响。幸运的是,当重新校正模块再次启用时,它们仍然可以恢复,甚至最终收敛到更好的状态。重新修正机制保证了模型的容错能力,促进了语义伪标签和偏移伪标签的相互促进作用。

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

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

相关文章

浙大版《C语言程序设计实验与习题指导(第3版)》题目集实验2合集

实验2-1-1 计算摄氏温度 本题要求编写程序,计算华氏温度100F对应的摄氏温度。计算公式:C5(F−32)/9,式中:C表示摄氏温度,F表示华氏温度,输出数据要求为整型。 输入格式:本题目没有输入。 输出格式:按照下…

Java每日一练(20230413)

目录 1. 子集 II 🌟🌟 2. 快乐数 ※ 3. 整数反转 ※ 🌟 每日一练刷题专栏 🌟 Golang每日一练 专栏 Python每日一练 专栏 C/C每日一练 专栏 Java每日一练 专栏 1. 子集 II 给你一个整数数组 nums ,其中可能…

【pip换源操作】解决用pip下载Python第三方库慢问题

python自带的第三方库使用pip安装速度会很慢,还有可能会报错。 常见的报错信息有: check_hostname requires server_hostname raise ValueError(“check_hostname requires server_hostname”) ValueError: check_hostname requires server_hostname EO…

波尔模型的实验验证之类氢粒子光谱类实验

光谱产生的原因:原子中电子在轨道上跃迁产生,如莱曼系为电子从n2,3,4等轨道跃迁到n1的基态轨道产生。 中心的原点为原子核,中心最接接近原子核的圆为n1的电子轨道。 r_na_0n^2,轨道大小正比于n的平方 根据电子轨道图即可以获得…

AE开发之图层渲染20210603

AE开发之图层渲染比例符号化地图的整饰唯一值符号的符号化过程点符号设置,线符号设置标注图层,(写得不好,不推荐看) 唯一值符号化,字段进行设置,这里用到了UniqueValueRenderer接口,这里面有一…

用pyocd读写gd32f4系列mcu的otp区

如前一篇文章所述,pyocd是一个调试、编程cortex-m单片机的简单、强大的工具,本文就结合实例讲解pyocd的一些用法。 使用j-link、dap-link等工具在keil或其它ide中调试单片机程序的场景比较常见,而使用这些工具对单片机片内和片外flash存储区…

[ 应急响应基础篇 ] evtx提取安全日志 事件查看器提取安全日志

🍬 博主介绍 👨‍🎓 博主介绍:大家好,我是 _PowerShell ,很高兴认识大家~ ✨主攻领域:【渗透领域】【数据通信】 【通讯安全】 【web安全】【面试分析】 🎉点赞➕评论➕收藏 养成习…

【C++中关于abs()函数的告警问题】“abs“ is ambiguousC/C++(266)

C中关于abs()函数的告警问题 “abs” is ambiguousC/C(266) 在调试异常打卡记录这道华为OD机考题的时候,完成了C版本之后,在vscode进行调试,出现了如下的告警:abs有歧义,所以就开始查找到底是设什么原因: …

MAC-安装Java环境、JDK配置、IDEA插件推荐

背景:发现经常换电脑装环境等比较麻烦,主要还是想记录一下,不要每次安装都到处翻。。 1、下载并安装JDK 到官网下载所需的JDK:https://www.oracle.com/technetwork/java/javase/downloads/jdk11-downloads-5066655.html 这儿下…

Wine运行器帮助——使用Qemu User运行Wine(理论支持全架构)

提醒 Qemu 的转换效率较低,如果可以的话建议使用其它方案以提升运行效率 此方案理论上支持全架构(amd64、arm64、mips64、loongarch64、riscv64、ppc64、s390x……),只要能跑 Qemu User 即可,在 x86、arm64 真机测试通…

[建议收藏]45 个 Git 经典操作场景,专治各种不会合并代码的童鞋~~

有人说:一个人从1岁活到80岁很平凡,但如果从80岁倒着活,那么一半以上的人都可能不凡。 生活没有捷径,我们踩过的坑都成为了生活的经验,这些经验越早知道,你要走的弯路就会越少。

FFmpeg基础

FFmpeg介绍 FFmpeg是一套可以用来记录、转换数字音频、视频,并能将其转化为流的开源计算机程序。采用LGPL或GPL许可证。它提供了录制、转换以及流化音视频的完整解决方案。它包含了非常先进的音频/视频编解码libavcodec,为了保证高可移植性和编解码质量…

老胡的周刊(第086期)

老胡的信息周刊[1],记录这周我看到的有价值的信息,主要针对计算机领域,内容主题极大程度被我个人喜好主导。这个项目核心目的在于记录让自己有印象的信息做一个留存以及共享。🎯 项目MochiDiffusion[2]在 MacOS 上运行原生的 Stab…

20230412-使用STM32实现内部flash模拟U盘

最近用STM32F103CBT6搞了个U盘功能 ​ 工程师干了几年后,基本会有小外包的生活,算是赚外快吧,搞小钱改善伙食,嘻嘻。。。。 ​ 最近有个客户找到我,说是否通过ST的单片机搞个U盘功能,有些文件通过U盘拖拽…

【Linux进阶篇】系统监控命令

目录 🍁proc文件系统 🍁常见系统监视命令 🍃uptime 🍃free -h 🍃vmstat 🍃mpstat 🍃iostat 🍃sar 🍃iotop 🍃htop 🍃glances 🦐博客主…

Java集合Collections和元素排序之Comparable排序接口讲解

Collections工具类: Java里关于集合的工具类,包含有各种有关集合操作的静态多态方法,不能实例化(把构造函数私有化) 。 和Collection的区别 : Collection是接口,提供了对集合对象进行基本操作的通用接口方法,List、Set…

智能网卡相关知识(smart nic 、DPU)

网卡作为穿行在网络与计算之间的桥梁,是可以解决计算瓶颈的关键硬件。 随着CPU 密度和数据中心网络带宽的进一步提升,用户对预期性能的需求,系统运行平稳性都会有更高的要求。云厂商一方面面临巨大的成本压力,另一方面面临巨大的…

动态规划算法解决背包问题,算法分析与C语言代码实现,时间效率解析

🎊【数据结构与算法】专题正在持续更新中,各种数据结构的创建原理与运用✨,经典算法的解析✨都在这儿,欢迎大家前往订阅本专题,获取更多详细信息哦🎏🎏🎏 🪔本系列专栏 -…

28 · 搜索二维矩阵

LintCode 炼码 class Solution { public:/*** param matrix: matrix, a list of lists of integers* param target: An integer* return: a boolean, indicate whether matrix contains target*/bool searchMatrix(vector<vector<int>> &matrix, int target) …

AI制药 - AlphaFold DB PDB 数据集的多维度分析与整理 (2)

欢迎关注我的CSDN&#xff1a;https://spike.blog.csdn.net/ 本文地址&#xff1a;https://blog.csdn.net/caroline_wendy/article/details/130118339 数据集&#xff1a;AlphaFold Protein Structure Database 下载地址&#xff1a;https://alphafold.ebi.ac.uk/download Alp…