Webcam Motion Tracking / Objekterkennung / ...

verdi

New member
Themenstarter
Registriert
28 März 2008
Beiträge
4.337
Hi
gibts hier zufällig jemanden der Erfahrung mit Motion Tracking / Objekterkennung / ... hat ?

hab hier nen kleines Hobby Projekt:

bewegliches Gestellt das mittels modellbauservos links/rechts sowie hoch/runter geschwenkt werden kann
dazu ne passende Steuerplatine um das ganze per pc zu steuern
und ne usb webcam

Ziel:

Bewegungserkennung und ausrichtung auf das sich bewegende objekt. Das ganze in realtime.

so wie hier http://www.paintballsentry.com/

Status:

Gestell ist im bau, Steuerelektronik ist bestellt

Problem:

Alles was ich bisher im Netz finden konnte geht von einer feststehenden cam aus. altes bild - neues bild = bewegung ... soweit so gut ... dann ausrichtung auf die Koordinaten der bewegung. Das wirft allerdings das Problem auf dass das gestell jederzeit 100%ig die position erreichen muss an der es die software erwartet. springt z.b. ein zahnrad über oder sonstiges dann passt die erwartete bewegung nichtmehr zur realen und schon ist zielen sinnlos ...

alternative: einzelbildbetrachtung und suchen von bestimmten objekten und dann solange bewegen bis das objekt in der mitte des bildes ist. Damit werden sämtliche fehler der mechanik automatisch korrigiert und es ist keine kalibrierung nötig ( außer dem einmaligen zentrieren der cam auf die aktuelle schussposition beim zusammenbau )

Alles was ich dazu im Netz finde geht aber von erkennung von farblichen objekten aus. Also suche den blauen ball im bild und beweg dich dahin. Nur das objekt ist ja vor der bewegung nicht bekannt und vor allem nicht so simpel zu definieren wie ein einfarbiger ball. Hinzu kommt dass sobald sich die cam bewegt natürlich keine bewegungserkennung mehr funktioniert da sich ja alles ändert.... da müsste man also irgendwie die allgemeine bewegung des bildes rausrechnen ... aber von der mechanik gibts ja keine rückmeldung ...

evtl. hat ja jemand von euch schonmal sowas gelöst?

Bin für sämtliche Anregungen dankbar

gruss

Marcel
 
als letzter "mann" vor der eigenen fahne ;-)

edit: könnte natürlich auch sagen es ist gedacht dass mir meine knuddeliger roboter immer brav hinterher fährt ... ;-)
 
[quote='verdi',index.php?page=Thread&postID=620125#post620125]könnte natürlich auch sagen es ist gedacht dass mir meine knuddeliger roboter immer brav hinterher fährt[/quote]
Sowas kannst du auch haben, wenn du Gaenseeier ausbruetest.
 
geht doch garnicht um den paintballeinsatz sondern ums basteln und entwickeln ... hab aktuell eh keinen markierer :)
 
zum 1.)
Die Genauigkeit der Servos (ab ca. €25, von Graupner oder einer ähnlichen MARKE) sind eigentlich schon recht gut.
Die machen wirklich, was man ihnen "befiehlt" , da ist ein poti drinn, welches die aktuelle position überwacht, und je nach bedürfnis, zB. einwirkung von aussen oder Steuerbefehl, die intigrierte elektronik solange "quält" bis die position wieder 100%ig passt.
 
yup und es kommen in der engültigen version auch vernünftige digitale servos rein

trotzdem fänd ich persönlich die selbstregelnde variante besser ... und vor allem wäre sie unabhängig von der bewegung des aufbaus selber ... würde also auch auf einem fahrzeug funktionieren
 
..du könntest ja versuchen, die jeweilige(n) Achse(n) dann mit einem kreisel zu stabilisieren? (wenn wir schon beim modellbau sind :love: )
 
