Cómo desarrollar una recuperación de imagen basada en contenido

Este es un campo enorme y en crecimiento, y mi experiencia solo cubre un área pequeña, pero lo intentaré de todos modos. Primero, deberá decidir qué tipo de contenido utilizará para la recuperación. ¿Le interesan las funciones de imagen completa o la coincidencia basada en partes más pequeñas de imágenes? Por ejemplo, podría hacer un histograma de colores (número de píxeles de cada color), cubriendo toda la imagen, y buscar en su base de datos imágenes con histogramas coincidentes. Esa sería una característica a gran escala. Otras características a gran escala pueden incluir cuántos “bordes” hay y en qué orientación, como vertical, horizontal o qué ángulo. Su histograma podría contar la cantidad de píxeles que forman parte de cada dirección de borde.

En cuanto a las características a pequeña escala, los descriptores basados ​​en puntos clave son populares para capturar pequeños detalles de imágenes. Un punto clave suele ser un píxel de “esquina”, o posiblemente el centro de un blob. Estos descriptores se recopilan a partir de una imagen, y los que coinciden se buscan en su base de datos. Las imágenes de la base de datos con más coincidencias sirven como resultado. Ver SIFT, SURF, RÁPIDO, BREVE, ORB, etc.

En PicLookup.com, utilizamos OpenCV para el procesamiento de imágenes y MySQL para nuestra base de datos. Nuestra técnica es similar al enfoque de punto clave. Uno podría llamar a esto “sintáctico”, en oposición a “semántico”. Un enfoque semántico va más allá, tratando de identificar objetos en la imagen para que pueda devolver imágenes de objetos similares, en lugar de imágenes con pequeñas características coincidentes.

Las SVM y las redes neuronales parecen ser muy exitosas al combinar la información de bajo nivel (píxeles, características de puntos clave) con entrenamiento de alto nivel para lograr el reconocimiento de objetos. Por ejemplo, deje que la red aprenda “perro” mostrándole muchas fotos de perros. La red aprende las características clave y ensambla conexiones entre ellas en capas cada vez más altas (Deep Learning).

Para obtener una descripción general de alto nivel y ejemplos detallados con los que experimentar, considere mirar (PyImageSearch – Sea increíble al aprender OpenCV, Python y visión por computadora). La información que proporciona Adrian puede ahorrarle mucho tiempo y esfuerzo. Hth.

More Interesting

¿Cuáles crees que son los campos más emocionantes del aprendizaje automático fuera del aprendizaje profundo?

¿Cuál es la diferencia entre adaboost y el clasificador de perceptrones de una capa?

¿Cómo funciona la selección de características bayesianas?

¿Cuál es la mejor implementación distribuida de Word2Vec: Gensim o Spark?

¿Cuáles son algunas de las ventajas de usar PyTorch sobre TensorFlow?

Cómo probar y depurar código, código de optimización numérica y / o modelos de aprendizaje automático

¿Qué es el muestreo de control de casos y por qué necesitamos corregir el término constante en regresión logística (aprendizaje automático)?

¿La agrupación es indispensable en el aprendizaje profundo?

¿Es más fácil conseguir un trabajo de aprendizaje automático con maestros de una buena universidad que si solo eres autodidacta?

Cómo obtener un codificador automático de ruido para aprender una representación demasiado completa

¿Dónde puedo encontrar artículos sobre los métodos utilizados para ganar las competencias de Kaggle?

¿Cuáles son algunas de las ventajas de usar modelos de proceso gaussianos frente a SVM?

Suponga que la máquina es multinúcleo, el tiempo de ejecución de un programa en una máquina que ejecuta solo ese proceso es igual al tiempo de ejecución en una máquina en la que hay otros procesos ejecutados junto con él, ¿no es así?

¿Hay ejemplos de organizaciones de ciencias de la vida que logren resultados en el descubrimiento de drogas a través del aprendizaje automático que no serían posibles sin el aprendizaje automático?

¿Por qué decimos que la máquina de vectores de soporte y muchas otras técnicas de aprendizaje automático tienen un supuesto subyacente de iid?