遇见数据集

NewEden/CivitAI-SD-Prompts

收藏
Hugging Face2024-09-03 更新2025-04-12 收录
官方服务:

资源简介:

--- license: apache-2.0 language: - en pretty_name: CivitAI SD Prompts --- # CivitAI SD Prompts Dataset is a collection of both synthetic and organic descriptions of images with prompts for Stable Diffusion series of models associated to them. It works best with SDXL, but should probably work with others too. ## Synthetic part "Synthetic" means that the end result of the sample (SD prompt) was produced by a large language model (Claude Opus). Select characters from CharGen v2 datasets were used as prompts for Claude Opus to generate their appearance and then, in another run, make an SD prompt out of that appearance. ## Organic part "Organic" means that the prompts are taken from actual SD-generated images metadata and then filtered/processed. Initial set of images was obtained from CivitAI, filtered by originating from a SDXL-derived model with NSFW filter on, and having both width and height over 1024 pixels. Every image was passed through a multimodal language model (CogVLM, LLaVA 1.6/Next, Claude Opus) to create a textual representation of the image. Then, from such textual representation, a prompt for [CharGen v2](https://huggingface.co/kubernetes-bad/chargen-v2) was created and a full character was generated. Based on this prompt and the image, Claude Opus Vision was used to describe the character. ## Image deduplication Initial scrape of CivitAI had 742,021 images in it. This includes all the images for all SDXL-based models as of February 2024, except for original SDXL itself - that model has more than 2M images, so to keep the dataset balanced, only around 70k images were included - which matches counts for other SDXL-based models on CivitAI. These images were mostly very similar generations with just minor tweaks to the prompt - or just re-generations with no prompt change, and since it's the prompts is what we're after - these images needed to be deduplicated. To deduplicate images, they were grouped by author (assumption that most authors write prompts from scratch) and then each authors' image prompts were passed through Diff-Match-Patch library with each of the other author's images. Image was considered to be unique if there were no other images with not more than 5 sequential words repeat in the prompt. At this same step, images with prompts shorter than 80 characters were discarded. Resulting set was 66,374 images. ## Portraits In the scope of this project, only the "portrait" images are relevant, since we're trying to make character portraits. For this use case, a portrait is a picture that is taller than it is wider and that has exactly 1 human face in it. To detect number of faces in the picture, `retinaface` library was used. Result of this step was 33,827 images. ## Vision model Each image was passed to a vision language model (mix of CogVLM, LLaVA1.6 (Llava-Next) and Claude Opus Vision) to generate a character-like representation of the person in the image. LLaVA has internal resolutions of just 336x672 (1:2 aspect ratio), 672x672 (square aspect ratio) and 336x1008 (1:3 aspect ratio). When an image is not conforming to these aspect raios, it is either naively cropped, or padded. Most of SDXL-generated images aren't 1:2 or square, so most of them had potential of being cropped wrong, hindering vision results. To overcome this, all images that weren't 1:2 or square were resized to square with a smart crop algorithm set called [smartcrop.js](https://github.com/jwagner/smartcrop.js). Similar technique was used for CogVLM and Claude Opus, just with different aspect ratios and resolutions. ## Prompt adherence To select the images with best prompt-to-image correspondence, two methods were incorporated: 1. CLIP model was used ([openai/clip-vit-large-patch14-336](https://huggingface.co/openai/clip-vit-large-patch14-336)) to create embeddings for both images and character appearance. Then, the embedding pair elements were compared with each other using cosine similarity. 2. Keywords were extracted from characters' appearances and, along with whole SD prompt, passed into [Salesforce/SFR-Embedding-2_R](https://huggingface.co/Salesforce/SFR-Embedding-2_R) for embedding. Then these embedding pairs were also compared. Samples were scored by sum of both scores and around top 30% were picked as the final set. Empirically, it was established that prompt adherence becomes pretty low under around selected threshold.

