2016-11-09 1 views
1

Je souhaite utiliser l'API Google Cloud Vision pour générer des fonctionnalités à partir d'images, que j'utiliserai plus tard pour former mon SVM à un problème de reconnaissance des émotions. Veuillez fournir une procédure détaillée pour l'écriture d'un script en python pouvant utiliser l'API Google Cloud Vision pour générer des fonctionnalités que je peux alimenter directement dans SVM.Reconnaissance d'émotions à l'aide de l'API Google Cloud Vision?

Répondre

1

Je voudrais aller avec les étapes suivantes:

Formation

  1. Créer un ensemble de données (formation + test) pour les émotions selon que vous voulez (comme la colère, heureux, etc.). Cet ensemble de données doit être diversifié mais équilibré en termes de sexe et d'âge.
  2. Extrayez les caractéristiques de chaque face.
  3. Normaliser l'ensemble de données. Obtenez la boîte de délimitation autour des visages et découpez-les à partir d'images. En outre, normaliser les tailles de chaque visage.
  4. Aligne les faces en utilisant les coordonnées Roll and Eye pouvant être acquises à partir de l'API Google.
  5. Entraînez un SVM (validez-le, etc.).

Test

  1. acquérir une image.
  2. Extrayez les fonctions.
  3. Normaliser et aligner le visage.
  4. Utilisez SVM.

Bibliothèque que je suggère:

scikit-learn - SVM

OpenCV - Manipulations Image

+0

J'ai un ensemble de données et j'ai des caractéristiques extraites en utilisant l'API Google Cloud Vision. Maintenant, comment décider exactement quelles fonctionnalités doivent être introduites dans SVM et comment les introduire dans SVM? J'ajoute un exemple de fichier json de caractéristiques correspondant à une image. https://docs.google.com/document/d/1IeHVju080cnxKRQ0aGifT6eIv-UEE18rWPrE-3WU1zA/edit?usp=sharing – Divyat

+0

Comme je l'ai dit, vous devez normaliser toutes les fonctionnalités en utilisant les cadres de délimitation de chaque face. Ensuite, je vous suggère de commencer par "repères". Ensuite, vous devez probablement découvrir l'effet de chaque fonctionnalité. Au fait, il suffit de les empiler dans un vecteur. (http://scikit-learn.org/stable/modules/svm.html) – cagatayodabasi