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/22 07:31] – [Les normes COCO et MPI] 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:
-====== Pose Estimation ou 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>
  
Ligne 13: Ligne 9:
 </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 pour les visualisent dans Blender, les exploiter dans PureData ou autre ....** +====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** Je n'ai pas trouvé le gagnant :?:+
  
-===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> 
- 
-<WRAP group> 
-<WRAP half column> 
-{{:media_14:skeleton_kinect.png?200|}}\\ 
-Un squelette de kinect. 
-</WRAP> 
-<WRAP half column> 
-{{:media_14:os_articulations.png?170|}} 
-Un squelette COCO. 
-</WRAP> 
-</WRAP> 
- 
- 
-=====OpenCV blobFromImage===== 
-  * **[[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. 
- 
-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. 
 {{ :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**. 
- 
  
-====Capture avec RealSense D455, Caffe Model et OpenCV====+===== Capture avec RealSense D455 =====
   * [[https://ressources.labomedia.org/intel_realsense|Installation de 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/rs_gpu.py|rs_gpu.py]]**+  * [[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]]**
  
 ===Sans GPU, avec CPU=== ===Sans GPU, avec CPU===
Ligne 85: Ligne 32:
  
 ===Avec GPU: GTX 1060=== ===Avec GPU: GTX 1060===
-  * [[installation_de_cuda|]] +  * [[compilation_de_oepncv_avec_cuda_sur_ubuntu]] 
   * image = 368*368 FPS = 7   * image = 368*368 FPS = 7
   * image = 184*184 FPS = 15   * image = 184*184 FPS = 15
 La compilation fût laborieuse mais le résultat est bluffant. La compilation fût laborieuse mais le résultat est bluffant.
  
-=====Autres trucs===== +=====Visualisation dans le Blender Game Engine===== 
-===OpenPose=== +  * **[[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/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. +  * **[[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
-   +
-===OPT=== +
-  * **[[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  +
-  *  +
-=====Logiciels propriétaires payants===== +
-===Nuitrack 60 €=== +
-  * [[https://github.com/3DiVi/nuitrack-sdk|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 €=== 
-  * [[skeleton_tracking_de_cubemos_logiciel_proprietaire|]] 
  
-{{tag>opencv python sb ia}}+{{tag> ia opencv python realsense sb skeleton camera3D}}
pose_estimation_avec_opencv.1616398312.txt.gz · Dernière modification : 2021/03/22 07:31 de serge