Outils pour utilisateurs

Outils du site


yolo_darknet_avec_un_vrai_semaphore

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édentes Révision précédente
Prochaine révision
Révision précédente
yolo_darknet_avec_un_vrai_semaphore [2019/06/25 15:57]
serge [Installation si elle n'a pas été faite pour l'apprentissage]
yolo_darknet_avec_un_vrai_semaphore [2020/10/05 12:39] (Version actuelle)
serge ↷ Liens modifiés en raison d'un déplacement.
Ligne 3: Ligne 3:
 **{{tagpage>semaphore|Sémaphores}}**  ....  **{{tagpage>bge|Blender Game Engine}}** ....  **{{tagpage>ia|Intelligence Artificielle}}** **{{tagpage>semaphore|Sémaphores}}**  ....  **{{tagpage>bge|Blender Game Engine}}** ....  **{{tagpage>ia|Intelligence Artificielle}}**
 </WRAP> </WRAP>
-<WRAP center round box 60% centeralign>+ 
 +<WRAP group> 
 +<WRAP half column> 
 +<WRAP center round box 95% centeralign>
 C'est quoi un sémaphore ? C'est quoi un sémaphore ?
 {{ youtube>F3sY6_fOx2I?medium }} {{ youtube>F3sY6_fOx2I?medium }}
-{{ :chappe.jpeg?400 }}+{{ media_05:chappe.jpeg?400 }}
 </WRAP> </WRAP>
-\\ \\  +</WRAP> 
-<WRAP center round box 60% centeralign>+ 
 +<WRAP half column> 
 +<WRAP center round box 95% centeralign>
 //**Reconnaissance d'un vrai sémaphore avec YOLO Darknet**//\\ //**Reconnaissance d'un vrai sémaphore avec YOLO Darknet**//\\
 </WRAP> </WRAP>
-<WRAP center box 60% centeralign>{{ :2019_05:shot_106_y.png?600 |}} +{{ media_03:shot_106_y.png?400 |}} 
-Ce sémaphore est une image virtuelle, mais c'est copie conforme du vrai !+Ce sémaphore est une image virtuelle ! 
 +</WRAP>
 </WRAP> </WRAP>
- 
  
 =====Suite et fin===== =====Suite et fin=====
-De **[[y:yolo_darknet_sur_un_portable_optimus|Yolo Darknet sur un portable Optimus]]**+De **[[yolo_darknet_sur_un_portable_optimus|Yolo Darknet sur un portable Optimus]]**
  
 Un sémaphore a été construit dans le monde réel avec des pièces réalisées sur Imprimante 3D. Un sémaphore a été construit dans le monde réel avec des pièces réalisées sur Imprimante 3D.
