Mostrando entradas con la etiqueta Deep Learning. Mostrar todas las entradas
Mostrando entradas con la etiqueta Deep Learning. Mostrar todas las entradas

miércoles, agosto 20, 2025

Sobre descubrir dobles de líderes mundiales con Facial Recognition Technology

Después de publicar el artículo de ayer "Sobre la Fiabilidad del Reconocimiento Facial en Imágenes de Cámaras de Seguridad" alguien me contactó y me contó el estudio de los dobles del presidente de Rusia, del que ha habido mucha especulación en los últimos días sobre si fue él o un doble el que se reunión con el presidente Donald Trump.

Figura 1: Sobre descubrir dobles de líderes mundiales
con Facial Recognition Technology

La verdad es que no había seguido las investigaciones al respecto, y tampoco he podido tener acceso a la fuente original de dicha investigación. Según cuentan, se han cogido imágenes de diferentes momentos, conociendo con exactitud cuando era él en persona, y utilizando un Cognitive Service de Face Comparison, comprobar si es la misma persona o no.
Según siempre la investigación hecha que yo no he podido ver, hay referencias de que en esas tres fotos, el grado de similitud es del 53% y el 40%, y que corresponden a tres momentos cercanos en el tiempo. Supongo que habrán entrenado algún modelo de Machine Learning, o habrá usado directamente un Cognitive Service de Face Comparison para hacer estas pruebas.

Figura 3: Libro de Machine Learning aplicado a Ciberseguridad de
Carmen TorranoFran Ramírez, Paloma Recuero, José Torres y Santiago Hernández

Como están las tres fotos - con la calidad que están - he querido probar algún Cognitive Service de Face Comparation de caras, a ver qué me decía, y los resultados han sido de lo más disparatados por lo poco deterministas que han sido.
En las comparaciones hechas con Pro Face Finder sale, en ambas, que con un más del 70% las tres fotografías hacen Match con la misma persona. ¿Es esto correcto? Pues si leíste el artículo de ayer quién sabe si es un Falso Positivo o un Acierto Positivo.


Como no quería quedarme sólo con una sencilla prueba, he ido a probar otros servicios con Cognitive Services de Face Comparison y he probado otras de las fotografías puestas en duda en las redes sociales y artículos publicados en la red. Primero con las mismas fotos, pero con el servicio de Face Similarity.
Con este servicio, dice que las fotos son de la misma persona con un grado superior al 90% de confianza, lo que genera menos determinismo aún a las pruebas, ya que tenemos datos del 50%, del 70% y ahora del 90%.
La última prueba que hice la realicé con otras nuevas fotografías, en este caso con una de las de Alaska y otra de un poco antes en un vídeo paseando por Ucrania. Usé el servicio de PicTriev que tiene el servicio de Similitud y de Identidad

Figura 8: Putin en Alaska y en Ucrania

El servicio de Similitud dice cuánto se parecen esas caras, independientemente de que sean de la misma persona o no, y el resultado que me arrojó este servicio fue de 66% tal y como podéis ver en la imagen siguiente.
Pero si vamos a ver la parte de Identidad, lo que nos dice este servicio es que las dos fotografías no pertenecen a la misma persona, supuestamente porque hay diferencias estructurales grandes como para que puedan serlo.
¿Quiere decir todo esto algo? Pues no lo sé. Visto los resultados del artículo de ayer "Sobre la Fiabilidad del Reconocimiento Facial en Imágenes de Cámaras de Seguridad" no me atrevería a decir nada, y menos con unas imágenes con tan poca calidad, y sin conocer en detalle cómo ha sido entrenado el Cognitive Service de Face Comparison.  

Y lo mismo sobre la investigación original. Sin tener a los datos sobre la tecnología de comparación de caras, las fotos que se han utilizado en la calidad concreta que se han utilizado, es difícil hacer algo más que "jugar" y "especular" con diferentes servicios de Face Comparison, que ya sabes que pueden llegar a confundirme a mí con George Clooney en algunas fotos pero..... puedes hacer tú las pruebas que quieras también.

¡Saludos Malignos!

Autor: Chema Alonso (Contactar con Chema Alonso)  


domingo, agosto 10, 2025

De “El cortador de césped” a Genie 3: El futuro que imaginamos con mundos virtuales en tiempo real

