Bildbearbeitung: Geometrische Formen erkennen

Naryxus

Aktives Mitglied
Hallo,

meine Gruppe und ich arbeiten an einem Praktikum, in dem wir geometrische Formen erkennen müssen.
Prinzipiell wollen wir das ganze über Machine Learning realisieren.

Als Eigenschaftsvektor für die Testdaten haben wir uns überlegt, die Anzahl der Ecken, bzw. der Kanten und den Abstand zwischen Start- und Endvektor zu verwenden.

Wir wollen erstmal die Formen "Linie", "Dreieck", "Rechteck" und "Kreis" erkennen.

Findet ihr erstmal die Wahl der Merkmale für die geometrischen Formen sinnvoll?

Unser nächster Schritt beschäftigt sich dann damit, aus einer Menge von Ortsvektoren (Mauskoordinaten auf dem Bildschirm) die Eigenschaften abzuleiten.
Der Abstand zwischen Start- und Endvektor ist dabei geschenkt.

Unser Problem ist viel eher das Ableiten der Anzahl der Ecken, bzw. der Kanten.

In unserem ersten Versuch haben wir jeweils immer gleiche Richtungsvektoren (zwischen Ortsvektoren) zusammengefasst, um so längere Richtungsvektoren zu erhalten. Eine Ecke haben wir dann erkannt, wenn der darauf folgende Richtungsvektor eine andere Richtung wie der vorhergehende Vektor einschlägt und mindestens eine bestimmte prozentuale Länge des vorhergehenden Vektors aufweist.

DIeser Versuch hat allerdings für die Klassen "Dreieck", "Rechteck" und "Kreis" durchaus ähnliche Ergebnisse geliefert. Somit ist das Verfahren ungenügend (auch bei Anpassen der prozentualen Länge).

Ein anderer Ansatz, den wir uns überlegt haben, der aber noch nicht vollends ausgereift ist, ist es auf Grundlage eines gerade betrachteten Richtungsvektors eine Vorhersage zu treffen, wo sich der nächste Vektor befinden könnte und dort dann in einem bestimmten Akzeptanzbereich zu suchen und den aktuell betrachteten Richtungsvektor bei einem erfolgreichem Fund eines Vektors auf das arithmetische Mittel der beiden Richtungsvektoren zu aktualisieren.

Haltet ihr diesen Ansatz für sinnvoll? Habt ihr andere Ideen? Wir stecken da momentan ziemlich in der Sackgasse.


Grüße, Naryxus
 

Oben