[PYTHON] Comment collecter des données d'apprentissage automatique

Récemment, de plus en plus d'articles sont écrits sur le Web concernant le problème de la collecte de données. Je veux chercher, rechercher et apprendre.

Ceci est une collection de liens vers des articles qui peuvent être utiles.

--Toby Segaran, traduit par Hitoshi Toyama et Masao Kamozawa "Group Knowledge Programming"

--Interface Numéro de juillet 2016 [«De la création de la base de données d'apprentissage la plus difficile au test de reconnaissance Raspeye 1, 2, 3 Apprentissage et reconnaissance du poisson cible "Nabeka"]](http://www.kumikomi.net/interface/contents/201607.php)

** Entrée manuelle **

Selon les rapports, les données pour l'apprentissage automatique sont souvent créées manuellement. Aussi, si le but est clair et que vous prévoyez de récupérer les résultats de votre investissement dans les travaux, embauchez un grand nombre de personnes. J'ai entendu dire que vous ajoutez constamment des données d'entrée manuellement et que vous apportez des améliorations.

** Importance des échantillons négatifs **

Dans le domaine de la détection des piétons, les images de routes et de rues n'incluant pas de piétons sont très importantes. Dans le cas d'une caméra embarquée, il est important que les données soient à l'angle de vue vu par le véhicule. Si vous souhaitez entraîner la détection des piétons avec Boosting, vous avez besoin d'un grand nombre d'images qui n'incluent pas de personnes. Avec les classificateurs de type Cascade, plus l'étape est tardive, plus la proportion d'images déroutantes est élevée. Dans un tel cas, si vous trouvez une image humaine et que vous l'utilisez comme négatif, les performances du détecteur seront considérablement réduites. Avec les classificateurs de type Cascade, plus l'étape est tardive, plus les résultats appris dépendent de l'ensemble de données formé (images positives et négatives). (Ajout: est-ce que peu de gens utilisent Boosting ces jours-ci? L'importance des échantillons négatifs reste la même.)

Par exemple, lorsque vous essayez de fabriquer un détecteur de visage de chien, il n'est pas certain que la collecte d'autant de visages de chien que peuvent être détectés par les détecteurs existants sera utile pour les performances du détecteur. La forme du visage est trop différente entre le chien Shiba et le chien Bull. Je pense qu'il est douteux que le visage du bulldog puisse être détecté en ne collectant que le visage du chien shiba. Ce n'est pas parce qu'il peut être détecté sur un visage que cela peut être détecté sur un autre. Par conséquent, il est dangereux d'essayer d'améliorer les performances du détecteur en utilisant l'image qui peut être détectée par le détecteur existant. Il devrait être possible d'utiliser des images qui ne peuvent pas être détectées par les détecteurs existants, par exemple en utilisant les résultats de suivi de la prochaine fois dans la scène où le visage du chien peut être détecté. (J'aimerais savoir à quoi ressemble cette situation dans l'apprentissage profond.) Dans l'apprentissage en profondeur, on prétend qu'une personne peut être authentifiée en fonction du profil par rapport à la base de données de la face avant.

Taux de classement élevé pour les visages orientés sur le côté, les lunettes de soleil et les masques Panasonic atteint le plus haut niveau de correspondance des visages au monde grâce à l'apprentissage profond

Vous pouvez également utiliser YOLO pour détecter de nombreux types d'objets dans vos vidéos. Même s'il y a une fausse détection, il est pratique d'avoir une vitesse de détection élevée si l'on suppose que la sélection se fera manuellement.

** Détecteur qui peut apprendre avec peu d'images **

Le détecteur HOG + SVM dans dlib peut être un détecteur d'objet avec très peu de données positives dans l'image. Il est surprenant qu'il soit très différent du détecteur Haar Casecade.

Apprentissage automatique avec dlib pour détecter les objets

** Utilisation de détecteurs existants pouvant être utilisés **

Lors de la collecte de données d'entraînement pour le développement de matériel, il est également possible d'utiliser une version logicielle du détecteur pour collecter les données.

référence: Importance de l'ensemble de données d'apprentissage automatique

CIFAR-10 et CIFAR-100 sont un ensemble de données de 80 millions d'images couleur étiquetées d'une taille de 32x32. [Python] Comment lire les données CIFAR-10, CIFAR-100

Post-scriptum:

Il existe différents modèles entraînés dans Model Zoo. Si vous créez un détecteur en l'utilisant, vous pouvez échantillonner l'image dans la plage des caractéristiques apprises et générer automatiquement l'annotation.

** Relations avec les personnes (piétons) **

Il s'agit d'une base de données de piétons avec segmentation. Uniquement disponible à des fins non commerciales. Il est utile pour l'apprentissage et l'évaluation des piétons.

** Relation de visage **

Face Database

FDDB: Face Detection Data Set and Benchmark

https://github.com/StephenMilborrow/muct#the-muct-face-database

En tant qu'ensemble de données négatif http://cocodataset.org/#home

collection de liens Computer Vision Datasets

CVonline: Image Databases

Yet Another Computer Vision Index To Datasets (YACVID)

60 Facial Recognition Databases

