prepare_sample_identifierT_prepare_sample_identifierPrepareSampleIdentifierPrepareSampleIdentifier (Operator)

Name

prepare_sample_identifierT_prepare_sample_identifierPrepareSampleIdentifierPrepareSampleIdentifier — Anpassen der internen Datenstruktur eines Sample-Identifikators an die Art der zu unterscheidenden Objekte.

Signatur

prepare_sample_identifier( : : SampleIdentifier, RemovePreparationData, GenParamName, GenParamValue : )

Herror T_prepare_sample_identifier(const Htuple SampleIdentifier, const Htuple RemovePreparationData, const Htuple GenParamName, const Htuple GenParamValue)

void PrepareSampleIdentifier(const HTuple& SampleIdentifier, const HTuple& RemovePreparationData, const HTuple& GenParamName, const HTuple& GenParamValue)

void HSampleIdentifier::PrepareSampleIdentifier(const HString& RemovePreparationData, const HTuple& GenParamName, const HTuple& GenParamValue) const

void HSampleIdentifier::PrepareSampleIdentifier(const char* RemovePreparationData, const HTuple& GenParamName, const HTuple& GenParamValue) const

void HSampleIdentifier::PrepareSampleIdentifier(const wchar_t* RemovePreparationData, const HTuple& GenParamName, const HTuple& GenParamValue) const   (Nur Windows)

static void HOperatorSet.PrepareSampleIdentifier(HTuple sampleIdentifier, HTuple removePreparationData, HTuple genParamName, HTuple genParamValue)

void HSampleIdentifier.PrepareSampleIdentifier(string removePreparationData, HTuple genParamName, HTuple genParamValue)

Beschreibung

prepare_sample_identifierprepare_sample_identifierPrepareSampleIdentifierPrepareSampleIdentifierPrepareSampleIdentifier bereitet den Sample-Identifikator SampleIdentifierSampleIdentifierSampleIdentifierSampleIdentifiersampleIdentifier vor. Hierzu werden die Vorbereitungsdaten verwendet, die mit add_sample_identifier_preparation_dataadd_sample_identifier_preparation_dataAddSampleIdentifierPreparationDataAddSampleIdentifierPreparationDataAddSampleIdentifierPreparationData gesetzt wurden.

Das Konzept der samplebasierten Identifikation ist bei der Einleitung zu Kapitel Identifizierung / Samplebasiert beschrieben.

Um die besten Identifikationsergebnisse zu erzielen, muss die interne Datenstruktur des Sample-Identifikators SampleIdentifierSampleIdentifierSampleIdentifierSampleIdentifiersampleIdentifier an die Art der Objekte angepasst werden, die unterschieden werden sollen.

Zur Vorbereitung des Sample-Identifikators SampleIdentifierSampleIdentifierSampleIdentifierSampleIdentifiersampleIdentifier müssen diesem zuerst alle relevanten Samplebilder der zu unterscheidenden Objekte mit add_sample_identifier_preparation_dataadd_sample_identifier_preparation_dataAddSampleIdentifierPreparationDataAddSampleIdentifierPreparationDataAddSampleIdentifierPreparationData hinzugefügt werden. Dann wird die interne Datenstruktur des Sample-Identifikators durch den Aufruf des Operators prepare_sample_identifierprepare_sample_identifierPrepareSampleIdentifierPrepareSampleIdentifierPrepareSampleIdentifier an die Merkmale der Samplebilder angepasst.

Dieser Vorgang dauert relativ lange und benötigt unter Umständen sehr viel Speicher. Wenn z.B. 100 Samplebilder für die Vorbereitung verwendet werden, dauert dies einige Minuten und es werden ca. 300 MB Speicher benötigt. Wenn 1000 Samplebilder verwendet werden, dauert die Vorbereitung je nach Rechner etwa eine Stunde und es werden ca. 2 GB Speicher benötigt.

Insbesondere die Vorbereitungsdaten benötigen viel Speicher. Normalerweise werden die Daten aber nach der Vorbereitung des Sample-Identifikators nicht mehr benötigt. Daher können sie durch das Setzen des Parameters RemovePreparationDataRemovePreparationDataRemovePreparationDataRemovePreparationDataremovePreparationData auf 'true'"true""true""true""true" gelöscht werden.

Alternativ zur Vorbereitung des Sample-Identifikator kann ein bereits verfügbarer Sample-Identifikator mit dem Operator read_sample_identifierread_sample_identifierReadSampleIdentifierReadSampleIdentifierReadSampleIdentifier von Datei eingelesen werden. Dieser sollte mit ähnlichen Objekten vorbereitet worden sein. Allerdings ist zu beachten, dass die Qualität der Ergebnisse der Identifikation nicht so hoch sein wird, wie wenn der Sample-Identifikator mit Samples der zu unterscheidenden Objekte vorbereitet wurde.

