Visión por computadora: ¿Qué tan difícil es desarrollar tecnología de reconocimiento visual?

El desarrollo de la tecnología de reconocimiento visual desde cero es bastante difícil y requiere un nivel de doctorado de los algoritmos de visión por computadora. Se puede encontrar una buena vista de alto nivel en ¿Cómo reconoce Plink Art las pinturas? Plink fue comprado por Google y presumiblemente integrado en Google Goggles.

Debo decir que hay una gran cantidad de bibliotecas con licencia no comercial para hacer tecnología de reconocimiento visual fuera de la caja, pero mucho de esto ha surgido de años de investigación académica (estoy pensando en SIFT / SURF / PTAM / GLOH, etc.).

La aplicación de iPhone de Yelp utiliza tecnología de reconocimiento visual cero (lo hice). Utiliza puramente la brújula, el acelerómetro y el GPS para adivinar lo que debería ver con la lente de la cámara: la cámara no está haciendo nada. Además, si lo desea, incluso puede construir el suyo usando las diapositivas de una charla que di recientemente: http://bennewhouse.com/other/VTM…

Para responder correctamente esta pregunta, se debe hacer una precisión. Existen diferentes niveles / tipos de reconocimiento visual.

Consideremos por orden de dificultad (más fácil primero):

  1. El reconocimiento de caracteres y el reconocimiento de código de barras son problemas bien entendidos y existen varias bibliotecas buenas que pueden usarse para construir una aplicación. No debería ser demasiado difícil lograr resultados bastante buenos si haces cosas estándar.
  2. Reconocimiento / identificación de instancia de objeto . Esto es, por ejemplo, lo que hacen Snaptell ( http://www.snaptell.com/ ) o Google Goggles. La coincidencia / reconocimiento se puede lograr considerando solo la similitud visual (por ejemplo, la coincidencia de punto clave / región) sin integrar la semántica en el sistema. Algunas técnicas específicas de procesamiento de imágenes deben aplicarse para abordar los cambios de iluminación / punto de vista. Necesitará un pequeño equipo de personas experimentadas para desarrollar algo que se adapte bien (almacenar y recuperar eficientemente las firmas visuales requiere mucho cuidado).
  3. Reconocimiento de clase de objeto. Aquí el problema comienza a ser realmente difícil, ya que significa ser capaz de reconocer la clase de un objeto en cualquier imagen (por ejemplo, este es un perro de clase galgo). Tendrá que limitar el problema a unas pocas decenas de clases como máximo y pasar mucho tiempo entrenando y ajustando el sistema. Puede estar bien para ciertas aplicaciones.
  4. La comprensión / interpretación de la escena significa ser capaz de reconocer la clase de varios objetos en una escena (por ejemplo, un tigre cerca de un árbol). Este puede considerarse como un problema abierto y extremadamente difícil. Se ha investigado desde los años 70 con un progreso limitado. Sin embargo, algunas aplicaciones específicas, como la videovigilancia inteligente, son muy interesantes. Por ejemplo, es posible detectar visualmente que alguien se está quedando en una zona prohibida.

Algunos argumentan que necesitamos lograr una IA fuerte ( http://en.wikipedia.org/wiki/Str …) para resolver 3 y 4.

Si escuchas a personas de “AI” (artistas), te darán una respuesta positiva. La realidad es que entregan casos de prueba optimistas y excluyen cosas que no ayudan a sus casos económicos.

Si escucha a personas prácticas, la prueba actual (vergonzosamente repetida en los medios), tome / use fotos de reconocimiento facial africano o afroamericano, tanto cerca como lejos. Esto dará como resultado algunos contadores interesantes.

Los códigos de barras y la marca de sentido (lo que se usa en la parte inferior de los controles) funcionan. La detección de bordes funciona principalmente porque esto es simple.

Las huellas digitales están más en el medio.

Los mejores modelos de máquina construyen modelos 3-D si es posible.

Los militares también tienen que lidiar con el camuflaje. Pueden usar trucos multiespectrales. Lleve una luz ultravioleta a los sellos postales, tarjetas de crédito, dinero. ¿Quieres jugar con IR?

La robótica la gente soporta mirar. Tienen encarnación ayudándolos. Las personas con imágenes puras tienen las cosas más difíciles (son más fáciles de engañar). La identificación de pornografía es una especie de broma. Hasta hace poco, la mayoría de las personas que trabajaban en visión artificial mantenían sus códigos cerca de ellos. Recientemente, Willow Garage comenzó la iniciativa OpenCV. Están / estaban (desaparecieron ahora) tratando de crear una comunidad para compartir y acelerar el desarrollo de un mejor software de visión por computadora de código abierto. Merecen apoyo para avanzar en el estado del arte de sistemas cerrados pasados.

Varios sistemas utilizan el aumento humano (como la oficina de correos para la escritura cursiva difícil de leer). Mira la guerra actual con CAPSHA (es bastante interesante).

Lo que el papel del cerebro humano en la visión por computadora es sorprendente. No todo se hace en la retina. No lo sabemos todo. Trabajé en un laboratorio cerebral durante 3 años en un trabajo de estudio en la universidad. Conocemos las contribuciones de algunas estructuras cerebrales pero no de otras. Los aspectos son simétricos, mientras que otros son asimétricos (por ejemplo, la mano).