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.
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 (?).
fuente
Respuestas:
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
fuente
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.
fuente
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.
fuente