[Projeto DL] Aprendizado profundo para colorização de imagens
Índice
- Introdução
- Projeto de Aprendizado Profundo sobre Colorização de Imagens em Preto e Branco
2.1 Abordagem Supervisionada
2.2 Algoritmos GAN
- Contextualização do Projeto
3.1 Motivação
3.2 Trabalhos Anteriores
- Definindo o Problema
4.1 Conjunto de Dados
4.2 Representação da Imagem
- Abordagem em Duas Etapas
5.1 Aprendizado Supervisionado
5.2 Melhorando o Desempenho com GANs
- Arquitetura das GANs Utilizadas
6.1 DC GANs
6.2 LS GANs
6.3 W GANs
- Superando o Desafio do Desbalanceamento do Treinamento
- Truques Utilizados Durante o Treinamento
- Resultados Obtidos
9.1 Métricas de Avaliação
9.2 Desempenho das Diferentes Abordagens e Arquiteturas
- Considerações Finais
10.1 Possíveis Melhorias
10.2 Acesso aos Filmes Colorizados
10.3 Contato
Colorização de Imagens em Preto e Branco usando Aprendizado Profundo
A colorização de imagens em preto e branco é um desafio interessante na área de visão computacional e aprendizado de máquina. Neste projeto, apresentamos uma abordagem que utiliza técnicas de aprendizado profundo, mais especificamente, algoritmos de Redes Adversariais Generativas (GANs) para colorizar imagens em preto e branco.
1. Introdução
A colorização de imagens em preto e branco é uma tarefa que envolve a adição de cores a uma imagem monocromática, reproduzindo as cores originais da cena. Existem várias abordagens para resolver esse problema, e neste projeto, exploramos a combinação de aprendizado supervisionado e algoritmos GAN para obter melhores resultados.
2. Projeto de Aprendizado Profundo sobre Colorização de Imagens em Preto e Branco
2.1 Abordagem Supervisionada
Na primeira etapa do projeto, utilizamos uma abordagem supervisionada para reconstruir as imagens originais a partir de uma rede geradora. Treinamos uma rede neural convolucional para gerar imagens coloridas a partir de uma imagem em preto e branco. Utilizamos um conjunto de dados do GoogleNet para realizar esse treinamento e desenvolvemos um modelo que fosse capaz de reproduzir as cores corretas para cada imagem.
2.2 Algoritmos GAN
Na segunda etapa do projeto, utilizamos algoritmos GAN para melhorar o desempenho da abordagem supervisionada. O objetivo era permitir que o gerador aprendesse a criar imagens coloridas que fossem o mais realistas possíveis. Para isso, usamos a arquitetura de redes adversariais generativas, em que o gerador tenta "enganar" o discriminador produzindo imagens coloridas que parecem ser reais.
3. Contextualização do Projeto
3.1 Motivação
Este projeto teve como motivação a curiosidade em explorar a colorização de imagens em preto e branco. Além disso, a equipe compartilhava um interesse pessoal por fotografia artística e pela estética das imagens em preto e branco.
3.2 Trabalhos Anteriores
Existem várias abordagens anteriores para a colorização de imagens em preto e branco, incluindo a função de colorização disponível no Photoshop e o uso de redes neurais convolucionais para a classificação e regeneração de imagens. Buscamos aprimorar essas técnicas utilizando algoritmos GAN e técnicas de aprendizado profundo.
4. Definindo o Problema
4.1 Conjunto de Dados
Para treinar nosso modelo, utilizamos um conjunto de dados do GoogleNet, composto por diversas imagens em preto e branco. Essas imagens foram convertidas para o formato preto e branco e, em seguida, utilizadas como entrada para reconstruir a imagem original com o nosso modelo de aprendizado profundo.
4.2 Representação da Imagem
Optamos por utilizar a representação AAP (Adversarial Autoencoder with Perceptual Loss) das imagens, pois ela permite identificar apenas dois canais necessários para a imagem em preto e branco. Essa escolha nos ajudou a simplificar o processo de reconstrução da imagem colorida e a obter resultados mais satisfatórios.
5. Abordagem em Duas Etapas
Para alcançar os melhores resultados na colorização de imagens em preto e branco, adotamos uma abordagem em duas etapas: aprendizado supervisionado e uso de GANs.
5.1 Aprendizado Supervisionado
Na primeira etapa, utilizamos o aprendizado supervisionado para treinar um gerador básico a partir de uma imagem padrão. Esse treinamento foi simples, envolvendo apenas a escolha de imagens de treinamento e a reprodução de uma imagem padrão. Também foi necessário treinar outra rede neural para classificar se uma imagem era vetorizada ou não.
5.2 Melhorando o Desempenho com GANs
Para melhorar o desempenho do gerador e obter imagens coloridas mais realistas, utilizamos algoritmos GAN. Nesse contexto, a arquitetura DC GAN (Deep Convolutional GANs), LS GAN (Least Square GANs) e W GAN (Wasserstein GANs) foram exploradas. Cada uma dessas arquiteturas possui suas características e vantagens específicas.
(Continua...)