IC-Light容器构建详细指南

2024-08-23 12:44

本文主要是介绍IC-Light容器构建详细指南,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

一、介绍

IC-Light 是一个操纵图像照明的项目,能够让一张普普通通的照片焕发光彩。

IC-Light,全称为“Imposing Consistent Light”,是一款由 AI 图像处理专家张吕敏(ControlNet 的作者)精心开发的创新工具。主要用于控制图像光源效果,它利用先进的机器学习技术,为图像照明领域带来了前所未有的便利与创意空间。目前,发布了两种类型的模型:文本条件重新照明模型和背景条件模型。两种类型都采用前景图像作为输入。“IC-Light”这个名字代表“强加一致的光”。目前,发布了两种类型的模型:文本条件重新照明模型和背景条件模型。两种类型都采用前景图像作为输入。

二、特点

  1. 图像重打光:无论是暗淡的照片还是过于刺眼的图片,IC-Light 都能轻松调整其光源效果,使图像与新背景或环境完美融合,展现出更加自然和谐的光影效果。
  2. 文本条件重照明:用户只需输入简单的描述性文字,如“大雪纷飞”、“神秘的月光”等,IC-Light 便能根据这些指令生成具有特定氛围的光照效果,让图像瞬间焕发新生。
  3. 智能背景适应:借助背景条件模型,IC-Light 能自动分析背景图片的特点,并据此对前景物体进行精准的光照调整,无需复杂的文字描述,即可实现风格一致的照明效果。
  4. 光源方向自定义:用户可以根据自己的需求,自由指定光源的方向,如从左或右、从上或下等,从而创造出更加真实、逼真的光照场景。
  5. 自动抠图与融合:IC-Light 内置强大的自动抠图功能,能够轻松分离图片中的主体与背景,并支持将图片与不同风格的背景进行融合,为图像编辑增添无限创意。

GitHub - lllyasviel/IC-Light:更多重新点亮!

三、构建流程

1. 安装miniconda

进入Anaconda官网:

Miniconda — Anaconda 文档

找到快速命令行安装,选择Linux系统,复制代码进入Web SSH中粘贴进行安装

image.png

image.png

等待安装完成

2. 安装并更新基础命令,供后续使用更快捷: wget、unzip、lsof、git、git-lfs

apt-get update
apt-get install -y wget
apt-get install -y unzip
apt-get install -y lsof
apt-get install -y git
apt-get install -y git-lfs

image.png

3. 进入魔搭下载项目文件并搭建

IC-Light 光影重塑,完美光影随心所欲 · 创空间 (modelscope.cn)
image.png

(1)首先将仓库(魔搭)代码克隆下来:
git lfs install
git clone https://www.modelscope.cn/studios/AI-ModelScope/IC-Light.git
(2)打开IC-Light项目文件
cd IC-Light
(3)创建python为3.10版本的虚拟环境,名称为iclight
conda create -n iclight python=3.10

遇到下列代码行时输入y回车后将继续创建
image.png

(4)激活虚拟环境iclight
conda activate iclight
(5)通过pip安装所需的torch环境(国内镜像源快一些,以下使用了清华源)
pip install torch torchvision --index-url https://download.pytorch.org/whl/cu121 -i https://pypi.tuna.tsinghua.edu.cn/simple
(6)安装项目依赖文件

为了安装速度更快可以将pip进行永久换源

pip config set global.index-url https://pypi.tuna.tsinghua.edu.cn/simple

屏幕截图

pip install -r requirements.txt
(7)安装完成,指定端口即可启动项目,启动命令如下:
export GRADIO_SERVER_NAME=0.0.0.0
export GRADIO_SERVER_PORT=8080
python3 app.py

出现以下显示即为成功运行
image.png

四、网页演示

运行成功后获取访问链接,进入 webUI 界面后即可操作:

image.png

这篇关于IC-Light容器构建详细指南的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1099415

相关文章

JDK21对虚拟线程的几种用法实践指南

