Cómo hacer un DeepFake

Cualquiera puede hacer un deepfake hoy en día, no importa el tipo de ordenador, simplemente irá más rápido o más lento, se puede usar la tarjeta gráfica o el chip de la placa base GPU/CPU. Te explicamos como hacerlo, pero si no quieres leer, puedes ver directamente este vídeo aquí mismo:

¿Qué es un DeepFake?

Un DeepFake, traducido «literalmente» del inglés, sería «ultrafalso» Cuando una imagen o vídeo está «trucado» cambiando, sobre todo la cara, aunque también podría ser la voz, si, en otra ocasión hablaremos de los deepfake de sonido.

Ejemplo de deepfake: «Pedro Sánchez y Alberto Feijóo en Los inmortales #highlander #deepfake»

¿Qué necesito para hacer un deepfake?

Si bien es recomendable tener un ordenador potente ya que algunas interacciones pueden durar días, en teoría se podría usar ordenadores más básicos, te indicamos los requerimientos básicos y los recomendables:

1. Requisitos mínimos para hacer deepfakes:

– CPU 4 núcleos compatible con instrucciones AVX y SSE
– 16 GB de RAM
– GPU Nvidia o AMD con 6 GB de VRAM
– Suficiente espacio de almacenamiento

1.1 Requsitos de hardware recomendados:

– CPU de 8-32 núcleos compatible con instrucciones AVX y SSE
– 32 GB de RAM para configuración de una sola GPU, 64 GB o más para más de 2 GPU
– GPU Nvidia de la serie 1000 o superior con un mínimo de 8 GB de VRAM
– Mucho espacio de almacenamiento SSD rápido

Enfriamiento: deberá asegurarse de que su hardware se enfríe adecuadamente (verifique las temperaturas de su CPU y GPU durante el uso intensivo, si algo está por encima de los 85 grados, considere cambiar la refrigeración de su CPU o incluso reemplazar la pasta térmica tanto en la CPU como en la GPU.

Fuente de alimentación: la capacitación a menudo puede llevar días y una fuente de alimentación estándar puede fallar, asegúrate de que la fuente de alimentación sea de una buena marca.

También deberás asegurarte de que el sistema operativo esté actualizado, así como todos sus controladores, pero principalmente los controladores de GPU.

2. Descargar el programa DeepFaceLab:

En este enlace de descarga de MEGA verás varias versiones de DFL, para Nvidia RT3000, RTX2080 y DirectX12 para chips AMD, escoge la que más se ajuste a tu sistema, clica encima de esta línea y te llevará a los archivos.

¿Lo tienes todo descargado e instalado? pues empecemos con los pasos a seguir para hacer un deepfake con deepface lab.

CONCEPTOS BÁSICOS DEL PROGRAMA:

Si quieres conoces los conceptos básicos del programa, clica aquí y te llevará al texto donde se explica para que sirve cada scripts.

¿Cómo hacer un DeepFake?

Es hora de averiguar qué es exactamente lo que tienes que hacer para realizar un deepfake:


Dependiendo de cuán complejo sea el video que está tratando de cambiar de cara, necesitará solo algunas entrevistas o puede necesitar recopilar mucho más contenido de origen para crear su conjunto de datos SRC que también puede incluir fotos de alta resolución, películas, programas de televisión y así sucesivamente, la idea es construir un conjunto que cubra la mayor cantidad posible de ángulos, expresiones y condiciones de iluminación que están presentes en el video de destino, como puede sospechar, esta es la parte más importante de hacer un buen deepfake, no siempre es posible para encontrar todas las tomas requeridas, por lo que nunca podrá lograr el 100% de éxito con todos los videos que haga, incluso una vez que aprenda todos los trucos y técnicas, a menos que se concentre solo en videos muy simples. Y recuerda que no se trata de la cantidad de caras, se trata de la variedad de expresiones,

Un buen deepfake también requiere que tanto la persona de origen como la de destino tengan cabezas con formas similares, mientras que es posible intercambiar personas que no se parecen en nada y el nuevo modelo AMP promete abordar un poco el problema de las diferentes formas de la cara. Sigue siendo importante que el ancho y la longitud de la cabeza, así como la forma de la línea de la mandíbula, el mentón y las proporciones generales de la cara son similares para obtener resultados óptimos. Si ambas personas también hacen expresiones similares, entonces eso es aún mejor.

Supongamos que sabe qué video usará como objetivo, recopiló una gran cantidad de datos de origen para crear un conjunto de fuentes o al menos se aseguró de que haya suficiente y que sea de buena calidad, tanto su fuente como la persona objetivo. tienen una cabeza de forma similar, ahora podemos pasar al proceso de creación del video, siga los pasos a continuación:

PASO 2 – LIMPIEZA/ELIMINACIÓN DEL ESPACIO DE TRABAJO :
1) Borrar espacio de trabajo : elimina todos los datos de la carpeta «espacio de trabajo», hay algunos archivos de demostración predeterminados en la carpeta «espacio de trabajo» cuando descarga una nueva versión de DFL que puede usar para practicar su primera falsificación, puede eliminarlos al mano o use este .bat para borrar su carpeta «área de trabajo», pero como rara vez solo elimina modelos y conjuntos de datos después de terminar de trabajar en un proyecto, este .bat es básicamente inútil y peligroso ya que puede eliminar accidentalmente todo su trabajo, por lo que lo recomiendo. eliminar este .bat.

PASO 3: RECOPILACIÓN Y EXTRACCIÓN DEL CONTENIDO FUENTE :
Para crear un conjunto de datos fuente de buena calidad, deberá encontrar material fuente de su sujeto, que pueden ser fotos o videos, se prefieren los videos debido a la variedad de expresiones y ángulos que se necesitan para cubrir todas las apariencias posibles de la cara para que el modelo pueda apréndelo correctamente, las fotos, por otro lado, a menudo ofrecen excelentes detalles y son perfectas para escenas frontales simples y proporcionarán resultados mucho más nítidos. También puedes combinar videos y fotos. A continuación hay algunas cosas que debe asegurarse para que su conjunto de datos de origen sea tan bueno como sea posible.

1. Los videos/fotos deben cubrir todos o al menos la mayoría de los ángulos posibles de la cara/cabeza– mirando hacia arriba, abajo, izquierda, derecha, directamente a la cámara y todo lo demás, la mejor manera de lograrlo es usar más de una entrevista y muchas películas en lugar de depender de un solo video (que en su mayoría presentará un ángulo y algunos pequeños variaciones y un tipo de iluminación).

PROPINA: Si su video DST no contiene ciertos ángulos (como perfiles de caras laterales) o condiciones de iluminación, no es necesario incluir fuentes con tales luces y ángulos, puede crear un conjunto de fuentes que funcione solo con tipos específicos de ángulos e iluminación o crear un conjunto más grande y más universal que debería funcionar en múltiples videos objetivo diferentes. Depende de usted cuántos videos diferentes usará, pero recuerde que usar demasiadas fuentes diferentes que en realidad disminuye la similitud de sus resultados, si puede cubrir todos los ángulos y pocas condiciones de iluminación requeridas con menos fuentes, siempre es mejor usar menos contenido. y así mantener el conjunto SRC más pequeño.

2. Los videos/fotos deben cubrir todas las diferentes expresiones faciales– eso incluye bocas abiertas/cerradas, ojos abiertos/cerrados, sonrisas, ceño fruncido, ojos que miran en diferentes direcciones – cuanta más variedad de expresiones pueda obtener, mejores serán los resultados.

3. El contenido de origen debe ser consistente : no desea caras borrosas, de baja resolución y muy comprimidas junto a otras nítidas, nítidas y de alta calidad, por lo que solo debe usar videos y fotos de la mejor calidad que pueda encontrar, si puede. Si ciertos ángulos/expresiones están presentes solo en videos/fotos de baja calidad/borrosos, entonces debe conservarlos e intentar mejorarlos.

La mejora se puede realizar directamente en fotogramas o videos usando un software como Topaz o en caras (después de la extracción) como DFDNet, DFL Enhance, Remini, GPEN y muchos más (todo el tiempo se crean nuevos métodos de mejora, el aprendizaje automático está en constante evolución).

CONSEJO: La buena consistencia es especialmente importante en los siguientes casos:

Rostros con barba: trate de usar solo una sola película o fotos y entrevistas que se tomaron el mismo día, a menos que el rostro que va a intercambiar sea pequeño y no lo hará. ser capaz de diferenciar cabellos individuales, en ese caso se permite la mezcla de tomas de origen en diferentes fechas, pero solo mientras la barba todavía tenga una apariencia similar.

Cambios de cabeza con cabello corto: debido a la naturaleza más aleatoria del cabello en la cabeza, solo debe usar contenido que se filmó en el mismo (entrevistas, fotos) y no mezclarlo con otro contenido, o si está usando una película entonces apégate a una película.

La excepción a lo anterior sería si el cabello y la barba siempre se estilizan de la misma manera o son falsos y, por lo tanto, no cambian, en ese caso, mezcle tantas fuentes como desee.

Rostros con maquillaje: evite incluir fuentes en las que el maquillaje difiera significativamente del tipo que normalmente tiene la persona dada, si debe usar videos o fotos con un maquillaje específico que no combina con otros, intente colorear los marcos correctos (después de la extracción en marcos con imágenes por lotes). procesamiento o antes durante la edición de video), esto también se puede hacer después de la extracción, pero requiere que uno guarde los metadatos primero y los restaure después de editar las caras, más sobre esto en el siguiente paso).

4. La mayor parte debe ser de alta calidad.– como se mencionó anteriormente, puede dejar de usar algunas fotos/videos borrosos, pero solo cuando no pueda encontrar ciertas expresiones/ángulos faciales en otros, pero asegúrese de mejorarlos a una calidad aceptable, demasiado contenido mejorado puede tener un efecto negativo en la calidad, por lo que es mejor usarlo solo en una pequeña parte del conjunto de datos (si es posible, en algunos casos, cerca del 100% de su conjunto puede necesitar mejorarse de alguna manera).

5. La iluminación debe ser consistente– algunas sombras pequeñas están bien, pero no debe incluir contenido con iluminación direccional fuerte; si es posible, intente usar solo aquellos en los que las sombras sean suaves y la luz sea difusa. Para las arquitecturas LIAE puede que no sea tan importante ya que puede manejar mejor la iluminación, pero para las arquitecturas DF es importante tener varias condiciones de iluminación para cada ángulo de la cara, preferiblemente al menos 3 (difusa frontal, izquierda y derecha con sombras suaves, no demasiado oscuras, los detalles aún deben ser visibles en el área sombreada o sin sombras, solo iluminación difusa que crea áreas más brillantes en el lado izquierdo o derecho de la cara). El conjunto de facetas/conjunto de datos de origen puede contener caras con brillo variable, pero las caras demasiado oscuras no deben incluirse a menos que su horario de verano también sea oscuro.

6. Si está utilizando solo imágenes o son la mayoría del conjunto de datos– asegúrese de que completen todos los cheques como se mencionó anteriormente, 20 o más imágenes no son suficientes. Ni siquiera te molestes en intentar hacer algo con tan pocas imágenes.

7. Mantenga la cantidad total de caras en su conjunto de datos de origen alrededor de 3000 – 8000 ; en algunos casos, se puede requerir un conjunto más grande, pero recomendaría mantenerlo por debajo de 12k para conjuntos universales, 15k si es realmente necesario, conjuntos más grandes para producir más resultados de aspecto vago, también tomará mucho más tiempo para entrenar, pero si su video de destino cubre casi todos los ángulos imaginables, entonces se requerirá un gran conjunto de SRC para cubrir todos esos ángulos.

Ahora que ha recopilado su contenido de origen, es hora de extraer fotogramas de los videos (las fotos no necesitan mucho más trabajo, pero puede mirarlas y eliminar las imágenes borrosas o de baja resolución, las imágenes en blanco y negro, etc.).

CONSEJO: Re . gards el método de extracción de fotogramas que utilizará preparar carpetas para todas las diferentes fuentes de antemano.

Puede colocarlos en cualquier lugar, pero me gusta colocarlos en la carpeta del espacio de trabajo junto a las carpetas data_src, data_dst y modelo, nombrar esas carpetas según las fuentes utilizadas (título de la película, título de la entrevista, evento o fecha para las fotos) y luego colocar los marcos correspondientes en ellos después de la extracción y luego cambie el nombre de cada conjunto de marcos para que quede claro de dónde provienen las caras dadas.

Estos nombres se incrustan en las caras después de la extracción de caras (paso 4), por lo que incluso si luego les cambia el nombre (caras) o las ordena, conservan el nombre de archivo original que puede restaurar usando un .bat que aprenderá en el paso 4.

Evite cualquier símbolo, espacio o letra no estándar para evitar problemas más adelante, asigne nombres a sus fotogramas de forma similar a los siguientes ejemplos:

«TomCruiseMI4K», NataliePortmanInterview12015″, «JackBlackJumanjiPremiere1080p», etc.

Puede extraer fotogramas de diferentes maneras:

a) usted extraiga cada video por separado cambiando el nombre de cada uno a data_src (el video debe estar en formato mp4 pero DFL usa FFMPEG, por lo que potencialmente debería manejar cualquier formato y códec) usando 2) Extraer imágenes de video data_srcpara extraer fotogramas del archivo de video, después de lo cual se envían a la carpeta «data_src» (se crea automáticamente), opciones disponibles:

– FPS: omitir para la velocidad de fotogramas predeterminada de los videos, ingrese el valor numérico para otra velocidad de fotogramas (por ejemplo, ingresar 5 solo reproduzca el video a 5 cuadros por segundo, lo que significa que se extraerán menos cuadros), dependiendo de la longitud, recomiendo 5-10FPS para la extracción de cuadros SRC, independientemente de cómo esté extrayendo sus cuadros (método b y c)

– JPG/PNG – elija el formato de los fotogramas extraídos, los jpg son más pequeños y tienen una calidad ligeramente inferior, los png son más grandes pero los fotogramas extraídos tienen una mejor calidad, no debería haber pérdida de calidad con PNG en comparación con el video original.

b) importa todos los videos a un software de edición de video de su elección, asegurándose de no editar videos de diferentes resoluciones juntos, sino que procesa videos de 720p, 1080p, 4K por separado, en este punto también puede cortar videos para mantener solo las mejores tomas que tienen rostros de la mejor calidad, es decir, tomas en las que los rostros están muy lejos/pequeños, están borrosos (fuera de foco, desenfoque de movimiento severo), son muy oscuros o iluminados con iluminación de un solo color o simplemente que la iluminación no es muy natural o tiene partes muy brillantes y sombras oscuras al mismo tiempo, así como las tomas en las que la mayoría de la cara está obstruida deben descartarse a menos que sea una expresión muy singular que no ocurre con frecuencia o está en un ángulo que también rara vez se encuentra ( como personas que miran directamente hacia arriba/abajo) o si su video de destino realmente tiene una iluminación tan estilizada,a veces solo tiene estas caras de menor calidad si no puede encontrar el ángulo dado en ningún otro lugar, luego renderice los videos directamente en marcos jpg o png en su carpeta data_src (créelo manualmente si lo eliminó antes) y renderice el lote completo de videos a una resolución determinada o renderizar cada clip por separado.

c) use MVE y su detección de escena que hace cortes por usted, luego utilícelo para generar solo las escenas que seleccionó en una carpeta a una velocidad de cuadro y formato de archivo específicos también y luego también cámbieles el nombre para que todos sus ases tengan un nombre único que corresponde al título del video original, muy útil en etapas posteriores, puede leer más sobre MVE en esta guía:

https://mrdeepfakes.com/forums/thread-mve-machine-video-editor-guide

3. Corte de video ( opcional): 3) cortar video (suéltame el video)– permite cortar rápidamente cualquier video a la longitud deseada colocándolo en ese archivo .bat. Útil si no tiene un software de edición de video y desea cortar el video rápidamente; sin embargo, con la existencia de MVE (que es gratuito), su utilidad es cuestionable, ya que solo puede cortar una parte del video del punto A al B. , corta los videos manualmente o usa MVE.

PASO 4: EXTRACCIÓN DE FOTOS DEL VIDEO DE DESTINO (DATA_DST.MP4) :
También necesita extraer fotogramas de su video de destino, después de editarlo de la forma que desea, renderícelo como data_dst.mp4 y extraiga fotogramas usando 3) extraiga imágenes del video data_dst FULL FPS , los fotogramas se colocarán en «data_dst » carpeta, las opciones disponibles son salida en formato JPG o PNG: seleccione JPG si desea un tamaño más pequeño, PNG para obtener la mejor calidad. No hay una opción de velocidad de fotogramas porque desea extraer el video a la velocidad de fotogramas original.

PASO 5 – EXTRACCIÓN DE DATOS_SRC CARA/CONJUNTO DE DATOS :
La segunda etapa de la preparación del conjunto de datos SRC es extraer caras de los marcos extraídos ubicados dentro de la carpeta «data_src». Suponiendo que cambió el nombre de todos los conjuntos de marcos dentro de sus carpetas, muévalos nuevamente a la carpeta principal «data_src» y ejecute lo siguiente 4) extracto de faceset data_src: extractor automatizado que usa el algoritmo S3FD, esto manejará la mayoría de las caras en su conjunto pero no es perfecto, no detectará algunas caras y producirá muchos falsos positivos y detectará otras personas que tendrás que eliminar más o menos manualmente.

También hay 4) extracto de faceset data_src MANUAL– extractor manual, ver 5.1 para el uso. Puede usarlo para alinear manualmente algunas caras, especialmente si tiene algunas imágenes o una fuente pequeña de películas que presentan algunos ángulos raros que tienden a ser difíciles para el extractor automático (como mirar directamente hacia arriba o hacia abajo).

Las opciones disponibles para el extractor S3FD y MANUAL son:

– Qué GPU (o CPU) usar para la extracción : use GPU, casi siempre es más rápido.

– Tipo de cara:

a) Cara completa/FF: para modelos FF o tipos de cara inferiores (Half Face/Hf y Mid-Half Face/MF, rara vez se usan en la actualidad).

b) Rostro completo/WF: para modelos WF o inferiores, recomendado como una solución universal/preparada para el futuro para trabajar con modelos FF y WF.

