对象检测 ARKit 与 CoreML

Object detection ARKit vs CoreML

我正在为 iPhone 构建 ARKit 应用程序。我需要检测特定的香水瓶并根据检测到的内容显示内容。我使用 developer.apple.com 中的演示应用程序扫描真实世界的对象并导出 .arobject 文件,我可以在资产中使用它。它工作正常,虽然因为瓶子是玻璃检测非常差。它仅检测在 2-30 秒范围内进行扫描或根本检测不到的位置。合并扫描并不能改善情况,反而会使情况变得更糟。合并后的结果可能有奇怪的方向。

我该怎么做才能解决这个问题?

如果没有,CoreML会帮我吗?我可以拍很多照片和教模特。如果我要检查每个帧是否与该模型匹配怎么办?这种方法有机会吗?

由于玻璃折射现象和不同的光照条件,香水瓶的对象识别过程(在 ARKit 和 CoreML 中)是最复杂的过程。

看下图——三个玻璃球在不同的位置:

这些玻璃球具有不同的菲涅耳 IOR(折射率)、环境、相机视角、大小和照明条件。但它们具有相同的形状、material 和颜色。

So, the best way to speed up a recognition process is to use identical background/environment (for example monochromatic light-grey paper BG), the same lighting condition (location, intensity, color, and direction of the light), good shape's readability (thanks to specular highlights) and the same POV for your camera.

我知道,有时无法遵循这些提示,但这些提示很有效。