IA 101
¿Qué es la Visión por Computadora?

¿Qué es la Visión por Computadora?
Los algoritmos de visión por computadora son uno de los sistemas de inteligencia artificial más transformadores y poderosos del mundo, en este momento. Los sistemas de visión por computadora se utilizan en vehículos autónomos, navegación de robots, sistemas de reconocimiento facial y más. Sin embargo, ¿qué son exactamente los algoritmos de visión por computadora? ¿Cómo funcionan? Para responder a estas preguntas, nos sumergiremos profundamente en la teoría detrás de la visión por computadora, los algoritmos de visión por computadora y las aplicaciones de los sistemas de visión por computadora.
¿Cómo Funcionan los Sistemas de Visión por Computadora?
Para apreciar completamente cómo funcionan los sistemas de visión por computadora, tomémonos un momento para discutir cómo los humanos reconocen objetos. La mejor explicación que tiene la neuropsicología sobre cómo reconocemos objetos es un modelo que describe la fase inicial del reconocimiento de objetos como una en la que los componentes básicos de los objetos, como la forma, el color y la profundidad, son interpretados por el cerebro primero. Las señales del ojo que entran en el cerebro se analizan para sacar los bordes de un objeto primero, y estos bordes se unen en una representación más compleja que completa la forma del objeto.
Los sistemas de visión por computadora operan de manera muy similar al sistema visual humano, discerniendo primero los bordes de un objeto y luego uniéndolos en la forma del objeto. La gran diferencia es que, como las computadoras interpretan las imágenes como números, un sistema de visión por computadora necesita alguna manera de interpretar los píxeles individuales que componen la imagen. El sistema de visión por computadora asignará valores a los píxeles de la imagen y, al examinar la diferencia en los valores entre una región de píxeles y otra región de píxeles, la computadora puede discernir los bordes. Por ejemplo, si la imagen en cuestión es en escala de grises, entonces los valores variarán desde el negro (representado por 0) hasta el blanco (representado por 255). Un cambio repentino en el rango de valores de los píxeles cerca de cada uno indicará un borde.
Este principio básico de comparar valores de píxeles también se puede hacer con imágenes en color, con la computadora comparando las diferencias entre los diferentes canales de color RGB. Ahora que sabemos cómo un sistema de visión por computadora examina los valores de los píxeles para interpretar una imagen, veamos la arquitectura de un sistema de visión por computadora.
Redes Neuronales Convolucionales (CNN)
El tipo principal de inteligencia artificial utilizado en tareas de visión por computadora es uno basado en redes neuronales convolucionales. ¿Qué es exactamente una convolución?
Las convoluciones son procesos matemáticos que la red utiliza para determinar la diferencia en los valores entre los píxeles. Si imaginas una cuadrícula de valores de píxeles, imagina una cuadrícula más pequeña que se mueve sobre esta cuadrícula principal. Los valores debajo de la segunda cuadrícula están siendo analizados por la red, por lo que la red solo está examinando un puñado de píxeles a la vez. Esto a menudo se llama la técnica de “ventanas deslizantes”. Los valores que están siendo analizados por la ventana deslizante se resumen por la red, lo que ayuda a reducir la complejidad de la imagen y hacer que sea más fácil para la red extraer patrones.
Las redes neuronales convolucionales se dividen en dos secciones diferentes, la sección convolucional y la sección completamente conectada. Las capas convolucionales de la red son los extractores de características, cuyo trabajo es analizar los píxeles dentro de la imagen y formar representaciones de ellos que las capas densamente conectadas de la red neuronal puedan aprender patrones. Las capas convolucionales comienzan examinando los píxeles y extrayendo las características de bajo nivel de la imagen como los bordes. Las capas convolucionales posteriores unen los bordes en formas más complejas. Al final, la red debería tener una representación de los bordes y detalles de la imagen que pueda pasar a las capas completamente conectadas.
Anotación de Imágenes
Si bien una red neuronal convolucional puede extraer patrones de imágenes por sí sola, la precisión del sistema de visión por computadora se puede mejorar enormemente anotando las imágenes. La anotación de imágenes es el proceso de agregar metadatos a la imagen que asiste al clasificador para detectar objetos importantes en la imagen. El uso de la anotación de imágenes es importante siempre que los sistemas de visión por computadora necesiten ser muy precisos, como cuando se controla un vehículo autónomo o un robot.
Hay varias formas en que se pueden anotar las imágenes para mejorar el rendimiento de un clasificador de visión por computadora. La anotación de imágenes a menudo se hace con cajas delimitadoras, una caja que rodea los bordes del objeto objetivo y le dice a la computadora que centre su atención dentro de la caja. La segmentación semántica es otro tipo de anotación de imágenes, que opera asignando una clase de imagen a cada píxeles de la imagen. En otras palabras, cada píxeles que podría considerarse “césped” o “árboles” se etiquetará como perteneciente a esas clases. La técnica proporciona precisión a nivel de píxeles, pero crear anotaciones de segmentación semántica es más complejo y consume más tiempo que crear simples cajas delimitadoras. Otros métodos de anotación, como líneas y puntos, también existen.












