Outils pour utilisateurs

Outils du site


pose_estimation_avec_opencv

Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentesRévision précédente
Prochaine révision
Révision précédente
detection_d_un_squelette_dans_une_image [2021/03/18 10:51] – [OpenCV] sergepose_estimation_avec_opencv [2021/12/14 09:19] (Version actuelle) – ↷ Liens modifiés en raison d'un déplacement. serge
Ligne 1: Ligne 1:
-====== Détection d'un squelette dans une image ====== +====== Pose Estimation avec OpenCV====== 
- +<WRAP center round box 80% centeralign> 
-<WRAP center round box 60% centeralign> +**{{tagpage>skeleton camera3D|Les pages sur les caméras 3D et la détection de squelette}}**     **[[http://translate.google.com/translate?hl=&sl=auto&tl=en&u=https%3A%2F%2Fressources.labomedia.org%2Fpose_estimation_avec_opencv|English Version]]**
-**{{tagpage>ia|Intelligence Artificielle}}**     **[[http://translate.google.com/translate?hl=&sl=auto&tl=en&u=https%3A%2F%2Fressources.labomedia.org%2Fdetection_d_un_squelette_dans_une_image|English Version]]** +
-</WRAP> +
-<WRAP center round box 60% centeralign> +
-**[[les_pages_intelligence_artificielle_en_details|Les Pages Intelligence Artificielle en détails]]**+
 </WRAP> </WRAP>
  
 <WRAP group> <WRAP group>
 <WRAP> <WRAP>
-{{ :media_14:output-skeleton_pinup.jpg?400 |Une pin-up pour vendre le tuto !}}+{{ :media_14:output-skeleton_pinup.jpg?200 |Une pin-up pour vendre le tuto !}}
 </WRAP> </WRAP>
 <WRAP centeralign> <WRAP centeralign>
-Une pin-up pour vendre le tuto !+Une pin-up pour promouvoir le tuto !
 </WRAP> </WRAP>
 </WRAP> </WRAP>
 +{{ :media_15:img_0005.jpg?600 |}}
 +=====OpenCV blobFromImage=====
 +====La documentation====
 +  * **[[https://docs.opencv.org/4.5.1/d6/d0f/group__dnn.html#ga29f34df9376379a603acd8df581ac8d7|blobFromImage()]]** à docs.opencv.org
  
-**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.** +====Exemple==== 
-=====Des collections de données, des concours===== +  * **[[https://learnopencv.com/deep-learning-based-human-pose-estimation-using-opencv-cpp-python/|Deep Learning based Human Pose Estimation using OpenCV]]** @ learnopencv.com et le [[https://github.com/spmallick/learnopencv/tree/master/OpenPose|OpenPose github.com/spmallick]] L'article et le code python pour tester.
-====Principes==== +
-  * **[[https://opencv.org/|OpenCV.org]]** [[https://opencv.org/opencv-ai-competition-2021/#phase1-winners-list|OpenCV AI Competition]] +
-  * **[[https://www.tensorflow.org/|TensorFlow.org]]** +
-  * Réseau de neurones: **[[https://fr.wikipedia.org/wiki/R%C3%A9seau_de_neurones_r%C3%A9currents|RNN]]** @fr.wikipedia.org +
-  * Convolution: **[[https://fr.wikipedia.org/wiki/R%C3%A9seau_neuronal_convolutif|CNN]]** @fr.wikipedia.org +
-====Des datas==== +
-  * **[[https://en.m.wikipedia.org/wiki/List_of_datasets_for_machine-learning_research|List of datasets for machine-learning research]]** @ wikipedia.org+
  
-====Projets==== +Il faut télécharger les Model Weights: ce sont des *.caffemodel de GoogLeNet trained network de [[http://caffe.berkeleyvision.org/model_zoo.html|caffe.berkeleyvision.org]] téléchargeable à: [[https://www.kaggle.com/changethetuneman/openpose-model|kaggle.com model_zoo]]
-===COCO=== +
-  * [[https://cocodataset.org/#home|Common Object in Context]]COCO is a large-scale object detection, segmentation, and captioning dataset. +
-  * [[https://cocodataset.org/#keypoints-2019|COCO 2019 Keypoint Detection Task]] **Le concours de détection de squelette**+
  
-===MPII Human Pose=== 
-  * [[http://human-pose.mpi-inf.mpg.de/|human-pose du Max Plant Institut]] 
- 
-===Human Pose Evaluator Dataset === 
-  * [[https://www.robots.ox.ac.uk/~vgg/data/pose_evaluation/|MPII Human Pose dataset is a state of the art benchmark for evaluation of articulated human pose estimation]] 
- 
-====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 
- 
-  * [[https://github.com/kunjshah2511/Human-Pose-Estimation/blob/master/Image_Pose/Image_Pose.py|Image_Pose.py]] @ github.com/kunjshah2511\\ 
-Les points sont les articulations. Les os sont définis par des couples de points. Facile 8-) 
-<code python> 
-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]] 
-</code> 
-Cubemos utilise le MODE COCO. 
- 
- 
-=====OpenCV===== 
-  * **[[https://medium.com/analytics-vidhya/human-pose-estimation-using-deep-learning-using-opencv-9d8edd5e8879|Human Pose Estimation using OpenCV in Deep Learning]]** @ medium.com/analytics-vidhya un Tuto 
-  * **[[https://learnopencv.com/deep-learning-based-human-pose-estimation-using-opencv-cpp-python/|Deep Learning based Human Pose Estimation using OpenCV]]** @ learnopencv.com et le [[https://github.com/spmallick/learnopencv/tree/master/OpenPose|OpenPose @ github.com/spmallick]] L'article utilisé avec le code python pour tester 
-Il faut télécherger les Model Weights, 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. 
 {{ :media_14:output-skeleton_pinup.jpg?80 |}} {{ :media_14:output-skeleton_pinup.jpg?80 |}}
-  * [[https://www.pyimagesearch.com/2017/11/06/deep-learning-opencvs-blobfromimage-works/|Deep learning: How OpenCV’s blobFromImage works]] Explications détaillées de la théorie et de l'utilisation de OpenCV **blobFromImage**. 
-  
-====Caffe Model==== 
- 
  
 +===== Capture avec RealSense D455 =====
 +  * [[https://ressources.labomedia.org/intel_realsense|Installation de RealSense D455]]
 +  * [[https://github.com/sergeLabo/rs-opencv|rs-opencv]] les sources sur GitHub. premier essai avec **[[https://github.com/sergeLabo/rs-opencv/blob/main/realsense_detect_skeleton.py|realsense_detect_skeleton.py]]**
  
-====OpenPose===+===Sans GPU, avec CPU=== 
-Voir à quoi cà sert +Marche bien mais le FPS 0.7 sur mon portable avec les 4 CPU à fondnormal les **fichiers de poids font 200 Mo**, c'est beaucoup trop m(
-  * **[[https://github.com/CMU-Perceptual-Computing-Lab/openpose|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. +
-  * **[[http://openptrack.org/overview-3d-skeleton-tracking-pose-recognition-with-opt/|3D Skeleton Tracking & Pose Recognition with OPT]]** @ openptrack.org A voir pour Pose Recognition +
  
 +===Avec GPU: GTX 1060===
 +  * [[compilation_de_oepncv_avec_cuda_sur_ubuntu]] 
 +  * image = 368*368 FPS = 7
 +  * image = 184*184 FPS = 15
 +La compilation fût laborieuse mais le résultat est bluffant.
  
-=====Ressources propriétaires payantes===== +=====Visualisation dans le Blender Game Engine===== 
-===Nuitrack 60 €=== +  * **[[https://github.com/sergeLabo/skeleton-rs|skeleton-rs @ github.com/sergeLabo]]** Détection de squelette avec capteur RealSense pour visualisation dans le Blender Game Engine 
-  * [[https://github.com/3DiVi/nuitrack-sdk|Nuitrack™]] is a 3D tracking middleware developed by 3DiVi IncThis is a solution for skeleton tracking and gesture recognition that enables capabilities of Natural User Interface (NUI) on Android, Windows, and Linux.+  * **[[https://github.com/sergeLabo/skeleton-blender|skeleton-blender @ github.com/sergeLabo]]** Visualisation dans le Blender Game Engine de la Détection de squelette avec capteur RealSense et OpenCV
  
-===Cubemos 75 €=== 
-  * [[skeleton_tracking_de_cubemos_logiciel_proprietaire|]] 
  
-{{tag>opencv python sb ia}}+{{tag> ia opencv python realsense sb skeleton camera3D}}
pose_estimation_avec_opencv.1616064672.txt.gz · Dernière modification : 2021/03/18 10:51 de serge