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.
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.