Laboratorio 4 - Área Teoría y Reflexión
Iboldi Gonzalo
PROYECTO FINAL Idea inicial ( Semilla )

Tomando como eje la idea de cine-verdad o cine-ojo (Kino-Pravda) de Dziga Vertov , y la idea de registrar escenas sin actores , cámara en mano , desde lugares que la gente normalmente no observaba y retratando calles , momentos , etc. Contar mi verdad desde el lugar dónde vivo ( San Andres ) , y donde mi familia vive hace 40 años. Buscar información sobre cómo cambió el barrio , la gente , las construcciones , y el entorno , recolectando archivo, fotos , hablando con gente que viviera aqui. Jugar con la idea de las distintas realidades que se viven en un mismo lugar , en distintos tiempos , o quizás también las similitudes.
Posible idea de soporte o tecnologías: Una especie de aventura gráfica realizada con Processing , utilizando interactividad en base a elecciones (mediante texto) , e interviniendo las imágenes y videos en torno a esas decisiones.

La idea todavía es muy temprana por lo que no tengo claro cómo funcionaría o qué otros ejes temáticos podría abordar ( me interesa la idea de realidad simulada , pero no sabría como aplicarla.

Referencias: Vaporwave: La reminiscencia de un pasado que nunca viví o nunca existió , esa sensación mágica de ser un niño mirando medio dormido por la ventana del auto al volver a casa las luces de la ciudad , o de un viaje nocturno con las luces de neón del colectivo , sin saber adónde vamos.
IDEA: Trabajar con videos de cuando era chico ( filmadora analogica JVC) , y ver si está disponible para filmar videos actuales , y que dialoguen entre sí.
Hablar con la tía y grabar la charla , para utilizar el diálogo y preguntar referencias sobre su infancia en San
Andrés.
Idea:
También podría tomar objetos de mi infancia ( ejemplo: carnet del club Deportivo San Andrés , fotografiarlos ,y hacerlos parte de los frames que compongan la obra o el video final )


Tener en cuenta la idea del paso del tiempo , del tiempo que se repite , soy el mismo que era en ese momento?
Cuánto queda de ese niño hoy en mí? Cuánto queda vivo de esos lugares? Son reales esos recuerdos?
2da Entrega Idea 03/05/2021


La idea es un video documental ( quizás interactivo) , en donde se ponga en diálogo el pasado y el presente , utilizando para registrar el material una cámara filmadora analógica JVC , la misma que fue utilizada en mi infancia para grabar videos familiares ( que serán digitalizados y utilizados para dialogar con los registros del presente ).
Luego ese video será procesado con las herramientas vistas ( no está definido que técnica o proceso utilizaré para esta parte. Me interesan los procesos de pixel sorting , o de data bending , como así tantas otras ). Desde el punto de vista conceptual , por ahora la búsqueda sería en reflexionar sobre el paso del tiempo , del tiempo que se repite , de la identidad . Soy el mismo que fui alguna vez? Cuánto queda de ese niño hoy en mi? Cuànto queda vivo de esos lugares?
Son reales esos recuerdos?
También resuenan conceptos que leí sobre la estética Vaporwave , descrita como " la reminiscencia de un pasado que nunca viví o nunca existió , la sensación de ser un niño mirando adormilado por la ventana del auto , las luces de la ciudad que se escapan a la vista , o un viaje solitario por la noche en un colectivo vacío , con las luces de neón encandilandonos.
Cronograma de producción: La idea es tener el material registrado antes del 15/05 , para comenzar a trabajar en la composición , y probar técnicas para aplicarle.

Referencias: - Mann Ray – Le retour a la Raison (por la utilización de objetos relacionados a su historia, en el filme)
- Las ideas de found footage, resignificando grabaciones anteriores, o materiales de otros autores
- Rafael Lozano Hemmer – Level of Confidence: No creo que guarde relación con mi proyecto, pero sirve como inspiración por el grado de interactividad.
Link: https://www.lozano-hemmer.com/level_of_confidence.php#
:~:text=%22Level%20of%20Confidence%22
%20is%20an,after%20the%20kidnapping%20took%20place.



Evaluación de factibilidad: La cámara todavía no la tengo en mi poder , pero en los próximos días ya estará disponible. Luego , sólo debería mejorar y aprender algunas herramientas de procesamiento de imagen ( Processing por ej. ) que estoy aprendiendo a dominar todavía.

Colaboradores: No he definido como será la etapa de colaboración , o si será activa , o sólo de asesoramiento , ya que tengo varios compañeros con mucho dominio de Processing que podrían serme de utilidad , pero sólo como asesoramiento ya que requiero aprender las técnicas por mi cuenta.
Devolución Clase Teoria y Reflexion 03/05/21

- Armar cronograma con grilla , para estar atento a no atrasarme

- Encontrar un eje que construya el diálogo , o construirlo a través de la edición o montaje.

- Tener en cuenta que es material de video amateur

- Por qué utilizo una cámara filmadora? Qué le encuentro?
- Repensar tecnología y concepto de obsolescencia programada , el soporte de casette, cartuchos , o ese tipo de soporte físico que cada vez se pierde más en lo digital.
Viejos soportes que le daban valor al objeto , a la copia fisica , cuando hoy los datos son más efimeros.

- Tener en cuenta la voz en off

- Agustina Comedi - El silencio es un cuerpo que cae
Alejandro Restrepo - Videoarchivo
Ideas generadas por la Devolución Clase Datos 05/05/21

Idea para técnicas/procesos: Realizar un programa o algoritmo que reordene los videos con cierta autonomia , dados algunos criterios establecidos de antemano. Poner en juego la idea de la reinterpretación de los registros o el archivo según una inteligencia artificial . Ver qué cosas la máquina reconoce y que cosas quedan dentro de las sensibilidades humanas , y no logra captar.

- Generar un algoritmo para que produzca epígrafes o texto automático sobre las imágenes o videos que ve.
Así nuevamente poner en contexto las diferencias entre la interpretación humana y la maquínica de una inteligencia artificial.
Si es posible , entrenar el algoritmo con estilos de escritura particulares , para que el texto generado tenga esas características ( ejemplo: generar epígrafe con estilo linguistico de Cortazar)

Máquina como generadora de sentidos o significados
16/05/21

Investigar Obra Neural Talk (Kyle Mcdonald) , que utiliza algoritmos de image captioning para generar texto sobre las imágenes.
Algoritmo Show and Tell - Neural Image Caption Generator
tambien "Show , Attend and Tell
Estos algoritmos de generación de subtitulo o descripción de imagen son muy útiles como ayuda para las personas incapacitadas visualmente.

automatic image captioning

Modelo de Google para entrenar redes de image captioning
Inception v3 es una red neuronal convolucional para ayudar en el análisis de imágenes y la detección de objetos

Para comprender estos procesos , necesario investigar las CNN(Convolutional Neural Networks) , RNN(Recurrent Neural Networks) ,
NLPs(Natural Language Processing)


Posibilidad de utilizar los audios de los videos para generar texto con los diálogos. Esos diálogos , usarlos de entrenamiento para los estilos linguisticos del image captioning que se realice. En caso de no poder , buscar maneras de entrenar ese image captioning. Pensar la idea de poder entrenar un algoritmo con cartas de una persona que ya no está ,y generar texto con el estilo linguistico de esa persona , eternizandola en la maquina.


Por otro lado , pensar la problemática fundamental de describir el contenido de una imagen mediante una máquina , un proceso que conecta "computer vision" y "natural language processing" . Ya de por si es dificil que la maquina interprete correctamente lo que ve . Se le puede enseñar lo que no se ve?
Todos los vinculos emotivos que nos unen con una imagen, todo lo que nos dice ver una imagen familiar , como explicarselo a la máquina?

Bibliografia :
https://iq.opengenus.org/neural-image-caption-generator/

Paralelismo entre la cinta tratando de alinearse , y mi mente tratando de recordar esos momentos vividos



IBOLDI GONZALO
Legajo 37450
Laboratorio IV
Licenciatura en Artes Electrónicas

3ra Entrega Idea 17/05/2021

Hay algo particular que sucede con el material de archivo. No sé si es la nostalgia que trae, la añoranza de un tiempo pasado, la calidad de filmación, etc. Obviamente los lazos afectivos suelen tener gran importancia en este tema. Pero en mi caso particular, ver la infancia de una persona, ver el paso del tiempo, me hace llorar instantáneamente. Me conecta con alguna sensibilidad que me nubla los sentidos.
Reveer y revisar los videos familiares es una tarea dura sentimentalmente, pero rica en recuerdos, y digitalizarlos una tarea puramente técnica de conversión de formatos, códecs y resoluciones en pixeles. ¿Pero el algoritmo que hace las conversiones de analógico, a digital, que de alguna forma trae ese material al día de hoy, entiende algo de estas sensibilidades?
Un video mío, con 9 años jugando al básquet en el patio de mi casa. Con la ropa del club de mi barrio, dónde mi padre fue entrenador de básquet, dónde hoy mis dos hermanos son entrenadores. El patio de la casa de mi abuelo, dónde vivimos hace más de 40 años. El aro de básquet que colgó mi papá una tarde de verano esperando entretener a esos tres niños inquieto que eran sus hijos. ¿Cuántas de estas sensibilidades no ve la máquina?
¿Cuánto veo yo de esos detalles? ¿Son reales? ¿Cuánto queda vivo de ese niño, y de esos lugares hoy en mí?
¿Soy el mismo que fui alguna vez?


Los videos fueron filmados en una cámara filmadora analógica JVC, en formato VHS-c, un formato de cinta cada vez más olvidado en esta época digital, donde los formatos físicos pierden vigencia y las nubes de datos son lo que preponderan. Hoy, el torbellino de información hace que tengamos miles y miles de fotos y videos en nuestros dispositivos. Pero de alguna manera, los hace más efímeros y menos contundentes. A mi entender, los formatos físicos tenían la particularidad de existir materialmente. De estar en este mundo físico ocupando un lugar. Y de alguna forma, ese objeto pasa a tener valor. A tener su peso en el mundo. A anclar su valor a un objeto/amuleto específico. Cosa que con lo digital tiende a desaparecer.
La videocasetera por su parte, intenta alinear la cinta con los cabezales para lograr visibilizar la imagen sin corrimientos, muy similar a mi mente intentando recordar los detalles de cada uno de esos momentos vividos.
Por otro lado, para que una máquina logre describir el contenido de una imagen correctamente (olvidando por un momento los límites sensibles), es necesario investigar las áreas de NLP (Natural Language Processing), y de las redes neuronales entrenadas CNN (Convolutional Neural Network), y RNN (Recurrent Neural Network).
Este tipo de procesos se ha hecho muy popular en los últimos tiempos entre los ámbitos de Machine Learning y Deep Learning, en el área de clasificación de imágenes, subtítulos automáticos para las personas incapacitadas visualmente, generación de imágenes artificiales, como caras, paisajes, mapas, etc.
Y se programaron diversos algoritmos buscando hacer estas tareas más certeras y eficientes.
Usando algoritmos como “Show and Tell”, o “Show, Attend and Tell” denominados “Neural Image Caption Generator” se puede enseñarle al algoritmo a que nos diga “que ve”.
Y luego es necesario entrenarlos arduamente, con cantidades abrumadoras de material, para que el aprendizaje funcione.
En principio, la búsqueda de este trabajo es poner estos algoritmos en relieve, a trabajar describiendo mis imágenes familiares, y encontrar cuánto pueden ver ellos en esas imágenes, el algoritmo puede reconocer. ¿El algoritmo llora como uno al verlo?
Probablemente no, pero quizás pueda encontrar otro tipo de sentidos y significados, que mi mente humana no logre discernir.


Un ejemplo claro de este tipo de funcionamientos es el del trabajo de Kyle McDonald – Neural Talk and Walk ( https://vimeo.com/146492001 ) , donde utiliza un modelo pre-entrenado denominado “NeuralTalk2” , creado por Andrej Karpathy , y basado en un modelo anterior de Google , que utiliza redes neuronales CNN y RNN.
En este trabajo el algoritmo describe lo que ve casi automática e instantáneamente, como un niño excitado que no para de deslumbrarse ante el mundo.
En esta ocasión, trataré de ir un poco más allá e intentar de enseñarle detalles más propios de lo emotivo, de la sensibilidad. ¿Una pregunta que me surge es, se podría entrenar al algoritmo con un estilo lingüístico particular? Que describa con cierto estilo, como lo haría tal o cual persona. Y, por ejemplo, entrenar a un algoritmo con cartas y textos de una persona, para generar texto como si fuera esa persona ¿?
Entregas Proyecto Final
Ideas y devoluciones varias
Investigacion Tecnica - Redes Neuronales

Aprendizaje supervisado y. No supervisado

Supervisado: relacion entre variable de entrada y variable de salida.resultado para un determinado valor,mostrandole muchos ejemplos
Mediante observacion, generaliza el conocimiento.
Se llama supervisado porq al mostrarle los resltados que queremos, participamos en la supervision dem aprendizaje

No supervisado: produce conocimiento solo con los datos de entrada.Clusterizacion: agrupar sin ejemplos anteriores.
No necesita tantos datos de entrenamiento.
Para agrupar y dar valor con esto, se utilizan los espacios latentes, para generar distancias entre distintos conceptos.
Son sistemas de caja negra,no sabemos como lo hace, pero si q hace.
Investigacion Tecnica - Redes Neuronales

NLP(Natural Language Processing) , CNN ( Convolutional Neural Networks) , RNN ( Recurrent Neural Networks

NLP - CNN

Modelo preentrenado ,que sigue aprendiendo del entrenamiento de lenguaje, y aprendiendo a hacer otras tareas, reemplazando cada vez más a humanos

NLP:por un lado reglas gramaticales

Por otro lado machine learning q analiza grandes volumenes de textos que entrenan
Esto avanzo por las redes neuronales
Mquinas de analizar datos(numericos)Esos numeros son descriptores(features)
Sea texto sea imagen o sonido, se representa en codigo numerico
Se codifica en caracteres(di quieres inventar palabras), o en palabras ( si quieres generar texto realista)

Se asignan vectores a cada palabra y se mide distancia entre ellas. Cada palabra es una dimension del vector?
cada palabra tiene la misma distancia con el resto de palabras( en un principio nada mas), agrupando con descriptores similares, reduzco dimensionalidad
Osea , menos dimensiones(ej agrupar por edad y color), cuanto mas vaya reduciendo dimensionalidad, va a ir aprendiendo mas y teniendo relaciones entre conceptos, y decodificando los datos de entrada para llegar a una solucion( EMBEDDING)
Para esas relaciones, es necesario empezar desde una red pre entrenada, para poder transferirle aprendizaje a la red q voy a entrenar


CNN
Detectan patrones dentro de un input dado y relaciones.la CNN tiene capas ocultas llamadas convolucionales.lo q hacen es recibir input y transformarlo convolucionalmente.los patrones son detectados por distintos filtros q contienen las capas convolucionales(ej. Edge detector) .los valores del input son pasados por una matriz de valores dada(filtro)
Cuanto mas complejo el filtro, patrones más complejos serán lo q detecte
Cada input de imagen tendra valores para cada pixel( 3 por cada pixel, uno por cada color)
Convolutional layer:kernel, filtor o detector de features(descriptores), que transforma los valores dados, descubriendo datos importantes en los output. En una red convolucional, las primeras layers son mas simples, y desp se van complejizando y tomando descriptores mas complejos
Pooling: pooling max se usa,se reducen los datos, manteniendo la data importante.
Se repite la operacion con capas mas complejas , tomando resultado junto a nuevas capas, se llama abstraccion
Se vuelve a hacer pooling para reducir espacialmente. Y luego los clasificadores
(Fully conected layers) donde conjuntos de neuronas toman la data reducida y la clasifican

RNN: usada en speech recognition, language translarion,stock prediction,hasta image recognition
Modelan data secuencial,si grabas varias posiciones o estados, puede predecir proximos estados.
Audio texto o imagenes son data secuencial
Sequential memory: recordar orden de los datos.
Feed forward neural network usa info previa para el output. Hidden state: representation of previous states
Training
Prediction
Loss, grado de error o lo mal que este funcionando
Gradient (calculado por back propagation, son los pesos internos que hacen que funcione la red)
Cada nodo calcula su gradiente en comparacion a capas anteriores y posteriores

El gradiente se va achicando a medida q se va ajustando y requiere menos ajustes






Devoluciones Varias Semana 07/06/21
-Tener en cuenta el sonido de la pieza , si es que lo hay

-Construcción de memoria/recuerdos

- Pensar en el concepto d Machine Learning, y lo que implica

- Asumir que estoy destruyendo la nostalgia o emotividad del material a utilizar

- A dúnde quiero llegar con estos procesos? Que búsqueda tengo?

- Referencia SOFFJA

- Relación mía con el proceso

- Qué imágenes utilizo?

- Pensar la idea del formato final , relacionado a lo que trabajo

- Romper el imaginario de lo familiar

- La traducción es una traición
Nuevas Ideas Semana 11/06/2021

- Comencé utilizando el material ( videos familiares ) por su valor afectivo , pero me costaba mucho trabajar con eso, y no paraba de llorar literalmente. El reveer mi infancia me ponía en una situación muy frágil. Quizás de forma subconsciente , decidí alejarme un poco del material , y comenzar a trabajar con procesos de inteligencia artificial que se alejaban de los lazos afectivos con el material , y destruían esa singularidad del material . Tambien buscaba no caer en lo nostálgico , que es lo más simple.
El modelo de inteligencia artificial está generalizando lo que para mi era un momento único , al generar nuevas imágenes ,basadas en su preentrenamiento de miles de imágenes y captions genéricos.

IBOLDI GONZALO
Legajo 37450
Laboratorio IV
Licenciatura en Artes Electrónicas

4ta Entrega Idea 31/05/2021
Introducción
Una inteligencia artificial es alimentada con antiguos videos familiares

Concepto

Hay algo particular que sucede con el material de archivo. No sé si es la nostalgia que trae, la añoranza de un tiempo pasado, la calidad de filmación, etc. Obviamente los lazos afectivos suelen tener gran importancia en este tema. Pero en mi caso particular, ver la infancia de una persona, ver el paso del tiempo, me hace llorar instantáneamente. Me conecta con alguna sensibilidad que me nubla los sentidos.
Reveer y revisar los videos familiares es una tarea dura sentimentalmente, pero rica en recuerdos, y digitalizarlos una tarea puramente técnica de conversión de formatos, códecs y resoluciones en píxeles. Pero el algoritmo que hace las conversiones de analógico, a digital, que de alguna forma trae ese material al día de hoy, ¿entiende algo de estas sensibilidades?
Un video mío, con 9 años jugando al básquet en el patio de mi casa. Con la ropa del club de mi barrio, donde mi padre fue entrenador de básquet, donde hoy mis dos hermanos son entrenadores. El patio de la casa de mi abuelo, donde vivimos hace más de 40 años. El aro de básquet que colgó mi papá una tarde de verano esperando entretener a esos tres niños inquietos. ¿Cuántos de estos detalles no ve la máquina?
¿Cuánto veo yo de esos detalles? ¿Son reales? ¿Cuánto queda vivo de ese niño, y de esos lugares hoy en mí?
¿Soy el mismo que fui alguna vez?

Investigación técnica

Los videos fueron filmados entre el año 1999 y 2001 con una cámara filmadora analógica JVC , en formato VHS-c, un formato de cinta cada vez más olvidado en esta época digital, donde los formatos físicos pierden vigencia y las nubes de datos son lo que preponderan. Hoy, el torbellino de información hace que tengamos miles y miles de fotos y videos en nuestros dispositivos. Pero de alguna manera, los hace más efímeros y menos contundentes. A mi entender, los formatos físicos tenían la particularidad de existir materialmente. De estar en este mundo físico ocupando un lugar. Y de alguna forma, ese objeto pasa a tener valor. A tener su peso en el mundo. A anclar su valor a un objeto/amuleto específico. Cosa que con lo digital tiende a desaparecer.
La videocasetera por su parte, intenta alinear la cinta con los cabezales para lograr visibilizar la imagen sin corrimientos, muy similar a mi mente intentando recordar los detalles de cada uno de esos momentos vividos.
Por otro lado, para que una máquina logre describir el contenido de una imagen correctamente (olvidando por un momento los límites sensibles), es necesario investigar las áreas de NLP (Natural Language Processing), y de las redes neuronales entrenadas CNN (Convolutional Neural Network), y RNN (Recurrent Neural Network).
Este tipo de procesos se ha hecho muy popular en los últimos tiempos entre los ámbitos de Machine Learning y Deep Learning, en el área de clasificación de imágenes, subtítulos automáticos para las personas incapacitadas visualmente, generación de imágenes artificiales, como caras, paisajes, mapas, etc.
Y se programaron diversos algoritmos buscando hacer estas tareas más certeras y eficientes.
Usando algoritmos como “Show and Tell”, o “Show, Attend and Tell” denominados “Neural Image Caption Generator” se puede enseñarle al algoritmo a que nos diga “que ve”.
Y luego es necesario entrenarlos arduamente, con cantidades abrumadoras de material, para que el aprendizaje funcione.
Procedimientos




Un monitor, una fotografía de una ventana abierta
Un hombre con su barba, está parado cerca de un árbol de navidad
Un oso de peluche en un tubo enfrente de un espejo


Para realizar el procesamiento, se utilizó un notebook de Image Captioning(Generación de subtítulos o epígrafes a imágenes) de Tensorflow , basado en el algoritmo “Show, Attend and Tell” . Este algoritmo recibe como input frames de videos familiares digitalizados , y como output entrega captions, epígrafes , o frases sobre lo que veía en “pantalla”.Para lograr ejecutar estas acciones, el algoritmo recibió un dataset de entrenamiento de 82000 imágenes y sus respectivos captions, información que utiliza para ver descriptores (información relacionada a esas imágenes) y hacer relaciones entre las mismas, convirtiéndolas en vectores y trazando distancias entre las mismas, correspondientes a esos descriptores, utilizando redes neuronales convolucionales, recurrentes, encoders y decoders.
Los “captions” generados por la red neuronal de Image Captioning , serán utilizados como input en otra red neuronal generativa , que recibe texto y en base a ello , con un entrenamiento predeterminado , genera imágenes como output , imaginadas y creadas por la inteligencia artificial. Esto se hará utilizando un notebook creado por Katherine Crowson , que utiliza las redes neuronales VQGAN y CLIP en conjunto.
El modo de presentación , en principio , será un video monocanal, donde dialoguen los videos originales , los videos creados con esas imágenes generadas artificialmente y los captions respectivos.

En principio, la búsqueda de este trabajo es poner estos algoritmos en relieve, a trabajar describiendo mis imágenes familiares, y encontrar que ven ellos en esas imágenes, o que puede reconocer la inteligencia maquínica , y luego reimaginarlos, en nuevas imágenes. Una suerte de creación de recuerdos artificiales ,en base a lo observado en las imágenes de input.
Quizás pueda encontrar otro tipo de sentidos , significados o conclusiones a las que mi mente humana no logre arribar.

Conclusiones tempranas: Comencé este trabajo pensando en la idea de si la inteligencia artificial o maquínica podía ver lo mismo que yo veo en una imagen , con la carga emocional/cultural que eso implica , y en la eficacia que podía tener en reflejar la realidad esa máquina. Pero en el transcurso del trabajo me llevo a pensar que quizás no era tan interesante que la máquina viera lo mismo que yo, sino preguntarle a la máquina que ve . Buscar superar la realidad , no reflejarla fielmente. Dejar que la red neuronal genere nuevos significados y sus propias ideas de alguna forma , en vez de intentar imitar ideas y razonamientos humanos.Ahí está la verdadera riqueza

Colaboraciones: El trabajo recibió colaboraciones de manera informal desde Roy Eden , que me facilitó dos collab en torno a redes neuronales, uno denominado Deep Daze ,y otro llamado “ VQGAN – CLIP” , y uno de ellos será utilizado para la generación de nuevas imágenes. Tambièn Julian Nabih Schamun me ayudó con algunos consejos en la etapa de digitalización de videos y de consultas técnicas( también le consulté a Javier Plano) , y se ofreció a prestarme equipamientos , que finalmente no fueron requeridos.
Por mi parte, le facilité videos de mi autoría a Agustin Leguiza que los precisaba , y algunos escaneos de pantallas de celulares para Mariano Ferreras.También le envíe a Roy algunas piezas sonoras para ver si le servían para su trabajo , y le compartí algunos links de procesos de audio simples que quizás lo ayudaban con esa área.


Documentación
Ejemplos de imágenes , y respectivos captions en formato txt :
Notebooks a utilizar: VQGAN + CLIP https://colab.research.google.com/drive/1go6YwMFe5MX6XM9tv-cnQiSTU50N9EeT
Image Captioning : https://colab.research.google.com/drive/1wqXh1IVctnY7FQmeEisciRTDrNWo24EG?authuser=1




Referencias - Bibliografia :

Show, Attend and Tell: Neural Image Caption Generation with Visual Attention : https://arxiv.org/pdf/1502.03044.pdf
Collab Utilizado : https://www.tensorflow.org/tutorials/text/image_captioning
Algoritmo Show and Tell – Artículo explicativo por “Vynials”: https://iq.opengenus.org/neural-image-caption-generator/
-Articulo de GoogleAI sobre Show and Tell: https://ai.googleblog.com/2016/09/show-and-tell-image-captioning-open.html
Show , Attend and Tell – Articulo explicativo por “Koustubh”: https://cv-tricks.com/artificial-intelligence/show-attend-tell-image-captioning-explained/
Introduccion a redes neuronales convolucionales - Laurence Moroney (Tensorflow) : https://www.youtube.com/watch?v=x_VrgWTKkiM
Redes neuronales convolucionales explicadas – por “Futurology — An Optimistic Future” : https://www.youtube.com/watch?v=pj9-rr1wDhM&t=38s
Serie Natural Language Processing por “DotCSV” : https://www.youtube.com/watch?v=cTQiN9dewIg
https://www.youtube.com/watch?v=Tg1MjMIVArc
https://www.youtube.com/watch?v=RkYuH_K7Fx4

Obras Referenciales/Inspiradoras

Autoencoding Blade Runner – Terrence Broad(2016): https://medium.com/@terencebroad/autoencoding-blade-runner-88941213abbe
Machinae Memoriae – Vincenzo Marchese Ragona(2020) : https://www.vmragona.com/projects/machinae-memoriae
Learning to See series – Memo Akten(2017) : http://www.memo.tv/works/learning-to-see/
Kyle McDonald – Neural Talk and Walk ( https://vimeo.com/146492001 )

IBOLDI GONZALO
Legajo 37450
Laboratorio IV
Licenciatura en Artes Electrónicas

5ta Entrega Idea 13/06/2021


Recuerdos Artificiales (Artificial Memories)


Introducción

Encuentro algo particular en revisar fotografías y videos de mi infancia. No sé si es nostalgia que me absorbe, la añoranza de otras épocas, o el simple paso del tiempo, pero revisar estos materiales me asegura horas de llanto. Obviamente que los lazos afectivos y familiares tienen importancia en esto, pero revisar este material es una tarea dura a nivel psicológico. Por su valor emotivo, y por todos los recuerdos y sentimientos que evocaba, decidí trabajar con este material. Pero se me hacía difícil soportar noches y noches de llanto sostenido digitalizando fotografías y videos, por lo que necesitaba buscar otro enfoque. Y quizás dejar de lado el cliché de la nostalgia. Casi subconscientemente, comencé a llevar este trabajo hacia un área menos sensible(al menos para mí), a pensar en la interpretación maquínica de estas imágenes sensibles. Y en transformar esas imágenes mediante la inteligencia artificial, para despojarlas de la atadura sentimental que las unía a mí. Los modelos de inteligencia artificial trabajan comprimiendo grandes cantidades de información, y obteniendo patrones y descriptores sobre los mismos, para adquirir conocimiento. La máquina desconoce los detalles sensibles del material, pero podrá reconocer patrones en base a su conocimiento adquirido (su pre entrenamiento), y generará descripciones del material observado, y luego nuevas imágenes. De esta forma, convierte mis fotografías familiares, un pedazo tangible de mis recuerdos y momentos únicos, en simples datos estadísticos para el reconocimiento de patrones, que luego generarán imágenes y descripciones genéricas y estandarizadas.
Una imagen particular de mi imaginario emotivo, convertida en una imagen artificial “genérica”.

Investigación técnica

Para poder realizar estos procesos, fue necesaria una investigación exhaustiva sobre los procesos de redes neuronales. Y al no ser experto en la materia, fue una ardua tarea.
Para que una inteligencia maquínica logre describir el contenido de una imagen, se involucran las áreas de Natural Language Processing(NLP) , Computer Vision o Visión Computarizada , las redes neuronales entrenadas CNN ( Convolutional Neural Networks) y RNN(Recurrent Neural Networks) , los espacios latentes, la reducción de dimensionalidad,etc.
Este tipo de procesos se ha hecho muy popular en el ámbito del Machine Learning y el Deep Learning para la clasificación de imágenes , generación de subtítulos automáticos para las personas con discapacidad visual , y generación de imágenes artificiales con transferencias de estilos , como mapas , paisajes , caras , etc.
Para reconocer cada término/cosa u objeto, los modelos de inteligencia artificial asignan vectores a cada término, generando distancias entre los mismos, y ubicaciones en espacios multidimensionales (otorgando una dimensión a cada término). A medida que palabras o términos estén más cerca entre sí, generará relaciones entre ellos, y así irá generando conocimiento, y expresándolo en descriptores o datos numéricos sobre los mismos.
Los datos de entrada que reciba pueden ser texto, imagen o sonido, y siempre serán convertidos a caracteres numéricos que representan información sobre esos datos de entrada.
Por eso se dice que estos algoritmos son grandes compresores y analizadores de información, que generan conocimiento sobre ésta.
Las redes neuronales convolucionales, detectan patrones sobre los datos de entrada, al pasarlos por una matriz numérica dada. Que haciendo operaciones sobre estos valores recibidos, determina información importante de esos datos de entrada, como bordes o fondos en el caso de una imagen. O en el caso de un texto, relaciones entre distintas palabras.
Por otro lado, también hay que tener en cuenta lo que se pone en juego en la traducción. Ya sea de un idioma a otro, o del campo del lenguaje al visual o sonoro, se cometerán pequeñas traiciones. Ya que siempre habrá un grado de interpretación o distorsión del mensaje inicial. No existe la literalidad. Ya sea por motivos políticos, religiosos, o de censura, siempre hay modificaciones en el mensaje. Un ejemplo es el de las “bellas infieles”, textos en Francia que eran modificados intencionalmente, para embellecer, acotar, o alargar las obras.
Umberto Eco, en su libro “Decir casi lo mismo”, reflexiona sobre la traición en la traducción, argumentando que a veces en distintos idiomas, no existen los mismos términos, por lo que se utilizan conjuntos lexicales o verbales para transmitir el mismo mensaje, pero siempre se perderá la esencia original. También habla de las transmutaciones de lenguajes (de texto a visual), y cita el ejemplo de una escena de “El último sello” de Ingmar Bergman, en la que representa a la muerte como un hombre, cuando si hubiera traducido a texto, se hubiera referido como “la muerte”, argumentando que siempre habrá manipulación en el mensaje al cambiar de lenguaje.
En el caso de esta obra, la primera traición se da en la transmutación de imagen-texto, realizada por la inteligencia maquínica. En segundo lugar, los epígrafes generados fueron traducidos de forma manual. Y en tercer lugar, se transmuta de imagen inicial, y texto artificial, a una nueva imagen artificial generada, en la tercera traición y reformulación del mensaje original.


Procedimientos

Imágenes genéricas, y sus epígrafes automáticos

Un perro parado en el pasto con un frisbee Un vaso de vino sentado sobre una mesa Un hombre juega tennis en una cancha de tenis


Para realizar el procesamiento, se utilizó un notebook de Image Captioning (Generación de subtítulos o epígrafes a imágenes) de Tensorflow, basado en el algoritmo “Show, Attend and Tell”, para la generación de epígrafes. Este algoritmo recibe como datos de entrada una selección de fotografías familiares escaneadas , y como dato de salida otorga captions, epígrafes , o frases sobre lo que observa .Para lograr ejecutar estas acciones, el algoritmo recibió un dataset de entrenamiento(denominado MS-COCO) del cual se tomaron 82000 imágenes genéricas obtenidas de Internet y sus respectivos captions, información que se utiliza para ver descriptores (información relacionada a esas imágenes) y hacer relaciones entre las mismas, y sus epígrafes.


Fotografías iniciales y epígrafes generados

Un hombre y una mujer sentados en la playa Un hombre joven al lado de otro Un hombre montado en una tabla de snowboard


Luego, los epígrafes generados, junto con las fotografías iniciales, son utilizados como datos de entrada en otro modelo de inteligencia maquínica, que utiliza las arquitecturas VQGAN+CLIP, para la generación de nuevas imágenes. Este modelo utiliza redes convolucionales junto con transformers , una mejora en el campo del NLP utilizado para relacionar secuencias de datos , y en este caso , secuencias de pixeles para generar nuevas imágenes , artificiales. Para esto se utiliza un notebook de python, montado en Google Colab, creado por Katherine Crowson, que aplica estos modelos de A.I.
Finalmente, las nuevas imágenes obtenidas serán impresas para formar parte de un álbum de fotos físico, compilando esta suerte de “recuerdos artificiales” generados por la inteligencia maquínica.


Fotografías artificiales generados (con sus respectivos epígrafes)

Un hombre y una mujer sentados en la playa Un hombre y una mujer juegan frisbee Un hombre montado en una tabla de snowboard



Reflexión Final:
Al comenzar la obra, manejaba una idea muy inmaculada de la inteligencia artificial. Pero luego de trabajar con ella e investigar bastante, encuentro que todavía es imperfecta. Se pueden obtener resultados certeros, eficaces, o buscados. Pero siempre van a depender, y estar atados, a los datos de entrenamiento recibidos. Por lo que siempre reflejará la info con la que fue entrenado, sin generar información nueva. Y esos datos de entrenamiento son manipulados y preparados por seres humanos, reproduciendo distorsiones en la visión del mundo generadas, o al menos opiniones subjetivas. No hay acciones imparciales y asignar un nombre o una categoría a una imagen no es imparcial, y es clave en el resultado de esa cognición maquínica. La A.I conlleva los límites de los sesgos humanos, y estos algoritmos que comprimen grandes cantidades de información, están generalizando la diversidad cultural, y produciendo discriminación a la vez. Al igual que referirse a todos los argentinos como “europeos”, elimina todo tipo de disidencias e identidades diferentes.
Es clave entender que no hay independencia en los algoritmos de inteligencia artificial, y que suelen reproducir los defectos con los que fueron entrenados.


Referencias

La obra/investigación “Neural Talk and Walk” de Kyle Mcdonald fue el puntapié inicial para comenzar a pensar a la inteligencia maquínica describiendo (con captions o subtítulos) las imágenes que procesa o ve. La idea de la interpretación de la máquina siempre estará ligada a su entrenamiento, y lo amplio que sea. En esta obra hacía un trabajo muy eficaz en la descripción explícita, pero con frases genéricas o poco creativas.
Otra inspiración importante para los procedimientos de este trabajo , fue la serie “ Learning to See “ de Memo Akten , en la que utiliza algoritmos de inteligencia artificial , específicamente redes adversarias generativas(GAN) , para generar imágenes de paisajes y texturas ricas , tomando como input videos de objetos cotidianos , como toallas , enchufes ,etc. . Las atractivas tramas, y las imágenes surreales obtenidas fueron clave en la elección de utilizar GAN para generar nuevas imágenes artificiales en esta obra.
A su vez, en la obra “Machinae Memoriae” de Vincenzo Marchese Ragona encuentro bastantes paralelismos en la utilización de material familiar o emotivo, para generar nuevas imágenes.

Colaboraciones:

Colaboraciones recibidas:

- Roy Eden me facilitó dos notebook (Google Colab) de distintas arquitecturas para generación de texto a imagen (uno modificado por él), que utilizan los modelos de Deep Daze, y VQGAN+CLIP respectivamente.
- Julián Nabih Schamun me ayudó con algunos consejos en la etapa de digitalización de videos y de consultas técnicas (también le consulté a Javier Plano), y se ofreció a prestarme equipamientos, que finalmente no fueron requeridos.

Colaboraciones hechas:

-Agustín Leguiza solicitó videos filmados por nosotros en las inmediaciones de su casa. Le facilité dos, de los cuales creó que utilizó uno finalmente.
-Joaquín Tombesi solicitó que generara captions sobre una de las imágenes que él utilizó para su trabajo.
- Mariano Ferreras necesitaba scans de pantallas rotas de celulares, de las cuales pude enviarle dos.
-Roy comentó que estaba pensando agregar audio a su trabajo, y le envíe dos piezas sonoras creadas por mí, y algunos tutoriales para creaciones simples e interesantes. Entiendo que no fueron utilizadas.


Documentación
• Ejemplos de imágenes , y respectivos captions , pruebas y demás:
• https://drive.google.com/drive/folders/110eZCKQQB0mq1cNPCnWSA41fMoj5qbra
• Notebooks a utilizar: VQGAN + CLIP https://colab.research.google.com/drive/1go6YwMFe5MX6XM9tv-cnQiSTU50N9EeT
• Image Captioning : https://colab.research.google.com/drive/1wqXh1IVctnY7FQmeEisciRTDrNWo24EG?authuser=1


Bibliografía

• Show, Attend and Tell: Neural Image Caption Generation with Visual Attention : https://arxiv.org/pdf/1502.03044.pdf
• Collab Utilizado : https://www.tensorflow.org/tutorials/text/image_captioning
• Algoritmo Show and Tell – Artículo explicativo por “Vynials”: https://iq.opengenus.org/neural-image-caption-generator/
• -Articulo de GoogleAI sobre algoritmo Show and Tell: https://ai.googleblog.com/2016/09/show-and-tell-image-captioning-open.html
• Show , Attend and Tell – Articulo explicativo por “Koustubh”: https://cv-tricks.com/artificial-intelligence/show-attend-tell-image-captioning-explained/
• Introducción a redes neuronales convolucionales - Laurence Moroney (Tensorflow) : https://www.youtube.com/watch?v=x_VrgWTKkiM
• Redes neuronales convolucionales explicadas – por “Futurology — An Optimistic Future” : https://www.youtube.com/watch?v=pj9-rr1wDhM&t=38s
• Serie Natural Language Processing por “DotCSV” :
https://www.youtube.com/watch?v=cTQiN9dewIg
https://www.youtube.com/watch?v=Tg1MjMIVArc
https://www.youtube.com/watch?v=RkYuH_K7Fx4
• Decir casi lo mismo , Umberto Eco :
https://campusacademica.rec.uba.ar/pluginfile.php?file=%2F613293%2Fmod_resource%2Fcontent%2F0%2FDecir%20casi%20lo%20mismo%20-%20Umberto%20Eco.pdf
• El concepto de Traductor, traidor:
https://www.lematraductores.com/blog/traductor-traidor/
• El Nooscopio de manifiesto :
https://lafuga.cl/el-nooscopio-de-manifiesto/1053
• Autoencoding Blade Runner – Terrence Broad(2016): https://medium.com/@terencebroad/autoencoding-blade-runner-88941213abbe
• Machinae Memoriae – Vincenzo Marchese Ragona(2020) : https://www.vmragona.com/projects/machinae-memoriae
• Learning to See series – Memo Akten(2017) : http://www.memo.tv/works/learning-to-see/
Kyle McDonald – Neural Talk and Walk (https://vimeo.com/146492001 )


Entrega final de la Obra
"Recuerdos Artificiales"
Volver al menu principal
En el final de la página se encuentran las devoluciones varias recibidas durante la cursada e ideas que fueron surgiendo en el transcurso del proyecto