基于深度学习技术(Transformer、GAN)的图像修复算法(含Github代码+GUI桌面应用程序+Web端界面代码)
本篇文章是针对破损照片的修复。如果你想对老照片进行灰度图上色,色彩复原,请参考这篇CSDN作品👇
基于深度学习的老(旧)照片上色算法模型设计与实现(对抗生成式网络GAN、含Github代码与Web端设计)
如果要做老照片色彩增强,清晰化,划痕修复,划痕检测,请参考这篇CSDN作品👇
计算机毕业设计–老照片(灰白照片)清晰化+划痕修复+色彩增强的深度学习算法设计与实现(含giuhub代码+GUI可视化界面)
✨ 人脸修复Demo(模型训练基于CelebA-HQ数据集 - 4万张图)
✨ 建筑&风景修复Demo(模型训练基于Places2数据集 - 180万张图)
- 稍后上传
✨ 网页端效果展示
👇
Web端在线体验地址:✅访问这里进行图像修复在线体验✅
📦:用于训练人脸修复模型的数据集CelebA-HQ在这里下载(也可以换用其他图片,但使用数据集中的4万张图进行测试效果最好)
百度网盘分享的文件
链接:https://pan.baidu.com/s/1f8v6-OQsK_6YHvlvTvovGQ?pwd=khgb
提取码:khgb
📦:用于辅助图片修复的Mask在这里下载(必须使用Mask,Mask的作用是告知模型图片破损的位置)
百度网盘分享的文件
链接:https://pan.baidu.com/s/1Det77BagB6Xm3LdKG1_JFA?pwd=zz1k
提取码:zz1k
在线体验使用方式:
打开连接后,左侧两个图片输入框分别需要上传待修复的原图和代表原图上破损位置的Mask。在网页下方提供了四组输入样例,点击样例自动填充到相应位置后即可点击开始修复查看效果。
注意: 修复第一张图的时候耗时较长,大约20秒左右。从第二张图开始,速度就会快起来,大约5秒左右一张(这主要是因为第一次启动的时候模型需要加载进显卡中)
研究背景
在图像获取和传输过程中,往往伴随着各种形式的损坏,降低了图像质量和对图像信息的准确解释,一些老照片因为保存不当也会变得存在污渍或者破损缺失。图像修复技术主要用来修复日常生活中被噪声污染或者人为破坏的破损图像,也可应用于替换图像中的小区域或者瑕疵。目前,图像修复工作仍然由经验丰富的图像修复师来完成,让图像修复借助深度学习算法实现自动化日趋成为该领域的发展方向。本课题基于深度学习算法和图像处理技术,设计并开发一款图像修复深度学习算法程序,该算法能够对使用者上传的照片进行自动化分析,修复照片的损坏部分,提高照片的清晰度和观赏性。
介绍
最近的研究表明,在图像修复问题中建立远程相互作用模型具有很高的重要性。为了实现这一目标,现有的方法要么利用独立注意力技术,要么利用Transformer。但是,考虑到计算成本,并且通常需要修复低分辨率下的图像。本课题提出了一种新的基于Transformer的图像修复模型,该模型能够有效处理高分辨率图像。具体来说,本课题设计了一个面向预测像素的Transformer结构模型,结合卷积的上下采样和图像风格迁移技术来实现缺失或者模糊图像的修复。
该模型由以下几个主要部分组成:卷积头、Transformer、卷积尾和风格迁移模块。 卷积头负责从输入图像和掩码中提取视觉标记。它包括四个3*3卷积层,用于更改图像维度和下采样。Transformer是模型的主要组成部分,由五个不同分辨率的Transformer组成。使用多头情境注意力对长距离互动进行建模。 卷积尾用于对输出标记的空间分辨率进行上采样以匹配输入大小。风格迁移模块旨在实现多元化生成并增强输出的多样性。它通过使用额外的噪声输入在重建过程中更改卷积层的权重归一化来操纵输出。该模块还结合了图像条件样式和无噪声样式,以增强噪声输入的表示能力。
指标测试&结果
- 待作者整理后上传
🚀 算法获取
PS:如果通过Github访问项目,请不要通过“加速通道”访问,因为加速通道中的项目版本可能比较老
运行要求
- 运行算法与Web前端需要 Python >= 3.8
- 运行GUI界面需要下载QT编译器 5.14.2 版本
- 我提供在 CelebA-HQ 和 Places2 数据集训练好的两个模型,建议使用带有nvidia系列的显卡(比如说1060、3050、3090都是nvidia系列的)
- 如果电脑没有显卡也可以直接调用该模型(通过CPU+内存加载模型),从上述 Github or Gitee 链接寻找即可。
⚡️开始
环境配置(推荐使用conda安装环境)
# 从github上Clone项目
git clone https://github.com/zxx1218/image_fix.git
# 使用conda创建环境
conda create -n imgfix python=3.8
conda activate imgfix
# 安装依赖
pip install -r requirements.txt
方式一:启动Web端应用
启动web端(会启动在127.0.0.1:xxxx的本机环回地址下)
python gradio_demo.py
回车后会自动启动Web服务,在控制台看到如下信息代表成功启动,在浏览器打开弹出的URL即可👇
该项目也可以进行基于Python的FastApi后端服务部署(针对需要部署在服务器上的用户)。如有需要,联系作者,作者联系方式在文末。
方式二:启动基于QT的桌面应用
使用QT编译器打开QT代码即可使用,启动后首先经过登录界面,登录后效果如下图(上传mask位置有用户选择mask后,会自动覆盖在原图上,并显示为原图覆盖mask后的结果):
方式三:通过控制台(cmd \ 终端)进行批量修复
按照下述操作执行:
# 首先cd到算法代码imf_fix根目录下
cd img_fix
# 执行generate_image_cpu.py文件(这里需要根据修复需求添加相关参数)
python generate_image_cpu.py
回车后,会在控制台看到如下日志信息代表批量修图完成👇
模型演示(桌面应用 & Web前端 & 控制台)
1. 访问Web进行图像修复
Web端在线体验地址:✅访问这里进行图像修复在线体验✅
Web端演示
2. 通过桌面应用进行图像修复
视频中上传的黑白图中黑色部分代表图片的破损位置(V2.0版本中上传的mask会覆盖在原图上进行显示。视频中演示的是V1.0版本),模型会将黑白图完全覆盖在原图上通过未破损位置对破损位置进行修复
桌面应用演示V1.0版本
PS:2024.6.5 QT界面已经升级到V2.0版本,提供了内嵌的sellite轻量级数据库支持(无需配置版的数据库)以及GUI界面的美化(主要为mask上传后显示为在原图上的覆盖),并添加了历史记录查询功能。
3. 通过控制台(cmd \ 终端)进行批量修复(一次性修复若干张图)
-
在终端调用模型进行批量图像修复
🔧 如何自己训练模型?
- 项目提供自行在私有数据集上训练or微调的方式,请咨询作者
作者联系方式:
-
VX:Accddvva
-
QQ:1144968929
-
Github提供训练好的模型文件以及调用该文件进行修图的测试代码(clone代码后安装环境即可进行修图测试,开源版不包含模型源码以及gui)
-
本项目完整代码 + 环境配置方法(另可提供远程部署服务)+ GUI界面 + Web端 == 价格300RMB,可提供远程部署服务,另提供GPU服务器短期租赁服务,24G显存服务器每个月100RMB
人脸(CelebA-HQ):
![](https://img-blog.csdnimg.cn/direct/b1b70c80ec6e4aa48c85db498a555146.png)
![](https://img-blog.csdnimg.cn/direct/5c777860096b481c818152d5eadc42ae.png)
![](https://img-blog.csdnimg.cn/direct/7e89e117b15c461597b024d38da60363.png)
建筑&风景(Places):
![](https://img-blog.csdnimg.cn/direct/948f49f88a654040871333218ab6c029.png)
![](https://img-blog.csdnimg.cn/direct/a65f001ceb374e84b9a06a5ae73c6064.png)
![](https://img-blog.csdnimg.cn/direct/8045518326934d0c8863bff1ccffca72.png)
模型训练可用公开数据集
- 人脸(提供训练过的模型文件)公开数据集CelebA-HQ:链接:https://github.com/tkarras/progressive_growing_of_gans
制作机构:Tero Karras, Samuli Laine, Timo Aila 和 NVIDIA 的研究人员制作-内含约4万张训练图片 - 自然场景(提供训练过的模型文件)公开数据集Places2:链接:http://places2.csail.mit.edu/download.html
制作机构:斯坦福大学和微软研究院共同制作-内含180万张训练图片 - 街景公开数据集Paris StreetView:链接:http://opendata.paris.fr/explore/dataset/photos-de-rue-a-paris/
制作机构:巴黎市政府 - 文理公开数据集DTD:链接:http://www.robots.ox.ac.uk/~vgg/data/dtd/。
制作机构:英国牛津大学计算机视觉研究团队 - 建筑公开数据集Façade:链接:
GitHub上的项目:https://github.com/shannontian/facade-parsing
官方网站:CMP Facade Database
数据集共享平台:https://www.vision.ee.ethz.ch/datasets_extra/facade/
制作机构:Czech Technical University in Prague (捷克技术大学)
广告
- 作者于浙江某985高校就读人工智能方向研究生,可以帮忙定制设计模型,并提供源代码和训练后的模型文件以及环境配置和使用方法,只需要描述需求即可。
- 人工智能领域,尤其是计算机视觉(Computer vision,CV)方向的毕业设计,只要你想得出,没有做不出的