在iOS的ARKit2.0中扫描和检测3d对象有哪些限制?

时间:2019-04-19 05:18:51

标签: ios augmented-reality object-detection arkit

我完成了使用ARKit 2.0进行3d对象扫描和检测的任务。我已经从物体的各个侧面扫描了3d物体。一旦完成100%扫描,便为该对象指定了名称,然后将该ARReference对象和图像保存在文档目录中。然后在按钮上单击“我将要检测到扫描的对象并显示其在文档目录中的名称和图像”。

物体被检测到,但是检测物体花费了太多时间。我浏览了Apple文档以获取最佳做法和限制。仍然对ARKit有一些疑问。

  1. 扫描或检测物体时有什么问题吗?扫描3d对象的最佳做法是什么?
  2. 扫描和检测物体有哪些限制?
  3. 检测物体时是否可以缩放?
  4. 快速检测物体(即不花费太多时间进行检测)的最佳实践是什么?

1 个答案:

答案 0 :(得分:1)

  

ARKit工程师对扫描3D对象提出以下建议

  • 250 to 400 lux的照明度照亮对象,并确保所有侧面的照明良好。
  • 提供约~6500 Kelvin(D65)的光照温度-与日光相似。避免使用温暖的光源或其他有色光源。
  • 将对象设置在 matte, middle-grey background 之前。
  • 要轻松进行对象扫描,请使用最新的高性能iOS设备(iPhone X / Xs / Xr,iPad Pro)。可以在任何ARKit支持的设备上检测到扫描的对象,但是在高性能设备上创建高质量扫描的过程更快,更流畅。
  • 将要扫描的对象放置在没有其他对象(例如空桌面)的表面上。
  

另外,我应该添加四件事

  • 具有非重复(与圆点不同)和非平坦纹理的对象是更可取的。扫描具有“非丰富”纹理的对象需要花费更长的时间。

  • Try not to scan transparent objects就像玻璃小雕像一罐水。对于ARKit,这类对象是不可取的。它们具有IOR1.0的折射率(3.0)无关紧要。

  • Try not to scan highly reflective objects,例如镜子 chrome球体。对于ARKit,这些类型的对象也是不可取的。它们的“质地”取决于视角。
  • Try not to scan objects with a chromatic dispersion effect就像 DVD 或珠宝中的宝石的表面。

在有争议的情况下使用 zoom

ARObjectScanningConfiguration对我来说最可靠的方案是扫描0.5到1.5米远的中型物体。在ARKit中,Autofocus默认是启用的。

  

所有上述建议都是笼统的。每个对象都是唯一的,您需要花费不同的时间来扫描任何唯一的对象。

希望这会有所帮助。