Vision par Ordinateur

La vision par ordinateur est le processus qui consiste à utiliser des ordinateurs pour comprendre les images numériques, telles que les photographies et les vidéos. La vision par ordinateur permet de détecter des objets, ce qui est souvent nécessaire dans le cadre de FTC®.

Actuellement, il existe 3 formes de vision par ordinateur couramment utilisées : TensorFlow Lite, AprilTags et OpenCV (via VisionPortal/EasyOpenCV).

Solutions Officiellement Soutenues

TensorFlow

TensorFlow est la technologie d’apprentissage automatique de Google, qui peut être entraînée à détecter des objets. Le SDK FTC utilise TensorFlow Lite, qui est une version allégée de TensorFlow de Google conçue pour fonctionner sur des appareils mobiles. Outre la prise en charge d’Android Studio et d’OnBot, TensorFlow prend en charge les blocs, ce qui en fait un bon choix pour la plupart des équipes.

Des exemples d’OpModes pour TensorFlow utilisés pour la détection de pixels (CENTERSTAGE) peuvent être trouvés here (Blocks), et un exemple Java peut être trouvé here.

FIRST® a publié un outil appelé FTC-ML pour entraîner votre propre modèle TensorFlow Lite pour la détection d’objets personnalisés. Les détails de FTC-ML peuvent être trouvés sur FTC Docs.

AprilTags

Les AprilTags détectent des images noir et blanc spécifiques à faible résolution qui sont placées sur différentes parties du champ. Les AprilTags sont un excellent moyen de détecter des parties spécifiques des champs sous de grands angles, à de grandes distances et dans des conditions d’éclairage variées. Les AprilTags sont pris en charge par OnBot Java, Android Studio et Blocks.

Vous pouvez en savoir plus sur la mise en œuvre des AprilTags sur FTC Docs. Les images AprilTag prises en charge sont disponibles sur ce PDF.

VisionPortal

Introduite avec le FTC SDK v8.2, l’API VisionPortal intègre le projet EasyOpenCV dans le FTC SDK. Avec VisionPortal, vous pouvez associer plusieurs VisionProcessors à une seule caméra. Les VisionProcessors sont un moyen simple de créer des pipelines OpenCV, qui permettent d’appliquer des manipulations et des traitements personnalisés à chaque image entrante. VisionPortal est la forme la plus puissante de vision par ordinateur, mais c’est aussi la plus difficile à utiliser. C’est pourquoi nous ne pouvons le recommander qu’aux équipes les plus avancées.

Ressources Supplémentaires sur la Vision

EasyOpenCV Simulateur

EasyOpenCV Simulateur est un moyen simple de tester vos pipelines directement sur votre ordinateur. Il est compatible avec Windows, macOS et Linux, et simule une partie de la structure du SDK FTC, y compris l’API VisionPortal, ce qui vous permet de copier et de coller des pipelines.

Vous pouvez trouver EasyOpenCV Simulateur ici <https://github.com/deltacv/EOCV-Sim>`__.

Tableau de bord FTC®

FTC Dashboard exécute une page web de tableau de bord sur le Control Hub qui, entre autres, diffuse un aperçu en direct d’une caméra connectée. Il s’agit d’un outil très utile pour tester et déboguer les applications de vision.

Avertissement

Le tableau de bord FTC n’est pas autorisé à fonctionner pendant les matchs, assurez-vous qu’il est désactivé pendant une compétition. Vous trouverez plus d’informations ici <https://acmerobotics.github.io/ftc-dashboard/competition>`__.

Vous pouvez trouver le tableau de bord de FTC ici <https://github.com/acmerobotics/ftc-dashboard>`__.

Scrcpy

Scrcpy est un moyen simple d’afficher et de contrôler les appareils Android connectés en USB. Il prend en charge Linux, Windows et macOS, offre une faible latence, nécessite peu de ressources et offre d’excellentes performances. Il est extrêmement utile pour déboguer le code de vision sur un Hub de contrôle, car il vous permettra de voir la sortie de la caméra presque en temps réel. Il peut également être utilisé avec un téléphone contrôleur de robot, mais la sortie de la caméra peut être vue sur l’écran du téléphone.

Vous pouvez trouver scrcpy ici.