Computação Gráfica: Kernels e Quantização

Slides:



Advertisements
Apresentações semelhantes
Algoritmos Genéticos Algoritmos Genéticos com Parâmetros Contínuos Estéfane G. M. de Lacerda DCA/UFRN Maio/2008.
Advertisements

Lição de programação iniciante
Gerenciamento de Cabos.
O aprendiz de investigador
GRÁFICOS ESTATÍSTICOS
GRÁFICOS ESTATÍSTICOS NO EXCEL
RODOLFO SOARES TEIXEIRA OBMEP NA ESCOLA
Padronização.
Redes: Introdução Prof. Rafael Vieira
Redes: Camada de Aplicação, pt. I Prof. Rafael Vieira
Redes: Camada de Rede pt. II Prof. Rafael Vieira
Redes: Camada de Rede, protocolos pt. I Prof. Rafael Vieira
Redes: Núcleo da Rede Prof. Rafael Vieira
Tipos de filtros Aqui vamos ver que os núcleos de convolução passa-altas e passa-baixas são mais usados. Também veremos alguns dos filtros não-lineares.
Redes: Camada de Enlace, protocolos pt. I Prof. Rafael Vieira
Redes: Camada de Enlace Prof. Rafael Vieira
Redes I: Camada de Rede, protocolos pt. III Prof. Rafael Vieira
Redes: Algoritmos de roteamento Prof. Rafael Vieira
Redes: Camada de Enlace, protocolos pt. II Prof. Rafael Vieira
Mercado e Classificação Etária
Redes: Camada de Transporte, Protocolos pt. II Prof. Rafael Vieira
Redes: Camada de Transporte, Protocolos pt. III Prof. Rafael Vieira
Programação para Dispositivos Móveis: Introdução Prof. Rafael Vieira
CREATED BY RAFAEL S. T. VIEIRA
CREATED BY RAFAEL S. T. VIEIRA
CREATED BY RAFAEL S. T. VIEIRA
CREATED BY RAFAEL S. T. VIEIRA
CREATED BY RAFAEL S. T. VIEIRA
Banco de Dados no Cliente com HTML 5 e JS
Redes: Camada de Transporte Prof. Rafael Vieira
CREATED BY RAFAEL S. T. VIEIRA
Mídias e Gráficos com HTML 5 e JS pt. 2
Tecnologia e Desenvolvimento de Jogos Digitais
CREATED BY RAFAEL S. T. VIEIRA
Armazenamento no Cliente e Cookies com JS
Computação Gráfica: Cores parte 2
Computação Gráfica: Blender
Redes: Camada de Rede pt. I Prof. Rafael Vieira
CREATED BY RAFAEL S. T. VIEIRA
CREATED BY RAFAEL S. T. VIEIRA
Computação Gráfica: Animação e Hierarquias Prof. Rafael Vieira
Redes: Camada de Rede, protocolos pt. II Prof. Rafael Vieira
Computação Gráfica: Mapeamentos (Texturas) Prof. Rafael Vieira
Computação Gráfica: Gimp;
Tratamento de Erros com JS
Computação Gráfica: Imagens Prof. Rafael Vieira (Calibre seu monitor!)
Computação Gráfica: Câmera Virtual pt. 2 Prof. Rafael Vieira
Computação Gráfica: Câmera Virtual Prof. Rafael Vieira
CREATED BY RAFAEL S. T. VIEIRA
Computação Gráfica: Animação e Hierarquias pt. 2 Prof. Rafael Vieira
Computação Gráfica: Rasterização Prof. Rafael Vieira
Computação Gráfica: Iluminação pt. 2 Prof. Rafael Vieira
CREATED BY RAFAEL S. T. VIEIRA
Computação Gráfica: Recorte Prof. Rafael Vieira
CREATED BY RAFAEL S. T. VIEIRA
Computação Gráfica: Visibilidade Prof. Rafael Vieira
Métodos Numéricos de Determinação de Raízes: Bisseção, Secante e Newton-Raphson Professor.: Heron Jr.
Javascript, Introdução
Aplicações adicionais da derivada
Aplicações adicionais da derivada
Estatística.
Filtros no Domínio Espacial e da Frequência
FÍSICA 3 – AULA 12 – ÓPTICA DA VISÃO
AULA 4 ESTATÍSTICA DANIEL PÁDUA.
GRÁFICOS ESTATÍSTICOS
Lição 3: encontrando linhas no tapete
Mestrado Profissional em Física Médica
ESPELHOS ESFÉRICOS.
Técnicas de análise da conjuntura
Sistemas de Informação
Transcrição da apresentação:

