Red de conocimiento informático - Aprendizaje de programación - Guía del usuario en chino de Faceswap

Guía del usuario en chino de Faceswap

Traducido de:

/blob/master/faceswap-guide-cn.md

Proceso de "extracción"

Muchas personas Todo el mundo se abruma cuando empieza a utilizar "Faceswap" y comete muchos errores. Cometer errores es bueno, así es como aprendemos, pero a veces puede ser útil comprender un poco el proceso antes de sumergirse.

En esta sección, presentaré el flujo de trabajo de "extracción". No digo que este sea el mejor flujo de trabajo, pero a mí me funciona y espero que te proporcione un buen punto de partida para crear el tuyo propio.

En esta guía, usaré "GUI", que es exactamente igual que en "cli" (todas las opciones en "GUI" están presentes en "cli").

La "Extracción" consta de tres etapas: "Detección", "Coincidencia" y "Máscara de Generación". Hay varios complementos para cada etapa. Sus ventajas y desventajas se detallan en la información sobre herramientas ("Interfaz gráfica de usuario") o en el texto de ayuda ("Cliente"), por lo que no las repetiré. Sin embargo, "detección" es el proceso de encontrar una cara en cada fotograma, mientras que "coincidencia" es el proceso de encontrar "rasgos" en la cara y determinar consistentemente su ubicación. En última instancia, la generación de máscaras crea una "máscara" que identifica qué es un rostro en una imagen y qué no lo es.

La extracción tiene dos propósitos principales:

Estrictamente hablando, también hay un tercer propósito, que es que cuando extraes caras para la conversión, también necesitas algunas caras para hacerlo. Hablaré de eso.

Aunque no es necesario extraer caras para la conversión (solo "archivos coincidentes"), es útil extraer caras para que podamos limpiar el "conjunto de caras" para el proceso de conversión.

El "archivo coincidente" guardará toda la información del rostro en cada fotograma, especialmente la posición del rostro y las 68 posiciones de los "puntos característicos" del rostro:

El archivo También guarda todas las "máscaras" extraídas para cada rostro. "Máscara"

El propósito de "hacer coincidir archivos" es triple:

Ahora que sabemos por qué necesitamos extraer caras, ¿cómo determinamos un buen flujo de trabajo?

El primer paso es extraer las caras de los marcos, cualquiera que sea el motivo para crear un "conjunto de caras".

Ahora que hemos extraído las caras, necesitamos organizar el "conjunto de datos" y los "archivos coincidentes". "Extractor" hace un buen trabajo extrayendo caras, pero no es perfecto. Tiene algunos falsos positivos, no coincide con algunas caras y también extrae personas que no queremos intercambiar. Si vas a la carpeta "Caras", Lo más probable es que genere algo similar a la siguiente imagen:

¡Limpiar esto no parece muy divertido! Afortunadamente, podemos facilitar la limpieza de su conjunto de datos de la forma más rápida y sencilla. ordene las caras en un orden significativo y luego elimine todas las caras que no necesitamos.

Nota: Ordenar por caras requiere mucha memoria. He probado con éxito la clasificación de 22k caras. 8 GB de memoria Si la cantidad de caras a clasificar excede la memoria, el proceso cambia automáticamente a un método más lento, por lo que si la memoria es limitada, es posible que sea necesario convertir el conjunto de datos en subconjuntos más pequeños. es (n2 * 24)/1,8, donde n es el número de imágenes. También debe tener en cuenta cualquier otra sobrecarga de RAM (es decir, se están ejecutando otros programas, las imágenes se cargan en la RAM), pero en teoría esto ocuparía 30.000. imágenes (300002 * 24)/1,8 = 12.000.000.000 bytes o aproximadamente 11 GB

Vaya a "Interfaz gráfica de usuario" Vaya a "Interfaz gráfica de usuario" en la pestaña "Herramientas" y luego vaya a "Ordenar". " subpestaña:

El programa comenzará a leer las caras, creará una identidad para cada cara y luego clasificará a las personas según su similitud. Las caras se agregan.

En la práctica, el proceso de agregación puede llevar mucho tiempo debido a la gran cantidad de datos que deben calcularse. Desafortunadamente, no hay información visual sobre el progreso, así que tenga paciencia.

Cuando termines, deberías encontrar que el 99% de las caras están agrupadas:

Todas las caras inútiles también están agrupadas:

Ahora todo lo que tienes Lo que debe hacer es desplazarse por la carpeta de caras y eliminar las caras que no desea conservar.

Ahora que hemos eliminado todas las caras que no queremos y solo nos queda el conjunto de caras con las que queremos trabajar, necesitamos limpiar el archivo de coincidencias. ¿Por qué? Debido a que las caras eliminadas que no necesitamos todavía existen en el "archivo coincidente", es probable que nos causen problemas en el futuro. La ventaja adicional de usar la herramienta integrada para limpiar los archivos coincidentes es que podemos cambiar el nombre de nuestras caras a sus nombres de archivo originales, por lo que es beneficioso para todos.

Navegue hasta la pestaña Herramientas y seleccione la subpestaña Alineación:

Una vez completado, sus caras cambiarán de nombre a sus nombres originales predeterminados y todas las caras no deseadas se eliminarán de la lista "coincidentes". archivos".

