Forum: Mikrocontroller und Digitale Elektronik Anstehende Diplomarbeit - Brainstorming


von Maddin (Gast)


Lesenswert?

Hallo liebe Forumsgemeinde,
in naher Zeit fange ich meine Diplomarbeit an und möchte nun schonmal 
etwas Brainstorming bezüglich ihrer Realisierung betreiben. Es handelt 
sich um die Objekterkennung von vorbeifahrenden Gegenständen in einer 
Produktionsanlage eines "grossen Automobilherstellers" :-). Das Objekt 
ist in seiner Form bekannt und somit einfach im Bild zu ermitteln. Die 
eigentliche Aufgabe die auf mich zukommt ist die Berechnung seiner 
Geschwindigkeit. Jedes Objekt besitzt eine eigene sich ändernde 
Geschwindigkeit. Aus welchen Gründen auch immer soll über einen 
gegebenen Bereich ein v(t) Profil des Objektes ermittelt werden. Bis 
hierhin alles noch OK meinerseits. Leider stehen Kamera und 
Objetlaufbahn in keinem rechten Winkel zueinander sondern das Objekt 
bewegt sich auf Teils abgerundeten Bahnen an der Kamera vorbei: Was 
soviel heisst, dass es es auf die Kamera zukommen und sich auch wieder 
von ihr wegbewegen kann. Sprich die ganze Sache müsste irgendwie in 3D 
bewätigt werden, was mich momentan etwas ratlos darstellen lässt. Freue 
mich über konstruktive Diskussion, Ideen etc.
Viele Grüsse,
Maddin

