pix2pixHD
pix2pixHD 是一款基于 PyTorch 开源的高分辨率图像生成工具,专注于利用条件生成对抗网络(GAN)实现逼真的“图到图”转换。它核心解决了传统 AI 绘图在高分辨率下细节模糊、纹理失真的难题,能够轻松合成及编辑高达 2048x1024 像素的超清图像。
该工具最典型的应用是将简单的语义标签图(如用不同色块标注的道路、建筑或人脸轮廓)瞬间转化为照片级真实的街景或人像。用户不仅可以进行批量转换,还能通过交互式编辑实时调整图像风格与内容,极大地提升了创作灵活性。
其独特的技术亮点在于采用了多尺度生成器架构和特征匹配损失函数,确保在放大图像尺寸的同时,依然能保留丰富的纹理细节和全局一致性,避免了常见的高频噪点。
pix2pixHD 主要适合计算机视觉研究人员、AI 开发者以及需要高质量素材的数字艺术家使用。由于运行需要配备高性能 NVIDIA GPU 并涉及一定的代码配置,它对用户的深度学习基础有一定要求,不太适合无技术背景的普通大众直接上手,但对于追求极致画质的专业场景而言,它无疑是一个强大的利器。
使用场景
某自动驾驶仿真团队需要快速构建大规模、高保真的城市街道训练数据,以优化感知算法在复杂路况下的表现。
没有 pix2pixHD 时
- 分辨率受限严重:传统图像生成模型输出的图片往往模糊不清,无法达到自动驾驶所需的 2K(2048x1024)高清标准,导致远处交通标志和车道线细节丢失。
- 人工绘制成本高昂:为了获取带标注的真实感街景,美术人员需手动绘制或修图,生成一张高质量样本耗时数小时,难以满足百万级数据集的需求。
- 场景编辑灵活性差:若想调整道路布局或增加特定障碍物,必须重新建模渲染或大幅修改原图,无法通过简单的语义标签即时预览效果。
- 真实感不足:生成的图像纹理僵硬,光影效果不自然,导致基于合成数据训练的模型在真实世界中泛化能力弱,出现“域差距”问题。
使用 pix2pixHD 后
- 原生支持高分辨率:pix2pixHD 直接生成 2048x1024 的 photorealistic 图像,清晰保留路面裂缝、植被纹理等微小细节,完美匹配高精度传感器仿真需求。
- 自动化批量生产:只需输入简单的语义分割标签图(Label Map),pix2pixHD 即可秒级将其转化为逼真街景,将数据生产周期从“小时级”缩短至“秒级”。
- 交互式实时编辑:开发人员可随意涂抹修改语义标签(如将人行道改为车道),pix2pixHD 能实时重绘出对应的高清画面,极大加速了极端工况(Corner Case)的构造。
- 逼真的风格迁移:借助条件生成对抗网络,pix2pixHD 生成的图像具备自然的光照和材质质感,显著缩小了仿真数据与真实数据的分布差异,提升模型训练效果。
pix2pixHD 通过将低成本的语义标签瞬间转化为超高清真实影像,彻底解决了自动驾驶领域高质数据稀缺与制作昂贵的核心瓶颈。
运行环境要求
- Linux
- macOS
- 必需 NVIDIA GPU
- 基础需求显存 11GB 或更大
- 训练全分辨率 (2048x1024) 需 24GB 显存,若使用混合精度 (AMP) 则需 16GB
- 若仅有 12GB 显存需使用特定裁剪脚本
- 未明确指定具体显卡型号或 CUDA 版本,但需安装 CUDA cuDNN
未说明

