Fonctions avancées et suivi
Ce chapitre détaille les fonctions de suivi automatique du système : suivi de couleur, suivi de visage et suivi de QR code, ainsi que le mécanisme de verrouillage de cible et le réglage des paramètres.
Aperçu des modes de suivi automatique
Le système prend en charge trois modes de suivi automatique :
- Suivi de couleur : suit les objets d'une couleur spécifiée
- Suivi de visage : suit les visages
- Suivi de QR code : suit les QR codes
Suivi de couleur
Choix de la couleur
Le système prend en charge le suivi de plusieurs couleurs :
- Rouge
- Vert
- Bleu Dans le programme, vous pouvez changer de couleur avec les touches :
X: sélectionner le rougeY: sélectionner le vertZ: sélectionner le bleu
Flux d'utilisation du suivi de couleur
- Appuyez sur
Cpour connecter le cardan - Appuyez sur
2pour passer en mode suivi de couleur - Placez l'objet de la couleur cible au centre de l'image
- Appuyez sur
Tpour verrouiller la cible - Déplacez la cible et observez le cardan la suivre
Exemple simple de suivi de couleur
Vous pouvez aussi utiliser l'exemple simple de suivi de couleur :
python examples/04_color_track_simple.py --camera 0 --port COM3 --color redCe programme offre la fonction de suivi de couleur la plus élémentaire ; idéal pour l'apprentissage.
Suivi de visage
Principe du suivi de visage
Le système utilise le classificateur en cascade Haar d'OpenCV pour la détection de visages. Une fois un visage détecté, le système calcule automatiquement la position de la cible et commande le cardan pour la suivre.
Flux d'utilisation du suivi de visage
- Appuyez sur
Cpour connecter le cardan - Appuyez sur
1pour passer en mode suivi de visage - Placez votre visage au centre de l'image
- Appuyez sur
Tpour verrouiller la cible - Déplacez votre visage : le cardan suit automatiquement
Conseils pour améliorer la détection de visage
- Maintenez un éclairage suffisant, évitez le contre-jour
- Gardez le visage orienté face à la caméra
- Gardez une distance appropriée (1 à 3 m recommandé)
- Évitez les scènes avec plusieurs visages, ou utilisez le mécanisme de verrouillage pour fixer la cible suivie
Suivi de QR code
Le mode de suivi de QR code s'appuie sur le QRCodeDetector d'OpenCV pour reconnaître et localiser les QR codes. La méthode d'utilisation est similaire aux deux modes de suivi précédents :
- Connectez le cardan et passez en mode suivi de QR code
- Placez le QR code au centre de l'image, puis appuyez sur
Tpour verrouiller - Déplacez le QR code et observez le cardan le suivre
Mécanisme de verrouillage de cible
Rôle du verrouillage
Le mécanisme de verrouillage de cible est une fonction clé du système ; il permet de :
- Enregistrer la position centrale et la taille de la cible au moment du verrouillage
- Lorsque plusieurs cibles sont présentes, privilégier la cible la plus proche du point de verrouillage
- Éviter les sauts fréquents de cible et préserver la stabilité du suivi
Procédure de verrouillage
- Placez l'objet cible au centre de l'image
- Appuyez sur
Tpour effectuer le verrouillage - Une fois le verrouillage réussi, le système suit en priorité la cible la plus similaire à celle du moment du verrouillage
- Appuyez sur
Spour annuler le verrouillage et arrêter le suivi
Logique de sélection après verrouillage
Après le verrouillage, le système tient compte de deux facteurs pour sélectionner la cible :
- Distance : proximité du centre de la cible par rapport au point de verrouillage (poids 70 %)
- Taille : similarité de la taille de la cible avec celle du moment du verrouillage (poids 30 %)
- Le système sélectionne et suit la cible au score global le plus élevé
Réglage des paramètres de contrôle du suivi
Dans src/trackers/tracking_controller.py, les paramètres suivants sont ajustables :
| Paramètre | Valeur par défaut | Description |
|---|---|---|
| kp_pan | 0.08 | Gain proportionnel du suivi gauche/droite |
| kp_tilt | 0.12 | Gain proportionnel du suivi haut/bas |
| dead_zone | 30 | Zone morte (pixels) : le cardan ne bouge pas dans cette plage |
| min_move_interval | 0.15 | Intervalle minimal de mouvement (secondes), limite la fréquence des mouvements du cardan |
Méthode de réglage des paramètres
- Suivi trop lent : augmentez
kp_panetkp_tilt - Suivi trop sensible provoquant des tremblements : diminuez
kp_panetkp_tilt, ou augmentezmin_move_interval, ou augmentezdead_zone - Ajustements fins fréquents provoquant des tremblements : augmentez
dead_zone - Direction inversée : modifiez le signe de
delta_panoudelta_tiltdans la méthodecalculate_move
Exemple complet d'utilisation du suivi
Voici un exemple complet de flux d'utilisation :
- Lancez le programme :
python examples/auto_tracking_demo.py --camera 0 --port COM3 --color red- Appuyez sur
Cpour connecter le cardan - Appuyez sur
2pour choisir le mode suivi de couleur - Placez un objet rouge au centre de l'image
- Appuyez sur
Tpour verrouiller la cible - Déplacez l'objet et observez le cardan le suivre
- Pour passer au vert, appuyez sur
Ypuis verrouillez de nouveau avecT - Appuyez sur
Spour arrêter le suivi et surRpour recentrer - Appuyez sur
Qpour quitter
Conseils de développement avancé
Pour personnaliser les fonctions ou développer vos propres extensions, vous pouvez vous référer à :
src/sc_servo.py: couche basse de communication des servossrc/gimbal.py: contrôle du cardansrc/trackers/tracking_controller.py: contrôleur de suivisrc/detectors/: divers détecteurs de cible

