Forum: Mikrocontroller und Digitale Elektronik Zielerkennung und Verfolgung per Kamera


von Tolga Y. (drkleiner0815)


Lesenswert?

Hallo Leute, ich habe da mal ein paar Fragen. Vielleicht könnt ihr mir 
mal helfen. Ich habe ein paar Ansätze, die ihr vielleicht korrigieren 
könnt.
Auf jeden Fall schonmal ein Dankeschön voraus.

Hier mein Vorhaben:
Ich möchte ein Gestell bauen, das per Kamera ein Ziel erkennt und 
Verfolgt.
Die Kamera wird dabei wie ein Zielvisier sein, sprich mit einem 
Fadenkreuz auf dem Bildschirm ausgestattet sein und das Ziel soll 
möglichst immer im Fadenkreuz bleiben, egal ob es sich bewegt oder 
nicht.
Die Kamera ist auf der X- und Y-Achse jeweils mit einem Schrittmotor 
ausgestattet. Die Zielerkennung sollte zunächst einmal kein Problem 
sein,
gehen wir mal davon aus, dass das Ziel erkannt wurde.
Jetzt hat die Kamera oder der PC die Daten, wo das Ziel im Sichtfeld der 
Kamera ist. Jetzt soll das Arduino in wenigen millisekunden und in 
kleinen Zeitabständen ständig die benötigte Entfernung für die X- und 
Y-Achse erhalten, die es zu bewegen hat.

Wie kann ich eine solche Sache realisieren?

Danke an jeden, der mir hierbei auf die Sprünge hilft

von Jan H. (jan_h565)


Lesenswert?

Fang mal an mit die Bilderkennung : ein USB-camera und Open-CV reicht um 
die erster Schritten zu setzen. Einmal das object erkannt ist, kan man 
leicht die Position in bild seriell ausgeben nach einen Arduino. Da 
lauft dan einen sketch die immer die ist-pos mit die soll-pos vergleicht 
und entsprechend 2 Motoren ansteuert : eine für die X-achse, andere für 
die Y-achse. Nach meine Erfahrung ist die Bilderkennung das Schwierige 
Teil !

von Stefan F. (Gast)


Lesenswert?

Es ist aber schon klar, daß ein kleines Arduino Board keine 
Video-Bilderkennung machen kann?!

von Tolga Y. (drkleiner0815)


Lesenswert?

meinst du mit ist-pos die position des Zieles in der Kamera?

von physiker (Gast)


Lesenswert?


von Wolfgang (Gast)


Lesenswert?

Jan H. schrieb:
> Da lauft dan einen sketch die immer die ist-pos mit die soll-pos
> vergleicht und entsprechend 2 Motoren ansteuert : eine für die X-achse,
> andere für die Y-achse.

In dem "entsprechend" steckt die nächste Hinterhältigkeit.

Wenn immer nur die X- und Y-Fehler die Motor zu Schritten veranlassen, 
wird die Kamera immer hinterher hinken. Es gilt also, auch die 
(Winkel-)Geschwindigkeit des Objektes zu schätzen, um die Kamera schon 
mal ungefähr richtig nachzuführen. Die Positionsfehler dienen dann zur 
Korrektur der Geschwindigkeit, z.B. weil das Objekt seine Geschindigkeit 
ändert.

von Joe F. (easylife)


Lesenswert?

-> Kalman Filter

von Tolga Y. (drkleiner0815)


Lesenswert?

du meinst so etwas wie der gemeinsame schnittpunkt des fadenkreuzes mit 
dem ziel?
wenn das ziel sich bewegt, wird die kamera ja sich weiter hinbewegen 
müssen als es vom fehler angegeben bekommt

von 50cent (Gast)


Lesenswert?

Tolga Y. schrieb:
> wenn das ziel sich bewegt, wird die kamera ja sich weiter hinbewegen
> müssen als es vom fehler angegeben bekommt

...heisst was in deutscher Sprache? ...oh Mann, Tasten drücken kann 
jeder, aber sinnvolle Buchstabenfolgen produzieren, ist wohl, ohne 
eingeschaltetes Gehirn, doch etwas schwieriger...

von Markus (Gast)


Lesenswert?

>Hier mein Vorhaben:
>Ich möchte ein Gestell bauen, das per Kamera ein Ziel erkennt und
>Verfolgt.

Der Trend geht zum militärischen ... die Amerikaner haben da eine ganze 
Bastelserie:
https://www.youtube.com/watch?v=-JvxnrzB1Jk

von M. K. (sylaina)


Lesenswert?

Tolga Y. schrieb:
> Die Zielerkennung sollte zunächst einmal kein Problem
> sein,
> gehen wir mal davon aus, dass das Ziel erkannt wurde.

Kein Problem ist gut. Wenn man erstmal weiß wohin die Kamera muss, dann 
ist das kein Problem sie dahin zu fahren. Zu wissen wohin sie Fahren 
muss ist bei deinem Projekt genau der Knackpunkt.
Fang einfach mal an mit deinem Algorithmus ein Objekt auf einem Bild zu 
erkennen und wenn das funktioniert gehst du zu bewegten Bildern über.

von Wolfgang (Gast)


Lesenswert?

Tolga Y. schrieb:
> wenn das ziel sich bewegt, wird die kamera ja sich weiter hinbewegen
> müssen als es vom fehler angegeben bekommt

Ja, damit sie bei nächsten Kamerabild (weitgehend) an der richtigen 
Stelle ist und nicht schon wieder einen ähnlichen Fehler feststellen 
muss.
Das Kalman-Filter "weiß" wo sich das Objekt beim nächsten Bild ungefähr 
sein müßte, i.e. bestimmt z.B. nicht nur wo das Objekt ist, sondern auch 
wie schnell es sich bewegt und veranlaßt die Kamera "mitzuziehen". Das 
macht jeder Schütze, wenn er auf ein bewegtes Objekt zielt. Sonst würde 
er nie richtig treffen.

von Christian M. (Gast)


Lesenswert?

M. K. schrieb:
> Zu wissen wohin sie Fahren muss ist bei deinem Projekt genau der
> Knackpunkt.

So wie der TO schreibt, ist das für ihn Nasenwasser, der absolute Profi 
in sowas! Für ihn ist der Knackpunkt bei der Motoransteuerung!

Gruss Chregu

von Tolga Y. (drkleiner0815)


Lesenswert?

Alles klar, ich werde versuchen erstmal einen Algorithmus zur 
Zielerkennung zu erstellen.
Wenn ich etwas Sinnvolles geschafft habe, wende ich mich erneut an euch.
Vielleicht auch mit einem neuen Thread

Vielen Dank für eure Hilfe

von Reiner O. (elux)


Lesenswert?


von Wolfgang (Gast)


Lesenswert?

Pixy gibt dir direkt die Koordinaten eines Objektes, das im Kamerabild 
identifiziert wurde.
http://cmucam.org/projects/cmucam5

Ob Pixy auch dein Objekt erkennen kann, hängt von den Eigenschaften 
deines Objektes ab.

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.