Skip to main content
Up and Coming
August 28, 2014

Leap Motion sets a course for VR

Open letter from Leap Motion CTO David Holz, posted this morning at https://community.leapmotion.com/t/leap-motion-sets-a-course-for-vr/1642:




Hi everyone,

I’d like to take a moment to talk about a series of developments we’ve been working on specifically for virtual reality. The first set involves our existing peripheral device and new things developers can do with it starting today. The second is a hint of some of our next-generation hardware and software efforts that we’re currently building from the ground up for this new and exciting space.

If virtual reality is to be anything like actual reality, we believe that fast, accurate, and robust hand tracking will be absolutely essential. We believe in the concept of other specialized controllers as well, but our hands themselves are the fundamental and universal human input device.

One of the most exciting things to us about virtual reality is that our technology can be more than just your hands -- it can be your eyes as well. We’ve recently hinted at this with the release of a new API which opens up raw infrared imagery24 straight from our sensors. When mounted directly onto a head-worn display, these images become stereoscopic windows into the world around you. What it sees, you see.

This expands the tracking space to be in any direction you’re facing. You can reach forward, turn around, look up and down, and the tracking follows you wherever you go. Because our device’s field of view exceeds that of existing VR displays, you’ll find it can start to track your hands even before you even see them.

To help people explore this paradigm with us, today we’re releasing a VR Developer Mount89, which allows you to easily and consistently attach and remove your Leap Motion Controller from a VR headset. We’re also releasing a software update for our beta SDK, which includes a massively improved ‘top-down tracking’ mode, as well as Unity and C++ examples. These show how to use both the image overlays and the tracking data from a head-mounted position, then give further examples of more sophisticated 3D interactions.

We think that this path fundamentally leads to a place where the digital and physical mediums of today blur together in deep and profound ways. Where bits and bytes become concepts and feelings and substances -- giving rise to digital interactions that are physically indistinguishable from real life.

To this end, I’d like to also give a hint of what we’re working on for the future. One prototype sensor that we’re beginning to show today (and will be giving out more information on in the future) is codenamed “Dragonfly.” It possesses greater-than-HD image resolution, color and infrared imagery, and a significantly larger field of view.

With next-generation “mega-sensors” like this, a Leap Motion device can literally become your eyes into the digital and physical realms -- allowing you to seamlessly mix and mash, fade and blend, between virtual environments and the sharpness of the real world.

Beyond the hardware, it’s important to stress that all forms of tracking are themselves software -- in our case, a deeply complex and rapidly evolving intelligence for tracking hands. We hope you will appreciate its growth as we continue to release updates every few weeks.

We’ve always been in awe of people’s deep and abiding passion for the dream of a digital and physical convergence. It’s this energy which drives us to work tirelessly until it is a reality, and we hope you continue to travel with us (or join us now) in this quest.

