v4.6.0¶
A v4.6.0 egy jelentős funkciókat hozó kiadás. A legfontosabb újdonságok: a kameramodult sensor névről csi névre nevezték át (visszafelé kompatibilis sensor aliasszal), megjelent egy új ml.postprocessing modul, támogatás a Prophesee GenX320 eseményérzékelőhöz, a PAG7936-hoz és a FLIR Boson hőkamerákhoz, egy új TinyUSB-alapú DFU rendszerbetöltő, Nema GPU-gyorsítás és a MicroPython 1.24. Emellett megváltozik a rajzolás alpha tartománya is, ezért olvassa el az alábbi töréses változásokat.
Kiemelt újdonságok¶
A
sensormostantólcsiis — a kameramodultcsinévre nevezték át; asensorvisszafelé kompatibilis aliasként megmarad (egyelőre nem szükséges kódmódosítás).Új
ml.postprocessingmodul —fomo_postprocess,yolo_v2_postprocess,yolo_v5_postprocess.Új érzékelők — Prophesee GenX320 eseménykamera, PAG7936 és FLIR Boson 320/640 hőkamera.
Új DFU rendszerbetöltő — egy TinyUSB-alapú, szabványos DFU rendszerbetöltő váltja fel a régi CDC rendszerbetöltőt minden panelen.
Nema GPU — gyorsított 2D/vektorgrafika STM32-n.
A MicroPython 1.24.0-ra frissült.
Töréses változás: a rajzolás
alphatartománya 0–256-ról 0–255-re változott (lásd az alpha-tartomány változását).
Új funkciók¶
ml.postprocessing— egy új modul, amely dekódolja a modell kimenetét: egy FOMO-dekóder (fomo_postprocess,find_blobs+ NMS, konfigurálhatóthreshold), valamintyolo_v2_postprocess/yolo_v5_postprocess(threshold,anchors,nms_threshold,nms_sigmaparaméterekkel).Eseménykamera-megjelenítés — új
Image.to_evt_dark()/Image.to_evt_light()metódusok ésPALETTE_EVT_DARK/PALETTE_EVT_LIGHTszínpaletták.Mélységi megjelenítés — új
Image.to_depth()metódus és egyPALETTE_DEPTHszínpaletta (ToF-képes panelek esetén).Érzékelő-introspekció — új
IOCTL_GET_RGB_STATSioctl, amely egy(R, Gb, Gr, B)csatornastatisztikai tuple-t ad vissza.GenX320 bias-beállításkészletek — új
IOCTL_GENX320_SET_BIASESioctlGENX320_BIASES_DEFAULT/LOW_LIGHT/ACTIVE_MARKER/LOW_NOISE/HIGH_SPEEDbeállításkészletekkel.omv.debug_mode()— új függvény annak lekérdezésére, hogy az USB hibakeresési interfész aktív-e.Nema GPU — Cortex-M55 NemaGFX/NemaVG meghajtó-integráció STM32-n, helyben végrehajtott GPU cut-through támogatással a
draw_imageműveletekhez.PAG7936 — színsáv-kimenet, automatikus expozíció / automatikus erősítés, alvó üzemmód és MIPI mód hozzáadva.
Egyéb változások és fejlesztések¶
A MicroPython 1.24.0-ra frissült; az ulab 6.7.3-ra frissült (hozzáadja a
keepdimsparamétert).Közös indítási szkript — az STM32 / i.MX RT / RP2 mostantól közös
_boot.pyszkripten osztozik, amely automatikusan létrehozza a flash/SD fájlrendszert egy alapértelmezettmain.pyésREADME.txtfájllal, és felszabadítja az ideiglenes indítási globális változókat.STM32N6 alapozó munkák — alapszintű STM32N6 támogatás, egy XSPI meghajtó, egy közös MPU meghajtó, valamint firmware/rendszerbetöltő aláírás STM32-n.
Computed-goto VM — engedélyezve STM32-n és nRF-en az értelmező felgyorsítása érdekében.
Hibajavítások¶
Kamera és érzékelők:
Javítva az OV5640 PCLK/expozíció számítása (két MIPI sáv, javított osztótáblázat).
Az MT9V0xx Bayer-CFA változat mostantól elfogadja az RGB565/BAYER/GRAYSCALE formátumokat, és hibajelzés helyett megfelelő nyers Bayer-adatot ad ki.
Engedélyezve a PAG7936 lencseárnyékolás-korrekciója és javítva a HD kép eltolódása; a
set_framerate()mostantól felbontásonként korlátozott.Javítva a FLIR Lepton hőkamerás felvétel az i.MX RT1060-on (javított VoSPI CPOL/CPHA), és a Lepton pillanatképek mostantól konkrét hibakódokat adnak vissza.
Javítva a GenX320 frekvencia-kerekítése.
Képfeldolgozás:
Javítva a memóriasérülés a
to_ndarray()metódusban szürkeárnyalatos képeknél.Javítva a debayer határelőrejelzése a Bayer→RGB/szürkeárnyalatos konverzió során.
Javítva a
draw_image()transposeművelete SDRAM nélküli paneleken (darabolt puffer).Javítva a logikai argumentumok kezelése az
Image.binary()metódusban és aml.Modelload_to_fbjelzőjében.
Rendszer:
Javítva a csak RX / csak TX SPI lábkonfiguráció STM32-n és i.MX RT-n.
A Portenta H7 Ethernet DMA-pufferek áthelyezve az SRAM3-ba, így az Ethernet működik.
Javítva egy kieső karakter az USB-n keresztüli hibakeresési csatorna szöveges kimenetében; az ML dinamikus allokációs méretek felfelé kerekítve, hogy elkerülhetők legyenek az alulméretezett modellpufferek.
Hardver- és paneltámogatás¶
Prophesee GenX320 eseményalapú látásérzékelő (STM32F7 + i.MX RT1060).
PAG7936 érzékelő (MIPI móddal).
FLIR Boson 320/640 hőkamerák (IDD 4 meghajtó).
Nema GPU gyorsítás STM32-n.
STM32N6 rendszerbetöltő/XSPI alapozó munkák.
VL53L5CX — tápengedélyező-láb támogatás hozzáadva.
Töréses API-változások¶
Felhasználó számára látható API-törések a v4.5.9 és a v4.6.0 között. Hatókör: Python C-modulok a modules/ könyvtárban és Python könyvtárak a scripts/libraries/ könyvtárban.
Minden változás meg van jelölve a hatása szerint:
major — a legtöbb szkriptet, amely használta, szerkeszteni kell.
minor — szűk API; csak az azt használó szkripteket érinti.
behavior — azonos API, eltérő eredmények; ellenőrizze újra a finomhangolt szkripteket.
tooling — csak a flashelést / a gazdagépes eszközöket / a panelek elérhetőségét érinti.
A változások hatás szerint, ebben a sorrendben vannak csoportosítva. Ha csak a kódját szeretné átültetni, ugorjon a végén lévő migrációs ellenőrzőlistára. Minden commit-hash a GitHubon lévő diffjére hivatkozik. Megjegyzés: a sensor → csi modul-átnevezés ebben a kiadásban nem töréses változás — a sensor továbbra is működik aliasként.
A rajzolás alpha tartománya mostantól 0–255 (major)¶
A draw_image() alpha argumentuma és minden olyan rávetítés, amely ilyet fogad (FIR, ToF, kijelző, TV, MJPEG, alfatáblák), mostantól 0–255 tartományt használ 0–256 helyett. Azokat a szkripteket, amelyek 256 értéket adtak át a teljes átlátszatlansághoz, vagy az alfát 256-hoz viszonyítva számították ki, át kell skálázni 0–255-re.
Commit: 1f87b5bb6
FLIR Lepton ioctl-konstansok átnevezve (minor)¶
Három Lepton ioctl-konstans rövidült: IOCTL_LEPTON_SET_MEASUREMENT_MODE → IOCTL_LEPTON_SET_MODE, IOCTL_LEPTON_SET_MEASUREMENT_RANGE → IOCTL_LEPTON_SET_RANGE, IOCTL_LEPTON_GET_FPA_TEMPERATURE → IOCTL_LEPTON_GET_FPA_TEMP. A mellékelt példák frissültek.
Commit: 12582d54d
ML utófeldolgozási API-mozgások (minor)¶
A ml.postprocessing ebben a kiadásban új, és az API-ja a kiadás során megváltozott: a yolo_v2_postprocess konstruktor score_threshold kulcsszavát threshold névre nevezték át, és az üres utófeldolgozási eredmények mostantól () értéket adnak vissza [] helyett. A mellékelt yolov5_rgb_person modellt yolo_v5_224_nano névre nevezték át. Az ml.apps.MicroSpeech mostantól tetszőleges **kwargs argumentumokat továbbít az audio.init() felé egy rögzített gain_db=24 helyett.
Commits: d67bd1ad7, 979b4e8ee, b89b815b2, 6671d9df5, 5c2f4388c
Az AGAST az alapértelmezett sarokdetektor (behavior)¶
A find_keypoints() mostantól FAST helyett AGAST-ot használ alapértelmezett sarokdetektorként minden panelen. A kulcspontkészletek (és így a leíróegyezések) eltérnek a korábbi kiadásoktól — ellenőrizze újra a finomhangolt kulcspont-folyamatokat. Az IDE képkocka-puffer streamelése mostantól 20 Hz-en is korlátozva van az USB-terhelés csökkentése érdekében.
Rendszerbetöltő, eltávolított panelek és funkciók (tooling)¶
A régi CDC rendszerbetöltőt egy új TinyUSB-alapú szabványos DFU rendszerbetöltő váltotta fel minden panelen — a firmware-frissítési mechanizmus megváltozott; ennek megfelelően frissítse a flashelési munkafolyamatát/eszközeit. Eltávolításra került az OpenMV Pro panel, az önálló Raspberry Pi Pico build és a WiFi-hibakeresési (wifidbg) távoli IDE funkció.
Commits: a03fc90d8, c2e616aae, af3ea774b, f8bca9799, 59a38a0d3, 7edeb4fbe, d58d77fa2
Migrációs ellenőrzőlista¶
A v4.6.0-ra való tiszta átültetéshez a szokásos teendők:
Skálázza át minden rajzolási/rávetítési
alphaértéket a 0–256 tartományból 0–255-re (az alpha-tartomány változása).Nevezze át a FLIR Lepton ioctl-konstansokat a rövidített formájukra (a Lepton ioctl átnevezése).
Ha az új ML utófeldolgozókat használta, váltson
score_thresholdhelyettthresholdparaméterre, kezelje a()üres eredményt, és frissítse ayolo_v5_224_nanomodellnevet (az ML-változások).Ellenőrizze újra a
find_keypoints()-alapú folyamatokat az AGAST-detektor változása miatt (a sarokdetektor változása).Frissítse a firmware-flashelési munkafolyamatát az új DFU rendszerbetöltőhöz (a rendszerbetöltő/panel változásai).