c) Cabeza: para los modelos HEAD, puede funcionar con otros modelos como WF o FF, pero requiere una resolución de extracción muy alta para que las caras tengan el mismo nivel de detalle (nitidez) que los tipos de cara de menor cobertura, utiliza puntos de referencia 3D en lugar de 2D como en FF y WF, pero aún es compatible con modelos que usan esos tipos de cara.

Recuerde que siempre puede cambiar el tipo de rostro (y su resolución) para bajar uno más tarde usando 4.2) data_src/dst util faceset resize o MVE (también puede convertir el conjunto de rostro/resolución inferior en uno más alto pero requiere que conserve los marcos y fotos originales ). Por lo tanto, recomiendo usar WF si realiza intercambios de rostros principalmente con modelos FF y WF y HEAD para conjuntos de pelo corto que se usan principalmente para intercambios de HEAD, pero también los que puede querer usar en algún momento para intercambios de rostros FF/WF.

Número máximo de caras de la imagen : cuántas caras debe extraer el extractor de un cuadro, 0 es el valor recomendado, ya que extrae todas las que puede encontrar. Seleccionar 1 o 2 solo extraerá 1 o 2 caras de cada cuadro.

– Resolución del conjunto de datos: este valor dependerá en gran medida de la resolución de los fotogramas de origen, a continuación se encuentran mis recomendaciones personales según la resolución del clip de origen, por supuesto, puede utilizar diferentes valores, incluso puede medir el tamaño de la cara más grande en fuente dada es y utilícelo como un valor (recuerde usar valores en incrementos de 16).

La resolución también se puede cambiar más adelante usando 4.2) data_src/dst util faceset resizeo MVE, incluso puede usar MVE para extraer caras con la opción de tamaño de cara estimado que utilizará datos de puntos de referencia de sus caras extraídas, marcos originales y volverá a extraer todo su conjunto nuevamente al tamaño real de cada cara en los marcos. Puede leer más sobre el cambio de tipos de cara, resoluciones de conjuntos de datos y más en esos dos subprocesos de guías de MVE:

https://mrdeepfakes.com/forums/thread-how-to-fix-face-landmarks-with-mve

https://mrdeepfakes. com/forums/thread-mve-machine-video-editor-guide

Recomiendo los siguientes valores para WF:

720p o fuentes de menor resolución – 512-768
Fuentes 1080p – 768-1024
Fuentes 4K – 1024-2048

Para la extracción de HEAD, agregue 256-512 adicionales solo para asegurarse de que no se pierda ningún detalle de las caras extraídas o mida el tamaño real de la cabeza en un marco donde esté más cerca de la cámara. En caso de duda, utilice MVE para extraer rostros con la opción de tamaño de rostro estimado habilitada.

– Calidad JPEG : use 100 para obtener la mejor calidad. DFL solo puede extraer rostros en formato JPG. No hay razón para ir por debajo de 100, la diferencia de tamaño no será grande, pero la calidad disminuirá drásticamente, lo que resultará en una peor calidad.

– Elegir si generar imágenes «aligned_debug» o no– se pueden generar después, se usan para verificar si los puntos de referencia son correctos; sin embargo, esto también se puede hacer con MVE y, en realidad, puede corregir manualmente los puntos de referencia con MVE, por lo que en la mayoría de los casos esto no es muy útil para los conjuntos de datos SRC.

PASO 6 – CLASIFICACIÓN Y LIMPIEZA DE DATA_SRC
:Una vez finalizada la extracción del conjunto de datos SRC, el siguiente paso es limpiar el conjunto de datos SRC de falsos positivos y caras incorrectamente alineadas. Para ayudarlo, puede clasificar sus caras, si es un conjunto pequeño y solo tiene un par de videos, usar los métodos de clasificación proporcionados debería ser más que suficiente, si está trabajando con un conjunto más grande, use MVE para clasificar (consulte la guía para más información).

Para realizar la clasificación, use 4.2) clasificación data_src : le permite clasificar su conjunto de datos utilizando varios algoritmos de clasificación, estos son los tipos de clasificación disponibles:

[0] desenfoque: clasifica por borrosidad de la imagen (determinada por el contraste), método de clasificación bastante lento y desafortunadamente no perfecto para detectar y clasificar correctamente rostros borrosos.
[1] desenfoque de movimiento: clasifica las imágenes comprobando el desenfoque de movimiento, bueno para deshacerse de las caras con mucho desenfoque de movimiento, más rápido que [0] desenfoque y podría usarse como una alternativa, pero de manera similar a [0] no es perfecto.
[2] dirección de guiñada de la cara: ordena por guiñada (desde las caras que miran hacia la izquierda hasta las que miran hacia la derecha).
[3] dirección de inclinación de la cara: ordena por inclinación (desde caras que miran hacia arriba hasta que miran hacia abajo).
[4] tamaño de cara recta en la imagen de origen: ordena por tamaño de la cara en el marco original (de las caras más grandes a las más pequeñas). Mucho más rápido que el desenfoque.
[5] similitud de histograma: ordenar por similitud de histograma, caras diferentes al final, útil para eliminar caras de aspecto drásticamente diferente, también las agrupa.
[6] disimilitud de histograma: como arriba, pero las caras disímiles están al principio.
[7] brillo: ordena por brillo general de imagen/cara.
[8] matiz: ordena por matiz.
[9] cantidad de píxeles negros: ordena por cantidad de píxeles completamente negros (como cuando la cara está cortada del marco y solo parcialmente visible).
[10] nombre de archivo original: ordena por nombre de archivo original (de los fotogramas de los que se extrajeron las caras). sin sufijos _0/_1 (asumiendo que solo hay 1 cara por cuadro).
[11] una cara en la imagen: ordena las caras según el número de caras que había en el marco original.
[12] diferencia absoluta de píxeles: ordena por diferencia absoluta en el funcionamiento de la imagen, útil para eliminar caras que se ven drásticamente diferentes.
[13] mejores rostros: clasifica por varios factores, incluido el desenfoque y elimina duplicados/caras similares, tiene un objetivo de cuántas caras queremos tener después de la clasificación, las caras descartadas se mueven a la carpeta «aligned_trash».
[14] Las mejores caras son más rápidas: similar a las mejores caras pero utiliza el tamaño recto de la cara en la imagen de origen en lugar de desenfoque para determinar la calidad de las caras, mucho más rápido que las mejores caras.

Recomiendo comenzar con una clasificación de histograma simple [5], esto agrupará las caras que se ven similares, esto incluye todas las caras malas que queremos eliminar, por lo que hace que el proceso de selección manual sea mucho más fácil.

Cuando finalice la clasificación inicial, abra su carpeta alineada, puede explorarla con Windows Explorer o usar una aplicación externa que viene con DFL que puede cargar imágenes mucho más rápido, para abrirla use4.1) resultado alineado de la vista data_src.

Aquí hay un vistazo a un conjunto de datos de origen de ejemplo antes de la limpieza con rostros codificados por color según lo que debe hacer con ellos (IMAGEN ANTIGUA, TRABAJO EN CURSO):

[img = 1280×720]

https://imgur.com/UAtctbK/embed?ref=https%3A%2F%2Fmrdeepfakes.com%2Fforums%2Fthreads%2Fguide-deepfacelab-2-0-guide.3886%2F&w=540
[align=left] Verde – buenas caras/alineaciones.
Rojo : desalineado, puede ver que están girados ligeramente, definitivamente no los quiere en su conjunto de datos, puede eliminarlos o intentar extraerlos manualmente.
Azul (obstrucciones/superposiciones/texto sobre la cara) se puede dejar si solo se trata de una pequeña obstrucción en algunas caras de todo el conjunto de datos.
Amarillo : rostros borrosos, deben eliminarse a menos que sea un ángulo/expresión único, una pequeña cantidad puede ayudar a generalizar el rostro, pero definitivamente tampoco desea demasiados (similares a las obstrucciones, es mejor mantener menos del 5%).
Violeta : caras de otras personas, obviamente esas deben eliminarse.
Rosado– caras recortadas, se pueden dejar si es solo un poco de mentón o frente o no cubre la cara, asumiendo que solo son unas pocas caras en todo el conjunto de datos o si tiene un ángulo/expresión único.
Naranja – a caras oscuras/brillantes/sobreexpuestas/de bajo contraste – también cualquier imagen con fuertes filtros de fotos/instagram, etc. brillo/contraste/saturación) y extráigalos nuevamente para poder mantenerlos, si son solo ligeramente diferentes al resto, se pueden dejar, asumiendo que usa la transferencia de color durante el entrenamiento para promediarlos a los demás y al horario de verano.

Después de eso, puede hacer una clasificación adicional por guiñada y cabeceo para eliminar las caras que pueden parecer correctas pero que en realidad tienen puntos de referencia incorrectos.
A continuación, puede ordenar por tono y brillo para eliminar las caras que están muy teñidas o muy oscuras, suponiendo que no lo haya hecho ya después de la clasificación del historgrama.
Luego, puede usar ordenar por desenfoque, desenfoque de movimiento y tamaño de cara recta para eliminar las caras borrosas, las caras con mucho desenfoque de movimiento y las caras pequeñas. Después de eso, debería tener un conjunto de datos relativamente limpio.
Al final, puede ordenarlos con cualquier otro método que desee, el orden y los nombres de archivo de las caras SRC no importan en absoluto , sin embargo, siempre recomiendo restaurar los nombres de archivo originales, pero no con la opción de clasificación 10, sino que use – 4.2. otro) data_src util recuperar el nombre de archivo original.

Sin embargo, si tiene un gran conjunto de datos que consta de decenas de entrevistas, miles de imágenes de alta resolución y muchas películas y episodios de programas de televisión, debe considerar un enfoque diferente para limpiar y clasificar sus conjuntos.

La mayoría de las personas que se toman en serio la creación de deepfakes y trabajan en conjuntos de fuentes grandes y complejos rara vez usan DFL para ordenar y, en su lugar, usan un software externo gratuito llamado Machine Video Editor, o simplemente MVE. MVE viene con sus propios métodos de clasificación y se puede usar en casi todos los pasos para hacer un video falso. Eso también incluye el corte automatizado de escenas y la exportación de fotogramas (método c) para obtener fotogramas de su contenido de origen como se menciona en el paso 2: recopilación de datos SRC), mejora de conjuntos de datos, etiquetado/enmascaramiento, edición de puntos de referencia y mucho más.

Lo que debe centrarse en ella es la opción de clasificación por similitud de Nvidia que funciona de manera similar a la clasificación por histograma, pero es un enfoque de aprendizaje automático que agrupa mejor las caras, de esa manera obtiene el 99% de las caras de la persona que desea en la lista en orden y es mucho más rápido para eliminar otras caras, a menudo también agrupará caras incorrectas, caras con anteojos, caras en blanco y negro o aquellas con tintes intensos con mucha más precisión y obtendrá una vista previa del grupo de caras donde puede seleccionar o eliminar grupos de caras específicos e incluso comprobar cuáles. las caras están en ese grupo antes de que las elimine, pero también puede buscarlas como en el Explorador de Windows o con XnView.

Para obtener más información sobre MVE, consulte las guías disponibles aquí:https://mrdeepfakes.com/forums/forum-guides-and-tutorials[/LEFT]

MVE GITHUB:https://github.com/MachineEditor/MachineVideoEditor[/IZQUIERDA]

MVE también tiene un servidor de discordia (SFW, no se permiten charlas falsas para adultos allí), puede encontrar un enlace en la página de github. Hay guías adicionales en ese servidor, mírelas primero antes de hacer preguntas.

Independientemente de si usa MVE o DFL para ordenar el conjunto, hay algunos pasos finales que puede realizar al final: ELIMINACIÓN DE DUPLICADOS:

Esto reducirá ligeramente el número de caras, lo que acelerará el entrenamiento y hará que los conjuntos estén menos llenos de caras y duplicados innecesariamente similares. Puede eliminar caras en lvl 0 (exactamente las mismas caras) y posiblemente en lvl 1, dependiendo de cuántos duplicados haya, luego haga lvl 2 y lvl 3 en el encendido y mueva ambos a dos carpetas separadas con el nombre correspondiente. Luego, siempre puede recuperarlos para caras adicionales con diferentes direcciones de los ojos o cambios sutiles de expresión.

A continuación (suponiendo que haya cambiado el nombre de los fotogramas antes de la extracción), es bueno mover las caras a diferentes carpetas según su procedencia:

Cree una estructura de carpetas que se adapte a sus necesidades, recomiendo la siguiente estructura:
– carpetas principales para películas, programas de televisión, entrevistas y fotos ( siéntase libre de agregar categorías adicionales basadas en el tipo de metraje)
– dentro de cada una de ellas, más carpetas para cada fuente individual (para las fotos, puede categorizar según el tipo de foto o por año o tenerlo todo en una carpeta)
– dentro de cada carpeta individual para la fuente dada, una carpeta para las caras más nítidas y mejores y lo que queda debe colocarse libremente en la carpeta base
: carpeta para todas las caras borrosas que planea mejorar/ampliar (más sobre esto en AVANZADO a continuación)
– carpeta para todas las caras mejoradas
– carpeta para todos los duplicados
– y, por último, la carpeta principal a la que simplemente puede nombrar conjunto de datos principal o alineado donde combina las mejores caras de todas las fuentes y caras mejoradas.

Recuerde que todos los datos están en las imágenes mismas, puede moverlos a diferentes carpetas, hacer copias/copias de seguridad, archivarlos en diferentes unidades, computadoras, en general, puede moverlos fuera de DFL. RAID no es una copia de seguridad: 2 o 3 copias, almacenamiento en frío, copias adicionales en diferentes medios en diferentes ubicaciones. Haga una copia de seguridad de los datos nuevos al menos una o dos veces por semana, dependiendo de la cantidad de datos que termine creando, en el peor de los casos, solo unos pocos discos duros portátiles (obviamente, los basados ​​en SSD son mejores).

Después de que haya hecho eso, debería tener un montón de carpetas en su carpeta «data_src» y su carpeta «alineada» ahora debería estar vacía ya que ha movido todas las caras a otras diferentes, elimínela.

AVANZADO : mejora del conjunto de datos SRC .
Es posible que desee o necesite mejorar la calidad y la nitidez/nivel de detalle de algunas de sus caras después de la extracción. Algunas personas mejoran los conjuntos de datos completos, mientras que otras solo mueven las caras borrosas que quieren mejorar a una carpeta separada y mejoran parte del conjunto de datos de esa manera, eso se puede hacer antes de hacer el conjunto final (mejorar todas las caras borrosas independientemente de si las usaría durante entrenamiento o no) o después de hacer el set final (ampliando solo las caras que realmente necesita para el entrenamiento). Sin embargo, solo debe mejorar lo que realmente necesita, por ejemplo, si ya tiene algunas entrevistas de alta calidad y desea mejorar otra que tenga iluminación, expresiones y ángulos similares, entonces omítalo, es mejor usar contenido que ya es nítido y de buena calidad que mejorando todo por el simple hecho de hacerlo. Caras raras de lujo, expresiones raras,

Primero comience recopilando todas las caras borrosas que desea mejorar y colóquelas en una carpeta llamada «borroso» (por ejemplo, asígnele el nombre que desee), luego, dependiendo del método de mejora, puede o no tener que guardar sus metadatos, algunos métodos de mejora Volveré a entrenar esta información, pero la mayoría no lo hará, por lo que debe hacerlo. También recomiendo hacer una copia de seguridad de su carpeta borrosa en caso de que algún método de mejora que usaría reemplace las imágenes originales de la carpeta (la mayoría de las salidas a una carpeta diferente). Cambie el nombre de su «borroso» como «alineado» y ejecute:

4.2) data_src util faceset metadata save – guarda metadatos incrustados de su conjunto de datos SRC en la carpeta alineada como archivo meta.dat, esto es necesario si va a escalar rostros o realizar algún tipo de edición en ellos, como por ejemplo corrección de color (la rotación o el volteo horizontal/vertical es No permitido).

A continuación, puede comenzar a escalar/mejorar sus caras, si va a ejecutar el software localmente, cree una carpeta «ampliada» en su carpeta «data_src» y use uno de los pocos métodos populares:

1. DFL Enahnce – algoritmo incorporado, da efecto sutil, bueno para caras que necesitan solo un poco de mejora y ya tienen un aspecto decente, bastante lento, retiene metadatos, puede ejecutarlo usando 4.2) data_src util faceset Enhance– creará una copia de su carpeta «alineada» con un nombre diferente y generará caras mejoradas en ella.

2. DFDNet : software externo, imaginador de rostros, fuerte efecto, puede mejorar rostros muy borrosos pero es propenso a causar artefactos y puede afectar el reconocimiento del rostro ampliado (porque imagina detalles), un poco más rápido que DFL Enhance , debe volver a entrenar los metadatos pero Recomiendo guardarlo para este método, se puede ejecutar en Colab :
https://colab.research.google.com/g…_DFL_Colab.ipynb#scrollTo=OZ7-E-vRSYar[/LEFT]
También disponible como Complemento para MVE.

3. Software de IA Topacio
– software externo pago, escalador simple, similar a DFL Enhance, proporcionará un efecto sutil y es más adecuado para rostros que ya tienen algunos detalles, no imaginan detalles o mejoran rostros muy borrosos, hay pocos productos diferentes disponibles, tratan rostros como cualquier otra imagen, por lo tanto, no retiene los metadatos, por lo que debe usar el archivo meta.dat de su carpeta borrosa para restaurarlo.

4. Remini: aplicación móvil, lenta de usar pero MVEtiene una función incorporada para crear collages de imágenes que le permiten cargar una imagen muy grande que contiene varias caras y, por lo tanto, mejorar varias caras al mismo tiempo, la mejor calidad de todos los métodos, pero tiene problemas con las caras laterales y funciona de manera similar a DFDNet generando nuevos los detalles falsos que pueden o no ser precisos, también pueden afectar negativamente partes de la cara como los dientes, los ojos y tendrán problemas con las caras con desenfoque de movimiento (como todos los potenciadores faciales basados ​​​​en GAN, DFDNet, GPEN, GPFGAN y algunos otros que son tales potenciadores ).

