| Operatoren |
add_sample_class_gmm — Hinzufügen eines Trainingsmusters zu den Trainingsdaten eines Gaussian Mixture Models.
add_sample_class_gmm fügt ein Trainingsmuster zu dem durch GMMHandle gegebenen Gaussian Mixture Model (GMM) hinzu. Das Trainingsmuster wird durch Features und ClassID beschrieben. Features ist der Merkmalsvektor des Musters und muss folglich die Länge NumDim besitzen, die in create_class_gmm angegeben worden ist. ClassID ist die Klasse des Musters, eine Zahl zwischen 0 und NumClasses-1 (ebenfalls festgelegt in create_class_gmm).
Im Spezialfall, in dem die Features-Vektoren vom Typ Integer sind, treten sie im Merkmalsraum in einem Gitter mit Schrittweite 1.0 auf. Wenn zum Beispiel RGB-Merkmale für Farbklassifikation verwendet werden, haben die Daten einen Integerwert von 0 bis 255 je Komponente. Normalerweise kann auch mehr als ein Merkmal denselben Punkt im Raum darstellen. Während des GMM-Trainings mit solchen Daten neigt der Algorithmus dazu, die modellierten Gaußschen Verteilungen zu linear abhängigen Linien oder Ebenen von Punkten, die parallel zu den Gitterrichtungen liegen, anzupassen. Falls die Anzahl von Zentren, die im Centers von train_class_gmm zurückgegeben wird, ungewöhnlich hoch ist, deutet das auf ein solches Verhalten des Algorithmus hin. Um dieses Problem umzugehen, kann der Parameter Randomize verwendet werden. Für Randomize > 0.0 wird Gaußsches Rauschen mit Mittelwert 0 und Standardabweichung Randomize zu jeder Komponente des Trainingsvektors addiert und die Trainingsdaten werden im GMM gespeichert. Randomize-Werte kleiner als 1.0 verbessern die Situation nicht. Randomize-Werte deutlich größer als 2.0 beeinflussen die Form der Datenwolke zu viel. Für Integer-Merkmalsvektoren ist es empfehlenswert, Werte zwischen 1.5 und 2.0 zu verwenden. Falls die Daten durch Skalierung aus Integerdaten erzeugt wurden, kann dasselbe Problem auftreten. Hier muss Randomize entsprechend der Skalierung der Daten skaliert werden.
Bevor das GMM mit train_class_gmm trainiert werden kann, müssen alle Trainingsmuster mit add_sample_class_gmm zum GMM hinzugefügt werden.
Die Anzahl der abgespeicherten Trainingsmuster kann mit get_sample_num_class_gmm abgefragt werden. Einzelne Trainingsmuster können mit get_sample_class_gmm wieder ausgelesen werden.
Im Normalfall ist es günstig, die Trainingsmuster mit write_samples_class_gmm in eine Datei zu speichern, damit sie wiederverwendet werden können. Damit können bei Bedarf neue Trainingsmuster zum Datensatz hinzugefügt werden und ein neu erzeugtes GMM kann mit dem erweiterten Datensatz neu trainiert werden kann.
Dieser Operator modifiziert den Zustand des folgenden Eingabeparameters:
Der Wert dieses Parameters darf nicht über mehrere Threads verwendet werden.Handle des GMM.
Merkmalsvektor des zu speichernden Trainingsmusters.
Klasse des zu speichernden Trainingsmusters.
Standardabweichung des Gaußschen Rauschens, das zu den Trainingsdaten hinzugefügt wird.
Defaultwert: 0.0
Wertevorschläge: 0.0, 1.5, 2.0
Restriktion: Randomize >= 0.0
Sind die Parameterwerte korrekt, dann liefert add_sample_class_gmm den Wert 2 (H_MSG_TRUE). Gegebenenfalls wird eine Fehlerbehandlung durchgeführt.
train_class_gmm, write_samples_class_gmm
read_samples_class_gmm, add_samples_image_class_gmm
clear_samples_class_gmm, get_sample_num_class_gmm, get_sample_class_gmm
Foundation
| Operatoren |