¿Se puede usar la detección de características / descripción de características para la clasificación de imágenes con redes neuronales artificiales?

Hay dos formas de hacerlo:

1) Elija los puntos de interés N-más fuertes para alimentar a la ANN. Por ejemplo, en MATLAB tiene la opción de seleccionar un umbral o especificar exactamente el número de puntos de interés / regiones que necesita.

Con este enfoque, puede ver que uno perderá algunos puntos de interés que pueden tener más información discriminatoria sobre la imagen.

2) Para tratar con un número variable de características, un enfoque (que creo que se usa ampliamente) es utilizar el modelo de Bolsa de palabras (BoW) . En BoW, crea histogramas y los llena con el número variable de características que detecta de la imagen. El histograma relleno resultante es su descriptor de características de tamaño constante.

¿Cómo construir histogramas? Simplemente extrae las características de todas las imágenes en su conjunto de entrenamiento y ejecuta k-means sobre las características. La k aquí sería el tamaño de su histograma, y ​​efectivamente su nuevo descriptor de características (como en su nueva característica sería k-dimensional ). Después de ejecutar k-means, terminarás con k centros de clúster. Estos son tus contenedores.

Ahora, para construir descriptores fijos de características k-dimensionales a partir de su imagen, use el conjunto de características que extrajo de su imagen y ejecute una única iteración de k-means inicializada con los centros de k-cluster que identificó anteriormente. Al final de esta iteración, la cardinalidad de cada grupo le brinda un histograma de tamaño fijo efectivo (descriptor de características) para su imagen.

Haga esto para todas las imágenes y entrene su ANN con el nuevo descriptor de funciones. Luego, para una nueva imagen, cree una representación de histograma (descriptor de características) utilizando la técnica descrita en el párrafo anterior y aliméntela a la ANN para obtener una clasificación.

Por supuesto, elegir la k correcta será un desafío, pero al principio puedes elegir la mejor k que mejore tu precisión al máximo (sin un ajuste excesivo). Para obtener mejores opciones, le apoyo, puede consultar la literatura. O bien, puede ver las variantes / heurísticas de k-means que intentan determinar automáticamente la mejor k.

Un inconveniente común de BoW es que pierde información espacial. Sin embargo, puede ver que intenta utilizar toda la información.

Para obtener más detalles sobre el modelo BoW, eche un vistazo a estas diapositivas:
http://www.cs.umd.edu/~djacobs/C…
Página en vision.rwth-aachen.de

En general, extrae las características de pequeños parches, digamos 8 × 8 parches. Como Syed Muhammad Ali señaló, puede arreglar esto a un número dado. Así que supongamos que sabe cómo extraer características “n” de un parche 8 × 8.

Lo que debe hacer a continuación es involucrar a su operador de extracción de características en la imagen. En otras palabras, tome cada parche superpuesto 8 × 8 en su imagen y extraiga las características “n” de cada uno. Esto le dará muchas funciones, demasiadas para usarlas concatenadas. Entonces, el segundo paso clave es “agrupar”.

Agrupar significa dividir su imagen original en zonas, por ejemplo, 4 zonas, y luego tomar el máximo o la media de todas las características extraídas de parches en esas zonas. Esto suena bajo el principio de que las imágenes son estacionarias. Si agrupa con 4 zonas y su extractor de funciones obtiene funciones “n”, terminará con 4n funciones para cada imagen.

Las dos claves son convolución y agrupación.

Luis

More Interesting

¿Cuáles son las diez mejores universidades del Reino Unido para obtener un doctorado en inteligencia artificial o aprendizaje automático?

¿Es el aprendizaje automático y el aprendizaje profundo una carrera mejor que el desarrollo web ahora?

¿Cuál es la forma mejor y más simple de agrupar productos por sus nombres?

En el análisis de sentimientos, ¿cómo son útiles los datos etiquetados por humanos para extraer características y capacitar a los clasificadores en el enfoque de aprendizaje automático?

¿Cómo puedo explicar que las unidades tradicionales de red neuronal recurrente (RNN) sufren el problema del gradiente de fuga?

¿Cuáles son las similitudes y diferencias entre los campos aleatorios condicionales (CRF) y las redes de Markov de margen máximo (M3N)?

OpenCV: ¿Cómo creo un conjunto de datos de descriptores de imagen con SIFT?

¿Qué tan difícil es para un estudiante de pregrado ser aceptado en un grupo de investigación en la universidad?

¿Cómo podría una máquina / sistema de IA identificar una oración sarcástica?

Me encanta codificar. '¿Hay alguna comunidad en la que pueda participar en pequeños proyectos para poder conectarme a ellos de forma remota y aprender?

Cómo analizar un algoritmo de repetición selectiva

¿Qué tan difícil es aprender el aprendizaje automático y el aprendizaje profundo si tienes un trabajo diario?

¿Debo escribir el código de Random Forest por mi cuenta o usar implementaciones existentes?

¿Cuáles son las áreas de investigación abiertas en refuerzo y aprendizaje profundo?

¿Por qué las redes neuronales recurrentes no pueden ampliarse bien?