5. GPEN, GPFGAN y otros– hay muchos más métodos de mejora disponibles, sin embargo, la mayoría no están integrados en DFL, no vienen como complementos para MVE o no son productos fáciles de usar, siéntase libre de investigarlos por su cuenta y use uno que le brinde mejores resultados, hay hilos en este foro que discuten varios métodos de mejora, incluidas muchas comparaciones, simplemente use la opción de búsqueda para encontrarlos (no los vincularé porque pueden cambiar o eliminarse y ninguno de estos hilos es oficial y aprobado por mí u otros miembros del equipo mod/admin).

Una vez que haya terminado de mejorar/ampliar/editar sus caras, necesita restaurar los metadatos (en algunos casos), para hacerlo, cambie el nombre de su carpeta «ampliada» a «alineada» (o si usó Colab o no mejoró las caras localmente en general, simplemente cópielos en la nueva carpeta «alineada»), copie su archivo meta.dat de la carpeta «borrosa» original a la carpeta «alineada» y ejecute: 4.2) data_src util faceset metadata restore , que restaurará los metadatos y ahora esas caras están listas para ser utilizadas.

Si olvidó guardar los metadatos siempre que tenga la carpeta borrosa original, puede hacerlo más tarde; sin embargo, si perdió la carpeta original y ahora solo tiene los resultados mejorados sin metadatos, lo único que puede hacer es extraer caras de esas caras,

También hay otros métodos disponibles, sin embargo, estos dos son los únicos que son bastante fáciles de usar, otros pueden requerir algunos conocimientos de codificación para ejecutarse localmente en Windows o deben ejecutarse en Colab o Linux. .

Algunas otras secuencias de comandos útiles que puede usar en esta etapa:

4.2) data_src util agregar puntos de referencia imágenes de depuración 
: genera imágenes de depuración después de que extrajo las caras de SRC, sin embargo, a diferencia de la carpeta de depuración, se obtiene de manera predeterminada durante la extracción de DST o si habilita la generación de depuración durante la extracción de SRC esto solo agrega imágenes de depuración en la carpeta alineada que son básicamente caras que existen en esa carpeta con puntos de referencia superpuestos encima de ellas, en su mayoría inútiles ya que con MVE también puede mostrar puntos de referencia y puede agregar otros nuevos de marcos de los que no pudo extraer y editar los existentes.

4.2) data_src util faceset resize : le permite cambiar el tamaño de sus conjuntos de datos o cambiar su tipo de cara a su modelo, lo que reduce la carga de la CPU durante el entrenamiento y mejora ligeramente el rendimiento (sin embargo, lo probé y no noté ninguna mejora importante en el rendimiento. Los casos de uso han sido explicado en el paso 4 – Extracción/alineación de caras de Data_src. Una vez que finalice el proceso, le preguntará si desea fusionar el redimensionado alineado con el original, al hacerlo, se sobrescribirá irreversiblemente el original alineado, así que seleccione no (N) y simplemente cambie los nombres de los carpetas, se recomienda hacerlo como uno de los últimos pasos en el conjunto final.

El último paso que puede hacer es empacar sus rostros, lo que hará que se carguen mucho más rápido (segundos en lugar de minutos), para empacar su conjunto de datos SRC/DST use 4.2 ) data_src util faceset pack4.2) data_src util faceset unpack : los conjuntos empaquetados también se pueden usar para reemplazar el conjunto de datos de preentrenamiento predeterminado que viene con DFL, también hace que compartir y archivar el conjunto sea más fácil de compartir, ya que es un archivo (pero en caso de falla de la unidad, dicho conjunto empaquetado puede volverse corrupto, así que utilícelo solo para tener una copia del conjunto principal original para un uso rápido, no lo convierta en su única copia del conjunto completo).

PASO 7 – EXTRACCIÓN DE DATA_DST FACE/DATASET :
Aquí los pasos son prácticamente los mismos que con el conjunto de datos de origen, con algunas excepciones. Comience por extraer caras de sus marcos DST usando: 5) extracto de conjunto de caras data_dst : un extractor de caras automatizado que utiliza el algoritmo de detección de caras S3FD.

Además, también notará otros métodos de extracción, no los use ahora, pero debe familiarizarse con ellos:

5) data_dst faceset extract MANUAL RE-EXTRACT DELETED ALIGNED_DEBUG : este también es importante, se usa para volver a extraer manualmente las caras perdidas después de eliminar su imagen de depuración correspondiente de una carpeta «aligned_debug» que se crea a lo largo de la carpeta «alineada» después de la extracción, es lo que hace posible que se intercambien todas las caras, más sobre su uso en el paso 5.1.
5) data_dst faceset extract MANUAL – extractor manual, vea 5.1 para su uso.
5) extracto de conjunto de facetas data_dst + arreglo manual – S3FD + paso manual para marcos en los que el modelo no detectó ninguna cara, puede usar esto en lugar de 5) extracto de conjunto de facetas data_dst : después de que finalice la extracción inicial, se abrirá una ventana (igual que con la extracción manual o reextracción) donde podrá extraer rostros de marcos donde el extractor no pudo detectar ningún rostro, ni siquiera falsos positivos, pero esto significa que la extracción no finalizará hasta que vuelva a extraer todos los rostros, así que esto es no recomendado.

Simplemente use el primer método por ahora.

Las opciones disponibles para todos los modos de extracción son las mismas que para SRC, excepto por la falta de elección de cuántas caras queremos extraer: siempre intenta extraer todas, no hay opción de si queremos o no la carpeta alineada_depuración, se genera siempre ya que se requiere para la reextracción manual.

PASO 8 – CLASIFICACIÓN, LIMPIEZA Y REEXTRACCIÓN DE DATOS_DST :
Después de alinear las caras de data_dst, tenemos que limpiar ese conjunto.

Ejecute 5.2) data_dst sort : funciona igual que src sort, use [5] la opción de clasificación de similitud de histograma, luego ejecute 5.1) data_dst ver resultados alineados , lo que le permitirá ver el contenido de la carpeta «alineada» usando una aplicación externa que ofrece más rápido generación de miniaturas que el explorador de Windows predeterminado, aquí puede simplemente explorar todas las caras y eliminar todas las malas (muy pequeñas o grandes en comparación con otras a su lado, giradas, falsos positivos/no caras, caras de otras personas), una vez que haya terminado ejecutar 5.2) data_dst util recuperar el nombre de archivo original , que funciona igual que uno para la fuente, restaurará los nombres de archivo originales y el orden de todas las caras.

A continuación, debemos eliminar los marcos de depuración para que podamos usar el reextractor manual para extraer caras solo de los marcos donde el extractor no pudo extraer correctamente las caras, para hacerlo, ejecute 5.1) data_dst ver resultados alineados_depuración , lo que le permitirá navegue rápidamente por el contenido de «aligned_debug», aquí revisa todos los marcos de depuración para encontrar aquellos en los que los puntos de referencia sobre la cara de nuestra persona objetivo están colocados incorrectamente (no alineados con los bordes de la cara, ojos, nariz, boca, cejas) o faltan, esos los marcos deben eliminarse y esto le indicará al extractor manual qué marcos debe mostrarle para que pueda volver a extraerlos manualmente.

Puede seleccionar todos los marcos de depuración para eliminarlos manualmente, sin embargo, esto significa revisarlos casi todos a mano, es fácil perder algunos marcos de esa manera, una mejor manera de hacerlo es crear una copia de la carpeta «aligned_debug». , luego regrese a su carpeta «alineada» y cámbiele el nombre para eliminar el sufijo _0 que está presente en todas las caras, y si también tiene varias caras por cuadro, entonces tendrán el sufijo _1 (puede suceder si hay espejos en su escena o es una especie de captura de pantalla dividida o tiene una transición suave entre dos tomas).

Si tiene 2 caras por cuadro, tendrá que separar ambas para que su alineación por ahora tenga solo un conjunto de caras y más adelante es posible que deba volver a extraer las caras para el segundo conjunto de caras.

aún están resaltados, elimínelos (si anula la selección, simplemente ordene la carpeta según el tamaño de la imagen y vuelva a seleccionar todas las caras que reemplazaron sus marcos de depuración). Lo que le queda son solo marcos de depuración para marcos de los que actualmente no hay caras presentes en su carpeta «alineada», ahora. simplemente elimine todos los innecesarios hasta que quede solo con los marcos de los que planea volver a extraer las caras, luego selecciónelos y cópielos en su carpeta alineado_depuración original, reemplace todo, espere, elimine los marcos reemplazados resaltados. Ahora puede ejecutar

5) data_dst faceset extract MANUAL RE-EXTRACT DELETED ALIGNED_DEBUG – para volver a extraerlos manualmente.

Uso del extractor manual:

al iniciar el extractor manual, se abrirá una ventana donde podrá ubicar manualmente las caras que desea extraer y la ventana de la línea de comandos que muestra su progreso:

– use yo . tu ratón para localizar la cara
– use la rueda del mouse para cambiar el tamaño del área de búsqueda (tamaño del rectángulo, vio esta opción al ordenar, puede ordenar las caras según el tamaño del rectángulo durante la extracción)
– asegúrese de que todos o al menos la mayoría de los puntos de referencia (en algunos casos dependiendo del ángulo, la iluminación o las obstrucciones presentes, es posible que no sea posible alinear con precisión todos los puntos de referencia, así que solo intente encontrar un punto que cubra todos los puntos visibles y que no esté demasiado desalineado) aterrice en puntos importantes como los ojos, la boca , nariz, cejas y siga la forma de la cara correctamente, una flecha hacia arriba le muestra dónde está «arriba» o «arriba» de la cara
– use la tecla A para cambiar el modo de precisión, ahora los puntos de referencia no se «pegarán» tanto a caras detectadas y es posible que pueda colocar puntos de referencia más correctamente,también correrá más rápido
– use las teclas < y > (o , y .) para retroceder y avanzar, para confirmar una detección, haga clic con el botón izquierdo del mouse y pase a la siguiente o presione enter, lo que confirma la selección y pasa a la siguiente cara
– botón derecho del mouse para alinear caras no humanas o que miran hacia adelante indetectables (requiere aplicar xseg para enmascarar correctamente)
– q para omitir las caras restantes, guardar las que hizo y salir del extractor (también se cerrará y guardará cuando llegue a la última cara y la confirme)

Ahora debería tener todas las caras extraídas, pero en algunos casos tendrá que ejecutarlo varias veces (los casos que mencioné anteriormente, reflejos, escenas divididas, transiciones). En ese caso, cambie el nombre de su carpeta «alineada» a otra cosa, luego repita los pasos con el cambio de nombre de las caras alineadas, copiándolas en una copia de «aligned_debug», reemplazando, eliminando las seleccionadas, eliminando las restantes de las que necesita extraer, copiando eso a la carpeta original «aligned_debug», reemplazando, eliminando el resaltador, ejecutando el extractor manual nuevamente y luego combinando ambas carpetas alineadas, asegurándose de no reemplazar accidentalmente algunas caras.

Una vez que haya terminado, tiene la misma opción de .bats adicionales para usar con su conjunto de datos dst casi terminado:

5.2) data_dst util faceset pack y5.2) data_dst util faceset unpack – igual que con la fuente, le permite empaquetar rápidamente todo el conjunto de datos en un archivo.

5.2) data_dst util faceset resize – funciona igual que uno para el conjunto de datos SRC.

Pero antes de que pueda comenzar a entrenar, también debe enmascarar sus conjuntos de datos, ambos.

PASO 9: ENTRENAMIENTO DEL MODELO XSEG, ETIQUETADO Y ENMASCARAMIENTO DEL CONJUNTO DE DATOS :
NUEVO: ahora hay un modelo Generic WF XSeg preentrenado incluido con DFL (_internal/model_generic_xseg), si no tiene tiempo para etiquetar caras para su propio modelo WF XSeg o simplemente necesita aplicar rápidamente máscaras WF básicas a sus conjuntos, puede usar el siguientes .bats para hacerlo:

5.XSeg Generic) data_dst máscara de cara completa – aplicar – aplica máscaras WF a su conjunto de datos DST.
5.XSeg Generic) data_src máscara de cara completa – aplicar – aplica máscaras WF a su conjunto de datos SRC.

¿Para qué sirve XSeg?Algunos tipos de cara requieren una aplicación de máscara diferente a la predeterminada que obtiene con el conjunto de datos después de la extracción, esas máscaras predeterminadas se derivan de los puntos de referencia y el área de cobertura similar a la del tipo de cara de cara completa, por lo tanto, ¿por qué para cara completa o cobertura más baja? No se requiere el tipo de cara XSeg, pero sí para toda la cara y la cabeza. También se requieren máscaras XSeg para usar Face and Background Style Power (FSP, BGSP) durante el entrenamiento de modelos SAEHD/AMP, independientemente del tipo de rostro.

XSeg le permite definir cómo quiere que se enmascaren sus caras, qué partes de la cara se entrenarán y cuáles no.

También es necesario para excluir las obstrucciones sobre las caras del entrenamiento y también para que después de fusionar su video, una mano, por ejemplo, que está frente a la cara se excluya correctamente, lo que significa que la cara intercambiada se enmascara de tal manera que la mano visible y no cubrirlo.

XSeg se puede usar para excluir casi todas las obstrucciones:
 manos, dedos, perforaciones, cicatrices, tatuajes faciales, cavidad bucal, lenguas, cabello, mechones de cabello individuales, anteojos, pupilas, cejas, nariz entera, labios, etc. Tienes control total sobre lo que el modelo pensará que es una cara y lo que no lo es.

Primero, familiarícese con algunos términos, es importante que comprenda la diferencia entre un modelo XSeg, un conjunto de datos, una etiqueta y una máscara:

Modelo XSeg: modelo entrenable por el usuario que se utiliza para aplicar máscaras a conjuntos de datos SRC y DST, así como para enmascarar rostros durante el proceso de fusión.
Etiqueta XSeg: un polígono que el usuario dibuja en la cara para definir el área de la cara y lo que usa el modelo XSeg para el entrenamiento.
Máscara XSeg: máscara generada y aplicada al conjunto de datos SRC o DST por un modelo XSeg entrenado.
Conjunto de datos XSeg: una colección de rostros etiquetados (solo un tipo específico o conjuntos de datos SRC y DST, etiquetados de manera similar), los usuarios suelen compartirlos en el foro y son una excelente manera de comenzar a crear su propio conjunto, ya que puede descargar uno y elija las caras específicas que necesita o agregue sus propias caras etiquetadas que están etiquetadas de manera similar.

Ahora que sabe lo que significa cada una de esas 4 cosas, es importante que comprenda la principal diferencia entre etiquetar y enmascarar rostros SRC y rostros DST.

Las máscaras definen qué área de la muestra de la cara es la cara en sí y qué es un fondo u obstrucción, para SRC significa que todo lo que incluya será entrenado por el modelo con mayor prioridad, mientras que todo lo demás será entrenado con menor prioridad (o precisión). ). Para DST es lo mismo, pero también debe excluir las obstrucciones para que el modelo no las trate como parte de la cara y también para que luego, cuando se fusionen, esas obstrucciones sean visibles y no queden cubiertas por la cara predicha final (no confundirse con el SRC predicho y las caras DST pronosticadas).

Para usar XSeg, tiene los siguientes .bats disponibles para usar:

5.XSeg) máscara data_dst – editar – Editor de etiquetas/polígonos XSeg, esto define cómo desea que el modelo XSeg entrene máscaras para rostros DST.
5.XSeg) máscara data_dst – buscar – hace una copia de las caras DST etiquetadas a la carpeta «aligned_xseg» dentro de «data_dst».
5.XSeg) máscara data_dst – eliminar – elimina las etiquetas de sus caras DST. Esto no elimina las MÁSCARAS entrenadas que aplica al conjunto después del entrenamiento, elimina las ETIQUETAS que creó manualmente, sugiero cambiar el nombre de esta opción para que esté en la parte inferior de la lista o eliminarla para evitar la eliminación accidental de etiquetas.

5.XSeg) data_src mask – editar – Editor de etiquetas/polígonos XSeg, esto define cómo desea que el modelo XSeg entrene máscaras para caras SRC.
5.XSeg) máscara data_src – buscar– hace una copia de las caras SRC etiquetadas a la carpeta «aligned_xseg» dentro de «data_dst».
5.XSeg) data_src mask – remove – elimina las etiquetas de sus caras SRC. Esto no elimina las MÁSCARAS entrenadas que aplica al conjunto después del entrenamiento, elimina las ETIQUETAS que creó manualmente, sugiero cambiar el nombre de esta opción para que esté en la parte inferior de la lista o eliminarla para evitar la eliminación accidental de etiquetas.

XSeg) train.bat : inicia el entrenamiento del modelo XSeg.

5.XSeg.opcional) máscara entrenada data_dst – aplicar – genera y aplica máscaras XSeg a sus rostros DST.
5.XSeg.opcional) máscara entrenada data_dst – eliminar – elimina las máscaras XSeg y restaura FF predeterminado como máscaras DST derivadas de puntos de referencia.

5.XSeg.opcional) máscara entrenada data_src – aplicar– genera y aplica máscaras XSeg a sus rostros SRC.
5.XSeg.opcional) máscara entrenada data_src – eliminar – elimina las máscaras XSeg y restaura FF predeterminado como máscaras SRC derivadas de puntos de referencia.

Flujo de trabajo XSeg:

Paso 1. Etiquete/marque sus conjuntos de datos.

Si está comenzando con el modelo XSeg de otra persona y ese usuario también le proporcionó un conjunto de datos XSeg (o tiene algún modelo XSeg y un conjunto de datos XSeg diferente), primero aplique máscaras a ambos conjuntos y verifique las máscaras generadas en el editor XSeg. (puede habilitar la vista de máscara en el editor), es probable que la mayoría de las caras estén enmascaradas correctamente y solo algunas requerirán un etiquetado adicional, independientemente de si lo hace o no continúa con la tarea como se describe a continuación:

Comience marcando SRC y DST caras usando5.XSeg) máscara data_src – editar y 5.XSeg) máscara data_dst – editar

Cada herramienta tiene una descripción escrita que se muestra cuando pasa el mouse sobre ella (se admiten los idiomas en/ru/zn).

