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

기능 목록
- 老照片整体质量提升:通过AI算法改善照片的清晰度、对比度和色彩。
- 划痕自动修复:检测并修复照片上的物理划痕,恢复原始图像细节。
- 人脸区域增强:针对人脸区域进行精细化处理,提升面部特征的清晰度。
- 高分辨率支持:支持处理较高分辨率的照片,适用于专业修复需求。
- 用户界面操作:提供GUI界面,简化照片上传和修复流程。
- 自定义训练模型:允许用户根据需求训练特定数据集,扩展适用场景。
도움말 사용
설치 프로세스
要使用“Bringing Old Photos Back to Life”,需要先完成环境配置和代码安装。以下是详细步骤,适用于Ubuntu系统(Windows用户需根据环境调整):
1. 准备环境
- 시스템 요구 사항:Ubuntu(推荐),支持Nvidia GPU和CUDA。
- Python 버전:确保安装Python 3.6或以上版本。
- 종속 설치::
- 打开终端,输入以下命令安装必要库:
pip install torch torchvision numpy opencv-python PySimpleGUI
- 如果需要GPU支持,确保已安装CUDA和对应版本的PyTorch。
- 打开终端,输入以下命令安装必要库:
2. 下载代码和模型
- 클론 창고::
git clone https://github.com/microsoft/Bringing-Old-Photos-Back-to-Life.git cd Bringing-Old-Photos-Back-to-Life
- 同步批标准化模块::
- 로 이동
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 ../../../
- 로 이동
Global/detection_models/
目录重复上述操作:cd Global/detection_models/ git clone https://github.com/vacancy/Synchronized-BatchNorm-PyTorch cp -rf Synchronized-BatchNorm-PyTorch/sync_batchnorm ./ cd ../../
- 로 이동
- 사전 학습된 모델 다운로드::
- 로 이동
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 ../
- 로 이동
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 ../
- 로 이동
- 人脸检测模型::
- 로 이동
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/
目录。
사용법
通过命令行操作
- 准备输入文件夹:将需要修复的老照片放入一个文件夹(如
test_images/
). - 运行修复命令::
- 无划痕修复:
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
- 无划痕修复:
- 결과 보기:修复后的照片会自动保存到指定的输出文件夹(如
/path/to/output/final_output/
).
通过GUI界面操作
- 启动GUI::
python GUI.py
- 절차::
- 点击“选择照片”按钮,上传需要修复的老照片。
- 点击“修改照片”按钮,等待处理完成(时间取决于照片大小和硬件性能)。
- 处理完成后,结果会显示在界面上,同时保存至
./output/
폴더. - 点击“退出窗口”关闭程序。
주요 기능 작동 절차
1. 划痕修复
- 적용 가능한 시나리오:照片有明显物理划痕。
- 작동 방법::
- 在命令行中添加
--with_scratch
参数,或在GUI中勾选相关选项(若支持)。 - 系统会自动检测划痕区域并进行修复,过程可能稍长。
- 检查输出结果,划痕部分应被平滑填补。
- 在命令行中添加
2. 人脸增强
- 적용 가능한 시나리오:照片中人脸模糊或细节缺失。
- 작동 방법::
- 보안
Face_Enhancement/
目录下的模型正确加载。 - 运行时,系统会自动识别人脸区域并进行精细化处理。
- 输出照片中人脸细节(如眼睛、嘴角)会更加清晰。
- 보안
3. 高分辨率处理
- 적용 가능한 시나리오:需要修复高分辨率扫描照片。
- 작동 방법::
- 在命令行中添加
--HR
매개변수:python run.py --input_folder /path/to/test_images --output_folder /path/to/output --GPU 0 --HR
- 注意:由于模型默认训练于256x256分辨率,高分辨率可能需要更多计算资源。
- 在命令行中添加
주의
- 路径问题:建议使用绝对路径(如
/home/user/test_images
)以避免错误。 - 성능 최적화:项目尚未针对运行速度优化,大尺寸照片可能处理较慢。
- 分辨率限制:最佳效果在256x256像素,超大分辨率可能需分块处理。
通过以上步骤,用户可轻松上手修复老照片,无论是个人回忆还是研究用途,都能获得满意结果。
© 저작권 정책
이 글은 저작권이 있으며 무단으로 복제해서는 안 됩니다.
관련 문서
댓글 없음...