Geekflare recibe el apoyo de nuestra audiencia. Podemos ganar comisiones de afiliación de los enlaces de compra en este sitio.
En AI Última actualización: 25 de septiembre de 2023
Compartir en:
Escáner de seguridad de aplicaciones web Invicti - la única solución que ofrece verificación automática de vulnerabilidades con Proof-Based Scanning™.

Su única explicación sobre Deepfakes y para hacerlos fácilmente con Faceswap.

LaInteligencia Artificial ya no es tan "artificial". Estos tiempos la han acercado peligrosamente a nosotros, los humanos.

Puede sugerir, escribir, crear arte y ahora parece y habla como los vivos.

Este es uno de los avances más recientes en este ámbito que debemos aprovechar. Sin embargo, también es uno con el que debemos tener cuidado.

¿Qué son los deepfakes?

La palabra Deepfake se ha acuñado combinando aprendizaje profundo (deep learning) y fake (falso). En términos sencillos, también se puede asumir que se trata de medios manipulados por expertos o profundamente falsificados.

Según Wikipedia, también se conoce como medios sintéticos en los que una imagen, audio o vídeo existente se modifica para representar a otra persona por completo.

Normalmente, los deepfakes hacen que personalidades de renombre parezcan decir algo que de otro modo no dirían.

En función de la habilidad de su creador, puede ser extremadamente difícil saber si es real o falso.

¿Cómo funcionan los deepfakes?

En pocas palabras, una parte del vídeo original (por ejemplo, una cara) se sustituye por una falsificación de aspecto similar. En tal caso, también puede denominarse "faceswap", como en este vídeo de "Obama“.

Sin embargo, no se limita sólo al vídeo, y también tenemos deepfakes de imágenes y audio (y quién sabe, deepfakes de avatares de realidad virtual en un futuro próximo).

disney-deepfake
Fuente: Disney

La metodología de trabajo que hay detrás de estos engaños depende principalmente de la aplicación y del algoritmo subyacente.

Según este trabajo de investigación de Disney, existen varias técnicas, como codificadores-decodificadores, redes generativas adversariales (GAN), deepfakes basados en la geometría, etc.

Sin embargo, en las siguientes secciones nos centraremos sobre todo en su funcionamiento con Facewap. Se trata de un software Deepfake gratuito y de código abierto que permite múltiples algoritmos para obtener el resultado esperado.

Hay tres procesos principales para generar deepfakes: extracción, entrenamiento y conversión.

#1. Extracción

Se trata de detectar y expresar el tema de interés a partir de muestras de medios, el original y el destinado al intercambio.

En función de las capacidades del hardware, se puede optar por muchos algoritmos para una detección eficaz.

Por ejemplo, Faceswap tiene algunas opciones diferentes para la extracción, la alineación y el enmascaramiento basadas en la eficiencia de la CPU o la GPU.

La extracción simplemente identifica el rostro en el conjunto del vídeo. La alineación localiza los rasgos cruciales de cualquier rostro (ojos, nariz, barbilla, etc.). Y por último, el enmascaramiento bloquea otros elementos de la imagen excepto el área de interés.

El tiempo total que se tarda en obtener el resultado es importante a la hora de seleccionar cualquier opción, ya que la elección de algoritmos que consumen muchos recursos en un hardware mediocre puede dar lugar a un fracaso o a un tiempo considerablemente largo para obtener resultados aceptables.

Además del hardware, la elección también depende de parámetros como si el vídeo de entrada sufre obstrucciones faciales como movimientos de la mano o gafas.

Un elemento necesario, al final, es la limpieza (explicada más adelante) de la salida, ya que las extracciones tendrán unos cuantos falsos positivos.

Por último, la extracción se repite para el vídeo original y el falso (utilizado para el intercambio).

#2. Entrenamiento

Este es el corazón de la creación de deepfakes.

El entrenamiento tiene que ver con la rojo neuronalque consiste en el codificador y el decodificador. Aquí, los algoritmos se alimentan de los datos extraídos para crear un modelo para la conversión posterior.

El codificador convierte la entrada en una representación vectorial para entrenar al algoritmo a recrear las caras de nuevo a partir de vectores, como hace el descodificador.

Después, la red neuronal evalúa sus iteraciones y las compara con el original asignando una puntuación de pérdida. Este valor de pérdida disminuye con el tiempo a medida que el algoritmo sigue iterando, y se detiene cuando las previsualizaciones son aceptables.

El entrenamiento es un proceso que lleva tiempo, y los resultados suelen mejorar en función de las iteraciones que realiza y de la calidad de los datos de entrada.

