AI修复老照片的完整教程来了!

news2024/11/17 12:21:45

大家好,我是每天分享AI应用的萤火君!

最近老照片修复的项目比较火爆,很多同学都拿到了成果,这个技术上已经没有太大的难度,结合各种工具可以做出不错的效果,但是很多人还不知道如何实现,这篇文章就来给大家分享下AI修复老照片的方式方法。

本文主要介绍使用ComfyUI工作流修复老照片的方法,经过最近几天的研究,不仅可以修复普通的模糊老照片、也可以修复有污渍、划痕和破损的老照片。使用ComfyUI工作流,我们还可以做到:只上传一张老照片,然后一键修复,无需输入任何提示词。

效果展示

话不多说,先看效果。满意再跟进。

环境准备

你需要有一个ComfyUI的运行环境。

本地安装

如果你本地有一个24G显存的Nvidia显卡,可以参考我这篇文章,在本地部署一个ComfyUI:

ComfyUI 完全入门:安装部署

不过想要运行本文介绍的工作流,你还要安装缺失的插件节点、下载相关的模型,这个难度和工作量不容小视,没有点技术功底不要轻易尝试。

云环境镜像

如果你本地没有相关的资源,也不想费力吧啦的自己部署,或者就是想看看效果,可以直接使用我的云镜像,一键开启,直接使用。

镜像访问地址:https://www.haoee.com/applicationMarket/applicationDetails?appId=27&IC=XLZLpI7Q

这个平台注册就送一定的额度,大家可以免费使用几个小时,足够时间体验老照片修复了。

注册成功后,点击页面上的“立即创建”,即可开启 ComfyUI 应用,如下图所示:

应用创建后会自动跳转至“工作台”。启动成功后,状态将显示为“运行中”,此时点击“打开应用”,即可在浏览器进入操作界面。本应用启动大约需要1-2分钟,如果打开页面显示空白,请刷新再尝试。

ComfyUI在浏览器中启动后,我们可以先通过设置切换到中文界面:

然后点击“加载”旁边的小箭头,选择一个“老照片修复”工作流,点击“添加提示词队列”,就可以开始愉快的生成了。

普通修复

参考网上的资料,我总结出两种修复方法,各有千秋。首先看第一种普通修复的方法。

这种方法对于修复模糊、轻度破损的照片效果比较好,看下面这张模糊的中老年人的照片修复效果。

下面这张有些轻微划痕、破损的照片修复的也很好。

不过这张有比较严重的折痕破损,效果就会差上很多,这种照片的修复适合使用另一个工作流。

我们看看这个工作流都干了什么。首先是使用了ControlNet和IPAdapter,ControlNet可以约束画面的结构,IPAdapter则用来提取人物的面部特征,这两个节点是用来保真的,保持任务的基本形象不变。

注意这里用了一个比较特殊的ControlNet:AnyTest,它可以起到深度图、线稿图等的约束效果。如果修复效果不好,还是有很多破损之处,请把ControlNet的强度调小一点,这样模型可以更自由的发挥。

然后就是采样部分的节点,这些节点中有两点比较重要,一是使用的基础模型,测试发现DreamShaperXL这个模型的修复效果比较真实;另外这种修复方式需要填写提示词,根据画面内容填写即可(注意这里需要是英文),本质上还是文生图的方式。

高级修复

高级修复,可以去除照片中严重的划痕、折痕和破损。

去除破损的能力主要来自这个插件:ComfyUI-Bringing-Old-Photos-Back-to-Life,它是微软开发的一个工具,可以提升低质量老照片的质量。相关节点使用如下图所示,它主要做了两件事,破损识别修复和面部增强。

另外这个工作流也会用到ControlNet和IPAdapter,ControlNet使用了Canny和Tile,IPAdaptre使用了FaceId,作用也是约束画面结构、控制人脸形象。

为了更好的效果,我在这个工作流中还增加了高清修复和替换背景颜色的能力,上边的效果展示中已经给出了实际效果。

资源下载

大家可以在云镜像中直接保存这个工作流到本地,也可以给我的公/众\号 “萤火遛AI” 发消息 “工作流” ,即可获取我免费分享的几十个工作流。

