Seite 5 von 7

Elektronische Landkarte

Verfasst: Fr 21. Apr 2006, 13:36
von Michael (Dietikon)
Hallo,

Also ich habe mir gedacht, dass der Algorithmus ganz „naiv“ davon ausgeht, dass die Werte nahe beieinander liegen. Sprünge über mehr als 5 Stufen kann man ohnehin nicht mit Sicherheit bestimmen (sind aber wahrscheinlich auch selten). Hat man Faltung, dann bedeutet das nicht, dass die Streuung sehr gross wird. Der Algorithmus geht automatisch davon aus, dass die Abweichung zwischen einem dunkelroten und einem dunkelblauen Pixel klein (z.B. 1) ist. Es kann natürlich sein, dass sich bei sehr grossem Gradienten die Abstände zwischen 2 Pixeln wieder geringer werden, also fälschlicherweise eine geringe Abweichung angenommen wird. Allerdings sollten noch andere Pixel in der Umgebung sein, die genügend stark streuen. Mit jedem Pixel werden ja 8 Umgebungspixel verglichen. Es ist dann sehr unwahrscheinlich, dass die Streuung in einem Gebiet mit grossem Gradienten klein wird.

Man würde dann für jeden Pixel einen Wert für die Streuung erhalten. Dort, wo keine Information (grauer Pixel) und ein hohes Z (über 4) vorhanden ist, könnte man willkürlich einen hohen Wert (z. B. 6 oder noch höher) setzen, da der Gradient und somit auch die Streuung in diesem Bereich besonders hoch wird. In grauen Bereichen, wo Z klein ist, könnte man für jeden Pixel einen tieferen Wert (z. B. 3) einsetzen oder einfach das Streuungsmittel nehmen. Dort ist der Gradient wahrscheinlich kleiner, aber uns fehlt eine Information.

Als Beispiel habe ich mal ein Skalarfeld gezeichnet, welches etwas Ähnlichkeit zu unserem Problem besitzt. Ich verwende ganze Zahlen. Das würde m. E. ausreichen für die Berechnung. X bezeichnet graue Zonen mit hoher Varianz. Unten könnte ein Rand (also graue Zone und kleines Z) sein.

1 1 1 2 1 1 1 3 3 3 3
1 0 1 2 4 6 4 6 6 5 6
1 1 3 5 9 X X X X 9 X
1 1 3 4 9 X X X X 8 X
1 1 2 4 9 6 4 6 4 8 X
1 1 1 2 2 2 2 3 3 3 5
5 5 5 5 5 5 5 5 5 5 5
- - - - - - - - - - -

Jetzt könnte man Bernhards Algorithmus laufen lassen. Zuerst rechnet man nur in einem Gebiet, wo alle Punkte mit <=1 gewichtet sind, dann für alle Pixel <=2 usw. So vermeidet man, dass der Algorithmus über schmale Brücken oder unsichere Bereiche hinwegrechnet. Erst zum Schluss werden Randbereiche und Zonen mit hoher Unsicherheit berechnet. Für unseres Beispiel würde das bedeuten, dass Bernhards Algorithmus links oben beginnt, dann die Werte unten berechnet (ausser dem Rand) und zum Schluss die Randbereiche und Brücken. Ob das Verfahren in der Praxis funktioniert, kann ich nicht sagen. Man müsste es mal ausprobieren.

Das Verfahren ist übrigens ein bisschen ans Kriging angelehnt.

Grüsse, Michael

@Bernhard: Wäre so ein gewichtetes, schrittweises Verfahren machbar?
- Editiert von Michael (Untersee) am 21.04.2006, 13:53 -

Elektronische Landkarte

Verfasst: Fr 21. Apr 2006, 14:10
von Willi
"Hat man Faltung, dann bedeutet das nicht, dass die Streuung sehr gross wird."

Hallo Michael
Vielleicht bin ich zu dumm, um dich zu verstehen. Aus meiner Sicht wird die Streuung im Bereich von Faltung automatisch sehr gross. Man muss ja den Farbstufen einen Wert zuordnen, z.B. -16,-15,-14,....,13,14,15,16. Dort, wo Faltung ist, liegen dann -16 und 16 nebeneinander, die Differenz ist also 32. Das gibt einen Riesenanteil an die Streuung. Wenn man das verhindern will, muss man entfalten, ansonsten gehts für mich irgendwie nicht auf. Oder meinst du, dass man die Werte -16,-15,-14,... auf 14,15,16 korrigiert, also aus - + macht? Ginge vielleicht, auch wenn es schon eine gewisse Vergewaltigung des Windfeldes wäre.

Gruss Willi

Elektronische Landkarte

Verfasst: Fr 21. Apr 2006, 14:29
von Bernhard Oker
Habe nochmals etwas herumprobiert und neben den Pixeln mit grosser Scherung auch die schwachen Brücken entfernt:

Bild

Denke allerdings nicht dass das generell ein geeignetes Verfahren ist...


@Willi
Wenn man die zwei Farben der Skalenenden nebeneinander hat, dann muss man natürlich entfalten, so dass dann -16 und -17 nebeneinander liegen statt -16 und +16. Ich denke Michael hat das so gemeint.


