Ceci est une ancienne révision du document !
Table des matières
Détection d'un squelette dans une image
Ce sujet est très actuel, un concours a eu lieu en 2019. Nous allons essayer de trouver, construire un projet qui détecterait un squelette, envoie les datas en OSC, les visualisent dans Blender.
Des collections de données, des concours
Principes
Des datas
- List of datasets for machine-learning research @ wikipedia.org
Projets
COCO
- Common Object in Context. COCO is a large-scale object detection, segmentation, and captioning dataset.
- COCO 2019 Keypoint Detection Task Le concours de détection de squelette
MPII Human Pose
Human Pose Evaluator Dataset
Les normes COCO et MPI
COCO Output Format Nose – 0, Neck – 1, Right Shoulder – 2, Right Elbow – 3, Right Wrist – 4, Left Shoulder – 5, Left Elbow – 6, Left Wrist – 7, Right Hip – 8, Right Knee – 9, Right Ankle – 10, Left Hip – 11, Left Knee – 12, LAnkle – 13, Right Eye – 14, Left Eye – 15, Right Ear – 16, Left Ear – 17, Background – 18
MPII Output Format Head – 0, Neck – 1, Right Shoulder – 2, Right Elbow – 3, Right Wrist – 4, Left Shoulder – 5, Left Elbow – 6, Left Wrist – 7, Right Hip – 8, Right Knee – 9, Right Ankle – 10, Left Hip – 11, Left Knee – 12, Left Ankle – 13, Chest – 14, Background – 15
- Image_Pose.py @ github.com/kunjshah2511
Les points sont les articulations. Les os sont définis par des couples de points. Facile
if MODE is "COCO": nPoints = 18 POSE_PAIRS = [[1, 0], [1, 2], [1, 5], [2, 3], [3, 4], [5, 6], [6, 7], [1, 8], [8, 9], [9, 10], [1, 11], [11, 12], [12, 13], [0, 14], [0, 15], [14, 16], [15, 17]] elif MODE is "MPI": nPoints = 15 POSE_PAIRS = [[0, 1], [1, 2], [2, 3], [3, 4], [1, 5], [5, 6], [6, 7], [1, 14], [14, 8], [8, 9], [9, 10], [14, 11], [11, 12], [12, 13]]
Cubemos utilise le MODE COCO.
Ressources libres, open sources, gratuites
- Human Pose Estimation using OpenCV in Deep Learning @ medium.com/analytics-vidhya
- 3D Skeleton Tracking & Pose Recognition with OPT @ openptrack.org A voir pour Pose Recognition
RealSense D455 et OpenCV avec OpenPose
OpenCv etOpenPose
- Deep Learning based Human Pose Estimation using OpenCV @ learnopencv.com et le OpenPose @ github.com/spmallick
- openpose de CMU Perceptual Computing Lab @GitHub: Real-time multi-person keypoint detection library for body, face, hands, and foot estimation with only one camera. Whole-body (Body, Foot, Face, and Hands) 2D Pose Estimation and Whole-body 3D Pose Reconstruction and Estimation.
Test de spmallick
Il faut télécherger les Model Weights, installer OpenCV, tester avec les scripts python: ça marche très bien mais le calcul demande 1,2 seconde sur mon PC sans GPU ! Le résultat est l'image en début d'article.
Ressources propriétaires payantes
Nuitrack 60 €
- Nuitrack™ is a 3D tracking middleware developed by 3DiVi Inc. This is a solution for skeleton tracking and gesture recognition that enables capabilities of Natural User Interface (NUI) on Android, Windows, and Linux.