Si vous pouviez implémenter un SVM, vous pouvez quantifier les fonctionnalités. :)
En règle générale, les caractéristiques sont quantifiées à l'aide du clustering k-means. Tout d'abord, vous décidez de la taille de votre "vocabulaire" (disons 200 "mots visuels"), puis vous exécutez le clustering k-means pour ce nombre de clusters (200). Les descripteurs SIFT sont des vecteurs de 128 éléments, c'est-à-dire des points dans un espace à 128 dimensions. Vous pouvez donc essayer de les regrouper, comme tout autre point. Vous extrayez des descripteurs SIFT d'un grand nombre d'images, similaires à ceux que vous souhaitez classer à l'aide d'un sac de fonctionnalités. (Idéalement, cela devrait être un ensemble d'images distinct, mais dans la pratique, les gens obtiennent souvent des fonctionnalités de leur ensemble d'images d'entraînement.) Ensuite, vous exécutez le clustering k-means sur ce grand ensemble de descripteurs SIFT pour le partitionner en 200 (ou autre) clusters , c'est-à-dire affecter chaque descripteur à un cluster. k-means vous donnera 200 centres de cluster,
Ensuite, vous prenez chaque descripteur SIFT dans votre image et décidez lequel des 200 clusters il appartient, en trouvant le centre du cluster le plus proche. Ensuite, vous comptez simplement le nombre de fonctionnalités de chaque cluster que vous avez. Ainsi, pour toute image avec un nombre quelconque de fonctionnalités SIFT, vous avez un histogramme de 200 cases. C'est votre vecteur d'entités que vous donnez au SVM. (Remarque: le terme fonctionnalités est largement surchargé).
Si je me souviens bien, il y a eu beaucoup de travail sur la façon de normaliser ces histogrammes. Je me trompe peut-être, mais je semble me souvenir d'un article qui prétendait qu'un vecteur de caractéristiques binaires (c'est-à-dire 1 si au moins 1 caractéristique de ce cluster est présent, et 0 sinon) fonctionnait mieux qu'un histogramme. Vous devrez vérifier la littérature pour plus de détails, et les détails sont importants.
Edit: la boîte à outils du système de vision par ordinateur pour MATLAB fournit désormais le sac de fonctionnalités .