PDA

View Full Version : [FRAGE] - Klassifikation


Swoncen
09-03-2007, 22:44
Hallo!

Ich hab gerade das erste Beispiel begonnen und mein Algorithmus klassifiziert die Objekte vom ersten Bild zu 100% und vom gezoomten auch, aber beim rotierten sind Objekte "getrennt" worden, und deswegen sind auch mehr Zusammenhangskomponenten da. Eigentlich passierts nur beim unteren "T", aber mir fällt nicht ein, wie ich das lösen könnte.. darf man im Bild die 2 Komponenten wieder verbinden? *g*

Swoncen
09-03-2007, 22:46
Achja.. was mir noch aufgefallen ist: Es sind auch einzelne Pixel vorhanden durch die rotation.. nehmt ihr die einfach durch einen size threshold weg? Ich werds so machen.. bleibt ja nix anderes über.. wie schauts bei euch aus?

buschti
10-03-2007, 11:51
Man kann schon versuchen, das eine T wieder zu verbinden (Morphologie) und einzelne Pixel bei der Klassifikation auszuschließen. Wichtiger ist aber, dass man die Fehlklassifikationen erkennt und begründen kann, warum das passiert.

LG
Sebastian (EFME-Tutor)

Swoncen
10-03-2007, 12:13
achso cool, wenn man Morphologie verwenden darf, dann mach ich das. Ich erklär natürlich auch, warum das auch passiert ist.

Aber ich hab noch eine Frage: Muss man alle Punkte im "How-to-proceed" erfüllen, die in der Aufgabenstellung stehen? Zum Beispiel brauch ich Punkt 5 und 6 nicht um meine Klassifikation erfolgreich zu starten. Soll man die Punkte trotzdem machen um volle Punkteanzahl auf das Beispiel zu bekommen?

buschti
11-03-2007, 14:02
...
Aber ich hab noch eine Frage: Muss man alle Punkte im "How-to-proceed" erfüllen, die in der Aufgabenstellung stehen? Zum Beispiel brauch ich Punkt 5 und 6 nicht um meine Klassifikation erfolgreich zu starten. Soll man die Punkte trotzdem machen um volle Punkteanzahl auf das Beispiel zu bekommen?

Zu erst einmal geht es erst einmal darum, rotations- und translationsinvariante Features zu finden. Aus diesem Grund würde ich Punkt 5 und 6 schon implementieren.

LG
Sebastian (EFME-Tutor)

Swoncen
11-03-2007, 15:54
Ich hab translations und rotationsinvariante features. Eigentlich einzeln nicht, aber das Verhältnis von einem feature zu einem anderen ist invariant.. darf man das eh auch so machen oder darf man nur die features als einzelnes nehmen?

buschti
11-03-2007, 16:42
Ich hab translations und rotationsinvariante features. Eigentlich einzeln nicht, aber das Verhältnis von einem feature zu einem anderen ist invariant.. darf man das eh auch so machen oder darf man nur die features als einzelnes nehmen?

Ja sicher darf man das so machen.

Swoncen
11-03-2007, 18:45
Ok und eine letzte Frage, dann geb ich Ruh: Muss man die alle Features beschreiben (invariant bei skalierungen etc.) oder kann man, wenn man ein, zwei features gefunden hat nur diese Beschreiben? Mit Punkt 6 kann ich nichts anfangen..

mfg

buschti
12-03-2007, 11:25
Ok und eine letzte Frage, dann geb ich Ruh: Muss man die alle Features beschreiben (invariant bei skalierungen etc.) oder kann man, wenn man ein, zwei features gefunden hat nur diese Beschreiben? Mit Punkt 6 kann ich nichts anfangen..


