Desenvolvimento


 

A obra DEEP ALICE traz como desafio técnico a geração em tempo real de imagens por Inteligência Artificial a partir de imagens produzidas pelos interatores durante a Exposição/Festival. Além das imagens que servem como input inicial, também temos prompts que são gerados automaticamente, de maneira coordenada com as imagens, a partir dos livros "Alice no País das Maravilhas" e "Alice Através do Espelho" de Lewis Carrol. Esse fluxo de processamento de informação que passa pela composição em tempo real das imagens selecionadas pelos interatores e pela geração automática de prompts mobiliza uma orquestração de diversos programas/plataformas de programação. Como cérebro que controla todo o andamento da interação, além da captura das imagens de vídeo, temos um software programado em MAX/MSP. Esse software (uma coleção de módulos com diversas funções – ver tabela abaixo) produz e envia os prompts gerados automaticamente, além de transmitir a imagem capturada para outra plataforma de programação chamada Touch Designer (TD) que serve, nesse caso, como interface para o StreamDiffusion (ST), responsável pela geração de imagens por IA. O software programado em MAX/MSP controla a variação de parâmetros da geração de imagens de IA ao enviá-los para o TD. O TD, por sua vez, encaminha esses parâmetros para o StreamDiffusion. Nos bastidores, os 2 softwares (MAX/MSP e TD) também trocam as imagens geradas por IA: elas são geradas no TD e enviadas para o MAX/MSP para que nele seja realizada uma “pós-produção” em tempo real (ajustes na imagem, fusões entre imagens, sobreposição de texto/prompts). Além do processamento das imagens, o software MAX/MSP se comunica com 2 aplicativos programados em Python que, por sua vez, se comunicam com a Plataforma OpenAI. Um deles traduz os prompts produzidos pelo MAX/MSP do inglês para o português a cada geração de prompt e o outro promove a inversão dos caracteres dos prompts na fase mais profunda do “sonho”. Cabe ressaltar que os programas escritos em Python foram programados com a assistência de IA (ChatGPT).


  Módulo MAX/MSP "DeepAlice CAPTURA"  (captura imagens das câmeras e envia para o Touch Designer)



Módulo MAX/MSP "DeepAlice PROMP2" : gera prompts em tempo real a partir de fragmentos dos textos e envia para o Touch Designer.



Módulo Touch Designer: recebe as imagens de vídeo do MAX/MSP e as processa a partir dos prompts do módulo "Deep Alice PROMP2" 


 

Módulo MAX/MSP "DeepAlice MAESTRO": realiza todo o controle das dinâmicas da interação e variação de estados da obra. Envia e recebe parâmteros dos outros módulos a partir do protocolo OSC.



Tabela de Estados da Interação:


Estados

Ação do usuário

Softwares/operação

Resultado/imagem

1 - Inicial

Recortes disponíveis fora do campo da CAM1. Superfície verde da mesa 1 no campo de visão da da câmera 1.

O módulo "DeepAlice CAPTURA" do MAX/MSP captura de CAM1; transmite imagem ajustada para Touch Designer (via servidor SPOUT); Touch Designer realiza Chroma Key da cor verde

Resultado do Chroma Key nas 2 telas

2 - Composição inicial

O interator seleciona recortes dos personagens e recortes de papel verde e vermelho. Montagem de uma composição com esses recortes no campo da CAM1

O módulo "DeepAlice CAPTURA" do MAX/MSP captura de CAM1; transmite imagem ajustada para Touch Designer (via servidor SPOUT); Touch Designer realiza Chroma Key da cor verde

Resultado do Chroma Key nas 2 telas

3 - Movimento da Espiral (durante X segundos)

O próprio interator inicial ou algum outro se posiciona na mesa 2 e gira a espiral sobre a mesa 2

1- O módulo "DeepAlice CAPTURA" do MAX/MSP captura a imagem da CAM2 (sobre a mesa 2) e produz uma transparência gradativa ao identificar o movimento da espiral (via Algorítmo de Computação Visual)

2- o módulo "DeepAlice PROMP1" do MAX/MSP gera randomicamente uma sequência formada por 3 personagens dos 2 livros)

3- Touch Designer inicia a produção da imagem generativa a partir do input da CAM1 e do Prompt gerado pelo MAX/MSP (tanto os prompts quantos os parâmetros trafegam entre MAX/MSP e TouchDesigner a partir do protocolo de rede OSC). O Touch Designer se comunica com o StreamDiffusion (uma variação do Stable Diffusion), enviando os parâmetros e prompts recebidos do MAX/MSP para que o SD gere o stream de vídeo. Depois de gerar a imagem, esta é enviada para o módulo "VIDEO MIXER" do MAX/MSP para a construção da imagem final, acompanhada por legendas (prompts)

4- o módulo "DeepAlice PROMPT1" do MAX/MSP envia para ChatGPT (via código em Python qie se comunica com a API da OpenAI através de OSC) um pedido para tradução do inglês para português do prompt gerado.

A imagem gerada pelo Touch Designer (a partir do StreamDiffusion é exibida na tela 2 após a dissipação da imagem da mesa 1.

As imagens geradas sofrem contínuas transformações alimentadas pelas variações das imagens no vídeo da mesa 1 e da contínua variação de parâmetros e pesos da síntese de imagem por IA.

Legenda: na tela 1 a legenda aparece espelhada. Na tela 2, quando a imagem de IA é revelada, esta também aparece.

4 - Movimento da Espiral (durante X segundos)

-----

Alteração do estado anterior: o prompt passa a ser gerado pelo módulo "DeepAlice PROMPT2". Quatro segmentos dos textos dos 2 livros são aleatoriamente selecionados e reagrupados, formando uma nova sentença.

Imagem: Gerada a partir de prompts mais complexos e sem sentido claro.

Legenda: mesmo comportamento do estado anterior

5 - Movimento da Espiral (durante X segundos)

- - - -

O módulo "DeepAlice PROMPT2" gera uma nova sentença sem sentido. O módulo envia para ChatGPT (via código em Python qie se comunica com a API da OpenAI através de OSC) um pedido para inversão das letras da sentença gerada, além da inversão do início/fim da sentença.

Imagem: Gerada a partir de prompts mais complexos e incompreensíveis para a máquina.

Legenda: mesmo comportamento do estado anterior (apresentando o inverso do inverso na TELA 1 e o inverso da sentença na tela 2)

6 - Parada da Espiral

Interator para de girar a espiral

O módulo "Deep Alice VIDEO MIXER" dissipa gradualmente a imagem gerada pelo TD/SD, revelando novamente a imagem original gerada na mesa 1

Resultado do Chroma Key da mesa 1volta a ser apresentado nas 2 telas

Nenhum comentário:

Postar um comentário