Por ejemplo, Faceawap sugiere un mínimo de 500 imágenes cada una, originales y para intercambiar. Además, las imágenes deben diferir significativamente entre sí, cubriendo todos los ángulos posibles con una iluminación única para obtener la mejor recreación.

En función de la duración del entrenamiento, algunas aplicaciones (como Faceswap) permiten detenerlo a mitad de camino o continuarlo más tarde.

Cabe destacar que el fotorrealismo del resultado también depende de la eficacia del algoritmo y de la entrada. Y uno se ve de nuevo restringido por las capacidades del hardware.

#3. Conversión

Este es el último capítulo en la creación de deepfakes. Los algoritmos de conversión necesitan el vídeo de origen, el modelo entrenado y el archivo de alineación de origen.

A continuación, se pueden modificar algunas opciones relativas a la corrección del color, el tipo de máscara, el formato de salida deseado, etc.

Una vez configuradas estas pocas opciones, sólo tiene que esperar al renderizado final.

Como se ha mencionado, Faceswap funciona con muchos algoritmos, y uno puede jugar entre ellos para conseguir un faceswap tolerable.

¿Eso es todo?

No

Esto era sólo face swapping, un subconjunto de la tecnología deepfake. El face swapping, al igual que el significado literal, sólo sustituye una parte de la cara para dar una ligera idea de lo que podrían hacer los deepfakes.

Para un intercambio creíble, podría ser necesario también imitar el audio (más conocido como clonación de la voz) y el físico completo, incluyendo todo lo que cabe en el marco, como en este caso:

YouTube vídeo

Entonces, ¿qué está en juego aquí?

Lo que podría haber ocurrido es que el autor del deepfake grabó él mismo el vídeo (como se indica en los últimos segundos), sincronizó los labios del diálogo con la voz sintética de Morgan Freeman y sustituyó su cabeza.

morgan-freeman-deepfake

En conclusión, no se trata sólo del faceswap, sino de todo el fotograma, incluido el audio.

Se pueden encontrar toneladas de deepfakes en YouTube hasta el punto de que da miedo saber en qué confiar. Y todo lo que se necesita para empezar es un ordenador potente con una tarjeta gráfica eficiente.

Sin embargo, la perfección es difícil de alcanzar, y es especialmente cierto con los deepfakes.

Para lograr un deepfake convincente que pueda engañar o asombrar al público se necesita habilidad y de unos días a semanas de procesamiento para un minuto o dos de un vídeo.

Curiosamente, así de capaces son estos algoritmos por ahora. Pero lo que nos depara el futuro, incluido lo eficaces que pueden ser estas aplicaciones en hardware de gama baja, es algo que ha puesto nerviosos a gobiernos enteros.

Sin embargo, no nos sumergiremos en sus repercusiones futuras. En su lugar, vamos a comprobar cómo hacerlo usted mismo por un poco de diversión.

Creación de vídeos (básicos) Deepfake

Puede consultar muchas aplicaciones en esta lista de aplicaciones deepfake para hacer memes.

Una de ellas es Faceswap, que es la que utilizaremos.

Hay algunas cosas de las que nos aseguraremos antes de proceder. En primer lugar, debemos tener un vídeo de buena calidad del objetivo que muestre distintas emociones. A continuación, necesitaremos un vídeo de origen para intercambiarlo con el objetivo.

Además, cierre todas las aplicaciones que hagan un uso intensivo de la tarjeta gráfica, como navegadores o juegos, antes de proceder con Faceswap. Esto es especialmente cierto si tiene menos de 2 gigas de VRAM (memoria RAM de vídeo).

Paso 1: Extraer las caras

El primer paso de este proceso es extraer las caras del vídeo. Para ello, tenemos que seleccionar el vídeo de destino en el Dir de entrada y listar un Dir de salida para las extracciones.

faceswap-input

Además, hay unas cuantas opciones, incluyendo detector, alineador, enmascarador, etc.; las explicaciones para cada una están en las Preguntas Frecuentes de Faceawap, y sería un desperdicio rehacer la información aquí.

faceswap-dev
Fuente: FAQ de Faceswap

En general es bueno revisar la documentación para una mejor comprensión y una salida decente. Sin embargo, hay textos útiles dentro de Faceswap que puede encontrar pasando el ratón por encima de la opción específica.

faceswap-helptexts

En pocas palabras, no hay una manera universal, y uno debe comenzar con los mejores algoritmos y trabajar su camino hacia abajo con éxito para crear un deepfake convincente.

Para contextualizar, utilicé Mtcnn (detector), Fan (alineador) y Bisenet-Fp (enmascarador) manteniendo el resto de opciones tal cual.

