Reconocimiento de imagen

11

Buscando un sistema de código abierto que permita el uso comercial para hacer reconocimiento de imágenes en una colección masiva y en crecimiento orgánico de imágenes 2-D donde las únicas variaciones conocidas serán:

  • Tamaño de escala de la imagen,
  • El ángulo que toma la imagen de la imagen,
  • Compensación de sincronización de color, lo que significa que debido a irregularidades en la captura y representación de un color de imagen de origen varía de una instancia a otra,
  • Recorte de la foto,
  • Adición de una marca de agua o texto,
  • Posibles variaciones de enfoque, lo que significa que la captura no estaba enfocada, no que se haya aplicado un filtro de manipulación de imagen.

Estoy de acuerdo con tener que entrenar la aplicación, siempre y cuando el rendimiento de la misma valga la pena; dicho esto, a largo plazo, espero que el recuento de instancias 2-D crezca más allá de los pocos miles iniciales hasta los cien de miles; pero eso es a largo plazo, y estaría feliz de tener una solución que funcione bien para saber con un conjunto de capacitación de 1000 instancias y 10 ejemplos por instancia.

ACTUALIZACIÓN: La licencia debe poder utilizarse para la distribución interna comercial sin la publicación del código fuente, incluso interna para todos aquellos que tienen el binario. El código nunca se venderá, solo se usará internamente, pero no todos los usuarios tendrán acceso al código fuente, solo a la interfaz.

errores
fuente
2
¿Has considerado OpenCV?
+1 @pwny: Gracias, así que no, nunca he probado ningún sistema de visión por computadora (CV), solo trato de tener una idea de si la forma en que pienso sobre el problema es correcta. Indicaría de qué son las imágenes, pero dado que se relaciona con una empresa comercial y el sistema de CV sería solo para uso interno, estoy tratando de no indicar qué procesará el sistema, pero los desafíos que enfrentará. Si OpenCV cumple con los requisitos actuales, publíquelo como respuesta e intente vincular a documentos relacionados que cubran los requisitos funcionales proporcionados, si es posible. ¡Gracias otra véz!
1
No existe tal cosa como "distribución interna", de acuerdo con la ley de derechos de autor. Por lo tanto, la mayoría de las licencias (de todas las que tengo conocimiento) no se molestan con restricciones al respecto.
MSalters
+1 @MSalters: Gracias, ¿tiene un enlace a "de acuerdo con la ley de derechos de autor", lo que significa que parece que está diciendo que esto se establece en la Ley de Derechos de Autor de los Estados Unidos, aunque tal vez solo estoy leyendo su comentario.
1
@blunders: Técnicamente, es de ADPIC (Artículo 1.3), que establece que una persona jurídica (por ejemplo, una corporación) debe ser tratada como una persona física.
MSalters

Respuestas:

10

Puede ser un poco de bajo nivel, pero OpenCV puede proporcionarle las herramientas que necesita para construir dicho software de reconocimiento de imágenes. Por supuesto, OpenCV no proporciona todo lo que necesita fuera de la caja (creo que no soy profesional), pero tiene como objetivo proporcionar lo que se necesita para la visión por computadora en tiempo real.

Puede comenzar a leer la documentación aquí . Algunos buenos libros también se enumeran en esa página.

Espero que esto ayude, buena suerte!

pwny
fuente
¿La licencia GPLV2 de OpenCV significa que no se puede distribuir internamente dentro de un sistema de código cerrado? ¡Gracias!
¿Dónde ves la licencia GPLV2? En el primer párrafo de la página de inicio aparece como una licencia BSD.
@deterb: en el pie de página, en la parte inferior de la página.
@deterb: Parece que el enlace GPL es para el motor Wiki de MoinMoin utilizado para la wiki de OpenCV, no de OpenCV. ¡Gracias por señalar mi error!
+1 @pwny: Entonces, como señala, OpenCV está bajo una licencia BSD, que se indica en la página de inicio del sitio web (parece que la licencia GPLV2 de pie de página no se aplica a OpenCV), también intentó confirmar esto descargando OpenCV y buscando la licencia de búsqueda en todos sus archivos; que devuelven entre otras licencias de terceros, una licencia que parece ser para OpenCV en forma de licencia BSD, aunque no establece que sea una licencia BSD. Entonces, pasando eso, su respuesta es de gran ayuda, y parece lo suficientemente buena como para seguir adelante. ¡Gracias!
2

Solo para agregar a la discusión, actualmente estoy trabajando en la coincidencia de imágenes y descubrí que el ORB de OpenCV es gratuito; sin embargo, SURF y SIFT no lo son. Puede ver este ejemplo como un posible punto de partida.

motiur
fuente
1

Pastec http://www.pastec.io debe cumplir los requisitos de la pregunta inicial.

Es un motor de búsqueda e índice de código abierto para reconocimiento de imágenes publicado bajo la LGPL. Permite agregar, eliminar y buscar fácilmente imágenes coincidentes en el índice utilizando una API HTTP simple. Está basado en OpenCV y utiliza el descriptor ORB, que está libre de patentes a diferencia de SURF y SIFT.

MagSoft
fuente