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.