《JDK21对虚拟线程的几种用法实践指南》虚拟线程是Java中的一种轻量级线程,由JVM管理,特别适合于I/O密集型任务,:本文主要介绍JDK21对虚拟线程的几种用法,文中通过代码介绍的非常详细,... 目录一、参考官方文档二、什么是虚拟线程三、几种用法1、Thread.ofVirtual().start(

从基础到高级详解Go语言中错误处理的实践指南

《从基础到高级详解Go语言中错误处理的实践指南》Go语言采用了一种独特而明确的错误处理哲学,与其他主流编程语言形成鲜明对比,本文将为大家详细介绍Go语言中错误处理详细方法,希望对大家有所帮助... 目录1 Go 错误处理哲学与核心机制1.1 错误接口设计1.2 错误与异常的区别2 错误创建与检查2.1 基础

使用Java填充Word模板的操作指南

《使用Java填充Word模板的操作指南》本文介绍了Java填充Word模板的实现方法,包括文本、列表和复选框的填充,首先通过Word域功能设置模板变量,然后使用poi-tl、aspose-words... 目录前言一、设置word模板普通字段列表字段复选框二、代码1. 引入POM2. 模板放入项目3.代码

Python中isinstance()函数原理解释及详细用法示例

《Python中isinstance()函数原理解释及详细用法示例》isinstance()是Python内置的一个非常有用的函数,用于检查一个对象是否属于指定的类型或类型元组中的某一个类型,它是Py... 目录python中isinstance()函数原理解释及详细用法指南一、isinstance()函数

Python的pandas库基础知识超详细教程

《Python的pandas库基础知识超详细教程》Pandas是Python数据处理核心库,提供Series和DataFrame结构,支持CSV/Excel/SQL等数据源导入及清洗、合并、统计等功能... 目录一、配置环境二、序列和数据表2.1 初始化2.2  获取数值2.3 获取索引2.4 索引取内容2

uni-app小程序项目中实现前端图片压缩实现方式(附详细代码)

《uni-app小程序项目中实现前端图片压缩实现方式(附详细代码)》在uni-app开发中,文件上传和图片处理是很常见的需求,但也经常会遇到各种问题,下面:本文主要介绍uni-app小程序项目中实... 目录方式一:使用<canvas>实现图片压缩(推荐,兼容性好)示例代码(小程序平台):方式二:使用uni

Java JUC并发集合详解之线程安全容器完全攻略

《JavaJUC并发集合详解之线程安全容器完全攻略》Java通过java.util.concurrent(JUC)包提供了一整套线程安全的并发容器,它们不仅是简单的同步包装,更是基于精妙并发算法构建... 目录一、为什么需要JUC并发集合?二、核心并发集合分类与详解三、选型指南:如何选择合适的并发容器?在多

Python屏幕抓取和录制的详细代码示例

《Python屏幕抓取和录制的详细代码示例》随着现代计算机性能的提高和网络速度的加快,越来越多的用户需要对他们的屏幕进行录制,:本文主要介绍Python屏幕抓取和录制的相关资料,需要的朋友可以参考... 目录一、常用 python 屏幕抓取库二、pyautogui 截屏示例三、mss 高性能截图四、Pill

macOS彻底卸载Python的超完整指南(推荐!)

《macOS彻底卸载Python的超完整指南(推荐!)》随着python解释器的不断更新升级和项目开发需要,有时候会需要升级或者降级系统中的python的版本,系统中留存的Pytho版本如果没有卸载干... 目录MACOS 彻底卸载 python 的完整指南重要警告卸载前检查卸载方法(按安装方式)1. 卸载

C++中处理文本数据char与string的终极对比指南

《C++中处理文本数据char与string的终极对比指南》在C++编程中char和string是两种用于处理字符数据的类型,但它们在使用方式和功能上有显著的不同,:本文主要介绍C++中处理文本数... 目录1. 基本定义与本质2. 内存管理3. 操作与功能4. 性能特点5. 使用场景6. 相互转换核心区别