Software Archive
Read-only legacy content

Bug: LandMarkPointSource::alias has value LANDMARK_NOT_NAMED for all face landmarks (SDK v10)

hape
Beginner
392 Views

Hi everybody,
I recently noticed an undocumented API/Documentation breaking change in the Realsense SDK v10.

The face landmarks can be obtained by calling one of the functions QueryPoints(...) or QueryPointsByGroup() of an instance of PXCFaceData::LandmarksData. Both have a pointer argument to an array of element type PXCFaceData::LandmarkPoint provided by the caller where the function stores the result.

In some situations one wants to copy the landmark coordinates to other data structures. Therefore one can loop through the array and check the entry source of type PXCFaceData::LandmarkPointSource which contains (beside other entries) and entry called alias of type enum LandmarkType indicating a specific landmark point. For example the nose tip has value LandmarkType::LANDMARK_NOSE_TIP - at least until SDKv8 or earlier.

Since SDKv10, the source value of all landmarks has the value LandmarkType::LANDMARK_NOT_NAMED, which is according to the documentation, only a placeholder for those landmarks which do not have a particular enum LandmarkType value.

I observed this behavior on two i5 computers running Windows 10 Pro 64 Bit and the latest SDKv10 installed and therefore think that this is a bug.

Furthermore, it is stated in the documentation [1]: "Do not hard-code the index value as the supported number of points might change."

Therefore a workaround could be to map the LandMarktype to the index with the function QueryPointIndex(lm_type) and then access the appropriate index in the array directly. However, this does not work for data obtained by calling the QueryPointsByGroup() function. Here one needs to loop through the array and compare the source.index values to the index of interest - this would of course work also for the data obtained by QueryPoints().

Happy coding :)

hape

[1] https://software.intel.com/sites/landingpage/realsense/camera-sdk/v1.1/documentation/html/index.html?landmarkpointsource_pxcfacedata.html

0 Kudos
3 Replies
AndreCarlucci
Beginner
392 Views

Hello,

This problem is also happening with me, it broke SharpSenses :(

Any plans to fix that?

Cheers!

0 Kudos
AndreCarlucci
Beginner
392 Views

If anybody have the same problem, here is an example of the workaround proposed by @hape.

https://github.com/SharpSenses/SharpSenses/blob/master/SharpSenses.RealSense/Capabilities/FaceCapability.cs

 

0 Kudos
Gal_A_Intel
Employee
392 Views

Hi Andre and hape,

Thank you for reporting this bug, we will check it asap.

Best Regards,

Gal Avraham,

Intel Corporation

0 Kudos
Reply