Python开源项目之人工智能老照片修复算法学习

文章目录

    • 前言
    • 项目环境搭建
      • conda虚拟环境创建
      • 激活环境
      • Pytorch安装
      • Synchronized-BatchNorm-PyTorch repository安装
      • Global目录Synchronized-BatchNorm-PyTorch项目部署
      • 检测预处理模型下载
      • 下载脸部增强模型文件
      • 下载依赖
      • 完整部署后项目结构
    • 项目使用
    • 验证一下
    • 总结
      • 关于Python技术储备
        • 一、Python所有方向的学习路线
        • 二、Python基础学习视频
        • 三、精品Python学习书籍
        • 四、Python工具包+项目源码合集
        • ①Python工具包
        • ②Python实战案例
        • ③Python小游戏源码
        • 五、面试资料
        • 六、Python兼职渠道


前言

老旧或者破损的照片如何修复呢?本文主要分享一个博主使用后非常不错的照片恢复开源项目:Bringing-Old-Photos-Back-to-Life。

项目的Github地址:项目地址

我们先看看官方给出的效果图:

在这里插入图片描述

就算现在看到这张图,我仍然觉着非常惊艳。下面我会把项目环境安装部署,到最后使用的效果做一个展示。

项目环境搭建

该项目的环境搭建有点复杂,我一点点说。

conda虚拟环境创建

在项目README.md文件中要求python版本在3.6以上。

在这里插入图片描述

我们用anaconda创建一个虚拟环境bobl

conda create -n bobl python=3.6

激活环境

conda activate bobl

在Pycharm项目中配置interpreter,设置到conda目录envs下bobl环境的python。

在这里插入图片描述

Pytorch安装

虽然项目官方给出的requirements.txt包含pytorch,为了保险起见,还是去Pytorch官方网站上安装一下。Pytorch官方地址:PyTorch

在这里插入图片描述

因为我本机没插显卡,安装的cpu版本。

选择对应的命令安装Pytorch库。

Synchronized-BatchNorm-PyTorch repository安装

官方给出的安装说明里面需要部署Synchronized-BatchNorm-PyTorch项目进来。

在这里插入图片描述

这里注意一点,需要把Synchronized-BatchNorm-PyTorch项目中的sync_batchnorm拷贝到上级目录。完整的目录接口参考下图:

在这里插入图片描述

Global目录Synchronized-BatchNorm-PyTorch项目部署

官方说明里面也需要把Synchronized-BatchNorm-PyTorch项目部署到Global里面。

在这里插入图片描述

也是一样要把sync_batchnorm拷贝到上级目录。结构如下:

在这里插入图片描述

检测预处理模型下载

需要用到一个检测预处理模型,主要是用来识别照片中的人脸部分的。

在这里插入图片描述

注意解压后的位置,结构如下:

在这里插入图片描述

下载脸部增强模型文件

官方说明:

在这里插入图片描述

下载两个模型zip解压到对应目录下,结构如下:
在这里插入图片描述

下载依赖

注意,我这里去掉了pytorch的依赖安装,已经已经装过了。

dlib
scikit-image
easydict
PyYAML
dominate>=2.3.1
dill
tensorboardX
scipy
opencv-python
einops
PySimpleGUI

安装命令:

pip install -r requirements.txt -i https://pypi.douban.com/simple

完整部署后项目结构

完整的结构如下图:

在这里插入图片描述

项目使用

官方给到的图,我就不用了,不能说明问题。我自己准备了两种图,一张是一张人脸的,一张是多张人脸的。

先按照官方给出的命令跑跑看

在这里插入图片描述

我们直接使用最下面这个命令,包含划痕去除与高度还原。看一下执行情况。

