¿Cómo Detectar objetos físicos en Android Realidad Aumentada?


Encontré muchas maneras de detectar diferentes formas. Pero mala suerte cuando voy por un objeto físico. Por lo que he leído deberíamos tener un borde negro alrededor de las imágenes para hacer un archivo de patrón. Si sigo este concepto y generar un patrón entonces mi aplicación detecta imágenes en la impresión. Pero en el mundo real, un objeto físico no necesariamente tiene una forma cuadrada de borde negro a su alrededor.

Update

Aunque acepto una respuesta, mi pregunta sigue sin resolverse. Como hay todavía no hay solución para detectar objetos físicos.

Cualquier otra investigación y enlaces son bienvenidos!

Author: naXa, 2012-01-12

3 answers

La mala noticia es que no puedes usar AndAR para detectar objetos físicos. AndAR se basa en un enfoque de marcador de referencia, donde el marcador está hecho de dos componentes: un borde sólido y un patrón interior. El patrón codifica un valor que se puede usar para direccionar un modelo en particular para renderizar en el marcador, y el borde facilita determinar la orientación relativa del marcador al dispositivo. Claramente esto es solo reconocimiento de imagen plana.

Para hacer el reconocimiento de objetos en un objeto 3D es un problema más complicado, y no conozco ninguna biblioteca de Android que proporcione una solución llave en mano, pero reconocer solo un objeto es probablemente factible en un dispositivo móvil.

Una posibilidad podría ser investigar los kits de herramientas de Android AR disponibles (Layar, Junaio, Qualcomm AR SDK) que ahora admiten algo de reconocimiento de imágenes. Puede ser que al tomar imágenes de su tetera en varias rotaciones y usarlas como las imágenes que desea que su aplicación coincida con eso, puede obtener esto solución de trabajo, pero tenga en cuenta que solo están diseñados para hacer coincidir planos en imágenes, no objetos 3D reales, por lo que el rendimiento podría no ser grande. (Bueno, el Metaio Mobile SDK Pro hace reconocimiento 3D y seguimiento, pero es muy caro).

Mientras que el reconocimiento de objetos quizás se haga mejor comparando los fotogramas de la cámara con las imágenes del objeto que desea reconocer (o comparando las características de la imagen de los fotogramas de la cámara con las características de la imagen pre-calculadas, etc.), el seguimiento es asunto. Si desea realizar un seguimiento preciso de su objeto 3D en el espacio 3D, realmente necesitará tener o construir un modelo 3D del mismo, y para cada fotograma determinar las correspondencias de puntos entre la imagen de la cámara y el objeto 3D para el seguimiento. El verdadero seguimiento 3D sin ayuda (es decir, sin cámara de profundidad) es difícil.

Espero que esto le dé algunos antecedentes que pueda usar para evaluar sus próximos pasos.

Update : El SDK de Vuforia de Qualcomm le permite rastrear "objetivos múltiples", que son objetos con un conjunto de superficies planas de seguimiento con una relación espacial fija. Si usted hizo un" cubo " diferentes fotos de los 6 lados de su objeto (tetera) que podría funcionar un poco. https://ar.qualcomm.at/qdevnet/developer_guide/Trackables

Actualización de finales de 2013 :

No tengo experiencia con estos, pero:

Metaio ahora ofrece seguimiento 3D de modelos CAD: https://dev.metaio.com/sdk/tutorials/3d-tracking-based-on-cad-data /

ARLab.com LinkAR promete coincidencia de objetos. http://www.arlab.com/objecttracking

Me gustaría señalar el uso de la palabra "coincidencia" - Creo que el caso de uso aquí es que usted sabe el objeto que desea superponer (una caja de juguetes, y el motor, etc). Diferenciar entre varios objetos 3D puede estar completamente fuera de alcance.

 17
Author: dabhaid,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2013-12-02 18:54:46

Recientemente leí acerca de la investigación que se está realizando sobre vocabularios de formas jerárquicas utilizados para la representación de objetos. Por supuesto, no hay biblioteca disponible para descargar, pero en caso de que esté interesado en el enfoque general aquí puede encontrar algunos documentos.

También podría interesarle este documento. Describe un algoritmo para detectar objetos basado en un conjunto de contornos.

 3
Author: Pedro,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2012-04-26 22:35:50

¿Ha considerado OpenCV para detectar y rastrear objetos? Echa un vistazo a Buscar objetos con una cámara web tutorial (C++ / Qt). OpenCV está disponible para Android - OpenCV 4 Android .

Disfrute de la Detección!

 0
Author: naXa,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2016-10-21 07:47:56