Je vais vous expliquer comment utiliser TokyoTechFes2015. J'espère qu'il vous sera utile de pratiquer la démo et d'améliorer le script.
La discrimination des catégories d'images de visage est effectuée par apprentissage automatique.
En changeant et en apprenant dans le dossier dataset
, il est possible de déterminer n'importe quelle catégorie d'image faciale.
Tout d'abord, clonez depuis git.
git clone https://github.com/Arudori5001/TokyoTechFes2015.git
cd TokyoTechFes2015
ImageMagick C'est une application qui prend des photos avec une caméra PC. Il est disponible sur http://cactuslab.com/imagemagick/ (Mac).
OpenCV http://qiita.com/zabeth129/items/f065f79b1322a82edb1d Veuillez vous référer à ce qui précède et essayez d'installer.
bibliothèque dépendante de python Tous sont disponibles sur pip. Veuillez noter que la version de chainer est assez ancienne.
pip install cv2==1.0
pip install pillow==2.9.7
pip install chainer==1.3.2
pip install matplotlib==1.4.3
Ensuite, décompressez dataset.zip
et vous êtes prêt à partir.
unzip dataset.zip
La structure de répertoire du dossier dataset
créé par décompression est la suivante (seul le dossier est affiché).
$ tree dataset -d
dataset
├── Baysters
├── Buffealoes
├── Carp
├── Dragons
├── Eagles
├── Fighters
├── Giants
├── Hawks
├── Lions
├── Marines
├── Swallows
└── Tigers
Je pense que les noms des 12 équipes de baseball sont alignés. Chaque dossier contient des images faciales des joueurs de chaque équipe.
Si vous faites une prédiction avec les paramètres par défaut, elle prédira "le visage du joueur de quelle équipe dans les 12 équipes le visage dans l'image donnée est proche".
Ce que vous attendez peut être changé en changeant le dossier dataset
et ci-dessous (voir ci-dessous).
python bbteam_pred.py (chemin de l'image que vous souhaitez prédire)
ne peut pas détecter!
S'affiche et le script se termine.Ici, à titre d'exemple, supposons que l'image ʻeagles_koyama.jpgdéjà dans le dossier
sample` soit l'image prise à l'étape 1.
À propos, cette personne est Koyama de Rakuten Eagles comme le nom du fichier l'indique.
python bbteam_pred.py sample/eagles_koyama.jpg
L'image capturée apparaîtra à l'écran. Il y a un cadre autour du visage.
Fermez l'image du cadre affiché avec le bouton X en haut à gauche, et deux nouveaux écrans apparaîtront (l'un peut être caché dans l'autre fenêtre).
Sur l'image ci-dessus, vous pouvez voir que Koyama est correctement prédit pour être proche du visage du joueur Eagles, avec une certitude de 95%. L'image ci-dessous montre également la confiance dans des équipes autres que les Eagles. Outre les aigles étant de 95%, la carpe semble être à environ 5% de certitude.
À propos, la même sortie est également sortie sur la console.
predicted categoriy : Eagles
certainty factor of predicted categoriy : 0.954637289047
certainty factors of each categories :
Baysters :
0.00%
Buffealoes :
0.00%
Carp :
4.51%
Dragons :
0.00%
Eagles :
95.46%
Fighters :
0.00%
Giants :
0.00%
Hawks :
0.02%
Lions :
0.00%
Marines :
0.00%
Swallows :
0.00%
Tigers :
0.00%
Si vous souhaitez modifier ce que vous attendez, vous devez modifier l'ensemble de données avant l'entraînement.
L'ensemble de données utilise des fichiers avec une structure de répertoire fixe dans le dossier dataset
pour l'apprentissage et les tests.
Dans le cas par défaut, comme mentionné ci-dessus, la structure des répertoires est la suivante.
$ tree dataset -d
dataset
├── Baysters
├── Buffealoes
├── Carp
├── Dragons
├── Eagles
├── Fighters
├── Giants
├── Hawks
├── Lions
├── Marines
├── Swallows
└── Tigers
Le nom de chaque répertoire directement sous le dossier dataset
( Baysters
, Buffealoes
, ...) représente le nom de la catégorie. Par défaut, «Baysters» a Baysters dans une catégorie.
Les images sont alignées directement sous des dossiers tels que «Baysters».
$ tree dataset/Baysters
dataset/Baysters
├── 1000003_ss.jpg
├── 1000007_ss.jpg
├── 1000117_ss.jpg
├── 1000118_ss.jpg
├── 1000119_ss.jpg
...
Ces images sont des images faciales appartenant à leurs catégories respectives. Dans «Baysters», les images du visage des joueurs de Baysters sont alignées. Veuillez modifier la structure du répertoire en vous référant à ce qui précède.
Par exemple, si vous voulez juger s'il s'agit d'un homme ou d'une femme, procédez comme suit. Enregistrez l'image du visage féminin dans «Femme» et l'image du visage masculin dans «Homme».
$ tree dataset -d
dataset
├── Female
└── Male
L'apprentissage se fait avec la commande suivante.
python Learning.py (nombre de données utilisées pour l'apprentissage)(Nombre de données utilisées pour les tests)
Par défaut, il y a 680 images dans l'ensemble de données. Si vous souhaitez utiliser 520 feuilles pour l'apprentissage et 120 feuilles pour les tests, procédez comme suit.
python Learning.py 520 130
Recommended Posts