Hello everyone.

The Mixed Reality Forums here are no longer being used or maintained.

There are a few other places we would like to direct you to for support, both from Microsoft and from the community.

The first way we want to connect with you is our mixed reality developer program, which you can sign up for at https://aka.ms/IWantMR.

For technical questions, please use Stack Overflow, and tag your questions using either hololens or windows-mixed-reality.

If you want to join in discussions, please do so in the HoloDevelopers Slack, which you can join by going to https://aka.ms/holodevelopers, or in our Microsoft Tech Communities forums at https://techcommunity.microsoft.com/t5/mixed-reality/ct-p/MicrosoftMixedReality.

And always feel free to hit us up on Twitter @MxdRealityDev.
Options

A bunch of questions regarding using HoloLense and object recognition

Greetings,

I'm working for my professor on a potential paper involving utilizing the HoloLens in an edge computing context. We have, however, a few questions we haven't been able to find an answer to so far.

Our work is based upon a HoloLense application developed by Carnegie Mellon. It uses object recognition to detect real-world objects and render holograms on top of those. We want to improve upon this process and share the virtual world between more than one device.

Which brings me to our questions:

  1. How precise is spacial mapping? The article on spatial mapping makes reference to different levels of detail available for the mesh generated by the mapping process. So far, I've only roughly checked precision by simply examining the triangle mesh the HoloLens displays when performing the airt tap on nothing. Is there any official source or any experience with how big (or rather, small) an object has to be in order for the HoloLense to create a halfway decent mapping of it?
  2. Sharing World Anchors. If I read the articles on coordinate systems correctly, using a WorldAnchor is the only good way of establishing a shared, virtual environment between two HoloLenses (without building a different system from scratch). Is that correct and, if so, do I furthermore read the article correctly when I assume that the WorldAnchor works by uploading part of the spatial mapping of the first HoloLens establishing the anchor, and every other HoloLens determining its position in space by matching said part to their own mapping?
  3. Establishing a coordinate system. Still referring to the article on coordinate systems, it states that "Room-scale VR apps today typically establish this kind of absolute room-scale coordinate system with its origin on the floor." Is this true for the HoloLense, too? Is there a source that details on how the HoloLense constructs this initial coordinate system and gives information if it ever changes?
  4. Prior works. Does anyone happen to know if somebody else has already performed hologram placement via object recognition? The solution for finding the object's position implemented by CMU is not optimal and we were thinking about trying different strategies, such as casting rays at the spatial mapping (hence the question about its level of precision).

Thank you for any potential help on those points!

Best Answers

Answers

  • Options

    Hi @dbarrett

    Thanks for your comment, you've answered some of my previous questions. Two things still remain open, though:

    1. Sharing. I've already looked up how to use World Anchors. What I'm looking for is a more specific explanation of how they work. Holograms 240 mentions that, if the anchor can't be downloaded to a different device within 30 - 60 seconds, you should "walk to where the original HoloLens was when setting the anchor to gather more environment clues." That sounds as if part of the spatial mapping of the HoloLense is uploaded to the sharing service, but I haven't found any actual source for that yet.
    2. Prior/other works. That's an interesting thing you're doing there. We do not have to cope with trying to cram OpenCV onto the HoloLense--we're working with an application by Carnegie Mellon that is meant to demonstrate the advantages of edge computing, that is, having a cloud service in your immediate vicinity, where you do not suffer high latencies and can efficiently "outsource" demanding calculations to the edge system. No problem there, the recognition is running on the server. What we are now trying to do is to improve how the object's location is determined and/or how we can optimize ressource usage when several HoloLenses see the same objects. If you don't mind asking: How do you detect the distance to the text you recognized? The CMU app determines the x and y position from the position of the detected object in the captured frame and approximates a distance to the object by dividing a magic number by the square root of the area the objects has in the frame. This works quite well as long as you do not move your head, but once you change your perspective, you see that the hologram meant to be placed upon the object isn't actually placed on the object, but somewhere behind it. Looks okay from the original perspective, but isn't that great once you have a different one.

    Again, thank you for your earlier help and I hope to hear once more form you (or anyone else who might have something to contribute).

Sign In or Register to comment.