0

Je travaille la détection des mauvaises herbes. J'ai commencé à extraire des fonctionnalités du descripteur HoG. Comme étudié à partir de la littérature HoG que le HoG n'est pas invariant de rotation. J'ai au total 18 images de chaque classe d'herbe et il y a deux classes. Dans ma base de données de formation et de test, j'ai pivoté chaque image [5 10 15 20 ... 355] degré.Le descripteur HOG est un invariant de rotation?

La formation et les tests sont effectués à l'aide du package LibSVM. et je reçois une précision d'environ 80%. Ma question est de savoir si le HoG n'est pas invariant de rotation alors comment puis-je obtenir une telle précision?

Répondre

2

La première chose d'abord, pour un descripteur invariant par rotation D vous:
D (image) ~ = D (image_5) ~ = D (image_X)
X: l'angle de rotation

par l'opérateur ~ = nous voulons dire que la distance entre les entités comparées est petite. En conséquence, pour un descripteur invariant D rotatif, vous n'avez pas besoin d'ajouter à votre ensemble d'apprentissage la version pivotée de votre image. Parce que D (image) ~ = D (image_30) ~ = D (image_X), l'ajout de l'image pivotée à l'ensemble d'apprentissage est en quelque sorte redondant (dans l'espace de caractéristiques, vous ajoutez des échantillons à une position très similaire).

Au lieu de cela, dans la configuration de la robustesse à la rotation est pas gérée par HOG mais par:
1/augmentation des données (en ajoutant les images ayant subi une rotation à l'ensemble de la formation)
2/l'algorithme d'apprentissage machine SVM.
Dans l'espace de caractéristiques, pour HOG: D (image) et D (image_X) sont situés dans différentes positions dans l'espace caractéristique et le SVM apprend à les "mettre" dans la même classe.

Si vous voulez vraiment tester l'invariance de HOG par rapport à la rotation, n'ajoutez pas les images pivotées à l'ensemble d'apprentissage, mais conservez-les dans l'ensemble de test. Accuraccy devrait tomber drastiquement.