¿Por qué las computadoras tienen dificultades para reconocer imágenes, como un gato?

La respuesta corta es que los humanos son muy buenos para reconocer patrones visuales, incluidas las caras de personas que conoce, mientras que es terriblemente complejo para una computadora “entender” algo visualmente, punto por punto.

Me quedo sin aliento, pero estoy comenzando con cómo las computadoras deben pensar:

Se debe informar explícitamente a las computadoras cada paso de cualquier proceso. Solo hacen exactamente lo que se les indica, ni más ni menos . Para los humanos, simplemente tomar una bebida del refrigerador es simplemente: “Voy a tomar un poco de leche”. Pero, ¿y si tuviera que describirlo en detalle? Camina hacia la nevera. Abre la puerta. Encuentra la botella. Agarra la botella. Cierre la puerta. Retira la tapa. ¿Es un pop top o twist top? Vierte en el vaso, ya tienes un vaso, ¿verdad? Vaya, estás vertiendo leche sobre el mostrador.

Si bien esto suena ridículo al describir a otro humano, todavía no es lo suficientemente específico para una computadora. Pierna derecha. Pierna izquierda. Repita hasta llegar a la nevera. Mueva el hombro para mover el codo para mover la muñeca, gire el brazo para que la mano pueda alcanzar el mango. Cerrar los dedos alrededor del mango. Da un paso atrás y dale espacio a la puerta para que se abra … entiendes la idea.

Esto es lo que hace que la computación DWIM ( haz lo que quiero decir ) sea tan compleja. La corrección automática no es su computadora adivinando letras al azar; es un programa que espera que escribas palabras de las que carece el diccionario (si no fuéramos descuidados, no necesitaríamos la corrección automática) y luego adivinar qué letras cercanas a lo que escribiste harán palabras reales. Luego, verifica las reglas de gramática (a veces deficientemente) para ver si se puede completar una oración.

Relacionemos esto con el reconocimiento de imágenes … todas las imágenes son combinaciones de formas y colores.

Piensa en la forma de la cabeza de un gato. Muchos son similares pero ligeramente más estrechos, más anchos, más redondos, más planos. Es evidente que algunos perros no son gatos, pero la cabeza de un Pug es corta y redonda, más parecida a un gato que a un Doberman. ¿En qué punto la forma ya no es un gato y se parece más a un perro? Sabemos que los perros y los gatos son diferentes a través de nuestro reconocimiento de patrones. Los jóvenes humanos aprenden la forma de un gato y pueden reconocer para siempre a cualquier gato, pero a las computadoras se les debe enseñar estos patrones, y cada gato es un patrón nuevo.

Imagina que estás en una habitación blanca con un gato blanco. Estás en un extremo del sofá, el gato en la mesa (gatito malo), uno frente al otro. El gato es blanco, al igual que las paredes y la mesa. Detrás del gato está el piso de alfombra blanca.

El fabricante de alfombras dice que es de un solo color, pero muchas variantes sutiles de blanco alcanzan su ojo. Cada fibra es similar en color a las otras, pero no idéntica. Las sombras delicadas debajo de la mesa revelan tonos de color complejos, con bordes imperceptibles que se desvanecen gradualmente. Sin embargo, todavía los llamaríamos todos blancos. Los colores del gato, las paredes y la mesa tienen variaciones como esta.

Nuestros cerebros son excelentes para ignorar las imperfecciones y los colores degradados para ensamblar una imagen coherente en nuestras cabezas. Los detalles no son importantes para comprender la escena, pero son imperfecciones que confunden a una computadora que intenta determinar lo que ve.

Ahora imagina una foto digital de esta escena. Las imágenes digitales (las que puede usar una computadora) convierten las formas y los colores en puntos individuales llamados píxeles . Una imagen de 800 por 600 píxeles es relativamente pequeña pero sigue siendo 480,000 puntos de información separados. A todo color, cada píxel podría ser uno de los 16 millones de tonos diferentes. No podemos distinguir mucha diferencia (si la hay) entre los colores # d9e8f0 y $ d9e8f1, pero una computadora puede fácilmente. La computadora puede ver la alfombra como # d9e8f0 en algunas sombras, pero # eef0fa en partes más brillantes, pero nuevamente lo llamamos todo blanco.

