Sketchar
返回博客

我们找到了计算机视觉中白色表面识别难题的解决方案。

作者:Sketchar阅读需 1 分钟

经过两年的努力,我们准备向大家展示SketchAR开发过程中最关键的阶段之一。同时也是整个计算机视觉领域的一次突破。

你已经了解我们在计算机视觉(CV)领域开发的一些方法。这些方法能帮助虚拟物体固定在各种表面上,甚至是平面上。

最好的标记就是没有标记!由于CV领域信息匮乏,开发难度进一步加大。目前最成熟的CV开发成果集中在人脸识别领域,在文字、标志和物体识别方面也取得了一定进展,但在平面识别方面进展甚少。因此,我们只能一步一步地寻找这些基础性问题的解决方案。

Sketch AR-Anchors(SketchAR锚点技术)

SketchAR的无标记追踪方法(Tracking Method Without Markers)能够检测平面。而且即使在极端条件下也能保持稳定——比如摄像头放大后无法清晰看到周围环境、只能看到一片白色表面时。

它是如何运作的?

还记得电影《五十度灰》吗?就算没看过,光凭片名也能明白——我们实现了对“五十多种白色”的识别。智能手机的摄像头能够识别多种白色的色调。别忘了,当手一直在表面上移动遮挡时,任务会变得更加复杂。除此之外,我们还使用机器学习和神经网络来分析环境。我们将所有数据收集为锚点之间的连接与关系,然后分析虚拟物体相对于真实表面的位置。

看看下面的例子,纸上的“锚点”因为手在纸面上移动而丢失了定位点。

ARKit/ARCore的问题:当摄像头靠近平面时,虚拟图像会“飞走”。

我们的算法比ARKit或ARCore解决得更好,后两者在平面上的精度较低,虚拟物体容易偏离原本的位置。

你可以在示例中看到虚拟图像剧烈抖动的情况,这是因为摄像头看不到任何环境,只能看到白色的平面。每当虚拟物体被放置在平面前时都会发生偏移,这对任何从事增强现实开发的公司来说都是一个巨大的难题。

SketchAR的无标记追踪方法基于变换矩阵(结合机器学习和神经网络)。点与点之间的连接关系可以防止虚拟绘图发生偏移(虚拟草图不会显示在视频画面上)。此外,系统还会进行重新初始化,让网格中的点恢复到原始位置。当手离开画面或移动到另一个方格时,系统会重新识别其所在位置的目标像素。

SketchAR方法 vs. ARKit/ARCore

使用STMWM技术后,即使手遮挡表面超过60%,虚拟图像(青蛙)依然保持稳定。(此过程未使用ARKit/ARCore)。

我们已经解决了这个问题,技术的落地应用仍在持续推进中。在STMWM今年晚些时候能够独立完成全部工作之前,我们将继续沿用此前带标记的解决方案。

感谢大家,

SketchAR团队

分享这篇文章

相关文章

订阅公司动态

新文章、产品更新和社区故事直达您的邮箱。绝无垃圾邮件。