Originalmente, lo probé con S3Fd (mejor detector) y algunas otras máscaras combinadas. Sin embargo, mi Nvidia GeForce GTX 750Ti de 2 Gb no pudo soportar el peso, y el proceso falló repetidamente.

Finalmente, rebajé mis expectativas y los ajustes para llevarlo a cabo.

Además de seleccionar el detector adecuado, los enmascaradores, etc., hay algunas opciones más en Ajustes > Configurar ajustes que ayudan a ajustar aún más los ajustes individuales para ayudar al hardware.

faceswap-settings

En pocas palabras, seleccione el tamaño de lote, el tamaño de entrada y el tamaño de salida más bajos posibles, y marque LowMem, etc. Estas opciones no están disponibles universalmente, y se basan en una sección específica. Además, los textos de ayuda ayudan aún más a seleccionar las mejores opciones.

Aunque esta herramienta hace un trabajo excelente en la extracción de rostros, los fotogramas de salida pueden tener mucho más de lo necesario para entrenar (de lo que hablaremos más adelante) el modelo. Por ejemplo, tendrá todas las caras (si el vídeo tiene más de una) y algunas detecciones incorrectas que no tengan la cara objetivo en absoluto.

Esto lleva a limpiar los conjuntos de datos. Puede comprobar la carpeta de salida y borrarse o utilizar la ordenación Faceswap para obtener ayuda.

facewap-sorting

El uso de la herramienta mencionada ordenará los distintos rostros en secuencia, desde donde podrá agrupar los necesarios en una sola carpeta y eliminar el resto.

Como recordatorio, también querrá repetir la extracción para el vídeo de origen.

Paso 2: Entrenamiento del modelo

Este es el proceso más largo en la creación de un deepfake. Aquí, la Entrada A se refiere a la cara objetivo, y la Entrada B es sobre la cara fuente. Además, el Dir Modelo es donde se guardarán los archivos de entrenamiento.

faceswap-training

Aquí la opción más significativa es Entrenador. Hay muchos con opciones de escalado individuales; sin embargo, lo que funcionó para mi hardware son los entrenadores Dfl-H128 y Lightweight con los ajustes de configuración más bajos.

Lo siguiente es el tamaño del lote. Un mayor tamaño de lote reduce el tiempo total de entrenamiento pero consume más VRAM. Las iteraciones no tienen un efecto fijo en el resultado, y debería establecer un valor lo suficientemente alto y detener el entrenamiento una vez que las previsualizaciones sean aceptables.

Hay algunos ajustes más, incluyendo la creación de un timelapse con intervalos preestablecidos; sin embargo, yo entrené el modelo con lo mínimo.

Paso 3: Cambio al original

Esta es la última hazaña en la creación del deepfake.

Esto generalmente no lleva tanto tiempo, y se puede jugar con muchas opciones para obtener el resultado deseado rápidamente.

faceswap-convert

Como se indica en la imagen de arriba, hay que optar por unas cuantas opciones para iniciar la conversión.

La mayoría de las opciones ya se han discutido, como el directorio de Entrada y Salida, el directorio Modelo, etc. Una cosa crucial es la Alineación, que se refiere al archivo de alineación (.fsa) del vídeo de destino. Se crea en el directorio de entrada durante la extracción.

El campo Alineaciones puede dejarse en blanco si no se ha movido ese archivo específico. De lo contrario, se puede seleccionar el archivo y pasar a otras opciones. Sin embargo, recuerde limpiar el archivo de alineaciones si ha limpiado las extracciones anteriormente.

Para ello, esta miniherramienta se encuentra en Herramientas > Alineaciones.

Comience seleccionando Eliminar caras en la sección Trabajoseleccione el archivo de alineación original y la carpeta de caras de destino limpiada, y haga clic en Alineaciones en la parte inferior derecha.

alineación-limpieza

Esto creará un archivo de alineación modificado, que coincidirá con la carpeta de caras optimizada. Recuerde que necesitamos esto para el vídeo de destino, que queremos intercambiar.

Algunas configuraciones más incluyen el ajuste de color y el tipo de máscara. El ajuste de color dicta la mezcla de la máscara, y puede probar unas cuantas, comprobar la vista previa y seleccionar la opción óptima.

El tipo de máscara es más importante. Esto, de nuevo, depende de sus expectativas y del hardware disponible. Normalmente, también debe tener en cuenta las características del vídeo de entrada. Por ejemplo, Vgg-Clear funciona bien con rostros frontales sin obstrucciones, mientras que Vgg-Obstructed también puede hacerlo con obstrucciones, como gestos de manos, gafas, etc.

