黑白照片修复

最近在小🍠上面看到好多手调黑白照片修复的笔记,恰巧之前看过一些 AI 模型也支持黑白照片上色和清晰度修复。

简单方案

hugging face 上可以直接使用使用 Xintao/GFPGANleonelhs/deoldify 两个 Spaces 在线修复。

使用技巧如下:

  1. 先使用 deoldify 给图片上色
  2. 使用 GFPGAN 的 v1.4 模型进行清晰度修复

颠倒过来依然可行,但是效果不如上面的方式好。

我的解决方案:fixOldImg

为了方便大家使用,我基于这两个优秀的项目创建了一个整合工具 —— fixOldImg,它可以一键完成黑白照片的上色和修复工作。

项目特点

  • 一站式处理:整合了 DeOldify 和 GFPGAN 两大优秀模型,无需手动操作多个工具
  • 简单易用:提供简洁的命令行界面,只需一条命令即可处理照片
  • 批量处理:支持批量处理多张照片,提高工作效率
  • 智能优化:自动优化处理顺序以获得最佳效果
  • 灵活配置:可自定义参数以适应不同类型的老旧照片
  • 跨平台支持:支持 Windows、macOS 和 Linux 系统

技术实现

fixOldImg 项目的核心是整合了以下两个开源项目:

  1. DeOldify:一个基于深度学习的黑白照片着色项目,能够给老照片自动添加颜色
  2. GFPGAN:腾讯 ARC 实验室开源的人脸修复项目,专门用于修复老旧人脸照片

项目采用 Python 编写,通过调用这两个项目的预训练模型,实现了自动化的照片修复流程。

安装与使用

环境要求

  • Python 3.7+
  • pip
  • Git

安装步骤

  1. 克隆项目到本地:

    1
    git clone https://github.com/bubao/fixOldImg.git
  2. 进入项目目录:

    1
    cd fixOldImg
  3. 安装依赖:

    1
    pip install -r requirements.txt
  4. 下载预训练模型:
    程序首次运行时会自动下载所需的预训练模型,也可以手动下载并放置在指定位置。

基本使用

处理单张图片:

1
python fix_old_img.py --input path/to/your/image.jpg --output path/to/output/

批量处理图片:

1
python fix_old_img.py --input path/to/your/images/ --output path/to/output/

参数说明

  • --input:输入图片或图片目录路径
  • --output:输出图片保存路径
  • --colorize_mode:着色模式(可选:artistic、stable,默认为 stable)
  • --strength:着色强度(0-100,默认为 50)
  • --upscale:是否启用超分辨率(默认启用)

使用示例

下面是一些使用前后的对比效果图:

(此处可以插入一些处理前后的对比图片)

未来计划

  1. 添加图形界面版本,降低使用门槛
  2. 支持更多的修复模型选择
  3. 增加照片质量评估功能,自动选择最优处理方案
  4. 提供 Docker 镜像,简化部署流程

相关链接


黑白照片修复
https://bubao.github.io/posts/a2fe09d4.html
作者
一念
发布于
2024年10月11日
许可协议