AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Programmieren allgemein Abstandsmaß für FourierDeskriptoren
Thema durchsuchen
Ansicht
Themen-Optionen

Abstandsmaß für FourierDeskriptoren

Ein Thema von Nikolas · begonnen am 26. Jun 2008 · letzter Beitrag vom 2. Jul 2008
Antwort Antwort
Benutzerbild von Nikolas
Nikolas

Registriert seit: 28. Jul 2003
1.528 Beiträge
 
Delphi 2005 Personal
 
#1

Abstandsmaß für FourierDeskriptoren

  Alt 26. Jun 2008, 17:32
Hallo

Wieder eine Frage aus meinem aktuellen Proseminar. Nachdem ich schon mehrmals hier sehr gute Antworten gefunden habe, würde ich heute gerne Fragen, ob jemand eine schöne Abstandsfunktion für Fourierdeskriptoren kennt.

Mein Ansatz zur Zeit liegt beim Energiespektrum, wenn also c_-n,...,c_n und c'_-n,...c'_n meine Deskriptoren sind, habe ich den Abstand 1/(2n+1) \sum_i abs^2(c_i-c'_i)
(gemittelte Summe über die Quadrate der Differenzen der einzelnen Koeffizienten).

Dieser Abstand ist zwar invarint innerhalb einer Objektklasse, trennt die Klassen aber leider nicht allzu gut, was sicherlich daran liegt, dass die komplette Information über die Winkel abgetrennt wird.

Könnte mir da jemand weiterhelfen?

Nikolas
Erwarte das Beste und bereite dich auf das Schlimmste vor.
  Mit Zitat antworten Zitat
HHick123

Registriert seit: 23. Jul 2007
73 Beiträge
 
#2

Re: Abstandsmaß für FourierDeskriptoren

  Alt 1. Jul 2008, 08:09
Klassentrennung:
Wenn es Dir um die Klassentrennung geht, könntest Du die LDA-Transformation (Linear Discriminant Analysis) verwenden: Dabei werden die Vektoren einfach mit einer LDA-Matrix multipliziert, die Du vorher aus den Klassen berechnest, und dann wird nach Deiner Formel die Abstände zu den "Centroid-Vektoren" (Mittelwertsvektoren), die jeweils die Klasse repräsentieren, berechnet. Die "näheste" Klasse gewinnt.

Dies ist die (nach einem bestimmten Kriterium) optimale lineare Transformation. Nichtlineare Transformationene zur Klassentrennung können natürlich (zumindest i.a., in der Praxis nicht unbedingt) noch optimaler funktionieren, z.B. mit einem Single-Layer-Perceptron, dem eine nichtlineare Vektortransformation vorgeschalten ist.

Abstandsmasse:
Es hängt natürlich vom Anwendungszweck ab, welche Abstandsmaße dem Problem (aus der Natur) am ehesten angepasst ist. Z.B.: für das Thema Audiosignale gibt es eine Zusammenfassung der verbreiteten Abstandsmaße im Buch von L.Rabiner, z.B. neben deinem (quadrierten) euklidischen Abstandsmaß auch das Itakura-Saito-Abstandsmaß, City-Block-Abstandsmass und viele andere mehr. Auch das einfache Skalarprodukt wird gelegentlich auch für Spracherkenner verwendet (allerdings werden die Vektoren dann zunächst auf eine Kugeloberfläche abgebildet "normiert" und dann auf eine Ebene projeziert "Mittelwert abgezogen").
  Mit Zitat antworten Zitat
HHick123

Registriert seit: 23. Jul 2007
73 Beiträge
 
#3

Re: Abstandsmaß für FourierDeskriptoren

  Alt 2. Jul 2008, 10:15
P.S.: Hab' jetzt nochmal darüber nachgedacht. Die Schwierigkeit besteht ja darin, dass Du eigentlich Abstandsmasse für Fourierdeskriptoren suchst. D.h., deine Vektoren sind komplexwertig, wenn ich das richtig verstehe....

Normalerweise hätte ich die LDA-Analyse mit zugehöriger Mahalanobis-Distanz empfohlen, weil bezüglich der Klassentrennung bestimmte optimale Eigenschaften hat, aber ich bin jetzt nicht sicher, ob' man die LDA-Analyse auch für komplexwertige Vektoren verwenden kann/soll (bzw. ob die gewünschten optimal-klassentrennenden Eigenschaften bei der Verallgemeinerung erhalten bleiben)... Hmm.
Ich glaub' zwar schon, wenn Du in der LDA-Matrix komplexe Elemente zuläßt, aber 100% sicher kann ich das momentan nicht sagen....

Die Frage wäre vielleicht doch eher etwas für einen Mathematiker...
  Mit Zitat antworten Zitat
Benutzerbild von Nikolas
Nikolas

Registriert seit: 28. Jul 2003
1.528 Beiträge
 
Delphi 2005 Personal
 
#4

Re: Abstandsmaß für FourierDeskriptoren

  Alt 2. Jul 2008, 17:46
Vielen Dank für deine Überlegungen. Leider sind diese Ansätze etwas zu hoch. Das Projekt ist für ein Proseminar, dass sich hauptsächlich an Leute im vierten Semester richtet, wobei ich nicht davon ausgehen darf, dass schon mal jemand Musterkennung gehört hat. Ich habe die Betragsquadratsfunktion dahingehend erweitert, dass ich die Koeffizienten mit niedrigem Index stärker gewichtet werden und auch die Winkeldifferenz eingebaut wird. Also im Endeffekt eher was zusammengebasteltest, dass aber ziemlich gute Werte liefert.
Für eine größere Anwendung hätte ich eher an eine SVM gedacht.
Erwarte das Beste und bereite dich auf das Schlimmste vor.
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 02:08 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz