L’équipe de développement d’OpenMV a profité du confinement pour apporter de (très) nombreuses améliorations au firmware. Il est maintenant possible de piloter les caméras depuis toutes les interfaces y compris en I2C ou SPI. D’autres améliorations sont en cours de finalisation et seront publiées prochainement. La vitesse de capture et d’analyse d’image sera possible à 120 FPS sur la H7 et probablement aussi sur les anciennes générations. Les filtres seront plus rapides (1000% pour le filtre médian). Enfin, il sera bientôt possible de développer en temps réel en WiFi.
L’essentiel du stock étant encore inaccessible à cause des restrictions de circulation entre Hongkong et Shenzhen, les expéditions reprennent doucement.
Sommaire
Nouvelle bibliothèque d’interface OpenMV Cam, pilotage I2C / SPI
Jusqu’à maintenant OpenMV déconseillait d’utiliser les bus I2C ou SPI pour contrôler ses caméras Ce ne plus le cas désormais. Toutes les interfaces des caméras OpenMV Cam sont désormais utilisables depuis la version v3.6.2 du firmware publiée sur OpenMV IDE ces derniers jours. On pourra par exemple transférer le tampon de trame non compressé d’une caméra OpenMV à une autre caméra OpenMV via le bus SPI, UART, I2C ou CAN.
Un exemple d’utilisation disponible sur GitHub montre comment utiliser la bibliothèque.
- Async Serial (UART) – jusqu’à 7,5 Mb/s sur la Cam H7
- Bus I2C – jusqu’à 1 Mb/s sur la Cam H7
- Bus SPI – jusqu’à 20 Mb/s (40/80 Mb/s également possible) sur la Cam H7
- Bus CAN – jusqu’à 1 Mb/s sur la Cam H7
- Port COM virtuel USB (VCP) – jusqu’à 12 Mb/s sur les modèles M4 / M7 / H7
- WiFi – 12 Mb/s et plus sur les modèles M4 / M7 / H7 via le shield WiFi officiel
Une bibliothèque d’interface pour Arduino et Raspberry Pi permettant de contrôler la caméra OpenMV en I2C, SPI et Async Serial est en cours de développement.
Voici une petite démonstration en vidéo
Plusieurs exemples (ici sur GitHub) développés à l’aide de la nouvelle librairie montrent comment utiliser l’OpenMV Cam en tant que coprocesseur de vision industrielle pour effectuer des tâches telles que la recherche de visages, de personnes, la détection de balises, la détection de code QR, la détection de codes à barres, la détection de matrice de données, le suivi des couleurs, ainsi que sur SPI, UART, I2C et CAN.
Bientôt une capture et analyse d’image à 120 FPS
Les développeurs travaillent également sur l’amélioration de la vitesse de capture vidéo. Cette vidéo publiée il y a quelques jours montre l’avancé des travaux sur l’optimisation de la vitesse de transmission du flux vidéo du capteur optique OV5640 qui équipe l’OpenMV Cam H7 Plus de dernière génération.
On peut voir le suivi d’un objet illuminé avec un éclairage par infrarouge (IR) à haute résolution. Le tracking est réalisée sur une image 2592×1944 pixels à une fréquence de 120 FPS (images / seconde). Les générations plus anciennes devraient également bénéficier de cette amélioration de performance.
Cette optimisation sera disponible dans une prochaine mise à jour du firmware. Les développeurs travaillent encore sur le gain de vitesse et l’amélioration de la qualité de l’image en JPEG à des résolutions plus élevées.
Filtre médian 1000% fois plus rapide
La vitesse du filtre médian a été amélioré grâce aux travaux de Larry Bank. En particulier, vous pouvez maintenant faire des filtres médians 7×7 sur la caméra OpenMV. La vitesse de traitement qui était auparavant inférieure à 1 image/s fonctionne maintenant à 16 FPS avec une résolution QVGA.
Larry a optimisé de nombreux filtres (Mean, Median, Mode, Midpoint, Morph, Bilateral, Erode et Dilate) rendant ces derniers beaucoup plus utilisables pour vos applications embarquées.
La programmation WiFi prochainement disponible
Durant la campagne de financement initiale d’OpenMV Cam H7 sur kickstarter en juillet 2019, la société pensait pouvoir proposer le développement en temps réel via le shield WiFi. Cependant, avec une vitesse de transfert ne dépassant pas 250 Ko/s, il avait été décidé d’abandonner cette fonctionnalité.
Cependant, lors du développement de la bibliothèque d’interface OpenMV Cam, Kwabena Agyeman a découvert pourquoi les performances étaient si mauvaises à l’aide du logiciel d’analyse réseau WireShark. Le problème provenait du driver du module WINC1500 utilisé pour la connectivité WiFi. Après avoir optimisé le drivers, les performances ont bondi à 15Mb/s offrant ainsi une bande passante largement suffisante pour faire du développement et de la mise au point en WiFi depuis l’IDE OpenMV.
Cette amélioration sera publiée dans une mise à jour prochaine. Pour en profiter, il faudra acheter le shield WiFi officiel ou compatible.
Nouveaux fabricants compatibles
L’OpenMV Cam étant distribuée sous licence Open Hardware, plusieurs fabricants produisent des modèles compatibles. L’offre en carte d’extension s’étoffe également avec de nouveaux shields compatibles.
- ESP32, broches GPIO et fonctions associées. I/O, PWM, RTC, I2C, SPI, ADC, DAC
- ESP32-CAM. Broches et équipements ESP-EYE, AI Thinker, TTGO T-Camera, M5Stack Timer Camera…
- ESP32-CAM. Quel modèle choisir ? ESP-EYE, AI Thinker, TTGO T-Camera, M5Stack Timer Camera…
- M5Stack Atomic GPS. Tracker ESP32 TinyGPS++, export GPX sur carte SD, visualisation sur Google Maps ou VSCode
- Home Assistant. Installer le snap sur NAS Synology sur une machine virtuelle Ubuntu
Avez-vous aimé cet article ?