AI个人学习
和实操指南
豆包Marscode1

OPR:智能修复泛黄、破损老旧照片的AI工具

综合介绍

“Bringing Old Photos Back to Life”是微软研究团队开发的一个开源项目,专注于利用AI技术修复老旧照片。它基于深度学习方法,能够处理照片中的严重退化问题,如划痕、模糊和褪色等,让历史影像重焕新生。该项目在2020年CVPR(计算机视觉与模式识别会议)上以口头报告形式发表,受到广泛关注。用户可以通过GitHub访问代码和预训练模型,适用于研究或个人照片修复需求。项目不仅提供技术实现,还包括详细文档和示例,方便开发者与爱好者使用。

在线体验地址:https://colab.research.google.com/drive/1NEm6AsybIiC5TwTU_4DqDkQO0nFRB-uA?usp=sharing


OPR:智能修复泛黄、破损老旧照片的AI工具-1

 

功能列表

  • 老照片整体质量提升:通过AI算法改善照片的清晰度、对比度和色彩。
  • 划痕自动修复:检测并修复照片上的物理划痕,恢复原始图像细节。
  • 人脸区域增强:针对人脸区域进行精细化处理,提升面部特征的清晰度。
  • 高分辨率支持:支持处理较高分辨率的照片,适用于专业修复需求。
  • 用户界面操作:提供GUI界面,简化照片上传和修复流程。
  • 自定义训练模型:允许用户根据需求训练特定数据集,扩展适用场景。

 

使用帮助

安装流程

要使用“Bringing Old Photos Back to Life”,需要先完成环境配置和代码安装。以下是详细步骤,适用于Ubuntu系统(Windows用户需根据环境调整):

1. 准备环境

  • 系统要求:Ubuntu(推荐),支持Nvidia GPU和CUDA。
  • Python版本:确保安装Python 3.6或以上版本。
  • 依赖安装
    1. 打开终端,输入以下命令安装必要库:
      pip install torch torchvision numpy opencv-python PySimpleGUI
      
    2. 如果需要GPU支持,确保已安装CUDA和对应版本的PyTorch。

2. 下载代码和模型

  • 克隆仓库
    git clone https://github.com/microsoft/Bringing-Old-Photos-Back-to-Life.git
    cd Bringing-Old-Photos-Back-to-Life
  • 同步批标准化模块
    1. 进入Face_Enhancement/models/networks/目录:
      cd Face_Enhancement/models/networks/
      git clone https://github.com/vacancy/Synchronized-BatchNorm-PyTorch
      cp -rf Synchronized-BatchNorm-PyTorch/sync_batchnorm ./
      cd ../../../
      
    2. 进入Global/detection_models/目录重复上述操作:
      cd Global/detection_models/
      git clone https://github.com/vacancy/Synchronized-BatchNorm-PyTorch
      cp -rf Synchronized-BatchNorm-PyTorch/sync_batchnorm ./
      cd ../../
      
  • 下载预训练模型
    1. 进入Face_Enhancement/目录,下载人脸增强模型:
      cd Face_Enhancement/
      wget https://github.com/microsoft/Bringing-Old-Photos-Back-to-Life/releases/download/v1.0/face_checkpoints.zip
      unzip face_checkpoints.zip
      cd ../
      
    2. 进入Global/目录,下载全局修复模型:
      cd Global/
      wget https://github.com/microsoft/Bringing-Old-Photos-Back-to-Life/releases/download/v1.0/global_checkpoints.zip
      unzip global_checkpoints.zip
      cd ../
      
  • 人脸检测模型
    1. 进入Face_Detection/目录,下载检测文件:
      cd Face_Detection/
      wget http://dlib.net/files/shape_predictor_68_face_landmarks.dat.bz2
      bzip2 -d shape_predictor_68_face_landmarks.dat.bz2
      cd ../
      

3. 测试安装

  • 运行示例命令确认环境无误:
    python run.py --input_folder ./test_images --output_folder ./output --GPU 0
    
  • 如果成功,修复后的照片将保存在./output/final_output/目录。

使用方法

通过命令行操作

  1. 准备输入文件夹:将需要修复的老照片放入一个文件夹(如test_images/)。
  2. 运行修复命令
    • 无划痕修复:
      python run.py --input_folder /path/to/test_images --output_folder /path/to/output --GPU 0
      
    • 含划痕修复:
      python run.py --input_folder /path/to/test_images --output_folder /path/to/output --GPU 0 --with_scratch
      
  3. 查看结果:修复后的照片会自动保存到指定的输出文件夹(如/path/to/output/final_output/)。

通过GUI界面操作

  1. 启动GUI
    python GUI.py
    
  2. 操作步骤
    • 点击“选择照片”按钮,上传需要修复的老照片。
    • 点击“修改照片”按钮,等待处理完成(时间取决于照片大小和硬件性能)。
    • 处理完成后,结果会显示在界面上,同时保存至./output/文件夹。
    • 点击“退出窗口”关闭程序。

特色功能操作流程

1. 划痕修复

  • 适用场景:照片有明显物理划痕。
  • 操作方法
    1. 在命令行中添加--with_scratch参数,或在GUI中勾选相关选项(若支持)。
    2. 系统会自动检测划痕区域并进行修复,过程可能稍长。
    3. 检查输出结果,划痕部分应被平滑填补。

2. 人脸增强

  • 适用场景:照片中人脸模糊或细节缺失。
  • 操作方法
    1. 确保Face_Enhancement/目录下的模型正确加载。
    2. 运行时,系统会自动识别人脸区域并进行精细化处理。
    3. 输出照片中人脸细节(如眼睛、嘴角)会更加清晰。

3. 高分辨率处理

  • 适用场景:需要修复高分辨率扫描照片。
  • 操作方法
    1. 在命令行中添加--HR参数:
      python run.py --input_folder /path/to/test_images --output_folder /path/to/output --GPU 0 --HR
      
    2. 注意:由于模型默认训练于256x256分辨率,高分辨率可能需要更多计算资源。

注意事项

  • 路径问题:建议使用绝对路径(如/home/user/test_images)以避免错误。
  • 性能优化:项目尚未针对运行速度优化,大尺寸照片可能处理较慢。
  • 分辨率限制:最佳效果在256x256像素,超大分辨率可能需分块处理。

通过以上步骤,用户可轻松上手修复老照片,无论是个人回忆还是研究用途,都能获得满意结果。

CDN1
未经允许不得转载:首席AI分享圈 » OPR:智能修复泛黄、破损老旧照片的AI工具

首席AI分享圈

首席AI分享圈专注于人工智能学习,提供全面的AI学习内容、AI工具和实操指导。我们的目标是通过高质量的内容和实践经验分享,帮助用户掌握AI技术,一起挖掘AI的无限潜能。无论您是AI初学者还是资深专家,这里都是您获取知识、提升技能、实现创新的理想之地。

联系我们
zh_CN简体中文