v2.5.0

v2.5.0 baut den Model Editor zu einem vollwertigen Dataset Editor für maschinelles Lernen um, stellt das Firmware-Flashen auf das plattformübergreifende Tool dfu-util um und ergänzt die Unterstützung für OpenMV-Kameras der Marke Arduino. Dieses Release bleibt auf der Basis Qt Creator 4.0.2 und enthält keine Breaking Changes für bestehende Projekte.

Highlights

  • Dataset Editor ersetzt den alten Model Editor und ermöglicht es, Bild-Datensätze für maschinelles Lernen direkt aus der Kamera mit benannten Klassenordnern und einem Live-Vorschaubereich aufzubauen.

  • Export Dataset schreibt einen Datensatz als Edge-Impulse-kompatible .zip-Datei aus.

  • Firmware-Flashen mit dfu-util ersetzt den nur unter Windows verfügbaren Pfad über DfuSeCommand.exe / pydfu.py und macht die manuelle Installation von libusb/pyusb unter macOS und Linux überflüssig.

  • Unterstützung der Arduino Portenta H7 erkennt OpenMV-Kameras der Marke Arduino für die serielle Erkennung, die Bootloader-Verbindung und den DFU-Firmware-Download.

  • Download-Fortschritt für Firmware-/Paket-Updates ist nun real und abbrechbar, mit getrennten Phasen für Download und Installation.

Neue Funktionen

  • Dataset Editor. Der Model Editor wurde zu einem vollwertigen Dataset Editor für den Aufbau von Bild-Datensätzen für maschinelles Lernen umgebaut. Das Menü Dataset Editor fügt die Aktionen New Dataset, Open Dataset und Close Dataset hinzu; ein neuer Datensatz wird mit einer Vorlage dataset_capture_script.py vorbefüllt, und eine labels.txt wird erzeugt und synchron gehalten, während Klassenordner hinzugefügt werden. Bilder werden auf der Kamera in benannte Klassenordner aufgenommen und in einem auf QFileSystemModel basierenden Baum mit Öffnen per Doppelklick sowie einem Kontextmenü Delete/Rename angezeigt, neben einem Live-Bildvorschaubereich (aa0101189, 96cbcd97a, f1a39272b, 28cc1bfbd).

  • Export Dataset. Eine neue Aktion schreibt den Datensatz als .zip-Datei aus und flacht die Bilder zu Edge-Impulse-kompatiblen, nach Klasse benannten Dateien im Format <class>.<snapshot> ab, angezeigt mit einem abbrechbaren Fortschrittsdialog. Klassenordner wechselten von nummeriert (NNNNN.name.class) zu einfach name.class (f1e6b6a0d, 0297d4b9e, aa69ab62c).

  • Firmware-Flashen mit dfu-util. Das Firmware-Flashen wurde neu geschrieben, um das plattformübergreifende Tool dfu-util anstelle des alten Windows-Pfads über DfuSeCommand.exe / pydfu.py zu verwenden. connectClicked() ruft nun downloadFirmware() auf, und die alten Anweisungsdialoge „PyDFU requires libusb“ sind verschwunden, wodurch die manuelle Installation von libusb/pyusb unter macOS und Linux entfällt (2bf0b71c7, 5396b7072, d64cb05b1).

  • Desktop- und Linux-Starter-Symbole. Unter Windows erstellt der Installer nun zusätzlich zum Startmenü-Eintrag eine Desktop-Verknüpfung, und der Linux-Build installiert nun ein Anwendungssymbol (openmv.png) über bin.pro. Die Icon-Referenz in der .desktop-Datei wurde hinzugefügt, später aber wieder entfernt, sodass der Linux-Starter ohne Icon=-Eintrag ausgeliefert wird (327fc2f69, ccca0859f, b1e2b0469).

  • Inspektion einzelner Pixel. Der Framebuffer-Viewer und das serielle Terminal zeigen nun Point (x, y) in der Auflösungsbezeichnung an und zeichnen das Auswahlband, wenn Sie einen einzelnen Punkt anklicken, anstatt nur ROIs aus mehreren Pixeln zu melden (86839b4c0).

  • Neue Beispielskripte. Eine große Reihe neuer Beispiele wurde mitgeliefert, darunter Remote-Bildübertragung über UART/USB (roh und JPEG, in Controller- und Remote-Rolle), Fernsteuerungs-Demos für „populäre Funktionen“, IR-LED-Auslese-Tracking mit 100 fps, ein RTSP-Videoserver, erweitertes Bildzeichnen mit benutzerdefinierten Paletten, ulab-Mathematik im NumPy-Stil sowie Perspektiv-/Rotationskorrektur (c0a6ff6c8, 0cc0a7761, d77667c20).

