La caméra OpenMV est une petite carte microcontrôleur à faible consommation qui vous permet de mettre en œuvre facilement des applications utilisant la vision par ordinateur dans le monde réel. Vous programmez la caméra OpenMV avec des scripts Python de haut niveau (grâce au système d'exploitation MicroPython) plutôt qu'en C/C++. Cela facilite la gestion des sorties complexes des algorithmes de vision par ordinateur et le travail avec des structures de données de haut niveau. Cependant, vous conservez un contrôle total sur votre caméra OpenMV et ses broches d'entrée/sortie en Python. Vous pouvez facilement déclencher la prise de photos et de vidéos en fonction d'événements externes ou exécuter des algorithmes de vision par ordinateur pour déterminer comment contrôler vos broches d'entrée/sortie.
L'appareil photo OpenMV présente les caractéristiques suivantes :
- STM32H743IIProcesseur ARM Cortex M7 fonctionnant à 480 MHz avec 32 Mo de SDRAM + 1 Mo de SRAM et 32 Mo de mémoire flash externe + 2 Mo de mémoire flash interne. Toutes les broches d'entrée/sortie délivrent une tension de 3,3 V et sont compatibles 5 V. Le processeur dispose des interfaces d'entrée/sortie suivantes :
- Une interface USB pleine vitesse (12 Mbit/s) vers votre ordinateur. Votre caméra OpenMV apparaîtra comme un port COM virtuel et une clé USB lorsqu'elle sera branchée.
- Une prise de carte μSD capable de lectures/écritures à 100 Mbits/s, permettant à votre caméra OpenMV de prendre des photos et de récupérer facilement les ressources de vision par ordinateur depuis la carte μSD.
- Un bus SPI pouvant atteindre jusqu'à 80 Mbits/s, vous permettant de diffuser facilement les données d'image du système vers le bouclier LCD, le bouclier WiFi ou un autre microcontrôleur.
- Un bus I2C (jusqu'à 1 Mb/s), un bus CAN (jusqu'à 1 Mb/s) et un bus série asynchrone (TX/RX, jusqu'à 7,5 Mb/s) pour l'interfaçage avec d'autres microcontrôleurs et capteurs.
- Un convertisseur analogique-numérique 12 bits et un convertisseur numérique-analogique 12 bits.
- Deux broches d'entrée/sortie pour la commande de servomoteurs.
- Interruptions et PWM sur toutes les broches d'entrée/sortie (la carte comporte 10 broches d'entrée/sortie).
- Et, une LED RVB et deux LED infrarouges haute puissance de 850 nm.
- 32 Mo de SDRAM externe 32 bits cadencée à 100 MHz pour une bande passante de 400 Mo/s.
- 32 Mo de mémoire flash quadspi externe cadencée à 100 MHz en mode DDR 4 bits pour une bande passante de 100 Mo/s (vitesse de lecture).
- Un système de module de caméra amovible, prenant en charge le parallèle 8 bits, permettant à l'OpenMV Cam H7 de s'interfacer avec différents capteurs :
- Le module OpenMV Cam H7 Plus est équipé d'unOV5640Le capteur d'image est capable de capturer des images de 2592x1944 (5MP). La plupart des algorithmes simples fonctionneront entre 25 et 50 IPS sur des résolutions QVGA (320x240) et inférieures. Votre capteur d'image est équipé d'un objectif de 2,8 mm sur une monture standard M12. Si vous souhaitez utiliser des objectifs plus spécialisés avec votre capteur d'image, vous pouvez facilement les acheter et les installer vous-même. Pour utiliser des objectifs plus spécialisés, vous pouvez les installer facilement.
- Pour les applications professionnelles de vision industrielle, vous pouvez acheter notre SingTownmodule de caméra à obturateur global mt9V034SingTown
- Pour les applications de vision industrielle par imagerie thermique infrarouge, vous pouvez acheter notreModule d'imagerie thermique FLIR Lepton.
- Interface pour batterie lithium-ion 3,7 V, vous pouvez acheter notre SingTownBatterie lithium-ion 3,7 V - 1000 mAh
Documentation :https://singtown.com/openmv/
Applications
Actuellement, la caméra OpenMV peut effectuer les tâches suivantes (d'autres fonctionnalités seront ajoutées ultérieurement) :
- Détection d'objets par réseau neuronal
- Vous pouvez utiliser OpenMV pour entraîner des réseaux neuronaux à la détection d'objets, en formant toute cible que vous souhaitez détecter. Par exemple, différents chiffres, différents fruits, différents marqueurs, différentes pièces, ou toute cible irrégulière spécifique peuvent être entraînés à identifier le nombre, les coordonnées et le nom du type d'objet des cibles spécifiques.
- Vous pouvez détecter les panneaux de signalisation sur nos routes réelles grâce à nos tutoriels vidéo, tels que l'interdiction de klaxonner, l'interdiction de stationner, la limitation de vitesse à 80 km/h, etc./learn/50918
- Classification par Réseau Neuronal
- Vous pouvez utiliser OpenMV pour entraîner des réseaux neuronaux à la détection d'objets, en formant toute cible que vous souhaitez détecter. Par exemple, différents chiffres, différents fruits, différents marqueurs, différentes pièces, ou toute cible spécifique irrégulière peuvent être entraînés à identifier le nombre, les coordonnées et le nom du type d'objet des cibles spécifiques.
- Il peut classer si une personne porte un masque en se basant sur notre tutoriel vidéo./learn/50872
- TensorFlow Lite pour microcontrôleurs
- La prise en charge de TensorFlow Lite vous permet d'exécuter des modèles personnalisés de classification d'images et de segmentation sur la caméra OpenMV. Grâce à TensorFlow Lite, vous pouvez facilement classifier des zones complexes dans l'image et contrôler les broches 1/0 en fonction de ce que vous voyez.

- Différence d'images
- Vous pouvez utiliser l'algorithme de différence d'images sur votre OpenMV Cam pour détecter les mouvements dans une scène. La différence d'images permet à votre OpenMV d'être utilisé pour des applications de sécurité.
- Suivi des couleurs
- Vous pouvez utiliser OpenMV pour détecter jusqu'à 16 couleurs simultanément dans une image (bien que vous ne souhaitiez jamais en trouver plus de 4), et chaque couleur peut comporter un nombre quelconque de blobs différents. OpenMV vous indiquera la position, la taille, le centre et l'orientation de chaque blob. Grâce au suivi des couleurs, votre caméra OpenMV peut être programmée pour suivre le soleil, suivre des lignes, pister des cibles, et bien plus encore. Démonstration vidéo :/learn/49993

- Suivi de marqueur
- Vous pouvez utiliser votre caméra OpenMV pour détecter des groupes de couleurs plutôt que des couleurs individuelles. Cela vous permet de placer des étiquettes de couleur (2 étiquettes de couleur ou plus) sur des objets, et OpenMV récupérera le contenu des objets étiquetés.
- Détection faciale
- Vous pouvez utiliser votre caméra OpenMV pour détecter des visages (ou tout objet générique). Votre caméra OpenMV peut traiter des modèles Haar pour la détection d'objets génériques et est livrée avec des modèles Haar intégrés pour le visage frontal et les yeux, permettant de détecter les visages et les yeux./learn/50013

- Suivi oculaire
- Vous pouvez utiliser le suivi oculaire pour détecter la direction du regard d'une personne. Cela permet de contrôler des robots. Le suivi oculaire détecte la position de la pupille tout en vérifiant la présence des yeux dans l'image.
- Détection de Personnes
- Vous pouvez utiliser le détecteur de personnes intégré (modèle TensorFlow Lite) pour détecter la présence de personnes dans le champ de vision.
- Flux optique
- Vous pouvez utiliser le flux optique pour détecter les mouvements devant votre caméra OpenMV. Par exemple, vous pouvez utiliser le flux optique sur un quadricoptère pour contrôler la stabilité en vol.
- Détection/Décodage de Code QR
- Vous pouvez utiliser votre caméra OpenMV pour lire les codes QR dans son champ de vision. Grâce à la détection et au décodage des codes QR, vous pouvez permettre aux robots intelligents de lire les étiquettes dans leur environnement.
- Détection/Décodage de Matrice de Données
- OpenMV Cam peut également détecter et décoder les codes Data Matrix (codes-barres 2D). Vous pouvez visionner notre vidéo ici.
- Décodage de codes-barres linéaires
- La caméra OpenMV peut également traiter les codes-barres 1D. Elle peut décoder EAN2, EAN5, EAN8, UPCE, ISBN10, UPCA, EAN13, ISBN13, I25, DATABAR, DARABAR_EXP, CODABAR, CODE39, CODE93 et CODE128. Regardez notre vidéo ici :/learn/50017
- Suivi AprilTag
- Mieux encore que les codes QR ci-dessus, la caméra OpenMV peut également suivre les AprilTags. Les AprilTags sont des marqueurs fiduciaires de pointe invariants à la rotation, à l'échelle, au cisaillement et à l'éclairage. Regardez notre vidéo ici :/learn/49590
- Détection de Ligne
- OpenMV Cam peut rapidement effectuer une détection de lignes infinies tout en fonctionnant à un débit d'images presque maximal. De plus, elle peut identifier des segments de ligne non infinis. Vous pouvez visionner notre vidéo ici :/learn/50009
- Détection de cercle
- Vous pouvez facilement utiliser OpenMV pour détecter des cercles dans les images.
- Détection de rectangle
- OpenMV peut également détecter des rectangles, en utilisant le code de détection de carrés de la bibliothèque AprilTag.
- Correspondance de Modèles
- Vous pouvez utiliser la correspondance de modèles OpenMV pour détecter la présence d'images similaires au modèle dans le champ de vision. Par exemple, cette technique permet de repérer des repères sur des cartes de circuits imprimés ou de lire des chiffres connus sur des afficheurs.
- Capture d'image
- Vous pouvez utiliser OpenMV pour capturer des images BMP/JPG/PPM/PGM en RGB565 ou en niveaux de gris. Vous pouvez directement contrôler la manière de capturer les images dans des scripts Python. Plus important encore, utilisez des algorithmes de vision par ordinateur pour tracer des lignes, dessiner des caractères, puis enregistrer.
- Enregistrement vidéo
- Vous pouvez utiliser la caméra OpenMV pour enregistrer des vidéos MJPEG RGB565/niveaux de gris ou des images GIF (ou des vidéos RAW). Vous pouvez directement contrôler comment chaque trame vidéo est enregistrée dans des scripts Python et avoir un contrôle complet sur le début et la fin de l'enregistrement vidéo. De plus, comme pour prendre des photos, vous pouvez utiliser des algorithmes de vision par ordinateur pour tracer des lignes, dessiner des caractères, puis sauvegarder.
Enfin, toutes ces fonctionnalités peuvent être combinées avec le contrôle des broches d'entrée/sortie pour fonctionner avec vos propres applications personnalisées afin d'interagir avec le monde réel.