3D mesh重建002-text2meshCVPR2022将CLIP跨圈到mesh风格的生成

3D mesh重建002-text2meshCVPR2022将CLIP跨圈到mesh风格的生成


文章目录

  • 0 摘要
  • 1 论文整体结构
  • 2 该方法工作起来的细节
  • 3 实验
  • 4 局限性
  • 5 论文实现

0 摘要

   先上图!!! 直接上效果图和gif动态效果图!其中第一张图第一列是输入了一个人的mesh模型和一个iron Man的词条引导,然后生成的mesh就变成了钢铁侠。另外的gif图像展示的是同一个罐子的mesh结构在不同文本的控制下取得的不同效果。整体来说还是很惊艳,不得不由衷感叹万物皆可CLIP的感觉。


  text2mesh论文发表在CVPR2022,是CLIP思想在三维内容风格控制上的工作扩展。文章的方法的输入是一个具体的mesh结构和一个文本提示,其中具体的mesh提供的风格化调整的基础结构,文本主要表征希望得到的图像风格,中间会训练一个用来表示mesh风格的神经风格场,这个结构应该是收到nerf的启发,然后借用了可微渲染把mesh渲染成图像,然后回到CLIP的领域进行相似度计算。论文展示的效果都挺好,一些简单测试样例效果都不错,但是使用CLIP的同时也带入了CLIP的局限。

1 论文整体结构

  论文的整体结构就比较简单,如果你了解过001介绍的工作SMR等一系列基于可微分渲染的工作和CLIP论文。
论文链接
github链接
  下面结合论文的整体结构概览图来简单分享以下这篇论文的主题工作。
3D mesh重建002-text2meshCVPR2022将CLIP跨圈到mesh风格的生成_第1张图片
  1)首先,输入在左侧略框内,包含mesh结构和文本提示两个部分,当然论文也说了文本提示也已换成图像的纹理提示
  2)NSF部分,就是把mesh所有顶点坐标通过傅立叶函数映射到一个高维空间,然后输入到NSF网络,将mesh解耦称color的位移,实际上这块基本是就是NeRF的工作思想,然后重新替换掉原来的颜色和mesh信息。
  3)第二行的differentiable render和SMR工作的理论基础一样,这个部分架构起了二维和三维的关联。他可以将三维的目标投影到2D空间且本身可微。
  4)上一步differentiable render把mesh渲染成了2D图像,那么风格化控制问题回到CLIP的领域,就是比较文本图像对的相似度。在这个中间还有一个2D的augmentations的模块,就是通过一个随机的视角转换来控制视图一致性的。

2 该方法工作起来的细节

  还是从架构图的几个部分来说。
1)输入部分,如前面说的作者也说了也可以是其他多模态数据
2)在图的右侧第一行这部分,使用的位置编码就是前面提到的傅立叶基函数映射到高维是因为MLP存在一个空间偏差的问题。在下面这个公式1中B遵从高斯分布用来控制频率,且他的条目是随机从 ( 0 −   d e l t a 2 ) (0-~delta^2) (0 delta2) 之间随机数值,然后 之间随机数值,然后 之间随机数值,然后/delta$就是一个可以控制频率的超参数。
3D mesh重建002-text2meshCVPR2022将CLIP跨圈到mesh风格的生成_第2张图片
NSF后面解耦出来表征颜色的RGB和表征几何的diaplacement,他们后方有一个跳跃连接就是用来在每次迭代中调整新的mesh结构,但是这个diaplacement会约束到一个很小的范围,应该是[-0.1,0.1]之间,因为风格转换并不鼓励mehs的结合发生很大变化。
3)进入第二行的可微渲染器,然后会随机生成多个视角,然后会计算图像和文本的相似度,用相似度最高的图像作为anchor视角,然后在这个视角附近随机采集4个视角,这样一共有5个视角。接下来会进行2d的数据增强, 针对以下几个公式的个人理解,就是在前面选的5个视角后,相当于有了物体在一圈上的均匀分布的几个视角图像,然后针对5个视角中的每一个视图随机转换一个小的角度,然后在CLIP的图像编码器进行特征提取,这个体现的就是跨视图的一致性考虑。在局部的公式3就是先随机crop其中10%的内容然后仔随机转换一个小的角度,保证局部和细节上也有全局一致性。公式4的化就是位移。由于目前还没读源码,理解有限,如有不同理解互相交流一下。
3D mesh重建002-text2meshCVPR2022将CLIP跨圈到mesh风格的生成_第3张图片
4)最后一步就是论文的公式5,3D mesh重建002-text2meshCVPR2022将CLIP跨圈到mesh风格的生成_第4张图片
主要是使用余弦相似度进行对比学习。

3 实验

  论文做了很多消融实验来体现该模型的严谨性。有很多图像就不再赘述。

4 局限性

1)实际上就是论文使用的引导词都是具有简单明确语义的,当语义不明确时候就会出现形状的巨大变化等情况
2)还有一点就是输入需要有mesh,这是一个挺大的约束。如果提前知道mesh结构了风格调整本身就是一个相对简单的任务了。如何能从没有mesh先验开始呢?读者不妨有一个自己的思考下一篇工作就会介绍003CLIPMesh工作

5 论文实现

github链接
打开链接,把代码克隆到本地。在文件路径下有一个yml文件里面配置了环境依赖。主要包含三部分第一部分就是name,conda新建环境的名字,这个地方一般要修改做一个标记,比如xiaoxiong_text2mesh,第二个就是channels,可以在下面添加国内的源下载会快些,第三个就是dependencies,就是需要的依赖包。
3D mesh重建002-text2meshCVPR2022将CLIP跨圈到mesh风格的生成_第5张图片
具体安装步骤很简单
conda env create --file text2mesh.yml
conda activate text2mesh
有时候会出现pip下面的另外两个CLIP和kaolin库安装中断,可以分别使用pip install git+…进行单独安装。
就是测试的demo直接运行,如果想自己试试的话,可以打对应的文件修改一些内容,可以修改文本,也可以添加新的mesh种类到data/source_meshes文件下。

# cobblestone alien
./demo/run_alien_cobble.sh
# shoe made of cactus 
./demo/run_shoe.sh
# lamp made of brick
./demo/run_lamp.sh
# ...

an image of a shoe made of cactus文本和鞋子的效果
3D mesh重建002-text2meshCVPR2022将CLIP跨圈到mesh风格的生成_第6张图片
3D mesh重建002-text2meshCVPR2022将CLIP跨圈到mesh风格的生成_第7张图片
另外一个修改是在horse上尝试,修改了文本,an image of a colorful horse with a unicorn,很喜欢看神偷奶爸,记得第三部格鲁的小女儿去寻找️独角兽(都教授),Am I pure?虽然不理想,但是确实unicorn。
3D mesh重建002-text2meshCVPR2022将CLIP跨圈到mesh风格的生成_第8张图片
3D mesh重建002-text2meshCVPR2022将CLIP跨圈到mesh风格的生成_第9张图片

你可能感兴趣的:(三维重建,深度学习,计算机视觉,人工智能,3d)