1 / 21

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

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. Introducción Planteamiento teórico Resolución práctica Experimentación Conclusiones Bibliografía. índice.

Download Presentation

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

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. 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

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

  3. ¿ 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

  4. ¿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? Introducción

  5. 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

  6. 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

  7. 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 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

  8. 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

  9. 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 Planteamiento teórico

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

  11. 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

  12. 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. Resolución práctica 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.

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

  14. experimentación

  15. experimentación

  16. experimentación

  17. experimentación

  18. experimentación

  19. 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 Cosas a mejorar

  20. 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 conclusiones

  21. Pixelatedimageabstractionwithintegrateduserconstraints • 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/ Bibliografía

More Related