HPSv2

HPSv2

文本到图像生成模型评估的全面基准测试框架

HPSv2是一个评估文本到图像生成模型的先进基准测试框架。该框架基于大规模人类偏好数据集HPDv2训练,可准确预测人类对生成图像的偏好。HPSv2提供公平、稳定且易用的评估方法,涵盖动画、概念艺术、绘画和照片四种风格。研究人员可利用HPSv2比较不同模型性能或评估自研模型。项目提供PyPI包和在线演示,便于快速上手使用。

HPS v2图像生成模型人类偏好评分基准测试文本到图像合成Github开源项目
<p align="center"><img src="https://yellow-cdn.veclightyear.com/835a84d5/5a28d2b5-bb63-4a89-846f-a806b01756c1.png"/ width="100%"><br></p>

HPS v2: 文本到图像生成模型基准测试

PyPI PyPI - Downloads Arxiv Huggingface PyPI - License

这是论文《人类偏好评分v2:评估文本到图像合成人类偏好的可靠基准》的官方代码仓库。

更新

  • [2024/02/09] 我们发布了在更高质量数据集上训练的HPS v2.1模型,以及HPD v2.0的训练集。新年快乐!
  • [2023/02/08] 我们发布了PyPI包。您可以从快速开始章节了解如何使用它。
  • [2023/02/08] 更新了test.json以包含每位标注者的原始标注。
  • [2023/07/29] 我们在基准测试中加入了SDXL Refiner 0.9模型。
  • [2023/07/29] 我们发布了基准测试和HPD v2测试数据。HPD v2训练数据将很快发布。
  • [2023/07/27] 我们在基准测试中加入了SDXL Base 0.9模型。
  • [2023/07/26] 我们更新了压缩检查点
  • [2023/07/19] 在🤗Hugging Face上提供在线演示。
  • [2023/07/18] 我们发布了测试数据

概览

<p align="center"><img src="https://yellow-cdn.veclightyear.com/835a84d5/875c9c2a-3e6e-4de2-98b0-8082626bf93b.png"/ width="100%"><br></p>

人类偏好数据集v2 (HPD v2):一个大规模(798k偏好选择 / 430k图像)、标注良好的数据集,包含人类对文本到图像生成模型生成图像的偏好选择。

人类偏好评分v2 (HPS v2):在HPD v2上训练的偏好预测模型。HPS v2可用于比较使用相同提示生成的图像。我们还提供了一套公平、稳定且易于使用的评估提示,用于文本到图像生成模型。

HPS基准测试

HPS基准测试评估模型在4种风格下生成图像的能力:动画概念艺术绘画照片

