Frage

Nach Rückfrage hier und versucht sowohl surf als auch sieben, keiner dieser Nähte, um effizient genug zu sein, um Interessepunkte schnell genug zu generieren, um einen Stream von der Kamera zu verfolgen.

Surf zum Beispiel dauert ungefähr 3 Sekunden, um Interessenspunkte für ein Bild zu generieren. Das ist viel zu langsam, um ein Video aus einer Web -Cam zu verfolgen, und es wird noch schlechter, wenn es auf einem Mobiltelefon verwendet wird.

Ich brauche nur einen Algorithmus, der einen bestimmten Bereich, seine Skala, Neigung usw. verfolgt, und ich kann darüber aufbauen.

Vielen Dank

War es hilfreich?

Lösung

Ich vermute, dass Ihre Surfnutzung möglicherweise eine Änderung benötigt?

Hier ist ein Link In ein MIT -Papier zur Verwendung von Surf für Augmented -Reality -Anwendungen auf mobilen Geräten.

Auszug:

In diesem Abschnitt präsentieren wir unsere Implementierung des Brandes und seiner Anpassung an das Mobiltelefon. Als nächstes diskutieren wir die Auswirkungen, die die Genauigkeit auf die Geschwindigkeit der Suche nach der nächsten Nachbarn hat, und zeigen, dass wir eine Größengeschwindigkeit erreichen können und minimale Auswirkungen auf die Übereinstimmung Genauigkeit haben. Schließlich detaillieren wir die Details der Telefonimplementierung der Bildanpassungspipeline. Wir untersuchen die Leistung, den Speichergebrauch und den Bandbreitenkonsum am Telefon.

Vielleicht möchten Sie auch die Algorithmen von OpenCV untersuchen, da sie ausprobiert werden.

Abhängig von Einschränkungen Von Ihrer Anwendung können Sie möglicherweise die Generikum dieser Algorithmen verringern, um nach bekannten Pois und Markern innerhalb des Bildes zu suchen.

Teil von Verfolgung Ein POI schätzt seinen Vektor von einem Punkt im 2D -Bild zum anderen und bestätigt dann optional, dass er dort noch existiert (durch Pixeleigenschaften). Der gleiche Ansatz kann verwendet werden, um die POI- und POI-Gruppen-/Objektperspektive und Rotationsänderungen zu verfolgen (nicht das gesamte Bild neu zu scANieren).

Es gibt unzählige Artikel online, um Objekte auf einer 2D -Projektion zu verfolgen (in vielen Fällen bis zu einem Serverweich).

Viel Glück!

Andere Tipps

Sie sollten einen schnellen Detektor versuchen

http://svr-ww.eng.cam.ac.uk/~er258/work/fast.html

Wir verwenden Surf für ein Projekt und haben gefunden OpenSurf an OutMatch OpenCVs Surf -Implementierung in Rohgeschwindigkeit und Leistung. Wir haben immer noch keine Wiederholbarkeit und Genauigkeit getestet, aber es ist viel schneller.


UPDATE: Ich wollte nur darauf hinweisen, dass Sie in jedem Frame keinen Surf -Match -Schritt ausführen müssen. Sie können es einfach jeden anderen Rahmen machen und die Position des Objekts im Rahmen interpolieren, auf dem Sie nicht surfen.

Sie können einen einfacheren Algorithmus verwenden, wenn Sie strengere Einschränkungen für den Bereich einnehmen würden, den Sie verfolgen möchten. Wie Sie sicherlich wissen, ist Artoolkit ziemlich schnell, verfolgt aber nur Schwarzweißmarkierungen mit einem sehr unterschiedlichen Rahmen.

Wenn Sie einen (etwas) Allzweck -Tracker wünschen, möchten Sie möglicherweise PTAM überprüfen. Der Standort (http://www.robots.ox.ac.uk/~gk/ptam/) ist derzeit ausgefallen, aber hier ist ein schickes Video davon, der auf einem iPhone arbeitet (http://www.youtube.com/watch?v=pbi5hwitbx4)

Wie andere erwähnt haben, scheinen drei Sekunden ungewöhnlich lang. Beim Testen der SURF -Implementierung in der Mahotas In der Bibliothek stellte ich fest, dass es durchschnittlich 0,36 Sekunden dauerte, selbst bei einigen ziemlich großen Bildern (z. B. 1024x768). Und das ist mit einer Mischung aus Python und C, also würde ich mir vorstellen, dass einige andere reine C-Implementierungen noch schneller sein würden.

Ich fand diesen schönen Vergleich jeder Feature -Erkennungsalgorithmen bei http://computer-vision-talks.com/2011/01/comparison-of-the-opencvs-feature-tection-algorithms-2/

Guck mal. Es könnte nützlich sein!

Nach diesem Vergleich und wie Mirror2image auch vorgeschlagen hat, ist Fast die beste Wahl. Aber es hängt davon ab, was Sie wirklich erreichen möchten.

Eine Option, die ich in eingeschränkten eingebetteten Systemen verwendet habe, ist die Verwendung eines einfacheren Interessenspunktdetektors: zum Beispiel schnell oder schnell oder tomasi. Ich habe Shi-Tomasi verwendet, da ich auf ein FPGA abzielte und sie leicht mit Pixelrate ohne signifikante Pufferung ausführen konnte.

Verwenden Sie dann Surf, um die Deskriptoren für das Bild Patch um die identifizierten Funktionen zu generieren und diese für Übereinstimmungs- und Verfolgungszwecke zu verwenden.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top