Han pasado once meses desde mi primera comunicación con Chema Alonso a través de su cuenta de MyPublicInbox. Y ahora me doy cuenta de que, sin saberlo, desde entonces estoy viviendo mi último año de infancia tecnológica. Hola, soy María. Hace poco os hablé de Veo 3. Hoy quiero hablaros de Genie 3, que es también de Google DeepMind

¿Cuál es la diferencia entre ambos? Hablando pronto y mal: Veo 3 es un generador de vídeos, Genie 3, es un generador de simuladores. Aunque Genie 3 se ha anunciado esta semana, no podemos usarlo todavía: de momento las pruebas están reservadas por invitación a investigadores concretos con máquinas potentes. Personalmente agradezco tener un margen de tiempo para hacerme a la idea. Hay mucho que digerir.


Lo resumo brevemente a continuación en el artículo, pero si quieres una explicación más detallada, Carlos Santana a.k.a. DotCSV lo explicó genial el otro día en un vídeo muy chulo de esos que publica en su canal. Aquí os lo dejo.


Figura 3: GENIE 3 ¡El increíble SIMULADOR DE MUNDOS INTERACTIVOS de Google!
por Carlos Santana (DotCSV)

¿Os lo resumo? Venga va. O como te diría si estuviéramos en un mundo virtual... “Sígueme” :D

1. Escribes un prompt de lo que quieres generar.

2. Genie 3 simula un entorno virtual según tu prompt.
3. Una vez generado el entorno, tú lo navegas desde tu pantalla, manejando los controles desde tu teclado
4. El vídeo se genera en tiempo real respondiendo a tus controles: adonde mires, Genie 3 genera cada fotograma simulando lo que ves.
5. Podrás añadir objetos y acciones sobre el mundo ya creado, y accionar la interactividad desde tus controles.
6. Tu sensación será similar a estar avanzando por un videojuego, pero no es geometría tradicional. No hay 3D, no hay grid: lo que ves y accionas está siendo imaginado por Genie 3 en tiempo real.

7. Las sensaciones físicas son increíblemente realistas. Por ejemplo cómo responde el agua a la colisión, parece real.
8. Genie 3 tiene memoria estable. Aunque gires la cámara a un lado y luego vuelvas a girar a la vista inicial, no cambia lo que estabas viendo. 

Como ves en este ejemplo de la web de Genie 3, puedes pedirle que te genere una escena interactiva donde el usuario pinte una pared. Atiende porque esto es muy fuerte: si el usuario se mueve en mitad de su labor, al volver atrás sus trazos seguirán ahí.


Entre la información publicada por Google DeepMind encontraréis esta tabla, donde podéis identificar de un vistazo algunas de las mejoras de Genie 3 respecto a versiones anteriores y Veo.


Y ahora dime, ¿no has notado nada raro? Ahá... Esas imágenes... ¿No corresponden a Genie 3, verdad? ¡Efectivamente y no! XD Son capturas falseadas del videoclip “Amazing” de Aerosmith, de 1993.

Figura 12: ZAS! En toda la boca.

¿Y por qué te he troleado con Aerosmith? Te cuento: porque es significativo para mí. Este videoclip fue uno de los primeros contactos que tuve en mi vida con el concepto de realidad virtual. Pero no fue el primero.

Figura 13: “Amazing” de Aerosmith, del album Get A Grip, 1993.

Mi primera referencia a realidad virtual fue una peli que trajo mi hermano del videoclub al poco de tener un vídeo VHS en casa. Es de 1992: El cortador de césped de Brett Leonard. Está basada en un relato corto de Stephen King de 1975 incluido en el libro de relatos El umbral de la noche.


Figura 14: Trailer de la película El cortador de césped (The Lawnmower Man)

Recuerdo erróneamente que pasó muchísimo tiempo entre la peli del 92 y el videoclip del 93... Como si hubieran pasado varios años. Creo que lo recuerdo mal porque en 1992 aún era la niña del ratón roto, con 14 años. Pero en 1993 ya tenía 15 años (sí, tú ríete...) Pero va en serio: a los 15 es como si de repente fuera otra persona. Desde 1993 hasta ahora la tecnología de realidades extendidas ha cambiado mucho, cuantitativamente. Pero eso, en el fondo eran cambios cuantitativos. Yo que tanto he amado la geometría, el low-poly, el level of detail, la draw distance, el render to texture... Snif.

Por cierto, ¿leíste el artículo del otro día de dr. dr. Maligno, el de entrenar a robots mediante sueños? Si ves otra vez el vídeo de la charla (es la charla que dio en Vigo el 2 de julio), verás que una vez más Chema Alonso va semanas por delante de novedades, releases, volamientos de cabeza, hypes y bluffs. 

