ContinueTracking() fails on slow face movement RRS feed

  • Question

  • Hi,

    the problem we are facing right now can be best reproduced as follows:

    - use the FaceTrackingVisualization C++ sample

    - set a break point in FTHelper::CheckCameraInput() whenever the StartTracking() is called (in other words the previous track was not successful)

    - start the sample and skip the break point until your face is properly tracked

    Now, rotate your head very, very (!) slow. You will notice that the tracking does not update and at some point the tracking will fail. The StartTracking is called and the position updates again.

    This would not be drastic but we are developing an app where a mouse cursor is controlled with the face tracking. This behaviour makes slight movements impossible and leads to a "jump" of the cursor, when the position finally updates.

    We have tried using StartTracking() all the time but then the position varies a lot each frame. Are there any other solutions?



    Monday, August 5, 2013 3:26 PM

All replies

  • The only option is to call StartTracking in the event Continue fails. Given that, have you looked into a scaling the movements down and using a Lerp to smooth out the movement? 

    Carmine Sirignano - MSFT

    Monday, August 5, 2013 6:37 PM
  • Hi,

    thank you for you reply.

    Of course we have already introduced several strategies to improve the precision of the pointer. This includes smoothing (average over prev. x samples) and a lerp to be independent from the camera sampling frq.

    The problem is though, that StartTracking() alters the mapping of the tracking points in the face. In an absolute mapping scenario this will always lead to a "jump" of the cursor.

    It seems that this Problem does not (or less occur) with the 1280x960 resolution, but then we only got 12fps. (Can't wait to get my hands on the Kinect ONE ;)



    Wednesday, August 7, 2013 8:20 AM
  • Just to gather more details, what distances are the users away from the sensor?

    Carmine Sirignano - MSFT

    Friday, August 9, 2013 4:42 PM
  • Hi,

    current sensor settings are:

    <ENTRY id="Kinect.NearMode">true</ENTRY>
    <ENTRY id="Kinect.SeatedSkeleton">false</ENTRY>
    <ENTRY id="Kinect.FallBackToDefault">true</ENTRY>
    <ENTRY id="Kinect.DepthResolution">640x480</ENTRY>
    <ENTRY id="Kinect.VideoType">RGB</ENTRY>
    <ENTRY id="Kinect.VideoResolution">640x480</ENTRY>
    <ENTRY id="Kinect.TiltAngle">-2</ENTRY>

    Using a Kinect for Windows btw. The user is about 80 to 100 cm (~35 inch) away from the camera.



    Sunday, August 11, 2013 12:55 PM
  • The minimum distance for Kinect depth distance is 400mm in near mode/800mm for default.

    Carmine Sirignano - MSFT

    Monday, August 26, 2013 8:55 PM