There was a bug in the metrics that caused the heatmap generation and hence the metric to fail for d=1 if the keypoints were annotated as floats.
This is now fixed by casting keypoints to the top-left (zero-index as in COCO) keypoint before training.
make sure keypoints are cast to zero-indexed integers before training
make sure heatmaps are centered on that pixel
make sure the AP for d=0 (i.e pixel-perfect keypoints) goes up to 1 for a dummy dataset (integration testing)
There was a bug in the metrics that caused the heatmap generation and hence the metric to fail for d=1 if the keypoints were annotated as floats. This is now fixed by casting keypoints to the top-left (zero-index as in COCO) keypoint before training.