Figura 15: "Can Machines Think or Dream Without Hallucinations?"

Si el otro día ante Veo 3 me sentía como la niña de 14 años, hoy ante Genie 3 me siento como cuando tenía 15. Como cuando veía vídeos de Aerosmith como si no hubiera un mañana. Sí, confusa, asustada... Pero también excitada, muriendo por desarrollar mi potencial, sin importarme llevarme a alguno por delante y con unas ganas locas de comerme el mundo. Os decía al principio que este está siendo mi último año de infancia tecnológica. Pero no soy solo yo, me temo que somos todos. Ahora ya sí chavales. Toca espabilar. Toca madurar... Toca pasarse al lado del mal.

¿Quieres saber más?

Ya sabes dónde encontrarnos a todos, en mi buzón público y en el chat público de El lado del mal en MyPublicInbox... Y —si te animas— ¡edita algo tú también! Aunque sea con un ratón de bola sobre el muslo =^_^=

miércoles, julio 23, 2025

WhoFi: Deep Person Re-identification. Cómo saber quién está en una ubicación midiendo la señal WiFi

El mundo de la visión WiFi, o lo que es lo mismo, "ver cosas" a partir de los datos de perturbación de la señal, lleva mucho tiempo estudiándose. Recuerdo que en el año 2009 hablé del paper titulado "Through-Wall Motion Tracking Using Variance-Based Radio Tomography Networks" donde explicaban cómo utilizar las variaciones de la señal WiFi para detectar movimiento de objetos detrás de muros.
A partir de ese momento, hace ya más de quince años, se han hecho muchas investigaciones sobre cómo utilizar las perturbaciones en la señal de un canal - lo que se llama "Chanel State Information" (CSI) y que viene a ser la información que podemos mediar de un canal (por ejemplo la potencia de señal en una malla de campo ) - para poder detectar objetos, formas y movimientos.
Tras ese trabajo, en el año 2014, con estas técnicas se era ya capaz de mucho más, como explicaron en un nuev paper titulado "Multi-Person Motion Tracking via RF Body Reflections", donde además de ver a través de los muros ya se era son capaz de llegar a detectar un número exacto de personas en movimiento o detectar el movimiento del pecho de una persona en concreto para poder conocer hasta el ritmo cardiaco, solo con medir el CSI de la red WiFi.
La idea que se utiliza se basa en crear un dispositivo con múltiples antenas, de un tamaño muy manejable cercano al de una moneda, para poder triangular todas las señales reflejadas por un cuerpo, detectando en tiempo real el ritmo de la respiración e infiriendo el ritmo cardiaco.

Por supuesto, desde aquel año 2009 hasta hoy, la evolución de las técnicas de Machine Learning, con los avances en algoritmos de Deep Learning, ha hecho que con los nuevos algoritmos de Inteligencia Artificial, puedes hacer extracción mucho más fina de los datos CSI de una red WiFi, y de eso trata el trabajo de WhoFi, de ser capaz de re-identificar a una persona que entra en un espacio por medio de las perturbaciones en la señal WiFi, o lo que es lo mismo, de los datos del CSI que se generan. 
La idea no es nueva, y se basa en trabajos y datasets disponibles de trabajos anteriores, como "SenseFi: A library and benchmark on deep-learning-empowered WiFi human sensing" y el sistema de autenticación "CAUTION: A Robust WiFi-Based Human Authentication System via Few-Shot Open-Set Recognition"  que utiliza unas pocas capturas de CSI para hacer una huella de una persona usando Deep Learning. En el caso de WhoFi, lo que se busca es, aprovechando los avances en algorítmica de IA, conseguir un ratio de acierto mucho mayor en la re-identificación de personas previamente hechas "onboarding".

