2010-02-15 15 views
0

Quelle approche suggéreriez-vous pour classer automatiquement le type trouvé dans les images? Les échantillons sont probablement volumineux, avec un texte noir sur fond blanc.Classer des échantillons de type à partir de fichiers image

Les catégories sont définies ici, avec quelques exemples sur chacune d'elles (lien Google Livres): http://bit.ly/9Mnu7P Il s'agit d'une version étendue du système de classification VOX-ATypI. Mes réflexions initiales à ce sujet étaient de former le système avec beaucoup d'échantillons de caractères uniques de chaque catégorie, mais je me demande s'il existe une meilleure façon d'éliminer la nécessité de faire la comparaison une lettre à la fois.

+0

L'étiquetage avec «vision par ordinateur» pourrait être utile. –

+0

Étiqueté. Je voudrais aussi ajouter que j'essaie d'éviter de recourir à des solutions vraiment coûteuses, aussi bonnes soient-elles. Celui-ci semble prometteur, cependant: http://www.ideeinc.com/products/piximilar/ –

+0

Eh bien, vous pouvez l'essayer. Mais les solutions générales sont souvent inefficaces ou inefficaces. Je crois que vous devez mettre en œuvre une méthode spécifique. Par exemple, ils semblent utiliser la saturation des couleurs comme une caractéristique, ce qui est totalement inutile dans votre cas. –

Répondre

2

D'abord, vous devez extraire des fonctions pour la classification. Les polices de caractères se distinguent généralement par l'épaisseur des lignes, la présence de empattements, la "circularité" des parties de caractères. Ainsi, les caractéristiques possibles sont:

  • La fraction du nombre de pixels noirs sur la zone fixe.
  • Essayez d'appliquer la morphologie mathématique erosion quelques fois (et/ou utiliser des masques) et de calculer cette fraction
  • Calculer la compacité moyenne d'un caractère: périmètre^2/zone
  • Après l'application de l'érosion, compter le nombre de composants connectés pour un caractère
  • Compute l'allongement et d'autres image moments, aussi la direction
  • etc

Je vois deux options: soit compute signifie FEA Essayez d'abord de classer les lettres et de classer la police en fonction de certaines lettres spécifiques (vous formerez donc le classificateur différent pour une lettre différente). Il est difficile de dire lequel est le meilleur dans votre cas. Comme pour l'algorithme d'apprentissage spécifique, Random Forest semble être un bon point de départ. Il y a une implémentation dans la bibliothèque OpenCV.