Computação Gráfica: Kernels e Quantização Prof. Rafael Vieira (Calibre seu monitor!) THIS WORK IS LICENSED UNDER THE CREATIVE COMMONS ATTRIBUTION-SHAREALIKE 4.0 INTERNATIONAL LICENSE. TO VIEW A COPY OF THIS LICENSE, VISIT HTTP://CREATIVECOMMONS.ORG/LICENSES/BY-SA/4.0/ OR SEND A LETTER TO CREATIVE COMMONS, PO BOX 1866, MOUNTAIN VIEW, CA 94042, USA. CREATED BY RAFAEL S. T. VIEIRA <RAFASTV@PROTONMAIL.COM>

Kernel: Identidade Não altera o estado dos vértices (produto neutro). 𝐼 𝑝𝑥 = 0 0 0 0 1 0 0 0 0 http://masaxy.blogspot.com.br/2013_08_01_archive.html

Kernel: Escala de Cinza Converte a imagem para usar apenas um espectro de Cor. Simplificar as cores de uma imagem pode auxiliar alguns Algoritmos. e.g., Segmentação e ML. 𝐶 𝑝𝑥 = 1 3 0 0 0 0 𝑅+𝐺+𝐵 0 0 0 0 http://masaxy.blogspot.com.br/2013_08_01_archive.html

Kernel: Preto e Branco Converte a imagem para usar apenas 1 bit por pixel. 𝑆 𝑝𝑥 = 0 0 0 0 𝑟𝑜𝑢𝑛𝑑 1 1+ 𝑒 −𝑅−𝐺−𝐵 3 0 0 0 0 A função sigmoide possui Aplicações em economia e CG sendo usada para classificação. http://masaxy.blogspot.com.br/2013_08_01_archive.html

Kernel: Blur Gaussiano Borra a imagem, misturando suas cores. 𝑆 𝑝𝑥 = 0.0003 0.0009 0.0023 0.0043 0.0062 0.0071 0.0062 0.0043 0.0023 0.0009 0.0003 0.0005 0.0015 0.0038 0.0071 0.0103 0.0117 0.0103 0.0071 0.0038 0.0015 0.0005 0.0007 0.0023 0.0056 0.0104 0.0152 0.0173 0.0152 0.0104 0.0056 0.0023 0.0007 0.0010 0.0030 0.0074 0.0138 0.0201 0.0228 0.0201 0.0138 0.0074 0.0030 0.0010 0.0011 0.0036 0.0087 0.0163 0.0238 0.0269 0.0238 0.0163 0.0087 0.0036 0.0011 0.0012 0.0038 0.0092 0.0173 0.0251 0.0285 0.0251 0.0173 0.0092 0.0038 0.0012 0.0011 0.0036 0.0087 0.0163 0.0238 0.0269 0.0238 0.0163 0.0087 0.0036 0.0011 0.0010 0.0030 0.0074 0.0138 0.0201 0.0228 0.0201 0.0138 0.0074 0.0030 0.0010 0.0007 0.0023 0.0056 0.0104 0.0152 0.0173 0.0152 0.0104 0.0056 0.0023 0.0007 0.0005 0.0015 0.0038 0.0071 0.0103 0.0117 0.0103 0.0071 0.0038 0.0015 0.0005 0.0003 0.0009 0.0023 0.0043 0.0062 0.0071 0.0062 0.0043 0.0023 0.0009 0.0003 http://masaxy.blogspot.com.br/2013_08_01_archive.html

Kernel: Detecção de Contornos Tenta extrair as contornos da figura. 𝐻 𝑝𝑥 = −1 8 −1 8 −1 8 −1 8 1 −1 8 −1 8 −1 8 −1 8 Repare que o kernel resultará em 0, caso todos possuam a mesma cor. http://setosa.io/ev/image-kernels/ http://masaxy.blogspot.com.br/2013_08_01_archive.html

Repare que o kernel resultará em 1, caso todos possuam a mesma cor. Kernel: Sharp Realça os contornos da imagem (Remove a mistura). Contornos + Identidade. 𝐻 𝑝𝑥 = −1 8 −1 8 −1 8 −1 8 2 −1 8 −1 8 −1 8 −1 8 Repare que o kernel resultará em 1, caso todos possuam a mesma cor. http://masaxy.blogspot.com.br/2013_08_01_archive.html

