Is "Edge Detection" Possible for analyzing the mesh in ARDK?

Include the following details (edit as applicable):

  • Issue category: Semantic Segmentation / Real-time Mapping-Depth / ARDK Documentation / Unity Example Package / Developer Tools
  • Device type & OS version: Android / iOS / Other Ex. iPhone 8+ on iOS 13
  • Host machine & OS version: Mac / Windows / Linux / Other Ex. Mac on Big Sur x.x
  • Issue Environment : Unity Remote / Unity Mock / On Device / Dev Portal
  • Xcode version:
  • ARDK version:
  • Unity version:

Description of the issue:

hey everyone! i’m wondering, are there any sort of”edge detection” capabilities inside the ARDK? - Like the question is, This is an edge, and this edge is >= 3 feet long, for example…?

Is this something that’s possible to identify (edges of things) inside the ARDK?



I’ll jump in with a quick thought, but I can’t say I’ve done anything like this before! There’s meshing functionality which generates a Unity mesh — so you could potentially measure the size/distance between two points (or multiple points) in the mesh?

It wouldn’t be exact though – as the Meshing doesn’t necessarily always get the edge spot on.

1 Like

I’ve reached out to confirm, but I’m not aware of any out of the box way of doing something like measure the length of an edge on an object.

You might be able to generate a mesh, and then measure the distance between points on the mesh, as mentioned by @Patrick_Catanzariti, but in that case the implementation would be up to you, and the results would not be 100% accurate in most cases due to the roughness of the generated mesh.

Hi @Patrick_McCrory

So I’ve confirmed that there is no edge detection exposed in ARDK, and that the best way to measure something like the length of an edge of an object would be to hittest off of a mesh, as mentioned previously. As far as the accuracy of the results go, they may actually be on par with the iOS measure app based on some quick informal testing.

Another option would be to use plane anchors. To use this method, take the plane anchor’s position, and then use the extent to calculate the position of the corners. The caveat for this method is that unless you’re on a LiDAR device, planes often don’t align to edges as well as our meshes do.

Hope this helps!

@David_Quevedo @Patrick_Catanzariti thanks for your input. I’ll let you know if we move forward with one of these directions :slight_smile: