00:00
这期视频讲解如何通过count UI的工作流实现换脸效果,支持单张人脸同时处理多张人脸以及视频的合成处理。我们最早期使用的是TE deficial web UI中的扩展进行换脸,无需复杂的数据集或训练过程,利用生成对抗网络生成逼帧的面部图像。然而RI的代码已经停止维护和更新,迎来了升级版的reactor,不仅继承了结合性换脸技术,还提供了更高的换脸质量、更快的处理速度和更广泛的应用场景。A confi reactor note是一个基于reactor的专为con设计的高效脸部交换扩展节点。没有Conr基础的同学可以通过视频简介中的链接直接体验换脸工作流,能够处理图片、视频以及多人换的任务,可以通过启用框内节点和忽略框内节点来切换执行的任务,我一般先启用图片换人任务调参和查看效果,达到满意程度后再切换到视频换脸,现在带大家一起构建工作流,需要两个加载图像节点来分别上传原图和参考人脸图片。原图是。
01:00
将要被替换面部的图片,而参考人脸则是希望替换上去的面部图像。接下来添加reactor换脸节点,并把两个节点分别连接到目标图像和原图像,然后设置基础参数置换模型INSSO模型及INS inside face提供的预训练模型主要功能是实现图像中的人脸替换。检测模型能够高效的在原图像和输入图像中识别人脸。有多种模型可供选择,配件性能较好的re net50修复模型默认为nu。由于换脸模型中的128表示128分辨率的输入,通过牺牲部分高频细节换取计算效率,因此存在模糊不清的情况。为了改善这一问题,可以使用修复模型。有多种模型可以选择code former JSP gone和GPN等等。另外还有两个关键参数可以调整的,优化脸部修复效果,面部修复可见性,控制修复的清晰可见度以及模型的权重,最后添加预览图像节点的预览和保存效果图,这样就初步构建起单人图片画脸的工作流。接下来多人画脸用。
02:00
两种方法第一种,N个换脸节点处理N张单图。设置一个换脸节点处理左侧脸部,把目标面部索引和圆面部索引都设置成0索引,用于指定在图像中存在多个人脸时,选择使用哪个位置的脸部,按照从左到右、从上到下的顺序排列,并从0开始计数。设置另一个换脸节点处理右侧脸部,把目标索引设为1,以此类推,有N个脸部就需要配置N个换脸节点。第二种,单个换脸节点处理一张合成图。例如,目标图像中的第二张脸换成合成图的第一张脸,同时目标图像的第一张脸换成合成图的第二张脸,只需要设置目标面部索引为0 1,原面部索引为1 0对于视频而言,核心色素在于对视频中的每一帧都执行相同的换脸操作。首先创建一个加载视频节点并连接图像的换脸节点。帧率及每秒帧数0表示使用视频的原始帧率custom with和height可自定义分辨率帧数读取上限依据每秒帧加在上限确定。
03:00
最大图像数量0表示加载全部图像,跳过前X帧确定从第几帧开始计数。魔选表示选择每个N帧进行处理,例如设为2的帧率减半可用于对视频进行抽帧处理。小提示,为避免等待时间过长或内存不足,建议抽帧或者结合设置跳过帧和上限分批处理视频,最后审核并为视频节点重新组合处理后的帧选择不同格式有不同的选项参数,如pixel format可选8位色或10位色,不同设置影响视频的色彩表现。CRF数值越低,视频质量越高,文件也越大。Ping pong正反播决定是否倒序播放。本期视频通过con reactor, 从图片到视频,从单人到多人,都可以借助工作流实现画面效果。希望对大家有帮助,我们下期再见。
我来说两句