Primeramente se le hace un onboarding en el sistema, construyendo para cada persona un vector normalizado a partir de un Encoder de IA que que procesa los datos CSI del canal WiFi, con el objetivo de generar una huella digital de esa persona.
El Enconder, lo han construido con varios modelos diferentes, para probar cuál de ellos daba mejores ratios, y los que han probado han sido los que mejores resultados dan en secuencias de datos temporales, como son los LSTM, los Bi-LSTM y nuestros queridos Transformers, que también se pueden usar para visión.
Los resultados quedan muy a las claras en las siguientes tablas, donde todos los datasets utilizados - incluidos datos CSI generados con técnicas de Data Augmentation para tener un mayor número de personas onboarding - dejan a las claras que con con los Transformers se consiguen ratios de re-identificación altísimos y con una gran precision.
Esto es algo muy relevante, porque utilizar los datos CSI de la WiFi como forma de autenticación continua puede cambiar los sistemas de alarma en el hogar, detectando si son las personas que deben ser las que están en casa o no, por ejemplo, para tener una alarma silenciosa, pero también se podrían usar para vigilar espacios, movimientos de personas, etcétera.

Figura 2: Libro de Machine Learning aplicado a Ciberseguridad de
Carmen TorranoFran Ramírez, Paloma Recuero, José Torres y Santiago Hernández

Al final, tenemos un canal de datos, y con el avance de las técnicas de Inteligencia Artificial, los casos de uso que pueden aparecer son cada vez mayores, al ser capaces de detectar aún más insights de información de los datos disponibles. Datos + Algoritmos = Programas, y hoy en día, Datos + IA = Conocimiento.

¡Saludos Malignos!

Autor: Chema Alonso (Contactar con Chema Alonso)  


viernes, mayo 23, 2025

Google DeepMind Veo3: Un modelo que genera vídeo sincronizado con audio a una calidad espectacular

Ayer mi grupo de amigos de WhatsApp estaba revolucionado con los vídeos de Google DeepMing Veo3, y no me extraña. La calidad de los vídeos que genera este nuevo modelo de Google te deja sorprendido. Está claro que es un nuevo salto en la calidad de vídeo generado por GenAI, y el sueño de hacer películas completas con Inteligencia Artificial está a tiro de nada. En breve, antes de que acabe el año, seguro que tenemos documentales, películas, series, hechas íntegramente con Generative AI.
Os dejo solo algunos de los vídeos que compartieron en mi grupo de amigos, y que sirvió para generar un interesante debate sobre el uso de estándares de marcas de agua (Watermarking) invisibles que permitan detectar sin un vídeo ha sido o no creado con Inteligencia Artificial. 
Pero para que veáis la calidad de los resultados, he buscado algunos vídeos en X, más algunos que compartieron mis amigos, y os los dejo por aquí. Todos hechos en un par de minutos con un simple Prompt.  En el primer vídeo son personajes sufriendo por saber que son seres que viven sometidos al Prompt, que me ha encantado, y que es una muestra de lo que se puede hacer en el mundo de la creación audiovisual.  Yo, que soy un enamorado de Love, Deaths + Robots, veo la IA tomando control total de muchas de estas historias.
Por supuesto, el mundo de las Fake News y las Deep Fakes va a entrar en una nueva dimensión, y lo que vamos a ver en breve va a ser una nueva oleada de ataques mucho más elaborados. Y por supuesto, en el mundo del uso de las DeepFakes en la industria XXX, o las NovIAs y Novios hechos por AI también.
En este segundo vídeo tenéis una supuesta noticia dada por una periodista, donde el realismo es espectacular, y habrá que afinar la detección de todos los detalles para poder evitar las noticias falsas, bulos y campañas de difamación que pueden realizarse con estas herramientas.
El último es un vídeo de una supuesta entrevista en la calle sobre el mundo de la IA, y lo mismo, el realismo es enorme. Sorprende y mucho la calidad, y hay que reconocer que Google ha dado un salto en calidad en la generación del vídeo de manera consistente. Lejos quedan ya los seis dedos y las extremidades que aparecen y desaparecen. 

Pronto será tan fácil...

¿Qué veremos en Enero de 2026? ¿Películas enteras hechas a golpe de Prompt? ¿Serán las plataformas tipo Netflix solo almacenes de Prompt que crearán la película bajo demanda solo con hacer clic en una propuesta concreta? ¿Marvel haciendo Prompts de sus personajes para crear películas completas de animación bajo demanda? ¿Tendremos los comics completos hechos por IA a golpe de un clic?

¡Saludos Malignos!

Autor: Chema Alonso (Contactar con Chema Alonso)  


martes, febrero 25, 2025

Neko Health: Medicina Personalizada con Datos e Inteligencia Artificial

