Menu

Sluggish tracking

Boulund
2010-07-04
2017-01-22
  • Boulund

    Boulund - 2010-07-04

    Hi!

    I just downloaded and tried FaceTrackNoIR (FTNIR?) yesterday and played around with it this entire morning. I was pleased to see you added smoothing and a recentering function in the last update!
    It is actually working rather well on my machine:
    Core2Duo E6750 @ 3.2Ghz
    4GB DDR2
    GeForce 8800 GTS (640MB)
    Windows 7
    Microsoft LifeCam VX-1000

    I've been trying it for use in Arma2 and Arma2: Operation Arrowhead and have been using free-track (homemade cap model) for almost two years now and been very pleased with it, disregarding those horrible moments when you loose tracking because of a bad battery :) (not to mention the awful effect it has on your hairstyle ;)).

    This FTNIR is really interesting and I love the idea and have been playing around with the FaceAPI application that they released a while back.

    Now to my problem:
    With no filtern - the head position jitters A LOT. Impossible to use in Arma2 because the view jumps around like mad.
    With regular global filtering - the head position jitters less! Still not practical to use in Arma2 because it still jumps a little, but can be improved by increasing the number of frames to average over, something around 20-25 frames gives acceptable jumpiness, but very sluggish tracking with a VERY noticeable delay between IRL-head movements and in-game head movements.
    With EWMA-filtering - VERY smooth tracking, fantastic almost. Very usable in Arma2, but the response is sluggish here as well. EWMA-filtering seems to work very good, even with the global average frame count down to below 5 frames! It seems the algorithm is slowing the tracking down a bit too much though, with noticeable "head-lag" (like mouse-lag but with headtracking?) that is a bit sad. It's still right on the point where one might get used to it and play anyway, but just a liiiittle to much for my taste.

    Is this because of my now aging processor not coping or has someone else experienced this behavior?

     
  • Boulund

    Boulund - 2010-07-04

    I just want to add that I intended that this thread would be more of a discussion kind of thing rather than troubleshooting/help, which is why I put it in the general discussion thread.
    I really like the application so far and I'm happy to help testing it!

     
  • Wim Vriend

    Wim Vriend - 2010-07-23

    Hello Boulund,

    Thanks for your post: I kinda lost track of all forums, I forgot this one …

    I have to say that reaction-speed, jittering and sluggishness of facetracking is influenced greatly by a number of factors. Proper lighting is very important, CPU-speed is important and web-cam performance has great influence too.

    Some players say it works very well at 8Hz while others 'complain' it won't go beyond 50Hz. I really have no idea (yet) how to change this. I'd like to receive more feedback though!

    Regards,

    V4Friend

     
  • Anonymous

    Anonymous - 2010-08-14

    Using it in IL2 today (went and bought a webcam just to play with it heh) and after much tweaking I've got it working reasonably well.
    I've moved the smoothing slider all the way down to 1 as anything higher slows down the movement to a crawl
    Neutral Zone is at 5

    Yaw Pitch and Roll sensitivity I've set all the way to 398 which seems to give me a wide range of movement in game without moving my head too much IRL.

    I don't understand what the Red Factor is for yet, doesn't seem to have much of a difference when I change it. 

    My system:
    AMD Phenom II 955 x4 3.2ghz OC'd to 3.7ghz
    4gb DDR2 RAM
    nvidia geforce 9800 oc'd
    Logitech C510 webcam

     
  • Wim Vriend

    Wim Vriend - 2010-08-15

    Hello Brad,

    Thank you for your feedback: always nice to hear that it works!

    There is always a trade-off between responsiveness and smoothness in applications like this. The ArmA-gamers experienced quite a lot of jitter, apparently because the way ArmA uses the headpose-data. To compensate I built the EWMA-filter, which removes spikes in the signal (but also slows down response).

    You can try turning off the EWMA-filter altogether (uncheck the checkbox), or slide the Reduction Factors to a low value: older samples will then get less 'weight' and responsiveness should improve.

    V4Friend

     
  • Spinnetti

    Spinnetti - 2010-08-20

    I have same issue as boulund in IL2.. it actually works fine, but there is too much delay between my head motion and the app "catching up" on screen - makes me nearly sick….. if the response speed could be improved, it would be just fine. Its plenty smooth and tracks my face motion in the app better than Trackir1 does.

     
  • Wim Vriend

    Wim Vriend - 2010-08-20

    Hi Spinetti,

    What fps do you get? Do you have a DualCore or better? Performance seems to depend on a lot of factors like these.

     
  • Spinnetti

    Spinnetti - 2010-08-22

    Hi V4, I have i7 quad core/4 gig ram, ati video. It works fine and smooth, but just too much lag. Camera only shows 15hz, but no adjustments are available for the camera. I don't want to get another camera because I have one built in, and I also have a trackir.. I was hoping to get this to work so I could stop using my trackir. Is there any way in code you can speed up the tracking?

     
  • Wim Vriend

    Wim Vriend - 2010-08-23

    Hello Spinetti,

    Well, your PC seems fast enough…

    The way I see it, the bottleneck is your web-cam (what make/model is it?). On my PC (Dual Core, with crappy USB web-cam) I always get 30Hz. Is there a way to find out, what the limits of your web-cam are? There still should also be a way to adjust exposure and resolution of the camera: that works for some users, who reported low fps.

    O yeah, some have reported that the ATI-tray-tools interfered with the camera. Do you have that? Could you try to disable it?

    Success,

    V4Friend

     
  • Boulund

    Boulund - 2010-08-23

    Thought I could update what I've accomplished with the latest version (20100716). This is essentially an entire post that I've left at Eagle Dynamics forums but wth. :)
    Currently I feel that my slow CPU is totally hampering me from using this at all. The only way to get it smooth enough in Arma II is to increase the smoothing but that introduces massive "head-lag"  to the movements. Also, the games framerates are reduced to such a high degree that it just isn't fun playing. We'll see how it works out with a new processor in the future. I think the webcam produces between 24-30 frames per second during usage, unsure of the resolution in this application but I believe it should go up to 640x480.

    Now I've done some thorough testing in DCS: Black Shark and come up with the following settings that worked best for me:
    Using the 20100716-version I used "Fake TrackIR" as protocol with 2 samples smoothing (EWMA) and a neutral zone of 4.

       (inverted)
    Yaw 300 65
    Pitch 300 65 (Inverted)
    Roll 200 80
    X 21 92 (Inverted)
    Y 21 70
    Z 8 100

    ArmA II: Operation Arrowhead - Smoothing 1 sample (EWMA) neutral zone 4. Freetrack protocol.
       (inverted)
    Yaw 194 40
    Pitch 92 50
    Roll 0 100 - disabled, no support
    X 0 100 - disabled, I don't like the leaning function
    Y 0 100 - disabled, no support
    Z 0 100 - disabled, no support

    Still it is sluggish and induces motion sickness in me with the drowsy response in games, most probably because of my processor not keeping up. In ArmA the main issue is not the slow response (even if it is still slow here) but the copious amounts of jitter. Hope this helps somebody looking for information.

    Core2Duo E6750 (2.66Ghz) @ 3.2Ghz
    4GB DDR2
    Microsoft VX-1000 webcam
    Geforce 8800GTS 640 MB (G80)

     
  • Wim Vriend

    Wim Vriend - 2010-08-23

    Hi Boulund,

    Thanks for your feedback. We've done some 'research' and found that all trackers using a web-cam can experience low fps and high CPU-load, if the web-cam is not configured right. Some very interesting info on this can be found here: http://forum.free-track.net/index.php?showtopic=455. Yes: it's the Free-track forum and it even mentions 'your' VX-1000 web-cam.

    Can you try the recommendations and see if that helps?

    V4Friend

     
  • Spinnetti

    Spinnetti - 2010-08-24

    Thanks for the info. My camera is built in, but not sure what kind. It doesn't have any software for it (I'm on an iMac running bootcamp)… Maybe some other software will work with it to adust. I have ati tray tools, but didn't have that installed when I tested. When I installed that, the software stopped working completely. I appreciate your efforts on the software and helping me, but looks like I need to stick with trackir for now… thanks..

     
  • Boulund

    Boulund - 2010-08-25

    v4friend,

    I've actually been using FreeTrack for almost two years now and I've already tried the tweaks mentioned in that thread off the FreeTrack forums. Unfortunately it did not help my problem. Maybe I should hazard a reinstall of the camera and its drivers to see what that gives… I'm a bit reluctant to do so though, because I've managed to get all my settings just right for FreeTrack and I wouldn't want them too messed up ;)

     
  • Boulund

    Boulund - 2010-08-27

    Now I reinstalled my drivers and tried everything from scratch. It kind of works a little bit better I guess, but still not to my satisfaction - especially in Arma2.
    After reinstalling the drivers the camera can actually stay at a solid 30Hz and the tracking looks nice from the display in FTNoIR.

    I was thinking, maybe it would be possible to introduce some kind of interpolated output, like freetrack. That would give higher refresh rate of the output for people asking for this.

     
  • Todd Welti

    Todd Welti - 2010-11-15

    I just started playing with this.  It seems to work quite well.  I'm interested in horizontal head angle only right now.  It seems to display in the GUI fairly accurately and not too much jitter or latency.   BUT, I set it up to send to a virtual joystick (ppJoy) and receive the data in another software (Pure Data) which can grab the data from a joystick.  I can get the data stream in Pure Data, but it is very sluggish, takes around 3  seconds to register me rotating my head from +20 to -20 degrees, whereas in the facetracknoir GUI it is nearly instantaneous.  Does anyone know why this would be?  I had the same experience with Optitrack SDK a while back.

    More generally, does anyone know a good way to get the data out of facetracknoir into another application?  TCP/IP to local host for example.  I downloaded the source for the Seeing Machines API and compiled the source for the simple example.  I'm not a very proficient programmer, so still not sure how to get the data out to another application.  It would be cool if Facetracknoir had a facility to send the data stream to, for example, a TCP/IP stream or some other generic way to use it in outside applications.

     
  • Wim Vriend

    Wim Vriend - 2010-11-15

    Hello Toddsan,

    Thanks for trying FaceTrackNoIR and for reporting your findings. I'm not sure why PPJoy should respond so slow. I have tried it myself with GlovePIE and never noticed your problem. Have you followed the directions I have given in the folder ClientFiles/PPJoy?

    Currently FaceTrackNoIR supports an UDP-protocol, which is primarily intended for FlightGear. But, if you can write an application that can also send and receive through UDP, you can use that. It uses localhost and ports 5550 and 5551.  If you need more info on that, just PM me.

    I'm also busy creating a client-server setup, so that FaceTrackNoIR can run on one PC, and the game on another. Needs a bit of work though…

    Wim

     
  • james ireland

    james ireland - 2011-01-11

    Hi,

    First, great bit of software and I'm sure it will be a real game changer when its perfected.

    I just wanted to add my little bit to the speed problem that is discussed here, more to help with development than as a moan.  My PC is an AMD 3.2 GHz quad core - 4GB DDR3.  As with the others on the forum, I have a problem finding that compromise between jitter and sluggish response.  I had an evening of playing with the settings but can not get it to work at a satisfactory level.

    With the smoothing turned down, the jitter makes it nearly impossible to click any switches on the control panels (Using DCS A10-c).  When its turned up to a level that removes this, there is about 1 second lag to any head movement.  This increase further still as the smoothing is adjusted.  I understand that the smoothing will always introduce some lag but it is not possible for me to get a happy medium.  I have also noticed the lag outside of the game in the axis setup menu on DCS A10, so it is not just when the cpu/graphics card are getting used a lot. 

    I have tried all steps listed on the forums, I do not have ati tools running, not using ppjoy, not using auto exposure or manufacturers software.  The web cam has built-in led lighting.

    I do not profess to know much about about the inner workings and only have a small programming knowledge so forgive me if I'm talking rubbish.  I noticed on the FaceTrackNoIR program on the left, where the current positions are displayed, the x,y,z values remain pretty much steady (when I do not move obviously) but the rotx, roty, rotz are flicking around like crazy.  The values seem to move +-2 from actual position. 

    Could you get Facetrack to ignore input till it exceeds that +-2 (or more) and make that adjustable?  You could make that configurable on all 3 rot channels.  This would work like the dead zone setting but would work across the entire range of movement.

    I apologise in advance if this is either dumb or already utilised.  If you would like me to do any testing, send screenshots or videos, please let me know, I would be more than happy to offer some input.

    Jim

     
  • Wim Vriend

    Wim Vriend - 2011-01-11

    Hello Jim,

    Thanks for your feedback and your ideas on how to improve the program: they are certainly not dumb!
    You are right: when keeping your head still, the input still varies quite a bit. Making thresholds like you suggested is indeed something I have tried and to some extend it works. But it also makes movement 'sticky'.

    I am currently in contact with an audio-expert, who wants to help me make a better filtering algorithm, that should reduce lag and still improve stability when not moving. We are working on it!

    Wim

     
  • Fabiano Souza

    Fabiano Souza - 2017-01-12

    im' running in a i5 5200 cpu 2.20 Ghz
    8gb Ram
    Playstation eye
    with W10.
    When i start facetrack take control of 30% of my cpu.

    My question is, if i buy the 2.0 version i'll be better to my cpu?

     
  • Wim Vriend

    Wim Vriend - 2017-01-12

    Hello Fabiano,

    I expect you are using faceAPI? That tracker was not changed compared to v170, so I do not expect any improvement there.

    30%? That's a lot and it sounds strange to me. Is the light good? Most of the tracking power is required to find your face in the image. The better the light, the easier the tracking!

    You can also try running the facetracker on one PC and send the data to your gaming PC, using the FaceTrackNoIR UDP protocol and tracker.

     
  • sf4JC

    sf4JC - 2017-01-22

    Hello Fabiano, I have not had much time yet with my PS3Eye's to see if there is in the menu something to the effect of "Low Light Compensation", but if there is (like my Microsoft LifeCam), you will need it unchecked. I noticed when it was on that the FPS were under 15 and the CPU usage was up and down between 31% to 41%. Normally that webcam will fuction at 30FPS and CPU usage from 12% to 18% but basically averages out to 15%.

    Scott

     

Log in to post a comment.