<details close> <summary> v2基准测试 </summary>
模型动画概念艺术绘画照片平均分
Dreamlike Photoreal 2.028.2427.6027.5927.9927.86
SDXL Refiner 0.928.4527.6627.6727.4627.80
Realistic Vision28.2227.5327.5627.7527.77
SDXL Base 0.928.4227.6327.6027.2927.73
Deliberate28.1327.4627.4527.6227.67
ChilloutMix27.9227.2927.3227.6127.54
MajicMix Realistic27.8827.1927.2227.6427.48
Openjourney27.8527.1827.2527.5327.45
DeepFloyd-XL27.6426.8326.8627.7527.27
Epic Diffusion27.5726.9627.0327.4927.26
Stable Diffusion v2.027.4826.8926.8627.4627.17
Stable Diffusion v1.427.2626.6126.6627.2726.95
DALL·E 227.3426.5426.6827.2426.95
Versatile Diffusion26.5926.2826.4327.0526.59
CogView226.5026.5926.3326.4426.47
VQGAN + CLIP26.4426.5326.4726.1226.39
DALL·E mini26.1025.5625.5626.1225.83
Latent Diffusion25.7325.1525.2526.9725.78
FuseDream25.2625.1525.1325.5725.28
VQ-Diffusion24.9724.7025.0125.7125.10
LAFITE24.6324.3824.4325.8124.81
GLIDE23.3423.0823.2724.5023.55
</details> <details close> <summary> v2.1基准测试 </summary> | 模型 | 动画 | 概念艺术 | 绘画 | 照片 | 平均 | | ---------------------| --------- | ----------- | -------- | -------- | -------- | | SDXL Refiner 0.9 | 33.26 | 32.07 | 31.63 | 28.38 | 31.34 | | SDXL Base 0.9 | 32.84 | 31.36 | 30.86 | 27.48 | 30.63 | | Deliberate | 31.46 | 30.48 | 30.17 | 28.83 | 30.23 | | Realistic Vision | 31.01 | 29.95 | 30.00 | 28.61 | 29.89 | | Dreamlike Photoreal 2.0 | 30.87 | 29.75 | 29.46 | 28.85 | 29.73 | | MajicMix Realistic | 29.67 | 28.50 | 28.44 | 28.02 | 28.66 | | ChilloutMix | 29.46 | 28.46 | 28.35 | 27.63 | 28.47 | | Openjourney | 28.37 | 27.38 | 27.53 | 26.66 | 27.48 | | DeepFloyd-XL | 27.71 | 26.07 | 25.79 | 27.96 | 26.88 | | Epic Diffusion | 27.07 | 26.14 | 26.17 | 26.43 | 26.45 | | Stable Diffusion v2.0 | 27.09 | 26.02 | 25.68 | 26.73 | 26.38 | | Stable Diffusion v1.4 | 26.03 | 24.87 | 24.80 | 25.70 | 25.35 | | DALL·E 2 | 26.38 | 24.51 | 24.93 | 25.55 | 25.34 | | Versatile Diffusion | 23.69 | 23.39 | 24.02 | 24.64 | 23.93 | | CogView2 | 23.64 | 24.86 | 23.40 | 22.68 | 23.64 | | VQGAN + CLIP | 22.55 | 23.76 | 23.41 | 21.51 | 22.81 | | DALL·E mini | 21.54 | 20.50 | 20.32 | 21.72 | 21.02 | | Latent Diffusion | 20.63 | 19.65 | 19.79 | 21.26 | 20.34 | | FuseDream | 19.16 | 19.37 | 19.07 | 20.07 | 19.42 | | VQ-Diffusion | 18.44 | 18.31 | 19.24 | 20.62 | 19.15 | | LAFITE | 17.79 | 17.55 | 17.61 | 20.88 | 18.46 | | GLIDE | 13.90 | 13.50 | 13.94 | 16.72 | 14.51 |

快速入门

安装

# 方法1:通过Pypi下载安装 pip install hpsv2 # 方法2:本地安装 git clone https://github.com/tgxs002/HPSv2.git cd HPSv2 pip install -e . # 可选:用于重现我们基准测试的图像将下载到这里 # 默认路径:~/.cache/hpsv2/ export HPS_ROOT=/your/cache/path

安装完成后,我们将展示如何:

  • 使用HPS v2比较图像。
  • 重现我们的基准测试。
  • 使用HPS v2评估您自己的模型。
  • 评估我们的偏好模型。

我们还提供了命令行界面用于调试目的。

图像比较

您可以通过运行以下代码对由相同提示生成的几张图像进行评分和比较:

import hpsv2 # imgs_path可以是由相同提示生成的图像路径列表 # 或者字符串类型的图像路径 # 或者PIL.Image.Image类型的图像 result = hpsv2.score(imgs_path, '<prompt>', hps_version="v2.1")

注意:比较仅对由相同提示生成的图像有意义。您也可以将"v2.0"传递给hps_version以使用我们更新的模型。v2.0和v2.1之间的分数不能直接比较。

基准测试重现

我们还提供了我们基准测试中使用的模型生成的图像用于评估。您可以通过运行以下代码轻松下载数据并评估模型:

import hpsv2 print(hpsv2.get_available_models()) # 获取可访问数据的模型 hpsv2.evaluate_benchmark('<model_name>')

自定义评估

要评估您自己的文本到图像生成模型,您可以根据我们提供的基准提示准备用于评估的图像,方法是运行以下代码:

import os import hpsv2 # 获取基准提示(<style> = all, anime, concept-art, paintings, photo) all_prompts = hpsv2.benchmark_prompts('all') # 遍历基准提示以生成图像 for style, prompts in all_prompts.items(): for idx, prompt in enumerate(prompts): image = TextToImageModel(prompt) # TextToImageModel是您想要评估的模型 image.save(os.path.join("<image_path>", style, f"{idx:05d}.jpg")) # <image_path>是存储生成图像的文件夹路径,作为hpsv2.evaluate()的输入。

然后运行以下代码进行评估:

import hpsv2 # <image_path>与前一部分中的<image_path>相同。 # <hps_version>是HPS模型的版本,可以是v2或v2.1。默认为v2。 hpsv2.evaluate("<images_path>", hps_version="<hps_version>")

偏好模型评估

评估HPS v2与人类偏好选择的相关性:

模型ImageReward测试集准确率(%)HPD v2测试集准确率(%)新测试集准确率(%)
审美分数预测器57.476.857.8*
ImageReward65.174.067.4*
HPS61.277.666.8*
PickScore62.979.867.8*
单个人类65.378.165.4*
HPS v265.783.373.2*
HPS v2.166.884.174.8*

* 新测试集是另一个类似于HPD v2测试集的测试集,只是图像是由10个更好的模型生成的(Dreamlike Photoreal 2.0, SDXL Refiner 0.9, Realistic Vision, SDXL Base 0.9, Deliberate, ChilloutMix, MajicMix Realistic, Openjourney, DeepFloyd-XL, Epic Diffusion)。

HPS v2检查点可以从这里下载。模型和在线演示也托管在🤗 Hugging Face上的这里。 运行以下命令以在HPD v2测试集和ImageReward测试集上评估HPS v2模型(需要先安装hpsv2):

# 在HPD v2测试集上评估 python evaluation.py --data-type test --data-path /path/to/HPD --image-path /path/to/image_folder # 在ImageReward测试集上评估 python evaluation.py --data-type ImageReward --data-path /path/to/IR --image-path /path/to/image_folder

人类偏好数据集v2

我们数据集中的提示来自DiffusionDB和MSCOCO Captions。DiffusionDB的提示首先由ChatGPT清理以删除有偏见的功能词。人类标注者的任务是对不同文本到图像生成模型从同一提示生成的图像进行排序。总共有约798k对图像比较,涉及超过430k张图像和107k个提示,其中645k对用于训练集,153k对用于测试集。

HPD v2的图像来源:

来源图像数量
CogView273697
DALL·E 2101869
GLIDE (mini)400
Stable Diffusion v1.4101869
Stable Diffusion v2.0101869
LAFITE400
VQ-GAN+CLIP400
VQ-Diffusion400
FuseDream400
COCO Captions28272

下载

训练和测试数据现已完全发布,可以从这里下载。 您可以在https://tgxs002.github.io/hpd_test_vis/查看测试数据。以下是截图: test_vis

您可以手动下载并解压,或直接使用HPDv2运行以下代码:

from datasets import load_dataset dataset = load_dataset("HPDv2.py")

数据结构

解压后,您应该得到一个具有以下结构的文件夹:

HPD
---- train/
-------- {image_id}.jpg
---- test/
-------- {image_id}.jpg
---- train.json
---- test.json
---- benchmark/
-------- benchmark_imgs/
------------ {model_id}/
---------------- {image_id}.jpg
-------- drawbench/
------------ {model_id}/
---------------- {image_id}.jpg
-------- anime.json
-------- concept-art.json
-------- paintings.json
-------- photo.json
-------- drawbench.json