En los últimos años, la Inteligencia Artificial (IA) ha transformado innumerables industrias, pero pocos sectores han experimentado un impacto tan significativo como el de la salud. Desde el diagnóstico temprano de enfermedades hasta la optimización de tratamientos y la personalización de la atención médica, la IA está revolucionando la manera en que médicos, investigadores y hospitales operan.
Gracias a su capacidad para analizar grandes volúmenes de datos con precisión, rapidez y bajo coste, esta tecnología no solo mejora la eficiencia de los sistemas de salud, sino que también salva vidas al permitir diagnósticos más certeros y tratamientos más efectivos. La pandemia de COVID-19 aceleró la adopción de IA en la detección de enfermedades, análisis de imágenes médicas y desarrollo de vacunas. De estos temas, podéis leer algunos artículos de hace tiempo que cuentan algunas historias de estos avances.
Debido a esta urgencia de necesidad, el desarrollo de la tecnología y el gran incremento en la disponibilidad de datos médicos masivos (Big Data en salud), así como la recopilación de infinitas muestras a tiempo real gracias al Internet de las Cosas Médicas (IoMT), los últimos años están siendo momentos de auge para el desarrollo sanitario movilizado por la Inteligencia Artificial


Figura 2: Iker Casillas y su inversión en IDOVEN

Algunas empresas en España, como es Idoven, la startup del Doctor Manuel Marina  han demostrado que la Inteligencia Artificial es fundamental para detección temprana de enfermedades cardiovasculares, y algunos inversores como es el caso de Iker Casillas o Wayra, han puesto su dinero para acelerar el crecimiento de estas compañías.

El impacto de la IA hoy en día en Salud

En la última década estamos observando que los avances en la IA han motorizado el progreso de diferentes aplicaciones sanitarias. El boom de las CNNs (Convolutional Neural Networks) y el Computer Vision ha sido clave para el avance de la radiología y el análisis de imágenes médicas, como los rayos X y las resonancias magnéticas. Google Deepmind, por ejemplo, ofrece modelos que detectan con alta precisión el cáncer de mama, enfermedades oculares y más en base a imágenes.

Por otra parte, modelos generativos como las GANs (Redes Generativas Antagónicas) y latentes como los VAEs (Variational Autoencoders) aceleran la identificación de compuestos químicos con potencial terapéutico. AlphaFold de DeepMind es un caso de éxito, prediciendo la estructura de proteínas y revolucionando la investigación farmacéutica.


Contrario a la creencia popular, algoritmos más tradicionales de Machine Learning, como los Random Forest, se utilizan muy popularmente en diferentes aplicaciones debido a su alta interpretabilidad. Un ejemplo llamativo es IBM Watson for Genomics, que analiza el contenido genómico de los pacientes y su influencia en el desarrollo de cáncer o enfermedades neurológicas.

Pero la influencia de la IA en el sector sanitario no se queda en el análisis de datos de pacientes solamente, sino que está mejorando la optimización del sector. La disponibilidad de GPUs y TPUs más potentes y asequibles ha facilitado la implementación de modelos más complejos y su velocidad ha hecho posible la prueba de miles de conceptos antes de realizar ensayos clínicos, minimizando los costes y acelerando su desarrollo.

Algunos ejemplos de optimización de recursos implementados son el uso de Redes Bayesianas para la asignación de habitaciones en hospitales, o el uso de chats médicos basados en LLMs que dirigen la asistencia sanitaria.

Neko Health: Medicina personalizada

Neko Health, la empresa cofundada por el CEO de Spotify Daniel Ek, promete detectar fases tempranas y prevenir enfermedades mediante la fusión de software y hardware avanzado.


Sus instalaciones en Estocolmo y Londres te permiten viajar al futuro. Con 70 sensores que te realizan un escaneo full-body, son capaces de extraer millones de datos acerca de tu salud cardiovascular, niveles de glucosa y colesterol y el estado de piel de manera no invasiva. Obtienes un análisis profundo sobre el estado de tu salud y su proyección a futuro en base a tus hábitos en menos de una hora.

El objetivo de Neko es enfocar la salud desde el punto de vista preventivo, monitorear los datos del paciente para poder hacer seguimientos exhaustivos durante los años de la evolución de su salud y ofrecer recomendaciones médicas inmediatas, evitando los largos periodos de espera para conocer los resultados. Aunque su objetivo es ofrecer los datos médicos a un coste virtualmente bajo y en un tiempo ínfimo, actualmente se acercan bastante a esta proyección. En 15 minutos, capturan 15 GB de datos de salud a un coste relativamente bajo.