David

    64 replies

    Up and Coming
    September 24, 2014
    "mptp" wrote:
    Sadness for me today: tried Leap + DK2, with the Leap plugged into a USB3.0 port directly into my laptop, but the data rate is still too low. Running off a i7 2.2GHz processor. Switching up the ports doesn't do anything. This makes the Leap pretty much worthless to me, which is pretty disappointing.



    are you using any kind of extension cable? Dont feel like this is the leap, try another computer. I feel like you should be disappointed with your computer and not leap.
    Up and Coming
    September 24, 2014
    I got mine plugged in Yesterday and I was a pretty underwhelmed by the response time. It's not my machine: USB 3, i7, GTX 780, 16gb DDR3, SSD.

    I haven't mounted it yet to see how it works with the Rift, but given how it seemed pretty clunky just by using it on the desk I don't expect it to be improved magically by mounting it on the DK1. What is the average measured latency anyway?
    Brevis / DevBlog Twitter
    Up and Coming
    September 24, 2014
    I didn't measure latency, but I did adjust my room( I know Leap is supposed to take that into account), but the dark work the best, trust me. Also strapping to my DK1 was HUGE over the desktop experience, at-least for the plasma ball demo, that was fun. "Perceivable" Latency though was quite low for me, I can see this working ok in a game if there is some work done on the model you use VS what you actually track.
    I have notice through several in-house tests that it is pretty easy to "fool" the human into thinking that arms, and postures are correct, even though they are not, just with good animations. The loss happens when they interact with their environment. So I have been working on a theory of IK algorithms, like for animation to lock nodes to the IK in various parts, and only track things like palms and one or two finger until the subject actually touches an object(Collision trigger). Once the touch moment happens it changes to mostly finger tracking(or whatever is colliding at the moment) on the collision, and IK on everything that isn't interacting. This back and forth seems like it would work ok Ill see if I can actually show anything, and NDA is a..."Pain in th....", I mean I love NDA agreements *Smile*
    Up and Coming
    September 24, 2014
    We typically see latency in the range of 3 to 7 milliseconds, depending on computer specs.

    Can you open up the Diagnostic Visualizer and tell me what you see for Render FPS and Data FPS (press H then look in the upper left-hand corner) and software latency (press L and look to the lower right)? This will help us assess the problem.
    Head writer @ Leap Motion
    Up and Coming
    September 24, 2014
    Im seeing an average of about 3.7 ms over a 3 minute time period, I assume mine is normal readings.
    Up and Coming
    September 24, 2014
    "alexcolgan" wrote:
    We typically see latency in the range of 3 to 7 milliseconds, depending on computer specs.

    Can you open up the Diagnostic Visualizer and tell me what you see for Render FPS and Data FPS (press H then look in the upper left-hand corner) and software latency (press L and look to the lower right)? This will help us assess the problem.


    Render: 60
    Data: 115
    Device: 115

    Didn't even know this environment was here, nice test space.

    It seems more like the interpolation that the latency. Some stuff happens smooth, sharp and accurate while other movements like closing one finger will start fast, then slowly blend to the correct position over a few seconds i suppose because it can't tell the difference between the finger and palm? A closed fist is pretty much mayhem. There seems to be a small window of good accuracy and outside of that is pretty clunky.
    Brevis / DevBlog Twitter
    Up and Coming
    September 25, 2014
    "Lane" wrote:
    "alexcolgan" wrote:
    We typically see latency in the range of 3 to 7 milliseconds, depending on computer specs.

    Can you open up the Diagnostic Visualizer and tell me what you see for Render FPS and Data FPS (press H then look in the upper left-hand corner) and software latency (press L and look to the lower right)? This will help us assess the problem.


    Render: 60
    Data: 115
    Device: 115

    Didn't even know this environment was here, nice test space.

    It seems more like the interpolation that the latency. Some stuff happens smooth, sharp and accurate while other movements like closing one finger will start fast, then slowly blend to the correct position over a few seconds i suppose because it can't tell the difference between the finger and palm? A closed fist is pretty much mayhem. There seems to be a small window of good accuracy and outside of that is pretty clunky.


    This is a known issue at the software level, which is constantly (and rapidly) evolving. Right now, poses that are more distinct and involve multiple fingers will track better than less distinct ones where no fingers are visible (which accounts for what you're seeing with fists).

    Because this is fundamentally a matter of refining the tracking software, there are a lot of ways that we can improve this. Ultimately our goal is that the software should be equal to your eyes (or better) in being able to tell what's going on in the video passthrough. We're not there yet, but we've seen improvements with five new builds over the past month, and more regular updates on the way.
    Head writer @ Leap Motion
    Up and Coming
    September 25, 2014
    "alexcolgan" wrote:
    "mptp" wrote:
    Sadness for me today: tried Leap + DK2, with the Leap plugged into a USB3.0 port directly into my laptop, but the data rate is still too low. Running off a i7 2.2GHz processor. Switching up the ports doesn't do anything. This makes the Leap pretty much worthless to me, which is pretty disappointing.


    Sorry to hear that; we haven't encountered this issue before. Can you send additional system specs? And is the issue worse with images enabled through the control panel?

    EDIT: As well, can you send along the device and data FPS provided by the Diagnostic Visualizer? (This info will appear when you press H in the visualizer.)


    Righto, so my specific system specs are:
    Processor: Intel i7-2720QM at 2.2GHz
    GPU: AMD Radeon HD 6990M
    RAM: 8GB

    Which isn't a stellar machine, but definitely up to the task of skeletal tracking. The issue is identical whether images are on or off. I should point out that tracking works pretty well so long as my hands are close (less than 20cm) to the controller. Once they get further than 20cm or so, the tracking immediately becomes unusuable.

    I'm not using any USB hubs, extension cables, or the DK2's USB port, the LEAP is plugged straight in to a USB3.0 slot (USB2.0 doesn't work any better).

    In the diagnostic visualiser, I get: 80fps on both rendering and tracking.

    *however* I think the problem is my laptop just isn't up to handling the DK2, its positional tracking camera and the LEAP - it only has two USB3.0 ports and two USB2.0 ports. Even having everything unplugged except the DK2 and the LEAP still results in it being throttled. But when I open up the LEAP VR intro with just the LEAP plugged in, tracking works considerably better.

    I would test this theory out on another computer, but I don't know anybody who has a better-specced PC than me, so that's not doable.

    I guess my LEAP will have to sit in its drawer until I upgrade late next year. :/
    Melbourne-based creative technologist. I flit between experimental AR/VR experiences, audiovisual electronics and full-stack web development. http://www.lachansleight.io
    Up and Coming
    September 25, 2014
    "mptp" wrote:
    "alexcolgan" wrote:
    "mptp" wrote:
    Sadness for me today: tried Leap + DK2, with the Leap plugged into a USB3.0 port directly into my laptop, but the data rate is still too low. Running off a i7 2.2GHz processor. Switching up the ports doesn't do anything. This makes the Leap pretty much worthless to me, which is pretty disappointing.


    Sorry to hear that; we haven't encountered this issue before. Can you send additional system specs? And is the issue worse with images enabled through the control panel?

    EDIT: As well, can you send along the device and data FPS provided by the Diagnostic Visualizer? (This info will appear when you press H in the visualizer.)


    Righto, so my specific system specs are:
    Processor: Intel i7-2720QM at 2.2GHz
    GPU: AMD Radeon HD 6990M
    RAM: 8GB

    Which isn't a stellar machine, but definitely up to the task of skeletal tracking. The issue is identical whether images are on or off. I should point out that tracking works pretty well so long as my hands are close (less than 20cm) to the controller. Once they get further than 20cm or so, the tracking immediately becomes unusuable.

    I'm not using any USB hubs, extension cables, or the DK2's USB port, the LEAP is plugged straight in to a USB3.0 slot (USB2.0 doesn't work any better).

    In the diagnostic visualiser, I get: 80fps on both rendering and tracking.

    *however* I think the problem is my laptop just isn't up to handling the DK2, its positional tracking camera and the LEAP - it only has two USB3.0 ports and two USB2.0 ports. Even having everything unplugged except the DK2 and the LEAP still results in it being throttled. But when I open up the LEAP VR intro with just the LEAP plugged in, tracking works considerably better.

    I would test this theory out on another computer, but I don't know anybody who has a better-specced PC than me, so that's not doable.

    I guess my LEAP will have to sit in its drawer until I upgrade late next year. :/


    Laptops sometimes encounter CPU throttling due to power or heat, but based on those specs, your system should be able to accommodate Leap + DK2 :/ I'd like to follow up and see if we can get this issue resolved as quickly as possible; can you email me at acolgan@leapmotion.com?
    Head writer @ Leap Motion
    New Participant
    October 7, 2014
    Well my DK2 order has gone from Ready to Processing, so wont be long.

    I have just ordered the Leap Mount for my Leap controller too..

    Cant wait to put them all together and see what can be done.

    The Anticipation is killing me!