Outils pour utilisateurs

Outils du site


pose_estimation_avec_opencv

Ceci est une ancienne révision du document !


Détection d'un squelette dans une image

Une pin-up pour vendre le tuto !

Une pin-up pour vendre le tuto !

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

Projets

COCO

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

Les points sont les articulations. Les os sont définis par des couples de points. Facile 8-)

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.

OpenCV

Il faut télécharger les Model Weights: ce sont des *.caffemodel de GoogLeNet trained network from http://caffe.berkeleyvision.org/model_zoo.html Les models sont trouvable à: https://www.kaggle.com/datasets puis installer venv et opencv-python, tester avec le script OpenPoseImage.py: ç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.

OpenPose

Voir à quoi cà sert

  • 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.
  • 3D Skeleton Tracking & Pose Recognition with OPT @ openptrack.org A voir pour Pose Recognition

Capture avec RealSense D455, Caffe Model et OpenCV

mettre sur github

Marche bien mais le FPS = 0.7 sur mon portable avec les 4 CPU à fond: normal les fichiers de poids font 200 Mo m(

Logiciels propriétaires payants

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.

Cubemos 75 €

pose_estimation_avec_opencv.1616082210.txt.gz · Dernière modification : 2021/03/18 15:43 de serge