1

Je dois extraire des fonctions de criblage d'un jeu de données contenant 1500 images qui seront utilisées plus tard pour Bag of Words. Le résultat sur une image a par exemple 3168 caractéristiques nécessitant un MB de mémoire. Est-ce que sauver toutes les fonctionnalités seulement le chemin? Comme chaque image se traduit par différentes dimensions de [cadres, descripteurs], quel est le bon moyen de sauvegarder le résultat?SIFT Feature Extraction pour 1500 images

+0

1500 images n'est rien réellement. Si vous avez assez de stockage, choisissez simplement la méthode la plus simple (en stockant chaque paire séparément). – cagatayodabasi

Répondre

0

Vous mentionnez d'utiliser les fonctionnalités pour plus tard. Comment envisagez-vous actuellement de sauvegarder les fonctionnalités pour les rendre persistantes? Faire l'extraction des caractéristiques à chaque fois fonctionnera, mais pour 1500 images ce sera un processus lent.

Une option que vous pouvez utiliser est le clustering k-means pour générer un dictionnaire basé sur l'ensemble des fonctionnalités/descripteurs. Je l'ai fait pour un corpus de 1100 images et mon livre de codes résultant est < 1 Mo avec 200 clusters. Mon livre de codes est enregistré en tant qu'objet sérialisé (décapé) en python afin qu'il puisse être ouvert facilement en cas de besoin.

Voici un cours intensif sur les k-means (en supposant que vous utilisez Python): http://www.pyimagesearch.com/2014/05/26/opencv-python-k-means-color-clustering/

Utilisez-vous le sac de mots visuels des 1500 images pour un ensemble de données différent? Ou allez-vous utiliser BoVW pour faire correspondre dans les 1500 images?

+0

Je voudrais utiliser un ensemble de 1500 images pour l'ensemble de formation (sac de mots visuels) et le tester sur d'autres images. Veuillez me corriger si mon approche est incorrecte. – wannabegeek

0

Je suppose qu'il y a un problème avec le stockage. en ce qui concerne ce que j'ai vécu. il y a une erreur "mémoire insuffisante" en python en empilant des descripteurs de sift. OU la mémoire du programme ne peut pas être écraser la mémoire .. juste une hypothèse