注释文件train.json的组织方式如下:

[
    {
        'human_preference': list[int], # 1表示偏好
        'prompt': str,
        'file_path': list[str],
    },
    ...
]

注释文件test.json的组织方式如下:

[
    {
        'prompt': str,
        'image_path': list[str],
        'rank': list[int], # image_path中相同索引图像的平均排名结果
        'raw_annotations': list[{'rank', 'user_hash'}]  # 每个标注者的原始排名结果
    },
    ...
]

基准提示文件,如anime.json,是纯文本提示。对应的图像可以通过索引提示在相应模型的文件夹中找到。

命令行界面

使用HPS v2评估文本到图像生成模型

我们实验中生成的图像可以从这里下载。

以下脚本复现了基准表和我们在DrawBench上的结果(在论文中报告)(需要先安装hpsv2):

# HPS v2基准(适用于多个模型) python evaluation.py --data-type benchmark_all --data-path /path/to/HPD/benchmark --image-path /path/to/benchmark_imgs # HPS v2基准(仅适用于一个模型) python evaluation.py --data-type benchmark --data-path /path/to/HPD/benchmark --image-path /path/to/benchmark_imgs/${model_name} # DrawBench python evaluation.py --data-type drawbench --data-path /path/to/HPD/benchmark --image-path /path/to/drawbench_imgs

对单个生成图像及其对应提示进行评分

我们在此仓库的asset/images目录中提供了一个示例图像。对应的提示是"A cat with two horns on its head"。

运行以下命令对单个生成图像及其对应提示进行评分(需要先安装hpsv2):

python img_score.py --image-path assets/demo_image.jpg --prompt 'A cat with two horns on its head'

其中参数image-path可以接受多个值。

训练人类偏好预测器

要训练您自己的人类偏好预测器,只需更改configs/controller.sh中的相应路径,并运行以下命令:

# 如果您在本地运行 bash configs/HPSv2.sh train 8 local # 如果您在slurm上运行 bash configs/HPSv2.sh train 8 ${quota_type}

BibTeX

@article{wu2023human,
  title={Human Preference Score v2: A Solid Benchmark for Evaluating Human Preferences of Text-to-Image Synthesis},
  author={Wu, Xiaoshi and Hao, Yiming and Sun, Keqiang and Chen, Yixiong and Zhu, Feng and Zhao, Rui and Li, Hongsheng},
  journal={arXiv preprint arXiv:2306.09341},
  year={2023}
}

编辑推荐精选

AEE

AEE

AI Excel全自动制表工具

AEE 在线 AI 全自动 Excel 编辑器,提供智能录入、自动公式、数据整理、图表生成等功能,高效处理 Excel 任务,提升办公效率。支持自动高亮数据、批量计算、不规则数据录入,适用于企业、教育、金融等多场景。

UI-TARS-desktop

UI-TARS-desktop

基于 UI-TARS 视觉语言模型的桌面应用,可通过自然语言控制计算机进行多模态操作。

UI-TARS-desktop 是一款功能强大的桌面应用,基于 UI-TARS(视觉语言模型)构建。它具备自然语言控制、截图与视觉识别、精确的鼠标键盘控制等功能,支持跨平台使用(Windows/MacOS),能提供实时反馈和状态显示,且数据完全本地处理,保障隐私安全。该应用集成了多种大语言模型和搜索方式,还可进行文件系统操作。适用于需要智能交互和自动化任务的场景,如信息检索、文件管理等。其提供了详细的文档,包括快速启动、部署、贡献指南和 SDK 使用说明等,方便开发者使用和扩展。

Wan2.1

Wan2.1

开源且先进的大规模视频生成模型项目

Wan2.1 是一个开源且先进的大规模视频生成模型项目,支持文本到图像、文本到视频、图像到视频等多种生成任务。它具备丰富的配置选项,可调整分辨率、扩散步数等参数,还能对提示词进行增强。使用了多种先进技术和工具,在视频和图像生成领域具有广泛应用前景,适合研究人员和开发者使用。