Marque de 50 a 200 rostros diferentes tanto para SRC como para DST, no necesita marcar todos los rostros, sino solo aquellos en los que el rostro se ve significativamente diferente, por ejemplo:

– cuando cambia la expresión facial (boca abierta – boca cerrada, gran sonrisa – ceño fruncido) )
– cuando cambia la dirección/ángulo de la cara
– o cuando cambian las condiciones de iluminación/dirección (generalmente junto con el ángulo de la cara, pero en algunos casos la iluminación puede cambiar mientras la cara sigue mirando en la misma dirección)

Cuantas más caras marques, el modelo Xseg de máscaras de mejor calidad generará para ti. En general, cuanto más pequeño sea el conjunto de datos, menos caras tendrán que marcarse y lo mismo ocurre con la variedad de ángulos, si tiene muchos ángulos diferentes y también expresiones, será necesario que marque más caras.

Mantenga la misma «lógica» de marcado para todas las caras, por ejemplo:

– la misma línea aproximada de la mandíbula si el borde no es claramente visible, observe cómo se sombrean las caras para averiguar cómo dibujar correctamente la línea, lo mismo se aplica a la cara que están mirando hacia arriba, la parte debajo de la barbilla
– la misma línea del cabello (lo que significa siempre excluir el cabello de la misma manera, si está haciendo una máscara facial completa y no pasa a la línea del cabello, asegúrese de que la línea que dibuje sobre las cejas esté siempre a la misma altura) arriba de las cejas)

Marcar/etiquetar obstrucciones:

al marcar caras, probablemente también querrá excluir obstrucciones para que sean visibles en el video final, para hacerlo puede:

– no incluir obstrucciones en el polígono principal que define el área de su cara desea ser intercambiado dibujando a su alrededor.
– o use el modo de exclusión poli para dibujar una etiqueta adicional alrededor de la obstrucción o la parte que desea que sea visible o sobre la que no desea entrenar.

Qué excluir:

– mechones de cabello grandes/gruesos y algunos cabellos individuales más pequeños si son lo suficientemente gruesos/perceptibles (mucho contraste con la piel).
– manos y otros objetos sostenidos frente a la cara.
– hombros, piernas y otras obstrucciones grandes que cubran una parte significativa de la cara (asegúrese de que los puntos de referencia para esta cara sean correctos en las partes visibles y también bastante precisos en posición y forma en las partes obstruidas, aplicar XSeg a caras extraídas incorrectamente no hacer que entrenen correctamente).
– para caras DST (opcional)excluya la cavidad bucal cuando la boca esté abierta (las partes oscuras y la lengua, no excluya los dientes frontales), si los dientes no son visibles, márquelos donde están los labios, si los dientes son visibles, asegúrese de dejar un espacio entre ellos y el etiqueta para evitar los dientes dobles después de difuminar la máscara durante la fusión, para las caras SRC puede omitir este paso e incluir toda la cara excepto la lengua cuando sobresale de la boca y otras partes de la cara que no desea que se entrene, el La razón para excluir la cavidad bucal es que el modelo a menudo no podrá entrenar correctamente la lengua y los dientes en la parte posterior, lo que no significa que no pueda intentar entrenar eso también, por lo tanto, esta es una «obstrucción» opcional. » excluir.

Cuando marque obstrucciones, debe asegurarse de etiquetarlas en varias caras de acuerdo con las mismas reglas que cuando marca caras sin obstrucciones, marque la obstrucción (incluso si no cambia de apariencia/forma/posición cuando la cara/cabeza:

– cambia). ángulo
– cambios en la expresión facial
– cambio en las condiciones de iluminación

Si la obstrucción también cambia de forma y/o se mueve por la cara, debe marcarla varias veces, aunque no es necesario etiquetar todas las obstrucciones en cada cara, pero sí la variedad de obstrucciones diferentes. ocurrir en varias condiciones – más caras tendrá que etiquetar.

Además, al etiquetar caras SRC, es posible que desee excluir algunas partes de la cara SRC en las que no desea recibir capacitación, por ejemplo, tatuajes faciales, cicatrices, perforaciones, especialmente si solo ocurren en algunas caras de fuentes específicas, de esa manera esos ganaron no se entrenará y el modelo llenará esos espacios con un color aproximado alrededor de la exclusión y, por lo tanto, dichas partes de la cara SRC no serán visibles en la cara predicha final.

Cómo marcar caras para diferentes tipos de caras:

– Para marcar caras con FF desde la barbilla hasta ligeramente por encima de las cejas, en las tomas de perfil, la cara completa excluirá mucho, por lo que es posible que desee no dibujar una línea recta en el costado de la cara (o debajo). la boca ya que la barbilla a menudo se cortará con la cara completa)

– Para WF, marque las caras desde la barbilla hasta la línea del cabello para tomas frontales, para tomas de perfil, asegúrese de seguir la línea de la mandíbula (si es pronunciada, será visible, si no es tan visible, aproxímela y use la misma lógica para marcar todas las caras) , no incluya orejas si son visibles, marque hasta donde comienza el cabello.

– Para la CABEZA incluye toda la cara así como el cabello, asegúrate de que las máscaras sean precisas, incluye las orejas, opcionalmente también puedes incluir un poco del cuello. Recuerda que HEAD solo funciona para cabello corto y estático, es posible que puedas enmascarar correctamente el cabello largo en movimiento, pero no podrás entrenarlo y cambiarlo correctamente o con buenos resultados.

Una vez que termine de etiquetar/marcar sus rostros, desplácese hasta el final de la lista y presione Esc para guardarlos y cerrar el editor, luego puede pasar a entrenar su modelo XSEG.

CONSEJO: 
Puede usar MVE para etiquetar sus caras con su editor XSeg más avanzado que incluso viene con su propio modelo de segmentación (enmascaramiento) entrenado que puede incluir/excluir selectivamente muchas partes de la cara e incluso convertir las máscaras aplicadas (como las de un modelo XSeg que descargó o el modelo genérico WF XSeg que usó para aplicar máscaras a su conjunto de datos) nuevamente en etiquetas, mejórelas y luego guárdelas en sus rostros.

Paso 2. Entrena tu modelo XSeg.

Cuando comience a entrenar por primera vez, verá una opción para seleccionar el tipo de rostro del modelo XSeg, use el mismo tipo de rostro que su conjunto de datos.
También podrá elegir el dispositivo para entrenar, así como el tamaño del lote, que normalmente será mucho mayor, ya que el modelo XSeg no es tan exigente como el entrenamiento del modelo de intercambio de rostros (también puede comenzar con un valor más bajo y aumentarlo más adelante) .
Puede cambiar los modos de vista previa usando el espacio (hay 3 modos, entrenamiento DST, entrenamiento SRC y SRC+DST (distorsionado).
Para actualizar el progreso de la vista previa, presione P.
Esc para guardar y detener el entrenamiento.

Durante el entrenamiento, verifique las vistas previas con frecuencia, si algunas caras tienen máscaras defectuosas después de aproximadamente 50k iteraciones (forma incorrecta, agujeros, borrosas), guarde y detenga el entrenamiento, aplique máscaras a su conjunto de datos, ejecute el editor, encuentre rostros con máscaras defectuosas habilitando la superposición de máscaras XSeg en el editor, márquelos y presione esc para guardar y salir y luego reanude el entrenamiento del modelo XSeg, cuando inicie un modelo ya entrenado, recibirá un aviso si desea reiniciar el entrenamiento, seleccione no, ya que al seleccionar sí se reiniciará el entrenamiento del modelo desde 0 en lugar de continuar. Sin embargo, en caso de que sus máscaras no mejoren a pesar de haber marcado muchas más caras y estar muy por encima de las 100k-150k iteraciones, podría ser necesario marcar aún más caras. Continúe entrenando hasta que obtenga bordes afilados en la mayoría de sus caras y todas las obstrucciones estén correctamente excluidas.

Paso 3. Aplique máscaras XSeg a sus conjuntos de datos.

Este paso ya se ha explicado varias veces aquí pero en cualquier caso lo repito para que quede todo claro.

Una vez que haya terminado el entrenamiento o después de haber aplicado XSeg una vez y luego haya arreglado las caras que tenían máscaras defectuosas, es el momento de la aplicación final de las máscaras XSeg a sus conjuntos de datos. Además, como ya expliqué, no es necesario aplicar conjuntos de datos si está usando un modelo FF SAEHD, simplemente puede usar XSeg durante la fusión seleccionando los nuevos modos de enmascaramiento como XSeg-Prd o XSeg-Dst (o combinaciones de ellos mismos y las máscaras aprendidas), pero para obtener los mejores resultados, se recomienda aplicarlos de todos modos, ya que obtendrá mejores resultados al usar Style Power porque esas máscaras XSeg son mucho más precisas que las máscaras aprendidas que, de otro modo, se usan para definir áreas de la cara y el fondo.

Consejos adicionales:

1. No se moleste en hacer una etiqueta de 1000 puntos, tomará demasiado tiempo marcar todas las caras y no afectará la cara en comparación con si usa solo 30-40 puntos para describir la forma de la cara pero tampoco intente márquelo con 10 puntos o la máscara no será suave, la excepción aquí sería marcar el cabello para el entrenamiento del tipo de cara HEAD donde obviamente se necesita algún detalle para resolver correctamente los mechones de cabello individuales.
2. No marques sombras a menos que sean completamente negras.
3. No marque la lengua o el interior de la boca si apenas está abierta.
4. Si la obstrucción o la cara están borrosas, marque tanto como sea necesario para cubrir todo lo que debería o no debería ser visible, no haga compensaciones demasiado grandes.
5. Tenga en cuenta que cuando usa el desenfoque, el borde se desenfoca tanto hacia adentro como hacia afuera, si marca con un dedo justo en el borde, no se verá mal en un desenfoque bajo, pero en uno más alto comenzará a desaparecer y será reemplazado por la versión borrosa de lo que aprendió el modelo, lo mismo ocurre con la cavidad bucal, con un desenfoque bajo solo mostrará los dientes de la cara, pero si aplica un desenfoque alto, los dientes DST comenzarán a mostrarse y se verán mal (dientes dobles).

Esto significa:

– al excluir obstrucciones como los dedos – márquelo en el borde o mueva la etiqueta unos pocos píxeles (pero no demasiado). Tanto SRC como DST

– cuando excluya la cavidad bucal – recuerde mantener la etiqueta alejada de los dientes a menos que sean los dientes en la parte posterior que estén borrosos y oscuros, esos pueden ser excluidos. DST, SRC es opcional, si excluye los dientes posteriores en las caras SRC, el modelo XSeg entrenará para no incluirlos, por lo que no se entrenarán con tanta precisión como los dientes frontales incluidos, pero los dientes en la parte posterior suelen ser bastante borrosos y oscuros. o no visible en absoluto, no debería afectar mucho sus resultados, especialmente si decide excluirlos también en DST, en ese caso solo verá los dientes posteriores de DST de todos modos, se aplican reglas similares al excluir lenguas, márquelas en el borde, mantenga un desplazamiento de los dientes si la lengua está dentro de la boca o tocando los dientes superiores o inferiores. Tanto SRC como DST, si quieres que se entrene la lengua de SRC, no lo hagas.

Editor XSeg:

[FALTA IMAGEN, TRABAJO EN CURSO]

Vista previa de entrenamiento:
.
[FALTA IMAGEN, TRABAJO EN CURSO]
.
Ejemplos de rostros correctamente enmascarados:
.
[FALTA IMAGEN, TRABAJO EN CURSO]

Ejemplo de rostro con máscara mal aplicada:

mMSrUGJh.jpg

Solucionar el problema marcando la cara correctamente (entrena el modelo XSeg después de eso, solo etiquetarlo no mejorará el modelo):

e354c5Vh.jpg

Cómo usar caras marcadas compartidas para entrenar su propio modelo XSeg:

descargue, extraiga y coloque caras en «data_src/aligned» o «data_dst/aligned». Asegúrese de cambiarles el nombre para no sobrescribir sus propios rostros (sugiero XSEGSRC y XSEGDST para eliminarlos fácilmente después).
Puede mezclar caras compartidas con las suyas propias etiquetadas para darle al modelo la mayor cantidad posible de datos para aprender máscaras, no mezcle tipos de caras, asegúrese de que todas las caras sigan aproximadamente la misma lógica de enmascaramiento.
Luego, comience a entrenar su modelo XSeg (o uno compartido).

Cómo usar el modelo XSeg compartido y aplicarlo a su conjunto de datos:

simplemente colóquelo en la carpeta «modelo» y use aplicar archivos .bat para aplicar máscaras a SRC o DST.

Después de aplicar máscaras, abra el editor XSeg y verifique cómo se ven las máscaras habilitando la vista de superposición de máscaras XSeg, si algunas caras no tienen máscaras que se vean bien, márquelas, salga del editor y comience a entrenar el modelo XSeg nuevamente para arreglarlas. También puede mezclar algunas de las caras compartidas como se describe arriba (cómo usar caras marcadas compartidas). Puede reutilizar los modelos XSeg (como los modelos SAEHD).

Los modelos SAEHD compartidos por el usuario se pueden encontrar en la sección del foro de intercambio de modelos:

Modelos entrenados

Comparta aquí sus modelos de deepfake preentrenados para ayudar a otros a comenzar. Generalmente, los modelos de diferentes aplicaciones NO son intercambiables.mrdeepfakes.com

10. Entrenamiento SAEHD/AMP
:Si no desea aprender realmente lo que hacen todas las opciones y solo le importa un flujo de trabajo simple que debería funcionar en la mayoría de los casos, desplácese hacia abajo hasta la sección 6.1 – Flujos de trabajo de capacitación comunes.

ADVERTENCIA:
 no hay una forma correcta de entrenar un modelo, aprenda lo que hacen todas las opciones, retroceda en la guía a los pasos anteriores si encuentra problemas durante el entrenamiento (problemas de enmascaramiento, rostros borrosos/distorsionados con artefactos debido a un SRC de mala calidad o falta de de ángulos/expresiones, mala combinación de colores debido a la poca variedad de condiciones de iluminación en su conjunto SRC, malas alineaciones de DST, etc.).

Actualmente, hay 3 modelos para elegir para el entrenamiento:

SAEHD (6GB+): 
Codificador automático con estilo de alta definición: para GPU de gama alta con al menos 6 GB de VRAM. Ajustable.Recomendado para la mayoría de los usuarios.

AMP (6 GB o más): 
nuevo tipo de modelo, utiliza una arquitectura diferente, cambia de forma (intenta conservar la forma SRC), con factor de transformación ajustable (entrenamiento y fusión), para GPU de gama alta con al menos 6 GB de VRAM. Ajustable. El modelo AMP aún está en desarrollo, te recomiendo que aprendas a hacer deepfakes con SAEHD antes de usar AMP. Para el flujo de trabajo de AMP, desplácese hacia abajo hasta la sección 6.2.

Quick96 (2-4 GB): 
Modo simple dedicado para GPU de gama baja con 2-4 GB de VRAM. Parámetros fijos: resolución de 96×96 píxeles, cara completa, tamaño de lote 4, arquitectura DF-UD. Se utiliza principalmente para pruebas rápidas.

Hoja de cálculo de configuración del modelo donde puede verificar la configuración y el rendimiento de los modelos que se ejecutan en varios hardware:https://mrdeepfakes.com/forums/threads/sharing-dfl-2-0-model-settings-and-performance.4056/

Para iniciar el proceso de entrenamiento, ejecute uno de estos:

6) entrenar SAEHD
6) entrenar Quick96
6) entrenar AMP SRC-SRC

6) entrenar AMP

Es posible que haya notado que hay 2 ejecutables de entrenamiento separados para AMP, ignórelos por ahora y concéntrese primero en aprender el flujo de trabajo de SAEHD.

Dado que Quick96 no es ajustable, verá aparecer la ventana de comandos y solo hará 1 pregunta: CPU o GPU (si tiene más, le permitirá elegir uno de ellos o entrenar con ambos).
Sin embargo, SAEHD le presentará más opciones para ajustar, al igual que AMP, ya que ambos modelos son totalmente ajustables.
En ambos casos, primero aparecerá una ventana de línea de comando donde ingresa la configuración de su modelo.
En un primer inicio, tendrá acceso a todas las configuraciones que se explican a continuación, pero si está utilizando un modelo preentrenado o entrenado existente, algunas opciones no serán ajustables.
Si tiene más de 1 modelo en su carpeta «modelo», también se le pedirá que elija cuál desea usar seleccionando el número correspondiente
. También recibirá siempre un mensaje para seleccionar qué GPU o CPU desea ejecutar el entrenador. en.
Después de que comience el entrenamiento, también verá una vista previa del entrenamiento que se ve así:

[FALTA LA IMAGEN, TRABAJO EN CURSO]

Aquí hay una explicación detallada de todas las funciones en orden (principalmente) en que se presentan al usuario al comenzar el entrenamiento de un nuevo modelo.

Tenga en cuenta que algunos de estos se bloquean y no se pueden cambiar una vez que comienza a entrenar debido a la forma en que funcionan estos modelos, ejemplos de cosas que no se pueden cambiar más adelante son:

– resolución del modelo (a menudo abreviado como «res»)
– arquitectura del modelo («archi»)
– dimensiones de los modelos («dims»)
– tipo de rostro
– factor de forma (entrenamiento AMP)

Además, no todas las opciones están disponibles para todos los tipos de modelos:
Para LIAE no hay True Face (TF)
Para AMP no hay elección de arquitectura o prioridad ojo y boca (EMP)
A medida que se desarrolla el software, es posible que haya más opciones disponibles o no disponibles para ciertos modelos, si está en la versión más reciente y nota la falta de alguna opción que, según esta guía, todavía está disponible o nota la falta de algunas opciones explicadas aquí que están presentes, envíeme un mensaje a través de un mensaje privado o publique un mensaje en este hilo e intentaré actualizar la guía lo antes posible.

Copia de seguridad automática cada N horas (0..24?: ayuda): se explica por sí mismo: le permitimos habilitar copias de seguridad automáticas de su modelo cada N horas. Si lo deja en 0 (predeterminado), se desactivarán las copias de seguridad automáticas. El valor predeterminado es 0 (deshabilitado).