@Michael
Dein Verfahren hört sich erst mal nicht schlecht an, doch welchen realen Velocity Wert soll ich dann den Farben zuordnen, wenn ich nicht weiss um wie viele male die Skala gefaltet ist an dieser Position?
Im Moment suche ich als Startpunkt gezielt nach einem Punkt mit Faltung und nehme an dass dieser je nachdem ob er auf das Radar zu zieht oder vom Radar weg am einen oder anderen Ende der Skala liegt und rechne von dort aus dann entlang den angrenzenden Farben weiter.
(Daher fallen im Moment auch alleinstehende Bereiche wo es keine Faltung gibt heraus)
Eine generelle Abschätzung liesse sich natürlich anhand der Storm-Motion und der Position im Vergleich zum Radarstandort schon machen...

Gruss
Bernhard
- Editiert von Bernhard Oker am 21.04.2006, 14:42 -

Elektronische Landkarte

Verfasst: Fr 21. Apr 2006, 14:58
von Willi
ok, dann also zuerst entfalten, dann die Streuung berechnen, und dann?

Gruss Willi

Elektronische Landkarte

Verfasst: Fr 21. Apr 2006, 16:16
von Michael (Dietikon)
@Willi: Bin halt schlecht im Erklären. Ich bin davon ausgegangen, dass man 10 Skalenwerte [-14.4 bis +14.4] kennt. Die Faltung ist unbekannt. Ich vergleiche in einem 3x3-Pixelfeld die 8 umgebenden Pixel mit dem Pixel in der Mitte. Wenn die Abweichung grösser als 5 Stufen wird, weiss ich das ja nicht, da ich nicht weiss, in welche Richtung gefaltet bzw. ob überhaupt gefaltet wurde. Ich gehe deswegen davon aus, dass die Differenz zwischen mittlerem Pixel und Vergleichspixel minimal ist (z.B. 3 obwohl sie auch 7 sein könnte). Wenn in Wirklichkeit die Differenz grösser als 5 ist, mache ich einen Fehler bei der Berechnung der Streuung. Da ich aber noch 7 andere Pixel mit dem mittleren Pixel vergleiche, spielt das nicht so eine grosse Rolle. Da in solchen Bereichen ein hoher Gradient vorhanden sein muss, wird es trotzdem stark streuen. Wenn also ein Pixel mit -14.4 und einer mit +14.4 nebeneinander liegt, dann gehe ich davon aus, dass sich dort eine Faltungsgrenze befindet und somit nur eine Stufe (nicht 9 oder 11, was theoretisch ja auch möglich wäre) Differenz dazwischen liegt.

Ich kriege nun für jeden Pixel ein Mass für die Streuung. Nun habe ich mir das so vorgestellt, dass Bernhards Algorithmus zuerst in einem Bereich mit geringer Streuung die Faltung berechnet. Dort sollten die Faltungsgrenzen eindeutig sein. Dann kann man schrittweise fortfahren in Bereichen mit höherer Streuung. Irgendwann kommt man in einen unsicheren Bereich, aber bis dahin sollten im Optimalfall die Faltungsgrenzen fast vollständig berechnet worden sein. Man tastet sich sozusagen vom sicheren in den unsicheren Bereich vor.

Ich bin auf die Idee gekommen, weil in diesem konkreten Fall über einen unsicheren Bereich gerechnet wurde. Hätte man nach Streuung gewichtet, wäre dieser Bereich bei der Berechnung lange ignoriert worden und Bernhards Tool hätte möglicherweise eher erkannt, dass unten eine Faltungsgrenze vorhanden ist.

@Bernhard: Kannst Du mir den Algorithmus noch etwas genauer erklären? Für die endgültige Lösung bringt mein Verfahren nichts. Aber vielleicht liessen sich beide Verfahren irgendwie miteinander verknüpfen. Es gibt Dir nur an, welche Bereiche sicher berechnet werden können und welche Bereiche unsicher (wegen Unstetigkeiten) sind.
- Editiert von Michael (Untersee) am 21.04.2006, 16:22 -
- Editiert von Michael (Untersee) am 21.04.2006, 16:23 -

Elektronische Landkarte

Verfasst: Fr 21. Apr 2006, 17:18
von Bernhard Oker
@Michael

Bild

- Als erstes suche ich ein Punkt auf dem Bild wo die Farben der Skalenenden (= Ort mit Faltung) aufeinandertreffen (Nr. 1).
Da dieser Punkt auf das Radar zu zieht nehme ich an dass er sich am linken Skalendende befindet, sich also Towards mit -17.6 m/s bewegt.
- Dann suche ich nach umliegenden Pixeln mit der gleichen Farbe (Nr. 2).

All diese damit bestimmten Pixel werden in einer Liste gespeichert um zu prüfen ob an sie angrenzende Pixel (inkl. der Ecken) mit erster Priorität entweder eine Farbe nach Links oder Rechts in der Skala abweichen oder mit zweiter Priorität sich über eine Faltungsgrenze erstrecken.

