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
ulabwurden 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, wennbppnegativ 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.