facealign->get_Quality() *always* HIGH yet facealign->GetAnimationUnits() *all zero* RRS feed

  • Question

  • In all my testing, I have always seen m_pHDFaceAlignments[iFace]->get_Quality(&HDFaceQuality) return with HDFaceQuality == FaceAlignmentQuality_High

    It is never FaceAlignmentQuality_Low
    even when the tracking is still reports high.
    This seems a bug or lack of feature


    When it returns FaceAlignmentQuality_High, I often will have GetAnimationUnits() return hr=S_OK yet all AUs are zero.

    How can I have a high quality align yet have no AUs?
    Also seems a bug or lack of feature.


    Sunday, November 16, 2014 1:55 PM

All replies

  • Thanks Dale, reported to the team.

    Carmine Sirignano - MSFT

    Monday, November 17, 2014 5:49 PM
  • IFaceAlignment::Get_Quality() is only an accessor that returns the state of the value set in IHighDefinitionFaceFrameSource::Put_TrackingQuality.

    This specifically tells the tracker to use the high or low CPU modes.

    Carmine Sirignano - MSFT

    Monday, November 17, 2014 10:53 PM
  • Thank you. I have a request and feedback.

    I request your HDFace PM and doc team please document everything HDFace.
    Reverse-engineering APIs and questioning in forums one method at a time does not help the Kinect platform.
    It is a misuse of my time as I should be able to look at proper documentation for APIs exposed in the header.
    If you want me to sell Windows, Kinect, and your platform, then you need to enable me by providing proper documentation. I appreciate that you (Carmine) are here to answer. Yet, it should be for one-off exceptions. Not for every method in HDFace.

    If your team is not available for proper documentation, I am available for hire. I can write it for you if given access to the right PMs and devs. I am quite familiar with the general Microsoft process.

    The MSDN docs themselves I have given much feedback for Kv1 and Kv2 APIs using the tools in the MSDN footer on those API pages. In many cases, the MSDN docs have not been updated. They continue to be incorrect... one... year... later. I know because I saw the wrong docs when I looked at some Kinectv1 APIs this past week. Yet I know I provided the feedback... and I'm unable to provide more feedback on that page because it knows I already provided feedback on that page.

    It is very discouraging when I use my time to provide MSDN doc feedback to correct mistakes for everyone's benefit. Microsoft provides the ability to collect that feedback yet it isn't acted on. It suggests to me that I *should not* provide such MSDN doc feedback in the future because it will not be acted on and would be a misuse of my time.

    I see now in the header there is a put_TrackingQuality() on IHighDefinitionFaceFrameSource.
    That method's usage and relation to overall HD Face is completely missing from MSDN. There is no mention of a CPU algorithm choice.

    I also see many more methods on IHighDefinitionFaceFrameSource in the header that have doc of limited usefulness.
    put_TrackingQuality: Set the tracking quality
    put_TrackingId: Sets the tracking ID of the high definition face frame source.
    put_FaceModel: Sets the face model for the frame source.

    See the trend? The doc is adding no value beyond the headers. It is taking the method/param names and expanding them to a sentence. No usage. No context. No relation to other APIs/objects.

    And that's just one out of the 12+ HDFace interfaces.


    Tuesday, November 18, 2014 12:10 AM