Weitere Änderungen und Verbesserungen

  • Download-Fortschritt für Updates. Der Download von Firmware-/Paket-Updates zeigt nun einen realen Download-Fortschritt an und kann abgebrochen werden, wobei die Phasen Download und Installation getrennt werden statt eines einzelnen unbestimmten Installationsbalkens (c36d151f3, f1a39272b).

  • Neuzentrierung des Framebuffers. Der Framebuffer-Viewer zentriert das Bild bei Aktualisierungen und Größenänderungen nun erneut innerhalb der Ansicht (327fc2f69).

  • HTTPS-Links. Externe Hilfe- und Code-Generator-Links sowie Update-Download-URLs wurden von http auf https umgestellt (Google-Generatoren, OpenMV-Foren, openmv.io-Download und der Link zur GPL-Lizenz) (a0a104e63).

  • Aktualisierungen der mitgelieferten Beispiele. Das alte CMSIS-CNN-Beispiel 09-Feature-Detection/cnn.py wurde entfernt, das Beispiel 02-Board-Control/dac_control.py wurde in dac_write.py umbenannt, und ein neues Beispiel 02-Board-Control/dac_write_timed.py wurde hinzugefügt; außerdem wurde eine mitgelieferte Label-Datei mobilenet_labels.txt hinzugefügt (330548305).

  • Aktualisierte mitgelieferte Firmware. Die mitgelieferten Firmware-Images (openmv/uvc/bootloader) für die Boards OPENMV2, OPENMV3, OPENMV4 und OPENMV4P wurden über mehrere Ressourcen-Update-Commits hinweg neu gebaut und aktualisiert. Die mitgelieferte Firmware-Version (firmware.txt) entwickelte sich über diese Updates von 3.5.2 -> 3.6.1 -> 3.6.2 -> 3.6.4 und liefert 3.6.4 aus; der Sensor HM01B0 (0xB0) wurde der Liste der erkannten Sensoren (sensors.txt) hinzugefügt (0cc0a7761, c0a6ff6c8, a6df35010, 330548305).

  • Aktualisierte dfu-util-Binaries. Die mitgelieferten dfu-util-Prefix-/Suffix-/Util-Binaries für arm, linux32, linux64, osx und windows wurden aktualisiert (dd8733632).

Fehlerbehebungen

  • Ein vorübergehendes Aufblitzen eines Eingabeaufforderungs-/Konsolenfensters auf dem Bildschirm während des Firmware-DFU-Downloads und von Video-Tool-Operationen (ffmpeg/ffplay) unter Windows wurde behoben (092fbad74).

  • Die Standard-Editorschriftart auf ARM-Linux-Hosts (z. B. Raspberry Pi) wurde korrigiert, sodass nun DejaVu Sans Mono anstelle einer fehlenden/ungeeigneten Monospace-Familie verwendet wird (53a864787).

Plattform- und Tool-Unterstützung

  • Qt-Creator-Basis: 4.0.2.

  • Arduino Portenta H7 / OpenMV-Kameras der Marke Arduino werden nun unterstützt: Die Arduino-USB-VID 0x2341 (PID 0x005B maskiert) wird für die serielle Erkennung und die Bootloader-Verbindung über die verschiedenen Stellen des seriellen Port-Scans erkannt (7f3e2b389, 3687643c6).

  • Der DFU-Firmware-Download zielt nun zusätzlich zum STM-Bootloader 0483:df11 auch auf das Arduino-DFU-Gerät (2341:035b) ab, sodass die Firmware von Arduino-Boards über dfu-util geflasht werden kann (2d47c6dac).

  • Neuer Sensor: Der Sensor HM01B0 (0xB0) wurde der Liste der erkannten Sensoren (sensors.txt) hinzugefügt (a6df35010).

  • Mitgelieferte Tools: Das dfu-util-Flashing-Tooling wird nun für arm, linux32, linux64, osx und windows ausgeliefert.

  • Mitgelieferte Firmware: Die openmv/uvc/bootloader-Images für OPENMV2, OPENMV3, OPENMV4 und OPENMV4P wurden neu gebaut, und die mitgelieferte Firmware-Version wurde auf 3.6.4 aktualisiert (Verlauf 3.5.2 -> 3.6.1 -> 3.6.2 -> 3.6.4) (a6df35010, c0a6ff6c8, 0cc0a7761).

Breaking Changes

Keine. Bestehende Projekte und Skripte funktionieren unverändert weiter; das neu geschriebene Firmware-Flashen ist für die Benutzer transparent.