Man sollte schon alle Features, die von regionprops zurückgeliefert werden oder in der Vorlesung behandelt werden/wurden, untersuchen. In der VO werden meines Wissens in erster Linie die shape descriptors (roundness usw.) noch zusätzlich beschrieben. Die shape descriptors sind auch für diese Klassifikationsaufgabe recht geeignete Features (auch wenn man's sicher auch ohne sie bewerkstelligen kann).

LG
Sebastian (EFME-Tutor)

chaozu2005
12-03-2007, 12:57
Hallo!

1. Warum muss man in 2.2 (5) den Umfang selber berechnen. Es gibt ja beim Regionprops einen Wert der genau den Umfang zurückliefert? Mit welchem soll man jetzt weiterarbeiten?

2. Wie kann man die Differenz aller Felder einer Struktur berechnen. Muss man jetzt für jede Eigenschaft immer "STATS(x).XXXX - STATS(y).XXXX" schreiben oder gibt es einen Befehl mit dem das einfacher geht?

Lg Jürgen

buschti
12-03-2007, 16:02
Hallo!

1. Warum muss man in 2.2 (5) den Umfang selber berechnen. Es gibt ja beim Regionprops einen Wert der genau den Umfang zurückliefert? Mit welchem soll man jetzt weiterarbeiten?


regionprops liefert erst in der neuesten Version der IP Toolbox auch den Umfang zurück. Das wurde anscheinend übersehen -> man kann den Wert von regionprops verwenden.


2. Wie kann man die Differenz aller Felder einer Struktur berechnen. Muss man jetzt für jede Eigenschaft immer "STATS(x).XXXX - STATS(y).XXXX" schreiben oder gibt es einen Befehl mit dem das einfacher geht?


Nicht direkt, ist mir zumindest nicht bekannt. Beachte auch, daß nicht alle Werte in stats skalar sind sondern auch teilweise Matrizen unterschiedlicher Größe, die nicht einfach voneinander abgezogen werden können.
Wenn Du das aber machen willst, solltest Du die skalaren Werte von stats, die Du vergleichen möchtest, aussuchen und Dir in einem Skript etwas schreiben ala:

[stats(x).Area -stats(y).Area; stats(x).Perimeter -stats(y).Perimeter ... ]

LG
Sebastian (EFME-Tutor)

NightHaG
12-03-2007, 16:06
[€dit] hat sich erübrigt

Swoncen
13-03-2007, 23:22
Mir ist heute gesagt worden, dass in dem Bild nicht nur 3 Objektklassen sind, sondern 4. Und zwar ist ein "T" mit dem stärkeren "Stamm" ein eigenes Objekt. Ich hab jetzt die Klassifikation leicht umgeändert und bekomm jetzt dieses Ergebnis:

http://i17.photobucket.com/albums/b73/WuZweng/class.gif

Gibts noch weitere Stolpersteine, bevor wir abgeben? :-)

buschti
13-03-2007, 23:42
Mir ist heute gesagt worden, dass in dem Bild nicht nur 3 Objektklassen sind, sondern 4. Und zwar ist ein "T" mit dem stärkeren "Stamm" ein eigenes Objekt. Ich hab jetzt die Klassifikation leicht umgeändert und bekomm jetzt dieses Ergebnis:

http://i17.photobucket.com/albums/b73/WuZweng/class.gif

Gibts noch weitere Stolpersteine, bevor wir abgeben? :-)

Die Klassifikation schaut gut aus.

LG
Sebastian (EFME-Tutor)

SoulSpirit
19-03-2007, 04:31
Ich hab ne frage bezüglich der Farben.. Ich lese das TIF-File, hab also ein Graustufenbild und verarbeite es usw.. Ich hab dann die Pixelkoordinaten eines Blobs, diese will ich dann in einer bestimmten Farbe in ein File schreiben.

Mit einer 2-Dimensionalen Matrize funktioniert das ganz gut, nur beschränkt isch das ganze dann auf S/W.

Für Farben habe ich versucht, eine 3-Dimensionale Matrix zu erzeugen, wobei die 3te Dimension 3-Felder hat, für Rot, Grün und Blau und schreibe das ganze dann als BMP in die Datei. Nur funktioniert das nicht ganz, wär wohl auch zu einfach gewesen :D jedenfalls bleibt das Bild weiß.

Wie muss eine Matrize ausschauen, damit sie als Farbbild erkannt wird, bzw. was mach ich falsch?

ksi
19-03-2007, 09:02
nimm einfach das grauwert bild und färb es mit label2rgb(img) ein, so machen wir das jedenfalls.

buschti
19-03-2007, 10:45
Ich hab ne frage bezüglich der Farben.. Ich lese das TIF-File, hab also ein Graustufenbild und verarbeite es usw.. Ich hab dann die Pixelkoordinaten eines Blobs, diese will ich dann in einer bestimmten Farbe in ein File schreiben.

Mit einer 2-Dimensionalen Matrize funktioniert das ganz gut, nur beschränkt isch das ganze dann auf S/W.

Für Farben habe ich versucht, eine 3-Dimensionale Matrix zu erzeugen, wobei die 3te Dimension 3-Felder hat, für Rot, Grün und Blau und schreibe das ganze dann als BMP in die Datei. Nur funktioniert das nicht ganz, wär wohl auch zu einfach gewesen :D jedenfalls bleibt das Bild weiß.

Wie muss eine Matrize ausschauen, damit sie als Farbbild erkannt wird, bzw. was mach ich falsch?

Wenn ich Dich richtig verstehe, ist Deine Vorgehensweise schon richtig. Ein RGB-Bild wird als N x M x 3 Matrix beschrieben.
Wenn Du die Matrix als Bild mit imwrite abspeichern möchtest, mußt Du glaub ich den Wertebereich auf 0 bis 1 setzen, d.h. imwrite(bild/255,'bild.bmp','BMP');

LG
Sebastian (EFME-Tutor)

SoulSpirit
19-03-2007, 14:19
imwrite(bild/255,'bild.bmp','BMP');

hatte nicht durch 255 dividiert, jetzt gehts.

Danke!