1
0
Fork 0
mirror of https://github.com/deepfakes/faceswap synced 2025-06-07 10:43:27 -04:00

Mask tool. Add ability to output custom imported masks

This commit is contained in:
torzdf 2024-06-28 13:50:14 +01:00
parent c8652ecaac
commit ea63f1e64a
9 changed files with 92 additions and 70 deletions

View file

@ -6,8 +6,8 @@ msgid ""
msgstr "" msgstr ""
"Project-Id-Version: faceswap.spanish\n" "Project-Id-Version: faceswap.spanish\n"
"Report-Msgid-Bugs-To: \n" "Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2024-03-28 23:51+0000\n" "POT-Creation-Date: 2024-06-28 13:45+0100\n"
"PO-Revision-Date: 2024-03-29 00:01+0000\n" "PO-Revision-Date: 2024-06-28 13:47+0100\n"
"Last-Translator: \n" "Last-Translator: \n"
"Language-Team: tokafondo\n" "Language-Team: tokafondo\n"
"Language: es_ES\n" "Language: es_ES\n"
@ -16,7 +16,7 @@ msgstr ""
"Content-Transfer-Encoding: 8bit\n" "Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n"
"Generated-By: pygettext.py 1.5\n" "Generated-By: pygettext.py 1.5\n"
"X-Generator: Poedit 3.4.2\n" "X-Generator: Poedit 3.4.4\n"
#: tools/mask/cli.py:15 #: tools/mask/cli.py:15
msgid "" msgid ""
@ -181,7 +181,7 @@ msgstr ""
"файл выравниваний. Примечание. «custom» должен быть выбранным «masker», а " "файл выравниваний. Примечание. «custom» должен быть выбранным «masker», а "
"маски должны быть в том же формате, что и «input-type» (frames или faces)." "маски должны быть в том же формате, что и «input-type» (frames или faces)."
#: tools/mask/cli.py:135 tools/mask/cli.py:154 tools/mask/cli.py:174 #: tools/mask/cli.py:135 tools/mask/cli.py:154 tools/mask/cli.py:176
msgid "import" msgid "import"
msgstr "importar" msgstr "importar"
@ -216,9 +216,11 @@ msgstr ""
#: tools/mask/cli.py:156 #: tools/mask/cli.py:156
msgid "" msgid ""
"R|Import only. The centering to use when importing masks. Note: For any job " "R|Import/Output only. When importing masks, this is the centering to use. "
"other than 'import' this option is ignored as mask centering is handled " "For output this is only used for outputting custom imported masks, and "
"internally.\n" "should correspond to the centering used when importing the mask. Note: For "
"any job other than 'import' and 'output' this option is ignored as mask "
"centering is handled internally.\n"
"L|face: Centers the mask on the center of the face, adjusting for pitch and " "L|face: Centers the mask on the center of the face, adjusting for pitch and "
"yaw. Outside of requirements for full head masking/training, this is likely " "yaw. Outside of requirements for full head masking/training, this is likely "
"to be the best choice.\n" "to be the best choice.\n"
@ -230,9 +232,12 @@ msgid ""
"the nose with and crops closely to the face. Can result in the edges of the " "the nose with and crops closely to the face. Can result in the edges of the "
"mask appearing outside of the training area." "mask appearing outside of the training area."
msgstr "" msgstr ""
"R|Sólo importar. El centrado a utilizar al importar máscaras. Nota: Para " "R|Solo importación/salida. Al importar máscaras, este es el centrado que se "
"cualquier trabajo que no sea \"importar\", esta opción se ignora ya que el " "debe utilizar. Para la salida, esto solo se utiliza para generar máscaras "
"centrado de la máscara se maneja internamente.\n" "importadas personalizadas y debe corresponder al centrado utilizado al "
"importar la máscara. Nota: Para cualquier trabajo que no sea \"importación\" "
"y \"salida\", esta opción se ignora ya que el centrado de la máscara se "
"maneja internamente.\n"
"L|cara: centra la máscara en el centro de la cara, ajustando el tono y la " "L|cara: centra la máscara en el centro de la cara, ajustando el tono y la "
"orientación. Aparte de los requisitos para el entrenamiento/enmascaramiento " "orientación. Aparte de los requisitos para el entrenamiento/enmascaramiento "
"de cabeza completa, esta probablemente sea la mejor opción.\n" "de cabeza completa, esta probablemente sea la mejor opción.\n"
@ -244,7 +249,7 @@ msgstr ""
"nariz y la recorta cerca de la cara. Puede provocar que los bordes de la " "nariz y la recorta cerca de la cara. Puede provocar que los bordes de la "
"máscara aparezcan fuera del área de entrenamiento." "máscara aparezcan fuera del área de entrenamiento."
#: tools/mask/cli.py:179 #: tools/mask/cli.py:181
msgid "" msgid ""
"Import only. The size, in pixels to internally store the mask at.\n" "Import only. The size, in pixels to internally store the mask at.\n"
"The default is 128 which is fine for nearly all usecases. Larger sizes will " "The default is 128 which is fine for nearly all usecases. Larger sizes will "
@ -256,12 +261,12 @@ msgstr ""
"uso. Los tamaños más grandes darán como resultado archivos de alineaciones " "uso. Los tamaños más grandes darán como resultado archivos de alineaciones "
"más grandes y un procesamiento más largo." "más grandes y un procesamiento más largo."
#: tools/mask/cli.py:187 tools/mask/cli.py:195 tools/mask/cli.py:209 #: tools/mask/cli.py:189 tools/mask/cli.py:197 tools/mask/cli.py:211
#: tools/mask/cli.py:223 tools/mask/cli.py:233 #: tools/mask/cli.py:225 tools/mask/cli.py:235
msgid "output" msgid "output"
msgstr "salida" msgstr "salida"
#: tools/mask/cli.py:189 #: tools/mask/cli.py:191
msgid "" msgid ""
"Optional output location. If provided, a preview of the masks created will " "Optional output location. If provided, a preview of the masks created will "
"be output in the given folder." "be output in the given folder."
@ -269,7 +274,7 @@ msgstr ""
"Ubicación de salida opcional. Si se proporciona, se obtendrá una vista " "Ubicación de salida opcional. Si se proporciona, se obtendrá una vista "
"previa de las máscaras creadas en la carpeta indicada." "previa de las máscaras creadas en la carpeta indicada."
#: tools/mask/cli.py:200 #: tools/mask/cli.py:202
msgid "" msgid ""
"Apply gaussian blur to the mask output. Has the effect of smoothing the " "Apply gaussian blur to the mask output. Has the effect of smoothing the "
"edges of the mask giving less of a hard edge. the size is in pixels. This " "edges of the mask giving less of a hard edge. the size is in pixels. This "
@ -282,7 +287,7 @@ msgstr ""
"redondeará al siguiente número impar. NB: Sólo afecta a la vista previa de " "redondeará al siguiente número impar. NB: Sólo afecta a la vista previa de "
"salida. Si se ajusta a 0, se desactiva" "salida. Si se ajusta a 0, se desactiva"
#: tools/mask/cli.py:214 #: tools/mask/cli.py:216
msgid "" msgid ""
"Helps reduce 'blotchiness' on some masks by making light shades white and " "Helps reduce 'blotchiness' on some masks by making light shades white and "
"dark shades black. Higher values will impact more of the mask. NB: Only " "dark shades black. Higher values will impact more of the mask. NB: Only "
@ -293,7 +298,7 @@ msgstr ""
"más a la máscara. NB: Sólo afecta a la vista previa de salida. Si se ajusta " "más a la máscara. NB: Sólo afecta a la vista previa de salida. Si se ajusta "
"a 0, se desactiva" "a 0, se desactiva"
#: tools/mask/cli.py:225 #: tools/mask/cli.py:227
msgid "" msgid ""
"R|How to format the output when processing is set to 'output'.\n" "R|How to format the output when processing is set to 'output'.\n"
"L|combined: The image contains the face/frame, face mask and masked face.\n" "L|combined: The image contains the face/frame, face mask and masked face.\n"
@ -308,7 +313,7 @@ msgstr ""
"enmascarada.\n" "enmascarada.\n"
"L|mask: Sólo emite la máscara como una imagen de un solo canal." "L|mask: Sólo emite la máscara como una imagen de un solo canal."
#: tools/mask/cli.py:235 #: tools/mask/cli.py:237
msgid "" msgid ""
"R|Whether to output the whole frame or only the face box when using output " "R|Whether to output the whole frame or only the face box when using output "
"processing. Only has an effect when using frames as input." "processing. Only has an effect when using frames as input."