¿Pero cómo pretenden prevenir enfermedades antes de que se desarrollen? Neko investiga métodos y tecnologías basadas en la detección de la alteración o pérdida de funciones biológicas, en contraste a la detección de sintomatología desarrollada por causa de la enfermedad ya existente. Esto permitirá a los pacientes ir un paso por delante de su salud y parar el desarrollo de enfermedad antes de que el daño comience a ocurrir. Su análisis se basa en diferentes pasos. 

Fases del escaneo

La primera fase consiste en la recolección de datos haciendo un escaneo de toda tu piel. Toman imágenes de alta resolución y a partir de estas modelan una imagen digital de tu cuerpo con marcadores sobre su forma, la piel y la distribución de temperatura usando métodos de Computer Vision.

La segunda fase del escaneo mide tu salud cardiovascular usando aparatología médica en 7 puntos diferentes de cuerpo, analizando tu pulso y cómo se mueve la sangre por el sistema arterial, lo cual les permite conocer la distribución de tu sistema sanguíneo. También analizan la microcirculación, que ocurre en los vasos sanguíneos más pequeños del cuerpo y está altamente relacionada con el desarrollo de problemas de salud. Finalmente, toman una muestra de sangre de la cual pueden extraer más perspectivas.


Todos los datos recopilados son analizados en base a múltiples diferentes metodologías, ofreciendo resultados precisos, valiosos y visuales al personal médico que posteriormente evaluará el estado de tu salud contigo.

La importancia de los datos

El enfoque de Neko Health pretende ser individual y específico al paciente y el momento en el que se le está examinando. No proponen comparar métricas y valores generales como se ha estado haciendo tradicionalmente, sino en analizar la salud del individuo en base a sus propias estadísticas.

Como Neko Health, podemos encontrar múltiples empresas que se dedican a reforzar la medicina en base a los datos personales de cada paciente y proyectar su bienestar. Que tengamos la fortuna de estar viviendo en la Era de los datos y de la Inteligencia Artificial nos permitirá seguir viendo cómo soluciones innovadoras similares a esta continúan evolucionando y potenciando el desarrollo sanitario, junto con la longevidad y calidad de vida de nuestra sociedad.

Saludos,

Autor: Afina Nurorva, Investigadora Telefónica Innovación Digital

domingo, agosto 11, 2024

Cómo usar la Inteligencia Artificial para el Análisis de Audios de WhatsApp o Youtube en OSINT

En la primera parte de este artículo, titulada: "Cómo usar la Inteligencia Artificial para el Análisis Forense y la Ciberinvestigación de Audios" vimos algunas herramientas tanto comerciales como Open Source que se pueden utilizar para realizar estas tareas. En esta segunda vamos a ver cómo podemos utilizarlas en unos ejemplos concretos.

Figura 1: Cómo usar la Inteligencia Artificial para el
Análisis de Audios de WhatsApp o Youtube en OSINT

Para eso, vamos a analizar un audio de WhatsApp y la pista de un sonido de Youtube. La primera con ruidos de fondo, la segunda en medio de una discoteca. Por último vamos a ver cómo crear nuestro propio análisis con Python utilizando las herramientas Open Source. Vamos manos a la obra.

Cómo analizar las pistas de audio con Demucs & Mosaic.ai

Vamos a centrarnos en las aplicaciones que tenemos disponibles Open Source, en concreto con Demucs. Para esta prueba usaremos el siguiente audio donde aparece mi voz con un ruido de tráfico de fondo enviando un mensaje a Chema Alonso:

Figura 2: Audio de ejemplo principal, sin modificar
llamado AudioWhatsApp.wav (en el script)

Una vez instalado, ejecutarlo es muy sencillo, pero para demostrar las diferentes opciones de Demucs, he usado otro modelo para realizar la separación:

demucs -n mdx_extra AudioWhatsApp.wav

Con esto tendremos una carpeta de salida llamada “separated” donde aparecerán varios ficheros .wav. El que nos interesa es el “vocals” y el “others”, donde estarán la voz aislada y el ruido de fondo sin voz, respectivamente. En el fichero “vocals” podemos ver que ha habido una mejora sensible en la calidad de la voz aunque aún se oyen los coches de fondo:

Figura 3: Audio con la voz mejorada, aún con
ruido de fondo. AudioWhatsApp_Voz_A.wav

Pero podemos mejorar la separación de las pistas, para eso debemos usar otros modelos con Demucs y en concreto de MDX-Net. Existe una aplicación Open Source llamada “Ultimate Vocal Remover” que es una GUI para Demucs, facilitando mucho su utilización y selección de diferentes modelos:


Cambiando de diferentes modelos y jugando con las diferentes opciones, podemos llegar a obtener una salida óptima, prácticamente limpia, en dos pistas diferentes, una con el tráfico y otra con la voz:

Figura 5: Pista con el tráfico o sonido de fondo
sin la voz. AudioWhatsApp_Trafico.wav

Tener la pista del sonido de tráfico puede permitir descubrir sonidos de todo tipo. Trenes, coches, camiones o motos. E incluso, podríamos analizar qué tipo de moto (o de coche) se escucha de fondo en uno de estos audios. Ya hicimos hace años un experimento con esto en el equipo de Ideas Locas llamado: ""Colega, ¿dónde está mi moto?". Cómo reconocer motos por su sonido con Inteligencia Artificial".
Y ahora la voz, donde notamos una clara mejoría respecto a la anterior prueba:

Figura 7:  Pista con la voz aislada prácticamente
limpia. AudioWhatsApp_Voz_B.wav

Para poder separar diferentes pistas en función del tipo de audio concreto como por ejemplo para identificar acciones o eventos específicos (como disparos, cristales rotos, etcétera) , artefactos (aviones, coches, motos, etcétera) tenemos que ir buscando modelos pre-entrenados o entrenarlo nosotros.

Nuevo libro de Luis Márquez en 0xWord.

Toda esa información se puede utilizar para hacer investigaciones más profundas sobre los audios que te envía una determinada persona por WhatsApp, así que si el OSINT es una parte de tu investigación, estas herramientas deben estar en tu mochila, al igual que las que publicamos en el artículo de "Are you Talkin' ta me?" donde presentamos cómo hacer Age Stimation, Gender Prediction, Sentiment Analysis con modelos de Machine Learning, así como los modelos para reconocer las voces y las personas que se escuchan en un audio.

Figura 9: Pista de audio de una entrevista
en una discoteca extraida con Moises.ai

En este otro ejemplo utilizamos Moises.ai para separar en dos pistas una entrevista en una discoteca publicada en un vídeo de Youtube. En el audio de arriba tenéis la pista de voz, y en el de abajo la pista de fondo, donde se escuchan el resto de los ruidos.

Figura 10: Pista de fondo de la entrevista de la discoteca

Las diferentes opciones que antes he mencionado son un buen comienzo para construir nuestro propio detector y separador de pistas de sonido. Vamos a ver un ejemplo a continuación.

Cómo crear nuestro propio identificador de sonidos

Una vez tenemos ya nuestra implementación para separar los sonidos en diferentes pistas de audio, tocaría entonces identificarlos. Para esto existen multitud de datasets, modelos pre-entrenados, aplicaciones online, etcétera. De nuevo nos centraremos en una aplicación Open Source y creando nuestro propio código en Python para que pase a formar parte de nuestra mochila de herramientas OSINT.
En concreto usaremos YAMNet, un modelo de clasificación de audio preentrenado de Google, para identificar y clasificar sonidos. YAMNet está basado en la arquitectura de redes neuronales profundas y ha sido entrenado con el dataset AudioSet, que contiene una gran colección de todo tipo de sonidos etiquetados. El modelo está disponible a través de TensorFlow Hub, lo que permite su fácil integración en aplicaciones sin necesidad de entrenamiento desde cero.


Usaremos Librosa para cargar y preprocesar el audio, asegurando que esté en mono y a 16 kHz, que es la tasa de muestreo esperada por YAMNet. Después de procesar el audio, el modelo genera probabilidades para cada clase de sonido, seleccionando las cinco etiquetas más probables. Estas etiquetas se cargan desde un archivo CSV local, lo que permite personalizar las categorías que el modelo puede reconocer. 

Aquí tienes el código para implementarlo, sólo hay que añadir un fichero .wav con la pista de audio a reconocer (NOTA: una buena predicción depende de muchos factores, calidad del audio, ruidos de fondo, etcétera):

import tensorflow as tf
import tensorflow_hub as hub
import numpy as np
import librosa
import csv

# YAMNet desde TensorFlow Hub
yamnet_model_url = 'https://tfhub.dev/google/yamnet/1'
yamnet_model = hub.load(yamnet_model_url)

