详解 Rope (Opal-03a) 的变化

(一)特点

最新版本的Rope叫猫眼石(Opal)。
最大的改变是界面(这里提到过),变成了类似视频处理软件的风格。
改动大就容易引入bug,所以最近几次作者的更新都在修复bug们。

昨天更新到Opal-03a后,俺发现之前的bug似乎都消失了。
在这里插入图片描述

(二)使用流程

虽然界面大变,但整个使用流程是没有变化的。

  1. 设置src面容/dst目标视频图片/输出目录(只需要设置一次,以后点击【Start Rope】就加载了)。
  2. 选择一个dst并找到面容,选择src或src的组合(embedding)进行替换。
  3. 调整参数使得预览结果更自然。
  4. 录制视频到输出目录。

当前选中的dst,面容,替换对象,都有明显的选中标记(红框)。
启用的参数,也都会变成高亮的白色。

(三)界面

变成了左中右结构。

  • 左:目录区域 —— src、dst、输出目录设置。以及目录中的内容。
  • 中:预览控制 —— 播放控制界面,找到的面容,替换快捷方式。
  • 右:各种参数。

在这里插入图片描述

(四)详解

(4.1)目录区域

在这里插入图片描述

⭐Start Rope

当你把2,3,4的目录都设置好后。
以后每次使用只需要点击这个按钮,就会加载各个目录中内容。

⭐Video Folder

选择输入的(dst)目标视频/图片目录,下方会显示目录中视频/图片列表。
PS:只需要设置一次。

⭐Output Folder

选择输出目录。
PS:只需要设置一次。

⭐Faces Folder

选择输入的(src)面部图片所在目录,下方会显示目录中找到的人物列表。
PS:只需要设置一次。

(4.2)预览控制

在这里插入图片描述

⭐Enable Audio

预览时打开声音。
如果你的显卡性能不错,可以打开这个选项,有声的实时预览替换结果。
不过性能跟不上会导致音画不同步。

⭐Show Mask

显示遮罩区域。
启用后预览界面会变成面部和遮罩两个区域,便于观察遮罩情况(正式用时请关掉)。
在这里插入图片描述

⭐Video Image

切换dst是用视频还是图片。

⭐预览位置+当前帧数

在这里插入图片描述
拖放滑块,改变目标视频预览的位置。
在进度条上滚动鼠标滚轮,可以控制 上一帧 / 下一帧

⭐播放控制

在这里插入图片描述
依次是:
|<回到最前<<回退30帧录制播放>>前进30帧
PS:之前很方便的asdw键盘控制暂时没法用了,所以难以精确定位。

⭐标记控制

在这里插入图片描述
依次是:
增加标记点删除当前标记点移动到上个标记点移动到下个标记点
标记点上记录的是参数的设置,作用于当前标记点到下个标记点之前的帧。
PS:之前的结束点设置暂时缺失,所以只能 “换到底” 或者 “手动停止”。

⭐Save Image

保存当前预览界面显示的内容(显示什么就保存什么)。

⭐Find faces

寻找dst当前帧中的人物,找到就添加到人物列表中。

⭐Clear faces

清空人物列表中的所有人物。

⭐Swap faces

点亮才启用替换,这个按钮放在这个位置,似乎逻辑不太对。

⭐Delete Embs

删除中选中的Embedding。

⭐Faces in dst list

可以从dst视频多帧中找到多个人物,都会列表显示在这里。

⭐Embedding of src list

Embedding,也就是src组合快捷方式列表区域,相当于几个src面容组合的快捷方式。
没有单独的添加按钮,只需要选中几个src,再录入名称,回车,就新建好一个Embedding了。
保存在merged_embeddings.txt中。

(4.3)参数区域

⭐VRAM

在这里插入图片描述
清理显存按钮,以及显存占用比例情况。

⭐Params

在这里插入图片描述
保存当前参数(saved_parameters.json),加载保存的参数,加载缺省参数。


⭐Restorer

在这里插入图片描述
选择是否启用超分辨率。

  • Restorer Type:速度: GPEN256>GFPGAN>CF>GPEN512
  • Alignment:为修复程序选择人脸的对齐方式。原版(Original)保留面部特征和表情,但可能会显示一些伪影。参考参考(Reference)会柔化特征。混合(Blend)更接近参考(Reference)但速度更快。
  • BLENDS:将还原结果与原始交换结果混合的修复量。

⭐Similarity

在这里插入图片描述
相似度阈值。

降低阈值以减少多人交换时的人脸跳动。设置为最大值使输入的人脸适用于画面中的任何/所有人脸。
滚动鼠标滚轮,可以控制数值的增加/减少。


⭐Orientation

在这里插入图片描述
方向。

设置检测的方向,启用后可以按90°为单位,顺时针旋转。
滚动鼠标滚轮,可以控制角度的增加/减少。


⭐Strength

在这里插入图片描述
强度。

