Rastreamento lateral do esqueleto Kinect

Atualmente estou usando o Microsoft Kinect para medir os ângulos entre as juntas. A maioria das medições está funcionando corretamente. Sempre que uma pessoa está sentada de lado (em uma cadeira), o Kinect não rastreará o esqueleto com precisão. Para ilustrar meu problema, adicionei 3 fotos da visão de profundidade do Kinect.

Como você pode ver, 2 de 3 medições funcionam "corretamente". Sempre que eu levanto minha perna, o Kinect interrompe o rastreamento do esqueleto corretamente. Alguém tem uma solução para este problema, ou isso é apenas uma limitação do Kinect?

Obrigado.

Atualização 1: oJointTrackingState-Enumeration nessas juntas rastreadas mostradas na captura de tela 2 são marcadas comoInferred, no entanto, a visão de profundidade está acompanhando meu corpo inteiro.

Atualização 2: Na captura de tela 2, estou tentando rastrear minha perna da frente, destacada como verde. Eu sei que a outra perna não é rastreada, mas isso não importa, eu acho.

Atualização 3: O código a seguir seleciona um esqueleto:

<code>private Skeleton StickySkeleton(Skeleton[] skeletons)
{
    if (skeletons.Count<Skeleton>(skeleton => skeleton.TrackingId == _trackedSkeletonId) <= 0)
    {
        _trackedSkeletonId = -1;
        _skeleton = null;
    }

    if (_trackedSkeletonId == -1)
    {
        Skeleton foundSkeleton = skeletons.FirstOrDefault<Skeleton>(skeleton => skeleton.TrackingState == SkeletonTrackingState.Tracked);

        if (foundSkeleton != null)
        {
            _trackedSkeletonId = foundSkeleton.TrackingId;
            return foundSkeleton;
        }
    }

    return _skeleton;
}
</code>

Sempre que um esqueleto é rastreado, os dados serão usados ​​para desenhar os pontos de junção e calcular o ângulo entre as juntas.

Atualização 4: Eu testei sentado em um 'bloco', muito mais simplificado do que uma cadeira. Infelizmente o Kinect ainda age da mesma forma.

Abaixo de 2 capturas de tela:

questionAnswers(3)

yourAnswerToTheQuestion