Dein Problem mit der nicht ganz exakten Steuerung des Motors ist ja nicht das einzige, da in der Zwischenzeit (zwischen Aufnahme und Ende der Auswertung) auch wieder Zeit verloren geht, die das Ziel nutzen kann, um sich zu bewegen. D.h. du bräuchtest eh irgendeinen Prädiktionsmechanismus. In den könntest du dann auch gleich andere Störungen wie die nicht exakte Steuerung des Motors einbeziehen. Ein einfaches Beispiel dafür wäre z.B. nen Kalman Filter... Ist halt generell die Frage, wie weit du überhaupt in der Bildverarbeitung drinsteckts oder dich reinarbeiten willst. Aus deinen Fragen entnehme ich mal, dass du eher weniger Ahnung hast, was das ganze dann natürlich noch weiter verkompliziert ;) Aus diesem Grunde ist doch nen farblich eindeutiges Ziel schonmal nen ganz gutes Anfangsziel, wobei es halt auch drauf ankommt auf welcher Hardware du das laufen lässt, da Farbbildverarbeitung ne ganze Menge mehr Performance benötigt als einfache Grauwertbilder.
Für ne Bewegungsschätzung könntest du die nur durch die Eigenbewegung der Kamera verursachten Differerenzen für den Anfang ziemlich primitiv herausrechnen, da sie (ohne Zoom) quasi alle ne ähnliche Richtung besitzen.
Um hier weitere konkretere Tipps geben zu können, müsste man halt wirklich wissen, was für Kenntnisse von Bildverarbeitung du hast.
 
der prinzipielle aufbau geht ja in die richtung inverses kinematisches problem <---> direktes kinematisches problem. damit wär ein rausrechnen der bewegung der kamera selbst möglich...zumindestens interpolierend.

mean shift analyse fällt mir bei gesichtserkennung als bsp. ein, aber zur stabilisierung bei bewegungen setzt man da auch den kalman-filter ein.
ich würd da aber wohl auch bei ner normalen webcam erst mal mit erkennung eines farbigen balls anfangen oder was in der richtung.
objekterkennung kann ja später folgen je nach rechenleistung...
 
meine kenntnisse beschränken sich auf das was man sich so an 3-4 abenden bei google anlesen kann :-) aber ständig nur sachen machen die man kann ist ja auch langweilig ... bin durchaus bereit da einiges an freizeit reinzustecken ... find es ein super spannendes thema... der paintball ansatz dient eigentlich nur als herausforderung es soweit zu optimieren dass es dafür taugt und halt dann für spass beim ausprobieren auf nem paintballfeld

zum üben was die verschiedenen filter etc angeht ist roborealm ganz nett ... ansonsten dachte ich an das aforge.net framework ... das vereinfacht vieles ...

rechenleistung = mein T61

wenn jemand ausser Mean shift und kalmann filter noch stichwörter zum googlen oder links hat immer her damit :-)
 
[quote='verdi',index.php?page=Thread&postID=621002#post621002]ansonsten dachte ich an das aforge.net framework ... das vereinfacht vieles ...

[/quote]
ich würde da eher OpenCV nehmen, da es dort schon fast alles gibt, was du brauchen könntest und du auch ne menge beispiele im netz findest.
 
davon muss ich mal ne aktuelle .net version raussuchen ...

find im netz nur haufenweise beispiele um bewegungen bei feststehender cam zu erkennen oder halt farbige/helle(laser) objekte mit beweglicher cam zu verfolgen

leider nix dazu bei einer bewegung das objekt zu merken und es dann auf dem nächsten bild wiederzuerkennen ...
 
Beispiel[/url], wo allerdings die initiale Bestimmung des Objekts vom Benutzer erfolgt. Wenn du nur nen roten Ball o.ä. verfolgen willst, sind SIFT features natürlich auch total überdimensioniert. Das Kalman Filter wird in dem Beispiel dazu genutzt, um die Position des Objekts im nächsten Frame vorherzusagen.
 
[quote='verdi',index.php?page=Thread&postID=620116#post620116]aber von der mechanik gibts ja keine rückmeldung ...[/quote]

moin,

könnte man dafür nicht schrittmotoren verwenden? dann braucht man keine rückmeldung ;)



gruß
 
dock denn du sagst dem motor zwar er soll 20 schritte machen aber ob er das wirklich gemacht hat oder ob irgendwas gehakt hat und er deswegen nur 18 gemacht hat weiss man ja nicht ...

hab heute das drehgestellt fertig gebaut ... morgen noch die y achse bauen
 
  • ok1.de
  • ok2.de
  • thinkstore24.de
  • Preiswerte-IT - Gebrauchte Lenovo Notebooks kaufen

Werbung

Zurück
Oben