[PYTHON] J'ai examiné les traits du visage de Yuki Kashiwagi pour comprendre TensorFlow [Partie 1]

J'ai examiné les traits du visage de Yuki Kashiwagi pour comprendre TensorFlow et CNN (réseau de neurones convolutifs). Je ne suis pas fan de Yuki Kashiwagi, mais je ne connais pas les idoles et les actrices, donc la raison pour laquelle j'ai choisi cette personne est que j'ai trouvé le visage d'une personne qui semble avoir des caractéristiques. Il se concentre sur la partie apprentissage utilisant TensorFlow Partie 2 et explique la partie jugement [Partie 2](http: // qiita) Continuez vers .com / FukuharaYohei / items / 3f26bfe71fdb5720ce7e).

Conclusion

La fonctionnalité ** de Yuki Kashiwagi pour TensorFlow n'était pas le nez **. Pour être honnête, je n'étais pas sûr des caractéristiques de TensorFlow. Afin de restreindre les fonctionnalités, j'ai essayé de créer un modèle d'apprentissage pour rendre la méthode de jugement quelque peu facile à comprendre sans essayer d'améliorer la précision du jugement. Je regarde un modèle avec une précision de 68% par rapport aux données de test (la faible précision est également problématique avec le modèle que j'ai assemblé et les données d'entraînement). L'image du résultat du processus de mise en commun de la deuxième couche est prédictive et fait une telle différence. 10.Summary01.JPG Cependant, comme il est le résultat d'une exécution par un débutant, si une excellente personne l'assemble, il peut être possible de faire quelque chose comme un "juge de nez" très précis.

Flux global exécuté

Nous avons mené cette enquête sur les traits du visage selon le flux suivant. 10.Summary00.JPG

1. Acquisition d'images

Nous utilisons l'API Bing Image Search pour rechercher et collecter des images. Le nombre total d'images collectées est de 2471, et la répartition est indiquée dans la figure ci-dessous. J'ai recherché des actrices et des idoles qui semblent avoir beaucoup d'images. 20.ImageSearch01.JPG Voir l'article "Appel de l'API Bing Image Search v5 depuis Python pour collecter des images" pour le code d'exécution et les instructions.

2. Détection de visage + découpe + suppression des faux positifs

"Détection de visage + coupure" a été réalisée en utilisant OpenCV, et "suppression des faux positifs" a été réalisée manuellement. En plus de "1. Recherche d'image", le nombre de feuilles suivant est traité. Le taux de détection de visage est d'environ 60% à 70%. 30.openCV01.JPG J'ai écrit les leçons apprises dans cette partie dans l'article "Astuces pour détecter efficacement un grand nombre d'images avec openCV". Veuillez noter que la suppression manuelle des faux positifs prend beaucoup de temps.

3. Apprentissage

J'apprends à utiliser TensorFlow. C'est presque le même modèle que le didacticiel TensorFlow Expert Deep MNIST for Experts. Pour obtenir des explications, consultez l'article ["[Explication pour les débutants] Tutoriel TensorFlow Deep MNIST"] Veuillez vous référer à (http://qiita.com/FukuharaYohei/items/0aef74a0411273705512). 10.Summary02_model.JPG Pour l'image de la partie "Conclusion", l'image du résultat du processus de mise en commun de la deuxième couche est extraite à l'aide de TensorBoard (article ["[Introduction à TensorBoard: image] Le traitement d'image TensorFlow est visualisé pour approfondir la compréhension"](http: //qiita.com/FukuharaYohei/items/fae6896e041235033454)). 10.Summary02_model_02.JPG

J'aurais aimé faire de mon mieux pour créer des données sur les enseignants, mais chaque donnée ressemble à ceci. Pour être honnête, c'est terrible, même si la précision n'est pas le but. Si vous ajustez les hyper paramètres etc. à droite du tableau comme "Pour la précision", ce sera un peu mieux.

article Contenu Remarques À des fins de précision
Données des enseignants Environ 1600 feuilles(Environ 600 d'entre eux sont corrects(Yuki Kashiwagi)image) il n'y a qu'un peu ··· Environ 2500 feuilles
Données d'entraînement Environ 1350 au hasard Ramassé au hasard avec la fonction EXCEL Environ 2250 feuilles
données de test Environ 250 au hasard Ramassé au hasard avec la fonction EXCEL Environ 250 feuilles
Taux de réponse correct pour les données d'entraînement 74% Faible··· 85%
Taux de réponse correct pour les données de test 70% Aussi faible ... 84%

La figure ci-dessous montre la transition du taux de réponse correct et des erreurs d'apprentissage. Pour la sortie vers TensorBoard, reportez-vous à l'article "[Introduction à TensorBoard] Visualisez le traitement TensorFlow pour approfondir la compréhension". 40.DeepLearning01.JPG

L'apprentissage sera expliqué en détail dans la deuxième partie, y compris le code.

4. Jugement

Pour le jugement d'image, la détection de visage + le recadrage à l'aide d'OpenCV et le jugement d'image à l'aide de TensorFlow se poursuivent sous la forme illustrée dans la figure ci-dessous. Les paramètres appris enregistrés dans le processus de "3. Apprentissage" sont utilisés lors du jugement de l'image. 50.Judge01.JPG

environnement

L'environnement d'exécution est le suivant.

type version
OS Windows 10 64bit Pro
Anaconda Anaconda 4.4.0
Python Python3.5
TensorFlow TensorFlow 1.3
OpenCV OpenCV 3.3

Recommended Posts

J'ai examiné les traits du visage de Yuki Kashiwagi pour comprendre TensorFlow [Partie 2]
J'ai examiné les traits du visage de Yuki Kashiwagi pour comprendre TensorFlow [Partie 2]
J'ai examiné les traits du visage de Yuki Kashiwagi pour comprendre TensorFlow [Partie 1]
Je veux comprendre à peu près systemd
J'ai essayé d'implémenter Autoencoder avec TensorFlow
J'ai essayé de visualiser AutoEncoder avec TensorFlow
Je veux gérer la rime part1
Je veux gérer la rime part3
J'ai essayé de classer le texte en utilisant TensorFlow
Je veux gérer la rime part2
Je veux gérer la rime part5
Je veux gérer la rime part4
Implémentation de DQN avec TensorFlow (je voulais ...)
Je n'ai pas compris le redimensionnement de TensorFlow, alors je l'ai résumé visuellement.