OpenAI又火一个新项目,已开源...

news2024/11/16 23:32:22

大家好,我是 Jack。

OpenAI 又有新动作了,开源发布 Shap-E。

今天,我继续手把手教学。

算法原理、环境搭建、效果测试,一条龙服务,尽在下文!

一、Shap-E 效果

Shap-E 算法的功能,简单来讲就是根据一段文字描述,生成对应的 3D 模型,一起看几组效果。

输入文字:

A chair that looks like an avocado

(翻译:一把看起来像鳄梨的椅子。)

Shap-E 输出对应的 3D 模型:

输入文字:

A spaceship

(翻译:一艘太空船)

Shap-E 输出对应的 3D 模型:

输入文字:

An airplane that looks like a banana

(翻译:一架酷似香蕉的飞机)

更多生成效果:

目前 OpenAI 已经开源了 Shap-E 的代码。

二、算法原理

Shap-E 还是用到了潜空间扩散模型(Latent Diffusion)。

熟悉 Stable Diffusion 的小伙伴应该对于这个概念并不陌生,其实就是将一些高维信息,降维表示到一个特定的特征空间,然后再根据这些特征,做生成。

Shap-E 整体结构也是类似的 Encoder - Decoder 结构。

不过输入和输出变了,比如 Shap-E 的 Encoder 结构是这样的:

输入是点云模型,经过降维、交叉注意力层、Transformer等结构,最终获得一个 implicit MLP。

至于 Decoder 则采用 STF Rendering 进行渲染,同时加入了 CLIP 的 text embedding。

Shap-E 支持多模态,输入既可以是文字,也可以图片。

三、算法部署

项目地址:

https://github.com/openai/shap-e

算法部署并不复杂,Shap-E 只依赖于 CLIP。

可以单独创建一个名为 shape 的虚拟环境。

conda create -n shape python=3
conda activate shape

然后安装好 CLIP 的一些依赖。

conda install --yes -c pytorch pytorch=1.7.1 torchvision cudatoolkit=11.0
pip install ftfy regex tqdm

进入 Shap-E 项目的根目录,直接 pip 安装即可。

pip install -e .

pip 会根据 setup.py 进行安装。

我网速不太给力,本地搭建环境,大概花费了 1 个小时。

shap_e/examples/sample_text_to_3d.ipynb 是 text 生成 3D 模型的代码。

shap_e/examples/sample_image_to_3d.ipynb 是图片生成 3D 模型的代码。

在 A10 机器上,生成一次 3D 模型,大概需要花费 25 秒。

四、最后

当然,因为数据集等方面的原因,有些 3D 模型生成的效果还是挺差的。

比如我测试了A dog,得到了这么一个东西:

我输入A cat,得到了:

通过图片,生成 3D 模型,对于图片的要求很高,必须是白色背景的图片,效果才可以,或者干脆是透明背景。

在 Huggingface 也有人搭建了这个服务,非官方项目,但使用的是官方代码:

https://huggingface.co/spaces/hysts/Shap-E

我发出来之后,估计就有不少人排队了,可以错峰试玩。

测试了一番,我的感受是这样的:

如果你是这个方向的研究生,那这篇论文值得看,算法也值得跑一跑,一些思想可以参考,说不定下一篇 best paper 就是你的了。

但如果你是个吃瓜群众,那就别浪费时间跑了,效果还不到直接可用的程度,没有图片生成那种惊艳的效果,不能直接用来做一些素材的生产。

好了,今天就聊这么多吧,我是 Jack,我们下期见~

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

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

相关文章

第五十二章 Unity Input System 新输入系统

新输入系统InputSystem是2019年Unity新推出的插件。请注意,Unity默认使用旧的Input Manager,新的Input System处于未启用状态。当你安装Input System组件时,Unity会询问你是否启用新的输入系统。如果你选择Yes,Unity会启用新的并禁…

8通道高速同步采集板卡设计原理图与调试经验中文资料分享

采集卡实物图及功能框图如下 青翼型号-FMC128 FMC128功能框图 FMC148实物图 FMC148功能框图 FMC168实物图 FMC168功能框图 板卡对比如下图 青翼型号 通道数 采集分辨率 采样率 FMC1288通道16bit250MSPSFMC14814bit500MSPS/1GSPS/1.25GSPSFMC1682GSPS/2.6GSPS/3GSPS 技术指标FM…

Android 套壳本地html 生成apk

参考了:https://www.jianshu.com/p/ebf7948f3796 首页是前端会给到你html文件 目录基本上是这样的 image.png 步骤1: 创建assets目录 用户安卓studio 新合建工程就不写了 ,下面的图是如何创建assets资源目录: image.png image.png 步骤2:拷贝…

JVM-类加载机制

类的生命周期 ​ 其中类加载的过程包括了加载、验证、准备、解析、初始化五个阶段。在这五个阶段中,加载、验证、准备和初始化这四个阶段发生的顺序是确定的,而解析阶段则不一定,**它在某些情况下可以在初始化阶段之后开始,这是为…

ext-5 void GPIO1Pin23PinMuxSetup(void)含义

在阅读starterware里控制led的代码,GPIO初始化有个这个函数 void GPIO1Pin23PinMuxSetup(void) {HWREG(SOC_CONTROL_REGS CONTROL_CONF_GPMC_A(7)) CONTROL_CONF_MUXMODE(7); } 如果不熟悉可能看的一头雾水,这个含义是: 解释一下&#xff…

