三维点云的开放世界理解,分类、检索、字幕和图像生成样样行
输入一把摇椅和一匹马的三维形状,能得到什么?
木推车加马?得到马车和电动马;香蕉加帆船?得到香蕉帆船;鸡蛋加躺椅?得到鸡蛋椅。
来自UCSD、上海交大、高通团队的研究者提出最新三维表示模型OpenShape,让三维形状的开放世界理解成为可能。
- 论文地址:https://arxiv.org/pdf/2305.10764.pdf
- 项目主页:https://colin97.github.io/OpenShape/
- 交互demo: https://huggingface.co/spaces/OpenShape/openshape-demo
- 代码地址:https://github.com/Colin97/OpenShape_code
通过在多模态数据(点云 - 文本 - 图像)上学习三维点云的原生编码器,OpenShape 构建了一个三维形状的表示空间,并与 CLIP 的文本和图像空间进行了对齐。得益于大规模、多样的三维预训练,OpenShape 首次实现三维形状的开放世界理解,支持零样本三维形状分类、多模态三维形状检索(文本 / 图像 / 点云输入)、三维点云的字幕生成和基于三维点云的图像生成等跨模态任务。
三维形状零样本分类
OpenShape 支持零样本三维形状分类。无需额外训练或微调,OpenShape 在常用的 ModelNet40 基准(包含 40 个常见类别)上达到了 85.3% 的 top1 准确率,超过现有零样本方法 24 个百分点,并首次实现与部分全监督方法相当的性能。
OpenShape 在 ModelNet40 上的 top3 和 top5 准确率则分别达到了 96.5% 和 98.0%。
与现有方法主要局限于少数常见物体类别不同,OpenShape 能够对广泛的开放世界类别进行分类。在 Objaverse-LVIS 基准上(包含 1156 个物体类别),OpenShape 实现了 46.8% 的 top1 准确率,远超现有零样本方法最高只有 6.2% 的准确率。这些结果表明 OpenShape 具备有效识别开放世界三维形状的能力。
多模态三维形状检索
通过 OpenShape 的多模态表示,用户可以对图像、文本或点云输入进行三维形状检索。研究通过计算输入表示和三维形状表示之间的余弦相似度并查找 kNN,来从集成数据集中检索三维形状。
图片输入的三维形状检索
上图展示了输入图片和两个检索到的三维形状。
文本输入的三维形状检索
上图展示了输入文本和检索到的三维形状。OpenShape 学到了广泛的视觉和语义概念,从而支持细粒度的子类别(前两行)和属性控制(后两行,如颜色,形状,风格及其组合)。
三维点云输入的三维形状检索
上图展示了输入的三维点云和两个检索到的三维形状。
双输入的三维形状检索
上图将两个三维形状作为输入,并使用它们的 OpenShape 表示来检索同时最接近两个输入的三维形状。检索到的形状巧妙地结合了来自两个输入形状的语义和几何元素。
基于三维形状的文本和图像生成
由于 OpenShape 的三维形状表示与 CLIP 的图像和文本表示空间进行了对齐,因此它们可以与很多基于 CLIP 的衍生模型进行结合,从而支持各种跨模态应用。
三维点云的字幕生成
通过与现成的图像字幕模型(ClipCap)结合,OpenShape 实现了三维点云的字幕生成。
基于三维点云的图像生成
通过与现成的文本到图像的扩散模型(Stable unCLIP)结合,OpenShape 实现了基于三维点云的图像生成(支持可选的文本提示)。
更多的基于三维点云的图像生成示例
训练细节
基于对比学习的多模态表示对齐:OpenShape 训练了一个三维原生编码器,它将三维点云作为输入,来提取三维形状的表示。继之前的工作,研究利用多模态对比学习来与 CLIP 的图像和文本表示空间进行对齐。与之前的工作不同,OpenShape 旨在学习更通用和可扩展的联合表示空间。研究的重点主要在于扩大三维表示学习的规模和应对相应的挑战,从而真正实现开放世界下的三维形状理解。
集成多个三维形状数据集:由于训练数据的规模和多样性在学习大规模三维形状表示中起着至关重要的作用,因此研究集成了四个当前最大的公开三维数据集进行训练。如下图所示,研究的训练数据包含了 87.6 万个训练形状。在这四个数据集中,ShapeNetCore、3D-FUTURE 和 ABO 包含经过人工验证的高质量三维形状,但仅涵盖有限数量的形状和数十个类别。Objaverse 数据集是最近发布的三维数据集,包含显著更多的三维形状并涵盖更多样的物体类别。然而 Objaverse 中的形状主要由网络用户上传,未经人工验证,因此质量参差不齐,分布极不平衡,需要进一步处理。
文本过滤和丰富:研究发现仅在三维形状和二维图像之间应用对比学习不足以推动三维形状和文本空间的对齐,即使在对大规模数据集进行训练时也是如此。研究推测这是由于 CLIP 的语言和图像表示空间中固有的领域差距引起的。因此,研究需要显式地将三维形状与文本进行对齐。然而来自原始三维数据集的文本标注通常面临着缺失、错误、或内容粗略单一等问题。为此,本文提出了三种策略来对文本进行过滤和丰富,从而提高文本标注的质量:使用 GPT-4 对文本进行过滤、对三维模型的二维渲染图进行字幕生成和图像检索。
研究提出了三种策略来自动过滤和丰富原始数据集中的嘈杂文本。
文本过滤和丰富示例
在每个示例中,左侧部分展示了缩略图、原始形状名称和 GPT-4 的过滤结果。右上部分展示来来自两个字幕模型的图像字幕,而右下部分显示检索到的图像及其相应的文本。
扩大三维骨干网络。由于先前关于三维点云学习的工作主要针对像 ShapeNet 这样的小规模三维数据集, 这些骨干网络可能不能直接适用于我们的大规模的三维训练,需要相应地扩大骨干网络的规模。研究发现在不同大小的数据集上进行训练,不同的三维骨干网络表现出不同的行为和可扩展性。其中基于 Transformer 的 PointBERT 和基于三维卷积的 SparseConv 表现出更强大的性能和可扩展性,因而选择他们作为三维骨干网络。
在集成数据集上扩展三维骨干模型的大小时,不同骨干网络的性能和可扩展性比较。
困难负例挖掘:该研究的集成数据集表现出高度的类别不平衡。一些常见的类别,比如建筑,可能占据了数万个形状,而许多其他类别,比如海象和钱包,只有几十个甚至更少的形状,代表性不足。因此,当随机构建批次进行对比学习时,来自两个容易混淆的类别(例如苹果和樱桃)的形状不太可能出现在同一批次中被对比。为此,本文提出了一种离线的困难负例挖掘策略,以提高训练效率和性能。
欢迎到 HuggingFace 上尝试交互 demo。
以上是三维点云的开放世界理解,分类、检索、字幕和图像生成样样行的详细内容。更多信息请关注PHP中文网其他相关文章!