应用更多的交换迭代来增加结果的强度,这可能会增加相似度。最多可增加 5 倍(500%)。200% 通常是不错的结果。设置为 0 关闭交换,但允许处理流程的其他部分继续应用到原始图像。
滚动鼠标滚轮,可以控制数值的增加/减少。


⭐Border

在这里插入图片描述
边缘距离和混合。
矩形,其顶部、底部和侧面均可调整,可将交换后的脸部结果重新融合到原始图像中。
滚动鼠标滚轮,可以控制数值的增加/减少。


⭐Differencing

在这里插入图片描述
差异。

当两张图像之间的差异较小时,可让原始脸部的一些部分显示在交换后的结果中。可帮助对调后的脸部恢复一些质感。数值越大相似性约束越宽松。
滚动鼠标滚轮,可以控制数值的增加/减少。


⭐Occluder

在这里插入图片描述
遮挡。

启用遮挡模型并调整大小。
滚动鼠标滚轮,可以控制数值的增加/减少。


⭐Face Parser

在这里插入图片描述
面部解析。

让原始图像中未经处理的背景显示在最终的交换图像中。

  • Background:负值/正值可缩小或扩大遮罩。
  • Mouth:口腔遮罩量,调整遮罩的大小。负值仅遮挡口腔内部包括舌头。正值也包括嘴唇。

滚动鼠标滚轮,可以控制数值的增加/减少。


⭐CLIP

在这里插入图片描述
呃,这版不再叫CLIP,更易懂。
就是基于文字描述的遮挡。

启用后输入单词,多个单词中间逗号分隔。


⭐Overall Mask Blend

在这里插入图片描述
组合蒙版的混合距离。不适用于边界蒙版。


⭐Color

在这里插入图片描述
颜色调节。

可以RGB微调,让色彩更加自然。


⭐Input Face Adjustments

在这里插入图片描述
微调位置缩放等。


⭐Others

在这里插入图片描述

  • Threads:设置播放和录制时的执行线程数。数量主要取决于显存大小。
  • Detection Type:选择人脸检测模型。大多数情况下只有细微差别,但当人脸处于极端角度或被遮挡时,可能会出现明显差异。
  • Detect Score:确定检测到人脸所需的最低分数。数值越高,检测到的人脸质量越高。例如,如果人脸在极端角度下闪烁,则提高该值将限制交换的尝试。
  • Record Type:选择用于视频录制的录制库。FFMPEG 使用视频质量滑块来调整最终视频的大小和质量。OPENCV 没有任何选项,但速度更快、效果更好。
  • Merge Math:当Shift点击多个面孔或使用Embedding时,决定如何合并嵌入向量。

(五)总结

请参考之前相关的文档,包括和FaceFusion的对比等。
好累,也没啥意义,以后应该不会再写这方面的东西了。

  • 10
    点赞
  • 31
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Rope是一款轻量级别的ETL(Extract-Transform-Load)工具。主要用于从不同源获取/接受数据,然后统一处理数据后,写入到各种目标源;系统采用多级缓冲和数据缓存,每秒可处理上万级别的数据;而且系统采用插件扩展系统的各个组件,针对不同需求扩展不同插件。 Rope特性: 1、轻量级别、快速、简单,入门门槛低 2、基于Springboot开发 3、扩展性强,基于插件开发,可根据不同需求来开发数据读取者、数据处理器、数据写入者 4、既可通过UI界面来构建流程、也可以使用json、yml文件构建流程 5、基于 Disruptor 做的缓冲,并新增缓存(内存、redis、rocksdb等),处理速度快 Rope核心模块: 输入模块 用于控制数据的输入动作。主要包括两种类型:主动获取型输入、被动接受性输入。 数据读取者 该模块主要是读取数据的具体实现,可自行扩展。不能单独运行,需要作用于 主动获取型Input上才能运行。 数据传输模块 主要对数据进行传送,系统中存在两种数据传输:一个是用于把输入模块输入的数据传输到数据处理器中,另一个是把数据处理器处理后的数据传输到输出模块中。目前支持默认的数据传输器和基于Disruptor的缓冲数据传输器,在实际环境中建议Disruptor的缓冲数据传输器。 数据处理器模块 该组件为数据处理器,其作用是处理数据,比如将字符型数据处理成其他类型、丢弃某数据、新增某数据字段。该组件可自行扩展,是非必须组件。 数据输出模块 该组件主要用于系统数据的输出,即将数据以哪种方式输出,它并不关心数据输出到哪里去,只关心数据如何输出。 数据写入者 该组件为具体数据写入的实现,它主要关心数据写入到哪里去,为数据输出的具体实现。必须作用于Output上才能运行。 数据转换器-Converter 数据转换器,该组件主要用于数据类型的转换,大部分情况是配合Reader Writer实现的,核心思想是让Reader Writer关心数据的读取、写入,它关心数据类型的转换细节。这样就具有很强的扩展性。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值