learn_ndim_normT_learn_ndim_normLearnNdimNormLearnNdimNormlearn_ndim_norm (Operator)
Name
learn_ndim_normT_learn_ndim_normLearnNdimNormLearnNdimNormlearn_ndim_norm — Konstruieren von Clustern für class_ndim_normclass_ndim_normClassNdimNormClassNdimNormClassNdimNormclass_ndim_norm.
Signatur
void LearnNdimNorm(const HObject& Foreground, const HObject& Background, const HObject& Image, const HTuple& Metric, const HTuple& Distance, const HTuple& MinNumberPercent, HTuple* Radius, HTuple* Center, HTuple* Quality)
HTuple HImage::LearnNdimNorm(const HRegion& Foreground, const HRegion& Background, const HString& Metric, const HTuple& Distance, const HTuple& MinNumberPercent, HTuple* Center, double* Quality) const
HTuple HImage::LearnNdimNorm(const HRegion& Foreground, const HRegion& Background, const HString& Metric, double Distance, double MinNumberPercent, HTuple* Center, double* Quality) const
HTuple HImage::LearnNdimNorm(const HRegion& Foreground, const HRegion& Background, const char* Metric, double Distance, double MinNumberPercent, HTuple* Center, double* Quality) const
HTuple HImage::LearnNdimNorm(const HRegion& Foreground, const HRegion& Background, const wchar_t* Metric, double Distance, double MinNumberPercent, HTuple* Center, double* Quality) const
(Nur Windows)
HTuple HRegion::LearnNdimNorm(const HRegion& Background, const HImage& Image, const HString& Metric, const HTuple& Distance, const HTuple& MinNumberPercent, HTuple* Center, double* Quality) const
HTuple HRegion::LearnNdimNorm(const HRegion& Background, const HImage& Image, const HString& Metric, double Distance, double MinNumberPercent, HTuple* Center, double* Quality) const
HTuple HRegion::LearnNdimNorm(const HRegion& Background, const HImage& Image, const char* Metric, double Distance, double MinNumberPercent, HTuple* Center, double* Quality) const
HTuple HRegion::LearnNdimNorm(const HRegion& Background, const HImage& Image, const wchar_t* Metric, double Distance, double MinNumberPercent, HTuple* Center, double* Quality) const
(Nur Windows)
static void HOperatorSet.LearnNdimNorm(HObject foreground, HObject background, HObject image, HTuple metric, HTuple distance, HTuple minNumberPercent, out HTuple radius, out HTuple center, out HTuple quality)
HTuple HImage.LearnNdimNorm(HRegion foreground, HRegion background, string metric, HTuple distance, HTuple minNumberPercent, out HTuple center, out double quality)
HTuple HImage.LearnNdimNorm(HRegion foreground, HRegion background, string metric, double distance, double minNumberPercent, out HTuple center, out double quality)
HTuple HRegion.LearnNdimNorm(HRegion background, HImage image, string metric, HTuple distance, HTuple minNumberPercent, out HTuple center, out double quality)
HTuple HRegion.LearnNdimNorm(HRegion background, HImage image, string metric, double distance, double minNumberPercent, out HTuple center, out double quality)
Beschreibung
learn_ndim_normlearn_ndim_normLearnNdimNormLearnNdimNormLearnNdimNormlearn_ndim_norm erzeugt aus den in ForegroundForegroundForegroundForegroundforegroundforeground
enthaltenen Regionen Klassifikationscluster, die im Operator
class_ndim_normclass_ndim_normClassNdimNormClassNdimNormClassNdimNormclass_ndim_norm verwendet werden. Mit
BackgroundBackgroundBackgroundBackgroundbackgroundbackground kann eine Klasse von Pixeln angegeben werden, die bei der
Klassifikation (class_ndim_normclass_ndim_normClassNdimNormClassNdimNormClassNdimNormclass_ndim_norm) nicht gefunden werden
sollen. Dieser Parameter darf auch leer sein (leeres Objekt).
Mit dem Parameter DistanceDistanceDistanceDistancedistancedistance wird der maximale
RadiusRadiusRadiusRadiusradiusradius für die Cluster festgelegt. Er beschreibt den
minimalen Abstand zweier Clusterzentren. Wird der Parameter
DistanceDistanceDistanceDistancedistancedistance klein gewählt, so können die (kleinen)
Hyperkugeln (-Würfel) den Merkmalsraum gut approximieren.
Gleichzeitig steigt jedoch der Rechenaufwand beim Klassifizieren.
Das Verhältnis aus Anzahl der Pixel in einem Cluster zu der
Gesamtzahl (in Prozent) muss über dem Wert von
MinNumberPercentMinNumberPercentMinNumberPercentMinNumberPercentminNumberPercentmin_number_percent liegen, ansonsten wird dieser Cluster
nicht ausgegeben. Der Parameter MinNumberPercentMinNumberPercentMinNumberPercentMinNumberPercentminNumberPercentmin_number_percent dient
dazu, Ausreißer in der Trainingsmenge zu eliminieren. Wird er zu
groß gewählt, dann werden zu viele Cluster unterdrückt.
Es können zwei verschiedene Verfahren verwendet werden: Die
minimale euklidische Distanz (n-dimensionale Kugeln) und das
Maximum-Verfahren (n-dimensionale Würfel) für die Beschreibung
der Pixel des zu klassifizierenden Bildobjekts im n-dimensionalen
Histogramm (Parameter MetricMetricMetricMetricmetricmetric). Die euklidische Metrik
liefert i.A. die besseren Ergebnisse, benötigt jedoch auch mehr
Rechenzeit. Der Parameter QualityQualityQualityQualityqualityquality gibt die Qualität der
Clusterbildung an. Dabei wird die Überschneidung der
abgewiesenen Objekte mit den Klassifizierungsobjekten berechnet. Null
bedeutet maximale Überschneidung, Werte größer Null geben das
entsprechende Verhältnis der Überlappung an. Wird kein
Zurückweisungsobjekt angegeben, so ist dieser Wert 1. Die Objekte
in BackgroundBackgroundBackgroundBackgroundbackgroundbackground haben jedoch keinen Einfluss auf die
Konstruktion der Cluster. Sie dienen nur zur Kontrolle der zu
erwartenden Ergebnisse.
Aus Anwendersicht besteht der wesentliche Unterschied zwischen
learn_ndim_normlearn_ndim_normLearnNdimNormLearnNdimNormLearnNdimNormlearn_ndim_norm und learn_ndim_boxlearn_ndim_boxLearnNdimBoxLearnNdimBoxLearnNdimBoxlearn_ndim_box darin, dass bei
letzterem die BackgroundBackgroundBackgroundBackgroundbackgroundbackground-Klasse den Klassifikationsprozess
selbst mitsteuert. Hier wird eine Trennfläche zwischen
ForegroundForegroundForegroundForegroundforegroundforeground- und BackgroundBackgroundBackgroundBackgroundbackgroundbackground-Klasse erzeugt,
so dass keine Punkte im Merkmalsraum falsch klassifiziert werden.
Bei learn_ndim_normlearn_ndim_normLearnNdimNormLearnNdimNormLearnNdimNormlearn_ndim_norm dagegen ist eine Überlappung von
ForegroundForegroundForegroundForegroundforegroundforeground- und BackgroundBackgroundBackgroundBackgroundbackgroundbackground-Klasse
erlaubt. Dies schlägt sich dann im Rückgabewert QualityQualityQualityQualityqualityquality
nieder: Je größer die Überlappung, desto kleiner die Güte der
Klassifikation.
Ausführungsinformationen
- Multithreading-Typ: exclusive (läuft parallel nur zu unabhängigen Operatoren).
- Multithreading-Bereich: global (kann von jedem Thread aufgerufen werden).
- Wird ohne Parallelisierung verarbeitet.
Parameter
ForegroundForegroundForegroundForegroundforegroundforeground (input_object) region(-array) → objectHRegionHObjectHRegionHobject
Vordergrundregion
BackgroundBackgroundBackgroundBackgroundbackgroundbackground (input_object) region(-array) → objectHRegionHObjectHRegionHobject
Hintergrundregion (Rückweisungsklasse)
ImageImageImageImageimageimage (input_object) (multichannel-)image(-array) → objectHImageHObjectHImageHobject (byte)
Trainingsbild.
MetricMetricMetricMetricmetricmetric (input_control) string → HTuplestrHTupleHtuple (string) (string) (HString) (char*)
Verwendete Metrik
Defaultwert:
'euclid'
"euclid"
"euclid"
"euclid"
"euclid"
"euclid"
Werteliste: 'euclid'"euclid""euclid""euclid""euclid""euclid", 'maximum'"maximum""maximum""maximum""maximum""maximum"
DistanceDistanceDistanceDistancedistancedistance (input_control) number → HTupleUnion[int, float]HTupleHtuple (real / integer) (double / int / long) (double / Hlong) (double / Hlong)
Maximaler Radius für die Cluster.
Defaultwert: 10.0
Wertevorschläge: 1.0, 2.0, 3.0, 4.0, 6.0, 8.0, 10.0, 13.0, 17.0, 24.0, 30.0, 40.0
Typischer Wertebereich: 0.0
≤
Distance
Distance
Distance
Distance
distance
distance
≤
511.0 (lin)
Minimale Schrittweite: 0.01
Empfohlene Schrittweite: 1.0
Restriktion: Distance > 0.0
MinNumberPercentMinNumberPercentMinNumberPercentMinNumberPercentminNumberPercentmin_number_percent (input_control) number → HTupleUnion[int, float]HTupleHtuple (real / integer) (double / int / long) (double / Hlong) (double / Hlong)
Das Verhältnis aus Anzahl der Pixel in einem Cluster
zur Gesamtzahl (in Prozent) muss über dem Wert von
MinNumberPercent liegen (sonst wird der Cluster
nicht ausgegeben).
Defaultwert: 0.01
Wertevorschläge: 0.001, 0.05, 0.1, 0.2, 0.5, 1.0, 2.0, 5.0, 10.0
Typischer Wertebereich: 0.0
≤
MinNumberPercent
MinNumberPercent
MinNumberPercent
MinNumberPercent
minNumberPercent
min_number_percent
≤
100.0 (lin)
Minimale Schrittweite: 0.01
Empfohlene Schrittweite: 0.1
Restriktion: 0 <= MinNumberPercent && MinNumberPercent <= 100
RadiusRadiusRadiusRadiusradiusradius (output_control) real-array → HTupleSequence[float]HTupleHtuple (real) (double) (double) (double)
Clusterradien bzw. halbe Clusterkantenlängen.
CenterCenterCenterCentercentercenter (output_control) real-array → HTupleSequence[float]HTupleHtuple (real) (double) (double) (double)
Koordinaten aller Clusterzentren.
QualityQualityQualityQualityqualityquality (output_control) real → HTuplefloatHTupleHtuple (real) (double) (double) (double)
Überschneidung der abgewiesenen Objekte mit den
Klassifizierungsobjekten (1: keine Überschneidung).
Zusicherung: 0 <= Quality && Quality <= 1
Ergebnis
learn_ndim_normlearn_ndim_normLearnNdimNormLearnNdimNormLearnNdimNormlearn_ndim_norm liefert den Wert TRUE, falls die Parameter
korrekt sind. Für das Verhalten bzgl. der Eingabebilder sind die
Flags 'no_object_result'"no_object_result""no_object_result""no_object_result""no_object_result""no_object_result" und
'empty_region_result'"empty_region_result""empty_region_result""empty_region_result""empty_region_result""empty_region_result" einstellbar (siehe
set_systemset_systemSetSystemSetSystemSetSystemset_system). Gegebenenfalls wird eine
Fehlerbehandlung durchgeführt.
Vorgänger
min_max_graymin_max_grayMinMaxGrayMinMaxGrayMinMaxGraymin_max_gray,
sobel_ampsobel_ampSobelAmpSobelAmpSobelAmpsobel_amp,
binomial_filterbinomial_filterBinomialFilterBinomialFilterBinomialFilterbinomial_filter,
gauss_filtergauss_filterGaussFilterGaussFilterGaussFiltergauss_filter,
reduce_domainreduce_domainReduceDomainReduceDomainReduceDomainreduce_domain,
diff_of_gaussdiff_of_gaussDiffOfGaussDiffOfGaussDiffOfGaussdiff_of_gauss
Nachfolger
class_ndim_normclass_ndim_normClassNdimNormClassNdimNormClassNdimNormclass_ndim_norm,
connectionconnectionConnectionConnectionConnectionconnection,
dilation1dilation1Dilation1Dilation1Dilation1dilation1,
erosion1erosion1Erosion1Erosion1Erosion1erosion1,
openingopeningOpeningOpeningOpeningopening,
closingclosingClosingClosingClosingclosing,
rank_regionrank_regionRankRegionRankRegionRankRegionrank_region,
shape_transshape_transShapeTransShapeTransShapeTransshape_trans,
skeletonskeletonSkeletonSkeletonSkeletonskeleton
Alternativen
learn_ndim_boxlearn_ndim_boxLearnNdimBoxLearnNdimBoxLearnNdimBoxlearn_ndim_box,
learn_class_boxlearn_class_boxLearnClassBoxLearnClassBoxLearnClassBoxlearn_class_box
Siehe auch
class_ndim_normclass_ndim_normClassNdimNormClassNdimNormClassNdimNormclass_ndim_norm,
histo_2dimhisto_2dimHisto2dimHisto2dimHisto2dimhisto_2dim
Literatur
P. Haberäcker, „Digitale Bildverarbeitung“;
Hanser-Studienbücher, München, Wien, 1987
Modul
Foundation