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:58]
serge [Sur la tour 1060 GTX, obsoléte]
yolo_darknet_avec_un_vrai_semaphore [2020/02/04 17:43]
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 }} {{ :​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 93: Ligne 101:
  
 ====Rappel des pages pour l'​installation sur xubuntu amd64==== ====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 cuda, cudnn, opencv, .... [[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]]+  * 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 
 + 
 +  git reset --hard origin/​master 
 + 
 +Copier le fichier libdarknet.so des sources compilées de darknet dans semaphore_blend_yolo/​darknet .
  
 ====Exécution de la reconnaissance==== ====Exécution de la reconnaissance====
 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 
   ​   ​
Ligne 119: 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> ia sb semaphore ​bge yolo_darknet deap_learning}}
  
yolo_darknet_avec_un_vrai_semaphore.txt · Dernière modification: 2020/02/04 17:43 par serge