Este proceso realiza una copia de seguridad del archivo de coincidencia anterior y lo coloca junto al archivo de coincidencia recién creado. Tiene el mismo nombre que el "archivo coincidente" desinfectado, excepto que se agrega "backup_" al nombre del archivo. Si está seguro de que el nuevo "archivo coincidente" es correcto, puede eliminar de forma segura el archivo de copia de seguridad.

En este punto, si está extrayendo para conversión (o la colección se usará para conversión y capacitación), puede eliminar la carpeta de caras por completo y ya no necesitará las caras. Si necesita regenerar el conjunto de caras, puede hacerlo utilizando la herramienta Alinear.

Bien, hemos extraído las caras y limpiado todas las caras inútiles, ¿estamos seguros de que ya terminamos? Espera, hombre. Claro, puedes seguir adelante, pero ¿quieres un buen "intercambio" o quieres un buen "intercambio"?

La reparación manual es útil para las siguientes tareas:

Dependiendo de lo que queramos extraer del conjunto de datos, esto determinará lo que queremos hacer aquí. Si simplemente estuviéramos extrayendo el conjunto de entrenamiento, podríamos omitir este paso por completo, pero es una buena idea verificar los "archivos de coincidencias" existentes para asegurarnos de que las máscaras se construyeron correctamente.

Si la extracción se utiliza para "conversión", entonces es absolutamente necesario corregir las caras múltiples en el marco, así como las coincidencias faltantes. Esto por sí solo mejora el intercambio final. Luego, dependiendo de hasta dónde quieras llegar, puedes arreglar las malas coincidencias.

No entraré en detalles sobre cómo utilizar las herramientas manuales. Esta es una guía en sí misma, pero muy intuitiva, con instrucciones escritas en una ventana emergente.

Si planeas usar máscaras para el entrenamiento o usar "Deformar a puntos de referencia", copia los "archivos coincidentes" de las ubicaciones del marco de origen a la carpeta de caras recién creada.

Ahora que ha limpiado el archivo coincidente, es posible que desee extraer algunas caras para usarlas en el conjunto de entrenamiento. Esta es una tarea sencilla:

Vaya a "Herramientas". y luego a la subpestaña "Alineación":

Si planea usar máscaras o "Deformar a puntos de referencia" para el entrenamiento, copie el "Archivo de coincidencia" desde la ubicación del marco de origen a la carpeta de caras recién creada.

Así tendrás un gran número de caras listas para entrenar y un gran número de "archivos coincidentes" de los fotogramas correspondientes. ¿Se pueden combinar estos archivos en una sola fuente de capacitación? ¡seguro!

Antes de fusionar archivos coincidentes, debemos hacer algunos preparativos:

Ahora, en la GUI, navegue hasta la pestaña Herramientas y luego a Alinear "Subpestañas:

Una vez completado el proceso:

Tu formación está lista

Proceso de "formación"

Muchas personas se sienten abrumadas y comete muchos errores al iniciar Face Swap. Se sintieron abrumados y cometieron muchos errores. Cometer errores es bueno, así es como aprendemos, pero a veces puede resultar útil comprender un poco el proceso antes de sumergirse en él.

En esta sección, detallaré cómo entrenamos el modelo. Hay muchos modelos para elegir y no los repasaré todos, pero espero que esto sea suficiente para que puedas tomar una decisión informada. Si no ha generado un conjunto de caras para el entrenamiento, deténgase ahora y vaya al proceso de extracción para generar un conjunto de caras.

Esta guía contiene mucha información general y le recomiendo que se familiarice con ella. El aprendizaje automático es un concepto complejo, pero intenté desglosarlo para hacerlo lo más simple y comprensible posible. Si tiene un conocimiento básico de cómo funcionan las redes neuronales y los tipos de datos que se obtienen de ellas, sus posibilidades de intercambiar datos con éxito mejorarán enormemente.

En esta guía usaré "GUI", pero es exactamente lo mismo en "cli" (todas las opciones en "GUI" están presentes en "cli").

A un alto nivel, el entrenamiento enseña a nuestra red neuronal (NN) cómo reconstruir caras. La mayoría de los modelos constan de dos partes principales:

Algunos modelos se construyen de forma ligeramente diferente, pero la premisa básica es la misma.

La red neuronal necesita comprender qué tan bien codifica y decodifica caras, y para ello utiliza dos herramientas principales:

El modelo luego repite este proceso varias veces y los pesos. se actualizan en función del valor de pérdida, que en teoría sigue mejorando con el tiempo hasta que crees que ha aprendido lo suficiente para reconstruir la cara de manera efectiva, o el valor de pérdida deja de bajar.

Ahora que entendemos los conceptos básicos de una red neuronal y cómo aprende a crear caras, ¿cómo se aplica al intercambio de caras? En la descripción anterior, es posible que haya notado que la red neuronal está aprendiendo cómo cargar caras y luego reconstruirlas. Eso no es lo que queremos... necesitamos una gran cantidad de rostros y reconstruir los rostros de otras personas. Para lograr esto, nuestra red neuronal hace dos cosas:

Al usar Faceswap, verá algunos términos comunes de aprendizaje automático y, para facilitarle la vida, los enumeramos aquí Glosario de estos términos:

La calidad de los datos es muy importante para el modelo. Así como los buenos datos pueden hacer que los modelos más pequeños funcionen bien, los datos incorrectos no pueden hacer que ningún modelo funcione bien. Debe haber al menos 500 imágenes diferentes para cada lado del modelo, pero cuantos más datos, más diverso será.