v2.5.0

v2.5.0 przebudowuje Model Editor w pełnoprawny Dataset Editor do uczenia maszynowego, przełącza flashowanie oprogramowania układowego na wieloplatformowe narzędzie dfu-util oraz dodaje obsługę kamer OpenMV marki Arduino. To wydanie pozostaje na bazie Qt Creator 4.0.2 i nie zawiera zmian powodujących niezgodność dla istniejących projektów.

Najważniejsze zmiany

  • Dataset Editor zastępuje stary Model Editor, pozwalając budować zbiory danych obrazów do uczenia maszynowego bezpośrednio z kamery, z nazwanymi folderami klas i panelem podglądu na żywo.

  • Export Dataset zapisuje zbiór danych jako .zip zgodny z Edge Impulse.

  • Flashowanie oprogramowania układowego przez dfu-util zastępuje ścieżkę DfuSeCommand.exe / pydfu.py działającą tylko w systemie Windows, eliminując konieczność ręcznej instalacji libusb/pyusb w systemach macOS i Linux.

  • Obsługa Arduino Portenta H7 rozpoznaje kamery OpenMV marki Arduino na potrzeby wykrywania szeregowego, połączenia z bootloaderem oraz pobierania oprogramowania układowego DFU.

  • Postęp pobierania aktualizacji oprogramowania układowego/pakietów jest teraz rzeczywisty i można go anulować, z osobnymi fazami pobierania i instalacji.

Nowe funkcje

  • Dataset Editor. Model Editor został przebudowany w pełnoprawny Dataset Editor do budowania zbiorów danych obrazów do uczenia maszynowego. Menu Dataset Editor dodaje akcje New Dataset, Open Dataset oraz Close Dataset; nowy zbiór danych jest wstępnie wypełniany szablonem dataset_capture_script.py, a plik labels.txt jest generowany i utrzymywany w synchronizacji w miarę dodawania folderów klas. Obrazy są przechwytywane na kamerze do nazwanych folderów klas, pokazywanych w drzewie opartym na QFileSystemModel z otwieraniem podwójnym kliknięciem oraz menu kontekstowym Delete/Rename, obok panelu podglądu obrazu na żywo (aa0101189, 96cbcd97a, f1a39272b, 28cc1bfbd).

  • Export Dataset. Nowa akcja zapisuje zbiór danych jako .zip, spłaszczając obrazy do plików o nazwach klas <class>.<snapshot> zgodnych z Edge Impulse, wyświetlanych z możliwym do anulowania oknem postępu. Foldery klas zmieniły się z numerowanych (NNNNN.name.class) na zwykłe name.class (f1e6b6a0d, 0297d4b9e, aa69ab62c).

  • Flashowanie oprogramowania układowego przez dfu-util. Flashowanie oprogramowania układowego zostało przepisane tak, aby korzystać z wieloplatformowego narzędzia dfu-util zamiast starej ścieżki Windows DfuSeCommand.exe / pydfu.py. connectClicked() wywołuje teraz downloadFirmware(), a stare okna instruktażowe „PyDFU requires libusb” zniknęły, eliminując wymóg ręcznej instalacji libusb/pyusb w systemach macOS i Linux (2bf0b71c7, 5396b7072, d64cb05b1).

  • Ikony pulpitu i programu uruchamiającego w systemie Linux. W systemie Windows instalator tworzy teraz skrót na pulpicie oprócz wpisu w menu Start, a kompilacja dla Linux instaluje teraz ikonę aplikacji (openmv.png) za pomocą bin.pro. Odwołanie Icon w pliku .desktop zostało dodane, ale później usunięte, więc program uruchamiający w systemie Linux jest dostarczany bez wpisu Icon= (327fc2f69, ccca0859f, b1e2b0469).

  • Inspekcja pojedynczego piksela. Podgląd bufora ramki i terminal szeregowy pokazują teraz Point (x, y) na etykiecie rozdzielczości i rysują pasek zaznaczenia, gdy klikniesz pojedynczy punkt, zamiast raportować jedynie wielopikselowe obszary ROI (86839b4c0).

  • Nowe przykładowe skrypty. Dołączono dużą partię nowych przykładów, w tym zdalny transfer obrazów przez UART/USB (surowy i JPEG, role kontrolera i zdalna), dema zdalnego sterowania „popularnych funkcji”, odczyt śledzenia diody IR-LED z prędkością 100 fps, serwer wideo RTSP, zaawansowane rysowanie obrazów z niestandardowymi paletami, operacje matematyczne w stylu numpy z ulab oraz korekcję perspektywy/rotacji (c0a6ff6c8, 0cc0a7761, d77667c20).