View file

@ -7,8 +7,8 @@ msgid ""
msgstr "" msgstr ""
"Project-Id-Version: \n" "Project-Id-Version: \n"
"Report-Msgid-Bugs-To: \n" "Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2024-03-28 23:51+0000\n" "POT-Creation-Date: 2024-06-28 13:45+0100\n"
"PO-Revision-Date: 2024-03-29 00:05+0000\n" "PO-Revision-Date: 2024-06-28 13:48+0100\n"
"Last-Translator: \n" "Last-Translator: \n"
"Language-Team: \n" "Language-Team: \n"
"Language: ko_KR\n" "Language: ko_KR\n"
@ -16,7 +16,7 @@ msgstr ""
"Content-Type: text/plain; charset=UTF-8\n" "Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n" "Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=1; plural=0;\n" "Plural-Forms: nplurals=1; plural=0;\n"
"X-Generator: Poedit 3.4.2\n" "X-Generator: Poedit 3.4.4\n"
#: tools/mask/cli.py:15 #: tools/mask/cli.py:15
msgid "" msgid ""
@ -165,7 +165,7 @@ msgstr ""
"'custom'은 선택된 'masker'여야 하며 마스크는 'input-type'(frames 또는 faces)" "'custom'은 선택된 'masker'여야 하며 마스크는 'input-type'(frames 또는 faces)"
"과 동일한 형식이어야 합니다." "과 동일한 형식이어야 합니다."
#: tools/mask/cli.py:135 tools/mask/cli.py:154 tools/mask/cli.py:174 #: tools/mask/cli.py:135 tools/mask/cli.py:154 tools/mask/cli.py:176
msgid "import" msgid "import"
msgstr "수입" msgstr "수입"
@ -196,9 +196,11 @@ msgstr ""
#: tools/mask/cli.py:156 #: tools/mask/cli.py:156
msgid "" msgid ""
"R|Import only. The centering to use when importing masks. Note: For any job " "R|Import/Output only. When importing masks, this is the centering to use. "
"other than 'import' this option is ignored as mask centering is handled " "For output this is only used for outputting custom imported masks, and "
"internally.\n" "should correspond to the centering used when importing the mask. Note: For "
"any job other than 'import' and 'output' this option is ignored as mask "
"centering is handled internally.\n"
"L|face: Centers the mask on the center of the face, adjusting for pitch and " "L|face: Centers the mask on the center of the face, adjusting for pitch and "
"yaw. Outside of requirements for full head masking/training, this is likely " "yaw. Outside of requirements for full head masking/training, this is likely "
"to be the best choice.\n" "to be the best choice.\n"
@ -210,9 +212,11 @@ msgid ""
"the nose with and crops closely to the face. Can result in the edges of the " "the nose with and crops closely to the face. Can result in the edges of the "
"mask appearing outside of the training area." "mask appearing outside of the training area."
msgstr "" msgstr ""
"R|가져오기만. 마스크를 가져올 때 사용할 센터링입니다. 참고: '가져오기' 이외" "R|Import/Output only. 마스크를 가져올 때, 이것은 사용할 중앙 정렬입니다. 출력"
"의 모든 작업의 경우 마스크 센터링이 내부적으로 처리되므로 이 옵션은 무시됩니" "의 경우, 이것은 사용자 지정 가져온 마스크를 출력하는 데만 사용되며, 마스크를 "
"다.\n" "가져올 때 사용된 중앙 정렬과 일치해야 합니다. 참고: 'import' 및 'output' 이외"
"의 모든 작업의 ​​경우 마스크 중앙 정렬이 내부적으로 처리되므로 이 옵션은 무시됩"
"니다.\n"
"L|면: 피치와 요를 조정하여 마스크를 얼굴 중앙에 배치합니다. 머리 전체 마스킹/" "L|면: 피치와 요를 조정하여 마스크를 얼굴 중앙에 배치합니다. 머리 전체 마스킹/"
"훈련에 대한 요구 사항을 제외하면 이것이 최선의 선택일 가능성이 높습니다.\n" "훈련에 대한 요구 사항을 제외하면 이것이 최선의 선택일 가능성이 높습니다.\n"
"L|head: 마스크를 머리 중앙에 배치하여 피치와 요를 조정합니다. 참고: 마스크 내" "L|head: 마스크를 머리 중앙에 배치하여 피치와 요를 조정합니다. 참고: 마스크 내"
@ -221,7 +225,7 @@ msgstr ""
"L|레거시: '원래' 추출 기술입니다. 마스크를 코 근처 중앙에 배치하고 얼굴에 가" "L|레거시: '원래' 추출 기술입니다. 마스크를 코 근처 중앙에 배치하고 얼굴에 가"
"깝게 자릅니다. 마스크 가장자리가 훈련 영역 외부에 나타날 수 있습니다." "깝게 자릅니다. 마스크 가장자리가 훈련 영역 외부에 나타날 수 있습니다."
#: tools/mask/cli.py:179 #: tools/mask/cli.py:181
msgid "" msgid ""
"Import only. The size, in pixels to internally store the mask at.\n" "Import only. The size, in pixels to internally store the mask at.\n"
"The default is 128 which is fine for nearly all usecases. Larger sizes will " "The default is 128 which is fine for nearly all usecases. Larger sizes will "
@ -231,12 +235,12 @@ msgstr ""
"기본값은 128이며 거의 모든 사용 사례에 적합합니다. 크기가 클수록 정렬 파일도 " "기본값은 128이며 거의 모든 사용 사례에 적합합니다. 크기가 클수록 정렬 파일도 "
"커지고 처리 시간도 길어집니다." "커지고 처리 시간도 길어집니다."
#: tools/mask/cli.py:187 tools/mask/cli.py:195 tools/mask/cli.py:209 #: tools/mask/cli.py:189 tools/mask/cli.py:197 tools/mask/cli.py:211
#: tools/mask/cli.py:223 tools/mask/cli.py:233 #: tools/mask/cli.py:225 tools/mask/cli.py:235
msgid "output" msgid "output"
msgstr "출력" msgstr "출력"
#: tools/mask/cli.py:189 #: tools/mask/cli.py:191
msgid "" msgid ""
"Optional output location. If provided, a preview of the masks created will " "Optional output location. If provided, a preview of the masks created will "
"be output in the given folder." "be output in the given folder."
@ -244,7 +248,7 @@ msgstr ""
"선택적 출력 위치. 만약 값이 제공된다면 생성된 마스크 미리 보기가 주어진 폴더" "선택적 출력 위치. 만약 값이 제공된다면 생성된 마스크 미리 보기가 주어진 폴더"
"에 출력됩니다." "에 출력됩니다."
#: tools/mask/cli.py:200 #: tools/mask/cli.py:202
msgid "" msgid ""
"Apply gaussian blur to the mask output. Has the effect of smoothing the " "Apply gaussian blur to the mask output. Has the effect of smoothing the "
"edges of the mask giving less of a hard edge. the size is in pixels. This " "edges of the mask giving less of a hard edge. the size is in pixels. This "
@ -256,7 +260,7 @@ msgstr ""
"은 홀수여야 하며 짝수가 전달되면 다음 홀수로 반올림됩니다. NB: 출력 미리 보기" "은 홀수여야 하며 짝수가 전달되면 다음 홀수로 반올림됩니다. NB: 출력 미리 보기"
"에만 영향을 줍니다. 0으로 설정하면 꺼집니다" "에만 영향을 줍니다. 0으로 설정하면 꺼집니다"
#: tools/mask/cli.py:214 #: tools/mask/cli.py:216
msgid "" msgid ""
"Helps reduce 'blotchiness' on some masks by making light shades white and " "Helps reduce 'blotchiness' on some masks by making light shades white and "
"dark shades black. Higher values will impact more of the mask. NB: Only " "dark shades black. Higher values will impact more of the mask. NB: Only "
@ -266,7 +270,7 @@ msgstr ""
"줄이는 데 도움이 됩니다. 값이 클수록 마스크에 더 많은 영향을 미칩니다. NB: 출" "줄이는 데 도움이 됩니다. 값이 클수록 마스크에 더 많은 영향을 미칩니다. NB: 출"
"력 미리 보기에만 영향을 줍니다. 0으로 설정하면 꺼집니다" "력 미리 보기에만 영향을 줍니다. 0으로 설정하면 꺼집니다"
#: tools/mask/cli.py:225 #: tools/mask/cli.py:227
msgid "" msgid ""
"R|How to format the output when processing is set to 'output'.\n" "R|How to format the output when processing is set to 'output'.\n"
"L|combined: The image contains the face/frame, face mask and masked face.\n" "L|combined: The image contains the face/frame, face mask and masked face.\n"
@ -279,7 +283,7 @@ msgstr ""
"L|masked: 마스크된 얼굴/프레임을 Rgba 이미지로 출력합니다.\n" "L|masked: 마스크된 얼굴/프레임을 Rgba 이미지로 출력합니다.\n"
"L|mask: 마스크를 단일 채널 이미지로만 출력합니다." "L|mask: 마스크를 단일 채널 이미지로만 출력합니다."
#: tools/mask/cli.py:235 #: tools/mask/cli.py:237
msgid "" msgid ""
"R|Whether to output the whole frame or only the face box when using output " "R|Whether to output the whole frame or only the face box when using output "
"processing. Only has an effect when using frames as input." "processing. Only has an effect when using frames as input."