Kernel: Detecção de Linhas (Sobel) Tenta extrair arestas (verticais, horizontais, e outras orientações) da imagem pelo uso de derivadas. 𝑆𝑜 𝑝𝑥 = 1 0 −1 2 0 −2 1 0 −1 𝑆𝑜 𝑝𝑥 = 1 2 1 0 0 0 −1 −2 −1 Repare que o kernel resultará em 0, caso não exista variação da cor. http://setosa.io/ev/image-kernels/ http://masaxy.blogspot.com.br/2013_08_01_archive.html

Kernel: Criação de Relevo (Emboss) Usando Sobel + Identidade é possível criar a ilusão de relevo. (Bump mapping.) 𝐸 𝑝𝑥 = 2 1 0 1 1 −1 0 −1 −2 Estamos usando Sobel com 45 graus para a inclinação dos segmentos http://masaxy.blogspot.com.br/2013_08_01_archive.html

Quantização de Cores Quantização é um método de classificação para diminuir a quantidade de cores em uma imagem. Imagem quantizada para 16 cores. Quantização é necessária para compressão, Para ajustar o gamute de cores a um dispositivo, Para simplificar uma imagem, e para Segmentar uma imagem. http://masaxy.blogspot.com.br/2013_08_01_archive.html

Quantização de Cores (Subdivisão Uniforme) Usar uma subdivisão do espaço uniforme e atribuir uma cor para cada região de forma aleatória ou pela média das cores existentes, como sugerido antes, funciona, contudo os resultados não são tão bons. Pode-se obter cores fora do gamute da imagem.

Histograma O Histograma de uma imagem nos oferece uma nova forma de estudar e analisar uma imagem de forma a identificar que cores aparecem com mais frequência. Também é possível fazer o histograma de imagens coloridas usando como escala o espectro vísivel da luz.

Quantização de Cores (Populosidade) Com a informação de um histograma podemos então fazer uma escolha mais inteligente de cores, escolhendo as N cores mais frequentes da imagem.

Mediana Mediana é valor que reside exatamente no meio de um conjunto de dados S de tamanho N(S), considerando-se apenas sua posição. 𝑀= 𝑒 𝑖𝑚𝑝𝑎𝑟 𝑁 𝑆 2 +1 ∨ 𝑒 𝑝𝑎𝑟,1 𝑁 𝑆 2 + 𝑒 𝑝𝑎𝑟,2 𝑁 𝑆 2 +1 2 𝑆= 1,2,2,2,4,4,5,6,7,8,9,10}; 𝑀 𝑠 = 𝑒 12 2 +𝑒 12 2 +1 2 =4,5 𝑆= 12,14,15,42,51,70,90};𝑀=𝑒 7 2 +1 =42 Não confunda com média!

Quantização de Cores (Corte Mediano) A maneira mais comum utilizada atualmente, apesar do algoritmo de populosidade oferecer resultados razoáveis. No espaço de cores: 1) Escolhe-se o espectro de cor com mais variação. 2) Divide-se o espaço pela mediana em 2 pedaços, considera-se a frequência das cores. 3) Repete 1 e 2 até que o número de cores seja atingido. 4) Usa-se a média das cores para representar os pedaços finais. Kd-tree é um método eficaz para se implementar o algoritmo do corte mediano. http://groups.csail.mit.edu/graphics/classes/6.838/S98/meetings/m13/kd.html

Quantização de Cores (K-means) Outra maneira de popular de quantizar cores é o algoritmos das K-médias. No espaço de cores: 1) Escolhe-se K-médias (pontos aleatórios) que coincidam com as cores existentes. 2) Calcula-se quais são os pontos mais próximos para cada uma das K-médias. 3) Calcula-se a média dos pontos que pertencem a um determinado grupo K. 4) Move-se a K-média para essa nova posição. 5) Repete-se 1-4 até convergir. Pode-se aplicar o algoritmos das K-médias varias vezes até encontrar o resultado visual mais satisfatório ou que possua a melhor distribuição de cores (Próxima aula). http://scikit-learn.org/stable/auto_examples/cluster/plot_color_quantization.html

Exercícios Exercícios 5, 6, 7 e 8. pp 194-195. Fundamentos da Computação Gráfica (3° Edição) Autores: Jonas Gomes & Luís Velho. Editora: IMPA. Ano: 2015. ISBN: 978-8524402005.

Fim rafastv.responde@gmail.com