[PYTHON] Sammeln von Daten zum maschinellen Lernen

In letzter Zeit werden im Internet immer mehr Artikel über das Problem der Datenerfassung geschrieben. Ich möchte suchen, recherchieren und lernen.

Dies ist eine Sammlung von Links zu Artikeln, die hilfreich sein können.

--Toby Segaran, übersetzt von Hitoshi Toyama und Masao Kamozawa "Group Knowledge Programming"

--Interface Juli 2016 Ausgabe ["Von der Erstellung der schwierigsten Lerndatenbank bis zum Erkennungstest für Raspeye 1, 2, 3 Lernen und Erkennen des Zielfisches "Nabeka"]](http://www.kumikomi.net/interface/contents/201607.php)

** Manuelle Eingabe **

Berichten zufolge werden Daten für maschinelles Lernen häufig manuell erstellt. Wenn der Zweck klar ist und Sie erwarten, die Ergebnisse Ihrer Investition in die Arbeit wiederzugewinnen, stellen Sie eine große Anzahl von Mitarbeitern ein. Ich habe gehört, dass Sie ständig manuell Eingabedaten hinzufügen und Verbesserungen vornehmen.

** Bedeutung negativer Proben **

Im Bereich der Fußgängererkennung sind Bilder von Straßen und Straßen ohne Fußgänger sehr wichtig. Bei einer Fahrzeugkamera ist es wichtig, dass sich die Daten im vom Fahrzeug gesehenen Blickwinkel befinden. Wenn Sie die Fußgängererkennung mit Boosting trainieren möchten, benötigen Sie eine große Anzahl von Bildern, die keine Personen enthalten. Bei Klassifikatoren vom Typ Kaskade ist der Anteil verwirrender Bilder umso höher, je später die Phase ist. In einem solchen Fall wird die Leistung des Detektors erheblich verringert, wenn Sie ein menschliches Bild finden und es als Negativ verwenden. Bei Klassifikatoren vom Typ Kaskade hängen die trainierten Ergebnisse umso mehr vom trainierten Datensatz ab (sowohl positive als auch negative Bilder), je später das Stadium ist. (Ergänzung: Verwenden heutzutage nur wenige Menschen Boosting? Die Bedeutung negativer Proben bleibt gleich.)

Wenn Sie beispielsweise versuchen, einen Hundegesichtsdetektor herzustellen, ist es nicht sicher, ob das Sammeln von so vielen Hundegesichtern, wie von vorhandenen Detektoren erfasst werden können, für die Leistung des Detektors nützlich ist. Die Gesichtsform ist zwischen Shiba-Hund und Bull-Hund zu unterschiedlich. Ich denke, es ist zweifelhaft, dass das Gesicht der Bulldogge erkannt werden kann, indem nur das Gesicht des Shiba-Hundes gesammelt wird. Nur weil es auf einer Seite erkannt werden kann, bedeutet dies nicht, dass es auf einer anderen Seite erkannt werden kann. Daher ist es gefährlich zu versuchen, die Leistung des Detektors zu verbessern, indem das Bild verwendet wird, das vom vorhandenen Detektor erkannt werden kann. Es sollte möglich sein, Bilder zu verwenden, die von vorhandenen Detektoren nicht erkannt werden können, z. B. die Tracking-Ergebnisse des nächsten Mal in der Szene, in der das Gesicht des Hundes erkannt werden kann. (Ich würde gerne wissen, wie diese Situation beim tiefen Lernen ist.) Beim Deep Learning wird behauptet, dass eine Person anhand des Profils im Vergleich zur Datenbank der Vorderseite authentifiziert werden kann.

Hohe Kollationsrate für seitlich gerichtete Gesichter, Sonnenbrillen und Masken Panasonic erreicht mit Deep Learning das weltweit höchste Maß an Gesichtsübereinstimmung

Sie können auch YOLO verwenden, um viele Arten von Objekten in Ihren Videos zu erkennen. Selbst wenn eine falsche Erkennung vorliegt, ist es zweckmäßig, eine hohe Erkennungsgeschwindigkeit zu haben, wenn davon ausgegangen wird, dass die Auswahl manuell erfolgt.

** Detektor, der mit wenigen Bildern lernen kann **

Der HOG + SVM-Detektor in dlib kann ein Objektdetektor mit sehr wenig positiven Daten im Bild sein. Es ist überraschend, dass es sich sehr vom Haar Casecade Detektor unterscheidet.

Maschinelles Lernen mit dlib zum Erkennen von Objekten

** Verwendung vorhandener Detektoren, die verwendet werden können **

Beim Sammeln von Trainingsdaten für die Hardwareentwicklung ist es auch möglich, eine Softwareversion des Detektors zum Sammeln der Daten zu verwenden.

Referenz: Bedeutung des Datensatzes für maschinelles Lernen

CIFAR-10 und CIFAR-100 sind ein Datensatz von 80 Millionen beschrifteten Farbbildern mit einer Größe von 32 x 32. [Python] Lesen von CIFAR-10-, CIFAR-100-Daten

Nachtrag:

In [Model Zoo] gibt es verschiedene trainierte Modelle (https://github.com/opencv/open_model_zoo). Wenn Sie einen Detektor verwenden, können Sie das Bild im Bereich der erlernten Eigenschaften abtasten und die Anmerkung automatisch generieren.

** Beziehungen zwischen Menschen (Fußgängern) **

Es ist eine Datenbank von Fußgängern mit Segmentierung. Nur für nichtkommerzielle Zwecke verfügbar. Es ist nützlich zum Lernen und Bewerten von Fußgängern.

** Gesichtsbeziehung **

Face Database

FDDB: Face Detection Data Set and Benchmark

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

Als negativer Datensatz http://cocodataset.org/#home

Link-Sammlung Computer Vision Datasets

CVonline: Image Databases

Yet Another Computer Vision Index To Datasets (YACVID)

60 Facial Recognition Databases

Lassen Sie uns die in der Arbeit verwendeten Lerndaten untersuchen.

In den meisten Veröffentlichungen wird der Ursprung der in der Implementierung erlernten Daten angegeben. Wenn Sie diese Dinge durchlesen, gelangen Sie zu den Daten.


Nachtrag:

In den Bereichen Gesichtserkennung und Erkennung von Menschen gibt es Open-Source-Implementierungen mit angemessener Genauigkeit. Es gibt also keine Möglichkeit, damit keinen Trainingsdatensatz oder Detektor für Ihre eigenen Zwecke zu erstellen. Wenn Sie die Trainingsdaten auf das Verhältnis von Daten erweitern, das Ihrem Zweck nahe kommt, besteht eine hohe Wahrscheinlichkeit, dass Sie sich einem Detektor nähern, der Ihren Zweck abdeckt.

SlideShare SSII2018TS: Deep Learning in großem Maßstab

Konzept jeder Phase der Datenerfassung für maschinelles Lernen Es ist keine gute Idee, das Verhältnis der Trainingsdaten so zu verwenden, wie es erscheint. Wie Datensätze zum maschinellen Lernen verloren gehen Wie eine schlampige Person experimentelle Daten verwaltet

Recommended Posts

Sammeln von Daten zum maschinellen Lernen
scikit-learn Verwendung der Zusammenfassung (maschinelles Lernen)
So sammeln Sie Twitter-Daten ohne Programmierung
Wie man Coursera / Maschinelles Lernen genießt (Woche 10)
Einführung in das maschinelle Lernen
Eine Einführung in das maschinelle Lernen
Super Einführung in das maschinelle Lernen
Umgang mit Datenrahmen
[Python] Wie man MP3-Daten fFT
Einführung in das maschinelle Lernen Schreiben von Notizen
So passen Sie mehrere Bibliotheken für maschinelles Lernen auf einmal an
Lesen von e-Stat-Subregionsdaten
Einführung in das maschinelle Lernen mit scikit-learn-Von der Datenerfassung bis zur Parameteroptimierung
So sammeln Sie Bilder in Python
Aufteilen von Trainingsdaten für maschinelles Lernen in objektive Variablen und andere in Pandas
Umgang mit unausgeglichenen Daten
Die Verwendung von icrawler zum Sammeln von Daten zum maschinellen Lernen wurde vereinfacht
Maschinelles Lernen
Wie nutzt man maschinelles Lernen für die Arbeit? 03_Python-Codierungsverfahren
[Python] Speichern Sie PDF von Google Colaboratory in Google Drive! -Lass uns Daten für maschinelles Lernen sammeln-
Aufblasen von Daten (Datenerweiterung) mit PyTorch
Maschinelles Lernen in Delemas (Datenerfassung)
Einführung in die Bibliothek für maschinelles Lernen SHOGUN
Vorverarbeitung beim maschinellen Lernen 2 Datenerfassung
Vorverarbeitung beim maschinellen Lernen 4 Datenkonvertierung
Grundlegendes maschinelles Lernverfahren: ② Daten vorbereiten
Wie nutzt man maschinelles Lernen für die Arbeit? 01_ Den Zweck des maschinellen Lernens verstehen
Menschen merken sich gelerntes Wissen im Gehirn, wie man gelerntes Wissen im maschinellen Lernen auswendig lernt
So erstellen Sie mit AWS Lambda eine serverlose API für maschinelles Lernen
Notieren Sie die Schritte zum Verständnis des maschinellen Lernens
Unausgeglichenes Datenlernen mit maschinellem Lernen k-NN
Ich habe Python 3.5.1 installiert, um maschinelles Lernen zu studieren
Eine Einführung in OpenCV für maschinelles Lernen
So studieren Sie den Deep Learning G-Test
Python: Vorverarbeitung beim maschinellen Lernen: Datenerfassung
[Python] Erste Datenanalyse / maschinelles Lernen (Kaggle)
Wie man relativ einfach Gesichtsbilder sammelt
Verwendung von "deque" für Python-Daten
Eine Einführung in Python für maschinelles Lernen
Python: Vorverarbeitung beim maschinellen Lernen: Datenkonvertierung
Umgang mit Zeitreihendaten (Implementierung)
Vorverarbeitung beim maschinellen Lernen 1 Datenanalyseprozess
Wie man Problemdaten mit Paiza liest
Wie nutzt man maschinelles Lernen für die Arbeit? 02_AI Entwicklungsprojektübersicht
Spezifische Implementierungsmethode zum Hinzufügen früherer Leistungsdaten von Pferden, um die Menge des maschinellen Lernens zu bestimmen
[Memo] Maschinelles Lernen
Ich habe mit Python mit dem maschinellen Lernen begonnen (ich habe auch angefangen, in Qiita zu posten). Datenvorbereitung
Beispiel für maschinelles Lernen
Erstellen eines Gesichtsbilddatensatzes für maschinelles Lernen (3: Gesichtsbildgenerierung aus Kandidatenbildern Teil 1)
[Python] Einfache Einführung in das maschinelle Lernen mit Python (SVM)
[Super Einführung in das maschinelle Lernen] Lernen Sie Pytorch-Tutorials
Eine Einführung in maschinelles Lernen für Bot-Entwickler
Datenversorgungstricks mit deque beim maschinellen Lernen
[Django] So erhalten Sie Daten durch Angabe von SQL.
[Python] Lesen von Daten aus CIFAR-10 und CIFAR-100
Hinweise zum maschinellen Lernen (von Zeit zu Zeit aktualisiert)
Algorithmus für maschinelles Lernen (von der Klassifizierung in zwei Klassen bis zur Klassifizierung in mehreren Klassen)
So kratzen Sie Pferderenndaten mit Beautiful Soup
[Python] Datenanalyse, maschinelles Lernen (Kaggle) -Datenvorverarbeitung-