La computadora no sabe si un color diferente es sombra o el borde de un objeto. Cada píxel debe compararse con los píxeles adyacentes para saber si es el comienzo de una línea entre dos objetos o simplemente sombra en el mismo objeto. Las líneas rectas como el borde de una mesa son complicadas; Las curvas como las hojas de los árboles y las orejas borrosas son más duras.

El proceso se vuelve aún más complejo con antialiasing. Cuando una línea no coincide con el borde entre píxeles, y la mayoría de las veces no lo hacen, la computadora debe aproximar el color de ese píxel para describir mejor ambos lados de la línea. Esto crea incluso * más * colores que deben analizarse para determinar si es sombra o un borde.

Esta es una gran parte de por qué el software de reconocimiento facial ha tardado años en desarrollarse y aún no es muy confiable o rápido. Mejorará, por supuesto, a medida que las computadoras se vuelvan más potentes, a medida que el software se desarrolle más, pero pasarán décadas antes de que el software exista, como en las películas, si es que alguna vez.

ACTUALIZACIÓN, 2 SEMANAS DESPUÉS:

El Doodle de Google a continuación ilustra aún más mi punto. La caricatura es reconocible al instante para nosotros como pájaros. Los ojos en lugares extraños (en el mismo lado de la cabeza en muchos casos) son adorables, pero no son lógicos, ¿y sombreros? Seriamente. Las alas están más implícitas que realmente dibujadas. Un artista experto hizo estas imágenes y, a pesar de toda la falacia lógica, sabemos que son pájaros más rápido de lo que puedes decir.

Sin embargo, no tienen forma similar a las aves reales, y pequeños cambios en los detalles podrían hacerlos perros o personas gorditas. La rama del árbol no tiene ancho y es una sola línea, pero no se puede confundir con un trozo de cuerda en el suelo. Se utilizó una computadora para dibujar estas imágenes, pero no pudo definirlas como pájaros para salvar su “vida”. Después de todos los avances tecnológicos de los últimos cien años, nuestros cerebros siguen siendo mucho más poderosos que las computadoras.

http://www.google.com/doodles/new-years-eve-2015

Asumiré en esta discusión que te refieres a fotografías cuando dices “imágenes” en esta respuesta.

Las fotografías están compuestas de pequeños puntos. En el mundo de la informática, estos puntos se denominan píxeles. Estos píxeles tienen atributos básicos como el color (o la falta de color) y otros significan muy poco, solo un montón de puntos en diferentes colores.

Luego agregas el cerebro humano. Su cerebro interpreta estos puntos en formas y los compara con otras formas que conoce a través de la experiencia. El cerebro también puede predecir qué combinación de formas podría ser aunque no haya visto antes esa combinación particular de formas seleccionando una combinación de formas que sabe que coinciden en un 90 o 95% con algo que conoce. Por lo tanto, si solo ha visto un gato antes en su vida, es probable que pueda identificar a otro gato que vea.

Las computadoras, por otro lado, son más mecánicas. Pueden tomar la imagen que consiste principalmente en puntos y convertirlos en formas, pero actualmente son menos precisos al comparar las formas con las formas identificadas y hacer un análisis difuso al comparar un nuevo objeto (conjunto de formas) con los conocidos. Este problema es que la computadora es demasiado exacta por naturaleza y no puede (todavía) decir qué es crítico para hacer una combinación (por ejemplo, la cabeza de un gato es redonda) frente a lo que no lo es (por ejemplo, el pelaje de un gato es gris).

Los cerebros de los animales son electroquímicos y procesan una gran cantidad de datos más rápidamente que una computadora moderna, al menos cuando se trata de razonamiento deductivo. En algún momento, las computadoras mejorarán mucho en el reconocimiento de imágenes, pero creo que tendrá que haber un aumento cuántico en la velocidad de procesamiento y almacenamiento antes de que sea una realidad práctica.