¿Cuáles son los principales problemas abiertos en la visión por computadora?

El problema no resuelto n. ° 1 en la visión por computadora es la comprensión de la escena.

El reconocimiento de objetos recibe la mayor parte de la atención, en parte porque es fácil de definir y comprender.

Pero lo que sigue siendo el más misterioso, y lo que tendrá el mayor beneficio una vez resuelto, es la comprensión de la escena: dada una imagen del mundo (no una foto centrada en un objeto), lo que está sucediendo, cuáles son los elementos de lo visto ( visual y estructuralmente), y ¿cómo se relacionan entre sí de una manera que sea relevante para el agente que se respalda con CV?

El camino estándar para la comprensión de la escena en la visión por computadora es modelar el entorno: dónde está el terreno; donde estan los objetos; y a qué distancia están. Pero esto no parece ser cómo lo hace el cerebro. El cerebro parece resolver la comprensión de la escena con un modelo estadístico que descompone la escena en posibilidades y relaciones estructuradas que tienen límites suaves y ambiguos y que se relacionan y apoyan la acción. ¿Se puede encontrar un modelo estadístico en la visión por computadora que relacione regiones de la escena entre sí sin depender de modelos simbólicos similares a la estructura de datos?

Un aspecto de dicho modelo será la identificación de superficies. Pero las superficies no son rectángulos planos de objetos hechos por el hombre. Un valle, una roca o una hilera de árboles pueden ser una superficie. Otro aspecto es el análisis bidimensional de la estructura de la escena. En una implementación interactiva, la organización estadística de la escena debe evolucionar continuamente a medida que un robot explora y se mueve a través de ella.

Si se resuelve la comprensión de la escena, serán posibles varias aplicaciones de CV flexibles en tiempo real.

En mi opinión, el principal problema es dejar de pensar en términos de visión artificial. Los problemas que tenemos ahora están cada vez más relacionados con la IA en general y no con el CV.

Nos resulta muy difícil enseñar conceptos de computadoras y la noción de “concepto” en sí. Tome libros, por ejemplo.

De niño se le muestran libros y aprende cuáles son. Un día te encuentras con un cómic, y para ti es un libro. Pero una vez que haya visto algunos de ellos, comprende que debe crear una nueva categoría para ellos. Incluso si nadie te dice que los cómics son una subcategoría de libros, puedes inventarlos de forma independiente.

Ahora tome libros electrónicos y audiolibros. También podrían verse como subcategorías de libros. Sin embargo, si le hubieras preguntado a alguien qué es un libro hace años, la respuesta probablemente habría implicado tinta y papel.

Los conceptos evolucionan con la experiencia. Eso significa que no puede simplemente tomar un corpus de datos etiquetados y formar categorías de ellos. Necesitas emergencia: el software debe poder encontrar nuevas categorías por sí mismo. Necesita aprendizaje en línea, en su mayoría sin supervisión.

Los conceptos van más allá de eso también. Ellos son borrosos Tome “roto”, por ejemplo: si ha visto juguetes rotos y vidrios rotos, ¿cómo reconoce una puerta rota? ¿Qué pasa con un televisor roto? Más difícil: software roto?

Si ve una foto de un automóvil en miniatura, ¿cómo sabe que es una miniatura? Porque infieres la escala del contexto. Por lo tanto, no es suficiente segmentar objetos y reconocerlos independientemente del contexto, necesita una comprensión global de la escena.

Estos problemas no son exclusivos de la visión, son más problemas centrales de IA. Muchos de ellos podrían ser aplicables a otros sentidos. Y después de todo, los humanos ciegos siguen siendo mucho mejores en la mayoría de las cosas que nuestros algoritmos.

En los años 70, la gente se estaba centrando en la IA central, y algunos pensaron que resolvería todo. Se demostró que estaban equivocados cuando sus técnicas fueron aplastadas por estadísticas mucho más simples sobre algunos de los problemas que se esperaba que resolvieran (por ejemplo, los modelos de Markov para el reconocimiento de voz). Entonces, el péndulo pasó a una investigación más centrada, especializada y de bajo nivel.

Ahora creo que el péndulo se balancea nuevamente. Los resultados recientes más impresionantes en CV (clasificación) involucran redes neuronales y aprendizaje profundo. Lo que estos equipos han hecho es aprovechar algoritmos relativamente simples, poder de cómputo masivo y grandes volúmenes de datos para asumir algoritmos sofisticados y ajustados a mano. Y han ganado por un gran margen. Parece que Peter Norvig demostró tener razón una vez más.

Entonces, el problema más importante de CV puede ser: ¿cómo dejamos de resolver esos problemas de bajo nivel y, en cambio, los formulamos para que las computadoras puedan hacerlo?

