如何在Android增强现实中检测物理对象? [英] How to Detect Physical object in Android Augmented Reality?

查看:132
本文介绍了如何在Android增强现实中检测物理对象?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我发现了许多方法来检测不同的形状。但是,当我要一个物理对象时,运气很好。从我读到的,我们应该有一个围绕图像的黑色边框,以制作一个模式文件。如果我遵循这个概念,并生成一个模式,然后我的应用程序检测图像打印输出。



更新



虽然我接受一个答案,但我的问题仍然没有解决。



欢迎任何进一步的研究和链接!


<坏消息是,你不能使用AndAR来检测物理对象。 AndAR基于基准标记法,其中标记由两个部分组成:实心边框和内部图案。该模式编码可以用于寻址特定模型以在标记上呈现的值,并且边框使得容易确定标记到设备的相对定向。显然这只是平面的图像识别。



在3D对象上进行对象识别是一个更复杂的问题,我不知道任何Android库提供



一种可能性可能是调查可用的Android AR工具包(Layar,Junaio,Qualcomm AR SDK),它们现在都支持一些图像识别。它可能是,通过拍摄你的茶壶的图像在各种旋转,并使用那些作为图像,你希望你的应用程序匹配,你可能会得到这个解决方案工作,但记住,他们只是设计为做图像上的平面匹配,而不是真正的3D对象,所以性能可能不是很大。 (嗯,Metaio Mobile SDK Pro做3D识别和跟踪,但它非常昂贵)。



虽然对象识别可能最好通过比较相机帧与对象(或通过比较来自相机帧的图像特征和预先计算的图像特征等),跟踪是不同的事情。如果你想在3D空间中准确地跟踪你的3D对象,你真的需要有一个3D模型,并为每个框架确定相机图像和3D对象之间的点对应的跟踪。



我希望这给你一些背景,可以用来评估你的后续步骤。



更新
Qualcomm的Vuforia SDK允许您跟踪多目标,这是具有固定空间关系的一组平面跟踪曲面的对象。如果你做了一个立方体不同的照片,你的对象(茶壶)的6面,可能有点工作。
https://ar.qualcomm.at/qdevnet/developer_guide/Trackables



2013年年底更新



我没有这些的经验, :



Metaio现在提供CAD模型的3D跟踪: https://dev.metaio.com/sdk/tutorials/3d-tracking-based-on-cad-data/



ARLab.com的LinkAR承诺对象匹配。 http://www.arlab.com/objecttracking



我会注意到使用匹配这个词 - 我想这里的用例是你知道你想要覆盖的对象(玩具盒和引擎等)。区分多个3D对象可能完全超出范围。


I found many ways to detect different shapes. But hard luck when I am going for a physical object. From what I read we should have a black border around images to make a pattern file. If I follow this concept and generate a pattern then my application detects images on printout. But in the real world a physical object not necessarily has a black border square shape around it.

Update

Although I accept an answer, my question remains unsolved. As there is still no solution for detecting physical object.

Any further research and links are welcome!

解决方案

The bad news is, you can't use AndAR to detect physical objects. AndAR is based on a fiducial marker approach, where the marker is made of two components: a solid border and an interior pattern. The pattern encodes a value that can be used to address a particular model to render on the marker, and the border makes it easy to determine the relative orientation of the marker to the device. Clearly this is just planar image recognition.

To do object recognition on a 3D object is a more complicated problem, and I don't know of any Android libraries that provide a turn-key solution, but recognizing just one object is probably feasible on a mobile device.

One possibility might be to investigate the available Android AR toolkits (Layar, Junaio, Qualcomm AR SDK) which all now support some image recognition. It may be that by taking images of your teapot at various rotations and using those as the images you want your app to match against that you might get this solution working, but keep in mind they are only designed to do planar matching on images, not real 3D objects, so the performance might not be great. (Well, the Metaio Mobile SDK Pro does 3D recognition and tracking, but it's very expensive).

While object recognition is perhaps best done by comparing camera frames with images of the object you wish to recognize (or by comparing image features from the camera frames with pre-computed image features etc), tracking is a different matter. If you want to accurately track your 3D object in 3D space you'll really need to have or build a 3D model of it, and for each frame determine point correspondences between the camera image and the 3D object for tracking. True unassisted (i.e. no depth-camera) 3D tracking is hard.

I hope this gives you some background you can use to evaluate your next steps.

Update: Qualcomm's Vuforia SDK allows you to track "multi targets", which are objects with a set of planar tracking surfaces with a fixed spatial relationship. If you made a "cube" different photos of the 6 sides of your object (teapot) that might work somewhat. https://ar.qualcomm.at/qdevnet/developer_guide/Trackables

End of 2013 Update:

I have no experience with these, but:

Metaio now offer 3D tracking of CAD models: https://dev.metaio.com/sdk/tutorials/3d-tracking-based-on-cad-data/

ARLab.com's LinkAR promises object matching. http://www.arlab.com/objecttracking

I would note the use of the word "matching" - I think the use case here is you know the object you want to overlay (a toy-box, and engine etc). Differentiating between multiple 3D objects may be entirely out of scope.

这篇关于如何在Android增强现实中检测物理对象?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