A continuación, la grabadora presenta unas cuantas opciones en función de la salida que desee. Por ejemplo, seleccione Ffmpeg para un renderizado de vídeo.

En general, la clave para un deepfake exitoso es previsualizar unas cuantas salidas y optimizar según la disponibilidad de tiempo y la potencia del hardware.

Aplicaciones del deepfake

Existen aplicaciones buenas, malas y peligrosas de los deepfakes.

Las buenas consisten en recrear las lecciones de historia de los que realmente estuvieron allí para lograr un mayor compromiso.

Además, están siendo utilizados por plataformas de aprendizaje en línea para generar vídeos a partir de textos.

Pero uno de los mayores beneficiarios será la industria cinematográfica. Aquí, será fácil imaginar al protagonista real realizando acrobacias, incluso cuando sea el doble el que arriesgue su vida. Además, hacer películas multilingües será más fácil que nunca.

En cuanto a las malas, por desgracia, hay muchas. La mayor aplicación de deepfakes hasta la fecha, de hecho, el 96% (según este informe de Deeptrace), se da en la industria del porno para intercambiar rostros de famosos por actores porno.

Además, los deepfakes también se utilizan como arma contra mujeres "estándar" que no son famosas. Normalmente, estas víctimas tienen fotografías o vídeos de alta calidad en sus perfiles de las redes sociales que se utilizan para las estafas de deepfalsificaciones.

Otra aplicación aterradora es el vishing, también conocido como phishing de voz. En uno de estos casos, el director general de una empresa con sede en el Reino Unido transfirió 243.000 dólares por orden del "director general" de su empresa matriz alemana, sólo para descubrir más tarde que en realidad se trataba de una llamada telefónica deepfake.

Pero lo que es aún más peligroso es que el deepfake provoque guerras o pida la rendición. Un intento más reciente ha sido el del presidente ucraniano, Volodymyr Zelenskyy, diciendo a sus fuerzas y a su pueblo que se rindan en la guerra en curso. Sin embargo, esta vez la verdad fue delatada por el vídeo de baja calidad.

En conclusión, hay muchas aplicaciones de deepfake, y esto no ha hecho más que empezar.

Esto nos lleva a la pregunta del millón...

¿Son legales los deepfakes?

Esto depende en gran medida de la administración local. Aunque aún están por ver leyes bien definidas, que incluyan lo que está permitido y lo que no.

Aun así, lo que es obvio es que depende de para qué utilice los deepfakes: la intención. Apenas hay nada malo si su intención es entretener o educar a alguien sin molestar al objetivo del intercambio.

Por otro lado, las aplicaciones maliciosas deberían estar penadas por la ley, independientemente de la jurisdicción. Otra zona gris es la infracción de los derechos de autor, que requiere una consideración adecuada.

Pero, para reiterar, debería consultar con los organismos gubernamentales locales sobre las aplicaciones deepfake legales.

Manténgase alerta

Las deepfkaes aprovechan la inteligencia artificial para hacer que cualquiera diga cosas.

No confíe en nada de lo que vea en Internet es el primer consejo que debemos seguir. Hay toneladas de desinformación, y su eficacia no hace más que aumentar.

Y como sólo va a ser más fácil crearlos, es hora de que aprendamos a detectar los deepfakes.

  • Hitesh Sant
    Autor
    Hitesh trabaja como redactor sénior en Geekflare y se interesa por la ciberseguridad, la productividad, los juegos y el marketing. Además, tiene un máster en ingeniería del transporte. Su tiempo libre consiste sobre todo en jugar con su hijo, leer o tumbarse... Seguir leyendo
Gracias a nuestros patrocinadores
Más lecturas sobre IA
Potencia tu negocio
Algunas de las herramientas y servicios que le ayudarán a hacer crecer su negocio.
  • Invicti utiliza el Proof-Based Scanning™ para verificar automáticamente las vulnerabilidades identificadas y generar resultados procesables en tan solo unas horas.
    Pruebe Invicti
  • Web scraping, proxy residencial, gestor de proxy, desbloqueador web, rastreador de motores de búsqueda, y todo lo que necesita para recopilar datos web.
    Pruebe Brightdata
  • Monday.com es un sistema operativo de trabajo todo en uno que te ayuda a gestionar proyectos, tareas, trabajo, ventas, CRM, operaciones, flujos de trabajo y mucho más.
    Prueba Monday
  • Intruder es un escáner de vulnerabilidades en línea que encuentra puntos débiles de ciberseguridad en su infraestructura, para evitar costosas violaciones de datos.
    Prueba Intruder