Pixelación de imágenes avanzada usando el algoritmo slic

Slides:



Advertisements
Presentaciones similares
Publicar un video en la Wiki 6C_Blanco_David. Este es un video tutorial sobre como insertar videos de los distintos autores en la wiki, para los cuales.
Advertisements

DISEÑO DE EXPERIMENTOS EXPERIMENTOS DE COMPARACIÓN SIMPLE
ALGORITMOS GENETICOS EVOLUCIÓN DE UNA POBLACIÓN DE
Configuración de Control
DISEÑO DE EXPERIMENTOS
III - Gestión de memoria
RECONOCEDOR DE MATRICULAS
Webquest Diseño IU: Wix.com permite un control total del diseño de la web, pudiendo elegir en cualquier momento que punto modificar o que.
Un wiki o una wiki (del hawaiano wiki, rápido)[1] es un sitio web cuyas páginas pueden ser editadas por múltiples voluntarios a través del navegador web.
PROGRAMACION DE ESTRUCTURAS DE DATOS
Webquest Diseño IU: Wix.com permite un control total del diseño de la web, pudiendo elegir en cualquier momento que punto modificar o que.
DE LAS CUENTAS DE USUARIO Y OPCIONES DE CARPETA
Como Usar el Menú Insertar En Microsoft Word 2010.
HERRAMIENTAS DEL SISTEMA
THE GIMP. Conceptos básicos Abrir u obtener imágenes fotográficas: Selecciona cualquier imagen de tu ordenador y pulsa sobre ella con el botón derecho.
Ingeniero Anyelo Quintero
Teoria de grafos.-clase 4
1. índice  Introducción  Definición del modelo  Historia de un cráneo  Aplicaciones del modelo  Conclusiones  Bibliografía 2.
UNIDAD 2:Crear, abrir y cerrar una base de datos Hacer clic sobre la opción Nuevo de la pestaña Archivo. Se mostrarán las distintas opciones para nuevos.
1 5. La Búsqueda (I) Los ordenadores almacenan gran cantidad de información…  Hay que clasificarla y ordenarla para encontrarla con facilidad. ¿Y si no.
Procesamiento de Imágenes Digitales

