learn_ndim_normT_learn_ndim_normLearnNdimNormLearnNdimNorm (Operator)
Name
learn_ndim_normT_learn_ndim_normLearnNdimNormLearnNdimNorm
— Konstruieren von Clustern für class_ndim_normclass_ndim_normClassNdimNormClassNdimNormClassNdimNorm
.
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_normLearnNdimNormLearnNdimNormLearnNdimNorm
erzeugt aus den in ForegroundForegroundForegroundForegroundforeground
enthaltenen Regionen Klassifikationscluster, die im Operator
class_ndim_normclass_ndim_normClassNdimNormClassNdimNormClassNdimNorm
verwendet werden. Mit
BackgroundBackgroundBackgroundBackgroundbackground
kann eine Klasse von Pixeln angegeben werden, die bei der
Klassifikation (class_ndim_normclass_ndim_normClassNdimNormClassNdimNormClassNdimNorm
) nicht gefunden werden
sollen. Dieser Parameter darf auch leer sein (leeres Objekt).
Mit dem Parameter DistanceDistanceDistanceDistancedistance
wird der maximale
RadiusRadiusRadiusRadiusradius
für die Cluster festgelegt. Er beschreibt den
minimalen Abstand zweier Clusterzentren. Wird der Parameter
DistanceDistanceDistanceDistancedistance
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
MinNumberPercentMinNumberPercentMinNumberPercentMinNumberPercentminNumberPercent
liegen, ansonsten wird dieser Cluster
nicht ausgegeben. Der Parameter MinNumberPercentMinNumberPercentMinNumberPercentMinNumberPercentminNumberPercent
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 MetricMetricMetricMetricmetric
). Die euklidische Metrik
liefert i.A. die besseren Ergebnisse, benötigt jedoch auch mehr
Rechenzeit. Der Parameter QualityQualityQualityQualityquality
gibt die Qualität der
Clusterbildung an. Dabei wird die Überschneidung der
Abweisungsobjekte 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 BackgroundBackgroundBackgroundBackgroundbackground
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_normLearnNdimNormLearnNdimNormLearnNdimNorm
und learn_ndim_boxlearn_ndim_boxLearnNdimBoxLearnNdimBoxLearnNdimBox
darin, dass bei
letzterem die BackgroundBackgroundBackgroundBackgroundbackground
-Klasse den Klassifikationsprozess
selbst mitsteuert. Hier wird eine Trennfläche zwischen
ForegroundForegroundForegroundForegroundforeground
- und BackgroundBackgroundBackgroundBackgroundbackground
-Klasse erzeugt,
so dass keine Punkte im Merkmalsraum falsch klassifiziert werden.
Bei learn_ndim_normlearn_ndim_normLearnNdimNormLearnNdimNormLearnNdimNorm
dagegen ist eine Überlappung von
ForegroundForegroundForegroundForegroundforeground
- und BackgroundBackgroundBackgroundBackgroundbackground
-Klasse
erlaubt. Dies schlägt sich dann im Rückgabewert QualityQualityQualityQualityquality
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
ForegroundForegroundForegroundForegroundforeground
(input_object) region(-array) →
objectHRegionHRegionHobject
Vordergrundregion
BackgroundBackgroundBackgroundBackgroundbackground
(input_object) region(-array) →
objectHRegionHRegionHobject
Hintergrundregion (Rückweisungsklasse)
ImageImageImageImageimage
(input_object) (multichannel-)image(-array) →
objectHImageHImageHobject (byte)
Trainingsbild.
MetricMetricMetricMetricmetric
(input_control) string →
HTupleHTupleHtuple (string) (string) (HString) (char*)
Verwendete Metrik
Defaultwert:
'euclid'
"euclid"
"euclid"
"euclid"
"euclid"
Werteliste: 'euclid'"euclid""euclid""euclid""euclid", 'maximum'"maximum""maximum""maximum""maximum"
DistanceDistanceDistanceDistancedistance
(input_control) number →
HTupleHTupleHtuple (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
≤
511.0
(lin)
Minimale Schrittweite: 0.01
Empfohlene Schrittweite: 1.0
Restriktion: Distance > 0.0
MinNumberPercentMinNumberPercentMinNumberPercentMinNumberPercentminNumberPercent
(input_control) number →
HTupleHTupleHtuple (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
≤
100.0
(lin)
Minimale Schrittweite: 0.01
Empfohlene Schrittweite: 0.1
Restriktion: 0 <= MinNumberPercent && MinNumberPercent <= 100
RadiusRadiusRadiusRadiusradius
(output_control) real-array →
HTupleHTupleHtuple (real) (double) (double) (double)
Clusterradien bzw. halbe Clusterkantenlängen.
CenterCenterCenterCentercenter
(output_control) real-array →
HTupleHTupleHtuple (real) (double) (double) (double)
Koordinaten aller Clusterzentren.
QualityQualityQualityQualityquality
(output_control) real →
HTupleHTupleHtuple (real) (double) (double) (double)
Überschneidung der Abweisungsobjekte mit den
Klassifizierungsobjekten (1: keine Überschneidung).
Zusicherung: 0 <= Quality && Quality <= 1
Ergebnis
learn_ndim_normlearn_ndim_normLearnNdimNormLearnNdimNormLearnNdimNorm
liefert den Wert 2 (H_MSG_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" und
'empty_region_result'"empty_region_result""empty_region_result""empty_region_result""empty_region_result" einstellbar (siehe
set_systemset_systemSetSystemSetSystemSetSystem
). Gegebenenfalls wird eine
Fehlerbehandlung durchgeführt.
Vorgänger
min_max_graymin_max_grayMinMaxGrayMinMaxGrayMinMaxGray
,
sobel_ampsobel_ampSobelAmpSobelAmpSobelAmp
,
binomial_filterbinomial_filterBinomialFilterBinomialFilterBinomialFilter
,
gauss_filtergauss_filterGaussFilterGaussFilterGaussFilter
,
reduce_domainreduce_domainReduceDomainReduceDomainReduceDomain
,
diff_of_gaussdiff_of_gaussDiffOfGaussDiffOfGaussDiffOfGauss
Nachfolger
class_ndim_normclass_ndim_normClassNdimNormClassNdimNormClassNdimNorm
,
connectionconnectionConnectionConnectionConnection
,
dilation1dilation1Dilation1Dilation1Dilation1
,
erosion1erosion1Erosion1Erosion1Erosion1
,
openingopeningOpeningOpeningOpening
,
closingclosingClosingClosingClosing
,
rank_regionrank_regionRankRegionRankRegionRankRegion
,
shape_transshape_transShapeTransShapeTransShapeTrans
,
skeletonskeletonSkeletonSkeletonSkeleton
Alternativen
learn_ndim_boxlearn_ndim_boxLearnNdimBoxLearnNdimBoxLearnNdimBox
,
learn_class_boxlearn_class_boxLearnClassBoxLearnClassBoxLearnClassBox
Siehe auch
class_ndim_normclass_ndim_normClassNdimNormClassNdimNormClassNdimNorm
,
histo_2dimhisto_2dimHisto2dimHisto2dimHisto2dim
Literatur
P. Haberäcker, „Digitale Bildverarbeitung“;
Hanser-Studienbücher, München, Wien, 1987
Modul
Foundation