stable diffusion模型评价框架

GhostReview:全球第一套AI绘画ckpt评测框架代码 - 知乎大家好,我是_GhostInShell_,是全球AI绘画模型网站Civitai的All Time Highest Rated (全球历史最高评价) 第二名的GhostMix的作者。在上一篇文章,我主要探讨自己关于ckpt的发展方向的观点,简单来说,即checkpoin…icon-default.png?t=N7T8https://zhuanlan.zhihu.com/p/647150677

港中大和商汤提出HPS v2:为文本生成图像模型提供更可靠的评价指标_Amusi(CVer)的博客-CSDN博客点击下方卡片,关注“CVer”公众号AI/CV重磅干货,第一时间送达点击进入—>【扩散模型和Transformer】交流群TL;DR 本文提出了一个目前数据量最大的、涵盖面最广、反应人类对生成图像喜爱程度的数据集:HPD v2, 并基于该数据集,提出了目前泛化性最强的“人类喜好评估模型”:HPS v2。HPS v2可以类比为ChatGPT中的reward model,可以用于图像生成模型的对...https://blog.csdn.net/amusi1994/article/details/131566719作者的思路我认为也是没问题,和我看法基本一致,生成式的sd不需要那么多定向的模型,提供强泛化能力的基础模型只需要几个就可以,而外挂的能力多可以通过lora、controlnet这样的工具去完成,因此评估主sd模型确实需要有一套体系,常规的一些指标确实很难衡量模型的生成能力,目前最主要的图像生成的指标还是FID/IS/Clip score,但是这些评价指标很多时候也无法充分反应图像的生成质量。

GhostReview评价指标:将模型出图归为2个部分,一个是系统性影响,即模型影响,另一个是个体影响,即随机种子带来的影响,评价模型的系统性风险。1.模型的兼容性(画风,Lora,prompts等),2.生成图片的画面质量,3.模型的良图率。

1.模型出图质量和泛化性分析

1.1 美学评估

GitHub - christophschuhmann/improved-aesthetic-predictor: CLIP+MLP Aesthetic Score PredictorCLIP+MLP Aesthetic Score Predictor. Contribute to christophschuhmann/improved-aesthetic-predictor development by creating an account on GitHub.icon-default.png?t=N7T8https://github.com/christophschuhmann/improved-aesthetic-predictor

laion-5B基于laion-aesthetics v1使用了17.6W条图片评分对,1.5W条laion-logos图片评分对和25w条AVA数据,作为美学评分,通过美学得分的标准差来数值化衡量模型的良图率。

1.2 prompt兼容性

https://github.com/openai/CLIPicon-default.png?t=N7T8https://github.com/openai/CLIP

主要衡量模型生成的图片能否正确反应prompt的输入,采用clip中的clipscore。

所采用的Prompt方面,GhostReview中采用了Civitai上面Image Reaction最多的25条非政治性,非梗,非色情或软色情的Prompts。为保证Prompts涵盖真实,动漫和艺术的画风,所以加了5条风格化的Prompts,一共30条Prompts(全部不含LoRA)。每个ckpt在每一条Prompts生成32张图(batch4,iter8)。所以对于单个ckpt一共在第一个项目生成960张highres fix的图片。

2.风格兼容性分析

测试的方式是输入风格化相关的prompt让模型生成大量风格化的图片,然后与现有的大量style图片进行对比,得出画风兼容性数值结果,通过vgg19提取生成图片和目标图片的feature map,然后计算每一层的feature map的gram matrix,计算具体的styleloss。

风格化的Prompts方面,参考SDXL的风格,去除现有ckpt无法直接实现的,比如PaperCut,最后选择9中不同的风格:Anime,Manga,Photographic,Isometric,Low_Poly, Line_Art,3D_Model,Pixel_Art,Watercolor。

3.对lora的兼容性分析

通过生成图片与目标图片进行styleloss的计算。

Prompts和LoRA的选择。由于每个ckpt用人物LoRA生成出来的人物都会与样图不太一致,所以LoRA兼容性测试选取的是风格化的LoRA。选择标准是Civitai All Time Highest Rated的Top 16个风格化LoRA。采用的目标图片和Prompts皆为LoRA头图的图片和Prompts。这里多说点处理的细节,1对于一张图里面有多个LoRA的,会补全对应LoRA(比如:墨心的头图) 2对于没有LoRA字段的Prompts,默认添加0.8的LoRA权重进行生成(比如:3D rendering style的头图) 3.对于头图使用错误版本的LoRA字段的,更换成新版本的LoRA字段(比如:Gacha splash的头图)4. 因为有些LoRA头图本身使用的大模型也是被测模型,比如REV和majic realistic,所以做了GhostLoRALoss_NoTM版本的分数,计算这些模型时,不考虑这些LoRA的分数。

也就说三部分,第一部分用美学评估模型评估图片分数,用clipscore评估prompt和输出图片之间的相关性,第二部分,用输入prompt生成的图片和已有的风格图片之间计算styleloss,第三部分,结合lora,使用lora自带的图片和prompt,输入prompt得到图片和lora图片之间计算styleloss,这三个维度来评价模型。

4.代码

# 图片的美学分数
model = CLIPModel.from_pretrained("laion/CLIP-VIT-L-14-laion2B-s32B-b82K")
clip_processor = CLIPProcessor.from_pretrained("laion/CLIP-VIT-L-14-laion2B-s32B-b82k")

rating_model = load_model()
artifacts_model = load_model()

def predict(img):
    inputs = clip_processor(img,)
    with torch.no_grad():
        vision_output = vision_model()
    embedding = preprocess(pooled_output)
    with torch.no_grad():
        rating = rating_model(embedding)
        artifact = artifacts_model(embedding)

猜你喜欢

转载自blog.csdn.net/u012193416/article/details/133243419