This week we focused on improving our head tracking to reduce drift. We're adding FreeTrack support and alternative sensor fusion algorithms.
Desktop client version is 0.5.4.4, mobile app version is 0.8.7.
Why are we releasing update on Wednesday instead of Thursday this week? Tomorrow is public holiday in our country so everything (including our office building) is closed. Most of the team will be away on this long holiday weekend but we will catch up and respond to all e-mails and comments on Monday.
Alternative tracking (mobile)
Until now we were using Cardboard API as the only tracking option. Today we are adding more options. Cardboard API is still the most tested with probably the lowest latency but many of you asked for something more stable. We decided to use alternative sensor fusion algorithms to reduce drift. Keep in mind that using magnetometer with magnet-button-cardboard can result in odd results.
We are also adding option to disable tracking completely because some people wanted 100% stable picture for cinema-like apps.
Our new options are:
Tracker | Required sensors | Pros | Cons |
Cardboard API |
Gyroscope
Accelerometer
| Lowest latency | Highest drift |
Use magnetometer
(stability)
|
Gyroscope
Accelerometer
Magnetometer
| Lowest drift | Highest latency |
May interfere with cardboard magnet-button
| |||
Use magnetometer
(responsiveness)
|
Gyroscope
Accelerometer
Magnetometer
|
Very stable
with low drift
| Latency still higher than Cardboard API |
May interfere with cardboard magnet-button
| |||
No gyroscope |
Accelerometer
Magnetometer
|
Works without
gyroscope
| Extremely shaky |
No tracking | none | No drift :) | No tracking at all |
You can access new options by tapping more in top-right part of the connection screen.
We will try to reduce delays on driftless options but if you are looking mostly ahead without much head movement you might want to use magnetometer optons for more stable experience. Remember that you can reset head position by pressing Ctrl+Alt+Shift+R.
External tracking support (FreeTrack 2.0 protocol)
Many people already have their own DIY tracking and we received many requestes to provide a way to use FreeTrack-formatted data. This is our first iteration of this protocol but we wanted to get it out ASAP so you can start experimenting with your devices. We tested with OpenTrack (FreeTrack 2.0 protocol).
Positional data is supported by SteamVR driver only currently. Oculus emulation layer will use rotational data only.
Hi, Tracking is always disabled for me. Any way to revert the update?
ReplyDeleteDid you update both mobile and desktop app?
DeleteThanks for the reply, restart seems to have fixed the issues :)
DeleteWow!!! I was already impressed by your software, but it keeps getting better! Positional tracking will be awesome, but with diy sets it's doubtfull how good it will be. Going to spend some hours on freetrack this week ;)
ReplyDeleteThanks for your hard work and making this free for everybody!
Freetrack:
ReplyDeleteIt works pretty well , I tried OpenTrack with EdTracker and smoothness is very good. It would be interesting to test with infrared LEDs and a webcam to see if you can get 6DOF .
Problem with video:
QuickSync / Media Foundation - 1080p / 720p or any resolution - 60 FPS:
Start taking 35 / 45FPS
If I screenshot I have 59.9FPS
After 3 or 4 minutes 34 / 45FPS again.
QuickSync - 1440p - 60 / 30FPS :
The video begins to 59FPS but after 2 seconds down to 30FPS . There is no way to go up .
I read your reports on previous post but I forgot to respond. We're gathering all Intel QS data because there are some cases when it fails to keep up to correct framerate and some cases where if fails completely.
DeleteWe don't have any new workarounds and hacks currently but we're collecting specs and settings where it fails.
DeleteNo problem , I just want to help.
With the Foundation Media Codec happens exactly the same.
At 1080p is not able to run at 60FPS on mobile , although the image if it is properly encoded . If I make a screenshot is set to 59FPS , but to back down 3/4 min to 35 / 45FPS.
At 1440p directly does not rise above 30FPS.
What I find curious is that doing screenshot if starts running at 60FPS ( in 1080 )
DeleteI tried to lock the frequency of the CPU and the GPU , but still get the same result ...
35 / 45FPS and when I make a screenshot 60FPS for 3/4 min .
There is something that does not work well when decoding the image and display it on the screen, it's as if the cell came into " energy saving " mode but is not, and when I screenshot began to work well for a while.
Does the Freetrack mode also work with phone sensors?
ReplyDeleteWe wanted to have a mixed mode (FreeTrack position + phone orientation) but we decided to skip this for now. It was a little buggy.
DeleteExcelent update!! Thanks for your work!!
ReplyDeleteWhen are you going to add non-video encoder GPU compatibility, for example for 820M?
ReplyDeleteThat's at least one month away.
DeleteI really want to try the positional tracking but i cant find a good guide on how to make the kit and how to set it up. If you guys have any link or free time please make a video or a tutorial on how to make a kit and how to set it up and use it with Vridge.
ReplyDeleteThank you for all your hardwork.
Hello, first of all you need this things :
Delete1. Camera , here is a list of recomended - http://www.free-track.net/english/hardware/camera.php. (i'm using ps3 eye)
2. Point model. You have to build point model with led lights that your camera gonna capture for tracking. In free track is four different models, but best one for the vr pos tracking is 3 point model. You can read more here - http://www.free-track.net/english/hardware/point_model.php
3. You need a software , chosee that you like, OpenTrack, FreeTrack, IrTrack and etc. All of them using same protocol FreeTrack 2.0
Actually it seems a little bit hard but it's pretty easy , go on youtube and search "Freetrack" for better understanding.
Good luck with it !
awesome, i went through the links you mentioned but somehow after reading your message its more clear and understandable.
DeleteThank you.
i ll definitely look into it.
Also you can go deeper if you would like )
DeleteYou can use other software and ways of tracking . You will need to convert them to freetrack 2.0 protocol (vridge using this one)
I'm planning to use Aruco marker tracking , i think is much better
Here is some examples that i found on youtube
https://www.youtube.com/watch?v=tfvsHUgMU5g
https://www.youtube.com/watch?v=Xn5YW5Anjl4 (have no idea which language he speaks)
Tell me if you want to know how to do that , it's even more easier i think )
How do you track when you turn away with stuck? I can't seem to get multiple images working with opentrack
DeleteHow do you track when you turn away with stuck? I can't seem to get multiple images working with opentrack
DeleteThis comment has been removed by the author.
ReplyDeleteHello, i got DIY HMD that uses DK2 firmware, and cuz it DIY i don't have any Positional Tracking , I know that it's possible to use dk2 with riftcat application , but is there any chance to use this freetrack function not only with streaming on mobile devices ? I mean can i use it with DK2 ? Do you use any drivers so steamVR can work with freetrack ? How to do that ?
ReplyDeleteYes, we coded FreeTrack support into our driver/server. There is no built-in option in SteamVR or Oculus runtime to accept FreeTrack input.
DeleteIf you start_server to work on the drifting, why not working with gearvr hardware too ?
ReplyDeleteWriting alternative tracking algorithm is a lot faster in terms od dev-time compared to switching to GearVR SDK & environment.
DeleteSo frustrating.. can't get this software to work at all :/
ReplyDeleteHi vridge/riftcat is just amazingm
ReplyDeleteThank you so much for creating it.
So can freetrack now be used to emulate oculus positional camera/ vive lighthouse???....can I use it in steam vr as a tracker?
Any progress on injectors? I.e vorpx, verio perception etc?
You can use any FreeTrack-compatible tracker to feed positional+rotational data into VRidge so it does work kind of like Vive lighthouse (without controller tracking).
DeleteNo progress on 3d injectors so far.
But you can use it only when vridge server runing , yeah ? So i can't use it with my dk2 ? Only smartphones ?
DeleteCorrect.
Delete
ReplyDeleteI can confirm that there is the same problem with a different terminal :
Meizu MX5 ( Helio X10) :
NVENC - 1080 @ 60FPS - 9Mbps = 35 / 45FPS
Meizu Pro 5 ( Exynos 7420 )
NVENC - 1080 @ 60FPS - 9Mbps = 35 / 45FPS
When I make a screenshot is set to 59FPS for 2/3 minutes.
Thank you for the article. It's really worth reading.
ReplyDeleteSensores are bottlenecking my fps range, when i turf off phone sensor i get + 60 fps, when i turf it on o get 25~30 unplayable fps, how can i get remove this bottleneck using phone sensors? Can it be a USB cable bottleneck? I am using usb 3.0
ReplyDeleteSensores are bottlenecking my fps range, when i turf off phone sensor i get + 60 fps, when i turf it on o get 25~30 unplayable fps, how can i get remove this bottleneck using phone sensors? Can it be a USB cable bottleneck? I am using usb 3.0
ReplyDeleteIs it the same with all tracking modes?
DeleteThis Riftcat/Vridge thing is great... The resolution upscaling option is great but like many others I've had problems with drift, I used OpenTrack with the Accela filter (and 1 other I can't remember) and the drift was completely gone, you had to tune it for latency vs stability, but when you did the drift was gone. The only thing is, they use Euler angles so there's gimbal lock which is sad (FreePie IMU and HeadTracker both). It might something different than gimbal lock, but my roll and pitch are tied.
ReplyDeleteThat last part has nothing to do with you, just saying you guys are great for working around that problem and also pointing out algorithms that work.
This Riftcat/Vridge thing is great... The resolution upscaling option is great but like many others I've had problems with drift, I used OpenTrack with the Accela filter (and 1 other I can't remember) and the drift was completely gone, you had to tune it for latency vs stability, but when you did the drift was gone. The only thing is, they use Euler angles so there's gimbal lock which is sad (FreePie IMU and HeadTracker both). It might something different than gimbal lock, but my roll and pitch are tied.
ReplyDeleteThat last part has nothing to do with you, just saying you guys are great for working around that problem and also pointing out algorithms that work.
Thanks for the tip with OT settings. BTW did you use beta or stable Android app? The beta app uses updated Google VR algorithm for tracking with less drift.
Delete
ReplyDeleteAdd phone support for Samsung s3 i9300i
hi there, I'm using an S6 with the GearVR in a computer with an AC wifi connection and an Nvidia 9700. So far so good, I can play Project Cars and LFS. But....
ReplyDeleteThe head tracking needs to be adjusted now and then... and.. the worst part is that the headtracking is painfully slow. I cannot turn my head with a smooth movement, it seems to do like "steps" and its very crude.
Question:
Would an external headtracking via de sony ps3 camera and opentrack give me smoother head tracking movement????
It's probably the Samsung jitter bug where frames are sometimes displayed at incorrect timing/out of order causing it to be jerky/stuttering. We are working on it. I don't think external tracking would help in this case since it seems to be rendering (graphics) issue.
DeleteHi Guys.
ReplyDeleteIs it possible to use The leap motion LEDs in the unit to track your position?
eg. Leap Motion attached to the HMD with a PS eye camera tracking the IR LED movements using Freetrack....
Thanks guys, solid work.
This comment has been removed by the author.
ReplyDeleteThis comment has been removed by the author.
ReplyDeleteUpdate. I've purchased facetracknoir and found that in a dark room with a non reflective vr hmd, (I'll have to paint mine) you can track the 3 LEDs of the leap motion device with some success. You can't move your head fast or turn your head much at all but it works.... Only problem is use need some light I would of thought, to use leap motion as a controller to emulate the vive. This is untested as it's not yet night here to test properly.
ReplyDeleteAny more input from others would be great. Thanks
Please! I want use Vridge only as translate Position Tracking Freetrack to SteamVR. It's need for PC HMD, thats working directly with SteamVr but not have Positional Tracking (Deepoon E2, Pimax 4k). It's possible? Or
ReplyDeleteHello. Does your software support vr box headset?
ReplyDeleteThat depends on the phone your using....?
DeleteHi. If it's all-in-one headset then we don't support those. It may or may not work.
DeleteWill the freetrack reduce the drifting phenomenon?
ReplyDeleteThis comment has been removed by the author.
ReplyDelete