[n] Escribir historial de vista previa (y/n?:ayuda): guarde las imágenes de vista previa durante el entrenamiento cada pocos minutos, si selecciona sí, obtendrá otro aviso:[n] Elegir imagen para el historial de vista previa (y/n): si selecciona N, el modelo elegirá rostros para las vistas previas al azar; de lo contrario, seleccionar Y abrirá una nueva ventana después de que se carguen los conjuntos de datos donde podrá elegir ellos manualmente.

Iteración objetivo: dejará de entrenar después de alcanzar cierta cantidad de iteraciones, por ejemplo, si desea entrenar su modelo a solo 100 000 iteraciones, debe ingresar un valor de 100 000. Si lo deja en 0, se ejecutará hasta que lo detenga manualmente. El valor predeterminado es 0 (deshabilitado).

[n] Voltear caras SRC al azar (y/n?:ayuda):Voltea aleatoriamente las caras SRC horizontalmente, ayuda a cubrir todos los ángulos presentes en el conjunto de datos DST con caras SRC como resultado de voltearlas, lo que puede ser útil a veces (especialmente si nuestro conjunto no tiene muchas condiciones de iluminación diferentes pero tiene la mayoría de los ángulos) sin embargo en muchos casos, hará que los resultados parezcan poco naturales porque las caras nunca son perfectamente simétricas, también copiará las características faciales de un lado de la cara al otro, pueden aparecer en cualquier lado o en ambos al mismo tiempo. Recomendado para usar solo al principio del entrenamiento o no usarlo en absoluto si nuestro conjunto SRC es lo suficientemente diverso. El valor predeterminado es N.

[y] Voltear caras DST aleatoriamente (y/n ?:ayuda): voltea aleatoriamente las caras DST horizontalmente, puede mejorar la generalización cuando la opción Voltear caras SRC aleatoriamente está desactivada. El valor predeterminado es Y.

Batch_size (?:help): la configuración del tamaño del lote afecta la cantidad de caras que se comparan entre sí en cada iteración. El valor más bajo es 2 y puede ir tan alto como lo permita su GPU, lo que se ve afectado por la VRAM. Cuanto mayor sea la resolución y las dimensiones de sus modelos y más funciones habilite, se necesitará más VRAM, por lo que es posible que se requiera un tamaño de lote más bajo. Se recomienda no usar un valor por debajo de 4. Un tamaño de lote más alto proporcionará una mejor calidad a costa de un entrenamiento más lento (mayor tiempo de iteración). Para la etapa inicial, se puede establecer un valor más bajo para acelerar el entrenamiento inicial y luego aumentarlo más. Los valores óptimos están entre 6-12. ¿Cómo adivinar qué tamaño de lote usar? Puede usar prueba y error o ayudarse a sí mismo observando lo que otras personas pueden lograr en sus GPU al verificarConfiguración del modelo DFL 2.0 y subproceso de rendimiento compartido .

Resolución ( 64-640 ?:help ) : aquí configuras la resolución de tus modelos, ten en cuenta que esta opción no se puede cambiar durante el entrenamiento. Afecta la resolución de las caras intercambiadas, cuanto mayor sea la resolución del modelo, más detallada será la cara aprendida, pero también el entrenamiento será mucho más intenso y prolongado. La resolución se puede aumentar de 64×64 a 640×640 en incrementos de:

16 (para variantes de arquitecturas regulares y -U)
32 (para variantes de arquitecturas -D y -UD)

Las resoluciones más altas pueden requerir el aumento de las dimensiones del modelo (dims) pero no es obligatorio, puede obtener buenos resultados con dims predeterminados y puede obtener malos resultados con dims muy altos, al final es la calidad de su conjunto de datos de origen lo que tiene la mayor impacto en la calidad, así que no se estrese si no puede ejecutar mayores atenuaciones con su GPU, concéntrese en crear un buen conjunto de fuentes, preocúpese por las atenuaciones y la resolución más adelante.

Tipo de rostro ( h/mf/f/wf/head ?:ayuda ): esta opción le permite configurar el área del rostro que desea entrenar, hay 5 opciones: medio rostro, medio rostro, rostro completo, rostro completo y cabeza:

a) Media cara (HF) : solo se extiende desde la boca hasta las cejas, pero en algunos casos puede cortar la parte superior o inferior de la cara (cejas, mentón, parte de la boca).
b) Media cara (MHF)– tiene como objetivo solucionar el problema de HF cubriendo una porción de la cara un 30 % más grande en comparación con la mitad de la cara, lo que debería evitar que ocurran la mayoría de los cortes indeseables, pero aún pueden ocurrir.
c) Cara completa (FF) : cubre la mayor parte del área de la cara, excluyendo la frente, a veces puede cortar un poco de la barbilla, pero esto sucede muy raramente (solo cuando el sujeto abre la boca completamente) – más recomendado cuando SRC y/o DST tener el pelo cubriendo la frente.
d) Cara completa (WF) : expande esa área aún más para cubrir casi toda la cara, incluida la frente y toda la cara desde el costado (hasta las orejas, HF, MHF y FF no cubren tanto).
e) Cabeza (CABEZA)– se usa para hacer un intercambio de toda la cabeza, no es adecuado para sujetos con cabello largo, funciona mejor si el conjunto de facetas/conjunto de datos de origen proviene de una sola fuente y tanto SRC como DST tienen cabello corto o uno que no cambia de forma dependiendo de el ángulo.
Ejemplos de caras, vista frontal y lateral cuando se utilizan todos los tipos de cara: [FALTA IMAGEN, TRABAJO EN CURSO]

Arquitectura (df/liae/df-u/liae-u/df-d/liae-d/df-ud/liae- ud ?:help ) :
 Esta opción le permite elegir entre 2 arquitecturas de modelo principal: DF y LIAE, así como sus variantes:

DF:Esta arquitectura de modelo proporciona una mejor similitud de SRC a costa de una peor iluminación y combinación de colores que LIAE, también requiere que el conjunto SRC coincida con todos los ángulos y la iluminación del DST mejor y, en general, mejor que un conjunto que podría ser bien para LIAE, tampoco se ocupa de la forma general de la cara y la falta de coincidencia de proporciones entre SRC y DST, donde LIAE es mejor, pero al mismo tiempo puede lidiar con una mayor falta de coincidencia de la apariencia real de los rasgos faciales y es más ligero en su GPU (menos VRAM uso), mejor en tomas frontales, puede tener más dificultades en ángulos difíciles si el conjunto SRC no cubre todos los ángulos, expresiones y condiciones de iluminación requeridos de su DST.

LIAE:Este modelo es casi completamente opuesto a DF, no produce caras que sean como SRC en comparación con DF si las características faciales y la apariencia general de DST son demasiado diferentes de SRC pero al mismo tiempo trata mejor con diferentes proporciones y formas de cara que DF, también crea caras que coinciden con la iluminación y el color de DST mejor que DF y es más tolerante cuando se trata de un conjunto de SRC, pero eso no significa que pueda crear un intercambio de buena calidad si le faltan partes importantes del SRC conjunto que están presentes en el horario de verano, aún necesita cubrir todos los ángulos. LIAE es más pesado en GPU (mayor uso de VRAM) y hace un mejor trabajo en ángulos más complejos.
También asegúrese de leer «Capacitación adicional y reutilización de modelos LIAE/LIAE RTM entrenados – Eliminación de archivos inter_ab e inter_b explicados:» en el Paso 10.5 para saber cómo manejar los modelos LIAE al reutilizarlos.

Tenga en cuenta que si bien estas son características generales de ambas arquitecturas, no significa que siempre se comportarán así, el modelo DF entrenado incorrectamente puede tener un peor parecido con SRC que el modelo LIAE entrenado correctamente y también puede fallar por completo al crear algo que se vea cercano a SRC con LIAE y logre una coincidencia de color e iluminación casi perfecta con el modelo DF. Todo se reduce a qué tan bien coinciden su SRC y DST y qué tan bien está hecho su conjunto de SRC, que incluso si conoce todos los conceptos básicos, aún puede requerir mucho ensayo y error.

Cada modelo se puede modificar usando banderas que permiten variantes de las arquitecturas del modelo, también se pueden combinar en el orden que se presenta a continuación (todos ellos afectan el rendimiento y el uso de VRAM):

-U : esta variante tiene como objetivo mejorar la similitud/semejanza con el las caras de la fuente y, en general, se recomienda su uso siempre.
-D :esta variante tiene como objetivo mejorar la calidad al duplicar aproximadamente la resolución posible sin costo de cómputo adicional; sin embargo, requiere un entrenamiento más prolongado, el modelo debe entrenarse previamente primero para obtener resultados óptimos y la resolución debe cambiarse por el valor de 32 en lugar de 16 en otras variantes. En general, también debe usarse siempre debido a la cantidad de modelo de resolución más alta que permite esta arquitectura, pero si tiene acceso a una configuración de vram extremadamente alta, podría valer la pena experimentar con modelos de entrenamiento sin ella, ya que podría generar resultados de mayor calidad, como es para la mayoría de los usuarios con configuraciones de Joe promedio, se recomienda usarlo siempre.
-T :esta variante cambia la arquitectura del modelo de una manera diferente a -U pero con el mismo objetivo: crear aún más resultados similares a SRC; sin embargo, puede afectar la nitidez de las caras, ya que tiende a causar una ligera pérdida de detalles en comparación con solo usar -D/ -Variantes UD.
-C : variante experimental, cambia la función de activación entre ReLu y Leaky ReLu (usar bajo su propio riesgo).

Para combinar variantes de arquitectura después de DF/LIAE, escriba un símbolo «-» y luego letras en el mismo orden que se presentó anteriormente, ejemplos: DF-UDTC, LIAE-DT, LIAE-UDT, DF-UD, DF-UT, etc.

Los siguientes 4 las opciones controlan las dimensiones de la red neuronal de los modelos que afectan la capacidad de los modelos para aprender; modificarlas puede tener un gran impacto en el rendimiento y la calidad:

Auto Encoder Dims (32-2048?: ayuda):
La configuración de atenuación automática del codificador afecta la capacidad general del modelo para aprender caras.
Inter Dims ( 32-2048 ?:help ): configuración de inter dims, afecta la capacidad general del modelo para aprender caras, debe ser igual o mayor que las dims del codificador automático, SOLO AMP.
Encoder Dims (16-256 ?:help): la configuración de las atenuaciones del codificador afecta la capacidad del codificador para aprender caras.
Dims del decodificador (16-256?: ayuda): la configuración de las atenuaciones del decodificador afecta la capacidad del decodificador para recrear caras.
Dims de la máscara del decodificador (16-256?: ayuda): la configuración de las atenuaciones del decodificador de la máscara afecta la calidad de las máscaras aprendidas. Puede o no afectar algunos otros aspectos del entrenamiento.

Los cambios en el rendimiento al cambiar cada configuración pueden tener diferentes efectos en el rendimiento y no es fácil medir el efecto de cada uno en el rendimiento y la calidad sin pruebas exhaustivas.

Cada uno se establece en un determinado valor predeterminado que debería ofrecer resultados óptimos y un buen compromiso entre la velocidad y la calidad del entrenamiento.

Además, al cambiar un parámetro, los otros también deben cambiarse para mantener las relaciones entre ellos similares, lo que significa aumentar las atenuaciones AE, las atenuaciones E y D también deben aumentarse y las atenuaciones D Mask pueden aumentarse, pero es opcional y se puede dejar en predeterminado o reducido a 16 para ahorrar algo de VRAM a costa de una menor calidad de las máscaras aprendidas (no es lo mismo que las máscaras XSeg, estas son máscaras que el modelo aprende durante el entrenamiento y ayudan al modelo a entrenar el área de la cara de manera eficiente, si tiene XSeg aplicado esas máscaras aprendidas se basan en la forma de sus máscaras XSeg; de lo contrario, se aprenden las máscaras derivadas de puntos de referencia FF predeterminadas). Siempre es mejor criarlos a todos cuando

Morph factor (0.1 .. 0.5 ?:help): Afecta cuánto transformará el modelo las caras predichas para verse y expresarse más como su SRC, el valor típico y recomendado es 0.5. (Necesito probar esto personalmente, no usé AMP todavía, así que no sé si un valor más alto o más bajo es mejor).

Entrenamiento enmascarado ( y/n ?:ayuda ): Prioriza el entrenamiento de lo que está enmascarado (máscara predeterminada o máscara xseg aplicada), disponible solo para los tipos de rostro WF y HEAD, deshabilitarlo entrena toda el área de muestra (incluido el fondo) con la misma prioridad que el rostro mismo. El valor predeterminado es y (habilitado).

Prioridad de ojos y boca (sí/no?:ayuda): los intentos de solucionar problemas con los ojos y la boca (incluidos los dientes) entrenándolos con mayor prioridad también pueden mejorar su nitidez/nivel de detalle.

Uniform_yaw (y/n?:help): ayuda con el entrenamiento de caras de perfil, obliga al modelo a entrenar de manera uniforme en todas las caras dependiendo de su guiñada y prioriza las caras de perfil, puede hacer que las caras frontales se entrenen más lentamente, habilitado de forma predeterminada durante el preentrenamiento, puede ser se usa mientras RW está habilitado para mejorar la generalización de caras de perfil/laterales o cuando RW está deshabilitado para mejorar la calidad y la nitidez/detalle de esas caras. Útil cuando su conjunto de datos de origen no tiene muchas fotos de perfil. Puede ayudar a reducir los valores de pérdida. El valor predeterminado es n (deshabilitado).

Desenfoca nuestra máscara (t/n?:ayuda):Desenfoca el área fuera del área enmascarada para que sea más suave. Con el entrenamiento enmascarado habilitado, el fondo se entrena con una prioridad más baja que el área de la cara, por lo que es más propenso a los artefactos y al ruido. Puede combinar la máscara de desenfoque con la potencia del estilo de fondo para obtener un fondo más cercano al fondo de las caras DST y también más suave debido a el desenfoque adicional que proporciona esta opción. Se debe usar el mismo modelo XSeg para aplicar máscaras a los conjuntos de datos SRC y DST.

Coloque los modelos y el optimizador en la GPU (y/n?:ayuda):Habilitar el optimizador de GPU pone toda la carga en su GPU, lo que mejora en gran medida el rendimiento (tiempo de iteración), pero conducirá a un mayor uso de VRAM; deshabilitar esta función descargará parte del trabajo del optimizador a la CPU, lo que disminuye la carga en el uso de GPU y VRAM, lo que le permite lograr un tamaño de lote más alto o ejecutar modelos más exigentes a costa de tiempos de iteración más largos. Si obtiene un error OOM (memoria insuficiente) y no desea reducir el tamaño de su lote o deshabilitar alguna función, debe deshabilitar esta función y, por lo tanto, parte del trabajo se descargará a su CPU y podrá ejecutar su modelo sin Errores OOM a costa de menor velocidad. El valor predeterminado es y (habilitado).

¿Usar el optimizador AdaBelief? (t/n?:ayuda):AdaBelief (AB) es un nuevo optimizador de modelos que aumenta la precisión del modelo y la calidad de las caras entrenadas. Cuando esta opción está habilitada, reemplaza al optimizador RMSProp predeterminado. Sin embargo, esas mejoras tienen el costo de un mayor uso de VRAM. Cuando se usa AdaBelief, LRD es opcional pero aún se recomienda y debe habilitarse (LRD) antes de ejecutar el entrenamiento GAN. El valor predeterminado es Y.

Nota personal: algunas personas dicen que puede deshabilitar Adabelief en el modelo existente y volverá a entrenar bien, no estoy completamente de acuerdo con esto y creo que el modelo nunca se recupera perfectamente y olvida demasiado cuando lo enciende o lo apaga, así que sugiero simplemente quédese con que esté habilitado o deshabilitado. Lo mismo para LRD, algunas personas dicen que es opcional, algunas que todavía es necesario, algunas dicen que no es necesario, todavía lo uso con AB, algunas personas pueden no usarlo, saque conclusiones usted mismo de la descripción integrada de DFL.

Use el abandono de la tasa de aprendizaje (y/n/cpu ?:help): LRD se usa para acelerar el entrenamiento de las caras y reduce el movimiento de subpíxeles (reduce el movimiento de la cara y, hasta cierto punto, también puede reducir el parpadeo de la iluminación).
Se utiliza principalmente en 3 casos:
– antes de deshabilitar RW, cuando los valores de pérdida ya no mejoran mucho, esto puede ayudar al modelo a generalizar un poco más las
caras dan como resultado caras más detalladas y estables que son menos propensas a parpadear
. Esta opción afecta el uso de VRAM, por lo que si se encuentra con errores OOM, puede ejecutarlo en la CPU a costa de tiempos de iteración un 20% más lentos o simplemente reducir el tamaño de su lote.
Para obtener una explicación más detallada de LRD y el orden de activación de las funciones principales durante el entrenamiento, consulte la Pregunta 8 de la Pregunta frecuente

Habilitar deformación aleatoria de muestras (sí/no?:ayuda):La deformación aleatoria se usa para generalizar un modelo para que aprenda correctamente las características y expresiones faciales en la etapa de entrenamiento inicial, pero mientras esté habilitada, el modelo puede tener problemas para aprender los detalles finos; por eso, se recomienda mantener esta función habilitada por tanto tiempo como sus caras siguen mejorando (observando los valores de pérdida decrecientes y las caras en la ventana de vista previa mejorando) y una vez que todo se vea correcto (y la pérdida ya no disminuya), debe deshabilitarlo para comenzar a aprender detalles, a partir de entonces no Vuelva a habilitarlo a menos que arruine los resultados al aplicar valores altos para ciertas configuraciones (potencia de estilo, cara real, etc.) o cuando desee reutilizar ese modelo para entrenar un nuevo video de destino con la misma fuente o cuando lo reutilice con una combinación de tanto el nuevo SRC como el DST, siempre comienzas a entrenar con RW habilitado.El valor predeterminado es y (habilitado).