View file

@ -7,8 +7,8 @@ msgid ""
msgstr "" msgstr ""
"Project-Id-Version: \n" "Project-Id-Version: \n"
"Report-Msgid-Bugs-To: \n" "Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2024-03-28 23:51+0000\n" "POT-Creation-Date: 2024-06-28 13:45+0100\n"
"PO-Revision-Date: 2024-03-29 00:07+0000\n" "PO-Revision-Date: 2024-06-28 13:48+0100\n"
"Last-Translator: \n" "Last-Translator: \n"
"Language-Team: \n" "Language-Team: \n"
"Language: ru\n" "Language: ru\n"
@ -17,7 +17,7 @@ msgstr ""
"Content-Transfer-Encoding: 8bit\n" "Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && " "Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && "
"n%10<=4 && (n%100<12 || n%100>14) ? 1 : 2);\n" "n%10<=4 && (n%100<12 || n%100>14) ? 1 : 2);\n"
"X-Generator: Poedit 3.4.2\n" "X-Generator: Poedit 3.4.4\n"
#: tools/mask/cli.py:15 #: tools/mask/cli.py:15
msgid "" msgid ""
@ -175,7 +175,7 @@ msgstr ""
"de alineaciones. Nota: 'custom' debe ser el 'masker' seleccionado y las " "de alineaciones. Nota: 'custom' debe ser el 'masker' seleccionado y las "
"máscaras deben tener el mismo formato que el 'input-type' (frames o faces)" "máscaras deben tener el mismo formato que el 'input-type' (frames o faces)"
#: tools/mask/cli.py:135 tools/mask/cli.py:154 tools/mask/cli.py:174 #: tools/mask/cli.py:135 tools/mask/cli.py:154 tools/mask/cli.py:176
msgid "import" msgid "import"
msgstr "Импортировать" msgstr "Импортировать"
@ -208,9 +208,11 @@ msgstr ""
#: tools/mask/cli.py:156 #: tools/mask/cli.py:156
msgid "" msgid ""
"R|Import only. The centering to use when importing masks. Note: For any job " "R|Import/Output only. When importing masks, this is the centering to use. "
"other than 'import' this option is ignored as mask centering is handled " "For output this is only used for outputting custom imported masks, and "
"internally.\n" "should correspond to the centering used when importing the mask. Note: For "
"any job other than 'import' and 'output' this option is ignored as mask "
"centering is handled internally.\n"
"L|face: Centers the mask on the center of the face, adjusting for pitch and " "L|face: Centers the mask on the center of the face, adjusting for pitch and "
"yaw. Outside of requirements for full head masking/training, this is likely " "yaw. Outside of requirements for full head masking/training, this is likely "
"to be the best choice.\n" "to be the best choice.\n"
@ -222,9 +224,12 @@ msgid ""
"the nose with and crops closely to the face. Can result in the edges of the " "the nose with and crops closely to the face. Can result in the edges of the "
"mask appearing outside of the training area." "mask appearing outside of the training area."
msgstr "" msgstr ""
"R|Только импорт. Центрирование, используемое при импорте масок. Примечание. " "R|Только импорт/вывод. При импорте масок это центрирование для "
"Для любого задания, кроме «импорта», этот параметр игнорируется, поскольку " "использования. Для вывода это используется только для вывода "
"центрирование маски обрабатывается внутри.\n" "пользовательских импортированных масок и должно соответствовать "
"центрированию, используемому при импорте маски. Примечание: для любого "
"задания, кроме «импорта» и «вывода», эта опция игнорируется, поскольку "
"центрирование маски обрабатывается внутренне.\n"
"L|face: центрирует маску по центру лица с регулировкой угла наклона и " "L|face: центрирует маску по центру лица с регулировкой угла наклона и "
"отклонения от курса. Помимо требований к полной маскировке/тренировке " "отклонения от курса. Помимо требований к полной маскировке/тренировке "
"головы, это, вероятно, будет лучшим выбором.\n" "головы, это, вероятно, будет лучшим выбором.\n"
@ -236,7 +241,7 @@ msgstr ""
"приближает ее к лицу. Это может привести к тому, что края маски окажутся за " "приближает ее к лицу. Это может привести к тому, что края маски окажутся за "
"пределами тренировочной зоны." "пределами тренировочной зоны."
#: tools/mask/cli.py:179 #: tools/mask/cli.py:181
msgid "" msgid ""
"Import only. The size, in pixels to internally store the mask at.\n" "Import only. The size, in pixels to internally store the mask at.\n"
"The default is 128 which is fine for nearly all usecases. Larger sizes will " "The default is 128 which is fine for nearly all usecases. Larger sizes will "
@ -247,12 +252,12 @@ msgstr ""
"использования. Большие размеры приведут к увеличению размера файлов " "использования. Большие размеры приведут к увеличению размера файлов "
"выравниваний и более длительной обработке." "выравниваний и более длительной обработке."
#: tools/mask/cli.py:187 tools/mask/cli.py:195 tools/mask/cli.py:209 #: tools/mask/cli.py:189 tools/mask/cli.py:197 tools/mask/cli.py:211
#: tools/mask/cli.py:223 tools/mask/cli.py:233 #: tools/mask/cli.py:225 tools/mask/cli.py:235
msgid "output" msgid "output"
msgstr "вывод" msgstr "вывод"
#: tools/mask/cli.py:189 #: tools/mask/cli.py:191
msgid "" msgid ""
"Optional output location. If provided, a preview of the masks created will " "Optional output location. If provided, a preview of the masks created will "
"be output in the given folder." "be output in the given folder."
@ -260,7 +265,7 @@ msgstr ""
"Необязательное местоположение вывода. Если указано, предварительный просмотр " "Необязательное местоположение вывода. Если указано, предварительный просмотр "
"созданных масок будет выведен в указанную папку." "созданных масок будет выведен в указанную папку."
#: tools/mask/cli.py:200 #: tools/mask/cli.py:202
msgid "" msgid ""
"Apply gaussian blur to the mask output. Has the effect of smoothing the " "Apply gaussian blur to the mask output. Has the effect of smoothing the "
"edges of the mask giving less of a hard edge. the size is in pixels. This " "edges of the mask giving less of a hard edge. the size is in pixels. This "
@ -273,7 +278,7 @@ msgstr ""
"Примечание: влияет только на предварительный просмотр. Установите значение 0 " "Примечание: влияет только на предварительный просмотр. Установите значение 0 "
"для выключения" "для выключения"
#: tools/mask/cli.py:214 #: tools/mask/cli.py:216
msgid "" msgid ""
"Helps reduce 'blotchiness' on some masks by making light shades white and " "Helps reduce 'blotchiness' on some masks by making light shades white and "
"dark shades black. Higher values will impact more of the mask. NB: Only " "dark shades black. Higher values will impact more of the mask. NB: Only "
@ -284,7 +289,7 @@ msgstr ""
"часть маски. Примечание: влияет только на предварительный просмотр. " "часть маски. Примечание: влияет только на предварительный просмотр. "
"Установите значение 0 для выключения" "Установите значение 0 для выключения"
#: tools/mask/cli.py:225 #: tools/mask/cli.py:227
msgid "" msgid ""
"R|How to format the output when processing is set to 'output'.\n" "R|How to format the output when processing is set to 'output'.\n"
"L|combined: The image contains the face/frame, face mask and masked face.\n" "L|combined: The image contains the face/frame, face mask and masked face.\n"
@ -297,7 +302,7 @@ msgstr ""
"L|masked: Вывести лицо/кадр как изображение rgba с маскированным лицом.\n" "L|masked: Вывести лицо/кадр как изображение rgba с маскированным лицом.\n"
"L|mask: Выводить только маску как одноканальное изображение." "L|mask: Выводить только маску как одноканальное изображение."
#: tools/mask/cli.py:235 #: tools/mask/cli.py:237
msgid "" msgid ""
"R|Whether to output the whole frame or only the face box when using output " "R|Whether to output the whole frame or only the face box when using output "
"processing. Only has an effect when using frames as input." "processing. Only has an effect when using frames as input."