快速开始
pix2pixHD
项目 | YouTube | 论文
这是我们提出的用于高分辨率(例如 2048x1024)逼真图像到图像转换方法的 PyTorch 实现。它可以用于将语义标签图转换为照片级真实的图像,或从人脸标签图合成肖像。
使用条件 GAN 进行高分辨率图像合成与语义操控
王廷淳1, 刘明宇1, 朱俊彦2, 安德鲁·陶1, 扬·考茨1, 布莱恩·卡坦扎罗1
1NVIDIA 公司, 2加州大学伯克利分校
发表于 CVPR 2018。
2k/1k 分辨率下的图像到图像转换
- 我们的标签到街景结果
- 标签到人脸及交互式编辑结果
- 我们的编辑界面
前置条件
- Linux 或 macOS
- Python 2 或 3
- NVIDIA GPU(显存 11G 或以上)+ CUDA cuDNN
快速入门
安装
- 从 http://pytorch.org 安装 PyTorch 和依赖项
- 安装 Python 库 dominate。
pip install dominate
- 克隆本仓库:
git clone https://github.com/NVIDIA/pix2pixHD
cd pix2pixHD
测试
datasets文件夹中包含了几张 Cityscapes 的示例测试图片。- 请从 这里 下载预训练的 Cityscapes 模型(Google Drive 链接),并将其放置在
./checkpoints/label2city_1024p/目录下。 - 测试模型(
bash ./scripts/test_1024p.sh):
#!./scripts/test_1024p.sh
python test.py --name label2city_1024p --netG local --ngf 32 --resize_or_crop none
测试结果将保存到此处的 HTML 文件:./results/label2city_1024p/test_latest/index.html。
更多示例脚本可在 scripts 目录中找到。
数据集
- 我们使用 Cityscapes 数据集。若要基于完整数据集训练模型,请从 官方网站 下载(需注册)。
下载后,请按照示例图片的方式将其放入
datasets文件夹中。
训练
- 在 1024 x 512 分辨率下训练模型(
bash ./scripts/train_512p.sh):
#!./scripts/train_512p.sh
python train.py --name label2city_512p
- 要查看训练结果,请访问
./checkpoints/label2city_512p/web/index.html中的中间结果。 如果已安装 TensorFlow,可通过在训练脚本中添加--tf_log来查看./checkpoints/label2city_512p/logs中的 TensorBoard 日志。
多 GPU 训练
- 使用多块 GPU 训练模型(
bash ./scripts/train_512p_multigpu.sh):
#!./scripts/train_512p_multigpu.sh
python train.py --name label2city_512p --batchSize 8 --gpu_ids 0,1,2,3,4,5,6,7
注意:此功能未经充分测试,我们仅使用单 GPU 训练了模型。请根据自身情况谨慎使用。
使用自动混合精度 (AMP) 加速训练
- 要启用混合精度支持,请先从 https://github.com/NVIDIA/apex 安装 apex。
- 然后可以通过添加
--fp16来训练模型。例如,
#!./scripts/train_512p_fp16.sh
python -m torch.distributed.launch train.py --name label2city_512p --fp16
在我们的测试中,使用 Volta 架构的机器时,启用 AMP 后训练速度提升了约 80%。
全分辨率训练
- 要以全分辨率(2048 x 1024)训练图像,需要配备 24G 显存的 GPU(
bash ./scripts/train_1024p_24G.sh),或在使用混合精度 (AMP) 的情况下配备 16G 显存。 - 如果仅有 12G 显存的 GPU 可用,请使用 12G 版本的脚本(
bash ./scripts/train_1024p_12G.sh),该脚本会在训练过程中对图像进行裁剪。但无法保证在此设置下的性能。
使用自定义数据集训练
- 如果您希望使用自己的数据集进行训练,需生成单通道的标签图,其像素值对应于对象标签(即 0,1,...,N-1,其中 N 为标签数量)。这是因为我们需要从标签图中生成独热向量。此外,在训练和测试时还需指定
--label_nc N。 - 如果您的输入不是标签图,则只需指定
--label_nc 0,系统将直接使用 RGB 颜色作为输入。此时文件夹应命名为train_A、train_B,而非train_label、train_img,目标是将 A 类图像转换为 B 类图像。 - 如果您没有实例图或不想使用它们,请指定
--no_instance。 - 默认的预处理设置是
scale_width,它会将所有训练图像的宽度缩放到opt.loadSize(1024),同时保持宽高比不变。如果您希望采用其他设置,可以使用--resize_or_crop选项进行调整。例如,scale_width_and_crop会先将图像调整至opt.loadSize宽度,再随机裁剪为(opt.fineSize, opt.fineSize)大小。而crop则跳过缩放步骤,仅进行随机裁剪。若您不希望进行任何预处理,可指定none,此时系统仅确保图像尺寸能被 32 整除。
更多训练/测试细节
- 标志位:所有训练标志请参见
options/train_options.py和options/base_options.py;所有测试标志请参见options/test_options.py和options/base_options.py。 - 实例图:我们同时接受标签图和实例图作为输入。如果您不想使用实例图,请指定
--no_instance标志。
引用
如果您觉得本文对您的研究有帮助,请使用以下引用。
@inproceedings{wang2018pix2pixHD,
title={利用条件生成对抗网络进行高分辨率图像合成与语义操控},
author={王婷淳、刘明宇、朱俊彦、安德鲁·陶、扬·考茨、布莱恩·卡坦扎罗},
booktitle={IEEE计算机视觉与模式识别会议论文集},
year={2018}
}
致谢
本代码大量借鉴了 pytorch-CycleGAN-and-pix2pix。
常见问题
相似工具推荐
openclaw
OpenClaw 是一款专为个人打造的本地化 AI 助手,旨在让你在自己的设备上拥有完全可控的智能伙伴。它打破了传统 AI 助手局限于特定网页或应用的束缚,能够直接接入你日常使用的各类通讯渠道,包括微信、WhatsApp、Telegram、Discord、iMessage 等数十种平台。无论你在哪个聊天软件中发送消息,OpenClaw 都能即时响应,甚至支持在 macOS、iOS 和 Android 设备上进行语音交互,并提供实时的画布渲染功能供你操控。 这款工具主要解决了用户对数据隐私、响应速度以及“始终在线”体验的需求。通过将 AI 部署在本地,用户无需依赖云端服务即可享受快速、私密的智能辅助,真正实现了“你的数据,你做主”。其独特的技术亮点在于强大的网关架构,将控制平面与核心助手分离,确保跨平台通信的流畅性与扩展性。 OpenClaw 非常适合希望构建个性化工作流的技术爱好者、开发者,以及注重隐私保护且不愿被单一生态绑定的普通用户。只要具备基础的终端操作能力(支持 macOS、Linux 及 Windows WSL2),即可通过简单的命令行引导完成部署。如果你渴望拥有一个懂你
stable-diffusion-webui
stable-diffusion-webui 是一个基于 Gradio 构建的网页版操作界面,旨在让用户能够轻松地在本地运行和使用强大的 Stable Diffusion 图像生成模型。它解决了原始模型依赖命令行、操作门槛高且功能分散的痛点,将复杂的 AI 绘图流程整合进一个直观易用的图形化平台。 无论是希望快速上手的普通创作者、需要精细控制画面细节的设计师,还是想要深入探索模型潜力的开发者与研究人员,都能从中获益。其核心亮点在于极高的功能丰富度:不仅支持文生图、图生图、局部重绘(Inpainting)和外绘(Outpainting)等基础模式,还独创了注意力机制调整、提示词矩阵、负向提示词以及“高清修复”等高级功能。此外,它内置了 GFPGAN 和 CodeFormer 等人脸修复工具,支持多种神经网络放大算法,并允许用户通过插件系统无限扩展能力。即使是显存有限的设备,stable-diffusion-webui 也提供了相应的优化选项,让高质量的 AI 艺术创作变得触手可及。
everything-claude-code
everything-claude-code 是一套专为 AI 编程助手(如 Claude Code、Codex、Cursor 等)打造的高性能优化系统。它不仅仅是一组配置文件,而是一个经过长期实战打磨的完整框架,旨在解决 AI 代理在实际开发中面临的效率低下、记忆丢失、安全隐患及缺乏持续学习能力等核心痛点。 通过引入技能模块化、直觉增强、记忆持久化机制以及内置的安全扫描功能,everything-claude-code 能显著提升 AI 在复杂任务中的表现,帮助开发者构建更稳定、更智能的生产级 AI 代理。其独特的“研究优先”开发理念和针对 Token 消耗的优化策略,使得模型响应更快、成本更低,同时有效防御潜在的攻击向量。 这套工具特别适合软件开发者、AI 研究人员以及希望深度定制 AI 工作流的技术团队使用。无论您是在构建大型代码库,还是需要 AI 协助进行安全审计与自动化测试,everything-claude-code 都能提供强大的底层支持。作为一个曾荣获 Anthropic 黑客大奖的开源项目,它融合了多语言支持与丰富的实战钩子(hooks),让 AI 真正成长为懂上
ComfyUI
ComfyUI 是一款功能强大且高度模块化的视觉 AI 引擎,专为设计和执行复杂的 Stable Diffusion 图像生成流程而打造。它摒弃了传统的代码编写模式,采用直观的节点式流程图界面,让用户通过连接不同的功能模块即可构建个性化的生成管线。 这一设计巧妙解决了高级 AI 绘图工作流配置复杂、灵活性不足的痛点。用户无需具备编程背景,也能自由组合模型、调整参数并实时预览效果,轻松实现从基础文生图到多步骤高清修复等各类复杂任务。ComfyUI 拥有极佳的兼容性,不仅支持 Windows、macOS 和 Linux 全平台,还广泛适配 NVIDIA、AMD、Intel 及苹果 Silicon 等多种硬件架构,并率先支持 SDXL、Flux、SD3 等前沿模型。 无论是希望深入探索算法潜力的研究人员和开发者,还是追求极致创作自由度的设计师与资深 AI 绘画爱好者,ComfyUI 都能提供强大的支持。其独特的模块化架构允许社区不断扩展新功能,使其成为当前最灵活、生态最丰富的开源扩散模型工具之一,帮助用户将创意高效转化为现实。
gemini-cli
gemini-cli 是一款由谷歌推出的开源 AI 命令行工具,它将强大的 Gemini 大模型能力直接集成到用户的终端环境中。对于习惯在命令行工作的开发者而言,它提供了一条从输入提示词到获取模型响应的最短路径,无需切换窗口即可享受智能辅助。 这款工具主要解决了开发过程中频繁上下文切换的痛点,让用户能在熟悉的终端界面内直接完成代码理解、生成、调试以及自动化运维任务。无论是查询大型代码库、根据草图生成应用,还是执行复杂的 Git 操作,gemini-cli 都能通过自然语言指令高效处理。 它特别适合广大软件工程师、DevOps 人员及技术研究人员使用。其核心亮点包括支持高达 100 万 token 的超长上下文窗口,具备出色的逻辑推理能力;内置 Google 搜索、文件操作及 Shell 命令执行等实用工具;更独特的是,它支持 MCP(模型上下文协议),允许用户灵活扩展自定义集成,连接如图像生成等外部能力。此外,个人谷歌账号即可享受免费的额度支持,且项目基于 Apache 2.0 协议完全开源,是提升终端工作效率的理想助手。
markitdown
MarkItDown 是一款由微软 AutoGen 团队打造的轻量级 Python 工具,专为将各类文件高效转换为 Markdown 格式而设计。它支持 PDF、Word、Excel、PPT、图片(含 OCR)、音频(含语音转录)、HTML 乃至 YouTube 链接等多种格式的解析,能够精准提取文档中的标题、列表、表格和链接等关键结构信息。 在人工智能应用日益普及的今天,大语言模型(LLM)虽擅长处理文本,却难以直接读取复杂的二进制办公文档。MarkItDown 恰好解决了这一痛点,它将非结构化或半结构化的文件转化为模型“原生理解”且 Token 效率极高的 Markdown 格式,成为连接本地文件与 AI 分析 pipeline 的理想桥梁。此外,它还提供了 MCP(模型上下文协议)服务器,可无缝集成到 Claude Desktop 等 LLM 应用中。 这款工具特别适合开发者、数据科学家及 AI 研究人员使用,尤其是那些需要构建文档检索增强生成(RAG)系统、进行批量文本分析或希望让 AI 助手直接“阅读”本地文件的用户。虽然生成的内容也具备一定可读性,但其核心优势在于为机器