热AI工具

Undresser.AI Undress
人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover
用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool
免费脱衣服图片

Clothoff.io
AI脱衣机

AI Hentai Generator
免费生成ai无尽的。

热门文章

热工具

记事本++7.3.1
好用且免费的代码编辑器

SublimeText3汉化版
中文版,非常好用

禅工作室 13.0.1
功能强大的PHP集成开发环境

Dreamweaver CS6
视觉化网页开发工具

SublimeText3 Mac版
神级代码编辑软件(SublimeText3)

热门话题

在Debian系统中,readdir函数用于读取目录内容,但其返回的顺序并非预先定义的。要对目录中的文件进行排序,需要先读取所有文件,再利用qsort函数进行排序。以下代码演示了如何在Debian系统中使用readdir和qsort对目录文件进行排序:#include#include#include#include//自定义比较函数,用于qsortintcompare(constvoid*a,constvoid*b){returnstrcmp(*(

在Debian系统中,readdir系统调用用于读取目录内容。如果其性能表现不佳,可尝试以下优化策略:精简目录文件数量:尽可能将大型目录拆分成多个小型目录,降低每次readdir调用处理的项目数量。启用目录内容缓存:构建缓存机制,定期或在目录内容变更时更新缓存,减少对readdir的频繁调用。内存缓存(如Memcached或Redis)或本地缓存(如文件或数据库)均可考虑。采用高效数据结构:如果自行实现目录遍历,选择更高效的数据结构(例如哈希表而非线性搜索)存储和访问目录信

Debian系统中的readdir函数是用于读取目录内容的系统调用,常用于C语言编程。本文将介绍如何将readdir与其他工具集成,以增强其功能。方法一:C语言程序与管道结合首先,编写一个C程序调用readdir函数并输出结果:#include#include#includeintmain(intargc,char*argv[]){DIR*dir;structdirent*entry;if(argc!=2){

本指南将指导您学习如何在Debian系统中使用Syslog。Syslog是Linux系统中用于记录系统和应用程序日志消息的关键服务,它帮助管理员监控和分析系统活动,从而快速识别并解决问题。一、Syslog基础知识Syslog的核心功能包括:集中收集和管理日志消息;支持多种日志输出格式和目标位置(例如文件或网络);提供实时日志查看和过滤功能。二、安装和配置Syslog(使用Rsyslog)Debian系统默认使用Rsyslog。您可以通过以下命令安装:sudoaptupdatesud

本文介绍如何在Debian系统中调整ApacheWeb服务器的日志记录级别。通过修改配置文件,您可以控制Apache记录的日志信息的详细程度。方法一:修改主配置文件定位配置文件:Apache2.x的配置文件通常位于/etc/apache2/目录下,文件名可能是apache2.conf或httpd.conf,具体取决于您的安装方式。编辑配置文件:使用文本编辑器(例如nano)以root权限打开配置文件:sudonano/etc/apache2/apache2.conf

配置Debian邮件服务器的防火墙是确保服务器安全性的重要步骤。以下是几种常用的防火墙配置方法,包括iptables和firewalld的使用。使用iptables配置防火墙安装iptables(如果尚未安装):sudoapt-getupdatesudoapt-getinstalliptables查看当前iptables规则:sudoiptables-L配置

本文介绍如何在Debian系统中使用iptables或ufw配置防火墙规则,并利用Syslog记录防火墙活动。方法一:使用iptablesiptables是Debian系统中功能强大的命令行防火墙工具。查看现有规则:使用以下命令查看当前的iptables规则:sudoiptables-L-n-v允许特定IP访问:例如,允许IP地址192.168.1.100访问80端口:sudoiptables-AINPUT-ptcp--dport80-s192.16

在Debian系统中,OpenSSL是一个重要的库,用于加密、解密和证书管理。为了防止中间人攻击(MITM),可以采取以下措施:使用HTTPS:确保所有网络请求使用HTTPS协议,而不是HTTP。HTTPS使用TLS(传输层安全协议)加密通信数据,确保数据在传输过程中不会被窃取或篡改。验证服务器证书:在客户端手动验证服务器证书,确保其可信。可以通过URLSession的委托方法来手动验证服务器