【Nginx】Nginx面试题

什么是Nginx? Nginx是一个 轻量级/高性能的反向代理Web服务器,用于 HTTP、HTTPS、SMTP、POP3 和 IMAP 协议。他实现非常高效的反向代理、负载平衡,他可以处理2-3万并发连接数,官方监测能支持5万并发,现在中国使用ngin…

U-boot常用命令(二)

FAT格式文件系统操作命令 有时候需要在uboot中对SD卡或EMMC中存储的文件进行操作,这时候就要用到文件操作命令。跟文件操作相关的命令有:fatinfo、fatls、fstype、fatload 和 fatwrite,但是这些文件操作命令只支持 FAT 格式的文件系统&#…

PCA(Principal Component Analysis,主成分分析)降维

1.PCA介绍 来源:视频https://www.bilibili.com/video/BV1E5411E71z/ 笔记:https://www.bilibili.com/read/cv23587690?spm_id_from333.999.0.0&jump_opus1 PCA就是找坐标系,使得数据在保留一维数据,损失是最小的。 目标&a…

Aescripts StyleX for AE(AI技术风格化插件)

Aescripts StyleX一款非常实用的视频风格和效果自动化处理插件,它提供了多种风格和效果、自动化处理、可自定义选项、支持多种分辨率、简单易用的界面和工具等功能,让用户可以轻松地为视频添加不同的风格和效果,并提高效率和准确性。StyleX 插…

基于STM32+RC522设计的门禁系统

一、项目背景 门禁系统是现代社会中非常重要的安全控制系统之一,其功能是在保障建筑物安全的同时,为合法用户提供便利。当前设计一种基于STM32+RC522的门禁系统设计方案,通过RFID-RC522模块实现了对用户卡的注册、识别及身份验证,通过控制SG90舵机实现门锁的开关,具有较高…

物联网架构和技术:如何实现物物互联和智能化控制

第一章:引言 物联网是一种新兴的技术领域,通过将物理设备、传感器和软件等连接起来,可以实现设备之间的互联互通,让各种设备可以进行数据交换和智能化控制。在这个数字化时代,物联网已经成为了连接万物的关键技术之一…

WiFi(Wireless Fidelity)基础(五)

目录 一、基本介绍(Introduction) 二、进化发展(Evolution) 三、PHY帧((PHY Frame ) 四、MAC帧(MAC Frame ) 五、协议(Protocol) 六、安全&#x…

程序设计入门——C语言 2023年5月9日

程序设计入门——C语言 一、基础理解1、什么是计算机?如何用计算机做事情?什么是应用软件?编程语言干啥的?计算机与人脑?学习编程能干啥?2、计算机-程序-算法3、解释语言vs编译语言 课程来源:链…

测试老鸟总结,性能测试常见瓶颈分析与调优,“我“也要卷出测试圈...

目录:导读 前言一、Python编程入门到精通二、接口自动化项目实战三、Web自动化项目实战四、App自动化项目实战五、一线大厂简历六、测试开发DevOps体系七、常用自动化测试工具八、JMeter性能测试九、总结(尾部小惊喜) 前言 性能测试过程中&a…

KingbaseES V8R3 集群运维系列 -- failover切换后集群自动恢复

​ 案例说明: KingbaseES V8R3集群默认在触发failover切换后,为保证数据安全,原主库需要通过人工介入后,恢复为新的备库加入到集群。在无人值守的现场环境,需要在触发failover切换后,主库可以自动恢复为新备…

jvm之图形化工具

写在前面 本文一起看下jvm图形化相关的工具,图形化的工具相比于命令行工具的好处是更加直观,也更容易分析问题。 1:jconsole 1.1:准备要连接的jvm进程 定义如下的类; package a.b; import java.util.concurrent.*…

Linux内核架构和工作原理

**前言:**作用是将应用层序的请求传递给硬件,并充当底层驱动程序,对系统中的各种设备和组件进行寻址。目前支持模块的动态装卸(裁剪)。Linux内核就是基于这个策略实现的。Linux进程1.采用层次结构,每个进程都依赖于一个父进程。内…

JavaScript模板引擎Template.js基本使用详解

template.js是一款JavaScript模板引擎,提供一套模板语法,简单好用,开发者可以写一个模板区块,每次传入的数据,生成对应数据产生的HTML片段,渲染不同的效果。官网:简洁语法版 https://github.com…

天猫数据分析:2023年Q1天猫净水器品牌销售TOP10排行榜

水质的好坏更是与人们的身体健康密切相关。随着社会经济的发展,居民生活水平提升,人们对饮用水质量、安全性的要求也不断提高,净水器也因此逐渐成为现代生活的必需品。 根据鲸参谋电商数据显示,2023年Q1在天猫平台上,净…

微服务#1 注册中心eareka和nacos

目录 注册中心: eureka 服务调用关系 eureka的作用 在Eureka架构中,微服务角色有两类 搭建EurekaServer服务, 服务注册和服务发现 Ribbon 负载均衡原理 ​编辑 负载均衡策略 饥饿加载 注册中心: nacos nacos服务搭建, 服务注册和发现 nacos服务集群属性 …