Biblioteca de reconocimiento de imágenes / API para iPhone code [cerrado]


Necesito hacer una aplicación iOS con estas características:

  • Utilice la cámara para capturar una imagen.
  • Reconoce esa imagen: ¿Coincide con una imagen de muestra o no?

¿Hay alguna API en línea para hacer eso (de Google, Yahoo,...)? Por ejemplo, ¿puedo subir una imagen y obtener una URL de imagen y después solicitar una url para comparar una nueva imagen con una existente?

Author: Undo, 2011-04-04

8 answers

Pruebe las dos API siguientes:

 10
Author: Jan,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2015-06-30 14:28:16

La biblioteca OpenCV (para iPhone) contiene muchos algoritmos. Puedes simplemente comparar histogramas de color de imágenes, o usar cosas más complicadas. ¿Qué tipo de coincidencia quieres decir? ¿Encontrar duplicados o calcular la medida de similitud de imágenes?

Si desea hacer coincidir alguna plantilla simple para encontrar objetos, pruebe el algoritmo Viola & Jones y las llamadas cascadas Haar. OpenCV ha entrenado la colección de plantillas en archivos XML para detectar caras, por ejemplo. OpenCV contiene utilidad para el entrenamiento por lo que son capaces de generar cascadas para otros tipos de objetos

 17
Author: Andrey Sboev,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2017-05-23 10:30:33

También puede echar un vistazo a Moodstocks, proporcionan una gran API y SDK de iOS para implementar el reconocimiento de imágenes en su aplicación en minutos.

 14
Author: MartinMoizard,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2013-01-01 17:15:33

Solo para ampliar la lista:

 14
Author: tilo,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2013-11-05 08:53:16

Encontré IQEngines, que funcionan bien.

 3
Author: Kiem Duong,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2011-04-08 09:44:22

Todo el campo del reconocimiento de imágenes ha cambiado con el advenimiento de las Redes Neuronales Profundas. Sin embargo, necesitas una máquina poderosa para entrenar tu propia red neuronal. También puede utilizar vize.it, sin embargo, es una aplicación en línea fácil de usar que le permite definir la tarea y clasificar las imágenes mediante la API http.

Descargo de responsabilidad: Soy un estudiante de doctorado en Inteligencia Artificial que es miembro de la vize.it equipo.

 3
Author: user2812820,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2016-10-07 10:41:38

Pastec es una alternativa de código abierto (LGPL) al servicio ya mencionado.

Su simple API HTTP permite agregar, eliminar y buscar fácilmente imágenes coincidentes en el índice. Se basa en OpenCV y utiliza el descriptor ORB, que está libre de patentes.

 1
Author: MagSoft,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2014-10-09 20:51:07

He investigado Moodstocks, que parece haber perfeccionado un sistema de reconocimiento de imágenes con un servicio de pago por mes. Tienen un gran sistema (lo he probado para mi propio uso y es fantástico) PERO es extremadamente caro para mí, por lo que no lo estoy usando. En el momento de escribir esto, el servicio de imagen" hasta 100,000 " es de aproximadamente 1 12,000 / año. Para mi proyecto, tengo casi 4 millones de imágenes con las que tengo que enfrentarme. UY.

Así que después de muchos meses de investigación sobre y off, he llegado a la conclusión de que si vas a comparar con 1000 de imágenes o más (en mi caso 1 millón+), tendrás que hacer la comparación de imágenes off del dispositivo. Usuarios los dispositivos móviles no tienen el espacio, la velocidad y la potencia para realizar grandes cantidades de cálculos para hacer este tipo de trabajo.

Lo que realmente significa es que necesita configurar un servidor de reconocimiento de imágenes en una máquina de alto rendimiento y hacerlo público en su aplicación. En la aplicación, haga que el usuario tome una foto de un objeto (o puede tomar fotogramas del video de la cámara), envíelo a su servidor para compararlo y luego, cuando se encuentre una coincidencia, informe los resultados a la aplicación.

Puedes usar un framework como Accord.NET o EmguCV para hacer una aplicación de escritorio C# o un servicio que se ejecute en un cuadro de Windows Server para hacer esto, por ejemplo.

Lo que hace la aplicación Amazon iOS para el reconocimiento de imágenes de lo que puedo adivinar es que parecen localizar puntos de SURF en tiempo real y envía los datos al servidor mientras escanea en lugar de toda la imagen. Mi conjetura es que usan OpenCV en el dispositivo para hacer esto. Pero todavía utilizan el software del servidor para enviar de vuelta el SKU del producto emparejado.

Aquí hay una entrada de blog impresionante de un tipo que quería hacer coincidencia de imágenes en.NET y camina a través de cada paso, incluyendo cómo funciona, cómo hacerlo, y luego dar todo su código en una aplicación de ejemplo. Increíble post: https://sbrakl.wordpress.com/2015/01/30/love-affair-with-cbir-part-3/comment-page-1 /

De lo que he podido aprender es que el algoritmo de localización funciona mejor y más rápido con grandes cantidades de imágenes, pero también toma horas, días y posiblemente semanas (dependiendo de cuántas imágenes tenga) para crear índices masivos para la búsqueda. Creo que cuando se trata de emparejar imágenes, he encontrado que la velocidad de crear un índice sólido está en relación con la velocidad de encontrar coincidencias de consulta.

 1
Author: Ethan Allen,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2015-04-28 01:05:32