Find3D:加州理工学院推出的3D部件分割模型

简介: Find3D是由加州理工学院推出的3D部件分割模型,能够根据任意文本查询分割任意对象的任何部分。该模型利用强大的数据引擎自动从互联网上的3D资产生成训练数据,并通过对比训练方法训练出一个可扩展的3D模型。Find3D在多个数据集上表现出色,显著提升了平均交并比(mIoU),并能处理来自iPhone照片和AI生成图像的野外3D构建。

❤️ 如果你也关注 AI 的发展现状,且对 AI 应用开发非常感兴趣,我会每日跟你分享最新的 AI 资讯和开源应用,也会不定期分享自己的想法和开源实例,欢迎关注我哦!

🥦 微信公众号|搜一搜:蚝油菜花 🥦


🚀 快速阅读

  1. 功能:识别和分割任何物体的任何部分,只需用文本查询即可。
  2. 性能:在多个数据集上表现出色,平均交并比(mIoU)提高3倍。
  3. 应用:适用于机器人视觉、虚拟现实、计算机辅助设计等多个领域。

正文(附运行示例)

Find3D 是什么

公众号: 蚝油菜花 - Find3D

Find3D是由加州理工学院推出的3D部件分割模型,旨在根据任意文本查询分割任意对象的任何部分。该模型通过一个强大的数据引擎自动从互联网上的3D资产生成训练数据,并采用对比训练方法训练出一个可扩展的3D模型。

Find3D在包括Objaverse-General、ShapeNet-Part和PartNet-E在内的多个数据集上展现了出色的性能,实现了高达3倍于次佳方法的平均交并比(mIoU)提升。此外,Find3D还能处理来自iPhone照片和AI生成图像的野外3D构建。

Find3D 的主要功能

  • 开放世界3D部分分割:识别和分割任何物体的任何部分,只需用文本查询即可,不受预定义部分集的限制。
  • 无需人工注释:利用数据引擎自动从互联网上的3D资产生成训练数据,无需人工注释。
  • 高性能与泛化能力:在多个数据集上表现出色,与次佳方法相比,平均交并比(mIoU)提高3倍。
  • 快速推理:比现有基线快6到300倍,显著提高推理速度。
  • 鲁棒性:在不同的物体姿态和查询条件下保持稳定的分割效果。
  • 查询灵活性:支持不同类型的文本查询,包括不同粒度和描述风格的部分查询。

Find3D 的技术原理

  • 数据引擎

    • 使用2D基础模型(如SAM和Gemini)自动注释3D对象。
    • 将3D资产渲染成多个视图,每个视图传递给SAM进行分割。
    • 对于SAM返回的每个掩码,查询Gemini以获取相应的部分名称,形成(掩码,文本)对。
    • 将部分名称嵌入到视觉和语言基础模型(如SigLIP)的潜在嵌入空间中。
    • 基于投影几何将掩码反投影到3D点云中,形成(点,文本嵌入)对。
  • 模型训练

    • 基于Transformer的点云模型,该模型将点云视为序列,并执行块注意力。
    • 模型返回的点特征与文本嵌入的余弦相似度进行任何自由形式文本的查询。
    • 用对比学习目标处理标签的多义性和部分可见性问题,支持在数据引擎生成的数据上进行可扩展训练。
  • 对比学习目标

    • 解决每个点具有多个标签的问题,及由于每个掩码只覆盖部分视图而导致的未标记点问题。
    • 基于对比学习目标,让模型能学习到鲁棒的特征表示,在开放世界中实现准确的部分分割。

如何运行 Find3D

环境设置

cd model
conda create -n find3d python=3.8
pip install -r requirements.txt

构建 Pointcept

git clone https://github.com/Pointcept/Pointcept.git
cd /Pointcept/libs/pointops
python setup.py install
cd ../../..

构建 FlashAttention

git clone https://github.com/Dao-AILab/flash-attention.git
cd flash-attention MAX_JOBS=4 python setup.py install
cd ..

运行推理

在基准数据集上运行推理

python evaluation/benchmark/eval_benchmark.py --benchmark Objaverse --data_root [data root] --objaverse_split unseen --checkpoint_path [your downloaded checkpoint path]

在野外点云数据上运行推理

python evaluation/demo/eval_visualize.py --object_path evaluation/demo/mickey.py --checkpoint_path [your downloaded checkpoint path] --mode segmentation --queries "head" "ear" "arm" "leg" "body" "hand" "shoe"

资源


❤️ 如果你也关注 AI 的发展现状,且对 AI 应用开发非常感兴趣,我会每日跟你分享最新的 AI 资讯和开源应用,也会不定期分享自己的想法和开源实例,欢迎关注我哦!

🥦 微信公众号|搜一搜:蚝油菜花 🥦

相关文章
|
Ubuntu 网络安全
Unit firewalld.service could not be found.
Unit firewalld.service could not be found.
1824 0
|
7月前
|
数据采集 人工智能 自然语言处理
Meta SAM3开源:让图像分割,听懂你的话
Meta发布并开源SAM 3,首个支持文本、点、框等提示进行图像与视频分割的统一基础模型,突破传统限制,实现开放词汇概念的精准识别与跟踪,涵盖超400万独特概念,推动视觉分割新发展。
2977 6
|
8月前
|
存储 缓存 安全
c盘清理软件推荐
c盘清理软件推荐
|
9月前
|
设计模式 人工智能 算法
基于多设计模式的状态扭转设计:策略模式与责任链模式的实战应用
接下来,我会结合实战案例,聊聊如何用「策略模式 + 责任链模式」构建灵活可扩展的状态引擎,让抽奖系统的状态管理从「混乱战场」变成「有序流水线」。
|
11月前
|
机器学习/深度学习 人工智能 API
AI 发展 && MCP
AI发展——计算机视觉、ChatGPT、Sora、DeepSeek、生成式AI。什么是MCP,Prompt、LLM、Function Call、Agent、MCP是什么,各自区别;MCP如何工作,MCP架构、MCP Server工作原理,Cursor如何使用MCP,自定义MCP Server
1680 46
|
11月前
|
存储 JavaScript 前端开发
element ui <el-date-picker> 设置展示当前月
在 Element UI 中,使用 `el-date-picker` 的 `value-format` 属性可将日期值格式化为指定字符串。设置 `type=&quot;month&quot;` 时,绑定值默认为 Date 对象,通过 `value-format=&quot;yyyy-MM&quot;` 可将其转为如 &quot;2023-05&quot; 格式,便于存储与处理。
1514 0
|
存储 关系型数据库 MySQL
MySQL 为什么使用 B+ 树作为索引结构?
MySQL 为什么使用 B+ 树作为索引结构?
629 2
三维旋转详细解读(Rodrigues‘ Roatation Formula 罗德里格旋转公式)
三维旋转详细解读(Rodrigues‘ Roatation Formula 罗德里格旋转公式)
1805 0
三维旋转详细解读(Rodrigues‘ Roatation Formula 罗德里格旋转公式)
|
Linux 内存技术
Linux内核读取spi-nor flash sn
Linux内核读取spi-nor flash sn
473 1
|
机器学习/深度学习 自然语言处理 数据可视化
文本挖掘与可视化:生成个性化词云的Python实践【7个案例】
词云(Word Cloud),又称为文字云或标签云,是一种用于文本数据可视化的技术,通过不同大小、颜色和字体展示文本中单词的出现频率或重要性。在词云中,更频繁出现的单词会显示得更大,反之则更小。

热门文章

最新文章