【问题标题】:How to measure the dimensions of a 3d object using ARKit or Apple Vision?如何使用 ARKit 或 Apple Vision 测量 3d 对象的尺寸?
【发布时间】:2018-10-31 23:13:15
【问题描述】:

使用 iPhone 相机(可能是 ARKit、Apple Vision、CoreML/mlmodel 等的某种组合),您将如何测量物体的尺寸(宽度、高度、深度)?物体是放在桌子上的小东西

使用 mlmodel,您可以训练 ML 执行特定对象的对象检测。这只允许您在 2d 屏幕上围绕检测到的对象绘制一个框。

我希望能够使用手机摄像头查看对象并可能在对象周围移动以确定对象的尺寸/实际大小。

我已阅读有关边缘检测或形状检测的信息,但我认为我不需要图像来对整体嵌套边缘检测进行图像处理。

ARKit 擅长使用手机硬件足够准确地测量小尺度距离。

一种可能的方法是在要比较的对象旁边放置一个已知大小的参考对象(例如四分之一),但这会带来复杂性和麻烦。

理想情况下,我想将 iPhone 摄像头对准桌子上的小物体,可能会环顾四周(围绕物体旋转一点),然后对物体大小进行大致的测量并拥有 ARAnchor(s)为对象的实际位置。

【问题讨论】:

  • 你找到解决办法了吗?

标签: ios camera computer-vision arkit apple-vision


【解决方案1】:

让用户通过点击对象的角来进行 ARHittest。 在那里你会在 ARWorld 中获得一个节点位置。 从那里您可以计算对象的具体长度等...

let newPoint = CGPoint(*e.g. the point the user taps*)
let hitTestResults = sceneView.hitTest(newPoint, types: .estimatedHorizontalPlane)
guard let hitTestResult = hitTestResults.first else { return }
 print("Your Nodes position: (htr.worldTransform.translation)")

然后计算这些点之间的距离。

您也可以在用户不点击的情况下进行此 ARHitTest。 然后通过 Vision 检测 Object 并适时进行 ARHitTest。

【讨论】:

    猜你喜欢
    • 2016-08-05
    • 2021-03-20
    • 2021-11-01
    • 2016-09-09
    • 1970-01-01
    • 2018-02-08
    • 2020-03-18
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多