Habilitar potencia HSV ( 0.0 .. 0.3 ?: ayuda ) : aplica cambios aleatorios de tono, saturación y brillo solo a su conjunto de datos SRC durante el entrenamiento para mejorar la estabilidad del color (reducir el parpadeo) y también puede afectar la coincidencia de color del resultado final, esta opción tiene un efecto de promediar ligeramente los colores de su conjunto SRC, ya que el cambio HSV de las muestras SRC se basa solo en la información de color de las muestras SRC y se puede combinar con la transferencia de color (CT), la potencia (calidad) de la cual esta opción reduce o utiliza sin él, si obtiene mejores resultados sin CT pero necesita hacer que los colores de la cara resultante sean un poco más estables y consistentes, requiere que su conjunto de datos SRC tenga mucha variedad en términos de condiciones de iluminación (dirección, intensidad y tono de color) , el valor recomendado es 0,05.

GAN power (0.0 .. 10.0 ?:help): GAN significa Generative Adversarial Network y, en el caso de DFL 2.0, se implementa como una forma adicional de entrenamiento para obtener caras más detalladas/nítidas. Esta opción se puede ajustar en una escala de 0,0 a 10,0 y solo debe habilitarse una vez que el modelo esté más o menos entrenado (después de haber deshabilitado la deformación aleatoria de muestras y habilitado LRD ). Se recomienda utilizar valores bajos como 0,01. Asegúrese de hacer una copia de seguridad de su modelo antes de comenzar a entrenar (en caso de que no le gusten los resultados, obtenga artifcats o su modelo colapsa). Una vez habilitado, se presentarán dos configuraciones más para ajustar los parámetros internos de GAN:

[1/8 de RES] tamaño de parche GAN (3-640?: ayuda):Mejora la calidad del entrenamiento GAN a costa de un mayor uso de VRAM, el valor predeterminado es 1/8 de su resolución.

[16] Dimensiones GAN ( 4-64 ?:ayuda ): las dimensiones de la red GAN. Cuanto mayores sean las dimensiones, más VRAM se requiere, pero también puede mejorar la calidad, puede obtener bordes nítidos incluso con la configuración más baja y, debido a esto, se recomienda el valor predeterminado de 16, pero puede reducirlo a 12-14 para ahorrar algo de rendimiento. si lo necesitas.

Ejemplo de antes/después de una cara entrenada con GAN a un valor de 0.1 para 40k iteraciones:

[img=650×400]

https://imgur.com/Nbh3mw1/embed?ref=https%3A%2F%2Fmrdeepfakes.com%2Fforums%2Fthreads%2Fguide-deepfacelab-2-0-guide.3886%2F&w=540
Poder de ‘cara verdadera’. ( 0.0000 .. 1.0 ?: ayuda ): el entrenamiento de cara real con una configuración de potencia variable le permite establecer el discriminador del modelo en un valor más alto o más bajo, lo que hace es intentar que la cara final se vea más como src, como un efecto secundario puede hacer que las caras parezcan más nítidas, pero también puede alterar la iluminación y la combinación de colores y, en casos extremos, incluso hacer que las caras parezcan cambiar de ángulo, ya que el modelo intentará generar una cara que se parezca más a la muestra de entrenamiento, ya que con GAN esta función solo debe estar habilitada una vez que la deformación aleatoria está deshabilitada y el modelo está bastante bien entrenado. Considere hacer una copia de seguridad antes de habilitar esta función. Nunca use valores altos, el valor típico es 0.01 pero puede usar valores aún más bajos como 0.001. Tiene un pequeño impacto en el rendimiento. El valor predeterminado es 0.0 (deshabilitado).
[img=500×200]

https://imgur.com/czScS9q/embed?ref=https%3A%2F%2Fmrdeepfakes.com%2Fforums%2Fthreads%2Fguide-deepfacelab-2-0-guide.3886%2F&w=540
Poder de estilo de cara ( 0.0..100.0 ?: ayuda ) y poder de estilo de fondo ( 0.0..100.0 ?: ayuda ) :Esta configuración controla la transferencia de estilo de la cara (FSP) o la parte de fondo (BSP) de la imagen, se usa para transferir la información de color de las caras de destino/objetivo (data_dst) a las caras predichas finales, mejorando así la iluminación y coincidencia de color, pero los valores altos pueden hacer que la cara predicha se parezca menos a la cara de origen y más a la cara de destino. Comience con valores pequeños como 0.001-0.1 y auméntelos o disminúyalos según sus necesidades. Esta característica tiene un impacto en el uso de la memoria y puede causar un error OOM, lo que lo obliga a reducir el tamaño de su lote para poder usarlo. Para Background Style Power (BSP), se pueden usar valores más altos ya que no nos importa mucho conservar los fondos SRC, el valor recomendado por DFL para BSP es 2.0, pero también puede experimentar con diferentes valores para el fondo.
El valor predeterminado es 0.0 (deshabilitado).

Transferencia de color para el conjunto de facetas src ( none/rct/lct/mkl/idt/sot ?:help ): esta característica se usa para hacer coincidir los colores de su data_src con el data_dst para que el resultado final tenga un color/tono de piel similar al data_dst y el resultado final después del entrenamiento no cambia de color cuando la cara se mueve, lo que comúnmente se conoce como parpadeo/parpadeo/cambio de color/cambio de color (lo que puede suceder si se tomaron varios ángulos de la cara de varias fuentes que contenían diferentes condiciones de luz o eran de color). clasificado de manera diferente). Hay varias opciones para elegir:

– ninguna: porque a veces menos es mejor y en algunos casos puede obtener mejores resultados sin ninguna transferencia de color durante el entrenamiento.
– rct(transferencia de color reinhard): basado en: https://www.cs.tau.ac.il/~turkel/imagepapers/ColorTransfer.pdf
– lct (transferencia de color lineal): hace coincidir la distribución de color de la imagen de destino con la de la imagen de origen mediante una transformación lineal.
– mkl (Monge-Kantorovitch lineal): basado en: http://www.mee.tcd.ie/~sigmedia/pmwiki/uploads/Main.Publications/fpitie07b.pdf
– idt (Transferencia iterativa de distribución): basado en: http ://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.158.1052&rep=rep1&type=pdf
– sot (transferencia óptima en rodajas): basado en: https://dcoeurjo.github.io/OTColorTransfer/

La mayoría de las transferencias de color tienen poco o ningún efecto sobre el rendimiento o el uso de VRAM, con la excepción de SOT, que tiene un efecto sobre el rendimiento durante el entrenamiento y puede ralentizar considerablemente el proceso de fusión si se usa durante la fusión. Otras transferencias de color como IDT también pueden tener un impacto en el rendimiento durante la fusión.

El uso de transferencias de color no siempre es obligatorio, pero a menudo ayuda y, en algunos casos, es absolutamente obligatorio. Debe recordar también que habilitarlas actúa como un aumento del conjunto, creando efectivamente nuevas condiciones para todas las muestras de SRC, aumentando así la complejidad de los datos de entrenamiento que pueden resultar en una mayor pérdida cuando están habilitados y naturalmente significarán que el modelo tendrá que ser entrenado por más tiempo para lograr el mismo estado en comparación con el entrenamiento sin transferencia de color donde las caras nunca cambian tanto de color. Esta opción se puede combinar con Random HSV Power, que proporciona un aumento adicional del conjunto SRC en función de los colores del conjunto SRC solo (a diferencia de CT, que aumenta el SRC en función del horario de verano), promediando ligeramente sus colores de manera efectiva.

Habilitar recorte de degradado (y/n ?:help): esta función se implementa para evitar el llamado colapso/corrupción del modelo que puede ocurrir al usar varias funciones de DFL 2.0. Tiene un pequeño impacto en el rendimiento, por lo que si realmente no desea usarlo, debe habilitar las copias de seguridad automáticas, ya que un modelo colapsado no se puede recuperar y debe eliminarse y el entrenamiento debe comenzar de nuevo. El valor predeterminado es n (deshabilitado), pero dado que el impacto en el rendimiento es muy bajo, puede ahorrarle mucho tiempo al evitar el colapso del modelo si lo deja habilitado. Es más probable que se produzca un colapso del modelo al usar Style Powers, por lo que si los está utilizando, se recomienda encarecidamente habilitar el recorte de degradado o las copias de seguridad (también puede hacerlo manualmente).

Habilitar el modo de preentrenamiento (y/n?:ayuda):Habilita el proceso de preentrenamiento que utiliza un conjunto de datos de personas aleatorias para preentrenar inicialmente su modelo, después de entrenarlo en cualquier lugar entre 500,000 y 1,000,000 iteraciones, dicho modelo se puede usar al comenzar el entrenamiento con data_src y data_dst reales que desea entrenar, ahorra tiempo porque el modelo ya sabrá cómo deben verse las caras y, por lo tanto, hará que las caras tarden menos tiempo en aparecer claramente durante el entrenamiento (asegúrese de desactivar el entrenamiento previo cuando entrene en su data_src y data_dst reales). Los modelos que usan variantes de arquitectura -D deben entrenarse previamente y también se recomienda entrenar previamente todos los modelos.
Los modelos SAEHD compartidos por el usuario se pueden encontrar en este hilo: https://mrdeepfakes.com/forums/thre…eral-thread-for-user-made-models-and-requests

1. ¿Qué son los modelos preentrenados?

Los modelos preentrenados se hacen entrenándolos con caras aleatorias de varias personas. El uso de un modelo preparado de esa manera acelera significativamente la etapa de entrenamiento inicial porque el modelo ya sabe cómo debe verse la cara, por lo que no tiene que esperar tanto para que las caras comiencen a aparecer y se afilarán más rápido en comparación con el entrenamiento en un modelo fresco y no preentrenado.
Ahora también puede compartir sus conjuntos de preentrenamiento personalizados (SFW/NSFW) para varios tipos de rostro (cara completa, cara completa y cabeza).

2. ¿Cómo utilizar modelos preentrenados?

Simplemente descárguelo y coloque todos los archivos directamente en la carpeta de su modelo, comience a entrenar, luego de seleccionar el modelo para entrenar (si tiene más de uno en su carpeta de modelos) y el dispositivo para entrenar (GPU/CPU) presione cualquier tecla dentro de 2 segundos (verás un mensaje que dice exactamente esto) para anular la configuración del modelo y asegurarte de que la opción de preentrenamiento esté desactivada (N) para que comiences a entrenar y no continúes con el preentrenamiento.
Si deja habilitada la opción de preentrenamiento (Y), el modelo continuará preentrenándose usando el conjunto de datos de preentrenamiento incorporado que viene con DFL (en este hilo encontrará modelos entrenados tanto con el antiguo conjunto de datos de preentrenamiento de cara completa como con el nuevo conjunto de datos completo). enfrentar el conjunto de datos FFHQ).
Tenga en cuenta que el modelo revertirá el recuento de iteraciones a 0 cuando deshabilite el entrenamiento previo y comience el entrenamiento regular, ese es el comportamiento normal de los modelos entrenados previamente. Sin embargo, si el modelo se describe como «entrenamiento regular», esto significa que no se entrenó previamente, sino que se entrenó para una cierta cantidad de iteraciones en las que tanto el conjunto de datos SRC como el DST contenían caras aleatorias de personas, en este caso, el modelo continuará con el entrenamiento y el recuento de iteraciones no. t comienza en 0 pero en el valor que tenía cuando el usuario que comparte el modelo finalizó el entrenamiento.

3. ¿Cómo crear tu propio modelo preentrenado?

1. La forma oficial y recomendada de crear uno es usar la opción de preentrenamiento que utilizará el conjunto de datos de caras de celebridades aleatorias integradas de DFL y entrenará su modelo de esta manera para iteraciones de 500k-1kk.

Después de que el modelo esté lo suficientemente entrenado (la mayoría de las caras en la vista previa deberían verse nítidas para entonces, con dientes bien definidos, ojos pero no necesariamente con muchos detalles muy finos).

1.1 También puede cambiar el conjunto de datos de preentrenamiento predeterminado por uno propio que puede crear colocando rostros aleatorios de personas que es más probable que falsifique (pueden ser todos hombres, mujeres, una mezcla de hombres y mujeres, solo celebridades, personas aleatorias) y luego empaquetarlo usando util faceset pack.bat y luego reemplazar el archivo original en \_internal\pretrain_CelebA con este nuevo conjunto de datos.

2. Una forma alternativa de entrenar previamente un modelo es preparar conjuntos de datos data_src y data_dst con caras de personas aleatorias, desde varios ángulos y con diferentes expresiones y entrenar modelos como lo haría normalmente (preentrenamiento deshabilitado). Para el conjunto de datos de origen, puede usar las caras de las celebridades que es más probable que intercambie en el futuro y para el horario de verano, puede usar cualquier cara de los tipos de videos que es más probable que use como sus videos de destino.

Sin embargo, debe tenerse en cuenta que preparar su modelo simplemente entrenándolo en caras aleatorias puede introducir algo de transformación y hacer que las caras resultantes se parezcan un poco menos a la fuente por un tiempo. Sin embargo, después de algunos reentrenamientos usando la misma fuente, la similitud de src de las caras predichas debería mejorar. Este método puede ser más rápido para adaptarse a caras nuevas en comparación con el entrenamiento en un modelo previamente entrenado (porque simplemente estamos reutilizando un modelo, pero en lugar de reutilizar uno que fue entrenado en un conjunto de datos src específico, reutilizamos un modelo que contiene caras aleatorias, como se mencionó anteriormente) puede incluir caras de personas que es más probable que falsifique como parte de sus conjuntos de datos src y dst).

NOTA: Si está entrenando previamente un modelo HEAD, considere usar su conjunto de entrenamiento previo personalizado, ya que el conjunto de datos FFHQ incluido es del tipo de cara completa (WF). Se recomienda encarecidamente entrenar previamente HEAD y cualquier tipo de modelo AMP, los modelos FF y WF SAEHD son opcionales, pero aún ayuda entrenarlos previamente a al menos 300-500k y luego usarlo como base para su proyecto futuro o hacer 500- adicionales. 600k de entrenamiento aleatorio además de su preentrenamiento con modelos SAEHD.

10.1 Flujos
NOTA: La arquitectura LIAE puede comportarse de manera no deseada cuando se reutiliza el modelo (entrenado), por lo tanto, de manera similar al entrenamiento RTT/RTM, puede requerir que el usuario elimine uno de los dos archivos intermedios (inter_ab, inter_b) para que el modelo aprenda correctamente las caras nuevas. al cambiar SRC, DST o ambos (hablando de identidades pero también de cambios importantes en el tipo de iluminación en ambas caras incluso con los mismos sujetos tanto en SRC como en DST).

Lea el Paso 10.5 «Capacitación adicional y reutilización de modelos LIAE/LIAE RTM capacitados – Eliminación de archivos inter_ab e inter_b explicados:» para obtener instrucciones detalladas sobre qué archivo inter eliminar y cuándo (depende de lo que se cambie, SRC, DST o ambos). ).

Este es un flujo de trabajo muy simple y simplificado, utilícelo bajo su propio riesgo. Recomiendo aprender adecuadamente sobre cada opción y practicar su uso para crear sus propios flujos de trabajo. algo que no parece completamente basura, aún así, la mayoría de las personas probablemente entrenarán de una manera similar a esta, ya que hay un orden adecuado para hacer algunas cosas en DFL, es solo que a menudo hay casos en los que necesita cambiar las cosas un poco, Tampoco siempre necesitarás todas las opciones disponibles para lograr buenos resultados, entender cómo funciona el software y qué hace cada opción siempre será útil y te permitirá ajustar el flujo de trabajo a tus necesidades, así que lee todo. (toda la guía, no este flujo de trabajo simplificado).
No me pregunte por qué algo es así en este flujo de trabajo, si necesita ayuda, lea las explicaciones de las diversas opciones que menciono en este flujo de trabajo simplificado.

Paso 1: entrene previamente su propio modelo o descargue un modelo preentrenado/entrenado y colóquelo en su carpeta «modelo».

Paso 2: comience a entrenar solo con la deformación aleatoria habilitada (RW) y todo lo demás deshabilitado para generalizar el modelo en sus conjuntos de datos, si está trabajando con un conjunto de datos SRC muy limitado, puede habilitar el cambio aleatorio de caras SRC, use color RCT, LCT o SOT transferencias (RCT generalmente es lo suficientemente bueno, LCT solo es bueno en casos muy específicos, SOT es mejor pero pesado y lento, también hay modos MKL e IDT, siéntase libre de probar todos y usar uno que funcione mejor en el escenario dado), mantenga entrene hasta que todas las caras estén correctamente entrenadas, se vean como SRC y no haya caras que se vean incorrectas, si detecta una cara incorrecta, examine los puntos de referencia DST de la cara y verifique si tiene una muestra de SRC para ese ángulo, con esta o una expresión similar y bajo condiciones de iluminación similares, si no es así, mejore su conjunto de datos SRC y corrija los desajustes de DST.Su pérdida tampoco debería progresar tan rápido (dfl guarda y actualiza la pérdida actual cada 25 minutos, si después de 2 a 4 horas la pérdida no ha disminuido mucho, continúe con el siguiente paso).

Paso 3: una vez que haya arreglado sus conjuntos de datos, continúe entrenando, puede tomar algún tiempo para que mejoren todas las malas predicciones, ya que el modelo necesita aprender nuevas caras, una vez que todo se ve bien y su pérdida no ha cambiado mucho en las últimas 2 a 4 horas. Opcionalmente, puede habilitar EMP durante algunas horas para mejorar la generalización de la boca y los ojos (EMP prioriza esas áreas cuando está habilitado, cuando está en pérdida subirá y bajará con el tiempo, pero no alcanzará los valores de pérdida previos a EMP hasta que lo deshabilite. ), luego deshabilite EMP y habilite UY, la guiñada uniforme mejorará varios ángulos difíciles, caras de perfil (laterales), etc. Una vez que la pérdida se estanque nuevamente, puede deshabilitar UY o mantenerlo habilitado y habilitar LRD y entrenar hasta que la pérdida se estanque nuevamente, asegúrese de verifique las vistas previas también, noNo confíe solo en los valores de pérdida y tenga en cuenta que, según el tamaño y la calidad de ambos conjuntos, puede notar diferentes valores de pérdida, rara vez alcanzará los mismos valores en varios proyectos, a veces al final de la etapa RW puede estar en 0.4, otras veces a 0,3 pérdida de SRC, DST o ambos (por lo general, DST es una fuente única, más consistente y más pequeña, por lo que en esos casos la pérdida de SRC será mayor y podría seguir disminuyendo mientras que la pérdida de DST ya no está mejorando mucho, si SRC es sigue mejorando sigue entrenando).más consistente y más pequeño, por lo que en esos casos la pérdida de SRC será mayor y podría seguir disminuyendo mientras que la pérdida de DST ya no está mejorando mucho, si SRC sigue mejorando, siga entrenando).más consistente y más pequeño, por lo que en esos casos la pérdida de SRC será mayor y podría seguir disminuyendo mientras que la pérdida de DST ya no está mejorando mucho, si SRC sigue mejorando, siga entrenando).

