Wie erkennt man ein physisches Objekt in Android Augmented Reality?
Fand ich viele Möglichkeiten, zu erkennen, verschiedene Formen. Aber schwer Glück, wenn ich fahre für ein physisches Objekt. Von was ich gelesen habe sollten wir noch einen schwarzen Rand um Bilder zu machen, eine Muster-Datei. Wenn ich Folgen diesem Konzept und erzeugen ein Muster, dann ist mein Programm erkennt die Bilder auf den Ausdruck. Aber in der realen Welt ein Objekt ist nicht notwendigerweise ein schwarzer Rand quadratischen Form um ihn herum.
Update
Obwohl ich akzeptiere eine Antwort, meine Frage bleibt ungelöst. Es ist noch keine Lösung für die Erkennung von physikalischen Objekten.
Weitere Forschung und links sind herzlich willkommen!
InformationsquelleAutor der Frage Tofeeq | 2012-01-12
Du musst angemeldet sein, um einen Kommentar abzugeben.
Die schlechte Nachricht ist, Sie können nicht AndAR zur Erkennung von physischen Objekten. AndAR basiert auf einem von passmarken marker-Ansatz, wo der marker ist aus zwei Komponenten zusammen: einer festen Grenze und einem inneren Muster. Das Muster kodiert ein Wert, der verwendet werden kann, um ein bestimmtes Modell zu Rendern auf die Markierung, und die Grenze macht es leicht zu bestimmen, die die relative Orientierung der marker auf das Gerät. Natürlich ist dies nur planar image recognition.
Tun Objekterkennung auf einem 3D-Objekt ist ein komplizierteres problem, und ich kenne kein Android-Bibliotheken, die eine turn-key-Lösung, aber die Anerkennung nur ein Objekt ist wohl möglich auf einem mobilen Gerät.
Eine Möglichkeit könnte sein, zu untersuchen, die verfügbaren Android-AR-toolkits (Layar, Junaio, Qualcomm AR SDK), die jetzt alle in die Unterstützung von Bild-Anerkennung. Es kann nicht sein, dass die Bilder von Ihrer Teekanne in verschiedenen Rotationen, und mit diesen als die Bilder, die Sie möchten, dass Ihre app zum Spiel gegen, dass Sie möglicherweise diese Lösung funktioniert, aber denken Sie daran, Sie sind nur entworfen, um zu tun, planare, passende Bilder, keine echten 3D-Objekte, also die Leistung kann nicht groß sein. (Gut, das Metaio Mobile SDK Pro 3D-Erkennung und-Verfolgung, aber es ist sehr teuer).
Während der Objekterkennung ist vielleicht am besten durch Vergleich des Kamera-frames mit Bildern von dem Objekt, das Sie wünschen, zu erkennen (oder durch Vergleich der Merkmale eines Bildes von der Kamera-frames mit pre-computed image features usw.), Verfolgung, ist eine andere Frage. Wenn Sie wollen, um genau zu verfolgen, Ihr 3D-Objekt im 3D-Raum Sie wirklich brauchen, um haben oder bauen ein 3D-Modell, und für jeden frame bestimmen, Punkt-Korrespondenzen zwischen dem Kamerabild und dem 3D-Objekt für die Verfolgung. Wahr ohne fremde Hilfe (d.h. keine Tiefe-Kamera) 3D-tracking ist schwer.
Ich hoffe, dies gibt Ihnen einige Hintergrundinformationen, die Sie verwenden können, um bewerten Sie Ihre nächsten Schritte.
Update:
Qualcomm Vuforia SDK ermöglicht Ihnen die Verfolgung der "multi targets", das sind Objekte, die mit einer Reihe von planar tracking-Oberflächen mit einer festen räumlichen Beziehung. Wenn Sie einen "cube" verschiedene Fotos von den 6 Seiten des Objekts (Teekanne) , könnte die Arbeit etwas.
https://ar.qualcomm.at/qdevnet/developer_guide/Trackables
Ende 2013 Update:
Habe ich keine Erfahrung mit diesen, aber:
Metaio bieten jetzt 3D-tracking von CAD-Modellen: https://dev.metaio.com/sdk/tutorials/3d-tracking-based-on-cad-data/
ARLab.com's LinkAR verspricht-Objekt-matching. http://www.arlab.com/objecttracking
Ich würde beachten Sie die Verwendung des Wortes "übereinstimmenden" - ich glaube, der Anwendungsfall ist hier, Sie kennen das Objekt, das Sie möchten, um ein overlay (ein Spielzeug-box, und Motor usw). Die Unterscheidung zwischen mehreren 3D-Objekte können völlig out of scope.
InformationsquelleAutor der Antwort dabhaid
Vor kurzem Las ich über die Forschung tuend, die auf hierarchischen Form-Vokabulare verwendet für die Objekt-Repräsentation. Natürlich, es gibt keine Bibliothek zum download zur Verfügung, aber falls Sie interessiert sind, in den Allgemeinen Ansatz hier finden Sie einige Papiere.
Auch Sie interessiert sein könnten diese Papier. Es beschreibt einen Algorithmus zum detektieren von Objekten basiert auf einer Reihe von Konturen.
InformationsquelleAutor der Antwort Pedro
Haben Sie als OpenCV für die Erkennung und das tracking-Objekt? Werfen Sie einen Blick auf Finden Sie Objekte mit einer Webcam tutorial (C++ /Qt). OpenCV ist verfügbar für Android - OpenCV Android 4.
InformationsquelleAutor der Antwort naXa