假期玩了玩Hugging Face,发现上面挺多有意思的模型,例如CLIP-Interrogator,上传一张图,它就能生成输入给Stable Diffusion的prompt,得到与上传图像最类似的图像。因此突发奇想,试试手机相册里随机的选择一些图像,输入CLIP-Interrogator,得到prompt输出,再喂进Stable Diffusion,看生成的图像与原图有多相似。
具体操作和使用工具如下:
- 准备好相册中的图片
- 访问CLIP-Interrogator页面,上传图像,等待输出(如果排队太长可以试试用的人少的CLIP Interrogator 2.1 Space)
- 将输出的prompt句子复制到Stable Diffusion 2,来生成图像
下面是一些例子,左边是我上传的原始图片,中间是CLIP Interrogator生成的图像描述,右边是Stable Diffusion 2生成的图像:
我总体的感觉是(下面用CI指代CLIP Interrogator,SD指代Stable Diffusion)
- 整体上SD对于prompt的还原是很准确的,CI对图像的理解也很厉害了,但还有改进的空间
- CI对环境的理解挺准确,不看细节,只看环境的话,还原程度挺好的,蓝天,碧水,阴云,松林都能还原出来。
- CI对于Human这个类别过于强调了(例如不是图像主体的小人也作为主语或者宾语出现在了promt中),因而导致SD生成的图像与原图差别过大。这可能跟CLIP Interrogator的训练集分布有关。
- 对于有些没见过的内容,CI描述还是没法准确描述,例如炒面片那张图,对图中作为拍摄主体的炒面片只提到了番茄酱,导致生成的图像差别比较大。
- CI对纯文字的截图理解的要差一些,输出的结果基本上与原图无关,不知道是不是跟测试图像有关
总之是一个有趣的实验,大家也可以试试看。