v3.6.5¶
v3.6.5 aktualizuje TensorFlow i ulab, znacznie usprawnia kamerę HM01B0 (dowolne rozdzielczości, QQVGA, przycinanie, set_auto_exposure() oraz poprawka anti-flicker) i wprowadza obsługę zewnętrznego SDRAM oraz produkcyjnych płytek Portenta. Usunięto starsze narzędzia/przykłady treningowe CMSIS-NN, a bufor ramki OpenMV 4 Plus został zmniejszony — przeczytaj poniższe zmiany łamiące zgodność.
Najważniejsze zmiany¶
HM01B0 — dowolne rozdzielczości, QQVGA, przycinanie oraz obsługa
set_auto_exposure(), a także poprawka migotania przy automatycznej ekspozycji.TensorFlow / ulab zaktualizowane do najnowszych wersji.
Portenta — wykorzystanie zewnętrznego SDRAM oraz pliki produkcyjnych płytek.
Poprawki — korekcja obiektywu, jakość obrazu przy niskich rozdzielczościach oraz poprawka zegara FPS.
Zmiana łamiąca zgodność: usunięto starsze narzędzia treningowe/konwersji CMSIS-NN i przykłady, a bufor ramki OpenMV 4 Plus został zmniejszony — zobacz zmiany łamiące zgodność.
Nowe funkcje¶
HM01B0 — dodano obsługę dowolnych rozdzielczości, QQVGA i dodatkowych zaślepek, przycinanie po stronie sensora oraz obsługę
sensor.set_auto_exposure().Odczyt Apriltag — dodano przykład śledzenia apriltagów z kontrolą odczytu.
Pozostałe zmiany i ulepszenia¶
Zaktualizowano TensorFlow i
ulabdo najnowszych wersji; dodano wykorzystanie zewnętrznego SDRAM Portenta oraz pliki płytek produkcyjnych/CI; uporządkowano sterownik MT9V034 oraz funkcje dostępu do bufora ramki.
Poprawki błędów¶
Kamera i obrazowanie:
Naprawiono migotanie podczas automatycznej ekspozycji na HM01B0, korekcję obiektywu, jakość obrazu przy niższych rozdzielczościach, kopiowanie linii OV5640/JPEG (
dest_fb), zegar FPS oraz zwracanie 0, gdybppjest ujemne; usunięto zbędne poziome odbicie HM01B0.
Sprzęt i obsługa płytek¶
HM01B0 — dowolne rozdzielczości, QQVGA i przycinanie.
Arduino Portenta H7 — zewnętrzny SDRAM i zaktualizowane pliki płytek produkcyjnych.
Zmiany API łamiące zgodność¶
Widoczne dla użytkownika zmiany API łamiące zgodność między v3.6.4 a v3.6.5. Zakres: moduły C w Pythonie w modules/, biblioteki Pythona w scripts/libraries/ oraz dołączone narzędzia/przykłady.
Każda zmiana jest oznaczona jej wpływem:
behavior — to samo API, inne wyniki; sprawdź ponownie dostrojone skrypty.
tooling — dotyczy narzędzi do kompilacji/konwersji lub dołączonych przykładów, a nie API Pythona oprogramowania układowego.
Zmiany są pogrupowane według wpływu w tej kolejności. Jeśli chcesz po prostu przenieść swój kod, przejdź do listy kontrolnej migracji na końcu. Każdy hash commita prowadzi do jego diffa na GitHubie.
Bufor ramki OpenMV 4 Plus zmniejszony (behavior)¶
Bufor ramki OpenMV 4 Plus został zmniejszony do 20 MB (a rozmiar bufora OpenMV 2/3 został poprawiony). Skrypty na OpenMV 4 Plus o napiętej pamięci, które przydzielały bardzo duże ramki/obiekty z bufora ramki, mogą teraz szybciej osiągać limity alokacji i powinny zostać ponownie sprawdzone.
Commity: 3a790a827
Starsze narzędzia i przykłady CMSIS-NN usunięte (tooling)¶
Starsze narzędzia do treningu/konwersji modeli CMSIS-NN (nn_convert.py, nn_quantizer.py, pliki modeli LeNet/CIFAR/smile) oraz przykładowe skrypty 25-Machine-Learning/nn_*.py zostały usunięte. Sam moduł nn nadal działa w tym wydaniu (zostaje usunięty później, w v3.9.0), ale narzędzia do generowania modeli CMSIS-NN zniknęły — zamiast tego użyj przepływu pracy TensorFlow Lite (tf).
Commity: 588f79a62
Lista kontrolna migracji¶
Sprawdź ponownie duże alokacje bufora ramki na OpenMV 4 Plus względem zmniejszonego bufora ramki 20 MB (zmiana bufora ramki) oraz przenieś generowanie modeli CMSIS-NN do przepływu pracy TensorFlow Lite (usunięcie narzędzi CMSIS-NN). Wszystkie pozostałe skrypty działają bez zmian.