Paso 4: deshabilite RW, UY (si lo mantuvo habilitado cuando ejecutó LRD) y LRD, siga entrenando, ahora el modelo aprenderá detalles más finos, las caras comenzarán a verse más detalladas, especialmente áreas con detalles finos como dientes, cejas, ojos , etc. Una vez que la pérdida se estanque nuevamente, puede repetir los pasos desde el paso 3, EMP durante unas horas, luego deshabilitar EMP y habilitar UY (o mantener EMP habilitado mientras UY se está ejecutando), luego deshabilitar UY y EMP o mantener UY habilitado (pero deshabilitar EMP ) y ejecute LRD hasta que la pérdida ya no mejore tanto para SRC como para DST.

Paso 5: una vez que la pérdida ya no mejora mucho, también puede habilitar opciones opcionales como cara verdadera (TF, solo archi tipo DF del modelo SAEHD) si siente que su cara no se parece lo suficiente a SRC (valor bajo 0.00001-0.001) para hacer que el modelo produzca caras que se parezcan más a sus muestras de SRC (los valores demasiado altos darán como resultado una mala coincidencia de color e iluminación, en casos extremos, falta total de cualquier tipo de coincidencia con el DST o incluso caras que parecen tener una inclinación/guiñada incorrecta en comparación a la cara de DST) y potencia de estilo de cara (también valor bajo 0.0001-0.1) para transferir algo de estilo y color de DST a su cara predicha, lo que puede mejorar la combinación de colores y la iluminación, pero también puede hacer que la cara se vea menos como SRC. Si sospecha que algunas partes del horario de verano pueden sobresalir debajo de su (cara final) predicha durante la fusión (nariz larga en tomas de perfil, labios fruncidos, pestañas) también puede habilitar la potencia de estilo de fondo para hacer que el fondo se parezca más al fondo de DST y difuminar la máscara para que sea más borroso y suave para que pueda expandir la máscara durante la fusión y esencialmente cubrir esas partes de DST con el fondo de la cara entrenada. Además, puede deshabilitar el entrenamiento enmascarado después del paso 6, que entrenará toda el área de entrenamiento, mejorando la calidad del fondo, pero también puede intentar ejecutarlo antes de GAN; tenga en cuenta que todos estos son opcionales, si es principiante, omita este paso. , finge que no existe.

Paso 6: habilite GAN en un valor de 0.1, use el tamaño de parche predeterminado y las atenuaciones de GAN, deje que GAN se ejecute durante al menos 50-80k iteraciones si es la primera vez que este modelo se entrena con GAN, al principio no verá nada, al 10-15k comenzarás a notar algunos ruidos, patrones, líneas aparecen en las caras, sigue entrenando hasta que desaparezcan y comiences a ver ruidos en el área de las cejas y las pestañas, la textura de la piel comenzará a afinarse. Con el tiempo, el ruido debería desaparecer, pero tenga en cuenta que GAN requiere conjuntos SRC realmente buenos, es posible que los resultados se vean mal con mucho ruido y patrones repetidos o demasiado fuertes si su conjunto SRC no es ideal, por lo que es posible que desee reducir la potencia si los resultados no son óptimos.
.

10.2 Flujo de trabajo de capacitación de AMP:

TRABAJO EN CURSO

10.3 Flujo de trabajo de capacitación de RTT

:Antes de que uno pueda entrenar un modelo RTM, se necesita un modelo entrenado para usar, aunque es posible que se pueda usar un modelo LIAE simple preentrenado o reutilizado, iperov acuñó un término RTT o ReadyToTrain para describir el tipo de modelo que uno usa para convertirse en RTM.

¿Qué es RTT?

RTT es simplemente un modelo LIAE que se ha reutilizado en gran medida una y otra vez, cada vez en el mismo DST grande y aleatorio (similar al conjunto de datos RTM DST) contra varios conjuntos de SRC específicos diferentes.

Cómo entrenar un modelo RTT:
1. Descargue un modelo previamente entrenado que tenga la resolución requerida, el tipo de cara y las atenuaciones que desea o preentrene su propio modelo: 600k-1kk debería ser suficiente.
2. Tome el conjunto de datos RTM WF de iperov, cree el suyo propio o combine ambos y cree un conjunto de datos DST aleatorio personalizado para usar en el entrenamiento.
3. Prepare al menos 10 juegos SRC diferentes, de gran tamaño (15-20k) que cubran todas las condiciones de iluminación, expresiones y ángulos posibles para cada uno de los sujetos.
4. Comience a entrenarlo utilizando los flujos de trabajo de entrenamiento habituales de SAEHD (comenzando con RW activado, terminando con RW desactivado, LRD activado, GAN activado) .
5. Una vez que haya terminado, elimine el archivo inter_ab, reemplace SRC con uno nuevo y comience de nuevo.
6. Entrena así hasta que hagas todos los conjuntos de 10 SRC (pueden ser más si quieres), asumiendo que tomas 300k iteraciones por SRC, deberías terminar con un modelo que tiene 3kk iteraciones y está listo para ser llamado RTT.

«Ok, todo está bien, pero HOLY S ** T, esperas que entrene un modelo a 1kk, luego otros 3kk y todavía tengo que entrenar RTM para otros 3kk, ¿quién tiene tiempo para eso?»

Esa es una observación correcta, parece que el RTT predeterminado podría ser un poco exagerado, teniendo en cuenta que eliminamos inter_ab de todos modos cuando entrenamos RTM y que entrenamos previamente un modelo, en el proceso entrenamos codificadores y decodificadores en qué caras debería parecer que es posible omitir o reducir en gran medida la cantidad de iteraciones necesarias antes de entrenar RTM.

Una forma sería simplemente usar un modelo preentrenado, pero como tanto inter_ab como inter_b están limpios después del preentrenamiento, esto puede causar problemas, una mejor manera sería hacer lo que yo llamo entrenamiento aleatorio del modelo y simplemente alimentarlo con nuestro RTT DST aleatorio. /RTM DST y para SRC use una colección aleatoria de nuestras caras SRC de aproximadamente 35-40k de tamaño y haga 2 ciclos completos de entrenamiento para un total de alrededor de 1-1.5kk iteraciones o incluso solo haga un ciclo de aproximadamente 800k-1kk y use eso como nuestro RTT, en ambos casos terminamos con modelos bastante bien entrenados donde DST debería estar realmente bien entrenado en nuestro DST y SRC aún debería estar lo suficientemente entrenado para nuestras necesidades (en este caso, nos preocupamos principalmente por la capacitación de inter_b).

Cualquiera que sea el método que termine haciendo, recuerde que siempre hay espacio para experimentar con los flujos de trabajo y, al final, lo que más importa es lo que funciona, no lo que dice/escribe alguien que debería funcionar, pero tenga en cuenta que este flujo de trabajo principal se basa en lo que He leído de otros usuarios, este no es un flujo de trabajo oficial aprobado por iperov (honestamente, no recuerdo que haya dicho de qué se trata, pero parece que esto podría estar cerca, solo un modelo LIAE muy reentrenado).

10.4 Flujo de trabajo de capacitación RTM
:Con la introducción de DeepFaceLive (DFLive), se ha establecido un nuevo flujo de trabajo de capacitación, al contrario de lo que algunos usuarios piensan, este no es un método de capacitación nuevo y no difiere significativamente de la capacitación regular y algunas personas han empleado este método de capacitación de una manera. u otro, es posible que usted mismo cree uno por accidente sin siquiera darse cuenta.

Modelos RTM (ReadyToMerge)
se crean entrenando un conjunto SRC de la persona que queremos intercambiar contra un conjunto DST grande y variado que contiene rostros aleatorios de muchas personas que cubren todos los ángulos, expresiones y condiciones de iluminación posibles. El conjunto SRC también debe tener una gran variedad de caras. El objetivo del entrenamiento del modelo RTM es crear un modelo que pueda aplicar nuestra cara SRC a cualquier video, principalmente para usar con DeepFaceLive, pero también para acelerar el proceso de entrenamiento dentro de DeepFaceLab 2.0 mediante la creación de un modelo base que pueda adaptarse muy rápidamente a nuevos videos de destino. en menos tiempo en comparación con entrenar un modelo desde cero.

El tipo de modelos recomendados para usar con el flujo de trabajo RTM son los modelos SAEHD LIAE , LIAE-UD o LIAE-UDTgracias a sus capacidades superiores de coincidencia de color e iluminación, además de poder adaptarse mejor a diferentes formas de cara que la arquitectura DF.
Los modelos AMP también se pueden usar para crear modelos RTM, aunque funcionan de manera un poco diferente y, como no tengo conocimientos para explicar el flujo de trabajo de AMP, solo me centraré en el entrenamiento del modelo LIAE RTM en esta parte de la guía.

1. Comience preparando el conjunto SRC: asegúrese de cubrir todos los ángulos posibles, cada uno con tantas condiciones de iluminación y expresiones diferentes, cuanto mejor sea la cobertura de las diferentes caras posibles, mejores serán los resultados.

2. Prepare un conjunto de DST recopilando muchas caras al azar:este conjunto de datos también debe tener tanta variedad como sea posible, este conjunto de datos puede ser verdaderamente aleatorio, que consiste en rostros masculinos y femeninos de todo tipo de colores de piel o puede ser específico, por ejemplo, para rostros masculinos negros o rostros asiáticos femeninos si ese es el tipo de la cara objetivo con la que planea usar principalmente el modelo, cuanta más variedad y más caras haya en el conjunto, más tiempo llevará entrenar un modelo, pero posiblemente mejor será el modelo, ya que podrá cambiar más correctamente a más tipos de caras diferentes

ALTERNATIVAMENTE: UTILICE el conjunto de datos RTM WF de iperov:https://tinyurl.com/2p9cvt25
Si el enlace está muerto, vaya a https://github.com/iperov/DeepFaceLaby encuentre un enlace torrent/magnet a compilaciones DFL, ya que contienen el conjunto de datos RTM WF a lo largo de ellos, el mismo conjunto de datos se puede usar para entrenar un modelo RTT.

3. Aplique máscaras XSeg a ambos conjuntos de datos: esto asegurará que el modelo se entrene correctamente y, como con cualquier otro entrenamiento, se requiere para crear el modelo WF y, aunque es opcional para los modelos FF, aún se recomienda aplicar la máscara XSeg del tipo correcto a ambos conjuntos de datos. , asegúrese de utilizar el mismo modelo XSeg para ambos conjuntos de datos.

4. Use un modelo RTT existente o cree uno nuevo: los modelos RTT recomendados por iperov son modelos altamente reentrenados, más de 2-3kk iteraciones, por lo que puede llevar mucho tiempo crearlos, como alternativa usted puede preentrenar un modelo LIAE para iteraciones de 600k-1kk, más sobre cómo hacer RTT en la siguiente etapa.

5. Comience a entrenar en su SRC y DST aleatorio utilizando los flujos de trabajo a continuación, tenga en cuenta que algunos de estos se han modificado ligeramente en comparación con los iperov, utilícelos bajo su propio riesgo.

5.1 Nuevo flujo de trabajo de Iperov:

Configuraciones: EMP habilitado, Blur Out Mask habilitado, UY habilitado, LRD habilitado, BS: 8 (si no puede ejecutar su modelo con BS lo suficientemente alto, bájelo o ejecute el optimizador de modelo y lrd en la CPU).
Otras opciones deben dejarse en los valores predeterminados (generalmente significan deshabilitadas). Opcionalmente, use HSV a potencia 0.1 y el modo CT que funcione mejor para usted, generalmente RCT.
Realice una copia de seguridad antes de cada etapa o habilite las copias de seguridad automáticas.

1. Entrene +2.000.000 iters con RW habilitado y elimine inter_AB.npy cada 500k iters (guarde y detenga el entrenamiento del modelo, elimine el archivo y reanude el entrenamiento)
2. Después de borrar inter_AB 4ta vez tren extra +500k con RW habilitado.
3. Si la cara intercambiada se parece más al horario de verano, elimine inter_AB y repita el paso 2.
4. Desactive RW y entrene para obtener +500k iters adicionales.
5. Habilite GAN a una potencia de 0.1 con GAN_Dims:32 y Patch Size siendo 1/8 de la resolución de su modelo para +800.000k iters.

5.2 Nuevo flujo de trabajo modificado de TMBDF:

Siga los mismos pasos que en el nuevo flujo de trabajo, excepto que no entrene con EMP y LRD habilitados todo el tiempo, en su lugar cerca del final del paso 2/3 habilite LRD hasta que la pérdida deje de disminuir/estabilizarse, luego continúe con el paso 4 deshabilitando ambos RW y LRD, después de 400-500k, ejecute EMP durante unos 100-200k y luego deshabilite EMP y habilite LRD durante otros 100-200k. UY puede dejarse habilitado todo el tiempo o deshabilitarse y habilitarse a la mitad de los pasos 2/3 y luego a la mitad del paso 4. Entonces debería verse así:

1. Entrene +2.000.000 iters con RW habilitado y elimine inter_AB.npy cada 500k iters (guarde y detenga el entrenamiento del modelo, elimine el archivo y reanude el entrenamiento)
2. Después de eliminar inter_AB por cuarta vez y si la cara predicha se ve como SRC, entrene extra +500k con RW habilitado y después de 250k habilite LRD hasta que haga 500k.
3. Si la cara intercambiada se parece más a DST, elimine inter_AB y repita el paso 2 sin LRD y habilítelo solo para 100k. Si todo se ve bien ahora vaya al siguiente paso.
4. Deshabilite RW y entrene por +500k iters adicionales, luego habilite LRD por 200k.
5. Habilite GAN a una potencia de 0.1 con GAN_Dims:32 y Patch Size siendo 1/8 de la resolución de su modelo para +800.000k iters.

5.3 El antiguo flujo de trabajo de Iperov:

1. Realice iteraciones de 500k-1kk con Random Warp: Y, Uniform Yaw: Y, LRD: N, Blur Out Mask: Y, Color Transfer: LCT, otras configuraciones se dejan en los valores predeterminados.
2. Luego haga 500k iteraciones con LRD: Y, mantenga otras configuraciones como están en el paso 1.
3. Después de eso, haga 500k iteraciones con Uniform Yaw: N
4. Ahora haga 500-800k iteraciones con Random Warp: N, Uniform Yaw: N, LRD: S *
5. Y, por último, realice 200-300 000 iteraciones con Random Warp: N, Uniform Yaw: N, LRD: Y y GAN: 0.1, GAN PATCH SIZE: (1/8 de la resolución del modelo), GAN DIMS: 32

5.4 El antiguo flujo de trabajo modificado de TMBDF :

1. Realice iteraciones de 500k-1kk con Random Warp: Y, Uniform Yaw: Y, LRD: N, Blur Out Mask: Y, Color Transfer: LCT, otras configuraciones se dejan en los valores predeterminados.
2. Luego haga 500k iteraciones con LRD: Y, mantenga otras configuraciones como están en el paso 1.
3. Después de eso, haga 500k iteraciones con Uniform Yaw: N
4. Ahora haga 500k iteraciones con Random Warp: N, Uniform Yaw: N, LRD: N, después de 500k habilitar LRD: Y para 300k.
5. Y, por último, haga 200-300k iteraciones con Random Warp: N, Uniform Yaw: N, LRD: Y y GAN: 0.1, GAN PATCH SIZE: (1/8 de la resolución del modelo), GAN DIMS: 32

10.5 Uso de modelos RTM :
Una vez que haya terminado de entrenar sus modelos, puede usarlos en DFL o exportarlos como modelo DFM para usarlos en DFLive.

Para exportar un modelo para usarlo en DFLive, use 6) exporte SAEHD como dfm o 6) exporte AMP como dfm, tendrá la opción de cuantificar el modelo, lo que puede hacer que se ejecute más rápido, pero algunos modelos, particularmente los grandes con alta resolución y Es posible que los valores de dimensiones de red altas (dims) no funcionen bien si los exporta con esta opción habilitada, así que asegúrese de probarlo en DFLive, el proceso no elimina los modelos originales, solo crea un archivo DFM adicional en su carpeta «modelo». Si su modelo no funciona bien, vuelva a exportarlo con la opción de cuantización desactivada.

Si desea utilizar su modelo RTM en DFLpuede comenzar a extraer nuevas escenas y fusionarlas con este modelo sin ningún entrenamiento adicional o realizar un entrenamiento adicional.

Capacitación adicional y reutilización de modelos LIAE/LIAE RTM capacitados – Eliminación de archivos inter_ab e inter_b explicados:

¿Qué son los archivos inter_ab y _b? Estas son partes de los modelos SAEHD que utilizan la arquitectura LIAE (independientemente de las variaciones adicionales -U, -D, -T y -C), a diferencia de la arquitectura DF que tiene un archivo común para SRC y DST, LIAE presenta dos archivos inter, inter_ab que contiene el código latente (representación) de las caras SRC y DST e inter_b adicional que contiene el código latente de las caras DST.

1. Eliminar inter_barchivo de la carpeta de su modelo cuando desee reutilizar el modelo RTM como un modelo LIAE regular en el nuevo DST y entrenar el modelo comenzando con RW habilitado (entrenar como un modelo regular).
Se aplica a la reutilización del modelo LIAE entrenado y al cambio de DST pero no de SRC.

2. Elimine el archivo inter_ab cuando desee crear un nuevo modelo RTM para diferentes celebridades, reemplace SRC con uno nuevo, agregue un conjunto de DST aleatorio y continúe con el mismo flujo de trabajo que cuando creó un nuevo modelo RTM.
Se aplica a la reutilización del modelo LIAE entrenado y al cambio de SRC pero no al DST

