Outils pour utilisateurs

Outils du site


yolo_avec_mes_propres_images

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
yolo_avec_mes_propres_images [2019/03/14 15:54] – [YOLO avec mes propres images] sergeyolo_avec_mes_propres_images [2020/12/27 15:08] (Version actuelle) serge
Ligne 1: Ligne 1:
-====== YOLO with my own dataset ====== +====== Yolo Darknet Préparation de mes propres images ====== 
-<WRAP center round box 80% centeralign> +<WRAP center round box 60% centeralign> 
-**{{tagpage>semaphore|Sémaphores}}**  ....  **{{tagpage>bge|Blender Game Engine}}** ....  **{{tagpage>ia|Intelligence Artificielle}}**+**{{tagpage>ia|Intelligence Artificielle}}**     **[[http://translate.google.com/translate?hl=&sl=auto&tl=en&u=https%3A%2F%2Fressources.labomedia.org%2Fyolo_avec_mes_propres_images|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 center round box 80% centeralign> +<WRAP center round box 60% centeralign> 
-**Cette page teste YOLO de [[computer_vision_and_pattern_recognition_segmentation_d_image#mask_r-cnn_vs_yolo_vs_deeplab_xception|MASK R-CNN vs YOLO vs Deeplab Xception]]**+**{{tagpage>semaphore|Sémaphores}}**  ....  **{{tagpage>bge|Blender Game Engine}}**
 </WRAP> </WRAP>
 +
 +<WRAP center round box 60% centeralign>
 +C'est quoi un sémaphore ?
 +{{ youtube>F3sY6_fOx2I?medium }}
 +{{ media_05:chappe.jpeg?400 }}
 +
 +//**[[:computer_vision_and_pattern_recognition_segmentation_d_image#mask_r-cnn_vs_yolo_vs_deeplab_xception|MASK R-CNN vs YOLO vs Deeplab Xception]]**//\\
 +</WRAP>
 +
 +
 +
  
 =====Création du set d'apprentissage===== =====Création du set d'apprentissage=====
-**C'est la partie la plus facile pour un pro de l'image et de la couleurc'est moi --> applaudissement !!** LOL+Nos images sont des images du **[[:jeu_du_semaphore_dans_le_blender_game_engine|sémaphore]]** 
 +====Les sources sur GitHub==== 
 +  * **[[https://github.com/sergeLabo/semaphore_cv_yolo|semaphore_cv_yolo]]**
 ====Création de 27 images pour 27 classes d'objets avec un canal alpha===== ====Création de 27 images pour 27 classes d'objets avec un canal alpha=====
-Avec Blender et par un homo-sapiens +  * Avec Blender et par un homo-sapiens 
-Taille 40x40  +  Taille 320x320  
-Images en violet sur alpha, avec un sémaphore qui occupe toute l'image.+  Images en violet sur alpha, avec un sémaphore qui occupe toute l'image. 
 Exemple pour le a: Exemple pour le a:
-{{ :2019_03:a_violet.png?200 |a}}+{{ media_01:a_violet.png?200 |a}} 
 Les images sorties de Blender n'ont pas de canal alpha: passage dans Gimp pour faire un couleur (blanc) vers alpha. Il ne doit donc pas y avoir de blanc (ou de gris) dans la couleur du sémaphore ! Les images sorties de Blender n'ont pas de canal alpha: passage dans Gimp pour faire un couleur (blanc) vers alpha. Il ne doit donc pas y avoir de blanc (ou de gris) dans la couleur du sémaphore !
  
-====70.000 images créées avec OpenCV==== +Puis les images sont retaillées pour contenir au plus près les sémaphores.
-Images: 1024x1024+
  
-En insérant une des images ci-dessus sur un shot d'une video, avec variation taille position flou du sémaphore, +====60 000 images 640x640 créées avec OpenCV==== 
- +===Images=== 
-et en créant un fichier image.txt pour chaque image.png dans le même dossier, exemple: +En insérant une des images ci-dessus sur un shot d'une video, avec variation taille position couleur flou du sémaphore.Une image: 
-  shot_68000_n.txt pour shot_68000_n.png+{{ media_01:shot_0_a.jpg?400 |}} 
 +===Fichier txt localisant le ou les objets dans l'image=== 
 +Créer un fichier image.txt pour chaque image.png dans le même dossier, exemple: 
 +  shot_680_n.txt pour shot_680_n.png
 Pour chaque fichier *.txt Pour chaque fichier *.txt
   <object-class> <x> <y> <width> <height>   <object-class> <x> <y> <width> <height>
Ligne 41: Ligne 61:
   0 0,40625 0,43752 0,625 0,625   0 0,40625 0,43752 0,625 0,625
      
-===Exemple=== 
-{{ :2019_03:yolo_0_a.png?400 |}} 
  
-=====YOLO Darknet avec mes propres images===== 
-Nos images sont des images du **[[jeu_du_semaphore_dans_le_blender_game_engine|sémaphore]]** 
- 
-Nous allons créer 27 classes des 27 lettres possibles.  
- 
-====Quel YOLO ?==== 
-  * **[[https://pjreddie.com/darknet/|Le projet YOLO]]** 
-  * **[[https://github.com/pjreddie/darknet|pjreddie/darknet]]** les sources de YOLO darknet 
-  * **[[https://medium.com/@manivannan_data/how-to-train-yolov3-to-detect-custom-objects-ccbcafeb13d2|Détection avec YOLO v3]]** 
-  * **[[https://medium.com/@manivannan_data/how-to-train-yolov2-to-detect-custom-objects-9010df784f36|Détection avec YOLO v2]]** pour construire le dataset. L'auteur colle son logo dans des images du monde réel. 
- 
-====Implementations possibles==== 
-  * **[[https://pjreddie.com/darknet/|Darknet]]** Implémentation "officielle" 
-  * **[[https://github.com/AlexeyAB/darknet|AlexeyAB/darknet]]** Fork du précédent, bien pour sa doc 
-  * **[[https://github.com/thtrieu/darkflow/|Darkflow]]** Plus rapide que darknet mais pas de YOLO V3. C'est très bien pour commencer ! 
- 
-=====Darknet===== 
-  * **[[https://github.com/AlexeyAB/darknet|Darknet de AlexeyAB sur GitHub]]** 
- 
-====Dépendances==== 
-Sur Debian 10 Buster avec NVIDIA Corporation GK106M [GeForce GTX 765M] et Bumblebee 
-  * CMake >= 3.8 for modern CUDA soit cmake 3.13.4-1 
-  * CUDA 10.0: https://developer.nvidia.com/cuda-toolkit-archive (on Linux do Post-installation Actions) 
-  * OpenCV < 4.0 sudo pip3 install opencv-python==3.4.5.20 
-  * cuDNN >= 7.0 for CUDA 10.0 https://developer.nvidia.com/rdp/cudnn-archive On Linux in .bashrc-file 
-  * GPU with CC >= 3.0: https://en.wikipedia.org/wiki/CUDA#GPUs_supported    
-  * GCC or Clang 
- 
-====Compilation==== 
-===Modification des options dans Makefile Sans GPU=== 
-<code> 
-    GPU=0 
-    CUDNN=0 
-    CUDNN_HALF=0 
-    OPENCV=1 
-    DEBUG=0 
-    OPENMP=1 
-    LIBSO=1 
-</code> 
- 
-===make=== 
-Dans le dossier darknet 
-  make 
- 
-===Run test=== 
-  ./darknet detector test ./cfg/coco.data ./cfg/yolov3.cfg ./yolov3.weights 
- 
-=====Training avec les images du sémaphore===== 
-  * **[[https://medium.com/@manivannan_data/how-to-train-multiple-objects-in-yolov2-using-your-own-dataset-2b4fee898f17|How to train multiple objects in YOLOv2 using your own Dataset]]** 
-  * **[[https://medium.com/@manivannan_data/how-to-train-yolov3-to-detect-custom-objects-ccbcafeb13d2|How to train YOLOv3 to detect custom objects]]** 
- 
-====Création des fichiers test.txt et train.txt==== 
-avec le script create_train_test_txt.py 
- 
- 
- 
- 
- 
-===== DARKFLOW ===== 
-==== Avec ou sans GPU==== 
-  * **[[https://medium.com/@monocasero/object-detection-with-yolo-implementations-and-how-to-use-them-5da928356035|Détection d'objet avec YOLO]]** implémentations et comment les utiliser avec ses propres données: [[https://github.com/thtrieu/darkflow/|darkflow sur GitHub]] 
-====Dépendances==== 
-Sur debian 10 buster 
-Requis: 
-  * python 3.7 
-  * tensorflow 1.0 
-  * opencv 3 
- 
-  sudo pip3 install tensorflow 
-  sudo pip3 install numpy 
-  sudo pip3 install opencv 
-  sudo pip3 install  pytest 
-   
-Version: 
-  * tensorflow 1.13.1 
-  * opencv 4.0.0 
  
-====Bazar ==== 
-===1=== 
-Chemins relatifs depuis le dossier root des sources 
  
-Dans le fichier flow, corriger python en python3 
-  #! /usr/bin/env python3 
-===2=== 
-Les labels doivent être dans un format "annotation" !! 
  
-===3=== +=====Les étapes suivantes===== 
-  * **Pour la suite, rien n'est bien expliqué !!** +  * **[[yolo_sans_carte_graphique|Yolo Darknet sans carte graphique]]** 
-  * structure des dossiers, des fichiers ...+  * **[[yolo_darknet_sur_un_portable_optimus|Yolo Darknet sur un portable Optimus]]**
  
-{{tag>ia semaphore}}+{{tag> ia sb semaphore yolo_darknet }}
yolo_avec_mes_propres_images.1552578890.txt.gz · Dernière modification : 2019/03/14 15:54 de serge