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

慈云数据 8个月前 (03-12) 技术支持 113 0

文章目录

    • 前言
    • 项目环境搭建
      • 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%免费】

微信扫一扫加客服

微信扫一扫加客服

点击启动AI问答
Draggable Icon