Nachden die Pixel der gleichen Farbe (Nr. 2) ausgewertet sind arbeite ich die Liste der bestimmeten Pixel der Reihe nach ab und treffe dabei auf einen Pixel bei dem sich ein noch nicht bestimmter Pixel daneben befindet der sich eine Farbe Richtung Towards befindet (-20.8 m/s) und wenn ich diesen bestimmt habe dann suche ich wieder nach allen Pixeln der gleichen Farbe und damit ist Nr. 3 bestimmt.

Das ganze geht dann solange weiter bis es keine angrenzenden Pixel mit einer benachbarten Farbe in der Skala mehr gibt.

Solche Pixel wie unter Nr. 4 werden im Moment eliminiert da sie keine angrenzende Farbe besitzen ausgehend von Nr. 1. Das könnte man später noch verbessern wenn man z.B. die zwei angrenzenden Farben zulässt statt nur der direkt angrenzenden.


Gruss
Bernhard

Elektronische Landkarte

Verfasst: Fr 21. Apr 2006, 19:57
von Michael (Dietikon)
@Bernhard: Okay, dann sollte man die beiden Verfahren miteinander verknüpfen können. Ich werde mir mal in den nächsten Tagen überlegen, wie das konkret gehen könnte.

Grüsse, Michael

Elektronische Landkarte

Verfasst: Sa 22. Apr 2006, 12:19
von Bernhard Oker
Ich habe mal die Windscherung visualisiert, wobei der Faktor 0.7 für Punkte in den Ecken nicht eingebaut ist:

Bild

Gruss
Bernhard

Elektronische Landkarte

Verfasst: Sa 22. Apr 2006, 13:13
von Michael (Dietikon)
Hallo Bernhard,

Ich würde so vorgehen.

1. Alle Pixel mit Z>4 und fehlender Dopplerinformation suchen. Sagen wir denen mal V-Pixel. Randpixel mit kleinem Z 12 (Streuung für hohen Gradienten)

(3+6+3+3)*0.7 + (1+2+2+1)= 16.5 => 17 (Streuung für sehr hohen Gradienten)

(2+4+1+5)*0.7 + (2+4+6+3)= 23.4 => 23 (Streuung für Rauschen)

Für jeden Pixel (ausser V und R) kennen wir nun Reflektivität, gefaltete Dopplergeschwindigkeit und Streuung. Man bekommt einen Eindruck, wo ein hoher Gradient und wo Fehler oder Rauschen auftreten könnten. Allerdings spielt auch der Zufall rein, so dass den Streuungswerten nicht ein allzu hohes Gewicht gegeben werden sollte. Prinzipiell gilt aber schon (wie man an obigen Beispiel sieht) je niedriger, desto besser. Je höher der Wert, desto eher passieren Fehler.

3. Nun kann man anfangen zu entfalten, bezieht aber anfangs nur Pixel mit niedriger Streuung (z.B. alle Pixel mit Streuung <=5) ein. Alles andere blendet man aus. Man rechnet solange bis der Algorithmus nicht mehr weiter kommt. Alles was man berechnet hat, ist fix. Dann geht man eine Stufe höher, bezieht also Pixel mit höherer Streuung mit ein. Ich würde keine Stufen überspringen. Wahrscheinlich muss dein Algorithmus nun auch nach Pixeln suchen, welche dieselbe Farbe wie die Randpixel haben. Das kann man solange fortführen, bis der Algorithmus nicht mehr weiterkommt. Vermutlich kann man so fast alle Dopplergeschwindigkeiten, auch jene in fehleranfälligen Bereichen, berechnen. Gebiete mit besonders starker Streuung (Rauschen) könnte man auch weglassen. Allerdings muss man da ausprobieren. Vielleicht müsste man den Algorithmus so anpassen, dass bei höheren Stufen (über 10) auch Zweierschritte zugelassen sind.

4. Mit Medianfilter Dopplerinformation in V-Pixel auffüllen.

Gruss, Michael

@Bernhard: Sieht gut aus. Den Faktor 0.7 würde ich auch noch einbeziehen, da die Ecken strenggenommen weiter weg sind vom Vergleichspixel und deswegen automatisch stärker streuen. Je weiter ich mich von dem Pixel entferne, desto stärker wird es im Normalfall streuen. Wir wollen ja nur die Streuung in der unmittelbaren Umgebung kennen.
- Editiert von Michael (Untersee) am 22.04.2006, 13:19 -

Elektronische Landkarte

Verfasst: Mi 26. Apr 2006, 13:18
von Bernhard Oker
Ich habe das ganze mal in einer ersten Version eingebaut wie von Michael angegeben:

Die Windscherung inkl. Faktor 0.7 für die Eckpunkte. An der Position die mit dem gelben Punkt markiert ist beginnt die Analyse, denn dort befindet sich der Punkt mit minimaler Windscherung wo gleichzeitig Faltung auftritt.
Bild

Der Verlauf der Analyse ist in dieser Animation zu sehen:
http://www.sturmforum.ch/forum_uploads/ ... 130019.gif

Gruss
Bernhard