1 ONLINE SHOP ‘09 Ainara Ortega Silvia Urdiain Carmen Moriones.
Ejercicios: El entorno de photoshop
Reconocimiento y resolución de ecuaciones impresas Luis Fernández Pérez Marco Antonio Formoso Trigo.
Material de apoyo Unidad 4 Estructura de datos
Aplicación de estructuras de datos
EL MALLADO HEXAGONAL Dolores Bonilla Silva Daniel González Ortegón Remedios Gutiérrez Martínez.
MÉTODO DE PIXELES DE BORDE
Yolanda Mejido González 1 Cómo realizar operaciones con lotes de imágenes rápida y cómodamente con FastStone Photo Resizer FastStone Photo Resizer 2.7.
Tipos de Datos. Entrada-Salida.. La entrada-salida (I/O) le permite a un programa comunicarse con el mundo exterior. Esta comunicación puede realizarse.
Capítulo 7 Gestión de memoria.
Marcas de agua en el dominio del espacio Realizado por: Alejandro Pazos Castillo José Antonio Mateos García Aplicación práctica orientada a la Esteganografía.
COMPRESIÓN AUTORREGRESIVA Y CASI SIN PERDIDA Autores: Antonio Fernández Carpio Francisco José Lamela Rincón.
Servicio horario NTP - Protocolo NTP Luis Villalta Márquez.
Corrección topológica de imágenes médicas Ignacio Moreno García Antonio José Narváez Ortega Maria del Carmen.
Problema de inclusión en una Curva Digital Por Orellana Muñoz, Alfonso Paz Vicente, Rafael Pérez Medina, Gerardo Rodríguez Naranjo.
Análisis y Diseño de Algoritmos
Adelgazamiento de Imágenes RGB
CARPLATE Reconocimiento del marco de la matrícula de un coche
Trabajo PID Análisis de imágenes de biopsias de músculo humano. Segmentación de células para construir un grafo a partir de las adyacencias entre ellas.
Imágenes en el PC Fuente: Curso HTML del CNICE. Tipos de imagen A grandes rasgos podríamos dividir las imágenes digitales en dos grupos: Imágenes vectoriales,
Una introducción a la computación evolutiva
Ii - Reconocimiento de monedas Invariante a rotaciones
Eliminación de ruido y Tratamiento de partes alargadas en imágenes digitales.
Parte I. Estructuras de Datos.
Tema 6: Morfología Segunda parte.
COMPUTO III Ing. Jimmy Ojeda Arnica.
INTRODUCCIÓN A LA INGENIERÍA DEL SOFTWARE
NUEVO DISEÑO SITIO WEB EXPLORA REGIÓN METROPOLITANA Resultados en cuanto a tráfico, posicionamiento y nuevas herramientas.
Nombre: Josselyn Peña Curso: 1° “D”. Este manual de introducción a Wordpress ha sido elaborado con la intención de ofrecer la información necesaria para.
Cómo crear un blog con Laura Imaz. 1. CREAR UNA CUENTA GMAIL Para crear una cuenta Gmail tenemos que situarnos en la ventana de Google, veremos como arriba.
Entorno de trabajo En Micro-Cap trabajaremos fundamentalmente con dos interfaces (con dos tipos de pantallas): la de edición del circuito y la de los.
INTRODUCCION A LA PROGRAMACION
Gonzalez Tellez Guadalupe Marina Reverte Materia :HTP Carrera :Derecho.
UNIDAD V Bibliotecas de Funciones L.I. & M.S.C. OSCAR RAMÍREZ CORTÉS PROGRAMACIÓN DE SISTEMAS.
Ing. Vanessa Borjas. Entorno gráfico En un entorno gráfico se tiende a que cada uno de los programas esté compuesto por un formulario, aunque no es una.
Utilizar Costo Promedio Ponderado en el Software Administrativo SAW
Universidad Ju á rez del estado de Durango Colegio de ciencias y humanidades Herramientas del Sistema de Windows Profesor: Fernando Mej í a Alumno: Alexis.
Reconocimiento de cara basado en “espectrocara”
¿Cómo programar un Botón para agregar registros a una base de datos?
ARRAYS Y COLECCIONES DE DATOS. ARRAYS Arrays – Matriz – Vector Elemento del lenguaje que nos permite agrupar un conjunto de valores del mismo tipo, y.
NPI – Kinect v2 Francisco Gea Martínez Francisco Pérez Hernández.
OPTIMIZACION DEL DESEMPEÑO DE ERROR
Como usar Power point.
Introducción a phpmyadmin índice 1. Introducción 6. Insertar registros 5. Crear usuario para php 8. Modificar registros 2. Base de datos MySQL 3. Crear.
Curso de programación Visual Chart 6 (1ªEd.)
TEMA 7 ANÁLISIS DE LOS RESULTADOS TEMA 7 ANÁLISIS DE LOS RESULTADOS.
Curso de programación Visual Chart 6 (1ªEd.) ÓRDENES DE SALIDA.
Introducción a programación web Martin Esses. En las presentaciones anteriores, vimos como enviar datos a un controlador usando POST y como generar formularios.
Transcripción de la presentación:

Pixelación de imágenes avanzada usando el algoritmo slic Pablo Barrientos Lobato Antonio Borrego Aristu Daniel Cáceres Maña Procesamiento de Imágenes Digitales

índice Introducción Planteamiento teórico Resolución práctica Experimentación Conclusiones Bibliografía

Introducción ¿ Qué es el pixel art? Es una forma de arte contemporánea surgida de la necesidad de optimizar los recursos de dispositivos electrónicos sin perder demasiada calidad de imagen.

Introducción ¿Qué fácil no? El mayor problema del pixel art son sus propias limitaciones, ya que con una paleta de colores limitada y una baja resolución es complicado crear una imagen reconocible ¿Pero esto que eeeeeeeeeees?

Planteamiento teórico En muchos casos al pixelar una imagen con este método no se puede reconocer nada de la imagen original. Hay muchos casos en los que queremos que se pueda reconocer la imagen, con las ventajas de una imagen en baja resolución, haciendo este método inservible y obligándonos a buscar otras alternativas Pixelar una imagen es muy fácil. Basta con dividir la imagen en una cuadrícula de tamaño regular. Y asignarle a toda la cuadrícula el mismo color que tenga el píxel central

Planteamiento teórico Es aquí donde entra el algoritmo SLIC. Este algoritmo usa un término llamado superpíxel. Estos superpíxeles son conjuntos de píxeles que tienen características parecidas. El algoritmo lo que hace, de manera simplificada, es reconocer dichos superpíxeles. Vamos a ver como lo hace

