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
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.
>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.
@Dennis Dann brauchst du aber erst mal Werte. Ich weis ja nicht in wie weit das ganze Projekt eingeschränkt ist.
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!
Oh etwas zu spät gepostet. Die Antwort bezieht sich noch auf den zweiten Post. Aber danke für eure Beiträge
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
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
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
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
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
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.
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
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.
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.