pix2pix

草稿线稿丢进去,自动上色变成品图

基于条件对抗网络的开创性图像到图像翻译模型,只需成对数据即可实现线稿上色、语义图转照片、街景转换等任务,是 pix2pix 家族的奠基之作,对后续研究影响深远。

开源 free 图像生成
访问官网 ↗ GitHub ↗ 文档 ↗
GitHub 星标 ★ 10659
维护状态 低维护
是否开源 是
定价模式 free

项目数据

分类图像生成
开发团队phillipi
所属国家
定价模式free
价格说明开源项目,代码公开,可自行部署使用,完全免费。
访问状态
是否开源是
开源协议NOASSERTION
主要语言Lua
技术栈/模型computer-graphics,computer-vision,dcgan,deep-learning,gan,generative-adversarial-network,image-generation,image-manipulation,image-to-image-translation,pix2pix
GitHub 星标★ 10659
30天Star增速
HF 下载量
上线时间2016-11-16 00:00:00
最近更新2026-09-21 00:00:00
维护状态低维护
中文支持
访问方式
移动端支持
综合评分
收录时间2026-08-09
浏览次数5

使用教程

难度:进阶 约 15 分钟 部署方式:本地安装 7 步

环境要求

  • Linux 或 OSX 系统
  • NVIDIA GPU + CUDA CuDNN(CPU 模式与无 CuDNN 的 CUDA 需要少量修改且未经测试)
  • 已安装 Torch 及其依赖(参考 https://github.com/torch/distro)
  • 已安装 luarocks(随 Torch 发行版提供)

安装与启动步骤

  1. 1安装 Torch

    按 Torch distro 官方说明安装 Torch 及依赖。README 未给出具体安装命令,需前往 https://github.com/torch/distro 按指引操作。

  2. 2安装 Lua 依赖包

    安装 pix2pix 需要的 nngraph 和 display 两个 torch 包,display 从 rockspec 地址安装。

    luarocks install nngraph
    luarocks install https://raw.githubusercontent.com/szym/display/master/display-scm-0.rockspec
  3. 3克隆代码仓库

    把 pix2pix 源码克隆到本地并进入目录,后续所有命令都在该目录下执行。

    git clone git@github.com:phillipi/pix2pix.git
    cd pix2pix
  4. 4下载数据集

    以 CMP Facades 数据集为例,运行脚本自动下载并解压到 ./datasets/facades 目录。

    bash ./datasets/download_dataset.sh facades
  5. 5启动显示服务

    可选:另开一个终端启动 display 服务,训练过程中可以实时查看生成结果。

    th -ldisplay.start 8000 0.0.0.0
  6. 6训练模型

    用 Facades 数据训练 BtoA 方向的模型,name 决定结果输出目录名。只有 CPU 时改用 CPU 命令。

    DATA_ROOT=./datasets/facades name=facades_generation which_direction=BtoA th train.lua
  7. 7测试模型

    加载训练好的模型做验证,结果会写入 html 文件,直接用浏览器打开查看生成的图像。

    DATA_ROOT=./datasets/facades name=facades_generation which_direction=BtoA phase=val th test.lua

关键配置

配置项必填说明示例
DATA_ROOT是数据集所在目录路径./datasets/facades
name是本次实验名称,决定模型与结果保存目录名facades_generation
which_direction是翻译方向,AtoB 或 BtoABtoA
phase否运行阶段,测试时设为 valval
gpu否设为 0 强制只用 CPU 运行0
cudnn否设为 0 关闭 CuDNN 加速0

如何确认成功

测试完成后打开 ./results/facades_generation/latest_net_G_val/index.html,能看到生成的图像即表示成功。

常见问题

Q:没有 GPU 能跑吗?

A:可以,在训练命令前加 gpu=0 cudnn=0 强制 CPU 运行,README 示例还配了 batchSize=10 save_epoch_freq=5;但 CPU 模式未经测试,可能需自行微调。

Q:该用 Torch 版还是 PyTorch 版?

A:README 明确推荐 PyTorch 版(junyanz/pytorch-CycleGAN-and-pix2pix),该版本仍在积极开发,效果与 Torch 版相当或更好。

Q:训练大概要多久?

A:README 举例:Facades 任务仅用 400 张图、单张 Pascal Titan X GPU 训练约 2 小时即可得到不错效果;更难的任务需要更大数据集和数小时甚至数天。

Q:结果文件在哪里?

A:测试结果保存在 ./results/facades_generation/latest_net_G_val/index.html,训练过程可通过 display 服务在 8000 端口实时查看。

注意事项

  • Torch 版已不再活跃维护,新项目建议优先使用 README 推荐的 PyTorch 实现。
  • CPU 模式或 CUDA 不带 CuDNN 可能可行,但需少量代码修改且官方未做测试。
  • 训练环境仅支持 Linux 或 OSX,不支持 Windows。
  • 克隆命令用的是 SSH 地址,若未配置 SSH key 可改用 HTTPS 地址克隆。

核心亮点

  • 首次提出条件GAN用于通用图像到图像翻译,框架简洁且效果显著,成为后续众多工作的基线
  • 代码结构清晰,基于Torch实现,训练和测试流程完整,易于复现和二次开发
  • 支持多种图像翻译任务(如语义分割转街景、边缘转照片等),并提供了丰富的数据集和预训练模型

不足之处

  • 原始实现基于Lua/Torch,与现代PyTorch生态不兼容,需依赖旧环境
  • 生成图像分辨率有限(256x256),高分辨率场景下细节不足
  • 文档/社区待观察

适用场景

  • 学术研究:作为GAN图像翻译的基线方法,用于对比实验和教学
  • 创意设计:快速将草图或标签图转换为逼真图像,辅助概念设计
  • 数据增强:生成配对训练数据,用于其他视觉任务(如分割、检测)

替代项目

CycleGAN、pix2pixHD、SPADE (GauGAN)

项目介绍

pix2pix 是图像领域的开源项目,由 phillipi 开发,2016 年首次发布。

在全站 13,090 个收录项目中,它的 GitHub 星标数(10,659)位列前 5%,在图像分类的 839 个项目里位列前 2%。

项目已超过三个月没有代码更新,维护节奏明显放缓,最近一次代码更新于 2026-09-21。代码公开,可自行部署使用,完全免费。

它主要面向的使用场景是:学术研究:作为GAN图像翻译的基线方法,用于对比实验和教学。同类可对比的替代方案包括 CycleGAN、pix2pixHD、SPADE (GauGAN)。

上一篇:CycleGAN

下一篇:neural-doodle

同类项目推荐

satori 开源

网页代码一键变高清图,放大不糊,不用截图

Enlightened library to convert HTML and CSS to SVG

★ 13967 2026-08-09
C2GAN 开源

用关键点精准控制图像生成,让AI画出你想要的结构

[ACM MM 2019 Oral] Cycle In Cycle Generative Adversarial Networks for Keypoint-Guide···

★ 70 2026-08-09
ComfyUI 开源

像搭积木一样连节点,生图流程自己搭

The most powerful and modular diffusion model GUI, api and backend with a graph/node···

★ 134493 2026-08-09