前言
更新: Invalid Date 字数: 0 字 时长: 0 分钟
🍊Hello,各位好,我是面包!
这篇文档集合了面包的科研实训的经历。
基本流程
图片预处理
将拍摄图片处理成绿色背景的纯标志物图片
预处理工作流
- 输入:拍摄图像->【加载批次图像】
- 输出:掩码图片-背景为绿幕,标志物不变<-【图像缩放】
- 模型:Grounding-Dino,Segment Anything Model
拍摄图片要求
- 角度:不同视角
- 大小:大小基本一致,标志物尽量占据大部分区域
- 背景:干净背景,与标志物有明显分割线
- 分辨率:720px*540px
- 色彩模式:彩色
- 数量:建议25~50张
小纸条
Florence-2是一种先进的视觉基础模型,采用基于提示的方法来处理广泛的视觉和视觉语言任务。 Florence-2可以解释简单的文本提示来执行诸如图像描述、物体检测和分割等任务。 它利用我们的FLD-5B数据集,该数据集包含1.26亿张图像的54亿个注释,以掌握多任务学习。 该模型的序列到序列架构使其能够在零样本和微调设置中都表现出色,证明是一个具有竞争力的视觉基础模型。
基本标志物随机数量
通过逆分块进行图片合并,最终通过图像缩放生成720*544的图片。
拼接工作流
- 输入:掩码图片->【加载批次图像】
- 输出:拼接后的掩码图片<-【图像缩放】
(一)确定样本数量
randomchoice(1,4,9,16,~)这个函数来随机确定标志物绿幕图片是由几个样本组合
数学表达式
- randomchoice(a,b):从函数的参数中随机选择一个数字,并按照它们的个数等概分布
- randomint(a,b):从a~b中之间随机选择一个数字
a<b
(二)样本的选取和处理过程
随机选取基底图片并生成样本
通过【比较】随机等概地抽取标志物和无标志物图片
小纸条
这里的“标志物绿幕图片基底图片的个数”是指有标志物图片和纯绿幕图片的总数,即24 + 12 = 36张。
保证至少有一个标志物
使用randomint(1, 标志物绿幕图片基底图片的个数)这个函数来随机指定位置必有一次选取标志物图片。
将这个随机选到的数字与(索引+1)进行比较。索引是从0开始的,比如第一张图片的索引是0,第二张图片的索引是1,以此类推。通过比较,可以确保至少选中一张有标志物的图片,避免出现无标志物图片的组合输出。
for循环-踩坑
【for循环-起始】的索引从0开始,若想要每次循环更新节点的话需要将此节点的一个输入接到【for】的一个初值上。
画布扩展处理
对选取出来的基底图片进行等比例的画布扩展处理。
长方向扩展
计算长方向的总扩展距离,使用randomint(a/8, a)公式,其中a是图片的长度720像素。
确定向上扩展距离,使用randomint(0, b)公式,b是长方向的总扩展距离。
向下扩展距离则通过a - b公式计算。
宽方向扩展
计算宽方向的总扩展距离,使用int(a/720*544)公式,其中a是图片的长度720像素。
确定向左扩展距离,使用randomint(0, c)公式,c是宽方向的总扩展距离544像素。
向右扩展距离通过c - 向左扩展距离公式计算。
缩放处理
经过画布扩展处理后的图片,再通过图像缩放等比例缩放,将尺寸统一成720×544像素。这样就形成了一个处理后的样本图片。
(三)样本组合形成标志物绿幕图片
将选取的样本按平方数个数进行拼接。
挑选样本并合并
根据之前通过randomchoice函数确定的样本数量,从处理后的样本图片中挑选相应数量的样本。
例如,如果确定是由4个样本组合而成,就从处理后的样本图片中随机挑选4个样本。
使用“选择图像模选”节点跳过最开始的参考空图像(这个参考空图像可能是用于对齐或者其他参考用途的图像)。
将挑选出来的平方数个数的样本图片进行逆分块合并。逆分块合并的意思是,把这些小的样本图片按照一定的规则拼接在一起,形成一个大的图片。比如,如果有4个样本,可以2×2地拼接在一起。
再次缩放
合并后的图片再经过一次缩放处理,形成最终的720×544像素的标志物绿幕图片,作为后续处理的输入。
小纸条
对数学运算节点和逻辑节点针对性地串并联实现对图像的随机挑选与成比例缩放,然后单张处理图片进行平方数数量的合并,输出图像随机地出现不同数量标志物的绿幕图片作为后续处理输入。
- 数学运算节点主要包括【数学表达式】、【整数】,通过数学关系对图像进行成比例的随机画布拓展,实现标志物生成在图片的不同位置,以及实现对有标志物的图片与无标志物的图片的随机挑选,实现图片中生成不同数量的标志物。
- 逻辑节点主要包括【For循环-起始】、【For循环-结束】、【比较】、【If else】,通过与【数学表达式】配合,实现对平方数图片的合并
- 图片处理节点主要包括【图像缩放】、【图像逆分块】等,实现最终图片以720*544分辨率输出
标志物纯色幕布抠图
通过判断纯绿色颜色进行遮罩的生成。使用【图像颜色到遮罩】节点对【标志物随机生成】输出的图片进行绿幕识别,生成以标志物为白底,绿幕为黑底的遮罩图像,生成处理后图片的掩码图片。
抠图工作流
- 输入:【标志物随机数量】中输出的绿幕图片
- 输出:标志物为纯白色,绿幕为黑色的单色遮罩图片
参考图片反推
加载Florence2-large模型对输入参考图像进行提示词反推,作为提示词输入。 首先通过Load Image节点加载一张图片,然后通过调用Florence2执行节点对图片中的元素进行描述,进行参考图片的反推
反推工作流
- 输入:【参考图片】
- 输出:【提示词】
BrushNet背景生成
针对掩码图片对标志物进行扩图
扩图工作流
- 输入:【绿幕图片】、【遮罩图片】
- 输出:【添加背景后的图像】
扩图细节:
- 调用基于sd1.5大模型训练的realisticVisionV51VAE_2大模型作为基础检测模型生成基本图像,
- 通过ip-adapter进行参考图像的风格转绘,基于CLIP视觉加载器
- 通过Brushnet对遮罩物品的背景生成
- 加载Checkpoint加载器,加载基于sd1.5大模型训练的realisticVisionV51VAE_2大模型作为基础检测模型,并通过CLIP视觉加载器加载CLIP-ViT-H辅助IPAdapter模型进行风格转绘。
- 调用segmentation_mask_brushnet_ckpt模型,将这些模型通过各自的应用接口连接到K采样器上进行生图,针对标志物在原本的绿幕上添加与提示词相对应的背景,并保持了基本标志物的完整轮廓
补充
负面提示词中需要填写相应的低质量提示词,用以辅助生成更高质量的图像,而文本连锁用于将参考图片反推工作流的提示词与自定义正面提示词合并。
K采样器的解释
K采样器使用提供的模型以及正向和负向条件来生成给定潜在图像的新版本。首先,根据给定的seed和denoise强度对潜在图像进行加噪,部分擦除潜在图像。然后,使用给定的Model和positive、negative条件作为指导,去除这些噪声,"梦想"在图像被噪声擦除的地方生成新的细节。
小纸条
扩展遮罩
在遮罩环节中,适当扩展遮罩区域,以最大限度地保持基本标志物的一致性。这一步是为了确保在处理过程中,标志物的内部细节和特征不会被破坏,保持其完整性和一致性。
混合遮罩
将标志物随机生成的图片与添加背景后的图片进行遮罩融合,只将标志物的区域进行融合,更好地保留标志物,而背景仍是生成后的背景。
光影遮罩潜空间调整
获取图像尺寸,即720*544作为参考尺寸,然后经过randomint()生成一个随机高度,随机宽度的阴影椭圆遮罩图片,作为后续打光的潜空间输入。
光影遮罩工作流
- 输入:【标志物随机数量】中输出的绿幕图片
- 输出:通过数学表达式进行随机渐变的遮罩。
IC-Light图片打光
调用Lama模型进行去除标志物的纯背景图像提取,将提取的背景图像应用于IC-Light的背景潜空间输入,而【BrushNet背景生成】的图像作为IC-Light应用节点的前景潜空间(Latent)输入,最后通过K采样器进行图片的重新打光,,其中步数参考为10,CFG参考为3.5,采样器参考为dpmpp_2m_sde,实现对光照的分布调整。
打光工作流
- 输入:【添加背景的图片】
- 输出:【去除标志物的纯背景图像】
小纸条
编辑图像中的光照是深度学习和图像编辑中的一项基本任务。经典的计算机图形方法通常使用物理照明模型来对图像的外观进行建模。
然而,在更大的尺度上训练具有更多多样性的照明编辑模型比看起来更具挑战性。
于保持所需的模型行为,以确保正确的照明操作,而不是偏离到意外的随机行为。随着数据集大小和多样性的增加,学习目标的映射和分布可能变得模糊和不确定。在没有适当约束的情况下,训练可能产生结构引导的随机图像生成器,从而导致不与期望的照明编辑要求对准的输出。
在修改照明时保留底层图像细节和固有属性,例如反射或反射颜色。由于扩散算法的随机性和潜在空间的编码-解码过程,基于扩散的图像生成器固有地倾向于将随机性引入图像内容,使得难以保留细粒度的细节。
在本文中,作者提出了一种在训练过程中施加一致光(IC光)传输的方法,该方法基于光传输独立性的物理原理-不同照明条件下物体外观的线性混合与混合照明下的外观一致。通过强制执行这种一致性,作者引入了一个强大的、物理根源的约束,确保模型只修改图像的照明方面,同时保留其他内在属性,如亮度和精细的图像细节。
原文链接:https://blog.csdn.net/sherlockMa/article/details/144189071
Lama模型
图像修复(根据mask移除目标)
雨幕添加
雨幕工作流
- 输入:提示词--用户需要提供一个描述性的提示词,这个提示词将用于指导生成雨幕图片的内容和风格。
- 输出结果:【雨幕图片】--最终生成的带有雨幕效果的图片。
文生图
- 使用realisticVisionV51VAE_2大模型进行雨幕图像的生成。
- 提示词:用户输入一个描述性的提示词,例如“城市街道上的雨幕”或“森林中的雨景”等。
- 模型:系统将使用realisticVisionV51VAE_2模型,根据提供的提示词生成相应的雨幕图片。
- 生图:通过基本文生图工作流,模型将生成一张带有雨幕效果的图片。
- 输出:生成的雨幕图片将作为输出结果展示给用户。
realisticVision
这是一个专门用于生成逼真图像的模型,能够根据输入的提示词生成高质量的图像。 采用基本文生图工作流来执行图像生成任务。这个工作流是一个标准化的流程,确保图像生成过程的稳定性和一致性。
高清放大
放大工作流
- 输入:【添加打光的图片】--用户需要提供一张需要添加打光效果的图片。
- 输出:【1440×1080】--最终生成的图片尺寸为1440×1080像素。而且分为4类:【灰度】、【灰度+模糊】、【灰度+雨幕】、【灰度+雨幕+模糊】
过程
使用ControlNet的tile模型对放大成1440px*1080px的图片进行细节修复
- 通过【图像按系数缩放】节点对图片进行放大两倍,即1440px*1080px
- 加载controlnet的tile细节保留模型通过ControlNet应用节点使用K采样器基于realisticVisionV51VAE_2大模型进行高清放大生图,
- 通过【图像混合模式】节点将生成的雨幕图片与背景图片进行融合。这一步是为了将雨幕效果自然地添加到背景图片中,使两者融合得更加自然和逼真。生成彩色图像。
- 通过【图像线性】节点调整图片的色彩和对比度,输出灰度图像。通过【高斯模糊】节点对图片进行适当的模糊处理,增强图片的模糊度。
ControlNet
ControlNet是一种先进的图像处理技术,能够有效地保留图片的细节信息。输出尺寸为1024×1440像素的图片。这一步确保图片在放大后仍然保持高质量和清晰度。
图像预览
- 输入:【绿幕图片】、【线性图片】、【灰度图片】、【线性+模糊】、【线性+模糊+雨幕】
- 输出:图像对比效果