Forum: Digitale Signalverarbeitung / DSP / Machine Learning Klassifikation einer Kontur mittels DFT


von Konturfinder (Gast)


Lesenswert?

Hallo
ich habe mich mit der Klassifikation von Objekten beschäftigt und bin 
auf die Fourierdeskriptoren gestoßen um Objekte zu Klassifizieren. 
Vorhanden ist eine geschlossene Kontur eines Objektes. Die Koordinaten 
werden als Real- und Imaginärteil angesehen. Wenn man dieses Signal nun 
in den Frequenzbereich transformiert erhalte ich ein  Spektrum.


Der erste Koeffizient dieses Spektrums soll nur für den Ort und Größe 
verantwortlich sein. Da ich nie weiß wo sich mein Objekt befindet, soll 
es eine Invariante bezüglich der Größe und des Ortes des Objektes geben. 
Diese Invariante wollte ich herstellen indem ich mein Fourierspektrum 
bezüglich des ersten Koeffizienten normiere.
Doch leider bringt das nicht den gewünschten Erfolg. Ich habe 2 
Screenshots gemacht.
I.) xrmb2.net/img/images/417701.jpeg
II.) xrmb2.net/img/images/188590.jpeg
Das erste Bild ist das unnormierte Spektrum, und das Zweite mit Bild als 
normiertes Spektrum dargestellt. Ich habe wie folgt meine Koeffizienten 
auf eins mit Hilfe der komplexen Rechenregeln normiert:

Nach der Normierung sollten eigentlich die Spektren relativ gleich 
aussehen. Leider tun sie es nicht.
Habe ich einen systematischen Fehler? Oder ist das ein falsche 
Heransgehensweise bezüglich der Normierung? Oder mach ich was anderes 
falsch? ;)


Vielen Dank im Voraus!

von Detlef _. (detlef_a)


Lesenswert?

Statt auf real/imag mal auf Betrag/Phase kucken !? Größe hat was mit 
Betrag zum tun, Verschiebung mit Phase. Ist aber nur ins Blaue vermutet.

Cheers
Detlef

von Nils (Gast)


Lesenswert?

Hallo Konturfinder,

nur ein kurzer Hinweis:
>Das erste Bild ist das unnormierte Spektrum...
Da stimmt schon irgendetwas nicht: Wenn I) (417701.jpeg) das nicht 
normierte Spektrum ist, sollte sich 'kreis.jpeg' und 'kreisweit.jpeg' 
sowohl im Real- als auch im Imaginärteil unterscheiden. Sind die Bilder 
vertauscht, die Koordinaten der Konturen falsch oder die DFT nicht 
richtig implementiert?

Ansonsten habe ich kurz nachgeschlagen:
> Diese Invariante wollte ich herstellen indem ich mein Fourierspektrum
> bezüglich des ersten Koeffizienten normiere.
Die Vorgehensweise ist grundsätzlich richtig (bzw. Deine Zählung beginnt 
eigentlich bei Null); allerdings mit dem Hinweis, dass Rechteckraster 
für die komplexen Koordinaten zu Ungenauigkeiten führen.
Als Verbesserung dieser Methode wird in der mir vorliegenden Literaur 
die Ableitung aus dem Powerspektrum genannt.

Ich hoffe, das hilft etwas weiter.

Gruß
Nils

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.