View file

@ -8,7 +8,7 @@ msgid ""
msgstr "" msgstr ""
"Project-Id-Version: PACKAGE VERSION\n" "Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n" "Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2024-03-28 23:51+0000\n" "POT-Creation-Date: 2024-06-28 13:45+0100\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n" "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n" "Language-Team: LANGUAGE <LL@li.org>\n"
@ -114,7 +114,7 @@ msgid ""
"must be in the same format as the 'input-type' (frames or faces)" "must be in the same format as the 'input-type' (frames or faces)"
msgstr "" msgstr ""
#: tools/mask/cli.py:135 tools/mask/cli.py:154 tools/mask/cli.py:174 #: tools/mask/cli.py:135 tools/mask/cli.py:154 tools/mask/cli.py:176
msgid "import" msgid "import"
msgstr "" msgstr ""
@ -135,9 +135,11 @@ msgstr ""
#: tools/mask/cli.py:156 #: tools/mask/cli.py:156
msgid "" msgid ""
"R|Import only. The centering to use when importing masks. Note: For any job " "R|Import/Output only. When importing masks, this is the centering to use. "
"other than 'import' this option is ignored as mask centering is handled " "For output this is only used for outputting custom imported masks, and "
"internally.\n" "should correspond to the centering used when importing the mask. Note: For "
"any job other than 'import' and 'output' this option is ignored as mask "
"centering is handled internally.\n"
"L|face: Centers the mask on the center of the face, adjusting for pitch and " "L|face: Centers the mask on the center of the face, adjusting for pitch and "
"yaw. Outside of requirements for full head masking/training, this is likely " "yaw. Outside of requirements for full head masking/training, this is likely "
"to be the best choice.\n" "to be the best choice.\n"
@ -150,25 +152,25 @@ msgid ""
"mask appearing outside of the training area." "mask appearing outside of the training area."
msgstr "" msgstr ""
#: tools/mask/cli.py:179 #: tools/mask/cli.py:181
msgid "" msgid ""
"Import only. The size, in pixels to internally store the mask at.\n" "Import only. The size, in pixels to internally store the mask at.\n"
"The default is 128 which is fine for nearly all usecases. Larger sizes will " "The default is 128 which is fine for nearly all usecases. Larger sizes will "
"result in larger alignments files and longer processing." "result in larger alignments files and longer processing."
msgstr "" msgstr ""
#: tools/mask/cli.py:187 tools/mask/cli.py:195 tools/mask/cli.py:209 #: tools/mask/cli.py:189 tools/mask/cli.py:197 tools/mask/cli.py:211
#: tools/mask/cli.py:223 tools/mask/cli.py:233 #: tools/mask/cli.py:225 tools/mask/cli.py:235
msgid "output" msgid "output"
msgstr "" msgstr ""
#: tools/mask/cli.py:189 #: tools/mask/cli.py:191
msgid "" msgid ""
"Optional output location. If provided, a preview of the masks created will " "Optional output location. If provided, a preview of the masks created will "
"be output in the given folder." "be output in the given folder."
msgstr "" msgstr ""
#: tools/mask/cli.py:200 #: tools/mask/cli.py:202
msgid "" msgid ""
"Apply gaussian blur to the mask output. Has the effect of smoothing the " "Apply gaussian blur to the mask output. Has the effect of smoothing the "
"edges of the mask giving less of a hard edge. the size is in pixels. This " "edges of the mask giving less of a hard edge. the size is in pixels. This "
@ -176,14 +178,14 @@ msgid ""
"to the next odd number. NB: Only effects the output preview. Set to 0 for off" "to the next odd number. NB: Only effects the output preview. Set to 0 for off"
msgstr "" msgstr ""
#: tools/mask/cli.py:214 #: tools/mask/cli.py:216
msgid "" msgid ""
"Helps reduce 'blotchiness' on some masks by making light shades white and " "Helps reduce 'blotchiness' on some masks by making light shades white and "
"dark shades black. Higher values will impact more of the mask. NB: Only " "dark shades black. Higher values will impact more of the mask. NB: Only "
"effects the output preview. Set to 0 for off" "effects the output preview. Set to 0 for off"
msgstr "" msgstr ""
#: tools/mask/cli.py:225 #: tools/mask/cli.py:227
msgid "" msgid ""
"R|How to format the output when processing is set to 'output'.\n" "R|How to format the output when processing is set to 'output'.\n"
"L|combined: The image contains the face/frame, face mask and masked face.\n" "L|combined: The image contains the face/frame, face mask and masked face.\n"
@ -191,7 +193,7 @@ msgid ""
"L|mask: Only output the mask as a single channel image." "L|mask: Only output the mask as a single channel image."
msgstr "" msgstr ""
#: tools/mask/cli.py:235 #: tools/mask/cli.py:237
msgid "" msgid ""
"R|Whether to output the whole frame or only the face box when using output " "R|Whether to output the whole frame or only the face box when using output "
"processing. Only has an effect when using frames as input." "processing. Only has an effect when using frames as input."

