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

  • Utilizar la cámara captura una imagen.
  • Reconocer que de la imagen: ¿coincide con una imagen de muestra o no?

Es hay alguna línea de API para hacer eso (de Google, Yahoo, …)? Por ejemplo, puedo subir una imagen y me sale una URL de una imagen y después de que la solicitud de una url para comparar una nueva imagen con un existir el uno?

InformationsquelleAutor Kiem Duong | 2011-04-04

8 Comentarios

  1. 17

    OpenCV biblioteca (para el iPhone) contiene muchos algoritmos. Usted puede comparar simplemente el color de los histogramas de las imágenes, o el uso más complicadas. Que clase de emparejar a qué te refieres? Búsqueda de duplicados o calcular la medida de similitud de las imágenes?

    Si quieres coincidir con algunas de plantilla simple para encontrar objetos, a continuación, tratar de Viola & Jones y el algoritmo de los llamados Haar cascadas. OpenCV ha entrenado colección de plantillas de archivos XML para la detección de caras, por ejemplo. OpenCV contiene utilidad para la formación de lo que son capaces de generar cascadas para otros tipos de objetos

    • la coincidencia de decir que tengo una imagen sobre un objeto(ej: un logotipo), y puedo utilizar la cámara para capturar una imagen(logo). Quiero saber 2 logos es el mismo o no. Gracias por la respuesta
    • entonces una buena opción es Haar cascadas o cvMatchTemplate en mi humilde opinión
    • lo que trata de reconocer las frutas y verduras? puedo hacerlo con opencv
  2. 14

    También puede echar un vistazo a Moodstocks, que proporcionan una gran API y SDK de iOS para implementar de reconocimiento de imagen en la aplicación en cuestión de minutos.

    • Buena compañía, pero MUY caro.
    • Puede crear su propia biblioteca, donde la imagen puede ser comparado para determinar la información que se pre-pop una vista de detalles del controlador. Ex escanear una botella de vino de la etiqueta y pre-pop de la información almacenada en la base de datos en la transición a la vista de detalles del controlador?
  3. 3

    Todo el campo de reconocimiento de imagen ha cambiado con la llegada de la Profunda Redes Neuronales. Sin embargo, usted necesita una máquina potente para entrenar a su propia red neuronal. También puede utilizar vize.it, a pesar de que es una herramienta fácil de usar aplicación en línea que permite definir la tarea y clasificar las imágenes por medio de la API http.

    Descargo de responsabilidad: yo soy un estudiante de Doctorado de la Inteligencia Artificial, que es un miembro de la vize.equipo de ti.

  4. 1

    Pastec es un de código abierto (LGPL) alternativa a los servicios ya mencionados.

    Su sencillo HTTP API permite fácilmente añadir, eliminar y buscar imágenes similares en el índice. Se basa en OpenCV y utiliza el descriptor ORB, que es libre de patentes.

    • Para evitar la frustración, quiero mencionar que Pastec SÓLO compila en los sistemas Linux, que no compilará en Mac OS, debido a su sys/eventfd de dependencia.
    • La dependencia a eventfd ha sido eliminado por lo que Pastec ahora debe ser compilable para OSX.
  5. 1

    He mirado en Moodstocks, que parece haber perfeccionado un sistema de reconocimiento de imagen con un pago por mes de servicio. Ellos tienen un gran sistema (lo he probado para mi propio uso, y es fantástico) PERO es MUY caro para mí, que es por qué no estoy usando. En el momento de yo escribir esto, el «hasta 100.000» servicio de la imagen es de alrededor de $12,000/año. Para mi proyecto, tengo casi 4 millones de imágenes que necesitan de partido en contra. UFF.

    Así que después de muchos meses de investigación y se apaga, he llegado a la conclusión de que si vas a comparar contra de 1000 imágenes o más (en mi caso 1 millón+), usted necesitará hacer la comparación de imágenes fuera del dispositivo. Los usuarios de dispositivos móviles no tiene el espacio, la velocidad y la potencia para realizar gran cantidad de cálculos a realizar este tipo de trabajo.

    Lo que realmente significa es que usted necesita para configurar una imagen de reconocimiento de servidor en una máquina de alto rendimiento y hacerla pública para su aplicación. En la app, el usuario toma una foto de un objeto (o los que usted puede agarrar los marcos de la cámara de vídeo), ha enviado a su servidor para la comparación, y luego, cuando se encuentra una coincidencia informe de los resultados a la aplicación.

    Puede utilizar un framework como Accord.NET o EmguCV para hacer un C# servicio o aplicación de escritorio que se ejecuta en un Servidor de Windows cuadro de hacer esto, por ejemplo.

    Lo que la Amazon app de iOS para reconocimiento de imágenes a partir de lo que puedo suponer es que aparecen localizar puntos de SURF en tiempo real y envía los datos al servidor, mientras que el escaneo en lugar de la imagen completa. Mi conjetura es que el uso de OpenCV en el dispositivo para hacer esto. Pero todavía usan el software de servidor para enviar de nuevo la igualada SKU de producto.

    Aquí una impresionante post del blog de un tipo que quería hacer de la imagen correspondiente en .NET y camina a través de cada paso, incluyendo cómo funciona, cómo hacerlo y, a continuación, 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/

    Por lo que he podido aprender es que la Busque algoritmo realiza la mejor y la más rápida de grandes cantidades de imágenes, pero también lleva horas, días, y posiblemente semanas (dependiendo de la cantidad de imágenes que tiene) para crear masiva de los índices de búsqueda. Yo creo que cuando se trata de image matching he encontrado a la velocidad de la creación de una sólida índice es, en relación a la velocidad de la búsqueda de coincidencias de las consultas.

    • y el enlace no funciona

Dejar respuesta

Please enter your comment!
Please enter your name here