A classificação da imagem é a tarefa de atribuir um dos rótulos conhecidos anteriormente a uma determinada imagem. Por exemplo, você sabe que receberá duas fotos e cada imagem contém exatamente uma de . O algoritmo deve dizer o que a foto mostra.
O conjunto de dados de referência para classificação de imagem é ImageNet ; especialmente o desafio de reconhecimento visual em larga escala (LSVRC) . Ele tem exatamente 1000 aulas e uma enorme quantidade de dados de treinamento (acho que há uma versão reduzida com cerca de 250px x 250px imagens, mas muitas imagens parecem ser do Flicker).
Esse desafio geralmente é resolvido com CNNs (ou outras redes neurais).
Existe algum artigo que tente uma abordagem que não use redes neurais no LSVRC?
Para esclarecer a pergunta: Claro, existem outros algoritmos de classificação como vizinhos mais próximos ou SVMs. No entanto, duvido que funcionem para tantas classes / tantos dados. Pelo menos para -NNs, tenho certeza de que a previsão seria extremamente lenta; para SVMs, acho que tanto o ajuste quanto a previsão seriam muito lentos (?).
fonte
Respostas:
Parte do problema de responder a essa pergunta é que, na verdade, existem duas perguntas. O primeiro:
Existem algoritmos de classificação de imagens que não são redes neurais?
Sim, muitos. Mas agora a pergunta realmente:
Existe algum artigo que tente uma abordagem que não use redes neurais no LSVRC?
Na sua pergunta, você descarta métodos como kNN e SVM devido à velocidade. Bag of Words é um método usado para resolver esse problema. O MATLAB tem uma boa demonstração ( http://www.mathworks.com/help/vision/examples/image-category-classification-using-bag-of-features.html ). Mas o BoW incorpora o agrupamento k-means, para que não atenda às suas necessidades.
Existem outros métodos interessantes de classificação de imagens, como análise de textura. A AT está sendo pesquisada como uma maneira de classificar a malevolência da doença em imagens médicas (como tumores). Aqui está um documento comumente referenciado: http://www.ncbi.nlm.nih.gov/pmc/articles/PMC2701316/
Aqui está uma visão geral da classificação de imagens: http://www.tandfonline.com/doi/full/10.1080/01431160600746456
fonte
Você pode usar qualquer algoritmo capaz de lidar com a dimensionalidade de seus dados, incluindo SVM e K vizinhos mais próximos. O desempenho dos melhores algoritmos implementados é praticamente o mesmo, aceito pela CNN. A razão pela qual a CNN é usada é porque atualmente é líder em precisão e existe há vários anos.
fonte
Existem muitos algoritmos que podem ser usados para realizar classificações (muitas a ponto de dificultar a menção de todas). Sugiro que você dê uma olhada neste http://dlib.net/ml_guide.svg
A decisão de qual algoritmo usar é uma função do problema com o qual você está trabalhando, principalmente: 1. O número de classes 2. O número de amostras 3. As variações nas classes e as semelhanças entre as classes 4. Desequilíbrio de dados 5. A dimensão do seu recurso E muitos outros parâmetros
Em geral, a CNN é muito popular por dois motivos: eles podem levar a um alto desempenho em problemas muito desafiadores e são soluções gerais no contexto em que você precisa entender as arquiteturas e estratégias de truques para executar apenas o treinamento. Depois disso, você não precisa mudar qualquer coisa, sem parâmetros para brincar.
fonte