咱们好,我是千与千寻,也能够叫我千寻哥,说起来,自从ChatGPT发布之后,我就开端焦虑,担心自己程序员的饭碗会不会哪天就被AIGC取代了。
有人说我是过度焦虑了,但是我总觉有点危机感肯定没有害处。(结尾回转,hhh,希望你看下去!)
不过好家伙,还没等AIGC大模型彻底代替程序员,我发现AIGC大模型又开端抢三维建模行业从业者的饭碗了…
OpenAI公司有整新活了,发布了模型运用shape-E,这个模型能干什么呢?千寻先卖个关子!先给咱们介绍一种作业,3D建模师。
3D建模师,这个作业的作业内容是什么呢?
3D建模师,在工业界和游戏界里边的需求最多。通俗来说,便是将二维平面的人物形象进行三维建模的转换。啊这?说人话!咱们直接用一个例子说明:
《哆啦A梦》人员合照2D版本
《哆啦A梦》人员合照3D版本
将平面的2D的动漫形象,转化为3D立体的手办,用于制作3D动漫大电影,这是在游戏与动漫里边的3D建模运用。
其实3D建模技能,更多的运用在工业届多一些,在前几年3D打印技能十分火爆的时候,就相似现在的ChatGPT的风口,在三维建模软件里边画好三维模型,直接通过3D打印机打印出来零件。3D建模技能的最佳运用之处便是3D打印。
3D的齿轮模型建模
通过以上的三维建模仿真,然后再接入3D打印机就能够完成齿轮零件的实际打印需求。而且现在3D打印技能现已飞入寻常百姓家了,所以有条件的,真的能够尝试一下,很有意思。
解说完了2D转换为3D建模的实际作用,下面咱们进入本文章的正题,OpenAI发布的这个shape-E算法模型。
这个模型的话,它能完成的功用的话包含两种。
一、输入文字描述来输出指定的三维模型图
咱们先来看一下官方的生成例子
- 一个生日蛋糕
- 一个像树一样的椅子
- 一个正在跑步中的人
以下是官方提供生成的三维模型的合集图片。能够看到官方生成的模型作用仍是很不错的。
千寻自己也测验了一些,给咱们看看作用
- a red apple with green leaves
(一个带绿叶的苹果)
- a desk
(一张桌子)
- a silver gear
(一个银色的齿轮)
千寻测验的这几个“文字转3D模型”的测验用例都是相对简略一些的。
而且千寻发现,仍是输入的text文字描述,最好仍是英文句子,凭借一下谷歌翻译,能够确保3D模型生成的作用愈加美丽、准确。
二、输入二维平面图输出指定的三维模型图
除了完成输出文字描述能够生成三维模型的图片,咱们也能够通过输入3D模型的平面视角图片,生成3D模型,以下是一些简略的生成作用,供咱们参考。
- 二维齿轮图片转三维模型
- 二维小狗图片转三维模型
- 二维建筑平面图片转三维模型
不仅如此,除了在Hugging Face社区能够进行直接的三维模型。
生成的三维模型的图片也是支撑本地检查的,将三维模型的图片进行下载。
运用windows体系自带的3D画图就能够检查了,作用更好!
以上是shape-E的模型完成的终究作用,咱们下面剖析一下shape-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。
(1)能够独自创建一个名为 shape 的虚拟环境
condacreate-nshapepython=3
(2)激活conda环境
condaactivateshape
(3)然后安装好 CLIP 的一些依靠
condainstall--yes-cpytorchpytorch=1.7.1torchvisioncudatoolkit=11.0
pipinstallftfyregextqdm
(4)进入 Shap-E 项目的根目录,pip 安装剩下依靠包
pipinstall-e.
shap_e/examples/sample_text_to_3d.ipynb 是文本描述生成三维模型的脚本代码。
shap_e/examples/sample_image_to_3d.ipynb 是二维平面图片生成三维模型的脚本代码。
五、千寻总结
写完这篇技能文,千寻的第一个想法便是,害,文章刚刚开端时候,有点贩卖焦虑了,就这!
就这生成作用,想要彻底取代人家3D建模师,我觉得仍是有很长的路要走的。
目前的生成算法存在的问题:
1.模型的推理时间较长,平均生成一次三维模型图片,耗时大约30S左右。
2.生成的三维模型,细节度不够,只能算是有一个大体的外部概括,动物的面部细节特征几乎是悉数没有。
所以底子不用焦虑,但是仍是要继续尽力啊!
我是千与千寻,一个只讲干货的码农,咱们下期见~