Inne zmiany i ulepszenia

  • Postęp pobierania aktualizacji. Pobieranie aktualizacji oprogramowania układowego/pakietów pokazuje teraz rzeczywisty postęp pobierania i można je anulować, rozdzielając fazy pobierania i instalacji zamiast pojedynczego nieokreślonego paska instalacji (c36d151f3, f1a39272b).

  • Ponowne wyśrodkowanie bufora ramki. Podgląd bufora ramki ponownie wyśrodkowuje teraz obraz w widoku przy aktualizacjach i zmianach rozmiaru (327fc2f69).

  • Łącza HTTPS. Zewnętrzne łącza pomocy i generatora kodu oraz adresy URL pobierania aktualizacji zostały przełączone z http na https (generatory Google, fora OpenMV, pobieranie openmv.io oraz łącze licencji GPL) (a0a104e63).

  • Aktualizacje dołączonych przykładów. Stary przykład CMSIS CNN 09-Feature-Detection/cnn.py został usunięty, przykład 02-Board-Control/dac_control.py zmienił nazwę na dac_write.py, a dodano nowy przykład 02-Board-Control/dac_write_timed.py; dodano także dołączony plik etykiet mobilenet_labels.txt (330548305).

  • Zaktualizowane dołączone oprogramowanie układowe. Ponownie skompilowano i zaktualizowano dołączone obrazy oprogramowania układowego (openmv/uvc/bootloader) dla płytek OPENMV2, OPENMV3, OPENMV4 i OPENMV4P w kilku commitach aktualizujących zasoby. Wersja dołączonego oprogramowania układowego (firmware.txt) postępowała 3.5.2 -> 3.6.1 -> 3.6.2 -> 3.6.4 w trakcie tych aktualizacji, dostarczając 3.6.4, a sensor HM01B0 (0xB0) został dodany do listy rozpoznawanych sensorów (sensors.txt) (0cc0a7761, c0a6ff6c8, a6df35010, 330548305).

  • Zaktualizowane pliki binarne dfu-util. Zaktualizowano dołączone pliki binarne dfu-util prefix/suffix/util dla arm, linux32, linux64, osx oraz windows (dd8733632).

Poprawki błędów

  • Naprawiono przejściowe migotanie okna wiersza poleceń/konsoli na ekranie podczas pobierania oprogramowania układowego DFU oraz operacji narzędzi wideo (ffmpeg/ffplay) w systemie Windows (092fbad74).

  • Naprawiono domyślną czcionkę edytora na hostach ARM Linux (np. Raspberry Pi), tak aby używała DejaVu Sans Mono zamiast brakującej/nieodpowiedniej rodziny Monospace (53a864787).

Obsługa platform i narzędzi

  • Baza Qt Creator: 4.0.2.

  • Kamery Arduino Portenta H7 / OpenMV marki Arduino są teraz obsługiwane: USB VID 0x2341 firmy Arduino (z maskowanym PID 0x005B) jest rozpoznawany na potrzeby wykrywania szeregowego i połączenia z bootloaderem we wszystkich miejscach skanowania portów szeregowych (7f3e2b389, 3687643c6).

  • Pobieranie oprogramowania układowego DFU obejmuje teraz także urządzenie DFU Arduino (2341:035b) oprócz bootloadera STM 0483:df11, umożliwiając flashowanie oprogramowania układowego płytek Arduino za pomocą dfu-util (2d47c6dac).

  • Nowy sensor: sensor HM01B0 (0xB0) został dodany do listy rozpoznawanych sensorów (sensors.txt) (a6df35010).

  • Dołączone narzędzia: narzędzia flashowania dfu-util są teraz dostarczane dla arm, linux32, linux64, osx oraz windows.

  • Dołączone oprogramowanie układowe: obrazy openmv/uvc/bootloader dla OPENMV2, OPENMV3, OPENMV4 i OPENMV4P zostały ponownie skompilowane, a wersja dołączonego oprogramowania układowego została zaktualizowana do 3.6.4 (postępując 3.5.2 -> 3.6.1 -> 3.6.2 -> 3.6.4) (a6df35010, c0a6ff6c8, 0cc0a7761).

Zmiany powodujące niezgodność

Brak. Istniejące projekty i skrypty działają nadal bez zmian; przepisanie flashowania oprogramowania układowego jest przezroczyste dla użytkowników.