# Etiquetas de clase de YAMNet desde un archivo CSV local
# https://github.com/tensorflow/models/blob/
# /master/research/audioset/yamnet/yamnet_class_map.csv
labels_csv_path = 'yamnet_class_map.csv'  

# Aquí cargamos las etiquetas desde el archivo CSV
def load_labels(csv_path):
    with open(csv_path, 'r') as f:
        reader = csv.reader(f)
        labels = [row[2] for row in reader if len(row) > 2]
    return labels

yamnet_labels = load_labels(labels_csv_path)

# Esta función se encarga de predecir sonidos partiendo de un archivo de audio
def predict_yamnet(file_path):
    # Cargar el archivo de audio
    waveform, sample_rate = librosa.load(file_path, sr=16000, mono=True)
    
    # Nos aseguramos que el audio es mono y tiene la tasa de muestreo adecuada
    if len(waveform.shape) > 1:
        waveform = waveform.mean(axis=1)

    # Borrado de cualquier dimensión extra
    waveform = waveform.astype(np.float32)

    # Predicción
    scores, embeddings, spectrogram = yamnet_model(waveform)

    # Obtenemos las 5 etiquetas más probables
    mean_scores = np.mean(scores, axis=0)
    top5_indices = np.argsort(mean_scores)[-5:][::-1]
    top5_labels = [yamnet_labels[i] for i in top5_indices]
    top5_scores = mean_scores[top5_indices]
    
    return list(zip(top5_labels, top5_scores))

# Archivo a analizar
audio_file_path = 'subway_sound.wav'  

# Código principal para obtener predicciones
predictions = predict_yamnet(audio_file_path)
for label, score in predictions:
    print(f"{label}: {score:.4f}")
Al ejecutarlo obtendremos una salida similar a la siguiente, en la cual hemos pasado como parámetro un fichero .wav del sonido de un tren de metro, donde vemos que aparece como la etiqueta más probable (0.54) pero también nos ofrece otras interesantes y relacionadas como ”traqueteo” o “crujido” (Crackle) con 0.65:

Figura 13: Detección con YAMNet para sonido de metro.

Si pasamos el código por un fragmento del audio de ejemplo extraído anteriormente del ruido de fondo del tráfico (sin voz y sin procesar la calidad) que tenemos en la Figura 5, obtenemos este resultado:

Figura 14: Detección con YAMNet para sonido el
sonido del tráfico extraído anteriormente.

Como vemos, “Crackle” suele ser un elemento bastante común ya que se encuentra en este tipo de audios (en todos estos sonidos hay crujidos, traqueteos, etcérera), pero la segunda etiqueta sí que la identifica como un sonido de tráfico, muy cercano al ruido de un tren.

El pitido de los coches en este caso los ha confundido con el pitido de un tren, pero, aun así, es un buen comienzo para ir afinando y perfeccionando este código y también la calidad del audio (ya que esto influye mucho en su identificación). A partir de este punto ya podríamos construir nuestro propio pipeline de limpieza y reconocimiento de sonidos usando Inteligencia Artificial.

Conclusiones

La Inteligencia Artificial ha propiciado un salto sin precedentes en el procesamiento de audio, ofreciendo herramientas precisas que pueden separar y analizar pistas de audio en contextos musicales y de cualquier otra naturaleza. Esta capacidad de aislar sonidos específicos en una grabación es un gran paso adelante en el Análisis Forense Digital, permitiendo a los investigadores examinar pruebas sonoras con una gran precisión y detalle.

A medida que la tecnología avanza, podemos esperar una mayor integración de la IA en estos procesos, lo que mejorará la precisión y eficiencia de la investigación. El análisis de audio que darán lugar a nuevas herramientas de análisis de audio que casi son de ciencia ficción.

Happy Hacking Hackers!!!

Autor: Fran Ramírezes investigador de seguridad y miembro del equipo de Ideas Locas en CDO en Telefónica, co-autor del libro "Microhistorias: Anécdotas y Curiosidades de la historia de la informática (y los hackers)", del libro "Docker: SecDevOps", también de "Machine Learning aplicado a la Ciberseguridad” además del blog CyberHades. Puedes contactar con Fran Ramirez en MyPublicInbox.

 Contactar con Fran Ramírez en MyPublicInbox

Entrada destacada

+300 referencias a papers, posts y talks de Hacking & Security con Inteligencia Artificial

Hace un mes comencé a recuperar en un post mi interés en los últimos años, donde he publicado muchos artículos en este blog , y he dejado mu...

Entradas populares