octubre 20, 2018 6:00 pm

Jesús

>>> Descarga el código de este post aquí <<<

?? Read in English

Para muchos de nosotros, la magia del cine reside en cómo combina elementos cotidianos, familiares, con otros más fantásticos y fuera de lo común, dando lugar a situaciones irreales, sorprendentes y cautivadoras. Para lograr tal amalgama, durante incontables décadas la industria del cine ha hecho uso de múltiples trucos, técnicas y efectos especiales. Quizás una de las más populares es la pantalla azul (aunque hoy en día se usa más la pantalla verde)

Con ésta técnica podemos dar lugar a situaciones peculiares y chistosas, colocando actores y elementos sobre los fondos más inusuales. Es así, de hecho, como muchos programas de televisión transmiten su programación de manera más interactiva.

¿Cómo funciona?

¿Por qué azul? ¿Por qué no otro color? Lamento decirte que yo tampoco lo sé. Sin embargo, lo que sí sé es que ésta técnica se basa en un concepto de computer vision conocido como detección de regiones de interés, el cual consiste en identificar secciones de una imagen con base en un conjunto determinado de características.

En nuestro caso, el criterio de interés es el color azul. Para ello, utilizaremos algo conocido como umbral de color. En resumidas cuentas, seleccionaremos porciones de la imagen cuyos píxeles estén dentro de un rango numérico particular que denota un color en especial, siendo dicho color, en esta instancia, el azul.

Lee el siguiente notebook para saber cómo implementar una pantalla azul usando Python y OpenCV.


Ésta es una de las aplicaciones más curiosas de computer vision. Sin embargo, tiene sus limitaciones:

  • Depende mucho del tanteo para hallar una buena máscara que permita aislar lo más posible el objeto y el fondo en las imágenes respectivas.
  • Es altamente sensible a las dimensiones de los objetos.
  • Es altamente sensible a las variaciones en intensidad y brillo de los colores (espacios de color como HSV o HSL pueden resultar más útiles que RGB).

Afortunadamente, hoy en día contamos con técnicas más poderosas que se basan en deep learning, particularmente en arquitecturas muy poderosas de redes neuronales convolucionales que se adaptan a múltiples escenarios y son relativamente robustas ante pequeñas variaciones posicionales y de color.

Pero, hey, siempre es divertido colocar pizzas en el espacio. ¿Por qué? Pues, ¿por qué no? 😉

>>> Descarga el código de este post aquí <<<

Sobre el Autor

Jesús Martínez es el creador de DataSmarts, un lugar para los apasionados por computer vision y machine learning. Cuando no se encuentra bloggeando, jugando con algún algoritmo o trabajando en un proyecto (muy) cool, disfruta escuchar a The Beatles, leer o viajar por carretera.