(bobl) D:\\spyder\\Bringing-Old-Photos-Back-to-Life>python run.py --input\_folder E:\\csdn\\老照片 --output\_folder result1/ --GPU -1 --with\_scratch --HR
Running Stage 1: Overall restoration
initializing the dataloader
model weights loaded
directory of testing image: E:\\csdn\\老照片
processing 1.jpg
processing 2.jpg
Mapping: You are using multi-scale patch attention, conv combine + mask input
Now you are processing 1.png
C:\\ProgramData\\Anaconda3\\envs\\bobl\\lib\\site-packages\\torch\\nn\\functional.py:3635: UserWarning: Default upsampling behavior when mode=bilinear is changed to align\_corners=False since 0.4
.0. Please specify align\_corners=True if the old behavior is desired. See the documentation of nn.Upsample for details."See the documentation of nn.Upsample for details.".format(mode)
Now you are processing 2.png
Finish Stage 1 ...Running Stage 2: Face Detection
12
1
Finish Stage 2 ...Running Stage 3: Face Enhancement
dataset \[FaceTestDataset\] of size 13 was created
The size of the latent vector size is \[16,16\]
Network \[SPADEGenerator\] was created. Total number of parameters: 92.1 million. To see the architecture, do print(network).
hi :)
Finish Stage 3 ...Running Stage 4: Blending
Finish Stage 4 ...All the processing is done. Please check the results.(bobl) D:\\spyder\\Bringing-Old-Photos-Back-to-Life>

输出的文件不但有最终的结果,也有检测出来的每个脸的处理前后效果。结果结构如下:

在这里插入图片描述

验证一下

1、多人照片最终的效果验证,下面上图是输出结果图,下图是原始图。可以看出有些划痕已经消失,但是还是有一些,不过整体的任务更立体鲜明了。

2、单人照片最终效果验证,下面上图为结果图,下图为原始图。单人就很明显了,不但划痕都消除了,人也更清晰立体,效果是真不错。

3、模型也会把多人图中的每张脸都识别出来,并且跑出结果,可以对比一下看看,细节还是修复的很好的。

在这里插入图片描述

总结

官方还给出了其他的命令,就不一一验证了。整体的效果是非常好的,只是在多人图的时候还有些瑕疵,瑕不掩瑜。


关于Python技术储备

学好 Python 不论是就业还是做副业赚钱都不错,但要学会 Python 还是要有一个学习规划。最后大家分享一份全套的 Python 学习资料,给那些想学习 Python 的小伙伴们一点帮助!

微信扫描下方CSDN官方认证二维码免费领取【保证100%免费

一、Python所有方向的学习路线

Python所有方向的技术点做的整理,形成各个领域的知识点汇总,它的用处就在于,你可以按照上面的知识点去找对应的学习资源,保证自己学得较为全面。
在这里插入图片描述

二、Python基础学习视频

② 路线对应学习视频

还有很多适合0基础入门的学习视频,有了这些视频,轻轻松松上手Python~在这里插入图片描述
在这里插入图片描述

③练习题

每节视频课后,都有对应的练习题哦,可以检验学习成果哈哈!
在这里插入图片描述
因篇幅有限,仅展示部分资料

三、精品Python学习书籍

当我学到一定基础,有自己的理解能力的时候,会去阅读一些前辈整理的书籍或者手写的笔记资料,这些笔记详细记载了他们对一些技术点的理解,这些理解是比较独到,可以学到不一样的思路。
在这里插入图片描述

四、Python工具包+项目源码合集
①Python工具包

学习Python常用的开发软件都在这里了!每个都有详细的安装教程,保证你可以安装成功哦!
在这里插入图片描述

②Python实战案例

光学理论是没用的,要学会跟着一起敲代码,动手实操,才能将自己的所学运用到实际当中去,这时候可以搞点实战案例来学习。100+实战案例源码等你来拿!
在这里插入图片描述

③Python小游戏源码

如果觉得上面的实战案例有点枯燥,可以试试自己用Python编写小游戏,让你的学习过程中增添一点趣味!
在这里插入图片描述

五、面试资料

我们学习Python必然是为了找到高薪的工作,下面这些面试题是来自阿里、腾讯、字节等一线互联网大厂最新的面试资料,并且有阿里大佬给出了权威的解答,刷完这一套面试资料相信大家都能找到满意的工作。
在这里插入图片描述
在这里插入图片描述

六、Python兼职渠道

而且学会Python以后,还可以在各大兼职平台接单赚钱,各种兼职渠道+兼职注意事项+如何和客户沟通,我都整理成文档了。
在这里插入图片描述
在这里插入图片描述
这份完整版的Python全套学习资料已经上传CSDN,朋友们如果需要可以微信扫描下方CSDN官方认证二维码免费领取【保证100%免费

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/214935.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Android Tombstone 与Debuggerd 原理浅谈

