¿Hay algún algoritmo de clasificación de imágenes que no sean redes neuronales?

8

La clasificación de imágenes es la tarea de asignar una de las etiquetas previamente conocidas a una imagen dada. Por ejemplo, sabe que se le darán un par de fotos y cada imagen tiene exactamente una de . El algoritmo debe decir lo que muestra la foto.n{cat,dog,car,stone}

El conjunto de datos de referencia para la clasificación de imágenes es ImageNet ; especialmente tu desafío de reconocimiento visual a gran escala (LSVRC) . Tiene exactamente 1000 clases y una gran cantidad de datos de entrenamiento (creo que hay una versión reducida con aproximadamente 250px x 250px, pero muchas imágenes parecen ser de Flicker).

Este desafío generalmente se resuelve con CNN (u otras redes neuronales).

¿Hay algún documento que intente un enfoque que no utilice redes neuronales en LSVRC?

Para aclarar la pregunta: Por supuesto, hay otros algoritmos de clasificación como vecinos más cercanos o SVM. Sin embargo, dudo que funcionen para todas esas clases / esa cantidad de datos. Al menos para -NNs, estoy seguro de que la predicción sería extremadamente lenta; para SVM supongo que tanto la adaptación como la predicción serían muy lentas (?).kk

Martin Thoma
fuente
No debe "adivinar" la velocidad de entrenamiento y predicción de un algoritmo. debe hacer un punto de referencia usted mismo para ver qué tan rápido es el entrenamiento en su propio conjunto de datos. Una vez que modela la compilación (con problemas como el sobreajuste resuelto), la predicción es otro paso.
Manu H
@ManuH Sé que para la implementación que utilicé fue demasiado lento para kNN. Pero solo puedo suponer que este es un problema intrínseco del algoritmo, que no se puede resolver en este dominio del problema (por ejemplo, mediante una fuerte reducción de la dimensionalidad). Esta es la razón por la que solicito documentos: quiero saber qué han intentado otros.
Martin Thoma

Respuestas:

4

Parte del problema al responder esta pregunta es que en realidad hay dos preguntas. El primero:

¿Hay algún algoritmo de clasificación de imágenes que no sean redes neuronales?

Si mucho. Pero ahora la pregunta real:

¿Hay algún documento que intente un enfoque que no utilice redes neuronales en LSVRC?

En su pregunta, descarta métodos como kNN y SVM debido a la velocidad. Bolsa de palabras es un método utilizado para resolver este problema. MATLAB tiene una buena demostración ( http://www.mathworks.com/help/vision/examples/image-category-classification-using-bag-of-features.html ). Pero BoW incorpora la agrupación de k-means, por lo que puede no ajustarse a sus necesidades.

Existen algunos otros métodos interesantes de clasificación de imágenes, como el análisis de textura. TA se está investigando como una forma de clasificar la malevolencia de la enfermedad en imágenes médicas (como tumores). Aquí hay un documento de referencia común: http://www.ncbi.nlm.nih.gov/pmc/articles/PMC2701316/

Aquí hay una descripción general de la clasificación de imágenes: http://www.tandfonline.com/doi/full/10.1080/01431160600746456

Hobbes
fuente
1

Puede usar cualquier algoritmo que pueda manejar la dimensionalidad de sus datos, incluidos SVM y K Vecinos más cercanos. El rendimiento de los algoritmos mejor implementados es casi el mismo, acepte para CNN. La razón por la que se utiliza CNN es porque actualmente es el líder en cuanto a precisión, y lo ha sido durante varios años.

John Yetter
fuente
Básicamente estás repitiendo lo que escribí en mi pregunta; esta no es una respuesta a mi pregunta
Martin Thoma
Aquí hay uno de esos trabajos que usa una variante de SVM. robotics.stanford.edu/~koller/Papers/Gao+Koller:ICCV11.pdf
John Yetter
0

Hay muchos algoritmos que se pueden usar para realizar clasificaciones (muchos hasta el punto de que es difícil mencionarlos a todos). Le sugiero que eche un vistazo a este http://dlib.net/ml_guide.svg

Tomar la decisión de qué algoritmo usar es una función del problema con el que está trabajando, principalmente: 1. El número de clases 2. El número de muestras 3. Las variaciones dentro de las clases y las similitudes entre clases 4. Desequilibrio de datos 5. La dimensión de su característica y muchos otros parámetros

En general, CNN es muy popular por dos razones: pueden conducir a un alto rendimiento en problemas muy desafiantes y son soluciones generales en el contexto en el que necesita comprender sus arquitecturas, las estrategias y los trucos para realizar solo la capacitación, después de eso no necesita cambiar algo, no hay parámetros para jugar.

Bashar Haddad
fuente
Lea la pregunta en negrita en el texto que escribí.
Martin Thoma