【论文阅读】多模态——CLIPasso

文献基本信息

  • **标题:**CLIPasso: Semantically-Aware Object Sketching
  • **作者:**Yael Vinker、Ehsan Pajouheshgar、Jessica Y. Bo、Roman Christian Bachmann、Amit Haim Bermano、Daniel Cohen-Or、Amir Zamir、Ariel Shamir
  • **单位:**Swiss Federal Institute of Technology (EPFL)、Tel-Aviv University、Reichman University
  • **会议/期刊:**TOG
  • **发表时间:**2022年5月16日
  • 代码: https://clipasso.github.io/clipasso/

背景与意义

  • CLIPasso要做的事情如下图所示,要由一张语义清晰的图像生成其对应的抽象简笔画 ,要求用较少的比划勾勒出原图的轮廓 ,并且与原图具有相同的语义内容,即原图是头公牛,生成的抽象简笔画也要能看出来是头公牛。

研究方法与创新点

  • 生成简笔画的方法不是直接做图到图的生成,而是使用图形学中的贝塞尔(贝兹)曲线(随机初始化)来完成简笔绘画,贝塞尔曲线通过定义平面上的几个点来确定一条曲线。
  • CLIPasso 的模型框架如下图所示,中间的Rasterizer是图形学方向根据参数绘制贝塞尔曲线的一种方法,其将曲线画在空白的画布上使可视化。
  • 本文方法的创新点主要在损失函数初始化方法两个方面。
  • 贝塞尔曲线 是空间上一系列2维的点控制的曲线,本文里一个笔画用四个点 表示,每个点在空间上是二维的,可以用表示,通过模型训练更改四个点的位置,然后通过贝塞尔曲线的计算慢慢改变曲线形状得到简笔画。

损失函数

  • 生成的简笔画有两个要求:
  1. 要在语义上与输入图像一致,即马还是马,牛还是牛。
  2. 生成的简笔画的几何轮廓也要与原图一致,不能虽然还是马,但是马头的朝向反了,或者是趴着的马。
  • 即满足语义几何 需求,在CLIPasso中,这两个要求分别由两个损失函数------几何损失 语义损失 来保证。
  1. 语义损失 的思路与蒸馏学习 类似,要让模型提取到的图像特征和CLIP图像编码器提取的特征接近,从而在语义上保证原图和简笔画图都是马,这样做的依据是CLIP能做到对无论是自然图像、简笔画图等还是其他任何风格的图像,都能准确提取出语义特征 ,这种能力来自于CLIP的400M规模的训练数据。
  2. 几何损失 类似于感知损失 ,是在约束模型前几层的特征图,因为在模型的前几层,学习到的还是相对低层的几何纹理信息,而非高层语义信息,因此约束浅层特征可以保证原图和简笔画图的几何轮廓接近。

初始化

  • 显著性(saliency)图 用来对贝塞尔曲线参数进行初始化,如果完全随初始化贝塞尔曲线的参数,会使得模型训练很不稳定 ,因此使用显著性图来辅助贝塞尔曲线参数的初始化,从语义明确的区域采点进行初始化,改善了训练的稳定性。
  • 具体来说,将图片输入一个已经训练好的ViT ,把最后一层的多头自注意力做加权平均得到一个显著性图,在这个图上观察哪些区域更显著,就在这些显著的区域上去确定点的位置,其实已经知道显著性区域是有一个物体的,即按照这个显著区域的边界去画贝塞尔曲线,所以初始化曲线与最后简笔画相差不多,提高生成性能。
  1. 随机初始化得到右边简笔画,文中提出的方法对于头发部分笔画更少且五官清晰。
  2. 增加后处理 ,根据一张输入生成张简笔画,再根据两个损失算算哪个简笔画损失最低,并当成最后的输出。

研究结论

  • 模型训练2000个iteration,在第100个iteration时就可以看出简笔画形状。
  • 模型训练很快,用一张V100GPU就能在6分钟时间里,完成2000个iteration。
  • 可以给不常见 的物体生成简笔画,得益于CLIP模型zero-shot的能力
  • 无论笔画多还是笔画少,本文模型都更具备语义的信息。

存在的问题

  1. 图像有背景时,模型效果大打折扣 ,必须在纯白背景上的物体效果才很好。本文使用U2NET先将带背景的物体抠出来,再去用CLIPasso生成简笔画,这样变成了两阶段可能不是最优的方法
  2. CLIPasso初始化笔画是同时 生成的,而不是序列生成的,之后可以考虑为序列形式,即画了前一笔再去考虑下一笔画在哪里,一步一步生成简笔画。
  3. 虽然可以通过控制笔画数控制抽象程度,但其实即使想得到同等程度抽象画,不同图片也是不同的笔画数,可以尝试把笔画数做成一个可优化的参数,让模型自己考虑用多少笔画

启发与思考

  1. 可以尝试AI的跨界,像本文就是AI+艺术的跨界。
  2. 进一步相信CLIP模型zero-shot的能力,可以多多尝试应用于涉及不常见物体的图像任务上。
相关推荐
音视频牛哥1 小时前
如何在Python下实现摄像头|屏幕|AI视觉算法数据的RTMP直播推送
人工智能·opencv·计算机视觉
蹦蹦跳跳真可爱5893 小时前
Python----计算机视觉处理(opencv:像素,RGB颜色,图像的存储,opencv安装,代码展示)
人工智能·python·opencv·计算机视觉
BIT_Legend3 小时前
Torch 模型 model => .onnx => .trt 及利用 TensorTR 在 C++ 下的模型部署教程
c++·人工智能·python·深度学习
蹦蹦跳跳真可爱5894 小时前
Python----计算机视觉处理(Opencv:自适应二值化,取均值,加权求和(高斯定理))
人工智能·python·opencv·计算机视觉
枫子有风5 小时前
深度学习实验
人工智能·深度学习
(initial)5 小时前
高效微调算法 (Parameter-Efficient Fine-tuning, PEFT) 详解
人工智能·深度学习·机器学习
weixin_307779135 小时前
PyTorch调试与错误定位技术
开发语言·人工智能·pytorch·python·深度学习
魔障阿Q5 小时前
Yolo-Uniow开集目标检测本地复现
人工智能·python·yolo·目标检测·计算机视觉
王国强20095 小时前
现代循环神经网络5-机器翻译与数据集
深度学习