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/07/05 07:50] – [Pose Estimation ou Détection d'un squelette dans une image] 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 80% centeralign>
-**{{tagpage>realsense|Toutes les pages sur les capteurs Intel RealSense et Cubemos}}**    **[[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]]** +**{{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]]**
-</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 |}}
-=====Des collections de données, des concours===== +
-====Principes==== +
-  * **[[https://opencv.org/|OpenCV.org]]**  +
-  * **[[https://opencv.org/opencv-ai-competition-2021/#phase1-winners-list|OpenCV AI Competition]]** Un concours est en cours en Mars 2021 +
-  * **[[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 +
- +
-====Data Sets==== +
-===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 :?: +
- +
-===MPI 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==== +
-Un squelette de kinect et COCO MPI Keypoints\\ +
-{{:media_14:skeleton_kinect.png?200|}} +
-{{:media_14:coco-mpi-keypoints.png?600|}} +
- +
- +
-=====Solutions matérielles et logicielles===== +
-  * https://towardsdatascience.com/nvidia-jetson-nano-vs-google-coral-vs-intel-ncs-a-comparison-9f950ee88f0d It is evident from the latency point of view, Nvidia Jetson Nano is performing better ~25 fps as compared to ~9 fps of google coral and ~4 fps of Intel NCS. +
-  * https://techterms.com/definition/blob +
-  * https://en.wikipedia.org/wiki/Binary_large_object +
-  * https://fr.wikipedia.org/wiki/Binary_large_object Le BLOB, pour binary large object, est un type de donnée permettant le stockage de données binaires (le plus souvent des fichiers de type image, son ou vidéo) dans le champ d'une table d'une base de données.  +
-  * +
 =====OpenCV blobFromImage===== =====OpenCV blobFromImage=====
 ====La documentation==== ====La documentation====
Ligne 57: Ligne 20:
   * **[[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.   * **[[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 de [[http://caffe.berkeleyvision.org/model_zoo.html|caffe.berkeleyvision.org]]\\ +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]]
-Les models sont trouvable à: [[https://www.kaggle.com/changethetuneman/openpose-model|kaggle.com model_zoo]] +
-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 |}} +
-  * [[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**.+
  
 +{{ :media_14:output-skeleton_pinup.jpg?80 |}}
  
-====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/realsense_detect_skeleton.py|realsense_detect_skeleton.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]]**
Ligne 72: 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.
  
-=====Détection de squelette avec capteur RealSense et visualisation dans le Blender Game Engine=====+=====Visualisation dans le Blender Game Engine=====
   * **[[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/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/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   * **[[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
  
- 
-=====Kinect V2===== 
-Capture du personnage et envoi du skeleton en OSC avec [[https://ni-mate.com/|NImate de Delicode]], logiciel propriétaire, utilisation possible sans Licence mais avec des limitations (un seul squellette ...) 
- 
-{{ :media_14:nimate.png?600 |}} 
- 
-Réception des messages osc avec oscpy dans Blender BGE 2.79b 
-{{ :media_14:kinect_osc_1.png?600 |}} 
-====Addons pour Blender==== 
-[[https://ni-mate.com/download/|animation_delicode_ni_mate_tools_279.py]] 
- 
- 
- 
- 
- 
- 
-=====Autres trucs===== 
-===OpenPose=== 
-Utilise les caffemodel identique à ceux de OpenCV !! 
-  * **[[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. 
-   
-===OPT=== 
-Pas d'API python: 
-  * **[[http://openptrack.org/overview-3d-skeleton-tracking-pose-recognition-with-opt/|3D Skeleton Tracking & Pose Recognition with OPT]]** @ openptrack.org  
-  * [[https://github.com/OpenPTrack/open_ptrack_v2/wiki|OpenPTrack wiki]] 
-  * The pose recognition module comes with a set of 3 pre-recorded poses 
- 
-=====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> ia opencv python realsense sb skeleton camera3D}} {{tag> ia opencv python realsense sb skeleton camera3D}}
pose_estimation_avec_opencv.1625471445.txt.gz · Dernière modification : 2021/07/05 07:50 de serge