制作不易,高级修复的部分能力仅发布在我的AI绘画专栏中,如需要高级版请点击下方链接或者扫码。访问地址:https://xiaobot.net/post/03340243-9df6-4ea0-bad6-9911a5034bd6

专栏中还收集了大量常用模型,缺少的同学可向我反馈,及时更新。


以上就是本文的主要内容,如有问题,欢迎留言!

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

最常用的100个Python库入门

文章目录 最常用的100个Python库入门命令行界面和参数解析日志和错误处理多媒体处理异步编程Web开发网络和API代码分析和测试数据处理和科学计算数据库和数据存储系统和文件操作安全性机器学习和深度学习其他工具和库任务调度进度条虚拟环境管理异步任务队列文档生成HTML处理SQ…

Web APIs第一天

第一天&#xff1a;DOM获取元素&#xff0c;获取元素&#xff0c;修改属性 声明新变量&#xff0c;一般默认const&#xff0c;如果变量的值不变&#xff0c;则使用const。如果变量的值变化&#xff0c;则使用let。var已经被淘汰了。 <script>const arr [red, pink]arr.…

ESP32!Thonny+MicroPython+ESP32开发环境搭建!!

准备工具&#xff1a; ThonnyMicroPythonESP32 一.Thonny安装 下载地址&#xff1a;Thonny, Python IDE for beginnershttps://thonny.org/ 二.下载esp32环境——根据型号下载 下载地址&#xff1a;MicroPython - Python for microcontrollershttps://micropython.org/dow…

登录页面设计课堂,用8个案例带你学习

本文将以 8个最受欢迎的登录页模板为例&#xff0c;给大家分析想要提升登录页转化率&#xff0c;设计登录页时应该关注的要点 作为设计师&#xff0c;在设计登录页面时&#xff0c;除了要让你的界面设计拥有出色的视觉效果&#xff0c;还要想尽可能地获取新用户&#xff0c;并留…

分享一个使用智狐联创AI平台创建的WordPress分类广告插件

为了提升广告的效果与管理效率&#xff0c;我们开发了一款基于WordPress的分类广告插件&#xff0c;旨在帮助用户根据文章分类方便地显示相关广告。这款插件不仅简化了广告的管理流程&#xff0c;还提高了广告的精准投放。 插件功能概述 1. 广告管理 用户可以通过插件后台轻…

谷歌seo优化有能一步提升的方法吗?

网站优化的方法有很多&#xff0c;但没有一刀切的解决方案。 谷歌SEO绝对不是一项廉价的服务。任何声称能以低价实现显著效果的承诺都值得怀疑。 谷歌SEO是一项需要人力、技术和资源的工作&#xff0c;如果你打算自己做 最少需要一个人的年薪&#xff0c;还要考虑域名、服务器…

Linux中的编译器gcc/g++

目录 一、gcc与g的区别 1.gcc编译器使用 2.g编译器使用 二、gcc/g编译器编译源文件过程 1.预处理 2.编译 3.汇编 4.链接 三、静态库和动态库 1.库中的头文件作用 2.静态库 3.动态库 四、gcc编译器的一些选项命令 一、gcc与g的区别 gcc用于编译C语言代码&#xff…

Echarts可视化大屏数据详解

1、ECharts介绍 1.1、什么是ECharts ECharts是一款由百度开发并开源的数据可视化图表库&#xff0c;旨在帮助开发者通过简单易用的方式实现复杂的数据展示和分析需求。它完全基于 JavaScript 开发&#xff0c;利用 HTML5 的 Canvas 技术进行图形渲染&#xff0c;这使得它能够…

精密五金零配件加工的核心技术解析

在现代制造业中&#xff0c;精密五金零配件起着至关重要的作用。从电子产品到机械设备&#xff0c;从汽车制造到航空航天&#xff0c;都离不开高精度的五金零配件。而要实现精密五金零配件的加工&#xff0c;需要掌握一系列核心技术。时利和与大家一同解析精密五金零配件加工的…

Flutter之修改App的图标、名称

一、修改App名称 Android 路径&#xff1a;android/app/src/main/AndroidManifest.xml, 找到 android:label”string/app_name”。点击Ctrl鼠标左键转到string.xml 修改名称&#xff1a; <resources><string name"app_name">你的APP名称</string>…