爱图表

爱图表

全流程 AI 驱动的数据可视化工具,助力用户轻松创作高颜值图表

爱图表(aitubiao.com)就是AI图表,是由镝数科技推出的一款创新型智能数据可视化平台,专注于为用户提供便捷的图表生成、数据分析和报告撰写服务。爱图表是中国首个在图表场景接入DeepSeek的产品。通过接入前沿的DeepSeek系列AI模型,爱图表结合强大的数据处理能力与智能化功能,致力于帮助职场人士高效处理和表达数据,提升工作效率和报告质量。

Qwen2.5-VL

Qwen2.5-VL

一款强大的视觉语言模型,支持图像和视频输入

Qwen2.5-VL 是一款强大的视觉语言模型,支持图像和视频输入,可用于多种场景,如商品特点总结、图像文字识别等。项目提供了 OpenAI API 服务、Web UI 示例等部署方式,还包含了视觉处理工具,有助于开发者快速集成和使用,提升工作效率。

HunyuanVideo

HunyuanVideo

HunyuanVideo 是一个可基于文本生成高质量图像和视频的项目。

HunyuanVideo 是一个专注于文本到图像及视频生成的项目。它具备强大的视频生成能力,支持多种分辨率和视频长度选择,能根据用户输入的文本生成逼真的图像和视频。使用先进的技术架构和算法,可灵活调整生成参数,满足不同场景的需求,是文本生成图像视频领域的优质工具。

WebUI for Browser Use

WebUI for Browser Use

一个基于 Gradio 构建的 WebUI,支持与浏览器智能体进行便捷交互。

WebUI for Browser Use 是一个强大的项目,它集成了多种大型语言模型,支持自定义浏览器使用,具备持久化浏览器会话等功能。用户可以通过简洁友好的界面轻松控制浏览器智能体完成各类任务,无论是数据提取、网页导航还是表单填写等操作都能高效实现,有利于提高工作效率和获取信息的便捷性。该项目适合开发者、研究人员以及需要自动化浏览器操作的人群使用,在 SEO 优化方面,其关键词涵盖浏览器使用、WebUI、大型语言模型集成等,有助于提高网页在搜索引擎中的曝光度。

xiaozhi-esp32

xiaozhi-esp32

基于 ESP32 的小智 AI 开发项目,支持多种网络连接与协议,实现语音交互等功能。

xiaozhi-esp32 是一个极具创新性的基于 ESP32 的开发项目,专注于人工智能语音交互领域。项目涵盖了丰富的功能,如网络连接、OTA 升级、设备激活等,同时支持多种语言。无论是开发爱好者还是专业开发者,都能借助该项目快速搭建起高效的 AI 语音交互系统,为智能设备开发提供强大助力。

olmocr

olmocr

一个用于 OCR 的项目,支持多种模型和服务器进行 PDF 到 Markdown 的转换,并提供测试和报告功能。

olmocr 是一个专注于光学字符识别(OCR)的 Python 项目,由 Allen Institute for Artificial Intelligence 开发。它支持多种模型和服务器,如 vllm、sglang、OpenAI 等,可将 PDF 文件的页面转换为 Markdown 格式。项目还提供了测试框架和 HTML 报告生成功能,方便用户对 OCR 结果进行评估和分析。适用于科研、文档处理等领域,有助于提高工作效率和准确性。

飞书多维表格

飞书多维表格

飞书多维表格 ×DeepSeek R1 满血版

飞书多维表格联合 DeepSeek R1 模型,提供 AI 自动化解决方案,支持批量写作、数据分析、跨模态处理等功能,适用于电商、短视频、影视创作等场景,提升企业生产力与创作效率。关键词:飞书多维表格、DeepSeek R1、AI 自动化、批量处理、企业协同工具。

下拉加载更多