Planteamiento teórico Al igual que el algoritmo básico, el algoritmo SLIC segmenta inicialmente la imagen en un mallado en forma de cuadrícula con un tamaño fijo. Para simplificar la explicación cogeremos una cuadrícula de tamaño 3x3 -2 3 6 9 1 5 -9 -2 3 6 9 1 5 De cada cuadrícula que haya en la imagen, el algoritmo escoge el centro de cada una Después, se calculan los gradientes de todos los vecinos del centro en dicha cuadrícula Se mueve el centro hacia el vecino con el gradiente más bajo

Planteamiento teórico Una vez realizado el paso anterior, el algoritmo coge, para cada centro, una malla 2N x 2N. En nuestro ejemplo, 6x6. Para cada píxel dentro de esa malla, el algoritmo calcula su distancia a cada uno de los 4 centros de malla. Compara esas distancias y el píxel queda asignado al centro al que más próximo esté Una vez finalizado el proceso, ya disponemos de los superpíxeles para ejecutar el tratamiento que queramos darle a la imagen En nuestro caso, lo que hemos hecho ha sido asignar a todos los píxeles que forman parte de un superpíxel el color del centro del superpíxel

Planteamiento teórico Una de las mayores ventajas de este algoritmo, es que se ajusta con bastante precisión a la forma de los objetos que queremos reconocer, siendo de mucha utilidad para pixelar objetos o personas sin que deje de reconocerse la imagen original Para la imagen que usamos anteriormente pero usando el algoritmo SLIC para hacer la pixelación

Resolución práctica Para la implementación de la aplicación se ha usado: Visual Studio 2013 C# con Microsoft .Net Framework 4.0 Windows Prsentation Foundation (WPF) Se ha implementado una arquitectura basada en Model View View Model (MVVM), que permite mantener organizado el código, y poder ampliar fácilmente con más implementaciones de algoritmos.

Resolución práctica Se ha creado una interfaz sencilla, que permite aplicar los diferentes algoritmos implementados, y comparar los resultados de forma simple. Permite que cada algoritmo tenga como entrada los parámetros que necesite. Permite guardar el resultado obtenido en un fichero.

Resolución práctica Los pasos más importantes del algoritmo son: 1. Se inicializa un array con los centros de cada superpíxel que a priori serán parte de una rejilla compacta y uniforme del tamaño deseado. La complejidad de este paso es O(k), siendo k el número de cuadrículas generadas en la imagen. 2. Calculamos los gradientes de todos los píxeles de la imagen, los cuales guardamos en un array. 3. Modificamos los centros que calculamos antes, escogiendo como nuevo centro, de entre los vecinos del centro anterior, el de menor gradiente. 4. Recorremos la imagen en una ventana de dos cuadrículas por dos cuadrículas respecto a cada centro. En esa ventana evaluamos la distancia entre cada píxel y cada uno de los cuatro centros. Comparamos las distancias obtenidas y añadimos el píxel a la región cuyo a centro esté más cercano. Almacenamos las distintas regiones obtenidas en un array. 5. Se unen los píxeles no conectados a ningún superpíxel al más cercano. 6. Por último, se realiza una limpieza de regiones pequeñas usando el parámetro de entrada como umbral, uniendo dichas regiones a las regiones vecinas más coincidentes.

experimentación A continuación vamos a mostrar algunos ejemplos, comparando los dos métodos implementados.

experimentación

experimentación

experimentación

experimentación

experimentación

Cosas a mejorar Dar la opción de elegir el número de colores disponibles Que el usuario pueda elegir el tamaño de la imagen de salida Refinar el algoritmo para que sea más eficiente y preciso

conclusiones Aplicar el algoritmo SLIC a la pixelación de imágenes mejora notablemente el resultado. El algoritmo SLIC se podría aplicar a otros ámbitos como podría ser el reconocimiento de objetos en una imagen, o el reconocimiento facial

Bibliografía Pixelated image abstraction with integrated user constraints http://www.sciencedirect.com/science/article/pii/S0097849313000046 Algoritmo SLIC http://ivrg.epfl.ch/research/superpixels Algoritmo de pixelación básico http://notes.ericwillis.com/2009/11/pixelate-an-image-with-csharp/