View file

@ -153,9 +153,11 @@ class MaskArgs(FaceSwapArgs):
"default": "face", "default": "face",
"group": _("import"), "group": _("import"),
"help": _( "help": _(
"R|Import only. The centering to use when importing masks. Note: For any job " "R|Import/Output only. When importing masks, this is the centering to use. For "
"other than 'import' this option is ignored as mask centering is handled " "output this is only used for outputting custom imported masks, and should "
"internally." "correspond to the centering used when importing the mask. Note: For any job "
"other than 'import' and 'output' this option is ignored as mask centering is "
"handled internally."
"\nL|face: Centers the mask on the center of the face, adjusting for " "\nL|face: Centers the mask on the center of the face, adjusting for "
"pitch and yaw. Outside of requirements for full head masking/training, this " "pitch and yaw. Outside of requirements for full head masking/training, this "
"is likely to be the best choice." "is likely to be the best choice."

View file

@ -49,6 +49,7 @@ class Output:
self._type: T.Literal["combined", "masked", "mask"] = arguments.output_type self._type: T.Literal["combined", "masked", "mask"] = arguments.output_type
self._full_frame: bool = arguments.full_frame self._full_frame: bool = arguments.full_frame
self._mask_type = arguments.masker self._mask_type = arguments.masker
self._centering: CenteringType = arguments.centering
self._input_is_faces = arguments.input_type == "faces" self._input_is_faces = arguments.input_type == "faces"
self._saver = self._set_saver(arguments.output, arguments.processing) self._saver = self._set_saver(arguments.output, arguments.processing)
@ -445,6 +446,9 @@ class Output:
else: else:
mask_types = [self._mask_type] mask_types = [self._mask_type]
if self._mask_type == "custom":
mask_types.append(f"{self._mask_type}_{self._centering}")
final_masks = set() final_masks = set()
for idx in reversed(range(len(detected_faces))): for idx in reversed(range(len(detected_faces))):
face_idx, detected_face = detected_faces[idx] face_idx, detected_face = detected_faces[idx]