¿Qué es la visión por computadora y por qué es importante?
Cuando un ser humano mira una escena o una imagen, la entiende: qué objetos hay en ella y qué sucede si se está llevando a cabo una acción. Una computadora, por otro lado, solo procesa datos digitales que describen el valor de color de cada píxel. Para un humano, reconocer una pizza en una mesa desordenada no requiere esfuerzo. Pero hasta hace poco, las computadoras no podían realizar la misma tarea.
La visión por computadora, o CV, permite que una computadora pueda seleccionar información importante de entradas visuales y hacer predicciones y recomendaciones precisas basadas en esa información.
¿Cómo funciona la visión por computadora?
Antes de la visión por computadora, para crear un programa que reconociera una imagen en particular, una persona tenía que hacer horas de trabajo manual con las piernas. En primer lugar, debería recopilarse una base de datos de imágenes similares.
Luego, estas imágenes tendrían que analizarse, medirse y anotarse manualmente con datos relevantes que el investigador pensó que podrían identificar el objeto en cuestión (como el color, las medidas y la forma). Solo entonces se podría utilizar el software para hacer predicciones.
Por otro lado, la visión por computadora automatiza todo este proceso utilizando un enfoque de aprendizaje automático conocido como aprendizaje profundo. El aprendizaje profundo utiliza una red neuronal de varias capas con cientos de capas potenciales. En el caso de las imágenes, suele tratarse de una red neuronal convolucional (CNN).
Explicar en detalle cómo funcionan el aprendizaje profundo y las redes neuronales está mucho más allá del alcance de este artículo. Básicamente, se introducen grandes cantidades de datos en la red neuronal. La red neuronal analiza los datos repetidamente hasta que puede formar predicciones precisas sobre ellos.
En el caso de una CNN utilizada para una tarea de visión por computadora, la red neuronal lleva los datos a través de varios pasos. En primer lugar, colapsa la imagen en varias partes (píxeles individuales o grupos de píxeles que están etiquetados de antemano).
Luego, hace predicciones sobre lo que hay en diferentes partes de la imagen (como bordes duros u objetos específicos). Comprueba la precisión de estas predicciones repetidamente y altera ligeramente partes del algoritmo cada vez hasta que se vuelve muy preciso.
Las computadoras son ahora tan poderosas que pueden analizar una imagen mucho más rápido que el cerebro humano, especialmente una vez que han aprendido a reconocer ciertos patrones. De esta manera, es fácil ver cómo un algoritmo de aprendizaje profundo podría superar las capacidades humanas.
¿Cuáles son los tipos de visión por computadora?
La visión por computadora implica analizar y comprender imágenes y el resultado de predicciones o decisiones relevantes sobre las imágenes. Hay varias tareas que utilizará la visión por computadora para lograr estos objetivos. Algunos de estos incluyen:
- Clasificación de imágenes: se reconoce el tipo de imagen. Por ejemplo, ya sea el rostro, el paisaje o el objeto de una persona. Este tipo de tarea se puede utilizar para identificar y clasificar imágenes rápidamente. Un uso de esto es reconocer y bloquear automáticamente contenido inapropiado en las redes sociales.
- Reconocimiento de objetos: similar a la clasificación de imágenes, el reconocimiento de objetos puede identificar un objeto en particular dentro de una escena, como una pizza en una mesa desordenada.
- Detección de bordes: un uso común de la visión por computadora, y generalmente el primer paso en la detección de objetos, es identificar los bordes duros de una imagen.
- Identificación de objeto: este es el reconocimiento de ejemplos individuales de un objeto o imagen, como identificar a una persona en particular, huellas dactilares o vehículo.
- Detección de objetos: la detección es la identificación de un rasgo particular dentro de una imagen, como un hueso fracturado en una radiografía.
- Segmentación de objetos: esta es la identificación de qué píxeles de la imagen pertenecen al objeto en cuestión.
- Seguimiento de objetos: en una secuencia de video, una vez que se ha reconocido un objeto, se puede rastrear fácilmente a lo largo del video.
- Restauración de imágenes: las imágenes borrosas, el ruido y otros artefactos de la imagen se pueden eliminar identificando con precisión dónde se encuentra el objeto y el fondo de la imagen.
Ejemplos de visión artificial
La inteligencia artificial ya se utiliza en varias industrias con un efecto asombroso, que es cierto para la visión por computadora. Aquí hay algunos ejemplos de CV que ya se utilizan en la actualidad.
Reconocimiento facial
El reconocimiento facial es una de las principales formas en que se utiliza la visión por computadora en la actualidad. Cuando se comparan con bases de datos de rostros conocidos, los algoritmos de visión por computadora pueden identificar personas individuales con mucha precisión.
- Las redes sociales analizan imágenes y etiquetan automáticamente a los usuarios para los que tienen una buena selección de imágenes.
- Las computadoras portátiles, los teléfonos y los dispositivos de seguridad pueden identificar a las personas para permitirles el acceso.
- Las fuerzas del orden utilizan el reconocimiento facial en los sistemas de CCTV para identificar a los sospechosos.
Medicamento
La visión por computadora se utiliza actualmente en la atención médica para proporcionar diagnósticos más rápidos y precisos que los que pueden realizar los expertos. Muchas aplicaciones involucran el análisis de imágenes de rayos X, CT o MRI para condiciones particulares, incluidas enfermedades neurológicas, tumores y huesos rotos o fracturados.
Automóviles autónomos
Los vehículos autónomos necesitan comprender su entorno para conducir con seguridad. Esto significa reconocer carreteras, carriles, señales de tráfico, otros vehículos, peatones y más. Todas estas tareas utilizan sistemas de visión por computadora en tiempo real para evitar colisiones y conducir de manera segura.
La visión por computadora es desafiante
Las aplicaciones actuales de la visión por computadora ya están comenzando a cambiar la forma en que trabajamos en varias industrias. Desde poder detectar equipos defectuosos o rotos hasta diagnosticar con precisión el cáncer, la visión por computadora tiene la capacidad de mejorar los sistemas y salvar vidas.
Pero no está exento de desafíos. La visión por computadora todavía está lejos de lo que es la visión humana. Tenemos miles de años de evolución que nos permiten reconocer y comprender casi todo lo que sucede a nuestro alrededor en tiempo real. Pero no tenemos idea de cómo los cerebros humanos realizan estas tareas.
El aprendizaje profundo es un paso enorme en la dirección correcta, pero aún requiere una cantidad asombrosa de trabajo para crear un sistema que pueda realizar una tarea que los humanos pueden hacer muy fácilmente, como identificar un automóvil en la carretera. Esto se debe a que las computadoras realizan tareas restringidas de manera muy efectiva. Desarrollar una computadora que pueda comprender la complejidad total del mundo visual es un juego de pelota completamente diferente.
A medida que se realicen más investigaciones tanto en aplicaciones de inteligencia artificial como en biología humana, es probable que veamos una explosión de posibles usos de la visión por computadora en un futuro próximo.