L'idée essentielle est: il n'y a rien de mal avec les informations sur les couleurs - c'est juste insuffisant. La meilleure chose à faire est donc de combiner plusieurs jeux de fonctionnalités.
Vous pouvez essayer plusieurs fonctionnalités pour résoudre cette ambiguïté. En ce qui concerne l'ensemble des fonctionnalités, vous pouvez utiliser les éléments suivants:
- Couleur (quelque chose comme la couleur dominante du MPEG7 ) OU Couleur Historgram
- Texture (sous forme de réponse de la banque de filtres) OU
- Histogrammes des bords
À titre de comparaison principale, je voudrais d'abord faire la distinction entre le patch de brique pure et le patch d'herbe pure. Pour cela, la couleur est certainement l'élément le plus potentiel.
Combiner des fonctionnalités pour rendre la classification plus robuste
J'utiliserais une couleur dominante (utilise mais pas la seule) ou une couleur clé et formerais les grappes. Voyez où se trouvent les têtes de grappe;
Si les têtes de cluster se trouvent toutes deux dans les zones attendues, la classe est généralement facile à détecter, si elles tombent dans la zone grise, alors la classe appartient. S'il tombe dans la zone grise, une autre fonction est requise.
De même, vous pouvez classer indépendamment à l'aide de la matrice de texture , puis combiner les deux scores pour vous assurer que les résultats ont du sens.
Faire face aux problèmes spatiaux
Plus précisément lorsque vous réalisez que les patchs peuvent avoir des parties qui sont à moitié des briques et à moitié de l'herbe. Je pense que vous n'avez plus besoin de fonctionnalités supplémentaires ou de matrice différente. Cela peut être géré de deux manières.
1. Conservez plusieurs patchs d'adhésion en tant que classes différentes.
Par exemple, en dehors de la birck-only
classe et de la grass-only
classe, vous pouvez également avoir half-brick-half-grass-vertical
et half-brick-half-grass-horizontal
au total quatre classes. Cela peut être facilement classé en utilisant la méthode de clustering dont nous avons discuté précédemment.
2. Ajouter une classification multi-échelles
Par exemple, étant donné que le patch est dans une zone grise, vous pouvez diviser le patch en deux parties, c'est-à-dire gauche vs droite. De la même manière, vous pouvez également diviser le haut contre le bas. Vous pouvez maintenant appliquer une classification identique pour cette "demi-partie". Idéalement, la fonctionnalité répertoriée ci-dessus devrait vous permettre de la rendre évolutive pour comparer une similitude de fonctionnalité entre une partie complète (par exemple, la couleur dominante peut être la même quelle que soit la taille) ou vous pourriez avoir à la redimensionner.
Ajouter plus de classes (comme dans la partie 1) ou plus de niveaux (comme dans la partie 2) sera simple; la limite supérieure proviendra de deux facteurs - soit toute division supplémentaire n'ajoutera plus de valeur à la classification, soit un bruit excessif introduira effectivement une ambiguïté dans la classification. C'est là que vous vous arrêtez.