¿Qué es el campo académico ‘Computer Vision’?

La visión por computadora es el estudio de métodos algorítmicos para analizar e interpretar datos de imágenes visuales.

La visión por computadora temprana se centró en algoritmos para encontrar “características” como líneas, bordes y formas, en una “escena visual”. Estos métodos se utilizaron para crear sistemas de visión para robots y para analizar el contenido de fotografías digitales.

La visión por computadora moderna abarca una amplia gama de problemas y técnicas. Las “redes neuronales convolucionales” y el “aprendizaje profundo” son la última “técnica de moda” debido a su éxito en el reconocimiento de objetos visuales, pero la visión por computadora es mucho más que eso.

En última instancia, la visión por computadora exitosa debería ser capaz de hacer cualquier cosa que los humanos puedan hacer con la percepción visual, y más aún.

El enfoque en estos días está en los métodos estadísticos y probabilísticos para analizar datos visuales. Estos se centran en los métodos de “aprendizaje automático de estadística”. Sin embargo, la visión por computadora también depende en gran medida de la comprensión geométrica del mundo 3D y de cómo se mapea en un “punto de vista” 2D (la imagen visual). Las técnicas recientes pueden tomar una sola fotografía 2D y reconstruir un modelo 3D de lo que fue fotografiado al encontrar líneas de perspectiva, y luego mostrar un sobrevuelo a través de ese espacio 3D (ver ejemplo más abajo).

Aquí hay un ejemplo de modelo de red neuronal convolucional para el reconocimiento de objetos visuales que muestra la naturaleza jerárquica de tales modelos:

Aquí hay un auto autónomo de Google que muestra el rango de entradas de sensores que pueden ser parte de la visión por computadora en estos días (incluidas las entradas de escaneo láser a distancia):

La visión por computadora se usó para crear el efecto de “tiempo de bala” en la película The Matrix . Para la escena en la que Neo y el Agente Smith están peleando, y luego giran congelados en el medio momento, docenas de cámaras (los círculos negros a continuación). La visión por computadora se utilizó para seleccionar a los actores, mover los cables y superponer una escena generada por computadora detrás. Cada cámara se convirtió en un cuadro de video que hizo que los actores parecieran rotar.

Ejemplo de sobrevuelo 3D a partir de una sola imagen 2D a través del análisis de escena de visión por computadora:

Ejemplo de reconstrucción en 3D del interior del cuerpo humano a partir de cientos de imágenes de CT en escala de grises en 2D procesadas por análisis estadístico de visión por computadora y alimentadas a un sistema de animación por computadora

Es un área de investigación, donde construimos máquinas que interpretan los datos visuales de manera tan inteligente como los humanos.

La imagen de arriba es una de las investigaciones innovadoras realizadas en Computer Vision, donde, dada una imagen, el sistema describe la escena.

Hay muchas más aplicaciones en este campo:

  • Búsqueda de imágenes
  • FB etiquetado personas / Reconocimiento facial
  • Reconocimiento de texto escrito a mano, reconocimiento óptico de caracteres.
  • Robots
  • Autos autónomos y muchos más.

Créditos de imagen: tesis de Andrej Karpathy sobre subtítulos densos.

La “visión por computadora” es un campo de ingeniería interdisciplinario, que también es un subcampo de la informática, y trata de imitar la visión humana e implementarla en sistemas mecánicos o informáticos. Este campo emplea nuestra comprensión de las imágenes / gráficos digitales para replicar los sistemas visuales humanos en robótica o cualquier otro tipo de sistema informático.

¿Qué quiero decir con eso?

Digamos que he construido un robot (una máquina de computación) y quiero que reconozca diferentes colores como rojo, azul, negro, etc., de la misma manera que lo hace un ser humano. Nosotros, como seres humanos, podemos lograr esto porque tenemos mayor inteligencia (o mayor capacidad de procesamiento cognitivo), pero ¿cómo podemos hacer que un robot logre lo mismo? Entonces, en ese momento usamos nuestro conocimiento y comprensión de los gráficos e incorporamos ese conocimiento en el robot / computadora mediante programas / códigos, lo que a su vez hace que el robot sea lo suficientemente inteligente como para reconocer y distinguir entre diferentes colores. Aunque este es un ejemplo simple, la complejidad de este campo es mucho mayor que esta, pero se entiende la idea general.

Para tener una idea más sobre este campo, lea sobre Visión por computadora – Wikipedia

Enseñar a una computadora a reconocer cosas que “ve” a través de su “ojo” de la cámara.

¿Recuerdas la escena de lectura de labios de HAL en “2001”? ¿Los autos autónomos de Google? Esa clase de cosas.