v3.6.5

v3.6.5 aktualisiert TensorFlow und ulab, verbessert die HM01B0-Kamera erheblich (beliebige Auflösungen, QQVGA, Zuschneiden, set_auto_exposure() und einen Anti-Flicker-Fix) und bringt Unterstützung für Portenta-externes-SDRAM und Produktions-Boards. Die veralteten CMSIS-NN-Trainingswerkzeuge/-beispiele wurden entfernt und der Framebuffer der OpenMV 4 Plus wurde verkleinert — lies die nachfolgenden inkompatiblen Änderungen.

Highlights

  • HM01B0 — Unterstützung für beliebige Auflösungen, QQVGA, Zuschneiden und set_auto_exposure(), plus ein Flicker-Fix für die automatische Belichtung.

  • TensorFlow / ulab auf ihre neuesten Versionen aktualisiert.

  • Portenta — Nutzung von externem SDRAM und Produktions-Board-Dateien.

  • Fixes — Linsenkorrektur, Bildqualität bei niedrigen Auflösungen und ein FPS-Takt-Fix.

  • Inkompatibel: die veralteten CMSIS-NN-Trainings-/Konvertierungswerkzeuge und -beispiele wurden entfernt und der Framebuffer der OpenMV 4 Plus wurde verkleinert — siehe die inkompatiblen Änderungen.

Neue Funktionen

  • HM01B0 — Unterstützung für beliebige Auflösungen, QQVGA und zusätzliche Stubs, sensorseitiges Zuschneiden und Unterstützung für sensor.set_auto_exposure() wurden hinzugefügt.

  • Apriltag-Readout — ein Apriltag-Tracking-Beispiel mit Readout-Steuerung wurde hinzugefügt.

Weitere Änderungen und Verbesserungen

  • TensorFlow und ulab wurden auf ihre neuesten Versionen aktualisiert; die Nutzung von externem Portenta-SDRAM und Produktions-/CI-Board-Dateien wurden hinzugefügt; der MT9V034-Treiber und die Framebuffer-Zugriffsfunktionen wurden bereinigt.

Fehlerbehebungen

Kamera und Bildverarbeitung:

  • Behoben wurden: das Flackern während der automatischen Belichtung auf der HM01B0, die Linsenkorrektur, die Bildqualität bei niedrigeren Auflösungen, die OV5640/JPEG-Zeilenkopie (dest_fb), der FPS-Takt und die Rückgabe von 0, wenn bpp negativ ist; eine unnötige horizontale Spiegelung der HM01B0 wurde entfernt.

Hardware- und Board-Unterstützung

  • HM01B0 — beliebige Auflösungen, QQVGA und Zuschneiden.

  • Arduino Portenta H7 — externes SDRAM und aktualisierte Produktions-Board-Dateien.

Inkompatible API-Änderungen

Für Benutzer sichtbare API-Brüche zwischen v3.6.4 und v3.6.5. Umfang: Python-C-Module in modules/, Python-Bibliotheken in scripts/libraries/ und die mitgelieferten Werkzeuge/Beispiele.

Jede Änderung ist mit ihrer Auswirkung gekennzeichnet:

  • behavior — gleiche API, andere Ergebnisse; abgestimmte Skripte erneut prüfen.

  • tooling — betrifft die Build-/Konvertierungswerkzeuge oder mitgelieferte Beispiele, nicht die Python-API der Firmware.

Die Änderungen sind in dieser Reihenfolge nach Auswirkung gruppiert. Wenn du nur deinen Code portieren möchtest, springe zur Migrations-Checkliste am Ende. Jeder Commit-Hash verlinkt auf seinen Diff auf GitHub.

Framebuffer der OpenMV 4 Plus verkleinert (behavior)

Der Framebuffer der OpenMV 4 Plus wurde auf 20 MB verkleinert (und die Puffergröße der OpenMV 2/3 wurde korrigiert). Speicherknappe Skripte auf der OpenMV 4 Plus, die sehr große Einzelbilder/Objekte aus dem Framebuffer alloziert haben, können nun früher an Allokationsgrenzen stoßen und sollten erneut geprüft werden.

Commits: 3a790a827

Veraltete CMSIS-NN-Werkzeuge und -beispiele entfernt (tooling)

Die veralteten CMSIS-NN-Modelltraining-/-konvertierungswerkzeuge (nn_convert.py, nn_quantizer.py, die LeNet/CIFAR/Smile-Modelldateien) und die 25-Machine-Learning/nn_*.py-Beispielskripte wurden entfernt. Das nn-Modul selbst funktioniert in diesem Release noch (es wird später, in v3.9.0, entfernt), aber die CMSIS-NN-Modellgenerierungswerkzeuge sind weg — verwende stattdessen den TensorFlow-Lite- (tf-) Workflow.

Commits: 588f79a62

Migrations-Checkliste

Prüfe große Framebuffer-Allokationen auf der OpenMV 4 Plus erneut gegen den verkleinerten 20-MB-Framebuffer (die Framebuffer-Änderung) und verlagere die CMSIS-NN-Modellgenerierung auf den TensorFlow-Lite-Workflow (die Entfernung der CMSIS-NN-Werkzeuge). Alle anderen Skripte laufen unverändert.