如何在Android增强现实中检测物理对象?

8 浏览
0 Comments

如何在Android增强现实中检测物理对象?

我发现许多方法可以检测不同的形状。但是当我去处理实物对象时,遇到了麻烦。从我的阅读中得知,我们应该在图像周围设置黑色边框,以制作模式文件。如果我遵循这个概念并生成模式,那么我的应用程序可以检测出打印输出中的图像。但在现实世界中,一个物理对象不一定有黑色边框、正方形形状。

更新

虽然我已经接受了一个答案,但我的问题仍未得到解决。目前还没有发现在检测物理对象方面的解决方案。

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

admin 更改状态以发布 2023年5月23日
0
0 Comments

我最近读到了一些有关用于物体表示的分层形状词汇的研究。当然,没有可以下载的库,但如果你对一般方法感兴趣,可以在这里找到一些论文。

此外,你可能会对这篇论文感兴趣。它描述了一种基于一组轮廓来检测物体的算法。

0
0 Comments

坏消息是,你不能使用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对象可能完全超出范围。

0