Helping Machines identifica acciones humanas en videos.

Sin duda, Computer Vision es una gran ayuda para las principales empresas tecnológicas que buscan aumentar la velocidad y realizar tareas complejas.

Las principales empresas que están investigando en este campo:

  • eBay ofrece una nueva función de búsqueda desplegable para encontrar artículos similares utilizando fotos existentes.
  • Los usuarios de Shutterstock ahora pueden buscar fotos de stock en función de la compensación espacial.
  • El gobierno ruso ahora ha implementado el reconocimiento facial en los CCTV del país.
  • Porhub está tratando de reconocer las posiciones sexuales específicas del grupo de videos en sus sitios web.

Desde la industria de la pornografía hasta el gobierno ruso, la visión por computadora será la mayor ayuda en el campo de la inteligencia artificial.

Enseñar a las máquinas a comprender las acciones humanas es un problema de investigación fundamental pero poderoso, como el que se usa para identificar gestos, análisis deportivos, búsqueda de videos personales.

[1]

Notas al pie

[1] El conjunto de datos AVA de Google eleva el listón para identificar acciones humanas en videos

El problema central de la visión por computadora es el reconocimiento de objetos. Ahora, solo se puede reconocer bien un objeto rígido en una escala adecuada, por ejemplo, la cara frontal. En otros casos, el reconocimiento de objetos sigue siendo un problema abierto. Hay muchos desafíos, por ejemplo, deformación, variación de apariencia, variación de escala, etc.

Creo que un objetivo principal ahora es hacer que la visión por computadora sea fácil de usar. Tenemos buenos algoritmos para muchas cosas, pero lo que se necesita es una forma de poner todo junto para que un novato total pueda configurar una aplicación de visión completa en cuestión de horas o días.

Creo que el título es autosuficiente para explicar el objetivo: permitir que las computadoras / máquinas posean visión como los humanos.

Sin embargo, tenga en cuenta que la parte de “ver” se ha logrado a un nivel significativo, pero la parte de “percepción” aún requiere mucho trabajo: no sabemos exactamente cómo funcionan nuestras neuronas / sistema nervioso para eso y necesitamos emúlelos en máquinas / computadoras (tal vez no estén relacionados, pero @Page en Msu es un buen artículo para leer para el desarrollo mental autónomo en línea en un bot guiado por la visión),

y como Pierre Chapuis lo expresa correctamente, la IA es más relevante para ese objetivo de realizar la visión (que está cerca de la visión de los humanos o al menos cerca de ella) en un sentido global.

Las preguntas siempre se inclinan hacia áreas superpuestas y es difícil ponerlo en pocas oraciones, aunque estamos tratando de lograr algo a escala global. Oh, la ironía.

  • Convertir los algoritmos de Computer Vision en aplicaciones prácticas que puedan ser utilizadas por las personas en su día a día.
  • Encontrar nuevas técnicas de interacción que sean más intuitivas para las personas y que no irriten a los usuarios.
  • Para determinar la delgada línea entre la tecnología y la invasión de la privacidad y asegurarse de que la solución encontrada sea aceptable para el público.

Más allá del reconocimiento de objetos, existe un problema sin solución que implica el reconocimiento de patrones en qué máquinas son buenas. Sin embargo, cuando quiere que una máquina sea “creativa” y use la aleatoriedad para darle sentido al mundo, está en apuros.

La visión involucra tantos datos aleatorios que no podemos comenzar a comprender cuánto hay en nuestros cerebros con nuestras mentes, pero intelectualmente podemos entender números y ecuaciones que cuantifican estos datos.

Hacer que una máquina complete los detalles para crear objetos aleatorios usando un patrón observado mientras se crea la imagen a partir de detalles, o “imaginando” que algo está abierto. No podemos dejar la imaginación en el estante, ya que implica manipular datos de imágenes en el cerebro y la mente para crear algo al azar.

Este es un problema de CV “basado en el cerebro” o un problema de ML inverso

Podemos tener máquinas que son excelentes para ser entrenados para ver muchos ejemplos de las mismas clases de objetos, y podemos tener máquinas que crean arte con algunas ecuaciones que involucran aleatoriedad. No tenemos una máquina que cree arte original al entrenar y luego pueda usar patrones para construir esas imágenes usando aleatoriedad, lo que significa que no “sabe” lo que está dibujando como lo está dibujando. Ah, y las imágenes no pueden ser demasiado abstractas, duh.

No tenemos una máquina que pueda crear datos muy precisos a partir de la aleatoriedad muy rápidamente, pero la gente tampoco suele hacerlo.

Y si quieres P = NP, tienes que usar aleatoriedad.

Los principales problemas en la visión por computadora son:
Análisis de tráfico, análisis de multitudes, identificación de personas y biometría remota.