Outils pour utilisateurs

Outils du site


yolo_avec_mes_propres_images

Ceci est une ancienne révision du document !


YOLO with my own dataset

YOLO avec mes propres images

Nos images sont des images du sémaphore

Nous allons créer 27 classes des 27 lettres possibles.

Quel YOLO ?

Implementations possibles

  • Darknet Implémentation “officielle”
  • AlexeyAB/darknet Fork du précédent, bien pour sa doc
  • Darkflow Plus rapide que darknet mais pas de YOLO V3. C'est très bien pour commencer !

Création du set d'apprentissage

C'est la partie la plus facile pour un pro de l'image et de la couleur: c'est moi –> applaudissement !! LOL

Création de 27 images pour 27 classes d'objets avec un canal alpha

Avec Blender et par un homo-sapiens Taille 40×40 Images en violet sur alpha, avec un sémaphore qui occupe toute l'image. Exemple pour le a: 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 !

70.000 images créées avec OpenCV

Images: 1024×1024

En insérant une des images ci-dessus sur un shot d'une video, avec variation taille position flou du sémaphore,

et en créant un fichier image.txt pour chaque image.png dans le même dossier, exemple:

shot_68000_n.txt pour shot_68000_n.png

Pour chaque fichier *.txt

<object-class> <x> <y> <width> <height>

Avec:

<object-class> - entier de 0 à 26
<x> <y> <width> <height> valeurs relatives de 0 à 1

320 * 320 avec un a

centre du a: absolute_x = 130, absolute_y = 140 absolute_height = 200 hauteur du a absolute_width = 200 largeur du a

0 (130/320)=0,40625 (140/320)=0,43752 (200/320)=0,625 (200/320)=0,625

ligne à écrire dans a.txt

0 0,40625 0,43752 0,625 0,625

Exemple

Darknet

je bosse, soyez patient

Dépendances

Sur Debian 10 Buster avec NVIDIA Corporation GK106M [GeForce GTX 765M] et Bumblebee

Compilation

Modification des options dans Makefile

    GPU=1 to build with CUDA to accelerate by using GPU (CUDA should be in /usr/local/cuda)
    CUDNN=1 to build with cuDNN v5-v7 to accelerate training by using GPU (cuDNN should be in /usr/local/cudnn)
    CUDNN_HALF=1 to build for Tensor Cores (on Titan V / Tesla V100 / DGX-2 and later) speedup Detection 3x, Training 2x
    OPENCV=1 to build with OpenCV 3.x/2.4.x - allows to detect on video files and video streams from network cameras or web-cams
    DEBUG=1 to bould debug version of Yolo
    OPENMP=1 to build with OpenMP support to accelerate Yolo by using multi-core CPU
    LIBSO=1 to build a library darknet.so and binary runable file uselib that uses this library. Or you can try to run so LD_LIBRARY_PATH=./:$LD_LIBRARY_PATH ./uselib test.mp4 How to use this SO-library from your own code - you can look at C++ example: https://github.com/AlexeyAB/darknet/blob/master/src/yolo_console_dll.cpp or use in such a way: LD_LIBRARY_PATH=./:$LD_LIBRARY_PATH ./uselib data/coco.names cfg/yolov3.cfg yolov3.weights test.mp4

make

do make in the darknet directory

Run test

./darknet detector test ./cfg/coco.data ./cfg/yolov3.cfg ./yolov3.weights

DARKFLOW

Avec ou sans GPU

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

  • Pour la suite, rien n'est bien expliqué !!
  • structure des dossiers, des fichiers …
yolo_avec_mes_propres_images.1552556615.txt.gz · Dernière modification : 2019/03/14 09:43 de serge