Um die Vorbereitungsdaten für das Training wiederzuverwenden, ist es möglich, Trainingsdaten aus den Vorbereitungsdaten abzuleiten. Dies erspart den Aufwand, dem Sample-Identifikator die Trainingsdaten erneut mit add_sample_identifier_training_dataadd_sample_identifier_training_dataAddSampleIdentifierTrainingDataAddSampleIdentifierTrainingDataAddSampleIdentifierTrainingData hinzuzufügen (siehe train_sample_identifiertrain_sample_identifierTrainSampleIdentifierTrainSampleIdentifierTrainSampleIdentifier für eine Beschreibung des Trainings eines Sample-Identifikators). Die Trainingsdaten erfordern deutlich weniger Speicher als die Vorbereitungsdaten. Wenn der generische Parameter 'copy_preparation_data_to_training_data'"copy_preparation_data_to_training_data""copy_preparation_data_to_training_data""copy_preparation_data_to_training_data""copy_preparation_data_to_training_data" auf 'true'"true""true""true""true" gesetzt ist, was der Default ist, so werden die Trainingsdaten automatisch aus den Vorbereitungsdaten abgeleitet. Dies ist allerdings nur für die Samples möglich, für die der Objektindex beim Hinzufügen zum Sample-Identifikator mit dem Operator add_sample_identifier_preparation_dataadd_sample_identifier_preparation_dataAddSampleIdentifierPreparationDataAddSampleIdentifierPreparationDataAddSampleIdentifierPreparationData gesetzt wurde. Der Objektindex wird dabei unverändert in die Trainingsdaten übernommen. Die Objektsampleindizes können sich allerdings ändern, wenn Samples für die Vorbereitung aus den Vorbereitungsdaten mit remove_sample_identifier_preparation_dataremove_sample_identifier_preparation_dataRemoveSampleIdentifierPreparationDataRemoveSampleIdentifierPreparationDataRemoveSampleIdentifierPreparationData gelöscht wurden, da Samples für das Training neu fortlaufend und beginnend bei null nummeriert werden.

Ausführungsinformationen

Parameter

SampleIdentifierSampleIdentifierSampleIdentifierSampleIdentifiersampleIdentifier (input_control)  sample_identifier HSampleIdentifier, HTupleHTupleHtuple (handle) (IntPtr) (HHandle) (handle)

Handle des Sample-Identifikators.

RemovePreparationDataRemovePreparationDataRemovePreparationDataRemovePreparationDataremovePreparationData (input_control)  string HTupleHTupleHtuple (string) (string) (HString) (char*)

Gibt an, ob die Vorbereitungsdaten gelöscht werden sollen.

Defaultwert: 'true' "true" "true" "true" "true"

Werteliste: 'false'"false""false""false""false", 'true'"true""true""true""true"

GenParamNameGenParamNameGenParamNameGenParamNamegenParamName (input_control)  attribute.name-array HTupleHTupleHtuple (string) (string) (HString) (char*)

Generischer Parametername.

Defaultwert: []

Werteliste: 'copy_preparation_data_to_training_data'"copy_preparation_data_to_training_data""copy_preparation_data_to_training_data""copy_preparation_data_to_training_data""copy_preparation_data_to_training_data"

GenParamValueGenParamValueGenParamValueGenParamValuegenParamValue (input_control)  attribute.value-array HTupleHTupleHtuple (string / integer / real) (string / int / long / double) (HString / Hlong / double) (char* / Hlong / double)

Generischer Parameterwert.

Defaultwert: []

Werteliste: 'false'"false""false""false""false", 'true'"true""true""true""true"

Ergebnis

Sind die Parameterwerte korrekt, dann liefert prepare_sample_identifierprepare_sample_identifierPrepareSampleIdentifierPrepareSampleIdentifierPrepareSampleIdentifier den Wert 2 (H_MSG_TRUE). Gegebenenfalls wird eine Fehlerbehandlung durchgeführt.

Vorgänger

add_sample_identifier_preparation_dataadd_sample_identifier_preparation_dataAddSampleIdentifierPreparationDataAddSampleIdentifierPreparationDataAddSampleIdentifierPreparationData

Nachfolger

write_sample_identifierwrite_sample_identifierWriteSampleIdentifierWriteSampleIdentifierWriteSampleIdentifier, add_sample_identifier_training_dataadd_sample_identifier_training_dataAddSampleIdentifierTrainingDataAddSampleIdentifierTrainingDataAddSampleIdentifierTrainingData, train_sample_identifiertrain_sample_identifierTrainSampleIdentifierTrainSampleIdentifierTrainSampleIdentifier

Alternativen

read_sample_identifierread_sample_identifierReadSampleIdentifierReadSampleIdentifierReadSampleIdentifier

Siehe auch

create_sample_identifiercreate_sample_identifierCreateSampleIdentifierCreateSampleIdentifierCreateSampleIdentifier, apply_sample_identifierapply_sample_identifierApplySampleIdentifierApplySampleIdentifierApplySampleIdentifier, set_sample_identifier_paramset_sample_identifier_paramSetSampleIdentifierParamSetSampleIdentifierParamSetSampleIdentifierParam, get_sample_identifier_paramget_sample_identifier_paramGetSampleIdentifierParamGetSampleIdentifierParamGetSampleIdentifierParam, get_sample_identifier_object_infoget_sample_identifier_object_infoGetSampleIdentifierObjectInfoGetSampleIdentifierObjectInfoGetSampleIdentifierObjectInfo, remove_sample_identifier_preparation_dataremove_sample_identifier_preparation_dataRemoveSampleIdentifierPreparationDataRemoveSampleIdentifierPreparationDataRemoveSampleIdentifierPreparationData, remove_sample_identifier_training_dataremove_sample_identifier_training_dataRemoveSampleIdentifierTrainingDataRemoveSampleIdentifierTrainingDataRemoveSampleIdentifierTrainingData, write_sample_identifierwrite_sample_identifierWriteSampleIdentifierWriteSampleIdentifierWriteSampleIdentifier, serialize_sample_identifierserialize_sample_identifierSerializeSampleIdentifierSerializeSampleIdentifierSerializeSampleIdentifier, deserialize_sample_identifierdeserialize_sample_identifierDeserializeSampleIdentifierDeserializeSampleIdentifierDeserializeSampleIdentifier, clear_sample_identifierclear_sample_identifierClearSampleIdentifierClearSampleIdentifierClearSampleIdentifier, set_sample_identifier_object_infoset_sample_identifier_object_infoSetSampleIdentifierObjectInfoSetSampleIdentifierObjectInfoSetSampleIdentifierObjectInfo

Modul

Matching