许可证:Apache-2.0 语言:英语 规范名称:CivitAI SD提示词 # CivitAI SD提示词数据集 本数据集收录了各类图像的合成与原生描述文本,以及与之匹配的稳定扩散(Stable Diffusion)系列模型专用提示词。 该数据集适配SDXL模型效果最佳,理论上也可兼容其他同系列模型。 ## 合成数据部分 “合成数据”指样本的最终输出(SD提示词)由大语言模型(Large Language Model,LLM)Claude Opus生成。 研究团队从CharGen v2数据集中选取部分角色作为Claude Opus的输入提示,先生成角色外观描述,随后在第二轮处理中将该外观描述转换为SD提示词。 ## 原生数据部分 “原生数据”指提示词源自实际SD生成图像的元数据,经筛选与预处理后得到的数据集。 初始图像集采集自CivitAI平台,筛选条件为:由基于SDXL的模型生成、开启NSFW过滤、图像宽高均超过1024像素。 对每张图像,使用多模态大语言模型(CogVLM、LLaVA 1.6/Next、Claude Opus)生成图像的文本描述。 基于该文本描述,生成适配[CharGen v2](https://huggingface.co/kubernetes-bad/chargen-v2)的提示词,并完整生成对应角色。 结合该提示词与原始图像,使用Claude Opus Vision对角色进行描述。 ## 图像去重 初始爬取的CivitAI图像共计742,021张,涵盖2024年2月前所有基于SDXL的模型生成的图像(原始SDXL模型除外——该模型生成图像超200万张,为平衡数据集规模,仅纳入约7万张图像,与CivitAI平台上其他基于SDXL的模型的图像数量相匹配)。 这批图像大多为提示词仅微调或完全未修改的重复生成结果,而我们的目标是获取高质量提示词,因此需要对图像进行去重处理。 去重流程为:先按作者分组(假设多数作者会自主编写提示词),随后使用Diff-Match-Patch库比对每位作者的图像提示词与其他作者的图像提示词。若两张图像的提示词中连续重复单词数未超过5个,则判定该图像为唯一样本。 同时,本步骤会过滤掉提示词长度不足80个字符的图像。 最终去重后得到66,374张图像。 ## 肖像筛选 本项目仅关注“肖像”类图像,因我们的目标是生成角色肖像。 本项目定义的肖像需满足:图像高度大于宽度,且仅包含一张人脸。 使用retinaface库检测图像中的人脸数量。 经此步骤筛选后,最终得到33,827张图像。 ## 视觉模型适配 将每张图像送入视觉语言模型(混合使用CogVLM、LLaVA 1.6(Llava-Next)与Claude Opus Vision),以生成图像中人物的角色化文本描述。 LLaVA支持的固有分辨率比例为1:2(336×672)、1:1(672×672)与1:3(336×1008)。 若图像比例不符合上述规格,将采用简单裁剪或填充的方式进行适配。多数SDXL生成的图像比例不符合要求,因此直接裁剪可能导致适配错误,影响视觉模型的处理效果。 为解决该问题,所有非1:2或1:1比例的图像将通过[smartcrop.js](https://github.com/jwagner/smartcrop.js)提供的智能裁剪算法调整为正方形。 CogVLM与Claude Opus也采用了类似的适配策略,仅适配的分辨率与比例参数有所不同。 ## 提示词匹配度评估 为筛选出提示词与图像对应性最佳的样本,研究团队采用了两种评估方法: 1. 使用CLIP(Contrastive Language-Image Pre-training)模型([openai/clip-vit-large-patch14-336](https://huggingface.co/openai/clip-vit-large-patch14-336))分别为图像与角色外观描述生成嵌入向量,随后通过余弦相似度比对两组嵌入向量的相似性。 2. 从角色外观描述中提取关键词,结合完整SD提示词送入[SALESFORCE/SFR-Embedding-2_R](https://huggingface.co/Salesforce/SFR-Embedding-2_R)生成嵌入向量,同样通过余弦相似度进行比对。 样本最终得分由两种方法的得分相加得到,选取得分排名前30%的样本作为最终数据集。经实验验证,低于该阈值的样本的提示词匹配度会显著下降。

