Project Icon

edge-connect

通过生成对抗网络模型提高细节再现的图像修复方法

EdgeConnect是一种新的图像修复方法,通过生成对抗网络模型提高细节再现。该方法包含两个步骤:首先生成图像中缺失区域的边缘,然后根据生成的边缘信息填补图像。此方法适用于Places2、CelebA及Paris Street-View等数据集。EdgeConnect引入新的边缘生成和图像补全技术,使修复结果更为真实自然。该项目基于Python和PyTorch实现,支持CUDA加速,提供完整的训练、测试和评估指南,并且免费提供预训练模型下载使用。

EdgeConnect: 生成对抗边缘学习的图像修复

简介

EdgeConnect 是一种创新的图像修复方法,灵感来源于艺术家的工作方式,即“先画线,再填色”。该方法采用了一个两阶段的生成对抗模型,包括边缘生成器和图像完成网络。边缘生成器用于推测和勾勒出图像中缺失区域(无论规则或不规则)的边缘,随后图像完成网络利用这些推测出的边缘信息来填补缺失区域。详细的系统描述可以在相关的论文中找到。

EdgeConnect 通过这种方法能够更好地填补有细节的缺失区域,与传统方法相比有显著提升。从输入过程中可以看到,缺失区域用白色显示,而边缘生成器网络预测出的边缘用蓝色表示(已知区域的边缘通过 Canny 边缘检测器计算并显示为黑色),最终实现的图像补全能够更好地再现丢失的信息。

环境需求

  • Python 3
  • PyTorch 1.0
  • NVIDIA GPU 与 CUDA cuDNN

安装步骤

  1. 克隆项目代码:
git clone https://github.com/knazeri/edge-connect.git
cd edge-connect
  1. 从 PyTorch 官网安装相应的 PyTorch 版本。
  2. 安装 Python 依赖:
pip install -r requirements.txt

数据集

EdgeConnect 模型使用了多种数据集进行训练,包括 Places2、CelebA 和 Paris Street-View 数据集。用户需要从这些数据集的官方网站下载完整的数据集。下载完成后,使用 scripts/flist.py 生成训练集、测试集和验证集文件列表。

对于不规则遮罩,我们使用了 Liu 等人提供的不规则遮罩数据集,用户可以从他们的网站下载。此外,还可以选择下载 Karim Iskakov 的 Quick Draw 不规则遮罩数据集中提供的手绘笔画数据集。

快速上手

在开始之前,需要下载预训练模型并将其存放在 ./checkpoints 目录下。这可以通过下面的链接手动下载:

  • Places2 预训练模型
  • CelebA 预训练模型
  • Paris-StreetView 预训练模型

或者可以运行以下脚本自动下载预训练模型:

bash ./scripts/download_model.sh

训练模型

用户需要创建一个与示例配置文件类似的 config.yaml 文件,并将其复制到 checkpoints 目录中。EdgeConnect 模型训练分为三个阶段:1) 边缘模型训练,2) 图像修补模型训练,3) 整体模型训练。

训练命令格式如下:

python train.py --model [stage] --checkpoints [path to checkpoints]

例如,要在 Places2 数据集上训练边缘模型,可以执行:

python train.py --model 1 --checkpoints ./checkpoints/places2

不同的数据集收敛速度不同,比如 Places2 在一到两个周期即可收敛,而 CelebA 数据集则需大约 40 个周期。用户可以通过修改配置文件中的 MAX_ITERS 值设置训练的最大迭代次数。

测试模型

用户可以利用三种阶段的模型进行测试:1) 边缘模型,2) 图像修补模型,3) 整体模型。需要提供一个带有遮罩的输入图像和对应的灰度遮罩文件。测试命令如下:

python test.py \
  --model [stage] \
  --checkpoints [path to checkpoints] \
  --input [path to input directory or file] \
  --mask [path to masks directory or mask file] \
  --output [path to the output directory]

模型配置

模型配置存储在 checkpoints 目录下的 config.yaml 文件中。该配置文件采用 YAML 格式,用户可以根据需要更改各项配置参数以满足不同的需求。

评价模型

用户可以在验证集上运行 EdgeConnect 模型的测试,并将结果保存在磁盘上。项目还提供了用于评估 PSNR、SSIM 和均值绝对误差的脚本 ./scripts/metrics.py。此外,还可以运行 ./scripts/fid_score.py 计算 Fréchet Inception Distance(FID)分数。

授权许可

本项目的内容受 Creative Commons Attribution-NonCommercial 4.0 International 许可,允许用户在非商业用途下复制、修改、改编和构建项目内容,条件是适当注明出处。

项目侧边栏1项目侧边栏2
推荐项目
Project Cover

豆包MarsCode

豆包 MarsCode 是一款革命性的编程助手,通过AI技术提供代码补全、单测生成、代码解释和智能问答等功能,支持100+编程语言,与主流编辑器无缝集成,显著提升开发效率和代码质量。

Project Cover

AI写歌

Suno AI是一个革命性的AI音乐创作平台,能在短短30秒内帮助用户创作出一首完整的歌曲。无论是寻找创作灵感还是需要快速制作音乐,Suno AI都是音乐爱好者和专业人士的理想选择。

Project Cover

有言AI

有言平台提供一站式AIGC视频创作解决方案,通过智能技术简化视频制作流程。无论是企业宣传还是个人分享,有言都能帮助用户快速、轻松地制作出专业级别的视频内容。

Project Cover

Kimi

Kimi AI助手提供多语言对话支持,能够阅读和理解用户上传的文件内容,解析网页信息,并结合搜索结果为用户提供详尽的答案。无论是日常咨询还是专业问题,Kimi都能以友好、专业的方式提供帮助。

Project Cover

阿里绘蛙

绘蛙是阿里巴巴集团推出的革命性AI电商营销平台。利用尖端人工智能技术,为商家提供一键生成商品图和营销文案的服务,显著提升内容创作效率和营销效果。适用于淘宝、天猫等电商平台,让商品第一时间被种草。

Project Cover

吐司

探索Tensor.Art平台的独特AI模型,免费访问各种图像生成与AI训练工具,从Stable Diffusion等基础模型开始,轻松实现创新图像生成。体验前沿的AI技术,推动个人和企业的创新发展。

Project Cover

SubCat字幕猫

SubCat字幕猫APP是一款创新的视频播放器,它将改变您观看视频的方式!SubCat结合了先进的人工智能技术,为您提供即时视频字幕翻译,无论是本地视频还是网络流媒体,让您轻松享受各种语言的内容。

Project Cover

美间AI

美间AI创意设计平台,利用前沿AI技术,为设计师和营销人员提供一站式设计解决方案。从智能海报到3D效果图,再到文案生成,美间让创意设计更简单、更高效。

Project Cover

AIWritePaper论文写作

AIWritePaper论文写作是一站式AI论文写作辅助工具,简化了选题、文献检索至论文撰写的整个过程。通过简单设定,平台可快速生成高质量论文大纲和全文,配合图表、参考文献等一应俱全,同时提供开题报告和答辩PPT等增值服务,保障数据安全,有效提升写作效率和论文质量。

投诉举报邮箱: service@vectorlightyear.com
@2024 懂AI·鲁ICP备2024100362号-6·鲁公网安备37021002001498号