Ligne 27: Ligne 32:
 Par contre, le BGE ne permet une sortie d'image qu'en png. Il faut les convertir en jpg et les flouter en convolutive. Par contre, le BGE ne permet une sortie d'image qu'en png. Il faut les convertir en jpg et les flouter en convolutive.
  
 +=====Les sources sur GitHub=====
 +  * **[[https://github.com/sergeLabo/semaphore_blend_yolo|semaphore_blend_yolo]]**
 =====Installation===== =====Installation=====
 Voir Voir
-  * [[y:yolo_darknet_sur_un_portable_optimus#installation_de_cuda_100_sur_xubuntu_1804|Cuda]] +  * [[yolo_darknet_sur_un_portable_optimus#installation_de_cuda_100_sur_xubuntu_1804|Cuda]] 
-  * [[y:yolo_darknet_sur_un_portable_optimus#installation_de_yolo_darknet|Darknet]]+  * [[yolo_darknet_sur_un_portable_optimus#installation_de_yolo_darknet|Darknet]]
  
 Blender 2.79b mais pas 2.80 qui n'a plus de BGE. Sur Xubuntu 18.04: Blender 2.79b mais pas 2.80 qui n'a plus de BGE. Sur Xubuntu 18.04:
Ligne 54: Ligne 61:
 ====cfg==== ====cfg====
 Relire tout le readme pour bien configurer en particulier: Relire tout le readme pour bien configurer en particulier:
-  * for training for both small and large objects use modified models: yolov3-tiny_3l.cfg+  * for training for both small and large objects use modified models: **yolov3-tiny_3l.cfg** soit [[https://github.com/sergeLabo/semaphore_blend_yolo/blob/master/darknet/calcul_1/calcul_1_9000_jpg_90_small_var.cfg|calcul_1_9000_jpg_90_small_var.cfg]]
   * If you train the model to distinguish Left and Right objects as separate classes (left/right hand, left/right-turn on road signs, ...) then for disabling flip data augmentation - add flip=0   * If you train the model to distinguish Left and Right objects as separate classes (left/right hand, left/right-turn on road signs, ...) then for disabling flip data augmentation - add flip=0
  
 ====Apprentissage==== ====Apprentissage====
-   export PATH=/usr/local/cuda-10.0/bin${PATH:+:${PATH}} +Adapter les chemins ! 
-  ./darknet detector train blend/obj.data blend/yolov3-obj_3l_blend.cfg darknet53.conv.74 -map+  ./darknet partial blend/calcul_1_9000_jpg_90_small_var.cfg yolov3-tiny.weights yolov3-tiny.conv.15 15 
 +  ./darknet detector train blend/obj.data blend/calcul_1_9000_jpg_90_small_var.cfg  yolov3-tiny.conv.15 -map
      
 ====3 calcul==== ====3 calcul====
Ligne 65: Ligne 73:
   * **jpg 90, faible variation d'angle, faible variation de couleur et lumière**   * **jpg 90, faible variation d'angle, faible variation de couleur et lumière**
   * 9 000 itérations   * 9 000 itérations
-{{ :y:chart_avec_blur_sub_16_9000.png?200 |}}+{{ media_03:chart_avec_blur_sub_16_9000.png?200 |}}
   * Détails des résultats: [[:yolo_darknet_avec_un_vrai_semaphore_resultat_des_calculs#calcul_1|Calcul 1]]   * Détails des résultats: [[:yolo_darknet_avec_un_vrai_semaphore_resultat_des_calculs#calcul_1|Calcul 1]]
  
 ===Calcul 2 sur 1060 GTX=== ===Calcul 2 sur 1060 GTX===
 Suite du calcul 1, en repartant à 12000, et avec 54 000 itérations. Suite du calcul 1, en repartant à 12000, et avec 54 000 itérations.
-{{ :y:chart_54000.png?200 |}}+{{ media_03:chart_54000.png?200 |}}
   * Détails des résultats: [[:yolo_darknet_avec_un_vrai_semaphore_resultat_des_calculs#calcul_2|Calcul 2]]   * Détails des résultats: [[:yolo_darknet_avec_un_vrai_semaphore_resultat_des_calculs#calcul_2|Calcul 2]]
  
Ligne 76: Ligne 84:
   * **jpg 100, forte variation d'angle, forte variation de couleur et lumière, grand mât**   * **jpg 100, forte variation d'angle, forte variation de couleur et lumière, grand mât**
   * 12 000 itérations sur carte 765 GTX et subdivision=32 pour palier à la trop faible RAM du GPU.   * 12 000 itérations sur carte 765 GTX et subdivision=32 pour palier à la trop faible RAM du GPU.
-{{ :y:chart_big_var_12000.png?200 |}}+{{ media_03:chart_big_var_12000.png?200 |}}
   * Détails des résultats: [[:yolo_darknet_avec_un_vrai_semaphore_resultat_des_calculs#calcul_3|Calcul 3]]   * Détails des résultats: [[:yolo_darknet_avec_un_vrai_semaphore_resultat_des_calculs#calcul_3|Calcul 3]]
  
  
 ====Comparaison==== ====Comparaison====
-{{ :y:result.pdf |}} +{{ media_03:result.pdf |}} 
-{{:y:result.png?300|}}+{{media_03:result.png?300|}}
 =====Reconnaissance dans le monde réel===== =====Reconnaissance dans le monde réel=====
 La partie reconnaissance est dans le dossier [[https://github.com/sergeLabo/semaphore_blend_yolo/tree/master/darknet|semaphore_blend_yolo/darknet]] La partie reconnaissance est dans le dossier [[https://github.com/sergeLabo/semaphore_blend_yolo/tree/master/darknet|semaphore_blend_yolo/darknet]]
Ligne 89: Ligne 97:
   * **Microsoft HD5000** ça m’attriste cette pub !   * **Microsoft HD5000** ça m’attriste cette pub !
  
-====Sur la tour 1060 GTXobsoléte====+ 
 + 
 + 
 +====Rappel des pages pour l'installation sur xubuntu amd64==== 
 +  * Installation de cudacudnn, opencv, .... [[yolo_darknet_sur_un_portable_optimus#installation_de_cuda_100_sur_xubuntu_1804]] 
 +  * Installation de darnet [[yolo_darknet_sur_un_portable_optimus#installation_de_yolo_darknet]] 
 + 
 +====Mise à jour des sources====
   * Dans le dossier /data/projets/semaphore_blend_yolo   * Dans le dossier /data/projets/semaphore_blend_yolo
  
Ligne 95: Ligne 110:
  
 Copier le fichier libdarknet.so des sources compilées de darknet dans semaphore_blend_yolo/darknet . Copier le fichier libdarknet.so des sources compilées de darknet dans semaphore_blend_yolo/darknet .
- 
- 
-====Rappel des pages pour l'installation sur xubuntu amd64==== 
-  * Installation de cuda, cudnn, opencv, .... [[:y/yolo_darknet_sur_un_portable_optimus#installation_de_cuda_100_sur_xubuntu_1804]] 
-  * Installation de darnet [[:y/yolo_darknet_sur_un_portable_optimus#installation_de_yolo_darknet]] 
  
 ====Exécution de la reconnaissance==== ====Exécution de la reconnaissance====
-**Sur la tour 1060 GTX, utiliser le lanceur du bureau.** 
- 
 Dans le dossier semaphore_blend_yolo/darknet Dans le dossier semaphore_blend_yolo/darknet
-  export PATH=/usr/local/cuda-10.0/bin${PATH:+:${PATH}} 
   python3 get_semaphore_message 0 2    python3 get_semaphore_message 0 2 
-   
-ou dans le dossier semaphore_blend_yolo/darknet, modifier semaphore.sh 
-puis 
-  ./semaphore.sh 
      
 ===Arguments=== ===Arguments===
-**Sur la tour 1060 GTX, il n'y a rien à changer.** 
   * numéro de cam: 0 de /dev/video0   * numéro de cam: 0 de /dev/video0
   * numéro du calcul: 2 (1 ou 2 ou 3 sont possibles, 2 semble le meilleur)!   * numéro du calcul: 2 (1 ou 2 ou 3 sont possibles, 2 semble le meilleur)!
 +  
 ===Fenêtre de message=== ===Fenêtre de message===
   * Espace: reset du message   * Espace: reset du message
Ligne 131: Ligne 133:
   * Reset du message si plus de 100 lettres   * Reset du message si plus de 100 lettres
  
-=====Les sources sur GitHub===== +=====Nvidia Jetson Nano===== 
-  * [[https://github.com/sergeLabo/semaphore_blend_yolo|semaphore_blend_yolo]]+  * Reconnaissance sur une **[[:nvidia_jetson_nano|Nvidia Jetson Nano]]**
  
 +<WRAP group>
 +<WRAP half column>
 +{{ semaphore_jetson_nano_1.jpg?400 |}}\\
 +Affichage d'un sémaphore virtuel devant la webcam du Jetson Nano
 +</WRAP>
 +<WRAP half column>
 +{{ semaphore_jetson_nano_2.jpg?400 |}}\\
 +La reconnaissance sur le jetson Nano
 +</WRAP>
 +</WRAP>
  
 +{{ vimeo>344757901?large }}
 =====Bonus: Réglage d'une webcam en cours d'utilisation par un programme===== =====Bonus: Réglage d'une webcam en cours d'utilisation par un programme=====
   sudo apt install v4l2ucp   sudo apt install v4l2ucp
   v4l2ucp   v4l2ucp
 Reporter dans un fichier de configuration. Reporter dans un fichier de configuration.
-{{tag> ia sb semaphore}}+{{tag> bge ia sb semaphore yolo_darknet }}
  
yolo_darknet_avec_un_vrai_semaphore.1561471022.txt.gz · Dernière modification: 2019/06/25 15:57 de serge