手と「プレイヤーの体」の間の距離を評価する必要があるアルゴリズムでこの情報を使用するために、Kinect センサーによって撮影されたシーンでプレイヤーの深度位置を推定したいと考えています。この場合、「プレーヤーの体」の概念は、プレーヤーの深さの位置を表す値に変換できます (それが私が探しているものです)。
明らかに、人は空間のボリュームを占めるため、シーン内のプレーヤーの正確な位置を定義することは不可能です。
私が知りたいのは、スケルトン データを使用して、人物のおおよその奥行き位置を計算するためのベスト プラクティスは何ですか?
次のコードで試しました:
Skeleton playerSkeleton = (from s in skeletonData where s.TrackingState == SkeletonTrackingState.Tracked select s).FirstOrDefault();
...
if (playerSkeleton != null)
{
Joint head = playerSkeleton.Joints[JointType.Head];
float averagePlayerPosition = head.Z;
}
上記の方法で、頭の深さを使用してプレーヤーの位置を定義しました。
これは良い選択ですか、それともより良いもの (例:スケルトンのいくつかの点の平均) はありますか? 私の選択が改善可能である場合、より良い代替案を正当化する参考文献はありますか?