3. No elimine ni inter_ab ni inter_b cuando desee realizar un entrenamiento adicional en el DST de destino utilizando su modelo RTM entrenado.
No se aplica a la reutilización regular del modelo LIAE entrenado (puede haber problemas en los que las caras predichas finales se vean como DST o tengan muy poca semejanza con SRC)

4. Elimine tanto inter_ab como inter_b 
cuando esté reutilizando el modelo LIAE entrenado en escenarios regulares, tanto src/dst cambian o se encuentra con un problema donde los resultados se ven como DST, tenga en cuenta que esto tiene un efecto similar a lo que sucede cuando deshabilita el entrenamiento previo, solo los codificadores/decodificadores permanecen entrenados, todos los demás datos se eliminan, esto significa modelo de una manera vuelve a un estado como si estuviera preentrenado (no del todo, pero más cerca de eso que un estado entrenado), lo que puede hacer que el entrenamiento tarde un poco más.

En ese caso, simplemente reemplace el horario de verano aleatorio con el horario de verano objetivo específico, comience a entrenar con RW deshabilitado:

Si desea entrenar con el antiguo flujo de trabajo de iperov, comience en el paso 4 del ANTIGUO FLUJO DE TRABAJO.
Si desea entrenar utilizando el flujo de trabajo TMBDF anterior, comience en el paso 4 del FLUJO DE TRABAJO ANTIGUO pero no habilite LRD, solo RW deshabilite, active LRD más tarde cuando sea el momento.
Si desea entrenar usando el nuevo flujo de trabajo de iperov, comience en el paso 4 del NUEVO FLUJO DE TRABAJO.
Y si desea entrenar usando el flujo de trabajo TMBDF experimental , comience en el paso 4 del NUEVO FLUJO DE TRABAJO , pero lea los cambios que sugiero en la parte experimental .

Eso es todo cuando se trata de entrenamiento RTM, si cometí algún error, házmelo saber e intentaré corregirlo lo antes posible.

Modelos RTM compartiendo hilo:https://mrdeepfakes.com/forums/thread-sharing-dfl-2-0-readytomerge-rtm-models-sharing

11. Fusión :
Una vez que haya terminado de entrenar su modelo, es hora de fusionar la cara aprendida sobre los marcos originales para formar el video final.

Para eso tenemos 3 convertidores correspondientes a 3 modelos disponibles:

7) fusionar SAEHD
7) fusionar AMP
7) fusionar Quick96

Al seleccionar cualquiera de ellos, aparecerá una ventana de línea de comando con varias indicaciones.
El primero le preguntará si desea usar un convertidor interactivo, el valor predeterminado es y (habilitado) y se recomienda usarlo sobre el normal porque tiene todas las funciones y también una vista previa interactiva donde puede ver los efectos de todos los cambios haces cuando cambias varias opciones y habilitas/deshabilitas varias funciones
¿Usar combinación interactiva? (y/n):

el segundo te preguntará qué modelo quieres usar:
Elija uno de los modelos guardados o ingrese un nombre para crear un nuevo modelo.
[r] : renombrar
[d] : eliminar
[0] : df192 – el

tercero más reciente le preguntará qué GPU/GPU o CPU desea usar para el proceso de fusión (conversión):
elija uno o varios idx de GPU (separados por coma ).
[CPU] : CPU
[0] : Tu GPU
[0] ¿Qué índices de GPU elegir? :

Al presionar enter se usará el valor predeterminado (0).

Una vez hecho esto, verá una ventana de línea de comando con la configuración actual, así como una ventana de vista previa que muestra todos los controles necesarios para operar el convertidor/fusión interactivo:

[FALTA IMAGEN, TRABAJO EN CURSO]

Aquí está la lista de todas las funciones de fusión/conversión explicado:

Consulte la pantalla de ayuda presionando el tabulador para ver qué teclas corresponden a qué opción en caso de que cambien o esté utilizando un diseño de teclado diferente, también pueden cambiar con el tiempo.

Tampoco es que la fusión de AMP no presente todas las opciones que tiene la fusión de SAEHD, sin embargo, una vez que comprenda la fusión de SAEHD, entonces AMP es muy similar, la mayoría de las opciones tienen el mismo nombre y funcionan de manera similar. No ampliaré la guía con información de fusión específica de AMP, ya que todo es más o menos lo mismo, faltan o se agregan algunos, la pantalla de ayuda (pestaña) existe por una razón.

1. Principales modos de superposición:

– original: muestra el marco original sin la cara intercambiada
– superposición: superposiciones sencillas de la cara aprendida sobre el marco: este es el modo de superposición recomendado para usar, ya que es más estable y conserva la mayor parte del aspecto entrenado original de las caras.
– hist-match: superpone la cara aprendida y los neumáticos para que coincidan en función del histograma, tiene 2 modos: normal y enmascarado que se puede cambiar con Z – se recomienda normal.
– sin fisuras: utiliza la función de clonación sin fisuras de opencv poisson para combinar la nueva cara aprendida sobre la cabeza en el marco original
– coincidencia histórica sin fisuras: combina tanto la coincidencia histórica como la perfecta.
– raw-rgb: superpone la cara aprendida sin procesar sin enmascarar

NOTA: Los modos continuos pueden causar parpadeos, ya que el clon continuo de poisson se diseñó para fotos, no para videos, no tiene una funcionalidad de coherencia temporal incorporada para garantizar un funcionamiento estable y sin parpadeos.

2. Umbral de coincidencia de histograma:
 controla la intensidad de la coincidencia de histograma en el modo de superposición de coincidencia de histograma y coincidencia de histograma continuo.
Q – aumenta el valor
A – disminuye el valor

3. Erosionar máscara: controla el tamaño de una máscara.
W: aumenta la erosión de la máscara (máscara más pequeña)
S: disminuye la erosión de la máscara (máscara más grande)

4. Máscara de desenfoque: difumina/desvanece el borde de la máscara para una transición más suave
E: aumenta el desenfoque
D: disminuye el desenfoque

5. Desenfoque de movimiento:después de ingresar los parámetros iniciales (modo convertidor, modelo, GPU/CPU), la fusión carga todos los marcos y los datos alineados data_dst, mientras lo hace, calcula los vectores de movimiento que se utilizan para crear el efecto de desenfoque de movimiento que controla esta configuración, le permite agréguelo en lugares donde la cara se mueve, pero los valores altos pueden desenfocar la cara incluso con un pequeño movimiento. La opción solo funciona si un conjunto de caras está presente en la carpeta «data_dst/aligned». Si durante la limpieza tenía algunas caras con _1 prefijos (incluso si solo están presentes las caras de una persona), el efecto no funcionará. si hay un espejo que refleja la cara de las personas objetivo, en tal caso no puede usar el desenfoque de movimiento y la única forma de agregarlo es entrenar cada conjunto de caras por separado.
R – aumenta el desenfoque de movimiento
F – disminuye el desenfoque de movimiento

6. Súper resolución: utiliza un algoritmo similar al conjunto de datos data_src/potenciador de conjunto de facetas, puede agregar más definiciones a áreas como dientes, ojos y mejorar los detalles/textura de la cara aprendida.
T – aumenta el efecto de realce
G – disminuye el efecto de realce

7. Difuminar/nítido: difumina o enfoca la cara aprendida utilizando el método de cuadro o gaussiano.
Y – agudiza la cara
H – desenfoca la cara
N – interruptor de modo de cuadro/gaussiano

8. Escala de cara: escala la cara aprendida para que sea más grande o más pequeña.
U – escalas aprendidas boca abajo
J – escalas aprendidas boca arriba

9. Modos de máscara : hay 6 modos de máscara:
dst:utiliza máscaras derivadas de la forma de los puntos de referencia generados durante la extracción de faceset/dataset data_dst.
learn-prd: utiliza máscaras aprendidas durante el entrenamiento. Mantenga la forma de las caras SRC.
learn-dst: utiliza máscaras aprendidas durante el entrenamiento. Mantenga la forma de las caras DST.
learn-prd*dst: combina ambas máscaras, tamaño más pequeño de ambas.
learn-prd+dst: combina ambas máscaras, mayor tamaño de ambas.
XSeg-prd: usa el modelo XSeg para enmascarar usando datos de las caras de origen.

XSeg-dst: usa el modelo XSeg para enmascarar el uso de datos de las caras de destino; este modo es uno de los que probablemente usará, ya que enmascarará la cara de acuerdo con la forma del horario de verano y excluirá todas las obstrucciones (suponiendo que haya etiquetado las caras del horario de verano correctamente). .

XSeg-prd*dst: combina ambas máscaras, menor tamaño de ambas.
learn-prd*dst*XSeg-dst*prd: combina los 4 modos de máscara, el tamaño más pequeño de todos.

10. Modos de transferencia de color: similar a la transferencia de color durante el entrenamiento, puede usar esta función para hacer coincidir mejor el color de la piel de la cara aprendida con el marco original para un cambio de cara más fluido y realista. Hay 8 modos diferentes:

RCT: el más utilizado y recomendado, bastante versátil y da buenos resultados en la mayoría de los casos.
LCT: no es tan útil como RCT, su efecto es mucho más fuerte.
MKL
MKL-M – Buena alternativa para RCT.
IDT
IDT-M
SOT-M – Extremadamente lento.
MIX-M

11. Modos de degradación de imagen:
hay 3 configuraciones que puede usar para afectar el aspecto del cuadro original (sin afectar la cara intercambiada): Eliminar ruido: elimina el ruido de la imagen y la hace ligeramente borrosa (I: aumenta el efecto, K: disminuye el efecto)
Bicúbico :
desenfoca la imagen usando bicúbico método (O – aumenta el efecto, L – reduce el efecto)
Color – reduce la profundidad de bits de color (P – aumenta el efecto, ; – reduce el efecto)

Opciones específicas de AMP:

Factor de transformación: un valor más alto dará como resultado resultados puramente predichos, si lo reduce se transformará suavemente entre él y su cara DST y al final simplemente muestra la cara DST.

Controles adicionales:
Botón TAB
 : cambia entre la ventana principal de vista previa y la pantalla de ayuda.
Para obtener una lista completa de las teclas (y lo que controlan, como avanzar/retroceder, comenzar a fusionar), consulte la pantalla de ayuda.
Tenga en cuenta que estos solo funcionarán en la ventana de vista previa principal, presionar cualquier botón mientras se encuentra en la pantalla de ayuda no hará nada.

12. Conversión de fotogramas a vídeo :
Después de fusionar/convertir todas las caras, tendrá una carpeta llamada «merged» dentro de su carpeta «data_dst» que contiene todos los marcos, así como «merged_masked», que contiene marcos de máscara.
El último paso es volver a convertirlos en video y combinarlos con la pista de audio original del archivo data_dst.mp4.

Para hacerlo, utilizará uno de los 4 archivos .bat provistos que usarán FFMPEG para combinar todos los fotogramas en un video en uno de los siguientes formatos: avi, mp4, losless mp4 o losless mov:

– 8) combinado con avi
– 8 ) combinado con mov sin pérdida
– 8) combinado con mp4 sin pérdida
– 8) combinado con mp4

Alternativamente, si desea tener más control, refinar aún más las máscaras en algunas partes del video, ajustar los colores de la cara o hacer otra cosa, puede componer manualmente su video tomando audio de data_dst, sus marcos originales, marcos combinados y marcos de máscara, importarlo a un software de edición de video que conozca y crear manualmente el video final, esto le permite hacer las cosas que ya mencioné, ajustar máscaras difuminándolas o agudizándolas (comúnmente conocido como difuminado de máscara), agrandar o disminuir ligeramente el tamaño del máscara (revelando así más o menos de la cara DST debajo de ella, aplique corrección de color adicional y coincidencia de color a su cara (usando la máscara para mostrar solo la parte de la cara de su marco fusionado), agregue nitidez, grano de película/ruido, etc.

Busque guías de composición de video en YouTube, ya que es un tema demasiado complejo para cubrirlo en esta guía. Alternativamente, consulte el hilo de composición/edición de video en nuestro foro, cuyo enlace puede encontrar al comienzo de la guía (enlaces útiles) o simplemente visitando este enlace: https://mrdeepfakes.com/forums/thread-guide-compositing -Guías de edición de video de procesamiento posterior No hay mucho allí en este momento, pero lo que hay cubre algunos conceptos básicos para ayudarlo a comenzar.

¡Y eso es!

Si tiene más preguntas que no se cubrieron en este hilo, consulte otras guías e hilos relacionados con DFL 2.0 y la creación de deepfakes en general:
https://mrdeepfakes.com/forums/thread-making-deepfakes-guides-and-threads

Current problemas/errores:

página de Github para informes de problemas:https://github.com/iperov/DeepFaceLab/issues
Si no puede encontrar el problema exacto en los hilos del foro existentes, no se mencionó en github y cree que nadie más lo descubrió todavía, cree un nuevo hilo aquí:
https ://mrdeepfakes.com/forums/forum-questions

Si su problema es común, su hilo se eliminará sin previo aviso. Utilice la función de búsqueda, si busca errores copiándolos directamente desde la ventana de la línea de comandos, recuerde copiar solo las partes de errores clave, ya que los nombres de los directorios diferirán entre varios usuarios. Cuando informe problemas, asegúrese de incluir las especificaciones completas de su PC (CPU, GPU, cantidad de RAM, sistema operativo), así como la versión de DFL y la configuración del modelo, describa qué conduce a los problemas que está experimentando.


CONCEPTOS BÁSICOS DE DFL
DeepFaceLab 2.0 consta de varios .bat, estos scripts se utilizan para ejecutar varios procesos necesarios para crear deepfakes, en la carpeta principal los verás y 2 carpetas:

  • _internal: archivos internos, cosas que hacen que DFL funcione, ¡No Touchy!
  • workspace: aquí es donde se encuentran sus modelos, videos, marcos, conjuntos de datos y salidas de video finales.

Terminología básica:

SRC: siempre se refiere al contenido (cuadros, caras) de la persona cuya cara estamos tratando de intercambiar en un video o foto de destino.

Conjunto SRC/Conjunto de datos SRC/Conjunto de datos de origen/Caras SRC: caras extraídas (archivo de imagen de proporción cuadrada de la cara de origen que contiene datos adicionales como puntos de referencia, máscaras, etiquetas xseg, posición/tamaño/rotación en el marco original) de la persona que estamos probando para cambiar a un video.

DST: siempre se refiere al contenido (fotogramas, rostros) del video de destino (o DST/video de DST) en el que estamos intercambiando rostros. Conjunto de

DST/Conjunto de datos de DST/Conjunto de datos de destino/Caras de DST: colección de rostros extraídos de la persona objetivo cuyos rostros lo reemplazaremos con una imagen de SRC, el mismo formato y contiene el mismo tipo de datos que las caras de SRC.

Frames: fotogramas extraídos de videos de origen o de destino, después de la extracción de los fotogramas, se colocan dentro de las carpetas «data_src» o «data_dst», respectivamente.

Faces: imágenes SRC/DST de caras extraídas de fotogramas originales derivados de videos o fotos utilizados.

Model: colección de archivos que conforman los modelos SAEHD, AMP y XSeg que el usuario puede crear/entrenar, todos se colocan dentro de la carpeta «modelo» que se encuentra dentro de la carpeta «espacio de trabajo», modelos de descripción básica a continuación (más detallados más adelante en la guía ):

1. SAEHD: el modelo más popular y utilizado con mayor frecuencia, viene en varias variantes diferentes basadas en varias arquitecturas, cada una con sus propias ventajas y desventajas; sin embargo, en general, está destinado a intercambiar caras cuando tanto SRC como DST comparten algunas similitudes, particularmente cara/cara general. forma de la cabeza. Puede reutilizarse libremente, preentrenarse y, en general, puede ofrecer resultados rápidos con una calidad decente, pero algunas arquitecturas pueden sufrir de baja semejanza o mala iluminación y combinación de colores.

2. AMP: nuevo modelo experimental que puede adaptarse más a los datos de origen y conservar su forma, lo que significa que puede usarlo para intercambiar caras que no se parecen en nada; sin embargo, esto requiere una composición manual, ya que DFL no tiene técnicas de enmascaramiento más avanzadas, como la pintura de fondo. . A diferencia de SAEHD, no tiene diferentes arquitecturas para elegir y es menos versátil cuando se trata de reutilización y lleva mucho más tiempo entrenar, tampoco tiene opción de preentrenamiento pero puede ofrecer una calidad mucho mayor y los resultados pueden parecerse más a SRC.

3. Quick 96: modelo de prueba, utiliza parámetros de resolución SAEHD DF-UD 96 y tipo de cara Full Face, destinados a pruebas rápidas.

4. XSeg: modelo de enmascaramiento entrenable por el usuario que se usa para generar máscaras más precisas para caras SRC y DST que pueden excluir varias obstrucciones (dependiendo de las etiquetas de los usuarios en las caras SRC y DST), DFL viene con un modelo genérico de enmascaramiento facial entrenado que puede usar si no desea crear sus propias etiquetas de inmediato.

Etiquetas XSeg: etiquetas creadas por el usuario en el editor XSeg que definen las formas de las caras, también pueden incluir exclusiones (o no incluir en primer lugar) obstrucciones sobre las caras SRC y DST, utilizadas para entrenar el modelo XSeg para generar máscaras.

Masks: generadas por el modelo XSeg, las máscaras son necesarias para definir las áreas de la cara en las que se supone que se entrenará (SRC/DST), así como para definir la forma y las obstrucciones necesarias para el enmascaramiento final durante la fusión (DST). Una forma de máscaras básicas también está incrustada en las caras extraídas que se deriva de los puntos de referencia faciales, es una máscara básica que se puede usar para hacer intercambios básicos usando modelos de tipo de cara de cara completa o inferior (más sobre tipos de cara y máscaras más adelante en la guía)

Este texto ha sido extraído de su página oficial: https://mrdeepfakes.com/forums/threads/guide-deepfacelab-2-0-guide.3886/ y esta siendo traducido al español, se va actualizando y mejorando para que sea simple de entender por las personas de habla hispana, pondremos vídeos explicativos y más herramientas poco a poco, paciencia. Si el autor del texto original se siente ofendido o considera que debe borrarse algo o todo, solo tiene que escribirnos en el área de contacto.

Deja un comentario