O futuro da fotografia

AI: O futuro da fotografia?

Introdução
Ao ouvir as palavras “IA”, “Aprendizado de Máquina” ou “bot”, a maioria das pessoas tende a visualizar um robô andante que fala algo parecido com um filme de ficção científica e imediatamente assume um tempo distante no futuro.

Desculpe pessoal! A IA existe há anos e atualmente está residindo em seu smartphone (adoramos o Siri / Google Assistant!), O sistema de GPS do seu carro e até mesmo pensando em qual artigo ele recomendará para você assim que terminar de ler isso. No entanto, nenhum domínio foi mais afetado por ele nos últimos anos do que o da visão computacional.

Com o advento da tecnologia, está se tornando cada vez mais comum ver imagens visualmente atraentes com resolução ultra-alta. As pessoas não precisam mais aprender usando ferramentas como o Photoshop e o CorelDRAW para aprimorar e alterar suas imagens. A IA já está sendo usada em todos os aspectos do aumento e manipulação de imagens para produzir as melhores imagens possíveis. No entanto, a ideia mais recente a surgir é na verdade usar AI para gerar imagens, sinteticamente.

Quase todas as imagens que você possa ter visto seriam uma fotografia capturada ou criadas manualmente por uma pessoa viva que respira. Existem, possivelmente, centenas de ferramentas para produzir imagens manualmente, mas elas exigem uma presença humana para presidir o processo. Entretanto, imagine um programa de computador que desenhe do zero qualquer coisa que você disser. O Drawing Bot da Microsoft pode ser uma das primeiras e únicas tecnologias que tornam isso possível. Imagine um momento no futuro próximo, quando você pode simplesmente baixar um aplicativo em seu smartphone e dar-lhe algumas instruções, como “Eu quero uma imagem de mim ao lado da Torre Eiffel. ”(Certifique-se de dizer corretamente, no entanto).

Redes Geradoras Adversariais (GANs)
“As GANs são a ideia mais interessante nos últimos 10 anos no ML”
– Yann LeCun
A base que faz tal geração de imagem sintética está nas Redes Adversariais Generativas. Desde sua descoberta e lançamento em 2014 por Ian Goodfellow e seus colegas em seu trabalho de pesquisa, as GANs permaneceram como um dos aspectos mais fascinantes e amplamente utilizados do Deep Learning. As intermináveis ​​aplicações desta tecnologia, que é o coração de algo chamado treinamento adversarial, engloba os domínios não apenas da visão computacional, mas também da análise de dados, robótica e modelagem preditiva.

Então, qual é o grande negócio sobre as GANs?

As Redes Geradoras Adversariais pertencem ao conjunto de modelos gerativos. Isso significa que o trabalho deles é criar ou “gerar” novos dados em um procedimento completamente automatizado.

Como o nome sugere, uma GAN é na verdade composta de duas redes neurais individuais que competem umas com as outras (de uma maneira contraditória). Uma rede neural, chamada de gerador, gera novas instâncias de dados que cria a partir de ruído aleatório, enquanto a outra, o discriminador, avalia sua autenticidade. Em outras palavras, o discriminador decide se cada instância de dados revisada pertence ao conjunto de dados de treinamento real ou não.

Um exemplo simples
Digamos que você tenha sido encarregado de fazer uma pintura idêntica a uma feita por um artista muito famoso. Infelizmente, você não sabe quem é esse artista ou viu uma de suas pinturas. Sua tarefa é forjar uma pintura e apresentá-la em um leilão como um dos originais. Então, você decide experimentá-lo. Tudo o que você vai precisar é de algumas tintas e uma tela, certo? No entanto, os leiloeiros não querem que as pessoas vendam algumas coisas aleatórias e querem apenas artigos genuínos, então eles contrataram um detetive que primeiro verificará todos os itens apresentados no leilão. Por sorte, o detetive tem suas próprias amostras das pinturas originais do famoso artista e quando você apresenta sua pintura aleatória, ele sabe imediatamente que isso não é nada como os originais.

Ele rejeita e você decide tentar novamente. Mas desta vez, você tem algumas dicas úteis, que o detetive deixou escapar quando ele avaliou sua tela, sobre o que a pintura deve realmente parecer.

Agora, quando você tentar a sua sorte novamente, a pintura deve ser um pouco melhor. Mas o detetive ainda não está convencido e te rejeita novamente. Então você continua tentando de novo e de novo, toda vez usando alguma forma de feedback para alterar a pintura e fica cada vez melhor (vamos presumir que o detetive está bem com você retornando intermináveis ​​vezes.) No final, depois de um mais ou menos mil tentativas, você finalmente consegue criar algo próximo a uma réplica perfeita. Como o detetive olha para suas pinturas de amostra, ele não tem certeza se o que você entregou a ele pode ser um deles ou mesmo algo mais que tem o mesmo estilo e traços do famoso artista.

Qual é o processo passo a passo de um GAN em funcionamento?
Aplicando o mesmo processo de pensamento a uma combinação de redes neurais, o treinamento de GANs consiste nas seguintes etapas:

· Eles não introduzem nenhum viés determinista. Certos métodos generativos, como os AutoEncoders Variacionais, introduzem um viés determinístico porque otimizam um limite inferior na probabilidade de log, em vez da própria probabilidade. Isso parece resultar em VAEs aprendendo a gerar amostras borradas em comparação com as GANs.

