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

Semi-Supervised Single-View 3D Reconstruction via Prototype Shape Priors

阅读总结

一、研究背景与挑战

问题定义
  • 任务:单视图3D重建(从单张RGB图像预测物体3D形状)
  • 痛点
    • 监督方法(如Pix2Vox)依赖大量3D标注数据(图像-体素对),标注成本高昂。
    • 单视图重建是病态问题(单张2D图像对应多种3D形状解)。
  • 现有局限
    • 半监督学习(SSL)在分类/检测中有效,但未应用于3D重建。
    • 直接迁移SSL方法(如MeanTeacher)效果差:
      • 3D伪标签噪声大(图1b)
      • 缺乏形状先验导致重建结果不自然(如表面断裂)

二、核心方法:SSP3D框架

整体架构
 

  • 两阶段训练
    1. Warm-up阶段:用少量标注数据(1%~20%)预训练教师模型。
    2. 互学习阶段:教师生成伪标签指导学生模型,学生通过强数据增强学习,教师通过EMA更新权重。
关键创新模块
1. 原型注意力模块(Prototype Attentive Module, PAM)
  • 动机:解决标注数据不足时的形状先验学习问题。
  • 实现
    1. 原型生成:对标注数据的3D形状特征聚类(K-Means),得到类别原型(如椅子类3个典型形状)。
    2. 注意力融合
      • 图像特征(Query)← 2D编码器(ResNet-50)
      • 原型特征(Key/Value)← 3D编码器(处理原型体素)
      • 多头注意力(MHA)计算:
        $\text{Prior} = \text{MHA}(Q, K, V) = \text{softmax}\left(\frac{QK^T}{\sqrt{d_k}}\right)V$
    3. 输出:融合原型信息的先验特征 → 输入形状解码器。
  • 作用:显式注入类别先验,提升遮挡/噪声图像的鲁棒性。
2. 形状自然性模块(Shape Naturalness Module, SNM)
  • 动机:评估伪标签质量并提升形状真实性。
  • 双功能设计
    1. 判别器:区分预测形状与真实形状,通过对抗损失优化生成器: $\mathcal{L}_d = \mathbb{E}_{y_p}[\log D(y_p)] + \mathbb{E}_{y_g}[\log(1-D(y_g))]$
    2. 置信度评分器:输出Sigmoid值作为伪标签质量得分(高=真实性强),用于加权无监督损失。

三、训练策略

1. Warm-up阶段
  • 损失函数
2. Teacher-Student互学习
  • 教师生成伪标签
    • 弱增强图像 → 教师模型 → 输出体素 $\hat{y}$ → 二值化(阈值 $\delta=0.3$)。
  • 学生训练
    • 监督损失:标注数据的BCE损失。
    • 无监督损失:伪标签的加权平方L2损失(Brier Score):$\mathcal{L}_{unsup} = \sum \text{score}_i \cdot (\hat{y}_i - y_i)^2$
      • $\text{score}_i$:SNM输出的置信度(0~1)。
  • 教师更新:EMA平滑学生权重 → $\theta_t \leftarrow \alpha \theta_t + (1-\alpha) \theta_s \quad (\alpha=0.9996)$​​​​​​​

原文链接:2209.15383https://arxiv.org/pdf/2209.15383

代码链接:ChenHsing/SSP3D: [ECCV 2022, Semi-Supervised Single-View 3D Reconstruction via Prototype Shape Priors]https://github.com/ChenHsing/SSP3D

http://www.dtcms.com/a/274631.html

相关文章:

  • LDO选型
  • 手把手一起使用Miniforge3+mamba平替Anaconda(Win10)
  • 【web应用】若依框架中,使用Echarts导出报表为PDF文件
  • Linux中LVM逻辑卷扩容
  • 第七章 愿景05 莹姐画流程图
  • 企业采购成本越来越贵?根源在哪,数据怎么分析?
  • Linux操作系统从入门到实战:怎么查看,删除,更新本地的软件镜像源
  • Python 类型注解实战:`Optional` 与安全数据处理的艺术
  • 递归与树形结构在前端的应用
  • 林吉特危机下的技术革命:马来西亚金融系统升维作战手册
  • 【深度探究系列(5)】:前端开发打怪升级指南:从踩坑到封神的解决方案手册
  • U-Net网络学习笔记(1)
  • ARM单片机OTA解析(二)
  • cesium添加原生MVT矢量瓦片方案
  • 在 Spring Boot 中使用 WebMvcConfigurer
  • 【SpringBoot】配置文件学习
  • linux kernel struct regmap_config结构详解
  • 力扣242.有效的字母异位词
  • MySQL5.7版本出现同步或插入中文出现乱码或???显示问题处理
  • vector之动态二维数组的底层
  • django queryset 去重
  • JavaSE -- StreamAPI 详细介绍(上篇)
  • Java开发新宠!飞算JavaAI深度体验评测
  • 获取华为开源3D引擎 (OpenHarmony),把引擎嵌入VUE中
  • string模拟实现
  • 信号肽预测工具PrediSi本地化
  • 《打破预设的编码逻辑:Ruby元编程的动态方法艺术》
  • 内存踩踏全解析:原理 + 实战案例 + 项目排查技巧
  • 2025十大免费销售管理软件推荐
  • 基于物联网的智能体重秤设计与实现