Eine Kamera folgt mir

9

Ich möchte einige Vorlesungen aufnehmen, die ich im nächsten Semester halte. Ich habe eine Videokamera und kann ihre Richtung mit einem Servo ändern. Ich habe jedoch keine Ahnung, wie ich erkennen soll, wo ich bin. Es wäre in Ordnung, wenn ich ein Rundfunkgerät dabei hätte. Meistens sollte die Empfindlichkeit bestimmen können, ob ich mich auf der linken oder rechten Seite des Raums befinde, aber ich brauche nicht viel mehr.

Kasterma
quelle
1
Am einfachsten wäre es, einen Computer und eine Webcam zu verwenden. Der Computer führt eine Bewegungsverfolgung entlang der Stelle durch, an der sich Kopf und Schultern befinden, und steuert dann das Servo. Der Tracking-Algorithmus ist so einfach wie das Suchen nach dem Mittelwert der Position der Pixel mit der größten Änderung .... Oder haben Sie keinen Computer zur Verfügung?
Chris H
@ Chris H, wenn Sie Informationen über ein so leicht verfügbares Funktionsprogramm haben, denke ich, dass es eine perfekte Antwort wäre.
Kortuk
Nun, ich kenne keine spezifischen, aber erwäge OpenCV. Sie können einen Zuschnitt und dann eine Bewegungsverfolgungsfunktion anwenden. Das Zuschneiden dient nur dazu, sicherzustellen, dass Sie keine anderen beweglichen Dinge aufnehmen. Es sollte insgesamt etwa 100 Codezeilen ergeben. Wahrscheinlich ist es einfacher, es selbst zu codieren, als ein anderes Programm zu konfigurieren und zu lernen, zumal Sie anschließend eine Schnittstelle mit einem Motor herstellen müssen.
Chris H
Könnte mir jemand sagen, wie man richtig handelt, wenn zwei Antworten gegeben sind, die gleichermaßen gültig sind? wähle ich einfach zufällig eine aus, um die Antwort zu sein?
Kasterma
@kasterma: Ja, aber wenn Sie tatsächlich eine anstelle einer anderen implementieren würden, würde ich das auswählen. Sie können beide jederzeit abstimmen.
Nick T

Antworten:

9

Sie könnten einige einfache IR-LEDs tragen, Sie könnten dann auch eine Reihe von IR-Empfängern platzieren, nur einfache IR-Fotodioden würden mit einem engen Betrachtungswinkel funktionieren.

Wenn Sie diese um die Basis der Kamera legen und dann von einem Mikrocontroller ablesen lassen, welcher das größte Signal hat, können Sie die Kamera auf die IR-Quelle richten.

Klingt kompliziert, ist aber sehr einfach und erfordert keinen Computer. Die Hardware ist einfach zu bedienen, obwohl Sie wahrscheinlich in lauten Umgebungen (helles Licht) feststellen werden, dass Sie Ihre IR modulieren möchten, um das empfangene Breitbandrauschen zu vermeiden.

Kortuk
quelle
Ich habe das tatsächlich versucht, funktioniert nur, wenn es große Fenster gibt.
Chris H
@ Chris H, ein großes Fenster ist nur eine Herausforderung für mich, einen helleren IR-Emitter zu bekommen. Oft kann Modulation beim Hintergrund-IR-Problem von Sonnenlicht oder Leuchtstofflampen erheblich helfen.
Kortuk
Das klingt nach einer sehr schönen Lösung. Ich weiß nicht, was Sie meinen, wenn Sie vorschlagen, dass ich meine IR moduliere. Meinen Sie damit, ich sollte die IR-LED mit einer bekannten Frequenz pulsieren lassen und dann versuchen, genau diese Frequenz mit dem Empfänger zu erkennen?
Kasterma
@kasterma, ja, das meine ich. Sie pulsieren die IR-LED beispielsweise bei 40 kHz und machen dann einen Filter bei 40 kHz an den Empfängern, sodass Sie das Breitband-IR ignorieren, das die Sonne und die Lichter aussenden. Möglicherweise müssen Sie die Frequenz anpassen, um die Frequenz zu vermeiden, die Ihre Leuchtstofflampen abgeben. Sie können es zuerst ohne diese Modulation versuchen, um festzustellen, ob es den Spezifikationen entspricht, da dies einfacher ist.
Kortuk
Ich habe dies mit einer Nintendo Wii gesehen. Sehr cool. +1
Tyblu
7

Was Sie suchen, kann mit "Blob-Tracking" zusammenhängen. Es ist eine häufig verwendete Technik in der Robotik und Bildverarbeitung.

Abhängig von Ihren Programmierkenntnissen können Sie OpenCV (Open Source Computer Vision Libraries) verwenden, die sowohl in C ++ als auch in Python verfügbar sind. Andere Sprachen verfügen möglicherweise über Bibliotheken, die die Blob-Verfolgung unterstützen. Ich glaube, dass LabVIEW und Matlab auch Bibliotheken haben, die dies unterstützen.

Im Allgemeinen ist das Setup ein Computer, der das Video verarbeitet und einen Blob (Sie) einer bestimmten Farbe findet. Sie können dann anhand der Informationen zur Position des Blobs im Kamerarahmen bestimmen, wohin die Kamera gerichtet werden soll. Wenn Sie beispielsweise das Servo mit einem Arduino (oder einem anderen Mikrocontroller) auf der Kamera steuern, können Sie Befehle über die serielle Schnittstelle senden, um die gewünschte Position der Kamera zu aktualisieren. Wenn der Blob eine gewünschte "Box" in der Mitte des Rahmens hinterlässt.

