View  Edit  Attributes  History  Attach  Print  Search


ACCUEIL | DOCUMENTATION | STRATEGIES | TESTS


Librairie JavacvPro | Strategies

Stratégies : Suivi d'objet (Tracking) : Principes généraux pour la détection et le suivi d'objet.


1.  Introduction

  • La bonne question n'est pas "comment faire du suivi d'objet ?" : la bonne question est plutôt "qu'est-ce que l'on veut suivre ?"
  • Le suivi d'objet (ou tracking), c'est quoi ? Cela consiste à pouvoir donner la position du centre d'un objet dans une image issue le plus souvent d'un flux vidéo en provenance d'une webcam.
  • La connaissance de cette position va ensuite permettre de déclencher une motorisation ou autre qui va permettre de rester "calé" sur l'objet ou déclencher des évènements voulus en fonction de la position dans l'image.

2.  Quelques remarques techniques préalables

  • Lorsque l'on aborde le suivi d'objet, on a tendance à utiliser des résolutions importantes dans une première approche ce qui a pour effet de ralentir le débit de l'image finale, sans améliorer la qualité de la détection. En pratique, on pourra se contenter d'une image 320x240 pour obtenir une détection fluide en temps réel, voire même 160x120 dans le cas de la détection de visage qui est très consommateur de temps CPU (= utilisation du processeur).
  • Même remarque concernant le débit d'image : un débit à 15fps pourra souvent suffir et allègera la CPU.
  • Côté matériel, on obtiendra de bons résultats avec un processeur double coeur cadencé à 1,66Ghz par exemple.

3.  Stratégie pour la détection d'un objet coloré

  • En fait, la plus grande difficulté va être d'isoler l'objet que l'on veut détecter au sein de l'image. Isoler l'objet va consister à obtenir une image binarisée de l'objet à détecter. L'image suivante résume bien les 4 étapes fondamentales de la détection d'un objet :
    • Acquisition de l'image brute
    • Filtrage / segmentation de l'objet à isoler
    • Seuillage pour binariser l'image
    • Détection de forme
    • Sélection géométrique finale
  • Dans le cas d'un flux vidéo en temps réel, la librairie javacvPro permettra sans trop de difficulté des suivis d'objet avec un débit d'image de l'ordre 20fps (20 images/secondes) en 320x240 pixels, traitement d'image inclus !
  • Dans le cas du suivi d'un objet coloré, on va pouvoir optimiser le code de détection à plusieurs niveaux :
    • au niveau du filtrage de la couleur : plus le filtrage sera efficace et discriminant, mieux sera la détection.
    • au niveau du niveau de seuil à utiliser : plus le seuil utilisé sera élevé, et mieux l'objet suivi sera bien détecté
    • au niveau de la détection des blobs : on pourra éliminer d'emblée les artéfacts en ignorant les blobs trop petits
    • au niveau de la sélection géométrique : étape ultime de filtrage permettant d'écarter les blobs ne correspondant pas à l'objet suivi.

Stratégie de suivi d'un objet coloré

4.  Stratégie pour la détection d'un visage ou d'un individu

  • On va utiliser ici un fichier descripteur qui va détecter tout visage présent.

Stratégie de suivi d'un visage

5.  Stratégie pour la détection d'une main

  • On va utiliser ici la soustraction du fond par exemple

6.  Stratégie pour la détection au sein d'une image 3D d'un objet

  • Utilisation de l'algorithme SURF : à venir

7.  Stratégie pour la détection de lignes, cercle, coins

  • à venir

8.  Stratégie pour la détection d'un damier

  • à venir