Examinons les données d'apprentissage utilisées dans l'article.

Dans la plupart des articles, l'origine des données apprises lors de l'implémentation est écrite. Ainsi, en lisant ces éléments, vous arriverez aux données.


Post-scriptum:

Dans le domaine de la détection de visage et de détection humaine, il existe des implémentations open source avec une précision raisonnable. Il n'y a donc aucun moyen de ne pas l'utiliser pour créer un jeu de données d'entraînement, un détecteur à vos propres fins. Si vous étendez les données d'entraînement au ratio de données qui est proche de votre objectif, il y a de fortes chances que vous vous rapprochiez d'un détecteur qui couvre votre objectif.

SlideShare SSII2018TS: apprentissage en profondeur à grande échelle

Concept de chaque étape de la collecte de données pour l'apprentissage automatique Ce n'est pas une bonne idée d'utiliser le ratio des données d'entraînement tel qu'il apparaît. Comment les ensembles de données d'apprentissage automatique sont perdus Comment une personne bâclée gère les données expérimentales

Recommended Posts

Comment collecter des données d'apprentissage automatique
scikit-learn Comment utiliser le résumé (apprentissage automatique)
Comment collecter des données Twitter sans programmation
Comment profiter de Coursera / Machine Learning (semaine 10)
Introduction à l'apprentissage automatique
Une introduction à l'apprentissage automatique
Super introduction à l'apprentissage automatique
Comment gérer les trames de données
[Python] Comment FFT des données mp3
Introduction à la rédaction de notes d'apprentissage automatique
Comment adapter plusieurs bibliothèques d'apprentissage automatique en une seule fois
Comment lire les données de la sous-région e-Stat
Introduction à l'apprentissage automatique avec scikit-learn - De l'acquisition de données à l'optimisation des paramètres
Comment collecter des images en Python
Comment diviser les données de formation en machine learning en variables objectives et autres dans Pandas
Comment gérer les données déséquilibrées
Utilisation d'icrawler plus simple pour la collecte de données d'apprentissage automatique
Apprentissage automatique
Comment utiliser l'apprentissage automatique pour le travail? 03_Procédure de codage Python
[Python] Enregistrez le PDF de Google Colaboratory sur Google Drive! -Collectons des données pour l'apprentissage automatique
Comment augmenter les données avec PyTorch
Apprentissage automatique dans Delemas (acquisition de données)
Présentation de la bibliothèque d'apprentissage automatique SHOGUN
Prétraitement dans l'apprentissage automatique 2 Acquisition de données
Prétraitement dans l'apprentissage automatique 4 Conversion de données
Procédure d'apprentissage automatique de base: ② Préparer les données
Comment utiliser l'apprentissage automatique pour le travail? 01_ Comprendre l'objectif de l'apprentissage automatique
Les gens mémorisent les connaissances acquises dans le cerveau, comment mémoriser les connaissances acquises dans l'apprentissage automatique
Comment créer une API de machine learning sans serveur avec AWS Lambda
Enregistrez les étapes pour comprendre l'apprentissage automatique
Sklearn de données déséquilibrées avec apprentissage automatique k-NN
J'ai installé Python 3.5.1 pour étudier l'apprentissage automatique
Une introduction à OpenCV pour l'apprentissage automatique
Comment étudier le test Deep Learning G
Python: prétraitement en machine learning: acquisition de données
[Python] Première analyse de données / apprentissage automatique (Kaggle)
Comment collecter des images de visage relativement facilement
Comment utiliser "deque" pour les données Python
Une introduction à Python pour l'apprentissage automatique
Python: prétraitement dans l'apprentissage automatique: conversion de données
Comment gérer les données de séries chronologiques (mise en œuvre)
Prétraitement dans l'apprentissage automatique 1 Processus d'analyse des données
Comment lire les données de problème avec Paiza
Comment utiliser l'apprentissage automatique pour le travail? 02_Aperçu du projet de développement AI
Méthode de mise en œuvre spécifique pour ajouter les données de performances passées des chevaux à la quantité de fonctionnalités d'apprentissage automatique
[Memo] Apprentissage automatique
J'ai commencé l'apprentissage automatique avec Python (j'ai également commencé à publier sur Qiita) Préparation des données
Exemple d'apprentissage automatique
Comment créer un ensemble de données d'image de visage utilisé dans l'apprentissage automatique (3: Génération d'images de visage à partir d'images candidates, partie 1)
[Python] Introduction facile à l'apprentissage automatique avec python (SVM)
[Super introduction à l'apprentissage automatique] Découvrez les didacticiels Pytorch
Une introduction à l'apprentissage automatique pour les développeurs de robots
Astuces de fourniture de données utilisant deque dans l'apprentissage automatique
[Django] Comment obtenir des données en spécifiant SQL.
[Python] Comment lire les données de CIFAR-10 et CIFAR-100
Notes sur l'apprentissage automatique (mises à jour de temps en temps)
Algorithme d'apprentissage automatique (de la classification à 2 classes à la classification à plusieurs classes)
Comment récupérer des données de courses de chevaux avec Beautiful Soup
[Python] Analyse de données, pratique du machine learning (Kaggle) -Prétraitement des données-