Hand and Face Pose Estimation
Hand Pose Estimation と Face Landmark Estimation は、whole-body pose の中でも特に細かい領域を扱う task です。Gesture、sign language、avatar、AR filter、expression capture で重要です。
Hand pose
Hand pose では、手首と各指の関節を推定します。一般的な hand skeleton は、手首を含む 21 keypoints で表されます。
難しさは次の通りです。
- 指同士の occlusion が多い。
- 小さな領域に多くの keypoint が密集している。
- 左右の手の識別が必要。
- Hand-object interaction では object に隠れやすい。
Face landmark
Face landmark は、目、眉、鼻、口、輪郭などの keypoint を推定します。用途に応じて 68 点、98 点、468 点など、さまざまな landmark 定義があります。
Face pose では、expression、head pose、gaze、identity-preserving reconstruction なども関係します。
3D hand / face
2D landmark だけでなく、3D mesh や parametric model を推定する方法も重要です。
- Hand: MANO のような parametric hand model
- Face: 3D Morphable Model (3DMM)、FLAME など
これらは avatar や motion capture でよく使われます。
3D Reconstruction との接続
Hand / face pose は、人間中心の 4D Reconstruction に直接関係します。Body pose だけでは、表情や手の動きが失われるため、realistic avatar には hand と face の高精度推定が必要です。
数式で見る fine-grained keypoint estimation
Hand や face の pose estimation では、非常に近接した keypoint を高精度に推定する必要があります。2D keypoint を 、予測を とすると、基本的な reprojection loss は次のように書けます。
ここで、 は annotation confidence や visibility です。この式の気持ちは、「見えていて信頼できる keypoint ほど強く合わせ、隠れている点や曖昧な点の影響は弱める」というものです。
3D hand pose では、bone length の一貫性も重要です。Joint と parent の距離を bone length とすると、次のような regularization を入れられます。
は標準的な bone length です。これにより、関節位置だけを独立に合わせるのではなく、手や顔として自然な形を保ちやすくなります。
関連ページ
主なソース
- MediaPipe Hands: https://developers.google.com/mediapipe/solutions/vision/hand_landmarker
- MediaPipe Face Landmarker: https://developers.google.com/mediapipe/solutions/vision/face_landmarker
- MANO hand model: https://mano.is.tue.mpg.de/
- FLAME face model: https://flame.is.tue.mpg.de/