如何使 div 居中?CSS 居中终极指南

前言 长期以来&#xff0c;如何在父元素中居中对齐一个元素&#xff0c;一直是一个让人头疼的问题&#xff0c;随着 CSS 的发展&#xff0c;越来越多的工具可以用来解决这个难题&#xff0c;五花八门的招式一大堆&#xff0c;这篇博客&#xff0c;旨在帮助你理解不同的居中方法…

获取navicat已保存数据库连接的密码

打开connections.ncx&#xff0c;可以看到Passwordxxx,这是加密后的密码 解密 在线的运行工具https://tool.lu/coderunner 运行如下代码&#xff0c;代码中的密码改成你的密码&#xff0c;在倒数第二行位置 <?phpnamespace FatSmallTools;class NavicatPassword{protected…

基础数据结构之双向链表

目录 基础定义 节点的定义 节点的初始化 创建双链表 1.前插法 2.尾插法 双向链表的遍历输出 指定位置插入 双向链表的按位取值 任意位置删除 双向链表销毁 主程序入口​​​​​​​ 基础定义 所谓的双向链表就是单向链表多了一个前驱指针。双向链表是由一个个结点组成每个结点…

【LLM】大模型基础--大规模预训练语言模型的开源教程笔记

1.引言 本文以DataWhale大模型开源教程为学习路线&#xff0c;进行一整个大模型的入门操作 什么是语言模型 语言模型是一种对词元序列&#xff08;token&#xff09;的概率分布&#xff0c;可以用于评估文本序列的合理性并生成新的文本。 从生成文本的方式来看&#xff0c;…

【C++ Primer Plus习题】10.4

问题: 解答: main.cpp #include <iostream> #include "sales.h" using namespace std; using namespace SALES;int main() {Sales s1;double de[QUARTERS] { 12.1,32.1,42.1,51.1 };Sales s2(de, QUARTERS);s1.showSales();s2.showSales();return 0; }sales.…

IP/TCP/UDP协议的关键知识点

导语&#xff1a;网络协议是理解网络情况的基础&#xff0c;当遇到网络问题时&#xff0c;首先可以从网络协议入手&#xff0c;熟悉的网络协议可以有效帮助小伙伴们排查或者说定位大概的问题方面。本文整理了目前最常用的网络通信协议&#xff0c;相信对小伙伴们肯定都有帮助。…

C#使用MQTT(一):MQTT服务端

MQTT&#xff08;Message Queuing Telemetry Transport&#xff09; 即时通讯协议&#xff0c; 开发商 IBM MQTT(消息队列遥测传输)是ISO 标准(ISO/IEC PRF 20922)下基于发布/订阅范式的消息协议。它工作在 TCP/IP协议族上&#xff0c;是为硬件性能低下的远程设备以及网络状…

将RK3588平台的TMC等USB function驱动挪出内核源码树

背景 前一段时间定位一个上位机通过USB-TMC连接下位机&#xff08;基于RK3588平台&#xff09;时界面发生卡顿的问题&#xff0c;发现USB-TMC驱动代码是放在内核源码树里跟内核一起编译的&#xff0c;觉着这样既不便于更换TMC 驱动版本&#xff08;每次修改代码都要重编内核&a…

2024年【广西安全员C证】考试题及广西安全员C证考试技巧

题库来源&#xff1a;安全生产模拟考试一点通公众号小程序 广西安全员C证考试题是安全生产模拟考试一点通生成的&#xff0c;广西安全员C证证模拟考试题库是根据广西安全员C证最新版教材汇编出广西安全员C证仿真模拟考试。2024年【广西安全员C证】考试题及广西安全员C证考试技…

AI电商产品一键换高清背景,就是这么简单(comfyui)

comfyui电商产品换背景工作流 工作流作者&#xff1a;Aki Hung c 工作流我放在了文末&#xff0c;需要的朋友自取&#xff01; 这里给大家准备好了一份详细的ComfyUI资料和安装包&#xff0c;扫描下方二维码即可获取&#xff01; 大家好&#xff0c;我是你们的老朋友&#xf…