[PYTHON] Système de jugement d'image de petite fille Apprentissage automatique Lolinco

introduction

Cet article est SLP_KBIT Partie 2 Calendrier de l'Avent 2016 - Article du 7ème jour de Qiita.

Cet article est la deuxième partie des parties précédentes et suivantes, veuillez donc lire ici avant de lire cet article.

Édition Lolinco Machine Learning

Ensuite, dans l'application appelée Lolinco créée avec gembaf lors du hackathon organisé à SLP, je Je vais expliquer la partie de l'apprentissage automatique qui était en charge. (Si vous ne comprenez pas ou n'expliquez pas tout le code, ce sera assez long, donc c'est assez flou, comme comment l'utiliser.)

Environnement de développement

Cette fois, nous utiliserons une bibliothèque d'apprentissage automatique appelée Tensorflow publiée par Google.

Python 2.7.6 Liste des pips tensorflow (0.5.0)

Reportez-vous à ce qui suit pour l'installation http://qiita.com/bohemian916/items/4f0736dcea932a162d9e

Flux de processus

De ce flux de processus, la partie qui utilise Tensorflow est la partie qui détermine s'il s'agit du dernier loli. image

la mise en oeuvre

1. Créez un modèle

Dans cette phase, le loli et les autres images expliquées dans Front sont formés en tant que données d'enseignant pour construire un modèle.

Créez "test.txt" et "train.txt" qui contiennent le chemin de l'image des données à former en premier et l'image des données de test et la classification de l'image (loli ou autre).

test.txt,train.txt


train_img/loli/image_2942_0.jpg 1
train_img/others/image_1150_0.jpg 0
train_img/others/image_588_1.jpg 0 
・
・
・

Sur la base de ces données d'enseignant, créez un modèle à partir du code suivant. https://github.com/SLP-KBIT/Lolinco/blob/master/lib/init_model.py

Comme vous pouvez le voir à la fin du code, le modèle résultant est enregistré sous model.ckpt.

2. Discrimination d'image

Maintenant, utilisez le précédent model.ckpt pour déterminer l'image.

Code pour déterminer l'image https://github.com/SLP-KBIT/Lolinco/blob/master/lib/judge_loli.py

Exécutez l'image que vous souhaitez déterminer au moment de l'exécution en tant qu'argument d'exécution Dans ce cas, l'image du visage est extraite de l'image avec OpenCV et l'image du visage est discriminée.

L'extraction de l'image du visage et la discrimination de l'image sont décrites dans le routage de Sinatra. https://github.com/SLP-KBIT/Lolinco/blob/master/app.rb

Les références

Identifiez la société de production de l'anime Yuruyuri avec TensorFlow http://kivantium.hateblo.jp/entry/2015/11/18/233834

Impressions

Je ne fais généralement pas d'apprentissage automatique, donc le fait est que j'ai trouvé un bon échantillon et que j'ai réussi à le déplacer après le début de ce projet.

J'ai essayé de comprendre le plus possible en 2 jours, mais même l'explication du code était difficile avec de nombreux termes techniques ... orz De plus, si j'ai la chance de toucher Tensorflow, je voudrais commencer par les bases.

Recommended Posts

Système de jugement d'image de petite fille Apprentissage automatique Lolinco
Système de jugement d'image pour petite fille Lolinco
Mémo pratique du système d'apprentissage automatique
Apprentissage automatique
"Tutoriels OpenCV-Python" et "Système d'apprentissage automatique pratique"
Image d'apprentissage gonflée
[Memo] Apprentissage automatique
Classification de l'apprentissage automatique
Exemple d'apprentissage automatique
Script Python de collection d'images pour créer des ensembles de données pour l'apprentissage automatique
J'ai essayé de compresser l'image en utilisant l'apprentissage automatique