v3.6.5

v3.6.5 werkt TensorFlow en ulab bij, verbetert de HM01B0 camera aanzienlijk (willekeurige resoluties, QQVGA, croppen, set_auto_exposure(), en een anti-flikker-fix), en brengt ondersteuning voor Portenta externe-SDRAM en productieboards. De verouderde CMSIS-NN trainingstooling/voorbeelden zijn verwijderd en de framebuffer van de OpenMV 4 Plus is verkleind — lees de breaking changes hieronder.

Hoogtepunten

  • HM01B0 — ondersteuning voor willekeurige resoluties, QQVGA, croppen en set_auto_exposure(), plus een fix voor flikkering bij automatische belichting.

  • TensorFlow / ulab bijgewerkt naar hun nieuwste versies.

  • Portenta — gebruik van externe SDRAM en productieboardbestanden.

  • Fixes — lenscorrectie, beeldkwaliteit bij lage resoluties, en een FPS-klokfix.

  • Breaking: de verouderde CMSIS-NN trainings-/conversietooling en voorbeelden zijn verwijderd en de framebuffer van de OpenMV 4 Plus is verkleind — zie de breaking changes.

Nieuwe functies

  • HM01B0 — ondersteuning voor willekeurige resoluties toegevoegd, QQVGA en extra stubs, croppen aan de sensorzijde, en ondersteuning voor sensor.set_auto_exposure().

  • Apriltag-readout — een readout-gestuurd apriltag-trackingvoorbeeld toegevoegd.

Overige wijzigingen en verbeteringen

  • TensorFlow en ulab bijgewerkt naar hun nieuwste versies; gebruik van Portenta externe-SDRAM en productie-/CI-boardbestanden toegevoegd; de MT9V034-driver en de framebuffer-accessor-functies opgeschoond.

Bugfixes

Camera en beeldverwerking:

  • Flikkering tijdens automatische belichting op de HM01B0 gerepareerd, lenscorrectie, beeldkwaliteit bij lagere resoluties, de OV5640/JPEG-regelkopie (dest_fb), de FPS-klok, en het teruggeven van 0 wanneer bpp negatief is; een onnodige horizontale spiegeling van de HM01B0 verwijderd.

Hardware- en board-ondersteuning

  • HM01B0 — willekeurige resoluties, QQVGA en croppen.

  • Arduino Portenta H7 — externe SDRAM en bijgewerkte productieboardbestanden.

Breaking API-wijzigingen

Voor de gebruiker zichtbare API-breaks tussen v3.6.4 en v3.6.5. Scope: Python C-modules in modules/, Python-bibliotheken in scripts/libraries/, en de meegeleverde tooling/voorbeelden.

Elke wijziging is gemarkeerd met de impact ervan:

  • behavior — dezelfde API, andere resultaten; controleer afgestelde scripts opnieuw.

  • tooling — treft de build-/conversietooling of meegeleverde voorbeelden, niet de Python-API van de firmware.

Wijzigingen zijn in die volgorde op impact gegroepeerd. Als je alleen je code wilt porten, ga dan naar de migratiechecklist aan het eind. Elke commit-hash linkt naar de diff ervan op GitHub.

Framebuffer van OpenMV 4 Plus verkleind (behavior)

De framebuffer van de OpenMV 4 Plus is verkleind naar 20 MB (en de buffergrootte van de OpenMV 2/3 is gecorrigeerd). Geheugenkrappe scripts op de OpenMV 4 Plus die zeer grote frames/objecten uit de framebuffer alloceerden, kunnen nu eerder tegen allocatielimieten aanlopen en moeten opnieuw worden gecontroleerd.

Commits: 3a790a827

Verouderde CMSIS-NN tooling en voorbeelden verwijderd (tooling)

De verouderde CMSIS-NN model-trainings-/conversietooling (nn_convert.py, nn_quantizer.py, de LeNet/CIFAR/smile-modelbestanden) en de 25-Machine-Learning/nn_*.py voorbeeldscripts zijn verwijderd. De nn module zelf werkt nog in deze release (deze wordt later verwijderd, in v3.9.0), maar de CMSIS-NN model-generatietooling is weg — gebruik in plaats daarvan de TensorFlow Lite (tf) workflow.

Commits: 588f79a62

Migratiechecklist

Controleer grote framebuffer-allocaties op de OpenMV 4 Plus opnieuw tegen de verkleinde 20 MB-framebuffer (de framebuffer-wijziging), en verplaats CMSIS-NN-modelgeneratie naar de TensorFlow Lite-workflow (de verwijdering van CMSIS-NN-tooling). Alle overige scripts draaien ongewijzigd.