von Steven (. (ovular) Benutzerseite


Lesenswert?

Wenn man die Radien und die Abstände vorher wüsste, wäre das schon eine 
große Hilfe.

Ansonsten mit 2 Kameras arbeiten um 3D sehen zu können.

von Dennis (Gast)


Lesenswert?

>Sprich die ganze Sache müsste irgendwie in 3D bewätigt werden

wieso? Du kannst doch jedem Punkt auf dem aufgenommenen Bild ein (oder 
mehrere) Wert zuweisen. Stichpunkt: Vektorfeld oder Kennfeld. Der Rest 
ist Definitionssache, sprich: du kannst dir x-beliebige 
Geschwindigkeitsprofile anlegen, je nach tatsächlichen Gegebenheiten. 
Dann kannst du dir 3D sparen, und kommst mit wesentlich weniger Aufwand 
 Geräten  Kosten aus.

von Steven (. (ovular) Benutzerseite


Lesenswert?

@Dennis
Dann brauchst du aber erst mal Werte.
Ich weis ja nicht in wie weit das ganze Projekt eingeschränkt ist.

von Maddin (Gast)


Lesenswert?

Die Geschichte soll möglichst unabhängig von Inputs wie Abständen bzw. 
Radien ablaufen, da es an verschiedenen Stellen möglichst flexibel 
einsetzbar sein soll. Auch sollen keine zwei Kameras eingesetzt werden, 
was wohl für ein 3d Gerät spricht. Was von mir erwartet wird ist eine 
Machbarkeitsstudie sowie ein Konzept für eine spätere Implementierung. 
Jedoch würde ich gernee genau das selbst in die Hand nehmen. Know-how im 
Bereich Elektroniks, MCUs, DSPs und FPGAs ist vorhanden. Jedoch fehlt 
mir die richtige Idee wie ich an die Sache rangehen könnte!

von Maddin (Gast)


Lesenswert?

Oh etwas zu spät gepostet. Die Antwort bezieht sich noch auf den zweiten 
Post. Aber danke für eure Beiträge

von Bertram S. (bschall)


Angehängte Dateien:

Lesenswert?

Also ich kann mir vorstellen das es über ein "Raster" mit festgelegtem 
Gitterabstand möglich sein müsste die Geschwindigkeit des Körpers zu 
berechnen... Ober über die Eckpunkte eines Immaginären Rechtecks und der 
Änderung des Schwerpunktes des Körpers zu den Eckpunkten

von Michael (Gast)


Lesenswert?

Hallo Maddin,

Autofokus
zur Entfernungsbestimmung kannst Du (neben Möglichkeiten wie Lasersensor 
und Ultraschall) einen Autofokusalgorithmus verwenden. Voraussetzung 
hierfür ist, daß Du eine Optik hast, deren Brennweite Du verstellen 
kannst.
Im Prinzip geht es darum, die Brennweite der Optik so einzustellen, daß 
die hohen Ortsfrequenzen des Bildes maximiert werden; dann ist das Bild 
"scharf".

Kreuzkorrelation
Das Maximum der Kreuzkorrelationsfunktion zweier Bildmuster zeigt Dir 
dessen Entfernung (und damit die Geschwindigkeit) an. Evtl. mußt Du die 
Schiefprojektion mit berücksichtigen.

Optischer Fluß
Schau Dir auch mal den Begriff des optischen Flusses an. Ich kenne den 
Hintergrund nicht ganz genau. Der optische Fluß wird u. a. bei der 
Navigation von autonomen mobilen Systemen (Robotern) verwendet.


Gruß,
  Michael

von Hans L. (hansl)


Lesenswert?

Hallo Madin,

du sagst, daß die Form bekannt ist. Die Kamera steht fest.

Daher weist du doch, das die Form auf z.B. 100 Pixel in Y abgebildet 
wird
wenn sie in 5 Metern direkt vor der Kamera steht. Bei nur 4 Meter
sind es dann vielleicht 120 Pixel, d.h. ein linearer Zusammenhang!
Diese Abbildung ist auch auf einem Kreisbogen von 4 bzw. 5 Metern
gegeben (Pixel in x auswerten).
Alles läuft also auf eine Berechnung des Winkels und des Radiuses raus.
Damit kann dann die Position bzgl. der Kamera angegeben werden.
Das Bewegungsprofil ist dann die Positionsangabe in einem festen
Zeitraster.

Die Aufgabe selber ist also eigentlich recht einfach.

Schwerpunkt dürfte die Auswahl der Komponenten (Kamera, Optik ) und das 
Beschreiben der Messgrenzen (max. Winkel, Genauigkeit etc.) sein.

Viel Erfolg

hansl

von Maddin (Gast)


Lesenswert?

Vielen Dank für eure Antworten und Vorschläge. Nochmal etwas zu den 
Anforderungen: Die Sache sollte wenn überhaupt möglich völligst ohne 
Inputs wie die Angabe von Entfernung bzw. Radius. Die Kamera sollte man 
einfach nur  aufstellen und alle für die Auswertungen nötigen Parameter 
über Sekundärmessungen ermitteln.
Wie Michael schon schrieb kann dies z.B über Ultraschallmessungen 
realisiert werden. Jedoch müssten in diesem Fall alle Punkte der vom 
Objekt zurückgelegten Strecke ausgemessen werden !?! oder täusche ich 
mich da ?

Wie ich schon oben erwähnte muss ich damit rechnen, dass sich das Objekt 
auf
einer Art Kurvenform an mir vorbeiläuft.

Unter anderem führte Michael die Entfernungsmessung via 
Autofokusalgorithmen auf. Ich hatte hierzu schon mal kräftig gegoggelt, 
aber wirklich was brauchbares leider nicht gefunden. Wenn hierzu nochmal 
jemand etwas schreiben könnte wäre dies klasse.

@Hans die Form ist zwar bekannt, jedoch wie man mir sagte muss ich damit 
rechnen, dass diese relative kmplex ist. Was mir in Bezug auf deinen 
Vorschlag noch nicht ganz klar ist, wie es sich für Fälle verhält, wenn 
das Objekt in Kamerarichtung aus dem Bild läuft ?

Ich frage mich, ob es so etwas nicht vielliecht schon als Komplettlösung 
exisitiert (habe noch nichts in der Art: Berührungslose Ermittlung von 
Geschwindigkeit + Bewegungsrichtung eines Objektes gefunden)

Gruss, de Maddin

von Hans L. (hansl)


Lesenswert?

Hallo Maddin,

die Formerkennung kann auch über ein Teach-in geschehen. Wichtig ist nur
die Erkennung an sich, damit der Pixelabbildung eine Entfernung
zugeordnet weren kann.
Naturlich müssen die verfolgten Objekte im Bildbereich bleiben.

Wenn du eine ewas höherwertige Komplettlösung brauchst schau dir
das alte (wohl abgelaufene) Siemens-Patent an:

http://www.wipo.int/pctdb/en/wo.jsp?IA=DE1991000775&WO=1992008204&DISPLAY=STATUS

Viel Vergnügen beim lese ;)

gruß hans

von Gerard C. (gerardchoinka)


Lesenswert?

Maddin wrote:
> Vielen Dank für eure Antworten und Vorschläge. Nochmal etwas zu den
> Anforderungen: Die Sache sollte wenn überhaupt möglich völligst ohne
> Inputs wie die Angabe von Entfernung bzw. Radius. Die Kamera sollte man
> einfach nur  aufstellen und alle für die Auswertungen nötigen Parameter
> über Sekundärmessungen ermitteln.

dann sind das schon mal zwei Aufgaben


> Wie Michael schon schrieb kann dies z.B über Ultraschallmessungen
> realisiert werden. Jedoch müssten in diesem Fall alle Punkte der vom
> Objekt zurückgelegten Strecke ausgemessen werden !?! oder täusche ich
> mich da ?
>
> Wie ich schon oben erwähnte muss ich damit rechnen, dass sich das Objekt
> auf
> einer Art Kurvenform an mir vorbeiläuft.
>

> Unter anderem führte Michael die Entfernungsmessung via
> Autofokusalgorithmen auf. Ich hatte hierzu schon mal kräftig gegoggelt,
> aber wirklich was brauchbares leider nicht gefunden. Wenn hierzu nochmal
> jemand etwas schreiben könnte wäre dies klasse.

mit Hilfe der FFT kann man feststellen welche Frequenzen sich im Bild 
befinden (wenn man das Bild als Funktion versteht)
je schärfer ein Bild ist desto mehr hohe Frequenzen befinden sich in 
einen Bild, du stellst also den Motor an der Fokusvorrichtung auf 
beliebigen wert ein, errechnest das Spektrum, verstellst den Motor, 
errechnest das Spektrum,
Wenn dein Spektrum bei den hohen Frequenzen maximal ist, ist dein 
Autofokus richtig eingestellt, von dieser Einstellung kannst du auf die 
Entfernung von der Kamera schließen.

du musst aber den Hintergrund weg lassen, am einfachsten wird das mit 
einem Bewegungs-Filter gehen


> @Hans die Form ist zwar bekannt, jedoch wie man mir sagte muss ich damit
> rechnen, dass diese relative komplex ist. Was mir in Bezug auf deinen
> Vorschlag noch nicht ganz klar ist, wie es sich für Fälle verhält, wenn
> das Objekt in Kamerarichtung aus dem Bild läuft ?


> Ich frage mich, ob es so etwas nicht vielliecht schon als Komplettlösung
> exisitiert (habe noch nichts in der Art: Berührungslose Ermittlung von
> Geschwindigkeit + Bewegungsrichtung eines Objektes gefunden)

Vieles lässt sich aus Uni Scripten herausholen, einfach nach Objekt 
Erkennung, Maschinelles Sehen suchen

Schaue dir auch mal bei 
http://de.wikipedia.org/wiki/Kategorie:Bildverarbeitung an, jeder 
Artikel enthält neue Links usw.
Wenn du erstmal die Begriffe kennst findet man noch mehr schätze.

http://en.wikipedia.org/wiki/Pattern_recognition

pattern recognition
computer vision



Also Tools zum spielen empfehle ich octave (bzw. Matlab) und ImageJ, IDL 
soll auch gut geeignet sein.

von Michael L. (Gast)


Lesenswert?

Hallo Maddin,

> Unter anderem führte Michael die Entfernungsmessung via
> Autofokusalgorithmen auf. Ich hatte hierzu schon mal kräftig gegoggelt,
> aber wirklich was brauchbares leider nicht gefunden. Wenn hierzu nochmal
> jemand etwas schreiben könnte wäre dies klasse.

Gegeben ist eine Optik mit verstellbarem Objektiv.
Um die Entfernung des Objektes herauszubekommen, variierst Du die 
Brennweite f des Objektives und bildest nach jeder Änderung die 
zweidimensionale FFT des Bildausschnittes, dessen Entfernung Du 
bestimmen willst.

Das Objektiv fokussiert genau dann auf den Bildausschnitt, wenn die 
hohen Frequenzen der FFT maximale Werte annehmen.

Aus der Brennweite f des Objektivs bei maximaler Bildschärfe (=maximalen 
Anteilen der hohen Frequenzen) kannst Du die Entfernung des Objektes 
ausrechnen.

Der Hintergrund des Algorithmus ist, daß Du hohe Frequenzanteile 
brauchst, wenn Du schnelle Änderungen des Signals darstellen willst.
Heuristisch wird das klar, wenn Du Dir die Ableitung 
(Änderungsgeschwindigkeit) einer Spektralkomponente anschaust:

d/dt [sin(wt)] = w cos(wt) <= w

Je höher die Frequenz ist, umso schneller kann potentiell die 
Signaländerung sein, die die jeweilige Spektrallinie beschreibt.

(Genauer wird das formuliert im "Satz von Bernstein").

Ich seh gerade, der Gerard hat ja schon alles erklärt. Naja - zweimal 
kann ja nicht schaden :-)