Da mesma forma, existem também as seguintes desvantagens:

· GANs são particularmente difíceis de treinar. A função que essas redes tentam otimizar é uma função de perda que essencialmente não tem forma fechada (ao contrário das funções de perda padrão, como log-loss ou squared error). Assim, otimizar essa função de perda é muito difícil e requer muita tentativa e erro em relação à estrutura da rede e ao protocolo de treinamento.

· Especificamente para a geração de imagens, não há medida adequada para avaliar a precisão. Como uma imagem sintética parece passável para o próprio computador, o resultado real é um tópico muito subjetivo e dependeria de um observador humano. Em vez disso, temos funções como o Inception Score e o Frechet Inception Distance para medir seu desempenho.

Aplicações de GANs
Aqui vem a parte divertida. Uma lista de todas as coisas incríveis que podemos fazer usando GANs. Entre todos os seus usos potenciais, as GANs encontraram um grande número de aplicações no campo da visão computacional.

Conversão de texto em imagem
Existem várias implementações para esse conceito, como o TAC-GAN – Rede Adversarial Generativa Auxiliar Classificadora de Textos. Eles são usados ​​para sintetizar imagens de suas descrições de texto.

As GANs encontraram uma grande popularidade em conceitos como transferência de estilo. Assista ao vídeo abaixo:

Inclui tradução de imagem para imagem usando um tipo especial de GAN chamado CGAN (Condicional Generative Adversarial Networks). A pintura e o conceito de design nunca foram tão fáceis assim. No entanto, embora GANs possam concluir fazendo desenhos simples como essa bolsa em seu esboço, desenhar coisas mais complexas como rostos humanos perfeitos atualmente não é um ponto forte da GAN. De fato, seus resultados são bastante apavorantes para certos objetos.

Duas aplicações interessantes de redes Generative podem ser vistas em Inpainting e Outpainting. O primeiro inclui o preenchimento ou ruído dentro de uma imagem, que pode ser considerado como reparação de imagem. Por exemplo, dada uma imagem com furos ou lacunas, uma GAN deve ser capaz de corrigi-la de forma “aceitável”. Outpainting, por outro lado, envolve o uso do próprio aprendizado da rede para imaginar como uma imagem pode parecer fora de seus limites atuais.

Graças às redes generativas, a síntese de faces é possível, o que envolve a geração de uma única imagem de face em diferentes ângulos. É por isso que o reconhecimento facial não requer centenas de amostras do seu rosto, mas pode ser trabalhado com um. Não só isso, gerando rostos artificiais também se tornou possível. A NVIDIA recentemente usou seu GAN 2.0 para gerar rostos humanos artificiais em resolução HD usando o conjunto de dados Celeba Hq, a primeira instância de geração de imagem sintética em alta resolução.

Rostos gerados de celebridades imaginárias por um GAN Progressivo. (Créditos da imagem: NVIDIA)
GANimação
Pequenos métodos intrincados também estão se tornando possíveis, como a mudança dos movimentos faciais. GANimation é um esforço de pesquisa usando o PyTorch que se define como “Animação Facial Anatomicamente Sensível a partir de uma Única Imagem”.

Outro exemplo de uso de GANs para tornar as imagens mais realistas é simplesmente transformar uma pintura (muito boa) em uma fotografia. Isso é feito usando um tipo especial de GAN chamado CycleGAN, que usa dois geradores e dois discriminadores. Chamamos um gerador G e convertemos imagens do domínio X para o domínio Y. O outro gerador é chamado F e converte imagens de Y para X. Cada gerador tem um discriminador correspondente, que tenta diferenciar suas imagens sintetizadas das reais.

Para onde vamos daqui ?
Aprendizado de Máquina e GANs certamente terão um tremendo impacto em imagens e fotografia no futuro próximo. Atualmente, essa tecnologia é capaz de gerar imagens simples a partir de entradas de texto. No entanto, no futuro previsível, seria capaz de criar não apenas imagens precisas em alta resolução, mas também vídeos inteiros. Imagine um filme inteiro gerado simplesmente alimentando o script em uma GAN. Não só isso, cada pessoa poderia usar aplicativos interativos simples para criar seus próprios filmes (possivelmente até mesmo estrelando a si mesmos!). Essa tecnologia seria o fim da fotografia, direção e atuação reais?

Tecnologia impressionante também significa um uso potencial para propósitos iníquos. Imagens perfeitamente falsas também exigirão meios para identificá-las e detectá-las. A regulação dessa geração de imagens seria necessária. Atualmente, as GANs já estão sendo usadas para a criação de vídeos falsos ou “Deepfakes”, que estão sendo usados ​​de maneira negativa, como gerar vídeos pornográficos falsos de celebridades ou apresentar pessoas dizendo coisas sem o conhecimento deles. As consequências de tornar a tecnologia para sintetizar a geração de áudio e vídeo disponível para a população em geral são assustadoras.

A geração de imagens artificiais é uma tecnologia de dois gumes, especialmente em uma época em que pouco é amplamente conhecido. Redes Adversariais Generativas são uma ferramenta tremendamente útil e também perigosa. O fato de que isso irá remodelar o mundo da tecnologia é certo, mas como isso acontecerá, só podemos refletir.