Cours:Classif : Différence entre versions

De troyesGEII
Aller à : navigation, rechercher
(Prétraitement)
(Plusieurs objets)
 
(2 révisions intermédiaires par le même utilisateur non affichées)
Ligne 64 : Ligne 64 :
  
 
=== Reconnaissance simple d'un seul objet, avec descripteurs géométriques ===
 
=== Reconnaissance simple d'un seul objet, avec descripteurs géométriques ===
 +
 +
* En ne plaçant qu'un seul objet dans le champ de la camera, calculer et afficher ses descripteurs de forme : longueur/largeur de l'objet, cf https://raphael.candelier.fr/?blog=Image%20Moments
 +
* Construire une décision idoine à l'aide de la largeur et de la longueur de l'ellipse englobante, afin de discrimer trois classes d'objets (par exemple : jeton court, jeton long, jeton rond)
  
 
=== Classifieur plus évolué ===
 
=== Classifieur plus évolué ===
 +
 +
* Redressement de la perspective
 +
* Descripteurs
 +
* KNN
 +
* SVM
  
 
=== Plusieurs objets ===
 
=== Plusieurs objets ===
 +
 +
* Segmentation
  
 
=== Références  ===
 
=== Références  ===

Version actuelle datée du 21 janvier 2026 à 12:28

TP Classification : détection d'objet en temps réel par vision

Le travail de cette étape va consister à

  • analyser des images acquises en "temps réel" afin de détecter et identifier des objets
  • les objets seront
    • dans un premier temps des jetons de nain jaune
    • dans un second temps des briques lego.

Technos matérielles et logicielles

Vous utiliserez :

Étapes :

  • Connexion à la Rpi et test d'acquisition en ligne de commande
  • Capture d'image et affichage en temps réel, avec Python
  • Prétraitement
  • Reconnaissance simple d'un seul objet, avec descripteurs géométriques
  • Classifieur plus évolué (knn, svm)
  • Plusieurs objets

Connexion à la Rpi et test d'acquisition en ligne de commande

  • Connecter (si cela n'est pas fait) la PiCam à la Rpi4
  • Dans un terminal, se connecter à la Rpi en ssh : ssh -X root@10.98.33.XX
  • Tester la PiCam avec libcamera-hello (la capture en video doit s'afficher sur l'écran de la Rpi). Avec les informations affichées, identifier :
    • le modèle du capteur,
    • ses caractéristiques (résolution, format, cadence, etc ...).
  • Tester l'acquisition d'image avec l'éxecutable libcamera-still

Capture d'image et affichage en temps réel

En exploitant la documentation Picamera2 (principalement section 6 - Capturing images and requests)

  • Tester les deux exemples Capturing arrays et Capturing PIL images
  • Écrire un script Python qui :
    • initialise la camera
    • affiche en continu son image
    • sur l'appui d'une touche, réalise une capture (dans un objet array>/code> ou <code>PIL) et sauvegarde l'image dans un fichier

En pratique :

  • Vous pouvez lancer un interpréteur Python dans le terminal pour tester des choses
  • Vous pouvez accéder aux dossiers de la Rpi depuis votre PC fixe, depuis le navigateur Dolphin avec comme url sftp://root@10.98.33.83:22/. Ce qui vous permettra par exemple d'éditer le fichier script depuis votre PC fixe.
  • Dans le terminal, python monscript.py pour executer votre script
  • Référence Python :

Prétraitement

  • Modification éventuelle de la zone de capture de la camera.
  • Conversion en image niv. de gris.
  • Binarisation.

Reconnaissance simple d'un seul objet, avec descripteurs géométriques

  • En ne plaçant qu'un seul objet dans le champ de la camera, calculer et afficher ses descripteurs de forme : longueur/largeur de l'objet, cf https://raphael.candelier.fr/?blog=Image%20Moments
  • Construire une décision idoine à l'aide de la largeur et de la longueur de l'ellipse englobante, afin de discrimer trois classes d'objets (par exemple : jeton court, jeton long, jeton rond)

Classifieur plus évolué

  • Redressement de la perspective
  • Descripteurs
  • KNN
  • SVM

Plusieurs objets

  • Segmentation

Références

OpenCV :

Archives de cette page :