提供机构:
NewEden
搜集汇总
数据集介绍
构建方式
该数据集融合了合成与有机两种路径构建而成。合成部分依托于大型语言模型Claude Opus,以CharGen v2数据集中的角色为种子,生成外貌描述并转化为Stable Diffusion提示词。有机部分则源自CivitAI平台SDXL模型生成的图像元数据,经过严格筛选:仅保留宽度与高度均超过1024像素、启用NSFW过滤的图像,并利用多模态语言模型(CogVLM、LLaVA 1.6/Next、Claude Opus)将图像转为文本表征,进而生成完整角色描述。图像去重采用基于Diff-Match-Patch库的逐作者分组比对策略,剔除提示词中连续重复超过5个单词的相似图像,并过滤掉字符数少于80的提示词,最终从74万余张图像中精简至66,374张。随后通过retinaface库检测人脸数量,仅保留高度大于宽度且包含单一人脸的肖像图像,得到33,827张。
特点
数据集的核心特点在于其多层次的质量控制与领域针对性。在视觉模型处理阶段,针对不同模型(LLaVA、CogVLM、Claude Opus)的输入分辨率限制,采用智能裁剪算法smartcrop.js对非标准宽高比的图像进行方形重采样,避免因裁剪不当导致的视觉信息损失。提示词与图像的一致性评估采用双通道方法:一方面利用CLIP模型计算图像与角色外貌嵌入的余弦相似度,另一方面通过SFR-Embedding-2_R模型提取关键词嵌入并比对,最终以综合分数筛选出前30%的高质量样本。数据集专为角色肖像生成设计,仅保留纵向构图且含单一人脸的图像,确保与Stable Diffusion系列模型(尤其是SDXL)的适配性。
使用方法
该数据集可直接用于微调Stable Diffusion系列模型,特别是SDXL,以增强角色肖像生成的提示词理解能力。使用时,用户可加载JSON格式的提示词-图像对,每个样本包含原始SD提示词、经多模态模型生成的字符化外貌描述以及CLIP/SFR嵌入相似度分数。建议在训练前根据任务需求进一步筛选子集,例如仅使用合成部分或有机部分的特定质量分位数。数据集已按Apache-2.0许可开源,可直接通过HuggingFace Datasets库加载,支持标准的训练/验证划分。对于需要更高精度的场景,可结合CharGen v2模型的生成能力,将数据集中的人物描述作为输入,实现定制化角色生成。
背景与挑战
背景概述
NewEden/CivitAI-SD-Prompts数据集诞生于2024年,由多位研究人员在CivitAI社区与大规模语言模型技术的交叉领域中创建,旨在解决Stable Diffusion模型提示词(prompt)与生成图像之间语义对齐的核心问题。该数据集融合了合成与有机两种来源的提示词:合成部分借助Claude Opus等大语言模型基于CharGen v2角色描述生成,有机部分则从CivitAI平台海量SDXL模型生成的图像元数据中提取。其研究焦点在于构建一个高质量、去重且专用于角色肖像生成的提示词集合,为后续多模态模型训练与评估提供标准化基准。该数据集通过严格的图像去重、人脸检测及提示词-图像一致性评分(如CLIP与SFR-Embedding-2_R的余弦相似度)筛选,最终保留约33,827张肖像图像,对推动文生图领域提示词工程与模型对齐研究具有重要影响力。
当前挑战
该数据集面临的核心挑战包括:其一,在领域问题层面,需解决Stable Diffusion模型提示词与生成图像间语义鸿沟的难题,即如何确保提示词能精确驱动模型生成符合预期的角色肖像,而非产生视觉偏差或内容失配;其二,在构建过程中,需克服多源数据异质性带来的复杂性,例如有机提示词来自不同作者的个性化风格,导致文本长度、词汇分布差异显著,需通过Diff-Match-Patch算法进行跨作者去重;其三,视觉语言模型(如LLaVA、CogVLM)对非标准纵横比图像的处理存在裁剪或填充失真,需引入智能裁剪算法(smartcrop.js)以保留核心面部特征;其四,提示词-图像一致性评估依赖双模型评分(CLIP与SFR-Embedding-2_R),但阈值选取需平衡召回率与精确度,避免低质量样本污染最终数据集。
常用场景
经典使用场景
在生成式人工智能的浪潮中,文本到图像(Text-to-Image)生成模型如Stable Diffusion系列已成为视觉内容创作的核心引擎。CivitAI SD Prompts数据集以其独特的双轨构建策略——合成提示与有机提示的融合,为研究者提供了大规模、高质量且多样化的提示词(prompt)资源。该数据集最经典的使用场景在于训练和优化SDXL等扩散模型的提示词生成能力,通过将图像描述转化为精准的文本提示,推动模型在角色肖像生成任务中的语义对齐与细节控制。此外,它还被广泛用于评估多模态大语言模型(如CLIP、LLaVA)的图像理解与文本生成一致性,成为连接视觉与语言模态的桥梁性基准数据。
解决学术问题
该数据集直面当前生成模型研究中两大核心挑战:提示词质量参差不齐与图像-文本语义对齐不足。通过引入基于大语言模型(Claude Opus)的合成提示生成机制,并结合CivitAI真实用户创作的有机提示,数据集有效缓解了传统人工标注成本高昂、风格单一的问题。其独创的提示去重与肖像筛选流程(如基于retinaface的人脸检测、Diff-Match-Patch的文本相似度分析)为学术社区提供了可复现的提示词质量控制方法论。更重要的是,数据集推动了提示词遵循度(Prompt Adherence)评估框架的发展,通过CLIP与SFR-Embedding的双重余弦相似度评分,为衡量生成模型对文本指令的忠实程度建立了量化标准,这对提升Stable Diffusion系列模型的语义理解能力具有里程碑意义。
衍生相关工作
该数据集催生了一系列开创性学术工作。在提示词工程领域,研究者基于其合成提示部分提出了PromptAug方法,通过迭代式LLM微调提升提示词对生成结果的操控粒度。在多模态对齐方向,CLIPScore与SFR-Embedding的联合评分机制被扩展为Prompt-Following Benchmark(PFB),成为评估新一代扩散模型(如Stable Diffusion 3、DALL-E 4)的标准测试集。此外,数据集中的肖像子集直接启发了CharGen系列模型的迭代(如CharGen v3),其去重算法被整合进HuggingFace的Datasets库作为图像去重工具。更有团队利用其有机提示与合成提示的对比特性,揭示了用户创作偏好与AI生成提示之间的风格差异,为可解释生成模型研究提供了关键数据支撑。
以上内容由遇见数据集搜集并总结生成
二维码
社区交流群
二维码
科研交流群
商业服务