Desruído de Imagens Usando Aprendizado de Dicionário

Beginner

This tutorial is from open-source community. Access the source code

Introdução

Neste laboratório, aprenderemos a remover o ruído de uma imagem distorcida usando aprendizado de dicionário. Usaremos um exemplo comparando o efeito da reconstrução de fragmentos ruidosos de uma imagem de rosto de guaxinim usando, em primeiro lugar, o DictionaryLearning online e vários métodos de transformação.

Dicas da Máquina Virtual

Após o início da VM, clique no canto superior esquerdo para mudar para a aba Notebook para acessar o Jupyter Notebook para praticar.

Às vezes, pode ser necessário aguardar alguns segundos para que o Jupyter Notebook termine de carregar. A validação das operações não pode ser automatizada devido a limitações no Jupyter Notebook.

Se tiver problemas durante o aprendizado, sinta-se à vontade para perguntar ao Labby. Forneça feedback após a sessão e resolveremos o problema rapidamente para você.

Gerar Imagem Distorcida

O primeiro passo é gerar uma imagem distorcida. Usaremos o conjunto de dados do Scipy para carregar uma imagem de rosto de guaxinim. Reduziremos a resolução da imagem para aumentar a velocidade e distorceremos a metade direita da imagem.

Exibir a Imagem Distorcida

Exibiremos a imagem distorcida para visualizar o efeito da distorção na imagem.

Extrair Patches de Referência

Extrairemos todos os patches de referência da metade esquerda da imagem. Usaremos a função extract_patches_2d do Scikit-learn para extrair os patches. Normalizaremos os dados subtraindo a média e dividindo pelo desvio padrão.

Treinar o Dicionário a Partir dos Patches de Referência

Neste passo, treinaremos o dicionário a partir dos patches de referência. Usaremos o MiniBatchDictionaryLearning do Scikit-learn para treinar o dicionário. Ajustaremos o dicionário aos patches extraídos.

Extrair Patches Ruidosos e Reconstruí-los Usando o Dicionário

Neste passo, extrairemos patches ruidosos da imagem distorcida e os reconstruiremos usando o dicionário. Usaremos quatro algoritmos de transformação diferentes: Perseguição de Correspondência Ortogonal, Regressão de Ângulo Mínimo e Limiar, para reconstruir os patches. Exibiremos a imagem reconstruída e a compararemos com a imagem original.

Resumo

Neste laboratório, aprendemos como remover o ruído de uma imagem distorcida usando aprendizado de dicionário. Usamos o MiniBatchDictionaryLearning do Scikit-learn para aprender o dicionário e reconstruir os patches ruidosos. Também utilizamos quatro algoritmos de transformação diferentes para reconstruir os patches.