Skip to content

Projet de détection et suivi d'objet en temps réel pour permettre l'évitement d'obstacle et le suivi de personnes, en collaboration avec Unsupervised.AI.

Notifications You must be signed in to change notification settings

ofacklam/Real-time-object-detection

Repository files navigation

Real-time-object-detection

Projet de détection et suivi d'objet en temps réel pour permettre l'évitement d'obstacle et le suivi de personnes, en collaboration avec Unsupervised.AI.

Guide de prise en main

Configuration du projet

  • Installer les dépendances de la caméra (cf. ci-dessous)
  • Créer un workspace catkin et aller dans le dossier src :
mkdir OD_ws
cd OD_ws
mkdir src
cd src
  • Cloner le repository récursivement en executant git clone --recursive https://github.com/ofacklam/Real-time-object-detection.git
  • Cloner le repository de zed-ros-wrapper (le module qui integre la caméra ZED dans ROS) git clone https://github.com/stereolabs/zed-ros-wrapper.git
  • Revenir dans le workspace cd ..
  • Compiler le projet catkin_make -DCMAKE_BUILD_TYPE=Release
    • Si on obtient une erreur no module named em, il faut désinstaller em avec pip uninstall em et install empy avec pip install empy
  • Activer l'environnement (cf Tutoriel ROS) en rajoutant source <path/to/OD_ws>/devel/setup.bash a la fin du fichier ~/.bashrc

Configuration de darknet_ros [optionnel]

  • Le répertoire src/darknet_ros/darknet_ros/config contient les fichiers de configuration du wrapper ROS pour YOLO et de l'algo YOLO lui-meme.
  • On peut rajouter des fichiers de configuration de YOLO (par exemple pour utiliser des configs et poids différents). Il faut alors aussi réécrire les fichiers de lancement. (cf docu de darknet_ros)

Lancer le projet

  • Pour lancer la caméra :
    • seule : roslaunch zed_wrapper zed.launch
    • avec rViz pour la visualisation : roslaunch zed_display_rviz display.launch
  • Pour lancer YOLO :
    • yolov2-tiny (avec OpenCV) : roslaunch darknet_ros darknet_ros.launch
    • yolov2-tiny (sans OpenCV) : roslaunch darknet_ros darknet_ros.opencv_disabled.launch
    • yolov3 : roslaunch darknet_ros yolo_v3.launch
  • Pour lancer la traduction : roslaunch bounding_boxes_analyser analyser.launch
  • Lien stratus vers les rosbags tests : https://stratus.binets.fr/s/QCEoQPeoXkrRcJP
    • Lancer YOLO puis le rosbag

Installation de la caméra ZED utilisée par le robot Maryam

La caméra a besoin du kit ZED SDK qui a lui-meme besoin du Toolkit CUDA de nVidia.

Installation du Driver nVidia

sudo add-apt-repository ppa:graphics-drivers
sudo apt-get update
  • Installer la derniere version du driver nVidia : sudo apt-get install nvidia-410 par exemple.
  • Redémarrer l'ordinateur.
  • Vérifier que ca s'est bien passé. La ligne lsmod | grep nvidia doit renvoyer quelque chose alors que la ligne lsmod | grep nouveau ne doit rien renvoyer.
  • On peut éventuellement bloquer les mises a jour automatiques avec sudo apt-mark hold nvidia-410.

Installation du Toolkit CUDA

  • Télécharger sur cette page https://developer.nvidia.com/cuda-92-download-archive l'installateur CUDA. Il faut sélectionner Linux -> x86_64 -> Ubuntu -> 16.04 -> runfile (local) puis cliquer sur Download.
  • Lancer le fichier en tapant sudo sh [nom_du_fichier], par exemple sudo sh cuda_9.2.148_396.37_linux.run
  • Suivre les instructions de l'installateur EN REFUSANT d'installer le Driver nVidia.
  • Eventuellement installer le Patch qui est téléchargeable a la meme adresse.
  • Pour terminer, ajouter les commandes suivantes a la fin du ~/.bashrc
export PATH=/usr/local/cuda/bin${PATH:+:${PATH}}
export LD_LIBRARY_PATH=/usr/local/cuda/lib64${LD_LIBRARY_PATH:+:${LD_LIBRARY_PATH}}

Installation du ZED SDK

chmod +x ZED_SDK_Linux_*.run 
./ZED_SDK_Linux_*.run
  • Redémarrer l'ordinateur.

Si vous avez des problemes d'affichage / de dépendances : Installation de OpenCV

  • Essayer d'installer a partir de apt.
  • Sinon :
    • Installer les dépendences de OpenCV :
     sudo apt-get install build-essential
     sudo apt-get install cmake git libgtk2.0-dev pkg-config libavcodec-dev libavformat-dev libswscale-dev
    
    • Cloner le repository OpenCV dans un endroit quelconque
     git clone https://github.com/opencv/opencv.git
     git clone https://github.com/opencv/opencv_contrib.git
    
    • Créer un répertoire dans opencv
     cd opencv
     mkdir build
     cd build
    
    • Executer cmake pour la configuration : cmake -D CMAKE_BUILD_TYPE=Release -D OPENCV_EXTRA_MODULES_PATH=<path/vers/opencv_contrib/modules> ..
    • Build avec la commande make -j7
    • Installer les librairies avec sudo make install

About

Projet de détection et suivi d'objet en temps réel pour permettre l'évitement d'obstacle et le suivi de personnes, en collaboration avec Unsupervised.AI.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 4

  •  
  •  
  •  
  •