Wenn Sie möchten, können Sie eine intelligentere Nachverfolgung durchführen, indem Sie eine Kombination aus Proportional-, Integral- und Derivativsteuerung (PID, wenn Sie im Internet suchen) implementieren, um zu versuchen, sich im Rahmen zu zentrieren. Dies kann jedoch mehr sein als Sie für Ihre Bewerbung benötigen.

Bearbeiten: Ein bisschen Suchen ergab dieses Ergebnis: Kreative Anwendungen . Dies ist mehr oder weniger die Lösung, die ich erklärt habe.

mjcarroll
quelle
4
Zeit, ein paar "einzigartig gefärbte" Hemden zu kaufen.
Nick T
2
Bei weiterer Überlegung glaube ich, dass die Lösung von IR-LEDs und -Sensoren von Kortuk und user1498 ein robusterer Ansatz wäre. Dies ist wahr, weil der Punkt, den Nick T anspricht, der Farbraum bereits ziemlich überfüllt ist, so dass es schwierig wäre, sich selbst herauszusuchen.
mjcarroll
Das klingt wie ein Ingenieur, der sich von einem Problem zurückzieht.
Kortuk
@Kortuk, nicht unbedingt zurückweichen. Ich denke immer noch, dass meine Lösung die "beste" sein kann, soweit es sich um ein vollständig eigenständiges System handelt (keine externen Sensoren, nicht mehr Hardware als in der Problemstellung ausdrücklich angegeben). In Bezug auf einfache Implementierung und Robustheit (Vision-Algorithmen sind etwas pingelig) denke ich, dass Ihre Lösung viel besser wäre.
mjcarroll
Ich wusste, was Sie meinten, ich denke, die Hardwarelösung ist eigenständiger, aber es gibt einen großen Kompromiss zwischen beiden.
Kortuk
3

Wenn Sie eine oder mehrere IR-LEDs tragen, kann eine Kamera wie ein Wi-Controller Sie verfolgen

russ_hensel
quelle
2

Klingt nach einem idealen Job für einen Kinect und eine Verarbeitungssoftware - er kann Motive mit den 3D-Informationen trennen, verfügt über Pan-Tilt-Motoren und einen Videoausgang.

Martin Thompson
quelle
1
Ich bin damit einverstanden, dass dies das direkteste, aber nicht das billigste ist
Matt Williamson
2

Deshalb wurden Studenten erfunden. Ich bin mir sicher, dass Sie dies irgendwann elektronisch tun könnten, aber es müsste eine Menge Vorträge geben, bevor es sich lohnt, dies zu tun, im Vergleich dazu, dass jemand mit einem Gehirn die Kamera handhabt.

Olin Lathrop
quelle
Plus Bier ist billiger als Strom.
Optimaler Zyniker
0

Ich bin die Person, die diese Frage gestellt hat, und ich mag sowohl die OpenCV-Antwort als auch die IR-geführte Antwort sehr und werde mit beiden spielen. An diesem Punkt haben beide jedoch einige Probleme für mich: Meine IR-geführte Bestellung wird verzögert und meine Webcam ist nicht bereit.

In diesem Fall fiel mein Blick auf eine LV-Maxsonar EZ, mit der ich vor einiger Zeit gespielt hatte. Ich bin nie wirklich dazu gekommen, aber jetzt scheint es, als würde hier eine anständige Lösung entstehen. Ich bin die einzige Person, die sich vor dem Raum bewegt, also keine Störung und auch kein Computer erforderlich.

Dieses Gerät liefert Entfernungsmessungen in eine bestimmte Richtung. Wenn sich dieser Abstand ändert, hat sich jemand davor bewegt, und die Kamera sollte sich in die Richtung bewegen, in die dieser Sensor zeigt.

Kasterma
quelle
0

Schauen Sie sich das PrimeSense-Devkit an (die Hersteller des Kinect).

Der Hersteller hat die Windows- und Unix-Treiber von Kinect (und DevKit) hier veröffentlicht: http://www.openni.org/

goodguys_activate
quelle
0

Durch das Verfolgen von IR-Spritzern (und das Filtern von IR-Spritzern aus der Kamera, wobei die Sonneneinstrahlung des Raums übereinstimmt) haben Sie und die Schüler eine gute Chance auf ADR-Arbeit, die Ihnen und Ihrem gewählten Kontext hilft, in Zone Null zu gelangen. Das heißt, ich hätte wahrscheinlich aus einer gebündelten Webcam-Anwendung gezogen, die auf Cnet.com (oder einem anderen kritischen Ort, Amazon, Acer Support oder auf andere Weise) oder Camtasia gut überprüft wurde, und diese wie angegeben verwendet.

Thrangalucchian
quelle
0

Schauen Sie sich die Bewegung an , insbesondere die Bewegungsverfolgungsfunktion .

Joe Frazier
quelle
Ich wäre interessiert, mehr über Bewegung zu erfahren, aber nur einen Link zu einer Website zu geben, liefert keine Antwort, sondern die Referenz für eine Antwort. Was ist Bewegung, was macht sie?
Kortuk