一、前言 Android系统类问题主要有stability、performance、power、security。Android集成一个守护进程tombstoned是android平台的一个守护进程,它注册成3个socket服务端,客户端封装在crash_dump和debuggerd_client。 crash_dump用于跟踪定位C crash&am…

万宾科技可燃气体监测仪的功能有哪些?

随着城市人口的持续增长和智慧城市不断发展,燃气作为一种重要的能源供应方式,已经广泛地应用于居民生活和工业生产的各个领域。然而燃气泄漏和安全事故的风险也随之增加,对城市的安全和社会的稳定构成了潜在的威胁。我国燃气管道安全事故的频…

mac 修改 hosts 文件

打开 hosts 所在文件夹 command shift G 快捷键 输入:“/private/etc/hosts” 后回车 如下所示 进入 hosts 文件所在位置,找到 hosts 文件,双击打开 修改 hosts 文件 将所需要的配置信息追加到hosts 文件中,或者修改需要改…

智慧楼宇可视化视频综合管理系统,助力楼宇高效安全运行

随着互联网技术的进步和发展,智能化的楼宇建设也逐步成为人们选择办公场所是否方便的一个重要衡量因素。在智能化楼宇中,安全管理也是重要的一个模块。得益于互联网新兴技术的进步,安防视频监控技术也得到了快速发展并应用在楼宇的安全管理中…

burp抓取雷电模拟器的数据包

文章目录 一、从burp中导出证书二、雷电模拟器的相关设置三、将burp的证书添加到模拟器的系统证书下四、安装ProxyDroid 所需软件 雷电模拟器版本:4.0.83Burp Suite Community Edition v2023.10.3.6ProxyDroid 起因:常规方法(wifi处添加代理…

满满干货!搭建智能视频监控系统如何挑选前端设备?

在此前的文章中,小编也和大家讨论过如何选择适合场景需求又性价比高的摄像头。除了摄像头以外,智能监控系统的组成也少不了前端设备,今天就给大家介绍一下几大前端设备的区别与应用场景吧。 在智能视频监控中,前端设备一般分为四类…

C语言众数问题(ZZULIOJ1201:众数问题)

题目描述 给定含有n个元素的多重集合S,每个元素在S中出现的次数称为该元素的重数。多重集S中重数最大的元素称为众数。 例如,S{1,2,2,2,3,5}。多重集S的众数是2,其重数为3。 编程任务…

保姆级连接FusionInsight MRS kerberos Hive

数新网络,让每个人享受数据的价值https://xie.infoq.cn/link?targethttps%3A%2F%2Fwww.datacyber.com%2F 概述 本文将介绍在华为云 FusionInsight MRS(Managed Relational Service)的Kerberos环境中,如何使用Java和DBeaver实现远…

深眸科技聚焦AI机器视觉检测,驱动3C电子行业集成创新实现新需求

随着消费的升级及国家政策的助推,国内3C电子市场不断扩大,行业实现高速发展。近年来,3C电子产品持续迭代,生产工艺也逐渐复杂化,相关生产线定位组装、零部件检测、整机产品检测等环节,亟需使用具备较强适应…

电源控制系统架构(PCSA)之电源状态层级

目录 5.2 电源状态层级 5.2.1 Core电源状态 5.2.2 Cluster的电源状态 5.2.3 设备电源状态 5.2.4 SOC电源状态 5.2 电源状态层级 电源状态可以组织为电源状态表的层次结构。每个电源状态表描述在其层次结构级别上可用的电源状态。 从系统级电源控制的角度来看&#xff0c…

MES管理系统需要与ERP系统协同工作吗

在当前的制造业环境中,信息化、智能化、数字化已经成为了企业转型升级的重要方向。其中,ERP企业管理系统与MES生产管理系统的应用和实施,对于提升企业的运营效率和竞争力具有显著效果。然而,在面对系统工具选择时,许多…

用GPT做美食:飞一般的感觉~

大家好,我是五竹。 自体验了GPT的识图功能以来,提到了两次使用GPT识别美食图片快速出文案的案例,但一直都没有来得及实战。不过公众号的一位女粉丝已经出成果了。 不能说是缘分,应该是微信公众号的算法推荐让她看到了我之前的一…