草庐IT

AIGC 360全景图 效果图材质替换

滴滴滴\'cv 2024-04-26 原文

首先感叹一下AIGC的效果,如下图所示

准备材料

  1. AUTOMATIC1111 WebUI
  2. Prompts Positive and Negative提示词
  3. LoRa 插件
  4. LoRa: LatentLabs360 on CivitAI
  5. ControlNet 插件
  6. Deep-checkpoints模型文件地址
  7. Lora-Script 训练脚本
  8. Panorama-Viewer查看全景图插件

安装WebUI

Linux

sudo apt install wget git python3 python3-venv
# 安装/home/$(whoami)/stable-diffusion-webui/
bash <(wget -qO- https://raw.githubusercontent.com/AUTOMATIC1111/stable-diffusion-webui/master/webui.sh)

cd /home/$(whoami)/stable-diffusion-webui/

source venv/bin/activate 
bash ./webui.sh

网络问题自己搭梯子,一些安装环境可以调整(gradio==3.16.2)

Windows

感谢 秋葉aaaki UP主,活菩萨在世T_T

  1. 安装Python 3.10.6, 需要勾选 “Add Python to PATH”
  2. 克隆AUTOMATIC1111仓库
  3. 以正常、非管理员用户身份从终端运行webui-user.bat

安装插件

在项目路径/extensions下

# 安装 LoRa 插件
git clone https://github.com/kohya-ss/sd-webui-additional-networks

# 安装 ControlNet 插件
git clone https://github.com/Mikubill/sd-webui-controlnet

# 安装 全景图浏览 插件
git clone https://github.com/GeorgLegato/sd-webui-panorama-viewer

下载模型权重

深度模型

下载黄框内的模型,移动到 项目路径/extension/sd-webui-controlnet/models 路径下

360全景LoRa

点击下图黄框,移动到 项目路径\extensions\sd-webui-additional-networks\models\lora 文件夹下

开始生成

  • 下载Prompts Positive and Negative提示词
  • 删去你不想要的提示词,输入Positive词和Negative词
  • 图片宽度1024,保持2:1
  • Tiling勾选上,用于生成360全景图

ControlNet参数

  • 输入图片
  • 选择depth
  • 选择depth模型
  • 点enable启用
  • Midas Resolution选择1100,能获取图片的深度
  • 图片宽度1024,保持2:1

360 LoRa

  • Additional Networks选择
  • enable勾选
  • 选择latentlabs360_v01模型

    batch选择4,点击最上方的生成

查看全景图

点击图片下方的Pano,可以查看全景图

1K转4K

点击send to inpaint,选择下图R-ESRGAN 4x+模型,点击生成

生成的4k全景图,效果图查看

原图一

生成图一

原图二

效果图二

有关AIGC 360全景图 效果图材质替换的更多相关文章

  1. ruby 正则表达式 - 如何替换字符串中匹配项的第 n 个实例 - 2

    在我的应用程序中,我需要能够找到所有数字子字符串,然后扫描每个子字符串,找到第一个匹配范围(例如5到15之间)的子字符串,并将该实例替换为另一个字符串“X”。我的测试字符串s="1foo100bar10gee1"我的初始模式是1个或多个数字的任何字符串,例如,re=Regexp.new(/\d+/)matches=s.scan(re)给出["1","100","10","1"]如果我想用“X”替换第N个匹配项,并且只替换第N个匹配项,我该怎么做?例如,如果我想替换第三个匹配项“10”(匹配项[2]),我不能只说s[matches[2]]="X"因为它做了两次替换“1fooX0barXg

  2. ruby-on-rails - 在 ruby​​ 中使用 gsub 函数替换单词 - 2

    我正在尝试用ruby​​中的gsub函数替换字符串中的某些单词,但有时效果很好,在某些情况下会出现此错误?这种格式有什么问题吗NoMethodError(undefinedmethod`gsub!'fornil:NilClass):模型.rbclassTest"replacethisID1",WAY=>"replacethisID2andID3",DELTA=>"replacethisID4"}end另一个模型.rbclassCheck 最佳答案 啊,我找到了!gsub!是一个非常奇怪的方法。首先,它替换了字符串,所以它实际上修改了

  3. 什么是AIGC? - 2

    目录前言一、什么是AIGC?1、什么是PGC?2、什么是UGC?3、什么是PUCG?4、什么是AIGC?二、总结前言很明显,ChatGPT的爆火,带动了AIGC(AI-GeneratedContent)概念的火热。一、什么是AIGC?GC,全称GeneratedContent,是指创作内容。与之相对应的概念中,有PGC、UGC、PUGC、AIGC。1、什么是PGC?PGC,全称ProfessionalGeneratedContent,指专业生产内容。专业生产内容模式,主要表现为由专家或者机构来进行内容的生产,具备专业的内容生产能力,能够保证内容的专业性。主要应用在知识付费、在线教育、学习平台等

  4. ruby - Ruby gsub 替换中的行为不一致? - 2

    两个gsub产生不同的结果。谁能解释一下为什么?代码也可在https://gist.github.com/franklsf95/6c0f8938f28706b5644d获得.ver=9999str="\tCFBundleDevelopmentRegion\n\ten\n\tCFBundleVersion\n\t0.1.190\n\tAppID\n\t000000000000000"putsstr.gsub/(CFBundleVersion\n\t.*\.).*()/,"#{$1}#{ver}#{$2}"puts'--------'putsstr.gsub/(CFBundleVersio

  5. ruby-on-rails - 在这种情况下我如何模拟一个对象?没有明显的方法可以用模拟替换对象 - 2

    假设我在Store的模型中有这个非常简单的方法:defgeocode_addressloc=Store.geocode(address)self.lat=loc.latself.lng=loc.lngend如果我想编写一些不受地理编码服务影响的测试脚本,这些脚本可能已关闭、有限制或取决于我的互联网连接,我该如何模拟地理编码服务?如果我可以将地理编码对象传递到该方法中,那将很容易,但我不知道在这种情况下该怎么做。谢谢!特里斯坦 最佳答案 使用内置模拟和stub的rspecs,你可以做这样的事情:setupdo@subject=MyCl

  6. ruby - 如何搜索、递增和替换 Ruby 字符串中的整数子字符串? - 2

    我有很多这样的文档:foo_1foo_2foo_3bar_1foo_4...我想通过获取foo_[X]的所有实例并将它们中的每一个替换为foo_[X+1]来转换它们。在这个例子中:foo_2foo_3foo_4bar_1foo_5...我可以用gsub和一个block来做到这一点吗?如果不是,最干净的方法是什么?我真的在寻找一个优雅的解决方案,因为我总是可以暴力破解它,但我觉得有一些正则表达式技巧值得学习。 最佳答案 我(完全)不懂Ruby,但类似这样的东西应该可以工作:"foo_1foo_2".gsub(/(foo_)(\d+)/

  7. ruby - 改变替换的大小写 - 2

    我有以下内容:text.gsub(/(lower)(upper)/,'\1\2')我可以将\2替换为大写吗?类似于:sed-e's/\(abc\)/\U\1/'这在Ruby中可行吗? 最佳答案 查看gsub文档:str.gsub(模式){|匹配|block}→new_str在block形式中,当前匹配字符串作为参数传入,$1、$2、$`、$&、$'等变量将被适当设置。block返回的值将替换为每次调用的匹配项。"alowerupperb".gsub(/(lower)(upper)/){|s|$1+""+$2.upcase}

  8. ruby-on-rails - 在 rails 中分配/替换参数哈希 - 2

    我在RailsController操作中有下面的代码序列。在IF之前,params包含请求参数,正如预期的那样。在它之后,params为零。谁能解释一下这里发生了什么?iffalseparams={:user=>{:name=>"user",:comment=>'comment'}}end谢谢。 最佳答案 params其中包含请求参数实际上是一个方法调用,它返回包含参数的散列。你的params=行正在分配给一个名为params的局部变量.iffalse之后block,Ruby已经看到了本地params变量,所以当你引用params时

  9. ruby - gsub 替换不当 - 2

    我正在尝试使用gsub方法将电子邮件中的所有字母数字字符替换为“#”字符,但Ruby在“@”字符之前插入了一个反斜杠。例如:"john@doe.com".gsub(/[a-z0-9]/,"#")返回"###\#@###.###"而不是"####@###.###"。 最佳答案 它按预期返回"####@###.###",尝试:puts"john@doe.com".gsub(/[a-z0-9]/,"#")您在IRB/Pry中看到的是防止#@被解释为字符串插值。另请参阅下面@Stefan的非常有值(value)的评论。

  10. ruby - 不能将 `each` 的所有或大多数情况替换为 `map` 吗? - 2

    Enumerable#each和Enumerable#map的区别在于返回的是接收者还是映射后的结果。回到接收者是微不足道的,你通常不需要在each之后继续一个方法链,比如each{...}.another_method(我可能没见过这样的案例。即使你想回到接收者那里,你也可以通过tap来实现)。所以我认为所有或者大部分使用Enumerable#each的情况都可以用Enumerable#map代替。我错了吗?如果我是对的,each的目的是什么?map是否比each慢?编辑:我知道当您对返回值不感兴趣时​​使用each是一种常见的做法。我对这种做法是否存在不感兴趣,但感兴趣的是,除了从

随机推荐