Roop:设置参数详细说明,ROOP->StyleGAN演示!
本来,我只想发一个视频。
从和大家的交流中可以知道,有些人很懂,一说就会,但是不少人不太擅长这个方面,所以尽量写得通俗易懂一点。
所以,能秒懂参数的可以跳过了,有疑问的可以往下看。
首先,简单说一下,视频的原素材全部由AI生成!
具体一点就是由StyleGAN的微调模型生成,然后通过ROOP把脸怼了上去。
因为这个视频刚好有很多张脸,然后又是多角度60帧4K的动态视频,所以我觉得非常适合拿来测试ROOP。因为有一些效果图,聊起来就更直观一点。下面就挨个来介绍一下ROOP的参数。
- 人脸增强(enhance)
人脸增强,也叫人脸修复。
因为roop的核心模型只有128像素,所以如果你的视频很大,不管你给的素材有多么高清,合成之后都是模糊的。
假设,你的素材人脸区间像素达到了1024×1024, 试想一下把128×128简单拉伸到1024×1024会是什么感觉?肯定是“马赛克”画质。
为了改善这种状况,roop引入了一个种叫GFPGAN人脸修复增强的算法。这个算法由TencentARC开源。
这个参数,就是让你自己选择是否启用增强功能。
增强那么好,为什么还要选择?
因为增强,会影响相似度,增加“AI整形”感,另外会成倍的增加时间。
所以,鱼和熊掌,不可兼得。
2. 线程数量(threads)
线程数量指的是,同时干活的“人数”。比如一件事情,两个人同时干,肯定比一个人干快。所以很多程序都会使用多线程。但是多线程,也有弊端。比如两个人干活,那么自然得吃两份饭,干的活有交叉的话可能出现卡住等待的情况。
这个参数的核心目的是,让你的电脑尽可能高效的运行。
比如6G显卡,适合单线程工作。
8G的可以尝试2和4。
12G的可以用8。
3. 保持帧率(keep fps)
视频由很多元素构成,比如分辨率,码率,帧率。帧率通俗来说就是一秒钟的视频种由几张图片构成。帧率常见的值有 24,25,30,60,120 。帧率越高,视频就越丝滑,当然处理和存储的开销也就越大。
保持帧率,指的是原视频是多少帧率,合成后的视频就是多少帧率。软件默认是调整成了30帧。这个设定其实不是太好,最好是启用这个参数。
4. 保留音轨(keep audio)
音轨就是指视频的声音,勾选这个参数就是保留原视频的声音,大部分情况下,肯定是要选择启用。有些特殊情况下,可能不需要声音,此时可以把不启用这个选项。
5. 保留帧图(keep frames)
很多人可能不太理解这个参数。我稍微解释一下。视频换脸的过程种,是先把视频变成了图片,然后每张图片换脸,然后再把图标合成成视频。一张张的图片,我这里就简称“帧图”了。
默认情况,这个参数不启用。
如果你需要用其他工具对这些图片进行处理,然后自己合成,那么可以勾选这个参数。
6. 替换全部(Many faces)
全部替换,指的是视频中有多少人脸就替换多少人脸。
默认情况不启用这个参数,如果目标视频里是一个人,一切都不会有什么问题。
如果视频中出现两张脸,就会遇到问题了。按默认的参数,它会自己选一张脸进行替换,而且不一定一直是同一张脸。有可能会出现视频中跳跃替换的情况。
这个问题目前没有太好的解决方案。现在开源的人脸识别算法人脸对比的能力往往低于人脸检测的能力。这样即便使用特定的人脸对比算法来处理,也可能出现漏换的问题。
还有一些方法是通过人脸大小,或者年龄,性别来指定目标人物。可以解决一些场景的问题,但是也无法100%准确处理。
目前的参数,主要解决 1和N的问题,不正真解决特定人替换的问题。
主要的参数就是这些了。
一般正常的流程操作是,把增强,保持音轨,保持帧率启用,其他不动。
另外还有一些应隐藏的参数没有释放出来,会搞得人可以自己在命令行中启用。
我这里也简单说明一下。
设备选择 Using GPU
option: –execution-provider
default: cpuUsing GPU
option: –execution-provider
default: cpu
这是一个设备选择参数,理论上支持很多设备,比如英伟达的CUDA,英特尔的OpenViNO,苹果的CoreML,AMD的….等。
视频编码 Choose a video encoder
option: –video-encoder
default: libx264
目前可用的编码器有: libx264, libx265, libvpx-vp9`
视频质量 Set video quality
option: –video-quality
default: 18
一般来说默认值够用,如果你有调整需要,可以通过数字来调整,取值区间为1到51之间的数字。
内存限制 Limit RAM
option: –max-memory
default: system dependent
如果您想限制roop可以使用多少RAM,请使用此选项。它接受一个数字,例如–max-memory 4表示限制为4GB。但是这个只是你的主观意愿而已,最终用多少,好像并不是你说了算。
roop相关的参数应该都在这里了。以后就不专门讲这一点了。
下一篇,我应该会发布 AI绘画的最新集成包。
包含了Stable Diffusion WebUI的最新更新,
包含黑色主题,
包含中文插件,
包含完整的Roop插件(单图换脸)
包含完整的SadTalker插件(单图说话)
Roop和SadTalk这两个插件独立出来并不是太容易,还专门改了一些代码。为了解决一些奇怪的问题,花了不少时间。
另外多说几句。
我是纯纯的单枪匹马,
要摸索研究,
又要测试记录,
又要写文章,
又要做离线包,
又要做演示效果,
偶尔还要改改代码…
所以常常要比较投入提高效率
某些平台的消息回复不及时,请多理解。
有些时候并不是我不给响应,是我的线程已经占满了~~
精力有限,干完活比看完片还虚~~
有的时候是,能力有限~~哈哈!
说多了,说多了,收回来。
有没有要SDW最新集成包的?举起你们的大拇子,让我看到你们的热情~~
昨天roop项目进行了一次重大更新
@everyone I just released roop 1.2.0 🤩
Features:
+ Lock faces to prevent bouncing via multiple faces
+ Switch reference face via UP/DOWN arrows in the preview
+ Switch frames via LEFT/RIGHT arrows in the preview
+ Open the UI with source and target path by passing -s and -t
+ Change cli args –keep-audio to –skip-audio
+ Speedup for enhancer by factor 1.2 – 1.5 by just enhancing the face (bbox) over frame
+ Enable MPS backend for enhancer under MacOS
+ Default for max memory has been removed
+ Extract and process only the fps that are targeted
+ Drag and drop source and target paths to the UI
Bugfixes:
+ Preview is again fast as of improved model creation
+ Fix video frames lower than threads
+ Fix for the fps mismatch (slow motion output)
Face reference
Describes the snapshot of a face being used for the face recognition during processing frames.
Different approaches
Define the face position via –reference-face-position on a frame –reference-frame-number of the target video
Upload a image via –reference-path and to extract the face (not implemented yet)
Face recognition
Describes the process of comparing two faces against a given threshold, called face distance.
You can adjust the threshold via –similar-face-distance. Default is 0.85. In case you experience bouncing on a single person video, try to lower the threshold or disable face recognition by using –many-faces.
Face distance
Describes how similar two faces are.
Face bouncing
Describes flicker between persons during processing frames as of failing face recognition.