Das ist verständlich. Die meisten Papiere, die Sie im Internet finden können, wiederholen die Viola-Jones und Freund-Shapire Papiere, die die Grundlage von AdaBoost sind, die für die Gesichtserkennung in OpenCV angewendet werden. Und sie bestehen meist aus schwierigen Formeln und Algorithmen aus mehreren mathematischen Bereichen zusammen. Hier ist, was Ihnen helfen kann (kurz genug) -
1 - Es wird in Objekt und vor allem in Gesichtserkennung-Erkennung verwendet.Die beliebteste und recht gute C++ - Bibliothek ist OpenCV von Intel ursprünglich. Ich nehme den Teil der Gesichtserkennung in OpenCV als Beispiel.
2 - Zunächst wird eine Kaskade von verstärkt Klassifikatoren mit Probenrechtecke arbeiten („feature“) auf der Probe von Bildern mit Gesichtern trainiert wird (genannt positiv) und ohne Gesichter (negativ).
Von einigen gegoogelt Papier:
„· Steigerung bezieht sich auf eine allgemeine und beweisbar wirksame Methode der durch die Kombination von Grob- und mäßig ungenau Faustregeln eine sehr genaue Klassifikator Herstellung
· Es ist auf der basiert. Beobachtung, dass viele groben Faustregeln zu finden kann viel einfacher sein als einen einzigen, sehr genauen Klassifikator zu finden.
· zunächst definieren wir einen Algorithmus für die Faustregeln zu finden, die wir einen schwachen Lerner nennen.
· Der Boosting-Algorithmus ruft diesen schwachen Lernenden wiederholt an und gibt ihm dabei jeweils eine andere Verteilung über die Trainingsdaten (in AdaBoost).
· Jeder Aufruf erzeugt einen schwachen Klassifizierer, und wir müssen alle diese in einem einzigen Klassifikator kombinieren, die hoffentlich noch viel mehr ist präziser als jeder eine der Regeln.“
Während dieses Prozesses die Bilder gescannt werden Die komplexen Berechnungs-Hypothesen basierten Algorithmen werden angewendet (die sind nicht so schwer zu verstehen, wenn Sie die Grundidee)
Dies kann eine Woche dauern und die Ausgabe ist eine XML-Datei, die die erlernten Informationen enthält, wie man das menschliche Gesicht, etwa in frontaler Position auf irgendeinem Bild, schnell erkennt (es kann jedes Objekt in einem anderen Fall sein)
3 - Danach geben Sie diese Datei an das Gesichtserkennungsprogramm OpenCV, das mit einer positiven Rate von bis zu 99% (abhängig von den Bedingungen) sehr schnell läuft. Wie hier erwähnt, kann die Abtastgeschwindigkeit mit der als "integrales Bild" bekannten Technik stark erhöht werden.
Und schließlich sind diese hilfreich Quellen - Object Detection in OpenCV und Generic Object Detection using AdaBoost von der University of California, 2008.
Ich bin neugierig 1. Was für einen schwachen Lerner genau bedeutet das trainieren? Zum Beispiel, wenn ich Haarfunktionen verwende, was macht Training aus? – dicroce
@dicroce bedeutet das Training eines schwachen Lerners die Suche nach der Klassifikationsregel (ein Haar-Merkmal in der Viola Jones-Arbeit), die einen minimalen gewichteten Fehler im Trainingssatz erreicht. Das heißt: Es klassifiziert die meisten wichtigen Beispiele (dh diejenigen mit hohem Gewicht) korrekt. –