> Ich frage mich, ob es so etwas nicht vielliecht schon als Komplettlösung
> exisitiert (habe noch nichts in der Art: Berührungslose Ermittlung von
> Geschwindigkeit + Bewegungsrichtung eines Objektes gefunden)
Sicher gibt es auch noch andere Möglichkeiten; ob es für Dein Problem 
eine kauffertige Lösung gibt, weiß ich nicht.

Der Ultraschall beispielsweise hat den Nachteil, daß er an glatten 
schallharten Flächen (Metallflächen) zur Seite hin reflektiert - dann 
kommt nichts zurück. Ultraschall ist auch eher eine punktweise Messung.

Laserabstandssensoren haben den Nachteil, daß Du über die Fläche rastern 
mußt. Sie funktionieren auf fast allen Flächen, außer glatten 
Metalloberflächen.

Darfst Du das Objekt mit einem Sensor belegen?


Gruß,
  Michael

von schroeder (Gast)


Lesenswert?

Viel interessanter ist die Frage nach der zu erwartenden Größe der 
Objekte und dem zu erwartenden Abstand. Für die Auswahl einer geeigneten 
Technik macht es schon einen Unterschied, ob man ein 
Geschwindigkeitsprofil von Planeten, eines Autos oder eines 
handtellergroßen Bauteils auf einem Fließband bestimmen will.

von AD (Gast)


Angehängte Dateien:

Lesenswert?

Hallo Maddin,

eigentlich wollte ich Deine Diplomarbeit nicht lösen, - übrigens kommst 
du eigentlich aus Franken: Maddin klingt irgendwie fränkisch?

Wenn du die Geschwindigkeit analysieren willst und die Strecke nicht 
mathematisch beschreiben kannst (siehe Bild), dann bleibt nur eins:
Du bestimmst die Länge der Strecke über eine Referenz mit konstanter 
Geschindigkeit.

Daraus ermittelst du wann eine Kante von einem Pixel auf das Nächste 
wechselt. Diese Zeiten repäsentieren die einzelnen Fahrabschnitte.

Wenn du nun bei dem ermittelten Objekt eine Kante festlegst, so kannst 
du das auf die konstanten Zeiten (Strecken=Pixel) übertragen.

Gruß

AD

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.