[deepfakes/faceswap]添加最大比例选项

2024-04-01 573 views
2

此 PR 添加了在转换中设置最大比例参数的选项。最大比例定义为源帧中任何面部的original_roi的最长边缘与模型输出尺寸的最大比率。

示例 1:设最大比例为 2,模型的输出尺寸为 256px。图像包含一张 768x400 像素的脸部。最大比例 = 768/256 = 3。因此,在粘贴预测人脸之前,图像将缩放 2/3。

示例 2:设最大比例为 1.5,模型的输出尺寸为 512px。图像包含一张 400x300 像素的脸部。最大比率 = 400/512 < 1。因此,图像不会缩放。

示例 3:令最大比例为 0(默认)。图像不会被缩放。

当模型分辨率相对于目标较小时,将 max_scale 设置为小于 2 的数字会产生视觉上更加真实的结果。

在应用适当的转换之前,此功能会检查输入是否是图像文件夹而不是视频。视频帧需要(微不足道的)进一步的工作才能与可变分辨率帧兼容。然而,从不同分辨率的帧生成视频是没有意义的。因此,没有包含此功能。

回答

4

你好@aopsr!感谢您打开此 PR。我们检查了您所触及的PEP 8问题行,并发现:

第 437:1 行W293空行包含空格

第 137:1 行W293空白行包含空格

第 789:100 行E501行太长(156 > 99 个字符)

第 248:100行:E501行太长(198 > 99 个字符) 第 253:52 行E128延续行缩进不足,以实现视觉缩进 第 254:52 行E128延续行缩进不足,以实现视觉缩进 行 255:52E128延续行为视觉缩进不足缩进 行 256:52 : E128延续行为视觉缩进不足 行 257:52 : E128延续行为视觉缩进不足 行 257:100 : E501行太长(104 > 99 个字符)

第 814:1 行W293空白行包含空格 第 829:54 行E231在“,”之后缺少空格

第 774:1 行W293空白行包含空格

5

抱歉,我在这个问题上坐了这么久。我不确定这里的附加值。

如果我理解正确,最终输出图像的大小将根据模型输出的大小进行调整。如果是这样的话,那么我有以下保留:

  • Faceswap 主要用于视频,此 PR 不涵盖视频,因此将为非常有限的用例添加一个选项
  • 可以在输入到 Faceswap 的原始图像或从 Faceswap 生成的最终输出图像上相当轻松地调整图像大小。可能有人会说(在后一种情况下)最好在判断是否应该调整图像大小之前查看交换的输出。
  • 唯一的潜在好处是,如果您要交换大量不同尺寸的图像,否则“输出缩放”可以达到大致相同的效果
8

是的,确切地说,公关背后的灵感是一个包含 1000 多张总部照片的文件夹,每张照片都有不同尺寸的脸部。有些人的脸很小,可以保留原始分辨率,而无需交换像素化。其他的是特写镜头,在交换之前调整大小会受益。此 PR 将允许 Faceswap 精确调整每个图像的大小。

如果您觉得这个 PR 没有多大好处,则不需要合并它 - 自从这个 PR 无论如何打开以来,代码库已经发生了很大的变化,并且需要一些调整。

8

我非常感谢您的公关以及您所做的工作,但我要结束这一活动了。我觉得你的情况很极端,而且我不相信在交换之前调整图像的比例与交换发生后调整图像的大小相比会有很大的好处(尽管我确实意识到这可能是当您处理数千张图像时,这是一项相当繁琐的任务)。

最终,我需要平衡项目的利益和支持任何功能所需的时间。

再次感谢您的公关,请不要推迟将来的贡献。